NewTube/.angular/cache/20.2.2/app/vite/deps/@google_genai.js
2025-09-14 23:05:30 -04:00

17030 lines
607 KiB
JavaScript

import "./chunk-GOMI4DH3.js";
// node_modules/@google/genai/dist/web/index.mjs
var _defaultBaseGeminiUrl = void 0;
var _defaultBaseVertexUrl = void 0;
function setDefaultBaseUrls(baseUrlParams) {
_defaultBaseGeminiUrl = baseUrlParams.geminiUrl;
_defaultBaseVertexUrl = baseUrlParams.vertexUrl;
}
function getDefaultBaseUrls() {
return {
geminiUrl: _defaultBaseGeminiUrl,
vertexUrl: _defaultBaseVertexUrl
};
}
function getBaseUrl(httpOptions, vertexai, vertexBaseUrlFromEnv, geminiBaseUrlFromEnv) {
var _a, _b;
if (!(httpOptions === null || httpOptions === void 0 ? void 0 : httpOptions.baseUrl)) {
const defaultBaseUrls = getDefaultBaseUrls();
if (vertexai) {
return (_a = defaultBaseUrls.vertexUrl) !== null && _a !== void 0 ? _a : vertexBaseUrlFromEnv;
} else {
return (_b = defaultBaseUrls.geminiUrl) !== null && _b !== void 0 ? _b : geminiBaseUrlFromEnv;
}
}
return httpOptions.baseUrl;
}
var BaseModule = class {
};
function formatMap(templateString, valueMap) {
const regex = /\{([^}]+)\}/g;
return templateString.replace(regex, (match, key) => {
if (Object.prototype.hasOwnProperty.call(valueMap, key)) {
const value = valueMap[key];
return value !== void 0 && value !== null ? String(value) : "";
} else {
throw new Error(`Key '${key}' not found in valueMap.`);
}
});
}
function setValueByPath(data, keys, value) {
for (let i = 0; i < keys.length - 1; i++) {
const key = keys[i];
if (key.endsWith("[]")) {
const keyName = key.slice(0, -2);
if (!(keyName in data)) {
if (Array.isArray(value)) {
data[keyName] = Array.from({ length: value.length }, () => ({}));
} else {
throw new Error(`Value must be a list given an array path ${key}`);
}
}
if (Array.isArray(data[keyName])) {
const arrayData = data[keyName];
if (Array.isArray(value)) {
for (let j = 0; j < arrayData.length; j++) {
const entry = arrayData[j];
setValueByPath(entry, keys.slice(i + 1), value[j]);
}
} else {
for (const d of arrayData) {
setValueByPath(d, keys.slice(i + 1), value);
}
}
}
return;
} else if (key.endsWith("[0]")) {
const keyName = key.slice(0, -3);
if (!(keyName in data)) {
data[keyName] = [{}];
}
const arrayData = data[keyName];
setValueByPath(arrayData[0], keys.slice(i + 1), value);
return;
}
if (!data[key] || typeof data[key] !== "object") {
data[key] = {};
}
data = data[key];
}
const keyToSet = keys[keys.length - 1];
const existingData = data[keyToSet];
if (existingData !== void 0) {
if (!value || typeof value === "object" && Object.keys(value).length === 0) {
return;
}
if (value === existingData) {
return;
}
if (typeof existingData === "object" && typeof value === "object" && existingData !== null && value !== null) {
Object.assign(existingData, value);
} else {
throw new Error(`Cannot set value for an existing key. Key: ${keyToSet}`);
}
} else {
data[keyToSet] = value;
}
}
function getValueByPath(data, keys) {
try {
if (keys.length === 1 && keys[0] === "_self") {
return data;
}
for (let i = 0; i < keys.length; i++) {
if (typeof data !== "object" || data === null) {
return void 0;
}
const key = keys[i];
if (key.endsWith("[]")) {
const keyName = key.slice(0, -2);
if (keyName in data) {
const arrayData = data[keyName];
if (!Array.isArray(arrayData)) {
return void 0;
}
return arrayData.map((d) => getValueByPath(d, keys.slice(i + 1)));
} else {
return void 0;
}
} else {
data = data[key];
}
}
return data;
} catch (error) {
if (error instanceof TypeError) {
return void 0;
}
throw error;
}
}
function tBytes$1(fromBytes) {
if (typeof fromBytes !== "string") {
throw new Error("fromImageBytes must be a string");
}
return fromBytes;
}
var Outcome;
(function(Outcome2) {
Outcome2["OUTCOME_UNSPECIFIED"] = "OUTCOME_UNSPECIFIED";
Outcome2["OUTCOME_OK"] = "OUTCOME_OK";
Outcome2["OUTCOME_FAILED"] = "OUTCOME_FAILED";
Outcome2["OUTCOME_DEADLINE_EXCEEDED"] = "OUTCOME_DEADLINE_EXCEEDED";
})(Outcome || (Outcome = {}));
var Language;
(function(Language2) {
Language2["LANGUAGE_UNSPECIFIED"] = "LANGUAGE_UNSPECIFIED";
Language2["PYTHON"] = "PYTHON";
})(Language || (Language = {}));
var Type;
(function(Type2) {
Type2["TYPE_UNSPECIFIED"] = "TYPE_UNSPECIFIED";
Type2["STRING"] = "STRING";
Type2["NUMBER"] = "NUMBER";
Type2["INTEGER"] = "INTEGER";
Type2["BOOLEAN"] = "BOOLEAN";
Type2["ARRAY"] = "ARRAY";
Type2["OBJECT"] = "OBJECT";
Type2["NULL"] = "NULL";
})(Type || (Type = {}));
var HarmCategory;
(function(HarmCategory2) {
HarmCategory2["HARM_CATEGORY_UNSPECIFIED"] = "HARM_CATEGORY_UNSPECIFIED";
HarmCategory2["HARM_CATEGORY_HATE_SPEECH"] = "HARM_CATEGORY_HATE_SPEECH";
HarmCategory2["HARM_CATEGORY_DANGEROUS_CONTENT"] = "HARM_CATEGORY_DANGEROUS_CONTENT";
HarmCategory2["HARM_CATEGORY_HARASSMENT"] = "HARM_CATEGORY_HARASSMENT";
HarmCategory2["HARM_CATEGORY_SEXUALLY_EXPLICIT"] = "HARM_CATEGORY_SEXUALLY_EXPLICIT";
HarmCategory2["HARM_CATEGORY_CIVIC_INTEGRITY"] = "HARM_CATEGORY_CIVIC_INTEGRITY";
HarmCategory2["HARM_CATEGORY_IMAGE_HATE"] = "HARM_CATEGORY_IMAGE_HATE";
HarmCategory2["HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT"] = "HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT";
HarmCategory2["HARM_CATEGORY_IMAGE_HARASSMENT"] = "HARM_CATEGORY_IMAGE_HARASSMENT";
HarmCategory2["HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT"] = "HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT";
})(HarmCategory || (HarmCategory = {}));
var HarmBlockMethod;
(function(HarmBlockMethod2) {
HarmBlockMethod2["HARM_BLOCK_METHOD_UNSPECIFIED"] = "HARM_BLOCK_METHOD_UNSPECIFIED";
HarmBlockMethod2["SEVERITY"] = "SEVERITY";
HarmBlockMethod2["PROBABILITY"] = "PROBABILITY";
})(HarmBlockMethod || (HarmBlockMethod = {}));
var HarmBlockThreshold;
(function(HarmBlockThreshold2) {
HarmBlockThreshold2["HARM_BLOCK_THRESHOLD_UNSPECIFIED"] = "HARM_BLOCK_THRESHOLD_UNSPECIFIED";
HarmBlockThreshold2["BLOCK_LOW_AND_ABOVE"] = "BLOCK_LOW_AND_ABOVE";
HarmBlockThreshold2["BLOCK_MEDIUM_AND_ABOVE"] = "BLOCK_MEDIUM_AND_ABOVE";
HarmBlockThreshold2["BLOCK_ONLY_HIGH"] = "BLOCK_ONLY_HIGH";
HarmBlockThreshold2["BLOCK_NONE"] = "BLOCK_NONE";
HarmBlockThreshold2["OFF"] = "OFF";
})(HarmBlockThreshold || (HarmBlockThreshold = {}));
var Mode;
(function(Mode2) {
Mode2["MODE_UNSPECIFIED"] = "MODE_UNSPECIFIED";
Mode2["MODE_DYNAMIC"] = "MODE_DYNAMIC";
})(Mode || (Mode = {}));
var AuthType;
(function(AuthType2) {
AuthType2["AUTH_TYPE_UNSPECIFIED"] = "AUTH_TYPE_UNSPECIFIED";
AuthType2["NO_AUTH"] = "NO_AUTH";
AuthType2["API_KEY_AUTH"] = "API_KEY_AUTH";
AuthType2["HTTP_BASIC_AUTH"] = "HTTP_BASIC_AUTH";
AuthType2["GOOGLE_SERVICE_ACCOUNT_AUTH"] = "GOOGLE_SERVICE_ACCOUNT_AUTH";
AuthType2["OAUTH"] = "OAUTH";
AuthType2["OIDC_AUTH"] = "OIDC_AUTH";
})(AuthType || (AuthType = {}));
var ApiSpec;
(function(ApiSpec2) {
ApiSpec2["API_SPEC_UNSPECIFIED"] = "API_SPEC_UNSPECIFIED";
ApiSpec2["SIMPLE_SEARCH"] = "SIMPLE_SEARCH";
ApiSpec2["ELASTIC_SEARCH"] = "ELASTIC_SEARCH";
})(ApiSpec || (ApiSpec = {}));
var UrlRetrievalStatus;
(function(UrlRetrievalStatus2) {
UrlRetrievalStatus2["URL_RETRIEVAL_STATUS_UNSPECIFIED"] = "URL_RETRIEVAL_STATUS_UNSPECIFIED";
UrlRetrievalStatus2["URL_RETRIEVAL_STATUS_SUCCESS"] = "URL_RETRIEVAL_STATUS_SUCCESS";
UrlRetrievalStatus2["URL_RETRIEVAL_STATUS_ERROR"] = "URL_RETRIEVAL_STATUS_ERROR";
UrlRetrievalStatus2["URL_RETRIEVAL_STATUS_PAYWALL"] = "URL_RETRIEVAL_STATUS_PAYWALL";
UrlRetrievalStatus2["URL_RETRIEVAL_STATUS_UNSAFE"] = "URL_RETRIEVAL_STATUS_UNSAFE";
})(UrlRetrievalStatus || (UrlRetrievalStatus = {}));
var FinishReason;
(function(FinishReason2) {
FinishReason2["FINISH_REASON_UNSPECIFIED"] = "FINISH_REASON_UNSPECIFIED";
FinishReason2["STOP"] = "STOP";
FinishReason2["MAX_TOKENS"] = "MAX_TOKENS";
FinishReason2["SAFETY"] = "SAFETY";
FinishReason2["RECITATION"] = "RECITATION";
FinishReason2["LANGUAGE"] = "LANGUAGE";
FinishReason2["OTHER"] = "OTHER";
FinishReason2["BLOCKLIST"] = "BLOCKLIST";
FinishReason2["PROHIBITED_CONTENT"] = "PROHIBITED_CONTENT";
FinishReason2["SPII"] = "SPII";
FinishReason2["MALFORMED_FUNCTION_CALL"] = "MALFORMED_FUNCTION_CALL";
FinishReason2["IMAGE_SAFETY"] = "IMAGE_SAFETY";
FinishReason2["UNEXPECTED_TOOL_CALL"] = "UNEXPECTED_TOOL_CALL";
})(FinishReason || (FinishReason = {}));
var HarmProbability;
(function(HarmProbability2) {
HarmProbability2["HARM_PROBABILITY_UNSPECIFIED"] = "HARM_PROBABILITY_UNSPECIFIED";
HarmProbability2["NEGLIGIBLE"] = "NEGLIGIBLE";
HarmProbability2["LOW"] = "LOW";
HarmProbability2["MEDIUM"] = "MEDIUM";
HarmProbability2["HIGH"] = "HIGH";
})(HarmProbability || (HarmProbability = {}));
var HarmSeverity;
(function(HarmSeverity2) {
HarmSeverity2["HARM_SEVERITY_UNSPECIFIED"] = "HARM_SEVERITY_UNSPECIFIED";
HarmSeverity2["HARM_SEVERITY_NEGLIGIBLE"] = "HARM_SEVERITY_NEGLIGIBLE";
HarmSeverity2["HARM_SEVERITY_LOW"] = "HARM_SEVERITY_LOW";
HarmSeverity2["HARM_SEVERITY_MEDIUM"] = "HARM_SEVERITY_MEDIUM";
HarmSeverity2["HARM_SEVERITY_HIGH"] = "HARM_SEVERITY_HIGH";
})(HarmSeverity || (HarmSeverity = {}));
var BlockedReason;
(function(BlockedReason2) {
BlockedReason2["BLOCKED_REASON_UNSPECIFIED"] = "BLOCKED_REASON_UNSPECIFIED";
BlockedReason2["SAFETY"] = "SAFETY";
BlockedReason2["OTHER"] = "OTHER";
BlockedReason2["BLOCKLIST"] = "BLOCKLIST";
BlockedReason2["PROHIBITED_CONTENT"] = "PROHIBITED_CONTENT";
BlockedReason2["IMAGE_SAFETY"] = "IMAGE_SAFETY";
})(BlockedReason || (BlockedReason = {}));
var TrafficType;
(function(TrafficType2) {
TrafficType2["TRAFFIC_TYPE_UNSPECIFIED"] = "TRAFFIC_TYPE_UNSPECIFIED";
TrafficType2["ON_DEMAND"] = "ON_DEMAND";
TrafficType2["PROVISIONED_THROUGHPUT"] = "PROVISIONED_THROUGHPUT";
})(TrafficType || (TrafficType = {}));
var Modality;
(function(Modality2) {
Modality2["MODALITY_UNSPECIFIED"] = "MODALITY_UNSPECIFIED";
Modality2["TEXT"] = "TEXT";
Modality2["IMAGE"] = "IMAGE";
Modality2["AUDIO"] = "AUDIO";
})(Modality || (Modality = {}));
var MediaResolution;
(function(MediaResolution2) {
MediaResolution2["MEDIA_RESOLUTION_UNSPECIFIED"] = "MEDIA_RESOLUTION_UNSPECIFIED";
MediaResolution2["MEDIA_RESOLUTION_LOW"] = "MEDIA_RESOLUTION_LOW";
MediaResolution2["MEDIA_RESOLUTION_MEDIUM"] = "MEDIA_RESOLUTION_MEDIUM";
MediaResolution2["MEDIA_RESOLUTION_HIGH"] = "MEDIA_RESOLUTION_HIGH";
})(MediaResolution || (MediaResolution = {}));
var JobState;
(function(JobState2) {
JobState2["JOB_STATE_UNSPECIFIED"] = "JOB_STATE_UNSPECIFIED";
JobState2["JOB_STATE_QUEUED"] = "JOB_STATE_QUEUED";
JobState2["JOB_STATE_PENDING"] = "JOB_STATE_PENDING";
JobState2["JOB_STATE_RUNNING"] = "JOB_STATE_RUNNING";
JobState2["JOB_STATE_SUCCEEDED"] = "JOB_STATE_SUCCEEDED";
JobState2["JOB_STATE_FAILED"] = "JOB_STATE_FAILED";
JobState2["JOB_STATE_CANCELLING"] = "JOB_STATE_CANCELLING";
JobState2["JOB_STATE_CANCELLED"] = "JOB_STATE_CANCELLED";
JobState2["JOB_STATE_PAUSED"] = "JOB_STATE_PAUSED";
JobState2["JOB_STATE_EXPIRED"] = "JOB_STATE_EXPIRED";
JobState2["JOB_STATE_UPDATING"] = "JOB_STATE_UPDATING";
JobState2["JOB_STATE_PARTIALLY_SUCCEEDED"] = "JOB_STATE_PARTIALLY_SUCCEEDED";
})(JobState || (JobState = {}));
var TuningMode;
(function(TuningMode2) {
TuningMode2["TUNING_MODE_UNSPECIFIED"] = "TUNING_MODE_UNSPECIFIED";
TuningMode2["TUNING_MODE_FULL"] = "TUNING_MODE_FULL";
TuningMode2["TUNING_MODE_PEFT_ADAPTER"] = "TUNING_MODE_PEFT_ADAPTER";
})(TuningMode || (TuningMode = {}));
var AdapterSize;
(function(AdapterSize2) {
AdapterSize2["ADAPTER_SIZE_UNSPECIFIED"] = "ADAPTER_SIZE_UNSPECIFIED";
AdapterSize2["ADAPTER_SIZE_ONE"] = "ADAPTER_SIZE_ONE";
AdapterSize2["ADAPTER_SIZE_TWO"] = "ADAPTER_SIZE_TWO";
AdapterSize2["ADAPTER_SIZE_FOUR"] = "ADAPTER_SIZE_FOUR";
AdapterSize2["ADAPTER_SIZE_EIGHT"] = "ADAPTER_SIZE_EIGHT";
AdapterSize2["ADAPTER_SIZE_SIXTEEN"] = "ADAPTER_SIZE_SIXTEEN";
AdapterSize2["ADAPTER_SIZE_THIRTY_TWO"] = "ADAPTER_SIZE_THIRTY_TWO";
})(AdapterSize || (AdapterSize = {}));
var FeatureSelectionPreference;
(function(FeatureSelectionPreference2) {
FeatureSelectionPreference2["FEATURE_SELECTION_PREFERENCE_UNSPECIFIED"] = "FEATURE_SELECTION_PREFERENCE_UNSPECIFIED";
FeatureSelectionPreference2["PRIORITIZE_QUALITY"] = "PRIORITIZE_QUALITY";
FeatureSelectionPreference2["BALANCED"] = "BALANCED";
FeatureSelectionPreference2["PRIORITIZE_COST"] = "PRIORITIZE_COST";
})(FeatureSelectionPreference || (FeatureSelectionPreference = {}));
var Behavior;
(function(Behavior2) {
Behavior2["UNSPECIFIED"] = "UNSPECIFIED";
Behavior2["BLOCKING"] = "BLOCKING";
Behavior2["NON_BLOCKING"] = "NON_BLOCKING";
})(Behavior || (Behavior = {}));
var DynamicRetrievalConfigMode;
(function(DynamicRetrievalConfigMode2) {
DynamicRetrievalConfigMode2["MODE_UNSPECIFIED"] = "MODE_UNSPECIFIED";
DynamicRetrievalConfigMode2["MODE_DYNAMIC"] = "MODE_DYNAMIC";
})(DynamicRetrievalConfigMode || (DynamicRetrievalConfigMode = {}));
var Environment;
(function(Environment2) {
Environment2["ENVIRONMENT_UNSPECIFIED"] = "ENVIRONMENT_UNSPECIFIED";
Environment2["ENVIRONMENT_BROWSER"] = "ENVIRONMENT_BROWSER";
})(Environment || (Environment = {}));
var FunctionCallingConfigMode;
(function(FunctionCallingConfigMode2) {
FunctionCallingConfigMode2["MODE_UNSPECIFIED"] = "MODE_UNSPECIFIED";
FunctionCallingConfigMode2["AUTO"] = "AUTO";
FunctionCallingConfigMode2["ANY"] = "ANY";
FunctionCallingConfigMode2["NONE"] = "NONE";
FunctionCallingConfigMode2["VALIDATED"] = "VALIDATED";
})(FunctionCallingConfigMode || (FunctionCallingConfigMode = {}));
var SafetyFilterLevel;
(function(SafetyFilterLevel2) {
SafetyFilterLevel2["BLOCK_LOW_AND_ABOVE"] = "BLOCK_LOW_AND_ABOVE";
SafetyFilterLevel2["BLOCK_MEDIUM_AND_ABOVE"] = "BLOCK_MEDIUM_AND_ABOVE";
SafetyFilterLevel2["BLOCK_ONLY_HIGH"] = "BLOCK_ONLY_HIGH";
SafetyFilterLevel2["BLOCK_NONE"] = "BLOCK_NONE";
})(SafetyFilterLevel || (SafetyFilterLevel = {}));
var PersonGeneration;
(function(PersonGeneration2) {
PersonGeneration2["DONT_ALLOW"] = "DONT_ALLOW";
PersonGeneration2["ALLOW_ADULT"] = "ALLOW_ADULT";
PersonGeneration2["ALLOW_ALL"] = "ALLOW_ALL";
})(PersonGeneration || (PersonGeneration = {}));
var ImagePromptLanguage;
(function(ImagePromptLanguage2) {
ImagePromptLanguage2["auto"] = "auto";
ImagePromptLanguage2["en"] = "en";
ImagePromptLanguage2["ja"] = "ja";
ImagePromptLanguage2["ko"] = "ko";
ImagePromptLanguage2["hi"] = "hi";
ImagePromptLanguage2["zh"] = "zh";
ImagePromptLanguage2["pt"] = "pt";
ImagePromptLanguage2["es"] = "es";
})(ImagePromptLanguage || (ImagePromptLanguage = {}));
var MaskReferenceMode;
(function(MaskReferenceMode2) {
MaskReferenceMode2["MASK_MODE_DEFAULT"] = "MASK_MODE_DEFAULT";
MaskReferenceMode2["MASK_MODE_USER_PROVIDED"] = "MASK_MODE_USER_PROVIDED";
MaskReferenceMode2["MASK_MODE_BACKGROUND"] = "MASK_MODE_BACKGROUND";
MaskReferenceMode2["MASK_MODE_FOREGROUND"] = "MASK_MODE_FOREGROUND";
MaskReferenceMode2["MASK_MODE_SEMANTIC"] = "MASK_MODE_SEMANTIC";
})(MaskReferenceMode || (MaskReferenceMode = {}));
var ControlReferenceType;
(function(ControlReferenceType2) {
ControlReferenceType2["CONTROL_TYPE_DEFAULT"] = "CONTROL_TYPE_DEFAULT";
ControlReferenceType2["CONTROL_TYPE_CANNY"] = "CONTROL_TYPE_CANNY";
ControlReferenceType2["CONTROL_TYPE_SCRIBBLE"] = "CONTROL_TYPE_SCRIBBLE";
ControlReferenceType2["CONTROL_TYPE_FACE_MESH"] = "CONTROL_TYPE_FACE_MESH";
})(ControlReferenceType || (ControlReferenceType = {}));
var SubjectReferenceType;
(function(SubjectReferenceType2) {
SubjectReferenceType2["SUBJECT_TYPE_DEFAULT"] = "SUBJECT_TYPE_DEFAULT";
SubjectReferenceType2["SUBJECT_TYPE_PERSON"] = "SUBJECT_TYPE_PERSON";
SubjectReferenceType2["SUBJECT_TYPE_ANIMAL"] = "SUBJECT_TYPE_ANIMAL";
SubjectReferenceType2["SUBJECT_TYPE_PRODUCT"] = "SUBJECT_TYPE_PRODUCT";
})(SubjectReferenceType || (SubjectReferenceType = {}));
var EditMode;
(function(EditMode2) {
EditMode2["EDIT_MODE_DEFAULT"] = "EDIT_MODE_DEFAULT";
EditMode2["EDIT_MODE_INPAINT_REMOVAL"] = "EDIT_MODE_INPAINT_REMOVAL";
EditMode2["EDIT_MODE_INPAINT_INSERTION"] = "EDIT_MODE_INPAINT_INSERTION";
EditMode2["EDIT_MODE_OUTPAINT"] = "EDIT_MODE_OUTPAINT";
EditMode2["EDIT_MODE_CONTROLLED_EDITING"] = "EDIT_MODE_CONTROLLED_EDITING";
EditMode2["EDIT_MODE_STYLE"] = "EDIT_MODE_STYLE";
EditMode2["EDIT_MODE_BGSWAP"] = "EDIT_MODE_BGSWAP";
EditMode2["EDIT_MODE_PRODUCT_IMAGE"] = "EDIT_MODE_PRODUCT_IMAGE";
})(EditMode || (EditMode = {}));
var SegmentMode;
(function(SegmentMode2) {
SegmentMode2["FOREGROUND"] = "FOREGROUND";
SegmentMode2["BACKGROUND"] = "BACKGROUND";
SegmentMode2["PROMPT"] = "PROMPT";
SegmentMode2["SEMANTIC"] = "SEMANTIC";
SegmentMode2["INTERACTIVE"] = "INTERACTIVE";
})(SegmentMode || (SegmentMode = {}));
var VideoGenerationReferenceType;
(function(VideoGenerationReferenceType2) {
VideoGenerationReferenceType2["ASSET"] = "ASSET";
VideoGenerationReferenceType2["STYLE"] = "STYLE";
})(VideoGenerationReferenceType || (VideoGenerationReferenceType = {}));
var VideoCompressionQuality;
(function(VideoCompressionQuality2) {
VideoCompressionQuality2["OPTIMIZED"] = "OPTIMIZED";
VideoCompressionQuality2["LOSSLESS"] = "LOSSLESS";
})(VideoCompressionQuality || (VideoCompressionQuality = {}));
var FileState;
(function(FileState2) {
FileState2["STATE_UNSPECIFIED"] = "STATE_UNSPECIFIED";
FileState2["PROCESSING"] = "PROCESSING";
FileState2["ACTIVE"] = "ACTIVE";
FileState2["FAILED"] = "FAILED";
})(FileState || (FileState = {}));
var FileSource;
(function(FileSource2) {
FileSource2["SOURCE_UNSPECIFIED"] = "SOURCE_UNSPECIFIED";
FileSource2["UPLOADED"] = "UPLOADED";
FileSource2["GENERATED"] = "GENERATED";
})(FileSource || (FileSource = {}));
var MediaModality;
(function(MediaModality2) {
MediaModality2["MODALITY_UNSPECIFIED"] = "MODALITY_UNSPECIFIED";
MediaModality2["TEXT"] = "TEXT";
MediaModality2["IMAGE"] = "IMAGE";
MediaModality2["VIDEO"] = "VIDEO";
MediaModality2["AUDIO"] = "AUDIO";
MediaModality2["DOCUMENT"] = "DOCUMENT";
})(MediaModality || (MediaModality = {}));
var StartSensitivity;
(function(StartSensitivity2) {
StartSensitivity2["START_SENSITIVITY_UNSPECIFIED"] = "START_SENSITIVITY_UNSPECIFIED";
StartSensitivity2["START_SENSITIVITY_HIGH"] = "START_SENSITIVITY_HIGH";
StartSensitivity2["START_SENSITIVITY_LOW"] = "START_SENSITIVITY_LOW";
})(StartSensitivity || (StartSensitivity = {}));
var EndSensitivity;
(function(EndSensitivity2) {
EndSensitivity2["END_SENSITIVITY_UNSPECIFIED"] = "END_SENSITIVITY_UNSPECIFIED";
EndSensitivity2["END_SENSITIVITY_HIGH"] = "END_SENSITIVITY_HIGH";
EndSensitivity2["END_SENSITIVITY_LOW"] = "END_SENSITIVITY_LOW";
})(EndSensitivity || (EndSensitivity = {}));
var ActivityHandling;
(function(ActivityHandling2) {
ActivityHandling2["ACTIVITY_HANDLING_UNSPECIFIED"] = "ACTIVITY_HANDLING_UNSPECIFIED";
ActivityHandling2["START_OF_ACTIVITY_INTERRUPTS"] = "START_OF_ACTIVITY_INTERRUPTS";
ActivityHandling2["NO_INTERRUPTION"] = "NO_INTERRUPTION";
})(ActivityHandling || (ActivityHandling = {}));
var TurnCoverage;
(function(TurnCoverage2) {
TurnCoverage2["TURN_COVERAGE_UNSPECIFIED"] = "TURN_COVERAGE_UNSPECIFIED";
TurnCoverage2["TURN_INCLUDES_ONLY_ACTIVITY"] = "TURN_INCLUDES_ONLY_ACTIVITY";
TurnCoverage2["TURN_INCLUDES_ALL_INPUT"] = "TURN_INCLUDES_ALL_INPUT";
})(TurnCoverage || (TurnCoverage = {}));
var FunctionResponseScheduling;
(function(FunctionResponseScheduling2) {
FunctionResponseScheduling2["SCHEDULING_UNSPECIFIED"] = "SCHEDULING_UNSPECIFIED";
FunctionResponseScheduling2["SILENT"] = "SILENT";
FunctionResponseScheduling2["WHEN_IDLE"] = "WHEN_IDLE";
FunctionResponseScheduling2["INTERRUPT"] = "INTERRUPT";
})(FunctionResponseScheduling || (FunctionResponseScheduling = {}));
var Scale;
(function(Scale2) {
Scale2["SCALE_UNSPECIFIED"] = "SCALE_UNSPECIFIED";
Scale2["C_MAJOR_A_MINOR"] = "C_MAJOR_A_MINOR";
Scale2["D_FLAT_MAJOR_B_FLAT_MINOR"] = "D_FLAT_MAJOR_B_FLAT_MINOR";
Scale2["D_MAJOR_B_MINOR"] = "D_MAJOR_B_MINOR";
Scale2["E_FLAT_MAJOR_C_MINOR"] = "E_FLAT_MAJOR_C_MINOR";
Scale2["E_MAJOR_D_FLAT_MINOR"] = "E_MAJOR_D_FLAT_MINOR";
Scale2["F_MAJOR_D_MINOR"] = "F_MAJOR_D_MINOR";
Scale2["G_FLAT_MAJOR_E_FLAT_MINOR"] = "G_FLAT_MAJOR_E_FLAT_MINOR";
Scale2["G_MAJOR_E_MINOR"] = "G_MAJOR_E_MINOR";
Scale2["A_FLAT_MAJOR_F_MINOR"] = "A_FLAT_MAJOR_F_MINOR";
Scale2["A_MAJOR_G_FLAT_MINOR"] = "A_MAJOR_G_FLAT_MINOR";
Scale2["B_FLAT_MAJOR_G_MINOR"] = "B_FLAT_MAJOR_G_MINOR";
Scale2["B_MAJOR_A_FLAT_MINOR"] = "B_MAJOR_A_FLAT_MINOR";
})(Scale || (Scale = {}));
var MusicGenerationMode;
(function(MusicGenerationMode2) {
MusicGenerationMode2["MUSIC_GENERATION_MODE_UNSPECIFIED"] = "MUSIC_GENERATION_MODE_UNSPECIFIED";
MusicGenerationMode2["QUALITY"] = "QUALITY";
MusicGenerationMode2["DIVERSITY"] = "DIVERSITY";
MusicGenerationMode2["VOCALIZATION"] = "VOCALIZATION";
})(MusicGenerationMode || (MusicGenerationMode = {}));
var LiveMusicPlaybackControl;
(function(LiveMusicPlaybackControl2) {
LiveMusicPlaybackControl2["PLAYBACK_CONTROL_UNSPECIFIED"] = "PLAYBACK_CONTROL_UNSPECIFIED";
LiveMusicPlaybackControl2["PLAY"] = "PLAY";
LiveMusicPlaybackControl2["PAUSE"] = "PAUSE";
LiveMusicPlaybackControl2["STOP"] = "STOP";
LiveMusicPlaybackControl2["RESET_CONTEXT"] = "RESET_CONTEXT";
})(LiveMusicPlaybackControl || (LiveMusicPlaybackControl = {}));
var FunctionResponse = class {
};
function createPartFromUri(uri, mimeType) {
return {
fileData: {
fileUri: uri,
mimeType
}
};
}
function createPartFromText(text) {
return {
text
};
}
function createPartFromFunctionCall(name, args) {
return {
functionCall: {
name,
args
}
};
}
function createPartFromFunctionResponse(id, name, response) {
return {
functionResponse: {
id,
name,
response
}
};
}
function createPartFromBase64(data, mimeType) {
return {
inlineData: {
data,
mimeType
}
};
}
function createPartFromCodeExecutionResult(outcome, output) {
return {
codeExecutionResult: {
outcome,
output
}
};
}
function createPartFromExecutableCode(code, language) {
return {
executableCode: {
code,
language
}
};
}
function _isPart(obj) {
if (typeof obj === "object" && obj !== null) {
return "fileData" in obj || "text" in obj || "functionCall" in obj || "functionResponse" in obj || "inlineData" in obj || "videoMetadata" in obj || "codeExecutionResult" in obj || "executableCode" in obj;
}
return false;
}
function _toParts(partOrString) {
const parts = [];
if (typeof partOrString === "string") {
parts.push(createPartFromText(partOrString));
} else if (_isPart(partOrString)) {
parts.push(partOrString);
} else if (Array.isArray(partOrString)) {
if (partOrString.length === 0) {
throw new Error("partOrString cannot be an empty array");
}
for (const part of partOrString) {
if (typeof part === "string") {
parts.push(createPartFromText(part));
} else if (_isPart(part)) {
parts.push(part);
} else {
throw new Error("element in PartUnion must be a Part object or string");
}
}
} else {
throw new Error("partOrString must be a Part object, string, or array");
}
return parts;
}
function createUserContent(partOrString) {
return {
role: "user",
parts: _toParts(partOrString)
};
}
function createModelContent(partOrString) {
return {
role: "model",
parts: _toParts(partOrString)
};
}
var HttpResponse = class {
constructor(response) {
const headers = {};
for (const pair of response.headers.entries()) {
headers[pair[0]] = pair[1];
}
this.headers = headers;
this.responseInternal = response;
}
json() {
return this.responseInternal.json();
}
};
var GenerateContentResponsePromptFeedback = class {
};
var GenerateContentResponseUsageMetadata = class {
};
var GenerateContentResponse = class {
/**
* Returns the concatenation of all text parts from the first candidate in the response.
*
* @remarks
* If there are multiple candidates in the response, the text from the first
* one will be returned.
* If there are non-text parts in the response, the concatenation of all text
* parts will be returned, and a warning will be logged.
* If there are thought parts in the response, the concatenation of all text
* parts excluding the thought parts will be returned.
*
* @example
* ```ts
* const response = await ai.models.generateContent({
* model: 'gemini-2.0-flash',
* contents:
* 'Why is the sky blue?',
* });
*
* console.debug(response.text);
* ```
*/
get text() {
var _a, _b, _c, _d, _e, _f, _g, _h;
if (((_d = (_c = (_b = (_a = this.candidates) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.parts) === null || _d === void 0 ? void 0 : _d.length) === 0) {
return void 0;
}
if (this.candidates && this.candidates.length > 1) {
console.warn("there are multiple candidates in the response, returning text from the first one.");
}
let text = "";
let anyTextPartText = false;
const nonTextParts = [];
for (const part of (_h = (_g = (_f = (_e = this.candidates) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.content) === null || _g === void 0 ? void 0 : _g.parts) !== null && _h !== void 0 ? _h : []) {
for (const [fieldName, fieldValue] of Object.entries(part)) {
if (fieldName !== "text" && fieldName !== "thought" && (fieldValue !== null || fieldValue !== void 0)) {
nonTextParts.push(fieldName);
}
}
if (typeof part.text === "string") {
if (typeof part.thought === "boolean" && part.thought) {
continue;
}
anyTextPartText = true;
text += part.text;
}
}
if (nonTextParts.length > 0) {
console.warn(`there are non-text parts ${nonTextParts} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`);
}
return anyTextPartText ? text : void 0;
}
/**
* Returns the concatenation of all inline data parts from the first candidate
* in the response.
*
* @remarks
* If there are multiple candidates in the response, the inline data from the
* first one will be returned. If there are non-inline data parts in the
* response, the concatenation of all inline data parts will be returned, and
* a warning will be logged.
*/
get data() {
var _a, _b, _c, _d, _e, _f, _g, _h;
if (((_d = (_c = (_b = (_a = this.candidates) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.parts) === null || _d === void 0 ? void 0 : _d.length) === 0) {
return void 0;
}
if (this.candidates && this.candidates.length > 1) {
console.warn("there are multiple candidates in the response, returning data from the first one.");
}
let data = "";
const nonDataParts = [];
for (const part of (_h = (_g = (_f = (_e = this.candidates) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.content) === null || _g === void 0 ? void 0 : _g.parts) !== null && _h !== void 0 ? _h : []) {
for (const [fieldName, fieldValue] of Object.entries(part)) {
if (fieldName !== "inlineData" && (fieldValue !== null || fieldValue !== void 0)) {
nonDataParts.push(fieldName);
}
}
if (part.inlineData && typeof part.inlineData.data === "string") {
data += atob(part.inlineData.data);
}
}
if (nonDataParts.length > 0) {
console.warn(`there are non-data parts ${nonDataParts} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`);
}
return data.length > 0 ? btoa(data) : void 0;
}
/**
* Returns the function calls from the first candidate in the response.
*
* @remarks
* If there are multiple candidates in the response, the function calls from
* the first one will be returned.
* If there are no function calls in the response, undefined will be returned.
*
* @example
* ```ts
* const controlLightFunctionDeclaration: FunctionDeclaration = {
* name: 'controlLight',
* parameters: {
* type: Type.OBJECT,
* description: 'Set the brightness and color temperature of a room light.',
* properties: {
* brightness: {
* type: Type.NUMBER,
* description:
* 'Light level from 0 to 100. Zero is off and 100 is full brightness.',
* },
* colorTemperature: {
* type: Type.STRING,
* description:
* 'Color temperature of the light fixture which can be `daylight`, `cool` or `warm`.',
* },
* },
* required: ['brightness', 'colorTemperature'],
* };
* const response = await ai.models.generateContent({
* model: 'gemini-2.0-flash',
* contents: 'Dim the lights so the room feels cozy and warm.',
* config: {
* tools: [{functionDeclarations: [controlLightFunctionDeclaration]}],
* toolConfig: {
* functionCallingConfig: {
* mode: FunctionCallingConfigMode.ANY,
* allowedFunctionNames: ['controlLight'],
* },
* },
* },
* });
* console.debug(JSON.stringify(response.functionCalls));
* ```
*/
get functionCalls() {
var _a, _b, _c, _d, _e, _f, _g, _h;
if (((_d = (_c = (_b = (_a = this.candidates) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.parts) === null || _d === void 0 ? void 0 : _d.length) === 0) {
return void 0;
}
if (this.candidates && this.candidates.length > 1) {
console.warn("there are multiple candidates in the response, returning function calls from the first one.");
}
const functionCalls = (_h = (_g = (_f = (_e = this.candidates) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.content) === null || _g === void 0 ? void 0 : _g.parts) === null || _h === void 0 ? void 0 : _h.filter((part) => part.functionCall).map((part) => part.functionCall).filter((functionCall) => functionCall !== void 0);
if ((functionCalls === null || functionCalls === void 0 ? void 0 : functionCalls.length) === 0) {
return void 0;
}
return functionCalls;
}
/**
* Returns the first executable code from the first candidate in the response.
*
* @remarks
* If there are multiple candidates in the response, the executable code from
* the first one will be returned.
* If there are no executable code in the response, undefined will be
* returned.
*
* @example
* ```ts
* const response = await ai.models.generateContent({
* model: 'gemini-2.0-flash',
* contents:
* 'What is the sum of the first 50 prime numbers? Generate and run code for the calculation, and make sure you get all 50.'
* config: {
* tools: [{codeExecution: {}}],
* },
* });
*
* console.debug(response.executableCode);
* ```
*/
get executableCode() {
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
if (((_d = (_c = (_b = (_a = this.candidates) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.parts) === null || _d === void 0 ? void 0 : _d.length) === 0) {
return void 0;
}
if (this.candidates && this.candidates.length > 1) {
console.warn("there are multiple candidates in the response, returning executable code from the first one.");
}
const executableCode = (_h = (_g = (_f = (_e = this.candidates) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.content) === null || _g === void 0 ? void 0 : _g.parts) === null || _h === void 0 ? void 0 : _h.filter((part) => part.executableCode).map((part) => part.executableCode).filter((executableCode2) => executableCode2 !== void 0);
if ((executableCode === null || executableCode === void 0 ? void 0 : executableCode.length) === 0) {
return void 0;
}
return (_j = executableCode === null || executableCode === void 0 ? void 0 : executableCode[0]) === null || _j === void 0 ? void 0 : _j.code;
}
/**
* Returns the first code execution result from the first candidate in the response.
*
* @remarks
* If there are multiple candidates in the response, the code execution result from
* the first one will be returned.
* If there are no code execution result in the response, undefined will be returned.
*
* @example
* ```ts
* const response = await ai.models.generateContent({
* model: 'gemini-2.0-flash',
* contents:
* 'What is the sum of the first 50 prime numbers? Generate and run code for the calculation, and make sure you get all 50.'
* config: {
* tools: [{codeExecution: {}}],
* },
* });
*
* console.debug(response.codeExecutionResult);
* ```
*/
get codeExecutionResult() {
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
if (((_d = (_c = (_b = (_a = this.candidates) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.parts) === null || _d === void 0 ? void 0 : _d.length) === 0) {
return void 0;
}
if (this.candidates && this.candidates.length > 1) {
console.warn("there are multiple candidates in the response, returning code execution result from the first one.");
}
const codeExecutionResult = (_h = (_g = (_f = (_e = this.candidates) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.content) === null || _g === void 0 ? void 0 : _g.parts) === null || _h === void 0 ? void 0 : _h.filter((part) => part.codeExecutionResult).map((part) => part.codeExecutionResult).filter((codeExecutionResult2) => codeExecutionResult2 !== void 0);
if ((codeExecutionResult === null || codeExecutionResult === void 0 ? void 0 : codeExecutionResult.length) === 0) {
return void 0;
}
return (_j = codeExecutionResult === null || codeExecutionResult === void 0 ? void 0 : codeExecutionResult[0]) === null || _j === void 0 ? void 0 : _j.output;
}
};
var EmbedContentResponse = class {
};
var GenerateImagesResponse = class {
};
var EditImageResponse = class {
};
var UpscaleImageResponse = class {
};
var RecontextImageResponse = class {
};
var SegmentImageResponse = class {
};
var ListModelsResponse = class {
};
var DeleteModelResponse = class {
};
var CountTokensResponse = class {
};
var ComputeTokensResponse = class {
};
var GenerateVideosResponse = class {
};
var GenerateVideosOperation = class _GenerateVideosOperation {
/**
* Instantiates an Operation of the same type as the one being called with the fields set from the API response.
* @internal
*/
_fromAPIResponse({ apiResponse, isVertexAI }) {
const operation = new _GenerateVideosOperation();
operation.name = apiResponse["name"];
operation.metadata = apiResponse["metadata"];
operation.done = apiResponse["done"];
operation.error = apiResponse["error"];
if (isVertexAI) {
const response = apiResponse["response"];
if (response) {
const operationResponse = new GenerateVideosResponse();
const responseVideos = response["videos"];
operationResponse.generatedVideos = responseVideos === null || responseVideos === void 0 ? void 0 : responseVideos.map((generatedVideo) => {
return {
video: {
uri: generatedVideo["gcsUri"],
videoBytes: generatedVideo["bytesBase64Encoded"] ? tBytes$1(generatedVideo["bytesBase64Encoded"]) : void 0,
mimeType: generatedVideo["mimeType"]
}
};
});
operationResponse.raiMediaFilteredCount = response["raiMediaFilteredCount"];
operationResponse.raiMediaFilteredReasons = response["raiMediaFilteredReasons"];
operation.response = operationResponse;
}
} else {
const response = apiResponse["response"];
if (response) {
const operationResponse = new GenerateVideosResponse();
const generatedVideoResponse = response["generateVideoResponse"];
const responseVideos = generatedVideoResponse === null || generatedVideoResponse === void 0 ? void 0 : generatedVideoResponse["generatedSamples"];
operationResponse.generatedVideos = responseVideos === null || responseVideos === void 0 ? void 0 : responseVideos.map((generatedVideo) => {
const video = generatedVideo["video"];
return {
video: {
uri: video === null || video === void 0 ? void 0 : video["uri"],
videoBytes: (video === null || video === void 0 ? void 0 : video["encodedVideo"]) ? tBytes$1(video === null || video === void 0 ? void 0 : video["encodedVideo"]) : void 0,
mimeType: generatedVideo["encoding"]
}
};
});
operationResponse.raiMediaFilteredCount = generatedVideoResponse === null || generatedVideoResponse === void 0 ? void 0 : generatedVideoResponse["raiMediaFilteredCount"];
operationResponse.raiMediaFilteredReasons = generatedVideoResponse === null || generatedVideoResponse === void 0 ? void 0 : generatedVideoResponse["raiMediaFilteredReasons"];
operation.response = operationResponse;
}
}
return operation;
}
};
var ListTuningJobsResponse = class {
};
var DeleteCachedContentResponse = class {
};
var ListCachedContentsResponse = class {
};
var ListFilesResponse = class {
};
var CreateFileResponse = class {
};
var DeleteFileResponse = class {
};
var InlinedResponse = class {
};
var ListBatchJobsResponse = class {
};
var ReplayResponse = class {
};
var RawReferenceImage = class {
/** Internal method to convert to ReferenceImageAPIInternal. */
toReferenceImageAPI() {
const referenceImageAPI = {
referenceType: "REFERENCE_TYPE_RAW",
referenceImage: this.referenceImage,
referenceId: this.referenceId
};
return referenceImageAPI;
}
};
var MaskReferenceImage = class {
/** Internal method to convert to ReferenceImageAPIInternal. */
toReferenceImageAPI() {
const referenceImageAPI = {
referenceType: "REFERENCE_TYPE_MASK",
referenceImage: this.referenceImage,
referenceId: this.referenceId,
maskImageConfig: this.config
};
return referenceImageAPI;
}
};
var ControlReferenceImage = class {
/** Internal method to convert to ReferenceImageAPIInternal. */
toReferenceImageAPI() {
const referenceImageAPI = {
referenceType: "REFERENCE_TYPE_CONTROL",
referenceImage: this.referenceImage,
referenceId: this.referenceId,
controlImageConfig: this.config
};
return referenceImageAPI;
}
};
var StyleReferenceImage = class {
/** Internal method to convert to ReferenceImageAPIInternal. */
toReferenceImageAPI() {
const referenceImageAPI = {
referenceType: "REFERENCE_TYPE_STYLE",
referenceImage: this.referenceImage,
referenceId: this.referenceId,
styleImageConfig: this.config
};
return referenceImageAPI;
}
};
var SubjectReferenceImage = class {
/* Internal method to convert to ReferenceImageAPIInternal. */
toReferenceImageAPI() {
const referenceImageAPI = {
referenceType: "REFERENCE_TYPE_SUBJECT",
referenceImage: this.referenceImage,
referenceId: this.referenceId,
subjectImageConfig: this.config
};
return referenceImageAPI;
}
};
var LiveServerMessage = class {
/**
* Returns the concatenation of all text parts from the server content if present.
*
* @remarks
* If there are non-text parts in the response, the concatenation of all text
* parts will be returned, and a warning will be logged.
*/
get text() {
var _a, _b, _c;
let text = "";
let anyTextPartFound = false;
const nonTextParts = [];
for (const part of (_c = (_b = (_a = this.serverContent) === null || _a === void 0 ? void 0 : _a.modelTurn) === null || _b === void 0 ? void 0 : _b.parts) !== null && _c !== void 0 ? _c : []) {
for (const [fieldName, fieldValue] of Object.entries(part)) {
if (fieldName !== "text" && fieldName !== "thought" && fieldValue !== null) {
nonTextParts.push(fieldName);
}
}
if (typeof part.text === "string") {
if (typeof part.thought === "boolean" && part.thought) {
continue;
}
anyTextPartFound = true;
text += part.text;
}
}
if (nonTextParts.length > 0) {
console.warn(`there are non-text parts ${nonTextParts} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`);
}
return anyTextPartFound ? text : void 0;
}
/**
* Returns the concatenation of all inline data parts from the server content if present.
*
* @remarks
* If there are non-inline data parts in the
* response, the concatenation of all inline data parts will be returned, and
* a warning will be logged.
*/
get data() {
var _a, _b, _c;
let data = "";
const nonDataParts = [];
for (const part of (_c = (_b = (_a = this.serverContent) === null || _a === void 0 ? void 0 : _a.modelTurn) === null || _b === void 0 ? void 0 : _b.parts) !== null && _c !== void 0 ? _c : []) {
for (const [fieldName, fieldValue] of Object.entries(part)) {
if (fieldName !== "inlineData" && fieldValue !== null) {
nonDataParts.push(fieldName);
}
}
if (part.inlineData && typeof part.inlineData.data === "string") {
data += atob(part.inlineData.data);
}
}
if (nonDataParts.length > 0) {
console.warn(`there are non-data parts ${nonDataParts} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`);
}
return data.length > 0 ? btoa(data) : void 0;
}
};
var LiveClientToolResponse = class {
};
var LiveSendToolResponseParameters = class {
constructor() {
this.functionResponses = [];
}
};
var LiveMusicServerMessage = class {
/**
* Returns the first audio chunk from the server content, if present.
*
* @remarks
* If there are no audio chunks in the response, undefined will be returned.
*/
get audioChunk() {
if (this.serverContent && this.serverContent.audioChunks && this.serverContent.audioChunks.length > 0) {
return this.serverContent.audioChunks[0];
}
return void 0;
}
};
function tModel(apiClient, model) {
if (!model || typeof model !== "string") {
throw new Error("model is required and must be a string");
}
if (apiClient.isVertexAI()) {
if (model.startsWith("publishers/") || model.startsWith("projects/") || model.startsWith("models/")) {
return model;
} else if (model.indexOf("/") >= 0) {
const parts = model.split("/", 2);
return `publishers/${parts[0]}/models/${parts[1]}`;
} else {
return `publishers/google/models/${model}`;
}
} else {
if (model.startsWith("models/") || model.startsWith("tunedModels/")) {
return model;
} else {
return `models/${model}`;
}
}
}
function tCachesModel(apiClient, model) {
const transformedModel = tModel(apiClient, model);
if (!transformedModel) {
return "";
}
if (transformedModel.startsWith("publishers/") && apiClient.isVertexAI()) {
return `projects/${apiClient.getProject()}/locations/${apiClient.getLocation()}/${transformedModel}`;
} else if (transformedModel.startsWith("models/") && apiClient.isVertexAI()) {
return `projects/${apiClient.getProject()}/locations/${apiClient.getLocation()}/publishers/google/${transformedModel}`;
} else {
return transformedModel;
}
}
function tBlobs(blobs) {
if (Array.isArray(blobs)) {
return blobs.map((blob) => tBlob(blob));
} else {
return [tBlob(blobs)];
}
}
function tBlob(blob) {
if (typeof blob === "object" && blob !== null) {
return blob;
}
throw new Error(`Could not parse input as Blob. Unsupported blob type: ${typeof blob}`);
}
function tImageBlob(blob) {
const transformedBlob = tBlob(blob);
if (transformedBlob.mimeType && transformedBlob.mimeType.startsWith("image/")) {
return transformedBlob;
}
throw new Error(`Unsupported mime type: ${transformedBlob.mimeType}`);
}
function tAudioBlob(blob) {
const transformedBlob = tBlob(blob);
if (transformedBlob.mimeType && transformedBlob.mimeType.startsWith("audio/")) {
return transformedBlob;
}
throw new Error(`Unsupported mime type: ${transformedBlob.mimeType}`);
}
function tPart(origin) {
if (origin === null || origin === void 0) {
throw new Error("PartUnion is required");
}
if (typeof origin === "object") {
return origin;
}
if (typeof origin === "string") {
return { text: origin };
}
throw new Error(`Unsupported part type: ${typeof origin}`);
}
function tParts(origin) {
if (origin === null || origin === void 0 || Array.isArray(origin) && origin.length === 0) {
throw new Error("PartListUnion is required");
}
if (Array.isArray(origin)) {
return origin.map((item) => tPart(item));
}
return [tPart(origin)];
}
function _isContent(origin) {
return origin !== null && origin !== void 0 && typeof origin === "object" && "parts" in origin && Array.isArray(origin.parts);
}
function _isFunctionCallPart(origin) {
return origin !== null && origin !== void 0 && typeof origin === "object" && "functionCall" in origin;
}
function _isFunctionResponsePart(origin) {
return origin !== null && origin !== void 0 && typeof origin === "object" && "functionResponse" in origin;
}
function tContent(origin) {
if (origin === null || origin === void 0) {
throw new Error("ContentUnion is required");
}
if (_isContent(origin)) {
return origin;
}
return {
role: "user",
parts: tParts(origin)
};
}
function tContentsForEmbed(apiClient, origin) {
if (!origin) {
return [];
}
if (apiClient.isVertexAI() && Array.isArray(origin)) {
return origin.flatMap((item) => {
const content = tContent(item);
if (content.parts && content.parts.length > 0 && content.parts[0].text !== void 0) {
return [content.parts[0].text];
}
return [];
});
} else if (apiClient.isVertexAI()) {
const content = tContent(origin);
if (content.parts && content.parts.length > 0 && content.parts[0].text !== void 0) {
return [content.parts[0].text];
}
return [];
}
if (Array.isArray(origin)) {
return origin.map((item) => tContent(item));
}
return [tContent(origin)];
}
function tContents(origin) {
if (origin === null || origin === void 0 || Array.isArray(origin) && origin.length === 0) {
throw new Error("contents are required");
}
if (!Array.isArray(origin)) {
if (_isFunctionCallPart(origin) || _isFunctionResponsePart(origin)) {
throw new Error("To specify functionCall or functionResponse parts, please wrap them in a Content object, specifying the role for them");
}
return [tContent(origin)];
}
const result = [];
const accumulatedParts = [];
const isContentArray = _isContent(origin[0]);
for (const item of origin) {
const isContent = _isContent(item);
if (isContent != isContentArray) {
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 (isContent) {
result.push(item);
} else if (_isFunctionCallPart(item) || _isFunctionResponsePart(item)) {
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");
} else {
accumulatedParts.push(item);
}
}
if (!isContentArray) {
result.push({ role: "user", parts: tParts(accumulatedParts) });
}
return result;
}
function flattenTypeArrayToAnyOf(typeList, resultingSchema) {
if (typeList.includes("null")) {
resultingSchema["nullable"] = true;
}
const listWithoutNull = typeList.filter((type) => type !== "null");
if (listWithoutNull.length === 1) {
resultingSchema["type"] = Object.values(Type).includes(listWithoutNull[0].toUpperCase()) ? listWithoutNull[0].toUpperCase() : Type.TYPE_UNSPECIFIED;
} else {
resultingSchema["anyOf"] = [];
for (const i of listWithoutNull) {
resultingSchema["anyOf"].push({
"type": Object.values(Type).includes(i.toUpperCase()) ? i.toUpperCase() : Type.TYPE_UNSPECIFIED
});
}
}
}
function processJsonSchema(_jsonSchema) {
const genAISchema = {};
const schemaFieldNames = ["items"];
const listSchemaFieldNames = ["anyOf"];
const dictSchemaFieldNames = ["properties"];
if (_jsonSchema["type"] && _jsonSchema["anyOf"]) {
throw new Error("type and anyOf cannot be both populated.");
}
const incomingAnyOf = _jsonSchema["anyOf"];
if (incomingAnyOf != null && incomingAnyOf.length == 2) {
if (incomingAnyOf[0]["type"] === "null") {
genAISchema["nullable"] = true;
_jsonSchema = incomingAnyOf[1];
} else if (incomingAnyOf[1]["type"] === "null") {
genAISchema["nullable"] = true;
_jsonSchema = incomingAnyOf[0];
}
}
if (_jsonSchema["type"] instanceof Array) {
flattenTypeArrayToAnyOf(_jsonSchema["type"], genAISchema);
}
for (const [fieldName, fieldValue] of Object.entries(_jsonSchema)) {
if (fieldValue == null) {
continue;
}
if (fieldName == "type") {
if (fieldValue === "null") {
throw new Error("type: null can not be the only possible type for the field.");
}
if (fieldValue instanceof Array) {
continue;
}
genAISchema["type"] = Object.values(Type).includes(fieldValue.toUpperCase()) ? fieldValue.toUpperCase() : Type.TYPE_UNSPECIFIED;
} else if (schemaFieldNames.includes(fieldName)) {
genAISchema[fieldName] = processJsonSchema(fieldValue);
} else if (listSchemaFieldNames.includes(fieldName)) {
const listSchemaFieldValue = [];
for (const item of fieldValue) {
if (item["type"] == "null") {
genAISchema["nullable"] = true;
continue;
}
listSchemaFieldValue.push(processJsonSchema(item));
}
genAISchema[fieldName] = listSchemaFieldValue;
} else if (dictSchemaFieldNames.includes(fieldName)) {
const dictSchemaFieldValue = {};
for (const [key, value] of Object.entries(fieldValue)) {
dictSchemaFieldValue[key] = processJsonSchema(value);
}
genAISchema[fieldName] = dictSchemaFieldValue;
} else {
if (fieldName === "additionalProperties") {
continue;
}
genAISchema[fieldName] = fieldValue;
}
}
return genAISchema;
}
function tSchema(schema) {
return processJsonSchema(schema);
}
function tSpeechConfig(speechConfig) {
if (typeof speechConfig === "object") {
return speechConfig;
} else if (typeof speechConfig === "string") {
return {
voiceConfig: {
prebuiltVoiceConfig: {
voiceName: speechConfig
}
}
};
} else {
throw new Error(`Unsupported speechConfig type: ${typeof speechConfig}`);
}
}
function tLiveSpeechConfig(speechConfig) {
if ("multiSpeakerVoiceConfig" in speechConfig) {
throw new Error("multiSpeakerVoiceConfig is not supported in the live API.");
}
return speechConfig;
}
function tTool(tool) {
if (tool.functionDeclarations) {
for (const functionDeclaration of tool.functionDeclarations) {
if (functionDeclaration.parameters) {
if (!Object.keys(functionDeclaration.parameters).includes("$schema")) {
functionDeclaration.parameters = processJsonSchema(functionDeclaration.parameters);
} else {
if (!functionDeclaration.parametersJsonSchema) {
functionDeclaration.parametersJsonSchema = functionDeclaration.parameters;
delete functionDeclaration.parameters;
}
}
}
if (functionDeclaration.response) {
if (!Object.keys(functionDeclaration.response).includes("$schema")) {
functionDeclaration.response = processJsonSchema(functionDeclaration.response);
} else {
if (!functionDeclaration.responseJsonSchema) {
functionDeclaration.responseJsonSchema = functionDeclaration.response;
delete functionDeclaration.response;
}
}
}
}
}
return tool;
}
function tTools(tools) {
if (tools === void 0 || tools === null) {
throw new Error("tools is required");
}
if (!Array.isArray(tools)) {
throw new Error("tools is required and must be an array of Tools");
}
const result = [];
for (const tool of tools) {
result.push(tool);
}
return result;
}
function resourceName(client, resourceName2, resourcePrefix, splitsAfterPrefix = 1) {
const shouldAppendPrefix = !resourceName2.startsWith(`${resourcePrefix}/`) && resourceName2.split("/").length === splitsAfterPrefix;
if (client.isVertexAI()) {
if (resourceName2.startsWith("projects/")) {
return resourceName2;
} else if (resourceName2.startsWith("locations/")) {
return `projects/${client.getProject()}/${resourceName2}`;
} else if (resourceName2.startsWith(`${resourcePrefix}/`)) {
return `projects/${client.getProject()}/locations/${client.getLocation()}/${resourceName2}`;
} else if (shouldAppendPrefix) {
return `projects/${client.getProject()}/locations/${client.getLocation()}/${resourcePrefix}/${resourceName2}`;
} else {
return resourceName2;
}
}
if (shouldAppendPrefix) {
return `${resourcePrefix}/${resourceName2}`;
}
return resourceName2;
}
function tCachedContentName(apiClient, name) {
if (typeof name !== "string") {
throw new Error("name must be a string");
}
return resourceName(apiClient, name, "cachedContents");
}
function tTuningJobStatus(status) {
switch (status) {
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 status;
}
}
function tBytes(fromImageBytes) {
return tBytes$1(fromImageBytes);
}
function _isFile(origin) {
return origin !== null && origin !== void 0 && typeof origin === "object" && "name" in origin;
}
function isGeneratedVideo(origin) {
return origin !== null && origin !== void 0 && typeof origin === "object" && "video" in origin;
}
function isVideo(origin) {
return origin !== null && origin !== void 0 && typeof origin === "object" && "uri" in origin;
}
function tFileName(fromName) {
var _a;
let name;
if (_isFile(fromName)) {
name = fromName.name;
}
if (isVideo(fromName)) {
name = fromName.uri;
if (name === void 0) {
return void 0;
}
}
if (isGeneratedVideo(fromName)) {
name = (_a = fromName.video) === null || _a === void 0 ? void 0 : _a.uri;
if (name === void 0) {
return void 0;
}
}
if (typeof fromName === "string") {
name = fromName;
}
if (name === void 0) {
throw new Error("Could not extract file name from the provided input.");
}
if (name.startsWith("https://")) {
const suffix = name.split("files/")[1];
const match = suffix.match(/[a-z0-9]+/);
if (match === null) {
throw new Error(`Could not extract file name from URI ${name}`);
}
name = match[0];
} else if (name.startsWith("files/")) {
name = name.split("files/")[1];
}
return name;
}
function tModelsUrl(apiClient, baseModels) {
let res;
if (apiClient.isVertexAI()) {
res = baseModels ? "publishers/google/models" : "models";
} else {
res = baseModels ? "models" : "tunedModels";
}
return res;
}
function tExtractModels(response) {
for (const key of ["models", "tunedModels", "publisherModels"]) {
if (hasField(response, key)) {
return response[key];
}
}
return [];
}
function hasField(data, fieldName) {
return data !== null && typeof data === "object" && fieldName in data;
}
function mcpToGeminiTool(mcpTool, config = {}) {
const mcpToolSchema = mcpTool;
const functionDeclaration = {
name: mcpToolSchema["name"],
description: mcpToolSchema["description"],
parametersJsonSchema: mcpToolSchema["inputSchema"]
};
if (mcpToolSchema["outputSchema"]) {
functionDeclaration["responseJsonSchema"] = mcpToolSchema["outputSchema"];
}
if (config.behavior) {
functionDeclaration["behavior"] = config.behavior;
}
const geminiTool = {
functionDeclarations: [
functionDeclaration
]
};
return geminiTool;
}
function mcpToolsToGeminiTool(mcpTools, config = {}) {
const functionDeclarations = [];
const toolNames = /* @__PURE__ */ new Set();
for (const mcpTool of mcpTools) {
const mcpToolName = mcpTool.name;
if (toolNames.has(mcpToolName)) {
throw new Error(`Duplicate function name ${mcpToolName} found in MCP tools. Please ensure function names are unique.`);
}
toolNames.add(mcpToolName);
const geminiTool = mcpToGeminiTool(mcpTool, config);
if (geminiTool.functionDeclarations) {
functionDeclarations.push(...geminiTool.functionDeclarations);
}
}
return { functionDeclarations };
}
function tBatchJobSource(apiClient, src) {
if (typeof src !== "string" && !Array.isArray(src)) {
if (apiClient && apiClient.isVertexAI()) {
if (src.gcsUri && src.bigqueryUri) {
throw new Error("Only one of `gcsUri` or `bigqueryUri` can be set.");
} else if (!src.gcsUri && !src.bigqueryUri) {
throw new Error("One of `gcsUri` or `bigqueryUri` must be set.");
}
} else {
if (src.inlinedRequests && src.fileName) {
throw new Error("Only one of `inlinedRequests` or `fileName` can be set.");
} else if (!src.inlinedRequests && !src.fileName) {
throw new Error("One of `inlinedRequests` or `fileName` must be set.");
}
}
return src;
} else if (Array.isArray(src)) {
return { inlinedRequests: src };
} else if (typeof src === "string") {
if (src.startsWith("gs://")) {
return {
format: "jsonl",
gcsUri: [src]
// GCS URI is expected as an array
};
} else if (src.startsWith("bq://")) {
return {
format: "bigquery",
bigqueryUri: src
};
} else if (src.startsWith("files/")) {
return {
fileName: src
};
}
}
throw new Error(`Unsupported source: ${src}`);
}
function tBatchJobDestination(dest) {
if (typeof dest !== "string") {
return dest;
}
const destString = dest;
if (destString.startsWith("gs://")) {
return {
format: "jsonl",
gcsUri: destString
};
} else if (destString.startsWith("bq://")) {
return {
format: "bigquery",
bigqueryUri: destString
};
} else {
throw new Error(`Unsupported destination: ${destString}`);
}
}
function tBatchJobName(apiClient, name) {
const nameString = name;
if (!apiClient.isVertexAI()) {
const mldevPattern = /batches\/[^/]+$/;
if (mldevPattern.test(nameString)) {
return nameString.split("/").pop();
} else {
throw new Error(`Invalid batch job name: ${nameString}.`);
}
}
const vertexPattern = /^projects\/[^/]+\/locations\/[^/]+\/batchPredictionJobs\/[^/]+$/;
if (vertexPattern.test(nameString)) {
return nameString.split("/").pop();
} else if (/^\d+$/.test(nameString)) {
return nameString;
} else {
throw new Error(`Invalid batch job name: ${nameString}.`);
}
}
function tJobState(state) {
const stateString = state;
if (stateString === "BATCH_STATE_UNSPECIFIED") {
return "JOB_STATE_UNSPECIFIED";
} else if (stateString === "BATCH_STATE_PENDING") {
return "JOB_STATE_PENDING";
} else if (stateString === "BATCH_STATE_SUCCEEDED") {
return "JOB_STATE_SUCCEEDED";
} else if (stateString === "BATCH_STATE_FAILED") {
return "JOB_STATE_FAILED";
} else if (stateString === "BATCH_STATE_CANCELLED") {
return "JOB_STATE_CANCELLED";
} else {
return stateString;
}
}
function videoMetadataToMldev$4(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobToMldev$4(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["displayName"]) !== void 0) {
throw new Error("displayName parameter is not supported in Gemini API.");
}
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataToMldev$4(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["displayName"]) !== void 0) {
throw new Error("displayName parameter is not supported in Gemini API.");
}
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partToMldev$4(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataToMldev$4(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobToMldev$4(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataToMldev$4(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentToMldev$4(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partToMldev$4(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function schemaToMldev$1(fromObject) {
const toObject = {};
const fromAnyOf = getValueByPath(fromObject, ["anyOf"]);
if (fromAnyOf != null) {
setValueByPath(toObject, ["anyOf"], fromAnyOf);
}
const fromDefault = getValueByPath(fromObject, ["default"]);
if (fromDefault != null) {
setValueByPath(toObject, ["default"], fromDefault);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromEnum = getValueByPath(fromObject, ["enum"]);
if (fromEnum != null) {
setValueByPath(toObject, ["enum"], fromEnum);
}
const fromExample = getValueByPath(fromObject, ["example"]);
if (fromExample != null) {
setValueByPath(toObject, ["example"], fromExample);
}
const fromFormat = getValueByPath(fromObject, ["format"]);
if (fromFormat != null) {
setValueByPath(toObject, ["format"], fromFormat);
}
const fromItems = getValueByPath(fromObject, ["items"]);
if (fromItems != null) {
setValueByPath(toObject, ["items"], fromItems);
}
const fromMaxItems = getValueByPath(fromObject, ["maxItems"]);
if (fromMaxItems != null) {
setValueByPath(toObject, ["maxItems"], fromMaxItems);
}
const fromMaxLength = getValueByPath(fromObject, ["maxLength"]);
if (fromMaxLength != null) {
setValueByPath(toObject, ["maxLength"], fromMaxLength);
}
const fromMaxProperties = getValueByPath(fromObject, [
"maxProperties"
]);
if (fromMaxProperties != null) {
setValueByPath(toObject, ["maxProperties"], fromMaxProperties);
}
const fromMaximum = getValueByPath(fromObject, ["maximum"]);
if (fromMaximum != null) {
setValueByPath(toObject, ["maximum"], fromMaximum);
}
const fromMinItems = getValueByPath(fromObject, ["minItems"]);
if (fromMinItems != null) {
setValueByPath(toObject, ["minItems"], fromMinItems);
}
const fromMinLength = getValueByPath(fromObject, ["minLength"]);
if (fromMinLength != null) {
setValueByPath(toObject, ["minLength"], fromMinLength);
}
const fromMinProperties = getValueByPath(fromObject, [
"minProperties"
]);
if (fromMinProperties != null) {
setValueByPath(toObject, ["minProperties"], fromMinProperties);
}
const fromMinimum = getValueByPath(fromObject, ["minimum"]);
if (fromMinimum != null) {
setValueByPath(toObject, ["minimum"], fromMinimum);
}
const fromNullable = getValueByPath(fromObject, ["nullable"]);
if (fromNullable != null) {
setValueByPath(toObject, ["nullable"], fromNullable);
}
const fromPattern = getValueByPath(fromObject, ["pattern"]);
if (fromPattern != null) {
setValueByPath(toObject, ["pattern"], fromPattern);
}
const fromProperties = getValueByPath(fromObject, ["properties"]);
if (fromProperties != null) {
setValueByPath(toObject, ["properties"], fromProperties);
}
const fromPropertyOrdering = getValueByPath(fromObject, [
"propertyOrdering"
]);
if (fromPropertyOrdering != null) {
setValueByPath(toObject, ["propertyOrdering"], fromPropertyOrdering);
}
const fromRequired = getValueByPath(fromObject, ["required"]);
if (fromRequired != null) {
setValueByPath(toObject, ["required"], fromRequired);
}
const fromTitle = getValueByPath(fromObject, ["title"]);
if (fromTitle != null) {
setValueByPath(toObject, ["title"], fromTitle);
}
const fromType = getValueByPath(fromObject, ["type"]);
if (fromType != null) {
setValueByPath(toObject, ["type"], fromType);
}
return toObject;
}
function safetySettingToMldev$1(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["method"]) !== void 0) {
throw new Error("method parameter is not supported in Gemini API.");
}
const fromCategory = getValueByPath(fromObject, ["category"]);
if (fromCategory != null) {
setValueByPath(toObject, ["category"], fromCategory);
}
const fromThreshold = getValueByPath(fromObject, ["threshold"]);
if (fromThreshold != null) {
setValueByPath(toObject, ["threshold"], fromThreshold);
}
return toObject;
}
function functionDeclarationToMldev$4(fromObject) {
const toObject = {};
const fromBehavior = getValueByPath(fromObject, ["behavior"]);
if (fromBehavior != null) {
setValueByPath(toObject, ["behavior"], fromBehavior);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromParameters = getValueByPath(fromObject, ["parameters"]);
if (fromParameters != null) {
setValueByPath(toObject, ["parameters"], fromParameters);
}
const fromParametersJsonSchema = getValueByPath(fromObject, [
"parametersJsonSchema"
]);
if (fromParametersJsonSchema != null) {
setValueByPath(toObject, ["parametersJsonSchema"], fromParametersJsonSchema);
}
const fromResponse = getValueByPath(fromObject, ["response"]);
if (fromResponse != null) {
setValueByPath(toObject, ["response"], fromResponse);
}
const fromResponseJsonSchema = getValueByPath(fromObject, [
"responseJsonSchema"
]);
if (fromResponseJsonSchema != null) {
setValueByPath(toObject, ["responseJsonSchema"], fromResponseJsonSchema);
}
return toObject;
}
function intervalToMldev$4(fromObject) {
const toObject = {};
const fromStartTime = getValueByPath(fromObject, ["startTime"]);
if (fromStartTime != null) {
setValueByPath(toObject, ["startTime"], fromStartTime);
}
const fromEndTime = getValueByPath(fromObject, ["endTime"]);
if (fromEndTime != null) {
setValueByPath(toObject, ["endTime"], fromEndTime);
}
return toObject;
}
function googleSearchToMldev$4(fromObject) {
const toObject = {};
const fromTimeRangeFilter = getValueByPath(fromObject, [
"timeRangeFilter"
]);
if (fromTimeRangeFilter != null) {
setValueByPath(toObject, ["timeRangeFilter"], intervalToMldev$4(fromTimeRangeFilter));
}
if (getValueByPath(fromObject, ["excludeDomains"]) !== void 0) {
throw new Error("excludeDomains parameter is not supported in Gemini API.");
}
return toObject;
}
function dynamicRetrievalConfigToMldev$4(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromDynamicThreshold = getValueByPath(fromObject, [
"dynamicThreshold"
]);
if (fromDynamicThreshold != null) {
setValueByPath(toObject, ["dynamicThreshold"], fromDynamicThreshold);
}
return toObject;
}
function googleSearchRetrievalToMldev$4(fromObject) {
const toObject = {};
const fromDynamicRetrievalConfig = getValueByPath(fromObject, [
"dynamicRetrievalConfig"
]);
if (fromDynamicRetrievalConfig != null) {
setValueByPath(toObject, ["dynamicRetrievalConfig"], dynamicRetrievalConfigToMldev$4(fromDynamicRetrievalConfig));
}
return toObject;
}
function urlContextToMldev$4() {
const toObject = {};
return toObject;
}
function toolComputerUseToMldev$4(fromObject) {
const toObject = {};
const fromEnvironment = getValueByPath(fromObject, ["environment"]);
if (fromEnvironment != null) {
setValueByPath(toObject, ["environment"], fromEnvironment);
}
return toObject;
}
function toolToMldev$4(fromObject) {
const toObject = {};
const fromFunctionDeclarations = getValueByPath(fromObject, [
"functionDeclarations"
]);
if (fromFunctionDeclarations != null) {
let transformedList = fromFunctionDeclarations;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return functionDeclarationToMldev$4(item);
});
}
setValueByPath(toObject, ["functionDeclarations"], transformedList);
}
if (getValueByPath(fromObject, ["retrieval"]) !== void 0) {
throw new Error("retrieval parameter is not supported in Gemini API.");
}
const fromGoogleSearch = getValueByPath(fromObject, ["googleSearch"]);
if (fromGoogleSearch != null) {
setValueByPath(toObject, ["googleSearch"], googleSearchToMldev$4(fromGoogleSearch));
}
const fromGoogleSearchRetrieval = getValueByPath(fromObject, [
"googleSearchRetrieval"
]);
if (fromGoogleSearchRetrieval != null) {
setValueByPath(toObject, ["googleSearchRetrieval"], googleSearchRetrievalToMldev$4(fromGoogleSearchRetrieval));
}
if (getValueByPath(fromObject, ["enterpriseWebSearch"]) !== void 0) {
throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["googleMaps"]) !== void 0) {
throw new Error("googleMaps parameter is not supported in Gemini API.");
}
const fromUrlContext = getValueByPath(fromObject, ["urlContext"]);
if (fromUrlContext != null) {
setValueByPath(toObject, ["urlContext"], urlContextToMldev$4());
}
const fromComputerUse = getValueByPath(fromObject, ["computerUse"]);
if (fromComputerUse != null) {
setValueByPath(toObject, ["computerUse"], toolComputerUseToMldev$4(fromComputerUse));
}
const fromCodeExecution = getValueByPath(fromObject, [
"codeExecution"
]);
if (fromCodeExecution != null) {
setValueByPath(toObject, ["codeExecution"], fromCodeExecution);
}
return toObject;
}
function functionCallingConfigToMldev$2(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromAllowedFunctionNames = getValueByPath(fromObject, [
"allowedFunctionNames"
]);
if (fromAllowedFunctionNames != null) {
setValueByPath(toObject, ["allowedFunctionNames"], fromAllowedFunctionNames);
}
return toObject;
}
function latLngToMldev$2(fromObject) {
const toObject = {};
const fromLatitude = getValueByPath(fromObject, ["latitude"]);
if (fromLatitude != null) {
setValueByPath(toObject, ["latitude"], fromLatitude);
}
const fromLongitude = getValueByPath(fromObject, ["longitude"]);
if (fromLongitude != null) {
setValueByPath(toObject, ["longitude"], fromLongitude);
}
return toObject;
}
function retrievalConfigToMldev$2(fromObject) {
const toObject = {};
const fromLatLng = getValueByPath(fromObject, ["latLng"]);
if (fromLatLng != null) {
setValueByPath(toObject, ["latLng"], latLngToMldev$2(fromLatLng));
}
const fromLanguageCode = getValueByPath(fromObject, ["languageCode"]);
if (fromLanguageCode != null) {
setValueByPath(toObject, ["languageCode"], fromLanguageCode);
}
return toObject;
}
function toolConfigToMldev$2(fromObject) {
const toObject = {};
const fromFunctionCallingConfig = getValueByPath(fromObject, [
"functionCallingConfig"
]);
if (fromFunctionCallingConfig != null) {
setValueByPath(toObject, ["functionCallingConfig"], functionCallingConfigToMldev$2(fromFunctionCallingConfig));
}
const fromRetrievalConfig = getValueByPath(fromObject, [
"retrievalConfig"
]);
if (fromRetrievalConfig != null) {
setValueByPath(toObject, ["retrievalConfig"], retrievalConfigToMldev$2(fromRetrievalConfig));
}
return toObject;
}
function prebuiltVoiceConfigToMldev$3(fromObject) {
const toObject = {};
const fromVoiceName = getValueByPath(fromObject, ["voiceName"]);
if (fromVoiceName != null) {
setValueByPath(toObject, ["voiceName"], fromVoiceName);
}
return toObject;
}
function voiceConfigToMldev$3(fromObject) {
const toObject = {};
const fromPrebuiltVoiceConfig = getValueByPath(fromObject, [
"prebuiltVoiceConfig"
]);
if (fromPrebuiltVoiceConfig != null) {
setValueByPath(toObject, ["prebuiltVoiceConfig"], prebuiltVoiceConfigToMldev$3(fromPrebuiltVoiceConfig));
}
return toObject;
}
function speakerVoiceConfigToMldev$3(fromObject) {
const toObject = {};
const fromSpeaker = getValueByPath(fromObject, ["speaker"]);
if (fromSpeaker != null) {
setValueByPath(toObject, ["speaker"], fromSpeaker);
}
const fromVoiceConfig = getValueByPath(fromObject, ["voiceConfig"]);
if (fromVoiceConfig != null) {
setValueByPath(toObject, ["voiceConfig"], voiceConfigToMldev$3(fromVoiceConfig));
}
return toObject;
}
function multiSpeakerVoiceConfigToMldev$3(fromObject) {
const toObject = {};
const fromSpeakerVoiceConfigs = getValueByPath(fromObject, [
"speakerVoiceConfigs"
]);
if (fromSpeakerVoiceConfigs != null) {
let transformedList = fromSpeakerVoiceConfigs;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return speakerVoiceConfigToMldev$3(item);
});
}
setValueByPath(toObject, ["speakerVoiceConfigs"], transformedList);
}
return toObject;
}
function speechConfigToMldev$3(fromObject) {
const toObject = {};
const fromVoiceConfig = getValueByPath(fromObject, ["voiceConfig"]);
if (fromVoiceConfig != null) {
setValueByPath(toObject, ["voiceConfig"], voiceConfigToMldev$3(fromVoiceConfig));
}
const fromMultiSpeakerVoiceConfig = getValueByPath(fromObject, [
"multiSpeakerVoiceConfig"
]);
if (fromMultiSpeakerVoiceConfig != null) {
setValueByPath(toObject, ["multiSpeakerVoiceConfig"], multiSpeakerVoiceConfigToMldev$3(fromMultiSpeakerVoiceConfig));
}
const fromLanguageCode = getValueByPath(fromObject, ["languageCode"]);
if (fromLanguageCode != null) {
setValueByPath(toObject, ["languageCode"], fromLanguageCode);
}
return toObject;
}
function thinkingConfigToMldev$1(fromObject) {
const toObject = {};
const fromIncludeThoughts = getValueByPath(fromObject, [
"includeThoughts"
]);
if (fromIncludeThoughts != null) {
setValueByPath(toObject, ["includeThoughts"], fromIncludeThoughts);
}
const fromThinkingBudget = getValueByPath(fromObject, [
"thinkingBudget"
]);
if (fromThinkingBudget != null) {
setValueByPath(toObject, ["thinkingBudget"], fromThinkingBudget);
}
return toObject;
}
function generateContentConfigToMldev$1(apiClient, fromObject, parentObject) {
const toObject = {};
const fromSystemInstruction = getValueByPath(fromObject, [
"systemInstruction"
]);
if (parentObject !== void 0 && fromSystemInstruction != null) {
setValueByPath(parentObject, ["systemInstruction"], contentToMldev$4(tContent(fromSystemInstruction)));
}
const fromTemperature = getValueByPath(fromObject, ["temperature"]);
if (fromTemperature != null) {
setValueByPath(toObject, ["temperature"], fromTemperature);
}
const fromTopP = getValueByPath(fromObject, ["topP"]);
if (fromTopP != null) {
setValueByPath(toObject, ["topP"], fromTopP);
}
const fromTopK = getValueByPath(fromObject, ["topK"]);
if (fromTopK != null) {
setValueByPath(toObject, ["topK"], fromTopK);
}
const fromCandidateCount = getValueByPath(fromObject, [
"candidateCount"
]);
if (fromCandidateCount != null) {
setValueByPath(toObject, ["candidateCount"], fromCandidateCount);
}
const fromMaxOutputTokens = getValueByPath(fromObject, [
"maxOutputTokens"
]);
if (fromMaxOutputTokens != null) {
setValueByPath(toObject, ["maxOutputTokens"], fromMaxOutputTokens);
}
const fromStopSequences = getValueByPath(fromObject, [
"stopSequences"
]);
if (fromStopSequences != null) {
setValueByPath(toObject, ["stopSequences"], fromStopSequences);
}
const fromResponseLogprobs = getValueByPath(fromObject, [
"responseLogprobs"
]);
if (fromResponseLogprobs != null) {
setValueByPath(toObject, ["responseLogprobs"], fromResponseLogprobs);
}
const fromLogprobs = getValueByPath(fromObject, ["logprobs"]);
if (fromLogprobs != null) {
setValueByPath(toObject, ["logprobs"], fromLogprobs);
}
const fromPresencePenalty = getValueByPath(fromObject, [
"presencePenalty"
]);
if (fromPresencePenalty != null) {
setValueByPath(toObject, ["presencePenalty"], fromPresencePenalty);
}
const fromFrequencyPenalty = getValueByPath(fromObject, [
"frequencyPenalty"
]);
if (fromFrequencyPenalty != null) {
setValueByPath(toObject, ["frequencyPenalty"], fromFrequencyPenalty);
}
const fromSeed = getValueByPath(fromObject, ["seed"]);
if (fromSeed != null) {
setValueByPath(toObject, ["seed"], fromSeed);
}
const fromResponseMimeType = getValueByPath(fromObject, [
"responseMimeType"
]);
if (fromResponseMimeType != null) {
setValueByPath(toObject, ["responseMimeType"], fromResponseMimeType);
}
const fromResponseSchema = getValueByPath(fromObject, [
"responseSchema"
]);
if (fromResponseSchema != null) {
setValueByPath(toObject, ["responseSchema"], schemaToMldev$1(tSchema(fromResponseSchema)));
}
const fromResponseJsonSchema = getValueByPath(fromObject, [
"responseJsonSchema"
]);
if (fromResponseJsonSchema != null) {
setValueByPath(toObject, ["responseJsonSchema"], fromResponseJsonSchema);
}
if (getValueByPath(fromObject, ["routingConfig"]) !== void 0) {
throw new Error("routingConfig parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["modelSelectionConfig"]) !== void 0) {
throw new Error("modelSelectionConfig parameter is not supported in Gemini API.");
}
const fromSafetySettings = getValueByPath(fromObject, [
"safetySettings"
]);
if (parentObject !== void 0 && fromSafetySettings != null) {
let transformedList = fromSafetySettings;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return safetySettingToMldev$1(item);
});
}
setValueByPath(parentObject, ["safetySettings"], transformedList);
}
const fromTools = getValueByPath(fromObject, ["tools"]);
if (parentObject !== void 0 && fromTools != null) {
let transformedList = tTools(fromTools);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return toolToMldev$4(tTool(item));
});
}
setValueByPath(parentObject, ["tools"], transformedList);
}
const fromToolConfig = getValueByPath(fromObject, ["toolConfig"]);
if (parentObject !== void 0 && fromToolConfig != null) {
setValueByPath(parentObject, ["toolConfig"], toolConfigToMldev$2(fromToolConfig));
}
if (getValueByPath(fromObject, ["labels"]) !== void 0) {
throw new Error("labels parameter is not supported in Gemini API.");
}
const fromCachedContent = getValueByPath(fromObject, [
"cachedContent"
]);
if (parentObject !== void 0 && fromCachedContent != null) {
setValueByPath(parentObject, ["cachedContent"], tCachedContentName(apiClient, fromCachedContent));
}
const fromResponseModalities = getValueByPath(fromObject, [
"responseModalities"
]);
if (fromResponseModalities != null) {
setValueByPath(toObject, ["responseModalities"], fromResponseModalities);
}
const fromMediaResolution = getValueByPath(fromObject, [
"mediaResolution"
]);
if (fromMediaResolution != null) {
setValueByPath(toObject, ["mediaResolution"], fromMediaResolution);
}
const fromSpeechConfig = getValueByPath(fromObject, ["speechConfig"]);
if (fromSpeechConfig != null) {
setValueByPath(toObject, ["speechConfig"], speechConfigToMldev$3(tSpeechConfig(fromSpeechConfig)));
}
if (getValueByPath(fromObject, ["audioTimestamp"]) !== void 0) {
throw new Error("audioTimestamp parameter is not supported in Gemini API.");
}
const fromThinkingConfig = getValueByPath(fromObject, [
"thinkingConfig"
]);
if (fromThinkingConfig != null) {
setValueByPath(toObject, ["thinkingConfig"], thinkingConfigToMldev$1(fromThinkingConfig));
}
return toObject;
}
function inlinedRequestToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["request", "model"], tModel(apiClient, fromModel));
}
const fromContents = getValueByPath(fromObject, ["contents"]);
if (fromContents != null) {
let transformedList = tContents(fromContents);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return contentToMldev$4(item);
});
}
setValueByPath(toObject, ["request", "contents"], transformedList);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["request", "generationConfig"], generateContentConfigToMldev$1(apiClient, fromConfig, toObject));
}
return toObject;
}
function batchJobSourceToMldev(apiClient, fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["format"]) !== void 0) {
throw new Error("format parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["gcsUri"]) !== void 0) {
throw new Error("gcsUri parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["bigqueryUri"]) !== void 0) {
throw new Error("bigqueryUri parameter is not supported in Gemini API.");
}
const fromFileName = getValueByPath(fromObject, ["fileName"]);
if (fromFileName != null) {
setValueByPath(toObject, ["fileName"], fromFileName);
}
const fromInlinedRequests = getValueByPath(fromObject, [
"inlinedRequests"
]);
if (fromInlinedRequests != null) {
let transformedList = fromInlinedRequests;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return inlinedRequestToMldev(apiClient, item);
});
}
setValueByPath(toObject, ["requests", "requests"], transformedList);
}
return toObject;
}
function createBatchJobConfigToMldev(fromObject, parentObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (parentObject !== void 0 && fromDisplayName != null) {
setValueByPath(parentObject, ["batch", "displayName"], fromDisplayName);
}
if (getValueByPath(fromObject, ["dest"]) !== void 0) {
throw new Error("dest parameter is not supported in Gemini API.");
}
return toObject;
}
function createBatchJobParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromSrc = getValueByPath(fromObject, ["src"]);
if (fromSrc != null) {
setValueByPath(toObject, ["batch", "inputConfig"], batchJobSourceToMldev(apiClient, tBatchJobSource(apiClient, fromSrc)));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], createBatchJobConfigToMldev(fromConfig, toObject));
}
return toObject;
}
function getBatchJobParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], tBatchJobName(apiClient, fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function cancelBatchJobParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], tBatchJobName(apiClient, fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function listBatchJobsConfigToMldev(fromObject, parentObject) {
const toObject = {};
const fromPageSize = getValueByPath(fromObject, ["pageSize"]);
if (parentObject !== void 0 && fromPageSize != null) {
setValueByPath(parentObject, ["_query", "pageSize"], fromPageSize);
}
const fromPageToken = getValueByPath(fromObject, ["pageToken"]);
if (parentObject !== void 0 && fromPageToken != null) {
setValueByPath(parentObject, ["_query", "pageToken"], fromPageToken);
}
if (getValueByPath(fromObject, ["filter"]) !== void 0) {
throw new Error("filter parameter is not supported in Gemini API.");
}
return toObject;
}
function listBatchJobsParametersToMldev(fromObject) {
const toObject = {};
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], listBatchJobsConfigToMldev(fromConfig, toObject));
}
return toObject;
}
function deleteBatchJobParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], tBatchJobName(apiClient, fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function batchJobSourceToVertex(fromObject) {
const toObject = {};
const fromFormat = getValueByPath(fromObject, ["format"]);
if (fromFormat != null) {
setValueByPath(toObject, ["instancesFormat"], fromFormat);
}
const fromGcsUri = getValueByPath(fromObject, ["gcsUri"]);
if (fromGcsUri != null) {
setValueByPath(toObject, ["gcsSource", "uris"], fromGcsUri);
}
const fromBigqueryUri = getValueByPath(fromObject, ["bigqueryUri"]);
if (fromBigqueryUri != null) {
setValueByPath(toObject, ["bigquerySource", "inputUri"], fromBigqueryUri);
}
if (getValueByPath(fromObject, ["fileName"]) !== void 0) {
throw new Error("fileName parameter is not supported in Vertex AI.");
}
if (getValueByPath(fromObject, ["inlinedRequests"]) !== void 0) {
throw new Error("inlinedRequests parameter is not supported in Vertex AI.");
}
return toObject;
}
function batchJobDestinationToVertex(fromObject) {
const toObject = {};
const fromFormat = getValueByPath(fromObject, ["format"]);
if (fromFormat != null) {
setValueByPath(toObject, ["predictionsFormat"], fromFormat);
}
const fromGcsUri = getValueByPath(fromObject, ["gcsUri"]);
if (fromGcsUri != null) {
setValueByPath(toObject, ["gcsDestination", "outputUriPrefix"], fromGcsUri);
}
const fromBigqueryUri = getValueByPath(fromObject, ["bigqueryUri"]);
if (fromBigqueryUri != null) {
setValueByPath(toObject, ["bigqueryDestination", "outputUri"], fromBigqueryUri);
}
if (getValueByPath(fromObject, ["fileName"]) !== void 0) {
throw new Error("fileName parameter is not supported in Vertex AI.");
}
if (getValueByPath(fromObject, ["inlinedResponses"]) !== void 0) {
throw new Error("inlinedResponses parameter is not supported in Vertex AI.");
}
return toObject;
}
function createBatchJobConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (parentObject !== void 0 && fromDisplayName != null) {
setValueByPath(parentObject, ["displayName"], fromDisplayName);
}
const fromDest = getValueByPath(fromObject, ["dest"]);
if (parentObject !== void 0 && fromDest != null) {
setValueByPath(parentObject, ["outputConfig"], batchJobDestinationToVertex(tBatchJobDestination(fromDest)));
}
return toObject;
}
function createBatchJobParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["model"], tModel(apiClient, fromModel));
}
const fromSrc = getValueByPath(fromObject, ["src"]);
if (fromSrc != null) {
setValueByPath(toObject, ["inputConfig"], batchJobSourceToVertex(tBatchJobSource(apiClient, fromSrc)));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], createBatchJobConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function getBatchJobParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], tBatchJobName(apiClient, fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function cancelBatchJobParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], tBatchJobName(apiClient, fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function listBatchJobsConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromPageSize = getValueByPath(fromObject, ["pageSize"]);
if (parentObject !== void 0 && fromPageSize != null) {
setValueByPath(parentObject, ["_query", "pageSize"], fromPageSize);
}
const fromPageToken = getValueByPath(fromObject, ["pageToken"]);
if (parentObject !== void 0 && fromPageToken != null) {
setValueByPath(parentObject, ["_query", "pageToken"], fromPageToken);
}
const fromFilter = getValueByPath(fromObject, ["filter"]);
if (parentObject !== void 0 && fromFilter != null) {
setValueByPath(parentObject, ["_query", "filter"], fromFilter);
}
return toObject;
}
function listBatchJobsParametersToVertex(fromObject) {
const toObject = {};
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], listBatchJobsConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function deleteBatchJobParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], tBatchJobName(apiClient, fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function videoMetadataFromMldev$2(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobFromMldev$2(fromObject) {
const toObject = {};
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataFromMldev$2(fromObject) {
const toObject = {};
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partFromMldev$2(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataFromMldev$2(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobFromMldev$2(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataFromMldev$2(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentFromMldev$2(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partFromMldev$2(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function citationMetadataFromMldev$1(fromObject) {
const toObject = {};
const fromCitations = getValueByPath(fromObject, ["citationSources"]);
if (fromCitations != null) {
setValueByPath(toObject, ["citations"], fromCitations);
}
return toObject;
}
function urlMetadataFromMldev$2(fromObject) {
const toObject = {};
const fromRetrievedUrl = getValueByPath(fromObject, ["retrievedUrl"]);
if (fromRetrievedUrl != null) {
setValueByPath(toObject, ["retrievedUrl"], fromRetrievedUrl);
}
const fromUrlRetrievalStatus = getValueByPath(fromObject, [
"urlRetrievalStatus"
]);
if (fromUrlRetrievalStatus != null) {
setValueByPath(toObject, ["urlRetrievalStatus"], fromUrlRetrievalStatus);
}
return toObject;
}
function urlContextMetadataFromMldev$2(fromObject) {
const toObject = {};
const fromUrlMetadata = getValueByPath(fromObject, ["urlMetadata"]);
if (fromUrlMetadata != null) {
let transformedList = fromUrlMetadata;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return urlMetadataFromMldev$2(item);
});
}
setValueByPath(toObject, ["urlMetadata"], transformedList);
}
return toObject;
}
function candidateFromMldev$1(fromObject) {
const toObject = {};
const fromContent = getValueByPath(fromObject, ["content"]);
if (fromContent != null) {
setValueByPath(toObject, ["content"], contentFromMldev$2(fromContent));
}
const fromCitationMetadata = getValueByPath(fromObject, [
"citationMetadata"
]);
if (fromCitationMetadata != null) {
setValueByPath(toObject, ["citationMetadata"], citationMetadataFromMldev$1(fromCitationMetadata));
}
const fromTokenCount = getValueByPath(fromObject, ["tokenCount"]);
if (fromTokenCount != null) {
setValueByPath(toObject, ["tokenCount"], fromTokenCount);
}
const fromFinishReason = getValueByPath(fromObject, ["finishReason"]);
if (fromFinishReason != null) {
setValueByPath(toObject, ["finishReason"], fromFinishReason);
}
const fromUrlContextMetadata = getValueByPath(fromObject, [
"urlContextMetadata"
]);
if (fromUrlContextMetadata != null) {
setValueByPath(toObject, ["urlContextMetadata"], urlContextMetadataFromMldev$2(fromUrlContextMetadata));
}
const fromAvgLogprobs = getValueByPath(fromObject, ["avgLogprobs"]);
if (fromAvgLogprobs != null) {
setValueByPath(toObject, ["avgLogprobs"], fromAvgLogprobs);
}
const fromGroundingMetadata = getValueByPath(fromObject, [
"groundingMetadata"
]);
if (fromGroundingMetadata != null) {
setValueByPath(toObject, ["groundingMetadata"], fromGroundingMetadata);
}
const fromIndex = getValueByPath(fromObject, ["index"]);
if (fromIndex != null) {
setValueByPath(toObject, ["index"], fromIndex);
}
const fromLogprobsResult = getValueByPath(fromObject, [
"logprobsResult"
]);
if (fromLogprobsResult != null) {
setValueByPath(toObject, ["logprobsResult"], fromLogprobsResult);
}
const fromSafetyRatings = getValueByPath(fromObject, [
"safetyRatings"
]);
if (fromSafetyRatings != null) {
setValueByPath(toObject, ["safetyRatings"], fromSafetyRatings);
}
return toObject;
}
function generateContentResponseFromMldev$1(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromCandidates = getValueByPath(fromObject, ["candidates"]);
if (fromCandidates != null) {
let transformedList = fromCandidates;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return candidateFromMldev$1(item);
});
}
setValueByPath(toObject, ["candidates"], transformedList);
}
const fromModelVersion = getValueByPath(fromObject, ["modelVersion"]);
if (fromModelVersion != null) {
setValueByPath(toObject, ["modelVersion"], fromModelVersion);
}
const fromPromptFeedback = getValueByPath(fromObject, [
"promptFeedback"
]);
if (fromPromptFeedback != null) {
setValueByPath(toObject, ["promptFeedback"], fromPromptFeedback);
}
const fromResponseId = getValueByPath(fromObject, ["responseId"]);
if (fromResponseId != null) {
setValueByPath(toObject, ["responseId"], fromResponseId);
}
const fromUsageMetadata = getValueByPath(fromObject, [
"usageMetadata"
]);
if (fromUsageMetadata != null) {
setValueByPath(toObject, ["usageMetadata"], fromUsageMetadata);
}
return toObject;
}
function jobErrorFromMldev(fromObject) {
const toObject = {};
const fromDetails = getValueByPath(fromObject, ["details"]);
if (fromDetails != null) {
setValueByPath(toObject, ["details"], fromDetails);
}
const fromCode = getValueByPath(fromObject, ["code"]);
if (fromCode != null) {
setValueByPath(toObject, ["code"], fromCode);
}
const fromMessage = getValueByPath(fromObject, ["message"]);
if (fromMessage != null) {
setValueByPath(toObject, ["message"], fromMessage);
}
return toObject;
}
function inlinedResponseFromMldev(fromObject) {
const toObject = {};
const fromResponse = getValueByPath(fromObject, ["response"]);
if (fromResponse != null) {
setValueByPath(toObject, ["response"], generateContentResponseFromMldev$1(fromResponse));
}
const fromError = getValueByPath(fromObject, ["error"]);
if (fromError != null) {
setValueByPath(toObject, ["error"], jobErrorFromMldev(fromError));
}
return toObject;
}
function batchJobDestinationFromMldev(fromObject) {
const toObject = {};
const fromFileName = getValueByPath(fromObject, ["responsesFile"]);
if (fromFileName != null) {
setValueByPath(toObject, ["fileName"], fromFileName);
}
const fromInlinedResponses = getValueByPath(fromObject, [
"inlinedResponses",
"inlinedResponses"
]);
if (fromInlinedResponses != null) {
let transformedList = fromInlinedResponses;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return inlinedResponseFromMldev(item);
});
}
setValueByPath(toObject, ["inlinedResponses"], transformedList);
}
return toObject;
}
function batchJobFromMldev(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromDisplayName = getValueByPath(fromObject, [
"metadata",
"displayName"
]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromState = getValueByPath(fromObject, ["metadata", "state"]);
if (fromState != null) {
setValueByPath(toObject, ["state"], tJobState(fromState));
}
const fromCreateTime = getValueByPath(fromObject, [
"metadata",
"createTime"
]);
if (fromCreateTime != null) {
setValueByPath(toObject, ["createTime"], fromCreateTime);
}
const fromEndTime = getValueByPath(fromObject, [
"metadata",
"endTime"
]);
if (fromEndTime != null) {
setValueByPath(toObject, ["endTime"], fromEndTime);
}
const fromUpdateTime = getValueByPath(fromObject, [
"metadata",
"updateTime"
]);
if (fromUpdateTime != null) {
setValueByPath(toObject, ["updateTime"], fromUpdateTime);
}
const fromModel = getValueByPath(fromObject, ["metadata", "model"]);
if (fromModel != null) {
setValueByPath(toObject, ["model"], fromModel);
}
const fromDest = getValueByPath(fromObject, ["metadata", "output"]);
if (fromDest != null) {
setValueByPath(toObject, ["dest"], batchJobDestinationFromMldev(fromDest));
}
return toObject;
}
function listBatchJobsResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromNextPageToken = getValueByPath(fromObject, [
"nextPageToken"
]);
if (fromNextPageToken != null) {
setValueByPath(toObject, ["nextPageToken"], fromNextPageToken);
}
const fromBatchJobs = getValueByPath(fromObject, ["operations"]);
if (fromBatchJobs != null) {
let transformedList = fromBatchJobs;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return batchJobFromMldev(item);
});
}
setValueByPath(toObject, ["batchJobs"], transformedList);
}
return toObject;
}
function deleteResourceJobFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromDone = getValueByPath(fromObject, ["done"]);
if (fromDone != null) {
setValueByPath(toObject, ["done"], fromDone);
}
const fromError = getValueByPath(fromObject, ["error"]);
if (fromError != null) {
setValueByPath(toObject, ["error"], jobErrorFromMldev(fromError));
}
return toObject;
}
function jobErrorFromVertex(fromObject) {
const toObject = {};
const fromDetails = getValueByPath(fromObject, ["details"]);
if (fromDetails != null) {
setValueByPath(toObject, ["details"], fromDetails);
}
const fromCode = getValueByPath(fromObject, ["code"]);
if (fromCode != null) {
setValueByPath(toObject, ["code"], fromCode);
}
const fromMessage = getValueByPath(fromObject, ["message"]);
if (fromMessage != null) {
setValueByPath(toObject, ["message"], fromMessage);
}
return toObject;
}
function batchJobSourceFromVertex(fromObject) {
const toObject = {};
const fromFormat = getValueByPath(fromObject, ["instancesFormat"]);
if (fromFormat != null) {
setValueByPath(toObject, ["format"], fromFormat);
}
const fromGcsUri = getValueByPath(fromObject, ["gcsSource", "uris"]);
if (fromGcsUri != null) {
setValueByPath(toObject, ["gcsUri"], fromGcsUri);
}
const fromBigqueryUri = getValueByPath(fromObject, [
"bigquerySource",
"inputUri"
]);
if (fromBigqueryUri != null) {
setValueByPath(toObject, ["bigqueryUri"], fromBigqueryUri);
}
return toObject;
}
function batchJobDestinationFromVertex(fromObject) {
const toObject = {};
const fromFormat = getValueByPath(fromObject, ["predictionsFormat"]);
if (fromFormat != null) {
setValueByPath(toObject, ["format"], fromFormat);
}
const fromGcsUri = getValueByPath(fromObject, [
"gcsDestination",
"outputUriPrefix"
]);
if (fromGcsUri != null) {
setValueByPath(toObject, ["gcsUri"], fromGcsUri);
}
const fromBigqueryUri = getValueByPath(fromObject, [
"bigqueryDestination",
"outputUri"
]);
if (fromBigqueryUri != null) {
setValueByPath(toObject, ["bigqueryUri"], fromBigqueryUri);
}
return toObject;
}
function batchJobFromVertex(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromState = getValueByPath(fromObject, ["state"]);
if (fromState != null) {
setValueByPath(toObject, ["state"], tJobState(fromState));
}
const fromError = getValueByPath(fromObject, ["error"]);
if (fromError != null) {
setValueByPath(toObject, ["error"], jobErrorFromVertex(fromError));
}
const fromCreateTime = getValueByPath(fromObject, ["createTime"]);
if (fromCreateTime != null) {
setValueByPath(toObject, ["createTime"], fromCreateTime);
}
const fromStartTime = getValueByPath(fromObject, ["startTime"]);
if (fromStartTime != null) {
setValueByPath(toObject, ["startTime"], fromStartTime);
}
const fromEndTime = getValueByPath(fromObject, ["endTime"]);
if (fromEndTime != null) {
setValueByPath(toObject, ["endTime"], fromEndTime);
}
const fromUpdateTime = getValueByPath(fromObject, ["updateTime"]);
if (fromUpdateTime != null) {
setValueByPath(toObject, ["updateTime"], fromUpdateTime);
}
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["model"], fromModel);
}
const fromSrc = getValueByPath(fromObject, ["inputConfig"]);
if (fromSrc != null) {
setValueByPath(toObject, ["src"], batchJobSourceFromVertex(fromSrc));
}
const fromDest = getValueByPath(fromObject, ["outputConfig"]);
if (fromDest != null) {
setValueByPath(toObject, ["dest"], batchJobDestinationFromVertex(fromDest));
}
return toObject;
}
function listBatchJobsResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromNextPageToken = getValueByPath(fromObject, [
"nextPageToken"
]);
if (fromNextPageToken != null) {
setValueByPath(toObject, ["nextPageToken"], fromNextPageToken);
}
const fromBatchJobs = getValueByPath(fromObject, [
"batchPredictionJobs"
]);
if (fromBatchJobs != null) {
let transformedList = fromBatchJobs;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return batchJobFromVertex(item);
});
}
setValueByPath(toObject, ["batchJobs"], transformedList);
}
return toObject;
}
function deleteResourceJobFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromDone = getValueByPath(fromObject, ["done"]);
if (fromDone != null) {
setValueByPath(toObject, ["done"], fromDone);
}
const fromError = getValueByPath(fromObject, ["error"]);
if (fromError != null) {
setValueByPath(toObject, ["error"], jobErrorFromVertex(fromError));
}
return toObject;
}
var PagedItem;
(function(PagedItem2) {
PagedItem2["PAGED_ITEM_BATCH_JOBS"] = "batchJobs";
PagedItem2["PAGED_ITEM_MODELS"] = "models";
PagedItem2["PAGED_ITEM_TUNING_JOBS"] = "tuningJobs";
PagedItem2["PAGED_ITEM_FILES"] = "files";
PagedItem2["PAGED_ITEM_CACHED_CONTENTS"] = "cachedContents";
})(PagedItem || (PagedItem = {}));
var Pager = class {
constructor(name, request, response, params) {
this.pageInternal = [];
this.paramsInternal = {};
this.requestInternal = request;
this.init(name, response, params);
}
init(name, response, params) {
var _a, _b;
this.nameInternal = name;
this.pageInternal = response[this.nameInternal] || [];
this.sdkHttpResponseInternal = response === null || response === void 0 ? void 0 : response.sdkHttpResponse;
this.idxInternal = 0;
let requestParams = { config: {} };
if (!params || Object.keys(params).length === 0) {
requestParams = { config: {} };
} else if (typeof params === "object") {
requestParams = Object.assign({}, params);
} else {
requestParams = params;
}
if (requestParams["config"]) {
requestParams["config"]["pageToken"] = response["nextPageToken"];
}
this.paramsInternal = requestParams;
this.pageInternalSize = (_b = (_a = requestParams["config"]) === null || _a === void 0 ? void 0 : _a["pageSize"]) !== null && _b !== void 0 ? _b : this.pageInternal.length;
}
initNextPage(response) {
this.init(this.nameInternal, response, this.paramsInternal);
}
/**
* Returns the current page, which is a list of items.
*
* @remarks
* The first page is retrieved when the pager is created. The returned list of
* items could be a subset of the entire list.
*/
get page() {
return this.pageInternal;
}
/**
* Returns the type of paged item (for example, ``batch_jobs``).
*/
get name() {
return this.nameInternal;
}
/**
* Returns the length of the page fetched each time by this pager.
*
* @remarks
* The number of items in the page is less than or equal to the page length.
*/
get pageSize() {
return this.pageInternalSize;
}
/**
* Returns the headers of the API response.
*/
get sdkHttpResponse() {
return this.sdkHttpResponseInternal;
}
/**
* Returns the parameters when making the API request for the next page.
*
* @remarks
* Parameters contain a set of optional configs that can be
* used to customize the API request. For example, the `pageToken` parameter
* contains the token to request the next page.
*/
get params() {
return this.paramsInternal;
}
/**
* Returns the total number of items in the current page.
*/
get pageLength() {
return this.pageInternal.length;
}
/**
* Returns the item at the given index.
*/
getItem(index) {
return this.pageInternal[index];
}
/**
* Returns an async iterator that support iterating through all items
* retrieved from the API.
*
* @remarks
* The iterator will automatically fetch the next page if there are more items
* to fetch from the API.
*
* @example
*
* ```ts
* const pager = await ai.files.list({config: {pageSize: 10}});
* for await (const file of pager) {
* console.log(file.name);
* }
* ```
*/
[Symbol.asyncIterator]() {
return {
next: async () => {
if (this.idxInternal >= this.pageLength) {
if (this.hasNextPage()) {
await this.nextPage();
} else {
return { value: void 0, done: true };
}
}
const item = this.getItem(this.idxInternal);
this.idxInternal += 1;
return { value: item, done: false };
},
return: async () => {
return { value: void 0, done: true };
}
};
}
/**
* Fetches the next page of items. This makes a new API request.
*
* @throws {Error} If there are no more pages to fetch.
*
* @example
*
* ```ts
* const pager = await ai.files.list({config: {pageSize: 10}});
* let page = pager.page;
* while (true) {
* for (const file of page) {
* console.log(file.name);
* }
* if (!pager.hasNextPage()) {
* break;
* }
* page = await pager.nextPage();
* }
* ```
*/
async nextPage() {
if (!this.hasNextPage()) {
throw new Error("No more pages to fetch.");
}
const response = await this.requestInternal(this.params);
this.initNextPage(response);
return this.page;
}
/**
* Returns true if there are more pages to fetch from the API.
*/
hasNextPage() {
var _a;
if (((_a = this.params["config"]) === null || _a === void 0 ? void 0 : _a["pageToken"]) !== void 0) {
return true;
}
return false;
}
};
var Batches = class extends BaseModule {
constructor(apiClient) {
super();
this.apiClient = apiClient;
this.create = async (params) => {
var _a, _b;
if (this.apiClient.isVertexAI()) {
const timestamp = Date.now();
const timestampStr = timestamp.toString();
if (Array.isArray(params.src)) {
throw new Error("InlinedRequest[] is not supported in Vertex AI. Please use Google Cloud Storage URI or BigQuery URI instead.");
}
params.config = params.config || {};
if (params.config.displayName === void 0) {
params.config.displayName = "genaiBatchJob_${timestampStr}";
}
if (params.config.dest === void 0 && typeof params.src === "string") {
if (params.src.startsWith("gs://") && params.src.endsWith(".jsonl")) {
params.config.dest = `${params.src.slice(0, -6)}/dest`;
} else if (params.src.startsWith("bq://")) {
params.config.dest = `${params.src}_dest_${timestampStr}`;
} else {
throw new Error("Unsupported source:" + params.src);
}
}
} else {
if (Array.isArray(params.src) || typeof params.src !== "string" && params.src.inlinedRequests) {
let path = "";
let queryParams = {};
const body = createBatchJobParametersToMldev(this.apiClient, params);
path = formatMap("{model}:batchGenerateContent", body["_url"]);
queryParams = body["_query"];
const batch = body["batch"];
const inputConfig = batch["inputConfig"];
const requestsWrapper = inputConfig["requests"];
const requests = requestsWrapper["requests"];
const newRequests = [];
for (const request of requests) {
const requestDict = request;
if (requestDict["systemInstruction"]) {
const systemInstructionValue = requestDict["systemInstruction"];
delete requestDict["systemInstruction"];
const requestContent = requestDict["request"];
requestContent["systemInstruction"] = systemInstructionValue;
requestDict["request"] = requestContent;
}
newRequests.push(requestDict);
}
requestsWrapper["requests"] = newRequests;
delete body["config"];
delete body["_url"];
delete body["_query"];
const response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = batchJobFromMldev(apiResponse);
return resp;
});
}
}
return await this.createInternal(params);
};
this.list = async (params = {}) => {
return new Pager(PagedItem.PAGED_ITEM_BATCH_JOBS, (x) => this.listInternal(x), await this.listInternal(params), params);
};
}
/**
* Internal method to create batch job.
*
* @param params - The parameters for create batch job request.
* @return The created batch job.
*
*/
async createInternal(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = createBatchJobParametersToVertex(this.apiClient, params);
path = formatMap("batchPredictionJobs", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = batchJobFromVertex(apiResponse);
return resp;
});
} else {
const body = createBatchJobParametersToMldev(this.apiClient, params);
path = formatMap("{model}:batchGenerateContent", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = batchJobFromMldev(apiResponse);
return resp;
});
}
}
/**
* Gets batch job configurations.
*
* @param params - The parameters for the get request.
* @return The batch job.
*
* @example
* ```ts
* await ai.batches.get({name: '...'}); // The server-generated resource name.
* ```
*/
async get(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = getBatchJobParametersToVertex(this.apiClient, params);
path = formatMap("batchPredictionJobs/{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = batchJobFromVertex(apiResponse);
return resp;
});
} else {
const body = getBatchJobParametersToMldev(this.apiClient, params);
path = formatMap("batches/{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = batchJobFromMldev(apiResponse);
return resp;
});
}
}
/**
* Cancels a batch job.
*
* @param params - The parameters for the cancel request.
* @return The empty response returned by the API.
*
* @example
* ```ts
* await ai.batches.cancel({name: '...'}); // The server-generated resource name.
* ```
*/
async cancel(params) {
var _a, _b, _c, _d;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = cancelBatchJobParametersToVertex(this.apiClient, params);
path = formatMap("batchPredictionJobs/{name}:cancel", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
await this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
});
} else {
const body = cancelBatchJobParametersToMldev(this.apiClient, params);
path = formatMap("batches/{name}:cancel", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
await this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
});
}
}
async listInternal(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = listBatchJobsParametersToVertex(params);
path = formatMap("batchPredictionJobs", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = listBatchJobsResponseFromVertex(apiResponse);
const typedResp = new ListBatchJobsResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
const body = listBatchJobsParametersToMldev(params);
path = formatMap("batches", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = listBatchJobsResponseFromMldev(apiResponse);
const typedResp = new ListBatchJobsResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
/**
* Deletes a batch job.
*
* @param params - The parameters for the delete request.
* @return The empty response returned by the API.
*
* @example
* ```ts
* await ai.batches.delete({name: '...'}); // The server-generated resource name.
* ```
*/
async delete(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = deleteBatchJobParametersToVertex(this.apiClient, params);
path = formatMap("batchPredictionJobs/{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "DELETE",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = deleteResourceJobFromVertex(apiResponse);
return resp;
});
} else {
const body = deleteBatchJobParametersToMldev(this.apiClient, params);
path = formatMap("batches/{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "DELETE",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = deleteResourceJobFromMldev(apiResponse);
return resp;
});
}
}
};
function videoMetadataToMldev$3(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobToMldev$3(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["displayName"]) !== void 0) {
throw new Error("displayName parameter is not supported in Gemini API.");
}
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataToMldev$3(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["displayName"]) !== void 0) {
throw new Error("displayName parameter is not supported in Gemini API.");
}
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partToMldev$3(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataToMldev$3(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobToMldev$3(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataToMldev$3(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentToMldev$3(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partToMldev$3(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function functionDeclarationToMldev$3(fromObject) {
const toObject = {};
const fromBehavior = getValueByPath(fromObject, ["behavior"]);
if (fromBehavior != null) {
setValueByPath(toObject, ["behavior"], fromBehavior);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromParameters = getValueByPath(fromObject, ["parameters"]);
if (fromParameters != null) {
setValueByPath(toObject, ["parameters"], fromParameters);
}
const fromParametersJsonSchema = getValueByPath(fromObject, [
"parametersJsonSchema"
]);
if (fromParametersJsonSchema != null) {
setValueByPath(toObject, ["parametersJsonSchema"], fromParametersJsonSchema);
}
const fromResponse = getValueByPath(fromObject, ["response"]);
if (fromResponse != null) {
setValueByPath(toObject, ["response"], fromResponse);
}
const fromResponseJsonSchema = getValueByPath(fromObject, [
"responseJsonSchema"
]);
if (fromResponseJsonSchema != null) {
setValueByPath(toObject, ["responseJsonSchema"], fromResponseJsonSchema);
}
return toObject;
}
function intervalToMldev$3(fromObject) {
const toObject = {};
const fromStartTime = getValueByPath(fromObject, ["startTime"]);
if (fromStartTime != null) {
setValueByPath(toObject, ["startTime"], fromStartTime);
}
const fromEndTime = getValueByPath(fromObject, ["endTime"]);
if (fromEndTime != null) {
setValueByPath(toObject, ["endTime"], fromEndTime);
}
return toObject;
}
function googleSearchToMldev$3(fromObject) {
const toObject = {};
const fromTimeRangeFilter = getValueByPath(fromObject, [
"timeRangeFilter"
]);
if (fromTimeRangeFilter != null) {
setValueByPath(toObject, ["timeRangeFilter"], intervalToMldev$3(fromTimeRangeFilter));
}
if (getValueByPath(fromObject, ["excludeDomains"]) !== void 0) {
throw new Error("excludeDomains parameter is not supported in Gemini API.");
}
return toObject;
}
function dynamicRetrievalConfigToMldev$3(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromDynamicThreshold = getValueByPath(fromObject, [
"dynamicThreshold"
]);
if (fromDynamicThreshold != null) {
setValueByPath(toObject, ["dynamicThreshold"], fromDynamicThreshold);
}
return toObject;
}
function googleSearchRetrievalToMldev$3(fromObject) {
const toObject = {};
const fromDynamicRetrievalConfig = getValueByPath(fromObject, [
"dynamicRetrievalConfig"
]);
if (fromDynamicRetrievalConfig != null) {
setValueByPath(toObject, ["dynamicRetrievalConfig"], dynamicRetrievalConfigToMldev$3(fromDynamicRetrievalConfig));
}
return toObject;
}
function urlContextToMldev$3() {
const toObject = {};
return toObject;
}
function toolComputerUseToMldev$3(fromObject) {
const toObject = {};
const fromEnvironment = getValueByPath(fromObject, ["environment"]);
if (fromEnvironment != null) {
setValueByPath(toObject, ["environment"], fromEnvironment);
}
return toObject;
}
function toolToMldev$3(fromObject) {
const toObject = {};
const fromFunctionDeclarations = getValueByPath(fromObject, [
"functionDeclarations"
]);
if (fromFunctionDeclarations != null) {
let transformedList = fromFunctionDeclarations;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return functionDeclarationToMldev$3(item);
});
}
setValueByPath(toObject, ["functionDeclarations"], transformedList);
}
if (getValueByPath(fromObject, ["retrieval"]) !== void 0) {
throw new Error("retrieval parameter is not supported in Gemini API.");
}
const fromGoogleSearch = getValueByPath(fromObject, ["googleSearch"]);
if (fromGoogleSearch != null) {
setValueByPath(toObject, ["googleSearch"], googleSearchToMldev$3(fromGoogleSearch));
}
const fromGoogleSearchRetrieval = getValueByPath(fromObject, [
"googleSearchRetrieval"
]);
if (fromGoogleSearchRetrieval != null) {
setValueByPath(toObject, ["googleSearchRetrieval"], googleSearchRetrievalToMldev$3(fromGoogleSearchRetrieval));
}
if (getValueByPath(fromObject, ["enterpriseWebSearch"]) !== void 0) {
throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["googleMaps"]) !== void 0) {
throw new Error("googleMaps parameter is not supported in Gemini API.");
}
const fromUrlContext = getValueByPath(fromObject, ["urlContext"]);
if (fromUrlContext != null) {
setValueByPath(toObject, ["urlContext"], urlContextToMldev$3());
}
const fromComputerUse = getValueByPath(fromObject, ["computerUse"]);
if (fromComputerUse != null) {
setValueByPath(toObject, ["computerUse"], toolComputerUseToMldev$3(fromComputerUse));
}
const fromCodeExecution = getValueByPath(fromObject, [
"codeExecution"
]);
if (fromCodeExecution != null) {
setValueByPath(toObject, ["codeExecution"], fromCodeExecution);
}
return toObject;
}
function functionCallingConfigToMldev$1(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromAllowedFunctionNames = getValueByPath(fromObject, [
"allowedFunctionNames"
]);
if (fromAllowedFunctionNames != null) {
setValueByPath(toObject, ["allowedFunctionNames"], fromAllowedFunctionNames);
}
return toObject;
}
function latLngToMldev$1(fromObject) {
const toObject = {};
const fromLatitude = getValueByPath(fromObject, ["latitude"]);
if (fromLatitude != null) {
setValueByPath(toObject, ["latitude"], fromLatitude);
}
const fromLongitude = getValueByPath(fromObject, ["longitude"]);
if (fromLongitude != null) {
setValueByPath(toObject, ["longitude"], fromLongitude);
}
return toObject;
}
function retrievalConfigToMldev$1(fromObject) {
const toObject = {};
const fromLatLng = getValueByPath(fromObject, ["latLng"]);
if (fromLatLng != null) {
setValueByPath(toObject, ["latLng"], latLngToMldev$1(fromLatLng));
}
const fromLanguageCode = getValueByPath(fromObject, ["languageCode"]);
if (fromLanguageCode != null) {
setValueByPath(toObject, ["languageCode"], fromLanguageCode);
}
return toObject;
}
function toolConfigToMldev$1(fromObject) {
const toObject = {};
const fromFunctionCallingConfig = getValueByPath(fromObject, [
"functionCallingConfig"
]);
if (fromFunctionCallingConfig != null) {
setValueByPath(toObject, ["functionCallingConfig"], functionCallingConfigToMldev$1(fromFunctionCallingConfig));
}
const fromRetrievalConfig = getValueByPath(fromObject, [
"retrievalConfig"
]);
if (fromRetrievalConfig != null) {
setValueByPath(toObject, ["retrievalConfig"], retrievalConfigToMldev$1(fromRetrievalConfig));
}
return toObject;
}
function createCachedContentConfigToMldev(fromObject, parentObject) {
const toObject = {};
const fromTtl = getValueByPath(fromObject, ["ttl"]);
if (parentObject !== void 0 && fromTtl != null) {
setValueByPath(parentObject, ["ttl"], fromTtl);
}
const fromExpireTime = getValueByPath(fromObject, ["expireTime"]);
if (parentObject !== void 0 && fromExpireTime != null) {
setValueByPath(parentObject, ["expireTime"], fromExpireTime);
}
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (parentObject !== void 0 && fromDisplayName != null) {
setValueByPath(parentObject, ["displayName"], fromDisplayName);
}
const fromContents = getValueByPath(fromObject, ["contents"]);
if (parentObject !== void 0 && fromContents != null) {
let transformedList = tContents(fromContents);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return contentToMldev$3(item);
});
}
setValueByPath(parentObject, ["contents"], transformedList);
}
const fromSystemInstruction = getValueByPath(fromObject, [
"systemInstruction"
]);
if (parentObject !== void 0 && fromSystemInstruction != null) {
setValueByPath(parentObject, ["systemInstruction"], contentToMldev$3(tContent(fromSystemInstruction)));
}
const fromTools = getValueByPath(fromObject, ["tools"]);
if (parentObject !== void 0 && fromTools != null) {
let transformedList = fromTools;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return toolToMldev$3(item);
});
}
setValueByPath(parentObject, ["tools"], transformedList);
}
const fromToolConfig = getValueByPath(fromObject, ["toolConfig"]);
if (parentObject !== void 0 && fromToolConfig != null) {
setValueByPath(parentObject, ["toolConfig"], toolConfigToMldev$1(fromToolConfig));
}
if (getValueByPath(fromObject, ["kmsKeyName"]) !== void 0) {
throw new Error("kmsKeyName parameter is not supported in Gemini API.");
}
return toObject;
}
function createCachedContentParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["model"], tCachesModel(apiClient, fromModel));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], createCachedContentConfigToMldev(fromConfig, toObject));
}
return toObject;
}
function getCachedContentParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], tCachedContentName(apiClient, fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function deleteCachedContentParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], tCachedContentName(apiClient, fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function updateCachedContentConfigToMldev(fromObject, parentObject) {
const toObject = {};
const fromTtl = getValueByPath(fromObject, ["ttl"]);
if (parentObject !== void 0 && fromTtl != null) {
setValueByPath(parentObject, ["ttl"], fromTtl);
}
const fromExpireTime = getValueByPath(fromObject, ["expireTime"]);
if (parentObject !== void 0 && fromExpireTime != null) {
setValueByPath(parentObject, ["expireTime"], fromExpireTime);
}
return toObject;
}
function updateCachedContentParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], tCachedContentName(apiClient, fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], updateCachedContentConfigToMldev(fromConfig, toObject));
}
return toObject;
}
function listCachedContentsConfigToMldev(fromObject, parentObject) {
const toObject = {};
const fromPageSize = getValueByPath(fromObject, ["pageSize"]);
if (parentObject !== void 0 && fromPageSize != null) {
setValueByPath(parentObject, ["_query", "pageSize"], fromPageSize);
}
const fromPageToken = getValueByPath(fromObject, ["pageToken"]);
if (parentObject !== void 0 && fromPageToken != null) {
setValueByPath(parentObject, ["_query", "pageToken"], fromPageToken);
}
return toObject;
}
function listCachedContentsParametersToMldev(fromObject) {
const toObject = {};
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], listCachedContentsConfigToMldev(fromConfig, toObject));
}
return toObject;
}
function videoMetadataToVertex$2(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobToVertex$2(fromObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataToVertex$2(fromObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partToVertex$2(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataToVertex$2(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobToVertex$2(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataToVertex$2(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentToVertex$2(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partToVertex$2(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function functionDeclarationToVertex$2(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["behavior"]) !== void 0) {
throw new Error("behavior parameter is not supported in Vertex AI.");
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromParameters = getValueByPath(fromObject, ["parameters"]);
if (fromParameters != null) {
setValueByPath(toObject, ["parameters"], fromParameters);
}
const fromParametersJsonSchema = getValueByPath(fromObject, [
"parametersJsonSchema"
]);
if (fromParametersJsonSchema != null) {
setValueByPath(toObject, ["parametersJsonSchema"], fromParametersJsonSchema);
}
const fromResponse = getValueByPath(fromObject, ["response"]);
if (fromResponse != null) {
setValueByPath(toObject, ["response"], fromResponse);
}
const fromResponseJsonSchema = getValueByPath(fromObject, [
"responseJsonSchema"
]);
if (fromResponseJsonSchema != null) {
setValueByPath(toObject, ["responseJsonSchema"], fromResponseJsonSchema);
}
return toObject;
}
function intervalToVertex$2(fromObject) {
const toObject = {};
const fromStartTime = getValueByPath(fromObject, ["startTime"]);
if (fromStartTime != null) {
setValueByPath(toObject, ["startTime"], fromStartTime);
}
const fromEndTime = getValueByPath(fromObject, ["endTime"]);
if (fromEndTime != null) {
setValueByPath(toObject, ["endTime"], fromEndTime);
}
return toObject;
}
function googleSearchToVertex$2(fromObject) {
const toObject = {};
const fromTimeRangeFilter = getValueByPath(fromObject, [
"timeRangeFilter"
]);
if (fromTimeRangeFilter != null) {
setValueByPath(toObject, ["timeRangeFilter"], intervalToVertex$2(fromTimeRangeFilter));
}
const fromExcludeDomains = getValueByPath(fromObject, [
"excludeDomains"
]);
if (fromExcludeDomains != null) {
setValueByPath(toObject, ["excludeDomains"], fromExcludeDomains);
}
return toObject;
}
function dynamicRetrievalConfigToVertex$2(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromDynamicThreshold = getValueByPath(fromObject, [
"dynamicThreshold"
]);
if (fromDynamicThreshold != null) {
setValueByPath(toObject, ["dynamicThreshold"], fromDynamicThreshold);
}
return toObject;
}
function googleSearchRetrievalToVertex$2(fromObject) {
const toObject = {};
const fromDynamicRetrievalConfig = getValueByPath(fromObject, [
"dynamicRetrievalConfig"
]);
if (fromDynamicRetrievalConfig != null) {
setValueByPath(toObject, ["dynamicRetrievalConfig"], dynamicRetrievalConfigToVertex$2(fromDynamicRetrievalConfig));
}
return toObject;
}
function enterpriseWebSearchToVertex$2(fromObject) {
const toObject = {};
const fromExcludeDomains = getValueByPath(fromObject, [
"excludeDomains"
]);
if (fromExcludeDomains != null) {
setValueByPath(toObject, ["excludeDomains"], fromExcludeDomains);
}
return toObject;
}
function apiKeyConfigToVertex$2(fromObject) {
const toObject = {};
const fromApiKeyString = getValueByPath(fromObject, ["apiKeyString"]);
if (fromApiKeyString != null) {
setValueByPath(toObject, ["apiKeyString"], fromApiKeyString);
}
return toObject;
}
function authConfigToVertex$2(fromObject) {
const toObject = {};
const fromApiKeyConfig = getValueByPath(fromObject, ["apiKeyConfig"]);
if (fromApiKeyConfig != null) {
setValueByPath(toObject, ["apiKeyConfig"], apiKeyConfigToVertex$2(fromApiKeyConfig));
}
const fromAuthType = getValueByPath(fromObject, ["authType"]);
if (fromAuthType != null) {
setValueByPath(toObject, ["authType"], fromAuthType);
}
const fromGoogleServiceAccountConfig = getValueByPath(fromObject, [
"googleServiceAccountConfig"
]);
if (fromGoogleServiceAccountConfig != null) {
setValueByPath(toObject, ["googleServiceAccountConfig"], fromGoogleServiceAccountConfig);
}
const fromHttpBasicAuthConfig = getValueByPath(fromObject, [
"httpBasicAuthConfig"
]);
if (fromHttpBasicAuthConfig != null) {
setValueByPath(toObject, ["httpBasicAuthConfig"], fromHttpBasicAuthConfig);
}
const fromOauthConfig = getValueByPath(fromObject, ["oauthConfig"]);
if (fromOauthConfig != null) {
setValueByPath(toObject, ["oauthConfig"], fromOauthConfig);
}
const fromOidcConfig = getValueByPath(fromObject, ["oidcConfig"]);
if (fromOidcConfig != null) {
setValueByPath(toObject, ["oidcConfig"], fromOidcConfig);
}
return toObject;
}
function googleMapsToVertex$2(fromObject) {
const toObject = {};
const fromAuthConfig = getValueByPath(fromObject, ["authConfig"]);
if (fromAuthConfig != null) {
setValueByPath(toObject, ["authConfig"], authConfigToVertex$2(fromAuthConfig));
}
return toObject;
}
function urlContextToVertex$2() {
const toObject = {};
return toObject;
}
function toolComputerUseToVertex$2(fromObject) {
const toObject = {};
const fromEnvironment = getValueByPath(fromObject, ["environment"]);
if (fromEnvironment != null) {
setValueByPath(toObject, ["environment"], fromEnvironment);
}
return toObject;
}
function toolToVertex$2(fromObject) {
const toObject = {};
const fromFunctionDeclarations = getValueByPath(fromObject, [
"functionDeclarations"
]);
if (fromFunctionDeclarations != null) {
let transformedList = fromFunctionDeclarations;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return functionDeclarationToVertex$2(item);
});
}
setValueByPath(toObject, ["functionDeclarations"], transformedList);
}
const fromRetrieval = getValueByPath(fromObject, ["retrieval"]);
if (fromRetrieval != null) {
setValueByPath(toObject, ["retrieval"], fromRetrieval);
}
const fromGoogleSearch = getValueByPath(fromObject, ["googleSearch"]);
if (fromGoogleSearch != null) {
setValueByPath(toObject, ["googleSearch"], googleSearchToVertex$2(fromGoogleSearch));
}
const fromGoogleSearchRetrieval = getValueByPath(fromObject, [
"googleSearchRetrieval"
]);
if (fromGoogleSearchRetrieval != null) {
setValueByPath(toObject, ["googleSearchRetrieval"], googleSearchRetrievalToVertex$2(fromGoogleSearchRetrieval));
}
const fromEnterpriseWebSearch = getValueByPath(fromObject, [
"enterpriseWebSearch"
]);
if (fromEnterpriseWebSearch != null) {
setValueByPath(toObject, ["enterpriseWebSearch"], enterpriseWebSearchToVertex$2(fromEnterpriseWebSearch));
}
const fromGoogleMaps = getValueByPath(fromObject, ["googleMaps"]);
if (fromGoogleMaps != null) {
setValueByPath(toObject, ["googleMaps"], googleMapsToVertex$2(fromGoogleMaps));
}
const fromUrlContext = getValueByPath(fromObject, ["urlContext"]);
if (fromUrlContext != null) {
setValueByPath(toObject, ["urlContext"], urlContextToVertex$2());
}
const fromComputerUse = getValueByPath(fromObject, ["computerUse"]);
if (fromComputerUse != null) {
setValueByPath(toObject, ["computerUse"], toolComputerUseToVertex$2(fromComputerUse));
}
const fromCodeExecution = getValueByPath(fromObject, [
"codeExecution"
]);
if (fromCodeExecution != null) {
setValueByPath(toObject, ["codeExecution"], fromCodeExecution);
}
return toObject;
}
function functionCallingConfigToVertex$1(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromAllowedFunctionNames = getValueByPath(fromObject, [
"allowedFunctionNames"
]);
if (fromAllowedFunctionNames != null) {
setValueByPath(toObject, ["allowedFunctionNames"], fromAllowedFunctionNames);
}
return toObject;
}
function latLngToVertex$1(fromObject) {
const toObject = {};
const fromLatitude = getValueByPath(fromObject, ["latitude"]);
if (fromLatitude != null) {
setValueByPath(toObject, ["latitude"], fromLatitude);
}
const fromLongitude = getValueByPath(fromObject, ["longitude"]);
if (fromLongitude != null) {
setValueByPath(toObject, ["longitude"], fromLongitude);
}
return toObject;
}
function retrievalConfigToVertex$1(fromObject) {
const toObject = {};
const fromLatLng = getValueByPath(fromObject, ["latLng"]);
if (fromLatLng != null) {
setValueByPath(toObject, ["latLng"], latLngToVertex$1(fromLatLng));
}
const fromLanguageCode = getValueByPath(fromObject, ["languageCode"]);
if (fromLanguageCode != null) {
setValueByPath(toObject, ["languageCode"], fromLanguageCode);
}
return toObject;
}
function toolConfigToVertex$1(fromObject) {
const toObject = {};
const fromFunctionCallingConfig = getValueByPath(fromObject, [
"functionCallingConfig"
]);
if (fromFunctionCallingConfig != null) {
setValueByPath(toObject, ["functionCallingConfig"], functionCallingConfigToVertex$1(fromFunctionCallingConfig));
}
const fromRetrievalConfig = getValueByPath(fromObject, [
"retrievalConfig"
]);
if (fromRetrievalConfig != null) {
setValueByPath(toObject, ["retrievalConfig"], retrievalConfigToVertex$1(fromRetrievalConfig));
}
return toObject;
}
function createCachedContentConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromTtl = getValueByPath(fromObject, ["ttl"]);
if (parentObject !== void 0 && fromTtl != null) {
setValueByPath(parentObject, ["ttl"], fromTtl);
}
const fromExpireTime = getValueByPath(fromObject, ["expireTime"]);
if (parentObject !== void 0 && fromExpireTime != null) {
setValueByPath(parentObject, ["expireTime"], fromExpireTime);
}
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (parentObject !== void 0 && fromDisplayName != null) {
setValueByPath(parentObject, ["displayName"], fromDisplayName);
}
const fromContents = getValueByPath(fromObject, ["contents"]);
if (parentObject !== void 0 && fromContents != null) {
let transformedList = tContents(fromContents);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return contentToVertex$2(item);
});
}
setValueByPath(parentObject, ["contents"], transformedList);
}
const fromSystemInstruction = getValueByPath(fromObject, [
"systemInstruction"
]);
if (parentObject !== void 0 && fromSystemInstruction != null) {
setValueByPath(parentObject, ["systemInstruction"], contentToVertex$2(tContent(fromSystemInstruction)));
}
const fromTools = getValueByPath(fromObject, ["tools"]);
if (parentObject !== void 0 && fromTools != null) {
let transformedList = fromTools;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return toolToVertex$2(item);
});
}
setValueByPath(parentObject, ["tools"], transformedList);
}
const fromToolConfig = getValueByPath(fromObject, ["toolConfig"]);
if (parentObject !== void 0 && fromToolConfig != null) {
setValueByPath(parentObject, ["toolConfig"], toolConfigToVertex$1(fromToolConfig));
}
const fromKmsKeyName = getValueByPath(fromObject, ["kmsKeyName"]);
if (parentObject !== void 0 && fromKmsKeyName != null) {
setValueByPath(parentObject, ["encryption_spec", "kmsKeyName"], fromKmsKeyName);
}
return toObject;
}
function createCachedContentParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["model"], tCachesModel(apiClient, fromModel));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], createCachedContentConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function getCachedContentParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], tCachedContentName(apiClient, fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function deleteCachedContentParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], tCachedContentName(apiClient, fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function updateCachedContentConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromTtl = getValueByPath(fromObject, ["ttl"]);
if (parentObject !== void 0 && fromTtl != null) {
setValueByPath(parentObject, ["ttl"], fromTtl);
}
const fromExpireTime = getValueByPath(fromObject, ["expireTime"]);
if (parentObject !== void 0 && fromExpireTime != null) {
setValueByPath(parentObject, ["expireTime"], fromExpireTime);
}
return toObject;
}
function updateCachedContentParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], tCachedContentName(apiClient, fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], updateCachedContentConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function listCachedContentsConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromPageSize = getValueByPath(fromObject, ["pageSize"]);
if (parentObject !== void 0 && fromPageSize != null) {
setValueByPath(parentObject, ["_query", "pageSize"], fromPageSize);
}
const fromPageToken = getValueByPath(fromObject, ["pageToken"]);
if (parentObject !== void 0 && fromPageToken != null) {
setValueByPath(parentObject, ["_query", "pageToken"], fromPageToken);
}
return toObject;
}
function listCachedContentsParametersToVertex(fromObject) {
const toObject = {};
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], listCachedContentsConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function cachedContentFromMldev(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["model"], fromModel);
}
const fromCreateTime = getValueByPath(fromObject, ["createTime"]);
if (fromCreateTime != null) {
setValueByPath(toObject, ["createTime"], fromCreateTime);
}
const fromUpdateTime = getValueByPath(fromObject, ["updateTime"]);
if (fromUpdateTime != null) {
setValueByPath(toObject, ["updateTime"], fromUpdateTime);
}
const fromExpireTime = getValueByPath(fromObject, ["expireTime"]);
if (fromExpireTime != null) {
setValueByPath(toObject, ["expireTime"], fromExpireTime);
}
const fromUsageMetadata = getValueByPath(fromObject, [
"usageMetadata"
]);
if (fromUsageMetadata != null) {
setValueByPath(toObject, ["usageMetadata"], fromUsageMetadata);
}
return toObject;
}
function deleteCachedContentResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
return toObject;
}
function listCachedContentsResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromNextPageToken = getValueByPath(fromObject, [
"nextPageToken"
]);
if (fromNextPageToken != null) {
setValueByPath(toObject, ["nextPageToken"], fromNextPageToken);
}
const fromCachedContents = getValueByPath(fromObject, [
"cachedContents"
]);
if (fromCachedContents != null) {
let transformedList = fromCachedContents;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return cachedContentFromMldev(item);
});
}
setValueByPath(toObject, ["cachedContents"], transformedList);
}
return toObject;
}
function cachedContentFromVertex(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["model"], fromModel);
}
const fromCreateTime = getValueByPath(fromObject, ["createTime"]);
if (fromCreateTime != null) {
setValueByPath(toObject, ["createTime"], fromCreateTime);
}
const fromUpdateTime = getValueByPath(fromObject, ["updateTime"]);
if (fromUpdateTime != null) {
setValueByPath(toObject, ["updateTime"], fromUpdateTime);
}
const fromExpireTime = getValueByPath(fromObject, ["expireTime"]);
if (fromExpireTime != null) {
setValueByPath(toObject, ["expireTime"], fromExpireTime);
}
const fromUsageMetadata = getValueByPath(fromObject, [
"usageMetadata"
]);
if (fromUsageMetadata != null) {
setValueByPath(toObject, ["usageMetadata"], fromUsageMetadata);
}
return toObject;
}
function deleteCachedContentResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
return toObject;
}
function listCachedContentsResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromNextPageToken = getValueByPath(fromObject, [
"nextPageToken"
]);
if (fromNextPageToken != null) {
setValueByPath(toObject, ["nextPageToken"], fromNextPageToken);
}
const fromCachedContents = getValueByPath(fromObject, [
"cachedContents"
]);
if (fromCachedContents != null) {
let transformedList = fromCachedContents;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return cachedContentFromVertex(item);
});
}
setValueByPath(toObject, ["cachedContents"], transformedList);
}
return toObject;
}
var Caches = class extends BaseModule {
constructor(apiClient) {
super();
this.apiClient = apiClient;
this.list = async (params = {}) => {
return new Pager(PagedItem.PAGED_ITEM_CACHED_CONTENTS, (x) => this.listInternal(x), await this.listInternal(params), params);
};
}
/**
* Creates a cached contents resource.
*
* @remarks
* Context caching is only supported for specific models. See [Gemini
* Developer API reference](https://ai.google.dev/gemini-api/docs/caching?lang=node/context-cac)
* and [Vertex AI reference](https://cloud.google.com/vertex-ai/generative-ai/docs/context-cache/context-cache-overview#supported_models)
* for more information.
*
* @param params - The parameters for the create request.
* @return The created cached content.
*
* @example
* ```ts
* const contents = ...; // Initialize the content to cache.
* const response = await ai.caches.create({
* model: 'gemini-2.0-flash-001',
* config: {
* 'contents': contents,
* 'displayName': 'test cache',
* 'systemInstruction': 'What is the sum of the two pdfs?',
* 'ttl': '86400s',
* }
* });
* ```
*/
async create(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = createCachedContentParametersToVertex(this.apiClient, params);
path = formatMap("cachedContents", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = cachedContentFromVertex(apiResponse);
return resp;
});
} else {
const body = createCachedContentParametersToMldev(this.apiClient, params);
path = formatMap("cachedContents", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = cachedContentFromMldev(apiResponse);
return resp;
});
}
}
/**
* Gets cached content configurations.
*
* @param params - The parameters for the get request.
* @return The cached content.
*
* @example
* ```ts
* await ai.caches.get({name: '...'}); // The server-generated resource name.
* ```
*/
async get(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = getCachedContentParametersToVertex(this.apiClient, params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = cachedContentFromVertex(apiResponse);
return resp;
});
} else {
const body = getCachedContentParametersToMldev(this.apiClient, params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = cachedContentFromMldev(apiResponse);
return resp;
});
}
}
/**
* Deletes cached content.
*
* @param params - The parameters for the delete request.
* @return The empty response returned by the API.
*
* @example
* ```ts
* await ai.caches.delete({name: '...'}); // The server-generated resource name.
* ```
*/
async delete(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = deleteCachedContentParametersToVertex(this.apiClient, params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "DELETE",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = deleteCachedContentResponseFromVertex(apiResponse);
const typedResp = new DeleteCachedContentResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
const body = deleteCachedContentParametersToMldev(this.apiClient, params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "DELETE",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = deleteCachedContentResponseFromMldev(apiResponse);
const typedResp = new DeleteCachedContentResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
/**
* Updates cached content configurations.
*
* @param params - The parameters for the update request.
* @return The updated cached content.
*
* @example
* ```ts
* const response = await ai.caches.update({
* name: '...', // The server-generated resource name.
* config: {'ttl': '7600s'}
* });
* ```
*/
async update(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = updateCachedContentParametersToVertex(this.apiClient, params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "PATCH",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = cachedContentFromVertex(apiResponse);
return resp;
});
} else {
const body = updateCachedContentParametersToMldev(this.apiClient, params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "PATCH",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = cachedContentFromMldev(apiResponse);
return resp;
});
}
}
async listInternal(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = listCachedContentsParametersToVertex(params);
path = formatMap("cachedContents", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = listCachedContentsResponseFromVertex(apiResponse);
const typedResp = new ListCachedContentsResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
const body = listCachedContentsParametersToMldev(params);
path = formatMap("cachedContents", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = listCachedContentsResponseFromMldev(apiResponse);
const typedResp = new ListCachedContentsResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
};
function __values(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function() {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
}
function __await(v) {
return this instanceof __await ? (this.v = v, this) : new __await(v);
}
function __asyncGenerator(thisArg, _arguments, generator) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var g = generator.apply(thisArg, _arguments || []), i, q = [];
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
return this;
}, i;
function awaitReturn(f) {
return function(v) {
return Promise.resolve(v).then(f, reject);
};
}
function verb(n, f) {
if (g[n]) {
i[n] = function(v) {
return new Promise(function(a, b) {
q.push([n, v, a, b]) > 1 || resume(n, v);
});
};
if (f) i[n] = f(i[n]);
}
}
function resume(n, v) {
try {
step(g[n](v));
} catch (e) {
settle(q[0][3], e);
}
}
function step(r) {
r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
}
function fulfill(value) {
resume("next", value);
}
function reject(value) {
resume("throw", value);
}
function settle(f, v) {
if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
}
}
function __asyncValues(o) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var m = o[Symbol.asyncIterator], i;
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
return this;
}, i);
function verb(n) {
i[n] = o[n] && function(v) {
return new Promise(function(resolve, reject) {
v = o[n](v), settle(resolve, reject, v.done, v.value);
});
};
}
function settle(resolve, reject, d, v) {
Promise.resolve(v).then(function(v2) {
resolve({ value: v2, done: d });
}, reject);
}
}
function isValidResponse(response) {
var _a;
if (response.candidates == void 0 || response.candidates.length === 0) {
return false;
}
const content = (_a = response.candidates[0]) === null || _a === void 0 ? void 0 : _a.content;
if (content === void 0) {
return false;
}
return isValidContent(content);
}
function isValidContent(content) {
if (content.parts === void 0 || content.parts.length === 0) {
return false;
}
for (const part of content.parts) {
if (part === void 0 || Object.keys(part).length === 0) {
return false;
}
}
return true;
}
function validateHistory(history) {
if (history.length === 0) {
return;
}
for (const content of history) {
if (content.role !== "user" && content.role !== "model") {
throw new Error(`Role must be user or model, but got ${content.role}.`);
}
}
}
function extractCuratedHistory(comprehensiveHistory) {
if (comprehensiveHistory === void 0 || comprehensiveHistory.length === 0) {
return [];
}
const curatedHistory = [];
const length = comprehensiveHistory.length;
let i = 0;
while (i < length) {
if (comprehensiveHistory[i].role === "user") {
curatedHistory.push(comprehensiveHistory[i]);
i++;
} else {
const modelOutput = [];
let isValid = true;
while (i < length && comprehensiveHistory[i].role === "model") {
modelOutput.push(comprehensiveHistory[i]);
if (isValid && !isValidContent(comprehensiveHistory[i])) {
isValid = false;
}
i++;
}
if (isValid) {
curatedHistory.push(...modelOutput);
} else {
curatedHistory.pop();
}
}
}
return curatedHistory;
}
var Chats = class {
constructor(modelsModule, apiClient) {
this.modelsModule = modelsModule;
this.apiClient = apiClient;
}
/**
* Creates a new chat session.
*
* @remarks
* The config in the params will be used for all requests within the chat
* session unless overridden by a per-request `config` in
* @see {@link types.SendMessageParameters#config}.
*
* @param params - Parameters for creating a chat session.
* @returns A new chat session.
*
* @example
* ```ts
* const chat = ai.chats.create({
* model: 'gemini-2.0-flash'
* config: {
* temperature: 0.5,
* maxOutputTokens: 1024,
* }
* });
* ```
*/
create(params) {
return new Chat(
this.apiClient,
this.modelsModule,
params.model,
params.config,
// Deep copy the history to avoid mutating the history outside of the
// chat session.
structuredClone(params.history)
);
}
};
var Chat = class {
constructor(apiClient, modelsModule, model, config = {}, history = []) {
this.apiClient = apiClient;
this.modelsModule = modelsModule;
this.model = model;
this.config = config;
this.history = history;
this.sendPromise = Promise.resolve();
validateHistory(history);
}
/**
* Sends a message to the model and returns the response.
*
* @remarks
* This method will wait for the previous message to be processed before
* sending the next message.
*
* @see {@link Chat#sendMessageStream} for streaming method.
* @param params - parameters for sending messages within a chat session.
* @returns The model's response.
*
* @example
* ```ts
* const chat = ai.chats.create({model: 'gemini-2.0-flash'});
* const response = await chat.sendMessage({
* message: 'Why is the sky blue?'
* });
* console.log(response.text);
* ```
*/
async sendMessage(params) {
var _a;
await this.sendPromise;
const inputContent = tContent(params.message);
const responsePromise = this.modelsModule.generateContent({
model: this.model,
contents: this.getHistory(true).concat(inputContent),
config: (_a = params.config) !== null && _a !== void 0 ? _a : this.config
});
this.sendPromise = (async () => {
var _a2, _b, _c;
const response = await responsePromise;
const outputContent = (_b = (_a2 = response.candidates) === null || _a2 === void 0 ? void 0 : _a2[0]) === null || _b === void 0 ? void 0 : _b.content;
const fullAutomaticFunctionCallingHistory = response.automaticFunctionCallingHistory;
const index = this.getHistory(true).length;
let automaticFunctionCallingHistory = [];
if (fullAutomaticFunctionCallingHistory != null) {
automaticFunctionCallingHistory = (_c = fullAutomaticFunctionCallingHistory.slice(index)) !== null && _c !== void 0 ? _c : [];
}
const modelOutput = outputContent ? [outputContent] : [];
this.recordHistory(inputContent, modelOutput, automaticFunctionCallingHistory);
return;
})();
await this.sendPromise.catch(() => {
this.sendPromise = Promise.resolve();
});
return responsePromise;
}
/**
* Sends a message to the model and returns the response in chunks.
*
* @remarks
* This method will wait for the previous message to be processed before
* sending the next message.
*
* @see {@link Chat#sendMessage} for non-streaming method.
* @param params - parameters for sending the message.
* @return The model's response.
*
* @example
* ```ts
* const chat = ai.chats.create({model: 'gemini-2.0-flash'});
* const response = await chat.sendMessageStream({
* message: 'Why is the sky blue?'
* });
* for await (const chunk of response) {
* console.log(chunk.text);
* }
* ```
*/
async sendMessageStream(params) {
var _a;
await this.sendPromise;
const inputContent = tContent(params.message);
const streamResponse = this.modelsModule.generateContentStream({
model: this.model,
contents: this.getHistory(true).concat(inputContent),
config: (_a = params.config) !== null && _a !== void 0 ? _a : this.config
});
this.sendPromise = streamResponse.then(() => void 0).catch(() => void 0);
const response = await streamResponse;
const result = this.processStreamResponse(response, inputContent);
return result;
}
/**
* Returns the chat history.
*
* @remarks
* The history is a list of contents alternating between user and model.
*
* There are two types of history:
* - The `curated history` contains only the valid turns between user and
* model, which will be included in the subsequent requests sent to the model.
* - The `comprehensive history` contains all turns, including invalid or
* empty model outputs, providing a complete record of the history.
*
* The history is updated after receiving the response from the model,
* for streaming response, it means receiving the last chunk of the response.
*
* The `comprehensive history` is returned by default. To get the `curated
* history`, set the `curated` parameter to `true`.
*
* @param curated - whether to return the curated history or the comprehensive
* history.
* @return History contents alternating between user and model for the entire
* chat session.
*/
getHistory(curated = false) {
const history = curated ? extractCuratedHistory(this.history) : this.history;
return structuredClone(history);
}
processStreamResponse(streamResponse, inputContent) {
var _a, _b;
return __asyncGenerator(this, arguments, function* processStreamResponse_1() {
var _c, e_1, _d, _e;
const outputContent = [];
try {
for (var _f = true, streamResponse_1 = __asyncValues(streamResponse), streamResponse_1_1; streamResponse_1_1 = yield __await(streamResponse_1.next()), _c = streamResponse_1_1.done, !_c; _f = true) {
_e = streamResponse_1_1.value;
_f = false;
const chunk = _e;
if (isValidResponse(chunk)) {
const content = (_b = (_a = chunk.candidates) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.content;
if (content !== void 0) {
outputContent.push(content);
}
}
yield yield __await(chunk);
}
} catch (e_1_1) {
e_1 = { error: e_1_1 };
} finally {
try {
if (!_f && !_c && (_d = streamResponse_1.return)) yield __await(_d.call(streamResponse_1));
} finally {
if (e_1) throw e_1.error;
}
}
this.recordHistory(inputContent, outputContent);
});
}
recordHistory(userInput, modelOutput, automaticFunctionCallingHistory) {
let outputContents = [];
if (modelOutput.length > 0 && modelOutput.every((content) => content.role !== void 0)) {
outputContents = modelOutput;
} else {
outputContents.push({
role: "model",
parts: []
});
}
if (automaticFunctionCallingHistory && automaticFunctionCallingHistory.length > 0) {
this.history.push(...extractCuratedHistory(automaticFunctionCallingHistory));
} else {
this.history.push(userInput);
}
this.history.push(...outputContents);
}
};
var ApiError = class _ApiError extends Error {
constructor(options) {
super(options.message);
this.name = "ApiError";
this.status = options.status;
Object.setPrototypeOf(this, _ApiError.prototype);
}
};
function listFilesConfigToMldev(fromObject, parentObject) {
const toObject = {};
const fromPageSize = getValueByPath(fromObject, ["pageSize"]);
if (parentObject !== void 0 && fromPageSize != null) {
setValueByPath(parentObject, ["_query", "pageSize"], fromPageSize);
}
const fromPageToken = getValueByPath(fromObject, ["pageToken"]);
if (parentObject !== void 0 && fromPageToken != null) {
setValueByPath(parentObject, ["_query", "pageToken"], fromPageToken);
}
return toObject;
}
function listFilesParametersToMldev(fromObject) {
const toObject = {};
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], listFilesConfigToMldev(fromConfig, toObject));
}
return toObject;
}
function fileStatusToMldev(fromObject) {
const toObject = {};
const fromDetails = getValueByPath(fromObject, ["details"]);
if (fromDetails != null) {
setValueByPath(toObject, ["details"], fromDetails);
}
const fromMessage = getValueByPath(fromObject, ["message"]);
if (fromMessage != null) {
setValueByPath(toObject, ["message"], fromMessage);
}
const fromCode = getValueByPath(fromObject, ["code"]);
if (fromCode != null) {
setValueByPath(toObject, ["code"], fromCode);
}
return toObject;
}
function fileToMldev(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
const fromSizeBytes = getValueByPath(fromObject, ["sizeBytes"]);
if (fromSizeBytes != null) {
setValueByPath(toObject, ["sizeBytes"], fromSizeBytes);
}
const fromCreateTime = getValueByPath(fromObject, ["createTime"]);
if (fromCreateTime != null) {
setValueByPath(toObject, ["createTime"], fromCreateTime);
}
const fromExpirationTime = getValueByPath(fromObject, [
"expirationTime"
]);
if (fromExpirationTime != null) {
setValueByPath(toObject, ["expirationTime"], fromExpirationTime);
}
const fromUpdateTime = getValueByPath(fromObject, ["updateTime"]);
if (fromUpdateTime != null) {
setValueByPath(toObject, ["updateTime"], fromUpdateTime);
}
const fromSha256Hash = getValueByPath(fromObject, ["sha256Hash"]);
if (fromSha256Hash != null) {
setValueByPath(toObject, ["sha256Hash"], fromSha256Hash);
}
const fromUri = getValueByPath(fromObject, ["uri"]);
if (fromUri != null) {
setValueByPath(toObject, ["uri"], fromUri);
}
const fromDownloadUri = getValueByPath(fromObject, ["downloadUri"]);
if (fromDownloadUri != null) {
setValueByPath(toObject, ["downloadUri"], fromDownloadUri);
}
const fromState = getValueByPath(fromObject, ["state"]);
if (fromState != null) {
setValueByPath(toObject, ["state"], fromState);
}
const fromSource = getValueByPath(fromObject, ["source"]);
if (fromSource != null) {
setValueByPath(toObject, ["source"], fromSource);
}
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], fromVideoMetadata);
}
const fromError = getValueByPath(fromObject, ["error"]);
if (fromError != null) {
setValueByPath(toObject, ["error"], fileStatusToMldev(fromError));
}
return toObject;
}
function createFileParametersToMldev(fromObject) {
const toObject = {};
const fromFile = getValueByPath(fromObject, ["file"]);
if (fromFile != null) {
setValueByPath(toObject, ["file"], fileToMldev(fromFile));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function getFileParametersToMldev(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "file"], tFileName(fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function deleteFileParametersToMldev(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "file"], tFileName(fromName));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function fileStatusFromMldev(fromObject) {
const toObject = {};
const fromDetails = getValueByPath(fromObject, ["details"]);
if (fromDetails != null) {
setValueByPath(toObject, ["details"], fromDetails);
}
const fromMessage = getValueByPath(fromObject, ["message"]);
if (fromMessage != null) {
setValueByPath(toObject, ["message"], fromMessage);
}
const fromCode = getValueByPath(fromObject, ["code"]);
if (fromCode != null) {
setValueByPath(toObject, ["code"], fromCode);
}
return toObject;
}
function fileFromMldev(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
const fromSizeBytes = getValueByPath(fromObject, ["sizeBytes"]);
if (fromSizeBytes != null) {
setValueByPath(toObject, ["sizeBytes"], fromSizeBytes);
}
const fromCreateTime = getValueByPath(fromObject, ["createTime"]);
if (fromCreateTime != null) {
setValueByPath(toObject, ["createTime"], fromCreateTime);
}
const fromExpirationTime = getValueByPath(fromObject, [
"expirationTime"
]);
if (fromExpirationTime != null) {
setValueByPath(toObject, ["expirationTime"], fromExpirationTime);
}
const fromUpdateTime = getValueByPath(fromObject, ["updateTime"]);
if (fromUpdateTime != null) {
setValueByPath(toObject, ["updateTime"], fromUpdateTime);
}
const fromSha256Hash = getValueByPath(fromObject, ["sha256Hash"]);
if (fromSha256Hash != null) {
setValueByPath(toObject, ["sha256Hash"], fromSha256Hash);
}
const fromUri = getValueByPath(fromObject, ["uri"]);
if (fromUri != null) {
setValueByPath(toObject, ["uri"], fromUri);
}
const fromDownloadUri = getValueByPath(fromObject, ["downloadUri"]);
if (fromDownloadUri != null) {
setValueByPath(toObject, ["downloadUri"], fromDownloadUri);
}
const fromState = getValueByPath(fromObject, ["state"]);
if (fromState != null) {
setValueByPath(toObject, ["state"], fromState);
}
const fromSource = getValueByPath(fromObject, ["source"]);
if (fromSource != null) {
setValueByPath(toObject, ["source"], fromSource);
}
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], fromVideoMetadata);
}
const fromError = getValueByPath(fromObject, ["error"]);
if (fromError != null) {
setValueByPath(toObject, ["error"], fileStatusFromMldev(fromError));
}
return toObject;
}
function listFilesResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromNextPageToken = getValueByPath(fromObject, [
"nextPageToken"
]);
if (fromNextPageToken != null) {
setValueByPath(toObject, ["nextPageToken"], fromNextPageToken);
}
const fromFiles = getValueByPath(fromObject, ["files"]);
if (fromFiles != null) {
let transformedList = fromFiles;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return fileFromMldev(item);
});
}
setValueByPath(toObject, ["files"], transformedList);
}
return toObject;
}
function createFileResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
return toObject;
}
function deleteFileResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
return toObject;
}
var Files = class extends BaseModule {
constructor(apiClient) {
super();
this.apiClient = apiClient;
this.list = async (params = {}) => {
return new Pager(PagedItem.PAGED_ITEM_FILES, (x) => this.listInternal(x), await this.listInternal(params), params);
};
}
/**
* Uploads a file asynchronously to the Gemini API.
* This method is not available in Vertex AI.
* Supported upload sources:
* - Node.js: File path (string) or Blob object.
* - Browser: Blob object (e.g., File).
*
* @remarks
* The `mimeType` can be specified in the `config` parameter. If omitted:
* - For file path (string) inputs, the `mimeType` will be inferred from the
* file extension.
* - For Blob object inputs, the `mimeType` will be set to the Blob's `type`
* property.
* Somex eamples for file extension to mimeType mapping:
* .txt -> text/plain
* .json -> application/json
* .jpg -> image/jpeg
* .png -> image/png
* .mp3 -> audio/mpeg
* .mp4 -> video/mp4
*
* This section can contain multiple paragraphs and code examples.
*
* @param params - Optional parameters specified in the
* `types.UploadFileParameters` interface.
* @see {@link types.UploadFileParameters#config} for the optional
* config in the parameters.
* @return A promise that resolves to a `types.File` object.
* @throws An error if called on a Vertex AI client.
* @throws An error if the `mimeType` is not provided and can not be inferred,
* the `mimeType` can be provided in the `params.config` parameter.
* @throws An error occurs if a suitable upload location cannot be established.
*
* @example
* The following code uploads a file to Gemini API.
*
* ```ts
* const file = await ai.files.upload({file: 'file.txt', config: {
* mimeType: 'text/plain',
* }});
* console.log(file.name);
* ```
*/
async upload(params) {
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(params.file, params.config).then((response) => {
const file = fileFromMldev(response);
return file;
});
}
/**
* Downloads a remotely stored file asynchronously to a location specified in
* the `params` object. This method only works on Node environment, to
* download files in the browser, use a browser compliant method like an <a>
* tag.
*
* @param params - The parameters for the download request.
*
* @example
* The following code downloads an example file named "files/mehozpxf877d" as
* "file.txt".
*
* ```ts
* await ai.files.download({file: file.name, downloadPath: 'file.txt'});
* ```
*/
async download(params) {
await this.apiClient.downloadFile(params);
}
async listInternal(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
throw new Error("This method is only supported by the Gemini Developer API.");
} else {
const body = listFilesParametersToMldev(params);
path = formatMap("files", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = listFilesResponseFromMldev(apiResponse);
const typedResp = new ListFilesResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
async createInternal(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
throw new Error("This method is only supported by the Gemini Developer API.");
} else {
const body = createFileParametersToMldev(params);
path = formatMap("upload/v1beta/files", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = createFileResponseFromMldev(apiResponse);
const typedResp = new CreateFileResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
/**
* Retrieves the file information from the service.
*
* @param params - The parameters for the get request
* @return The Promise that resolves to the types.File object requested.
*
* @example
* ```ts
* const config: GetFileParameters = {
* name: fileName,
* };
* file = await ai.files.get(config);
* console.log(file.name);
* ```
*/
async get(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
throw new Error("This method is only supported by the Gemini Developer API.");
} else {
const body = getFileParametersToMldev(params);
path = formatMap("files/{file}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = fileFromMldev(apiResponse);
return resp;
});
}
}
/**
* Deletes a remotely stored file.
*
* @param params - The parameters for the delete request.
* @return The DeleteFileResponse, the response for the delete method.
*
* @example
* The following code deletes an example file named "files/mehozpxf877d".
*
* ```ts
* await ai.files.delete({name: file.name});
* ```
*/
async delete(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
throw new Error("This method is only supported by the Gemini Developer API.");
} else {
const body = deleteFileParametersToMldev(params);
path = formatMap("files/{file}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "DELETE",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = deleteFileResponseFromMldev(apiResponse);
const typedResp = new DeleteFileResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
};
function prebuiltVoiceConfigToMldev$2(fromObject) {
const toObject = {};
const fromVoiceName = getValueByPath(fromObject, ["voiceName"]);
if (fromVoiceName != null) {
setValueByPath(toObject, ["voiceName"], fromVoiceName);
}
return toObject;
}
function voiceConfigToMldev$2(fromObject) {
const toObject = {};
const fromPrebuiltVoiceConfig = getValueByPath(fromObject, [
"prebuiltVoiceConfig"
]);
if (fromPrebuiltVoiceConfig != null) {
setValueByPath(toObject, ["prebuiltVoiceConfig"], prebuiltVoiceConfigToMldev$2(fromPrebuiltVoiceConfig));
}
return toObject;
}
function speakerVoiceConfigToMldev$2(fromObject) {
const toObject = {};
const fromSpeaker = getValueByPath(fromObject, ["speaker"]);
if (fromSpeaker != null) {
setValueByPath(toObject, ["speaker"], fromSpeaker);
}
const fromVoiceConfig = getValueByPath(fromObject, ["voiceConfig"]);
if (fromVoiceConfig != null) {
setValueByPath(toObject, ["voiceConfig"], voiceConfigToMldev$2(fromVoiceConfig));
}
return toObject;
}
function multiSpeakerVoiceConfigToMldev$2(fromObject) {
const toObject = {};
const fromSpeakerVoiceConfigs = getValueByPath(fromObject, [
"speakerVoiceConfigs"
]);
if (fromSpeakerVoiceConfigs != null) {
let transformedList = fromSpeakerVoiceConfigs;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return speakerVoiceConfigToMldev$2(item);
});
}
setValueByPath(toObject, ["speakerVoiceConfigs"], transformedList);
}
return toObject;
}
function speechConfigToMldev$2(fromObject) {
const toObject = {};
const fromVoiceConfig = getValueByPath(fromObject, ["voiceConfig"]);
if (fromVoiceConfig != null) {
setValueByPath(toObject, ["voiceConfig"], voiceConfigToMldev$2(fromVoiceConfig));
}
const fromMultiSpeakerVoiceConfig = getValueByPath(fromObject, [
"multiSpeakerVoiceConfig"
]);
if (fromMultiSpeakerVoiceConfig != null) {
setValueByPath(toObject, ["multiSpeakerVoiceConfig"], multiSpeakerVoiceConfigToMldev$2(fromMultiSpeakerVoiceConfig));
}
const fromLanguageCode = getValueByPath(fromObject, ["languageCode"]);
if (fromLanguageCode != null) {
setValueByPath(toObject, ["languageCode"], fromLanguageCode);
}
return toObject;
}
function videoMetadataToMldev$2(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobToMldev$2(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["displayName"]) !== void 0) {
throw new Error("displayName parameter is not supported in Gemini API.");
}
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataToMldev$2(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["displayName"]) !== void 0) {
throw new Error("displayName parameter is not supported in Gemini API.");
}
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partToMldev$2(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataToMldev$2(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobToMldev$2(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataToMldev$2(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentToMldev$2(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partToMldev$2(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function functionDeclarationToMldev$2(fromObject) {
const toObject = {};
const fromBehavior = getValueByPath(fromObject, ["behavior"]);
if (fromBehavior != null) {
setValueByPath(toObject, ["behavior"], fromBehavior);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromParameters = getValueByPath(fromObject, ["parameters"]);
if (fromParameters != null) {
setValueByPath(toObject, ["parameters"], fromParameters);
}
const fromParametersJsonSchema = getValueByPath(fromObject, [
"parametersJsonSchema"
]);
if (fromParametersJsonSchema != null) {
setValueByPath(toObject, ["parametersJsonSchema"], fromParametersJsonSchema);
}
const fromResponse = getValueByPath(fromObject, ["response"]);
if (fromResponse != null) {
setValueByPath(toObject, ["response"], fromResponse);
}
const fromResponseJsonSchema = getValueByPath(fromObject, [
"responseJsonSchema"
]);
if (fromResponseJsonSchema != null) {
setValueByPath(toObject, ["responseJsonSchema"], fromResponseJsonSchema);
}
return toObject;
}
function intervalToMldev$2(fromObject) {
const toObject = {};
const fromStartTime = getValueByPath(fromObject, ["startTime"]);
if (fromStartTime != null) {
setValueByPath(toObject, ["startTime"], fromStartTime);
}
const fromEndTime = getValueByPath(fromObject, ["endTime"]);
if (fromEndTime != null) {
setValueByPath(toObject, ["endTime"], fromEndTime);
}
return toObject;
}
function googleSearchToMldev$2(fromObject) {
const toObject = {};
const fromTimeRangeFilter = getValueByPath(fromObject, [
"timeRangeFilter"
]);
if (fromTimeRangeFilter != null) {
setValueByPath(toObject, ["timeRangeFilter"], intervalToMldev$2(fromTimeRangeFilter));
}
if (getValueByPath(fromObject, ["excludeDomains"]) !== void 0) {
throw new Error("excludeDomains parameter is not supported in Gemini API.");
}
return toObject;
}
function dynamicRetrievalConfigToMldev$2(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromDynamicThreshold = getValueByPath(fromObject, [
"dynamicThreshold"
]);
if (fromDynamicThreshold != null) {
setValueByPath(toObject, ["dynamicThreshold"], fromDynamicThreshold);
}
return toObject;
}
function googleSearchRetrievalToMldev$2(fromObject) {
const toObject = {};
const fromDynamicRetrievalConfig = getValueByPath(fromObject, [
"dynamicRetrievalConfig"
]);
if (fromDynamicRetrievalConfig != null) {
setValueByPath(toObject, ["dynamicRetrievalConfig"], dynamicRetrievalConfigToMldev$2(fromDynamicRetrievalConfig));
}
return toObject;
}
function urlContextToMldev$2() {
const toObject = {};
return toObject;
}
function toolComputerUseToMldev$2(fromObject) {
const toObject = {};
const fromEnvironment = getValueByPath(fromObject, ["environment"]);
if (fromEnvironment != null) {
setValueByPath(toObject, ["environment"], fromEnvironment);
}
return toObject;
}
function toolToMldev$2(fromObject) {
const toObject = {};
const fromFunctionDeclarations = getValueByPath(fromObject, [
"functionDeclarations"
]);
if (fromFunctionDeclarations != null) {
let transformedList = fromFunctionDeclarations;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return functionDeclarationToMldev$2(item);
});
}
setValueByPath(toObject, ["functionDeclarations"], transformedList);
}
if (getValueByPath(fromObject, ["retrieval"]) !== void 0) {
throw new Error("retrieval parameter is not supported in Gemini API.");
}
const fromGoogleSearch = getValueByPath(fromObject, ["googleSearch"]);
if (fromGoogleSearch != null) {
setValueByPath(toObject, ["googleSearch"], googleSearchToMldev$2(fromGoogleSearch));
}
const fromGoogleSearchRetrieval = getValueByPath(fromObject, [
"googleSearchRetrieval"
]);
if (fromGoogleSearchRetrieval != null) {
setValueByPath(toObject, ["googleSearchRetrieval"], googleSearchRetrievalToMldev$2(fromGoogleSearchRetrieval));
}
if (getValueByPath(fromObject, ["enterpriseWebSearch"]) !== void 0) {
throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["googleMaps"]) !== void 0) {
throw new Error("googleMaps parameter is not supported in Gemini API.");
}
const fromUrlContext = getValueByPath(fromObject, ["urlContext"]);
if (fromUrlContext != null) {
setValueByPath(toObject, ["urlContext"], urlContextToMldev$2());
}
const fromComputerUse = getValueByPath(fromObject, ["computerUse"]);
if (fromComputerUse != null) {
setValueByPath(toObject, ["computerUse"], toolComputerUseToMldev$2(fromComputerUse));
}
const fromCodeExecution = getValueByPath(fromObject, [
"codeExecution"
]);
if (fromCodeExecution != null) {
setValueByPath(toObject, ["codeExecution"], fromCodeExecution);
}
return toObject;
}
function sessionResumptionConfigToMldev$1(fromObject) {
const toObject = {};
const fromHandle = getValueByPath(fromObject, ["handle"]);
if (fromHandle != null) {
setValueByPath(toObject, ["handle"], fromHandle);
}
if (getValueByPath(fromObject, ["transparent"]) !== void 0) {
throw new Error("transparent parameter is not supported in Gemini API.");
}
return toObject;
}
function audioTranscriptionConfigToMldev$1() {
const toObject = {};
return toObject;
}
function automaticActivityDetectionToMldev$1(fromObject) {
const toObject = {};
const fromDisabled = getValueByPath(fromObject, ["disabled"]);
if (fromDisabled != null) {
setValueByPath(toObject, ["disabled"], fromDisabled);
}
const fromStartOfSpeechSensitivity = getValueByPath(fromObject, [
"startOfSpeechSensitivity"
]);
if (fromStartOfSpeechSensitivity != null) {
setValueByPath(toObject, ["startOfSpeechSensitivity"], fromStartOfSpeechSensitivity);
}
const fromEndOfSpeechSensitivity = getValueByPath(fromObject, [
"endOfSpeechSensitivity"
]);
if (fromEndOfSpeechSensitivity != null) {
setValueByPath(toObject, ["endOfSpeechSensitivity"], fromEndOfSpeechSensitivity);
}
const fromPrefixPaddingMs = getValueByPath(fromObject, [
"prefixPaddingMs"
]);
if (fromPrefixPaddingMs != null) {
setValueByPath(toObject, ["prefixPaddingMs"], fromPrefixPaddingMs);
}
const fromSilenceDurationMs = getValueByPath(fromObject, [
"silenceDurationMs"
]);
if (fromSilenceDurationMs != null) {
setValueByPath(toObject, ["silenceDurationMs"], fromSilenceDurationMs);
}
return toObject;
}
function realtimeInputConfigToMldev$1(fromObject) {
const toObject = {};
const fromAutomaticActivityDetection = getValueByPath(fromObject, [
"automaticActivityDetection"
]);
if (fromAutomaticActivityDetection != null) {
setValueByPath(toObject, ["automaticActivityDetection"], automaticActivityDetectionToMldev$1(fromAutomaticActivityDetection));
}
const fromActivityHandling = getValueByPath(fromObject, [
"activityHandling"
]);
if (fromActivityHandling != null) {
setValueByPath(toObject, ["activityHandling"], fromActivityHandling);
}
const fromTurnCoverage = getValueByPath(fromObject, ["turnCoverage"]);
if (fromTurnCoverage != null) {
setValueByPath(toObject, ["turnCoverage"], fromTurnCoverage);
}
return toObject;
}
function slidingWindowToMldev$1(fromObject) {
const toObject = {};
const fromTargetTokens = getValueByPath(fromObject, ["targetTokens"]);
if (fromTargetTokens != null) {
setValueByPath(toObject, ["targetTokens"], fromTargetTokens);
}
return toObject;
}
function contextWindowCompressionConfigToMldev$1(fromObject) {
const toObject = {};
const fromTriggerTokens = getValueByPath(fromObject, [
"triggerTokens"
]);
if (fromTriggerTokens != null) {
setValueByPath(toObject, ["triggerTokens"], fromTriggerTokens);
}
const fromSlidingWindow = getValueByPath(fromObject, [
"slidingWindow"
]);
if (fromSlidingWindow != null) {
setValueByPath(toObject, ["slidingWindow"], slidingWindowToMldev$1(fromSlidingWindow));
}
return toObject;
}
function proactivityConfigToMldev$1(fromObject) {
const toObject = {};
const fromProactiveAudio = getValueByPath(fromObject, [
"proactiveAudio"
]);
if (fromProactiveAudio != null) {
setValueByPath(toObject, ["proactiveAudio"], fromProactiveAudio);
}
return toObject;
}
function liveConnectConfigToMldev$1(fromObject, parentObject) {
const toObject = {};
const fromGenerationConfig = getValueByPath(fromObject, [
"generationConfig"
]);
if (parentObject !== void 0 && fromGenerationConfig != null) {
setValueByPath(parentObject, ["setup", "generationConfig"], fromGenerationConfig);
}
const fromResponseModalities = getValueByPath(fromObject, [
"responseModalities"
]);
if (parentObject !== void 0 && fromResponseModalities != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "responseModalities"], fromResponseModalities);
}
const fromTemperature = getValueByPath(fromObject, ["temperature"]);
if (parentObject !== void 0 && fromTemperature != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "temperature"], fromTemperature);
}
const fromTopP = getValueByPath(fromObject, ["topP"]);
if (parentObject !== void 0 && fromTopP != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "topP"], fromTopP);
}
const fromTopK = getValueByPath(fromObject, ["topK"]);
if (parentObject !== void 0 && fromTopK != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "topK"], fromTopK);
}
const fromMaxOutputTokens = getValueByPath(fromObject, [
"maxOutputTokens"
]);
if (parentObject !== void 0 && fromMaxOutputTokens != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "maxOutputTokens"], fromMaxOutputTokens);
}
const fromMediaResolution = getValueByPath(fromObject, [
"mediaResolution"
]);
if (parentObject !== void 0 && fromMediaResolution != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "mediaResolution"], fromMediaResolution);
}
const fromSeed = getValueByPath(fromObject, ["seed"]);
if (parentObject !== void 0 && fromSeed != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "seed"], fromSeed);
}
const fromSpeechConfig = getValueByPath(fromObject, ["speechConfig"]);
if (parentObject !== void 0 && fromSpeechConfig != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "speechConfig"], speechConfigToMldev$2(tLiveSpeechConfig(fromSpeechConfig)));
}
const fromEnableAffectiveDialog = getValueByPath(fromObject, [
"enableAffectiveDialog"
]);
if (parentObject !== void 0 && fromEnableAffectiveDialog != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "enableAffectiveDialog"], fromEnableAffectiveDialog);
}
const fromSystemInstruction = getValueByPath(fromObject, [
"systemInstruction"
]);
if (parentObject !== void 0 && fromSystemInstruction != null) {
setValueByPath(parentObject, ["setup", "systemInstruction"], contentToMldev$2(tContent(fromSystemInstruction)));
}
const fromTools = getValueByPath(fromObject, ["tools"]);
if (parentObject !== void 0 && fromTools != null) {
let transformedList = tTools(fromTools);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return toolToMldev$2(tTool(item));
});
}
setValueByPath(parentObject, ["setup", "tools"], transformedList);
}
const fromSessionResumption = getValueByPath(fromObject, [
"sessionResumption"
]);
if (parentObject !== void 0 && fromSessionResumption != null) {
setValueByPath(parentObject, ["setup", "sessionResumption"], sessionResumptionConfigToMldev$1(fromSessionResumption));
}
const fromInputAudioTranscription = getValueByPath(fromObject, [
"inputAudioTranscription"
]);
if (parentObject !== void 0 && fromInputAudioTranscription != null) {
setValueByPath(parentObject, ["setup", "inputAudioTranscription"], audioTranscriptionConfigToMldev$1());
}
const fromOutputAudioTranscription = getValueByPath(fromObject, [
"outputAudioTranscription"
]);
if (parentObject !== void 0 && fromOutputAudioTranscription != null) {
setValueByPath(parentObject, ["setup", "outputAudioTranscription"], audioTranscriptionConfigToMldev$1());
}
const fromRealtimeInputConfig = getValueByPath(fromObject, [
"realtimeInputConfig"
]);
if (parentObject !== void 0 && fromRealtimeInputConfig != null) {
setValueByPath(parentObject, ["setup", "realtimeInputConfig"], realtimeInputConfigToMldev$1(fromRealtimeInputConfig));
}
const fromContextWindowCompression = getValueByPath(fromObject, [
"contextWindowCompression"
]);
if (parentObject !== void 0 && fromContextWindowCompression != null) {
setValueByPath(parentObject, ["setup", "contextWindowCompression"], contextWindowCompressionConfigToMldev$1(fromContextWindowCompression));
}
const fromProactivity = getValueByPath(fromObject, ["proactivity"]);
if (parentObject !== void 0 && fromProactivity != null) {
setValueByPath(parentObject, ["setup", "proactivity"], proactivityConfigToMldev$1(fromProactivity));
}
return toObject;
}
function liveConnectParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["setup", "model"], tModel(apiClient, fromModel));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], liveConnectConfigToMldev$1(fromConfig, toObject));
}
return toObject;
}
function activityStartToMldev() {
const toObject = {};
return toObject;
}
function activityEndToMldev() {
const toObject = {};
return toObject;
}
function liveSendRealtimeInputParametersToMldev(fromObject) {
const toObject = {};
const fromMedia = getValueByPath(fromObject, ["media"]);
if (fromMedia != null) {
setValueByPath(toObject, ["mediaChunks"], tBlobs(fromMedia));
}
const fromAudio = getValueByPath(fromObject, ["audio"]);
if (fromAudio != null) {
setValueByPath(toObject, ["audio"], tAudioBlob(fromAudio));
}
const fromAudioStreamEnd = getValueByPath(fromObject, [
"audioStreamEnd"
]);
if (fromAudioStreamEnd != null) {
setValueByPath(toObject, ["audioStreamEnd"], fromAudioStreamEnd);
}
const fromVideo = getValueByPath(fromObject, ["video"]);
if (fromVideo != null) {
setValueByPath(toObject, ["video"], tImageBlob(fromVideo));
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
const fromActivityStart = getValueByPath(fromObject, [
"activityStart"
]);
if (fromActivityStart != null) {
setValueByPath(toObject, ["activityStart"], activityStartToMldev());
}
const fromActivityEnd = getValueByPath(fromObject, ["activityEnd"]);
if (fromActivityEnd != null) {
setValueByPath(toObject, ["activityEnd"], activityEndToMldev());
}
return toObject;
}
function weightedPromptToMldev(fromObject) {
const toObject = {};
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
const fromWeight = getValueByPath(fromObject, ["weight"]);
if (fromWeight != null) {
setValueByPath(toObject, ["weight"], fromWeight);
}
return toObject;
}
function liveMusicSetWeightedPromptsParametersToMldev(fromObject) {
const toObject = {};
const fromWeightedPrompts = getValueByPath(fromObject, [
"weightedPrompts"
]);
if (fromWeightedPrompts != null) {
let transformedList = fromWeightedPrompts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return weightedPromptToMldev(item);
});
}
setValueByPath(toObject, ["weightedPrompts"], transformedList);
}
return toObject;
}
function liveMusicGenerationConfigToMldev(fromObject) {
const toObject = {};
const fromTemperature = getValueByPath(fromObject, ["temperature"]);
if (fromTemperature != null) {
setValueByPath(toObject, ["temperature"], fromTemperature);
}
const fromTopK = getValueByPath(fromObject, ["topK"]);
if (fromTopK != null) {
setValueByPath(toObject, ["topK"], fromTopK);
}
const fromSeed = getValueByPath(fromObject, ["seed"]);
if (fromSeed != null) {
setValueByPath(toObject, ["seed"], fromSeed);
}
const fromGuidance = getValueByPath(fromObject, ["guidance"]);
if (fromGuidance != null) {
setValueByPath(toObject, ["guidance"], fromGuidance);
}
const fromBpm = getValueByPath(fromObject, ["bpm"]);
if (fromBpm != null) {
setValueByPath(toObject, ["bpm"], fromBpm);
}
const fromDensity = getValueByPath(fromObject, ["density"]);
if (fromDensity != null) {
setValueByPath(toObject, ["density"], fromDensity);
}
const fromBrightness = getValueByPath(fromObject, ["brightness"]);
if (fromBrightness != null) {
setValueByPath(toObject, ["brightness"], fromBrightness);
}
const fromScale = getValueByPath(fromObject, ["scale"]);
if (fromScale != null) {
setValueByPath(toObject, ["scale"], fromScale);
}
const fromMuteBass = getValueByPath(fromObject, ["muteBass"]);
if (fromMuteBass != null) {
setValueByPath(toObject, ["muteBass"], fromMuteBass);
}
const fromMuteDrums = getValueByPath(fromObject, ["muteDrums"]);
if (fromMuteDrums != null) {
setValueByPath(toObject, ["muteDrums"], fromMuteDrums);
}
const fromOnlyBassAndDrums = getValueByPath(fromObject, [
"onlyBassAndDrums"
]);
if (fromOnlyBassAndDrums != null) {
setValueByPath(toObject, ["onlyBassAndDrums"], fromOnlyBassAndDrums);
}
const fromMusicGenerationMode = getValueByPath(fromObject, [
"musicGenerationMode"
]);
if (fromMusicGenerationMode != null) {
setValueByPath(toObject, ["musicGenerationMode"], fromMusicGenerationMode);
}
return toObject;
}
function liveMusicSetConfigParametersToMldev(fromObject) {
const toObject = {};
const fromMusicGenerationConfig = getValueByPath(fromObject, [
"musicGenerationConfig"
]);
if (fromMusicGenerationConfig != null) {
setValueByPath(toObject, ["musicGenerationConfig"], liveMusicGenerationConfigToMldev(fromMusicGenerationConfig));
}
return toObject;
}
function liveMusicClientSetupToMldev(fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["model"], fromModel);
}
return toObject;
}
function liveMusicClientContentToMldev(fromObject) {
const toObject = {};
const fromWeightedPrompts = getValueByPath(fromObject, [
"weightedPrompts"
]);
if (fromWeightedPrompts != null) {
let transformedList = fromWeightedPrompts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return weightedPromptToMldev(item);
});
}
setValueByPath(toObject, ["weightedPrompts"], transformedList);
}
return toObject;
}
function liveMusicClientMessageToMldev(fromObject) {
const toObject = {};
const fromSetup = getValueByPath(fromObject, ["setup"]);
if (fromSetup != null) {
setValueByPath(toObject, ["setup"], liveMusicClientSetupToMldev(fromSetup));
}
const fromClientContent = getValueByPath(fromObject, [
"clientContent"
]);
if (fromClientContent != null) {
setValueByPath(toObject, ["clientContent"], liveMusicClientContentToMldev(fromClientContent));
}
const fromMusicGenerationConfig = getValueByPath(fromObject, [
"musicGenerationConfig"
]);
if (fromMusicGenerationConfig != null) {
setValueByPath(toObject, ["musicGenerationConfig"], liveMusicGenerationConfigToMldev(fromMusicGenerationConfig));
}
const fromPlaybackControl = getValueByPath(fromObject, [
"playbackControl"
]);
if (fromPlaybackControl != null) {
setValueByPath(toObject, ["playbackControl"], fromPlaybackControl);
}
return toObject;
}
function prebuiltVoiceConfigToVertex$1(fromObject) {
const toObject = {};
const fromVoiceName = getValueByPath(fromObject, ["voiceName"]);
if (fromVoiceName != null) {
setValueByPath(toObject, ["voiceName"], fromVoiceName);
}
return toObject;
}
function voiceConfigToVertex$1(fromObject) {
const toObject = {};
const fromPrebuiltVoiceConfig = getValueByPath(fromObject, [
"prebuiltVoiceConfig"
]);
if (fromPrebuiltVoiceConfig != null) {
setValueByPath(toObject, ["prebuiltVoiceConfig"], prebuiltVoiceConfigToVertex$1(fromPrebuiltVoiceConfig));
}
return toObject;
}
function speechConfigToVertex$1(fromObject) {
const toObject = {};
const fromVoiceConfig = getValueByPath(fromObject, ["voiceConfig"]);
if (fromVoiceConfig != null) {
setValueByPath(toObject, ["voiceConfig"], voiceConfigToVertex$1(fromVoiceConfig));
}
if (getValueByPath(fromObject, ["multiSpeakerVoiceConfig"]) !== void 0) {
throw new Error("multiSpeakerVoiceConfig parameter is not supported in Vertex AI.");
}
const fromLanguageCode = getValueByPath(fromObject, ["languageCode"]);
if (fromLanguageCode != null) {
setValueByPath(toObject, ["languageCode"], fromLanguageCode);
}
return toObject;
}
function videoMetadataToVertex$1(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobToVertex$1(fromObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataToVertex$1(fromObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partToVertex$1(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataToVertex$1(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobToVertex$1(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataToVertex$1(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentToVertex$1(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partToVertex$1(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function functionDeclarationToVertex$1(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["behavior"]) !== void 0) {
throw new Error("behavior parameter is not supported in Vertex AI.");
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromParameters = getValueByPath(fromObject, ["parameters"]);
if (fromParameters != null) {
setValueByPath(toObject, ["parameters"], fromParameters);
}
const fromParametersJsonSchema = getValueByPath(fromObject, [
"parametersJsonSchema"
]);
if (fromParametersJsonSchema != null) {
setValueByPath(toObject, ["parametersJsonSchema"], fromParametersJsonSchema);
}
const fromResponse = getValueByPath(fromObject, ["response"]);
if (fromResponse != null) {
setValueByPath(toObject, ["response"], fromResponse);
}
const fromResponseJsonSchema = getValueByPath(fromObject, [
"responseJsonSchema"
]);
if (fromResponseJsonSchema != null) {
setValueByPath(toObject, ["responseJsonSchema"], fromResponseJsonSchema);
}
return toObject;
}
function intervalToVertex$1(fromObject) {
const toObject = {};
const fromStartTime = getValueByPath(fromObject, ["startTime"]);
if (fromStartTime != null) {
setValueByPath(toObject, ["startTime"], fromStartTime);
}
const fromEndTime = getValueByPath(fromObject, ["endTime"]);
if (fromEndTime != null) {
setValueByPath(toObject, ["endTime"], fromEndTime);
}
return toObject;
}
function googleSearchToVertex$1(fromObject) {
const toObject = {};
const fromTimeRangeFilter = getValueByPath(fromObject, [
"timeRangeFilter"
]);
if (fromTimeRangeFilter != null) {
setValueByPath(toObject, ["timeRangeFilter"], intervalToVertex$1(fromTimeRangeFilter));
}
const fromExcludeDomains = getValueByPath(fromObject, [
"excludeDomains"
]);
if (fromExcludeDomains != null) {
setValueByPath(toObject, ["excludeDomains"], fromExcludeDomains);
}
return toObject;
}
function dynamicRetrievalConfigToVertex$1(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromDynamicThreshold = getValueByPath(fromObject, [
"dynamicThreshold"
]);
if (fromDynamicThreshold != null) {
setValueByPath(toObject, ["dynamicThreshold"], fromDynamicThreshold);
}
return toObject;
}
function googleSearchRetrievalToVertex$1(fromObject) {
const toObject = {};
const fromDynamicRetrievalConfig = getValueByPath(fromObject, [
"dynamicRetrievalConfig"
]);
if (fromDynamicRetrievalConfig != null) {
setValueByPath(toObject, ["dynamicRetrievalConfig"], dynamicRetrievalConfigToVertex$1(fromDynamicRetrievalConfig));
}
return toObject;
}
function enterpriseWebSearchToVertex$1(fromObject) {
const toObject = {};
const fromExcludeDomains = getValueByPath(fromObject, [
"excludeDomains"
]);
if (fromExcludeDomains != null) {
setValueByPath(toObject, ["excludeDomains"], fromExcludeDomains);
}
return toObject;
}
function apiKeyConfigToVertex$1(fromObject) {
const toObject = {};
const fromApiKeyString = getValueByPath(fromObject, ["apiKeyString"]);
if (fromApiKeyString != null) {
setValueByPath(toObject, ["apiKeyString"], fromApiKeyString);
}
return toObject;
}
function authConfigToVertex$1(fromObject) {
const toObject = {};
const fromApiKeyConfig = getValueByPath(fromObject, ["apiKeyConfig"]);
if (fromApiKeyConfig != null) {
setValueByPath(toObject, ["apiKeyConfig"], apiKeyConfigToVertex$1(fromApiKeyConfig));
}
const fromAuthType = getValueByPath(fromObject, ["authType"]);
if (fromAuthType != null) {
setValueByPath(toObject, ["authType"], fromAuthType);
}
const fromGoogleServiceAccountConfig = getValueByPath(fromObject, [
"googleServiceAccountConfig"
]);
if (fromGoogleServiceAccountConfig != null) {
setValueByPath(toObject, ["googleServiceAccountConfig"], fromGoogleServiceAccountConfig);
}
const fromHttpBasicAuthConfig = getValueByPath(fromObject, [
"httpBasicAuthConfig"
]);
if (fromHttpBasicAuthConfig != null) {
setValueByPath(toObject, ["httpBasicAuthConfig"], fromHttpBasicAuthConfig);
}
const fromOauthConfig = getValueByPath(fromObject, ["oauthConfig"]);
if (fromOauthConfig != null) {
setValueByPath(toObject, ["oauthConfig"], fromOauthConfig);
}
const fromOidcConfig = getValueByPath(fromObject, ["oidcConfig"]);
if (fromOidcConfig != null) {
setValueByPath(toObject, ["oidcConfig"], fromOidcConfig);
}
return toObject;
}
function googleMapsToVertex$1(fromObject) {
const toObject = {};
const fromAuthConfig = getValueByPath(fromObject, ["authConfig"]);
if (fromAuthConfig != null) {
setValueByPath(toObject, ["authConfig"], authConfigToVertex$1(fromAuthConfig));
}
return toObject;
}
function urlContextToVertex$1() {
const toObject = {};
return toObject;
}
function toolComputerUseToVertex$1(fromObject) {
const toObject = {};
const fromEnvironment = getValueByPath(fromObject, ["environment"]);
if (fromEnvironment != null) {
setValueByPath(toObject, ["environment"], fromEnvironment);
}
return toObject;
}
function toolToVertex$1(fromObject) {
const toObject = {};
const fromFunctionDeclarations = getValueByPath(fromObject, [
"functionDeclarations"
]);
if (fromFunctionDeclarations != null) {
let transformedList = fromFunctionDeclarations;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return functionDeclarationToVertex$1(item);
});
}
setValueByPath(toObject, ["functionDeclarations"], transformedList);
}
const fromRetrieval = getValueByPath(fromObject, ["retrieval"]);
if (fromRetrieval != null) {
setValueByPath(toObject, ["retrieval"], fromRetrieval);
}
const fromGoogleSearch = getValueByPath(fromObject, ["googleSearch"]);
if (fromGoogleSearch != null) {
setValueByPath(toObject, ["googleSearch"], googleSearchToVertex$1(fromGoogleSearch));
}
const fromGoogleSearchRetrieval = getValueByPath(fromObject, [
"googleSearchRetrieval"
]);
if (fromGoogleSearchRetrieval != null) {
setValueByPath(toObject, ["googleSearchRetrieval"], googleSearchRetrievalToVertex$1(fromGoogleSearchRetrieval));
}
const fromEnterpriseWebSearch = getValueByPath(fromObject, [
"enterpriseWebSearch"
]);
if (fromEnterpriseWebSearch != null) {
setValueByPath(toObject, ["enterpriseWebSearch"], enterpriseWebSearchToVertex$1(fromEnterpriseWebSearch));
}
const fromGoogleMaps = getValueByPath(fromObject, ["googleMaps"]);
if (fromGoogleMaps != null) {
setValueByPath(toObject, ["googleMaps"], googleMapsToVertex$1(fromGoogleMaps));
}
const fromUrlContext = getValueByPath(fromObject, ["urlContext"]);
if (fromUrlContext != null) {
setValueByPath(toObject, ["urlContext"], urlContextToVertex$1());
}
const fromComputerUse = getValueByPath(fromObject, ["computerUse"]);
if (fromComputerUse != null) {
setValueByPath(toObject, ["computerUse"], toolComputerUseToVertex$1(fromComputerUse));
}
const fromCodeExecution = getValueByPath(fromObject, [
"codeExecution"
]);
if (fromCodeExecution != null) {
setValueByPath(toObject, ["codeExecution"], fromCodeExecution);
}
return toObject;
}
function sessionResumptionConfigToVertex(fromObject) {
const toObject = {};
const fromHandle = getValueByPath(fromObject, ["handle"]);
if (fromHandle != null) {
setValueByPath(toObject, ["handle"], fromHandle);
}
const fromTransparent = getValueByPath(fromObject, ["transparent"]);
if (fromTransparent != null) {
setValueByPath(toObject, ["transparent"], fromTransparent);
}
return toObject;
}
function audioTranscriptionConfigToVertex() {
const toObject = {};
return toObject;
}
function automaticActivityDetectionToVertex(fromObject) {
const toObject = {};
const fromDisabled = getValueByPath(fromObject, ["disabled"]);
if (fromDisabled != null) {
setValueByPath(toObject, ["disabled"], fromDisabled);
}
const fromStartOfSpeechSensitivity = getValueByPath(fromObject, [
"startOfSpeechSensitivity"
]);
if (fromStartOfSpeechSensitivity != null) {
setValueByPath(toObject, ["startOfSpeechSensitivity"], fromStartOfSpeechSensitivity);
}
const fromEndOfSpeechSensitivity = getValueByPath(fromObject, [
"endOfSpeechSensitivity"
]);
if (fromEndOfSpeechSensitivity != null) {
setValueByPath(toObject, ["endOfSpeechSensitivity"], fromEndOfSpeechSensitivity);
}
const fromPrefixPaddingMs = getValueByPath(fromObject, [
"prefixPaddingMs"
]);
if (fromPrefixPaddingMs != null) {
setValueByPath(toObject, ["prefixPaddingMs"], fromPrefixPaddingMs);
}
const fromSilenceDurationMs = getValueByPath(fromObject, [
"silenceDurationMs"
]);
if (fromSilenceDurationMs != null) {
setValueByPath(toObject, ["silenceDurationMs"], fromSilenceDurationMs);
}
return toObject;
}
function realtimeInputConfigToVertex(fromObject) {
const toObject = {};
const fromAutomaticActivityDetection = getValueByPath(fromObject, [
"automaticActivityDetection"
]);
if (fromAutomaticActivityDetection != null) {
setValueByPath(toObject, ["automaticActivityDetection"], automaticActivityDetectionToVertex(fromAutomaticActivityDetection));
}
const fromActivityHandling = getValueByPath(fromObject, [
"activityHandling"
]);
if (fromActivityHandling != null) {
setValueByPath(toObject, ["activityHandling"], fromActivityHandling);
}
const fromTurnCoverage = getValueByPath(fromObject, ["turnCoverage"]);
if (fromTurnCoverage != null) {
setValueByPath(toObject, ["turnCoverage"], fromTurnCoverage);
}
return toObject;
}
function slidingWindowToVertex(fromObject) {
const toObject = {};
const fromTargetTokens = getValueByPath(fromObject, ["targetTokens"]);
if (fromTargetTokens != null) {
setValueByPath(toObject, ["targetTokens"], fromTargetTokens);
}
return toObject;
}
function contextWindowCompressionConfigToVertex(fromObject) {
const toObject = {};
const fromTriggerTokens = getValueByPath(fromObject, [
"triggerTokens"
]);
if (fromTriggerTokens != null) {
setValueByPath(toObject, ["triggerTokens"], fromTriggerTokens);
}
const fromSlidingWindow = getValueByPath(fromObject, [
"slidingWindow"
]);
if (fromSlidingWindow != null) {
setValueByPath(toObject, ["slidingWindow"], slidingWindowToVertex(fromSlidingWindow));
}
return toObject;
}
function proactivityConfigToVertex(fromObject) {
const toObject = {};
const fromProactiveAudio = getValueByPath(fromObject, [
"proactiveAudio"
]);
if (fromProactiveAudio != null) {
setValueByPath(toObject, ["proactiveAudio"], fromProactiveAudio);
}
return toObject;
}
function liveConnectConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromGenerationConfig = getValueByPath(fromObject, [
"generationConfig"
]);
if (parentObject !== void 0 && fromGenerationConfig != null) {
setValueByPath(parentObject, ["setup", "generationConfig"], fromGenerationConfig);
}
const fromResponseModalities = getValueByPath(fromObject, [
"responseModalities"
]);
if (parentObject !== void 0 && fromResponseModalities != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "responseModalities"], fromResponseModalities);
}
const fromTemperature = getValueByPath(fromObject, ["temperature"]);
if (parentObject !== void 0 && fromTemperature != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "temperature"], fromTemperature);
}
const fromTopP = getValueByPath(fromObject, ["topP"]);
if (parentObject !== void 0 && fromTopP != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "topP"], fromTopP);
}
const fromTopK = getValueByPath(fromObject, ["topK"]);
if (parentObject !== void 0 && fromTopK != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "topK"], fromTopK);
}
const fromMaxOutputTokens = getValueByPath(fromObject, [
"maxOutputTokens"
]);
if (parentObject !== void 0 && fromMaxOutputTokens != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "maxOutputTokens"], fromMaxOutputTokens);
}
const fromMediaResolution = getValueByPath(fromObject, [
"mediaResolution"
]);
if (parentObject !== void 0 && fromMediaResolution != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "mediaResolution"], fromMediaResolution);
}
const fromSeed = getValueByPath(fromObject, ["seed"]);
if (parentObject !== void 0 && fromSeed != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "seed"], fromSeed);
}
const fromSpeechConfig = getValueByPath(fromObject, ["speechConfig"]);
if (parentObject !== void 0 && fromSpeechConfig != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "speechConfig"], speechConfigToVertex$1(tLiveSpeechConfig(fromSpeechConfig)));
}
const fromEnableAffectiveDialog = getValueByPath(fromObject, [
"enableAffectiveDialog"
]);
if (parentObject !== void 0 && fromEnableAffectiveDialog != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "enableAffectiveDialog"], fromEnableAffectiveDialog);
}
const fromSystemInstruction = getValueByPath(fromObject, [
"systemInstruction"
]);
if (parentObject !== void 0 && fromSystemInstruction != null) {
setValueByPath(parentObject, ["setup", "systemInstruction"], contentToVertex$1(tContent(fromSystemInstruction)));
}
const fromTools = getValueByPath(fromObject, ["tools"]);
if (parentObject !== void 0 && fromTools != null) {
let transformedList = tTools(fromTools);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return toolToVertex$1(tTool(item));
});
}
setValueByPath(parentObject, ["setup", "tools"], transformedList);
}
const fromSessionResumption = getValueByPath(fromObject, [
"sessionResumption"
]);
if (parentObject !== void 0 && fromSessionResumption != null) {
setValueByPath(parentObject, ["setup", "sessionResumption"], sessionResumptionConfigToVertex(fromSessionResumption));
}
const fromInputAudioTranscription = getValueByPath(fromObject, [
"inputAudioTranscription"
]);
if (parentObject !== void 0 && fromInputAudioTranscription != null) {
setValueByPath(parentObject, ["setup", "inputAudioTranscription"], audioTranscriptionConfigToVertex());
}
const fromOutputAudioTranscription = getValueByPath(fromObject, [
"outputAudioTranscription"
]);
if (parentObject !== void 0 && fromOutputAudioTranscription != null) {
setValueByPath(parentObject, ["setup", "outputAudioTranscription"], audioTranscriptionConfigToVertex());
}
const fromRealtimeInputConfig = getValueByPath(fromObject, [
"realtimeInputConfig"
]);
if (parentObject !== void 0 && fromRealtimeInputConfig != null) {
setValueByPath(parentObject, ["setup", "realtimeInputConfig"], realtimeInputConfigToVertex(fromRealtimeInputConfig));
}
const fromContextWindowCompression = getValueByPath(fromObject, [
"contextWindowCompression"
]);
if (parentObject !== void 0 && fromContextWindowCompression != null) {
setValueByPath(parentObject, ["setup", "contextWindowCompression"], contextWindowCompressionConfigToVertex(fromContextWindowCompression));
}
const fromProactivity = getValueByPath(fromObject, ["proactivity"]);
if (parentObject !== void 0 && fromProactivity != null) {
setValueByPath(parentObject, ["setup", "proactivity"], proactivityConfigToVertex(fromProactivity));
}
return toObject;
}
function liveConnectParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["setup", "model"], tModel(apiClient, fromModel));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], liveConnectConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function activityStartToVertex() {
const toObject = {};
return toObject;
}
function activityEndToVertex() {
const toObject = {};
return toObject;
}
function liveSendRealtimeInputParametersToVertex(fromObject) {
const toObject = {};
const fromMedia = getValueByPath(fromObject, ["media"]);
if (fromMedia != null) {
setValueByPath(toObject, ["mediaChunks"], tBlobs(fromMedia));
}
const fromAudio = getValueByPath(fromObject, ["audio"]);
if (fromAudio != null) {
setValueByPath(toObject, ["audio"], tAudioBlob(fromAudio));
}
const fromAudioStreamEnd = getValueByPath(fromObject, [
"audioStreamEnd"
]);
if (fromAudioStreamEnd != null) {
setValueByPath(toObject, ["audioStreamEnd"], fromAudioStreamEnd);
}
const fromVideo = getValueByPath(fromObject, ["video"]);
if (fromVideo != null) {
setValueByPath(toObject, ["video"], tImageBlob(fromVideo));
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
const fromActivityStart = getValueByPath(fromObject, [
"activityStart"
]);
if (fromActivityStart != null) {
setValueByPath(toObject, ["activityStart"], activityStartToVertex());
}
const fromActivityEnd = getValueByPath(fromObject, ["activityEnd"]);
if (fromActivityEnd != null) {
setValueByPath(toObject, ["activityEnd"], activityEndToVertex());
}
return toObject;
}
function liveServerSetupCompleteFromMldev() {
const toObject = {};
return toObject;
}
function videoMetadataFromMldev$1(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobFromMldev$1(fromObject) {
const toObject = {};
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataFromMldev$1(fromObject) {
const toObject = {};
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partFromMldev$1(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataFromMldev$1(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobFromMldev$1(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataFromMldev$1(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentFromMldev$1(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partFromMldev$1(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function transcriptionFromMldev(fromObject) {
const toObject = {};
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
const fromFinished = getValueByPath(fromObject, ["finished"]);
if (fromFinished != null) {
setValueByPath(toObject, ["finished"], fromFinished);
}
return toObject;
}
function urlMetadataFromMldev$1(fromObject) {
const toObject = {};
const fromRetrievedUrl = getValueByPath(fromObject, ["retrievedUrl"]);
if (fromRetrievedUrl != null) {
setValueByPath(toObject, ["retrievedUrl"], fromRetrievedUrl);
}
const fromUrlRetrievalStatus = getValueByPath(fromObject, [
"urlRetrievalStatus"
]);
if (fromUrlRetrievalStatus != null) {
setValueByPath(toObject, ["urlRetrievalStatus"], fromUrlRetrievalStatus);
}
return toObject;
}
function urlContextMetadataFromMldev$1(fromObject) {
const toObject = {};
const fromUrlMetadata = getValueByPath(fromObject, ["urlMetadata"]);
if (fromUrlMetadata != null) {
let transformedList = fromUrlMetadata;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return urlMetadataFromMldev$1(item);
});
}
setValueByPath(toObject, ["urlMetadata"], transformedList);
}
return toObject;
}
function liveServerContentFromMldev(fromObject) {
const toObject = {};
const fromModelTurn = getValueByPath(fromObject, ["modelTurn"]);
if (fromModelTurn != null) {
setValueByPath(toObject, ["modelTurn"], contentFromMldev$1(fromModelTurn));
}
const fromTurnComplete = getValueByPath(fromObject, ["turnComplete"]);
if (fromTurnComplete != null) {
setValueByPath(toObject, ["turnComplete"], fromTurnComplete);
}
const fromInterrupted = getValueByPath(fromObject, ["interrupted"]);
if (fromInterrupted != null) {
setValueByPath(toObject, ["interrupted"], fromInterrupted);
}
const fromGroundingMetadata = getValueByPath(fromObject, [
"groundingMetadata"
]);
if (fromGroundingMetadata != null) {
setValueByPath(toObject, ["groundingMetadata"], fromGroundingMetadata);
}
const fromGenerationComplete = getValueByPath(fromObject, [
"generationComplete"
]);
if (fromGenerationComplete != null) {
setValueByPath(toObject, ["generationComplete"], fromGenerationComplete);
}
const fromInputTranscription = getValueByPath(fromObject, [
"inputTranscription"
]);
if (fromInputTranscription != null) {
setValueByPath(toObject, ["inputTranscription"], transcriptionFromMldev(fromInputTranscription));
}
const fromOutputTranscription = getValueByPath(fromObject, [
"outputTranscription"
]);
if (fromOutputTranscription != null) {
setValueByPath(toObject, ["outputTranscription"], transcriptionFromMldev(fromOutputTranscription));
}
const fromUrlContextMetadata = getValueByPath(fromObject, [
"urlContextMetadata"
]);
if (fromUrlContextMetadata != null) {
setValueByPath(toObject, ["urlContextMetadata"], urlContextMetadataFromMldev$1(fromUrlContextMetadata));
}
return toObject;
}
function functionCallFromMldev(fromObject) {
const toObject = {};
const fromId = getValueByPath(fromObject, ["id"]);
if (fromId != null) {
setValueByPath(toObject, ["id"], fromId);
}
const fromArgs = getValueByPath(fromObject, ["args"]);
if (fromArgs != null) {
setValueByPath(toObject, ["args"], fromArgs);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
return toObject;
}
function liveServerToolCallFromMldev(fromObject) {
const toObject = {};
const fromFunctionCalls = getValueByPath(fromObject, [
"functionCalls"
]);
if (fromFunctionCalls != null) {
let transformedList = fromFunctionCalls;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return functionCallFromMldev(item);
});
}
setValueByPath(toObject, ["functionCalls"], transformedList);
}
return toObject;
}
function liveServerToolCallCancellationFromMldev(fromObject) {
const toObject = {};
const fromIds = getValueByPath(fromObject, ["ids"]);
if (fromIds != null) {
setValueByPath(toObject, ["ids"], fromIds);
}
return toObject;
}
function modalityTokenCountFromMldev(fromObject) {
const toObject = {};
const fromModality = getValueByPath(fromObject, ["modality"]);
if (fromModality != null) {
setValueByPath(toObject, ["modality"], fromModality);
}
const fromTokenCount = getValueByPath(fromObject, ["tokenCount"]);
if (fromTokenCount != null) {
setValueByPath(toObject, ["tokenCount"], fromTokenCount);
}
return toObject;
}
function usageMetadataFromMldev(fromObject) {
const toObject = {};
const fromPromptTokenCount = getValueByPath(fromObject, [
"promptTokenCount"
]);
if (fromPromptTokenCount != null) {
setValueByPath(toObject, ["promptTokenCount"], fromPromptTokenCount);
}
const fromCachedContentTokenCount = getValueByPath(fromObject, [
"cachedContentTokenCount"
]);
if (fromCachedContentTokenCount != null) {
setValueByPath(toObject, ["cachedContentTokenCount"], fromCachedContentTokenCount);
}
const fromResponseTokenCount = getValueByPath(fromObject, [
"responseTokenCount"
]);
if (fromResponseTokenCount != null) {
setValueByPath(toObject, ["responseTokenCount"], fromResponseTokenCount);
}
const fromToolUsePromptTokenCount = getValueByPath(fromObject, [
"toolUsePromptTokenCount"
]);
if (fromToolUsePromptTokenCount != null) {
setValueByPath(toObject, ["toolUsePromptTokenCount"], fromToolUsePromptTokenCount);
}
const fromThoughtsTokenCount = getValueByPath(fromObject, [
"thoughtsTokenCount"
]);
if (fromThoughtsTokenCount != null) {
setValueByPath(toObject, ["thoughtsTokenCount"], fromThoughtsTokenCount);
}
const fromTotalTokenCount = getValueByPath(fromObject, [
"totalTokenCount"
]);
if (fromTotalTokenCount != null) {
setValueByPath(toObject, ["totalTokenCount"], fromTotalTokenCount);
}
const fromPromptTokensDetails = getValueByPath(fromObject, [
"promptTokensDetails"
]);
if (fromPromptTokensDetails != null) {
let transformedList = fromPromptTokensDetails;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return modalityTokenCountFromMldev(item);
});
}
setValueByPath(toObject, ["promptTokensDetails"], transformedList);
}
const fromCacheTokensDetails = getValueByPath(fromObject, [
"cacheTokensDetails"
]);
if (fromCacheTokensDetails != null) {
let transformedList = fromCacheTokensDetails;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return modalityTokenCountFromMldev(item);
});
}
setValueByPath(toObject, ["cacheTokensDetails"], transformedList);
}
const fromResponseTokensDetails = getValueByPath(fromObject, [
"responseTokensDetails"
]);
if (fromResponseTokensDetails != null) {
let transformedList = fromResponseTokensDetails;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return modalityTokenCountFromMldev(item);
});
}
setValueByPath(toObject, ["responseTokensDetails"], transformedList);
}
const fromToolUsePromptTokensDetails = getValueByPath(fromObject, [
"toolUsePromptTokensDetails"
]);
if (fromToolUsePromptTokensDetails != null) {
let transformedList = fromToolUsePromptTokensDetails;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return modalityTokenCountFromMldev(item);
});
}
setValueByPath(toObject, ["toolUsePromptTokensDetails"], transformedList);
}
return toObject;
}
function liveServerGoAwayFromMldev(fromObject) {
const toObject = {};
const fromTimeLeft = getValueByPath(fromObject, ["timeLeft"]);
if (fromTimeLeft != null) {
setValueByPath(toObject, ["timeLeft"], fromTimeLeft);
}
return toObject;
}
function liveServerSessionResumptionUpdateFromMldev(fromObject) {
const toObject = {};
const fromNewHandle = getValueByPath(fromObject, ["newHandle"]);
if (fromNewHandle != null) {
setValueByPath(toObject, ["newHandle"], fromNewHandle);
}
const fromResumable = getValueByPath(fromObject, ["resumable"]);
if (fromResumable != null) {
setValueByPath(toObject, ["resumable"], fromResumable);
}
const fromLastConsumedClientMessageIndex = getValueByPath(fromObject, [
"lastConsumedClientMessageIndex"
]);
if (fromLastConsumedClientMessageIndex != null) {
setValueByPath(toObject, ["lastConsumedClientMessageIndex"], fromLastConsumedClientMessageIndex);
}
return toObject;
}
function liveServerMessageFromMldev(fromObject) {
const toObject = {};
const fromSetupComplete = getValueByPath(fromObject, [
"setupComplete"
]);
if (fromSetupComplete != null) {
setValueByPath(toObject, ["setupComplete"], liveServerSetupCompleteFromMldev());
}
const fromServerContent = getValueByPath(fromObject, [
"serverContent"
]);
if (fromServerContent != null) {
setValueByPath(toObject, ["serverContent"], liveServerContentFromMldev(fromServerContent));
}
const fromToolCall = getValueByPath(fromObject, ["toolCall"]);
if (fromToolCall != null) {
setValueByPath(toObject, ["toolCall"], liveServerToolCallFromMldev(fromToolCall));
}
const fromToolCallCancellation = getValueByPath(fromObject, [
"toolCallCancellation"
]);
if (fromToolCallCancellation != null) {
setValueByPath(toObject, ["toolCallCancellation"], liveServerToolCallCancellationFromMldev(fromToolCallCancellation));
}
const fromUsageMetadata = getValueByPath(fromObject, [
"usageMetadata"
]);
if (fromUsageMetadata != null) {
setValueByPath(toObject, ["usageMetadata"], usageMetadataFromMldev(fromUsageMetadata));
}
const fromGoAway = getValueByPath(fromObject, ["goAway"]);
if (fromGoAway != null) {
setValueByPath(toObject, ["goAway"], liveServerGoAwayFromMldev(fromGoAway));
}
const fromSessionResumptionUpdate = getValueByPath(fromObject, [
"sessionResumptionUpdate"
]);
if (fromSessionResumptionUpdate != null) {
setValueByPath(toObject, ["sessionResumptionUpdate"], liveServerSessionResumptionUpdateFromMldev(fromSessionResumptionUpdate));
}
return toObject;
}
function liveMusicServerSetupCompleteFromMldev() {
const toObject = {};
return toObject;
}
function weightedPromptFromMldev(fromObject) {
const toObject = {};
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
const fromWeight = getValueByPath(fromObject, ["weight"]);
if (fromWeight != null) {
setValueByPath(toObject, ["weight"], fromWeight);
}
return toObject;
}
function liveMusicClientContentFromMldev(fromObject) {
const toObject = {};
const fromWeightedPrompts = getValueByPath(fromObject, [
"weightedPrompts"
]);
if (fromWeightedPrompts != null) {
let transformedList = fromWeightedPrompts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return weightedPromptFromMldev(item);
});
}
setValueByPath(toObject, ["weightedPrompts"], transformedList);
}
return toObject;
}
function liveMusicGenerationConfigFromMldev(fromObject) {
const toObject = {};
const fromTemperature = getValueByPath(fromObject, ["temperature"]);
if (fromTemperature != null) {
setValueByPath(toObject, ["temperature"], fromTemperature);
}
const fromTopK = getValueByPath(fromObject, ["topK"]);
if (fromTopK != null) {
setValueByPath(toObject, ["topK"], fromTopK);
}
const fromSeed = getValueByPath(fromObject, ["seed"]);
if (fromSeed != null) {
setValueByPath(toObject, ["seed"], fromSeed);
}
const fromGuidance = getValueByPath(fromObject, ["guidance"]);
if (fromGuidance != null) {
setValueByPath(toObject, ["guidance"], fromGuidance);
}
const fromBpm = getValueByPath(fromObject, ["bpm"]);
if (fromBpm != null) {
setValueByPath(toObject, ["bpm"], fromBpm);
}
const fromDensity = getValueByPath(fromObject, ["density"]);
if (fromDensity != null) {
setValueByPath(toObject, ["density"], fromDensity);
}
const fromBrightness = getValueByPath(fromObject, ["brightness"]);
if (fromBrightness != null) {
setValueByPath(toObject, ["brightness"], fromBrightness);
}
const fromScale = getValueByPath(fromObject, ["scale"]);
if (fromScale != null) {
setValueByPath(toObject, ["scale"], fromScale);
}
const fromMuteBass = getValueByPath(fromObject, ["muteBass"]);
if (fromMuteBass != null) {
setValueByPath(toObject, ["muteBass"], fromMuteBass);
}
const fromMuteDrums = getValueByPath(fromObject, ["muteDrums"]);
if (fromMuteDrums != null) {
setValueByPath(toObject, ["muteDrums"], fromMuteDrums);
}
const fromOnlyBassAndDrums = getValueByPath(fromObject, [
"onlyBassAndDrums"
]);
if (fromOnlyBassAndDrums != null) {
setValueByPath(toObject, ["onlyBassAndDrums"], fromOnlyBassAndDrums);
}
const fromMusicGenerationMode = getValueByPath(fromObject, [
"musicGenerationMode"
]);
if (fromMusicGenerationMode != null) {
setValueByPath(toObject, ["musicGenerationMode"], fromMusicGenerationMode);
}
return toObject;
}
function liveMusicSourceMetadataFromMldev(fromObject) {
const toObject = {};
const fromClientContent = getValueByPath(fromObject, [
"clientContent"
]);
if (fromClientContent != null) {
setValueByPath(toObject, ["clientContent"], liveMusicClientContentFromMldev(fromClientContent));
}
const fromMusicGenerationConfig = getValueByPath(fromObject, [
"musicGenerationConfig"
]);
if (fromMusicGenerationConfig != null) {
setValueByPath(toObject, ["musicGenerationConfig"], liveMusicGenerationConfigFromMldev(fromMusicGenerationConfig));
}
return toObject;
}
function audioChunkFromMldev(fromObject) {
const toObject = {};
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
const fromSourceMetadata = getValueByPath(fromObject, [
"sourceMetadata"
]);
if (fromSourceMetadata != null) {
setValueByPath(toObject, ["sourceMetadata"], liveMusicSourceMetadataFromMldev(fromSourceMetadata));
}
return toObject;
}
function liveMusicServerContentFromMldev(fromObject) {
const toObject = {};
const fromAudioChunks = getValueByPath(fromObject, ["audioChunks"]);
if (fromAudioChunks != null) {
let transformedList = fromAudioChunks;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return audioChunkFromMldev(item);
});
}
setValueByPath(toObject, ["audioChunks"], transformedList);
}
return toObject;
}
function liveMusicFilteredPromptFromMldev(fromObject) {
const toObject = {};
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
const fromFilteredReason = getValueByPath(fromObject, [
"filteredReason"
]);
if (fromFilteredReason != null) {
setValueByPath(toObject, ["filteredReason"], fromFilteredReason);
}
return toObject;
}
function liveMusicServerMessageFromMldev(fromObject) {
const toObject = {};
const fromSetupComplete = getValueByPath(fromObject, [
"setupComplete"
]);
if (fromSetupComplete != null) {
setValueByPath(toObject, ["setupComplete"], liveMusicServerSetupCompleteFromMldev());
}
const fromServerContent = getValueByPath(fromObject, [
"serverContent"
]);
if (fromServerContent != null) {
setValueByPath(toObject, ["serverContent"], liveMusicServerContentFromMldev(fromServerContent));
}
const fromFilteredPrompt = getValueByPath(fromObject, [
"filteredPrompt"
]);
if (fromFilteredPrompt != null) {
setValueByPath(toObject, ["filteredPrompt"], liveMusicFilteredPromptFromMldev(fromFilteredPrompt));
}
return toObject;
}
function liveServerSetupCompleteFromVertex(fromObject) {
const toObject = {};
const fromSessionId = getValueByPath(fromObject, ["sessionId"]);
if (fromSessionId != null) {
setValueByPath(toObject, ["sessionId"], fromSessionId);
}
return toObject;
}
function videoMetadataFromVertex$1(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobFromVertex$1(fromObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataFromVertex$1(fromObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partFromVertex$1(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataFromVertex$1(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobFromVertex$1(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataFromVertex$1(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentFromVertex$1(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partFromVertex$1(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function transcriptionFromVertex(fromObject) {
const toObject = {};
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
const fromFinished = getValueByPath(fromObject, ["finished"]);
if (fromFinished != null) {
setValueByPath(toObject, ["finished"], fromFinished);
}
return toObject;
}
function liveServerContentFromVertex(fromObject) {
const toObject = {};
const fromModelTurn = getValueByPath(fromObject, ["modelTurn"]);
if (fromModelTurn != null) {
setValueByPath(toObject, ["modelTurn"], contentFromVertex$1(fromModelTurn));
}
const fromTurnComplete = getValueByPath(fromObject, ["turnComplete"]);
if (fromTurnComplete != null) {
setValueByPath(toObject, ["turnComplete"], fromTurnComplete);
}
const fromInterrupted = getValueByPath(fromObject, ["interrupted"]);
if (fromInterrupted != null) {
setValueByPath(toObject, ["interrupted"], fromInterrupted);
}
const fromGroundingMetadata = getValueByPath(fromObject, [
"groundingMetadata"
]);
if (fromGroundingMetadata != null) {
setValueByPath(toObject, ["groundingMetadata"], fromGroundingMetadata);
}
const fromGenerationComplete = getValueByPath(fromObject, [
"generationComplete"
]);
if (fromGenerationComplete != null) {
setValueByPath(toObject, ["generationComplete"], fromGenerationComplete);
}
const fromInputTranscription = getValueByPath(fromObject, [
"inputTranscription"
]);
if (fromInputTranscription != null) {
setValueByPath(toObject, ["inputTranscription"], transcriptionFromVertex(fromInputTranscription));
}
const fromOutputTranscription = getValueByPath(fromObject, [
"outputTranscription"
]);
if (fromOutputTranscription != null) {
setValueByPath(toObject, ["outputTranscription"], transcriptionFromVertex(fromOutputTranscription));
}
return toObject;
}
function functionCallFromVertex(fromObject) {
const toObject = {};
const fromArgs = getValueByPath(fromObject, ["args"]);
if (fromArgs != null) {
setValueByPath(toObject, ["args"], fromArgs);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
return toObject;
}
function liveServerToolCallFromVertex(fromObject) {
const toObject = {};
const fromFunctionCalls = getValueByPath(fromObject, [
"functionCalls"
]);
if (fromFunctionCalls != null) {
let transformedList = fromFunctionCalls;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return functionCallFromVertex(item);
});
}
setValueByPath(toObject, ["functionCalls"], transformedList);
}
return toObject;
}
function liveServerToolCallCancellationFromVertex(fromObject) {
const toObject = {};
const fromIds = getValueByPath(fromObject, ["ids"]);
if (fromIds != null) {
setValueByPath(toObject, ["ids"], fromIds);
}
return toObject;
}
function modalityTokenCountFromVertex(fromObject) {
const toObject = {};
const fromModality = getValueByPath(fromObject, ["modality"]);
if (fromModality != null) {
setValueByPath(toObject, ["modality"], fromModality);
}
const fromTokenCount = getValueByPath(fromObject, ["tokenCount"]);
if (fromTokenCount != null) {
setValueByPath(toObject, ["tokenCount"], fromTokenCount);
}
return toObject;
}
function usageMetadataFromVertex(fromObject) {
const toObject = {};
const fromPromptTokenCount = getValueByPath(fromObject, [
"promptTokenCount"
]);
if (fromPromptTokenCount != null) {
setValueByPath(toObject, ["promptTokenCount"], fromPromptTokenCount);
}
const fromCachedContentTokenCount = getValueByPath(fromObject, [
"cachedContentTokenCount"
]);
if (fromCachedContentTokenCount != null) {
setValueByPath(toObject, ["cachedContentTokenCount"], fromCachedContentTokenCount);
}
const fromResponseTokenCount = getValueByPath(fromObject, [
"candidatesTokenCount"
]);
if (fromResponseTokenCount != null) {
setValueByPath(toObject, ["responseTokenCount"], fromResponseTokenCount);
}
const fromToolUsePromptTokenCount = getValueByPath(fromObject, [
"toolUsePromptTokenCount"
]);
if (fromToolUsePromptTokenCount != null) {
setValueByPath(toObject, ["toolUsePromptTokenCount"], fromToolUsePromptTokenCount);
}
const fromThoughtsTokenCount = getValueByPath(fromObject, [
"thoughtsTokenCount"
]);
if (fromThoughtsTokenCount != null) {
setValueByPath(toObject, ["thoughtsTokenCount"], fromThoughtsTokenCount);
}
const fromTotalTokenCount = getValueByPath(fromObject, [
"totalTokenCount"
]);
if (fromTotalTokenCount != null) {
setValueByPath(toObject, ["totalTokenCount"], fromTotalTokenCount);
}
const fromPromptTokensDetails = getValueByPath(fromObject, [
"promptTokensDetails"
]);
if (fromPromptTokensDetails != null) {
let transformedList = fromPromptTokensDetails;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return modalityTokenCountFromVertex(item);
});
}
setValueByPath(toObject, ["promptTokensDetails"], transformedList);
}
const fromCacheTokensDetails = getValueByPath(fromObject, [
"cacheTokensDetails"
]);
if (fromCacheTokensDetails != null) {
let transformedList = fromCacheTokensDetails;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return modalityTokenCountFromVertex(item);
});
}
setValueByPath(toObject, ["cacheTokensDetails"], transformedList);
}
const fromResponseTokensDetails = getValueByPath(fromObject, [
"candidatesTokensDetails"
]);
if (fromResponseTokensDetails != null) {
let transformedList = fromResponseTokensDetails;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return modalityTokenCountFromVertex(item);
});
}
setValueByPath(toObject, ["responseTokensDetails"], transformedList);
}
const fromToolUsePromptTokensDetails = getValueByPath(fromObject, [
"toolUsePromptTokensDetails"
]);
if (fromToolUsePromptTokensDetails != null) {
let transformedList = fromToolUsePromptTokensDetails;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return modalityTokenCountFromVertex(item);
});
}
setValueByPath(toObject, ["toolUsePromptTokensDetails"], transformedList);
}
const fromTrafficType = getValueByPath(fromObject, ["trafficType"]);
if (fromTrafficType != null) {
setValueByPath(toObject, ["trafficType"], fromTrafficType);
}
return toObject;
}
function liveServerGoAwayFromVertex(fromObject) {
const toObject = {};
const fromTimeLeft = getValueByPath(fromObject, ["timeLeft"]);
if (fromTimeLeft != null) {
setValueByPath(toObject, ["timeLeft"], fromTimeLeft);
}
return toObject;
}
function liveServerSessionResumptionUpdateFromVertex(fromObject) {
const toObject = {};
const fromNewHandle = getValueByPath(fromObject, ["newHandle"]);
if (fromNewHandle != null) {
setValueByPath(toObject, ["newHandle"], fromNewHandle);
}
const fromResumable = getValueByPath(fromObject, ["resumable"]);
if (fromResumable != null) {
setValueByPath(toObject, ["resumable"], fromResumable);
}
const fromLastConsumedClientMessageIndex = getValueByPath(fromObject, [
"lastConsumedClientMessageIndex"
]);
if (fromLastConsumedClientMessageIndex != null) {
setValueByPath(toObject, ["lastConsumedClientMessageIndex"], fromLastConsumedClientMessageIndex);
}
return toObject;
}
function liveServerMessageFromVertex(fromObject) {
const toObject = {};
const fromSetupComplete = getValueByPath(fromObject, [
"setupComplete"
]);
if (fromSetupComplete != null) {
setValueByPath(toObject, ["setupComplete"], liveServerSetupCompleteFromVertex(fromSetupComplete));
}
const fromServerContent = getValueByPath(fromObject, [
"serverContent"
]);
if (fromServerContent != null) {
setValueByPath(toObject, ["serverContent"], liveServerContentFromVertex(fromServerContent));
}
const fromToolCall = getValueByPath(fromObject, ["toolCall"]);
if (fromToolCall != null) {
setValueByPath(toObject, ["toolCall"], liveServerToolCallFromVertex(fromToolCall));
}
const fromToolCallCancellation = getValueByPath(fromObject, [
"toolCallCancellation"
]);
if (fromToolCallCancellation != null) {
setValueByPath(toObject, ["toolCallCancellation"], liveServerToolCallCancellationFromVertex(fromToolCallCancellation));
}
const fromUsageMetadata = getValueByPath(fromObject, [
"usageMetadata"
]);
if (fromUsageMetadata != null) {
setValueByPath(toObject, ["usageMetadata"], usageMetadataFromVertex(fromUsageMetadata));
}
const fromGoAway = getValueByPath(fromObject, ["goAway"]);
if (fromGoAway != null) {
setValueByPath(toObject, ["goAway"], liveServerGoAwayFromVertex(fromGoAway));
}
const fromSessionResumptionUpdate = getValueByPath(fromObject, [
"sessionResumptionUpdate"
]);
if (fromSessionResumptionUpdate != null) {
setValueByPath(toObject, ["sessionResumptionUpdate"], liveServerSessionResumptionUpdateFromVertex(fromSessionResumptionUpdate));
}
return toObject;
}
function videoMetadataToMldev$1(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobToMldev$1(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["displayName"]) !== void 0) {
throw new Error("displayName parameter is not supported in Gemini API.");
}
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataToMldev$1(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["displayName"]) !== void 0) {
throw new Error("displayName parameter is not supported in Gemini API.");
}
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partToMldev$1(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataToMldev$1(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobToMldev$1(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataToMldev$1(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentToMldev$1(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partToMldev$1(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function schemaToMldev(fromObject) {
const toObject = {};
const fromAnyOf = getValueByPath(fromObject, ["anyOf"]);
if (fromAnyOf != null) {
setValueByPath(toObject, ["anyOf"], fromAnyOf);
}
const fromDefault = getValueByPath(fromObject, ["default"]);
if (fromDefault != null) {
setValueByPath(toObject, ["default"], fromDefault);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromEnum = getValueByPath(fromObject, ["enum"]);
if (fromEnum != null) {
setValueByPath(toObject, ["enum"], fromEnum);
}
const fromExample = getValueByPath(fromObject, ["example"]);
if (fromExample != null) {
setValueByPath(toObject, ["example"], fromExample);
}
const fromFormat = getValueByPath(fromObject, ["format"]);
if (fromFormat != null) {
setValueByPath(toObject, ["format"], fromFormat);
}
const fromItems = getValueByPath(fromObject, ["items"]);
if (fromItems != null) {
setValueByPath(toObject, ["items"], fromItems);
}
const fromMaxItems = getValueByPath(fromObject, ["maxItems"]);
if (fromMaxItems != null) {
setValueByPath(toObject, ["maxItems"], fromMaxItems);
}
const fromMaxLength = getValueByPath(fromObject, ["maxLength"]);
if (fromMaxLength != null) {
setValueByPath(toObject, ["maxLength"], fromMaxLength);
}
const fromMaxProperties = getValueByPath(fromObject, [
"maxProperties"
]);
if (fromMaxProperties != null) {
setValueByPath(toObject, ["maxProperties"], fromMaxProperties);
}
const fromMaximum = getValueByPath(fromObject, ["maximum"]);
if (fromMaximum != null) {
setValueByPath(toObject, ["maximum"], fromMaximum);
}
const fromMinItems = getValueByPath(fromObject, ["minItems"]);
if (fromMinItems != null) {
setValueByPath(toObject, ["minItems"], fromMinItems);
}
const fromMinLength = getValueByPath(fromObject, ["minLength"]);
if (fromMinLength != null) {
setValueByPath(toObject, ["minLength"], fromMinLength);
}
const fromMinProperties = getValueByPath(fromObject, [
"minProperties"
]);
if (fromMinProperties != null) {
setValueByPath(toObject, ["minProperties"], fromMinProperties);
}
const fromMinimum = getValueByPath(fromObject, ["minimum"]);
if (fromMinimum != null) {
setValueByPath(toObject, ["minimum"], fromMinimum);
}
const fromNullable = getValueByPath(fromObject, ["nullable"]);
if (fromNullable != null) {
setValueByPath(toObject, ["nullable"], fromNullable);
}
const fromPattern = getValueByPath(fromObject, ["pattern"]);
if (fromPattern != null) {
setValueByPath(toObject, ["pattern"], fromPattern);
}
const fromProperties = getValueByPath(fromObject, ["properties"]);
if (fromProperties != null) {
setValueByPath(toObject, ["properties"], fromProperties);
}
const fromPropertyOrdering = getValueByPath(fromObject, [
"propertyOrdering"
]);
if (fromPropertyOrdering != null) {
setValueByPath(toObject, ["propertyOrdering"], fromPropertyOrdering);
}
const fromRequired = getValueByPath(fromObject, ["required"]);
if (fromRequired != null) {
setValueByPath(toObject, ["required"], fromRequired);
}
const fromTitle = getValueByPath(fromObject, ["title"]);
if (fromTitle != null) {
setValueByPath(toObject, ["title"], fromTitle);
}
const fromType = getValueByPath(fromObject, ["type"]);
if (fromType != null) {
setValueByPath(toObject, ["type"], fromType);
}
return toObject;
}
function safetySettingToMldev(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["method"]) !== void 0) {
throw new Error("method parameter is not supported in Gemini API.");
}
const fromCategory = getValueByPath(fromObject, ["category"]);
if (fromCategory != null) {
setValueByPath(toObject, ["category"], fromCategory);
}
const fromThreshold = getValueByPath(fromObject, ["threshold"]);
if (fromThreshold != null) {
setValueByPath(toObject, ["threshold"], fromThreshold);
}
return toObject;
}
function functionDeclarationToMldev$1(fromObject) {
const toObject = {};
const fromBehavior = getValueByPath(fromObject, ["behavior"]);
if (fromBehavior != null) {
setValueByPath(toObject, ["behavior"], fromBehavior);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromParameters = getValueByPath(fromObject, ["parameters"]);
if (fromParameters != null) {
setValueByPath(toObject, ["parameters"], fromParameters);
}
const fromParametersJsonSchema = getValueByPath(fromObject, [
"parametersJsonSchema"
]);
if (fromParametersJsonSchema != null) {
setValueByPath(toObject, ["parametersJsonSchema"], fromParametersJsonSchema);
}
const fromResponse = getValueByPath(fromObject, ["response"]);
if (fromResponse != null) {
setValueByPath(toObject, ["response"], fromResponse);
}
const fromResponseJsonSchema = getValueByPath(fromObject, [
"responseJsonSchema"
]);
if (fromResponseJsonSchema != null) {
setValueByPath(toObject, ["responseJsonSchema"], fromResponseJsonSchema);
}
return toObject;
}
function intervalToMldev$1(fromObject) {
const toObject = {};
const fromStartTime = getValueByPath(fromObject, ["startTime"]);
if (fromStartTime != null) {
setValueByPath(toObject, ["startTime"], fromStartTime);
}
const fromEndTime = getValueByPath(fromObject, ["endTime"]);
if (fromEndTime != null) {
setValueByPath(toObject, ["endTime"], fromEndTime);
}
return toObject;
}
function googleSearchToMldev$1(fromObject) {
const toObject = {};
const fromTimeRangeFilter = getValueByPath(fromObject, [
"timeRangeFilter"
]);
if (fromTimeRangeFilter != null) {
setValueByPath(toObject, ["timeRangeFilter"], intervalToMldev$1(fromTimeRangeFilter));
}
if (getValueByPath(fromObject, ["excludeDomains"]) !== void 0) {
throw new Error("excludeDomains parameter is not supported in Gemini API.");
}
return toObject;
}
function dynamicRetrievalConfigToMldev$1(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromDynamicThreshold = getValueByPath(fromObject, [
"dynamicThreshold"
]);
if (fromDynamicThreshold != null) {
setValueByPath(toObject, ["dynamicThreshold"], fromDynamicThreshold);
}
return toObject;
}
function googleSearchRetrievalToMldev$1(fromObject) {
const toObject = {};
const fromDynamicRetrievalConfig = getValueByPath(fromObject, [
"dynamicRetrievalConfig"
]);
if (fromDynamicRetrievalConfig != null) {
setValueByPath(toObject, ["dynamicRetrievalConfig"], dynamicRetrievalConfigToMldev$1(fromDynamicRetrievalConfig));
}
return toObject;
}
function urlContextToMldev$1() {
const toObject = {};
return toObject;
}
function toolComputerUseToMldev$1(fromObject) {
const toObject = {};
const fromEnvironment = getValueByPath(fromObject, ["environment"]);
if (fromEnvironment != null) {
setValueByPath(toObject, ["environment"], fromEnvironment);
}
return toObject;
}
function toolToMldev$1(fromObject) {
const toObject = {};
const fromFunctionDeclarations = getValueByPath(fromObject, [
"functionDeclarations"
]);
if (fromFunctionDeclarations != null) {
let transformedList = fromFunctionDeclarations;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return functionDeclarationToMldev$1(item);
});
}
setValueByPath(toObject, ["functionDeclarations"], transformedList);
}
if (getValueByPath(fromObject, ["retrieval"]) !== void 0) {
throw new Error("retrieval parameter is not supported in Gemini API.");
}
const fromGoogleSearch = getValueByPath(fromObject, ["googleSearch"]);
if (fromGoogleSearch != null) {
setValueByPath(toObject, ["googleSearch"], googleSearchToMldev$1(fromGoogleSearch));
}
const fromGoogleSearchRetrieval = getValueByPath(fromObject, [
"googleSearchRetrieval"
]);
if (fromGoogleSearchRetrieval != null) {
setValueByPath(toObject, ["googleSearchRetrieval"], googleSearchRetrievalToMldev$1(fromGoogleSearchRetrieval));
}
if (getValueByPath(fromObject, ["enterpriseWebSearch"]) !== void 0) {
throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["googleMaps"]) !== void 0) {
throw new Error("googleMaps parameter is not supported in Gemini API.");
}
const fromUrlContext = getValueByPath(fromObject, ["urlContext"]);
if (fromUrlContext != null) {
setValueByPath(toObject, ["urlContext"], urlContextToMldev$1());
}
const fromComputerUse = getValueByPath(fromObject, ["computerUse"]);
if (fromComputerUse != null) {
setValueByPath(toObject, ["computerUse"], toolComputerUseToMldev$1(fromComputerUse));
}
const fromCodeExecution = getValueByPath(fromObject, [
"codeExecution"
]);
if (fromCodeExecution != null) {
setValueByPath(toObject, ["codeExecution"], fromCodeExecution);
}
return toObject;
}
function functionCallingConfigToMldev(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromAllowedFunctionNames = getValueByPath(fromObject, [
"allowedFunctionNames"
]);
if (fromAllowedFunctionNames != null) {
setValueByPath(toObject, ["allowedFunctionNames"], fromAllowedFunctionNames);
}
return toObject;
}
function latLngToMldev(fromObject) {
const toObject = {};
const fromLatitude = getValueByPath(fromObject, ["latitude"]);
if (fromLatitude != null) {
setValueByPath(toObject, ["latitude"], fromLatitude);
}
const fromLongitude = getValueByPath(fromObject, ["longitude"]);
if (fromLongitude != null) {
setValueByPath(toObject, ["longitude"], fromLongitude);
}
return toObject;
}
function retrievalConfigToMldev(fromObject) {
const toObject = {};
const fromLatLng = getValueByPath(fromObject, ["latLng"]);
if (fromLatLng != null) {
setValueByPath(toObject, ["latLng"], latLngToMldev(fromLatLng));
}
const fromLanguageCode = getValueByPath(fromObject, ["languageCode"]);
if (fromLanguageCode != null) {
setValueByPath(toObject, ["languageCode"], fromLanguageCode);
}
return toObject;
}
function toolConfigToMldev(fromObject) {
const toObject = {};
const fromFunctionCallingConfig = getValueByPath(fromObject, [
"functionCallingConfig"
]);
if (fromFunctionCallingConfig != null) {
setValueByPath(toObject, ["functionCallingConfig"], functionCallingConfigToMldev(fromFunctionCallingConfig));
}
const fromRetrievalConfig = getValueByPath(fromObject, [
"retrievalConfig"
]);
if (fromRetrievalConfig != null) {
setValueByPath(toObject, ["retrievalConfig"], retrievalConfigToMldev(fromRetrievalConfig));
}
return toObject;
}
function prebuiltVoiceConfigToMldev$1(fromObject) {
const toObject = {};
const fromVoiceName = getValueByPath(fromObject, ["voiceName"]);
if (fromVoiceName != null) {
setValueByPath(toObject, ["voiceName"], fromVoiceName);
}
return toObject;
}
function voiceConfigToMldev$1(fromObject) {
const toObject = {};
const fromPrebuiltVoiceConfig = getValueByPath(fromObject, [
"prebuiltVoiceConfig"
]);
if (fromPrebuiltVoiceConfig != null) {
setValueByPath(toObject, ["prebuiltVoiceConfig"], prebuiltVoiceConfigToMldev$1(fromPrebuiltVoiceConfig));
}
return toObject;
}
function speakerVoiceConfigToMldev$1(fromObject) {
const toObject = {};
const fromSpeaker = getValueByPath(fromObject, ["speaker"]);
if (fromSpeaker != null) {
setValueByPath(toObject, ["speaker"], fromSpeaker);
}
const fromVoiceConfig = getValueByPath(fromObject, ["voiceConfig"]);
if (fromVoiceConfig != null) {
setValueByPath(toObject, ["voiceConfig"], voiceConfigToMldev$1(fromVoiceConfig));
}
return toObject;
}
function multiSpeakerVoiceConfigToMldev$1(fromObject) {
const toObject = {};
const fromSpeakerVoiceConfigs = getValueByPath(fromObject, [
"speakerVoiceConfigs"
]);
if (fromSpeakerVoiceConfigs != null) {
let transformedList = fromSpeakerVoiceConfigs;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return speakerVoiceConfigToMldev$1(item);
});
}
setValueByPath(toObject, ["speakerVoiceConfigs"], transformedList);
}
return toObject;
}
function speechConfigToMldev$1(fromObject) {
const toObject = {};
const fromVoiceConfig = getValueByPath(fromObject, ["voiceConfig"]);
if (fromVoiceConfig != null) {
setValueByPath(toObject, ["voiceConfig"], voiceConfigToMldev$1(fromVoiceConfig));
}
const fromMultiSpeakerVoiceConfig = getValueByPath(fromObject, [
"multiSpeakerVoiceConfig"
]);
if (fromMultiSpeakerVoiceConfig != null) {
setValueByPath(toObject, ["multiSpeakerVoiceConfig"], multiSpeakerVoiceConfigToMldev$1(fromMultiSpeakerVoiceConfig));
}
const fromLanguageCode = getValueByPath(fromObject, ["languageCode"]);
if (fromLanguageCode != null) {
setValueByPath(toObject, ["languageCode"], fromLanguageCode);
}
return toObject;
}
function thinkingConfigToMldev(fromObject) {
const toObject = {};
const fromIncludeThoughts = getValueByPath(fromObject, [
"includeThoughts"
]);
if (fromIncludeThoughts != null) {
setValueByPath(toObject, ["includeThoughts"], fromIncludeThoughts);
}
const fromThinkingBudget = getValueByPath(fromObject, [
"thinkingBudget"
]);
if (fromThinkingBudget != null) {
setValueByPath(toObject, ["thinkingBudget"], fromThinkingBudget);
}
return toObject;
}
function generateContentConfigToMldev(apiClient, fromObject, parentObject) {
const toObject = {};
const fromSystemInstruction = getValueByPath(fromObject, [
"systemInstruction"
]);
if (parentObject !== void 0 && fromSystemInstruction != null) {
setValueByPath(parentObject, ["systemInstruction"], contentToMldev$1(tContent(fromSystemInstruction)));
}
const fromTemperature = getValueByPath(fromObject, ["temperature"]);
if (fromTemperature != null) {
setValueByPath(toObject, ["temperature"], fromTemperature);
}
const fromTopP = getValueByPath(fromObject, ["topP"]);
if (fromTopP != null) {
setValueByPath(toObject, ["topP"], fromTopP);
}
const fromTopK = getValueByPath(fromObject, ["topK"]);
if (fromTopK != null) {
setValueByPath(toObject, ["topK"], fromTopK);
}
const fromCandidateCount = getValueByPath(fromObject, [
"candidateCount"
]);
if (fromCandidateCount != null) {
setValueByPath(toObject, ["candidateCount"], fromCandidateCount);
}
const fromMaxOutputTokens = getValueByPath(fromObject, [
"maxOutputTokens"
]);
if (fromMaxOutputTokens != null) {
setValueByPath(toObject, ["maxOutputTokens"], fromMaxOutputTokens);
}
const fromStopSequences = getValueByPath(fromObject, [
"stopSequences"
]);
if (fromStopSequences != null) {
setValueByPath(toObject, ["stopSequences"], fromStopSequences);
}
const fromResponseLogprobs = getValueByPath(fromObject, [
"responseLogprobs"
]);
if (fromResponseLogprobs != null) {
setValueByPath(toObject, ["responseLogprobs"], fromResponseLogprobs);
}
const fromLogprobs = getValueByPath(fromObject, ["logprobs"]);
if (fromLogprobs != null) {
setValueByPath(toObject, ["logprobs"], fromLogprobs);
}
const fromPresencePenalty = getValueByPath(fromObject, [
"presencePenalty"
]);
if (fromPresencePenalty != null) {
setValueByPath(toObject, ["presencePenalty"], fromPresencePenalty);
}
const fromFrequencyPenalty = getValueByPath(fromObject, [
"frequencyPenalty"
]);
if (fromFrequencyPenalty != null) {
setValueByPath(toObject, ["frequencyPenalty"], fromFrequencyPenalty);
}
const fromSeed = getValueByPath(fromObject, ["seed"]);
if (fromSeed != null) {
setValueByPath(toObject, ["seed"], fromSeed);
}
const fromResponseMimeType = getValueByPath(fromObject, [
"responseMimeType"
]);
if (fromResponseMimeType != null) {
setValueByPath(toObject, ["responseMimeType"], fromResponseMimeType);
}
const fromResponseSchema = getValueByPath(fromObject, [
"responseSchema"
]);
if (fromResponseSchema != null) {
setValueByPath(toObject, ["responseSchema"], schemaToMldev(tSchema(fromResponseSchema)));
}
const fromResponseJsonSchema = getValueByPath(fromObject, [
"responseJsonSchema"
]);
if (fromResponseJsonSchema != null) {
setValueByPath(toObject, ["responseJsonSchema"], fromResponseJsonSchema);
}
if (getValueByPath(fromObject, ["routingConfig"]) !== void 0) {
throw new Error("routingConfig parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["modelSelectionConfig"]) !== void 0) {
throw new Error("modelSelectionConfig parameter is not supported in Gemini API.");
}
const fromSafetySettings = getValueByPath(fromObject, [
"safetySettings"
]);
if (parentObject !== void 0 && fromSafetySettings != null) {
let transformedList = fromSafetySettings;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return safetySettingToMldev(item);
});
}
setValueByPath(parentObject, ["safetySettings"], transformedList);
}
const fromTools = getValueByPath(fromObject, ["tools"]);
if (parentObject !== void 0 && fromTools != null) {
let transformedList = tTools(fromTools);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return toolToMldev$1(tTool(item));
});
}
setValueByPath(parentObject, ["tools"], transformedList);
}
const fromToolConfig = getValueByPath(fromObject, ["toolConfig"]);
if (parentObject !== void 0 && fromToolConfig != null) {
setValueByPath(parentObject, ["toolConfig"], toolConfigToMldev(fromToolConfig));
}
if (getValueByPath(fromObject, ["labels"]) !== void 0) {
throw new Error("labels parameter is not supported in Gemini API.");
}
const fromCachedContent = getValueByPath(fromObject, [
"cachedContent"
]);
if (parentObject !== void 0 && fromCachedContent != null) {
setValueByPath(parentObject, ["cachedContent"], tCachedContentName(apiClient, fromCachedContent));
}
const fromResponseModalities = getValueByPath(fromObject, [
"responseModalities"
]);
if (fromResponseModalities != null) {
setValueByPath(toObject, ["responseModalities"], fromResponseModalities);
}
const fromMediaResolution = getValueByPath(fromObject, [
"mediaResolution"
]);
if (fromMediaResolution != null) {
setValueByPath(toObject, ["mediaResolution"], fromMediaResolution);
}
const fromSpeechConfig = getValueByPath(fromObject, ["speechConfig"]);
if (fromSpeechConfig != null) {
setValueByPath(toObject, ["speechConfig"], speechConfigToMldev$1(tSpeechConfig(fromSpeechConfig)));
}
if (getValueByPath(fromObject, ["audioTimestamp"]) !== void 0) {
throw new Error("audioTimestamp parameter is not supported in Gemini API.");
}
const fromThinkingConfig = getValueByPath(fromObject, [
"thinkingConfig"
]);
if (fromThinkingConfig != null) {
setValueByPath(toObject, ["thinkingConfig"], thinkingConfigToMldev(fromThinkingConfig));
}
return toObject;
}
function generateContentParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromContents = getValueByPath(fromObject, ["contents"]);
if (fromContents != null) {
let transformedList = tContents(fromContents);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return contentToMldev$1(item);
});
}
setValueByPath(toObject, ["contents"], transformedList);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["generationConfig"], generateContentConfigToMldev(apiClient, fromConfig, toObject));
}
return toObject;
}
function embedContentConfigToMldev(fromObject, parentObject) {
const toObject = {};
const fromTaskType = getValueByPath(fromObject, ["taskType"]);
if (parentObject !== void 0 && fromTaskType != null) {
setValueByPath(parentObject, ["requests[]", "taskType"], fromTaskType);
}
const fromTitle = getValueByPath(fromObject, ["title"]);
if (parentObject !== void 0 && fromTitle != null) {
setValueByPath(parentObject, ["requests[]", "title"], fromTitle);
}
const fromOutputDimensionality = getValueByPath(fromObject, [
"outputDimensionality"
]);
if (parentObject !== void 0 && fromOutputDimensionality != null) {
setValueByPath(parentObject, ["requests[]", "outputDimensionality"], fromOutputDimensionality);
}
if (getValueByPath(fromObject, ["mimeType"]) !== void 0) {
throw new Error("mimeType parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["autoTruncate"]) !== void 0) {
throw new Error("autoTruncate parameter is not supported in Gemini API.");
}
return toObject;
}
function embedContentParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromContents = getValueByPath(fromObject, ["contents"]);
if (fromContents != null) {
setValueByPath(toObject, ["requests[]", "content"], tContentsForEmbed(apiClient, fromContents));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], embedContentConfigToMldev(fromConfig, toObject));
}
const fromModelForEmbedContent = getValueByPath(fromObject, ["model"]);
if (fromModelForEmbedContent !== void 0) {
setValueByPath(toObject, ["requests[]", "model"], tModel(apiClient, fromModelForEmbedContent));
}
return toObject;
}
function generateImagesConfigToMldev(fromObject, parentObject) {
const toObject = {};
if (getValueByPath(fromObject, ["outputGcsUri"]) !== void 0) {
throw new Error("outputGcsUri parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["negativePrompt"]) !== void 0) {
throw new Error("negativePrompt parameter is not supported in Gemini API.");
}
const fromNumberOfImages = getValueByPath(fromObject, [
"numberOfImages"
]);
if (parentObject !== void 0 && fromNumberOfImages != null) {
setValueByPath(parentObject, ["parameters", "sampleCount"], fromNumberOfImages);
}
const fromAspectRatio = getValueByPath(fromObject, ["aspectRatio"]);
if (parentObject !== void 0 && fromAspectRatio != null) {
setValueByPath(parentObject, ["parameters", "aspectRatio"], fromAspectRatio);
}
const fromGuidanceScale = getValueByPath(fromObject, [
"guidanceScale"
]);
if (parentObject !== void 0 && fromGuidanceScale != null) {
setValueByPath(parentObject, ["parameters", "guidanceScale"], fromGuidanceScale);
}
if (getValueByPath(fromObject, ["seed"]) !== void 0) {
throw new Error("seed parameter is not supported in Gemini API.");
}
const fromSafetyFilterLevel = getValueByPath(fromObject, [
"safetyFilterLevel"
]);
if (parentObject !== void 0 && fromSafetyFilterLevel != null) {
setValueByPath(parentObject, ["parameters", "safetySetting"], fromSafetyFilterLevel);
}
const fromPersonGeneration = getValueByPath(fromObject, [
"personGeneration"
]);
if (parentObject !== void 0 && fromPersonGeneration != null) {
setValueByPath(parentObject, ["parameters", "personGeneration"], fromPersonGeneration);
}
const fromIncludeSafetyAttributes = getValueByPath(fromObject, [
"includeSafetyAttributes"
]);
if (parentObject !== void 0 && fromIncludeSafetyAttributes != null) {
setValueByPath(parentObject, ["parameters", "includeSafetyAttributes"], fromIncludeSafetyAttributes);
}
const fromIncludeRaiReason = getValueByPath(fromObject, [
"includeRaiReason"
]);
if (parentObject !== void 0 && fromIncludeRaiReason != null) {
setValueByPath(parentObject, ["parameters", "includeRaiReason"], fromIncludeRaiReason);
}
const fromLanguage = getValueByPath(fromObject, ["language"]);
if (parentObject !== void 0 && fromLanguage != null) {
setValueByPath(parentObject, ["parameters", "language"], fromLanguage);
}
const fromOutputMimeType = getValueByPath(fromObject, [
"outputMimeType"
]);
if (parentObject !== void 0 && fromOutputMimeType != null) {
setValueByPath(parentObject, ["parameters", "outputOptions", "mimeType"], fromOutputMimeType);
}
const fromOutputCompressionQuality = getValueByPath(fromObject, [
"outputCompressionQuality"
]);
if (parentObject !== void 0 && fromOutputCompressionQuality != null) {
setValueByPath(parentObject, ["parameters", "outputOptions", "compressionQuality"], fromOutputCompressionQuality);
}
if (getValueByPath(fromObject, ["addWatermark"]) !== void 0) {
throw new Error("addWatermark parameter is not supported in Gemini API.");
}
const fromImageSize = getValueByPath(fromObject, ["imageSize"]);
if (parentObject !== void 0 && fromImageSize != null) {
setValueByPath(parentObject, ["parameters", "sampleImageSize"], fromImageSize);
}
if (getValueByPath(fromObject, ["enhancePrompt"]) !== void 0) {
throw new Error("enhancePrompt parameter is not supported in Gemini API.");
}
return toObject;
}
function generateImagesParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromPrompt = getValueByPath(fromObject, ["prompt"]);
if (fromPrompt != null) {
setValueByPath(toObject, ["instances[0]", "prompt"], fromPrompt);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], generateImagesConfigToMldev(fromConfig, toObject));
}
return toObject;
}
function getModelParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "name"], tModel(apiClient, fromModel));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function listModelsConfigToMldev(apiClient, fromObject, parentObject) {
const toObject = {};
const fromPageSize = getValueByPath(fromObject, ["pageSize"]);
if (parentObject !== void 0 && fromPageSize != null) {
setValueByPath(parentObject, ["_query", "pageSize"], fromPageSize);
}
const fromPageToken = getValueByPath(fromObject, ["pageToken"]);
if (parentObject !== void 0 && fromPageToken != null) {
setValueByPath(parentObject, ["_query", "pageToken"], fromPageToken);
}
const fromFilter = getValueByPath(fromObject, ["filter"]);
if (parentObject !== void 0 && fromFilter != null) {
setValueByPath(parentObject, ["_query", "filter"], fromFilter);
}
const fromQueryBase = getValueByPath(fromObject, ["queryBase"]);
if (parentObject !== void 0 && fromQueryBase != null) {
setValueByPath(parentObject, ["_url", "models_url"], tModelsUrl(apiClient, fromQueryBase));
}
return toObject;
}
function listModelsParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], listModelsConfigToMldev(apiClient, fromConfig, toObject));
}
return toObject;
}
function updateModelConfigToMldev(fromObject, parentObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (parentObject !== void 0 && fromDisplayName != null) {
setValueByPath(parentObject, ["displayName"], fromDisplayName);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (parentObject !== void 0 && fromDescription != null) {
setValueByPath(parentObject, ["description"], fromDescription);
}
const fromDefaultCheckpointId = getValueByPath(fromObject, [
"defaultCheckpointId"
]);
if (parentObject !== void 0 && fromDefaultCheckpointId != null) {
setValueByPath(parentObject, ["defaultCheckpointId"], fromDefaultCheckpointId);
}
return toObject;
}
function updateModelParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "name"], tModel(apiClient, fromModel));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], updateModelConfigToMldev(fromConfig, toObject));
}
return toObject;
}
function deleteModelParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "name"], tModel(apiClient, fromModel));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function countTokensConfigToMldev(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["systemInstruction"]) !== void 0) {
throw new Error("systemInstruction parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["tools"]) !== void 0) {
throw new Error("tools parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["generationConfig"]) !== void 0) {
throw new Error("generationConfig parameter is not supported in Gemini API.");
}
return toObject;
}
function countTokensParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromContents = getValueByPath(fromObject, ["contents"]);
if (fromContents != null) {
let transformedList = tContents(fromContents);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return contentToMldev$1(item);
});
}
setValueByPath(toObject, ["contents"], transformedList);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], countTokensConfigToMldev(fromConfig));
}
return toObject;
}
function imageToMldev(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["gcsUri"]) !== void 0) {
throw new Error("gcsUri parameter is not supported in Gemini API.");
}
const fromImageBytes = getValueByPath(fromObject, ["imageBytes"]);
if (fromImageBytes != null) {
setValueByPath(toObject, ["bytesBase64Encoded"], tBytes(fromImageBytes));
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function generateVideosSourceToMldev(fromObject, parentObject) {
const toObject = {};
const fromPrompt = getValueByPath(fromObject, ["prompt"]);
if (parentObject !== void 0 && fromPrompt != null) {
setValueByPath(parentObject, ["instances[0]", "prompt"], fromPrompt);
}
const fromImage = getValueByPath(fromObject, ["image"]);
if (parentObject !== void 0 && fromImage != null) {
setValueByPath(parentObject, ["instances[0]", "image"], imageToMldev(fromImage));
}
if (getValueByPath(fromObject, ["video"]) !== void 0) {
throw new Error("video parameter is not supported in Gemini API.");
}
return toObject;
}
function generateVideosConfigToMldev(fromObject, parentObject) {
const toObject = {};
const fromNumberOfVideos = getValueByPath(fromObject, [
"numberOfVideos"
]);
if (parentObject !== void 0 && fromNumberOfVideos != null) {
setValueByPath(parentObject, ["parameters", "sampleCount"], fromNumberOfVideos);
}
if (getValueByPath(fromObject, ["outputGcsUri"]) !== void 0) {
throw new Error("outputGcsUri parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["fps"]) !== void 0) {
throw new Error("fps parameter is not supported in Gemini API.");
}
const fromDurationSeconds = getValueByPath(fromObject, [
"durationSeconds"
]);
if (parentObject !== void 0 && fromDurationSeconds != null) {
setValueByPath(parentObject, ["parameters", "durationSeconds"], fromDurationSeconds);
}
if (getValueByPath(fromObject, ["seed"]) !== void 0) {
throw new Error("seed parameter is not supported in Gemini API.");
}
const fromAspectRatio = getValueByPath(fromObject, ["aspectRatio"]);
if (parentObject !== void 0 && fromAspectRatio != null) {
setValueByPath(parentObject, ["parameters", "aspectRatio"], fromAspectRatio);
}
const fromResolution = getValueByPath(fromObject, ["resolution"]);
if (parentObject !== void 0 && fromResolution != null) {
setValueByPath(parentObject, ["parameters", "resolution"], fromResolution);
}
const fromPersonGeneration = getValueByPath(fromObject, [
"personGeneration"
]);
if (parentObject !== void 0 && fromPersonGeneration != null) {
setValueByPath(parentObject, ["parameters", "personGeneration"], fromPersonGeneration);
}
if (getValueByPath(fromObject, ["pubsubTopic"]) !== void 0) {
throw new Error("pubsubTopic parameter is not supported in Gemini API.");
}
const fromNegativePrompt = getValueByPath(fromObject, [
"negativePrompt"
]);
if (parentObject !== void 0 && fromNegativePrompt != null) {
setValueByPath(parentObject, ["parameters", "negativePrompt"], fromNegativePrompt);
}
const fromEnhancePrompt = getValueByPath(fromObject, [
"enhancePrompt"
]);
if (parentObject !== void 0 && fromEnhancePrompt != null) {
setValueByPath(parentObject, ["parameters", "enhancePrompt"], fromEnhancePrompt);
}
if (getValueByPath(fromObject, ["generateAudio"]) !== void 0) {
throw new Error("generateAudio parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["lastFrame"]) !== void 0) {
throw new Error("lastFrame parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["referenceImages"]) !== void 0) {
throw new Error("referenceImages parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["compressionQuality"]) !== void 0) {
throw new Error("compressionQuality parameter is not supported in Gemini API.");
}
return toObject;
}
function generateVideosParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromPrompt = getValueByPath(fromObject, ["prompt"]);
if (fromPrompt != null) {
setValueByPath(toObject, ["instances[0]", "prompt"], fromPrompt);
}
const fromImage = getValueByPath(fromObject, ["image"]);
if (fromImage != null) {
setValueByPath(toObject, ["instances[0]", "image"], imageToMldev(fromImage));
}
if (getValueByPath(fromObject, ["video"]) !== void 0) {
throw new Error("video parameter is not supported in Gemini API.");
}
const fromSource = getValueByPath(fromObject, ["source"]);
if (fromSource != null) {
setValueByPath(toObject, ["config"], generateVideosSourceToMldev(fromSource, toObject));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], generateVideosConfigToMldev(fromConfig, toObject));
}
return toObject;
}
function videoMetadataToVertex(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobToVertex(fromObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataToVertex(fromObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partToVertex(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataToVertex(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobToVertex(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataToVertex(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentToVertex(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partToVertex(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function schemaToVertex(fromObject) {
const toObject = {};
const fromAnyOf = getValueByPath(fromObject, ["anyOf"]);
if (fromAnyOf != null) {
setValueByPath(toObject, ["anyOf"], fromAnyOf);
}
const fromDefault = getValueByPath(fromObject, ["default"]);
if (fromDefault != null) {
setValueByPath(toObject, ["default"], fromDefault);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromEnum = getValueByPath(fromObject, ["enum"]);
if (fromEnum != null) {
setValueByPath(toObject, ["enum"], fromEnum);
}
const fromExample = getValueByPath(fromObject, ["example"]);
if (fromExample != null) {
setValueByPath(toObject, ["example"], fromExample);
}
const fromFormat = getValueByPath(fromObject, ["format"]);
if (fromFormat != null) {
setValueByPath(toObject, ["format"], fromFormat);
}
const fromItems = getValueByPath(fromObject, ["items"]);
if (fromItems != null) {
setValueByPath(toObject, ["items"], fromItems);
}
const fromMaxItems = getValueByPath(fromObject, ["maxItems"]);
if (fromMaxItems != null) {
setValueByPath(toObject, ["maxItems"], fromMaxItems);
}
const fromMaxLength = getValueByPath(fromObject, ["maxLength"]);
if (fromMaxLength != null) {
setValueByPath(toObject, ["maxLength"], fromMaxLength);
}
const fromMaxProperties = getValueByPath(fromObject, [
"maxProperties"
]);
if (fromMaxProperties != null) {
setValueByPath(toObject, ["maxProperties"], fromMaxProperties);
}
const fromMaximum = getValueByPath(fromObject, ["maximum"]);
if (fromMaximum != null) {
setValueByPath(toObject, ["maximum"], fromMaximum);
}
const fromMinItems = getValueByPath(fromObject, ["minItems"]);
if (fromMinItems != null) {
setValueByPath(toObject, ["minItems"], fromMinItems);
}
const fromMinLength = getValueByPath(fromObject, ["minLength"]);
if (fromMinLength != null) {
setValueByPath(toObject, ["minLength"], fromMinLength);
}
const fromMinProperties = getValueByPath(fromObject, [
"minProperties"
]);
if (fromMinProperties != null) {
setValueByPath(toObject, ["minProperties"], fromMinProperties);
}
const fromMinimum = getValueByPath(fromObject, ["minimum"]);
if (fromMinimum != null) {
setValueByPath(toObject, ["minimum"], fromMinimum);
}
const fromNullable = getValueByPath(fromObject, ["nullable"]);
if (fromNullable != null) {
setValueByPath(toObject, ["nullable"], fromNullable);
}
const fromPattern = getValueByPath(fromObject, ["pattern"]);
if (fromPattern != null) {
setValueByPath(toObject, ["pattern"], fromPattern);
}
const fromProperties = getValueByPath(fromObject, ["properties"]);
if (fromProperties != null) {
setValueByPath(toObject, ["properties"], fromProperties);
}
const fromPropertyOrdering = getValueByPath(fromObject, [
"propertyOrdering"
]);
if (fromPropertyOrdering != null) {
setValueByPath(toObject, ["propertyOrdering"], fromPropertyOrdering);
}
const fromRequired = getValueByPath(fromObject, ["required"]);
if (fromRequired != null) {
setValueByPath(toObject, ["required"], fromRequired);
}
const fromTitle = getValueByPath(fromObject, ["title"]);
if (fromTitle != null) {
setValueByPath(toObject, ["title"], fromTitle);
}
const fromType = getValueByPath(fromObject, ["type"]);
if (fromType != null) {
setValueByPath(toObject, ["type"], fromType);
}
return toObject;
}
function modelSelectionConfigToVertex(fromObject) {
const toObject = {};
const fromFeatureSelectionPreference = getValueByPath(fromObject, [
"featureSelectionPreference"
]);
if (fromFeatureSelectionPreference != null) {
setValueByPath(toObject, ["featureSelectionPreference"], fromFeatureSelectionPreference);
}
return toObject;
}
function safetySettingToVertex(fromObject) {
const toObject = {};
const fromMethod = getValueByPath(fromObject, ["method"]);
if (fromMethod != null) {
setValueByPath(toObject, ["method"], fromMethod);
}
const fromCategory = getValueByPath(fromObject, ["category"]);
if (fromCategory != null) {
setValueByPath(toObject, ["category"], fromCategory);
}
const fromThreshold = getValueByPath(fromObject, ["threshold"]);
if (fromThreshold != null) {
setValueByPath(toObject, ["threshold"], fromThreshold);
}
return toObject;
}
function functionDeclarationToVertex(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["behavior"]) !== void 0) {
throw new Error("behavior parameter is not supported in Vertex AI.");
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromParameters = getValueByPath(fromObject, ["parameters"]);
if (fromParameters != null) {
setValueByPath(toObject, ["parameters"], fromParameters);
}
const fromParametersJsonSchema = getValueByPath(fromObject, [
"parametersJsonSchema"
]);
if (fromParametersJsonSchema != null) {
setValueByPath(toObject, ["parametersJsonSchema"], fromParametersJsonSchema);
}
const fromResponse = getValueByPath(fromObject, ["response"]);
if (fromResponse != null) {
setValueByPath(toObject, ["response"], fromResponse);
}
const fromResponseJsonSchema = getValueByPath(fromObject, [
"responseJsonSchema"
]);
if (fromResponseJsonSchema != null) {
setValueByPath(toObject, ["responseJsonSchema"], fromResponseJsonSchema);
}
return toObject;
}
function intervalToVertex(fromObject) {
const toObject = {};
const fromStartTime = getValueByPath(fromObject, ["startTime"]);
if (fromStartTime != null) {
setValueByPath(toObject, ["startTime"], fromStartTime);
}
const fromEndTime = getValueByPath(fromObject, ["endTime"]);
if (fromEndTime != null) {
setValueByPath(toObject, ["endTime"], fromEndTime);
}
return toObject;
}
function googleSearchToVertex(fromObject) {
const toObject = {};
const fromTimeRangeFilter = getValueByPath(fromObject, [
"timeRangeFilter"
]);
if (fromTimeRangeFilter != null) {
setValueByPath(toObject, ["timeRangeFilter"], intervalToVertex(fromTimeRangeFilter));
}
const fromExcludeDomains = getValueByPath(fromObject, [
"excludeDomains"
]);
if (fromExcludeDomains != null) {
setValueByPath(toObject, ["excludeDomains"], fromExcludeDomains);
}
return toObject;
}
function dynamicRetrievalConfigToVertex(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromDynamicThreshold = getValueByPath(fromObject, [
"dynamicThreshold"
]);
if (fromDynamicThreshold != null) {
setValueByPath(toObject, ["dynamicThreshold"], fromDynamicThreshold);
}
return toObject;
}
function googleSearchRetrievalToVertex(fromObject) {
const toObject = {};
const fromDynamicRetrievalConfig = getValueByPath(fromObject, [
"dynamicRetrievalConfig"
]);
if (fromDynamicRetrievalConfig != null) {
setValueByPath(toObject, ["dynamicRetrievalConfig"], dynamicRetrievalConfigToVertex(fromDynamicRetrievalConfig));
}
return toObject;
}
function enterpriseWebSearchToVertex(fromObject) {
const toObject = {};
const fromExcludeDomains = getValueByPath(fromObject, [
"excludeDomains"
]);
if (fromExcludeDomains != null) {
setValueByPath(toObject, ["excludeDomains"], fromExcludeDomains);
}
return toObject;
}
function apiKeyConfigToVertex(fromObject) {
const toObject = {};
const fromApiKeyString = getValueByPath(fromObject, ["apiKeyString"]);
if (fromApiKeyString != null) {
setValueByPath(toObject, ["apiKeyString"], fromApiKeyString);
}
return toObject;
}
function authConfigToVertex(fromObject) {
const toObject = {};
const fromApiKeyConfig = getValueByPath(fromObject, ["apiKeyConfig"]);
if (fromApiKeyConfig != null) {
setValueByPath(toObject, ["apiKeyConfig"], apiKeyConfigToVertex(fromApiKeyConfig));
}
const fromAuthType = getValueByPath(fromObject, ["authType"]);
if (fromAuthType != null) {
setValueByPath(toObject, ["authType"], fromAuthType);
}
const fromGoogleServiceAccountConfig = getValueByPath(fromObject, [
"googleServiceAccountConfig"
]);
if (fromGoogleServiceAccountConfig != null) {
setValueByPath(toObject, ["googleServiceAccountConfig"], fromGoogleServiceAccountConfig);
}
const fromHttpBasicAuthConfig = getValueByPath(fromObject, [
"httpBasicAuthConfig"
]);
if (fromHttpBasicAuthConfig != null) {
setValueByPath(toObject, ["httpBasicAuthConfig"], fromHttpBasicAuthConfig);
}
const fromOauthConfig = getValueByPath(fromObject, ["oauthConfig"]);
if (fromOauthConfig != null) {
setValueByPath(toObject, ["oauthConfig"], fromOauthConfig);
}
const fromOidcConfig = getValueByPath(fromObject, ["oidcConfig"]);
if (fromOidcConfig != null) {
setValueByPath(toObject, ["oidcConfig"], fromOidcConfig);
}
return toObject;
}
function googleMapsToVertex(fromObject) {
const toObject = {};
const fromAuthConfig = getValueByPath(fromObject, ["authConfig"]);
if (fromAuthConfig != null) {
setValueByPath(toObject, ["authConfig"], authConfigToVertex(fromAuthConfig));
}
return toObject;
}
function urlContextToVertex() {
const toObject = {};
return toObject;
}
function toolComputerUseToVertex(fromObject) {
const toObject = {};
const fromEnvironment = getValueByPath(fromObject, ["environment"]);
if (fromEnvironment != null) {
setValueByPath(toObject, ["environment"], fromEnvironment);
}
return toObject;
}
function toolToVertex(fromObject) {
const toObject = {};
const fromFunctionDeclarations = getValueByPath(fromObject, [
"functionDeclarations"
]);
if (fromFunctionDeclarations != null) {
let transformedList = fromFunctionDeclarations;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return functionDeclarationToVertex(item);
});
}
setValueByPath(toObject, ["functionDeclarations"], transformedList);
}
const fromRetrieval = getValueByPath(fromObject, ["retrieval"]);
if (fromRetrieval != null) {
setValueByPath(toObject, ["retrieval"], fromRetrieval);
}
const fromGoogleSearch = getValueByPath(fromObject, ["googleSearch"]);
if (fromGoogleSearch != null) {
setValueByPath(toObject, ["googleSearch"], googleSearchToVertex(fromGoogleSearch));
}
const fromGoogleSearchRetrieval = getValueByPath(fromObject, [
"googleSearchRetrieval"
]);
if (fromGoogleSearchRetrieval != null) {
setValueByPath(toObject, ["googleSearchRetrieval"], googleSearchRetrievalToVertex(fromGoogleSearchRetrieval));
}
const fromEnterpriseWebSearch = getValueByPath(fromObject, [
"enterpriseWebSearch"
]);
if (fromEnterpriseWebSearch != null) {
setValueByPath(toObject, ["enterpriseWebSearch"], enterpriseWebSearchToVertex(fromEnterpriseWebSearch));
}
const fromGoogleMaps = getValueByPath(fromObject, ["googleMaps"]);
if (fromGoogleMaps != null) {
setValueByPath(toObject, ["googleMaps"], googleMapsToVertex(fromGoogleMaps));
}
const fromUrlContext = getValueByPath(fromObject, ["urlContext"]);
if (fromUrlContext != null) {
setValueByPath(toObject, ["urlContext"], urlContextToVertex());
}
const fromComputerUse = getValueByPath(fromObject, ["computerUse"]);
if (fromComputerUse != null) {
setValueByPath(toObject, ["computerUse"], toolComputerUseToVertex(fromComputerUse));
}
const fromCodeExecution = getValueByPath(fromObject, [
"codeExecution"
]);
if (fromCodeExecution != null) {
setValueByPath(toObject, ["codeExecution"], fromCodeExecution);
}
return toObject;
}
function functionCallingConfigToVertex(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromAllowedFunctionNames = getValueByPath(fromObject, [
"allowedFunctionNames"
]);
if (fromAllowedFunctionNames != null) {
setValueByPath(toObject, ["allowedFunctionNames"], fromAllowedFunctionNames);
}
return toObject;
}
function latLngToVertex(fromObject) {
const toObject = {};
const fromLatitude = getValueByPath(fromObject, ["latitude"]);
if (fromLatitude != null) {
setValueByPath(toObject, ["latitude"], fromLatitude);
}
const fromLongitude = getValueByPath(fromObject, ["longitude"]);
if (fromLongitude != null) {
setValueByPath(toObject, ["longitude"], fromLongitude);
}
return toObject;
}
function retrievalConfigToVertex(fromObject) {
const toObject = {};
const fromLatLng = getValueByPath(fromObject, ["latLng"]);
if (fromLatLng != null) {
setValueByPath(toObject, ["latLng"], latLngToVertex(fromLatLng));
}
const fromLanguageCode = getValueByPath(fromObject, ["languageCode"]);
if (fromLanguageCode != null) {
setValueByPath(toObject, ["languageCode"], fromLanguageCode);
}
return toObject;
}
function toolConfigToVertex(fromObject) {
const toObject = {};
const fromFunctionCallingConfig = getValueByPath(fromObject, [
"functionCallingConfig"
]);
if (fromFunctionCallingConfig != null) {
setValueByPath(toObject, ["functionCallingConfig"], functionCallingConfigToVertex(fromFunctionCallingConfig));
}
const fromRetrievalConfig = getValueByPath(fromObject, [
"retrievalConfig"
]);
if (fromRetrievalConfig != null) {
setValueByPath(toObject, ["retrievalConfig"], retrievalConfigToVertex(fromRetrievalConfig));
}
return toObject;
}
function prebuiltVoiceConfigToVertex(fromObject) {
const toObject = {};
const fromVoiceName = getValueByPath(fromObject, ["voiceName"]);
if (fromVoiceName != null) {
setValueByPath(toObject, ["voiceName"], fromVoiceName);
}
return toObject;
}
function voiceConfigToVertex(fromObject) {
const toObject = {};
const fromPrebuiltVoiceConfig = getValueByPath(fromObject, [
"prebuiltVoiceConfig"
]);
if (fromPrebuiltVoiceConfig != null) {
setValueByPath(toObject, ["prebuiltVoiceConfig"], prebuiltVoiceConfigToVertex(fromPrebuiltVoiceConfig));
}
return toObject;
}
function speechConfigToVertex(fromObject) {
const toObject = {};
const fromVoiceConfig = getValueByPath(fromObject, ["voiceConfig"]);
if (fromVoiceConfig != null) {
setValueByPath(toObject, ["voiceConfig"], voiceConfigToVertex(fromVoiceConfig));
}
if (getValueByPath(fromObject, ["multiSpeakerVoiceConfig"]) !== void 0) {
throw new Error("multiSpeakerVoiceConfig parameter is not supported in Vertex AI.");
}
const fromLanguageCode = getValueByPath(fromObject, ["languageCode"]);
if (fromLanguageCode != null) {
setValueByPath(toObject, ["languageCode"], fromLanguageCode);
}
return toObject;
}
function thinkingConfigToVertex(fromObject) {
const toObject = {};
const fromIncludeThoughts = getValueByPath(fromObject, [
"includeThoughts"
]);
if (fromIncludeThoughts != null) {
setValueByPath(toObject, ["includeThoughts"], fromIncludeThoughts);
}
const fromThinkingBudget = getValueByPath(fromObject, [
"thinkingBudget"
]);
if (fromThinkingBudget != null) {
setValueByPath(toObject, ["thinkingBudget"], fromThinkingBudget);
}
return toObject;
}
function generateContentConfigToVertex(apiClient, fromObject, parentObject) {
const toObject = {};
const fromSystemInstruction = getValueByPath(fromObject, [
"systemInstruction"
]);
if (parentObject !== void 0 && fromSystemInstruction != null) {
setValueByPath(parentObject, ["systemInstruction"], contentToVertex(tContent(fromSystemInstruction)));
}
const fromTemperature = getValueByPath(fromObject, ["temperature"]);
if (fromTemperature != null) {
setValueByPath(toObject, ["temperature"], fromTemperature);
}
const fromTopP = getValueByPath(fromObject, ["topP"]);
if (fromTopP != null) {
setValueByPath(toObject, ["topP"], fromTopP);
}
const fromTopK = getValueByPath(fromObject, ["topK"]);
if (fromTopK != null) {
setValueByPath(toObject, ["topK"], fromTopK);
}
const fromCandidateCount = getValueByPath(fromObject, [
"candidateCount"
]);
if (fromCandidateCount != null) {
setValueByPath(toObject, ["candidateCount"], fromCandidateCount);
}
const fromMaxOutputTokens = getValueByPath(fromObject, [
"maxOutputTokens"
]);
if (fromMaxOutputTokens != null) {
setValueByPath(toObject, ["maxOutputTokens"], fromMaxOutputTokens);
}
const fromStopSequences = getValueByPath(fromObject, [
"stopSequences"
]);
if (fromStopSequences != null) {
setValueByPath(toObject, ["stopSequences"], fromStopSequences);
}
const fromResponseLogprobs = getValueByPath(fromObject, [
"responseLogprobs"
]);
if (fromResponseLogprobs != null) {
setValueByPath(toObject, ["responseLogprobs"], fromResponseLogprobs);
}
const fromLogprobs = getValueByPath(fromObject, ["logprobs"]);
if (fromLogprobs != null) {
setValueByPath(toObject, ["logprobs"], fromLogprobs);
}
const fromPresencePenalty = getValueByPath(fromObject, [
"presencePenalty"
]);
if (fromPresencePenalty != null) {
setValueByPath(toObject, ["presencePenalty"], fromPresencePenalty);
}
const fromFrequencyPenalty = getValueByPath(fromObject, [
"frequencyPenalty"
]);
if (fromFrequencyPenalty != null) {
setValueByPath(toObject, ["frequencyPenalty"], fromFrequencyPenalty);
}
const fromSeed = getValueByPath(fromObject, ["seed"]);
if (fromSeed != null) {
setValueByPath(toObject, ["seed"], fromSeed);
}
const fromResponseMimeType = getValueByPath(fromObject, [
"responseMimeType"
]);
if (fromResponseMimeType != null) {
setValueByPath(toObject, ["responseMimeType"], fromResponseMimeType);
}
const fromResponseSchema = getValueByPath(fromObject, [
"responseSchema"
]);
if (fromResponseSchema != null) {
setValueByPath(toObject, ["responseSchema"], schemaToVertex(tSchema(fromResponseSchema)));
}
const fromResponseJsonSchema = getValueByPath(fromObject, [
"responseJsonSchema"
]);
if (fromResponseJsonSchema != null) {
setValueByPath(toObject, ["responseJsonSchema"], fromResponseJsonSchema);
}
const fromRoutingConfig = getValueByPath(fromObject, [
"routingConfig"
]);
if (fromRoutingConfig != null) {
setValueByPath(toObject, ["routingConfig"], fromRoutingConfig);
}
const fromModelSelectionConfig = getValueByPath(fromObject, [
"modelSelectionConfig"
]);
if (fromModelSelectionConfig != null) {
setValueByPath(toObject, ["modelConfig"], modelSelectionConfigToVertex(fromModelSelectionConfig));
}
const fromSafetySettings = getValueByPath(fromObject, [
"safetySettings"
]);
if (parentObject !== void 0 && fromSafetySettings != null) {
let transformedList = fromSafetySettings;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return safetySettingToVertex(item);
});
}
setValueByPath(parentObject, ["safetySettings"], transformedList);
}
const fromTools = getValueByPath(fromObject, ["tools"]);
if (parentObject !== void 0 && fromTools != null) {
let transformedList = tTools(fromTools);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return toolToVertex(tTool(item));
});
}
setValueByPath(parentObject, ["tools"], transformedList);
}
const fromToolConfig = getValueByPath(fromObject, ["toolConfig"]);
if (parentObject !== void 0 && fromToolConfig != null) {
setValueByPath(parentObject, ["toolConfig"], toolConfigToVertex(fromToolConfig));
}
const fromLabels = getValueByPath(fromObject, ["labels"]);
if (parentObject !== void 0 && fromLabels != null) {
setValueByPath(parentObject, ["labels"], fromLabels);
}
const fromCachedContent = getValueByPath(fromObject, [
"cachedContent"
]);
if (parentObject !== void 0 && fromCachedContent != null) {
setValueByPath(parentObject, ["cachedContent"], tCachedContentName(apiClient, fromCachedContent));
}
const fromResponseModalities = getValueByPath(fromObject, [
"responseModalities"
]);
if (fromResponseModalities != null) {
setValueByPath(toObject, ["responseModalities"], fromResponseModalities);
}
const fromMediaResolution = getValueByPath(fromObject, [
"mediaResolution"
]);
if (fromMediaResolution != null) {
setValueByPath(toObject, ["mediaResolution"], fromMediaResolution);
}
const fromSpeechConfig = getValueByPath(fromObject, ["speechConfig"]);
if (fromSpeechConfig != null) {
setValueByPath(toObject, ["speechConfig"], speechConfigToVertex(tSpeechConfig(fromSpeechConfig)));
}
const fromAudioTimestamp = getValueByPath(fromObject, [
"audioTimestamp"
]);
if (fromAudioTimestamp != null) {
setValueByPath(toObject, ["audioTimestamp"], fromAudioTimestamp);
}
const fromThinkingConfig = getValueByPath(fromObject, [
"thinkingConfig"
]);
if (fromThinkingConfig != null) {
setValueByPath(toObject, ["thinkingConfig"], thinkingConfigToVertex(fromThinkingConfig));
}
return toObject;
}
function generateContentParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromContents = getValueByPath(fromObject, ["contents"]);
if (fromContents != null) {
let transformedList = tContents(fromContents);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return contentToVertex(item);
});
}
setValueByPath(toObject, ["contents"], transformedList);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["generationConfig"], generateContentConfigToVertex(apiClient, fromConfig, toObject));
}
return toObject;
}
function embedContentConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromTaskType = getValueByPath(fromObject, ["taskType"]);
if (parentObject !== void 0 && fromTaskType != null) {
setValueByPath(parentObject, ["instances[]", "task_type"], fromTaskType);
}
const fromTitle = getValueByPath(fromObject, ["title"]);
if (parentObject !== void 0 && fromTitle != null) {
setValueByPath(parentObject, ["instances[]", "title"], fromTitle);
}
const fromOutputDimensionality = getValueByPath(fromObject, [
"outputDimensionality"
]);
if (parentObject !== void 0 && fromOutputDimensionality != null) {
setValueByPath(parentObject, ["parameters", "outputDimensionality"], fromOutputDimensionality);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (parentObject !== void 0 && fromMimeType != null) {
setValueByPath(parentObject, ["instances[]", "mimeType"], fromMimeType);
}
const fromAutoTruncate = getValueByPath(fromObject, ["autoTruncate"]);
if (parentObject !== void 0 && fromAutoTruncate != null) {
setValueByPath(parentObject, ["parameters", "autoTruncate"], fromAutoTruncate);
}
return toObject;
}
function embedContentParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromContents = getValueByPath(fromObject, ["contents"]);
if (fromContents != null) {
setValueByPath(toObject, ["instances[]", "content"], tContentsForEmbed(apiClient, fromContents));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], embedContentConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function generateImagesConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromOutputGcsUri = getValueByPath(fromObject, ["outputGcsUri"]);
if (parentObject !== void 0 && fromOutputGcsUri != null) {
setValueByPath(parentObject, ["parameters", "storageUri"], fromOutputGcsUri);
}
const fromNegativePrompt = getValueByPath(fromObject, [
"negativePrompt"
]);
if (parentObject !== void 0 && fromNegativePrompt != null) {
setValueByPath(parentObject, ["parameters", "negativePrompt"], fromNegativePrompt);
}
const fromNumberOfImages = getValueByPath(fromObject, [
"numberOfImages"
]);
if (parentObject !== void 0 && fromNumberOfImages != null) {
setValueByPath(parentObject, ["parameters", "sampleCount"], fromNumberOfImages);
}
const fromAspectRatio = getValueByPath(fromObject, ["aspectRatio"]);
if (parentObject !== void 0 && fromAspectRatio != null) {
setValueByPath(parentObject, ["parameters", "aspectRatio"], fromAspectRatio);
}
const fromGuidanceScale = getValueByPath(fromObject, [
"guidanceScale"
]);
if (parentObject !== void 0 && fromGuidanceScale != null) {
setValueByPath(parentObject, ["parameters", "guidanceScale"], fromGuidanceScale);
}
const fromSeed = getValueByPath(fromObject, ["seed"]);
if (parentObject !== void 0 && fromSeed != null) {
setValueByPath(parentObject, ["parameters", "seed"], fromSeed);
}
const fromSafetyFilterLevel = getValueByPath(fromObject, [
"safetyFilterLevel"
]);
if (parentObject !== void 0 && fromSafetyFilterLevel != null) {
setValueByPath(parentObject, ["parameters", "safetySetting"], fromSafetyFilterLevel);
}
const fromPersonGeneration = getValueByPath(fromObject, [
"personGeneration"
]);
if (parentObject !== void 0 && fromPersonGeneration != null) {
setValueByPath(parentObject, ["parameters", "personGeneration"], fromPersonGeneration);
}
const fromIncludeSafetyAttributes = getValueByPath(fromObject, [
"includeSafetyAttributes"
]);
if (parentObject !== void 0 && fromIncludeSafetyAttributes != null) {
setValueByPath(parentObject, ["parameters", "includeSafetyAttributes"], fromIncludeSafetyAttributes);
}
const fromIncludeRaiReason = getValueByPath(fromObject, [
"includeRaiReason"
]);
if (parentObject !== void 0 && fromIncludeRaiReason != null) {
setValueByPath(parentObject, ["parameters", "includeRaiReason"], fromIncludeRaiReason);
}
const fromLanguage = getValueByPath(fromObject, ["language"]);
if (parentObject !== void 0 && fromLanguage != null) {
setValueByPath(parentObject, ["parameters", "language"], fromLanguage);
}
const fromOutputMimeType = getValueByPath(fromObject, [
"outputMimeType"
]);
if (parentObject !== void 0 && fromOutputMimeType != null) {
setValueByPath(parentObject, ["parameters", "outputOptions", "mimeType"], fromOutputMimeType);
}
const fromOutputCompressionQuality = getValueByPath(fromObject, [
"outputCompressionQuality"
]);
if (parentObject !== void 0 && fromOutputCompressionQuality != null) {
setValueByPath(parentObject, ["parameters", "outputOptions", "compressionQuality"], fromOutputCompressionQuality);
}
const fromAddWatermark = getValueByPath(fromObject, ["addWatermark"]);
if (parentObject !== void 0 && fromAddWatermark != null) {
setValueByPath(parentObject, ["parameters", "addWatermark"], fromAddWatermark);
}
const fromImageSize = getValueByPath(fromObject, ["imageSize"]);
if (parentObject !== void 0 && fromImageSize != null) {
setValueByPath(parentObject, ["parameters", "sampleImageSize"], fromImageSize);
}
const fromEnhancePrompt = getValueByPath(fromObject, [
"enhancePrompt"
]);
if (parentObject !== void 0 && fromEnhancePrompt != null) {
setValueByPath(parentObject, ["parameters", "enhancePrompt"], fromEnhancePrompt);
}
return toObject;
}
function generateImagesParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromPrompt = getValueByPath(fromObject, ["prompt"]);
if (fromPrompt != null) {
setValueByPath(toObject, ["instances[0]", "prompt"], fromPrompt);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], generateImagesConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function imageToVertex(fromObject) {
const toObject = {};
const fromGcsUri = getValueByPath(fromObject, ["gcsUri"]);
if (fromGcsUri != null) {
setValueByPath(toObject, ["gcsUri"], fromGcsUri);
}
const fromImageBytes = getValueByPath(fromObject, ["imageBytes"]);
if (fromImageBytes != null) {
setValueByPath(toObject, ["bytesBase64Encoded"], tBytes(fromImageBytes));
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function maskReferenceConfigToVertex(fromObject) {
const toObject = {};
const fromMaskMode = getValueByPath(fromObject, ["maskMode"]);
if (fromMaskMode != null) {
setValueByPath(toObject, ["maskMode"], fromMaskMode);
}
const fromSegmentationClasses = getValueByPath(fromObject, [
"segmentationClasses"
]);
if (fromSegmentationClasses != null) {
setValueByPath(toObject, ["maskClasses"], fromSegmentationClasses);
}
const fromMaskDilation = getValueByPath(fromObject, ["maskDilation"]);
if (fromMaskDilation != null) {
setValueByPath(toObject, ["dilation"], fromMaskDilation);
}
return toObject;
}
function controlReferenceConfigToVertex(fromObject) {
const toObject = {};
const fromControlType = getValueByPath(fromObject, ["controlType"]);
if (fromControlType != null) {
setValueByPath(toObject, ["controlType"], fromControlType);
}
const fromEnableControlImageComputation = getValueByPath(fromObject, [
"enableControlImageComputation"
]);
if (fromEnableControlImageComputation != null) {
setValueByPath(toObject, ["computeControl"], fromEnableControlImageComputation);
}
return toObject;
}
function styleReferenceConfigToVertex(fromObject) {
const toObject = {};
const fromStyleDescription = getValueByPath(fromObject, [
"styleDescription"
]);
if (fromStyleDescription != null) {
setValueByPath(toObject, ["styleDescription"], fromStyleDescription);
}
return toObject;
}
function subjectReferenceConfigToVertex(fromObject) {
const toObject = {};
const fromSubjectType = getValueByPath(fromObject, ["subjectType"]);
if (fromSubjectType != null) {
setValueByPath(toObject, ["subjectType"], fromSubjectType);
}
const fromSubjectDescription = getValueByPath(fromObject, [
"subjectDescription"
]);
if (fromSubjectDescription != null) {
setValueByPath(toObject, ["subjectDescription"], fromSubjectDescription);
}
return toObject;
}
function referenceImageAPIInternalToVertex(fromObject) {
const toObject = {};
const fromReferenceImage = getValueByPath(fromObject, [
"referenceImage"
]);
if (fromReferenceImage != null) {
setValueByPath(toObject, ["referenceImage"], imageToVertex(fromReferenceImage));
}
const fromReferenceId = getValueByPath(fromObject, ["referenceId"]);
if (fromReferenceId != null) {
setValueByPath(toObject, ["referenceId"], fromReferenceId);
}
const fromReferenceType = getValueByPath(fromObject, [
"referenceType"
]);
if (fromReferenceType != null) {
setValueByPath(toObject, ["referenceType"], fromReferenceType);
}
const fromMaskImageConfig = getValueByPath(fromObject, [
"maskImageConfig"
]);
if (fromMaskImageConfig != null) {
setValueByPath(toObject, ["maskImageConfig"], maskReferenceConfigToVertex(fromMaskImageConfig));
}
const fromControlImageConfig = getValueByPath(fromObject, [
"controlImageConfig"
]);
if (fromControlImageConfig != null) {
setValueByPath(toObject, ["controlImageConfig"], controlReferenceConfigToVertex(fromControlImageConfig));
}
const fromStyleImageConfig = getValueByPath(fromObject, [
"styleImageConfig"
]);
if (fromStyleImageConfig != null) {
setValueByPath(toObject, ["styleImageConfig"], styleReferenceConfigToVertex(fromStyleImageConfig));
}
const fromSubjectImageConfig = getValueByPath(fromObject, [
"subjectImageConfig"
]);
if (fromSubjectImageConfig != null) {
setValueByPath(toObject, ["subjectImageConfig"], subjectReferenceConfigToVertex(fromSubjectImageConfig));
}
return toObject;
}
function editImageConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromOutputGcsUri = getValueByPath(fromObject, ["outputGcsUri"]);
if (parentObject !== void 0 && fromOutputGcsUri != null) {
setValueByPath(parentObject, ["parameters", "storageUri"], fromOutputGcsUri);
}
const fromNegativePrompt = getValueByPath(fromObject, [
"negativePrompt"
]);
if (parentObject !== void 0 && fromNegativePrompt != null) {
setValueByPath(parentObject, ["parameters", "negativePrompt"], fromNegativePrompt);
}
const fromNumberOfImages = getValueByPath(fromObject, [
"numberOfImages"
]);
if (parentObject !== void 0 && fromNumberOfImages != null) {
setValueByPath(parentObject, ["parameters", "sampleCount"], fromNumberOfImages);
}
const fromAspectRatio = getValueByPath(fromObject, ["aspectRatio"]);
if (parentObject !== void 0 && fromAspectRatio != null) {
setValueByPath(parentObject, ["parameters", "aspectRatio"], fromAspectRatio);
}
const fromGuidanceScale = getValueByPath(fromObject, [
"guidanceScale"
]);
if (parentObject !== void 0 && fromGuidanceScale != null) {
setValueByPath(parentObject, ["parameters", "guidanceScale"], fromGuidanceScale);
}
const fromSeed = getValueByPath(fromObject, ["seed"]);
if (parentObject !== void 0 && fromSeed != null) {
setValueByPath(parentObject, ["parameters", "seed"], fromSeed);
}
const fromSafetyFilterLevel = getValueByPath(fromObject, [
"safetyFilterLevel"
]);
if (parentObject !== void 0 && fromSafetyFilterLevel != null) {
setValueByPath(parentObject, ["parameters", "safetySetting"], fromSafetyFilterLevel);
}
const fromPersonGeneration = getValueByPath(fromObject, [
"personGeneration"
]);
if (parentObject !== void 0 && fromPersonGeneration != null) {
setValueByPath(parentObject, ["parameters", "personGeneration"], fromPersonGeneration);
}
const fromIncludeSafetyAttributes = getValueByPath(fromObject, [
"includeSafetyAttributes"
]);
if (parentObject !== void 0 && fromIncludeSafetyAttributes != null) {
setValueByPath(parentObject, ["parameters", "includeSafetyAttributes"], fromIncludeSafetyAttributes);
}
const fromIncludeRaiReason = getValueByPath(fromObject, [
"includeRaiReason"
]);
if (parentObject !== void 0 && fromIncludeRaiReason != null) {
setValueByPath(parentObject, ["parameters", "includeRaiReason"], fromIncludeRaiReason);
}
const fromLanguage = getValueByPath(fromObject, ["language"]);
if (parentObject !== void 0 && fromLanguage != null) {
setValueByPath(parentObject, ["parameters", "language"], fromLanguage);
}
const fromOutputMimeType = getValueByPath(fromObject, [
"outputMimeType"
]);
if (parentObject !== void 0 && fromOutputMimeType != null) {
setValueByPath(parentObject, ["parameters", "outputOptions", "mimeType"], fromOutputMimeType);
}
const fromOutputCompressionQuality = getValueByPath(fromObject, [
"outputCompressionQuality"
]);
if (parentObject !== void 0 && fromOutputCompressionQuality != null) {
setValueByPath(parentObject, ["parameters", "outputOptions", "compressionQuality"], fromOutputCompressionQuality);
}
const fromAddWatermark = getValueByPath(fromObject, ["addWatermark"]);
if (parentObject !== void 0 && fromAddWatermark != null) {
setValueByPath(parentObject, ["parameters", "addWatermark"], fromAddWatermark);
}
const fromEditMode = getValueByPath(fromObject, ["editMode"]);
if (parentObject !== void 0 && fromEditMode != null) {
setValueByPath(parentObject, ["parameters", "editMode"], fromEditMode);
}
const fromBaseSteps = getValueByPath(fromObject, ["baseSteps"]);
if (parentObject !== void 0 && fromBaseSteps != null) {
setValueByPath(parentObject, ["parameters", "editConfig", "baseSteps"], fromBaseSteps);
}
return toObject;
}
function editImageParametersInternalToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromPrompt = getValueByPath(fromObject, ["prompt"]);
if (fromPrompt != null) {
setValueByPath(toObject, ["instances[0]", "prompt"], fromPrompt);
}
const fromReferenceImages = getValueByPath(fromObject, [
"referenceImages"
]);
if (fromReferenceImages != null) {
let transformedList = fromReferenceImages;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return referenceImageAPIInternalToVertex(item);
});
}
setValueByPath(toObject, ["instances[0]", "referenceImages"], transformedList);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], editImageConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function upscaleImageAPIConfigInternalToVertex(fromObject, parentObject) {
const toObject = {};
const fromOutputGcsUri = getValueByPath(fromObject, ["outputGcsUri"]);
if (parentObject !== void 0 && fromOutputGcsUri != null) {
setValueByPath(parentObject, ["parameters", "storageUri"], fromOutputGcsUri);
}
const fromIncludeRaiReason = getValueByPath(fromObject, [
"includeRaiReason"
]);
if (parentObject !== void 0 && fromIncludeRaiReason != null) {
setValueByPath(parentObject, ["parameters", "includeRaiReason"], fromIncludeRaiReason);
}
const fromOutputMimeType = getValueByPath(fromObject, [
"outputMimeType"
]);
if (parentObject !== void 0 && fromOutputMimeType != null) {
setValueByPath(parentObject, ["parameters", "outputOptions", "mimeType"], fromOutputMimeType);
}
const fromOutputCompressionQuality = getValueByPath(fromObject, [
"outputCompressionQuality"
]);
if (parentObject !== void 0 && fromOutputCompressionQuality != null) {
setValueByPath(parentObject, ["parameters", "outputOptions", "compressionQuality"], fromOutputCompressionQuality);
}
const fromEnhanceInputImage = getValueByPath(fromObject, [
"enhanceInputImage"
]);
if (parentObject !== void 0 && fromEnhanceInputImage != null) {
setValueByPath(parentObject, ["parameters", "upscaleConfig", "enhanceInputImage"], fromEnhanceInputImage);
}
const fromImagePreservationFactor = getValueByPath(fromObject, [
"imagePreservationFactor"
]);
if (parentObject !== void 0 && fromImagePreservationFactor != null) {
setValueByPath(parentObject, ["parameters", "upscaleConfig", "imagePreservationFactor"], fromImagePreservationFactor);
}
const fromNumberOfImages = getValueByPath(fromObject, [
"numberOfImages"
]);
if (parentObject !== void 0 && fromNumberOfImages != null) {
setValueByPath(parentObject, ["parameters", "sampleCount"], fromNumberOfImages);
}
const fromMode = getValueByPath(fromObject, ["mode"]);
if (parentObject !== void 0 && fromMode != null) {
setValueByPath(parentObject, ["parameters", "mode"], fromMode);
}
return toObject;
}
function upscaleImageAPIParametersInternalToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromImage = getValueByPath(fromObject, ["image"]);
if (fromImage != null) {
setValueByPath(toObject, ["instances[0]", "image"], imageToVertex(fromImage));
}
const fromUpscaleFactor = getValueByPath(fromObject, [
"upscaleFactor"
]);
if (fromUpscaleFactor != null) {
setValueByPath(toObject, ["parameters", "upscaleConfig", "upscaleFactor"], fromUpscaleFactor);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], upscaleImageAPIConfigInternalToVertex(fromConfig, toObject));
}
return toObject;
}
function productImageToVertex(fromObject) {
const toObject = {};
const fromProductImage = getValueByPath(fromObject, ["productImage"]);
if (fromProductImage != null) {
setValueByPath(toObject, ["image"], imageToVertex(fromProductImage));
}
return toObject;
}
function recontextImageSourceToVertex(fromObject, parentObject) {
const toObject = {};
const fromPrompt = getValueByPath(fromObject, ["prompt"]);
if (parentObject !== void 0 && fromPrompt != null) {
setValueByPath(parentObject, ["instances[0]", "prompt"], fromPrompt);
}
const fromPersonImage = getValueByPath(fromObject, ["personImage"]);
if (parentObject !== void 0 && fromPersonImage != null) {
setValueByPath(parentObject, ["instances[0]", "personImage", "image"], imageToVertex(fromPersonImage));
}
const fromProductImages = getValueByPath(fromObject, [
"productImages"
]);
if (parentObject !== void 0 && fromProductImages != null) {
let transformedList = fromProductImages;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return productImageToVertex(item);
});
}
setValueByPath(parentObject, ["instances[0]", "productImages"], transformedList);
}
return toObject;
}
function recontextImageConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromNumberOfImages = getValueByPath(fromObject, [
"numberOfImages"
]);
if (parentObject !== void 0 && fromNumberOfImages != null) {
setValueByPath(parentObject, ["parameters", "sampleCount"], fromNumberOfImages);
}
const fromBaseSteps = getValueByPath(fromObject, ["baseSteps"]);
if (parentObject !== void 0 && fromBaseSteps != null) {
setValueByPath(parentObject, ["parameters", "editConfig", "baseSteps"], fromBaseSteps);
}
const fromOutputGcsUri = getValueByPath(fromObject, ["outputGcsUri"]);
if (parentObject !== void 0 && fromOutputGcsUri != null) {
setValueByPath(parentObject, ["parameters", "storageUri"], fromOutputGcsUri);
}
const fromSeed = getValueByPath(fromObject, ["seed"]);
if (parentObject !== void 0 && fromSeed != null) {
setValueByPath(parentObject, ["parameters", "seed"], fromSeed);
}
const fromSafetyFilterLevel = getValueByPath(fromObject, [
"safetyFilterLevel"
]);
if (parentObject !== void 0 && fromSafetyFilterLevel != null) {
setValueByPath(parentObject, ["parameters", "safetySetting"], fromSafetyFilterLevel);
}
const fromPersonGeneration = getValueByPath(fromObject, [
"personGeneration"
]);
if (parentObject !== void 0 && fromPersonGeneration != null) {
setValueByPath(parentObject, ["parameters", "personGeneration"], fromPersonGeneration);
}
const fromAddWatermark = getValueByPath(fromObject, ["addWatermark"]);
if (parentObject !== void 0 && fromAddWatermark != null) {
setValueByPath(parentObject, ["parameters", "addWatermark"], fromAddWatermark);
}
const fromOutputMimeType = getValueByPath(fromObject, [
"outputMimeType"
]);
if (parentObject !== void 0 && fromOutputMimeType != null) {
setValueByPath(parentObject, ["parameters", "outputOptions", "mimeType"], fromOutputMimeType);
}
const fromOutputCompressionQuality = getValueByPath(fromObject, [
"outputCompressionQuality"
]);
if (parentObject !== void 0 && fromOutputCompressionQuality != null) {
setValueByPath(parentObject, ["parameters", "outputOptions", "compressionQuality"], fromOutputCompressionQuality);
}
const fromEnhancePrompt = getValueByPath(fromObject, [
"enhancePrompt"
]);
if (parentObject !== void 0 && fromEnhancePrompt != null) {
setValueByPath(parentObject, ["parameters", "enhancePrompt"], fromEnhancePrompt);
}
return toObject;
}
function recontextImageParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromSource = getValueByPath(fromObject, ["source"]);
if (fromSource != null) {
setValueByPath(toObject, ["config"], recontextImageSourceToVertex(fromSource, toObject));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], recontextImageConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function scribbleImageToVertex(fromObject) {
const toObject = {};
const fromImage = getValueByPath(fromObject, ["image"]);
if (fromImage != null) {
setValueByPath(toObject, ["image"], imageToVertex(fromImage));
}
return toObject;
}
function segmentImageSourceToVertex(fromObject, parentObject) {
const toObject = {};
const fromPrompt = getValueByPath(fromObject, ["prompt"]);
if (parentObject !== void 0 && fromPrompt != null) {
setValueByPath(parentObject, ["instances[0]", "prompt"], fromPrompt);
}
const fromImage = getValueByPath(fromObject, ["image"]);
if (parentObject !== void 0 && fromImage != null) {
setValueByPath(parentObject, ["instances[0]", "image"], imageToVertex(fromImage));
}
const fromScribbleImage = getValueByPath(fromObject, [
"scribbleImage"
]);
if (parentObject !== void 0 && fromScribbleImage != null) {
setValueByPath(parentObject, ["instances[0]", "scribble"], scribbleImageToVertex(fromScribbleImage));
}
return toObject;
}
function segmentImageConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (parentObject !== void 0 && fromMode != null) {
setValueByPath(parentObject, ["parameters", "mode"], fromMode);
}
const fromMaxPredictions = getValueByPath(fromObject, [
"maxPredictions"
]);
if (parentObject !== void 0 && fromMaxPredictions != null) {
setValueByPath(parentObject, ["parameters", "maxPredictions"], fromMaxPredictions);
}
const fromConfidenceThreshold = getValueByPath(fromObject, [
"confidenceThreshold"
]);
if (parentObject !== void 0 && fromConfidenceThreshold != null) {
setValueByPath(parentObject, ["parameters", "confidenceThreshold"], fromConfidenceThreshold);
}
const fromMaskDilation = getValueByPath(fromObject, ["maskDilation"]);
if (parentObject !== void 0 && fromMaskDilation != null) {
setValueByPath(parentObject, ["parameters", "maskDilation"], fromMaskDilation);
}
const fromBinaryColorThreshold = getValueByPath(fromObject, [
"binaryColorThreshold"
]);
if (parentObject !== void 0 && fromBinaryColorThreshold != null) {
setValueByPath(parentObject, ["parameters", "binaryColorThreshold"], fromBinaryColorThreshold);
}
return toObject;
}
function segmentImageParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromSource = getValueByPath(fromObject, ["source"]);
if (fromSource != null) {
setValueByPath(toObject, ["config"], segmentImageSourceToVertex(fromSource, toObject));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], segmentImageConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function getModelParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "name"], tModel(apiClient, fromModel));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function listModelsConfigToVertex(apiClient, fromObject, parentObject) {
const toObject = {};
const fromPageSize = getValueByPath(fromObject, ["pageSize"]);
if (parentObject !== void 0 && fromPageSize != null) {
setValueByPath(parentObject, ["_query", "pageSize"], fromPageSize);
}
const fromPageToken = getValueByPath(fromObject, ["pageToken"]);
if (parentObject !== void 0 && fromPageToken != null) {
setValueByPath(parentObject, ["_query", "pageToken"], fromPageToken);
}
const fromFilter = getValueByPath(fromObject, ["filter"]);
if (parentObject !== void 0 && fromFilter != null) {
setValueByPath(parentObject, ["_query", "filter"], fromFilter);
}
const fromQueryBase = getValueByPath(fromObject, ["queryBase"]);
if (parentObject !== void 0 && fromQueryBase != null) {
setValueByPath(parentObject, ["_url", "models_url"], tModelsUrl(apiClient, fromQueryBase));
}
return toObject;
}
function listModelsParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], listModelsConfigToVertex(apiClient, fromConfig, toObject));
}
return toObject;
}
function updateModelConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (parentObject !== void 0 && fromDisplayName != null) {
setValueByPath(parentObject, ["displayName"], fromDisplayName);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (parentObject !== void 0 && fromDescription != null) {
setValueByPath(parentObject, ["description"], fromDescription);
}
const fromDefaultCheckpointId = getValueByPath(fromObject, [
"defaultCheckpointId"
]);
if (parentObject !== void 0 && fromDefaultCheckpointId != null) {
setValueByPath(parentObject, ["defaultCheckpointId"], fromDefaultCheckpointId);
}
return toObject;
}
function updateModelParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], updateModelConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function deleteModelParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "name"], tModel(apiClient, fromModel));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function countTokensConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromSystemInstruction = getValueByPath(fromObject, [
"systemInstruction"
]);
if (parentObject !== void 0 && fromSystemInstruction != null) {
setValueByPath(parentObject, ["systemInstruction"], contentToVertex(tContent(fromSystemInstruction)));
}
const fromTools = getValueByPath(fromObject, ["tools"]);
if (parentObject !== void 0 && fromTools != null) {
let transformedList = fromTools;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return toolToVertex(item);
});
}
setValueByPath(parentObject, ["tools"], transformedList);
}
const fromGenerationConfig = getValueByPath(fromObject, [
"generationConfig"
]);
if (parentObject !== void 0 && fromGenerationConfig != null) {
setValueByPath(parentObject, ["generationConfig"], fromGenerationConfig);
}
return toObject;
}
function countTokensParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromContents = getValueByPath(fromObject, ["contents"]);
if (fromContents != null) {
let transformedList = tContents(fromContents);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return contentToVertex(item);
});
}
setValueByPath(toObject, ["contents"], transformedList);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], countTokensConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function computeTokensParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromContents = getValueByPath(fromObject, ["contents"]);
if (fromContents != null) {
let transformedList = tContents(fromContents);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return contentToVertex(item);
});
}
setValueByPath(toObject, ["contents"], transformedList);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function videoToVertex(fromObject) {
const toObject = {};
const fromUri = getValueByPath(fromObject, ["uri"]);
if (fromUri != null) {
setValueByPath(toObject, ["gcsUri"], fromUri);
}
const fromVideoBytes = getValueByPath(fromObject, ["videoBytes"]);
if (fromVideoBytes != null) {
setValueByPath(toObject, ["bytesBase64Encoded"], tBytes(fromVideoBytes));
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function generateVideosSourceToVertex(fromObject, parentObject) {
const toObject = {};
const fromPrompt = getValueByPath(fromObject, ["prompt"]);
if (parentObject !== void 0 && fromPrompt != null) {
setValueByPath(parentObject, ["instances[0]", "prompt"], fromPrompt);
}
const fromImage = getValueByPath(fromObject, ["image"]);
if (parentObject !== void 0 && fromImage != null) {
setValueByPath(parentObject, ["instances[0]", "image"], imageToVertex(fromImage));
}
const fromVideo = getValueByPath(fromObject, ["video"]);
if (parentObject !== void 0 && fromVideo != null) {
setValueByPath(parentObject, ["instances[0]", "video"], videoToVertex(fromVideo));
}
return toObject;
}
function videoGenerationReferenceImageToVertex(fromObject) {
const toObject = {};
const fromImage = getValueByPath(fromObject, ["image"]);
if (fromImage != null) {
setValueByPath(toObject, ["image"], imageToVertex(fromImage));
}
const fromReferenceType = getValueByPath(fromObject, [
"referenceType"
]);
if (fromReferenceType != null) {
setValueByPath(toObject, ["referenceType"], fromReferenceType);
}
return toObject;
}
function generateVideosConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromNumberOfVideos = getValueByPath(fromObject, [
"numberOfVideos"
]);
if (parentObject !== void 0 && fromNumberOfVideos != null) {
setValueByPath(parentObject, ["parameters", "sampleCount"], fromNumberOfVideos);
}
const fromOutputGcsUri = getValueByPath(fromObject, ["outputGcsUri"]);
if (parentObject !== void 0 && fromOutputGcsUri != null) {
setValueByPath(parentObject, ["parameters", "storageUri"], fromOutputGcsUri);
}
const fromFps = getValueByPath(fromObject, ["fps"]);
if (parentObject !== void 0 && fromFps != null) {
setValueByPath(parentObject, ["parameters", "fps"], fromFps);
}
const fromDurationSeconds = getValueByPath(fromObject, [
"durationSeconds"
]);
if (parentObject !== void 0 && fromDurationSeconds != null) {
setValueByPath(parentObject, ["parameters", "durationSeconds"], fromDurationSeconds);
}
const fromSeed = getValueByPath(fromObject, ["seed"]);
if (parentObject !== void 0 && fromSeed != null) {
setValueByPath(parentObject, ["parameters", "seed"], fromSeed);
}
const fromAspectRatio = getValueByPath(fromObject, ["aspectRatio"]);
if (parentObject !== void 0 && fromAspectRatio != null) {
setValueByPath(parentObject, ["parameters", "aspectRatio"], fromAspectRatio);
}
const fromResolution = getValueByPath(fromObject, ["resolution"]);
if (parentObject !== void 0 && fromResolution != null) {
setValueByPath(parentObject, ["parameters", "resolution"], fromResolution);
}
const fromPersonGeneration = getValueByPath(fromObject, [
"personGeneration"
]);
if (parentObject !== void 0 && fromPersonGeneration != null) {
setValueByPath(parentObject, ["parameters", "personGeneration"], fromPersonGeneration);
}
const fromPubsubTopic = getValueByPath(fromObject, ["pubsubTopic"]);
if (parentObject !== void 0 && fromPubsubTopic != null) {
setValueByPath(parentObject, ["parameters", "pubsubTopic"], fromPubsubTopic);
}
const fromNegativePrompt = getValueByPath(fromObject, [
"negativePrompt"
]);
if (parentObject !== void 0 && fromNegativePrompt != null) {
setValueByPath(parentObject, ["parameters", "negativePrompt"], fromNegativePrompt);
}
const fromEnhancePrompt = getValueByPath(fromObject, [
"enhancePrompt"
]);
if (parentObject !== void 0 && fromEnhancePrompt != null) {
setValueByPath(parentObject, ["parameters", "enhancePrompt"], fromEnhancePrompt);
}
const fromGenerateAudio = getValueByPath(fromObject, [
"generateAudio"
]);
if (parentObject !== void 0 && fromGenerateAudio != null) {
setValueByPath(parentObject, ["parameters", "generateAudio"], fromGenerateAudio);
}
const fromLastFrame = getValueByPath(fromObject, ["lastFrame"]);
if (parentObject !== void 0 && fromLastFrame != null) {
setValueByPath(parentObject, ["instances[0]", "lastFrame"], imageToVertex(fromLastFrame));
}
const fromReferenceImages = getValueByPath(fromObject, [
"referenceImages"
]);
if (parentObject !== void 0 && fromReferenceImages != null) {
let transformedList = fromReferenceImages;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return videoGenerationReferenceImageToVertex(item);
});
}
setValueByPath(parentObject, ["instances[0]", "referenceImages"], transformedList);
}
const fromCompressionQuality = getValueByPath(fromObject, [
"compressionQuality"
]);
if (parentObject !== void 0 && fromCompressionQuality != null) {
setValueByPath(parentObject, ["parameters", "compressionQuality"], fromCompressionQuality);
}
return toObject;
}
function generateVideosParametersToVertex(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["_url", "model"], tModel(apiClient, fromModel));
}
const fromPrompt = getValueByPath(fromObject, ["prompt"]);
if (fromPrompt != null) {
setValueByPath(toObject, ["instances[0]", "prompt"], fromPrompt);
}
const fromImage = getValueByPath(fromObject, ["image"]);
if (fromImage != null) {
setValueByPath(toObject, ["instances[0]", "image"], imageToVertex(fromImage));
}
const fromVideo = getValueByPath(fromObject, ["video"]);
if (fromVideo != null) {
setValueByPath(toObject, ["instances[0]", "video"], videoToVertex(fromVideo));
}
const fromSource = getValueByPath(fromObject, ["source"]);
if (fromSource != null) {
setValueByPath(toObject, ["config"], generateVideosSourceToVertex(fromSource, toObject));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], generateVideosConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function videoMetadataFromMldev(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobFromMldev(fromObject) {
const toObject = {};
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataFromMldev(fromObject) {
const toObject = {};
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partFromMldev(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataFromMldev(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobFromMldev(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataFromMldev(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentFromMldev(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partFromMldev(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function citationMetadataFromMldev(fromObject) {
const toObject = {};
const fromCitations = getValueByPath(fromObject, ["citationSources"]);
if (fromCitations != null) {
setValueByPath(toObject, ["citations"], fromCitations);
}
return toObject;
}
function urlMetadataFromMldev(fromObject) {
const toObject = {};
const fromRetrievedUrl = getValueByPath(fromObject, ["retrievedUrl"]);
if (fromRetrievedUrl != null) {
setValueByPath(toObject, ["retrievedUrl"], fromRetrievedUrl);
}
const fromUrlRetrievalStatus = getValueByPath(fromObject, [
"urlRetrievalStatus"
]);
if (fromUrlRetrievalStatus != null) {
setValueByPath(toObject, ["urlRetrievalStatus"], fromUrlRetrievalStatus);
}
return toObject;
}
function urlContextMetadataFromMldev(fromObject) {
const toObject = {};
const fromUrlMetadata = getValueByPath(fromObject, ["urlMetadata"]);
if (fromUrlMetadata != null) {
let transformedList = fromUrlMetadata;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return urlMetadataFromMldev(item);
});
}
setValueByPath(toObject, ["urlMetadata"], transformedList);
}
return toObject;
}
function candidateFromMldev(fromObject) {
const toObject = {};
const fromContent = getValueByPath(fromObject, ["content"]);
if (fromContent != null) {
setValueByPath(toObject, ["content"], contentFromMldev(fromContent));
}
const fromCitationMetadata = getValueByPath(fromObject, [
"citationMetadata"
]);
if (fromCitationMetadata != null) {
setValueByPath(toObject, ["citationMetadata"], citationMetadataFromMldev(fromCitationMetadata));
}
const fromTokenCount = getValueByPath(fromObject, ["tokenCount"]);
if (fromTokenCount != null) {
setValueByPath(toObject, ["tokenCount"], fromTokenCount);
}
const fromFinishReason = getValueByPath(fromObject, ["finishReason"]);
if (fromFinishReason != null) {
setValueByPath(toObject, ["finishReason"], fromFinishReason);
}
const fromUrlContextMetadata = getValueByPath(fromObject, [
"urlContextMetadata"
]);
if (fromUrlContextMetadata != null) {
setValueByPath(toObject, ["urlContextMetadata"], urlContextMetadataFromMldev(fromUrlContextMetadata));
}
const fromAvgLogprobs = getValueByPath(fromObject, ["avgLogprobs"]);
if (fromAvgLogprobs != null) {
setValueByPath(toObject, ["avgLogprobs"], fromAvgLogprobs);
}
const fromGroundingMetadata = getValueByPath(fromObject, [
"groundingMetadata"
]);
if (fromGroundingMetadata != null) {
setValueByPath(toObject, ["groundingMetadata"], fromGroundingMetadata);
}
const fromIndex = getValueByPath(fromObject, ["index"]);
if (fromIndex != null) {
setValueByPath(toObject, ["index"], fromIndex);
}
const fromLogprobsResult = getValueByPath(fromObject, [
"logprobsResult"
]);
if (fromLogprobsResult != null) {
setValueByPath(toObject, ["logprobsResult"], fromLogprobsResult);
}
const fromSafetyRatings = getValueByPath(fromObject, [
"safetyRatings"
]);
if (fromSafetyRatings != null) {
setValueByPath(toObject, ["safetyRatings"], fromSafetyRatings);
}
return toObject;
}
function generateContentResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromCandidates = getValueByPath(fromObject, ["candidates"]);
if (fromCandidates != null) {
let transformedList = fromCandidates;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return candidateFromMldev(item);
});
}
setValueByPath(toObject, ["candidates"], transformedList);
}
const fromModelVersion = getValueByPath(fromObject, ["modelVersion"]);
if (fromModelVersion != null) {
setValueByPath(toObject, ["modelVersion"], fromModelVersion);
}
const fromPromptFeedback = getValueByPath(fromObject, [
"promptFeedback"
]);
if (fromPromptFeedback != null) {
setValueByPath(toObject, ["promptFeedback"], fromPromptFeedback);
}
const fromResponseId = getValueByPath(fromObject, ["responseId"]);
if (fromResponseId != null) {
setValueByPath(toObject, ["responseId"], fromResponseId);
}
const fromUsageMetadata = getValueByPath(fromObject, [
"usageMetadata"
]);
if (fromUsageMetadata != null) {
setValueByPath(toObject, ["usageMetadata"], fromUsageMetadata);
}
return toObject;
}
function contentEmbeddingFromMldev(fromObject) {
const toObject = {};
const fromValues = getValueByPath(fromObject, ["values"]);
if (fromValues != null) {
setValueByPath(toObject, ["values"], fromValues);
}
return toObject;
}
function embedContentMetadataFromMldev() {
const toObject = {};
return toObject;
}
function embedContentResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromEmbeddings = getValueByPath(fromObject, ["embeddings"]);
if (fromEmbeddings != null) {
let transformedList = fromEmbeddings;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return contentEmbeddingFromMldev(item);
});
}
setValueByPath(toObject, ["embeddings"], transformedList);
}
const fromMetadata = getValueByPath(fromObject, ["metadata"]);
if (fromMetadata != null) {
setValueByPath(toObject, ["metadata"], embedContentMetadataFromMldev());
}
return toObject;
}
function imageFromMldev(fromObject) {
const toObject = {};
const fromImageBytes = getValueByPath(fromObject, [
"bytesBase64Encoded"
]);
if (fromImageBytes != null) {
setValueByPath(toObject, ["imageBytes"], tBytes(fromImageBytes));
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function safetyAttributesFromMldev(fromObject) {
const toObject = {};
const fromCategories = getValueByPath(fromObject, [
"safetyAttributes",
"categories"
]);
if (fromCategories != null) {
setValueByPath(toObject, ["categories"], fromCategories);
}
const fromScores = getValueByPath(fromObject, [
"safetyAttributes",
"scores"
]);
if (fromScores != null) {
setValueByPath(toObject, ["scores"], fromScores);
}
const fromContentType = getValueByPath(fromObject, ["contentType"]);
if (fromContentType != null) {
setValueByPath(toObject, ["contentType"], fromContentType);
}
return toObject;
}
function generatedImageFromMldev(fromObject) {
const toObject = {};
const fromImage = getValueByPath(fromObject, ["_self"]);
if (fromImage != null) {
setValueByPath(toObject, ["image"], imageFromMldev(fromImage));
}
const fromRaiFilteredReason = getValueByPath(fromObject, [
"raiFilteredReason"
]);
if (fromRaiFilteredReason != null) {
setValueByPath(toObject, ["raiFilteredReason"], fromRaiFilteredReason);
}
const fromSafetyAttributes = getValueByPath(fromObject, ["_self"]);
if (fromSafetyAttributes != null) {
setValueByPath(toObject, ["safetyAttributes"], safetyAttributesFromMldev(fromSafetyAttributes));
}
return toObject;
}
function generateImagesResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromGeneratedImages = getValueByPath(fromObject, [
"predictions"
]);
if (fromGeneratedImages != null) {
let transformedList = fromGeneratedImages;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return generatedImageFromMldev(item);
});
}
setValueByPath(toObject, ["generatedImages"], transformedList);
}
const fromPositivePromptSafetyAttributes = getValueByPath(fromObject, [
"positivePromptSafetyAttributes"
]);
if (fromPositivePromptSafetyAttributes != null) {
setValueByPath(toObject, ["positivePromptSafetyAttributes"], safetyAttributesFromMldev(fromPositivePromptSafetyAttributes));
}
return toObject;
}
function tunedModelInfoFromMldev(fromObject) {
const toObject = {};
const fromBaseModel = getValueByPath(fromObject, ["baseModel"]);
if (fromBaseModel != null) {
setValueByPath(toObject, ["baseModel"], fromBaseModel);
}
const fromCreateTime = getValueByPath(fromObject, ["createTime"]);
if (fromCreateTime != null) {
setValueByPath(toObject, ["createTime"], fromCreateTime);
}
const fromUpdateTime = getValueByPath(fromObject, ["updateTime"]);
if (fromUpdateTime != null) {
setValueByPath(toObject, ["updateTime"], fromUpdateTime);
}
return toObject;
}
function modelFromMldev(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromVersion = getValueByPath(fromObject, ["version"]);
if (fromVersion != null) {
setValueByPath(toObject, ["version"], fromVersion);
}
const fromTunedModelInfo = getValueByPath(fromObject, ["_self"]);
if (fromTunedModelInfo != null) {
setValueByPath(toObject, ["tunedModelInfo"], tunedModelInfoFromMldev(fromTunedModelInfo));
}
const fromInputTokenLimit = getValueByPath(fromObject, [
"inputTokenLimit"
]);
if (fromInputTokenLimit != null) {
setValueByPath(toObject, ["inputTokenLimit"], fromInputTokenLimit);
}
const fromOutputTokenLimit = getValueByPath(fromObject, [
"outputTokenLimit"
]);
if (fromOutputTokenLimit != null) {
setValueByPath(toObject, ["outputTokenLimit"], fromOutputTokenLimit);
}
const fromSupportedActions = getValueByPath(fromObject, [
"supportedGenerationMethods"
]);
if (fromSupportedActions != null) {
setValueByPath(toObject, ["supportedActions"], fromSupportedActions);
}
return toObject;
}
function listModelsResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromNextPageToken = getValueByPath(fromObject, [
"nextPageToken"
]);
if (fromNextPageToken != null) {
setValueByPath(toObject, ["nextPageToken"], fromNextPageToken);
}
const fromModels = getValueByPath(fromObject, ["_self"]);
if (fromModels != null) {
let transformedList = tExtractModels(fromModels);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return modelFromMldev(item);
});
}
setValueByPath(toObject, ["models"], transformedList);
}
return toObject;
}
function deleteModelResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
return toObject;
}
function countTokensResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromTotalTokens = getValueByPath(fromObject, ["totalTokens"]);
if (fromTotalTokens != null) {
setValueByPath(toObject, ["totalTokens"], fromTotalTokens);
}
const fromCachedContentTokenCount = getValueByPath(fromObject, [
"cachedContentTokenCount"
]);
if (fromCachedContentTokenCount != null) {
setValueByPath(toObject, ["cachedContentTokenCount"], fromCachedContentTokenCount);
}
return toObject;
}
function videoFromMldev(fromObject) {
const toObject = {};
const fromUri = getValueByPath(fromObject, ["video", "uri"]);
if (fromUri != null) {
setValueByPath(toObject, ["uri"], fromUri);
}
const fromVideoBytes = getValueByPath(fromObject, [
"video",
"encodedVideo"
]);
if (fromVideoBytes != null) {
setValueByPath(toObject, ["videoBytes"], tBytes(fromVideoBytes));
}
const fromMimeType = getValueByPath(fromObject, ["encoding"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function generatedVideoFromMldev(fromObject) {
const toObject = {};
const fromVideo = getValueByPath(fromObject, ["_self"]);
if (fromVideo != null) {
setValueByPath(toObject, ["video"], videoFromMldev(fromVideo));
}
return toObject;
}
function generateVideosResponseFromMldev(fromObject) {
const toObject = {};
const fromGeneratedVideos = getValueByPath(fromObject, [
"generatedSamples"
]);
if (fromGeneratedVideos != null) {
let transformedList = fromGeneratedVideos;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return generatedVideoFromMldev(item);
});
}
setValueByPath(toObject, ["generatedVideos"], transformedList);
}
const fromRaiMediaFilteredCount = getValueByPath(fromObject, [
"raiMediaFilteredCount"
]);
if (fromRaiMediaFilteredCount != null) {
setValueByPath(toObject, ["raiMediaFilteredCount"], fromRaiMediaFilteredCount);
}
const fromRaiMediaFilteredReasons = getValueByPath(fromObject, [
"raiMediaFilteredReasons"
]);
if (fromRaiMediaFilteredReasons != null) {
setValueByPath(toObject, ["raiMediaFilteredReasons"], fromRaiMediaFilteredReasons);
}
return toObject;
}
function generateVideosOperationFromMldev(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromMetadata = getValueByPath(fromObject, ["metadata"]);
if (fromMetadata != null) {
setValueByPath(toObject, ["metadata"], fromMetadata);
}
const fromDone = getValueByPath(fromObject, ["done"]);
if (fromDone != null) {
setValueByPath(toObject, ["done"], fromDone);
}
const fromError = getValueByPath(fromObject, ["error"]);
if (fromError != null) {
setValueByPath(toObject, ["error"], fromError);
}
const fromResponse = getValueByPath(fromObject, [
"response",
"generateVideoResponse"
]);
if (fromResponse != null) {
setValueByPath(toObject, ["response"], generateVideosResponseFromMldev(fromResponse));
}
return toObject;
}
function videoMetadataFromVertex(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobFromVertex(fromObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataFromVertex(fromObject) {
const toObject = {};
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partFromVertex(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataFromVertex(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobFromVertex(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataFromVertex(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentFromVertex(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partFromVertex(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function citationMetadataFromVertex(fromObject) {
const toObject = {};
const fromCitations = getValueByPath(fromObject, ["citations"]);
if (fromCitations != null) {
setValueByPath(toObject, ["citations"], fromCitations);
}
return toObject;
}
function urlMetadataFromVertex(fromObject) {
const toObject = {};
const fromRetrievedUrl = getValueByPath(fromObject, ["retrievedUrl"]);
if (fromRetrievedUrl != null) {
setValueByPath(toObject, ["retrievedUrl"], fromRetrievedUrl);
}
const fromUrlRetrievalStatus = getValueByPath(fromObject, [
"urlRetrievalStatus"
]);
if (fromUrlRetrievalStatus != null) {
setValueByPath(toObject, ["urlRetrievalStatus"], fromUrlRetrievalStatus);
}
return toObject;
}
function urlContextMetadataFromVertex(fromObject) {
const toObject = {};
const fromUrlMetadata = getValueByPath(fromObject, ["urlMetadata"]);
if (fromUrlMetadata != null) {
let transformedList = fromUrlMetadata;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return urlMetadataFromVertex(item);
});
}
setValueByPath(toObject, ["urlMetadata"], transformedList);
}
return toObject;
}
function candidateFromVertex(fromObject) {
const toObject = {};
const fromContent = getValueByPath(fromObject, ["content"]);
if (fromContent != null) {
setValueByPath(toObject, ["content"], contentFromVertex(fromContent));
}
const fromCitationMetadata = getValueByPath(fromObject, [
"citationMetadata"
]);
if (fromCitationMetadata != null) {
setValueByPath(toObject, ["citationMetadata"], citationMetadataFromVertex(fromCitationMetadata));
}
const fromFinishMessage = getValueByPath(fromObject, [
"finishMessage"
]);
if (fromFinishMessage != null) {
setValueByPath(toObject, ["finishMessage"], fromFinishMessage);
}
const fromFinishReason = getValueByPath(fromObject, ["finishReason"]);
if (fromFinishReason != null) {
setValueByPath(toObject, ["finishReason"], fromFinishReason);
}
const fromUrlContextMetadata = getValueByPath(fromObject, [
"urlContextMetadata"
]);
if (fromUrlContextMetadata != null) {
setValueByPath(toObject, ["urlContextMetadata"], urlContextMetadataFromVertex(fromUrlContextMetadata));
}
const fromAvgLogprobs = getValueByPath(fromObject, ["avgLogprobs"]);
if (fromAvgLogprobs != null) {
setValueByPath(toObject, ["avgLogprobs"], fromAvgLogprobs);
}
const fromGroundingMetadata = getValueByPath(fromObject, [
"groundingMetadata"
]);
if (fromGroundingMetadata != null) {
setValueByPath(toObject, ["groundingMetadata"], fromGroundingMetadata);
}
const fromIndex = getValueByPath(fromObject, ["index"]);
if (fromIndex != null) {
setValueByPath(toObject, ["index"], fromIndex);
}
const fromLogprobsResult = getValueByPath(fromObject, [
"logprobsResult"
]);
if (fromLogprobsResult != null) {
setValueByPath(toObject, ["logprobsResult"], fromLogprobsResult);
}
const fromSafetyRatings = getValueByPath(fromObject, [
"safetyRatings"
]);
if (fromSafetyRatings != null) {
setValueByPath(toObject, ["safetyRatings"], fromSafetyRatings);
}
return toObject;
}
function generateContentResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromCandidates = getValueByPath(fromObject, ["candidates"]);
if (fromCandidates != null) {
let transformedList = fromCandidates;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return candidateFromVertex(item);
});
}
setValueByPath(toObject, ["candidates"], transformedList);
}
const fromCreateTime = getValueByPath(fromObject, ["createTime"]);
if (fromCreateTime != null) {
setValueByPath(toObject, ["createTime"], fromCreateTime);
}
const fromModelVersion = getValueByPath(fromObject, ["modelVersion"]);
if (fromModelVersion != null) {
setValueByPath(toObject, ["modelVersion"], fromModelVersion);
}
const fromPromptFeedback = getValueByPath(fromObject, [
"promptFeedback"
]);
if (fromPromptFeedback != null) {
setValueByPath(toObject, ["promptFeedback"], fromPromptFeedback);
}
const fromResponseId = getValueByPath(fromObject, ["responseId"]);
if (fromResponseId != null) {
setValueByPath(toObject, ["responseId"], fromResponseId);
}
const fromUsageMetadata = getValueByPath(fromObject, [
"usageMetadata"
]);
if (fromUsageMetadata != null) {
setValueByPath(toObject, ["usageMetadata"], fromUsageMetadata);
}
return toObject;
}
function contentEmbeddingStatisticsFromVertex(fromObject) {
const toObject = {};
const fromTruncated = getValueByPath(fromObject, ["truncated"]);
if (fromTruncated != null) {
setValueByPath(toObject, ["truncated"], fromTruncated);
}
const fromTokenCount = getValueByPath(fromObject, ["token_count"]);
if (fromTokenCount != null) {
setValueByPath(toObject, ["tokenCount"], fromTokenCount);
}
return toObject;
}
function contentEmbeddingFromVertex(fromObject) {
const toObject = {};
const fromValues = getValueByPath(fromObject, ["values"]);
if (fromValues != null) {
setValueByPath(toObject, ["values"], fromValues);
}
const fromStatistics = getValueByPath(fromObject, ["statistics"]);
if (fromStatistics != null) {
setValueByPath(toObject, ["statistics"], contentEmbeddingStatisticsFromVertex(fromStatistics));
}
return toObject;
}
function embedContentMetadataFromVertex(fromObject) {
const toObject = {};
const fromBillableCharacterCount = getValueByPath(fromObject, [
"billableCharacterCount"
]);
if (fromBillableCharacterCount != null) {
setValueByPath(toObject, ["billableCharacterCount"], fromBillableCharacterCount);
}
return toObject;
}
function embedContentResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromEmbeddings = getValueByPath(fromObject, [
"predictions[]",
"embeddings"
]);
if (fromEmbeddings != null) {
let transformedList = fromEmbeddings;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return contentEmbeddingFromVertex(item);
});
}
setValueByPath(toObject, ["embeddings"], transformedList);
}
const fromMetadata = getValueByPath(fromObject, ["metadata"]);
if (fromMetadata != null) {
setValueByPath(toObject, ["metadata"], embedContentMetadataFromVertex(fromMetadata));
}
return toObject;
}
function imageFromVertex(fromObject) {
const toObject = {};
const fromGcsUri = getValueByPath(fromObject, ["gcsUri"]);
if (fromGcsUri != null) {
setValueByPath(toObject, ["gcsUri"], fromGcsUri);
}
const fromImageBytes = getValueByPath(fromObject, [
"bytesBase64Encoded"
]);
if (fromImageBytes != null) {
setValueByPath(toObject, ["imageBytes"], tBytes(fromImageBytes));
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function safetyAttributesFromVertex(fromObject) {
const toObject = {};
const fromCategories = getValueByPath(fromObject, [
"safetyAttributes",
"categories"
]);
if (fromCategories != null) {
setValueByPath(toObject, ["categories"], fromCategories);
}
const fromScores = getValueByPath(fromObject, [
"safetyAttributes",
"scores"
]);
if (fromScores != null) {
setValueByPath(toObject, ["scores"], fromScores);
}
const fromContentType = getValueByPath(fromObject, ["contentType"]);
if (fromContentType != null) {
setValueByPath(toObject, ["contentType"], fromContentType);
}
return toObject;
}
function generatedImageFromVertex(fromObject) {
const toObject = {};
const fromImage = getValueByPath(fromObject, ["_self"]);
if (fromImage != null) {
setValueByPath(toObject, ["image"], imageFromVertex(fromImage));
}
const fromRaiFilteredReason = getValueByPath(fromObject, [
"raiFilteredReason"
]);
if (fromRaiFilteredReason != null) {
setValueByPath(toObject, ["raiFilteredReason"], fromRaiFilteredReason);
}
const fromSafetyAttributes = getValueByPath(fromObject, ["_self"]);
if (fromSafetyAttributes != null) {
setValueByPath(toObject, ["safetyAttributes"], safetyAttributesFromVertex(fromSafetyAttributes));
}
const fromEnhancedPrompt = getValueByPath(fromObject, ["prompt"]);
if (fromEnhancedPrompt != null) {
setValueByPath(toObject, ["enhancedPrompt"], fromEnhancedPrompt);
}
return toObject;
}
function generateImagesResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromGeneratedImages = getValueByPath(fromObject, [
"predictions"
]);
if (fromGeneratedImages != null) {
let transformedList = fromGeneratedImages;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return generatedImageFromVertex(item);
});
}
setValueByPath(toObject, ["generatedImages"], transformedList);
}
const fromPositivePromptSafetyAttributes = getValueByPath(fromObject, [
"positivePromptSafetyAttributes"
]);
if (fromPositivePromptSafetyAttributes != null) {
setValueByPath(toObject, ["positivePromptSafetyAttributes"], safetyAttributesFromVertex(fromPositivePromptSafetyAttributes));
}
return toObject;
}
function editImageResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromGeneratedImages = getValueByPath(fromObject, [
"predictions"
]);
if (fromGeneratedImages != null) {
let transformedList = fromGeneratedImages;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return generatedImageFromVertex(item);
});
}
setValueByPath(toObject, ["generatedImages"], transformedList);
}
return toObject;
}
function upscaleImageResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromGeneratedImages = getValueByPath(fromObject, [
"predictions"
]);
if (fromGeneratedImages != null) {
let transformedList = fromGeneratedImages;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return generatedImageFromVertex(item);
});
}
setValueByPath(toObject, ["generatedImages"], transformedList);
}
return toObject;
}
function recontextImageResponseFromVertex(fromObject) {
const toObject = {};
const fromGeneratedImages = getValueByPath(fromObject, [
"predictions"
]);
if (fromGeneratedImages != null) {
let transformedList = fromGeneratedImages;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return generatedImageFromVertex(item);
});
}
setValueByPath(toObject, ["generatedImages"], transformedList);
}
return toObject;
}
function entityLabelFromVertex(fromObject) {
const toObject = {};
const fromLabel = getValueByPath(fromObject, ["label"]);
if (fromLabel != null) {
setValueByPath(toObject, ["label"], fromLabel);
}
const fromScore = getValueByPath(fromObject, ["score"]);
if (fromScore != null) {
setValueByPath(toObject, ["score"], fromScore);
}
return toObject;
}
function generatedImageMaskFromVertex(fromObject) {
const toObject = {};
const fromMask = getValueByPath(fromObject, ["_self"]);
if (fromMask != null) {
setValueByPath(toObject, ["mask"], imageFromVertex(fromMask));
}
const fromLabels = getValueByPath(fromObject, ["labels"]);
if (fromLabels != null) {
let transformedList = fromLabels;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return entityLabelFromVertex(item);
});
}
setValueByPath(toObject, ["labels"], transformedList);
}
return toObject;
}
function segmentImageResponseFromVertex(fromObject) {
const toObject = {};
const fromGeneratedMasks = getValueByPath(fromObject, ["predictions"]);
if (fromGeneratedMasks != null) {
let transformedList = fromGeneratedMasks;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return generatedImageMaskFromVertex(item);
});
}
setValueByPath(toObject, ["generatedMasks"], transformedList);
}
return toObject;
}
function endpointFromVertex(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["endpoint"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromDeployedModelId = getValueByPath(fromObject, [
"deployedModelId"
]);
if (fromDeployedModelId != null) {
setValueByPath(toObject, ["deployedModelId"], fromDeployedModelId);
}
return toObject;
}
function tunedModelInfoFromVertex(fromObject) {
const toObject = {};
const fromBaseModel = getValueByPath(fromObject, [
"labels",
"google-vertex-llm-tuning-base-model-id"
]);
if (fromBaseModel != null) {
setValueByPath(toObject, ["baseModel"], fromBaseModel);
}
const fromCreateTime = getValueByPath(fromObject, ["createTime"]);
if (fromCreateTime != null) {
setValueByPath(toObject, ["createTime"], fromCreateTime);
}
const fromUpdateTime = getValueByPath(fromObject, ["updateTime"]);
if (fromUpdateTime != null) {
setValueByPath(toObject, ["updateTime"], fromUpdateTime);
}
return toObject;
}
function checkpointFromVertex(fromObject) {
const toObject = {};
const fromCheckpointId = getValueByPath(fromObject, ["checkpointId"]);
if (fromCheckpointId != null) {
setValueByPath(toObject, ["checkpointId"], fromCheckpointId);
}
const fromEpoch = getValueByPath(fromObject, ["epoch"]);
if (fromEpoch != null) {
setValueByPath(toObject, ["epoch"], fromEpoch);
}
const fromStep = getValueByPath(fromObject, ["step"]);
if (fromStep != null) {
setValueByPath(toObject, ["step"], fromStep);
}
return toObject;
}
function modelFromVertex(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromDisplayName = getValueByPath(fromObject, ["displayName"]);
if (fromDisplayName != null) {
setValueByPath(toObject, ["displayName"], fromDisplayName);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromVersion = getValueByPath(fromObject, ["versionId"]);
if (fromVersion != null) {
setValueByPath(toObject, ["version"], fromVersion);
}
const fromEndpoints = getValueByPath(fromObject, ["deployedModels"]);
if (fromEndpoints != null) {
let transformedList = fromEndpoints;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return endpointFromVertex(item);
});
}
setValueByPath(toObject, ["endpoints"], transformedList);
}
const fromLabels = getValueByPath(fromObject, ["labels"]);
if (fromLabels != null) {
setValueByPath(toObject, ["labels"], fromLabels);
}
const fromTunedModelInfo = getValueByPath(fromObject, ["_self"]);
if (fromTunedModelInfo != null) {
setValueByPath(toObject, ["tunedModelInfo"], tunedModelInfoFromVertex(fromTunedModelInfo));
}
const fromDefaultCheckpointId = getValueByPath(fromObject, [
"defaultCheckpointId"
]);
if (fromDefaultCheckpointId != null) {
setValueByPath(toObject, ["defaultCheckpointId"], fromDefaultCheckpointId);
}
const fromCheckpoints = getValueByPath(fromObject, ["checkpoints"]);
if (fromCheckpoints != null) {
let transformedList = fromCheckpoints;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return checkpointFromVertex(item);
});
}
setValueByPath(toObject, ["checkpoints"], transformedList);
}
return toObject;
}
function listModelsResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromNextPageToken = getValueByPath(fromObject, [
"nextPageToken"
]);
if (fromNextPageToken != null) {
setValueByPath(toObject, ["nextPageToken"], fromNextPageToken);
}
const fromModels = getValueByPath(fromObject, ["_self"]);
if (fromModels != null) {
let transformedList = tExtractModels(fromModels);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return modelFromVertex(item);
});
}
setValueByPath(toObject, ["models"], transformedList);
}
return toObject;
}
function deleteModelResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
return toObject;
}
function countTokensResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromTotalTokens = getValueByPath(fromObject, ["totalTokens"]);
if (fromTotalTokens != null) {
setValueByPath(toObject, ["totalTokens"], fromTotalTokens);
}
return toObject;
}
function computeTokensResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromTokensInfo = getValueByPath(fromObject, ["tokensInfo"]);
if (fromTokensInfo != null) {
setValueByPath(toObject, ["tokensInfo"], fromTokensInfo);
}
return toObject;
}
function videoFromVertex(fromObject) {
const toObject = {};
const fromUri = getValueByPath(fromObject, ["gcsUri"]);
if (fromUri != null) {
setValueByPath(toObject, ["uri"], fromUri);
}
const fromVideoBytes = getValueByPath(fromObject, [
"bytesBase64Encoded"
]);
if (fromVideoBytes != null) {
setValueByPath(toObject, ["videoBytes"], tBytes(fromVideoBytes));
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function generatedVideoFromVertex(fromObject) {
const toObject = {};
const fromVideo = getValueByPath(fromObject, ["_self"]);
if (fromVideo != null) {
setValueByPath(toObject, ["video"], videoFromVertex(fromVideo));
}
return toObject;
}
function generateVideosResponseFromVertex(fromObject) {
const toObject = {};
const fromGeneratedVideos = getValueByPath(fromObject, ["videos"]);
if (fromGeneratedVideos != null) {
let transformedList = fromGeneratedVideos;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return generatedVideoFromVertex(item);
});
}
setValueByPath(toObject, ["generatedVideos"], transformedList);
}
const fromRaiMediaFilteredCount = getValueByPath(fromObject, [
"raiMediaFilteredCount"
]);
if (fromRaiMediaFilteredCount != null) {
setValueByPath(toObject, ["raiMediaFilteredCount"], fromRaiMediaFilteredCount);
}
const fromRaiMediaFilteredReasons = getValueByPath(fromObject, [
"raiMediaFilteredReasons"
]);
if (fromRaiMediaFilteredReasons != null) {
setValueByPath(toObject, ["raiMediaFilteredReasons"], fromRaiMediaFilteredReasons);
}
return toObject;
}
function generateVideosOperationFromVertex(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromMetadata = getValueByPath(fromObject, ["metadata"]);
if (fromMetadata != null) {
setValueByPath(toObject, ["metadata"], fromMetadata);
}
const fromDone = getValueByPath(fromObject, ["done"]);
if (fromDone != null) {
setValueByPath(toObject, ["done"], fromDone);
}
const fromError = getValueByPath(fromObject, ["error"]);
if (fromError != null) {
setValueByPath(toObject, ["error"], fromError);
}
const fromResponse = getValueByPath(fromObject, ["response"]);
if (fromResponse != null) {
setValueByPath(toObject, ["response"], generateVideosResponseFromVertex(fromResponse));
}
return toObject;
}
var CONTENT_TYPE_HEADER = "Content-Type";
var SERVER_TIMEOUT_HEADER = "X-Server-Timeout";
var USER_AGENT_HEADER = "User-Agent";
var GOOGLE_API_CLIENT_HEADER = "x-goog-api-client";
var SDK_VERSION = "1.17.0";
var LIBRARY_LABEL = `google-genai-sdk/${SDK_VERSION}`;
var VERTEX_AI_API_DEFAULT_VERSION = "v1beta1";
var GOOGLE_AI_API_DEFAULT_VERSION = "v1beta";
var responseLineRE = /^data: (.*)(?:\n\n|\r\r|\r\n\r\n)/;
var ApiClient = class {
constructor(opts) {
var _a, _b;
this.clientOptions = Object.assign(Object.assign({}, opts), { project: opts.project, location: opts.location, apiKey: opts.apiKey, vertexai: opts.vertexai });
const initHttpOptions = {};
if (this.clientOptions.vertexai) {
initHttpOptions.apiVersion = (_a = this.clientOptions.apiVersion) !== null && _a !== void 0 ? _a : VERTEX_AI_API_DEFAULT_VERSION;
initHttpOptions.baseUrl = this.baseUrlFromProjectLocation();
this.normalizeAuthParameters();
} else {
initHttpOptions.apiVersion = (_b = this.clientOptions.apiVersion) !== null && _b !== void 0 ? _b : GOOGLE_AI_API_DEFAULT_VERSION;
initHttpOptions.baseUrl = `https://generativelanguage.googleapis.com/`;
}
initHttpOptions.headers = this.getDefaultHeaders();
this.clientOptions.httpOptions = initHttpOptions;
if (opts.httpOptions) {
this.clientOptions.httpOptions = this.patchHttpOptions(initHttpOptions, opts.httpOptions);
}
}
/**
* Determines the base URL for Vertex AI based on project and location.
* Uses the global endpoint if location is 'global' or if project/location
* are not specified (implying API key usage).
* @private
*/
baseUrlFromProjectLocation() {
if (this.clientOptions.project && this.clientOptions.location && this.clientOptions.location !== "global") {
return `https://${this.clientOptions.location}-aiplatform.googleapis.com/`;
}
return `https://aiplatform.googleapis.com/`;
}
/**
* Normalizes authentication parameters for Vertex AI.
* If project and location are provided, API key is cleared.
* If project and location are not provided (implying API key usage),
* project and location are cleared.
* @private
*/
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 _a;
return (_a = this.clientOptions.vertexai) !== null && _a !== void 0 ? _a : false;
}
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;
} else {
throw new Error("Headers are not set.");
}
}
getRequestUrlInternal(httpOptions) {
if (!httpOptions || httpOptions.baseUrl === void 0 || httpOptions.apiVersion === void 0) {
throw new Error("HTTP options are not correctly set.");
}
const baseUrl = httpOptions.baseUrl.endsWith("/") ? httpOptions.baseUrl.slice(0, -1) : httpOptions.baseUrl;
const urlElement = [baseUrl];
if (httpOptions.apiVersion && httpOptions.apiVersion !== "") {
urlElement.push(httpOptions.apiVersion);
}
return urlElement.join("/");
}
getBaseResourcePath() {
return `projects/${this.clientOptions.project}/locations/${this.clientOptions.location}`;
}
getApiKey() {
return this.clientOptions.apiKey;
}
getWebsocketBaseUrl() {
const baseUrl = this.getBaseUrl();
const urlParts = new URL(baseUrl);
urlParts.protocol = urlParts.protocol == "http:" ? "ws" : "wss";
return urlParts.toString();
}
setBaseUrl(url) {
if (this.clientOptions.httpOptions) {
this.clientOptions.httpOptions.baseUrl = url;
} else {
throw new Error("HTTP options are not correctly set.");
}
}
constructUrl(path, httpOptions, prependProjectLocation) {
const urlElement = [this.getRequestUrlInternal(httpOptions)];
if (prependProjectLocation) {
urlElement.push(this.getBaseResourcePath());
}
if (path !== "") {
urlElement.push(path);
}
const url = new URL(`${urlElement.join("/")}`);
return url;
}
shouldPrependVertexProjectPath(request) {
if (this.clientOptions.apiKey) {
return false;
}
if (!this.clientOptions.vertexai) {
return false;
}
if (request.path.startsWith("projects/")) {
return false;
}
if (request.httpMethod === "GET" && request.path.startsWith("publishers/google/models")) {
return false;
}
return true;
}
async request(request) {
let patchedHttpOptions = this.clientOptions.httpOptions;
if (request.httpOptions) {
patchedHttpOptions = this.patchHttpOptions(this.clientOptions.httpOptions, request.httpOptions);
}
const prependProjectLocation = this.shouldPrependVertexProjectPath(request);
const url = this.constructUrl(request.path, patchedHttpOptions, prependProjectLocation);
if (request.queryParams) {
for (const [key, value] of Object.entries(request.queryParams)) {
url.searchParams.append(key, String(value));
}
}
let requestInit = {};
if (request.httpMethod === "GET") {
if (request.body && request.body !== "{}") {
throw new Error("Request body should be empty for GET request, but got non empty request body");
}
} else {
requestInit.body = request.body;
}
requestInit = await this.includeExtraHttpOptionsToRequestInit(requestInit, patchedHttpOptions, request.abortSignal);
return this.unaryApiCall(url, requestInit, request.httpMethod);
}
patchHttpOptions(baseHttpOptions, requestHttpOptions) {
const patchedHttpOptions = JSON.parse(JSON.stringify(baseHttpOptions));
for (const [key, value] of Object.entries(requestHttpOptions)) {
if (typeof value === "object") {
patchedHttpOptions[key] = Object.assign(Object.assign({}, patchedHttpOptions[key]), value);
} else if (value !== void 0) {
patchedHttpOptions[key] = value;
}
}
return patchedHttpOptions;
}
async requestStream(request) {
let patchedHttpOptions = this.clientOptions.httpOptions;
if (request.httpOptions) {
patchedHttpOptions = this.patchHttpOptions(this.clientOptions.httpOptions, request.httpOptions);
}
const prependProjectLocation = this.shouldPrependVertexProjectPath(request);
const url = this.constructUrl(request.path, patchedHttpOptions, prependProjectLocation);
if (!url.searchParams.has("alt") || url.searchParams.get("alt") !== "sse") {
url.searchParams.set("alt", "sse");
}
let requestInit = {};
requestInit.body = request.body;
requestInit = await this.includeExtraHttpOptionsToRequestInit(requestInit, patchedHttpOptions, request.abortSignal);
return this.streamApiCall(url, requestInit, request.httpMethod);
}
async includeExtraHttpOptionsToRequestInit(requestInit, httpOptions, abortSignal) {
if (httpOptions && httpOptions.timeout || abortSignal) {
const abortController = new AbortController();
const signal = abortController.signal;
if (httpOptions.timeout && (httpOptions === null || httpOptions === void 0 ? void 0 : httpOptions.timeout) > 0) {
const timeoutHandle = setTimeout(() => abortController.abort(), httpOptions.timeout);
if (timeoutHandle && typeof timeoutHandle.unref === "function") {
timeoutHandle.unref();
}
}
if (abortSignal) {
abortSignal.addEventListener("abort", () => {
abortController.abort();
});
}
requestInit.signal = signal;
}
if (httpOptions && httpOptions.extraBody !== null) {
includeExtraBodyToRequestInit(requestInit, httpOptions.extraBody);
}
requestInit.headers = await this.getHeadersInternal(httpOptions);
return requestInit;
}
async unaryApiCall(url, requestInit, httpMethod) {
return this.apiCall(url.toString(), Object.assign(Object.assign({}, requestInit), { method: httpMethod })).then(async (response) => {
await throwErrorIfNotOK(response);
return new HttpResponse(response);
}).catch((e) => {
if (e instanceof Error) {
throw e;
} else {
throw new Error(JSON.stringify(e));
}
});
}
async streamApiCall(url, requestInit, httpMethod) {
return this.apiCall(url.toString(), Object.assign(Object.assign({}, requestInit), { method: httpMethod })).then(async (response) => {
await throwErrorIfNotOK(response);
return this.processStreamResponse(response);
}).catch((e) => {
if (e instanceof Error) {
throw e;
} else {
throw new Error(JSON.stringify(e));
}
});
}
processStreamResponse(response) {
var _a;
return __asyncGenerator(this, arguments, function* processStreamResponse_1() {
const reader = (_a = response === null || response === void 0 ? void 0 : response.body) === null || _a === void 0 ? void 0 : _a.getReader();
const decoder = new TextDecoder("utf-8");
if (!reader) {
throw new Error("Response body is empty");
}
try {
let buffer = "";
while (true) {
const { done, value } = yield __await(reader.read());
if (done) {
if (buffer.trim().length > 0) {
throw new Error("Incomplete JSON segment at the end");
}
break;
}
const chunkString = decoder.decode(value, { stream: true });
try {
const chunkJson = JSON.parse(chunkString);
if ("error" in chunkJson) {
const errorJson = JSON.parse(JSON.stringify(chunkJson["error"]));
const status = errorJson["status"];
const code = errorJson["code"];
const errorMessage = `got status: ${status}. ${JSON.stringify(chunkJson)}`;
if (code >= 400 && code < 600) {
const apiError = new ApiError({
message: errorMessage,
status: code
});
throw apiError;
}
}
} catch (e) {
const error = e;
if (error.name === "ApiError") {
throw e;
}
}
buffer += chunkString;
let match = buffer.match(responseLineRE);
while (match) {
const processedChunkString = match[1];
try {
const partialResponse = new Response(processedChunkString, {
headers: response === null || response === void 0 ? void 0 : response.headers,
status: response === null || response === void 0 ? void 0 : response.status,
statusText: response === null || response === void 0 ? void 0 : response.statusText
});
yield yield __await(new HttpResponse(partialResponse));
buffer = buffer.slice(match[0].length);
match = buffer.match(responseLineRE);
} catch (e) {
throw new Error(`exception parsing stream chunk ${processedChunkString}. ${e}`);
}
}
}
} finally {
reader.releaseLock();
}
});
}
async apiCall(url, requestInit) {
return fetch(url, requestInit).catch((e) => {
throw new Error(`exception ${e} sending request`);
});
}
getDefaultHeaders() {
const headers = {};
const versionHeaderValue = LIBRARY_LABEL + " " + this.clientOptions.userAgentExtra;
headers[USER_AGENT_HEADER] = versionHeaderValue;
headers[GOOGLE_API_CLIENT_HEADER] = versionHeaderValue;
headers[CONTENT_TYPE_HEADER] = "application/json";
return headers;
}
async getHeadersInternal(httpOptions) {
const headers = new Headers();
if (httpOptions && httpOptions.headers) {
for (const [key, value] of Object.entries(httpOptions.headers)) {
headers.append(key, value);
}
if (httpOptions.timeout && httpOptions.timeout > 0) {
headers.append(SERVER_TIMEOUT_HEADER, String(Math.ceil(httpOptions.timeout / 1e3)));
}
}
await this.clientOptions.auth.addAuthHeaders(headers);
return headers;
}
/**
* Uploads a file asynchronously using Gemini API only, this is not supported
* in Vertex AI.
*
* @param file The string path to the file to be uploaded or a Blob object.
* @param config Optional parameters specified in the `UploadFileConfig`
* interface. @see {@link UploadFileConfig}
* @return A promise that resolves to a `File` object.
* @throws An error if called on a Vertex AI client.
* @throws An error if the `mimeType` is not provided and can not be inferred,
*/
async uploadFile(file, config) {
var _a;
const fileToUpload = {};
if (config != null) {
fileToUpload.mimeType = config.mimeType;
fileToUpload.name = config.name;
fileToUpload.displayName = config.displayName;
}
if (fileToUpload.name && !fileToUpload.name.startsWith("files/")) {
fileToUpload.name = `files/${fileToUpload.name}`;
}
const uploader = this.clientOptions.uploader;
const fileStat = await uploader.stat(file);
fileToUpload.sizeBytes = String(fileStat.size);
const mimeType = (_a = config === null || config === void 0 ? void 0 : config.mimeType) !== null && _a !== void 0 ? _a : fileStat.type;
if (mimeType === void 0 || mimeType === "") {
throw new Error("Can not determine mimeType. Please provide mimeType in the config.");
}
fileToUpload.mimeType = mimeType;
const uploadUrl = await this.fetchUploadUrl(fileToUpload, config);
return uploader.upload(file, uploadUrl, this);
}
/**
* Downloads a file asynchronously to the specified path.
*
* @params params - The parameters for the download request, see {@link
* DownloadFileParameters}
*/
async downloadFile(params) {
const downloader = this.clientOptions.downloader;
await downloader.download(params, this);
}
async fetchUploadUrl(file, config) {
var _a;
let httpOptions = {};
if (config === null || config === void 0 ? void 0 : config.httpOptions) {
httpOptions = config.httpOptions;
} else {
httpOptions = {
apiVersion: "",
headers: {
"Content-Type": "application/json",
"X-Goog-Upload-Protocol": "resumable",
"X-Goog-Upload-Command": "start",
"X-Goog-Upload-Header-Content-Length": `${file.sizeBytes}`,
"X-Goog-Upload-Header-Content-Type": `${file.mimeType}`
}
};
}
const body = {
"file": file
};
const httpResponse = await this.request({
path: formatMap("upload/v1beta/files", body["_url"]),
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions
});
if (!httpResponse || !(httpResponse === null || httpResponse === void 0 ? void 0 : httpResponse.headers)) {
throw new Error("Server did not return an HttpResponse or the returned HttpResponse did not have headers.");
}
const uploadUrl = (_a = httpResponse === null || httpResponse === void 0 ? void 0 : httpResponse.headers) === null || _a === void 0 ? void 0 : _a["x-goog-upload-url"];
if (uploadUrl === void 0) {
throw new Error("Failed to get upload url. Server did not return the x-google-upload-url in the headers");
}
return uploadUrl;
}
};
async function throwErrorIfNotOK(response) {
var _a;
if (response === void 0) {
throw new Error("response is undefined");
}
if (!response.ok) {
const status = response.status;
let errorBody;
if ((_a = response.headers.get("content-type")) === null || _a === void 0 ? void 0 : _a.includes("application/json")) {
errorBody = await response.json();
} else {
errorBody = {
error: {
message: await response.text(),
code: response.status,
status: response.statusText
}
};
}
const errorMessage = JSON.stringify(errorBody);
if (status >= 400 && status < 600) {
const apiError = new ApiError({
message: errorMessage,
status
});
throw apiError;
}
throw new Error(errorMessage);
}
}
function includeExtraBodyToRequestInit(requestInit, extraBody) {
if (!extraBody || Object.keys(extraBody).length === 0) {
return;
}
if (requestInit.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 currentBodyObject = {};
if (typeof requestInit.body === "string" && requestInit.body.length > 0) {
try {
const parsedBody = JSON.parse(requestInit.body);
if (typeof parsedBody === "object" && parsedBody !== null && !Array.isArray(parsedBody)) {
currentBodyObject = parsedBody;
} 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 (e) {
console.warn("includeExtraBodyToRequestInit: Original request body is not valid JSON. Skip applying extraBody to the request body.");
return;
}
}
function deepMerge(target, source) {
const output = Object.assign({}, target);
for (const key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
const sourceValue = source[key];
const targetValue = output[key];
if (sourceValue && typeof sourceValue === "object" && !Array.isArray(sourceValue) && targetValue && typeof targetValue === "object" && !Array.isArray(targetValue)) {
output[key] = deepMerge(targetValue, sourceValue);
} else {
if (targetValue && sourceValue && typeof targetValue !== typeof sourceValue) {
console.warn(`includeExtraBodyToRequestInit:deepMerge: Type mismatch for key "${key}". Original type: ${typeof targetValue}, New type: ${typeof sourceValue}. Overwriting.`);
}
output[key] = sourceValue;
}
}
}
return output;
}
const mergedBody = deepMerge(currentBodyObject, extraBody);
requestInit.body = JSON.stringify(mergedBody);
}
var MCP_LABEL = "mcp_used/unknown";
var hasMcpToolUsageFromMcpToTool = false;
function hasMcpToolUsage(tools) {
for (const tool of tools) {
if (isMcpCallableTool(tool)) {
return true;
}
if (typeof tool === "object" && "inputSchema" in tool) {
return true;
}
}
return hasMcpToolUsageFromMcpToTool;
}
function setMcpUsageHeader(headers) {
var _a;
const existingHeader = (_a = headers[GOOGLE_API_CLIENT_HEADER]) !== null && _a !== void 0 ? _a : "";
headers[GOOGLE_API_CLIENT_HEADER] = (existingHeader + ` ${MCP_LABEL}`).trimStart();
}
function isMcpCallableTool(object) {
return object !== null && typeof object === "object" && object instanceof McpCallableTool;
}
function listAllTools(mcpClient, maxTools = 100) {
return __asyncGenerator(this, arguments, function* listAllTools_1() {
let cursor = void 0;
let numTools = 0;
while (numTools < maxTools) {
const t = yield __await(mcpClient.listTools({ cursor }));
for (const tool of t.tools) {
yield yield __await(tool);
numTools++;
}
if (!t.nextCursor) {
break;
}
cursor = t.nextCursor;
}
});
}
var McpCallableTool = class _McpCallableTool {
constructor(mcpClients = [], config) {
this.mcpTools = [];
this.functionNameToMcpClient = {};
this.mcpClients = mcpClients;
this.config = config;
}
/**
* Creates a McpCallableTool.
*/
static create(mcpClients, config) {
return new _McpCallableTool(mcpClients, config);
}
/**
* Validates the function names are not duplicate and initialize the function
* name to MCP client mapping.
*
* @throws {Error} if the MCP tools from the MCP clients have duplicate tool
* names.
*/
async initialize() {
var _a, e_1, _b, _c;
if (this.mcpTools.length > 0) {
return;
}
const functionMap = {};
const mcpTools = [];
for (const mcpClient of this.mcpClients) {
try {
for (var _d = true, _e = (e_1 = void 0, __asyncValues(listAllTools(mcpClient))), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
_c = _f.value;
_d = false;
const mcpTool = _c;
mcpTools.push(mcpTool);
const mcpToolName = mcpTool.name;
if (functionMap[mcpToolName]) {
throw new Error(`Duplicate function name ${mcpToolName} found in MCP tools. Please ensure function names are unique.`);
}
functionMap[mcpToolName] = mcpClient;
}
} catch (e_1_1) {
e_1 = { error: e_1_1 };
} finally {
try {
if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
} finally {
if (e_1) throw e_1.error;
}
}
}
this.mcpTools = mcpTools;
this.functionNameToMcpClient = functionMap;
}
async tool() {
await this.initialize();
return mcpToolsToGeminiTool(this.mcpTools, this.config);
}
async callTool(functionCalls) {
await this.initialize();
const functionCallResponseParts = [];
for (const functionCall of functionCalls) {
if (functionCall.name in this.functionNameToMcpClient) {
const mcpClient = this.functionNameToMcpClient[functionCall.name];
let requestOptions = void 0;
if (this.config.timeout) {
requestOptions = {
timeout: this.config.timeout
};
}
const callToolResponse = await mcpClient.callTool(
{
name: functionCall.name,
arguments: functionCall.args
},
// Set the result schema to undefined to allow MCP to rely on the
// default schema.
void 0,
requestOptions
);
functionCallResponseParts.push({
functionResponse: {
name: functionCall.name,
response: callToolResponse.isError ? { error: callToolResponse } : callToolResponse
}
});
}
}
return functionCallResponseParts;
}
};
function isMcpClient(client) {
return client !== null && typeof client === "object" && "listTools" in client && typeof client.listTools === "function";
}
function mcpToTool(...args) {
hasMcpToolUsageFromMcpToTool = true;
if (args.length === 0) {
throw new Error("No MCP clients provided");
}
const maybeConfig = args[args.length - 1];
if (isMcpClient(maybeConfig)) {
return McpCallableTool.create(args, {});
}
return McpCallableTool.create(args.slice(0, args.length - 1), maybeConfig);
}
async function handleWebSocketMessage$1(apiClient, onmessage, event) {
const serverMessage = new LiveMusicServerMessage();
let data;
if (event.data instanceof Blob) {
data = JSON.parse(await event.data.text());
} else {
data = JSON.parse(event.data);
}
const response = liveMusicServerMessageFromMldev(data);
Object.assign(serverMessage, response);
onmessage(serverMessage);
}
var LiveMusic = class {
constructor(apiClient, auth, webSocketFactory) {
this.apiClient = apiClient;
this.auth = auth;
this.webSocketFactory = webSocketFactory;
}
/**
Establishes a connection to the specified model and returns a
LiveMusicSession object representing that connection.
@experimental
@remarks
@param params - The parameters for establishing a connection to the model.
@return A live session.
@example
```ts
let model = 'models/lyria-realtime-exp';
const session = await ai.live.music.connect({
model: model,
callbacks: {
onmessage: (e: MessageEvent) => {
console.log('Received message from the server: %s\n', debug(e.data));
},
onerror: (e: ErrorEvent) => {
console.log('Error occurred: %s\n', debug(e.error));
},
onclose: (e: CloseEvent) => {
console.log('Connection closed.');
},
},
});
```
*/
async connect(params) {
var _a, _b;
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 websocketBaseUrl = this.apiClient.getWebsocketBaseUrl();
const apiVersion = this.apiClient.getApiVersion();
const headers = mapToHeaders$1(this.apiClient.getDefaultHeaders());
const apiKey = this.apiClient.getApiKey();
const url = `${websocketBaseUrl}/ws/google.ai.generativelanguage.${apiVersion}.GenerativeService.BidiGenerateMusic?key=${apiKey}`;
let onopenResolve = () => {
};
const onopenPromise = new Promise((resolve) => {
onopenResolve = resolve;
});
const callbacks = params.callbacks;
const onopenAwaitedCallback = function() {
onopenResolve({});
};
const apiClient = this.apiClient;
const websocketCallbacks = {
onopen: onopenAwaitedCallback,
onmessage: (event) => {
void handleWebSocketMessage$1(apiClient, callbacks.onmessage, event);
},
onerror: (_a = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onerror) !== null && _a !== void 0 ? _a : function(e) {
},
onclose: (_b = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onclose) !== null && _b !== void 0 ? _b : function(e) {
}
};
const conn = this.webSocketFactory.create(url, headersToMap$1(headers), websocketCallbacks);
conn.connect();
await onopenPromise;
const model = tModel(this.apiClient, params.model);
const setup = liveMusicClientSetupToMldev({
model
});
const clientMessage = liveMusicClientMessageToMldev({ setup });
conn.send(JSON.stringify(clientMessage));
return new LiveMusicSession(conn, this.apiClient);
}
};
var LiveMusicSession = class {
constructor(conn, apiClient) {
this.conn = conn;
this.apiClient = apiClient;
}
/**
Sets inputs to steer music generation. Updates the session's current
weighted prompts.
@param params - Contains one property, `weightedPrompts`.
- `weightedPrompts` to send to the model; weights are normalized to
sum to 1.0.
@experimental
*/
async setWeightedPrompts(params) {
if (!params.weightedPrompts || Object.keys(params.weightedPrompts).length === 0) {
throw new Error("Weighted prompts must be set and contain at least one entry.");
}
const setWeightedPromptsParameters = liveMusicSetWeightedPromptsParametersToMldev(params);
const clientContent = liveMusicClientContentToMldev(setWeightedPromptsParameters);
this.conn.send(JSON.stringify({ clientContent }));
}
/**
Sets a configuration to the model. Updates the session's current
music generation config.
@param params - Contains one property, `musicGenerationConfig`.
- `musicGenerationConfig` to set in the model. Passing an empty or
undefined config to the model will reset the config to defaults.
@experimental
*/
async setMusicGenerationConfig(params) {
if (!params.musicGenerationConfig) {
params.musicGenerationConfig = {};
}
const setConfigParameters = liveMusicSetConfigParametersToMldev(params);
const clientMessage = liveMusicClientMessageToMldev(setConfigParameters);
this.conn.send(JSON.stringify(clientMessage));
}
sendPlaybackControl(playbackControl) {
const clientMessage = liveMusicClientMessageToMldev({
playbackControl
});
this.conn.send(JSON.stringify(clientMessage));
}
/**
* Start the music stream.
*
* @experimental
*/
play() {
this.sendPlaybackControl(LiveMusicPlaybackControl.PLAY);
}
/**
* Temporarily halt the music stream. Use `play` to resume from the current
* position.
*
* @experimental
*/
pause() {
this.sendPlaybackControl(LiveMusicPlaybackControl.PAUSE);
}
/**
* Stop the music stream and reset the state. Retains the current prompts
* and config.
*
* @experimental
*/
stop() {
this.sendPlaybackControl(LiveMusicPlaybackControl.STOP);
}
/**
* Resets the context of the music generation without stopping it.
* Retains the current prompts and config.
*
* @experimental
*/
resetContext() {
this.sendPlaybackControl(LiveMusicPlaybackControl.RESET_CONTEXT);
}
/**
Terminates the WebSocket connection.
@experimental
*/
close() {
this.conn.close();
}
};
function headersToMap$1(headers) {
const headerMap = {};
headers.forEach((value, key) => {
headerMap[key] = value;
});
return headerMap;
}
function mapToHeaders$1(map) {
const headers = new Headers();
for (const [key, value] of Object.entries(map)) {
headers.append(key, value);
}
return headers;
}
var FUNCTION_RESPONSE_REQUIRES_ID = "FunctionResponse request must have an `id` field from the response of a ToolCall.FunctionalCalls in Google AI.";
async function handleWebSocketMessage(apiClient, onmessage, event) {
const serverMessage = new LiveServerMessage();
let jsonData;
if (event.data instanceof Blob) {
jsonData = await event.data.text();
} else if (event.data instanceof ArrayBuffer) {
jsonData = new TextDecoder().decode(event.data);
} else {
jsonData = event.data;
}
const data = JSON.parse(jsonData);
if (apiClient.isVertexAI()) {
const resp = liveServerMessageFromVertex(data);
Object.assign(serverMessage, resp);
} else {
const resp = liveServerMessageFromMldev(data);
Object.assign(serverMessage, resp);
}
onmessage(serverMessage);
}
var Live = class {
constructor(apiClient, auth, webSocketFactory) {
this.apiClient = apiClient;
this.auth = auth;
this.webSocketFactory = webSocketFactory;
this.music = new LiveMusic(this.apiClient, this.auth, this.webSocketFactory);
}
/**
Establishes a connection to the specified model with the given
configuration and returns a Session object representing that connection.
@experimental Built-in MCP support is an experimental feature, may change in
future versions.
@remarks
@param params - The parameters for establishing a connection to the model.
@return A live session.
@example
```ts
let model: string;
if (GOOGLE_GENAI_USE_VERTEXAI) {
model = 'gemini-2.0-flash-live-preview-04-09';
} else {
model = 'gemini-live-2.5-flash-preview';
}
const session = await ai.live.connect({
model: model,
config: {
responseModalities: [Modality.AUDIO],
},
callbacks: {
onopen: () => {
console.log('Connected to the socket.');
},
onmessage: (e: MessageEvent) => {
console.log('Received message from the server: %s\n', debug(e.data));
},
onerror: (e: ErrorEvent) => {
console.log('Error occurred: %s\n', debug(e.error));
},
onclose: (e: CloseEvent) => {
console.log('Connection closed.');
},
},
});
```
*/
async connect(params) {
var _a, _b, _c, _d, _e, _f;
if (params.config && params.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 websocketBaseUrl = this.apiClient.getWebsocketBaseUrl();
const apiVersion = this.apiClient.getApiVersion();
let url;
const clientHeaders = this.apiClient.getHeaders();
if (params.config && params.config.tools && hasMcpToolUsage(params.config.tools)) {
setMcpUsageHeader(clientHeaders);
}
const headers = mapToHeaders(clientHeaders);
if (this.apiClient.isVertexAI()) {
url = `${websocketBaseUrl}/ws/google.cloud.aiplatform.${apiVersion}.LlmBidiService/BidiGenerateContent`;
await this.auth.addAuthHeaders(headers);
} else {
const apiKey = this.apiClient.getApiKey();
let method = "BidiGenerateContent";
let keyName = "key";
if (apiKey === null || apiKey === void 0 ? void 0 : apiKey.startsWith("auth_tokens/")) {
console.warn("Warning: Ephemeral token support is experimental and may change in future versions.");
if (apiVersion !== "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.");
}
method = "BidiGenerateContentConstrained";
keyName = "access_token";
}
url = `${websocketBaseUrl}/ws/google.ai.generativelanguage.${apiVersion}.GenerativeService.${method}?${keyName}=${apiKey}`;
}
let onopenResolve = () => {
};
const onopenPromise = new Promise((resolve) => {
onopenResolve = resolve;
});
const callbacks = params.callbacks;
const onopenAwaitedCallback = function() {
var _a2;
(_a2 = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onopen) === null || _a2 === void 0 ? void 0 : _a2.call(callbacks);
onopenResolve({});
};
const apiClient = this.apiClient;
const websocketCallbacks = {
onopen: onopenAwaitedCallback,
onmessage: (event) => {
void handleWebSocketMessage(apiClient, callbacks.onmessage, event);
},
onerror: (_a = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onerror) !== null && _a !== void 0 ? _a : function(e) {
},
onclose: (_b = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onclose) !== null && _b !== void 0 ? _b : function(e) {
}
};
const conn = this.webSocketFactory.create(url, headersToMap(headers), websocketCallbacks);
conn.connect();
await onopenPromise;
let transformedModel = tModel(this.apiClient, params.model);
if (this.apiClient.isVertexAI() && transformedModel.startsWith("publishers/")) {
const project = this.apiClient.getProject();
const location = this.apiClient.getLocation();
transformedModel = `projects/${project}/locations/${location}/` + transformedModel;
}
let clientMessage = {};
if (this.apiClient.isVertexAI() && ((_c = params.config) === null || _c === void 0 ? void 0 : _c.responseModalities) === void 0) {
if (params.config === void 0) {
params.config = { responseModalities: [Modality.AUDIO] };
} else {
params.config.responseModalities = [Modality.AUDIO];
}
}
if ((_d = params.config) === null || _d === void 0 ? void 0 : _d.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 inputTools = (_f = (_e = params.config) === null || _e === void 0 ? void 0 : _e.tools) !== null && _f !== void 0 ? _f : [];
const convertedTools = [];
for (const tool of inputTools) {
if (this.isCallableTool(tool)) {
const callableTool = tool;
convertedTools.push(await callableTool.tool());
} else {
convertedTools.push(tool);
}
}
if (convertedTools.length > 0) {
params.config.tools = convertedTools;
}
const liveConnectParameters = {
model: transformedModel,
config: params.config,
callbacks: params.callbacks
};
if (this.apiClient.isVertexAI()) {
clientMessage = liveConnectParametersToVertex(this.apiClient, liveConnectParameters);
} else {
clientMessage = liveConnectParametersToMldev(this.apiClient, liveConnectParameters);
}
delete clientMessage["config"];
conn.send(JSON.stringify(clientMessage));
return new Session(conn, this.apiClient);
}
// TODO: b/416041229 - Abstract this method to a common place.
isCallableTool(tool) {
return "callTool" in tool && typeof tool.callTool === "function";
}
};
var defaultLiveSendClientContentParamerters = {
turnComplete: true
};
var Session = class {
constructor(conn, apiClient) {
this.conn = conn;
this.apiClient = apiClient;
}
tLiveClientContent(apiClient, params) {
if (params.turns !== null && params.turns !== void 0) {
let contents = [];
try {
contents = tContents(params.turns);
if (apiClient.isVertexAI()) {
contents = contents.map((item) => contentToVertex(item));
} else {
contents = contents.map((item) => contentToMldev$1(item));
}
} catch (_a) {
throw new Error(`Failed to parse client content "turns", type: '${typeof params.turns}'`);
}
return {
clientContent: { turns: contents, turnComplete: params.turnComplete }
};
}
return {
clientContent: { turnComplete: params.turnComplete }
};
}
tLiveClienttToolResponse(apiClient, params) {
let functionResponses = [];
if (params.functionResponses == null) {
throw new Error("functionResponses is required.");
}
if (!Array.isArray(params.functionResponses)) {
functionResponses = [params.functionResponses];
} else {
functionResponses = params.functionResponses;
}
if (functionResponses.length === 0) {
throw new Error("functionResponses is required.");
}
for (const functionResponse of functionResponses) {
if (typeof functionResponse !== "object" || functionResponse === null || !("name" in functionResponse) || !("response" in functionResponse)) {
throw new Error(`Could not parse function response, type '${typeof functionResponse}'.`);
}
if (!apiClient.isVertexAI() && !("id" in functionResponse)) {
throw new Error(FUNCTION_RESPONSE_REQUIRES_ID);
}
}
const clientMessage = {
toolResponse: { functionResponses }
};
return clientMessage;
}
/**
Send a message over the established connection.
@param params - Contains two **optional** properties, `turns` and
`turnComplete`.
- `turns` will be converted to a `Content[]`
- `turnComplete: true` [default] indicates that you are done sending
content and expect a response. If `turnComplete: false`, the server
will wait for additional messages before starting generation.
@experimental
@remarks
There are two ways to send messages to the live API:
`sendClientContent` and `sendRealtimeInput`.
`sendClientContent` messages are added to the model context **in order**.
Having a conversation using `sendClientContent` messages is roughly
equivalent to using the `Chat.sendMessageStream`, except that the state of
the `chat` history is stored on the API server instead of locally.
Because of `sendClientContent`'s order guarantee, the model cannot respons
as quickly to `sendClientContent` messages as to `sendRealtimeInput`
messages. This makes the biggest difference when sending objects that have
significant preprocessing time (typically images).
The `sendClientContent` message sends a `Content[]`
which has more options than the `Blob` sent by `sendRealtimeInput`.
So the main use-cases for `sendClientContent` over `sendRealtimeInput` are:
- Sending anything that can't be represented as a `Blob` (text,
`sendClientContent({turns="Hello?"}`)).
- Managing turns when not using audio input and voice activity detection.
(`sendClientContent({turnComplete:true})` or the short form
`sendClientContent()`)
- Prefilling a conversation context
```
sendClientContent({
turns: [
Content({role:user, parts:...}),
Content({role:user, parts:...}),
...
]
})
```
@experimental
*/
sendClientContent(params) {
params = Object.assign(Object.assign({}, defaultLiveSendClientContentParamerters), params);
const clientMessage = this.tLiveClientContent(this.apiClient, params);
this.conn.send(JSON.stringify(clientMessage));
}
/**
Send a realtime message over the established connection.
@param params - Contains one property, `media`.
- `media` will be converted to a `Blob`
@experimental
@remarks
Use `sendRealtimeInput` for realtime audio chunks and video frames (images).
With `sendRealtimeInput` the api will respond to audio automatically
based on voice activity detection (VAD).
`sendRealtimeInput` is optimized for responsivness at the expense of
deterministic ordering guarantees. Audio and video tokens are to the
context when they become available.
Note: The Call signature expects a `Blob` object, but only a subset
of audio and image mimetypes are allowed.
*/
sendRealtimeInput(params) {
let clientMessage = {};
if (this.apiClient.isVertexAI()) {
clientMessage = {
"realtimeInput": liveSendRealtimeInputParametersToVertex(params)
};
} else {
clientMessage = {
"realtimeInput": liveSendRealtimeInputParametersToMldev(params)
};
}
this.conn.send(JSON.stringify(clientMessage));
}
/**
Send a function response message over the established connection.
@param params - Contains property `functionResponses`.
- `functionResponses` will be converted to a `functionResponses[]`
@remarks
Use `sendFunctionResponse` to reply to `LiveServerToolCall` from the server.
Use {@link types.LiveConnectConfig#tools} to configure the callable functions.
@experimental
*/
sendToolResponse(params) {
if (params.functionResponses == null) {
throw new Error("Tool response parameters are required.");
}
const clientMessage = this.tLiveClienttToolResponse(this.apiClient, params);
this.conn.send(JSON.stringify(clientMessage));
}
/**
Terminates the WebSocket connection.
@experimental
@example
```ts
let model: string;
if (GOOGLE_GENAI_USE_VERTEXAI) {
model = 'gemini-2.0-flash-live-preview-04-09';
} else {
model = 'gemini-live-2.5-flash-preview';
}
const session = await ai.live.connect({
model: model,
config: {
responseModalities: [Modality.AUDIO],
}
});
session.close();
```
*/
close() {
this.conn.close();
}
};
function headersToMap(headers) {
const headerMap = {};
headers.forEach((value, key) => {
headerMap[key] = value;
});
return headerMap;
}
function mapToHeaders(map) {
const headers = new Headers();
for (const [key, value] of Object.entries(map)) {
headers.append(key, value);
}
return headers;
}
var DEFAULT_MAX_REMOTE_CALLS = 10;
function shouldDisableAfc(config) {
var _a, _b, _c;
if ((_a = config === null || config === void 0 ? void 0 : config.automaticFunctionCalling) === null || _a === void 0 ? void 0 : _a.disable) {
return true;
}
let callableToolsPresent = false;
for (const tool of (_b = config === null || config === void 0 ? void 0 : config.tools) !== null && _b !== void 0 ? _b : []) {
if (isCallableTool(tool)) {
callableToolsPresent = true;
break;
}
}
if (!callableToolsPresent) {
return true;
}
const maxCalls = (_c = config === null || config === void 0 ? void 0 : config.automaticFunctionCalling) === null || _c === void 0 ? void 0 : _c.maximumRemoteCalls;
if (maxCalls && (maxCalls < 0 || !Number.isInteger(maxCalls)) || maxCalls == 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:", maxCalls);
return true;
}
return false;
}
function isCallableTool(tool) {
return "callTool" in tool && typeof tool.callTool === "function";
}
function hasCallableTools(params) {
var _a, _b, _c;
return (_c = (_b = (_a = params.config) === null || _a === void 0 ? void 0 : _a.tools) === null || _b === void 0 ? void 0 : _b.some((tool) => isCallableTool(tool))) !== null && _c !== void 0 ? _c : false;
}
function hasNonCallableTools(params) {
var _a, _b, _c;
return (_c = (_b = (_a = params.config) === null || _a === void 0 ? void 0 : _a.tools) === null || _b === void 0 ? void 0 : _b.some((tool) => !isCallableTool(tool))) !== null && _c !== void 0 ? _c : false;
}
function shouldAppendAfcHistory(config) {
var _a;
return !((_a = config === null || config === void 0 ? void 0 : config.automaticFunctionCalling) === null || _a === void 0 ? void 0 : _a.ignoreCallHistory);
}
var Models = class extends BaseModule {
constructor(apiClient) {
super();
this.apiClient = apiClient;
this.generateContent = async (params) => {
var _a, _b, _c, _d, _e;
const transformedParams = await this.processParamsMaybeAddMcpUsage(params);
this.maybeMoveToResponseJsonSchem(params);
if (!hasCallableTools(params) || shouldDisableAfc(params.config)) {
return await this.generateContentInternal(transformedParams);
}
if (hasNonCallableTools(params)) {
throw new Error("Automatic function calling with CallableTools and Tools is not yet supported.");
}
let response;
let functionResponseContent;
const automaticFunctionCallingHistory = tContents(transformedParams.contents);
const maxRemoteCalls = (_c = (_b = (_a = transformedParams.config) === null || _a === void 0 ? void 0 : _a.automaticFunctionCalling) === null || _b === void 0 ? void 0 : _b.maximumRemoteCalls) !== null && _c !== void 0 ? _c : DEFAULT_MAX_REMOTE_CALLS;
let remoteCalls = 0;
while (remoteCalls < maxRemoteCalls) {
response = await this.generateContentInternal(transformedParams);
if (!response.functionCalls || response.functionCalls.length === 0) {
break;
}
const responseContent = response.candidates[0].content;
const functionResponseParts = [];
for (const tool of (_e = (_d = params.config) === null || _d === void 0 ? void 0 : _d.tools) !== null && _e !== void 0 ? _e : []) {
if (isCallableTool(tool)) {
const callableTool = tool;
const parts = await callableTool.callTool(response.functionCalls);
functionResponseParts.push(...parts);
}
}
remoteCalls++;
functionResponseContent = {
role: "user",
parts: functionResponseParts
};
transformedParams.contents = tContents(transformedParams.contents);
transformedParams.contents.push(responseContent);
transformedParams.contents.push(functionResponseContent);
if (shouldAppendAfcHistory(transformedParams.config)) {
automaticFunctionCallingHistory.push(responseContent);
automaticFunctionCallingHistory.push(functionResponseContent);
}
}
if (shouldAppendAfcHistory(transformedParams.config)) {
response.automaticFunctionCallingHistory = automaticFunctionCallingHistory;
}
return response;
};
this.generateContentStream = async (params) => {
this.maybeMoveToResponseJsonSchem(params);
if (shouldDisableAfc(params.config)) {
const transformedParams = await this.processParamsMaybeAddMcpUsage(params);
return await this.generateContentStreamInternal(transformedParams);
} else {
return await this.processAfcStream(params);
}
};
this.generateImages = async (params) => {
return await this.generateImagesInternal(params).then((apiResponse) => {
var _a;
let positivePromptSafetyAttributes;
const generatedImages = [];
if (apiResponse === null || apiResponse === void 0 ? void 0 : apiResponse.generatedImages) {
for (const generatedImage of apiResponse.generatedImages) {
if (generatedImage && (generatedImage === null || generatedImage === void 0 ? void 0 : generatedImage.safetyAttributes) && ((_a = generatedImage === null || generatedImage === void 0 ? void 0 : generatedImage.safetyAttributes) === null || _a === void 0 ? void 0 : _a.contentType) === "Positive Prompt") {
positivePromptSafetyAttributes = generatedImage === null || generatedImage === void 0 ? void 0 : generatedImage.safetyAttributes;
} else {
generatedImages.push(generatedImage);
}
}
}
let response;
if (positivePromptSafetyAttributes) {
response = {
generatedImages,
positivePromptSafetyAttributes,
sdkHttpResponse: apiResponse.sdkHttpResponse
};
} else {
response = {
generatedImages,
sdkHttpResponse: apiResponse.sdkHttpResponse
};
}
return response;
});
};
this.list = async (params) => {
var _a;
const defaultConfig = {
queryBase: true
};
const actualConfig = Object.assign(Object.assign({}, defaultConfig), params === null || params === void 0 ? void 0 : params.config);
const actualParams = {
config: actualConfig
};
if (this.apiClient.isVertexAI()) {
if (!actualParams.config.queryBase) {
if ((_a = actualParams.config) === null || _a === void 0 ? void 0 : _a.filter) {
throw new Error("Filtering tuned models list for Vertex AI is not currently supported");
} else {
actualParams.config.filter = "labels.tune-type:*";
}
}
}
return new Pager(PagedItem.PAGED_ITEM_MODELS, (x) => this.listInternal(x), await this.listInternal(actualParams), actualParams);
};
this.editImage = async (params) => {
const paramsInternal = {
model: params.model,
prompt: params.prompt,
referenceImages: [],
config: params.config
};
if (params.referenceImages) {
if (params.referenceImages) {
paramsInternal.referenceImages = params.referenceImages.map((img) => img.toReferenceImageAPI());
}
}
return await this.editImageInternal(paramsInternal);
};
this.upscaleImage = async (params) => {
let apiConfig = {
numberOfImages: 1,
mode: "upscale"
};
if (params.config) {
apiConfig = Object.assign(Object.assign({}, apiConfig), params.config);
}
const apiParams = {
model: params.model,
image: params.image,
upscaleFactor: params.upscaleFactor,
config: apiConfig
};
return await this.upscaleImageInternal(apiParams);
};
this.generateVideos = async (params) => {
if ((params.prompt || params.image || params.video) && params.source) {
throw new Error("Source and prompt/image/video are mutually exclusive. Please only use source.");
}
return await this.generateVideosInternal(params);
};
}
/**
* This logic is needed for GenerateContentConfig only.
* Previously we made GenerateContentConfig.responseSchema field to accept
* unknown. Since v1.9.0, we switch to use backend JSON schema support.
* To maintain backward compatibility, we move the data that was treated as
* JSON schema from the responseSchema field to the responseJsonSchema field.
*/
maybeMoveToResponseJsonSchem(params) {
if (params.config && params.config.responseSchema) {
if (!params.config.responseJsonSchema) {
if (Object.keys(params.config.responseSchema).includes("$schema")) {
params.config.responseJsonSchema = params.config.responseSchema;
delete params.config.responseSchema;
}
}
}
return;
}
/**
* Transforms the CallableTools in the parameters to be simply Tools, it
* copies the params into a new object and replaces the tools, it does not
* modify the original params. Also sets the MCP usage header if there are
* MCP tools in the parameters.
*/
async processParamsMaybeAddMcpUsage(params) {
var _a, _b, _c;
const tools = (_a = params.config) === null || _a === void 0 ? void 0 : _a.tools;
if (!tools) {
return params;
}
const transformedTools = await Promise.all(tools.map(async (tool) => {
if (isCallableTool(tool)) {
const callableTool = tool;
return await callableTool.tool();
}
return tool;
}));
const newParams = {
model: params.model,
contents: params.contents,
config: Object.assign(Object.assign({}, params.config), { tools: transformedTools })
};
newParams.config.tools = transformedTools;
if (params.config && params.config.tools && hasMcpToolUsage(params.config.tools)) {
const headers = (_c = (_b = params.config.httpOptions) === null || _b === void 0 ? void 0 : _b.headers) !== null && _c !== void 0 ? _c : {};
let newHeaders = Object.assign({}, headers);
if (Object.keys(newHeaders).length === 0) {
newHeaders = this.apiClient.getDefaultHeaders();
}
setMcpUsageHeader(newHeaders);
newParams.config.httpOptions = Object.assign(Object.assign({}, params.config.httpOptions), { headers: newHeaders });
}
return newParams;
}
async initAfcToolsMap(params) {
var _a, _b, _c;
const afcTools = /* @__PURE__ */ new Map();
for (const tool of (_b = (_a = params.config) === null || _a === void 0 ? void 0 : _a.tools) !== null && _b !== void 0 ? _b : []) {
if (isCallableTool(tool)) {
const callableTool = tool;
const toolDeclaration = await callableTool.tool();
for (const declaration of (_c = toolDeclaration.functionDeclarations) !== null && _c !== void 0 ? _c : []) {
if (!declaration.name) {
throw new Error("Function declaration name is required.");
}
if (afcTools.has(declaration.name)) {
throw new Error(`Duplicate tool declaration name: ${declaration.name}`);
}
afcTools.set(declaration.name, callableTool);
}
}
}
return afcTools;
}
async processAfcStream(params) {
var _a, _b, _c;
const maxRemoteCalls = (_c = (_b = (_a = params.config) === null || _a === void 0 ? void 0 : _a.automaticFunctionCalling) === null || _b === void 0 ? void 0 : _b.maximumRemoteCalls) !== null && _c !== void 0 ? _c : DEFAULT_MAX_REMOTE_CALLS;
let wereFunctionsCalled = false;
let remoteCallCount = 0;
const afcToolsMap = await this.initAfcToolsMap(params);
return (function(models, afcTools, params2) {
var _a2, _b2;
return __asyncGenerator(this, arguments, function* () {
var _c2, e_1, _d, _e;
while (remoteCallCount < maxRemoteCalls) {
if (wereFunctionsCalled) {
remoteCallCount++;
wereFunctionsCalled = false;
}
const transformedParams = yield __await(models.processParamsMaybeAddMcpUsage(params2));
const response = yield __await(models.generateContentStreamInternal(transformedParams));
const functionResponses = [];
const responseContents = [];
try {
for (var _f = true, response_1 = (e_1 = void 0, __asyncValues(response)), response_1_1; response_1_1 = yield __await(response_1.next()), _c2 = response_1_1.done, !_c2; _f = true) {
_e = response_1_1.value;
_f = false;
const chunk = _e;
yield yield __await(chunk);
if (chunk.candidates && ((_a2 = chunk.candidates[0]) === null || _a2 === void 0 ? void 0 : _a2.content)) {
responseContents.push(chunk.candidates[0].content);
for (const part of (_b2 = chunk.candidates[0].content.parts) !== null && _b2 !== void 0 ? _b2 : []) {
if (remoteCallCount < maxRemoteCalls && part.functionCall) {
if (!part.functionCall.name) {
throw new Error("Function call name was not returned by the model.");
}
if (!afcTools.has(part.functionCall.name)) {
throw new Error(`Automatic function calling was requested, but not all the tools the model used implement the CallableTool interface. Available tools: ${afcTools.keys()}, mising tool: ${part.functionCall.name}`);
} else {
const responseParts = yield __await(afcTools.get(part.functionCall.name).callTool([part.functionCall]));
functionResponses.push(...responseParts);
}
}
}
}
}
} catch (e_1_1) {
e_1 = { error: e_1_1 };
} finally {
try {
if (!_f && !_c2 && (_d = response_1.return)) yield __await(_d.call(response_1));
} finally {
if (e_1) throw e_1.error;
}
}
if (functionResponses.length > 0) {
wereFunctionsCalled = true;
const typedResponseChunk = new GenerateContentResponse();
typedResponseChunk.candidates = [
{
content: {
role: "user",
parts: functionResponses
}
}
];
yield yield __await(typedResponseChunk);
const newContents = [];
newContents.push(...responseContents);
newContents.push({
role: "user",
parts: functionResponses
});
const updatedContents = tContents(params2.contents).concat(newContents);
params2.contents = updatedContents;
} else {
break;
}
}
});
})(this, afcToolsMap, params);
}
async generateContentInternal(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = generateContentParametersToVertex(this.apiClient, params);
path = formatMap("{model}:generateContent", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = generateContentResponseFromVertex(apiResponse);
const typedResp = new GenerateContentResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
const body = generateContentParametersToMldev(this.apiClient, params);
path = formatMap("{model}:generateContent", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = generateContentResponseFromMldev(apiResponse);
const typedResp = new GenerateContentResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
async generateContentStreamInternal(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = generateContentParametersToVertex(this.apiClient, params);
path = formatMap("{model}:streamGenerateContent?alt=sse", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
const apiClient = this.apiClient;
response = apiClient.requestStream({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
});
return response.then(function(apiResponse) {
return __asyncGenerator(this, arguments, function* () {
var _a2, e_2, _b2, _c2;
try {
for (var _d2 = true, apiResponse_1 = __asyncValues(apiResponse), apiResponse_1_1; apiResponse_1_1 = yield __await(apiResponse_1.next()), _a2 = apiResponse_1_1.done, !_a2; _d2 = true) {
_c2 = apiResponse_1_1.value;
_d2 = false;
const chunk = _c2;
const resp = generateContentResponseFromVertex(yield __await(chunk.json()));
resp["sdkHttpResponse"] = {
headers: chunk.headers
};
const typedResp = new GenerateContentResponse();
Object.assign(typedResp, resp);
yield yield __await(typedResp);
}
} catch (e_2_1) {
e_2 = { error: e_2_1 };
} finally {
try {
if (!_d2 && !_a2 && (_b2 = apiResponse_1.return)) yield __await(_b2.call(apiResponse_1));
} finally {
if (e_2) throw e_2.error;
}
}
});
});
} else {
const body = generateContentParametersToMldev(this.apiClient, params);
path = formatMap("{model}:streamGenerateContent?alt=sse", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
const apiClient = this.apiClient;
response = apiClient.requestStream({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
});
return response.then(function(apiResponse) {
return __asyncGenerator(this, arguments, function* () {
var _a2, e_3, _b2, _c2;
try {
for (var _d2 = true, apiResponse_2 = __asyncValues(apiResponse), apiResponse_2_1; apiResponse_2_1 = yield __await(apiResponse_2.next()), _a2 = apiResponse_2_1.done, !_a2; _d2 = true) {
_c2 = apiResponse_2_1.value;
_d2 = false;
const chunk = _c2;
const resp = generateContentResponseFromMldev(yield __await(chunk.json()));
resp["sdkHttpResponse"] = {
headers: chunk.headers
};
const typedResp = new GenerateContentResponse();
Object.assign(typedResp, resp);
yield yield __await(typedResp);
}
} catch (e_3_1) {
e_3 = { error: e_3_1 };
} finally {
try {
if (!_d2 && !_a2 && (_b2 = apiResponse_2.return)) yield __await(_b2.call(apiResponse_2));
} finally {
if (e_3) throw e_3.error;
}
}
});
});
}
}
/**
* Calculates embeddings for the given contents. Only text is supported.
*
* @param params - The parameters for embedding contents.
* @return The response from the API.
*
* @example
* ```ts
* const response = await ai.models.embedContent({
* model: 'text-embedding-004',
* contents: [
* 'What is your name?',
* 'What is your favorite color?',
* ],
* config: {
* outputDimensionality: 64,
* },
* });
* console.log(response);
* ```
*/
async embedContent(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = embedContentParametersToVertex(this.apiClient, params);
path = formatMap("{model}:predict", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = embedContentResponseFromVertex(apiResponse);
const typedResp = new EmbedContentResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
const body = embedContentParametersToMldev(this.apiClient, params);
path = formatMap("{model}:batchEmbedContents", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = embedContentResponseFromMldev(apiResponse);
const typedResp = new EmbedContentResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
/**
* Private method for generating images.
*/
async generateImagesInternal(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = generateImagesParametersToVertex(this.apiClient, params);
path = formatMap("{model}:predict", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = generateImagesResponseFromVertex(apiResponse);
const typedResp = new GenerateImagesResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
const body = generateImagesParametersToMldev(this.apiClient, params);
path = formatMap("{model}:predict", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = generateImagesResponseFromMldev(apiResponse);
const typedResp = new GenerateImagesResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
/**
* Private method for editing an image.
*/
async editImageInternal(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = editImageParametersInternalToVertex(this.apiClient, params);
path = formatMap("{model}:predict", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = editImageResponseFromVertex(apiResponse);
const typedResp = new EditImageResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
throw new Error("This method is only supported by the Vertex AI.");
}
}
/**
* Private method for upscaling an image.
*/
async upscaleImageInternal(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = upscaleImageAPIParametersInternalToVertex(this.apiClient, params);
path = formatMap("{model}:predict", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = upscaleImageResponseFromVertex(apiResponse);
const typedResp = new UpscaleImageResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
throw new Error("This method is only supported by the Vertex AI.");
}
}
/**
* Recontextualizes an image.
*
* There are two types of recontextualization currently supported:
* 1) Imagen Product Recontext - Generate images of products in new scenes
* and contexts.
* 2) Virtual Try-On: Generate images of persons modeling fashion products.
*
* @param params - The parameters for recontextualizing an image.
* @return The response from the API.
*
* @example
* ```ts
* const response1 = await ai.models.recontextImage({
* model: 'imagen-product-recontext-preview-06-30',
* source: {
* prompt: 'In a modern kitchen setting.',
* productImages: [productImage],
* },
* config: {
* numberOfImages: 1,
* },
* });
* console.log(response1?.generatedImages?.[0]?.image?.imageBytes);
*
* const response2 = await ai.models.recontextImage({
* model: 'virtual-try-on-preview-08-04',
* source: {
* personImage: personImage,
* productImages: [productImage],
* },
* config: {
* numberOfImages: 1,
* },
* });
* console.log(response2?.generatedImages?.[0]?.image?.imageBytes);
* ```
*/
async recontextImage(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = recontextImageParametersToVertex(this.apiClient, params);
path = formatMap("{model}:predict", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = recontextImageResponseFromVertex(apiResponse);
const typedResp = new RecontextImageResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
throw new Error("This method is only supported by the Vertex AI.");
}
}
/**
* Segments an image, creating a mask of a specified area.
*
* @param params - The parameters for segmenting an image.
* @return The response from the API.
*
* @example
* ```ts
* const response = await ai.models.segmentImage({
* model: 'image-segmentation-001',
* source: {
* image: image,
* },
* config: {
* mode: 'foreground',
* },
* });
* console.log(response?.generatedMasks?.[0]?.mask?.imageBytes);
* ```
*/
async segmentImage(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = segmentImageParametersToVertex(this.apiClient, params);
path = formatMap("{model}:predict", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = segmentImageResponseFromVertex(apiResponse);
const typedResp = new SegmentImageResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
throw new Error("This method is only supported by the Vertex AI.");
}
}
/**
* Fetches information about a model by name.
*
* @example
* ```ts
* const modelInfo = await ai.models.get({model: 'gemini-2.0-flash'});
* ```
*/
async get(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = getModelParametersToVertex(this.apiClient, params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = modelFromVertex(apiResponse);
return resp;
});
} else {
const body = getModelParametersToMldev(this.apiClient, params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = modelFromMldev(apiResponse);
return resp;
});
}
}
async listInternal(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = listModelsParametersToVertex(this.apiClient, params);
path = formatMap("{models_url}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = listModelsResponseFromVertex(apiResponse);
const typedResp = new ListModelsResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
const body = listModelsParametersToMldev(this.apiClient, params);
path = formatMap("{models_url}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = listModelsResponseFromMldev(apiResponse);
const typedResp = new ListModelsResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
/**
* Updates a tuned model by its name.
*
* @param params - The parameters for updating the model.
* @return The response from the API.
*
* @example
* ```ts
* const response = await ai.models.update({
* model: 'tuned-model-name',
* config: {
* displayName: 'New display name',
* description: 'New description',
* },
* });
* ```
*/
async update(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = updateModelParametersToVertex(this.apiClient, params);
path = formatMap("{model}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "PATCH",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = modelFromVertex(apiResponse);
return resp;
});
} else {
const body = updateModelParametersToMldev(this.apiClient, params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "PATCH",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = modelFromMldev(apiResponse);
return resp;
});
}
}
/**
* Deletes a tuned model by its name.
*
* @param params - The parameters for deleting the model.
* @return The response from the API.
*
* @example
* ```ts
* const response = await ai.models.delete({model: 'tuned-model-name'});
* ```
*/
async delete(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = deleteModelParametersToVertex(this.apiClient, params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "DELETE",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = deleteModelResponseFromVertex(apiResponse);
const typedResp = new DeleteModelResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
const body = deleteModelParametersToMldev(this.apiClient, params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "DELETE",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = deleteModelResponseFromMldev(apiResponse);
const typedResp = new DeleteModelResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
/**
* Counts the number of tokens in the given contents. Multimodal input is
* supported for Gemini models.
*
* @param params - The parameters for counting tokens.
* @return The response from the API.
*
* @example
* ```ts
* const response = await ai.models.countTokens({
* model: 'gemini-2.0-flash',
* contents: 'The quick brown fox jumps over the lazy dog.'
* });
* console.log(response);
* ```
*/
async countTokens(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = countTokensParametersToVertex(this.apiClient, params);
path = formatMap("{model}:countTokens", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = countTokensResponseFromVertex(apiResponse);
const typedResp = new CountTokensResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
const body = countTokensParametersToMldev(this.apiClient, params);
path = formatMap("{model}:countTokens", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = countTokensResponseFromMldev(apiResponse);
const typedResp = new CountTokensResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
/**
* Given a list of contents, returns a corresponding TokensInfo containing
* the list of tokens and list of token ids.
*
* This method is not supported by the Gemini Developer API.
*
* @param params - The parameters for computing tokens.
* @return The response from the API.
*
* @example
* ```ts
* const response = await ai.models.computeTokens({
* model: 'gemini-2.0-flash',
* contents: 'What is your name?'
* });
* console.log(response);
* ```
*/
async computeTokens(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = computeTokensParametersToVertex(this.apiClient, params);
path = formatMap("{model}:computeTokens", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = computeTokensResponseFromVertex(apiResponse);
const typedResp = new ComputeTokensResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
throw new Error("This method is only supported by the Vertex AI.");
}
}
/**
* Private method for generating videos.
*/
async generateVideosInternal(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = generateVideosParametersToVertex(this.apiClient, params);
path = formatMap("{model}:predictLongRunning", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = generateVideosOperationFromVertex(apiResponse);
const typedResp = new GenerateVideosOperation();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
const body = generateVideosParametersToMldev(this.apiClient, params);
path = formatMap("{model}:predictLongRunning", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = generateVideosOperationFromMldev(apiResponse);
const typedResp = new GenerateVideosOperation();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
};
function getOperationParametersToMldev(fromObject) {
const toObject = {};
const fromOperationName = getValueByPath(fromObject, [
"operationName"
]);
if (fromOperationName != null) {
setValueByPath(toObject, ["_url", "operationName"], fromOperationName);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function fetchPredictOperationParametersToVertex(fromObject) {
const toObject = {};
const fromOperationName = getValueByPath(fromObject, [
"operationName"
]);
if (fromOperationName != null) {
setValueByPath(toObject, ["operationName"], fromOperationName);
}
const fromResourceName = getValueByPath(fromObject, ["resourceName"]);
if (fromResourceName != null) {
setValueByPath(toObject, ["_url", "resourceName"], fromResourceName);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function getOperationParametersToVertex(fromObject) {
const toObject = {};
const fromOperationName = getValueByPath(fromObject, [
"operationName"
]);
if (fromOperationName != null) {
setValueByPath(toObject, ["_url", "operationName"], fromOperationName);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
var Operations = class extends BaseModule {
constructor(apiClient) {
super();
this.apiClient = apiClient;
}
/**
* Gets the status of a long-running operation.
*
* @param parameters The parameters for the get operation request.
* @return The updated Operation object, with the latest status or result.
*/
async getVideosOperation(parameters) {
const operation = parameters.operation;
const config = parameters.config;
if (operation.name === void 0 || operation.name === "") {
throw new Error("Operation name is required.");
}
if (this.apiClient.isVertexAI()) {
const resourceName2 = operation.name.split("/operations/")[0];
let httpOptions = void 0;
if (config && "httpOptions" in config) {
httpOptions = config.httpOptions;
}
const rawOperation = await this.fetchPredictVideosOperationInternal({
operationName: operation.name,
resourceName: resourceName2,
config: { httpOptions }
});
return operation._fromAPIResponse({
apiResponse: rawOperation,
isVertexAI: true
});
} else {
const rawOperation = await this.getVideosOperationInternal({
operationName: operation.name,
config
});
return operation._fromAPIResponse({
apiResponse: rawOperation,
isVertexAI: false
});
}
}
/**
* Gets the status of a long-running operation.
*
* @param parameters The parameters for the get operation request.
* @return The updated Operation object, with the latest status or result.
*/
async get(parameters) {
const operation = parameters.operation;
const config = parameters.config;
if (operation.name === void 0 || operation.name === "") {
throw new Error("Operation name is required.");
}
if (this.apiClient.isVertexAI()) {
const resourceName2 = operation.name.split("/operations/")[0];
let httpOptions = void 0;
if (config && "httpOptions" in config) {
httpOptions = config.httpOptions;
}
const rawOperation = await this.fetchPredictVideosOperationInternal({
operationName: operation.name,
resourceName: resourceName2,
config: { httpOptions }
});
return operation._fromAPIResponse({
apiResponse: rawOperation,
isVertexAI: true
});
} else {
const rawOperation = await this.getVideosOperationInternal({
operationName: operation.name,
config
});
return operation._fromAPIResponse({
apiResponse: rawOperation,
isVertexAI: false
});
}
}
async getVideosOperationInternal(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = getOperationParametersToVertex(params);
path = formatMap("{operationName}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response;
} else {
const body = getOperationParametersToMldev(params);
path = formatMap("{operationName}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response;
}
}
async fetchPredictVideosOperationInternal(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = fetchPredictOperationParametersToVertex(params);
path = formatMap("{resourceName}:fetchPredictOperation", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response;
} else {
throw new Error("This method is only supported by the Vertex AI.");
}
}
};
function prebuiltVoiceConfigToMldev(fromObject) {
const toObject = {};
const fromVoiceName = getValueByPath(fromObject, ["voiceName"]);
if (fromVoiceName != null) {
setValueByPath(toObject, ["voiceName"], fromVoiceName);
}
return toObject;
}
function voiceConfigToMldev(fromObject) {
const toObject = {};
const fromPrebuiltVoiceConfig = getValueByPath(fromObject, [
"prebuiltVoiceConfig"
]);
if (fromPrebuiltVoiceConfig != null) {
setValueByPath(toObject, ["prebuiltVoiceConfig"], prebuiltVoiceConfigToMldev(fromPrebuiltVoiceConfig));
}
return toObject;
}
function speakerVoiceConfigToMldev(fromObject) {
const toObject = {};
const fromSpeaker = getValueByPath(fromObject, ["speaker"]);
if (fromSpeaker != null) {
setValueByPath(toObject, ["speaker"], fromSpeaker);
}
const fromVoiceConfig = getValueByPath(fromObject, ["voiceConfig"]);
if (fromVoiceConfig != null) {
setValueByPath(toObject, ["voiceConfig"], voiceConfigToMldev(fromVoiceConfig));
}
return toObject;
}
function multiSpeakerVoiceConfigToMldev(fromObject) {
const toObject = {};
const fromSpeakerVoiceConfigs = getValueByPath(fromObject, [
"speakerVoiceConfigs"
]);
if (fromSpeakerVoiceConfigs != null) {
let transformedList = fromSpeakerVoiceConfigs;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return speakerVoiceConfigToMldev(item);
});
}
setValueByPath(toObject, ["speakerVoiceConfigs"], transformedList);
}
return toObject;
}
function speechConfigToMldev(fromObject) {
const toObject = {};
const fromVoiceConfig = getValueByPath(fromObject, ["voiceConfig"]);
if (fromVoiceConfig != null) {
setValueByPath(toObject, ["voiceConfig"], voiceConfigToMldev(fromVoiceConfig));
}
const fromMultiSpeakerVoiceConfig = getValueByPath(fromObject, [
"multiSpeakerVoiceConfig"
]);
if (fromMultiSpeakerVoiceConfig != null) {
setValueByPath(toObject, ["multiSpeakerVoiceConfig"], multiSpeakerVoiceConfigToMldev(fromMultiSpeakerVoiceConfig));
}
const fromLanguageCode = getValueByPath(fromObject, ["languageCode"]);
if (fromLanguageCode != null) {
setValueByPath(toObject, ["languageCode"], fromLanguageCode);
}
return toObject;
}
function videoMetadataToMldev(fromObject) {
const toObject = {};
const fromFps = getValueByPath(fromObject, ["fps"]);
if (fromFps != null) {
setValueByPath(toObject, ["fps"], fromFps);
}
const fromEndOffset = getValueByPath(fromObject, ["endOffset"]);
if (fromEndOffset != null) {
setValueByPath(toObject, ["endOffset"], fromEndOffset);
}
const fromStartOffset = getValueByPath(fromObject, ["startOffset"]);
if (fromStartOffset != null) {
setValueByPath(toObject, ["startOffset"], fromStartOffset);
}
return toObject;
}
function blobToMldev(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["displayName"]) !== void 0) {
throw new Error("displayName parameter is not supported in Gemini API.");
}
const fromData = getValueByPath(fromObject, ["data"]);
if (fromData != null) {
setValueByPath(toObject, ["data"], fromData);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function fileDataToMldev(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["displayName"]) !== void 0) {
throw new Error("displayName parameter is not supported in Gemini API.");
}
const fromFileUri = getValueByPath(fromObject, ["fileUri"]);
if (fromFileUri != null) {
setValueByPath(toObject, ["fileUri"], fromFileUri);
}
const fromMimeType = getValueByPath(fromObject, ["mimeType"]);
if (fromMimeType != null) {
setValueByPath(toObject, ["mimeType"], fromMimeType);
}
return toObject;
}
function partToMldev(fromObject) {
const toObject = {};
const fromVideoMetadata = getValueByPath(fromObject, [
"videoMetadata"
]);
if (fromVideoMetadata != null) {
setValueByPath(toObject, ["videoMetadata"], videoMetadataToMldev(fromVideoMetadata));
}
const fromThought = getValueByPath(fromObject, ["thought"]);
if (fromThought != null) {
setValueByPath(toObject, ["thought"], fromThought);
}
const fromInlineData = getValueByPath(fromObject, ["inlineData"]);
if (fromInlineData != null) {
setValueByPath(toObject, ["inlineData"], blobToMldev(fromInlineData));
}
const fromFileData = getValueByPath(fromObject, ["fileData"]);
if (fromFileData != null) {
setValueByPath(toObject, ["fileData"], fileDataToMldev(fromFileData));
}
const fromThoughtSignature = getValueByPath(fromObject, [
"thoughtSignature"
]);
if (fromThoughtSignature != null) {
setValueByPath(toObject, ["thoughtSignature"], fromThoughtSignature);
}
const fromCodeExecutionResult = getValueByPath(fromObject, [
"codeExecutionResult"
]);
if (fromCodeExecutionResult != null) {
setValueByPath(toObject, ["codeExecutionResult"], fromCodeExecutionResult);
}
const fromExecutableCode = getValueByPath(fromObject, [
"executableCode"
]);
if (fromExecutableCode != null) {
setValueByPath(toObject, ["executableCode"], fromExecutableCode);
}
const fromFunctionCall = getValueByPath(fromObject, ["functionCall"]);
if (fromFunctionCall != null) {
setValueByPath(toObject, ["functionCall"], fromFunctionCall);
}
const fromFunctionResponse = getValueByPath(fromObject, [
"functionResponse"
]);
if (fromFunctionResponse != null) {
setValueByPath(toObject, ["functionResponse"], fromFunctionResponse);
}
const fromText = getValueByPath(fromObject, ["text"]);
if (fromText != null) {
setValueByPath(toObject, ["text"], fromText);
}
return toObject;
}
function contentToMldev(fromObject) {
const toObject = {};
const fromParts = getValueByPath(fromObject, ["parts"]);
if (fromParts != null) {
let transformedList = fromParts;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return partToMldev(item);
});
}
setValueByPath(toObject, ["parts"], transformedList);
}
const fromRole = getValueByPath(fromObject, ["role"]);
if (fromRole != null) {
setValueByPath(toObject, ["role"], fromRole);
}
return toObject;
}
function functionDeclarationToMldev(fromObject) {
const toObject = {};
const fromBehavior = getValueByPath(fromObject, ["behavior"]);
if (fromBehavior != null) {
setValueByPath(toObject, ["behavior"], fromBehavior);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromParameters = getValueByPath(fromObject, ["parameters"]);
if (fromParameters != null) {
setValueByPath(toObject, ["parameters"], fromParameters);
}
const fromParametersJsonSchema = getValueByPath(fromObject, [
"parametersJsonSchema"
]);
if (fromParametersJsonSchema != null) {
setValueByPath(toObject, ["parametersJsonSchema"], fromParametersJsonSchema);
}
const fromResponse = getValueByPath(fromObject, ["response"]);
if (fromResponse != null) {
setValueByPath(toObject, ["response"], fromResponse);
}
const fromResponseJsonSchema = getValueByPath(fromObject, [
"responseJsonSchema"
]);
if (fromResponseJsonSchema != null) {
setValueByPath(toObject, ["responseJsonSchema"], fromResponseJsonSchema);
}
return toObject;
}
function intervalToMldev(fromObject) {
const toObject = {};
const fromStartTime = getValueByPath(fromObject, ["startTime"]);
if (fromStartTime != null) {
setValueByPath(toObject, ["startTime"], fromStartTime);
}
const fromEndTime = getValueByPath(fromObject, ["endTime"]);
if (fromEndTime != null) {
setValueByPath(toObject, ["endTime"], fromEndTime);
}
return toObject;
}
function googleSearchToMldev(fromObject) {
const toObject = {};
const fromTimeRangeFilter = getValueByPath(fromObject, [
"timeRangeFilter"
]);
if (fromTimeRangeFilter != null) {
setValueByPath(toObject, ["timeRangeFilter"], intervalToMldev(fromTimeRangeFilter));
}
if (getValueByPath(fromObject, ["excludeDomains"]) !== void 0) {
throw new Error("excludeDomains parameter is not supported in Gemini API.");
}
return toObject;
}
function dynamicRetrievalConfigToMldev(fromObject) {
const toObject = {};
const fromMode = getValueByPath(fromObject, ["mode"]);
if (fromMode != null) {
setValueByPath(toObject, ["mode"], fromMode);
}
const fromDynamicThreshold = getValueByPath(fromObject, [
"dynamicThreshold"
]);
if (fromDynamicThreshold != null) {
setValueByPath(toObject, ["dynamicThreshold"], fromDynamicThreshold);
}
return toObject;
}
function googleSearchRetrievalToMldev(fromObject) {
const toObject = {};
const fromDynamicRetrievalConfig = getValueByPath(fromObject, [
"dynamicRetrievalConfig"
]);
if (fromDynamicRetrievalConfig != null) {
setValueByPath(toObject, ["dynamicRetrievalConfig"], dynamicRetrievalConfigToMldev(fromDynamicRetrievalConfig));
}
return toObject;
}
function urlContextToMldev() {
const toObject = {};
return toObject;
}
function toolComputerUseToMldev(fromObject) {
const toObject = {};
const fromEnvironment = getValueByPath(fromObject, ["environment"]);
if (fromEnvironment != null) {
setValueByPath(toObject, ["environment"], fromEnvironment);
}
return toObject;
}
function toolToMldev(fromObject) {
const toObject = {};
const fromFunctionDeclarations = getValueByPath(fromObject, [
"functionDeclarations"
]);
if (fromFunctionDeclarations != null) {
let transformedList = fromFunctionDeclarations;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return functionDeclarationToMldev(item);
});
}
setValueByPath(toObject, ["functionDeclarations"], transformedList);
}
if (getValueByPath(fromObject, ["retrieval"]) !== void 0) {
throw new Error("retrieval parameter is not supported in Gemini API.");
}
const fromGoogleSearch = getValueByPath(fromObject, ["googleSearch"]);
if (fromGoogleSearch != null) {
setValueByPath(toObject, ["googleSearch"], googleSearchToMldev(fromGoogleSearch));
}
const fromGoogleSearchRetrieval = getValueByPath(fromObject, [
"googleSearchRetrieval"
]);
if (fromGoogleSearchRetrieval != null) {
setValueByPath(toObject, ["googleSearchRetrieval"], googleSearchRetrievalToMldev(fromGoogleSearchRetrieval));
}
if (getValueByPath(fromObject, ["enterpriseWebSearch"]) !== void 0) {
throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["googleMaps"]) !== void 0) {
throw new Error("googleMaps parameter is not supported in Gemini API.");
}
const fromUrlContext = getValueByPath(fromObject, ["urlContext"]);
if (fromUrlContext != null) {
setValueByPath(toObject, ["urlContext"], urlContextToMldev());
}
const fromComputerUse = getValueByPath(fromObject, ["computerUse"]);
if (fromComputerUse != null) {
setValueByPath(toObject, ["computerUse"], toolComputerUseToMldev(fromComputerUse));
}
const fromCodeExecution = getValueByPath(fromObject, [
"codeExecution"
]);
if (fromCodeExecution != null) {
setValueByPath(toObject, ["codeExecution"], fromCodeExecution);
}
return toObject;
}
function sessionResumptionConfigToMldev(fromObject) {
const toObject = {};
const fromHandle = getValueByPath(fromObject, ["handle"]);
if (fromHandle != null) {
setValueByPath(toObject, ["handle"], fromHandle);
}
if (getValueByPath(fromObject, ["transparent"]) !== void 0) {
throw new Error("transparent parameter is not supported in Gemini API.");
}
return toObject;
}
function audioTranscriptionConfigToMldev() {
const toObject = {};
return toObject;
}
function automaticActivityDetectionToMldev(fromObject) {
const toObject = {};
const fromDisabled = getValueByPath(fromObject, ["disabled"]);
if (fromDisabled != null) {
setValueByPath(toObject, ["disabled"], fromDisabled);
}
const fromStartOfSpeechSensitivity = getValueByPath(fromObject, [
"startOfSpeechSensitivity"
]);
if (fromStartOfSpeechSensitivity != null) {
setValueByPath(toObject, ["startOfSpeechSensitivity"], fromStartOfSpeechSensitivity);
}
const fromEndOfSpeechSensitivity = getValueByPath(fromObject, [
"endOfSpeechSensitivity"
]);
if (fromEndOfSpeechSensitivity != null) {
setValueByPath(toObject, ["endOfSpeechSensitivity"], fromEndOfSpeechSensitivity);
}
const fromPrefixPaddingMs = getValueByPath(fromObject, [
"prefixPaddingMs"
]);
if (fromPrefixPaddingMs != null) {
setValueByPath(toObject, ["prefixPaddingMs"], fromPrefixPaddingMs);
}
const fromSilenceDurationMs = getValueByPath(fromObject, [
"silenceDurationMs"
]);
if (fromSilenceDurationMs != null) {
setValueByPath(toObject, ["silenceDurationMs"], fromSilenceDurationMs);
}
return toObject;
}
function realtimeInputConfigToMldev(fromObject) {
const toObject = {};
const fromAutomaticActivityDetection = getValueByPath(fromObject, [
"automaticActivityDetection"
]);
if (fromAutomaticActivityDetection != null) {
setValueByPath(toObject, ["automaticActivityDetection"], automaticActivityDetectionToMldev(fromAutomaticActivityDetection));
}
const fromActivityHandling = getValueByPath(fromObject, [
"activityHandling"
]);
if (fromActivityHandling != null) {
setValueByPath(toObject, ["activityHandling"], fromActivityHandling);
}
const fromTurnCoverage = getValueByPath(fromObject, ["turnCoverage"]);
if (fromTurnCoverage != null) {
setValueByPath(toObject, ["turnCoverage"], fromTurnCoverage);
}
return toObject;
}
function slidingWindowToMldev(fromObject) {
const toObject = {};
const fromTargetTokens = getValueByPath(fromObject, ["targetTokens"]);
if (fromTargetTokens != null) {
setValueByPath(toObject, ["targetTokens"], fromTargetTokens);
}
return toObject;
}
function contextWindowCompressionConfigToMldev(fromObject) {
const toObject = {};
const fromTriggerTokens = getValueByPath(fromObject, [
"triggerTokens"
]);
if (fromTriggerTokens != null) {
setValueByPath(toObject, ["triggerTokens"], fromTriggerTokens);
}
const fromSlidingWindow = getValueByPath(fromObject, [
"slidingWindow"
]);
if (fromSlidingWindow != null) {
setValueByPath(toObject, ["slidingWindow"], slidingWindowToMldev(fromSlidingWindow));
}
return toObject;
}
function proactivityConfigToMldev(fromObject) {
const toObject = {};
const fromProactiveAudio = getValueByPath(fromObject, [
"proactiveAudio"
]);
if (fromProactiveAudio != null) {
setValueByPath(toObject, ["proactiveAudio"], fromProactiveAudio);
}
return toObject;
}
function liveConnectConfigToMldev(fromObject, parentObject) {
const toObject = {};
const fromGenerationConfig = getValueByPath(fromObject, [
"generationConfig"
]);
if (parentObject !== void 0 && fromGenerationConfig != null) {
setValueByPath(parentObject, ["setup", "generationConfig"], fromGenerationConfig);
}
const fromResponseModalities = getValueByPath(fromObject, [
"responseModalities"
]);
if (parentObject !== void 0 && fromResponseModalities != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "responseModalities"], fromResponseModalities);
}
const fromTemperature = getValueByPath(fromObject, ["temperature"]);
if (parentObject !== void 0 && fromTemperature != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "temperature"], fromTemperature);
}
const fromTopP = getValueByPath(fromObject, ["topP"]);
if (parentObject !== void 0 && fromTopP != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "topP"], fromTopP);
}
const fromTopK = getValueByPath(fromObject, ["topK"]);
if (parentObject !== void 0 && fromTopK != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "topK"], fromTopK);
}
const fromMaxOutputTokens = getValueByPath(fromObject, [
"maxOutputTokens"
]);
if (parentObject !== void 0 && fromMaxOutputTokens != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "maxOutputTokens"], fromMaxOutputTokens);
}
const fromMediaResolution = getValueByPath(fromObject, [
"mediaResolution"
]);
if (parentObject !== void 0 && fromMediaResolution != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "mediaResolution"], fromMediaResolution);
}
const fromSeed = getValueByPath(fromObject, ["seed"]);
if (parentObject !== void 0 && fromSeed != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "seed"], fromSeed);
}
const fromSpeechConfig = getValueByPath(fromObject, ["speechConfig"]);
if (parentObject !== void 0 && fromSpeechConfig != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "speechConfig"], speechConfigToMldev(tLiveSpeechConfig(fromSpeechConfig)));
}
const fromEnableAffectiveDialog = getValueByPath(fromObject, [
"enableAffectiveDialog"
]);
if (parentObject !== void 0 && fromEnableAffectiveDialog != null) {
setValueByPath(parentObject, ["setup", "generationConfig", "enableAffectiveDialog"], fromEnableAffectiveDialog);
}
const fromSystemInstruction = getValueByPath(fromObject, [
"systemInstruction"
]);
if (parentObject !== void 0 && fromSystemInstruction != null) {
setValueByPath(parentObject, ["setup", "systemInstruction"], contentToMldev(tContent(fromSystemInstruction)));
}
const fromTools = getValueByPath(fromObject, ["tools"]);
if (parentObject !== void 0 && fromTools != null) {
let transformedList = tTools(fromTools);
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return toolToMldev(tTool(item));
});
}
setValueByPath(parentObject, ["setup", "tools"], transformedList);
}
const fromSessionResumption = getValueByPath(fromObject, [
"sessionResumption"
]);
if (parentObject !== void 0 && fromSessionResumption != null) {
setValueByPath(parentObject, ["setup", "sessionResumption"], sessionResumptionConfigToMldev(fromSessionResumption));
}
const fromInputAudioTranscription = getValueByPath(fromObject, [
"inputAudioTranscription"
]);
if (parentObject !== void 0 && fromInputAudioTranscription != null) {
setValueByPath(parentObject, ["setup", "inputAudioTranscription"], audioTranscriptionConfigToMldev());
}
const fromOutputAudioTranscription = getValueByPath(fromObject, [
"outputAudioTranscription"
]);
if (parentObject !== void 0 && fromOutputAudioTranscription != null) {
setValueByPath(parentObject, ["setup", "outputAudioTranscription"], audioTranscriptionConfigToMldev());
}
const fromRealtimeInputConfig = getValueByPath(fromObject, [
"realtimeInputConfig"
]);
if (parentObject !== void 0 && fromRealtimeInputConfig != null) {
setValueByPath(parentObject, ["setup", "realtimeInputConfig"], realtimeInputConfigToMldev(fromRealtimeInputConfig));
}
const fromContextWindowCompression = getValueByPath(fromObject, [
"contextWindowCompression"
]);
if (parentObject !== void 0 && fromContextWindowCompression != null) {
setValueByPath(parentObject, ["setup", "contextWindowCompression"], contextWindowCompressionConfigToMldev(fromContextWindowCompression));
}
const fromProactivity = getValueByPath(fromObject, ["proactivity"]);
if (parentObject !== void 0 && fromProactivity != null) {
setValueByPath(parentObject, ["setup", "proactivity"], proactivityConfigToMldev(fromProactivity));
}
return toObject;
}
function liveConnectConstraintsToMldev(apiClient, fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["setup", "model"], tModel(apiClient, fromModel));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], liveConnectConfigToMldev(fromConfig, toObject));
}
return toObject;
}
function createAuthTokenConfigToMldev(apiClient, fromObject, parentObject) {
const toObject = {};
const fromExpireTime = getValueByPath(fromObject, ["expireTime"]);
if (parentObject !== void 0 && fromExpireTime != null) {
setValueByPath(parentObject, ["expireTime"], fromExpireTime);
}
const fromNewSessionExpireTime = getValueByPath(fromObject, [
"newSessionExpireTime"
]);
if (parentObject !== void 0 && fromNewSessionExpireTime != null) {
setValueByPath(parentObject, ["newSessionExpireTime"], fromNewSessionExpireTime);
}
const fromUses = getValueByPath(fromObject, ["uses"]);
if (parentObject !== void 0 && fromUses != null) {
setValueByPath(parentObject, ["uses"], fromUses);
}
const fromLiveConnectConstraints = getValueByPath(fromObject, [
"liveConnectConstraints"
]);
if (parentObject !== void 0 && fromLiveConnectConstraints != null) {
setValueByPath(parentObject, ["bidiGenerateContentSetup"], liveConnectConstraintsToMldev(apiClient, fromLiveConnectConstraints));
}
const fromLockAdditionalFields = getValueByPath(fromObject, [
"lockAdditionalFields"
]);
if (parentObject !== void 0 && fromLockAdditionalFields != null) {
setValueByPath(parentObject, ["fieldMask"], fromLockAdditionalFields);
}
return toObject;
}
function createAuthTokenParametersToMldev(apiClient, fromObject) {
const toObject = {};
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], createAuthTokenConfigToMldev(apiClient, fromConfig, toObject));
}
return toObject;
}
function authTokenFromMldev(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
return toObject;
}
function getFieldMasks(setup) {
const fields = [];
for (const key in setup) {
if (Object.prototype.hasOwnProperty.call(setup, key)) {
const value = setup[key];
if (typeof value === "object" && value != null && Object.keys(value).length > 0) {
const field = Object.keys(value).map((kk) => `${key}.${kk}`);
fields.push(...field);
} else {
fields.push(key);
}
}
}
return fields.join(",");
}
function convertBidiSetupToTokenSetup(requestDict, config) {
let setupForMaskGeneration = null;
const bidiGenerateContentSetupValue = requestDict["bidiGenerateContentSetup"];
if (typeof bidiGenerateContentSetupValue === "object" && bidiGenerateContentSetupValue !== null && "setup" in bidiGenerateContentSetupValue) {
const innerSetup = bidiGenerateContentSetupValue.setup;
if (typeof innerSetup === "object" && innerSetup !== null) {
requestDict["bidiGenerateContentSetup"] = innerSetup;
setupForMaskGeneration = innerSetup;
} else {
delete requestDict["bidiGenerateContentSetup"];
}
} else if (bidiGenerateContentSetupValue !== void 0) {
delete requestDict["bidiGenerateContentSetup"];
}
const preExistingFieldMask = requestDict["fieldMask"];
if (setupForMaskGeneration) {
const generatedMaskFromBidi = getFieldMasks(setupForMaskGeneration);
if (Array.isArray(config === null || config === void 0 ? void 0 : config.lockAdditionalFields) && (config === null || config === void 0 ? void 0 : config.lockAdditionalFields.length) === 0) {
if (generatedMaskFromBidi) {
requestDict["fieldMask"] = generatedMaskFromBidi;
} else {
delete requestDict["fieldMask"];
}
} else if ((config === null || config === void 0 ? void 0 : config.lockAdditionalFields) && config.lockAdditionalFields.length > 0 && preExistingFieldMask !== null && Array.isArray(preExistingFieldMask) && preExistingFieldMask.length > 0) {
const generationConfigFields = [
"temperature",
"topK",
"topP",
"maxOutputTokens",
"responseModalities",
"seed",
"speechConfig"
];
let mappedFieldsFromPreExisting = [];
if (preExistingFieldMask.length > 0) {
mappedFieldsFromPreExisting = preExistingFieldMask.map((field) => {
if (generationConfigFields.includes(field)) {
return `generationConfig.${field}`;
}
return field;
});
}
const finalMaskParts = [];
if (generatedMaskFromBidi) {
finalMaskParts.push(generatedMaskFromBidi);
}
if (mappedFieldsFromPreExisting.length > 0) {
finalMaskParts.push(...mappedFieldsFromPreExisting);
}
if (finalMaskParts.length > 0) {
requestDict["fieldMask"] = finalMaskParts.join(",");
} else {
delete requestDict["fieldMask"];
}
} else {
delete requestDict["fieldMask"];
}
} else {
if (preExistingFieldMask !== null && Array.isArray(preExistingFieldMask) && preExistingFieldMask.length > 0) {
requestDict["fieldMask"] = preExistingFieldMask.join(",");
} else {
delete requestDict["fieldMask"];
}
}
return requestDict;
}
var Tokens = class extends BaseModule {
constructor(apiClient) {
super();
this.apiClient = apiClient;
}
/**
* Creates an ephemeral auth token resource.
*
* @experimental
*
* @remarks
* Ephemeral auth tokens is only supported in the Gemini Developer API.
* It can be used for the session connection to the Live constrained API.
* Support in v1alpha only.
*
* @param params - The parameters for the create request.
* @return The created auth token.
*
* @example
* ```ts
* const ai = new GoogleGenAI({
* apiKey: token.name,
* httpOptions: { apiVersion: 'v1alpha' } // Support in v1alpha only.
* });
*
* // Case 1: If LiveEphemeralParameters is unset, unlock LiveConnectConfig
* // when using the token in Live API sessions. Each session connection can
* // use a different configuration.
* const config: CreateAuthTokenConfig = {
* uses: 3,
* expireTime: '2025-05-01T00:00:00Z',
* }
* const token = await ai.tokens.create(config);
*
* // Case 2: If LiveEphemeralParameters is set, lock all fields in
* // LiveConnectConfig when using the token in Live API sessions. For
* // example, changing `outputAudioTranscription` in the Live API
* // connection will be ignored by the API.
* const config: CreateAuthTokenConfig =
* uses: 3,
* expireTime: '2025-05-01T00:00:00Z',
* LiveEphemeralParameters: {
* model: 'gemini-2.0-flash-001',
* config: {
* 'responseModalities': ['AUDIO'],
* 'systemInstruction': 'Always answer in English.',
* }
* }
* }
* const token = await ai.tokens.create(config);
*
* // Case 3: If LiveEphemeralParameters is set and lockAdditionalFields is
* // set, lock LiveConnectConfig with set and additional fields (e.g.
* // responseModalities, systemInstruction, temperature in this example) when
* // using the token in Live API sessions.
* const config: CreateAuthTokenConfig =
* uses: 3,
* expireTime: '2025-05-01T00:00:00Z',
* LiveEphemeralParameters: {
* model: 'gemini-2.0-flash-001',
* config: {
* 'responseModalities': ['AUDIO'],
* 'systemInstruction': 'Always answer in English.',
* }
* },
* lockAdditionalFields: ['temperature'],
* }
* const token = await ai.tokens.create(config);
*
* // Case 4: If LiveEphemeralParameters is set and lockAdditionalFields is
* // empty array, lock LiveConnectConfig with set fields (e.g.
* // responseModalities, systemInstruction in this example) when using the
* // token in Live API sessions.
* const config: CreateAuthTokenConfig =
* uses: 3,
* expireTime: '2025-05-01T00:00:00Z',
* LiveEphemeralParameters: {
* model: 'gemini-2.0-flash-001',
* config: {
* 'responseModalities': ['AUDIO'],
* 'systemInstruction': 'Always answer in English.',
* }
* },
* lockAdditionalFields: [],
* }
* const token = await ai.tokens.create(config);
* ```
*/
async create(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
throw new Error("The client.tokens.create method is only supported by the Gemini Developer API.");
} else {
const body = createAuthTokenParametersToMldev(this.apiClient, params);
path = formatMap("auth_tokens", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
const transformedBody = convertBidiSetupToTokenSetup(body, params.config);
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(transformedBody),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json();
});
return response.then((apiResponse) => {
const resp = authTokenFromMldev(apiResponse);
return resp;
});
}
}
};
function getTuningJobParametersToMldev(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], fromName);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function listTuningJobsConfigToMldev(fromObject, parentObject) {
const toObject = {};
const fromPageSize = getValueByPath(fromObject, ["pageSize"]);
if (parentObject !== void 0 && fromPageSize != null) {
setValueByPath(parentObject, ["_query", "pageSize"], fromPageSize);
}
const fromPageToken = getValueByPath(fromObject, ["pageToken"]);
if (parentObject !== void 0 && fromPageToken != null) {
setValueByPath(parentObject, ["_query", "pageToken"], fromPageToken);
}
const fromFilter = getValueByPath(fromObject, ["filter"]);
if (parentObject !== void 0 && fromFilter != null) {
setValueByPath(parentObject, ["_query", "filter"], fromFilter);
}
return toObject;
}
function listTuningJobsParametersToMldev(fromObject) {
const toObject = {};
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], listTuningJobsConfigToMldev(fromConfig, toObject));
}
return toObject;
}
function cancelTuningJobParametersToMldev(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], fromName);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function tuningExampleToMldev(fromObject) {
const toObject = {};
const fromTextInput = getValueByPath(fromObject, ["textInput"]);
if (fromTextInput != null) {
setValueByPath(toObject, ["textInput"], fromTextInput);
}
const fromOutput = getValueByPath(fromObject, ["output"]);
if (fromOutput != null) {
setValueByPath(toObject, ["output"], fromOutput);
}
return toObject;
}
function tuningDatasetToMldev(fromObject) {
const toObject = {};
if (getValueByPath(fromObject, ["gcsUri"]) !== void 0) {
throw new Error("gcsUri parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["vertexDatasetResource"]) !== void 0) {
throw new Error("vertexDatasetResource parameter is not supported in Gemini API.");
}
const fromExamples = getValueByPath(fromObject, ["examples"]);
if (fromExamples != null) {
let transformedList = fromExamples;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return tuningExampleToMldev(item);
});
}
setValueByPath(toObject, ["examples", "examples"], transformedList);
}
return toObject;
}
function createTuningJobConfigToMldev(fromObject, parentObject) {
const toObject = {};
if (getValueByPath(fromObject, ["validationDataset"]) !== void 0) {
throw new Error("validationDataset parameter is not supported in Gemini API.");
}
const fromTunedModelDisplayName = getValueByPath(fromObject, [
"tunedModelDisplayName"
]);
if (parentObject !== void 0 && fromTunedModelDisplayName != null) {
setValueByPath(parentObject, ["displayName"], fromTunedModelDisplayName);
}
if (getValueByPath(fromObject, ["description"]) !== void 0) {
throw new Error("description parameter is not supported in Gemini API.");
}
const fromEpochCount = getValueByPath(fromObject, ["epochCount"]);
if (parentObject !== void 0 && fromEpochCount != null) {
setValueByPath(parentObject, ["tuningTask", "hyperparameters", "epochCount"], fromEpochCount);
}
const fromLearningRateMultiplier = getValueByPath(fromObject, [
"learningRateMultiplier"
]);
if (fromLearningRateMultiplier != null) {
setValueByPath(toObject, ["tuningTask", "hyperparameters", "learningRateMultiplier"], fromLearningRateMultiplier);
}
if (getValueByPath(fromObject, ["exportLastCheckpointOnly"]) !== void 0) {
throw new Error("exportLastCheckpointOnly parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["preTunedModelCheckpointId"]) !== void 0) {
throw new Error("preTunedModelCheckpointId parameter is not supported in Gemini API.");
}
if (getValueByPath(fromObject, ["adapterSize"]) !== void 0) {
throw new Error("adapterSize parameter is not supported in Gemini API.");
}
const fromBatchSize = getValueByPath(fromObject, ["batchSize"]);
if (parentObject !== void 0 && fromBatchSize != null) {
setValueByPath(parentObject, ["tuningTask", "hyperparameters", "batchSize"], fromBatchSize);
}
const fromLearningRate = getValueByPath(fromObject, ["learningRate"]);
if (parentObject !== void 0 && fromLearningRate != null) {
setValueByPath(parentObject, ["tuningTask", "hyperparameters", "learningRate"], fromLearningRate);
}
return toObject;
}
function createTuningJobParametersPrivateToMldev(fromObject) {
const toObject = {};
const fromBaseModel = getValueByPath(fromObject, ["baseModel"]);
if (fromBaseModel != null) {
setValueByPath(toObject, ["baseModel"], fromBaseModel);
}
const fromPreTunedModel = getValueByPath(fromObject, [
"preTunedModel"
]);
if (fromPreTunedModel != null) {
setValueByPath(toObject, ["preTunedModel"], fromPreTunedModel);
}
const fromTrainingDataset = getValueByPath(fromObject, [
"trainingDataset"
]);
if (fromTrainingDataset != null) {
setValueByPath(toObject, ["tuningTask", "trainingData"], tuningDatasetToMldev(fromTrainingDataset));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], createTuningJobConfigToMldev(fromConfig, toObject));
}
return toObject;
}
function getTuningJobParametersToVertex(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], fromName);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function listTuningJobsConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromPageSize = getValueByPath(fromObject, ["pageSize"]);
if (parentObject !== void 0 && fromPageSize != null) {
setValueByPath(parentObject, ["_query", "pageSize"], fromPageSize);
}
const fromPageToken = getValueByPath(fromObject, ["pageToken"]);
if (parentObject !== void 0 && fromPageToken != null) {
setValueByPath(parentObject, ["_query", "pageToken"], fromPageToken);
}
const fromFilter = getValueByPath(fromObject, ["filter"]);
if (parentObject !== void 0 && fromFilter != null) {
setValueByPath(parentObject, ["_query", "filter"], fromFilter);
}
return toObject;
}
function listTuningJobsParametersToVertex(fromObject) {
const toObject = {};
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], listTuningJobsConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function cancelTuningJobParametersToVertex(fromObject) {
const toObject = {};
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["_url", "name"], fromName);
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], fromConfig);
}
return toObject;
}
function tuningDatasetToVertex(fromObject, parentObject) {
const toObject = {};
const fromGcsUri = getValueByPath(fromObject, ["gcsUri"]);
if (parentObject !== void 0 && fromGcsUri != null) {
setValueByPath(parentObject, ["supervisedTuningSpec", "trainingDatasetUri"], fromGcsUri);
}
const fromVertexDatasetResource = getValueByPath(fromObject, [
"vertexDatasetResource"
]);
if (parentObject !== void 0 && fromVertexDatasetResource != null) {
setValueByPath(parentObject, ["supervisedTuningSpec", "trainingDatasetUri"], fromVertexDatasetResource);
}
if (getValueByPath(fromObject, ["examples"]) !== void 0) {
throw new Error("examples parameter is not supported in Vertex AI.");
}
return toObject;
}
function tuningValidationDatasetToVertex(fromObject, parentObject) {
const toObject = {};
const fromGcsUri = getValueByPath(fromObject, ["gcsUri"]);
if (fromGcsUri != null) {
setValueByPath(toObject, ["validationDatasetUri"], fromGcsUri);
}
const fromVertexDatasetResource = getValueByPath(fromObject, [
"vertexDatasetResource"
]);
if (parentObject !== void 0 && fromVertexDatasetResource != null) {
setValueByPath(parentObject, ["supervisedTuningSpec", "trainingDatasetUri"], fromVertexDatasetResource);
}
return toObject;
}
function createTuningJobConfigToVertex(fromObject, parentObject) {
const toObject = {};
const fromValidationDataset = getValueByPath(fromObject, [
"validationDataset"
]);
if (parentObject !== void 0 && fromValidationDataset != null) {
setValueByPath(parentObject, ["supervisedTuningSpec"], tuningValidationDatasetToVertex(fromValidationDataset, toObject));
}
const fromTunedModelDisplayName = getValueByPath(fromObject, [
"tunedModelDisplayName"
]);
if (parentObject !== void 0 && fromTunedModelDisplayName != null) {
setValueByPath(parentObject, ["tunedModelDisplayName"], fromTunedModelDisplayName);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (parentObject !== void 0 && fromDescription != null) {
setValueByPath(parentObject, ["description"], fromDescription);
}
const fromEpochCount = getValueByPath(fromObject, ["epochCount"]);
if (parentObject !== void 0 && fromEpochCount != null) {
setValueByPath(parentObject, ["supervisedTuningSpec", "hyperParameters", "epochCount"], fromEpochCount);
}
const fromLearningRateMultiplier = getValueByPath(fromObject, [
"learningRateMultiplier"
]);
if (parentObject !== void 0 && fromLearningRateMultiplier != null) {
setValueByPath(parentObject, ["supervisedTuningSpec", "hyperParameters", "learningRateMultiplier"], fromLearningRateMultiplier);
}
const fromExportLastCheckpointOnly = getValueByPath(fromObject, [
"exportLastCheckpointOnly"
]);
if (parentObject !== void 0 && fromExportLastCheckpointOnly != null) {
setValueByPath(parentObject, ["supervisedTuningSpec", "exportLastCheckpointOnly"], fromExportLastCheckpointOnly);
}
const fromPreTunedModelCheckpointId = getValueByPath(fromObject, [
"preTunedModelCheckpointId"
]);
if (fromPreTunedModelCheckpointId != null) {
setValueByPath(toObject, ["preTunedModel", "checkpointId"], fromPreTunedModelCheckpointId);
}
const fromAdapterSize = getValueByPath(fromObject, ["adapterSize"]);
if (parentObject !== void 0 && fromAdapterSize != null) {
setValueByPath(parentObject, ["supervisedTuningSpec", "hyperParameters", "adapterSize"], fromAdapterSize);
}
if (getValueByPath(fromObject, ["batchSize"]) !== void 0) {
throw new Error("batchSize parameter is not supported in Vertex AI.");
}
if (getValueByPath(fromObject, ["learningRate"]) !== void 0) {
throw new Error("learningRate parameter is not supported in Vertex AI.");
}
return toObject;
}
function createTuningJobParametersPrivateToVertex(fromObject) {
const toObject = {};
const fromBaseModel = getValueByPath(fromObject, ["baseModel"]);
if (fromBaseModel != null) {
setValueByPath(toObject, ["baseModel"], fromBaseModel);
}
const fromPreTunedModel = getValueByPath(fromObject, [
"preTunedModel"
]);
if (fromPreTunedModel != null) {
setValueByPath(toObject, ["preTunedModel"], fromPreTunedModel);
}
const fromTrainingDataset = getValueByPath(fromObject, [
"trainingDataset"
]);
if (fromTrainingDataset != null) {
setValueByPath(toObject, ["supervisedTuningSpec", "trainingDatasetUri"], tuningDatasetToVertex(fromTrainingDataset, toObject));
}
const fromConfig = getValueByPath(fromObject, ["config"]);
if (fromConfig != null) {
setValueByPath(toObject, ["config"], createTuningJobConfigToVertex(fromConfig, toObject));
}
return toObject;
}
function tunedModelFromMldev(fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["name"]);
if (fromModel != null) {
setValueByPath(toObject, ["model"], fromModel);
}
const fromEndpoint = getValueByPath(fromObject, ["name"]);
if (fromEndpoint != null) {
setValueByPath(toObject, ["endpoint"], fromEndpoint);
}
return toObject;
}
function tuningJobFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromState = getValueByPath(fromObject, ["state"]);
if (fromState != null) {
setValueByPath(toObject, ["state"], tTuningJobStatus(fromState));
}
const fromCreateTime = getValueByPath(fromObject, ["createTime"]);
if (fromCreateTime != null) {
setValueByPath(toObject, ["createTime"], fromCreateTime);
}
const fromStartTime = getValueByPath(fromObject, [
"tuningTask",
"startTime"
]);
if (fromStartTime != null) {
setValueByPath(toObject, ["startTime"], fromStartTime);
}
const fromEndTime = getValueByPath(fromObject, [
"tuningTask",
"completeTime"
]);
if (fromEndTime != null) {
setValueByPath(toObject, ["endTime"], fromEndTime);
}
const fromUpdateTime = getValueByPath(fromObject, ["updateTime"]);
if (fromUpdateTime != null) {
setValueByPath(toObject, ["updateTime"], fromUpdateTime);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromBaseModel = getValueByPath(fromObject, ["baseModel"]);
if (fromBaseModel != null) {
setValueByPath(toObject, ["baseModel"], fromBaseModel);
}
const fromTunedModel = getValueByPath(fromObject, ["_self"]);
if (fromTunedModel != null) {
setValueByPath(toObject, ["tunedModel"], tunedModelFromMldev(fromTunedModel));
}
const fromCustomBaseModel = getValueByPath(fromObject, [
"customBaseModel"
]);
if (fromCustomBaseModel != null) {
setValueByPath(toObject, ["customBaseModel"], fromCustomBaseModel);
}
const fromExperiment = getValueByPath(fromObject, ["experiment"]);
if (fromExperiment != null) {
setValueByPath(toObject, ["experiment"], fromExperiment);
}
const fromLabels = getValueByPath(fromObject, ["labels"]);
if (fromLabels != null) {
setValueByPath(toObject, ["labels"], fromLabels);
}
const fromOutputUri = getValueByPath(fromObject, ["outputUri"]);
if (fromOutputUri != null) {
setValueByPath(toObject, ["outputUri"], fromOutputUri);
}
const fromPipelineJob = getValueByPath(fromObject, ["pipelineJob"]);
if (fromPipelineJob != null) {
setValueByPath(toObject, ["pipelineJob"], fromPipelineJob);
}
const fromServiceAccount = getValueByPath(fromObject, [
"serviceAccount"
]);
if (fromServiceAccount != null) {
setValueByPath(toObject, ["serviceAccount"], fromServiceAccount);
}
const fromTunedModelDisplayName = getValueByPath(fromObject, [
"tunedModelDisplayName"
]);
if (fromTunedModelDisplayName != null) {
setValueByPath(toObject, ["tunedModelDisplayName"], fromTunedModelDisplayName);
}
return toObject;
}
function listTuningJobsResponseFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromNextPageToken = getValueByPath(fromObject, [
"nextPageToken"
]);
if (fromNextPageToken != null) {
setValueByPath(toObject, ["nextPageToken"], fromNextPageToken);
}
const fromTuningJobs = getValueByPath(fromObject, ["tunedModels"]);
if (fromTuningJobs != null) {
let transformedList = fromTuningJobs;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return tuningJobFromMldev(item);
});
}
setValueByPath(toObject, ["tuningJobs"], transformedList);
}
return toObject;
}
function tuningOperationFromMldev(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromMetadata = getValueByPath(fromObject, ["metadata"]);
if (fromMetadata != null) {
setValueByPath(toObject, ["metadata"], fromMetadata);
}
const fromDone = getValueByPath(fromObject, ["done"]);
if (fromDone != null) {
setValueByPath(toObject, ["done"], fromDone);
}
const fromError = getValueByPath(fromObject, ["error"]);
if (fromError != null) {
setValueByPath(toObject, ["error"], fromError);
}
return toObject;
}
function tunedModelCheckpointFromVertex(fromObject) {
const toObject = {};
const fromCheckpointId = getValueByPath(fromObject, ["checkpointId"]);
if (fromCheckpointId != null) {
setValueByPath(toObject, ["checkpointId"], fromCheckpointId);
}
const fromEpoch = getValueByPath(fromObject, ["epoch"]);
if (fromEpoch != null) {
setValueByPath(toObject, ["epoch"], fromEpoch);
}
const fromStep = getValueByPath(fromObject, ["step"]);
if (fromStep != null) {
setValueByPath(toObject, ["step"], fromStep);
}
const fromEndpoint = getValueByPath(fromObject, ["endpoint"]);
if (fromEndpoint != null) {
setValueByPath(toObject, ["endpoint"], fromEndpoint);
}
return toObject;
}
function tunedModelFromVertex(fromObject) {
const toObject = {};
const fromModel = getValueByPath(fromObject, ["model"]);
if (fromModel != null) {
setValueByPath(toObject, ["model"], fromModel);
}
const fromEndpoint = getValueByPath(fromObject, ["endpoint"]);
if (fromEndpoint != null) {
setValueByPath(toObject, ["endpoint"], fromEndpoint);
}
const fromCheckpoints = getValueByPath(fromObject, ["checkpoints"]);
if (fromCheckpoints != null) {
let transformedList = fromCheckpoints;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return tunedModelCheckpointFromVertex(item);
});
}
setValueByPath(toObject, ["checkpoints"], transformedList);
}
return toObject;
}
function tuningJobFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromName = getValueByPath(fromObject, ["name"]);
if (fromName != null) {
setValueByPath(toObject, ["name"], fromName);
}
const fromState = getValueByPath(fromObject, ["state"]);
if (fromState != null) {
setValueByPath(toObject, ["state"], tTuningJobStatus(fromState));
}
const fromCreateTime = getValueByPath(fromObject, ["createTime"]);
if (fromCreateTime != null) {
setValueByPath(toObject, ["createTime"], fromCreateTime);
}
const fromStartTime = getValueByPath(fromObject, ["startTime"]);
if (fromStartTime != null) {
setValueByPath(toObject, ["startTime"], fromStartTime);
}
const fromEndTime = getValueByPath(fromObject, ["endTime"]);
if (fromEndTime != null) {
setValueByPath(toObject, ["endTime"], fromEndTime);
}
const fromUpdateTime = getValueByPath(fromObject, ["updateTime"]);
if (fromUpdateTime != null) {
setValueByPath(toObject, ["updateTime"], fromUpdateTime);
}
const fromError = getValueByPath(fromObject, ["error"]);
if (fromError != null) {
setValueByPath(toObject, ["error"], fromError);
}
const fromDescription = getValueByPath(fromObject, ["description"]);
if (fromDescription != null) {
setValueByPath(toObject, ["description"], fromDescription);
}
const fromBaseModel = getValueByPath(fromObject, ["baseModel"]);
if (fromBaseModel != null) {
setValueByPath(toObject, ["baseModel"], fromBaseModel);
}
const fromTunedModel = getValueByPath(fromObject, ["tunedModel"]);
if (fromTunedModel != null) {
setValueByPath(toObject, ["tunedModel"], tunedModelFromVertex(fromTunedModel));
}
const fromPreTunedModel = getValueByPath(fromObject, [
"preTunedModel"
]);
if (fromPreTunedModel != null) {
setValueByPath(toObject, ["preTunedModel"], fromPreTunedModel);
}
const fromSupervisedTuningSpec = getValueByPath(fromObject, [
"supervisedTuningSpec"
]);
if (fromSupervisedTuningSpec != null) {
setValueByPath(toObject, ["supervisedTuningSpec"], fromSupervisedTuningSpec);
}
const fromTuningDataStats = getValueByPath(fromObject, [
"tuningDataStats"
]);
if (fromTuningDataStats != null) {
setValueByPath(toObject, ["tuningDataStats"], fromTuningDataStats);
}
const fromEncryptionSpec = getValueByPath(fromObject, [
"encryptionSpec"
]);
if (fromEncryptionSpec != null) {
setValueByPath(toObject, ["encryptionSpec"], fromEncryptionSpec);
}
const fromPartnerModelTuningSpec = getValueByPath(fromObject, [
"partnerModelTuningSpec"
]);
if (fromPartnerModelTuningSpec != null) {
setValueByPath(toObject, ["partnerModelTuningSpec"], fromPartnerModelTuningSpec);
}
const fromCustomBaseModel = getValueByPath(fromObject, [
"customBaseModel"
]);
if (fromCustomBaseModel != null) {
setValueByPath(toObject, ["customBaseModel"], fromCustomBaseModel);
}
const fromExperiment = getValueByPath(fromObject, ["experiment"]);
if (fromExperiment != null) {
setValueByPath(toObject, ["experiment"], fromExperiment);
}
const fromLabels = getValueByPath(fromObject, ["labels"]);
if (fromLabels != null) {
setValueByPath(toObject, ["labels"], fromLabels);
}
const fromOutputUri = getValueByPath(fromObject, ["outputUri"]);
if (fromOutputUri != null) {
setValueByPath(toObject, ["outputUri"], fromOutputUri);
}
const fromPipelineJob = getValueByPath(fromObject, ["pipelineJob"]);
if (fromPipelineJob != null) {
setValueByPath(toObject, ["pipelineJob"], fromPipelineJob);
}
const fromServiceAccount = getValueByPath(fromObject, [
"serviceAccount"
]);
if (fromServiceAccount != null) {
setValueByPath(toObject, ["serviceAccount"], fromServiceAccount);
}
const fromTunedModelDisplayName = getValueByPath(fromObject, [
"tunedModelDisplayName"
]);
if (fromTunedModelDisplayName != null) {
setValueByPath(toObject, ["tunedModelDisplayName"], fromTunedModelDisplayName);
}
return toObject;
}
function listTuningJobsResponseFromVertex(fromObject) {
const toObject = {};
const fromSdkHttpResponse = getValueByPath(fromObject, [
"sdkHttpResponse"
]);
if (fromSdkHttpResponse != null) {
setValueByPath(toObject, ["sdkHttpResponse"], fromSdkHttpResponse);
}
const fromNextPageToken = getValueByPath(fromObject, [
"nextPageToken"
]);
if (fromNextPageToken != null) {
setValueByPath(toObject, ["nextPageToken"], fromNextPageToken);
}
const fromTuningJobs = getValueByPath(fromObject, ["tuningJobs"]);
if (fromTuningJobs != null) {
let transformedList = fromTuningJobs;
if (Array.isArray(transformedList)) {
transformedList = transformedList.map((item) => {
return tuningJobFromVertex(item);
});
}
setValueByPath(toObject, ["tuningJobs"], transformedList);
}
return toObject;
}
var Tunings = class extends BaseModule {
constructor(apiClient) {
super();
this.apiClient = apiClient;
this.get = async (params) => {
return await this.getInternal(params);
};
this.list = async (params = {}) => {
return new Pager(PagedItem.PAGED_ITEM_TUNING_JOBS, (x) => this.listInternal(x), await this.listInternal(params), params);
};
this.tune = async (params) => {
if (this.apiClient.isVertexAI()) {
if (params.baseModel.startsWith("projects/")) {
const preTunedModel = {
tunedModelName: params.baseModel
};
const paramsPrivate = Object.assign(Object.assign({}, params), { preTunedModel });
paramsPrivate.baseModel = void 0;
return await this.tuneInternal(paramsPrivate);
} else {
const paramsPrivate = Object.assign({}, params);
return await this.tuneInternal(paramsPrivate);
}
} else {
const paramsPrivate = Object.assign({}, params);
const operation = await this.tuneMldevInternal(paramsPrivate);
let tunedModelName = "";
if (operation["metadata"] !== void 0 && operation["metadata"]["tunedModel"] !== void 0) {
tunedModelName = operation["metadata"]["tunedModel"];
} else if (operation["name"] !== void 0 && operation["name"].includes("/operations/")) {
tunedModelName = operation["name"].split("/operations/")[0];
}
const tuningJob = {
name: tunedModelName,
state: JobState.JOB_STATE_QUEUED
};
return tuningJob;
}
};
}
async getInternal(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = getTuningJobParametersToVertex(params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = tuningJobFromVertex(apiResponse);
return resp;
});
} else {
const body = getTuningJobParametersToMldev(params);
path = formatMap("{name}", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = tuningJobFromMldev(apiResponse);
return resp;
});
}
}
async listInternal(params) {
var _a, _b, _c, _d;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = listTuningJobsParametersToVertex(params);
path = formatMap("tuningJobs", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = listTuningJobsResponseFromVertex(apiResponse);
const typedResp = new ListTuningJobsResponse();
Object.assign(typedResp, resp);
return typedResp;
});
} else {
const body = listTuningJobsParametersToMldev(params);
path = formatMap("tunedModels", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "GET",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = listTuningJobsResponseFromMldev(apiResponse);
const typedResp = new ListTuningJobsResponse();
Object.assign(typedResp, resp);
return typedResp;
});
}
}
/**
* Cancels a tuning job.
*
* @param params - The parameters for the cancel request.
* @return The empty response returned by the API.
*
* @example
* ```ts
* await ai.tunings.cancel({name: '...'}); // The server-generated resource name.
* ```
*/
async cancel(params) {
var _a, _b, _c, _d;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = cancelTuningJobParametersToVertex(params);
path = formatMap("{name}:cancel", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
await this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
});
} else {
const body = cancelTuningJobParametersToMldev(params);
path = formatMap("{name}:cancel", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
await this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_c = params.config) === null || _c === void 0 ? void 0 : _c.httpOptions,
abortSignal: (_d = params.config) === null || _d === void 0 ? void 0 : _d.abortSignal
});
}
}
async tuneInternal(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
const body = createTuningJobParametersPrivateToVertex(params);
path = formatMap("tuningJobs", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = tuningJobFromVertex(apiResponse);
return resp;
});
} else {
throw new Error("This method is only supported by the Vertex AI.");
}
}
async tuneMldevInternal(params) {
var _a, _b;
let response;
let path = "";
let queryParams = {};
if (this.apiClient.isVertexAI()) {
throw new Error("This method is only supported by the Gemini Developer API.");
} else {
const body = createTuningJobParametersPrivateToMldev(params);
path = formatMap("tunedModels", body["_url"]);
queryParams = body["_query"];
delete body["config"];
delete body["_url"];
delete body["_query"];
response = this.apiClient.request({
path,
queryParams,
body: JSON.stringify(body),
httpMethod: "POST",
httpOptions: (_a = params.config) === null || _a === void 0 ? void 0 : _a.httpOptions,
abortSignal: (_b = params.config) === null || _b === void 0 ? void 0 : _b.abortSignal
}).then((httpResponse) => {
return httpResponse.json().then((jsonResponse) => {
const response2 = jsonResponse;
response2.sdkHttpResponse = {
headers: httpResponse.headers
};
return response2;
});
});
return response.then((apiResponse) => {
const resp = tuningOperationFromMldev(apiResponse);
return resp;
});
}
}
};
var BrowserDownloader = class {
async download(_params, _apiClient) {
throw new Error("Download to file is not supported in the browser, please use a browser compliant download like an <a> tag.");
}
};
var MAX_CHUNK_SIZE = 1024 * 1024 * 8;
var MAX_RETRY_COUNT = 3;
var INITIAL_RETRY_DELAY_MS = 1e3;
var DELAY_MULTIPLIER = 2;
var X_GOOG_UPLOAD_STATUS_HEADER_FIELD = "x-goog-upload-status";
async function uploadBlob(file, uploadUrl, apiClient) {
var _a, _b, _c;
let fileSize = 0;
let offset = 0;
let response = new HttpResponse(new Response());
let uploadCommand = "upload";
fileSize = file.size;
while (offset < fileSize) {
const chunkSize = Math.min(MAX_CHUNK_SIZE, fileSize - offset);
const chunk = file.slice(offset, offset + chunkSize);
if (offset + chunkSize >= fileSize) {
uploadCommand += ", finalize";
}
let retryCount = 0;
let currentDelayMs = INITIAL_RETRY_DELAY_MS;
while (retryCount < MAX_RETRY_COUNT) {
response = await apiClient.request({
path: "",
body: chunk,
httpMethod: "POST",
httpOptions: {
apiVersion: "",
baseUrl: uploadUrl,
headers: {
"X-Goog-Upload-Command": uploadCommand,
"X-Goog-Upload-Offset": String(offset),
"Content-Length": String(chunkSize)
}
}
});
if ((_a = response === null || response === void 0 ? void 0 : response.headers) === null || _a === void 0 ? void 0 : _a[X_GOOG_UPLOAD_STATUS_HEADER_FIELD]) {
break;
}
retryCount++;
await sleep(currentDelayMs);
currentDelayMs = currentDelayMs * DELAY_MULTIPLIER;
}
offset += chunkSize;
if (((_b = response === null || response === void 0 ? void 0 : response.headers) === null || _b === void 0 ? void 0 : _b[X_GOOG_UPLOAD_STATUS_HEADER_FIELD]) !== "active") {
break;
}
if (fileSize <= offset) {
throw new Error("All content has been uploaded, but the upload status is not finalized.");
}
}
const responseJson = await (response === null || response === void 0 ? void 0 : response.json());
if (((_c = response === null || response === void 0 ? void 0 : response.headers) === null || _c === void 0 ? void 0 : _c[X_GOOG_UPLOAD_STATUS_HEADER_FIELD]) !== "final") {
throw new Error("Failed to upload file: Upload status is not finalized.");
}
return responseJson["file"];
}
async function getBlobStat(file) {
const fileStat = { size: file.size, type: file.type };
return fileStat;
}
function sleep(ms) {
return new Promise((resolvePromise) => setTimeout(resolvePromise, ms));
}
var BrowserUploader = class {
async upload(file, uploadUrl, apiClient) {
if (typeof file === "string") {
throw new Error("File path is not supported in browser uploader.");
}
return await uploadBlob(file, uploadUrl, apiClient);
}
async stat(file) {
if (typeof file === "string") {
throw new Error("File path is not supported in browser uploader.");
} else {
return await getBlobStat(file);
}
}
};
var BrowserWebSocketFactory = class {
create(url, headers, callbacks) {
return new BrowserWebSocket(url, headers, callbacks);
}
};
var BrowserWebSocket = class {
constructor(url, headers, callbacks) {
this.url = url;
this.headers = headers;
this.callbacks = callbacks;
}
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(message) {
if (this.ws === void 0) {
throw new Error("WebSocket is not connected");
}
this.ws.send(message);
}
close() {
if (this.ws === void 0) {
throw new Error("WebSocket is not connected");
}
this.ws.close();
}
};
var GOOGLE_API_KEY_HEADER = "x-goog-api-key";
var WebAuth = class {
constructor(apiKey) {
this.apiKey = apiKey;
}
async addAuthHeaders(headers) {
if (headers.get(GOOGLE_API_KEY_HEADER) !== null) {
return;
}
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.");
}
headers.append(GOOGLE_API_KEY_HEADER, this.apiKey);
}
};
var LANGUAGE_LABEL_PREFIX = "gl-node/";
var GoogleGenAI = class {
constructor(options) {
var _a;
if (options.apiKey == null) {
throw new Error("An API Key must be set when running in a browser");
}
if (options.project || options.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 = (_a = options.vertexai) !== null && _a !== void 0 ? _a : false;
this.apiKey = options.apiKey;
const baseUrl = getBaseUrl(
options.httpOptions,
options.vertexai,
/*vertexBaseUrlFromEnv*/
void 0,
/*geminiBaseUrlFromEnv*/
void 0
);
if (baseUrl) {
if (options.httpOptions) {
options.httpOptions.baseUrl = baseUrl;
} else {
options.httpOptions = { baseUrl };
}
}
this.apiVersion = options.apiVersion;
const auth = new WebAuth(this.apiKey);
this.apiClient = new ApiClient({
auth,
apiVersion: this.apiVersion,
apiKey: this.apiKey,
vertexai: this.vertexai,
httpOptions: options.httpOptions,
userAgentExtra: LANGUAGE_LABEL_PREFIX + "web",
uploader: new BrowserUploader(),
downloader: new BrowserDownloader()
});
this.models = new Models(this.apiClient);
this.live = new Live(this.apiClient, auth, new BrowserWebSocketFactory());
this.batches = new Batches(this.apiClient);
this.chats = new Chats(this.models, this.apiClient);
this.caches = new Caches(this.apiClient);
this.files = new Files(this.apiClient);
this.operations = new Operations(this.apiClient);
this.authTokens = new Tokens(this.apiClient);
this.tunings = new Tunings(this.apiClient);
}
};
export {
ActivityHandling,
AdapterSize,
ApiError,
ApiSpec,
AuthType,
Batches,
Behavior,
BlockedReason,
Caches,
Chat,
Chats,
ComputeTokensResponse,
ControlReferenceImage,
ControlReferenceType,
CountTokensResponse,
CreateFileResponse,
DeleteCachedContentResponse,
DeleteFileResponse,
DeleteModelResponse,
DynamicRetrievalConfigMode,
EditImageResponse,
EditMode,
EmbedContentResponse,
EndSensitivity,
Environment,
FeatureSelectionPreference,
FileSource,
FileState,
Files,
FinishReason,
FunctionCallingConfigMode,
FunctionResponse,
FunctionResponseScheduling,
GenerateContentResponse,
GenerateContentResponsePromptFeedback,
GenerateContentResponseUsageMetadata,
GenerateImagesResponse,
GenerateVideosOperation,
GenerateVideosResponse,
GoogleGenAI,
HarmBlockMethod,
HarmBlockThreshold,
HarmCategory,
HarmProbability,
HarmSeverity,
HttpResponse,
ImagePromptLanguage,
InlinedResponse,
JobState,
Language,
ListBatchJobsResponse,
ListCachedContentsResponse,
ListFilesResponse,
ListModelsResponse,
ListTuningJobsResponse,
Live,
LiveClientToolResponse,
LiveMusicPlaybackControl,
LiveMusicServerMessage,
LiveSendToolResponseParameters,
LiveServerMessage,
MaskReferenceImage,
MaskReferenceMode,
MediaModality,
MediaResolution,
Modality,
Mode,
Models,
MusicGenerationMode,
Operations,
Outcome,
PagedItem,
Pager,
PersonGeneration,
RawReferenceImage,
RecontextImageResponse,
ReplayResponse,
SafetyFilterLevel,
Scale,
SegmentImageResponse,
SegmentMode,
Session,
StartSensitivity,
StyleReferenceImage,
SubjectReferenceImage,
SubjectReferenceType,
Tokens,
TrafficType,
TuningMode,
TurnCoverage,
Type,
UpscaleImageResponse,
UrlRetrievalStatus,
VideoCompressionQuality,
VideoGenerationReferenceType,
createModelContent,
createPartFromBase64,
createPartFromCodeExecutionResult,
createPartFromExecutableCode,
createPartFromFunctionCall,
createPartFromFunctionResponse,
createPartFromText,
createPartFromUri,
createUserContent,
mcpToTool,
setDefaultBaseUrls
};
/*! Bundled license information:
@google/genai/dist/web/index.mjs:
@google/genai/dist/web/index.mjs:
(**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*)
*/
//# sourceMappingURL=@google_genai.js.map