@@ -99,6 +99,15 @@ message Tool {
9999
100100 // Required. The environment being operated.
101101 Environment environment = 1 [(google.api.field_behavior ) = REQUIRED ];
102+
103+ // Optional. By default, [predefined
104+ // functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions)
105+ // are included in the final model call. Some of them can be explicitly
106+ // excluded from being automatically included. This can serve two purposes:
107+ // 1. Using a more restricted / different action space.
108+ // 2. Improving the definitions / instructions of predefined functions.
109+ repeated string excluded_predefined_functions = 2
110+ [(google.api.field_behavior ) = OPTIONAL ];
102111 }
103112
104113 // Optional. Function tool type.
@@ -275,6 +284,64 @@ message FunctionCall {
275284 google.protobuf.Struct args = 2 [(google.api.field_behavior ) = OPTIONAL ];
276285}
277286
287+ // A datatype containing media that is part of a `FunctionResponse` message.
288+ //
289+ // A `FunctionResponsePart` consists of data which has an associated datatype. A
290+ // `FunctionResponsePart` can only contain one of the accepted types in
291+ // `FunctionResponsePart.data`.
292+ //
293+ // A `FunctionResponsePart` must have a fixed IANA MIME type identifying the
294+ // type and subtype of the media if the `inline_data` field is filled with raw
295+ // bytes.
296+ message FunctionResponsePart {
297+ // The data of the function response part.
298+ oneof data {
299+ // Inline media bytes.
300+ FunctionResponseBlob inline_data = 1 ;
301+
302+ // URI based data.
303+ FunctionResponseFileData file_data = 2 ;
304+ }
305+ }
306+
307+ // Raw media bytes for function response.
308+ //
309+ // Text should not be sent as raw bytes, use the 'text' field.
310+ message FunctionResponseBlob {
311+ // Required. The IANA standard MIME type of the source data.
312+ string mime_type = 1 [(google.api.field_behavior ) = REQUIRED ];
313+
314+ // Required. Raw bytes.
315+ bytes data = 2 [(google.api.field_behavior ) = REQUIRED ];
316+
317+ // Optional. Display name of the blob.
318+ //
319+ // Used to provide a label or filename to distinguish blobs.
320+ //
321+ // This field is only returned in PromptMessage for prompt management.
322+ // It is currently used in the Gemini GenerateContent calls only when server
323+ // side tools (code_execution, google_search, and url_context) are enabled.
324+ string display_name = 4 [(google.api.field_behavior ) = OPTIONAL ];
325+ }
326+
327+ // URI based data for function response.
328+ message FunctionResponseFileData {
329+ // Required. The IANA standard MIME type of the source data.
330+ string mime_type = 1 [(google.api.field_behavior ) = REQUIRED ];
331+
332+ // Required. URI.
333+ string file_uri = 2 [(google.api.field_behavior ) = REQUIRED ];
334+
335+ // Optional. Display name of the file data.
336+ //
337+ // Used to provide a label or filename to distinguish file datas.
338+ //
339+ // This field is only returned in PromptMessage for prompt management.
340+ // It is currently used in the Gemini GenerateContent calls only when server
341+ // side tools (code_execution, google_search, and url_context) are enabled.
342+ string display_name = 3 [(google.api.field_behavior ) = OPTIONAL ];
343+ }
344+
278345// The result output from a [FunctionCall] that contains a string representing
279346// the [FunctionDeclaration.name] and a structured JSON object containing any
280347// output from the function is used as context to the model. This should contain
@@ -293,6 +360,11 @@ message FunctionResponse {
293360 // error details (if any). If "output" and "error" keys are not specified,
294361 // then whole "response" is treated as function output.
295362 google.protobuf.Struct response = 2 [(google.api.field_behavior ) = REQUIRED ];
363+
364+ // Optional. Ordered `Parts` that constitute a function response. Parts may
365+ // have different IANA MIME types.
366+ repeated FunctionResponsePart parts = 4
367+ [(google.api.field_behavior ) = OPTIONAL ];
296368}
297369
298370// Code generated by the model that is meant to be executed, and the result
0 commit comments