diff --git a/api-report/genai-node.api.md b/api-report/genai-node.api.md index d62bb9304..82502880d 100644 --- a/api-report/genai-node.api.md +++ b/api-report/genai-node.api.md @@ -948,6 +948,15 @@ export interface EmbedContentParameters { model: string; } +// @public +export interface EmbedContentParametersPrivate { + config?: EmbedContentConfig; + content?: ContentUnion; + contents?: ContentListUnion; + embeddingApiType?: EmbeddingApiType; + model: string; +} + // @public export class EmbedContentResponse { embeddings?: ContentEmbedding[]; @@ -955,6 +964,12 @@ export class EmbedContentResponse { sdkHttpResponse?: HttpResponse; } +// @public +export enum EmbeddingApiType { + EMBED_CONTENT = "EMBED_CONTENT", + PREDICT = "PREDICT" +} + // @public (undocumented) export interface EmbeddingsBatchJobSource { fileName?: string; @@ -2520,7 +2535,7 @@ export class Models extends BaseModule { countTokens(params: types.CountTokensParameters): Promise; delete(params: types.DeleteModelParameters): Promise; editImage: (params: types.EditImageParameters) => Promise; - embedContent(params: types.EmbedContentParameters): Promise; + embedContent: (params: types.EmbedContentParameters) => Promise; generateContent: (params: types.GenerateContentParameters) => Promise; generateContentStream: (params: types.GenerateContentParameters) => Promise>; generateImages: (params: types.GenerateImagesParameters) => Promise; diff --git a/api-report/genai-web.api.md b/api-report/genai-web.api.md index d62bb9304..82502880d 100644 --- a/api-report/genai-web.api.md +++ b/api-report/genai-web.api.md @@ -948,6 +948,15 @@ export interface EmbedContentParameters { model: string; } +// @public +export interface EmbedContentParametersPrivate { + config?: EmbedContentConfig; + content?: ContentUnion; + contents?: ContentListUnion; + embeddingApiType?: EmbeddingApiType; + model: string; +} + // @public export class EmbedContentResponse { embeddings?: ContentEmbedding[]; @@ -955,6 +964,12 @@ export class EmbedContentResponse { sdkHttpResponse?: HttpResponse; } +// @public +export enum EmbeddingApiType { + EMBED_CONTENT = "EMBED_CONTENT", + PREDICT = "PREDICT" +} + // @public (undocumented) export interface EmbeddingsBatchJobSource { fileName?: string; @@ -2520,7 +2535,7 @@ export class Models extends BaseModule { countTokens(params: types.CountTokensParameters): Promise; delete(params: types.DeleteModelParameters): Promise; editImage: (params: types.EditImageParameters) => Promise; - embedContent(params: types.EmbedContentParameters): Promise; + embedContent: (params: types.EmbedContentParameters) => Promise; generateContent: (params: types.GenerateContentParameters) => Promise; generateContentStream: (params: types.GenerateContentParameters) => Promise>; generateImages: (params: types.GenerateImagesParameters) => Promise; diff --git a/api-report/genai.api.md b/api-report/genai.api.md index d62bb9304..82502880d 100644 --- a/api-report/genai.api.md +++ b/api-report/genai.api.md @@ -948,6 +948,15 @@ export interface EmbedContentParameters { model: string; } +// @public +export interface EmbedContentParametersPrivate { + config?: EmbedContentConfig; + content?: ContentUnion; + contents?: ContentListUnion; + embeddingApiType?: EmbeddingApiType; + model: string; +} + // @public export class EmbedContentResponse { embeddings?: ContentEmbedding[]; @@ -955,6 +964,12 @@ export class EmbedContentResponse { sdkHttpResponse?: HttpResponse; } +// @public +export enum EmbeddingApiType { + EMBED_CONTENT = "EMBED_CONTENT", + PREDICT = "PREDICT" +} + // @public (undocumented) export interface EmbeddingsBatchJobSource { fileName?: string; @@ -2520,7 +2535,7 @@ export class Models extends BaseModule { countTokens(params: types.CountTokensParameters): Promise; delete(params: types.DeleteModelParameters): Promise; editImage: (params: types.EditImageParameters) => Promise; - embedContent(params: types.EmbedContentParameters): Promise; + embedContent: (params: types.EmbedContentParameters) => Promise; generateContent: (params: types.GenerateContentParameters) => Promise; generateContentStream: (params: types.GenerateContentParameters) => Promise>; generateImages: (params: types.GenerateImagesParameters) => Promise; diff --git a/sdk-samples/embed_content.ts b/sdk-samples/embed_content.ts index 61a7a2cd3..d79a894f9 100644 --- a/sdk-samples/embed_content.ts +++ b/sdk-samples/embed_content.ts @@ -28,12 +28,31 @@ async function embedContentFromVertexAI() { location: GOOGLE_CLOUD_LOCATION, }); - const response = await ai.models.embedContent({ + const textResponse = await ai.models.embedContent({ model: 'text-embedding-004', contents: 'Hello world!', }); - console.debug(JSON.stringify(response)); + const multimodalResponse = await ai.models.embedContent({ + model: 'gemini-embedding-2-exp-11-2025', + contents: [ + { + parts: [ + {text: 'Similar things to the following image:'}, + { + fileData: { + mimeType: 'image/png', + fileUri: + 'gs://cloud-samples-data/generative-ai/image/a-man-and-a-dog.png', + }, + }, + ], + }, + ], + }); + + console.debug(JSON.stringify(textResponse)); + console.debug(JSON.stringify(multimodalResponse)); } async function main() { diff --git a/src/_transformers.ts b/src/_transformers.ts index 5f1ab95de..b910f481f 100644 --- a/src/_transformers.ts +++ b/src/_transformers.ts @@ -983,3 +983,10 @@ export function tJobState(state: unknown): string { return stateString; } } + +export function tIsVertexEmbedContentModel(model: string): boolean { + return ( + (model.includes('gemini') && model !== 'gemini-embedding-001') || + model.includes('maas') + ); +} diff --git a/src/converters/_models_converters.ts b/src/converters/_models_converters.ts index 6dc016905..a3b111fba 100644 --- a/src/converters/_models_converters.ts +++ b/src/converters/_models_converters.ts @@ -12,7 +12,10 @@ import type * as _internal_types from '../_internal_types.js'; import * as t from '../_transformers.js'; import type * as types from '../types.js'; -export function blobToMldev(fromObject: types.Blob): Record { +export function blobToMldev( + fromObject: types.Blob, + _rootObject?: unknown, +): Record { const toObject: Record = {}; const fromData = common.getValueByPath(fromObject, ['data']); @@ -34,6 +37,7 @@ export function blobToMldev(fromObject: types.Blob): Record { export function candidateFromMldev( fromObject: types.Candidate, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -49,7 +53,7 @@ export function candidateFromMldev( common.setValueByPath( toObject, ['citationMetadata'], - citationMetadataFromMldev(fromCitationMetadata), + citationMetadataFromMldev(fromCitationMetadata, rootObject), ); } @@ -120,6 +124,7 @@ export function candidateFromMldev( export function citationMetadataFromMldev( fromObject: types.CitationMetadata, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -140,6 +145,7 @@ export function citationMetadataFromMldev( export function computeTokensParametersToVertex( apiClient: ApiClient, fromObject: types.ComputeTokensParameters, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -168,6 +174,7 @@ export function computeTokensParametersToVertex( export function computeTokensResponseFromVertex( fromObject: types.ComputeTokensResponse, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -194,6 +201,7 @@ export function computeTokensResponseFromVertex( export function contentEmbeddingFromVertex( fromObject: types.ContentEmbedding, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -207,7 +215,7 @@ export function contentEmbeddingFromVertex( common.setValueByPath( toObject, ['statistics'], - contentEmbeddingStatisticsFromVertex(fromStatistics), + contentEmbeddingStatisticsFromVertex(fromStatistics, rootObject), ); } @@ -216,6 +224,7 @@ export function contentEmbeddingFromVertex( export function contentEmbeddingStatisticsFromVertex( fromObject: types.ContentEmbeddingStatistics, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -234,6 +243,7 @@ export function contentEmbeddingStatisticsFromVertex( export function contentToMldev( fromObject: types.Content, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -242,7 +252,7 @@ export function contentToMldev( let transformedList = fromParts; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return partToMldev(item); + return partToMldev(item, rootObject); }); } common.setValueByPath(toObject, ['parts'], transformedList); @@ -258,6 +268,7 @@ export function contentToMldev( export function controlReferenceConfigToVertex( fromObject: types.ControlReferenceConfig, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -282,6 +293,7 @@ export function controlReferenceConfigToVertex( export function countTokensConfigToMldev( fromObject: types.CountTokensConfig, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -307,6 +319,7 @@ export function countTokensConfigToMldev( export function countTokensConfigToVertex( fromObject: types.CountTokensConfig, parentObject: Record, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -326,7 +339,7 @@ export function countTokensConfigToVertex( let transformedList = fromTools; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return toolToVertex(item); + return toolToVertex(item, rootObject); }); } common.setValueByPath(parentObject, ['tools'], transformedList); @@ -339,7 +352,7 @@ export function countTokensConfigToVertex( common.setValueByPath( parentObject, ['generationConfig'], - generationConfigToVertex(fromGenerationConfig), + generationConfigToVertex(fromGenerationConfig, rootObject), ); } @@ -349,6 +362,7 @@ export function countTokensConfigToVertex( export function countTokensParametersToMldev( apiClient: ApiClient, fromObject: types.CountTokensParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -366,7 +380,7 @@ export function countTokensParametersToMldev( let transformedList = t.tContents(fromContents); if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return contentToMldev(item); + return contentToMldev(item, rootObject); }); } common.setValueByPath(toObject, ['contents'], transformedList); @@ -374,7 +388,7 @@ export function countTokensParametersToMldev( const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - countTokensConfigToMldev(fromConfig); + countTokensConfigToMldev(fromConfig, rootObject); } return toObject; @@ -383,6 +397,7 @@ export function countTokensParametersToMldev( export function countTokensParametersToVertex( apiClient: ApiClient, fromObject: types.CountTokensParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -408,7 +423,7 @@ export function countTokensParametersToVertex( const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - countTokensConfigToVertex(fromConfig, toObject); + countTokensConfigToVertex(fromConfig, toObject, rootObject); } return toObject; @@ -416,6 +431,7 @@ export function countTokensParametersToVertex( export function countTokensResponseFromMldev( fromObject: types.CountTokensResponse, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -447,6 +463,7 @@ export function countTokensResponseFromMldev( export function countTokensResponseFromVertex( fromObject: types.CountTokensResponse, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -468,6 +485,7 @@ export function countTokensResponseFromVertex( export function deleteModelParametersToMldev( apiClient: ApiClient, fromObject: types.DeleteModelParameters, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -486,6 +504,7 @@ export function deleteModelParametersToMldev( export function deleteModelParametersToVertex( apiClient: ApiClient, fromObject: types.DeleteModelParameters, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -503,6 +522,7 @@ export function deleteModelParametersToVertex( export function deleteModelResponseFromMldev( fromObject: types.DeleteModelResponse, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -518,6 +538,7 @@ export function deleteModelResponseFromMldev( export function deleteModelResponseFromVertex( fromObject: types.DeleteModelResponse, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -534,6 +555,7 @@ export function deleteModelResponseFromVertex( export function editImageConfigToVertex( fromObject: types.EditImageConfig, parentObject: Record, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -706,6 +728,7 @@ export function editImageConfigToVertex( export function editImageParametersInternalToVertex( apiClient: ApiClient, fromObject: _internal_types.EditImageParametersInternal, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -730,7 +753,7 @@ export function editImageParametersInternalToVertex( let transformedList = fromReferenceImages; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return referenceImageAPIInternalToVertex(item); + return referenceImageAPIInternalToVertex(item, rootObject); }); } common.setValueByPath( @@ -742,7 +765,7 @@ export function editImageParametersInternalToVertex( const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - editImageConfigToVertex(fromConfig, toObject); + editImageConfigToVertex(fromConfig, toObject, rootObject); } return toObject; @@ -750,6 +773,7 @@ export function editImageParametersInternalToVertex( export function editImageResponseFromVertex( fromObject: types.EditImageResponse, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -767,7 +791,7 @@ export function editImageResponseFromVertex( let transformedList = fromGeneratedImages; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return generatedImageFromVertex(item); + return generatedImageFromVertex(item, rootObject); }); } common.setValueByPath(toObject, ['generatedImages'], transformedList); @@ -779,6 +803,7 @@ export function editImageResponseFromVertex( export function embedContentConfigToMldev( fromObject: types.EmbedContentConfig, parentObject: Record, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -821,58 +846,130 @@ export function embedContentConfigToMldev( export function embedContentConfigToVertex( fromObject: types.EmbedContentConfig, parentObject: Record, + rootObject?: unknown, ): Record { const toObject: Record = {}; - const fromTaskType = common.getValueByPath(fromObject, ['taskType']); - if (parentObject !== undefined && fromTaskType != null) { - common.setValueByPath( - parentObject, - ['instances[]', 'task_type'], - fromTaskType, - ); + let discriminatorTaskType = common.getValueByPath(rootObject, [ + 'embeddingApiType', + ]); + if (discriminatorTaskType === undefined) { + discriminatorTaskType = 'PREDICT'; + } + if (discriminatorTaskType === 'PREDICT') { + const fromTaskType = common.getValueByPath(fromObject, ['taskType']); + if (parentObject !== undefined && fromTaskType != null) { + common.setValueByPath( + parentObject, + ['instances[]', 'task_type'], + fromTaskType, + ); + } + } else if (discriminatorTaskType === 'EMBED_CONTENT') { + const fromTaskType = common.getValueByPath(fromObject, ['taskType']); + if (parentObject !== undefined && fromTaskType != null) { + common.setValueByPath(parentObject, ['taskType'], fromTaskType); + } } - const fromTitle = common.getValueByPath(fromObject, ['title']); - if (parentObject !== undefined && fromTitle != null) { - common.setValueByPath(parentObject, ['instances[]', 'title'], fromTitle); + let discriminatorTitle = common.getValueByPath(rootObject, [ + 'embeddingApiType', + ]); + if (discriminatorTitle === undefined) { + discriminatorTitle = 'PREDICT'; + } + if (discriminatorTitle === 'PREDICT') { + const fromTitle = common.getValueByPath(fromObject, ['title']); + if (parentObject !== undefined && fromTitle != null) { + common.setValueByPath(parentObject, ['instances[]', 'title'], fromTitle); + } + } else if (discriminatorTitle === 'EMBED_CONTENT') { + const fromTitle = common.getValueByPath(fromObject, ['title']); + if (parentObject !== undefined && fromTitle != null) { + common.setValueByPath(parentObject, ['title'], fromTitle); + } } - const fromOutputDimensionality = common.getValueByPath(fromObject, [ - 'outputDimensionality', + let discriminatorOutputDimensionality = common.getValueByPath(rootObject, [ + 'embeddingApiType', ]); - if (parentObject !== undefined && fromOutputDimensionality != null) { - common.setValueByPath( - parentObject, - ['parameters', 'outputDimensionality'], - fromOutputDimensionality, - ); + if (discriminatorOutputDimensionality === undefined) { + discriminatorOutputDimensionality = 'PREDICT'; + } + if (discriminatorOutputDimensionality === 'PREDICT') { + const fromOutputDimensionality = common.getValueByPath(fromObject, [ + 'outputDimensionality', + ]); + if (parentObject !== undefined && fromOutputDimensionality != null) { + common.setValueByPath( + parentObject, + ['parameters', 'outputDimensionality'], + fromOutputDimensionality, + ); + } + } else if (discriminatorOutputDimensionality === 'EMBED_CONTENT') { + const fromOutputDimensionality = common.getValueByPath(fromObject, [ + 'outputDimensionality', + ]); + if (parentObject !== undefined && fromOutputDimensionality != null) { + common.setValueByPath( + parentObject, + ['outputDimensionality'], + fromOutputDimensionality, + ); + } } - const fromMimeType = common.getValueByPath(fromObject, ['mimeType']); - if (parentObject !== undefined && fromMimeType != null) { - common.setValueByPath( - parentObject, - ['instances[]', 'mimeType'], - fromMimeType, - ); + let discriminatorMimeType = common.getValueByPath(rootObject, [ + 'embeddingApiType', + ]); + if (discriminatorMimeType === undefined) { + discriminatorMimeType = 'PREDICT'; + } + if (discriminatorMimeType === 'PREDICT') { + const fromMimeType = common.getValueByPath(fromObject, ['mimeType']); + if (parentObject !== undefined && fromMimeType != null) { + common.setValueByPath( + parentObject, + ['instances[]', 'mimeType'], + fromMimeType, + ); + } } - const fromAutoTruncate = common.getValueByPath(fromObject, ['autoTruncate']); - if (parentObject !== undefined && fromAutoTruncate != null) { - common.setValueByPath( - parentObject, - ['parameters', 'autoTruncate'], - fromAutoTruncate, - ); + let discriminatorAutoTruncate = common.getValueByPath(rootObject, [ + 'embeddingApiType', + ]); + if (discriminatorAutoTruncate === undefined) { + discriminatorAutoTruncate = 'PREDICT'; + } + if (discriminatorAutoTruncate === 'PREDICT') { + const fromAutoTruncate = common.getValueByPath(fromObject, [ + 'autoTruncate', + ]); + if (parentObject !== undefined && fromAutoTruncate != null) { + common.setValueByPath( + parentObject, + ['parameters', 'autoTruncate'], + fromAutoTruncate, + ); + } + } else if (discriminatorAutoTruncate === 'EMBED_CONTENT') { + const fromAutoTruncate = common.getValueByPath(fromObject, [ + 'autoTruncate', + ]); + if (parentObject !== undefined && fromAutoTruncate != null) { + common.setValueByPath(parentObject, ['autoTruncate'], fromAutoTruncate); + } } return toObject; } -export function embedContentParametersToMldev( +export function embedContentParametersPrivateToMldev( apiClient: ApiClient, - fromObject: types.EmbedContentParameters, + fromObject: types.EmbedContentParametersPrivate, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -896,9 +993,14 @@ export function embedContentParametersToMldev( common.setValueByPath(toObject, ['requests[]', 'content'], transformedList); } + const fromContent = common.getValueByPath(fromObject, ['content']); + if (fromContent != null) { + contentToMldev(t.tContent(fromContent), rootObject); + } + const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - embedContentConfigToMldev(fromConfig, toObject); + embedContentConfigToMldev(fromConfig, toObject, rootObject); } const fromModelForEmbedContent = common.getValueByPath(fromObject, ['model']); @@ -913,9 +1015,10 @@ export function embedContentParametersToMldev( return toObject; } -export function embedContentParametersToVertex( +export function embedContentParametersPrivateToVertex( apiClient: ApiClient, - fromObject: types.EmbedContentParameters, + fromObject: types.EmbedContentParametersPrivate, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -928,24 +1031,45 @@ export function embedContentParametersToVertex( ); } - const fromContents = common.getValueByPath(fromObject, ['contents']); - if (fromContents != null) { - let transformedList = t.tContentsForEmbed(apiClient, fromContents); - if (Array.isArray(transformedList)) { - transformedList = transformedList.map((item) => { - return item; - }); + let discriminatorContents = common.getValueByPath(rootObject, [ + 'embeddingApiType', + ]); + if (discriminatorContents === undefined) { + discriminatorContents = 'PREDICT'; + } + if (discriminatorContents === 'PREDICT') { + const fromContents = common.getValueByPath(fromObject, ['contents']); + if (fromContents != null) { + let transformedList = t.tContentsForEmbed(apiClient, fromContents); + if (Array.isArray(transformedList)) { + transformedList = transformedList.map((item) => { + return item; + }); + } + common.setValueByPath( + toObject, + ['instances[]', 'content'], + transformedList, + ); + } + } + + let discriminatorContent = common.getValueByPath(rootObject, [ + 'embeddingApiType', + ]); + if (discriminatorContent === undefined) { + discriminatorContent = 'PREDICT'; + } + if (discriminatorContent === 'EMBED_CONTENT') { + const fromContent = common.getValueByPath(fromObject, ['content']); + if (fromContent != null) { + common.setValueByPath(toObject, ['content'], t.tContent(fromContent)); } - common.setValueByPath( - toObject, - ['instances[]', 'content'], - transformedList, - ); } const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - embedContentConfigToVertex(fromConfig, toObject); + embedContentConfigToVertex(fromConfig, toObject, rootObject); } return toObject; @@ -953,6 +1077,7 @@ export function embedContentParametersToVertex( export function embedContentResponseFromMldev( fromObject: types.EmbedContentResponse, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -984,6 +1109,7 @@ export function embedContentResponseFromMldev( export function embedContentResponseFromVertex( fromObject: types.EmbedContentResponse, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1002,7 +1128,7 @@ export function embedContentResponseFromVertex( let transformedList = fromEmbeddings; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return contentEmbeddingFromVertex(item); + return contentEmbeddingFromVertex(item, rootObject); }); } common.setValueByPath(toObject, ['embeddings'], transformedList); @@ -1013,11 +1139,37 @@ export function embedContentResponseFromVertex( common.setValueByPath(toObject, ['metadata'], fromMetadata); } + if ( + rootObject && + common.getValueByPath(rootObject, ['embeddingApiType']) === 'EMBED_CONTENT' + ) { + const embedding = common.getValueByPath(fromObject, ['embedding']); + const usageMetadata = common.getValueByPath(fromObject, ['usageMetadata']); + const truncated = common.getValueByPath(fromObject, ['truncated']); + if (embedding) { + const stats = {} as types.ContentEmbeddingStatistics; + if ( + usageMetadata && + (usageMetadata as Record)['promptTokenCount'] + ) { + stats.tokenCount = (usageMetadata as Record)[ + 'promptTokenCount' + ] as number; + } + if (truncated) { + stats.truncated = truncated as boolean; + } + (embedding as types.ContentEmbedding).statistics = stats; + common.setValueByPath(toObject, ['embeddings'], [embedding]); + } + } + return toObject; } export function endpointFromVertex( fromObject: types.Endpoint, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1038,6 +1190,7 @@ export function endpointFromVertex( export function fileDataToMldev( fromObject: types.FileData, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1060,6 +1213,7 @@ export function fileDataToMldev( export function functionCallToMldev( fromObject: types.FunctionCall, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1091,6 +1245,7 @@ export function functionCallToMldev( export function functionCallingConfigToMldev( fromObject: types.FunctionCallingConfig, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1124,6 +1279,7 @@ export function functionCallingConfigToMldev( export function functionDeclarationToVertex( fromObject: types.FunctionDeclaration, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1180,6 +1336,7 @@ export function generateContentConfigToMldev( apiClient: ApiClient, fromObject: types.GenerateContentConfig, parentObject: Record, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1190,7 +1347,7 @@ export function generateContentConfigToMldev( common.setValueByPath( parentObject, ['systemInstruction'], - contentToMldev(t.tContent(fromSystemInstruction)), + contentToMldev(t.tContent(fromSystemInstruction), rootObject), ); } @@ -1309,7 +1466,7 @@ export function generateContentConfigToMldev( let transformedList = fromSafetySettings; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return safetySettingToMldev(item); + return safetySettingToMldev(item, rootObject); }); } common.setValueByPath(parentObject, ['safetySettings'], transformedList); @@ -1320,7 +1477,7 @@ export function generateContentConfigToMldev( let transformedList = t.tTools(fromTools); if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return toolToMldev(t.tTool(item)); + return toolToMldev(t.tTool(item), rootObject); }); } common.setValueByPath(parentObject, ['tools'], transformedList); @@ -1331,7 +1488,7 @@ export function generateContentConfigToMldev( common.setValueByPath( parentObject, ['toolConfig'], - toolConfigToMldev(fromToolConfig), + toolConfigToMldev(fromToolConfig, rootObject), ); } @@ -1393,7 +1550,7 @@ export function generateContentConfigToMldev( common.setValueByPath( toObject, ['imageConfig'], - imageConfigToMldev(fromImageConfig), + imageConfigToMldev(fromImageConfig, rootObject), ); } @@ -1415,6 +1572,7 @@ export function generateContentConfigToVertex( apiClient: ApiClient, fromObject: types.GenerateContentConfig, parentObject: Record, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1557,7 +1715,7 @@ export function generateContentConfigToVertex( let transformedList = t.tTools(fromTools); if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return toolToVertex(t.tTool(item)); + return toolToVertex(t.tTool(item), rootObject); }); } common.setValueByPath(parentObject, ['tools'], transformedList); @@ -1607,7 +1765,7 @@ export function generateContentConfigToVertex( common.setValueByPath( toObject, ['speechConfig'], - speechConfigToVertex(t.tSpeechConfig(fromSpeechConfig)), + speechConfigToVertex(t.tSpeechConfig(fromSpeechConfig), rootObject), ); } @@ -1630,7 +1788,7 @@ export function generateContentConfigToVertex( common.setValueByPath( toObject, ['imageConfig'], - imageConfigToVertex(fromImageConfig), + imageConfigToVertex(fromImageConfig, rootObject), ); } @@ -1649,6 +1807,7 @@ export function generateContentConfigToVertex( export function generateContentParametersToMldev( apiClient: ApiClient, fromObject: types.GenerateContentParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1666,7 +1825,7 @@ export function generateContentParametersToMldev( let transformedList = t.tContents(fromContents); if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return contentToMldev(item); + return contentToMldev(item, rootObject); }); } common.setValueByPath(toObject, ['contents'], transformedList); @@ -1677,7 +1836,7 @@ export function generateContentParametersToMldev( common.setValueByPath( toObject, ['generationConfig'], - generateContentConfigToMldev(apiClient, fromConfig, toObject), + generateContentConfigToMldev(apiClient, fromConfig, toObject, rootObject), ); } @@ -1687,6 +1846,7 @@ export function generateContentParametersToMldev( export function generateContentParametersToVertex( apiClient: ApiClient, fromObject: types.GenerateContentParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1715,7 +1875,12 @@ export function generateContentParametersToVertex( common.setValueByPath( toObject, ['generationConfig'], - generateContentConfigToVertex(apiClient, fromConfig, toObject), + generateContentConfigToVertex( + apiClient, + fromConfig, + toObject, + rootObject, + ), ); } @@ -1724,6 +1889,7 @@ export function generateContentParametersToVertex( export function generateContentResponseFromMldev( fromObject: types.GenerateContentResponse, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1739,7 +1905,7 @@ export function generateContentResponseFromMldev( let transformedList = fromCandidates; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return candidateFromMldev(item); + return candidateFromMldev(item, rootObject); }); } common.setValueByPath(toObject, ['candidates'], transformedList); @@ -1774,6 +1940,7 @@ export function generateContentResponseFromMldev( export function generateContentResponseFromVertex( fromObject: types.GenerateContentResponse, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1830,6 +1997,7 @@ export function generateContentResponseFromVertex( export function generateImagesConfigToMldev( fromObject: types.GenerateImagesConfig, parentObject: Record, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -1978,6 +2146,7 @@ export function generateImagesConfigToMldev( export function generateImagesConfigToVertex( fromObject: types.GenerateImagesConfig, parentObject: Record, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2152,6 +2321,7 @@ export function generateImagesConfigToVertex( export function generateImagesParametersToMldev( apiClient: ApiClient, fromObject: types.GenerateImagesParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2171,7 +2341,7 @@ export function generateImagesParametersToMldev( const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - generateImagesConfigToMldev(fromConfig, toObject); + generateImagesConfigToMldev(fromConfig, toObject, rootObject); } return toObject; @@ -2180,6 +2350,7 @@ export function generateImagesParametersToMldev( export function generateImagesParametersToVertex( apiClient: ApiClient, fromObject: types.GenerateImagesParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2199,7 +2370,7 @@ export function generateImagesParametersToVertex( const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - generateImagesConfigToVertex(fromConfig, toObject); + generateImagesConfigToVertex(fromConfig, toObject, rootObject); } return toObject; @@ -2207,6 +2378,7 @@ export function generateImagesParametersToVertex( export function generateImagesResponseFromMldev( fromObject: types.GenerateImagesResponse, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2224,7 +2396,7 @@ export function generateImagesResponseFromMldev( let transformedList = fromGeneratedImages; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return generatedImageFromMldev(item); + return generatedImageFromMldev(item, rootObject); }); } common.setValueByPath(toObject, ['generatedImages'], transformedList); @@ -2237,7 +2409,7 @@ export function generateImagesResponseFromMldev( common.setValueByPath( toObject, ['positivePromptSafetyAttributes'], - safetyAttributesFromMldev(fromPositivePromptSafetyAttributes), + safetyAttributesFromMldev(fromPositivePromptSafetyAttributes, rootObject), ); } @@ -2246,6 +2418,7 @@ export function generateImagesResponseFromMldev( export function generateImagesResponseFromVertex( fromObject: types.GenerateImagesResponse, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2263,7 +2436,7 @@ export function generateImagesResponseFromVertex( let transformedList = fromGeneratedImages; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return generatedImageFromVertex(item); + return generatedImageFromVertex(item, rootObject); }); } common.setValueByPath(toObject, ['generatedImages'], transformedList); @@ -2276,7 +2449,10 @@ export function generateImagesResponseFromVertex( common.setValueByPath( toObject, ['positivePromptSafetyAttributes'], - safetyAttributesFromVertex(fromPositivePromptSafetyAttributes), + safetyAttributesFromVertex( + fromPositivePromptSafetyAttributes, + rootObject, + ), ); } @@ -2286,6 +2462,7 @@ export function generateImagesResponseFromVertex( export function generateVideosConfigToMldev( fromObject: types.GenerateVideosConfig, parentObject: Record, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2387,7 +2564,7 @@ export function generateVideosConfigToMldev( common.setValueByPath( parentObject, ['instances[0]', 'lastFrame'], - imageToMldev(fromLastFrame), + imageToMldev(fromLastFrame, rootObject), ); } @@ -2398,7 +2575,7 @@ export function generateVideosConfigToMldev( let transformedList = fromReferenceImages; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return videoGenerationReferenceImageToMldev(item); + return videoGenerationReferenceImageToMldev(item, rootObject); }); } common.setValueByPath( @@ -2424,6 +2601,7 @@ export function generateVideosConfigToMldev( export function generateVideosConfigToVertex( fromObject: types.GenerateVideosConfig, parentObject: Record, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2544,7 +2722,7 @@ export function generateVideosConfigToVertex( common.setValueByPath( parentObject, ['instances[0]', 'lastFrame'], - imageToVertex(fromLastFrame), + imageToVertex(fromLastFrame, rootObject), ); } @@ -2555,7 +2733,7 @@ export function generateVideosConfigToVertex( let transformedList = fromReferenceImages; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return videoGenerationReferenceImageToVertex(item); + return videoGenerationReferenceImageToVertex(item, rootObject); }); } common.setValueByPath( @@ -2570,7 +2748,7 @@ export function generateVideosConfigToVertex( common.setValueByPath( parentObject, ['instances[0]', 'mask'], - videoGenerationMaskToVertex(fromMask), + videoGenerationMaskToVertex(fromMask, rootObject), ); } @@ -2590,6 +2768,7 @@ export function generateVideosConfigToVertex( export function generateVideosOperationFromMldev( fromObject: types.GenerateVideosOperation, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2621,7 +2800,7 @@ export function generateVideosOperationFromMldev( common.setValueByPath( toObject, ['response'], - generateVideosResponseFromMldev(fromResponse), + generateVideosResponseFromMldev(fromResponse, rootObject), ); } @@ -2630,6 +2809,7 @@ export function generateVideosOperationFromMldev( export function generateVideosOperationFromVertex( fromObject: types.GenerateVideosOperation, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2658,7 +2838,7 @@ export function generateVideosOperationFromVertex( common.setValueByPath( toObject, ['response'], - generateVideosResponseFromVertex(fromResponse), + generateVideosResponseFromVertex(fromResponse, rootObject), ); } @@ -2668,6 +2848,7 @@ export function generateVideosOperationFromVertex( export function generateVideosParametersToMldev( apiClient: ApiClient, fromObject: types.GenerateVideosParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2690,7 +2871,7 @@ export function generateVideosParametersToMldev( common.setValueByPath( toObject, ['instances[0]', 'image'], - imageToMldev(fromImage), + imageToMldev(fromImage, rootObject), ); } @@ -2699,18 +2880,18 @@ export function generateVideosParametersToMldev( common.setValueByPath( toObject, ['instances[0]', 'video'], - videoToMldev(fromVideo), + videoToMldev(fromVideo, rootObject), ); } const fromSource = common.getValueByPath(fromObject, ['source']); if (fromSource != null) { - generateVideosSourceToMldev(fromSource, toObject); + generateVideosSourceToMldev(fromSource, toObject, rootObject); } const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - generateVideosConfigToMldev(fromConfig, toObject); + generateVideosConfigToMldev(fromConfig, toObject, rootObject); } return toObject; @@ -2719,6 +2900,7 @@ export function generateVideosParametersToMldev( export function generateVideosParametersToVertex( apiClient: ApiClient, fromObject: types.GenerateVideosParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2741,7 +2923,7 @@ export function generateVideosParametersToVertex( common.setValueByPath( toObject, ['instances[0]', 'image'], - imageToVertex(fromImage), + imageToVertex(fromImage, rootObject), ); } @@ -2750,18 +2932,18 @@ export function generateVideosParametersToVertex( common.setValueByPath( toObject, ['instances[0]', 'video'], - videoToVertex(fromVideo), + videoToVertex(fromVideo, rootObject), ); } const fromSource = common.getValueByPath(fromObject, ['source']); if (fromSource != null) { - generateVideosSourceToVertex(fromSource, toObject); + generateVideosSourceToVertex(fromSource, toObject, rootObject); } const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - generateVideosConfigToVertex(fromConfig, toObject); + generateVideosConfigToVertex(fromConfig, toObject, rootObject); } return toObject; @@ -2769,6 +2951,7 @@ export function generateVideosParametersToVertex( export function generateVideosResponseFromMldev( fromObject: types.GenerateVideosResponse, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2779,7 +2962,7 @@ export function generateVideosResponseFromMldev( let transformedList = fromGeneratedVideos; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return generatedVideoFromMldev(item); + return generatedVideoFromMldev(item, rootObject); }); } common.setValueByPath(toObject, ['generatedVideos'], transformedList); @@ -2812,6 +2995,7 @@ export function generateVideosResponseFromMldev( export function generateVideosResponseFromVertex( fromObject: types.GenerateVideosResponse, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2820,7 +3004,7 @@ export function generateVideosResponseFromVertex( let transformedList = fromGeneratedVideos; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return generatedVideoFromVertex(item); + return generatedVideoFromVertex(item, rootObject); }); } common.setValueByPath(toObject, ['generatedVideos'], transformedList); @@ -2854,6 +3038,7 @@ export function generateVideosResponseFromVertex( export function generateVideosSourceToMldev( fromObject: types.GenerateVideosSource, parentObject: Record, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2867,7 +3052,7 @@ export function generateVideosSourceToMldev( common.setValueByPath( parentObject, ['instances[0]', 'image'], - imageToMldev(fromImage), + imageToMldev(fromImage, rootObject), ); } @@ -2876,7 +3061,7 @@ export function generateVideosSourceToMldev( common.setValueByPath( parentObject, ['instances[0]', 'video'], - videoToMldev(fromVideo), + videoToMldev(fromVideo, rootObject), ); } @@ -2886,6 +3071,7 @@ export function generateVideosSourceToMldev( export function generateVideosSourceToVertex( fromObject: types.GenerateVideosSource, parentObject: Record, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -2899,7 +3085,7 @@ export function generateVideosSourceToVertex( common.setValueByPath( parentObject, ['instances[0]', 'image'], - imageToVertex(fromImage), + imageToVertex(fromImage, rootObject), ); } @@ -2908,7 +3094,7 @@ export function generateVideosSourceToVertex( common.setValueByPath( parentObject, ['instances[0]', 'video'], - videoToVertex(fromVideo), + videoToVertex(fromVideo, rootObject), ); } @@ -2917,12 +3103,17 @@ export function generateVideosSourceToVertex( export function generatedImageFromMldev( fromObject: types.GeneratedImage, + rootObject?: unknown, ): Record { const toObject: Record = {}; const fromImage = common.getValueByPath(fromObject, ['_self']); if (fromImage != null) { - common.setValueByPath(toObject, ['image'], imageFromMldev(fromImage)); + common.setValueByPath( + toObject, + ['image'], + imageFromMldev(fromImage, rootObject), + ); } const fromRaiFilteredReason = common.getValueByPath(fromObject, [ @@ -2941,7 +3132,7 @@ export function generatedImageFromMldev( common.setValueByPath( toObject, ['safetyAttributes'], - safetyAttributesFromMldev(fromSafetyAttributes), + safetyAttributesFromMldev(fromSafetyAttributes, rootObject), ); } @@ -2950,12 +3141,17 @@ export function generatedImageFromMldev( export function generatedImageFromVertex( fromObject: types.GeneratedImage, + rootObject?: unknown, ): Record { const toObject: Record = {}; const fromImage = common.getValueByPath(fromObject, ['_self']); if (fromImage != null) { - common.setValueByPath(toObject, ['image'], imageFromVertex(fromImage)); + common.setValueByPath( + toObject, + ['image'], + imageFromVertex(fromImage, rootObject), + ); } const fromRaiFilteredReason = common.getValueByPath(fromObject, [ @@ -2974,7 +3170,7 @@ export function generatedImageFromVertex( common.setValueByPath( toObject, ['safetyAttributes'], - safetyAttributesFromVertex(fromSafetyAttributes), + safetyAttributesFromVertex(fromSafetyAttributes, rootObject), ); } @@ -2988,12 +3184,17 @@ export function generatedImageFromVertex( export function generatedImageMaskFromVertex( fromObject: types.GeneratedImageMask, + rootObject?: unknown, ): Record { const toObject: Record = {}; const fromMask = common.getValueByPath(fromObject, ['_self']); if (fromMask != null) { - common.setValueByPath(toObject, ['mask'], imageFromVertex(fromMask)); + common.setValueByPath( + toObject, + ['mask'], + imageFromVertex(fromMask, rootObject), + ); } const fromLabels = common.getValueByPath(fromObject, ['labels']); @@ -3012,12 +3213,17 @@ export function generatedImageMaskFromVertex( export function generatedVideoFromMldev( fromObject: types.GeneratedVideo, + rootObject?: unknown, ): Record { const toObject: Record = {}; const fromVideo = common.getValueByPath(fromObject, ['video']); if (fromVideo != null) { - common.setValueByPath(toObject, ['video'], videoFromMldev(fromVideo)); + common.setValueByPath( + toObject, + ['video'], + videoFromMldev(fromVideo, rootObject), + ); } return toObject; @@ -3025,12 +3231,17 @@ export function generatedVideoFromMldev( export function generatedVideoFromVertex( fromObject: types.GeneratedVideo, + rootObject?: unknown, ): Record { const toObject: Record = {}; const fromVideo = common.getValueByPath(fromObject, ['_self']); if (fromVideo != null) { - common.setValueByPath(toObject, ['video'], videoFromVertex(fromVideo)); + common.setValueByPath( + toObject, + ['video'], + videoFromVertex(fromVideo, rootObject), + ); } return toObject; @@ -3038,6 +3249,7 @@ export function generatedVideoFromVertex( export function generationConfigToVertex( fromObject: types.GenerationConfig, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3166,7 +3378,7 @@ export function generationConfigToVertex( common.setValueByPath( toObject, ['speechConfig'], - speechConfigToVertex(fromSpeechConfig), + speechConfigToVertex(fromSpeechConfig, rootObject), ); } @@ -3214,6 +3426,7 @@ export function generationConfigToVertex( export function getModelParametersToMldev( apiClient: ApiClient, fromObject: types.GetModelParameters, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3232,6 +3445,7 @@ export function getModelParametersToMldev( export function getModelParametersToVertex( apiClient: ApiClient, fromObject: types.GetModelParameters, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3249,6 +3463,7 @@ export function getModelParametersToVertex( export function googleMapsToMldev( fromObject: types.GoogleMaps, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3266,6 +3481,7 @@ export function googleMapsToMldev( export function googleSearchToMldev( fromObject: types.GoogleSearch, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3291,6 +3507,7 @@ export function googleSearchToMldev( export function imageConfigToMldev( fromObject: types.ImageConfig, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3322,6 +3539,7 @@ export function imageConfigToMldev( export function imageConfigToVertex( fromObject: types.ImageConfig, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3362,6 +3580,7 @@ export function imageConfigToVertex( export function imageFromMldev( fromObject: types.Image, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3382,6 +3601,7 @@ export function imageFromMldev( export function imageFromVertex( fromObject: types.Image, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3405,7 +3625,10 @@ export function imageFromVertex( return toObject; } -export function imageToMldev(fromObject: types.Image): Record { +export function imageToMldev( + fromObject: types.Image, + _rootObject?: unknown, +): Record { const toObject: Record = {}; if (common.getValueByPath(fromObject, ['gcsUri']) !== undefined) { @@ -3431,6 +3654,7 @@ export function imageToMldev(fromObject: types.Image): Record { export function imageToVertex( fromObject: types.Image, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3460,6 +3684,7 @@ export function listModelsConfigToMldev( apiClient: ApiClient, fromObject: types.ListModelsConfig, parentObject: Record, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3494,6 +3719,7 @@ export function listModelsConfigToVertex( apiClient: ApiClient, fromObject: types.ListModelsConfig, parentObject: Record, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3527,12 +3753,13 @@ export function listModelsConfigToVertex( export function listModelsParametersToMldev( apiClient: ApiClient, fromObject: types.ListModelsParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - listModelsConfigToMldev(apiClient, fromConfig, toObject); + listModelsConfigToMldev(apiClient, fromConfig, toObject, rootObject); } return toObject; @@ -3541,12 +3768,13 @@ export function listModelsParametersToMldev( export function listModelsParametersToVertex( apiClient: ApiClient, fromObject: types.ListModelsParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - listModelsConfigToVertex(apiClient, fromConfig, toObject); + listModelsConfigToVertex(apiClient, fromConfig, toObject, rootObject); } return toObject; @@ -3554,6 +3782,7 @@ export function listModelsParametersToVertex( export function listModelsResponseFromMldev( fromObject: types.ListModelsResponse, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3576,7 +3805,7 @@ export function listModelsResponseFromMldev( let transformedList = t.tExtractModels(fromModels); if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return modelFromMldev(item); + return modelFromMldev(item, rootObject); }); } common.setValueByPath(toObject, ['models'], transformedList); @@ -3587,6 +3816,7 @@ export function listModelsResponseFromMldev( export function listModelsResponseFromVertex( fromObject: types.ListModelsResponse, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3609,7 +3839,7 @@ export function listModelsResponseFromVertex( let transformedList = t.tExtractModels(fromModels); if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return modelFromVertex(item); + return modelFromVertex(item, rootObject); }); } common.setValueByPath(toObject, ['models'], transformedList); @@ -3620,6 +3850,7 @@ export function listModelsResponseFromVertex( export function maskReferenceConfigToVertex( fromObject: types.MaskReferenceConfig, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3645,6 +3876,7 @@ export function maskReferenceConfigToVertex( export function modelFromMldev( fromObject: types.Model, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3673,7 +3905,7 @@ export function modelFromMldev( common.setValueByPath( toObject, ['tunedModelInfo'], - tunedModelInfoFromMldev(fromTunedModelInfo), + tunedModelInfoFromMldev(fromTunedModelInfo, rootObject), ); } @@ -3730,6 +3962,7 @@ export function modelFromMldev( export function modelFromVertex( fromObject: types.Model, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -3758,7 +3991,7 @@ export function modelFromVertex( let transformedList = fromEndpoints; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return endpointFromVertex(item); + return endpointFromVertex(item, rootObject); }); } common.setValueByPath(toObject, ['endpoints'], transformedList); @@ -3774,7 +4007,7 @@ export function modelFromVertex( common.setValueByPath( toObject, ['tunedModelInfo'], - tunedModelInfoFromVertex(fromTunedModelInfo), + tunedModelInfoFromVertex(fromTunedModelInfo, rootObject), ); } @@ -3803,7 +4036,10 @@ export function modelFromVertex( return toObject; } -export function partToMldev(fromObject: types.Part): Record { +export function partToMldev( + fromObject: types.Part, + rootObject?: unknown, +): Record { const toObject: Record = {}; const fromMediaResolution = common.getValueByPath(fromObject, [ @@ -3836,7 +4072,7 @@ export function partToMldev(fromObject: types.Part): Record { common.setValueByPath( toObject, ['fileData'], - fileDataToMldev(fromFileData), + fileDataToMldev(fromFileData, rootObject), ); } @@ -3845,7 +4081,7 @@ export function partToMldev(fromObject: types.Part): Record { common.setValueByPath( toObject, ['functionCall'], - functionCallToMldev(fromFunctionCall), + functionCallToMldev(fromFunctionCall, rootObject), ); } @@ -3861,7 +4097,7 @@ export function partToMldev(fromObject: types.Part): Record { common.setValueByPath( toObject, ['inlineData'], - blobToMldev(fromInlineData), + blobToMldev(fromInlineData, rootObject), ); } @@ -3894,12 +4130,17 @@ export function partToMldev(fromObject: types.Part): Record { export function productImageToVertex( fromObject: types.ProductImage, + rootObject?: unknown, ): Record { const toObject: Record = {}; const fromProductImage = common.getValueByPath(fromObject, ['productImage']); if (fromProductImage != null) { - common.setValueByPath(toObject, ['image'], imageToVertex(fromProductImage)); + common.setValueByPath( + toObject, + ['image'], + imageToVertex(fromProductImage, rootObject), + ); } return toObject; @@ -3908,6 +4149,7 @@ export function productImageToVertex( export function recontextImageConfigToVertex( fromObject: types.RecontextImageConfig, parentObject: Record, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4020,6 +4262,7 @@ export function recontextImageConfigToVertex( export function recontextImageParametersToVertex( apiClient: ApiClient, fromObject: types.RecontextImageParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4034,12 +4277,12 @@ export function recontextImageParametersToVertex( const fromSource = common.getValueByPath(fromObject, ['source']); if (fromSource != null) { - recontextImageSourceToVertex(fromSource, toObject); + recontextImageSourceToVertex(fromSource, toObject, rootObject); } const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - recontextImageConfigToVertex(fromConfig, toObject); + recontextImageConfigToVertex(fromConfig, toObject, rootObject); } return toObject; @@ -4047,6 +4290,7 @@ export function recontextImageParametersToVertex( export function recontextImageResponseFromVertex( fromObject: types.RecontextImageResponse, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4057,7 +4301,7 @@ export function recontextImageResponseFromVertex( let transformedList = fromGeneratedImages; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return generatedImageFromVertex(item); + return generatedImageFromVertex(item, rootObject); }); } common.setValueByPath(toObject, ['generatedImages'], transformedList); @@ -4069,6 +4313,7 @@ export function recontextImageResponseFromVertex( export function recontextImageSourceToVertex( fromObject: types.RecontextImageSource, parentObject: Record, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4082,7 +4327,7 @@ export function recontextImageSourceToVertex( common.setValueByPath( parentObject, ['instances[0]', 'personImage', 'image'], - imageToVertex(fromPersonImage), + imageToVertex(fromPersonImage, rootObject), ); } @@ -4093,7 +4338,7 @@ export function recontextImageSourceToVertex( let transformedList = fromProductImages; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return productImageToVertex(item); + return productImageToVertex(item, rootObject); }); } common.setValueByPath( @@ -4108,6 +4353,7 @@ export function recontextImageSourceToVertex( export function referenceImageAPIInternalToVertex( fromObject: _internal_types.ReferenceImageAPIInternal, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4118,7 +4364,7 @@ export function referenceImageAPIInternalToVertex( common.setValueByPath( toObject, ['referenceImage'], - imageToVertex(fromReferenceImage), + imageToVertex(fromReferenceImage, rootObject), ); } @@ -4141,7 +4387,7 @@ export function referenceImageAPIInternalToVertex( common.setValueByPath( toObject, ['maskImageConfig'], - maskReferenceConfigToVertex(fromMaskImageConfig), + maskReferenceConfigToVertex(fromMaskImageConfig, rootObject), ); } @@ -4152,7 +4398,7 @@ export function referenceImageAPIInternalToVertex( common.setValueByPath( toObject, ['controlImageConfig'], - controlReferenceConfigToVertex(fromControlImageConfig), + controlReferenceConfigToVertex(fromControlImageConfig, rootObject), ); } @@ -4179,6 +4425,7 @@ export function referenceImageAPIInternalToVertex( export function safetyAttributesFromMldev( fromObject: types.SafetyAttributes, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4208,6 +4455,7 @@ export function safetyAttributesFromMldev( export function safetyAttributesFromVertex( fromObject: types.SafetyAttributes, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4237,6 +4485,7 @@ export function safetyAttributesFromVertex( export function safetySettingToMldev( fromObject: types.SafetySetting, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4259,12 +4508,17 @@ export function safetySettingToMldev( export function scribbleImageToVertex( fromObject: types.ScribbleImage, + rootObject?: unknown, ): Record { const toObject: Record = {}; const fromImage = common.getValueByPath(fromObject, ['image']); if (fromImage != null) { - common.setValueByPath(toObject, ['image'], imageToVertex(fromImage)); + common.setValueByPath( + toObject, + ['image'], + imageToVertex(fromImage, rootObject), + ); } return toObject; @@ -4273,6 +4527,7 @@ export function scribbleImageToVertex( export function segmentImageConfigToVertex( fromObject: types.SegmentImageConfig, parentObject: Record, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4334,6 +4589,7 @@ export function segmentImageConfigToVertex( export function segmentImageParametersToVertex( apiClient: ApiClient, fromObject: types.SegmentImageParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4348,12 +4604,12 @@ export function segmentImageParametersToVertex( const fromSource = common.getValueByPath(fromObject, ['source']); if (fromSource != null) { - segmentImageSourceToVertex(fromSource, toObject); + segmentImageSourceToVertex(fromSource, toObject, rootObject); } const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - segmentImageConfigToVertex(fromConfig, toObject); + segmentImageConfigToVertex(fromConfig, toObject, rootObject); } return toObject; @@ -4361,6 +4617,7 @@ export function segmentImageParametersToVertex( export function segmentImageResponseFromVertex( fromObject: types.SegmentImageResponse, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4369,7 +4626,7 @@ export function segmentImageResponseFromVertex( let transformedList = fromGeneratedMasks; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return generatedImageMaskFromVertex(item); + return generatedImageMaskFromVertex(item, rootObject); }); } common.setValueByPath(toObject, ['generatedMasks'], transformedList); @@ -4381,6 +4638,7 @@ export function segmentImageResponseFromVertex( export function segmentImageSourceToVertex( fromObject: types.SegmentImageSource, parentObject: Record, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4394,7 +4652,7 @@ export function segmentImageSourceToVertex( common.setValueByPath( parentObject, ['instances[0]', 'image'], - imageToVertex(fromImage), + imageToVertex(fromImage, rootObject), ); } @@ -4405,7 +4663,7 @@ export function segmentImageSourceToVertex( common.setValueByPath( parentObject, ['instances[0]', 'scribble'], - scribbleImageToVertex(fromScribbleImage), + scribbleImageToVertex(fromScribbleImage, rootObject), ); } @@ -4414,6 +4672,7 @@ export function segmentImageSourceToVertex( export function speechConfigToVertex( fromObject: types.SpeechConfig, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4440,6 +4699,7 @@ export function speechConfigToVertex( export function toolConfigToMldev( fromObject: types.ToolConfig, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4450,7 +4710,7 @@ export function toolConfigToMldev( common.setValueByPath( toObject, ['functionCallingConfig'], - functionCallingConfigToMldev(fromFunctionCallingConfig), + functionCallingConfigToMldev(fromFunctionCallingConfig, rootObject), ); } @@ -4464,7 +4724,10 @@ export function toolConfigToMldev( return toObject; } -export function toolToMldev(fromObject: types.Tool): Record { +export function toolToMldev( + fromObject: types.Tool, + rootObject?: unknown, +): Record { const toObject: Record = {}; const fromFunctionDeclarations = common.getValueByPath(fromObject, [ @@ -4525,7 +4788,7 @@ export function toolToMldev(fromObject: types.Tool): Record { common.setValueByPath( toObject, ['googleMaps'], - googleMapsToMldev(fromGoogleMaps), + googleMapsToMldev(fromGoogleMaps, rootObject), ); } @@ -4534,7 +4797,7 @@ export function toolToMldev(fromObject: types.Tool): Record { common.setValueByPath( toObject, ['googleSearch'], - googleSearchToMldev(fromGoogleSearch), + googleSearchToMldev(fromGoogleSearch, rootObject), ); } @@ -4546,7 +4809,10 @@ export function toolToMldev(fromObject: types.Tool): Record { return toObject; } -export function toolToVertex(fromObject: types.Tool): Record { +export function toolToVertex( + fromObject: types.Tool, + rootObject?: unknown, +): Record { const toObject: Record = {}; const fromFunctionDeclarations = common.getValueByPath(fromObject, [ @@ -4556,7 +4822,7 @@ export function toolToVertex(fromObject: types.Tool): Record { let transformedList = fromFunctionDeclarations; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return functionDeclarationToVertex(item); + return functionDeclarationToVertex(item, rootObject); }); } common.setValueByPath(toObject, ['functionDeclarations'], transformedList); @@ -4625,6 +4891,7 @@ export function toolToVertex(fromObject: types.Tool): Record { export function tunedModelInfoFromMldev( fromObject: types.TunedModelInfo, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4648,6 +4915,7 @@ export function tunedModelInfoFromMldev( export function tunedModelInfoFromVertex( fromObject: types.TunedModelInfo, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4675,6 +4943,7 @@ export function tunedModelInfoFromVertex( export function updateModelConfigToMldev( fromObject: types.UpdateModelConfig, parentObject: Record, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4705,6 +4974,7 @@ export function updateModelConfigToMldev( export function updateModelConfigToVertex( fromObject: types.UpdateModelConfig, parentObject: Record, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4735,6 +5005,7 @@ export function updateModelConfigToVertex( export function updateModelParametersToMldev( apiClient: ApiClient, fromObject: types.UpdateModelParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4749,7 +5020,7 @@ export function updateModelParametersToMldev( const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - updateModelConfigToMldev(fromConfig, toObject); + updateModelConfigToMldev(fromConfig, toObject, rootObject); } return toObject; @@ -4758,6 +5029,7 @@ export function updateModelParametersToMldev( export function updateModelParametersToVertex( apiClient: ApiClient, fromObject: types.UpdateModelParameters, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4772,7 +5044,7 @@ export function updateModelParametersToVertex( const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - updateModelConfigToVertex(fromConfig, toObject); + updateModelConfigToVertex(fromConfig, toObject, rootObject); } return toObject; @@ -4781,6 +5053,7 @@ export function updateModelParametersToVertex( export function upscaleImageAPIConfigInternalToVertex( fromObject: _internal_types.UpscaleImageAPIConfigInternal, parentObject: Record, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4897,6 +5170,7 @@ export function upscaleImageAPIConfigInternalToVertex( export function upscaleImageAPIParametersInternalToVertex( apiClient: ApiClient, fromObject: _internal_types.UpscaleImageAPIParametersInternal, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4914,7 +5188,7 @@ export function upscaleImageAPIParametersInternalToVertex( common.setValueByPath( toObject, ['instances[0]', 'image'], - imageToVertex(fromImage), + imageToVertex(fromImage, rootObject), ); } @@ -4931,7 +5205,7 @@ export function upscaleImageAPIParametersInternalToVertex( const fromConfig = common.getValueByPath(fromObject, ['config']); if (fromConfig != null) { - upscaleImageAPIConfigInternalToVertex(fromConfig, toObject); + upscaleImageAPIConfigInternalToVertex(fromConfig, toObject, rootObject); } return toObject; @@ -4939,6 +5213,7 @@ export function upscaleImageAPIParametersInternalToVertex( export function upscaleImageResponseFromVertex( fromObject: types.UpscaleImageResponse, + rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4956,7 +5231,7 @@ export function upscaleImageResponseFromVertex( let transformedList = fromGeneratedImages; if (Array.isArray(transformedList)) { transformedList = transformedList.map((item) => { - return generatedImageFromVertex(item); + return generatedImageFromVertex(item, rootObject); }); } common.setValueByPath(toObject, ['generatedImages'], transformedList); @@ -4967,6 +5242,7 @@ export function upscaleImageResponseFromVertex( export function videoFromMldev( fromObject: types.Video, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -4990,6 +5266,7 @@ export function videoFromMldev( export function videoFromVertex( fromObject: types.Video, + _rootObject?: unknown, ): Record { const toObject: Record = {}; @@ -5015,12 +5292,17 @@ export function videoFromVertex( export function videoGenerationMaskToVertex( fromObject: types.VideoGenerationMask, + rootObject?: unknown, ): Record { const toObject: Record = {}; const fromImage = common.getValueByPath(fromObject, ['image']); if (fromImage != null) { - common.setValueByPath(toObject, ['_self'], imageToVertex(fromImage)); + common.setValueByPath( + toObject, + ['_self'], + imageToVertex(fromImage, rootObject), + ); } const fromMaskMode = common.getValueByPath(fromObject, ['maskMode']); @@ -5033,12 +5315,17 @@ export function videoGenerationMaskToVertex( export function videoGenerationReferenceImageToMldev( fromObject: types.VideoGenerationReferenceImage, + rootObject?: unknown, ): Record { const toObject: Record = {}; const fromImage = common.getValueByPath(fromObject, ['image']); if (fromImage != null) { - common.setValueByPath(toObject, ['image'], imageToMldev(fromImage)); + common.setValueByPath( + toObject, + ['image'], + imageToMldev(fromImage, rootObject), + ); } const fromReferenceType = common.getValueByPath(fromObject, [ @@ -5053,12 +5340,17 @@ export function videoGenerationReferenceImageToMldev( export function videoGenerationReferenceImageToVertex( fromObject: types.VideoGenerationReferenceImage, + rootObject?: unknown, ): Record { const toObject: Record = {}; const fromImage = common.getValueByPath(fromObject, ['image']); if (fromImage != null) { - common.setValueByPath(toObject, ['image'], imageToVertex(fromImage)); + common.setValueByPath( + toObject, + ['image'], + imageToVertex(fromImage, rootObject), + ); } const fromReferenceType = common.getValueByPath(fromObject, [ @@ -5071,7 +5363,10 @@ export function videoGenerationReferenceImageToVertex( return toObject; } -export function videoToMldev(fromObject: types.Video): Record { +export function videoToMldev( + fromObject: types.Video, + _rootObject?: unknown, +): Record { const toObject: Record = {}; const fromUri = common.getValueByPath(fromObject, ['uri']); @@ -5094,6 +5389,7 @@ export function videoToMldev(fromObject: types.Video): Record { export function videoToVertex( fromObject: types.Video, + _rootObject?: unknown, ): Record { const toObject: Record = {}; diff --git a/src/models.ts b/src/models.ts index 7d1431891..bccb3ee42 100644 --- a/src/models.ts +++ b/src/models.ts @@ -11,7 +11,7 @@ import {ApiClient} from './_api_client.js'; import * as common from './_common.js'; import {BaseModule} from './_common.js'; import * as _internal_types from './_internal_types.js'; -import {tContents} from './_transformers.js'; +import {tContents, tIsVertexEmbedContentModel} from './_transformers.js'; import * as converters from './converters/_models_converters.js'; import * as mcp from './mcp/_mcp.js'; import {PagedItem, Pager} from './pagers.js'; @@ -22,6 +22,60 @@ export class Models extends BaseModule { super(); } + /** + * Calculates embeddings for the given contents. + * + * @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); + * ``` + */ + embedContent = async ( + params: types.EmbedContentParameters, + ): Promise => { + if (!this.apiClient.isVertexAI()) { + return await this.embedContentInternal(params); + } + const isVertexEmbedContentModel = + (params.model.includes('gemini') && + params.model !== 'gemini-embedding-001') || + params.model.includes('maas'); + + if (isVertexEmbedContentModel) { + const contents = tContents(params.contents); + if (contents.length > 1) { + throw new Error( + 'The embedContent API for this model only supports one content at a time.', + ); + } + const paramsPrivate: types.EmbedContentParametersPrivate = { + ...params, + content: contents[0], + embeddingApiType: types.EmbeddingApiType.EMBED_CONTENT, + }; + return await this.embedContentInternal(paramsPrivate); + } else { + const paramsPrivate: types.EmbedContentParametersPrivate = { + ...params, + embeddingApiType: types.EmbeddingApiType.PREDICT, + }; + return await this.embedContentInternal(paramsPrivate); + } + }; + /** * Makes an API request to generate content with a given model. * @@ -628,6 +682,7 @@ export class Models extends BaseModule { const body = converters.generateContentParametersToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{model}:generateContent', @@ -657,7 +712,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.generateContentResponseFromVertex(apiResponse); + const resp = converters.generateContentResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.GenerateContentResponse(); Object.assign(typedResp, resp); return typedResp; @@ -666,6 +724,7 @@ export class Models extends BaseModule { const body = converters.generateContentParametersToMldev( this.apiClient, params, + params, ); path = common.formatMap( '{model}:generateContent', @@ -695,7 +754,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.generateContentResponseFromMldev(apiResponse); + const resp = converters.generateContentResponseFromMldev( + apiResponse, + params, + ); const typedResp = new types.GenerateContentResponse(); Object.assign(typedResp, resp); return typedResp; @@ -714,6 +776,7 @@ export class Models extends BaseModule { const body = converters.generateContentParametersToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{model}:streamGenerateContent?alt=sse', @@ -739,6 +802,7 @@ export class Models extends BaseModule { for await (const chunk of apiResponse) { const resp = converters.generateContentResponseFromVertex( (await chunk.json()) as types.GenerateContentResponse, + params, ); resp['sdkHttpResponse'] = { @@ -754,6 +818,7 @@ export class Models extends BaseModule { const body = converters.generateContentParametersToMldev( this.apiClient, params, + params, ); path = common.formatMap( '{model}:streamGenerateContent?alt=sse', @@ -779,6 +844,7 @@ export class Models extends BaseModule { for await (const chunk of apiResponse) { const resp = converters.generateContentResponseFromMldev( (await chunk.json()) as types.GenerateContentResponse, + params, ); resp['sdkHttpResponse'] = { @@ -814,20 +880,24 @@ export class Models extends BaseModule { * console.log(response); * ``` */ - async embedContent( - params: types.EmbedContentParameters, + private async embedContentInternal( + params: types.EmbedContentParametersPrivate, ): Promise { let response: Promise; let path: string = ''; let queryParams: Record = {}; if (this.apiClient.isVertexAI()) { - const body = converters.embedContentParametersToVertex( + const body = converters.embedContentParametersPrivateToVertex( this.apiClient, params, + params, ); + const endpointUrl = tIsVertexEmbedContentModel(params.model) + ? '{model}:embedContent' + : '{model}:predict'; path = common.formatMap( - '{model}:predict', + endpointUrl, body['_url'] as Record, ); queryParams = body['_query'] as Record; @@ -854,15 +924,19 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.embedContentResponseFromVertex(apiResponse); + const resp = converters.embedContentResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.EmbedContentResponse(); Object.assign(typedResp, resp); return typedResp; }); } else { - const body = converters.embedContentParametersToMldev( + const body = converters.embedContentParametersPrivateToMldev( this.apiClient, params, + params, ); path = common.formatMap( '{model}:batchEmbedContents', @@ -892,7 +966,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.embedContentResponseFromMldev(apiResponse); + const resp = converters.embedContentResponseFromMldev( + apiResponse, + params, + ); const typedResp = new types.EmbedContentResponse(); Object.assign(typedResp, resp); return typedResp; @@ -914,6 +991,7 @@ export class Models extends BaseModule { const body = converters.generateImagesParametersToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{model}:predict', @@ -943,7 +1021,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.generateImagesResponseFromVertex(apiResponse); + const resp = converters.generateImagesResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.GenerateImagesResponse(); Object.assign(typedResp, resp); return typedResp; @@ -952,6 +1033,7 @@ export class Models extends BaseModule { const body = converters.generateImagesParametersToMldev( this.apiClient, params, + params, ); path = common.formatMap( '{model}:predict', @@ -981,7 +1063,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.generateImagesResponseFromMldev(apiResponse); + const resp = converters.generateImagesResponseFromMldev( + apiResponse, + params, + ); const typedResp = new types.GenerateImagesResponse(); Object.assign(typedResp, resp); return typedResp; @@ -1003,6 +1088,7 @@ export class Models extends BaseModule { const body = converters.editImageParametersInternalToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{model}:predict', @@ -1032,7 +1118,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.editImageResponseFromVertex(apiResponse); + const resp = converters.editImageResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.EditImageResponse(); Object.assign(typedResp, resp); return typedResp; @@ -1056,6 +1145,7 @@ export class Models extends BaseModule { const body = converters.upscaleImageAPIParametersInternalToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{model}:predict', @@ -1085,7 +1175,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.upscaleImageResponseFromVertex(apiResponse); + const resp = converters.upscaleImageResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.UpscaleImageResponse(); Object.assign(typedResp, resp); return typedResp; @@ -1144,6 +1237,7 @@ export class Models extends BaseModule { const body = converters.recontextImageParametersToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{model}:predict', @@ -1167,7 +1261,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.recontextImageResponseFromVertex(apiResponse); + const resp = converters.recontextImageResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.RecontextImageResponse(); Object.assign(typedResp, resp); return typedResp; @@ -1208,6 +1305,7 @@ export class Models extends BaseModule { const body = converters.segmentImageParametersToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{model}:predict', @@ -1231,7 +1329,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.segmentImageResponseFromVertex(apiResponse); + const resp = converters.segmentImageResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.SegmentImageResponse(); Object.assign(typedResp, resp); return typedResp; @@ -1258,6 +1359,7 @@ export class Models extends BaseModule { const body = converters.getModelParametersToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{name}', @@ -1281,12 +1383,16 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.modelFromVertex(apiResponse); + const resp = converters.modelFromVertex(apiResponse, params); return resp as types.Model; }); } else { - const body = converters.getModelParametersToMldev(this.apiClient, params); + const body = converters.getModelParametersToMldev( + this.apiClient, + params, + params, + ); path = common.formatMap( '{name}', body['_url'] as Record, @@ -1309,7 +1415,7 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.modelFromMldev(apiResponse); + const resp = converters.modelFromMldev(apiResponse, params); return resp as types.Model; }); @@ -1327,6 +1433,7 @@ export class Models extends BaseModule { const body = converters.listModelsParametersToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{models_url}', @@ -1356,7 +1463,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.listModelsResponseFromVertex(apiResponse); + const resp = converters.listModelsResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.ListModelsResponse(); Object.assign(typedResp, resp); return typedResp; @@ -1365,6 +1475,7 @@ export class Models extends BaseModule { const body = converters.listModelsParametersToMldev( this.apiClient, params, + params, ); path = common.formatMap( '{models_url}', @@ -1394,7 +1505,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.listModelsResponseFromMldev(apiResponse); + const resp = converters.listModelsResponseFromMldev( + apiResponse, + params, + ); const typedResp = new types.ListModelsResponse(); Object.assign(typedResp, resp); return typedResp; @@ -1428,6 +1542,7 @@ export class Models extends BaseModule { const body = converters.updateModelParametersToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{model}', @@ -1451,7 +1566,7 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.modelFromVertex(apiResponse); + const resp = converters.modelFromVertex(apiResponse, params); return resp as types.Model; }); @@ -1459,6 +1574,7 @@ export class Models extends BaseModule { const body = converters.updateModelParametersToMldev( this.apiClient, params, + params, ); path = common.formatMap( '{name}', @@ -1482,7 +1598,7 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.modelFromMldev(apiResponse); + const resp = converters.modelFromMldev(apiResponse, params); return resp as types.Model; }); @@ -1511,6 +1627,7 @@ export class Models extends BaseModule { const body = converters.deleteModelParametersToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{name}', @@ -1540,7 +1657,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.deleteModelResponseFromVertex(apiResponse); + const resp = converters.deleteModelResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.DeleteModelResponse(); Object.assign(typedResp, resp); return typedResp; @@ -1549,6 +1669,7 @@ export class Models extends BaseModule { const body = converters.deleteModelParametersToMldev( this.apiClient, params, + params, ); path = common.formatMap( '{name}', @@ -1578,7 +1699,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.deleteModelResponseFromMldev(apiResponse); + const resp = converters.deleteModelResponseFromMldev( + apiResponse, + params, + ); const typedResp = new types.DeleteModelResponse(); Object.assign(typedResp, resp); return typedResp; @@ -1613,6 +1737,7 @@ export class Models extends BaseModule { const body = converters.countTokensParametersToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{model}:countTokens', @@ -1642,7 +1767,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.countTokensResponseFromVertex(apiResponse); + const resp = converters.countTokensResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.CountTokensResponse(); Object.assign(typedResp, resp); return typedResp; @@ -1651,6 +1779,7 @@ export class Models extends BaseModule { const body = converters.countTokensParametersToMldev( this.apiClient, params, + params, ); path = common.formatMap( '{model}:countTokens', @@ -1680,7 +1809,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.countTokensResponseFromMldev(apiResponse); + const resp = converters.countTokensResponseFromMldev( + apiResponse, + params, + ); const typedResp = new types.CountTokensResponse(); Object.assign(typedResp, resp); return typedResp; @@ -1717,6 +1849,7 @@ export class Models extends BaseModule { const body = converters.computeTokensParametersToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{model}:computeTokens', @@ -1746,7 +1879,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.computeTokensResponseFromVertex(apiResponse); + const resp = converters.computeTokensResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.ComputeTokensResponse(); Object.assign(typedResp, resp); return typedResp; @@ -1770,6 +1906,7 @@ export class Models extends BaseModule { const body = converters.generateVideosParametersToVertex( this.apiClient, params, + params, ); path = common.formatMap( '{model}:predictLongRunning', @@ -1793,7 +1930,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.generateVideosOperationFromVertex(apiResponse); + const resp = converters.generateVideosOperationFromVertex( + apiResponse, + params, + ); const typedResp = new types.GenerateVideosOperation(); Object.assign(typedResp, resp); return typedResp; @@ -1802,6 +1942,7 @@ export class Models extends BaseModule { const body = converters.generateVideosParametersToMldev( this.apiClient, params, + params, ); path = common.formatMap( '{model}:predictLongRunning', @@ -1825,7 +1966,10 @@ export class Models extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.generateVideosOperationFromMldev(apiResponse); + const resp = converters.generateVideosOperationFromMldev( + apiResponse, + params, + ); const typedResp = new types.GenerateVideosOperation(); Object.assign(typedResp, resp); return typedResp; diff --git a/src/tunings.ts b/src/tunings.ts index 6f61c04d1..53de11793 100644 --- a/src/tunings.ts +++ b/src/tunings.ts @@ -153,7 +153,7 @@ export class Tunings extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.tuningJobFromVertex(apiResponse); + const resp = converters.tuningJobFromVertex(apiResponse, params); return resp as types.TuningJob; }); @@ -187,7 +187,7 @@ export class Tunings extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.tuningJobFromMldev(apiResponse); + const resp = converters.tuningJobFromMldev(apiResponse, params); return resp as types.TuningJob; }); @@ -231,7 +231,10 @@ export class Tunings extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.listTuningJobsResponseFromVertex(apiResponse); + const resp = converters.listTuningJobsResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.ListTuningJobsResponse(); Object.assign(typedResp, resp); return typedResp; @@ -266,7 +269,10 @@ export class Tunings extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.listTuningJobsResponseFromMldev(apiResponse); + const resp = converters.listTuningJobsResponseFromMldev( + apiResponse, + params, + ); const typedResp = new types.ListTuningJobsResponse(); Object.assign(typedResp, resp); return typedResp; @@ -322,7 +328,10 @@ export class Tunings extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.cancelTuningJobResponseFromVertex(apiResponse); + const resp = converters.cancelTuningJobResponseFromVertex( + apiResponse, + params, + ); const typedResp = new types.CancelTuningJobResponse(); Object.assign(typedResp, resp); return typedResp; @@ -357,7 +366,10 @@ export class Tunings extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.cancelTuningJobResponseFromMldev(apiResponse); + const resp = converters.cancelTuningJobResponseFromMldev( + apiResponse, + params, + ); const typedResp = new types.CancelTuningJobResponse(); Object.assign(typedResp, resp); return typedResp; @@ -405,7 +417,7 @@ export class Tunings extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.tuningJobFromVertex(apiResponse); + const resp = converters.tuningJobFromVertex(apiResponse, params); return resp as types.TuningJob; }); @@ -458,7 +470,7 @@ export class Tunings extends BaseModule { }) as Promise; return response.then((apiResponse) => { - const resp = converters.tuningOperationFromMldev(apiResponse); + const resp = converters.tuningOperationFromMldev(apiResponse, params); return resp as types.TuningOperation; }); diff --git a/src/types.ts b/src/types.ts index 21a8a09a3..4503df407 100644 --- a/src/types.ts +++ b/src/types.ts @@ -766,6 +766,18 @@ export enum FunctionCallingConfigMode { VALIDATED = 'VALIDATED', } +/** Enum representing the Vertex embedding API to use. */ +export enum EmbeddingApiType { + /** + * predict API endpoint (default) + */ + PREDICT = 'PREDICT', + /** + * embedContent API Endpoint + */ + EMBED_CONTENT = 'EMBED_CONTENT', +} + /** Enum that controls the safety filter level for objectionable content. */ export enum SafetyFilterLevel { BLOCK_LOW_AND_ABOVE = 'BLOCK_LOW_AND_ABOVE', @@ -3035,14 +3047,20 @@ export declare interface EmbedContentConfig { autoTruncate?: boolean; } -/** Parameters for the embed_content method. */ -export declare interface EmbedContentParameters { +/** Parameters for the _embed_content method. */ +export declare interface EmbedContentParametersPrivate { /** ID of the model to use. For a list of models, see `Google models `_. */ model: string; /** The content to embed. Only the `parts.text` fields will be counted. */ - contents: ContentListUnion; + contents?: ContentListUnion; + /** The single content to embed. Only the `parts.text` fields will be counted. + */ + content?: ContentUnion; + /** The Vertex embedding API to use. + */ + embeddingApiType?: EmbeddingApiType; /** Configuration that contains optional parameters. */ config?: EmbedContentConfig; @@ -6857,6 +6875,19 @@ export declare interface CreateTuningJobParameters { config?: CreateTuningJobConfig; } +/** Parameters for the embed_content method. */ +export declare interface EmbedContentParameters { + /** ID of the model to use. For a list of models, see `Google models + `_. */ + model: string; + /** The content to embed. Only the `parts.text` fields will be counted. + */ + contents: ContentListUnion; + /** Configuration that contains optional parameters. + */ + config?: EmbedContentConfig; +} + /** The response when long-running operation for uploading a file to a FileSearchStore complete. */ export class UploadToFileSearchStoreResponse { /** Used to retain the full HTTP response. */