@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.
package/dist/genai.d.ts CHANGED
@@ -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
  /**
@@ -4706,6 +4764,12 @@ export declare interface LiveServerContent {
4706
4764
  outputTranscription?: Transcription;
4707
4765
  /** Metadata related to url context retrieval tool. */
4708
4766
  urlContextMetadata?: UrlContextMetadata;
4767
+ /** Reason for the turn is complete. */
4768
+ turnCompleteReason?: TurnCompleteReason;
4769
+ /** If true, indicates that the model is not generating content because
4770
+ it is waiting for more input from the user, e.g. because it expects the
4771
+ user to continue talking. */
4772
+ waitingForInput?: boolean;
4709
4773
  }
4710
4774
 
4711
4775
  /** Server will not be able to service client soon. */
@@ -5867,7 +5931,7 @@ export declare interface RecontextImageSource {
5867
5931
  productImages?: ProductImage[];
5868
5932
  }
5869
5933
 
5870
- export declare type ReferenceImage = RawReferenceImage | MaskReferenceImage | ControlReferenceImage | StyleReferenceImage | SubjectReferenceImage;
5934
+ export declare type ReferenceImage = RawReferenceImage | MaskReferenceImage | ControlReferenceImage | StyleReferenceImage | SubjectReferenceImage | ContentReferenceImage;
5871
5935
 
5872
5936
  /** Private class that represents a Reference image that is sent to API. */
5873
5937
  declare interface ReferenceImageAPIInternal {
@@ -6764,6 +6828,12 @@ export declare interface ToolCodeExecution {
6764
6828
  export declare interface ToolComputerUse {
6765
6829
  /** Required. The environment being operated. */
6766
6830
  environment?: Environment;
6831
+ /** By default, predefined functions are included in the final model call.
6832
+ Some of them can be explicitly excluded from being automatically included.
6833
+ This can serve two purposes:
6834
+ 1. Using a more restricted / different action space.
6835
+ 2. Improving the definitions / instructions of predefined functions. */
6836
+ excludedPredefinedFunctions?: string[];
6767
6837
  }
6768
6838
 
6769
6839
  /** Tool config.
@@ -7010,6 +7080,26 @@ export declare interface TuningValidationDataset {
7010
7080
  vertexDatasetResource?: string;
7011
7081
  }
7012
7082
 
7083
+ /** The reason why the turn is complete. */
7084
+ export declare enum TurnCompleteReason {
7085
+ /**
7086
+ * Default value. Reason is unspecified.
7087
+ */
7088
+ TURN_COMPLETE_REASON_UNSPECIFIED = "TURN_COMPLETE_REASON_UNSPECIFIED",
7089
+ /**
7090
+ * The function call generated by the model is invalid.
7091
+ */
7092
+ MALFORMED_FUNCTION_CALL = "MALFORMED_FUNCTION_CALL",
7093
+ /**
7094
+ * The response is rejected by the model.
7095
+ */
7096
+ RESPONSE_REJECTED = "RESPONSE_REJECTED",
7097
+ /**
7098
+ * Needs more input from the user.
7099
+ */
7100
+ NEED_MORE_INPUT = "NEED_MORE_INPUT"
7101
+ }
7102
+
7013
7103
  /** Options about which input is included in the user's turn. */
7014
7104
  export declare enum TurnCoverage {
7015
7105
  /**
@@ -7107,9 +7197,11 @@ declare namespace types {
7107
7197
  EditMode,
7108
7198
  SegmentMode,
7109
7199
  VideoGenerationReferenceType,
7200
+ VideoGenerationMaskMode,
7110
7201
  VideoCompressionQuality,
7111
7202
  FileState,
7112
7203
  FileSource,
7204
+ TurnCompleteReason,
7113
7205
  MediaModality,
7114
7206
  StartSensitivity,
7115
7207
  EndSensitivity,
@@ -7125,6 +7217,9 @@ declare namespace types {
7125
7217
  FunctionCall,
7126
7218
  CodeExecutionResult,
7127
7219
  ExecutableCode,
7220
+ FunctionResponseBlob,
7221
+ FunctionResponseFileData,
7222
+ FunctionResponsePart,
7128
7223
  FunctionResponse,
7129
7224
  Part,
7130
7225
  Content,
@@ -7381,6 +7476,7 @@ declare namespace types {
7381
7476
  ControlReferenceImage,
7382
7477
  StyleReferenceImage,
7383
7478
  SubjectReferenceImage,
7479
+ ContentReferenceImage,
7384
7480
  LiveServerSetupComplete,
7385
7481
  Transcription,
7386
7482
  LiveServerContent,
@@ -7752,7 +7848,34 @@ export declare interface VideoGenerationMask {
7752
7848
  /** Describes how the mask will be used. Inpainting masks must
7753
7849
  match the aspect ratio of the input video. Outpainting masks can be
7754
7850
  either 9:16 or 16:9. */
7755
- maskMode?: string;
7851
+ maskMode?: VideoGenerationMaskMode;
7852
+ }
7853
+
7854
+ /** Enum for the mask mode of a video generation mask. */
7855
+ export declare enum VideoGenerationMaskMode {
7856
+ /**
7857
+ * The image mask contains a masked rectangular region which is
7858
+ applied on the first frame of the input video. The object described in
7859
+ the prompt is inserted into this region and will appear in subsequent
7860
+ frames.
7861
+ */
7862
+ INSERT = "INSERT",
7863
+ /**
7864
+ * The image mask is used to determine an object in the
7865
+ first video frame to track. This object is removed from the video.
7866
+ */
7867
+ REMOVE = "REMOVE",
7868
+ /**
7869
+ * The image mask is used to determine a region in the
7870
+ video. Objects in this region will be removed.
7871
+ */
7872
+ REMOVE_STATIC = "REMOVE_STATIC",
7873
+ /**
7874
+ * The image mask contains a masked rectangular region where
7875
+ the input video will go. The remaining area will be generated. Video
7876
+ masks are not supported.
7877
+ */
7878
+ OUTPAINT = "OUTPAINT"
7756
7879
  }
7757
7880
 
7758
7881
  /** A reference image for video generation. */