feat: add streaming function call argument API changes · googleapis/googleapis@286c66a

@@ -277,13 +277,51 @@ message FunctionCall {

277277

// execute the `function_call` and return the response with the matching `id`.

278278

string id = 3 [(google.api.field_behavior) = OPTIONAL];

279279280-

// Required. The name of the function to call.

280+

// Optional. The name of the function to call.

281281

// Matches [FunctionDeclaration.name].

282-

string name = 1 [(google.api.field_behavior) = REQUIRED];

282+

string name = 1 [(google.api.field_behavior) = OPTIONAL];

283283284-

// Optional. Required. The function parameters and values in JSON object

285-

// format. See [FunctionDeclaration.parameters] for parameter details.

284+

// Optional. The function parameters and values in JSON object format.

285+

// See [FunctionDeclaration.parameters] for parameter details.

286286

google.protobuf.Struct args = 2 [(google.api.field_behavior) = OPTIONAL];

287+288+

// Optional. The partial argument value of the function call.

289+

// If provided, represents the arguments/fields that are streamed

290+

// incrementally.

291+

repeated PartialArg partial_args = 4 [(google.api.field_behavior) = OPTIONAL];

292+293+

// Optional. Whether this is the last part of the FunctionCall.

294+

// If true, another partial message for the current FunctionCall is expected

295+

// to follow.

296+

bool will_continue = 5 [(google.api.field_behavior) = OPTIONAL];

297+

}

298+299+

// Partial argument value of the function call.

300+

message PartialArg {

301+

// The delta of field value being streamed.

302+

oneof delta {

303+

// Optional. Represents a null value.

304+

google.protobuf.NullValue null_value = 2

305+

[(google.api.field_behavior) = OPTIONAL];

306+307+

// Optional. Represents a double value.

308+

double number_value = 3 [(google.api.field_behavior) = OPTIONAL];

309+310+

// Optional. Represents a string value.

311+

string string_value = 4 [(google.api.field_behavior) = OPTIONAL];

312+313+

// Optional. Represents a boolean value.

314+

bool bool_value = 5 [(google.api.field_behavior) = OPTIONAL];

315+

}

316+317+

// Required. A JSON Path (RFC 9535) to the argument being streamed.

318+

// https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".

319+

string json_path = 1 [(google.api.field_behavior) = REQUIRED];

320+321+

// Optional. Whether this is not the last part of the same json_path.

322+

// If true, another PartialArg message for the current json_path is expected

323+

// to follow.

324+

bool will_continue = 6 [(google.api.field_behavior) = OPTIONAL];

287325

}

288326289327

// A datatype containing media that is part of a `FunctionResponse` message.

@@ -634,6 +672,12 @@ message FunctionCallingConfig {

634672

// will predict a function call from the set of function names provided.

635673

repeated string allowed_function_names = 2

636674

[(google.api.field_behavior) = OPTIONAL];

675+676+

// Optional. When set to true, arguments of a single function call will be

677+

// streamed out in multiple parts/contents/responses. Partial parameter

678+

// results will be returned in the [FunctionCall.partial_args] field.

679+

bool stream_function_call_arguments = 4

680+

[(google.api.field_behavior) = OPTIONAL];

637681

}

638682639683

// Retrieval config.