@google/genai 1.22.0 → 1.24.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/dist/genai.d.ts CHANGED
@@ -5,8 +5,7 @@ import { GoogleAuthOptions } from 'google-auth-library';
5
5
  /** Marks the end of user activity.
6
6
 
7
7
  This can only be sent if automatic (i.e. server-side) activity detection is
8
- disabled.
9
- */
8
+ disabled. */
10
9
  export declare interface ActivityEnd {
11
10
  }
12
11
 
@@ -29,8 +28,7 @@ export declare enum ActivityHandling {
29
28
  /** Marks the start of user activity.
30
29
 
31
30
  This can only be sent if automatic (i.e. server-side) activity detection is
32
- disabled.
33
- */
31
+ disabled. */
34
32
  export declare interface ActivityStart {
35
33
  }
36
34
 
@@ -1153,8 +1151,7 @@ export declare type ContentListUnion = Content | Content[] | PartUnion | PartUni
1153
1151
 
1154
1152
  A content reference image represents a subject to reference (ex. person,
1155
1153
  product, animal) provided by the user. It can optionally be provided in
1156
- addition to a style reference image (ex. background, style reference).
1157
- */
1154
+ addition to a style reference image (ex. background, style reference). */
1158
1155
  export declare class ContentReferenceImage {
1159
1156
  /** The reference image for the editing operation. */
1160
1157
  referenceImage?: Image_2;
@@ -1194,8 +1191,7 @@ export declare interface ControlReferenceConfig {
1194
1191
  enable_control_image_computation field in the config should be set to True.
1195
1192
 
1196
1193
  A control image is an image that represents a sketch image of areas for the
1197
- model to fill in based on the prompt.
1198
- */
1194
+ model to fill in based on the prompt. */
1199
1195
  export declare class ControlReferenceImage {
1200
1196
  /** The reference image for the editing operation. */
1201
1197
  referenceImage?: Image_2;
@@ -1390,8 +1386,7 @@ export declare interface CreateCachedContentParameters {
1390
1386
  /** Parameters for initializing a new chat session.
1391
1387
 
1392
1388
  These parameters are used when creating a chat session with the
1393
- `chats.create()` method.
1394
- */
1389
+ `chats.create()` method. */
1395
1390
  export declare interface CreateChatParameters {
1396
1391
  /** The name of the model to use for the chat session.
1397
1392
 
@@ -1475,6 +1470,16 @@ export declare class CreateFileResponse {
1475
1470
  sdkHttpResponse?: HttpResponse;
1476
1471
  }
1477
1472
 
1473
+ /**
1474
+ * Creates a `FunctionResponsePart` object from a `base64` encoded `string`.
1475
+ */
1476
+ export declare function createFunctionResponsePartFromBase64(data: string, mimeType: string): FunctionResponsePart;
1477
+
1478
+ /**
1479
+ * Creates a `FunctionResponsePart` object from a `URI` string.
1480
+ */
1481
+ export declare function createFunctionResponsePartFromUri(uri: string, mimeType: string): FunctionResponsePart;
1482
+
1478
1483
  /**
1479
1484
  * Creates a `Content` object with a model role from a `PartListUnion` object or `string`.
1480
1485
  */
@@ -1503,7 +1508,7 @@ export declare function createPartFromFunctionCall(name: string, args: Record<st
1503
1508
  /**
1504
1509
  * Creates a `Part` object from a `FunctionResponse` object.
1505
1510
  */
1506
- export declare function createPartFromFunctionResponse(id: string, name: string, response: Record<string, unknown>): Part;
1511
+ export declare function createPartFromFunctionResponse(id: string, name: string, response: Record<string, unknown>, parts?: FunctionResponsePart[]): Part;
1507
1512
 
1508
1513
  /**
1509
1514
  * Creates a `Part` object from a `text` string.
@@ -1849,6 +1854,8 @@ export declare interface EditImageConfig {
1849
1854
  outputCompressionQuality?: number;
1850
1855
  /** Whether to add a watermark to the generated images. */
1851
1856
  addWatermark?: boolean;
1857
+ /** User specified labels to track billing usage. */
1858
+ labels?: Record<string, string>;
1852
1859
  /** Describes the editing mode for the request. */
1853
1860
  editMode?: EditMode;
1854
1861
  /** The number of sampling steps. A higher value has better image
@@ -2302,8 +2309,7 @@ export declare interface FileStatus {
2302
2309
 
2303
2310
  /** Output only. The reason why the model stopped generating tokens.
2304
2311
 
2305
- If empty, the model has not stopped generating the tokens.
2306
- */
2312
+ If empty, the model has not stopped generating the tokens. */
2307
2313
  export declare enum FinishReason {
2308
2314
  /**
2309
2315
  * The finish reason is unspecified.
@@ -2360,7 +2366,11 @@ export declare enum FinishReason {
2360
2366
  /**
2361
2367
  * Image generation stopped because the generated images have prohibited content.
2362
2368
  */
2363
- IMAGE_PROHIBITED_CONTENT = "IMAGE_PROHIBITED_CONTENT"
2369
+ IMAGE_PROHIBITED_CONTENT = "IMAGE_PROHIBITED_CONTENT",
2370
+ /**
2371
+ * The model was expected to generate an image, but none was generated.
2372
+ */
2373
+ NO_IMAGE = "NO_IMAGE"
2364
2374
  }
2365
2375
 
2366
2376
  /** A function call. */
@@ -2409,8 +2419,7 @@ export declare enum FunctionCallingConfigMode {
2409
2419
  /** Defines a function that the model can generate JSON inputs for.
2410
2420
 
2411
2421
  The inputs are based on `OpenAPI 3.0 specifications
2412
- <https://spec.openapis.org/oas/v3.0.3>`_.
2413
- */
2422
+ <https://spec.openapis.org/oas/v3.0.3>`_. */
2414
2423
  export declare interface FunctionDeclaration {
2415
2424
  /** Defines the function behavior. */
2416
2425
  behavior?: Behavior;
@@ -2448,8 +2457,7 @@ export declare class FunctionResponse {
2448
2457
  /** Raw media bytes for function response.
2449
2458
 
2450
2459
  Text should not be sent as raw bytes, use the FunctionResponse.response
2451
- field.
2452
- */
2460
+ field. */
2453
2461
  export declare class FunctionResponseBlob {
2454
2462
  /** Required. The IANA standard MIME type of the source data. */
2455
2463
  mimeType?: string;
@@ -2474,8 +2482,7 @@ export declare class FunctionResponseFileData {
2474
2482
 
2475
2483
  A `FunctionResponsePart` must have a fixed IANA MIME type identifying the
2476
2484
  type and subtype of the media if the `inline_data` field is filled with raw
2477
- bytes.
2478
- */
2485
+ bytes. */
2479
2486
  export declare class FunctionResponsePart {
2480
2487
  /** Optional. Inline media bytes. */
2481
2488
  inlineData?: FunctionResponseBlob;
@@ -2522,8 +2529,7 @@ export declare interface GeminiPreferenceExampleCompletion {
2522
2529
  /** Optional model configuration parameters.
2523
2530
 
2524
2531
  For more information, see `Content generation parameters
2525
- <https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/content-generation-parameters>`_.
2526
- */
2532
+ <https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/content-generation-parameters>`_. */
2527
2533
  export declare interface GenerateContentConfig {
2528
2534
  /** Used to override HTTP request options. */
2529
2535
  httpOptions?: HttpOptions;
@@ -2945,6 +2951,8 @@ export declare interface GenerateImagesConfig {
2945
2951
  outputCompressionQuality?: number;
2946
2952
  /** Whether to add a watermark to the generated images. */
2947
2953
  addWatermark?: boolean;
2954
+ /** User specified labels to track billing usage. */
2955
+ labels?: Record<string, string>;
2948
2956
  /** The size of the largest dimension of the generated image.
2949
2957
  Supported sizes are 1K and 2K (not supported for Imagen 3 models). */
2950
2958
  imageSize?: string;
@@ -3415,6 +3423,8 @@ export declare interface GoogleGenAIOptions {
3415
3423
  export declare interface GoogleMaps {
3416
3424
  /** Optional. Auth config for the Google Maps tool. */
3417
3425
  authConfig?: AuthConfig;
3426
+ /** Optional. If true, include the widget context token in the response. */
3427
+ enableWidget?: boolean;
3418
3428
  }
3419
3429
 
3420
3430
  /** The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */
@@ -3508,6 +3518,10 @@ export declare interface GroundingChunkMapsPlaceAnswerSourcesReviewSnippet {
3508
3518
  relativePublishTimeDescription?: string;
3509
3519
  /** A reference representing this place review which may be used to look up this place review again. */
3510
3520
  review?: string;
3521
+ /** Id of the review referencing the place. */
3522
+ reviewId?: string;
3523
+ /** Title of the review. */
3524
+ title?: string;
3511
3525
  }
3512
3526
 
3513
3527
  /** Chunk from context retrieved by the retrieval tools. */
@@ -3548,10 +3562,20 @@ export declare interface GroundingMetadata {
3548
3562
  retrievalQueries?: string[];
3549
3563
  /** Optional. Google search entry for the following-up web searches. */
3550
3564
  searchEntryPoint?: SearchEntryPoint;
3565
+ /** Optional. Output only. List of source flagging uris. This is currently populated only for Google Maps grounding. */
3566
+ sourceFlaggingUris?: GroundingMetadataSourceFlaggingUri[];
3551
3567
  /** Optional. Web search queries for the following-up web search. */
3552
3568
  webSearchQueries?: string[];
3553
3569
  }
3554
3570
 
3571
+ /** Source content flagging uri for a place or review. This is currently populated only for Google Maps grounding. */
3572
+ export declare interface GroundingMetadataSourceFlaggingUri {
3573
+ /** A link where users can flag a problem with the source (place or review). */
3574
+ flagContentUri?: string;
3575
+ /** Id of the place or review. */
3576
+ sourceId?: string;
3577
+ }
3578
+
3555
3579
  /** Grounding support. */
3556
3580
  export declare interface GroundingSupport {
3557
3581
  /** 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. */
@@ -3851,6 +3875,8 @@ export declare interface InlinedRequest {
3851
3875
  /** Content of the request.
3852
3876
  */
3853
3877
  contents?: ContentListUnion;
3878
+ /** The metadata to be associated with the request. */
3879
+ metadata?: Record<string, string>;
3854
3880
  /** Configuration that contains optional model parameters.
3855
3881
  */
3856
3882
  config?: GenerateContentConfig;
@@ -3871,8 +3897,7 @@ export declare class InlinedResponse {
3871
3897
  The start time must be less than or equal to the end time.
3872
3898
  When the start equals the end time, the interval is an empty interval.
3873
3899
  (matches no time)
3874
- When both start and end are unspecified, the interval matches any time.
3875
- */
3900
+ When both start and end are unspecified, the interval matches any time. */
3876
3901
  export declare interface Interval {
3877
3902
  /** The start time of the interval. */
3878
3903
  startTime?: string;
@@ -3959,8 +3984,7 @@ export declare enum Language {
3959
3984
  This is expressed as a pair of doubles to represent degrees latitude and
3960
3985
  degrees longitude. Unless specified otherwise, this object must conform to the
3961
3986
  <a href="https://en.wikipedia.org/wiki/World_Geodetic_System#1984_version">
3962
- WGS84 standard</a>. Values must be within normalized ranges.
3963
- */
3987
+ WGS84 standard</a>. Values must be within normalized ranges. */
3964
3988
  export declare interface LatLng {
3965
3989
  /** The latitude in degrees. It must be in the range [-90.0, +90.0]. */
3966
3990
  latitude?: number;
@@ -4201,8 +4225,7 @@ export declare interface LiveCallbacks {
4201
4225
  All the content here will unconditionally be appended to the conversation
4202
4226
  history and used as part of the prompt to the model to generate content.
4203
4227
 
4204
- A message here will interrupt any current model generation.
4205
- */
4228
+ A message here will interrupt any current model generation. */
4206
4229
  export declare interface LiveClientContent {
4207
4230
  /** The content appended to the current conversation with the model.
4208
4231
 
@@ -4242,8 +4265,7 @@ export declare interface LiveClientMessage {
4242
4265
  - Even before the end of turn, the data is processed incrementally
4243
4266
  to optimize for a fast start of the response from the model.
4244
4267
  - Is always assumed to be the user's input (cannot be used to populate
4245
- conversation history).
4246
- */
4268
+ conversation history). */
4247
4269
  export declare interface LiveClientRealtimeInput {
4248
4270
  /** Inlined bytes data for media input. */
4249
4271
  mediaChunks?: Blob_2[];
@@ -4320,8 +4342,7 @@ export declare interface LiveClientSetup {
4320
4342
  Note that in the unary and server-streaming GenerateContent APIs function
4321
4343
  calling happens by exchanging the `Content` parts, while in the bidi
4322
4344
  GenerateContent APIs function calling happens over this dedicated set of
4323
- messages.
4324
- */
4345
+ messages. */
4325
4346
  export declare class LiveClientToolResponse {
4326
4347
  /** The response to the function calls. */
4327
4348
  functionResponses?: FunctionResponse[];
@@ -4601,8 +4622,7 @@ export declare enum LiveMusicPlaybackControl {
4601
4622
  /** Server update generated by the model in response to client messages.
4602
4623
 
4603
4624
  Content is generated as quickly as possible, and not in real time.
4604
- Clients may choose to buffer and play it out in real time.
4605
- */
4625
+ Clients may choose to buffer and play it out in real time. */
4606
4626
  export declare interface LiveMusicServerContent {
4607
4627
  /** The audio chunks that the model has generated. */
4608
4628
  audioChunks?: AudioChunk[];
@@ -4764,8 +4784,7 @@ export declare class LiveSendToolResponseParameters {
4764
4784
  /** Incremental server update generated by the model in response to client messages.
4765
4785
 
4766
4786
  Content is generated as quickly as possible, and not in real time. Clients
4767
- may choose to buffer and play it out in real time.
4768
- */
4787
+ may choose to buffer and play it out in real time. */
4769
4788
  export declare interface LiveServerContent {
4770
4789
  /** The content that the model has generated as part of the current conversation with the user. */
4771
4790
  modelTurn?: Content;
@@ -4846,8 +4865,7 @@ export declare class LiveServerMessage {
4846
4865
 
4847
4866
  /** Update of the session resumption state.
4848
4867
 
4849
- Only sent if `session_resumption` was set in the connection config.
4850
- */
4868
+ Only sent if `session_resumption` was set in the connection config. */
4851
4869
  export declare interface LiveServerSessionResumptionUpdate {
4852
4870
  /** New handle that represents state that can be resumed. Empty if `resumable`=false. */
4853
4871
  newHandle?: string;
@@ -4877,8 +4895,7 @@ export declare interface LiveServerToolCall {
4877
4895
 
4878
4896
  If there were side-effects to those tool calls, clients may attempt to undo
4879
4897
  the tool calls. This message occurs only in cases where the clients interrupt
4880
- server turns.
4881
- */
4898
+ server turns. */
4882
4899
  export declare interface LiveServerToolCallCancellation {
4883
4900
  /** The ids of the tool calls to be cancelled. */
4884
4901
  ids?: string[];
@@ -4929,8 +4946,7 @@ export declare interface MaskReferenceConfig {
4929
4946
 
4930
4947
  A mask image is an image whose non-zero values indicate where to edit the base
4931
4948
  image. If the user provides a mask image, the mask must be in the same
4932
- dimensions as the raw image.
4933
- */
4949
+ dimensions as the raw image. */
4934
4950
  export declare class MaskReferenceImage {
4935
4951
  /** The reference image for the editing operation. */
4936
4952
  referenceImage?: Image_2;
@@ -5694,8 +5710,7 @@ export declare class Pager<T> implements AsyncIterable<T> {
5694
5710
 
5695
5711
  Exactly one field within a Part should be set, representing the specific type
5696
5712
  of content being conveyed. Using multiple fields within the same `Part`
5697
- instance is considered invalid.
5698
- */
5713
+ instance is considered invalid. */
5699
5714
  export declare interface Part {
5700
5715
  /** Metadata for a given video. */
5701
5716
  videoMetadata?: VideoMetadata;
@@ -5870,8 +5885,7 @@ export declare interface RagRetrievalConfigRankingRankService {
5870
5885
 
5871
5886
  A raw reference image represents the base image to edit, provided by the user.
5872
5887
  It can optionally be provided in addition to a mask reference image or
5873
- a style reference image.
5874
- */
5888
+ a style reference image. */
5875
5889
  export declare class RawReferenceImage {
5876
5890
  /** The reference image for the editing operation. */
5877
5891
  referenceImage?: Image_2;
@@ -5886,8 +5900,7 @@ export declare class RawReferenceImage {
5886
5900
  /** Marks the end of user activity.
5887
5901
 
5888
5902
  This can only be sent if automatic (i.e. server-side) activity detection is
5889
- disabled.
5890
- */
5903
+ disabled. */
5891
5904
  export declare interface RealtimeInputConfig {
5892
5905
  /** If not set, automatic activity detection is enabled by default. If automatic voice detection is disabled, the client must send activity signals. */
5893
5906
  automaticActivityDetection?: AutomaticActivityDetection;
@@ -5931,6 +5944,8 @@ export declare interface RecontextImageConfig {
5931
5944
  outputCompressionQuality?: number;
5932
5945
  /** Whether to use the prompt rewriting logic. */
5933
5946
  enhancePrompt?: boolean;
5947
+ /** User specified labels to track billing usage. */
5948
+ labels?: Record<string, string>;
5934
5949
  }
5935
5950
 
5936
5951
  /** The parameters for recontextualizing an image. */
@@ -6144,8 +6159,7 @@ export declare enum Scale {
6144
6159
 
6145
6160
  Represents a select subset of an [OpenAPI 3.0 schema
6146
6161
  object](https://spec.openapis.org/oas/v3.0.3#schema-object). More fields may
6147
- be added in the future as needed.
6148
- */
6162
+ be added in the future as needed. */
6149
6163
  export declare interface Schema {
6150
6164
  /** Optional. The value should be validated against any (one or more) of the subschemas in the list. */
6151
6165
  anyOf?: Schema[];
@@ -6250,6 +6264,8 @@ export declare interface SegmentImageConfig {
6250
6264
  can be set to a decimal value between 0 and 255 non-inclusive.
6251
6265
  Set to -1 for no binary color thresholding. */
6252
6266
  binaryColorThreshold?: number;
6267
+ /** User specified labels to track billing usage. */
6268
+ labels?: Record<string, string>;
6253
6269
  }
6254
6270
 
6255
6271
  /** The parameters for segmenting an image. */
@@ -6293,8 +6309,7 @@ export declare enum SegmentMode {
6293
6309
 
6294
6310
  /** Parameters for sending a message within a chat session.
6295
6311
 
6296
- These parameters are used with the `chat.sendMessage()` method.
6297
- */
6312
+ These parameters are used with the `chat.sendMessage()` method. */
6298
6313
  export declare interface SendMessageParameters {
6299
6314
  /** The message to send to the model.
6300
6315
 
@@ -6440,8 +6455,7 @@ export declare class Session {
6440
6455
  /** Configuration of session resumption mechanism.
6441
6456
 
6442
6457
  Included in `LiveConnectConfig.session_resumption`. If included server
6443
- will send `LiveServerSessionResumptionUpdate` messages.
6444
- */
6458
+ will send `LiveServerSessionResumptionUpdate` messages. */
6445
6459
  export declare interface SessionResumptionConfig {
6446
6460
  /** Session resumption handle of previous session (session to restore).
6447
6461
 
@@ -6488,8 +6502,7 @@ export declare class SingleEmbedContentResponse {
6488
6502
  Context window will always be cut at start of USER role turn. System
6489
6503
  instructions and `BidiGenerateContentSetup.prefix_turns` will not be
6490
6504
  subject to the sliding window mechanism, they will always stay at the
6491
- beginning of context window.
6492
- */
6505
+ beginning of context window. */
6493
6506
  export declare interface SlidingWindow {
6494
6507
  /** Session reduction target -- how many tokens we should keep. Window shortening operation has some latency costs, so we should avoid running it on every turn. Should be < trigger_tokens. If not set, trigger_tokens/2 is assumed. */
6495
6508
  targetTokens?: string;
@@ -6549,8 +6562,7 @@ export declare interface StyleReferenceConfig {
6549
6562
  additionally optional config parameters for the style reference image.
6550
6563
 
6551
6564
  A raw reference image can also be provided as a destination for the style to
6552
- be applied to.
6553
- */
6565
+ be applied to. */
6554
6566
  export declare class StyleReferenceImage {
6555
6567
  /** The reference image for the editing operation. */
6556
6568
  referenceImage?: Image_2;
@@ -6578,8 +6590,7 @@ export declare interface SubjectReferenceConfig {
6578
6590
  additionally optional config parameters for the subject reference image.
6579
6591
 
6580
6592
  A raw reference image can also be provided as a destination for the subject to
6581
- be applied to.
6582
- */
6593
+ be applied to. */
6583
6594
  export declare class SubjectReferenceImage {
6584
6595
  /** The reference image for the editing operation. */
6585
6596
  referenceImage?: Image_2;
@@ -6857,8 +6868,7 @@ export declare interface ToolCodeExecution {
6857
6868
 
6858
6869
  /** Tool config.
6859
6870
 
6860
- This config is shared for all tools provided in the request.
6861
- */
6871
+ This config is shared for all tools provided in the request. */
6862
6872
  export declare interface ToolConfig {
6863
6873
  /** Optional. Function calling config. */
6864
6874
  functionCallingConfig?: FunctionCallingConfig;
@@ -7191,6 +7201,8 @@ export declare enum Type {
7191
7201
 
7192
7202
  declare namespace types {
7193
7203
  export {
7204
+ createFunctionResponsePartFromBase64,
7205
+ createFunctionResponsePartFromUri,
7194
7206
  createPartFromUri,
7195
7207
  createPartFromText,
7196
7208
  createPartFromFunctionCall,
@@ -7335,6 +7347,7 @@ declare namespace types {
7335
7347
  GroundingSupport,
7336
7348
  RetrievalMetadata,
7337
7349
  SearchEntryPoint,
7350
+ GroundingMetadataSourceFlaggingUri,
7338
7351
  GroundingMetadata,
7339
7352
  LogprobsResultCandidate,
7340
7353
  LogprobsResultTopCandidates,
@@ -7690,8 +7703,7 @@ export declare interface UploadFileParameters {
7690
7703
 
7691
7704
  For more information on this configuration, refer to
7692
7705
  the `Imagen API reference documentation
7693
- <https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api>`_.
7694
- */
7706
+ <https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api>`_. */
7695
7707
  export declare interface UpscaleImageConfig {
7696
7708
  /** Used to override HTTP request options. */
7697
7709
  httpOptions?: HttpOptions;
@@ -7721,6 +7733,8 @@ export declare interface UpscaleImageConfig {
7721
7733
  output image will have be more different from the input image, but
7722
7734
  with finer details and less noise. */
7723
7735
  imagePreservationFactor?: number;
7736
+ /** User specified labels to track billing usage. */
7737
+ labels?: Record<string, string>;
7724
7738
  }
7725
7739
 
7726
7740
  /** User-facing config UpscaleImageParameters. */