From 188d16007b32baf1344f556dd235ab3ea7628698 Mon Sep 17 00:00:00 2001 From: Kristopher Overholt Date: Thu, 26 Mar 2026 19:01:53 -0500 Subject: [PATCH 1/4] Auto-generate Python REST API reference docs from FastAPI OpenAPI spec --- docs/api-reference/rest/index.html | 31 + docs/api-reference/rest/index.md | 71 - docs/api-reference/rest/openapi.json | 9909 ++++++++++++++++++++++++++ mkdocs.yml | 4 +- 4 files changed, 9942 insertions(+), 73 deletions(-) create mode 100644 docs/api-reference/rest/index.html delete mode 100644 docs/api-reference/rest/index.md create mode 100644 docs/api-reference/rest/openapi.json diff --git a/docs/api-reference/rest/index.html b/docs/api-reference/rest/index.html new file mode 100644 index 000000000..ee93be0ed --- /dev/null +++ b/docs/api-reference/rest/index.html @@ -0,0 +1,31 @@ + + + + + + ADK REST API Reference + + + + + + +
+ + + + + diff --git a/docs/api-reference/rest/index.md b/docs/api-reference/rest/index.md deleted file mode 100644 index 586a989b1..000000000 --- a/docs/api-reference/rest/index.md +++ /dev/null @@ -1,71 +0,0 @@ -# REST API Reference - -This page provides a reference for the REST API provided by the ADK web server. -For details on using the ADK REST API in practice, see -[Use the API Server](/adk-docs/runtime/api-server/). - -!!! tip - You can view an updated API reference on a running ADK web server by browsing - the `/docs` location, for example at: `http://localhost:8000/docs` - -## Endpoints - -### `/run` - -This endpoint executes an agent run. It takes a JSON payload with the details of the run and returns a list of events generated during the run. - -**Request Body** - -The request body should be a JSON object with the following fields: - -- `app_name` (string, required): The name of the agent to run. -- `user_id` (string, required): The ID of the user. -- `session_id` (string, required): The ID of the session. -- `new_message` (Content, required): The new message to send to the agent. See the [Content](#content-object) section for more details. -- `streaming` (boolean, optional): Whether to use streaming. Defaults to `false`. -- `state_delta` (object, optional): A delta of the state to apply before the run. - -**Response Body** - -The response body is a JSON array of [Event](#event-object) objects. - -### `/run_sse` - -This endpoint executes an agent run using Server-Sent Events (SSE) for streaming responses. It takes the same JSON payload as the `/run` endpoint. - -**Request Body** - -The request body is the same as for the `/run` endpoint. - -**Response Body** - -The response is a stream of Server-Sent Events. Each event is a JSON object representing an [Event](#event-object). - -## Objects - -### `Content` object - -The `Content` object represents the content of a message. It has the following structure: - -```json -{ - "parts": [ - { - "text": "..." - } - ], - "role": "..." -} -``` - -- `parts`: A list of parts. Each part can be either text or a function call. -- `role`: The role of the author of the message (e.g., "user", "model"). - -### `Event` object - -The `Event` object represents an event that occurred during an agent run. It has a complex structure with many optional fields. The most important fields are: - -- `id`: The ID of the event. -- `timestamp`: The timestamp of the event. -- `author`: The author of the event. -- `content`: The content of the event. diff --git a/docs/api-reference/rest/openapi.json b/docs/api-reference/rest/openapi.json new file mode 100644 index 000000000..f0555268b --- /dev/null +++ b/docs/api-reference/rest/openapi.json @@ -0,0 +1,9909 @@ +{ + "openapi": "3.1.0", + "info": { + "title": "ADK REST API Reference", + "version": "1.28.0" + }, + "paths": { + "/health": { + "get": { + "summary": "Health", + "operationId": "health_health_get", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "title": "Response Health Health Get" + } + } + } + } + } + } + }, + "/version": { + "get": { + "summary": "Version", + "operationId": "version_version_get", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "title": "Response Version Version Get" + } + } + } + } + } + } + }, + "/list-apps": { + "get": { + "summary": "List Apps", + "operationId": "list_apps_list_apps_get", + "parameters": [ + { + "name": "detailed", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "description": "Return detailed app information", + "default": false, + "title": "Detailed" + }, + "description": "Return detailed app information" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/ListAppsResponse" + } + ], + "title": "Response List Apps List Apps Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/debug/trace/{event_id}": { + "get": { + "tags": [ + "Debug" + ], + "summary": "Get Trace Dict", + "operationId": "get_trace_dict_debug_trace__event_id__get", + "parameters": [ + { + "name": "event_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Event Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Get Trace Dict Debug Trace Event Id Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/dev/build_graph/{app_name}": { + "get": { + "summary": "Get App Info", + "operationId": "get_app_info_dev_build_graph__app_name__get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Get App Info Dev Build Graph App Name Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/debug/trace/session/{session_id}": { + "get": { + "tags": [ + "Debug" + ], + "summary": "Get Session Trace", + "operationId": "get_session_trace_debug_trace_session__session_id__get", + "parameters": [ + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "title": "Response Get Session Trace Debug Trace Session Session Id Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/users/{user_id}/sessions/{session_id}": { + "get": { + "summary": "Get Session", + "operationId": "get_session_apps__app_name__users__user_id__sessions__session_id__get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "post": { + "summary": "Create Session With Id", + "operationId": "create_session_with_id_apps__app_name__users__user_id__sessions__session_id__post", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "type": "object", + "additionalProperties": true + }, + { + "type": "null" + } + ], + "title": "State" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "delete": { + "summary": "Delete Session", + "operationId": "delete_session_apps__app_name__users__user_id__sessions__session_id__delete", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "patch": { + "summary": "Update Session", + "description": "Updates session state without running the agent.\n\nArgs:\n app_name: The name of the application.\n user_id: The ID of the user.\n session_id: The ID of the session to update.\n req: The patch request containing state changes.\n\nReturns:\n The updated session.\n\nRaises:\n HTTPException: If the session is not found.", + "operationId": "update_session_apps__app_name__users__user_id__sessions__session_id__patch", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSessionRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/users/{user_id}/sessions": { + "get": { + "summary": "List Sessions", + "operationId": "list_sessions_apps__app_name__users__user_id__sessions_get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session" + }, + "title": "Response List Sessions Apps App Name Users User Id Sessions Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "post": { + "summary": "Create Session", + "operationId": "create_session_apps__app_name__users__user_id__sessions_post", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/CreateSessionRequest" + }, + { + "type": "null" + } + ], + "title": "Req" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval-sets": { + "post": { + "tags": [ + "Evaluation" + ], + "summary": "Create Eval Set", + "operationId": "create_eval_set_apps__app_name__eval_sets_post", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateEvalSetRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EvalSet-Output" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "get": { + "tags": [ + "Evaluation" + ], + "summary": "List Eval Sets", + "description": "Lists all eval sets for the given app.", + "operationId": "list_eval_sets_apps__app_name__eval_sets_get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ListEvalSetsResponse" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval_sets/{eval_set_id}": { + "post": { + "tags": [ + "Evaluation" + ], + "summary": "Create Eval Set Legacy", + "description": "Creates an eval set, given the id.", + "operationId": "create_eval_set_legacy_apps__app_name__eval_sets__eval_set_id__post", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_set_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Set Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval_sets": { + "get": { + "tags": [ + "Evaluation" + ], + "summary": "List Eval Sets Legacy", + "operationId": "list_eval_sets_legacy_apps__app_name__eval_sets_get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Response List Eval Sets Legacy Apps App Name Eval Sets Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval_sets/{eval_set_id}/run_eval": { + "post": { + "tags": [ + "Evaluation" + ], + "summary": "Run Eval Legacy", + "operationId": "run_eval_legacy_apps__app_name__eval_sets__eval_set_id__run_eval_post", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_set_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Set Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RunEvalRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RunEvalResult" + }, + "title": "Response Run Eval Legacy Apps App Name Eval Sets Eval Set Id Run Eval Post" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval_results/{eval_result_id}": { + "get": { + "tags": [ + "Evaluation" + ], + "summary": "Get Eval Result Legacy", + "operationId": "get_eval_result_legacy_apps__app_name__eval_results__eval_result_id__get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_result_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Result Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EvalSetResult" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval_results": { + "get": { + "tags": [ + "Evaluation" + ], + "summary": "List Eval Results Legacy", + "operationId": "list_eval_results_legacy_apps__app_name__eval_results_get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Response List Eval Results Legacy Apps App Name Eval Results Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval_sets/{eval_set_id}/add_session": { + "post": { + "tags": [ + "Evaluation" + ], + "summary": "Add Session To Eval Set", + "operationId": "add_session_to_eval_set_apps__app_name__eval_sets__eval_set_id__add_session_post", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_set_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Set Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddSessionToEvalSetRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval-sets/{eval_set_id}/add-session": { + "post": { + "tags": [ + "Evaluation" + ], + "summary": "Add Session To Eval Set", + "operationId": "add_session_to_eval_set_apps__app_name__eval_sets__eval_set_id__add_session_post", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_set_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Set Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddSessionToEvalSetRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval_sets/{eval_set_id}/evals": { + "get": { + "tags": [ + "Evaluation" + ], + "summary": "List Evals In Eval Set", + "description": "Lists all evals in an eval set.", + "operationId": "list_evals_in_eval_set_apps__app_name__eval_sets__eval_set_id__evals_get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_set_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Set Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Response List Evals In Eval Set Apps App Name Eval Sets Eval Set Id Evals Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}": { + "get": { + "tags": [ + "Evaluation" + ], + "summary": "Get Eval", + "description": "Gets an eval case in an eval set.", + "operationId": "get_eval_apps__app_name__eval_sets__eval_set_id__evals__eval_case_id__get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_set_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Set Id" + } + }, + { + "name": "eval_case_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Case Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EvalCase-Output" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "put": { + "tags": [ + "Evaluation" + ], + "summary": "Update Eval", + "operationId": "update_eval_apps__app_name__eval_sets__eval_set_id__evals__eval_case_id__put", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_set_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Set Id" + } + }, + { + "name": "eval_case_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Case Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EvalCase-Input" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Evaluation" + ], + "summary": "Delete Eval", + "operationId": "delete_eval_apps__app_name__eval_sets__eval_set_id__evals__eval_case_id__delete", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_set_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Set Id" + } + }, + { + "name": "eval_case_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Case Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval-sets/{eval_set_id}/eval-cases/{eval_case_id}": { + "get": { + "tags": [ + "Evaluation" + ], + "summary": "Get Eval", + "description": "Gets an eval case in an eval set.", + "operationId": "get_eval_apps__app_name__eval_sets__eval_set_id__eval_cases__eval_case_id__get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_set_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Set Id" + } + }, + { + "name": "eval_case_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Case Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EvalCase-Output" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "put": { + "tags": [ + "Evaluation" + ], + "summary": "Update Eval", + "operationId": "update_eval_apps__app_name__eval_sets__eval_set_id__eval_cases__eval_case_id__put", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_set_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Set Id" + } + }, + { + "name": "eval_case_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Case Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EvalCase-Input" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Evaluation" + ], + "summary": "Delete Eval", + "operationId": "delete_eval_apps__app_name__eval_sets__eval_set_id__eval_cases__eval_case_id__delete", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_set_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Set Id" + } + }, + { + "name": "eval_case_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Case Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval-sets/{eval_set_id}/run": { + "post": { + "tags": [ + "Evaluation" + ], + "summary": "Run Eval", + "description": "Runs an eval given the details in the eval request.", + "operationId": "run_eval_apps__app_name__eval_sets__eval_set_id__run_post", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_set_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Set Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RunEvalRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RunEvalResponse" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval-results/{eval_result_id}": { + "get": { + "tags": [ + "Evaluation" + ], + "summary": "Get Eval Result", + "description": "Gets the eval result for the given eval id.", + "operationId": "get_eval_result_apps__app_name__eval_results__eval_result_id__get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "eval_result_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Eval Result Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EvalResult" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/eval-results": { + "get": { + "tags": [ + "Evaluation" + ], + "summary": "List Eval Results", + "description": "Lists all eval results for the given app.", + "operationId": "list_eval_results_apps__app_name__eval_results_get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ListEvalResultsResponse" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/metrics-info": { + "get": { + "tags": [ + "Evaluation" + ], + "summary": "List Metrics Info", + "description": "Lists all eval metrics for the given app.", + "operationId": "list_metrics_info_apps__app_name__metrics_info_get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ListMetricsInfoResponse" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/users/{user_id}/sessions/{session_id}/artifacts/{artifact_name}": { + "get": { + "summary": "Load Artifact", + "operationId": "load_artifact_apps__app_name__users__user_id__sessions__session_id__artifacts__artifact_name__get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + }, + { + "name": "artifact_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Artifact Name" + } + }, + { + "name": "version", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Version" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/Part-Output" + }, + { + "type": "null" + } + ], + "title": "Response Load Artifact Apps App Name Users User Id Sessions Session Id Artifacts Artifact Name Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "delete": { + "summary": "Delete Artifact", + "operationId": "delete_artifact_apps__app_name__users__user_id__sessions__session_id__artifacts__artifact_name__delete", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + }, + { + "name": "artifact_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Artifact Name" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/users/{user_id}/sessions/{session_id}/artifacts/{artifact_name}/versions/metadata": { + "get": { + "summary": "List Artifact Versions Metadata", + "operationId": "list_artifact_versions_metadata_apps__app_name__users__user_id__sessions__session_id__artifacts__artifact_name__versions_metadata_get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + }, + { + "name": "artifact_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Artifact Name" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ArtifactVersion" + }, + "title": "Response List Artifact Versions Metadata Apps App Name Users User Id Sessions Session Id Artifacts Artifact Name Versions Metadata Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/users/{user_id}/sessions/{session_id}/artifacts/{artifact_name}/versions/{version_id}": { + "get": { + "summary": "Load Artifact Version", + "operationId": "load_artifact_version_apps__app_name__users__user_id__sessions__session_id__artifacts__artifact_name__versions__version_id__get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + }, + { + "name": "artifact_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Artifact Name" + } + }, + { + "name": "version_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "title": "Version Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/Part-Output" + }, + { + "type": "null" + } + ], + "title": "Response Load Artifact Version Apps App Name Users User Id Sessions Session Id Artifacts Artifact Name Versions Version Id Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/users/{user_id}/sessions/{session_id}/artifacts": { + "post": { + "summary": "Save Artifact", + "operationId": "save_artifact_apps__app_name__users__user_id__sessions__session_id__artifacts_post", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SaveArtifactRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArtifactVersion" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "get": { + "summary": "List Artifact Names", + "operationId": "list_artifact_names_apps__app_name__users__user_id__sessions__session_id__artifacts_get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Response List Artifact Names Apps App Name Users User Id Sessions Session Id Artifacts Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/users/{user_id}/sessions/{session_id}/artifacts/{artifact_name}/versions/{version_id}/metadata": { + "get": { + "summary": "Get Artifact Version Metadata", + "operationId": "get_artifact_version_metadata_apps__app_name__users__user_id__sessions__session_id__artifacts__artifact_name__versions__version_id__metadata_get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + }, + { + "name": "artifact_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Artifact Name" + } + }, + { + "name": "version_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "title": "Version Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ArtifactVersion" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/users/{user_id}/sessions/{session_id}/artifacts/{artifact_name}/versions": { + "get": { + "summary": "List Artifact Versions", + "operationId": "list_artifact_versions_apps__app_name__users__user_id__sessions__session_id__artifacts__artifact_name__versions_get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + }, + { + "name": "artifact_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Artifact Name" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "integer" + }, + "title": "Response List Artifact Versions Apps App Name Users User Id Sessions Session Id Artifacts Artifact Name Versions Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/users/{user_id}/memory": { + "patch": { + "summary": "Patch Memory", + "description": "Adds all events from a given session to the memory service.\n\nArgs:\n app_name: The name of the application.\n user_id: The ID of the user.\n update_memory_request: The memory request for the update\n\nRaises:\n HTTPException: If the memory service is not configured or the request\n is invalid.", + "operationId": "patch_memory_apps__app_name__users__user_id__memory_patch", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateMemoryRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/run": { + "post": { + "summary": "Run Agent", + "operationId": "run_agent_run_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RunAgentRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/Event-Output" + }, + "type": "array", + "title": "Response Run Agent Run Post" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/run_sse": { + "post": { + "summary": "Run Agent Sse", + "operationId": "run_agent_sse_run_sse_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RunAgentRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/apps/{app_name}/users/{user_id}/sessions/{session_id}/events/{event_id}/graph": { + "get": { + "tags": [ + "Debug" + ], + "summary": "Get Event Graph", + "operationId": "get_event_graph_apps__app_name__users__user_id__sessions__session_id__events__event_id__graph_get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Session Id" + } + }, + { + "name": "event_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Event Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/dev-ui/config": { + "get": { + "summary": "Get Ui Config", + "operationId": "get_ui_config_dev_ui_config_get", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + }, + "/": { + "get": { + "summary": "Redirect Root To Dev Ui", + "operationId": "redirect_root_to_dev_ui__get", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + }, + "/dev-ui": { + "get": { + "summary": "Redirect Dev Ui Add Slash", + "operationId": "redirect_dev_ui_add_slash_dev_ui_get", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + }, + "/builder/save": { + "post": { + "summary": "Builder Build", + "operationId": "builder_build_builder_save_post", + "parameters": [ + { + "name": "tmp", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": false, + "title": "Tmp" + } + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/Body_builder_build_builder_save_post" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "boolean", + "title": "Response Builder Build Builder Save Post" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/builder/app/{app_name}/cancel": { + "post": { + "summary": "Builder Cancel", + "operationId": "builder_cancel_builder_app__app_name__cancel_post", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "boolean", + "title": "Response Builder Cancel Builder App App Name Cancel Post" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/builder/app/{app_name}": { + "get": { + "summary": "Get Agent Builder", + "operationId": "get_agent_builder_builder_app__app_name__get", + "parameters": [ + { + "name": "app_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "App Name" + } + }, + { + "name": "file_path", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "File Path" + } + }, + { + "name": "tmp", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": false, + "title": "Tmp" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "APIKey": { + "properties": { + "type": { + "$ref": "#/components/schemas/SecuritySchemeType", + "default": "apiKey" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "in": { + "$ref": "#/components/schemas/APIKeyIn" + }, + "name": { + "type": "string", + "title": "Name" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "in", + "name" + ], + "title": "APIKey" + }, + "APIKeyIn": { + "type": "string", + "enum": [ + "query", + "header", + "cookie" + ], + "title": "APIKeyIn" + }, + "AddSessionToEvalSetRequest": { + "properties": { + "evalId": { + "type": "string", + "title": "Evalid" + }, + "sessionId": { + "type": "string", + "title": "Sessionid" + }, + "userId": { + "type": "string", + "title": "Userid" + } + }, + "type": "object", + "required": [ + "evalId", + "sessionId", + "userId" + ], + "title": "AddSessionToEvalSetRequest" + }, + "AgentDetails": { + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "instructions": { + "type": "string", + "title": "Instructions", + "default": "" + }, + "toolDeclarations": { + "items": {}, + "type": "array", + "title": "Tooldeclarations" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ], + "title": "AgentDetails", + "description": "Details about the individual agent in the App.\n\nThis could be a root agent or the sub-agents in the Agent Tree." + }, + "AppDetails": { + "properties": { + "agentDetails": { + "additionalProperties": { + "$ref": "#/components/schemas/AgentDetails" + }, + "type": "object", + "title": "Agentdetails" + } + }, + "additionalProperties": false, + "type": "object", + "title": "AppDetails", + "description": "Contains details about the App (the agentic system).\n\nThis structure is only a projection of the actual app. Only details\nthat are relevant to the Eval System are captured here." + }, + "AppInfo": { + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "rootAgentName": { + "type": "string", + "title": "Rootagentname" + }, + "description": { + "type": "string", + "title": "Description" + }, + "language": { + "type": "string", + "enum": [ + "yaml", + "python" + ], + "title": "Language" + }, + "isComputerUse": { + "type": "boolean", + "title": "Iscomputeruse", + "default": false + } + }, + "type": "object", + "required": [ + "name", + "rootAgentName", + "description", + "language" + ], + "title": "AppInfo" + }, + "ArtifactVersion": { + "properties": { + "version": { + "type": "integer", + "title": "Version", + "description": "Monotonically increasing identifier for the artifact version." + }, + "canonicalUri": { + "type": "string", + "title": "Canonicaluri", + "description": "Canonical URI referencing the persisted artifact payload." + }, + "customMetadata": { + "additionalProperties": true, + "type": "object", + "title": "Custommetadata", + "description": "Optional user-supplied metadata stored with the artifact." + }, + "createTime": { + "type": "number", + "title": "Createtime", + "description": "Unix timestamp (seconds) when the version record was created." + }, + "mimeType": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mimetype", + "description": "MIME type when the artifact payload is stored as binary data." + } + }, + "type": "object", + "required": [ + "version", + "canonicalUri" + ], + "title": "ArtifactVersion", + "description": "Metadata describing a specific version of an artifact." + }, + "AuthConfig-Input": { + "properties": { + "authScheme": { + "anyOf": [ + { + "$ref": "#/components/schemas/APIKey" + }, + { + "$ref": "#/components/schemas/HTTPBase" + }, + { + "$ref": "#/components/schemas/OAuth2-Input" + }, + { + "$ref": "#/components/schemas/OpenIdConnect" + }, + { + "$ref": "#/components/schemas/HTTPBearer" + }, + { + "$ref": "#/components/schemas/OpenIdConnectWithConfig" + } + ], + "title": "Authscheme" + }, + "rawAuthCredential": { + "anyOf": [ + { + "$ref": "#/components/schemas/AuthCredential-Input" + }, + { + "type": "null" + } + ] + }, + "exchangedAuthCredential": { + "anyOf": [ + { + "$ref": "#/components/schemas/AuthCredential-Input" + }, + { + "type": "null" + } + ] + }, + "credentialKey": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Credentialkey" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "authScheme" + ], + "title": "AuthConfig", + "description": "The auth config sent by tool asking client to collect auth credentials and\n\nadk and client will help to fill in the response" + }, + "AuthConfig-Output": { + "properties": { + "authScheme": { + "anyOf": [ + { + "$ref": "#/components/schemas/APIKey" + }, + { + "$ref": "#/components/schemas/HTTPBase" + }, + { + "$ref": "#/components/schemas/OAuth2-Output" + }, + { + "$ref": "#/components/schemas/OpenIdConnect" + }, + { + "$ref": "#/components/schemas/HTTPBearer" + }, + { + "$ref": "#/components/schemas/OpenIdConnectWithConfig" + } + ], + "title": "Authscheme" + }, + "rawAuthCredential": { + "anyOf": [ + { + "$ref": "#/components/schemas/AuthCredential-Output" + }, + { + "type": "null" + } + ] + }, + "exchangedAuthCredential": { + "anyOf": [ + { + "$ref": "#/components/schemas/AuthCredential-Output" + }, + { + "type": "null" + } + ] + }, + "credentialKey": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Credentialkey" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "authScheme" + ], + "title": "AuthConfig", + "description": "The auth config sent by tool asking client to collect auth credentials and\n\nadk and client will help to fill in the response" + }, + "AuthCredential-Input": { + "properties": { + "authType": { + "$ref": "#/components/schemas/AuthCredentialTypes" + }, + "resourceRef": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Resourceref" + }, + "apiKey": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Apikey" + }, + "http": { + "anyOf": [ + { + "$ref": "#/components/schemas/HttpAuth" + }, + { + "type": "null" + } + ] + }, + "serviceAccount": { + "anyOf": [ + { + "$ref": "#/components/schemas/ServiceAccount" + }, + { + "type": "null" + } + ] + }, + "oauth2": { + "anyOf": [ + { + "$ref": "#/components/schemas/OAuth2Auth" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "authType" + ], + "title": "AuthCredential", + "description": "Data class representing an authentication credential.\n\nTo exchange for the actual credential, please use\nCredentialExchanger.exchange_credential().\n\nExamples: API Key Auth\nAuthCredential(\n auth_type=AuthCredentialTypes.API_KEY,\n api_key=\"1234\",\n)\n\nExample: HTTP Auth\nAuthCredential(\n auth_type=AuthCredentialTypes.HTTP,\n http=HttpAuth(\n scheme=\"basic\",\n credentials=HttpCredentials(username=\"user\", password=\"password\"),\n ),\n)\n\nExample: OAuth2 Bearer Token in HTTP Header\nAuthCredential(\n auth_type=AuthCredentialTypes.HTTP,\n http=HttpAuth(\n scheme=\"bearer\",\n credentials=HttpCredentials(token=\"eyAkaknabna....\"),\n ),\n)\n\nExample: OAuth2 Auth with Authorization Code Flow\nAuthCredential(\n auth_type=AuthCredentialTypes.OAUTH2,\n oauth2=OAuth2Auth(\n client_id=\"1234\",\n client_secret=\"secret\",\n ),\n)\n\nExample: OpenID Connect Auth\nAuthCredential(\n auth_type=AuthCredentialTypes.OPEN_ID_CONNECT,\n oauth2=OAuth2Auth(\n client_id=\"1234\",\n client_secret=\"secret\",\n redirect_uri=\"https://example.com\",\n scopes=[\"scope1\", \"scope2\"],\n ),\n)\n\nExample: Auth with resource reference\nAuthCredential(\n auth_type=AuthCredentialTypes.API_KEY,\n resource_ref=\"projects/1234/locations/us-central1/resources/resource1\",\n)" + }, + "AuthCredential-Output": { + "properties": { + "authType": { + "$ref": "#/components/schemas/AuthCredentialTypes" + }, + "resourceRef": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Resourceref" + }, + "apiKey": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Apikey" + }, + "http": { + "anyOf": [ + { + "$ref": "#/components/schemas/HttpAuth" + }, + { + "type": "null" + } + ] + }, + "serviceAccount": { + "anyOf": [ + { + "$ref": "#/components/schemas/ServiceAccount" + }, + { + "type": "null" + } + ] + }, + "oauth2": { + "anyOf": [ + { + "$ref": "#/components/schemas/OAuth2Auth" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "authType" + ], + "title": "AuthCredential", + "description": "Data class representing an authentication credential.\n\nTo exchange for the actual credential, please use\nCredentialExchanger.exchange_credential().\n\nExamples: API Key Auth\nAuthCredential(\n auth_type=AuthCredentialTypes.API_KEY,\n api_key=\"1234\",\n)\n\nExample: HTTP Auth\nAuthCredential(\n auth_type=AuthCredentialTypes.HTTP,\n http=HttpAuth(\n scheme=\"basic\",\n credentials=HttpCredentials(username=\"user\", password=\"password\"),\n ),\n)\n\nExample: OAuth2 Bearer Token in HTTP Header\nAuthCredential(\n auth_type=AuthCredentialTypes.HTTP,\n http=HttpAuth(\n scheme=\"bearer\",\n credentials=HttpCredentials(token=\"eyAkaknabna....\"),\n ),\n)\n\nExample: OAuth2 Auth with Authorization Code Flow\nAuthCredential(\n auth_type=AuthCredentialTypes.OAUTH2,\n oauth2=OAuth2Auth(\n client_id=\"1234\",\n client_secret=\"secret\",\n ),\n)\n\nExample: OpenID Connect Auth\nAuthCredential(\n auth_type=AuthCredentialTypes.OPEN_ID_CONNECT,\n oauth2=OAuth2Auth(\n client_id=\"1234\",\n client_secret=\"secret\",\n redirect_uri=\"https://example.com\",\n scopes=[\"scope1\", \"scope2\"],\n ),\n)\n\nExample: Auth with resource reference\nAuthCredential(\n auth_type=AuthCredentialTypes.API_KEY,\n resource_ref=\"projects/1234/locations/us-central1/resources/resource1\",\n)" + }, + "AuthCredentialTypes": { + "type": "string", + "enum": [ + "apiKey", + "http", + "oauth2", + "openIdConnect", + "serviceAccount" + ], + "title": "AuthCredentialTypes", + "description": "Represents the type of authentication credential." + }, + "BaseCriterion": { + "properties": { + "threshold": { + "type": "number", + "title": "Threshold", + "description": "The threshold to be used by the metric." + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "threshold" + ], + "title": "BaseCriterion", + "description": "Base criterion to use for an Eval Metric." + }, + "Blob": { + "properties": { + "data": { + "anyOf": [ + { + "type": "string", + "contentEncoding": "base64", + "contentMediaType": "application/octet-stream" + }, + { + "type": "null" + } + ], + "title": "Data", + "description": "Required. The raw bytes of the data." + }, + "displayName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Displayname", + "description": "Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. This field is not supported in Gemini API." + }, + "mimeType": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mimetype", + "description": "Required. The IANA standard MIME type of the source data." + } + }, + "additionalProperties": false, + "type": "object", + "title": "Blob", + "description": "A content blob.\n\nA Blob contains data of a specific media type. It is used to represent images,\naudio, and video." + }, + "Body_builder_build_builder_save_post": { + "properties": { + "files": { + "items": { + "type": "string", + "contentMediaType": "application/octet-stream" + }, + "type": "array", + "title": "Files" + } + }, + "type": "object", + "required": [ + "files" + ], + "title": "Body_builder_build_builder_save_post" + }, + "CacheMetadata": { + "properties": { + "cache_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Cache Name", + "description": "Full resource name of the cached content (None if no active cache)" + }, + "expire_time": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Expire Time", + "description": "Unix timestamp when cache expires (None if no active cache)" + }, + "fingerprint": { + "type": "string", + "title": "Fingerprint", + "description": "Hash of cacheable contents used to detect changes" + }, + "invocations_used": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Invocations Used", + "description": "Number of invocations this cache has been used for (None if no active cache)" + }, + "contents_count": { + "type": "integer", + "minimum": 0.0, + "title": "Contents Count", + "description": "Number of contents (cached contents when active cache exists, total contents in request when no active cache)" + }, + "created_at": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Created At", + "description": "Unix timestamp when cache was created (None if no active cache)" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "fingerprint", + "contents_count" + ], + "title": "CacheMetadata", + "description": "Metadata for context cache associated with LLM responses.\n\nThis class stores cache identification, usage tracking, and lifecycle\ninformation for a particular cache instance. It can be in two states:\n\n1. Active cache state: cache_name is set, all fields populated\n2. Fingerprint-only state: cache_name is None, only fingerprint and\n contents_count are set for prefix matching\n\nToken counts (cached and total) are available in the LlmResponse.usage_metadata\nand should be accessed from there to avoid duplication.\n\nAttributes:\n cache_name: The full resource name of the cached content (e.g.,\n 'projects/123/locations/us-central1/cachedContents/456').\n None when no active cache exists (fingerprint-only state).\n expire_time: Unix timestamp when the cache expires. None when no\n active cache exists.\n fingerprint: Hash of cacheable contents (instruction + tools + contents).\n Always present for prefix matching.\n invocations_used: Number of invocations this cache has been used for.\n None when no active cache exists.\n contents_count: Number of contents. When active cache exists, this is\n the count of cached contents. When no active cache exists, this is\n the total count of contents in the request.\n created_at: Unix timestamp when the cache was created. None when\n no active cache exists." + }, + "Citation": { + "properties": { + "endIndex": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Endindex", + "description": "Output only. The end index of the citation in the content." + }, + "license": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "License", + "description": "Output only. The license of the source of the citation." + }, + "publicationDate": { + "anyOf": [ + { + "$ref": "#/components/schemas/GoogleTypeDate" + }, + { + "type": "null" + } + ], + "description": "Output only. The publication date of the source of the citation." + }, + "startIndex": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Startindex", + "description": "Output only. The start index of the citation in the content." + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title", + "description": "Output only. The title of the source of the citation." + }, + "uri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Uri", + "description": "Output only. The URI of the source of the citation." + } + }, + "additionalProperties": false, + "type": "object", + "title": "Citation", + "description": "A citation for a piece of generatedcontent.\n\nThis data type is not supported in Gemini API." + }, + "CitationMetadata-Input": { + "properties": { + "citations": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Citation" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Citations", + "description": "Contains citation information when the model directly quotes, at\n length, from another source. Can include traditional websites and code\n repositories.\n " + } + }, + "additionalProperties": false, + "type": "object", + "title": "CitationMetadata", + "description": "Citation information when the model quotes another source." + }, + "CitationMetadata-Output": { + "properties": { + "citations": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Citation" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Citations", + "description": "Contains citation information when the model directly quotes, at\n length, from another source. Can include traditional websites and code\n repositories.\n " + } + }, + "additionalProperties": false, + "type": "object", + "title": "CitationMetadata", + "description": "Citation information when the model quotes another source." + }, + "CodeExecutionResult": { + "properties": { + "outcome": { + "anyOf": [ + { + "$ref": "#/components/schemas/Outcome" + }, + { + "type": "null" + } + ], + "description": "Required. Outcome of the code execution." + }, + "output": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Output", + "description": "Optional. Contains stdout when code execution is successful, stderr or other description otherwise." + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id", + "description": "The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id." + } + }, + "additionalProperties": false, + "type": "object", + "title": "CodeExecutionResult", + "description": "Result of executing the `ExecutableCode`.\n\nGenerated only when the `CodeExecution` tool is used." + }, + "Content-Input": { + "properties": { + "parts": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Part-Input" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Parts", + "description": "List of parts that constitute a single message. Each part may have\n a different IANA MIME type." + }, + "role": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Role", + "description": "Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'." + } + }, + "additionalProperties": false, + "type": "object", + "title": "Content", + "description": "Contains the multi-part content of a message." + }, + "Content-Output": { + "properties": { + "parts": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Part-Output" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Parts", + "description": "List of parts that constitute a single message. Each part may have\n a different IANA MIME type." + }, + "role": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Role", + "description": "Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'." + } + }, + "additionalProperties": false, + "type": "object", + "title": "Content", + "description": "Contains the multi-part content of a message." + }, + "ConversationScenario-Input": { + "properties": { + "startingPrompt": { + "type": "string", + "title": "Startingprompt" + }, + "conversationPlan": { + "type": "string", + "title": "Conversationplan" + }, + "userPersona": { + "anyOf": [ + { + "$ref": "#/components/schemas/UserPersona" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "startingPrompt", + "conversationPlan" + ], + "title": "ConversationScenario", + "description": "Scenario for a conversation between a simulated user and the Agent under test." + }, + "ConversationScenario-Output": { + "properties": { + "startingPrompt": { + "type": "string", + "title": "Startingprompt" + }, + "conversationPlan": { + "type": "string", + "title": "Conversationplan" + }, + "userPersona": { + "anyOf": [ + { + "$ref": "#/components/schemas/UserPersona" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "startingPrompt", + "conversationPlan" + ], + "title": "ConversationScenario", + "description": "Scenario for a conversation between a simulated user and the Agent under test." + }, + "CreateEvalSetRequest": { + "properties": { + "evalSet": { + "$ref": "#/components/schemas/EvalSet-Input" + } + }, + "type": "object", + "required": [ + "evalSet" + ], + "title": "CreateEvalSetRequest" + }, + "CreateSessionRequest": { + "properties": { + "sessionId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Sessionid", + "description": "The ID of the session to create. If not provided, a random session ID will be generated." + }, + "state": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "State", + "description": "The initial state of the session." + }, + "events": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Event-Input" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Events", + "description": "A list of events to initialize the session with." + } + }, + "type": "object", + "title": "CreateSessionRequest" + }, + "EvalCase-Input": { + "properties": { + "evalId": { + "type": "string", + "title": "Evalid" + }, + "conversation": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Invocation-Input" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Conversation" + }, + "conversationScenario": { + "anyOf": [ + { + "$ref": "#/components/schemas/ConversationScenario-Input" + }, + { + "type": "null" + } + ] + }, + "sessionInput": { + "anyOf": [ + { + "$ref": "#/components/schemas/SessionInput" + }, + { + "type": "null" + } + ] + }, + "creationTimestamp": { + "type": "number", + "title": "Creationtimestamp", + "default": 0.0 + }, + "rubrics": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Rubric" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Rubrics" + }, + "finalSessionState": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Finalsessionstate" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "evalId" + ], + "title": "EvalCase", + "description": "An eval case." + }, + "EvalCase-Output": { + "properties": { + "evalId": { + "type": "string", + "title": "Evalid" + }, + "conversation": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Invocation-Output" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Conversation" + }, + "conversationScenario": { + "anyOf": [ + { + "$ref": "#/components/schemas/ConversationScenario-Output" + }, + { + "type": "null" + } + ] + }, + "sessionInput": { + "anyOf": [ + { + "$ref": "#/components/schemas/SessionInput" + }, + { + "type": "null" + } + ] + }, + "creationTimestamp": { + "type": "number", + "title": "Creationtimestamp", + "default": 0.0 + }, + "rubrics": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Rubric" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Rubrics" + }, + "finalSessionState": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Finalsessionstate" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "evalId" + ], + "title": "EvalCase", + "description": "An eval case." + }, + "EvalCaseResult": { + "properties": { + "evalSetFile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Evalsetfile", + "description": "This field is deprecated, use eval_set_id instead.", + "deprecated": true + }, + "evalSetId": { + "type": "string", + "title": "Evalsetid", + "default": "" + }, + "evalId": { + "type": "string", + "title": "Evalid", + "default": "" + }, + "finalEvalStatus": { + "$ref": "#/components/schemas/EvalStatus" + }, + "evalMetricResults": { + "anyOf": [ + { + "items": { + "prefixItems": [ + { + "$ref": "#/components/schemas/EvalMetric" + }, + { + "$ref": "#/components/schemas/EvalMetricResult" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Evalmetricresults", + "description": "This field is deprecated, use overall_eval_metric_results instead.", + "deprecated": true + }, + "overallEvalMetricResults": { + "items": { + "$ref": "#/components/schemas/EvalMetricResult" + }, + "type": "array", + "title": "Overallevalmetricresults" + }, + "evalMetricResultPerInvocation": { + "items": { + "$ref": "#/components/schemas/EvalMetricResultPerInvocation" + }, + "type": "array", + "title": "Evalmetricresultperinvocation" + }, + "sessionId": { + "type": "string", + "title": "Sessionid" + }, + "sessionDetails": { + "anyOf": [ + { + "$ref": "#/components/schemas/Session" + }, + { + "type": "null" + } + ] + }, + "userId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Userid" + } + }, + "type": "object", + "required": [ + "finalEvalStatus", + "overallEvalMetricResults", + "evalMetricResultPerInvocation", + "sessionId" + ], + "title": "EvalCaseResult", + "description": "Case level evaluation results." + }, + "EvalMetric": { + "properties": { + "metricName": { + "type": "string", + "title": "Metricname", + "description": "The name of the metric." + }, + "threshold": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Threshold", + "description": "This field will be deprecated soon. Please use `criterion` instead. A threshold value. Each metric decides how to interpret this threshold." + }, + "criterion": { + "anyOf": [ + { + "$ref": "#/components/schemas/BaseCriterion" + }, + { + "type": "null" + } + ], + "description": "Evaluation criterion used by the metric." + }, + "customFunctionPath": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Customfunctionpath", + "description": "Path to custom function, if this is a custom metric." + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "metricName" + ], + "title": "EvalMetric", + "description": "A metric used to evaluate a particular aspect of an eval case." + }, + "EvalMetricResult": { + "properties": { + "metricName": { + "type": "string", + "title": "Metricname", + "description": "The name of the metric." + }, + "threshold": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Threshold", + "description": "This field will be deprecated soon. Please use `criterion` instead. A threshold value. Each metric decides how to interpret this threshold." + }, + "criterion": { + "anyOf": [ + { + "$ref": "#/components/schemas/BaseCriterion" + }, + { + "type": "null" + } + ], + "description": "Evaluation criterion used by the metric." + }, + "customFunctionPath": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Customfunctionpath", + "description": "Path to custom function, if this is a custom metric." + }, + "score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Score", + "description": "Score obtained after evaluating the metric. Optional, as evaluation might not have happened." + }, + "evalStatus": { + "$ref": "#/components/schemas/EvalStatus", + "description": "The status of this evaluation." + }, + "details": { + "$ref": "#/components/schemas/EvalMetricResultDetails", + "description": "" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "metricName", + "evalStatus" + ], + "title": "EvalMetricResult", + "description": "The actual computed score/value of a particular EvalMetric." + }, + "EvalMetricResultDetails": { + "properties": { + "rubricScores": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/RubricScore" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Rubricscores", + "description": "The scores obtained after applying the rubrics to the Agent's response." + } + }, + "additionalProperties": false, + "type": "object", + "title": "EvalMetricResultDetails" + }, + "EvalMetricResultPerInvocation": { + "properties": { + "actualInvocation": { + "$ref": "#/components/schemas/Invocation-Output", + "description": "The actual invocation, usually obtained by inferencing the agent." + }, + "expectedInvocation": { + "anyOf": [ + { + "$ref": "#/components/schemas/Invocation-Output" + }, + { + "type": "null" + } + ], + "description": "The expected invocation, usually the reference or golden invocation." + }, + "evalMetricResults": { + "items": { + "$ref": "#/components/schemas/EvalMetricResult" + }, + "type": "array", + "title": "Evalmetricresults", + "description": "Eval results for each applicable metric.", + "default": [] + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "actualInvocation" + ], + "title": "EvalMetricResultPerInvocation", + "description": "Eval metric results per invocation." + }, + "EvalResult": { + "properties": { + "evalSetResultId": { + "type": "string", + "title": "Evalsetresultid" + }, + "evalSetResultName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Evalsetresultname" + }, + "evalSetId": { + "type": "string", + "title": "Evalsetid" + }, + "evalCaseResults": { + "items": { + "$ref": "#/components/schemas/EvalCaseResult" + }, + "type": "array", + "title": "Evalcaseresults" + }, + "creationTimestamp": { + "type": "number", + "title": "Creationtimestamp", + "default": 0.0 + } + }, + "type": "object", + "required": [ + "evalSetResultId", + "evalSetId" + ], + "title": "EvalResult", + "description": "This class has no field intentionally.\n\nThe goal here is to just give a new name to the class to align with the API\nendpoint." + }, + "EvalSet-Input": { + "properties": { + "eval_set_id": { + "type": "string", + "title": "Eval Set Id" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "eval_cases": { + "items": { + "$ref": "#/components/schemas/EvalCase-Input" + }, + "type": "array", + "title": "Eval Cases" + }, + "creation_timestamp": { + "type": "number", + "title": "Creation Timestamp", + "default": 0.0 + } + }, + "type": "object", + "required": [ + "eval_set_id", + "eval_cases" + ], + "title": "EvalSet", + "description": "A set of eval cases." + }, + "EvalSet-Output": { + "properties": { + "eval_set_id": { + "type": "string", + "title": "Eval Set Id" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "eval_cases": { + "items": { + "$ref": "#/components/schemas/EvalCase-Output" + }, + "type": "array", + "title": "Eval Cases" + }, + "creation_timestamp": { + "type": "number", + "title": "Creation Timestamp", + "default": 0.0 + } + }, + "type": "object", + "required": [ + "eval_set_id", + "eval_cases" + ], + "title": "EvalSet", + "description": "A set of eval cases." + }, + "EvalSetResult": { + "properties": { + "evalSetResultId": { + "type": "string", + "title": "Evalsetresultid" + }, + "evalSetResultName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Evalsetresultname" + }, + "evalSetId": { + "type": "string", + "title": "Evalsetid" + }, + "evalCaseResults": { + "items": { + "$ref": "#/components/schemas/EvalCaseResult" + }, + "type": "array", + "title": "Evalcaseresults" + }, + "creationTimestamp": { + "type": "number", + "title": "Creationtimestamp", + "default": 0.0 + } + }, + "type": "object", + "required": [ + "evalSetResultId", + "evalSetId" + ], + "title": "EvalSetResult", + "description": "Eval set level evaluation results." + }, + "EvalStatus": { + "type": "integer", + "enum": [ + 1, + 2, + 3 + ], + "title": "EvalStatus" + }, + "Event-Input": { + "properties": { + "modelVersion": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Modelversion" + }, + "content": { + "anyOf": [ + { + "$ref": "#/components/schemas/Content-Input" + }, + { + "type": "null" + } + ] + }, + "groundingMetadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingMetadata-Input" + }, + { + "type": "null" + } + ] + }, + "partial": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Partial" + }, + "turnComplete": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Turncomplete" + }, + "finishReason": { + "anyOf": [ + { + "$ref": "#/components/schemas/FinishReason" + }, + { + "type": "null" + } + ] + }, + "errorCode": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Errorcode" + }, + "errorMessage": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Errormessage" + }, + "interrupted": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Interrupted" + }, + "customMetadata": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Custommetadata" + }, + "usageMetadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/GenerateContentResponseUsageMetadata-Input" + }, + { + "type": "null" + } + ] + }, + "liveSessionResumptionUpdate": { + "anyOf": [ + { + "$ref": "#/components/schemas/LiveServerSessionResumptionUpdate" + }, + { + "type": "null" + } + ] + }, + "inputTranscription": { + "anyOf": [ + { + "$ref": "#/components/schemas/Transcription" + }, + { + "type": "null" + } + ] + }, + "outputTranscription": { + "anyOf": [ + { + "$ref": "#/components/schemas/Transcription" + }, + { + "type": "null" + } + ] + }, + "avgLogprobs": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Avglogprobs" + }, + "logprobsResult": { + "anyOf": [ + { + "$ref": "#/components/schemas/LogprobsResult-Input" + }, + { + "type": "null" + } + ] + }, + "cacheMetadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/CacheMetadata" + }, + { + "type": "null" + } + ] + }, + "citationMetadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/CitationMetadata-Input" + }, + { + "type": "null" + } + ] + }, + "interactionId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Interactionid" + }, + "invocationId": { + "type": "string", + "title": "Invocationid", + "default": "" + }, + "author": { + "type": "string", + "title": "Author" + }, + "actions": { + "$ref": "#/components/schemas/EventActions-Input" + }, + "longRunningToolIds": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], + "title": "Longrunningtoolids" + }, + "branch": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Branch" + }, + "id": { + "type": "string", + "title": "Id", + "default": "" + }, + "timestamp": { + "type": "number", + "title": "Timestamp" + } + }, + "type": "object", + "required": [ + "author" + ], + "title": "Event", + "description": "Represents an event in a conversation between agents and users.\n\nIt is used to store the content of the conversation, as well as the actions\ntaken by the agents like function calls, etc." + }, + "Event-Output": { + "properties": { + "modelVersion": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Modelversion" + }, + "content": { + "anyOf": [ + { + "$ref": "#/components/schemas/Content-Output" + }, + { + "type": "null" + } + ] + }, + "groundingMetadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingMetadata-Output" + }, + { + "type": "null" + } + ] + }, + "partial": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Partial" + }, + "turnComplete": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Turncomplete" + }, + "finishReason": { + "anyOf": [ + { + "$ref": "#/components/schemas/FinishReason" + }, + { + "type": "null" + } + ] + }, + "errorCode": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Errorcode" + }, + "errorMessage": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Errormessage" + }, + "interrupted": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Interrupted" + }, + "customMetadata": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Custommetadata" + }, + "usageMetadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/GenerateContentResponseUsageMetadata-Output" + }, + { + "type": "null" + } + ] + }, + "liveSessionResumptionUpdate": { + "anyOf": [ + { + "$ref": "#/components/schemas/LiveServerSessionResumptionUpdate" + }, + { + "type": "null" + } + ] + }, + "inputTranscription": { + "anyOf": [ + { + "$ref": "#/components/schemas/Transcription" + }, + { + "type": "null" + } + ] + }, + "outputTranscription": { + "anyOf": [ + { + "$ref": "#/components/schemas/Transcription" + }, + { + "type": "null" + } + ] + }, + "avgLogprobs": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Avglogprobs" + }, + "logprobsResult": { + "anyOf": [ + { + "$ref": "#/components/schemas/LogprobsResult-Output" + }, + { + "type": "null" + } + ] + }, + "cacheMetadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/CacheMetadata" + }, + { + "type": "null" + } + ] + }, + "citationMetadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/CitationMetadata-Output" + }, + { + "type": "null" + } + ] + }, + "interactionId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Interactionid" + }, + "invocationId": { + "type": "string", + "title": "Invocationid", + "default": "" + }, + "author": { + "type": "string", + "title": "Author" + }, + "actions": { + "$ref": "#/components/schemas/EventActions-Output" + }, + "longRunningToolIds": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], + "title": "Longrunningtoolids" + }, + "branch": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Branch" + }, + "id": { + "type": "string", + "title": "Id", + "default": "" + }, + "timestamp": { + "type": "number", + "title": "Timestamp" + } + }, + "type": "object", + "required": [ + "author" + ], + "title": "Event", + "description": "Represents an event in a conversation between agents and users.\n\nIt is used to store the content of the conversation, as well as the actions\ntaken by the agents like function calls, etc." + }, + "EventActions-Input": { + "properties": { + "skipSummarization": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Skipsummarization" + }, + "stateDelta": { + "additionalProperties": true, + "type": "object", + "title": "Statedelta" + }, + "artifactDelta": { + "additionalProperties": { + "type": "integer" + }, + "type": "object", + "title": "Artifactdelta" + }, + "transferToAgent": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Transfertoagent" + }, + "escalate": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Escalate" + }, + "requestedAuthConfigs": { + "additionalProperties": { + "$ref": "#/components/schemas/AuthConfig-Input" + }, + "type": "object", + "title": "Requestedauthconfigs" + }, + "requestedToolConfirmations": { + "additionalProperties": { + "$ref": "#/components/schemas/ToolConfirmation" + }, + "type": "object", + "title": "Requestedtoolconfirmations" + }, + "compaction": { + "anyOf": [ + { + "$ref": "#/components/schemas/EventCompaction-Input" + }, + { + "type": "null" + } + ] + }, + "endOfAgent": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Endofagent" + }, + "agentState": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Agentstate" + }, + "rewindBeforeInvocationId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Rewindbeforeinvocationid" + }, + "renderUiWidgets": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/UiWidget" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Renderuiwidgets" + } + }, + "additionalProperties": false, + "type": "object", + "title": "EventActions", + "description": "Represents the actions attached to an event." + }, + "EventActions-Output": { + "properties": { + "skipSummarization": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Skipsummarization" + }, + "stateDelta": { + "additionalProperties": true, + "type": "object", + "title": "Statedelta" + }, + "artifactDelta": { + "additionalProperties": { + "type": "integer" + }, + "type": "object", + "title": "Artifactdelta" + }, + "transferToAgent": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Transfertoagent" + }, + "escalate": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Escalate" + }, + "requestedAuthConfigs": { + "additionalProperties": { + "$ref": "#/components/schemas/AuthConfig-Output" + }, + "type": "object", + "title": "Requestedauthconfigs" + }, + "requestedToolConfirmations": { + "additionalProperties": { + "$ref": "#/components/schemas/ToolConfirmation" + }, + "type": "object", + "title": "Requestedtoolconfirmations" + }, + "compaction": { + "anyOf": [ + { + "$ref": "#/components/schemas/EventCompaction-Output" + }, + { + "type": "null" + } + ] + }, + "endOfAgent": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Endofagent" + }, + "agentState": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Agentstate" + }, + "rewindBeforeInvocationId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Rewindbeforeinvocationid" + }, + "renderUiWidgets": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/UiWidget" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Renderuiwidgets" + } + }, + "additionalProperties": false, + "type": "object", + "title": "EventActions", + "description": "Represents the actions attached to an event." + }, + "EventCompaction-Input": { + "properties": { + "startTimestamp": { + "type": "number", + "title": "Starttimestamp" + }, + "endTimestamp": { + "type": "number", + "title": "Endtimestamp" + }, + "compactedContent": { + "$ref": "#/components/schemas/Content-Input" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "startTimestamp", + "endTimestamp", + "compactedContent" + ], + "title": "EventCompaction", + "description": "The compaction of the events." + }, + "EventCompaction-Output": { + "properties": { + "startTimestamp": { + "type": "number", + "title": "Starttimestamp" + }, + "endTimestamp": { + "type": "number", + "title": "Endtimestamp" + }, + "compactedContent": { + "$ref": "#/components/schemas/Content-Output" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "startTimestamp", + "endTimestamp", + "compactedContent" + ], + "title": "EventCompaction", + "description": "The compaction of the events." + }, + "ExecutableCode": { + "properties": { + "code": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Code", + "description": "Required. The code to be executed." + }, + "language": { + "anyOf": [ + { + "$ref": "#/components/schemas/Language" + }, + { + "type": "null" + } + ], + "description": "Required. Programming language of the `code`." + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id", + "description": "Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`." + } + }, + "additionalProperties": false, + "type": "object", + "title": "ExecutableCode", + "description": "Model-generated code executed server-side, results returned to the model.\n\nOnly generated when using the `CodeExecution` tool, in which the code will\nbe automatically executed, and a corresponding `CodeExecutionResult` will\nalso be generated." + }, + "FileData": { + "properties": { + "displayName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Displayname", + "description": "Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. This field is not supported in Gemini API." + }, + "fileUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Fileuri", + "description": "Required. The URI of the file in Google Cloud Storage." + }, + "mimeType": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mimetype", + "description": "Required. The IANA standard MIME type of the source data." + } + }, + "additionalProperties": false, + "type": "object", + "title": "FileData", + "description": "URI-based data.\n\nA FileData message contains a URI pointing to data of a specific media type.\nIt is used to represent images, audio, and video stored in Google Cloud\nStorage." + }, + "FinishReason": { + "type": "string", + "enum": [ + "FINISH_REASON_UNSPECIFIED", + "STOP", + "MAX_TOKENS", + "SAFETY", + "RECITATION", + "LANGUAGE", + "OTHER", + "BLOCKLIST", + "PROHIBITED_CONTENT", + "SPII", + "MALFORMED_FUNCTION_CALL", + "IMAGE_SAFETY", + "UNEXPECTED_TOOL_CALL", + "IMAGE_PROHIBITED_CONTENT", + "NO_IMAGE", + "IMAGE_RECITATION", + "IMAGE_OTHER" + ], + "title": "FinishReason", + "description": "Output only. The reason why the model stopped generating tokens.\n\nIf empty, the model has not stopped generating the tokens." + }, + "FunctionCall": { + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id", + "description": "The unique id of the function call. If populated, the client to execute the\n `function_call` and return the response with the matching `id`." + }, + "args": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Args", + "description": "Optional. The function parameters and values in JSON object format. See [FunctionDeclaration.parameters] for parameter details." + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name", + "description": "Optional. The name of the function to call. Matches [FunctionDeclaration.name]." + }, + "partialArgs": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/PartialArg" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Partialargs", + "description": "Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. This field is not supported in Gemini API." + }, + "willContinue": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Willcontinue", + "description": "Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. This field is not supported in Gemini API." + } + }, + "additionalProperties": false, + "type": "object", + "title": "FunctionCall", + "description": "A function call." + }, + "FunctionResponse-Input": { + "properties": { + "willContinue": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Willcontinue", + "description": "Signals that function call continues, and more responses will be returned, turning the function call into a generator. Is only applicable to NON_BLOCKING function calls (see FunctionDeclaration.behavior for details), ignored otherwise. If false, the default, future responses will not be considered. Is only applicable to NON_BLOCKING function calls, is ignored otherwise. If set to false, future responses will not be considered. It is allowed to return empty `response` with `will_continue=False` to signal that the function call is finished." + }, + "scheduling": { + "anyOf": [ + { + "$ref": "#/components/schemas/FunctionResponseScheduling" + }, + { + "type": "null" + } + ], + "description": "Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE." + }, + "parts": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/FunctionResponsePart" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Parts", + "description": "List of parts that constitute a function response. Each part may\n have a different IANA MIME type." + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id", + "description": "Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`." + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name", + "description": "Required. The name of the function to call. Matches [FunctionDeclaration.name] and [FunctionCall.name]." + }, + "response": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Response", + "description": "Required. The function response in JSON object format. Use \"output\" key to specify function output and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as function output." + } + }, + "additionalProperties": false, + "type": "object", + "title": "FunctionResponse", + "description": "A function response." + }, + "FunctionResponse-Output": { + "properties": { + "willContinue": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Willcontinue", + "description": "Signals that function call continues, and more responses will be returned, turning the function call into a generator. Is only applicable to NON_BLOCKING function calls (see FunctionDeclaration.behavior for details), ignored otherwise. If false, the default, future responses will not be considered. Is only applicable to NON_BLOCKING function calls, is ignored otherwise. If set to false, future responses will not be considered. It is allowed to return empty `response` with `will_continue=False` to signal that the function call is finished." + }, + "scheduling": { + "anyOf": [ + { + "$ref": "#/components/schemas/FunctionResponseScheduling" + }, + { + "type": "null" + } + ], + "description": "Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE." + }, + "parts": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/FunctionResponsePart" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Parts", + "description": "List of parts that constitute a function response. Each part may\n have a different IANA MIME type." + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id", + "description": "Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`." + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name", + "description": "Required. The name of the function to call. Matches [FunctionDeclaration.name] and [FunctionCall.name]." + }, + "response": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Response", + "description": "Required. The function response in JSON object format. Use \"output\" key to specify function output and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as function output." + } + }, + "additionalProperties": false, + "type": "object", + "title": "FunctionResponse", + "description": "A function response." + }, + "FunctionResponseBlob": { + "properties": { + "mimeType": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mimetype", + "description": "Required. The IANA standard MIME type of the source data." + }, + "data": { + "anyOf": [ + { + "type": "string", + "contentEncoding": "base64", + "contentMediaType": "application/octet-stream" + }, + { + "type": "null" + } + ], + "title": "Data", + "description": "Required. Inline media bytes." + }, + "displayName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Displayname", + "description": "Optional. Display name of the blob.\n Used to provide a label or filename to distinguish blobs." + } + }, + "additionalProperties": false, + "type": "object", + "title": "FunctionResponseBlob", + "description": "Raw media bytes for function response.\n\nText should not be sent as raw bytes, use the FunctionResponse.response\nfield." + }, + "FunctionResponseFileData": { + "properties": { + "fileUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Fileuri", + "description": "Required. URI." + }, + "mimeType": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mimetype", + "description": "Required. The IANA standard MIME type of the source data." + }, + "displayName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Displayname", + "description": "Optional. Display name of the file.\n Used to provide a label or filename to distinguish files." + } + }, + "additionalProperties": false, + "type": "object", + "title": "FunctionResponseFileData", + "description": "URI based data for function response." + }, + "FunctionResponsePart": { + "properties": { + "inlineData": { + "anyOf": [ + { + "$ref": "#/components/schemas/FunctionResponseBlob" + }, + { + "type": "null" + } + ], + "description": "Optional. Inline media bytes." + }, + "fileData": { + "anyOf": [ + { + "$ref": "#/components/schemas/FunctionResponseFileData" + }, + { + "type": "null" + } + ], + "description": "Optional. URI based data." + } + }, + "additionalProperties": false, + "type": "object", + "title": "FunctionResponsePart", + "description": "A datatype containing media that is part of a `FunctionResponse` message.\n\nA `FunctionResponsePart` consists of data which has an associated datatype. A\n`FunctionResponsePart` can only contain one of the accepted types in\n`FunctionResponsePart.data`.\n\nA `FunctionResponsePart` must have a fixed IANA MIME type identifying the\ntype and subtype of the media if the `inline_data` field is filled with raw\nbytes." + }, + "FunctionResponseScheduling": { + "type": "string", + "enum": [ + "SCHEDULING_UNSPECIFIED", + "SILENT", + "WHEN_IDLE", + "INTERRUPT" + ], + "title": "FunctionResponseScheduling", + "description": "Specifies how the response should be scheduled in the conversation." + }, + "GenerateContentResponseUsageMetadata-Input": { + "properties": { + "cacheTokensDetails": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ModalityTokenCount" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Cachetokensdetails", + "description": "Output only. A detailed breakdown of the token count for each modality in the cached content." + }, + "cachedContentTokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Cachedcontenttokencount", + "description": "Output only. The number of tokens in the cached content that was used for this request." + }, + "candidatesTokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Candidatestokencount", + "description": "The total number of tokens in the generated candidates." + }, + "candidatesTokensDetails": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ModalityTokenCount" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Candidatestokensdetails", + "description": "Output only. A detailed breakdown of the token count for each modality in the generated candidates." + }, + "promptTokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Prompttokencount", + "description": "The total number of tokens in the prompt. This includes any text, images, or other media provided in the request. When `cached_content` is set, this also includes the number of tokens in the cached content." + }, + "promptTokensDetails": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ModalityTokenCount" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Prompttokensdetails", + "description": "Output only. A detailed breakdown of the token count for each modality in the prompt." + }, + "thoughtsTokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Thoughtstokencount", + "description": "Output only. The number of tokens that were part of the model's generated \"thoughts\" output, if applicable." + }, + "toolUsePromptTokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Tooluseprompttokencount", + "description": "Output only. The number of tokens in the results from tool executions, which are provided back to the model as input, if applicable." + }, + "toolUsePromptTokensDetails": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ModalityTokenCount" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Tooluseprompttokensdetails", + "description": "Output only. A detailed breakdown by modality of the token counts from the results of tool executions, which are provided back to the model as input." + }, + "totalTokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Totaltokencount", + "description": "The total number of tokens for the entire request. This is the sum of `prompt_token_count`, `candidates_token_count`, `tool_use_prompt_token_count`, and `thoughts_token_count`." + }, + "trafficType": { + "anyOf": [ + { + "$ref": "#/components/schemas/TrafficType" + }, + { + "type": "null" + } + ], + "description": "Output only. The traffic type for this request." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GenerateContentResponseUsageMetadata", + "description": "Usage metadata about the content generation request and response.\n\nThis message provides a detailed breakdown of token usage and other relevant\nmetrics. This data type is not supported in Gemini API." + }, + "GenerateContentResponseUsageMetadata-Output": { + "properties": { + "cacheTokensDetails": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ModalityTokenCount" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Cachetokensdetails", + "description": "Output only. A detailed breakdown of the token count for each modality in the cached content." + }, + "cachedContentTokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Cachedcontenttokencount", + "description": "Output only. The number of tokens in the cached content that was used for this request." + }, + "candidatesTokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Candidatestokencount", + "description": "The total number of tokens in the generated candidates." + }, + "candidatesTokensDetails": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ModalityTokenCount" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Candidatestokensdetails", + "description": "Output only. A detailed breakdown of the token count for each modality in the generated candidates." + }, + "promptTokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Prompttokencount", + "description": "The total number of tokens in the prompt. This includes any text, images, or other media provided in the request. When `cached_content` is set, this also includes the number of tokens in the cached content." + }, + "promptTokensDetails": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ModalityTokenCount" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Prompttokensdetails", + "description": "Output only. A detailed breakdown of the token count for each modality in the prompt." + }, + "thoughtsTokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Thoughtstokencount", + "description": "Output only. The number of tokens that were part of the model's generated \"thoughts\" output, if applicable." + }, + "toolUsePromptTokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Tooluseprompttokencount", + "description": "Output only. The number of tokens in the results from tool executions, which are provided back to the model as input, if applicable." + }, + "toolUsePromptTokensDetails": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ModalityTokenCount" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Tooluseprompttokensdetails", + "description": "Output only. A detailed breakdown by modality of the token counts from the results of tool executions, which are provided back to the model as input." + }, + "totalTokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Totaltokencount", + "description": "The total number of tokens for the entire request. This is the sum of `prompt_token_count`, `candidates_token_count`, `tool_use_prompt_token_count`, and `thoughts_token_count`." + }, + "trafficType": { + "anyOf": [ + { + "$ref": "#/components/schemas/TrafficType" + }, + { + "type": "null" + } + ], + "description": "Output only. The traffic type for this request." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GenerateContentResponseUsageMetadata", + "description": "Usage metadata about the content generation request and response.\n\nThis message provides a detailed breakdown of token usage and other relevant\nmetrics. This data type is not supported in Gemini API." + }, + "GoogleTypeDate": { + "properties": { + "day": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Day", + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant." + }, + "month": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Month", + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day." + }, + "year": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Year", + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GoogleTypeDate", + "description": "Represents a whole or partial calendar date, such as a birthday.\n\nThe time of day and time zone are either specified elsewhere or are\ninsignificant. The date is relative to the Gregorian Calendar. This can\nrepresent one of the following: * A full date, with non-zero year, month, and\nday values. * A month and day, with a zero year (for example, an anniversary).\n* A year on its own, with a zero month and a zero day. * A year and month,\nwith a zero day (for example, a credit card expiration date). Related types: *\ngoogle.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp. This\ndata type is not supported in Gemini API." + }, + "GroundingChunk-Input": { + "properties": { + "image": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingChunkImage" + }, + { + "type": "null" + } + ], + "description": "A grounding chunk from an image search result. See the `Image`\n message for details.\n " + }, + "maps": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingChunkMaps-Input" + }, + { + "type": "null" + } + ], + "description": "A `Maps` chunk is a piece of evidence that comes from Google Maps.\n\n It contains information about a place, such as its name, address, and\n reviews. This is used to provide the user with rich, location-based\n information." + }, + "retrievedContext": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingChunkRetrievedContext-Input" + }, + { + "type": "null" + } + ], + "description": "A grounding chunk from a data source retrieved by a retrieval tool, such as Vertex AI Search. See the `RetrievedContext` message for details. This field is not supported in Gemini API." + }, + "web": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingChunkWeb" + }, + { + "type": "null" + } + ], + "description": "A grounding chunk from a web page, typically from Google Search. See the `Web` message for details." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingChunk", + "description": "A piece of evidence that supports a claim made by the model.\n\nThis is used to show a citation for a claim made by the model. When grounding\nis enabled, the model returns a `GroundingChunk` that contains a reference to\nthe source of the information." + }, + "GroundingChunk-Output": { + "properties": { + "image": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingChunkImage" + }, + { + "type": "null" + } + ], + "description": "A grounding chunk from an image search result. See the `Image`\n message for details.\n " + }, + "maps": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingChunkMaps-Output" + }, + { + "type": "null" + } + ], + "description": "A `Maps` chunk is a piece of evidence that comes from Google Maps.\n\n It contains information about a place, such as its name, address, and\n reviews. This is used to provide the user with rich, location-based\n information." + }, + "retrievedContext": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingChunkRetrievedContext-Output" + }, + { + "type": "null" + } + ], + "description": "A grounding chunk from a data source retrieved by a retrieval tool, such as Vertex AI Search. See the `RetrievedContext` message for details. This field is not supported in Gemini API." + }, + "web": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingChunkWeb" + }, + { + "type": "null" + } + ], + "description": "A grounding chunk from a web page, typically from Google Search. See the `Web` message for details." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingChunk", + "description": "A piece of evidence that supports a claim made by the model.\n\nThis is used to show a citation for a claim made by the model. When grounding\nis enabled, the model returns a `GroundingChunk` that contains a reference to\nthe source of the information." + }, + "GroundingChunkImage": { + "properties": { + "sourceUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Sourceuri", + "description": "The URI of the image search result page." + }, + "imageUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Imageuri", + "description": "The URI of the image." + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title", + "description": "The title of the image search result page." + }, + "domain": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Domain", + "description": "The domain of the image search result page." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingChunkImage", + "description": "A piece of evidence that comes from an image search result.\n\nIt contains the URI of the image search result and the URI of the image.\nThis is used to provide the user with a link to the source of the\ninformation." + }, + "GroundingChunkMaps-Input": { + "properties": { + "placeAnswerSources": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingChunkMapsPlaceAnswerSources-Input" + }, + { + "type": "null" + } + ], + "description": "The sources that were used to generate the place answer.\n\n This includes review snippets and photos that were used to generate the\n answer, as well as URIs to flag content." + }, + "placeId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Placeid", + "description": "This Place's resource name, in `places/{place_id}` format.\n\n This can be used to look up the place in the Google Maps API." + }, + "text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Text", + "description": "The text of the place answer." + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title", + "description": "The title of the place." + }, + "uri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Uri", + "description": "The URI of the place." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingChunkMaps", + "description": "A `Maps` chunk is a piece of evidence that comes from Google Maps.\n\nIt contains information about a place, such as its name, address, and reviews.\nThis is used to provide the user with rich, location-based information." + }, + "GroundingChunkMaps-Output": { + "properties": { + "placeAnswerSources": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingChunkMapsPlaceAnswerSources-Output" + }, + { + "type": "null" + } + ], + "description": "The sources that were used to generate the place answer.\n\n This includes review snippets and photos that were used to generate the\n answer, as well as URIs to flag content." + }, + "placeId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Placeid", + "description": "This Place's resource name, in `places/{place_id}` format.\n\n This can be used to look up the place in the Google Maps API." + }, + "text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Text", + "description": "The text of the place answer." + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title", + "description": "The title of the place." + }, + "uri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Uri", + "description": "The URI of the place." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingChunkMaps", + "description": "A `Maps` chunk is a piece of evidence that comes from Google Maps.\n\nIt contains information about a place, such as its name, address, and reviews.\nThis is used to provide the user with rich, location-based information." + }, + "GroundingChunkMapsPlaceAnswerSources-Input": { + "properties": { + "reviewSnippet": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/GroundingChunkMapsPlaceAnswerSourcesReviewSnippet" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Reviewsnippet", + "description": "Snippets of reviews that were used to generate the answer." + }, + "flagContentUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Flagcontenturi", + "description": "A link where users can flag a problem with the generated answer." + }, + "reviewSnippets": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/GroundingChunkMapsPlaceAnswerSourcesReviewSnippet" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Reviewsnippets", + "description": "Snippets of reviews that were used to generate the answer." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingChunkMapsPlaceAnswerSources", + "description": "The sources that were used to generate the place answer.\n\nThis includes review snippets and photos that were used to generate the\nanswer, as well as URIs to flag content." + }, + "GroundingChunkMapsPlaceAnswerSources-Output": { + "properties": { + "reviewSnippet": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/GroundingChunkMapsPlaceAnswerSourcesReviewSnippet" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Reviewsnippet", + "description": "Snippets of reviews that were used to generate the answer." + }, + "flagContentUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Flagcontenturi", + "description": "A link where users can flag a problem with the generated answer." + }, + "reviewSnippets": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/GroundingChunkMapsPlaceAnswerSourcesReviewSnippet" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Reviewsnippets", + "description": "Snippets of reviews that were used to generate the answer." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingChunkMapsPlaceAnswerSources", + "description": "The sources that were used to generate the place answer.\n\nThis includes review snippets and photos that were used to generate the\nanswer, as well as URIs to flag content." + }, + "GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution": { + "properties": { + "displayName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Displayname", + "description": "Name of the author of the Photo or Review." + }, + "photoUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Photouri", + "description": "Profile photo URI of the author of the Photo or Review." + }, + "uri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Uri", + "description": "URI of the author of the Photo or Review." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution", + "description": "Author attribution for a photo or review." + }, + "GroundingChunkMapsPlaceAnswerSourcesReviewSnippet": { + "properties": { + "authorAttribution": { + "anyOf": [ + { + "$ref": "#/components/schemas/GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution" + }, + { + "type": "null" + } + ], + "description": "This review's author." + }, + "flagContentUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Flagcontenturi", + "description": "A link where users can flag a problem with the review." + }, + "googleMapsUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Googlemapsuri", + "description": "A link to show the review on Google Maps." + }, + "relativePublishTimeDescription": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Relativepublishtimedescription", + "description": "A string of formatted recent time, expressing the review time relative to the current time in a form appropriate for the language and country." + }, + "review": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Review", + "description": "A reference representing this place review which may be used to look up this place review again." + }, + "reviewId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Reviewid", + "description": "Id of the review referencing the place." + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title", + "description": "Title of the review." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingChunkMapsPlaceAnswerSourcesReviewSnippet", + "description": "Encapsulates a review snippet." + }, + "GroundingChunkRetrievedContext-Input": { + "properties": { + "documentName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Documentname", + "description": "Output only. The full resource name of the referenced Vertex AI Search document. This is used to identify the specific document that was retrieved. The format is `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`." + }, + "ragChunk": { + "anyOf": [ + { + "$ref": "#/components/schemas/RagChunk" + }, + { + "type": "null" + } + ], + "description": "Additional context for a Retrieval-Augmented Generation (RAG) retrieval result. This is populated only when the RAG retrieval tool is used." + }, + "text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Text", + "description": "The content of the retrieved data source." + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title", + "description": "The title of the retrieved data source." + }, + "uri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Uri", + "description": "The URI of the retrieved data source." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingChunkRetrievedContext", + "description": "Context retrieved from a data source to ground the model's response.\n\nThis is used when a retrieval tool fetches information from a user-provided\ncorpus or a public dataset. This data type is not supported in Gemini API." + }, + "GroundingChunkRetrievedContext-Output": { + "properties": { + "documentName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Documentname", + "description": "Output only. The full resource name of the referenced Vertex AI Search document. This is used to identify the specific document that was retrieved. The format is `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`." + }, + "ragChunk": { + "anyOf": [ + { + "$ref": "#/components/schemas/RagChunk" + }, + { + "type": "null" + } + ], + "description": "Additional context for a Retrieval-Augmented Generation (RAG) retrieval result. This is populated only when the RAG retrieval tool is used." + }, + "text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Text", + "description": "The content of the retrieved data source." + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title", + "description": "The title of the retrieved data source." + }, + "uri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Uri", + "description": "The URI of the retrieved data source." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingChunkRetrievedContext", + "description": "Context retrieved from a data source to ground the model's response.\n\nThis is used when a retrieval tool fetches information from a user-provided\ncorpus or a public dataset. This data type is not supported in Gemini API." + }, + "GroundingChunkWeb": { + "properties": { + "domain": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Domain", + "description": "The domain of the web page that contains the evidence. This can be used to filter out low-quality sources. This field is not supported in Gemini API." + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title", + "description": "The title of the web page that contains the evidence." + }, + "uri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Uri", + "description": "The URI of the web page that contains the evidence." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingChunkWeb", + "description": "A `Web` chunk is a piece of evidence that comes from a web page.\n\nIt contains the URI of the web page, the title of the page, and the domain of\nthe page. This is used to provide the user with a link to the source of the\ninformation." + }, + "GroundingMetadata-Input": { + "properties": { + "imageSearchQueries": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Imagesearchqueries", + "description": "Optional. The image search queries that were used to generate the\n content. This field is populated only when the grounding source is Google\n Search with the Image Search search_type enabled.\n " + }, + "groundingChunks": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/GroundingChunk-Input" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Groundingchunks", + "description": "A list of supporting references retrieved from the grounding\n source. This field is populated when the grounding source is Google\n Search, Vertex AI Search, or Google Maps.\n " + }, + "groundingSupports": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/GroundingSupport" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Groundingsupports", + "description": "List of grounding support." + }, + "retrievalMetadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/RetrievalMetadata" + }, + { + "type": "null" + } + ], + "description": "Metadata related to retrieval in the grounding flow." + }, + "searchEntryPoint": { + "anyOf": [ + { + "$ref": "#/components/schemas/SearchEntryPoint" + }, + { + "type": "null" + } + ], + "description": "Optional. Google search entry for the following-up web\n searches." + }, + "webSearchQueries": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Websearchqueries", + "description": "Web search queries for the following-up web search." + }, + "googleMapsWidgetContextToken": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Googlemapswidgetcontexttoken", + "description": "Optional. Output only. A token that can be used to render a Google Maps widget with the contextual data. This field is populated only when the grounding source is Google Maps. This field is not supported in Gemini API." + }, + "retrievalQueries": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Retrievalqueries", + "description": "Optional. The queries that were executed by the retrieval tools. This field is populated only when the grounding source is a retrieval tool, such as Vertex AI Search. This field is not supported in Gemini API." + }, + "sourceFlaggingUris": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/GroundingMetadataSourceFlaggingUri" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Sourceflagginguris", + "description": "Optional. Output only. A list of URIs that can be used to flag a place or review for inappropriate content. This field is populated only when the grounding source is Google Maps. This field is not supported in Gemini API." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingMetadata", + "description": "Information for various kinds of grounding." + }, + "GroundingMetadata-Output": { + "properties": { + "imageSearchQueries": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Imagesearchqueries", + "description": "Optional. The image search queries that were used to generate the\n content. This field is populated only when the grounding source is Google\n Search with the Image Search search_type enabled.\n " + }, + "groundingChunks": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/GroundingChunk-Output" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Groundingchunks", + "description": "A list of supporting references retrieved from the grounding\n source. This field is populated when the grounding source is Google\n Search, Vertex AI Search, or Google Maps.\n " + }, + "groundingSupports": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/GroundingSupport" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Groundingsupports", + "description": "List of grounding support." + }, + "retrievalMetadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/RetrievalMetadata" + }, + { + "type": "null" + } + ], + "description": "Metadata related to retrieval in the grounding flow." + }, + "searchEntryPoint": { + "anyOf": [ + { + "$ref": "#/components/schemas/SearchEntryPoint" + }, + { + "type": "null" + } + ], + "description": "Optional. Google search entry for the following-up web\n searches." + }, + "webSearchQueries": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Websearchqueries", + "description": "Web search queries for the following-up web search." + }, + "googleMapsWidgetContextToken": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Googlemapswidgetcontexttoken", + "description": "Optional. Output only. A token that can be used to render a Google Maps widget with the contextual data. This field is populated only when the grounding source is Google Maps. This field is not supported in Gemini API." + }, + "retrievalQueries": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Retrievalqueries", + "description": "Optional. The queries that were executed by the retrieval tools. This field is populated only when the grounding source is a retrieval tool, such as Vertex AI Search. This field is not supported in Gemini API." + }, + "sourceFlaggingUris": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/GroundingMetadataSourceFlaggingUri" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Sourceflagginguris", + "description": "Optional. Output only. A list of URIs that can be used to flag a place or review for inappropriate content. This field is populated only when the grounding source is Google Maps. This field is not supported in Gemini API." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingMetadata", + "description": "Information for various kinds of grounding." + }, + "GroundingMetadataSourceFlaggingUri": { + "properties": { + "flagContentUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Flagcontenturi", + "description": "The URI that can be used to flag the content." + }, + "sourceId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Sourceid", + "description": "The ID of the place or review." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingMetadataSourceFlaggingUri", + "description": "A URI that can be used to flag a place or review for inappropriate content.\n\nThis is populated only when the grounding source is Google Maps. This data\ntype is not supported in Gemini API." + }, + "GroundingSupport": { + "properties": { + "confidenceScores": { + "anyOf": [ + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Confidencescores", + "description": "Confidence score of the support references.\n\n Ranges from 0 to 1. 1 is the most confident. This list must have the\n same size as the grounding_chunk_indices." + }, + "groundingChunkIndices": { + "anyOf": [ + { + "items": { + "type": "integer" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Groundingchunkindices", + "description": "A list of indices (into 'grounding_chunk') specifying the\n citations associated with the claim. For instance [1,3,4] means that\n grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] are the\n retrieved content attributed to the claim." + }, + "segment": { + "anyOf": [ + { + "$ref": "#/components/schemas/Segment" + }, + { + "type": "null" + } + ], + "description": "Segment of the content this support belongs to." + } + }, + "additionalProperties": false, + "type": "object", + "title": "GroundingSupport", + "description": "Grounding support." + }, + "HTTPBase": { + "properties": { + "type": { + "$ref": "#/components/schemas/SecuritySchemeType", + "default": "http" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "scheme": { + "type": "string", + "title": "Scheme" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "scheme" + ], + "title": "HTTPBase" + }, + "HTTPBearer": { + "properties": { + "type": { + "$ref": "#/components/schemas/SecuritySchemeType", + "default": "http" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "scheme": { + "type": "string", + "const": "bearer", + "title": "Scheme", + "default": "bearer" + }, + "bearerFormat": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Bearerformat" + } + }, + "additionalProperties": true, + "type": "object", + "title": "HTTPBearer" + }, + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "type": "array", + "title": "Detail" + } + }, + "type": "object", + "title": "HTTPValidationError" + }, + "HttpAuth": { + "properties": { + "scheme": { + "type": "string", + "title": "Scheme" + }, + "credentials": { + "$ref": "#/components/schemas/HttpCredentials" + }, + "additionalHeaders": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Additionalheaders" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "scheme", + "credentials" + ], + "title": "HttpAuth", + "description": "The credentials and metadata for HTTP authentication." + }, + "HttpCredentials": { + "properties": { + "username": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Username" + }, + "password": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Password" + }, + "token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token" + } + }, + "additionalProperties": true, + "type": "object", + "title": "HttpCredentials", + "description": "Represents the secret token value for HTTP authentication, like user name, password, oauth token, etc." + }, + "IntermediateData-Input": { + "properties": { + "toolUses": { + "items": { + "$ref": "#/components/schemas/FunctionCall" + }, + "type": "array", + "title": "Tooluses", + "default": [] + }, + "toolResponses": { + "items": { + "$ref": "#/components/schemas/FunctionResponse-Input" + }, + "type": "array", + "title": "Toolresponses", + "default": [] + }, + "intermediateResponses": { + "items": { + "prefixItems": [ + { + "type": "string" + }, + { + "items": { + "$ref": "#/components/schemas/Part-Input" + }, + "type": "array" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + }, + "type": "array", + "title": "Intermediateresponses", + "default": [] + } + }, + "additionalProperties": false, + "type": "object", + "title": "IntermediateData", + "description": "Container for intermediate data that an agent would generate as it responds with a final answer." + }, + "IntermediateData-Output": { + "properties": { + "toolUses": { + "items": { + "$ref": "#/components/schemas/FunctionCall" + }, + "type": "array", + "title": "Tooluses", + "default": [] + }, + "toolResponses": { + "items": { + "$ref": "#/components/schemas/FunctionResponse-Output" + }, + "type": "array", + "title": "Toolresponses", + "default": [] + }, + "intermediateResponses": { + "items": { + "prefixItems": [ + { + "type": "string" + }, + { + "items": { + "$ref": "#/components/schemas/Part-Output" + }, + "type": "array" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + }, + "type": "array", + "title": "Intermediateresponses", + "default": [] + } + }, + "additionalProperties": false, + "type": "object", + "title": "IntermediateData", + "description": "Container for intermediate data that an agent would generate as it responds with a final answer." + }, + "Interval": { + "properties": { + "minValue": { + "type": "number", + "title": "Minvalue", + "description": "The smaller end of the interval." + }, + "openAtMin": { + "type": "boolean", + "title": "Openatmin", + "description": "The interval is Open on the min end. The default value is False, which means that we assume that the interval is Closed.", + "default": false + }, + "maxValue": { + "type": "number", + "title": "Maxvalue", + "description": "The larger end of the interval." + }, + "openAtMax": { + "type": "boolean", + "title": "Openatmax", + "description": "The interval is Open on the max end. The default value is False, which means that we assume that the interval is Closed.", + "default": false + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "minValue", + "maxValue" + ], + "title": "Interval", + "description": "Represents a range of numeric values, e.g. [0 ,1] or (2,3) or [-1, 6)." + }, + "Invocation-Input": { + "properties": { + "invocationId": { + "type": "string", + "title": "Invocationid", + "default": "" + }, + "userContent": { + "$ref": "#/components/schemas/Content-Input" + }, + "finalResponse": { + "anyOf": [ + { + "$ref": "#/components/schemas/Content-Input" + }, + { + "type": "null" + } + ] + }, + "intermediateData": { + "anyOf": [ + { + "$ref": "#/components/schemas/IntermediateData-Input" + }, + { + "$ref": "#/components/schemas/InvocationEvents-Input" + }, + { + "type": "null" + } + ], + "title": "Intermediatedata" + }, + "creationTimestamp": { + "type": "number", + "title": "Creationtimestamp", + "default": 0.0 + }, + "rubrics": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Rubric" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Rubrics" + }, + "appDetails": { + "anyOf": [ + { + "$ref": "#/components/schemas/AppDetails" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "userContent" + ], + "title": "Invocation", + "description": "Represents a single invocation." + }, + "Invocation-Output": { + "properties": { + "invocationId": { + "type": "string", + "title": "Invocationid", + "default": "" + }, + "userContent": { + "$ref": "#/components/schemas/Content-Output" + }, + "finalResponse": { + "anyOf": [ + { + "$ref": "#/components/schemas/Content-Output" + }, + { + "type": "null" + } + ] + }, + "intermediateData": { + "anyOf": [ + { + "$ref": "#/components/schemas/IntermediateData-Output" + }, + { + "$ref": "#/components/schemas/InvocationEvents-Output" + }, + { + "type": "null" + } + ], + "title": "Intermediatedata" + }, + "creationTimestamp": { + "type": "number", + "title": "Creationtimestamp", + "default": 0.0 + }, + "rubrics": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Rubric" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Rubrics" + }, + "appDetails": { + "anyOf": [ + { + "$ref": "#/components/schemas/AppDetails" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "userContent" + ], + "title": "Invocation", + "description": "Represents a single invocation." + }, + "InvocationEvent-Input": { + "properties": { + "author": { + "type": "string", + "title": "Author" + }, + "content": { + "anyOf": [ + { + "$ref": "#/components/schemas/Content-Input" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "author", + "content" + ], + "title": "InvocationEvent", + "description": "An immutable record representing a specific point in the agent's invocation.\n\nIt captures agent's replies, requests to use tools (function calls), and tool\nresults.\n\nThis structure is a simple projection of the actual `Event` datamodel that\nis intended for the Eval System." + }, + "InvocationEvent-Output": { + "properties": { + "author": { + "type": "string", + "title": "Author" + }, + "content": { + "anyOf": [ + { + "$ref": "#/components/schemas/Content-Output" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "author", + "content" + ], + "title": "InvocationEvent", + "description": "An immutable record representing a specific point in the agent's invocation.\n\nIt captures agent's replies, requests to use tools (function calls), and tool\nresults.\n\nThis structure is a simple projection of the actual `Event` datamodel that\nis intended for the Eval System." + }, + "InvocationEvents-Input": { + "properties": { + "invocationEvents": { + "items": { + "$ref": "#/components/schemas/InvocationEvent-Input" + }, + "type": "array", + "title": "Invocationevents" + } + }, + "additionalProperties": false, + "type": "object", + "title": "InvocationEvents", + "description": "A container for events that occur during the course of an invocation." + }, + "InvocationEvents-Output": { + "properties": { + "invocationEvents": { + "items": { + "$ref": "#/components/schemas/InvocationEvent-Output" + }, + "type": "array", + "title": "Invocationevents" + } + }, + "additionalProperties": false, + "type": "object", + "title": "InvocationEvents", + "description": "A container for events that occur during the course of an invocation." + }, + "Language": { + "type": "string", + "enum": [ + "LANGUAGE_UNSPECIFIED", + "PYTHON" + ], + "title": "Language", + "description": "Programming language of the `code`." + }, + "ListAppsResponse": { + "properties": { + "apps": { + "items": { + "$ref": "#/components/schemas/AppInfo" + }, + "type": "array", + "title": "Apps" + } + }, + "type": "object", + "required": [ + "apps" + ], + "title": "ListAppsResponse" + }, + "ListEvalResultsResponse": { + "properties": { + "evalResultIds": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Evalresultids" + } + }, + "type": "object", + "required": [ + "evalResultIds" + ], + "title": "ListEvalResultsResponse" + }, + "ListEvalSetsResponse": { + "properties": { + "evalSetIds": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Evalsetids" + } + }, + "type": "object", + "required": [ + "evalSetIds" + ], + "title": "ListEvalSetsResponse" + }, + "ListMetricsInfoResponse": { + "properties": { + "metricsInfo": { + "items": { + "$ref": "#/components/schemas/MetricInfo" + }, + "type": "array", + "title": "Metricsinfo" + } + }, + "type": "object", + "required": [ + "metricsInfo" + ], + "title": "ListMetricsInfoResponse" + }, + "LiveServerSessionResumptionUpdate": { + "properties": { + "newHandle": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Newhandle", + "description": "New handle that represents state that can be resumed. Empty if `resumable`=false." + }, + "resumable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Resumable", + "description": "True if session can be resumed at this point. It might be not possible to resume session at some points. In that case we send update empty new_handle and resumable=false. Example of such case could be model executing function calls or just generating. Resuming session (using previous session token) in such state will result in some data loss." + }, + "lastConsumedClientMessageIndex": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Lastconsumedclientmessageindex", + "description": "Index of last message sent by client that is included in state represented by this SessionResumptionToken. Only sent when `SessionResumptionConfig.transparent` is set.\n\nPresence of this index allows users to transparently reconnect and avoid issue of losing some part of realtime audio input/video. If client wishes to temporarily disconnect (for example as result of receiving GoAway) they can do it without losing state by buffering messages sent since last `SessionResmumptionTokenUpdate`. This field will enable them to limit buffering (avoid keeping all requests in RAM).\n\nNote: This should not be used for when resuming a session at some time later -- in those cases partial audio and video frames arelikely not needed." + } + }, + "additionalProperties": false, + "type": "object", + "title": "LiveServerSessionResumptionUpdate", + "description": "Update of the session resumption state.\n\nOnly sent if `session_resumption` was set in the connection config." + }, + "LogprobsResult-Input": { + "properties": { + "chosenCandidates": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/LogprobsResultCandidate" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Chosencandidates", + "description": "A list of the chosen candidate tokens at each decoding step. The length of this list is equal to the total number of decoding steps. Note that the chosen candidate might not be in `top_candidates`." + }, + "topCandidates": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/LogprobsResultTopCandidates" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Topcandidates", + "description": "A list of the top candidate tokens at each decoding step. The length of this list is equal to the total number of decoding steps." + } + }, + "additionalProperties": false, + "type": "object", + "title": "LogprobsResult", + "description": "The log probabilities of the tokens generated by the model.\n\nThis is useful for understanding the model's confidence in its predictions and\nfor debugging. For example, you can use log probabilities to identify when the\nmodel is making a less confident prediction or to explore alternative\nresponses that the model considered. A low log probability can also indicate\nthat the model is \"hallucinating\" or generating factually incorrect\ninformation." + }, + "LogprobsResult-Output": { + "properties": { + "chosenCandidates": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/LogprobsResultCandidate" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Chosencandidates", + "description": "A list of the chosen candidate tokens at each decoding step. The length of this list is equal to the total number of decoding steps. Note that the chosen candidate might not be in `top_candidates`." + }, + "topCandidates": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/LogprobsResultTopCandidates" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Topcandidates", + "description": "A list of the top candidate tokens at each decoding step. The length of this list is equal to the total number of decoding steps." + } + }, + "additionalProperties": false, + "type": "object", + "title": "LogprobsResult", + "description": "The log probabilities of the tokens generated by the model.\n\nThis is useful for understanding the model's confidence in its predictions and\nfor debugging. For example, you can use log probabilities to identify when the\nmodel is making a less confident prediction or to explore alternative\nresponses that the model considered. A low log probability can also indicate\nthat the model is \"hallucinating\" or generating factually incorrect\ninformation." + }, + "LogprobsResultCandidate": { + "properties": { + "logProbability": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Logprobability", + "description": "The log probability of this token. A higher value indicates that the model was more confident in this token. The log probability can be used to assess the relative likelihood of different tokens and to identify when the model is uncertain." + }, + "token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token", + "description": "The token's string representation." + }, + "tokenId": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Tokenid", + "description": "The token's numerical ID. While the `token` field provides the string representation of the token, the `token_id` is the numerical representation that the model uses internally. This can be useful for developers who want to build custom logic based on the model's vocabulary." + } + }, + "additionalProperties": false, + "type": "object", + "title": "LogprobsResultCandidate", + "description": "A single token and its associated log probability." + }, + "LogprobsResultTopCandidates": { + "properties": { + "candidates": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/LogprobsResultCandidate" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Candidates", + "description": "The list of candidate tokens, sorted by log probability in descending order." + } + }, + "additionalProperties": false, + "type": "object", + "title": "LogprobsResultTopCandidates", + "description": "A list of the top candidate tokens and their log probabilities at each decoding step.\n\nThis can be used to see what other tokens the model considered." + }, + "MediaModality": { + "type": "string", + "enum": [ + "MODALITY_UNSPECIFIED", + "TEXT", + "IMAGE", + "VIDEO", + "AUDIO", + "DOCUMENT" + ], + "title": "MediaModality", + "description": "Server content modalities." + }, + "MetricInfo": { + "properties": { + "metricName": { + "type": "string", + "title": "Metricname", + "description": "The name of the metric." + }, + "description": { + "type": "string", + "title": "Description", + "description": "A 2 to 3 line description of the metric." + }, + "metricValueInfo": { + "$ref": "#/components/schemas/MetricValueInfo", + "description": "Information on the nature of values supported by the metric." + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "metricName", + "metricValueInfo" + ], + "title": "MetricInfo", + "description": "Information about the metric that are used for Evals." + }, + "MetricValueInfo": { + "properties": { + "interval": { + "anyOf": [ + { + "$ref": "#/components/schemas/Interval" + }, + { + "type": "null" + } + ], + "description": "The values represented by the metric are of type interval." + } + }, + "additionalProperties": false, + "type": "object", + "title": "MetricValueInfo", + "description": "Information about the type of metric value." + }, + "ModalityTokenCount": { + "properties": { + "modality": { + "anyOf": [ + { + "$ref": "#/components/schemas/MediaModality" + }, + { + "type": "null" + } + ], + "description": "The modality associated with this token count." + }, + "tokenCount": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Tokencount", + "description": "The number of tokens counted for this modality." + } + }, + "additionalProperties": false, + "type": "object", + "title": "ModalityTokenCount", + "description": "Represents token counting info for a single modality." + }, + "OAuth2-Input": { + "properties": { + "type": { + "$ref": "#/components/schemas/SecuritySchemeType", + "default": "oauth2" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "flows": { + "$ref": "#/components/schemas/OAuthFlows" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "flows" + ], + "title": "OAuth2" + }, + "OAuth2-Output": { + "properties": { + "type": { + "$ref": "#/components/schemas/SecuritySchemeType", + "default": "oauth2" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "flows": { + "$ref": "#/components/schemas/OAuthFlows" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "flows" + ], + "title": "OAuth2" + }, + "OAuth2Auth": { + "properties": { + "clientId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Clientid" + }, + "clientSecret": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Clientsecret" + }, + "authUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authuri" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "State" + }, + "redirectUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Redirecturi" + }, + "authResponseUri": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authresponseuri" + }, + "authCode": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authcode" + }, + "accessToken": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Accesstoken" + }, + "refreshToken": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Refreshtoken" + }, + "idToken": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Idtoken" + }, + "expiresAt": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Expiresat" + }, + "expiresIn": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Expiresin" + }, + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + }, + "tokenEndpointAuthMethod": { + "anyOf": [ + { + "type": "string", + "enum": [ + "client_secret_basic", + "client_secret_post", + "client_secret_jwt", + "private_key_jwt" + ] + }, + { + "type": "null" + } + ], + "title": "Tokenendpointauthmethod", + "default": "client_secret_basic" + } + }, + "additionalProperties": true, + "type": "object", + "title": "OAuth2Auth", + "description": "Represents credential value and its metadata for a OAuth2 credential." + }, + "OAuthFlowAuthorizationCode": { + "properties": { + "refreshUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Refreshurl" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "title": "Scopes", + "default": {} + }, + "authorizationUrl": { + "type": "string", + "title": "Authorizationurl" + }, + "tokenUrl": { + "type": "string", + "title": "Tokenurl" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "authorizationUrl", + "tokenUrl" + ], + "title": "OAuthFlowAuthorizationCode" + }, + "OAuthFlowClientCredentials": { + "properties": { + "refreshUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Refreshurl" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "title": "Scopes", + "default": {} + }, + "tokenUrl": { + "type": "string", + "title": "Tokenurl" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "tokenUrl" + ], + "title": "OAuthFlowClientCredentials" + }, + "OAuthFlowImplicit": { + "properties": { + "refreshUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Refreshurl" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "title": "Scopes", + "default": {} + }, + "authorizationUrl": { + "type": "string", + "title": "Authorizationurl" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "authorizationUrl" + ], + "title": "OAuthFlowImplicit" + }, + "OAuthFlowPassword": { + "properties": { + "refreshUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Refreshurl" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "title": "Scopes", + "default": {} + }, + "tokenUrl": { + "type": "string", + "title": "Tokenurl" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "tokenUrl" + ], + "title": "OAuthFlowPassword" + }, + "OAuthFlows": { + "properties": { + "implicit": { + "anyOf": [ + { + "$ref": "#/components/schemas/OAuthFlowImplicit" + }, + { + "type": "null" + } + ] + }, + "password": { + "anyOf": [ + { + "$ref": "#/components/schemas/OAuthFlowPassword" + }, + { + "type": "null" + } + ] + }, + "clientCredentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/OAuthFlowClientCredentials" + }, + { + "type": "null" + } + ] + }, + "authorizationCode": { + "anyOf": [ + { + "$ref": "#/components/schemas/OAuthFlowAuthorizationCode" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": true, + "type": "object", + "title": "OAuthFlows" + }, + "OpenIdConnect": { + "properties": { + "type": { + "$ref": "#/components/schemas/SecuritySchemeType", + "default": "openIdConnect" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "openIdConnectUrl": { + "type": "string", + "title": "Openidconnecturl" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "openIdConnectUrl" + ], + "title": "OpenIdConnect" + }, + "OpenIdConnectWithConfig": { + "properties": { + "type": { + "$ref": "#/components/schemas/SecuritySchemeType", + "default": "openIdConnect" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "authorization_endpoint": { + "type": "string", + "title": "Authorization Endpoint" + }, + "token_endpoint": { + "type": "string", + "title": "Token Endpoint" + }, + "userinfo_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Userinfo Endpoint" + }, + "revocation_endpoint": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Revocation Endpoint" + }, + "token_endpoint_auth_methods_supported": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Token Endpoint Auth Methods Supported" + }, + "grant_types_supported": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Grant Types Supported" + }, + "scopes": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Scopes" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "authorization_endpoint", + "token_endpoint" + ], + "title": "OpenIdConnectWithConfig" + }, + "Outcome": { + "type": "string", + "enum": [ + "OUTCOME_UNSPECIFIED", + "OUTCOME_OK", + "OUTCOME_FAILED", + "OUTCOME_DEADLINE_EXCEEDED" + ], + "title": "Outcome", + "description": "Outcome of the code execution." + }, + "Part-Input": { + "properties": { + "mediaResolution": { + "anyOf": [ + { + "$ref": "#/components/schemas/PartMediaResolution" + }, + { + "type": "null" + } + ], + "description": "Media resolution for the input media.\n " + }, + "codeExecutionResult": { + "anyOf": [ + { + "$ref": "#/components/schemas/CodeExecutionResult" + }, + { + "type": "null" + } + ], + "description": "Optional. The result of executing the ExecutableCode." + }, + "executableCode": { + "anyOf": [ + { + "$ref": "#/components/schemas/ExecutableCode" + }, + { + "type": "null" + } + ], + "description": "Optional. Code generated by the model that is intended to be executed." + }, + "fileData": { + "anyOf": [ + { + "$ref": "#/components/schemas/FileData" + }, + { + "type": "null" + } + ], + "description": "Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage." + }, + "functionCall": { + "anyOf": [ + { + "$ref": "#/components/schemas/FunctionCall" + }, + { + "type": "null" + } + ], + "description": "Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function." + }, + "functionResponse": { + "anyOf": [ + { + "$ref": "#/components/schemas/FunctionResponse-Input" + }, + { + "type": "null" + } + ], + "description": "Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted." + }, + "inlineData": { + "anyOf": [ + { + "$ref": "#/components/schemas/Blob" + }, + { + "type": "null" + } + ], + "description": "Optional. The inline data content of the part. This can be used to include images, audio, or video in a request." + }, + "text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Text", + "description": "Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent." + }, + "thought": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Thought", + "description": "Optional. Indicates whether the `part` represents the model's thought process or reasoning." + }, + "thoughtSignature": { + "anyOf": [ + { + "type": "string", + "contentEncoding": "base64", + "contentMediaType": "application/octet-stream" + }, + { + "type": "null" + } + ], + "title": "Thoughtsignature", + "description": "Optional. An opaque signature for the thought so it can be reused in subsequent requests." + }, + "videoMetadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/VideoMetadata" + }, + { + "type": "null" + } + ], + "description": "Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data." + }, + "toolCall": { + "anyOf": [ + { + "$ref": "#/components/schemas/ToolCall" + }, + { + "type": "null" + } + ], + "description": "Server-side tool call. This field is populated when the model predicts a tool invocation that should be executed on the server. The client is expected to echo this message back to the API." + }, + "toolResponse": { + "anyOf": [ + { + "$ref": "#/components/schemas/ToolResponse" + }, + { + "type": "null" + } + ], + "description": "The output from a server-side ToolCall execution. This field is populated by the client with the results of executing the corresponding ToolCall." + } + }, + "additionalProperties": false, + "type": "object", + "title": "Part", + "description": "A datatype containing media content.\n\nExactly one field within a Part should be set, representing the specific type\nof content being conveyed. Using multiple fields within the same `Part`\ninstance is considered invalid." + }, + "Part-Output": { + "properties": { + "mediaResolution": { + "anyOf": [ + { + "$ref": "#/components/schemas/PartMediaResolution" + }, + { + "type": "null" + } + ], + "description": "Media resolution for the input media.\n " + }, + "codeExecutionResult": { + "anyOf": [ + { + "$ref": "#/components/schemas/CodeExecutionResult" + }, + { + "type": "null" + } + ], + "description": "Optional. The result of executing the ExecutableCode." + }, + "executableCode": { + "anyOf": [ + { + "$ref": "#/components/schemas/ExecutableCode" + }, + { + "type": "null" + } + ], + "description": "Optional. Code generated by the model that is intended to be executed." + }, + "fileData": { + "anyOf": [ + { + "$ref": "#/components/schemas/FileData" + }, + { + "type": "null" + } + ], + "description": "Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage." + }, + "functionCall": { + "anyOf": [ + { + "$ref": "#/components/schemas/FunctionCall" + }, + { + "type": "null" + } + ], + "description": "Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function." + }, + "functionResponse": { + "anyOf": [ + { + "$ref": "#/components/schemas/FunctionResponse-Output" + }, + { + "type": "null" + } + ], + "description": "Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted." + }, + "inlineData": { + "anyOf": [ + { + "$ref": "#/components/schemas/Blob" + }, + { + "type": "null" + } + ], + "description": "Optional. The inline data content of the part. This can be used to include images, audio, or video in a request." + }, + "text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Text", + "description": "Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent." + }, + "thought": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Thought", + "description": "Optional. Indicates whether the `part` represents the model's thought process or reasoning." + }, + "thoughtSignature": { + "anyOf": [ + { + "type": "string", + "contentEncoding": "base64", + "contentMediaType": "application/octet-stream" + }, + { + "type": "null" + } + ], + "title": "Thoughtsignature", + "description": "Optional. An opaque signature for the thought so it can be reused in subsequent requests." + }, + "videoMetadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/VideoMetadata" + }, + { + "type": "null" + } + ], + "description": "Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data." + }, + "toolCall": { + "anyOf": [ + { + "$ref": "#/components/schemas/ToolCall" + }, + { + "type": "null" + } + ], + "description": "Server-side tool call. This field is populated when the model predicts a tool invocation that should be executed on the server. The client is expected to echo this message back to the API." + }, + "toolResponse": { + "anyOf": [ + { + "$ref": "#/components/schemas/ToolResponse" + }, + { + "type": "null" + } + ], + "description": "The output from a server-side ToolCall execution. This field is populated by the client with the results of executing the corresponding ToolCall." + } + }, + "additionalProperties": false, + "type": "object", + "title": "Part", + "description": "A datatype containing media content.\n\nExactly one field within a Part should be set, representing the specific type\nof content being conveyed. Using multiple fields within the same `Part`\ninstance is considered invalid." + }, + "PartMediaResolution": { + "properties": { + "level": { + "anyOf": [ + { + "$ref": "#/components/schemas/PartMediaResolutionLevel" + }, + { + "type": "null" + } + ], + "description": "The tokenization quality used for given media.\n " + }, + "numTokens": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Numtokens", + "description": "Specifies the required sequence length for media tokenization.\n " + } + }, + "additionalProperties": false, + "type": "object", + "title": "PartMediaResolution", + "description": "Media resolution for the input media." + }, + "PartMediaResolutionLevel": { + "type": "string", + "enum": [ + "MEDIA_RESOLUTION_UNSPECIFIED", + "MEDIA_RESOLUTION_LOW", + "MEDIA_RESOLUTION_MEDIUM", + "MEDIA_RESOLUTION_HIGH", + "MEDIA_RESOLUTION_ULTRA_HIGH" + ], + "title": "PartMediaResolutionLevel", + "description": "The tokenization quality used for given media." + }, + "PartialArg": { + "properties": { + "boolValue": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Boolvalue", + "description": "Optional. Represents a boolean value." + }, + "jsonPath": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Jsonpath", + "description": "Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. \"$.foo.bar[0].data\"." + }, + "nullValue": { + "anyOf": [ + { + "type": "string", + "const": "NULL_VALUE" + }, + { + "type": "null" + } + ], + "title": "Nullvalue", + "description": "Optional. Represents a null value." + }, + "numberValue": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Numbervalue", + "description": "Optional. Represents a double value." + }, + "stringValue": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Stringvalue", + "description": "Optional. Represents a string value." + }, + "willContinue": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Willcontinue", + "description": "Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow." + } + }, + "additionalProperties": false, + "type": "object", + "title": "PartialArg", + "description": "Partial argument value of the function call.\n\nThis data type is not supported in Gemini API." + }, + "RagChunk": { + "properties": { + "pageSpan": { + "anyOf": [ + { + "$ref": "#/components/schemas/RagChunkPageSpan" + }, + { + "type": "null" + } + ], + "description": "If populated, represents where the chunk starts and ends in the document." + }, + "text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Text", + "description": "The content of the chunk." + } + }, + "additionalProperties": false, + "type": "object", + "title": "RagChunk", + "description": "A RagChunk includes the content of a chunk of a RagFile, and associated metadata.\n\nThis data type is not supported in Gemini API." + }, + "RagChunkPageSpan": { + "properties": { + "firstPage": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Firstpage", + "description": "Page where chunk starts in the document. Inclusive. 1-indexed." + }, + "lastPage": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Lastpage", + "description": "Page where chunk ends in the document. Inclusive. 1-indexed." + } + }, + "additionalProperties": false, + "type": "object", + "title": "RagChunkPageSpan", + "description": "Represents where the chunk starts and ends in the document.\n\nThis data type is not supported in Gemini API." + }, + "RetrievalMetadata": { + "properties": { + "googleSearchDynamicRetrievalScore": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Googlesearchdynamicretrievalscore", + "description": "Optional. Score indicating how likely information from google\n search could help answer the prompt. The score is in the range [0, 1],\n where 0 is the least likely and 1 is the most likely. This score is only\n populated when google search grounding and dynamic retrieval is enabled.\n It will be compared to the threshold to determine whether to trigger\n Google search." + } + }, + "additionalProperties": false, + "type": "object", + "title": "RetrievalMetadata", + "description": "Metadata returned to client when grounding is enabled." + }, + "Rubric": { + "properties": { + "rubricId": { + "type": "string", + "title": "Rubricid", + "description": "Unique identifier for the rubric." + }, + "rubricContent": { + "$ref": "#/components/schemas/RubricContent", + "description": "The actual testable criterion for the rubric." + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description", + "description": "A description of the rubric that provide details on how the results of the rubric assessment be interpreted." + }, + "type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Type", + "description": "Optional. A type designator for the rubric, which can\n inform how it's evaluated or interpreted by systems or users.\n\n It's recommended to use consistent, well-defined, upper snake_case\n strings.\n\n Examples: \"TOOL_USE_QUALITY\", \"FINAL_RESPONSE_QUALITY\",\n \"INSTRUCTION_ADHERENCE\"." + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "rubricId", + "rubricContent" + ], + "title": "Rubric", + "description": "This class represents a single Rubric." + }, + "RubricContent": { + "properties": { + "textProperty": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Textproperty", + "description": "The property being evaluated. Example: \"The agent's response is grammatically correct.\" " + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "textProperty" + ], + "title": "RubricContent", + "description": "The content of a rubric." + }, + "RubricScore": { + "properties": { + "rubricId": { + "type": "string", + "title": "Rubricid", + "description": "The id of the rubric that was assessed." + }, + "rationale": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Rationale", + "description": "Reasoning/rationale for the score." + }, + "score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Score", + "description": "Score obtained after assessing the rubric. Optional, as assessment might not have happened." + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "rubricId" + ], + "title": "RubricScore", + "description": "The score obtained after applying the rubric to the Agent's response." + }, + "RunAgentRequest": { + "properties": { + "appName": { + "type": "string", + "title": "Appname" + }, + "userId": { + "type": "string", + "title": "Userid" + }, + "sessionId": { + "type": "string", + "title": "Sessionid" + }, + "newMessage": { + "anyOf": [ + { + "$ref": "#/components/schemas/Content-Input" + }, + { + "type": "null" + } + ] + }, + "streaming": { + "type": "boolean", + "title": "Streaming", + "default": false + }, + "stateDelta": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Statedelta" + }, + "functionCallEventId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Functioncalleventid" + }, + "invocationId": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Invocationid" + } + }, + "type": "object", + "required": [ + "appName", + "userId", + "sessionId" + ], + "title": "RunAgentRequest" + }, + "RunEvalRequest": { + "properties": { + "evalIds": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Evalids", + "description": "This field is deprecated, use eval_case_ids instead.", + "deprecated": true + }, + "evalCaseIds": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Evalcaseids", + "description": "List of eval case ids to evaluate. if empty, then all eval cases in the eval set are run." + }, + "evalMetrics": { + "items": { + "$ref": "#/components/schemas/EvalMetric" + }, + "type": "array", + "title": "Evalmetrics" + } + }, + "type": "object", + "required": [ + "evalMetrics" + ], + "title": "RunEvalRequest" + }, + "RunEvalResponse": { + "properties": { + "runEvalResults": { + "items": { + "$ref": "#/components/schemas/RunEvalResult" + }, + "type": "array", + "title": "Runevalresults" + } + }, + "type": "object", + "required": [ + "runEvalResults" + ], + "title": "RunEvalResponse" + }, + "RunEvalResult": { + "properties": { + "evalSetFile": { + "type": "string", + "title": "Evalsetfile" + }, + "evalSetId": { + "type": "string", + "title": "Evalsetid" + }, + "evalId": { + "type": "string", + "title": "Evalid" + }, + "finalEvalStatus": { + "$ref": "#/components/schemas/EvalStatus" + }, + "evalMetricResults": { + "items": { + "prefixItems": [ + { + "$ref": "#/components/schemas/EvalMetric" + }, + { + "$ref": "#/components/schemas/EvalMetricResult" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + }, + "type": "array", + "title": "Evalmetricresults", + "description": "This field is deprecated, use overall_eval_metric_results instead.", + "default": [], + "deprecated": true + }, + "overallEvalMetricResults": { + "items": { + "$ref": "#/components/schemas/EvalMetricResult" + }, + "type": "array", + "title": "Overallevalmetricresults" + }, + "evalMetricResultPerInvocation": { + "items": { + "$ref": "#/components/schemas/EvalMetricResultPerInvocation" + }, + "type": "array", + "title": "Evalmetricresultperinvocation" + }, + "userId": { + "type": "string", + "title": "Userid" + }, + "sessionId": { + "type": "string", + "title": "Sessionid" + } + }, + "type": "object", + "required": [ + "evalSetFile", + "evalSetId", + "evalId", + "finalEvalStatus", + "overallEvalMetricResults", + "evalMetricResultPerInvocation", + "userId", + "sessionId" + ], + "title": "RunEvalResult" + }, + "SaveArtifactRequest": { + "properties": { + "filename": { + "type": "string", + "title": "Filename", + "description": "Artifact filename." + }, + "artifact": { + "$ref": "#/components/schemas/Part-Input", + "description": "Artifact payload encoded as google.genai.types.Part." + }, + "customMetadata": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Custommetadata", + "description": "Optional metadata to associate with the artifact version." + } + }, + "type": "object", + "required": [ + "filename", + "artifact" + ], + "title": "SaveArtifactRequest", + "description": "Request payload for saving a new artifact." + }, + "SearchEntryPoint": { + "properties": { + "renderedContent": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Renderedcontent", + "description": "Optional. Web content snippet that can be embedded in a web page\n or an app webview." + }, + "sdkBlob": { + "anyOf": [ + { + "type": "string", + "contentEncoding": "base64", + "contentMediaType": "application/octet-stream" + }, + { + "type": "null" + } + ], + "title": "Sdkblob", + "description": "Optional. JSON representing array of tuples." + } + }, + "additionalProperties": false, + "type": "object", + "title": "SearchEntryPoint", + "description": "The entry point used to search for grounding sources." + }, + "SecuritySchemeType": { + "type": "string", + "enum": [ + "apiKey", + "http", + "oauth2", + "openIdConnect" + ], + "title": "SecuritySchemeType" + }, + "Segment": { + "properties": { + "startIndex": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Startindex", + "description": "Output only. Start index in the given Part, measured in bytes.\n\n Offset from the start of the Part, inclusive, starting at zero." + }, + "endIndex": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Endindex", + "description": "Output only. End index in the given Part, measured in bytes.\n\n Offset from the start of the Part, exclusive, starting at zero." + }, + "partIndex": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Partindex", + "description": "Output only. The index of a Part object within its parent\n Content object." + }, + "text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Text", + "description": "Output only. The text corresponding to the segment from the\n response." + } + }, + "additionalProperties": false, + "type": "object", + "title": "Segment", + "description": "Segment of the content this support belongs to." + }, + "ServiceAccount": { + "properties": { + "serviceAccountCredential": { + "anyOf": [ + { + "$ref": "#/components/schemas/ServiceAccountCredential" + }, + { + "type": "null" + } + ] + }, + "scopes": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Scopes" + }, + "useDefaultCredential": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Usedefaultcredential", + "default": false + }, + "useIdToken": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Useidtoken", + "default": false + }, + "audience": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Audience" + } + }, + "additionalProperties": true, + "type": "object", + "title": "ServiceAccount", + "description": "Represents Google Service Account configuration.\n\nAttributes:\n service_account_credential: The service account credential (JSON key).\n scopes: The OAuth2 scopes to request. Optional; when omitted with\n ``use_default_credential=True``, defaults to the cloud-platform scope.\n use_default_credential: Whether to use Application Default Credentials.\n use_id_token: Whether to exchange for an ID token instead of an access\n token. Required for service-to-service authentication with Cloud Run,\n Cloud Functions, and other Google Cloud services that require identity\n verification. When True, ``audience`` must also be set.\n audience: The target audience for the ID token, typically the URL of the\n receiving service (e.g. ``https://my-service-xyz.run.app``). Required\n when ``use_id_token`` is True." + }, + "ServiceAccountCredential": { + "properties": { + "type": { + "type": "string", + "title": "Type", + "default": "" + }, + "projectId": { + "type": "string", + "title": "Projectid" + }, + "privateKeyId": { + "type": "string", + "title": "Privatekeyid" + }, + "privateKey": { + "type": "string", + "title": "Privatekey" + }, + "clientEmail": { + "type": "string", + "title": "Clientemail" + }, + "clientId": { + "type": "string", + "title": "Clientid" + }, + "authUri": { + "type": "string", + "title": "Authuri" + }, + "tokenUri": { + "type": "string", + "title": "Tokenuri" + }, + "authProviderX509CertUrl": { + "type": "string", + "title": "Authproviderx509Certurl" + }, + "clientX509CertUrl": { + "type": "string", + "title": "Clientx509Certurl" + }, + "universeDomain": { + "type": "string", + "title": "Universedomain" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "projectId", + "privateKeyId", + "privateKey", + "clientEmail", + "clientId", + "authUri", + "tokenUri", + "authProviderX509CertUrl", + "clientX509CertUrl", + "universeDomain" + ], + "title": "ServiceAccountCredential", + "description": "Represents Google Service Account configuration.\n\nAttributes:\n type: The type should be \"service_account\".\n project_id: The project ID.\n private_key_id: The ID of the private key.\n private_key: The private key.\n client_email: The client email.\n client_id: The client ID.\n auth_uri: The authorization URI.\n token_uri: The token URI.\n auth_provider_x509_cert_url: URL for auth provider's X.509 cert.\n client_x509_cert_url: URL for the client's X.509 cert.\n universe_domain: The universe domain.\n\nExample:\n\n config = ServiceAccountCredential(\n type_=\"service_account\",\n project_id=\"your_project_id\",\n private_key_id=\"your_private_key_id\",\n private_key=\"-----BEGIN PRIVATE KEY-----...\",\n client_email=\"...@....iam.gserviceaccount.com\",\n client_id=\"your_client_id\",\n auth_uri=\"https://accounts.google.com/o/oauth2/auth\",\n token_uri=\"https://oauth2.googleapis.com/token\",\n auth_provider_x509_cert_url=\"https://www.googleapis.com/oauth2/v1/certs\",\n client_x509_cert_url=\"https://www.googleapis.com/robot/v1/metadata/x509/...\",\n universe_domain=\"googleapis.com\"\n )\n\n\n config = ServiceAccountConfig.model_construct(**{\n ...service account config dict\n })" + }, + "Session": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "appName": { + "type": "string", + "title": "Appname" + }, + "userId": { + "type": "string", + "title": "Userid" + }, + "state": { + "additionalProperties": true, + "type": "object", + "title": "State" + }, + "events": { + "items": { + "$ref": "#/components/schemas/Event-Output" + }, + "type": "array", + "title": "Events" + }, + "lastUpdateTime": { + "type": "number", + "title": "Lastupdatetime", + "default": 0.0 + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "id", + "appName", + "userId" + ], + "title": "Session", + "description": "Represents a series of interactions between a user and agents." + }, + "SessionInput": { + "properties": { + "appName": { + "type": "string", + "title": "Appname" + }, + "userId": { + "type": "string", + "title": "Userid" + }, + "state": { + "additionalProperties": true, + "type": "object", + "title": "State" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "appName", + "userId" + ], + "title": "SessionInput", + "description": "Values that help initialize a Session." + }, + "ToolCall": { + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id", + "description": "Unique identifier of the tool call. The server returns the tool response with the matching `id`." + }, + "toolType": { + "anyOf": [ + { + "$ref": "#/components/schemas/ToolType" + }, + { + "type": "null" + } + ], + "description": "The type of tool that was called." + }, + "args": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Args", + "description": "The tool call arguments. Example: {\"arg1\": \"value1\", \"arg2\": \"value2\"}." + } + }, + "additionalProperties": false, + "type": "object", + "title": "ToolCall", + "description": "A predicted server-side `ToolCall` returned from the model.\n\nThis message contains information about a tool that the model wants to invoke.\nThe client is NOT expected to execute this `ToolCall`. Instead, the\nclient should pass this `ToolCall` back to the API in a subsequent turn\nwithin a `Content` message, along with the corresponding `ToolResponse`." + }, + "ToolConfirmation": { + "properties": { + "hint": { + "type": "string", + "title": "Hint", + "default": "" + }, + "confirmed": { + "type": "boolean", + "title": "Confirmed", + "default": false + }, + "payload": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "title": "Payload" + } + }, + "additionalProperties": false, + "type": "object", + "title": "ToolConfirmation", + "description": "Represents a tool confirmation configuration." + }, + "ToolResponse": { + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id", + "description": "The identifier of the tool call this response is for." + }, + "toolType": { + "anyOf": [ + { + "$ref": "#/components/schemas/ToolType" + }, + { + "type": "null" + } + ], + "description": "The type of tool that was called, matching the tool_type in the corresponding ToolCall." + }, + "response": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Response", + "description": "The tool response." + } + }, + "additionalProperties": false, + "type": "object", + "title": "ToolResponse", + "description": "The output from a server-side `ToolCall` execution.\n\nThis message contains the results of a tool invocation that was initiated by a\n`ToolCall` from the model. The client should pass this `ToolResponse` back to\nthe API in a subsequent turn within a `Content` message, along with the\ncorresponding `ToolCall`." + }, + "ToolType": { + "type": "string", + "enum": [ + "TOOL_TYPE_UNSPECIFIED", + "GOOGLE_SEARCH_WEB", + "GOOGLE_SEARCH_IMAGE", + "URL_CONTEXT", + "GOOGLE_MAPS", + "FILE_SEARCH" + ], + "title": "ToolType", + "description": "The type of tool in the function call." + }, + "TrafficType": { + "type": "string", + "enum": [ + "TRAFFIC_TYPE_UNSPECIFIED", + "ON_DEMAND", + "ON_DEMAND_PRIORITY", + "ON_DEMAND_FLEX", + "PROVISIONED_THROUGHPUT" + ], + "title": "TrafficType", + "description": "Output only.\n\nThe traffic type for this request. This enum is not supported in Gemini API." + }, + "Transcription": { + "properties": { + "text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Text", + "description": "Transcription text.\n " + }, + "finished": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Finished", + "description": "The bool indicates the end of the transcription.\n " + } + }, + "additionalProperties": false, + "type": "object", + "title": "Transcription", + "description": "Audio transcription in Server Conent." + }, + "UiWidget": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "provider": { + "type": "string", + "title": "Provider" + }, + "payload": { + "additionalProperties": true, + "type": "object", + "title": "Payload" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "id", + "provider" + ], + "title": "UiWidget", + "description": "Rendering metadata for a UI widget associated with an event.\n\nWhen present on an Event.actions, the UI renders the widget using the\nspecified provider's renderer component." + }, + "UpdateMemoryRequest": { + "properties": { + "sessionId": { + "type": "string", + "title": "Sessionid" + } + }, + "type": "object", + "required": [ + "sessionId" + ], + "title": "UpdateMemoryRequest", + "description": "Request to add a session to the memory service." + }, + "UpdateSessionRequest": { + "properties": { + "stateDelta": { + "additionalProperties": true, + "type": "object", + "title": "Statedelta" + } + }, + "type": "object", + "required": [ + "stateDelta" + ], + "title": "UpdateSessionRequest", + "description": "Request to update session state without running the agent." + }, + "UserBehavior": { + "properties": { + "name": { + "type": "string", + "title": "Name", + "description": "Name of the UserBehavior" + }, + "description": { + "type": "string", + "title": "Description", + "description": "General description of the expected behavior. This will be used in bot the instructions for the user simulator and the user simulator evaluator." + }, + "behavior_instructions": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Behavior Instructions", + "description": "Instructions the user should follow. These will be included in the instructions for the user simulator." + }, + "violation_rubrics": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Violation Rubrics", + "description": "Rubrics to evaluate whether the user simulator presents the behavior. If the user response presents any of these violations, the evaluator will consider the user simulator response as invalid." + } + }, + "type": "object", + "required": [ + "name", + "description", + "behavior_instructions", + "violation_rubrics" + ], + "title": "UserBehavior", + "description": "Container for the behavior of a persona." + }, + "UserPersona": { + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Human readable identifier for the UserPersona. Persona registries will refer to this identifier." + }, + "description": { + "type": "string", + "title": "Description", + "description": "Description for the UserPersona. This will be included in the instructions for the user simulator and its verifier." + }, + "behaviors": { + "items": { + "$ref": "#/components/schemas/UserBehavior" + }, + "type": "array", + "title": "Behaviors", + "description": "Sequence of UserBehaviors for the persona. These will be included in the instructions for the user simulator and its verifier." + } + }, + "type": "object", + "required": [ + "id", + "description", + "behaviors" + ], + "title": "UserPersona", + "description": "Container for a persona." + }, + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "type": "array", + "title": "Location" + }, + "msg": { + "type": "string", + "title": "Message" + }, + "type": { + "type": "string", + "title": "Error Type" + }, + "input": { + "title": "Input" + }, + "ctx": { + "type": "object", + "title": "Context" + } + }, + "type": "object", + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError" + }, + "VideoMetadata": { + "properties": { + "endOffset": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Endoffset", + "description": "Optional. The end offset of the video." + }, + "fps": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Fps", + "description": "Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]." + }, + "startOffset": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Startoffset", + "description": "Optional. The start offset of the video." + } + }, + "additionalProperties": false, + "type": "object", + "title": "VideoMetadata", + "description": "Provides metadata for a video, including the start and end offsets for clipping and the frame rate." + } + } + } +} diff --git a/mkdocs.yml b/mkdocs.yml index 303e449d1..a9f2965cc 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -249,7 +249,7 @@ plugins: Reference: - release-notes.md - api-reference/index.md - - api-reference/rest/index.md + - api-reference/rest/index.html - community.md - contributing-guide.md @@ -400,7 +400,7 @@ nav: - Java ADK: api-reference/java/index.html - CLI Reference: api-reference/cli/index.html - Agent Config Reference: api-reference/agentconfig/index.html - - REST API: api-reference/rest/index.md + - REST API: api-reference/rest/index.html - Community Resources: community.md - Contributing Guide: contributing-guide.md - Release Notes: release-notes.md From 0d576e68e29d243292240d631390c27325b1169b Mon Sep 17 00:00:00 2001 From: Kristopher Overholt Date: Thu, 26 Mar 2026 19:13:53 -0500 Subject: [PATCH 2/4] Fix link and llmstxt config --- docs/api-reference/index.md | 8 ++++---- mkdocs.yml | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/api-reference/index.md b/docs/api-reference/index.md index 9d6cc2d2d..e49b58d2a 100644 --- a/docs/api-reference/index.md +++ b/docs/api-reference/index.md @@ -51,8 +51,8 @@ The Agent Development Kit (ADK) provides comprehensive API references for both P - :material-console:{ .lg .middle } **CLI Reference** --- - Explore the complete API documentation for the CLI including all of the - valid options and subcommands. + Explore the complete API documentation for the CLI including all of the + valid options and subcommands. [:octicons-arrow-right-24: View CLI Docs](cli/index.html)
@@ -61,7 +61,7 @@ The Agent Development Kit (ADK) provides comprehensive API references for both P - :material-text-box-outline:{ .lg .middle } **Agent Config YAML reference** --- - View the full Agent Config syntax for configuring ADK with + View the full Agent Config syntax for configuring ADK with YAML text files. [:octicons-arrow-right-24: View Agent Config reference](agentconfig/index.html)
@@ -73,6 +73,6 @@ The Agent Development Kit (ADK) provides comprehensive API references for both P --- Explore the REST API for the ADK web server. This reference provides details on the available endpoints, request and response formats, and more. - [:octicons-arrow-right-24: View REST API Docs](rest/index.md)
+ [:octicons-arrow-right-24: View REST API Docs](rest/index.html)
diff --git a/mkdocs.yml b/mkdocs.yml index a9f2965cc..d0778512a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -249,7 +249,6 @@ plugins: Reference: - release-notes.md - api-reference/index.md - - api-reference/rest/index.html - community.md - contributing-guide.md From 4903c6ee46f4c7a6512f4c70f9d0e9a64e7d77b0 Mon Sep 17 00:00:00 2001 From: Kristopher Overholt Date: Thu, 26 Mar 2026 19:43:20 -0500 Subject: [PATCH 3/4] Generate REST API docs with web=False --- docs/api-reference/rest/openapi.json | 274 ------------------------- tools/python-rest-api-docs/generate.sh | 125 +++++++++++ 2 files changed, 125 insertions(+), 274 deletions(-) create mode 100755 tools/python-rest-api-docs/generate.sh diff --git a/docs/api-reference/rest/openapi.json b/docs/api-reference/rest/openapi.json index f0555268b..bb9c8fc8b 100644 --- a/docs/api-reference/rest/openapi.json +++ b/docs/api-reference/rest/openapi.json @@ -144,45 +144,6 @@ } } }, - "/dev/build_graph/{app_name}": { - "get": { - "summary": "Get App Info", - "operationId": "get_app_info_dev_build_graph__app_name__get", - "parameters": [ - { - "name": "app_name", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "App Name" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "title": "Response Get App Info Dev Build Graph App Name Get" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, "/debug/trace/session/{session_id}": { "get": { "tags": [ @@ -2457,224 +2418,6 @@ } } } - }, - "/dev-ui/config": { - "get": { - "summary": "Get Ui Config", - "operationId": "get_ui_config_dev_ui_config_get", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": {} - } - } - } - } - } - }, - "/": { - "get": { - "summary": "Redirect Root To Dev Ui", - "operationId": "redirect_root_to_dev_ui__get", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": {} - } - } - } - } - } - }, - "/dev-ui": { - "get": { - "summary": "Redirect Dev Ui Add Slash", - "operationId": "redirect_dev_ui_add_slash_dev_ui_get", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": {} - } - } - } - } - } - }, - "/builder/save": { - "post": { - "summary": "Builder Build", - "operationId": "builder_build_builder_save_post", - "parameters": [ - { - "name": "tmp", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "default": false, - "title": "Tmp" - } - } - ], - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/Body_builder_build_builder_save_post" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "type": "boolean", - "title": "Response Builder Build Builder Save Post" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/builder/app/{app_name}/cancel": { - "post": { - "summary": "Builder Cancel", - "operationId": "builder_cancel_builder_app__app_name__cancel_post", - "parameters": [ - { - "name": "app_name", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "App Name" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "type": "boolean", - "title": "Response Builder Cancel Builder App App Name Cancel Post" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/builder/app/{app_name}": { - "get": { - "summary": "Get Agent Builder", - "operationId": "get_agent_builder_builder_app__app_name__get", - "parameters": [ - { - "name": "app_name", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "App Name" - } - }, - { - "name": "file_path", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "File Path" - } - }, - { - "name": "tmp", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "default": false, - "title": "Tmp" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "text/plain": { - "schema": { - "type": "string" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } } }, "components": { @@ -3201,23 +2944,6 @@ "title": "Blob", "description": "A content blob.\n\nA Blob contains data of a specific media type. It is used to represent images,\naudio, and video." }, - "Body_builder_build_builder_save_post": { - "properties": { - "files": { - "items": { - "type": "string", - "contentMediaType": "application/octet-stream" - }, - "type": "array", - "title": "Files" - } - }, - "type": "object", - "required": [ - "files" - ], - "title": "Body_builder_build_builder_save_post" - }, "CacheMetadata": { "properties": { "cache_name": { diff --git a/tools/python-rest-api-docs/generate.sh b/tools/python-rest-api-docs/generate.sh new file mode 100755 index 000000000..fe4700eb3 --- /dev/null +++ b/tools/python-rest-api-docs/generate.sh @@ -0,0 +1,125 @@ +#!/usr/bin/env bash +# +# Generates REST API reference documentation for adk-python by extracting +# the OpenAPI spec from the FastAPI app and rendering it with Swagger UI +# (loaded from CDN). Outputs to docs/api-reference/rest/. +# +# This script runs in an isolated temporary directory and does not +# modify any existing adk-python clones or Python environments. +# +# Prerequisites: uv, git +# Run from: adk-docs repository root +# +# Usage: bash tools/python-rest-api-docs/generate.sh +# Example: bash tools/python-rest-api-docs/generate.sh 1.27.0 + +set -e + +# Validate arguments +VERSION="${1:-}" +if [[ -z "$VERSION" ]]; then + echo "Usage: $0 " + echo "Example: $0 1.27.0" + exit 1 +fi + +if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "Error: Version must be in X.Y.Z format (e.g., 1.27.0)" + exit 1 +fi + +# Check prerequisites +for cmd in uv git; do + if ! command -v "$cmd" &> /dev/null; then + echo "Error: $cmd is required but not installed." + exit 1 + fi +done + +# Validate working directory +TARGET_DIR="docs/api-reference/rest" +if [[ ! -d "$TARGET_DIR" ]]; then + echo "Error: Run this script from the adk-docs repository root." + exit 1 +fi + +# Create temp workspace +WORK_DIR=$(mktemp -d) +trap 'rm -rf "$WORK_DIR"' EXIT +echo "Using temp workspace: $WORK_DIR" + +pushd "$WORK_DIR" > /dev/null || exit 1 + +# --- Extract OpenAPI spec from adk-python --- + +uv venv +source .venv/bin/activate + +echo "Cloning adk-python v${VERSION}..." +git clone --depth 1 --branch "v${VERSION}" https://github.com/google/adk-python adk-python +uv pip install ./adk-python + +echo "Extracting OpenAPI spec..." +python3 -c " +import json, tempfile, os + +os.environ['GOOGLE_GENAI_USE_VERTEXAI'] = 'FALSE' + +from google.adk.cli.fast_api import get_fast_api_app + +with tempfile.TemporaryDirectory() as agents_dir: + app = get_fast_api_app(agents_dir=agents_dir, web=False, use_local_storage=False) + spec = app.openapi() + spec['info']['title'] = 'ADK REST API Reference' + spec['info']['version'] = '${VERSION}' + print(json.dumps(spec, indent=2)) +" > openapi.json + +echo "Extracted $(python3 -c "import json; d=json.load(open('openapi.json')); print(len(d.get('paths', {})))") endpoints." + +# --- Generate index.html with Swagger UI from CDN --- + +cat > index.html <<'HTML' + + + + + + ADK REST API Reference + + + + + + +
+ + + + + +HTML + +popd > /dev/null || exit 1 + +# --- Copy to output directory --- + +echo "Copying to $TARGET_DIR..." +rm -rf "$TARGET_DIR"/* +cp "$WORK_DIR/openapi.json" "$TARGET_DIR/" +cp "$WORK_DIR/index.html" "$TARGET_DIR/" + +echo "Done." From f2d08dedde1effb92a33662c5e7eabed5eae3f45 Mon Sep 17 00:00:00 2001 From: Kristopher Overholt Date: Fri, 27 Mar 2026 10:51:20 -0500 Subject: [PATCH 4/4] Use simpler BaseLayout for generated REST API docs --- docs/api-reference/rest/index.html | 5 ++--- tools/python-rest-api-docs/generate.sh | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/api-reference/rest/index.html b/docs/api-reference/rest/index.html index ee93be0ed..5353e7ed8 100644 --- a/docs/api-reference/rest/index.html +++ b/docs/api-reference/rest/index.html @@ -17,14 +17,13 @@
- diff --git a/tools/python-rest-api-docs/generate.sh b/tools/python-rest-api-docs/generate.sh index fe4700eb3..0eb9dc888 100755 --- a/tools/python-rest-api-docs/generate.sh +++ b/tools/python-rest-api-docs/generate.sh @@ -99,14 +99,13 @@ cat > index.html <<'HTML'
-