@google/genai 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -275,6 +275,49 @@ async function main() {
275
275
  main();
276
276
  ```
277
277
 
278
+ #### Model Context Protocol (MCP) support (experimental)
279
+
280
+ Built-in [MCP](https://modelcontextprotocol.io/introduction) support is an
281
+ experimental feature. You can pass a local MCP server as a tool directly.
282
+
283
+ ```javascript
284
+ import { GoogleGenAI, FunctionCallingConfigMode , mcpToTool} from '@google/genai';
285
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
286
+ import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
287
+
288
+ // Create server parameters for stdio connection
289
+ const serverParams = new StdioClientTransport({
290
+ command: "npx", // Executable
291
+ args: ["-y", "@philschmid/weather-mcp"] // MCP Server
292
+ });
293
+
294
+ const client = new Client(
295
+ {
296
+ name: "example-client",
297
+ version: "1.0.0"
298
+ }
299
+ );
300
+
301
+ // Configure the client
302
+ const ai = new GoogleGenAI({});
303
+
304
+ // Initialize the connection between client and server
305
+ await client.connect(serverParams);
306
+
307
+ // Send request to the model with MCP tools
308
+ const response = await ai.models.generateContent({
309
+ model: "gemini-2.5-flash",
310
+ contents: `What is the weather in London in ${new Date().toLocaleDateString()}?`,
311
+ config: {
312
+ tools: [mcpToTool(client)], // uses the session, will automatically call the tool using automatic function calling
313
+ },
314
+ });
315
+ console.log(response.text);
316
+
317
+ // Close the connection
318
+ await client.close();
319
+ ```
320
+
278
321
  ### Generate Content
279
322
 
280
323
  #### How to structure `contents` argument for `generateContent`
package/dist/genai.d.ts CHANGED
@@ -66,6 +66,20 @@ export declare enum AdapterSize {
66
66
  ADAPTER_SIZE_THIRTY_TWO = "ADAPTER_SIZE_THIRTY_TWO"
67
67
  }
68
68
 
69
+ /** The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead. */
70
+ export declare interface ApiAuth {
71
+ /** The API secret. */
72
+ apiKeyConfig?: ApiAuthApiKeyConfig;
73
+ }
74
+
75
+ /** The API secret. */
76
+ export declare interface ApiAuthApiKeyConfig {
77
+ /** Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version} */
78
+ apiKeySecretVersion?: string;
79
+ /** The API key string. Either this or `api_key_secret_version` must be set. */
80
+ apiKeyString?: string;
81
+ }
82
+
69
83
  /**
70
84
  * The ApiClient class is used to send requests to the Gemini API or Vertex AI
71
85
  * endpoints.
@@ -222,9 +236,26 @@ export declare interface ApiKeyConfig {
222
236
  apiKeyString?: string;
223
237
  }
224
238
 
239
+ /** The API spec that the external API implements. */
240
+ export declare enum ApiSpec {
241
+ /**
242
+ * Unspecified API spec. This value should not be used.
243
+ */
244
+ API_SPEC_UNSPECIFIED = "API_SPEC_UNSPECIFIED",
245
+ /**
246
+ * Simple search API spec.
247
+ */
248
+ SIMPLE_SEARCH = "SIMPLE_SEARCH",
249
+ /**
250
+ * Elastic search API spec.
251
+ */
252
+ ELASTIC_SEARCH = "ELASTIC_SEARCH"
253
+ }
254
+
225
255
  /** Representation of an audio chunk. */
226
256
  export declare interface AudioChunk {
227
- /** Raw byets of audio data. */
257
+ /** Raw bytes of audio data.
258
+ * @remarks Encoded as base64 string. */
228
259
  data?: string;
229
260
  /** MIME type of the audio chunk. */
230
261
  mimeType?: string;
@@ -454,6 +485,18 @@ export declare class Batches extends BaseModule {
454
485
  */
455
486
  cancel(params: types.CancelBatchJobParameters): Promise<void>;
456
487
  private listInternal;
488
+ /**
489
+ * Deletes a batch job.
490
+ *
491
+ * @param params - The parameters for the delete request.
492
+ * @return The empty response returned by the API.
493
+ *
494
+ * @example
495
+ * ```ts
496
+ * await ai.batches.delete({name: '...'}); // The server-generated resource name.
497
+ * ```
498
+ */
499
+ delete(params: types.DeleteBatchJobParameters): Promise<types.DeleteResourceJob>;
457
500
  }
458
501
 
459
502
  /** Config for batches.create return value. */
@@ -560,7 +603,8 @@ export declare enum Behavior {
560
603
  declare interface Blob_2 {
561
604
  /** Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is not currently used in the Gemini GenerateContent calls. */
562
605
  displayName?: string;
563
- /** Required. Raw bytes. */
606
+ /** Required. Raw bytes.
607
+ * @remarks Encoded as base64 string. */
564
608
  data?: string;
565
609
  /** Required. The IANA standard MIME type of the source data. */
566
610
  mimeType?: string;
@@ -590,7 +634,11 @@ export declare enum BlockedReason {
590
634
  /**
591
635
  * Candidates blocked due to prohibited content.
592
636
  */
593
- PROHIBITED_CONTENT = "PROHIBITED_CONTENT"
637
+ PROHIBITED_CONTENT = "PROHIBITED_CONTENT",
638
+ /**
639
+ * Candidates blocked due to unsafe image generation content.
640
+ */
641
+ IMAGE_SAFETY = "IMAGE_SAFETY"
594
642
  }
595
643
 
596
644
  /** A resource used in LLM queries for users to explicitly specify what to cache. */
@@ -956,7 +1004,7 @@ export declare interface CitationMetadata {
956
1004
  citations?: Citation[];
957
1005
  }
958
1006
 
959
- /** Result of executing the [ExecutableCode]. Always follows a `part` containing the [ExecutableCode]. */
1007
+ /** Result of executing the [ExecutableCode]. Only generated when using the [CodeExecution] tool, and always follows a `part` containing the [ExecutableCode]. */
960
1008
  export declare interface CodeExecutionResult {
961
1009
  /** Required. Outcome of the code execution. */
962
1010
  outcome?: Outcome;
@@ -1444,6 +1492,30 @@ export declare interface DatasetStats {
1444
1492
  userOutputTokenDistribution?: DatasetDistribution;
1445
1493
  }
1446
1494
 
1495
+ /** Optional parameters for models.get method. */
1496
+ export declare interface DeleteBatchJobConfig {
1497
+ /** Used to override HTTP request options. */
1498
+ httpOptions?: HttpOptions;
1499
+ /** Abort signal which can be used to cancel the request.
1500
+
1501
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
1502
+ operation will not cancel the request in the service. You will still
1503
+ be charged usage for any applicable operations.
1504
+ */
1505
+ abortSignal?: AbortSignal;
1506
+ }
1507
+
1508
+ /** Config for batches.delete parameters. */
1509
+ export declare interface DeleteBatchJobParameters {
1510
+ /** A fully-qualified BatchJob resource name or ID.
1511
+ Example: "projects/.../locations/.../batchPredictionJobs/456"
1512
+ or "456" when project and location are initialized in the client.
1513
+ */
1514
+ name: string;
1515
+ /** Optional parameters for the request. */
1516
+ config?: DeleteBatchJobConfig;
1517
+ }
1518
+
1447
1519
  /** Optional parameters for caches.delete method. */
1448
1520
  export declare interface DeleteCachedContentConfig {
1449
1521
  /** Used to override HTTP request options. */
@@ -1519,6 +1591,13 @@ export declare interface DeleteModelParameters {
1519
1591
  export declare class DeleteModelResponse {
1520
1592
  }
1521
1593
 
1594
+ /** The return value of delete operation. */
1595
+ export declare interface DeleteResourceJob {
1596
+ name?: string;
1597
+ done?: boolean;
1598
+ error?: JobError;
1599
+ }
1600
+
1522
1601
  /** Statistics computed for datasets used for distillation. */
1523
1602
  export declare interface DistillationDataStats {
1524
1603
  /** Output only. Statistics computed for the training dataset. */
@@ -1803,7 +1882,19 @@ export declare enum EndSensitivity {
1803
1882
  export declare interface EnterpriseWebSearch {
1804
1883
  }
1805
1884
 
1806
- /** Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the [FunctionDeclaration] tool and [FunctionCallingConfig] mode is set to [Mode.CODE]. */
1885
+ /** Required. The environment being operated. */
1886
+ export declare enum Environment {
1887
+ /**
1888
+ * Defaults to browser.
1889
+ */
1890
+ ENVIRONMENT_UNSPECIFIED = "ENVIRONMENT_UNSPECIFIED",
1891
+ /**
1892
+ * Operates in a web browser.
1893
+ */
1894
+ ENVIRONMENT_BROWSER = "ENVIRONMENT_BROWSER"
1895
+ }
1896
+
1897
+ /** Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the [CodeExecution] tool, in which the code will be automatically executed, and a corresponding [CodeExecutionResult] will also be generated. */
1807
1898
  export declare interface ExecutableCode {
1808
1899
  /** Required. The code to be executed. */
1809
1900
  code?: string;
@@ -1811,6 +1902,36 @@ export declare interface ExecutableCode {
1811
1902
  language?: Language;
1812
1903
  }
1813
1904
 
1905
+ /** Retrieve from data source powered by external API for grounding. The external API is not owned by Google, but need to follow the pre-defined API spec. */
1906
+ export declare interface ExternalApi {
1907
+ /** The authentication config to access the API. Deprecated. Please use auth_config instead. */
1908
+ apiAuth?: ApiAuth;
1909
+ /** The API spec that the external API implements. */
1910
+ apiSpec?: ApiSpec;
1911
+ /** The authentication config to access the API. */
1912
+ authConfig?: AuthConfig;
1913
+ /** Parameters for the elastic search API. */
1914
+ elasticSearchParams?: ExternalApiElasticSearchParams;
1915
+ /** The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search */
1916
+ endpoint?: string;
1917
+ /** Parameters for the simple search API. */
1918
+ simpleSearchParams?: ExternalApiSimpleSearchParams;
1919
+ }
1920
+
1921
+ /** The search parameters to use for the ELASTIC_SEARCH spec. */
1922
+ export declare interface ExternalApiElasticSearchParams {
1923
+ /** The ElasticSearch index to use. */
1924
+ index?: string;
1925
+ /** Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param. */
1926
+ numHits?: number;
1927
+ /** The ElasticSearch search template to use. */
1928
+ searchTemplate?: string;
1929
+ }
1930
+
1931
+ /** The search parameters to use for SIMPLE_SEARCH spec. */
1932
+ export declare interface ExternalApiSimpleSearchParams {
1933
+ }
1934
+
1814
1935
  /** Options for feature selection preference. */
1815
1936
  export declare enum FeatureSelectionPreference {
1816
1937
  FEATURE_SELECTION_PREFERENCE_UNSPECIFIED = "FEATURE_SELECTION_PREFERENCE_UNSPECIFIED",
@@ -2746,6 +2867,8 @@ export declare interface GenerationConfig {
2746
2867
  audioTimestamp?: boolean;
2747
2868
  /** Optional. Number of candidates to generate. */
2748
2869
  candidateCount?: number;
2870
+ /** Optional. If enabled, the model will detect emotions and adapt its responses accordingly. */
2871
+ enableAffectiveDialog?: boolean;
2749
2872
  /** Optional. Frequency penalties. */
2750
2873
  frequencyPenalty?: number;
2751
2874
  /** Optional. Logit probabilities. */
@@ -2756,6 +2879,8 @@ export declare interface GenerationConfig {
2756
2879
  mediaResolution?: MediaResolution;
2757
2880
  /** Optional. Positive penalties. */
2758
2881
  presencePenalty?: number;
2882
+ /** Optional. Output schema of the generated response. This is an alternative to `response_schema` that accepts [JSON Schema](https://json-schema.org/). If set, `response_schema` must be omitted, but `response_mime_type` is required. While the full JSON Schema may be sent, not all features are supported. Specifically, only the following properties are supported: - `$id` - `$defs` - `$ref` - `$anchor` - `type` - `format` - `title` - `description` - `enum` (for strings and numbers) - `items` - `prefixItems` - `minItems` - `maxItems` - `minimum` - `maximum` - `anyOf` - `oneOf` (interpreted the same as `anyOf`) - `properties` - `additionalProperties` - `required` The non-standard `propertyOrdering` property may also be set. Cyclic references are unrolled to a limited degree and, as such, may only be used within non-required properties. (Nullable properties are not sufficient.) If `$ref` is set on a sub-schema, no other properties, except for than those starting as a `$`, may be set. */
2883
+ responseJsonSchema?: unknown;
2759
2884
  /** Optional. If true, export the logprobs results in response. */
2760
2885
  responseLogprobs?: boolean;
2761
2886
  /** Optional. Output response mimetype of the generated candidate text. Supported mimetype: - `text/plain`: (default) Text output. - `application/json`: JSON response in the candidates. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. This is a preview feature. */
@@ -2764,8 +2889,6 @@ export declare interface GenerationConfig {
2764
2889
  responseModalities?: Modality[];
2765
2890
  /** Optional. The `Schema` object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema). If set, a compatible response_mime_type must also be set. Compatible mimetypes: `application/json`: Schema for JSON response. */
2766
2891
  responseSchema?: Schema;
2767
- /** Optional. Output schema of the generated response. This is an alternative to `response_schema` that accepts [JSON Schema](https://json-schema.org/). If set, `response_schema` must be omitted, but `response_mime_type` is required. While the full JSON Schema may be sent, not all features are supported. Specifically, only the following properties are supported: - `$id` - `$defs` - `$ref` - `$anchor` - `type` - `format` - `title` - `description` - `enum` (for strings and numbers) - `items` - `prefixItems` - `minItems` - `maxItems` - `minimum` - `maximum` - `anyOf` - `oneOf` (interpreted the same as `anyOf`) - `properties` - `additionalProperties` - `required` The non-standard `propertyOrdering` property may also be set. Cyclic references are unrolled to a limited degree and, as such, may only be used within non-required properties. (Nullable properties are not sufficient.) If `$ref` is set on a sub-schema, no other properties, except for than those starting as a `$`, may be set. */
2768
- responseJsonSchema?: unknown;
2769
2892
  /** Optional. Routing configuration. */
2770
2893
  routingConfig?: GenerationConfigRoutingConfig;
2771
2894
  /** Optional. Seed. */
@@ -3138,7 +3261,7 @@ export declare interface GroundingMetadata {
3138
3261
 
3139
3262
  /** Grounding support. */
3140
3263
  export declare interface GroundingSupport {
3141
- /** Confidence score of the support references. Ranges from 0 to 1. 1 is the most confident. This list must have the same size as the grounding_chunk_indices. */
3264
+ /** Confidence score of the support references. Ranges from 0 to 1. 1 is the most confident. For Gemini 2.0 and before, this list must have the same size as the grounding_chunk_indices. For Gemini 2.5 and after, this list will be empty and should be ignored. */
3142
3265
  confidenceScores?: number[];
3143
3266
  /** A list of indices (into 'grounding_chunk') specifying the citations associated with the claim. For instance [1,3,4] means that grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] are the retrieved content attributed to the claim. */
3144
3267
  groundingChunkIndices?: number[];
@@ -3215,7 +3338,23 @@ export declare enum HarmCategory {
3215
3338
  /**
3216
3339
  * Deprecated: Election filter is not longer supported. The harm category is civic integrity.
3217
3340
  */
3218
- HARM_CATEGORY_CIVIC_INTEGRITY = "HARM_CATEGORY_CIVIC_INTEGRITY"
3341
+ HARM_CATEGORY_CIVIC_INTEGRITY = "HARM_CATEGORY_CIVIC_INTEGRITY",
3342
+ /**
3343
+ * The harm category is image hate.
3344
+ */
3345
+ HARM_CATEGORY_IMAGE_HATE = "HARM_CATEGORY_IMAGE_HATE",
3346
+ /**
3347
+ * The harm category is image dangerous content.
3348
+ */
3349
+ HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT = "HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT",
3350
+ /**
3351
+ * The harm category is image harassment.
3352
+ */
3353
+ HARM_CATEGORY_IMAGE_HARASSMENT = "HARM_CATEGORY_IMAGE_HARASSMENT",
3354
+ /**
3355
+ * The harm category is image sexually explicit content.
3356
+ */
3357
+ HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT = "HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT"
3219
3358
  }
3220
3359
 
3221
3360
  /** Output only. Harm probability levels in the content. */
@@ -3349,7 +3488,8 @@ declare interface Image_2 {
3349
3488
  gcsUri?: string;
3350
3489
  /** The image bytes data. ``Image`` can contain a value for this field
3351
3490
  or the ``gcs_uri`` field but not both.
3352
- */
3491
+
3492
+ * @remarks Encoded as base64 string. */
3353
3493
  imageBytes?: string;
3354
3494
  /** The MIME type of the image. */
3355
3495
  mimeType?: string;
@@ -3358,11 +3498,38 @@ export { Image_2 as Image }
3358
3498
 
3359
3499
  /** Enum that specifies the language of the text in the prompt. */
3360
3500
  export declare enum ImagePromptLanguage {
3501
+ /**
3502
+ * Auto-detect the language.
3503
+ */
3361
3504
  auto = "auto",
3505
+ /**
3506
+ * English
3507
+ */
3362
3508
  en = "en",
3509
+ /**
3510
+ * Japanese
3511
+ */
3363
3512
  ja = "ja",
3513
+ /**
3514
+ * Korean
3515
+ */
3364
3516
  ko = "ko",
3365
- hi = "hi"
3517
+ /**
3518
+ * Hindi
3519
+ */
3520
+ hi = "hi",
3521
+ /**
3522
+ * Chinese
3523
+ */
3524
+ zh = "zh",
3525
+ /**
3526
+ * Portuguese
3527
+ */
3528
+ pt = "pt",
3529
+ /**
3530
+ * Spanish
3531
+ */
3532
+ es = "es"
3366
3533
  }
3367
3534
 
3368
3535
  /** Config for inlined request. */
@@ -3660,7 +3827,7 @@ export declare class Live {
3660
3827
  if (GOOGLE_GENAI_USE_VERTEXAI) {
3661
3828
  model = 'gemini-2.0-flash-live-preview-04-09';
3662
3829
  } else {
3663
- model = 'gemini-2.0-flash-live-001';
3830
+ model = 'gemini-live-2.5-flash-preview';
3664
3831
  }
3665
3832
  const session = await ai.live.connect({
3666
3833
  model: model,
@@ -4361,6 +4528,8 @@ export declare interface LiveServerSessionResumptionUpdate {
4361
4528
  }
4362
4529
 
4363
4530
  export declare interface LiveServerSetupComplete {
4531
+ /** The session id of the live session. */
4532
+ sessionId?: string;
4364
4533
  }
4365
4534
 
4366
4535
  /** Request for the client to execute the `function_calls` and return the responses with the matching `id`s. */
@@ -4624,6 +4793,14 @@ export declare class Models extends BaseModule {
4624
4793
  * ```
4625
4794
  */
4626
4795
  generateContent: (params: types.GenerateContentParameters) => Promise<types.GenerateContentResponse>;
4796
+ /**
4797
+ * This logic is needed for GenerateContentConfig only.
4798
+ * Previously we made GenerateContentConfig.responseSchema field to accept
4799
+ * unknown. Since v1.9.0, we switch to use backend JSON schema support.
4800
+ * To maintain backward compatibility, we move the data that was treated as
4801
+ * JSON schema from the responseSchema field to the responseJsonSchema field.
4802
+ */
4803
+ private maybeMoveToResponseJsonSchem;
4627
4804
  /**
4628
4805
  * Makes an API request to generate content with a given model and yields the
4629
4806
  * response in chunks.
@@ -5094,7 +5271,8 @@ export declare interface Part {
5094
5271
  inlineData?: Blob_2;
5095
5272
  /** Optional. URI based data. */
5096
5273
  fileData?: FileData;
5097
- /** An opaque signature for the thought so it can be reused in subsequent requests. */
5274
+ /** An opaque signature for the thought so it can be reused in subsequent requests.
5275
+ * @remarks Encoded as base64 string. */
5098
5276
  thoughtSignature?: string;
5099
5277
  /** Optional. Result of executing the [ExecutableCode]. */
5100
5278
  codeExecutionResult?: CodeExecutionResult;
@@ -5299,6 +5477,8 @@ export declare class ReplayResponse {
5299
5477
  export declare interface Retrieval {
5300
5478
  /** Optional. Deprecated. This option is no longer supported. */
5301
5479
  disableAttribution?: boolean;
5480
+ /** Use data source powered by external API for grounding. */
5481
+ externalApi?: ExternalApi;
5302
5482
  /** Set to use data source powered by Vertex AI Search. */
5303
5483
  vertexAiSearch?: VertexAISearch;
5304
5484
  /** Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService. */
@@ -5347,6 +5527,8 @@ export declare interface SafetyRating {
5347
5527
  blocked?: boolean;
5348
5528
  /** Output only. Harm category. */
5349
5529
  category?: HarmCategory;
5530
+ /** Output only. The overwritten threshold for the safety category of Gemini 2.0 image out. If minors are detected in the output image, the threshold of each safety category will be overwritten if user sets a lower threshold. */
5531
+ overwrittenThreshold?: HarmBlockThreshold;
5350
5532
  /** Output only. Harm probability levels in the content. */
5351
5533
  probability?: HarmProbability;
5352
5534
  /** Output only. Harm probability score. */
@@ -5483,7 +5665,8 @@ export declare type SchemaUnion = Schema | unknown;
5483
5665
  export declare interface SearchEntryPoint {
5484
5666
  /** Optional. Web content snippet that can be embedded in a web page or an app webview. */
5485
5667
  renderedContent?: string;
5486
- /** Optional. Base64 encoded JSON representing array of tuple. */
5668
+ /** Optional. Base64 encoded JSON representing array of tuple.
5669
+ * @remarks Encoded as base64 string. */
5487
5670
  sdkBlob?: string;
5488
5671
  }
5489
5672
 
@@ -5630,7 +5813,7 @@ export declare class Session {
5630
5813
  if (GOOGLE_GENAI_USE_VERTEXAI) {
5631
5814
  model = 'gemini-2.0-flash-live-preview-04-09';
5632
5815
  } else {
5633
- model = 'gemini-2.0-flash-live-001';
5816
+ model = 'gemini-live-2.5-flash-preview';
5634
5817
  }
5635
5818
  const session = await ai.live.connect({
5636
5819
  model: model,
@@ -5804,7 +5987,7 @@ export declare interface SupervisedHyperParameters {
5804
5987
  adapterSize?: AdapterSize;
5805
5988
  /** Optional. Number of complete passes the model makes over the entire training dataset during training. */
5806
5989
  epochCount?: string;
5807
- /** Optional. Multiplier for adjusting the default learning rate. */
5990
+ /** Optional. Multiplier for adjusting the default learning rate. Mutually exclusive with `learning_rate`. */
5808
5991
  learningRateMultiplier?: number;
5809
5992
  }
5810
5993
 
@@ -5874,9 +6057,9 @@ export declare interface SupervisedTuningSpec {
5874
6057
  exportLastCheckpointOnly?: boolean;
5875
6058
  /** Optional. Hyperparameters for SFT. */
5876
6059
  hyperParameters?: SupervisedHyperParameters;
5877
- /** Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. */
6060
+ /** Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. */
5878
6061
  trainingDatasetUri?: string;
5879
- /** Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file. */
6062
+ /** Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. */
5880
6063
  validationDatasetUri?: string;
5881
6064
  }
5882
6065
 
@@ -5925,14 +6108,20 @@ export declare class Tokens extends BaseModule {
5925
6108
  * @experimental
5926
6109
  *
5927
6110
  * @remarks
5928
- * Ephermeral auth tokens is only supported in the Gemini Developer API.
6111
+ * Ephemeral auth tokens is only supported in the Gemini Developer API.
5929
6112
  * It can be used for the session connection to the Live constrained API.
6113
+ * Support in v1alpha only.
5930
6114
  *
5931
6115
  * @param params - The parameters for the create request.
5932
6116
  * @return The created auth token.
5933
6117
  *
5934
6118
  * @example
5935
6119
  * ```ts
6120
+ * const ai = new GoogleGenAI({
6121
+ * apiKey: token.name,
6122
+ * httpOptions: { apiVersion: 'v1alpha' } // Support in v1alpha only.
6123
+ * });
6124
+ *
5936
6125
  * // Case 1: If LiveEphemeralParameters is unset, unlock LiveConnectConfig
5937
6126
  * // when using the token in Live API sessions. Each session connection can
5938
6127
  * // use a different configuration.
@@ -6005,7 +6194,8 @@ export declare interface TokensInfo {
6005
6194
  role?: string;
6006
6195
  /** A list of token ids from the input. */
6007
6196
  tokenIds?: string[];
6008
- /** A list of tokens from the input. */
6197
+ /** A list of tokens from the input.
6198
+ * @remarks Encoded as base64 string. */
6009
6199
  tokens?: string[];
6010
6200
  }
6011
6201
 
@@ -6030,12 +6220,20 @@ export declare interface Tool {
6030
6220
  urlContext?: UrlContext;
6031
6221
  /** Optional. CodeExecution tool type. Enables the model to execute code as part of generation. */
6032
6222
  codeExecution?: ToolCodeExecution;
6223
+ /** Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations. */
6224
+ computerUse?: ToolComputerUse;
6033
6225
  }
6034
6226
 
6035
6227
  /** Tool that executes code generated by the model, and automatically returns the result to the model. See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool. */
6036
6228
  export declare interface ToolCodeExecution {
6037
6229
  }
6038
6230
 
6231
+ /** Tool to support computer use. */
6232
+ export declare interface ToolComputerUse {
6233
+ /** Required. The environment being operated. */
6234
+ environment?: Environment;
6235
+ }
6236
+
6039
6237
  /** Tool config.
6040
6238
 
6041
6239
  This config is shared for all tools provided in the request.
@@ -6119,6 +6317,8 @@ export declare interface TunedModelInfo {
6119
6317
  export declare interface TuningDataset {
6120
6318
  /** GCS URI of the file containing training dataset in JSONL format. */
6121
6319
  gcsUri?: string;
6320
+ /** The resource name of the Vertex Multimodal Dataset that is used as training dataset. Example: 'projects/my-project-id-or-number/locations/my-location/datasets/my-dataset-id'. */
6321
+ vertexDatasetResource?: string;
6122
6322
  /** Inline examples with simple input/output text. */
6123
6323
  examples?: TuningExample[];
6124
6324
  }
@@ -6176,6 +6376,10 @@ export declare interface TuningJob {
6176
6376
  labels?: Record<string, string>;
6177
6377
  /** Output only. The resource name of the PipelineJob associated with the TuningJob. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`. */
6178
6378
  pipelineJob?: string;
6379
+ /** Output only. Reserved for future use. */
6380
+ satisfiesPzi?: boolean;
6381
+ /** Output only. Reserved for future use. */
6382
+ satisfiesPzs?: boolean;
6179
6383
  /** The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. */
6180
6384
  serviceAccount?: string;
6181
6385
  /** Optional. The display name of the TunedModel. The name can be up to 128 characters long and can consist of any UTF-8 characters. */
@@ -6224,6 +6428,8 @@ declare class Tunings extends BaseModule {
6224
6428
  export declare interface TuningValidationDataset {
6225
6429
  /** GCS URI of the file containing validation dataset in JSONL format. */
6226
6430
  gcsUri?: string;
6431
+ /** The resource name of the Vertex Multimodal Dataset that is used as training dataset. Example: 'projects/my-project-id-or-number/locations/my-location/datasets/my-dataset-id'. */
6432
+ vertexDatasetResource?: string;
6227
6433
  }
6228
6434
 
6229
6435
  /** Options about which input is included in the user's turn. */
@@ -6297,6 +6503,9 @@ declare namespace types {
6297
6503
  HarmBlockThreshold,
6298
6504
  Mode,
6299
6505
  AuthType,
6506
+ ApiSpec,
6507
+ Environment,
6508
+ UrlRetrievalStatus,
6300
6509
  FinishReason,
6301
6510
  HarmProbability,
6302
6511
  HarmSeverity,
@@ -6310,7 +6519,6 @@ declare namespace types {
6310
6519
  Behavior,
6311
6520
  DynamicRetrievalConfigMode,
6312
6521
  FunctionCallingConfigMode,
6313
- UrlRetrievalStatus,
6314
6522
  SafetyFilterLevel,
6315
6523
  PersonGeneration,
6316
6524
  ImagePromptLanguage,
@@ -6356,6 +6564,11 @@ declare namespace types {
6356
6564
  AuthConfig,
6357
6565
  GoogleMaps,
6358
6566
  UrlContext,
6567
+ ApiAuthApiKeyConfig,
6568
+ ApiAuth,
6569
+ ExternalApiElasticSearchParams,
6570
+ ExternalApiSimpleSearchParams,
6571
+ ExternalApi,
6359
6572
  VertexAISearchDataStoreSpec,
6360
6573
  VertexAISearch,
6361
6574
  VertexRagStoreRagResource,
@@ -6368,6 +6581,7 @@ declare namespace types {
6368
6581
  VertexRagStore,
6369
6582
  Retrieval,
6370
6583
  ToolCodeExecution,
6584
+ ToolComputerUse,
6371
6585
  Tool,
6372
6586
  FunctionCallingConfig,
6373
6587
  LatLng,
@@ -6532,6 +6746,9 @@ declare namespace types {
6532
6746
  ListBatchJobsConfig,
6533
6747
  ListBatchJobsParameters,
6534
6748
  ListBatchJobsResponse,
6749
+ DeleteBatchJobConfig,
6750
+ DeleteBatchJobParameters,
6751
+ DeleteResourceJob,
6535
6752
  GetOperationConfig,
6536
6753
  GetOperationParameters,
6537
6754
  FetchPredictOperationConfig,
@@ -6880,7 +7097,8 @@ export declare interface VertexRagStoreRagResource {
6880
7097
  export declare interface Video {
6881
7098
  /** Path to another storage. */
6882
7099
  uri?: string;
6883
- /** Video bytes. */
7100
+ /** Video bytes.
7101
+ * @remarks Encoded as base64 string. */
6884
7102
  videoBytes?: string;
6885
7103
  /** Video encoding, for example "video/mp4". */
6886
7104
  mimeType?: string;