@google/genai 1.19.0 → 1.21.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.
@@ -1137,6 +1137,23 @@ export declare interface ContentEmbeddingStatistics {
1137
1137
 
1138
1138
  export declare type ContentListUnion = Content | Content[] | PartUnion | PartUnion[];
1139
1139
 
1140
+ /** A content reference image.
1141
+
1142
+ A content reference image represents a subject to reference (ex. person,
1143
+ product, animal) provided by the user. It can optionally be provided in
1144
+ addition to a style reference image (ex. background, style reference).
1145
+ */
1146
+ export declare class ContentReferenceImage {
1147
+ /** The reference image for the editing operation. */
1148
+ referenceImage?: Image_2;
1149
+ /** The id of the reference image. */
1150
+ referenceId?: number;
1151
+ /** The type of the reference image. Only set by the SDK. */
1152
+ referenceType?: string;
1153
+ /** Internal method to convert to ReferenceImageAPIInternal. */
1154
+ toReferenceImageAPI(): ReferenceImageAPIInternal;
1155
+ }
1156
+
1140
1157
  export declare type ContentUnion = Content | PartUnion[] | PartUnion;
1141
1158
 
1142
1159
  /** Enables context window compression -- mechanism managing model context window so it does not exceed given length. */
@@ -2401,6 +2418,9 @@ export declare class FunctionResponse {
2401
2418
  willContinue?: boolean;
2402
2419
  /** Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. */
2403
2420
  scheduling?: FunctionResponseScheduling;
2421
+ /** List of parts that constitute a function response. Each part may
2422
+ have a different IANA MIME type. */
2423
+ parts?: FunctionResponsePart[];
2404
2424
  /** Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. */
2405
2425
  id?: string;
2406
2426
  /** Required. The name of the function to call. Matches [FunctionDeclaration.name] and [FunctionCall.name]. */
@@ -2409,6 +2429,44 @@ export declare class FunctionResponse {
2409
2429
  response?: Record<string, unknown>;
2410
2430
  }
2411
2431
 
2432
+ /** Raw media bytes for function response.
2433
+
2434
+ Text should not be sent as raw bytes, use the FunctionResponse.response
2435
+ field.
2436
+ */
2437
+ export declare class FunctionResponseBlob {
2438
+ /** Required. The IANA standard MIME type of the source data. */
2439
+ mimeType?: string;
2440
+ /** Required. Inline media bytes.
2441
+ * @remarks Encoded as base64 string. */
2442
+ data?: string;
2443
+ }
2444
+
2445
+ /** URI based data for function response. */
2446
+ export declare class FunctionResponseFileData {
2447
+ /** Required. URI. */
2448
+ fileUri?: string;
2449
+ /** Required. The IANA standard MIME type of the source data. */
2450
+ mimeType?: string;
2451
+ }
2452
+
2453
+ /** A datatype containing media that is part of a `FunctionResponse` message.
2454
+
2455
+ A `FunctionResponsePart` consists of data which has an associated datatype. A
2456
+ `FunctionResponsePart` can only contain one of the accepted types in
2457
+ `FunctionResponsePart.data`.
2458
+
2459
+ A `FunctionResponsePart` must have a fixed IANA MIME type identifying the
2460
+ type and subtype of the media if the `inline_data` field is filled with raw
2461
+ bytes.
2462
+ */
2463
+ export declare class FunctionResponsePart {
2464
+ /** Optional. Inline media bytes. */
2465
+ inlineData?: FunctionResponseBlob;
2466
+ /** Optional. URI based data. */
2467
+ fileData?: FunctionResponseFileData;
2468
+ }
2469
+
2412
2470
  /** Specifies how the response should be scheduled in the conversation. */
2413
2471
  export declare enum FunctionResponseScheduling {
2414
2472
  /**
@@ -4718,6 +4776,12 @@ export declare interface LiveServerContent {
4718
4776
  outputTranscription?: Transcription;
4719
4777
  /** Metadata related to url context retrieval tool. */
4720
4778
  urlContextMetadata?: UrlContextMetadata;
4779
+ /** Reason for the turn is complete. */
4780
+ turnCompleteReason?: TurnCompleteReason;
4781
+ /** If true, indicates that the model is not generating content because
4782
+ it is waiting for more input from the user, e.g. because it expects the
4783
+ user to continue talking. */
4784
+ waitingForInput?: boolean;
4721
4785
  }
4722
4786
 
4723
4787
  /** Server will not be able to service client soon. */
@@ -5879,7 +5943,7 @@ export declare interface RecontextImageSource {
5879
5943
  productImages?: ProductImage[];
5880
5944
  }
5881
5945
 
5882
- export declare type ReferenceImage = RawReferenceImage | MaskReferenceImage | ControlReferenceImage | StyleReferenceImage | SubjectReferenceImage;
5946
+ export declare type ReferenceImage = RawReferenceImage | MaskReferenceImage | ControlReferenceImage | StyleReferenceImage | SubjectReferenceImage | ContentReferenceImage;
5883
5947
 
5884
5948
  /** Private class that represents a Reference image that is sent to API. */
5885
5949
  declare interface ReferenceImageAPIInternal {
@@ -6776,6 +6840,12 @@ export declare interface ToolCodeExecution {
6776
6840
  export declare interface ToolComputerUse {
6777
6841
  /** Required. The environment being operated. */
6778
6842
  environment?: Environment;
6843
+ /** By default, predefined functions are included in the final model call.
6844
+ Some of them can be explicitly excluded from being automatically included.
6845
+ This can serve two purposes:
6846
+ 1. Using a more restricted / different action space.
6847
+ 2. Improving the definitions / instructions of predefined functions. */
6848
+ excludedPredefinedFunctions?: string[];
6779
6849
  }
6780
6850
 
6781
6851
  /** Tool config.
@@ -7022,6 +7092,26 @@ export declare interface TuningValidationDataset {
7022
7092
  vertexDatasetResource?: string;
7023
7093
  }
7024
7094
 
7095
+ /** The reason why the turn is complete. */
7096
+ export declare enum TurnCompleteReason {
7097
+ /**
7098
+ * Default value. Reason is unspecified.
7099
+ */
7100
+ TURN_COMPLETE_REASON_UNSPECIFIED = "TURN_COMPLETE_REASON_UNSPECIFIED",
7101
+ /**
7102
+ * The function call generated by the model is invalid.
7103
+ */
7104
+ MALFORMED_FUNCTION_CALL = "MALFORMED_FUNCTION_CALL",
7105
+ /**
7106
+ * The response is rejected by the model.
7107
+ */
7108
+ RESPONSE_REJECTED = "RESPONSE_REJECTED",
7109
+ /**
7110
+ * Needs more input from the user.
7111
+ */
7112
+ NEED_MORE_INPUT = "NEED_MORE_INPUT"
7113
+ }
7114
+
7025
7115
  /** Options about which input is included in the user's turn. */
7026
7116
  export declare enum TurnCoverage {
7027
7117
  /**
@@ -7119,9 +7209,11 @@ declare namespace types {
7119
7209
  EditMode,
7120
7210
  SegmentMode,
7121
7211
  VideoGenerationReferenceType,
7212
+ VideoGenerationMaskMode,
7122
7213
  VideoCompressionQuality,
7123
7214
  FileState,
7124
7215
  FileSource,
7216
+ TurnCompleteReason,
7125
7217
  MediaModality,
7126
7218
  StartSensitivity,
7127
7219
  EndSensitivity,
@@ -7137,6 +7229,9 @@ declare namespace types {
7137
7229
  FunctionCall,
7138
7230
  CodeExecutionResult,
7139
7231
  ExecutableCode,
7232
+ FunctionResponseBlob,
7233
+ FunctionResponseFileData,
7234
+ FunctionResponsePart,
7140
7235
  FunctionResponse,
7141
7236
  Part,
7142
7237
  Content,
@@ -7393,6 +7488,7 @@ declare namespace types {
7393
7488
  ControlReferenceImage,
7394
7489
  StyleReferenceImage,
7395
7490
  SubjectReferenceImage,
7491
+ ContentReferenceImage,
7396
7492
  LiveServerSetupComplete,
7397
7493
  Transcription,
7398
7494
  LiveServerContent,
@@ -7764,7 +7860,34 @@ export declare interface VideoGenerationMask {
7764
7860
  /** Describes how the mask will be used. Inpainting masks must
7765
7861
  match the aspect ratio of the input video. Outpainting masks can be
7766
7862
  either 9:16 or 16:9. */
7767
- maskMode?: string;
7863
+ maskMode?: VideoGenerationMaskMode;
7864
+ }
7865
+
7866
+ /** Enum for the mask mode of a video generation mask. */
7867
+ export declare enum VideoGenerationMaskMode {
7868
+ /**
7869
+ * The image mask contains a masked rectangular region which is
7870
+ applied on the first frame of the input video. The object described in
7871
+ the prompt is inserted into this region and will appear in subsequent
7872
+ frames.
7873
+ */
7874
+ INSERT = "INSERT",
7875
+ /**
7876
+ * The image mask is used to determine an object in the
7877
+ first video frame to track. This object is removed from the video.
7878
+ */
7879
+ REMOVE = "REMOVE",
7880
+ /**
7881
+ * The image mask is used to determine a region in the
7882
+ video. Objects in this region will be removed.
7883
+ */
7884
+ REMOVE_STATIC = "REMOVE_STATIC",
7885
+ /**
7886
+ * The image mask contains a masked rectangular region where
7887
+ the input video will go. The remaining area will be generated. Video
7888
+ masks are not supported.
7889
+ */
7890
+ OUTPAINT = "OUTPAINT"
7768
7891
  }
7769
7892
 
7770
7893
  /** A reference image for video generation. */