types

package
v0.20.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2026 License: Apache-2.0, Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AgentEngine

type AgentEngine struct {
	// The underlying API client.
	APIClient any `json:"apiClient,omitempty"`
	// The underlying API client for asynchronous operations.
	APIAsyncClient any `json:"apiAsyncClient,omitempty"`
	// The underlying API resource (i.e. ReasoningEngine).
	APIResource *ReasoningEngine `json:"apiResource,omitempty"`
}

An agent engine instance.

type AgentEngineConfig

type AgentEngineConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. The GCS bucket to use for staging the artifacts needed.
	// It must be a valid GCS bucket name, e.g. "gs://bucket-name". It is
	// required if `agent_engine` is specified.
	StagingBucket string `json:"stagingBucket,omitempty"`
	// Optional. The set of PyPI dependencies needed.
	// It can either be the path to a single file (requirements.txt), or an
	// ordered list of strings corresponding to each line of the requirements
	// file.
	Requirements any `json:"requirements,omitempty"`
	// Optional. The user-defined name of the Agent Engine.
	// The name can be up to 128 characters long and can comprise any UTF-8
	// character.
	DisplayName string `json:"displayName,omitempty"`
	// Optional. The description of the Agent Engine.
	Description string `json:"description,omitempty"`
	// Optional. The GCS bucket directory under `staging_bucket` to use for staging
	// the artifacts needed.
	GCSDirName string `json:"gcsDirName,omitempty"`
	// Optional. The set of extra user-provided packages (if any).
	ExtraPackages []string `json:"extraPackages,omitempty"`
	// Optional. The environment variables to be set when running the Agent Engine.
	// If it is a dictionary, the keys are the environment variable names, and
	// the values are the corresponding values.
	EnvVars any `json:"envVars,omitempty"`
	// Optional. The service account to be used for the Agent Engine.
	// If not specified, the default Reasoning Engine P6SA service agent will be used.
	ServiceAccount string `json:"serviceAccount,omitempty"`
	// Optional. The identity type to use for the Agent Engine.
	IdentityType IdentityType `json:"identityType,omitempty"`
	// Optional. The context spec to be used for the Agent Engine.
	ContextSpec *ReasoningEngineContextSpec `json:"contextSpec,omitempty"`
	// Optional. The PSC interface config for PSC-I to be used for the Agent Engine.
	PscInterfaceConfig *PscInterfaceConfig `json:"pscInterfaceConfig,omitempty"`
	// Optional. The minimum number of instances to run for the Agent Engine.
	// Defaults to 1. Range: [0, 10].
	MinInstances int32 `json:"minInstances,omitempty"`
	// Optional. The maximum number of instances to run for the Agent Engine.
	// Defaults to 100. Range: [1, 1000].
	// If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].
	MaxInstances int32 `json:"maxInstances,omitempty"`
	// Optional. The resource limits to be applied to the Agent Engine.
	// Required keys: 'cpu' and 'memory'.
	// Supported values for 'cpu': '1', '2', '4', '6', '8'.
	// Supported values for 'memory': '1Gi', '2Gi', ..., '32Gi'.
	ResourceLimits map[string]string `json:"resourceLimits,omitempty"`
	// Optional. The container concurrency to be used for the Agent Engine.
	// Recommended value: 2 * cpu + 1. Defaults to 9.
	ContainerConcurrency int32 `json:"containerConcurrency,omitempty"`
	// Optional. The encryption spec to be used for the Agent Engine.
	EncryptionSpec *genai_types.EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Optional. The labels to be used for the Agent Engine.
	Labels map[string]string `json:"labels,omitempty"`
	// Optional. The agent server mode to use for deployment.
	AgentServerMode AgentServerMode `json:"agentServerMode,omitempty"`
	// Optional. The class methods to be used for the Agent Engine.
	// If specified, they'll override the class methods that are autogenerated by
	// default. By default, methods are generated by inspecting the agent object
	// and generating a corresponding method for each method defined on the
	// agent class.
	ClassMethods []map[string]any `json:"classMethods,omitempty"`
	// Optional. The user-provided paths to the source packages (if any).
	// If specified, the files in the source packages will be packed into a
	// a tarball file, uploaded to Agent Engine's API, and deployed to the
	// Agent Engine.
	// The following fields will be ignored:
	//   - agent
	//   - extra_packages
	//   - staging_bucket
	//   - requirements
	// The following fields will be used to install and use the agent from the
	// source packages:
	//   - entrypoint_module (required)
	//   - entrypoint_object (required)
	//   - requirements_file (optional)
	//   - class_methods (required)
	SourcePackages []string `json:"sourcePackages,omitempty"`
	// Optional. Specifies the configuration for fetching source code from a Git repository
	// that is managed by Developer Connect. This includes the repository, revision, and
	// directory to use.
	DeveloperConnectSource *ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig `json:"developerConnectSource,omitempty"`
	// Optional. The entrypoint module to be used for the Agent Engine
	// This field only used when source_packages is specified.
	EntrypointModule string `json:"entrypointModule,omitempty"`
	// Optional. The entrypoint object to be used for the Agent Engine.
	// This field only used when source_packages is specified.
	EntrypointObject string `json:"entrypointObject,omitempty"`
	// Optional. The user-provided path to the requirements file (if any).
	// This field is only used when source_packages is specified.
	// If not specified, agent engine will find and use the `requirements.txt` in
	// the source package.
	RequirementsFile string `json:"requirementsFile,omitempty"`
	// Optional. The agent framework to be used for the Agent Engine.
	// The OSS agent framework used to develop the agent.
	// Currently supported values: "google-adk", "langchain", "langgraph",
	// "ag2", "llama-index", "custom".
	// If not specified:
	//   - If `agent` is specified, the agent framework will be auto-detected.
	//   - If `source_packages` is specified, the agent framework will
	//     default to "custom".
	AgentFramework string `json:"agentFramework,omitempty"`
	// Optional. The Python version to be used for the Agent Engine.
	// If not specified, it will use the current Python version of the environment.
	// Supported versions: "3.10", "3.11", "3.12", "3.13", "3.14".
	PythonVersion string `json:"pythonVersion,omitempty"`
	// Optional. The build options for the Agent Engine.
	// The following keys are supported:
	//   - installation_scripts:
	//     Optional. The paths to the installation scripts to be
	//     executed in the Docker image.
	//     The scripts must be located in the `installation_scripts`
	//     subdirectory and the path must be added to `extra_packages`.
	BuildOptions map[string][]string `json:"buildOptions,omitempty"`
	// Optional. The image spec for the Agent Engine.
	ImageSpec *ReasoningEngineSpecSourceCodeSpecImageSpec `json:"imageSpec,omitempty"`
	// Optional. The agent config source for the Agent Engine.
	AgentConfigSource *ReasoningEngineSpecSourceCodeSpecAgentConfigSource `json:"agentConfigSource,omitempty"`
	// Optional. The container spec for the Agent Engine.
	ContainerSpec *ReasoningEngineSpecContainerSpec `json:"containerSpec,omitempty"`
	// Optional. Specifies the configuration for keep-alive probe.
	// Contains configuration on a specified endpoint that a deployment host
	// should use to keep the container alive based on the probe settings.
	KeepAliveProbe *KeepAliveProbe `json:"keepAliveProbe,omitempty"`
	// Optional. Agent Gateway configuration for a Reasoning Engine deployment.
	AgentGatewayConfig *ReasoningEngineSpecDeploymentSpecAgentGatewayConfig `json:"agentGatewayConfig,omitempty"`
}

Config for agent engine methods.

type AgentEngineGenerateMemoriesOperation

type AgentEngineGenerateMemoriesOperation struct {
	// The server-assigned name, which is only unique within the same service that originally
	// returns it. If you use the default HTTP mapping, the `name` should be a resource
	// name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Optional. Service-specific metadata associated with the operation. It typically contains
	// progress information and common metadata such as create time. Some services might
	// not provide such metadata. Any method that returns a long-running operation should
	// document the metadata type, if any.
	Metadata map[string]any `json:"metadata,omitempty"`
	// If the value is `false`, it means the operation is still in progress. If `true`,
	// the operation is completed, and either `error` or `response` is available.
	Done bool `json:"done,omitempty"`
	// Optional. The error result of the operation in case of failure or cancellation.
	Error map[string]any `json:"error,omitempty"`
	// Optional. The response for generating memories.
	Response *GenerateMemoriesResponse `json:"response,omitempty"`
}

Operation that generates memories for an agent engine.

type AgentEngineMemoryConfig

type AgentEngineMemoryConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. The display name of the memory.
	DisplayName string `json:"displayName,omitempty"`
	// Optional. The description of the memory.
	Description string `json:"description,omitempty"`
	// Optional. Waits for the operation to complete before returning.
	WaitForCompletion *bool `json:"waitForCompletion,omitempty"`
	// Optional. Input only. The TTL for this resource.
	// The expiration time is computed: now + TTL.
	TTL time.Duration `json:"ttl,omitempty"`
	// Optional. Timestamp of when this resource is considered expired. This is *always*
	// provided on output, regardless of what `expiration` was sent on input.
	ExpireTime time.Time `json:"expireTime,omitempty"`
	// Optional. Input only. Timestamp of when the revision is considered expired. If not
	// set, the memory revision will be kept until manually deleted.
	RevisionExpireTime time.Time `json:"revisionExpireTime,omitempty"`
	// Optional. Input only. The TTL for the revision. The expiration time is computed:
	// now + TTL.
	RevisionTTL time.Duration `json:"revisionTtl,omitempty"`
	// Optional. Input only. If true, no revision will be created for this request.
	DisableMemoryRevisions *bool `json:"disableMemoryRevisions,omitempty"`
	// Optional. The topics of the memory.
	Topics []*MemoryTopicID `json:"topics,omitempty"`
	// Optional. User-provided metadata for the Memory. This information was provided when
	// creating, updating, or generating the Memory. It was not generated by Memory Bank.
	Metadata map[string]*MemoryMetadataValue `json:"metadata,omitempty"`
	// Optional. The user defined ID to use for memory, which will become the final component
	// of the memory resource name. If not provided, Vertex AI will generate a value for
	// this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`.
	// The first character must be a letter, and the last character must be a letter or
	// number.
	MemoryID string `json:"memoryId,omitempty"`
}

Config for creating a Memory.

func (*AgentEngineMemoryConfig) MarshalJSON

func (a *AgentEngineMemoryConfig) MarshalJSON() ([]byte, error)

func (*AgentEngineMemoryConfig) UnmarshalJSON

func (a *AgentEngineMemoryConfig) UnmarshalJSON(data []byte) error

type AgentEngineMemoryOperation

type AgentEngineMemoryOperation struct {
	// The server-assigned name, which is only unique within the same service that originally
	// returns it. If you use the default HTTP mapping, the `name` should be a resource
	// name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Optional. Service-specific metadata associated with the operation. It typically contains
	// progress information and common metadata such as create time. Some services might
	// not provide such metadata. Any method that returns a long-running operation should
	// document the metadata type, if any.
	Metadata map[string]any `json:"metadata,omitempty"`
	// If the value is `false`, it means the operation is still in progress. If `true`,
	// the operation is completed, and either `error` or `response` is available.
	Done bool `json:"done,omitempty"`
	// Optional. The error result of the operation in case of failure or cancellation.
	Error map[string]any `json:"error,omitempty"`
	// Optional. The Agent Engine Memory.
	Response *Memory `json:"response,omitempty"`
}

Operation that has an agent engine memory as a response.

type AgentEngineOperation

type AgentEngineOperation struct {
	// The server-assigned name, which is only unique within the same service that originally
	// returns it. If you use the default HTTP mapping, the `name` should be a resource
	// name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Optional. Service-specific metadata associated with the operation. It typically contains
	// progress information and common metadata such as create time. Some services might
	// not provide such metadata. Any method that returns a long-running operation should
	// document the metadata type, if any.
	Metadata map[string]any `json:"metadata,omitempty"`
	// If the value is `false`, it means the operation is still in progress. If `true`,
	// the operation is completed, and either `error` or `response` is available.
	Done bool `json:"done,omitempty"`
	// Optional. The error result of the operation in case of failure or cancellation.
	Error map[string]any `json:"error,omitempty"`
	// Optional. The created Agent Engine.
	Response *ReasoningEngine `json:"response,omitempty"`
}

Operation that has an agent engine as a response.

type AgentEnginePurgeMemoriesOperation

type AgentEnginePurgeMemoriesOperation struct {
	// The server-assigned name, which is only unique within the same service that originally
	// returns it. If you use the default HTTP mapping, the `name` should be a resource
	// name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Optional. Service-specific metadata associated with the operation. It typically contains
	// progress information and common metadata such as create time. Some services might
	// not provide such metadata. Any method that returns a long-running operation should
	// document the metadata type, if any.
	Metadata map[string]any `json:"metadata,omitempty"`
	// If the value is `false`, it means the operation is still in progress. If `true`,
	// the operation is completed, and either `error` or `response` is available.
	Done bool `json:"done,omitempty"`
	// Optional. The error result of the operation in case of failure or cancellation.
	Error map[string]any `json:"error,omitempty"`
	// Optional. The response for purging memories.
	Response *PurgeMemoriesResponse `json:"response,omitempty"`
}

Operation that purges memories from an agent engine.

type AgentEngineRollbackMemoryOperation

type AgentEngineRollbackMemoryOperation struct {
	// The server-assigned name, which is only unique within the same service that originally
	// returns it. If you use the default HTTP mapping, the `name` should be a resource
	// name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Optional. Service-specific metadata associated with the operation. It typically contains
	// progress information and common metadata such as create time. Some services might
	// not provide such metadata. Any method that returns a long-running operation should
	// document the metadata type, if any.
	Metadata map[string]any `json:"metadata,omitempty"`
	// If the value is `false`, it means the operation is still in progress. If `true`,
	// the operation is completed, and either `error` or `response` is available.
	Done bool `json:"done,omitempty"`
	// Optional. The error result of the operation in case of failure or cancellation.
	Error map[string]any `json:"error,omitempty"`
}

Operation that rolls back a memory.

type AgentEngineSandboxOperation

type AgentEngineSandboxOperation struct {
	// The server-assigned name, which is only unique within the same service that originally
	// returns it. If you use the default HTTP mapping, the `name` should be a resource
	// name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Optional. Service-specific metadata associated with the operation. It typically contains
	// progress information and common metadata such as create time. Some services might
	// not provide such metadata. Any method that returns a long-running operation should
	// document the metadata type, if any.
	Metadata map[string]any `json:"metadata,omitempty"`
	// If the value is `false`, it means the operation is still in progress. If `true`,
	// the operation is completed, and either `error` or `response` is available.
	Done bool `json:"done,omitempty"`
	// Optional. The error result of the operation in case of failure or cancellation.
	Error map[string]any `json:"error,omitempty"`
	// Optional. The Agent Engine Sandbox.
	Response *SandboxEnvironment `json:"response,omitempty"`
}

Operation that has an agent engine sandbox as a response.

type AgentEngineSessionOperation

type AgentEngineSessionOperation struct {
	// The server-assigned name, which is only unique within the same service that originally
	// returns it. If you use the default HTTP mapping, the `name` should be a resource
	// name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Optional. Service-specific metadata associated with the operation. It typically contains
	// progress information and common metadata such as create time. Some services might
	// not provide such metadata. Any method that returns a long-running operation should
	// document the metadata type, if any.
	Metadata map[string]any `json:"metadata,omitempty"`
	// If the value is `false`, it means the operation is still in progress. If `true`,
	// the operation is completed, and either `error` or `response` is available.
	Done bool `json:"done,omitempty"`
	// Optional. The error result of the operation in case of failure or cancellation.
	Error map[string]any `json:"error,omitempty"`
	// Optional. The Agent Engine Session.
	Response *Session `json:"response,omitempty"`
}

Operation that has an agent engine session as a response.

type AgentServerMode

type AgentServerMode string

The agent server mode.

const (
	// Unspecified agent server mode. Do not use.
	AgentServerModeUnspecified AgentServerMode = "AGENT_SERVER_MODE_UNSPECIFIED"
	// Stable agent server mode. This mode has everything stable and well-tested features
	// agent engine offers.
	AgentServerModeStable AgentServerMode = "STABLE"
	// Experimental agent server mode. This mode contains experimental features.
	AgentServerModeExperimental AgentServerMode = "EXPERIMENTAL"
)

type AppendAgentEngineSessionEventConfig

type AppendAgentEngineSessionEventConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. The content of the session event.
	Content *genai_types.Content `json:"content,omitempty"`
	// Optional. Actions are parts of events that are related to the session event.
	Actions *EventActions `json:"actions,omitempty"`
	// Optional. The error code of the session event.
	ErrorCode string `json:"errorCode,omitempty"`
	// Optional. The error message of the session event.
	ErrorMessage string `json:"errorMessage,omitempty"`
	// Optional. Metadata relating to the session event.
	EventMetadata *EventMetadata `json:"eventMetadata,omitempty"`
	// Optional. Weakly typed raw event data in proto struct format.
	RawEvent map[string]any `json:"rawEvent,omitempty"`
}

Config for appending agent engine session event.

type AppendAgentEngineSessionEventResponse

type AppendAgentEngineSessionEventResponse struct {
}

Response for appending agent engine session event.

type CancelQueryJobAgentEngineConfig

type CancelQueryJobAgentEngineConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Name of the longrunning operation returned from run_query_job.
	OperationName string `json:"operationName,omitempty"`
}

Config for canceling async querying agent engines.

type CancelQueryJobResult

type CancelQueryJobResult struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

Result of canceling a query job.

type CheckQueryJobAgentEngineConfig

type CheckQueryJobAgentEngineConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. Whether to retrieve the results of the query job.
	RetrieveResult bool `json:"retrieveResult,omitempty"`
}

Config for async querying agent engines.

type CheckQueryJobResponse

type CheckQueryJobResponse struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. The GCS URI of the output file.
	OutputGCSURI string `json:"outputGcsUri,omitempty"`
}

Response from LRO.

type CheckQueryJobResult

type CheckQueryJobResult struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. Name of the agent engine operation.
	OperationName string `json:"operationName,omitempty"`
	// Optional. The GCS URI of the output file.
	OutputGCSURI string `json:"outputGcsUri,omitempty"`
	// Optional. Status of the operation.
	Status string `json:"status,omitempty"`
	// Optional. JSON result of the operation.
	Result string `json:"result,omitempty"`
}

Result of checking a query job.

type Chunk

type Chunk struct {
	// Required. The data in the chunk.
	Data []byte `json:"data,omitempty"`
	// Optional. Metadata that is associated with the data in the payload.
	Metadata *Metadata `json:"metadata,omitempty"`
	// Required. MIME type of the chunk data. See https://www.iana.org/assignments/media-types/media-types.xhtml
	// for the full list.
	MIMEType string `json:"mimeType,omitempty"`
}

A chunk of data.

type CreateAgentEngineConfig

type CreateAgentEngineConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. The user-defined name of the Agent Engine.
	// The display name can be up to 128 characters long and can comprise any
	// UTF-8 characters.
	DisplayName string `json:"displayName,omitempty"`
	// Optional. The description of the Agent Engine.
	Description string `json:"description,omitempty"`
	// Optional. Configurations of the Agent Engine.
	Spec *ReasoningEngineSpec `json:"spec,omitempty"`
	// Optional. The context spec to be used for the Agent Engine.
	ContextSpec *ReasoningEngineContextSpec `json:"contextSpec,omitempty"`
	// Optional. The PSC interface config for PSC-I to be used for the
	// Agent Engine.
	PscInterfaceConfig *PscInterfaceConfig `json:"pscInterfaceConfig,omitempty"`
	// Optional. The minimum number of instances to run for the Agent Engine.
	// Defaults to 1. Range: [0, 10].
	MinInstances *int32 `json:"minInstances,omitempty"`
	// Optional. The maximum number of instances to run for the Agent Engine.
	// Defaults to 100. Range: [1, 1000].
	// If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].
	MaxInstances *int32 `json:"maxInstances,omitempty"`
	// Optional. The resource limits to be applied to the Agent Engine.
	// Required keys: 'cpu' and 'memory'.
	// Supported values for 'cpu': '1', '2', '4', '6', '8'.
	// Supported values for 'memory': '1Gi', '2Gi', ..., '32Gi'.
	ResourceLimits map[string]string `json:"resourceLimits,omitempty"`
	// Optional. The container concurrency to be used for the Agent Engine.
	// Recommended value: 2 * cpu + 1. Defaults to 9.
	ContainerConcurrency *int32 `json:"containerConcurrency,omitempty"`
	// Optional. The encryption spec to be used for the Agent Engine.
	EncryptionSpec *genai_types.EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Optional. The labels to be used for the Agent Engine.
	Labels map[string]string `json:"labels,omitempty"`
	// Optional. The class methods to be used for the Agent Engine.
	// If specified, they'll override the class methods that are autogenerated by
	// default. By default, methods are generated by inspecting the agent object
	// and generating a corresponding method for each method defined on the
	// agent class.
	ClassMethods []map[string]any `json:"classMethods,omitempty"`
	// Optional. The user-provided paths to the source packages (if any).
	// If specified, the files in the source packages will be packed into a
	// a tarball file, uploaded to Agent Engine's API, and deployed to the
	// Agent Engine.
	// The following fields will be ignored:
	//   - agent
	//   - extra_packages
	//   - staging_bucket
	//   - requirements
	// The following fields will be used to install and use the agent from the
	// source packages:
	//   - entrypoint_module (required)
	//   - entrypoint_object (required)
	//   - requirements_file (optional)
	//   - class_methods (required)
	SourcePackages []string `json:"sourcePackages,omitempty"`
	// Optional. Specifies the configuration for fetching source code from a Git repository
	// that is managed by Developer Connect. This includes the repository, revision, and
	// directory to use.
	DeveloperConnectSource *ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig `json:"developerConnectSource,omitempty"`
	// Optional. The entrypoint module to be used for the Agent Engine
	// This field only used when source_packages is specified.
	EntrypointModule string `json:"entrypointModule,omitempty"`
	// Optional. The entrypoint object to be used for the Agent Engine.
	// This field only used when source_packages is specified.
	EntrypointObject string `json:"entrypointObject,omitempty"`
	// Optional. The user-provided path to the requirements file (if any).
	// This field is only used when source_packages is specified.
	// If not specified, agent engine will find and use the `requirements.txt` in
	// the source package.
	RequirementsFile string `json:"requirementsFile,omitempty"`
	// Optional. The agent framework to be used for the Agent Engine.
	// The OSS agent framework used to develop the agent.
	// Currently supported values: "google-adk", "langchain", "langgraph",
	// "ag2", "llama-index", "custom".
	// If not specified:
	//   - If `agent` is specified, the agent framework will be auto-detected.
	//   - If `source_packages` is specified, the agent framework will
	//     default to "custom".
	AgentFramework string `json:"agentFramework,omitempty"`
	// Optional. The Python version to be used for the Agent Engine.
	// If not specified, it will use the current Python version of the environment.
	// Supported versions: "3.10", "3.11", "3.12", "3.13", "3.14".
	PythonVersion string `json:"pythonVersion,omitempty"`
	// Optional. The build options for the Agent Engine.
	// The following keys are supported:
	//   - installation_scripts:
	//     Optional. The paths to the installation scripts to be
	//     executed in the Docker image.
	//     The scripts must be located in the `installation_scripts`
	//     subdirectory and the path must be added to `extra_packages`.
	BuildOptions map[string][]string `json:"buildOptions,omitempty"`
	// Optional. Agent Gateway configuration for a Reasoning Engine deployment.
	AgentGatewayConfig *ReasoningEngineSpecDeploymentSpecAgentGatewayConfig `json:"agentGatewayConfig,omitempty"`
	// Optional. Specifies the configuration for keep-alive probe.
	// Contains configuration on a specified endpoint that a deployment host
	// should use to keep the container alive based on the probe settings.
	KeepAliveProbe *KeepAliveProbe `json:"keepAliveProbe,omitempty"`
}

Config for create agent engine.

type CreateAgentEngineSandboxConfig

type CreateAgentEngineSandboxConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. The display name of the sandbox.
	DisplayName string `json:"displayName,omitempty"`
	// Optional. The description of the sandbox.
	Description string `json:"description,omitempty"`
	// Optional. Waits for the operation to complete before returning.
	WaitForCompletion *bool `json:"waitForCompletion,omitempty"`
	// Optional. The TTL for this resource. The expiration time is computed: now + TTL.
	TTL time.Duration `json:"ttl,omitempty"`
	// Optional. The name of the sandbox environment template to create the sandbox from.
	// The sandbox environment template should be in the format:
	// projects/{project}/locations/{location}/agentEngines/{agent_engine}/sandboxEnvironmentTemplates/{sandbox_environment_template}
	SandboxEnvironmentTemplate string `json:"sandboxEnvironmentTemplate,omitempty"`
	// Optional. The name of the sandbox environment snapshot to restore the sandbox from.
	// The sandbox environment snapshot should be in the format:
	// projects/{project}/locations/{location}/agentEngines/{agent_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}
	SandboxEnvironmentSnapshot string `json:"sandboxEnvironmentSnapshot,omitempty"`
	// Optional. Owner information for this sandbox environment. A sandbox can only be restored
	// from a snapshot belonging to the same owner.
	Owner string `json:"owner,omitempty"`
}

Config for creating a Sandbox.

func (*CreateAgentEngineSandboxConfig) MarshalJSON

func (c *CreateAgentEngineSandboxConfig) MarshalJSON() ([]byte, error)

func (*CreateAgentEngineSandboxConfig) UnmarshalJSON

func (c *CreateAgentEngineSandboxConfig) UnmarshalJSON(data []byte) error

type CreateAgentEngineSessionConfig

type CreateAgentEngineSessionConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. The display name of the session.
	DisplayName string `json:"displayName,omitempty"`
	// Optional. Session state which stores key conversation points.
	SessionState map[string]any `json:"sessionState,omitempty"`
	// Optional. Waits for the operation to complete before returning.
	WaitForCompletion *bool `json:"waitForCompletion,omitempty"`
	// Optional. Input only. The TTL for this resource.
	// The expiration time is computed: now + TTL.
	TTL time.Duration `json:"ttl,omitempty"`
	// Optional. Timestamp of when this resource is considered expired. This is *always*
	// provided on output, regardless of what `expiration` was sent on input.
	ExpireTime time.Time `json:"expireTime,omitempty"`
	// Optional. The labels with user-defined metadata to organize your Sessions. Label
	// keys and values can be no longer than 64 characters (Unicode codepoints), can only
	// contain lowercase letters, numeric characters, underscores and dashes. International
	// characters are allowed. See https://goo.gl/xmQnxf for more information and examples
	// of labels.
	Labels map[string]string `json:"labels,omitempty"`
	// Optional. The user defined ID to use for session, which will become the final component
	// of the session resource name. If not provided, Vertex AI will generate a value for
	// this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`.
	// The first character must be a letter, and the last character must be a letter or
	// number.
	SessionID string `json:"sessionId,omitempty"`
}

Config for creating a Session.

func (*CreateAgentEngineSessionConfig) MarshalJSON

func (c *CreateAgentEngineSessionConfig) MarshalJSON() ([]byte, error)

func (*CreateAgentEngineSessionConfig) UnmarshalJSON

func (c *CreateAgentEngineSessionConfig) UnmarshalJSON(data []byte) error

type DeleteAgentEngineConfig

type DeleteAgentEngineConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

Config for deleting agent engine.

type DeleteAgentEngineMemoryConfig

type DeleteAgentEngineMemoryConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

Config for deleting an Agent Engine Memory.

type DeleteAgentEngineMemoryOperation

type DeleteAgentEngineMemoryOperation struct {
	// The server-assigned name, which is only unique within the same service that originally
	// returns it. If you use the default HTTP mapping, the `name` should be a resource
	// name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Optional. Service-specific metadata associated with the operation. It typically contains
	// progress information and common metadata such as create time. Some services might
	// not provide such metadata. Any method that returns a long-running operation should
	// document the metadata type, if any.
	Metadata map[string]any `json:"metadata,omitempty"`
	// If the value is `false`, it means the operation is still in progress. If `true`,
	// the operation is completed, and either `error` or `response` is available.
	Done bool `json:"done,omitempty"`
	// Optional. The error result of the operation in case of failure or cancellation.
	Error map[string]any `json:"error,omitempty"`
}

Operation for deleting agent engines.

type DeleteAgentEngineOperation

type DeleteAgentEngineOperation struct {
	// The server-assigned name, which is only unique within the same service that originally
	// returns it. If you use the default HTTP mapping, the `name` should be a resource
	// name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Optional. Service-specific metadata associated with the operation. It typically contains
	// progress information and common metadata such as create time. Some services might
	// not provide such metadata. Any method that returns a long-running operation should
	// document the metadata type, if any.
	Metadata map[string]any `json:"metadata,omitempty"`
	// If the value is `false`, it means the operation is still in progress. If `true`,
	// the operation is completed, and either `error` or `response` is available.
	Done bool `json:"done,omitempty"`
	// Optional. The error result of the operation in case of failure or cancellation.
	Error map[string]any `json:"error,omitempty"`
}

Operation for deleting agent engines.

type DeleteAgentEngineSandboxConfig

type DeleteAgentEngineSandboxConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

Config for deleting an Agent Engine Sandbox.

type DeleteAgentEngineSandboxOperation

type DeleteAgentEngineSandboxOperation struct {
	// The server-assigned name, which is only unique within the same service that originally
	// returns it. If you use the default HTTP mapping, the `name` should be a resource
	// name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Optional. Service-specific metadata associated with the operation. It typically contains
	// progress information and common metadata such as create time. Some services might
	// not provide such metadata. Any method that returns a long-running operation should
	// document the metadata type, if any.
	Metadata map[string]any `json:"metadata,omitempty"`
	// If the value is `false`, it means the operation is still in progress. If `true`,
	// the operation is completed, and either `error` or `response` is available.
	Done bool `json:"done,omitempty"`
	// Optional. The error result of the operation in case of failure or cancellation.
	Error map[string]any `json:"error,omitempty"`
}

Operation for deleting agent engines.

type DeleteAgentEngineSessionConfig

type DeleteAgentEngineSessionConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

Config for deleting an Agent Engine Session.

type DeleteAgentEngineSessionOperation

type DeleteAgentEngineSessionOperation struct {
	// The server-assigned name, which is only unique within the same service that originally
	// returns it. If you use the default HTTP mapping, the `name` should be a resource
	// name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Optional. Service-specific metadata associated with the operation. It typically contains
	// progress information and common metadata such as create time. Some services might
	// not provide such metadata. Any method that returns a long-running operation should
	// document the metadata type, if any.
	Metadata map[string]any `json:"metadata,omitempty"`
	// If the value is `false`, it means the operation is still in progress. If `true`,
	// the operation is completed, and either `error` or `response` is available.
	Done bool `json:"done,omitempty"`
	// Optional. The error result of the operation in case of failure or cancellation.
	Error map[string]any `json:"error,omitempty"`
}

Operation for deleting agent engine sessions.

type DnsPeeringConfig

type DnsPeeringConfig struct {
	// Required. The DNS name suffix of the zone being peered to, e.g., "my-internal-domain.corp.".
	// Must end with a dot.
	Domain string `json:"domain,omitempty"`
	// Required. The VPC network name in the target_project where the DNS zone specified
	// by 'domain' is visible.
	TargetNetwork string `json:"targetNetwork,omitempty"`
	// Required. The project ID hosting the Cloud DNS managed zone that contains the 'domain'.
	// The Vertex AI Service Agent requires the dns.peer role on this project.
	TargetProject string `json:"targetProject,omitempty"`
}

DNS peering configuration. These configurations are used to create DNS peering zones in the Vertex tenant project VPC, enabling resolution of records within the specified domain hosted in the target network's Cloud DNS.

type EnvVar

type EnvVar struct {
	// Required. Name of the environment variable. Must be a valid C identifier.
	Name string `json:"name,omitempty"`
	// Required. Variables that reference a $(VAR_NAME) are expanded using the previous
	// defined environment variables in the container and any service environment variables.
	// If a variable cannot be resolved, the reference in the input string will be unchanged.
	// The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
	// references will never be expanded, regardless of whether the variable exists or not.
	Value string `json:"value,omitempty"`
}

Represents an environment variable present in a Container or Python Module.

type EventActions

type EventActions struct {
	// Optional. Indicates that the event is updating an artifact. key is the filename,
	// value is the version.
	ArtifactDelta map[string]int32 `json:"artifactDelta,omitempty"`
	// Optional. The agent is escalating to a higher level agent.
	Escalate *bool `json:"escalate,omitempty"`
	// Optional. Will only be set by a tool response indicating tool request euc. Struct
	// key is the function call ID since one function call response (from model) could correspond
	// to multiple function calls. Struct value is the required auth config, which can be
	// another struct.
	RequestedAuthConfigs map[string]any `json:"requestedAuthConfigs,omitempty"`
	// Optional. If true, it won't call model to summarize function response. Only used
	// for function_response event.
	SkipSummarization *bool `json:"skipSummarization,omitempty"`
	// Optional. Indicates that the event is updating the state with the given delta.
	StateDelta map[string]any `json:"stateDelta,omitempty"`
	// Optional. If set, the event transfers to the specified agent.
	TransferAgent string `json:"transferAgent,omitempty"`
}

Actions are parts of events that are executed by the agent.

type EventMetadata

type EventMetadata struct {
	// Optional. Metadata returned to client when grounding is enabled.
	GroundingMetadata *genai_types.GroundingMetadata `json:"groundingMetadata,omitempty"`
	// Optional. The branch of the event. The format is like agent_1.agent_2.agent_3, where
	// agent_1 is the parent of agent_2, and agent_2 is the parent of agent_3. Branch is
	// used when multiple child agents shouldn't see their siblings' conversation history.
	Branch string `json:"branch,omitempty"`
	// The custom metadata of the LlmResponse.
	CustomMetadata map[string]any `json:"customMetadata,omitempty"`
	// Optional. Flag indicating that LLM was interrupted when generating the content. Usually
	// it's due to user interruption during a bidi streaming.
	Interrupted *bool `json:"interrupted,omitempty"`
	// Optional. Set of IDs of the long running function calls. Agent client will know from
	// this field about which function call is long running. Only valid for function call
	// event.
	LongRunningToolIDs []string `json:"longRunningToolIds,omitempty"`
	// Optional. Indicates whether the text content is part of a unfinished text stream.
	// Only used for streaming mode and when the content is plain text.
	Partial *bool `json:"partial,omitempty"`
	// Optional. Indicates whether the response from the model is complete. Only used for
	// streaming mode.
	TurnComplete *bool `json:"turnComplete,omitempty"`
	// Optional. Audio transcription of user input.
	InputTranscription *genai_types.Transcription `json:"inputTranscription,omitempty"`
	// Optional. Audio transcription of model output.
	OutputTranscription *genai_types.Transcription `json:"outputTranscription,omitempty"`
}

Metadata relating to a LLM response event.

type ExecuteCodeAgentEngineSandboxConfig

type ExecuteCodeAgentEngineSandboxConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

Config for executing code in an Agent Engine sandbox.

type ExecuteSandboxEnvironmentResponse

type ExecuteSandboxEnvironmentResponse struct {
	// The outputs from the sandbox environment.
	Outputs []*Chunk `json:"outputs,omitempty"`
}

The response for executing a sandbox environment.

type Framework

type Framework string

Framework used to build the application.

const (
	// Unspecified framework.
	FrameworkUnspecified Framework = "FRAMEWORK_UNSPECIFIED"
	// React framework.
	FrameworkReact Framework = "REACT"
	// Angular framework.
	FrameworkAngular Framework = "ANGULAR"
)

type GenerateAgentEngineMemoriesConfig

type GenerateAgentEngineMemoriesConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. Whether to disable consolidation of memories.
	// If true, generated memories will not be consolidated with existing
	// memories; all generated memories will be added as new memories regardless
	// of whether they are duplicates of or contradictory to existing memories.
	// By default, memory consolidation is enabled.
	DisableConsolidation *bool `json:"disableConsolidation,omitempty"`
	// Optional. Waits for the operation to complete before returning.
	WaitForCompletion *bool `json:"waitForCompletion,omitempty"`
	// Optional. Labels to apply to the memory revision. For example, you can use this to
	// label a revision with its data source.
	RevisionLabels map[string]string `json:"revisionLabels,omitempty"`
	// Optional. Input only. Timestamp of when the revision is considered expired. If not
	// set, the memory revision will be kept until manually deleted.
	RevisionExpireTime time.Time `json:"revisionExpireTime,omitempty"`
	// Optional. Input only. The TTL for the revision. The expiration time is computed:
	// now + TTL.
	RevisionTTL time.Duration `json:"revisionTtl,omitempty"`
	// Optional. Input only. If true, no revisions will be created for this request.
	DisableMemoryRevisions *bool `json:"disableMemoryRevisions,omitempty"`
	// Optional. User-provided metadata for the generated memories. This is not generated
	// by Memory Bank.
	Metadata map[string]*MemoryMetadataValue `json:"metadata,omitempty"`
	// Optional. The strategy to use when applying metadata to existing memories.
	MetadataMergeStrategy MemoryMetadataMergeStrategy `json:"metadataMergeStrategy,omitempty"`
	// Optional. Restricts memory generation to a subset of memory topics.
	AllowedTopics []*MemoryTopicID `json:"allowedTopics,omitempty"`
}

Config for generating memories.

func (*GenerateAgentEngineMemoriesConfig) MarshalJSON

func (g *GenerateAgentEngineMemoriesConfig) MarshalJSON() ([]byte, error)

func (*GenerateAgentEngineMemoriesConfig) UnmarshalJSON

func (g *GenerateAgentEngineMemoriesConfig) UnmarshalJSON(data []byte) error

type GenerateMemoriesRequestDirectContentsSource

type GenerateMemoriesRequestDirectContentsSource struct {
	// Optional. Required. The source content (i.e. chat history) to generate memories from.
	Events []*GenerateMemoriesRequestDirectContentsSourceEvent `json:"events,omitempty"`
}

The direct contents source for generating memories.

type GenerateMemoriesRequestDirectContentsSourceEvent

type GenerateMemoriesRequestDirectContentsSourceEvent struct {
	// Optional. Required. A single piece of content from which to generate memories.
	Content *genai_types.Content `json:"content,omitempty"`
}

type GenerateMemoriesRequestDirectMemoriesSource

type GenerateMemoriesRequestDirectMemoriesSource struct {
	// Required. The direct memories to upload to Memory Bank. At most 5 direct memories
	// are allowed per request.
	DirectMemories []*GenerateMemoriesRequestDirectMemoriesSourceDirectMemory `json:"directMemories,omitempty"`
}

The direct memories source for generating memories.

type GenerateMemoriesRequestDirectMemoriesSourceDirectMemory

type GenerateMemoriesRequestDirectMemoriesSourceDirectMemory struct {
	// Required. The fact to consolidate with existing memories.
	Fact string `json:"fact,omitempty"`
	// Optional. The topics that the consolidated memories should be associated with.
	Topics []*MemoryTopicID `json:"topics,omitempty"`
}

A direct memory to upload to Memory Bank.

type GenerateMemoriesRequestVertexSessionSource

type GenerateMemoriesRequestVertexSessionSource struct {
	// Optional. End time (exclusive) of the time range. If not set, the end time is unbounded.
	EndTime time.Time `json:"endTime,omitempty"`
	// Required. The resource name of the Session to generate memories for. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}`
	Session string `json:"session,omitempty"`
	// Optional. Time range to define which session events should be used to generate memories.
	// Start time (inclusive) of the time range. If not set, the start time is unbounded.
	StartTime time.Time `json:"startTime,omitempty"`
}

The vertex session source for generating memories.

func (*GenerateMemoriesRequestVertexSessionSource) MarshalJSON

func (*GenerateMemoriesRequestVertexSessionSource) UnmarshalJSON

func (g *GenerateMemoriesRequestVertexSessionSource) UnmarshalJSON(data []byte) error

type GenerateMemoriesResponse

type GenerateMemoriesResponse struct {
	// Optional. The generated memories.
	GeneratedMemories []*GenerateMemoriesResponseGeneratedMemory `json:"generatedMemories,omitempty"`
}

The response for generating memories.

type GenerateMemoriesResponseGeneratedMemory

type GenerateMemoriesResponseGeneratedMemory struct {
	// Optional. The generated memory.
	Memory *Memory `json:"memory,omitempty"`
	// Optional. The action to take.
	Action GenerateMemoriesResponseGeneratedMemoryAction `json:"action,omitempty"`
	// Optional. The previous revision of the Memory before the action was performed. This
	// field is only set if the action is `UPDATED` or `DELETED`. You can use
	// this to rollback the Memory to the previous revision, undoing the action.
	// Format:
	// `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}/revisions/{revision}`
	PreviousRevision string `json:"previousRevision,omitempty"`
}

A memory that was generated.

type GenerateMemoriesResponseGeneratedMemoryAction

type GenerateMemoriesResponseGeneratedMemoryAction string

The action to take.

const (
	// The action is unspecified.
	GenerateMemoriesResponseGeneratedMemoryActionUnspecified GenerateMemoriesResponseGeneratedMemoryAction = "ACTION_UNSPECIFIED"
	// The memory was created.
	GenerateMemoriesResponseGeneratedMemoryActionCreated GenerateMemoriesResponseGeneratedMemoryAction = "CREATED"
	// The memory was updated. The `fact` field may not be updated if the existing fact
	// is still accurate.
	GenerateMemoriesResponseGeneratedMemoryActionUpdated GenerateMemoriesResponseGeneratedMemoryAction = "UPDATED"
	// The memory was deleted.
	GenerateMemoriesResponseGeneratedMemoryActionDeleted GenerateMemoriesResponseGeneratedMemoryAction = "DELETED"
)

type GetAgentEngineConfig

type GetAgentEngineConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

Config for create agent engine.

type GetAgentEngineMemoryConfig

type GetAgentEngineMemoryConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

Config for getting an Agent Engine Memory.

type GetAgentEngineMemoryRevisionConfig

type GetAgentEngineMemoryRevisionConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

Config for getting an Agent Engine Memory Revision.

type GetAgentEngineOperationConfig

type GetAgentEngineOperationConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

type GetAgentEngineSandboxConfig

type GetAgentEngineSandboxConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

Config for getting an Agent Engine Memory.

type GetAgentEngineSessionConfig

type GetAgentEngineSessionConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

Config for getting an Agent Engine Session.

type IdentityType

type IdentityType string

The identity type to use for the Reasoning Engine. If not specified, the `service_account` field will be used if set, otherwise the default Vertex AI Reasoning Engine Service Agent in the project will be used.

const (
	// Default value. Use a custom service account if the `service_account` field is set,
	// otherwise use the default Vertex AI Reasoning Engine Service Agent in the project.
	// Same behavior as SERVICE_ACCOUNT.
	IdentityTypeUnspecified IdentityType = "IDENTITY_TYPE_UNSPECIFIED"
	// Use a custom service account if the `service_account` field is set, otherwise use
	// the default Vertex AI Reasoning Engine Service Agent in the project.
	IdentityTypeServiceAccount IdentityType = "SERVICE_ACCOUNT"
	// Use Agent Identity. The `service_account` field must not be set.
	IdentityTypeAgentIdentity IdentityType = "AGENT_IDENTITY"
)

type IngestEventsConfig

type IngestEventsConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. Waits for the underlying memory generation operation to complete
	// before returning. Defaults to false.
	WaitForCompletion *bool `json:"waitForCompletion,omitempty"`
	// Optional. Forces a flush of all pending events in the stream and triggers memory
	// generation immediately bypassing any conditions configured in the `generation_trigger_config`.
	ForceFlush *bool `json:"forceFlush,omitempty"`
}

Config for ingesting events.

type IngestionDirectContentsSource

type IngestionDirectContentsSource struct {
	// Required. The events to ingest.
	Events []*IngestionDirectContentsSourceEvent `json:"events,omitempty"`
}

The direct contents source for ingesting events.

type IngestionDirectContentsSourceEvent

type IngestionDirectContentsSourceEvent struct {
	// Required. The content of the event.
	Content *genai_types.Content `json:"content,omitempty"`
	// Optional. A unique identifier for the event. If an event with the same event_id is
	// ingested multiple times, it will be de-duplicated.
	EventID string `json:"eventId,omitempty"`
	// Optional. The time at which the event occurred. If provided, this timestamp will
	// be used for ordering events within a stream. If not provided, the server-side ingestion
	// time will be used.
	EventTime time.Time `json:"eventTime,omitempty"`
}

The direct contents source event for ingesting events.

func (*IngestionDirectContentsSourceEvent) MarshalJSON

func (i *IngestionDirectContentsSourceEvent) MarshalJSON() ([]byte, error)

func (*IngestionDirectContentsSourceEvent) UnmarshalJSON

func (i *IngestionDirectContentsSourceEvent) UnmarshalJSON(data []byte) error

type IntermediateExtractedMemory

type IntermediateExtractedMemory struct {
	// Output only. Represents the fact of the extracted memory.
	Fact string `json:"fact,omitempty"`
	// Output only. Represents the explanation of why the information was extracted from
	// the source content.
	Context string `json:"context,omitempty"`
	// Output only. Represents the structured value of the extracted memory.
	StructuredData map[string]any `json:"structuredData,omitempty"`
}

An extracted memory that is the intermediate result before consolidation.

type KeepAliveProbe

type KeepAliveProbe struct {
	// Optional. Specifies the HTTP GET configuration for the probe.
	HTTPGet *KeepAliveProbeHTTPGet `json:"httpGet,omitempty"`
	// Optional. Specifies the maximum duration (in seconds) to keep the instance alive
	// via this probe. Can be a maximum of 3600 seconds (1 hour).
	MaxSeconds *int32 `json:"maxSeconds,omitempty"`
}

Represents the configuration for keep-alive probe. Contains configuration on a specified endpoint that a deployment host should use to keep the container alive based on the probe settings.

type KeepAliveProbeHTTPGet

type KeepAliveProbeHTTPGet struct {
	// Required. Specifies the path of the HTTP GET request (e.g., "/is_busy").
	Path string `json:"path,omitempty"`
	// Optional. Specifies the port number on the container to which the request is sent.
	Port *int32 `json:"port,omitempty"`
}

Specifies the HTTP GET configuration for the probe.

type Language

type Language string

The coding language supported in this environment.

const (
	// The default value. This value is unused.
	LanguageUnspecified Language = "LANGUAGE_UNSPECIFIED"
	// The coding language is Python.
	LanguagePython Language = "LANGUAGE_PYTHON"
	// The coding language is JavaScript.
	LanguageJavascript Language = "LANGUAGE_JAVASCRIPT"
)

type ListAgentEngineConfig

type ListAgentEngineConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. PageSize specifies the maximum number of cached contents to return per
	// API call. If zero, the server will use a default value.
	PageSize int32 `json:"pageSize,omitempty"`
	// Optional. PageToken represents a token used for pagination in API responses. It's
	// an opaque string that should be passed to subsequent requests to retrieve the next
	// page of results. An empty PageToken typically indicates that there are no further
	// pages available.
	PageToken string `json:"pageToken,omitempty"`
	// Optional. An expression for filtering the results of the request.
	// For field names both snake_case and camelCase are supported.
	Filter string `json:"filter,omitempty"`
}

Config for listing agent engines.

type ListAgentEngineMemoryConfig

type ListAgentEngineMemoryConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. PageSize specifies the maximum number of cached contents to return per
	// API call. If zero, the server will use a default value.
	PageSize int32 `json:"pageSize,omitempty"`
	// Optional. PageToken represents a token used for pagination in API responses. It's
	// an opaque string that should be passed to subsequent requests to retrieve the next
	// page of results. An empty PageToken typically indicates that there are no further
	// pages available.
	PageToken string `json:"pageToken,omitempty"`
	// Optional. An expression for filtering the results of the request.
	// For field names both snake_case and camelCase are supported.
	Filter string `json:"filter,omitempty"`
	// Optional. The standard list order by string. If not specified, the default
	// order is `create_time desc`. If specified, the default sorting order of
	// provided fields is ascending. More detail in
	// [AIP-132](https://google.aip.dev/132).
	// Supported fields:
	// * `create_time`
	// * `update_time`
	OrderBy string `json:"orderBy,omitempty"`
}

Config for listing agent engine memories.

type ListAgentEngineMemoryRevisionsConfig

type ListAgentEngineMemoryRevisionsConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. PageSize specifies the maximum number of cached contents to return per
	// API call. If zero, the server will use a default value.
	PageSize int32 `json:"pageSize,omitempty"`
	// Optional. PageToken represents a token used for pagination in API responses. It's
	// an opaque string that should be passed to subsequent requests to retrieve the next
	// page of results. An empty PageToken typically indicates that there are no further
	// pages available.
	PageToken string `json:"pageToken,omitempty"`
	// Optional. An expression for filtering the results of the request.
	// For field names both snake_case and camelCase are supported.
	Filter string `json:"filter,omitempty"`
}

Config for listing Agent Engine memory revisions.

type ListAgentEngineMemoryRevisionsResponse

type ListAgentEngineMemoryRevisionsResponse struct {
	// Optional. Used to retain the full HTTP response.
	SDKHTTPResponse *genai_types.HTTPResponse `json:"sdkHttpResponse,omitempty"`

	NextPageToken string `json:"nextPageToken,omitempty"`
	// List of memory revisions.
	MemoryRevisions []*MemoryRevision `json:"memoryRevisions,omitempty"`
}

Response for listing agent engine memory revisions.

type ListAgentEngineSandboxesConfig

type ListAgentEngineSandboxesConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. PageSize specifies the maximum number of cached contents to return per
	// API call. If zero, the server will use a default value.
	PageSize int32 `json:"pageSize,omitempty"`
	// Optional. PageToken represents a token used for pagination in API responses. It's
	// an opaque string that should be passed to subsequent requests to retrieve the next
	// page of results. An empty PageToken typically indicates that there are no further
	// pages available.
	PageToken string `json:"pageToken,omitempty"`
	// Optional. An expression for filtering the results of the request.
	// For field names both snake_case and camelCase are supported.
	Filter string `json:"filter,omitempty"`
}

Config for listing agent engine sandboxes.

type ListAgentEngineSandboxesResponse

type ListAgentEngineSandboxesResponse struct {
	// Optional. Used to retain the full HTTP response.
	SDKHTTPResponse *genai_types.HTTPResponse `json:"sdkHttpResponse,omitempty"`

	NextPageToken string `json:"nextPageToken,omitempty"`
	// List of agent engine sandboxes.
	SandboxEnvironments []*SandboxEnvironment `json:"sandboxEnvironments,omitempty"`
}

Response for listing agent engine sandboxes.

type ListAgentEngineSessionEventsConfig

type ListAgentEngineSessionEventsConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. PageSize specifies the maximum number of cached contents to return per
	// API call. If zero, the server will use a default value.
	PageSize int32 `json:"pageSize,omitempty"`
	// Optional. PageToken represents a token used for pagination in API responses. It's
	// an opaque string that should be passed to subsequent requests to retrieve the next
	// page of results. An empty PageToken typically indicates that there are no further
	// pages available.
	PageToken string `json:"pageToken,omitempty"`
	// Optional. An expression for filtering the results of the request.
	// For field names both snake_case and camelCase are supported.
	Filter string `json:"filter,omitempty"`
}

Config for listing agent engine session events.

type ListAgentEngineSessionEventsResponse

type ListAgentEngineSessionEventsResponse struct {
	// Optional. Used to retain the full HTTP response.
	SDKHTTPResponse *genai_types.HTTPResponse `json:"sdkHttpResponse,omitempty"`

	NextPageToken string `json:"nextPageToken,omitempty"`
	// List of session events.
	SessionEvents []*SessionEvent `json:"sessionEvents,omitempty"`
}

Response for listing agent engine session events.

type ListAgentEngineSessionsConfig

type ListAgentEngineSessionsConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. PageSize specifies the maximum number of cached contents to return per
	// API call. If zero, the server will use a default value.
	PageSize int32 `json:"pageSize,omitempty"`
	// Optional. PageToken represents a token used for pagination in API responses. It's
	// an opaque string that should be passed to subsequent requests to retrieve the next
	// page of results. An empty PageToken typically indicates that there are no further
	// pages available.
	PageToken string `json:"pageToken,omitempty"`
	// Optional. An expression for filtering the results of the request.
	// For field names both snake_case and camelCase are supported.
	Filter string `json:"filter,omitempty"`
}

Config for listing agent engine sessions.

type ListReasoningEnginesMemoriesResponse

type ListReasoningEnginesMemoriesResponse struct {
	// Optional. Used to retain the full HTTP response.
	SDKHTTPResponse *genai_types.HTTPResponse `json:"sdkHttpResponse,omitempty"`

	NextPageToken string `json:"nextPageToken,omitempty"`
	// List of agent engine memories.
	Memories []*Memory `json:"memories,omitempty"`
}

Response for listing agent engine memories.

type ListReasoningEnginesResponse

type ListReasoningEnginesResponse struct {
	// Optional. Used to retain the full HTTP response.
	SDKHTTPResponse *genai_types.HTTPResponse `json:"sdkHttpResponse,omitempty"`

	NextPageToken string `json:"nextPageToken,omitempty"`
	// List of agent engines.
	ReasoningEngines []*ReasoningEngine `json:"reasoningEngines,omitempty"`
}

Response for listing agent engines.

type ListReasoningEnginesSessionsResponse

type ListReasoningEnginesSessionsResponse struct {
	// Optional. Used to retain the full HTTP response.
	SDKHTTPResponse *genai_types.HTTPResponse `json:"sdkHttpResponse,omitempty"`

	NextPageToken string `json:"nextPageToken,omitempty"`
	// List of agent engine sessions.
	Sessions []*Session `json:"sessions,omitempty"`
}

Response for listing agent engine sessions.

type MachineConfig

type MachineConfig string

The machine config of the code execution environment.

const (
	// The default value: milligcu 2000, memory 1.5Gib
	MachineConfigUnspecified MachineConfig = "MACHINE_CONFIG_UNSPECIFIED"
	// The default value: milligcu 4000, memory 4 Gib
	MachineConfigVcpu4Ram4gib MachineConfig = "MACHINE_CONFIG_VCPU4_RAM4GIB"
)

type ManagedTopicEnum

type ManagedTopicEnum string

Represents the managed memory topic.

const (
	// Represents an unspecified topic. This value should not be used.
	ManagedTopicEnumUnspecified ManagedTopicEnum = "MANAGED_TOPIC_ENUM_UNSPECIFIED"
	// Represents significant personal information about the User like first names, relationships,
	// hobbies, important dates.
	ManagedTopicEnumUserPersonalInfo ManagedTopicEnum = "USER_PERSONAL_INFO"
	// Represents stated or implied likes, dislikes, preferred styles, or patterns.
	ManagedTopicEnumUserPreferences ManagedTopicEnum = "USER_PREFERENCES"
	// Represents important milestones or conclusions within the dialogue.
	ManagedTopicEnumKeyConversationDetails ManagedTopicEnum = "KEY_CONVERSATION_DETAILS"
	// Represents information that the user explicitly requested to remember or forget.
	ManagedTopicEnumExplicitInstructions ManagedTopicEnum = "EXPLICIT_INSTRUCTIONS"
)

type Memory

type Memory struct {
	// Output only. Represents the timestamp when this Memory was created.
	CreateTime time.Time `json:"createTime,omitempty"`
	// Optional. Represents the description of the Memory.
	Description string `json:"description,omitempty"`
	// Optional. Input only. Indicates whether no revision will be created for this request.
	DisableMemoryRevisions bool `json:"disableMemoryRevisions,omitempty"`
	// Optional. Represents the display name of the Memory.
	DisplayName string `json:"displayName,omitempty"`
	// Optional. Represents the timestamp of when this resource is considered expired. This
	// is *always* provided on output when `expiration` is set on input, regardless of whether
	// `expire_time` or `ttl` was provided.
	ExpireTime time.Time `json:"expireTime,omitempty"`
	// Optional. Represents semantic knowledge extracted from the source content.
	Fact string `json:"fact,omitempty"`
	// Optional. Represents user-provided metadata for the Memory. This information was
	// provided when creating, updating, or generating the Memory. It was not generated
	// by Memory Bank.
	Metadata map[string]*MemoryMetadataValue `json:"metadata,omitempty"`
	// Identifier. Represents the resource name of the Memory. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}`
	Name string `json:"name,omitempty"`
	// Optional. Input only. Represents the timestamp of when the revision is considered
	// expired. If not set, the memory revision will be kept until manually deleted.
	RevisionExpireTime time.Time `json:"revisionExpireTime,omitempty"`
	// Optional. Input only. Represents the labels to apply to the Memory Revision created
	// as a result of this request.
	RevisionLabels map[string]string `json:"revisionLabels,omitempty"`
	// Optional. Input only. Represents the TTL for the revision. The expiration time is
	// computed: now + TTL.
	RevisionTTL time.Duration `json:"revisionTtl,omitempty"`
	// Required. Immutable. Represents the scope of the Memory. Memories are isolated within
	// their scope. The scope is defined when creating or generating memories. Scope values
	// cannot contain the wildcard character '*'.
	Scope map[string]string `json:"scope,omitempty"`
	// Optional. Represents the Topics of the Memory.
	Topics []*MemoryTopicID `json:"topics,omitempty"`
	// Optional. Input only. Represents the TTL for this resource. The expiration time is
	// computed: now + TTL.
	TTL time.Duration `json:"ttl,omitempty"`
	// Output only. Represents the timestamp when this Memory was most recently updated.
	UpdateTime time.Time `json:"updateTime,omitempty"`
	// Optional. Represents the type of the memory. If not set, the `NATURAL_LANGUAGE_COLLECTION`
	// type is used. If `STRUCTURED_COLLECTION` or `STRUCTURED_PROFILE` is used, then `structured_data`
	// must be provided.
	MemoryType MemoryType `json:"memoryType,omitempty"`
	// Optional. Represents the structured content of the memory.
	StructuredContent *MemoryStructuredContent `json:"structuredContent,omitempty"`
}

A memory.

func (*Memory) MarshalJSON

func (m *Memory) MarshalJSON() ([]byte, error)

func (*Memory) UnmarshalJSON

func (m *Memory) UnmarshalJSON(data []byte) error

type MemoryBankCustomizationConfig

type MemoryBankCustomizationConfig struct {
	// Optional. Indicates whether the memories will be generated in the third person (i.e.
	// "The user generates memories with Memory Bank."). By default, the memories will be
	// generated in the first person (i.e. "I generate memories with Memory Bank.")
	EnableThirdPersonMemories *bool `json:"enableThirdPersonMemories,omitempty"`
	// Optional. Provides examples of how to generate memories for a particular scope.
	GenerateMemoriesExamples []*MemoryBankCustomizationConfigGenerateMemoriesExample `json:"generateMemoriesExamples,omitempty"`
	// Optional. Represents topics of information that should be extracted from conversations
	// and stored as memories. If not set, then Memory Bank's default topics will be used.
	MemoryTopics []*MemoryBankCustomizationConfigMemoryTopic `json:"memoryTopics,omitempty"`
	// Optional. Represents the scope keys (i.e. 'user_id') for which to use this config.
	// A request's scope must include all of the provided keys for the config to be used
	// (order does not matter). If empty, then the config will be used for all requests
	// that do not have a more specific config. Only one default config is allowed per Memory
	// Bank.
	ScopeKeys []string `json:"scopeKeys,omitempty"`
	// Optional. Represents configuration for customizing how memories are consolidated
	// together.
	ConsolidationConfig *MemoryBankCustomizationConfigConsolidationConfig `json:"consolidationConfig,omitempty"`
	// Optional. Indicates whether natural language memory generation should be disabled
	// for all requests. By default, natural language memory generation is enabled. Set
	// this to `true` when you only want to generate structured memories.
	DisableNaturalLanguageMemories *bool `json:"disableNaturalLanguageMemories,omitempty"`
}

Represents configuration for organizing natural language memories for a particular scope.

type MemoryBankCustomizationConfigConsolidationConfig

type MemoryBankCustomizationConfigConsolidationConfig struct {
	// Optional. Represents the maximum number of revisions to consider for each candidate
	// memory. If not set, then the default value (1) will be used, which means that only
	// the latest revision will be considered.
	RevisionsPerCandidateCount *int32 `json:"revisionsPerCandidateCount,omitempty"`
}

Represents configuration for customizing how memories are consolidated.

type MemoryBankCustomizationConfigGenerateMemoriesExample

type MemoryBankCustomizationConfigGenerateMemoriesExample struct {
	// A conversation source for the example.
	ConversationSource *MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSource `json:"conversationSource,omitempty"`
	// Optional. Represents the memories that are expected to be generated from the input
	// conversation. An empty list indicates that no memories are expected to be generated
	// for the input conversation.
	GeneratedMemories []*MemoryBankCustomizationConfigGenerateMemoriesExampleGeneratedMemory `json:"generatedMemories,omitempty"`
}

An example of how to generate memories for a particular scope.

type MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSource

type MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSource struct {
	// Optional. Represents the input conversation events for the example.
	Events []*MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSourceEvent `json:"events,omitempty"`
}

A conversation source for the example. This is similar to `DirectContentsSource`.

type MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSourceEvent

type MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSourceEvent struct {
	// Optional. Required. Represents the content of the event.
	Content *genai_types.Content `json:"content,omitempty"`
}

The conversation source event for generating memories.

type MemoryBankCustomizationConfigGenerateMemoriesExampleGeneratedMemory

type MemoryBankCustomizationConfigGenerateMemoriesExampleGeneratedMemory struct {
	// Required. Represents the fact to generate a memory from.
	Fact string `json:"fact,omitempty"`
	// Optional. Represents the list of topics that the memory should be associated with.
	// For example, use `custom_memory_topic_label = "jargon"` if the extracted memory is
	// an example of memory extraction for the custom topic `jargon`.
	Topics []*MemoryTopicID `json:"topics,omitempty"`
}

A memory generated by the operation.

type MemoryBankCustomizationConfigMemoryTopic

type MemoryBankCustomizationConfigMemoryTopic struct {
	// A custom memory topic defined by the developer.
	CustomMemoryTopic *MemoryBankCustomizationConfigMemoryTopicCustomMemoryTopic `json:"customMemoryTopic,omitempty"`
	// A managed memory topic defined by Memory Bank.
	ManagedMemoryTopic *MemoryBankCustomizationConfigMemoryTopicManagedMemoryTopic `json:"managedMemoryTopic,omitempty"`
}

A topic of information that should be extracted from conversations and stored as memories.

type MemoryBankCustomizationConfigMemoryTopicCustomMemoryTopic

type MemoryBankCustomizationConfigMemoryTopicCustomMemoryTopic struct {
	// Required. Represents the label of the topic.
	Label string `json:"label,omitempty"`
	// Required. Represents the description of the memory topic. This should explain what
	// information should be extracted for this topic.
	Description string `json:"description,omitempty"`
}

A custom memory topic defined by the developer.

type MemoryBankCustomizationConfigMemoryTopicManagedMemoryTopic

type MemoryBankCustomizationConfigMemoryTopicManagedMemoryTopic struct {
	// Required. Represents the managed topic.
	ManagedTopicEnum ManagedTopicEnum `json:"managedTopicEnum,omitempty"`
}

A managed memory topic defined by the system.

type MemoryBankIngestEventsOperation

type MemoryBankIngestEventsOperation struct {
	// The server-assigned name, which is only unique within the same service that originally
	// returns it. If you use the default HTTP mapping, the `name` should be a resource
	// name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Optional. Service-specific metadata associated with the operation. It typically contains
	// progress information and common metadata such as create time. Some services might
	// not provide such metadata. Any method that returns a long-running operation should
	// document the metadata type, if any.
	Metadata map[string]any `json:"metadata,omitempty"`
	// If the value is `false`, it means the operation is still in progress. If `true`,
	// the operation is completed, and either `error` or `response` is available.
	Done bool `json:"done,omitempty"`
	// Optional. The error result of the operation in case of failure or cancellation.
	Error map[string]any `json:"error,omitempty"`
}

Operation that ingests events into a memory bank.

type MemoryConjunctionFilter

type MemoryConjunctionFilter struct {
	// Represents filters that will be combined using AND logic.
	Filters []*MemoryFilter `json:"filters,omitempty"`
}

The conjunction filter for memories.

type MemoryFilter

type MemoryFilter struct {
	// Represents the key of the filter. For example, "author" would apply to `metadata`
	// entries with the key "author".
	Key string `json:"key,omitempty"`
	// Indicates whether the filter will be negated.
	Negate *bool `json:"negate,omitempty"`
	// Represents the operator to apply to the filter. If not set, then EQUAL will be used.
	Op Operator `json:"op,omitempty"`
	// Represents the value to compare to.
	Value *MemoryMetadataValue `json:"value,omitempty"`
}

Filter to apply when retrieving memories.

type MemoryGenerationTriggerConfig

type MemoryGenerationTriggerConfig struct {
	// Optional. Represents the active rule that determines when to flush the buffer. If
	// not set, then the stream will be force flushed immediately.
	GenerationRule *MemoryGenerationTriggerConfigGenerationTriggerRule `json:"generationRule,omitempty"`
}

The configuration for triggering memory generation for ingested events.

type MemoryGenerationTriggerConfigGenerationTriggerRule

type MemoryGenerationTriggerConfigGenerationTriggerRule struct {
	// Specifies to trigger generation if the stream is inactive for the specified duration
	// after the most recent event. The duration must have a minute-level granularity.
	IdleDuration time.Duration `json:"idleDuration,omitempty"`
	// Specifies to trigger generation at a fixed interval. The duration must have a minute-level
	// granularity.
	FixedInterval time.Duration `json:"fixedInterval,omitempty"`
	// Specifies to trigger generation when the event count reaches this limit.
	EventCount *int32 `json:"eventCount,omitempty"`
}

Represents the active rule that determines when to flush the buffer.

func (*MemoryGenerationTriggerConfigGenerationTriggerRule) MarshalJSON

func (*MemoryGenerationTriggerConfigGenerationTriggerRule) UnmarshalJSON

type MemoryMetadataMergeStrategy

type MemoryMetadataMergeStrategy string

The strategy to use when applying metadata to existing memories during consolidation.

const (
	// The metadata merge strategy is unspecified.
	MemoryMetadataMergeStrategyUnspecified MemoryMetadataMergeStrategy = "METADATA_MERGE_STRATEGY_UNSPECIFIED"
	// Replace the metadata of the updated memories with the new metadata.
	MemoryMetadataMergeStrategyOverwrite MemoryMetadataMergeStrategy = "OVERWRITE"
	// Append new metadata to the existing metadata. If there are duplicate keys, the existing
	// values will be overwritten.
	MemoryMetadataMergeStrategyMerge MemoryMetadataMergeStrategy = "MERGE"
	// Restrict consolidation to memories that have exactly the same metadata as the request.
	// If a memory doesn't have the same metadata, it is not eligible for consolidation.
	MemoryMetadataMergeStrategyRequireExactMatch MemoryMetadataMergeStrategy = "REQUIRE_EXACT_MATCH"
)

type MemoryMetadataValue

type MemoryMetadataValue struct {
	// Represents a boolean value.
	BoolValue *bool `json:"boolValue,omitempty"`
	// Represents a double value.
	DoubleValue *float64 `json:"doubleValue,omitempty"`
	// Represents a string value.
	StringValue string `json:"stringValue,omitempty"`
	// Represents a timestamp value. When filtering on timestamp values, only the seconds
	// field will be compared.
	TimestampValue time.Time `json:"timestampValue,omitempty"`
}

The metadata values for memories.

func (*MemoryMetadataValue) MarshalJSON

func (m *MemoryMetadataValue) MarshalJSON() ([]byte, error)

func (*MemoryMetadataValue) UnmarshalJSON

func (m *MemoryMetadataValue) UnmarshalJSON(data []byte) error

type MemoryProfile

type MemoryProfile struct {
	// Represents the ID of the schema. This ID corresponds to the `schema_id` defined inside
	// the SchemaConfig, under StructuredMemoryCustomizationConfig.
	SchemaID string `json:"schemaId,omitempty"`
	// Represents the profile data.
	Profile map[string]any `json:"profile,omitempty"`
}

A memory profile.

type MemoryRevision

type MemoryRevision struct {
	// Output only. Represents the timestamp when this Memory Revision was created.
	CreateTime time.Time `json:"createTime,omitempty"`
	// Output only. Represents the timestamp of when this resource is considered expired.
	ExpireTime time.Time `json:"expireTime,omitempty"`
	// Output only. Represents the extracted memories from the source content before consolidation
	// when the memory was updated via GenerateMemories. This information was used to modify
	// an existing Memory via Consolidation.
	ExtractedMemories []*IntermediateExtractedMemory `json:"extractedMemories,omitempty"`
	// Output only. Represents the fact of the Memory Revision. This corresponds to the
	// `fact` field of the parent Memory at the time of revision creation.
	Fact string `json:"fact,omitempty"`
	// Output only. Represents the labels of the Memory Revision. These labels are applied
	// to the MemoryRevision when it is created based on `GenerateMemoriesRequest.revision_labels`.
	Labels map[string]string `json:"labels,omitempty"`
	// Identifier. Represents the resource name of the Memory Revision. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/memories/{memory}/revisions/{memory_revision}`
	Name string `json:"name,omitempty"`
	// Output only. Represents the structured value of the memory at the time of revision
	// creation.
	StructuredData map[string]any `json:"structuredData,omitempty"`
}

A memory revision.

func (*MemoryRevision) MarshalJSON

func (m *MemoryRevision) MarshalJSON() ([]byte, error)

func (*MemoryRevision) UnmarshalJSON

func (m *MemoryRevision) UnmarshalJSON(data []byte) error

type MemoryStructuredContent

type MemoryStructuredContent struct {
	// Required. Represents the structured value of the memory.
	Data map[string]any `json:"data,omitempty"`
	// Required. Represents the schema ID for which this structured memory belongs to.
	SchemaID string `json:"schemaId,omitempty"`
}

Represents the structured value of the memory.

type MemoryTopicID

type MemoryTopicID struct {
	// Optional. Represents the custom memory topic label.
	CustomMemoryTopicLabel string `json:"customMemoryTopicLabel,omitempty"`
	// Optional. Represents the managed memory topic.
	ManagedMemoryTopic ManagedTopicEnum `json:"managedMemoryTopic,omitempty"`
}

The topic ID for a memory.

type MemoryType

type MemoryType string

The type of the memory.

const (
	// Represents an unspecified memory type. This value should not be used.
	MemoryTypeUnspecified MemoryType = "MEMORY_TYPE_UNSPECIFIED"
	// Indicates belonging to a collection of natural language memories.
	MemoryTypeNaturalLanguageCollection MemoryType = "NATURAL_LANGUAGE_COLLECTION"
	// Indicates belonging to a structured profile.
	MemoryTypeStructuredProfile MemoryType = "STRUCTURED_PROFILE"
)

type Metadata

type Metadata struct {
	// Optional. Attributes attached to the data. The keys have semantic conventions and
	// the consumers of the attributes should know how to deserialize the value bytes based
	// on the keys.
	Attributes map[string][]byte `json:"attributes,omitempty"`
}

Metadata for a chunk.

type Operator

type Operator string

Represents the operator to apply to the filter. If not set, then EQUAL will be used.

const (
	// Represents an unspecified operator. Defaults to EQUAL.
	OperatorUnspecified Operator = "OPERATOR_UNSPECIFIED"
	// Equal to.
	OperatorEqual Operator = "EQUAL"
	// Greater than.
	OperatorGreaterThan Operator = "GREATER_THAN"
	// Less than.
	OperatorLessThan Operator = "LESS_THAN"
)

type PscInterfaceConfig

type PscInterfaceConfig struct {
	// Optional. DNS peering configurations. When specified, Vertex AI will attempt to configure
	// DNS peering zones in the tenant project VPC to resolve the specified domains using
	// the target network's Cloud DNS. The user must grant the dns.peer role to the Vertex
	// AI Service Agent on the target project.
	DnsPeeringConfigs []*DnsPeeringConfig `json:"dnsPeeringConfigs,omitempty"`
	// Optional. The name of the Compute Engine [network attachment](https://cloud.google.com/vpc/docs/about-network-attachments)
	// to attach to the resource within the region and user project. To specify this field,
	// you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments).
	// This field is only used for resources using PSC-I.
	NetworkAttachment string `json:"networkAttachment,omitempty"`
}

Configuration for PSC-I.

type PurgeAgentEngineMemoriesConfig

type PurgeAgentEngineMemoriesConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. Waits for the operation to complete before returning.
	WaitForCompletion *bool `json:"waitForCompletion,omitempty"`
}

Config for purging memories.

type PurgeMemoriesResponse

type PurgeMemoriesResponse struct {
	// Optional. The number of memories that were purged.
	PurgeCount int32 `json:"purgeCount,omitempty"`
}

The response for purging memories.

type QueryAgentEngineConfig

type QueryAgentEngineConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. The class method to call.
	ClassMethod string `json:"classMethod,omitempty"`
	// Optional. The input to the class method.
	Input map[string]any `json:"input,omitempty"`

	IncludeAllFields *bool `json:"includeAllFields,omitempty"`
}

Config for querying agent engines.

type QueryReasoningEngineResponse

type QueryReasoningEngineResponse struct {
	// Response provided by users in JSON object format.
	Output any `json:"output,omitempty"`
}

The response for querying an agent engine.

type ReasoningEngine

type ReasoningEngine struct {
	// Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine
	// and all sub-resources of this ReasoningEngine will be secured by this key.
	EncryptionSpec *genai_types.EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Optional. Configuration for how Agent Engine sub-resources should manage context.
	ContextSpec *ReasoningEngineContextSpec `json:"contextSpec,omitempty"`
	// Output only. Timestamp when this ReasoningEngine was created.
	CreateTime time.Time `json:"createTime,omitempty"`
	// Optional. The description of the ReasoningEngine.
	Description string `json:"description,omitempty"`
	// Required. The display name of the ReasoningEngine.
	DisplayName string `json:"displayName,omitempty"`
	// Optional. Used to perform consistent read-modify-write updates. If not set, a blind
	// "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels for the ReasoningEngine.
	Labels map[string]string `json:"labels,omitempty"`
	// Identifier. The resource name of the ReasoningEngine. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`
	Name string `json:"name,omitempty"`
	// Optional. Configurations of the ReasoningEngine
	Spec *ReasoningEngineSpec `json:"spec,omitempty"`
	// Output only. Timestamp when this ReasoningEngine was most recently updated.
	UpdateTime time.Time `json:"updateTime,omitempty"`
	// Optional. Traffic distribution configuration for the Reasoning Engine.
	TrafficConfig *ReasoningEngineTrafficConfig `json:"trafficConfig,omitempty"`
}

An agent engine.

func (*ReasoningEngine) MarshalJSON

func (r *ReasoningEngine) MarshalJSON() ([]byte, error)

func (*ReasoningEngine) UnmarshalJSON

func (r *ReasoningEngine) UnmarshalJSON(data []byte) error

type ReasoningEngineContextSpec

type ReasoningEngineContextSpec struct {
	// Optional. Specification for a Memory Bank, which manages memories for the Agent Engine.
	MemoryBankConfig *ReasoningEngineContextSpecMemoryBankConfig `json:"memoryBankConfig,omitempty"`
}

Configuration for how Agent Engine sub-resources should manage context.

type ReasoningEngineContextSpecMemoryBankConfig

type ReasoningEngineContextSpecMemoryBankConfig struct {
	// Optional. Configuration for how to customize Memory Bank behavior for a particular
	// scope.
	CustomizationConfigs []*MemoryBankCustomizationConfig `json:"customizationConfigs,omitempty"`
	// If true, no memory revisions will be created for any requests to the Memory Bank.
	DisableMemoryRevisions *bool `json:"disableMemoryRevisions,omitempty"`
	// Optional. Configuration for how to generate memories for the Memory Bank.
	GenerationConfig *ReasoningEngineContextSpecMemoryBankConfigGenerationConfig `json:"generationConfig,omitempty"`
	// Optional. Configuration for how to perform similarity search on memories. If not
	// set, the Memory Bank will use the default embedding model `text-embedding-005`.
	SimilaritySearchConfig *ReasoningEngineContextSpecMemoryBankConfigSimilaritySearchConfig `json:"similaritySearchConfig,omitempty"`
	// Optional. Configuration for automatic TTL ("time-to-live") of the memories in the
	// Memory Bank. If not set, TTL will not be applied automatically. The TTL can be explicitly
	// set by modifying the `expire_time` of each Memory resource.
	TTLConfig *ReasoningEngineContextSpecMemoryBankConfigTTLConfig `json:"ttlConfig,omitempty"`
	// Optional. Configuration for organizing structured memories for a particular scope.
	StructuredMemoryConfigs []*StructuredMemoryConfig `json:"structuredMemoryConfigs,omitempty"`
}

Specification for a Memory Bank.

type ReasoningEngineContextSpecMemoryBankConfigGenerationConfig

type ReasoningEngineContextSpecMemoryBankConfigGenerationConfig struct {
	// Optional. The model used to generate memories. Format: `projects/{project}/locations/{location}/publishers/google/models/{model}`.
	Model string `json:"model,omitempty"`
	// Optional. Specifies the default trigger configuration for generating memories using
	// `IngestEvents`.
	GenerationTriggerConfig *MemoryGenerationTriggerConfig `json:"generationTriggerConfig,omitempty"`
}

Configuration for how to generate memories.

type ReasoningEngineContextSpecMemoryBankConfigSimilaritySearchConfig

type ReasoningEngineContextSpecMemoryBankConfigSimilaritySearchConfig struct {
	// Required. The model used to generate embeddings to lookup similar memories. Format:
	// `projects/{project}/locations/{location}/publishers/google/models/{model}`.
	EmbeddingModel string `json:"embeddingModel,omitempty"`
}

Configuration for how to perform similarity search on memories.

type ReasoningEngineContextSpecMemoryBankConfigTTLConfig

type ReasoningEngineContextSpecMemoryBankConfigTTLConfig struct {
	// Optional. The default TTL duration of the memories in the Memory Bank. This applies
	// to all operations that create or update a memory.
	DefaultTTL time.Duration `json:"defaultTtl,omitempty"`
	// Optional. The granular TTL configuration of the memories in the Memory Bank.
	GranularTTLConfig *ReasoningEngineContextSpecMemoryBankConfigTTLConfigGranularTTLConfig `json:"granularTtlConfig,omitempty"`
	// Optional. The default TTL duration of the memory revisions in the Memory Bank. This
	// applies to all operations that create a memory revision. If not set, a default TTL
	// of 365 days will be used.
	MemoryRevisionDefaultTTL time.Duration `json:"memoryRevisionDefaultTtl,omitempty"`
}

Configuration for automatically setting the TTL ("time-to-live") of the memories in the Memory Bank.

func (*ReasoningEngineContextSpecMemoryBankConfigTTLConfig) MarshalJSON

func (*ReasoningEngineContextSpecMemoryBankConfigTTLConfig) UnmarshalJSON

type ReasoningEngineContextSpecMemoryBankConfigTTLConfigGranularTTLConfig

type ReasoningEngineContextSpecMemoryBankConfigTTLConfigGranularTTLConfig struct {
	// Optional. The TTL duration for memories uploaded via CreateMemory.
	CreateTTL time.Duration `json:"createTtl,omitempty"`
	// Optional. The TTL duration for memories newly generated via GenerateMemories (GenerateMemoriesResponse.GeneratedMemory.Action.CREATED).
	GenerateCreatedTTL time.Duration `json:"generateCreatedTtl,omitempty"`
	// Optional. The TTL duration for memories updated via GenerateMemories (GenerateMemoriesResponse.GeneratedMemory.Action.UPDATED).
	// In the case of an UPDATE action, the `expire_time` of the existing memory will be
	// updated to the new value (now + TTL).
	GenerateUpdatedTTL time.Duration `json:"generateUpdatedTtl,omitempty"`
}

Configuration for TTL of the memories in the Memory Bank based on the action that created or updated the memory.

func (*ReasoningEngineContextSpecMemoryBankConfigTTLConfigGranularTTLConfig) MarshalJSON

func (*ReasoningEngineContextSpecMemoryBankConfigTTLConfigGranularTTLConfig) UnmarshalJSON

type ReasoningEngineSpec

type ReasoningEngineSpec struct {
	// Optional. The A2A Agent Card for the agent (if available). It follows the specification
	// at https://a2a-protocol.org/latest/specification/#5-agent-discovery-the-agent-card.
	AgentCard map[string]any `json:"agentCard,omitempty"`
	// Optional. The OSS agent framework used to develop the agent. Currently supported
	// values: "google-adk", "langchain", "langgraph", "ag2", "llama-index", "custom".
	AgentFramework string `json:"agentFramework,omitempty"`
	// Optional. Declarations for object class methods in OpenAPI specification format.
	ClassMethods []map[string]any `json:"classMethods,omitempty"`
	// Optional. The specification of a Reasoning Engine deployment.
	DeploymentSpec *ReasoningEngineSpecDeploymentSpec `json:"deploymentSpec,omitempty"`
	// Output only. The identity to use for the Reasoning Engine. It can contain one of
	// the following values: * service-{project}@gcp-sa-aiplatform-re.googleapis.com (for
	// SERVICE_AGENT identity type) * {name}@{project}.gserviceaccount.com (for SERVICE_ACCOUNT
	// identity type) * agents.global.{org}.system.id.goog/resources/aiplatform/projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}
	// (for AGENT_IDENTITY identity type)
	EffectiveIdentity string `json:"effectiveIdentity,omitempty"`
	// Optional. The identity type to use for the Reasoning Engine. If not specified, the
	// `service_account` field will be used if set, otherwise the default Vertex AI Reasoning
	// Engine Service Agent in the project will be used.
	IdentityType IdentityType `json:"identityType,omitempty"`
	// Optional. User provided package spec of the ReasoningEngine. Ignored when users directly
	// specify a deployment image through `deployment_spec.first_party_image_override`,
	// but keeping the field_behavior to avoid introducing breaking changes. The `deployment_source`
	// field should not be set if `package_spec` is specified.
	PackageSpec *ReasoningEngineSpecPackageSpec `json:"packageSpec,omitempty"`
	// Optional. The service account that the Reasoning Engine artifact runs as. It should
	// have "roles/storage.objectViewer" for reading the user project's Cloud Storage and
	// "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex
	// AI Reasoning Engine Service Agent in the project will be used.
	ServiceAccount string `json:"serviceAccount,omitempty"`
	// Deploy from source code files with a defined entrypoint.
	SourceCodeSpec *ReasoningEngineSpecSourceCodeSpec `json:"sourceCodeSpec,omitempty"`
	// Deploy from a container image with a defined entrypoint and commands.
	ContainerSpec *ReasoningEngineSpecContainerSpec `json:"containerSpec,omitempty"`
}

The specification of an agent engine.

type ReasoningEngineSpecContainerSpec

type ReasoningEngineSpecContainerSpec struct {
	// Required. The Artifact Registry Docker image URI (e.g., us-central1-docker.pkg.dev/my-project/my-repo/my-image:tag)
	// of the container image that is to be run on each worker replica.
	ImageURI string `json:"imageUri,omitempty"`
}

Specification for deploying from a container image.

type ReasoningEngineSpecDeploymentSpec

type ReasoningEngineSpecDeploymentSpec struct {
	// The agent server mode.
	AgentServerMode AgentServerMode `json:"agentServerMode,omitempty"`
	// Optional. Concurrency for each container and agent server. Recommended value: 2 *
	// cpu + 1. Defaults to 9.
	ContainerConcurrency *int32 `json:"containerConcurrency,omitempty"`
	// Optional. Environment variables to be set with the Reasoning Engine deployment. The
	// environment variables can be updated through the UpdateReasoningEngine API.
	Env []*EnvVar `json:"env,omitempty"`
	// Optional. The maximum number of application instances that can be launched to handle
	// increased traffic. Defaults to 100. Range: [1, 1000]. If VPC-SC or PSC-I is enabled,
	// the acceptable range is [1, 100].
	MaxInstances *int32 `json:"maxInstances,omitempty"`
	// Optional. The minimum number of application instances that will be kept running at
	// all times. Defaults to 1. Range: [0, 75].
	MinInstances *int32 `json:"minInstances,omitempty"`
	// Optional. Configuration for PSC-I.
	PscInterfaceConfig *PscInterfaceConfig `json:"pscInterfaceConfig,omitempty"`
	// Optional. Resource limits for each container. Only 'cpu' and 'memory' keys are supported.
	// Defaults to {"cpu": "4", "memory": "4Gi"}. * The only supported values for CPU are
	// '1', '2', '4', '6' and '8'. For more information, go to https://cloud.google.com/run/docs/configuring/cpu.
	// * The only supported values for memory are '1Gi', '2Gi', ... '32 Gi'. * For required
	// cpu on different memory values, go to https://cloud.google.com/run/docs/configuring/memory-limits
	ResourceLimits map[string]string `json:"resourceLimits,omitempty"`
	// Optional. Environment variables where the value is a secret in Cloud Secret Manager.
	// To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor)
	// to AI Platform Reasoning Engine Service Agent.
	SecretEnv []*SecretEnvVar `json:"secretEnv,omitempty"`
	// Optional. Agent Gateway configuration for the Reasoning Engine deployment.
	AgentGatewayConfig *ReasoningEngineSpecDeploymentSpecAgentGatewayConfig `json:"agentGatewayConfig,omitempty"`
	// Optional. Specifies the configuration for keep-alive probe. Contains configuration
	// on a specified endpoint that a deployment host should use to keep the container alive
	// based on the probe settings.
	KeepAliveProbe *KeepAliveProbe `json:"keepAliveProbe,omitempty"`
}

The specification of a Reasoning Engine deployment.

type ReasoningEngineSpecDeploymentSpecAgentGatewayConfig

type ReasoningEngineSpecDeploymentSpecAgentGatewayConfig struct {
	// Optional. Configuration for traffic originating from the Reasoning Engine. When unset,
	// outgoing traffic is not routed through an Agent Gateway.
	AgentToAnywhereConfig *ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfig `json:"agentToAnywhereConfig,omitempty"`
	// Optional. Configuration for traffic targeting the Reasoning Engine. When unset, incoming
	// traffic is not routed through an Agent Gateway.
	ClientToAgentConfig *ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfig `json:"clientToAgentConfig,omitempty"`
}

Agent Gateway configuration for a Reasoning Engine deployment.

type ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfig

type ReasoningEngineSpecDeploymentSpecAgentGatewayConfigAgentToAnywhereConfig struct {
	// Required. The resource name of the Agent Gateway for outbound traffic. It must be
	// set to a Google-managed gateway whose `governed_access_path` is `AGENT_TO_ANYWHERE`.
	// Format: `projects/{project}/locations/{location}/agentGateways/{agent_gateway}`
	AgentGateway string `json:"agentGateway,omitempty"`
}

Configuration for traffic originating from a Reasoning Engine.

type ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfig

type ReasoningEngineSpecDeploymentSpecAgentGatewayConfigClientToAgentConfig struct {
	// Required. The resource name of the Agent Gateway to use for inbound traffic. It must
	// be set to a Google-managed gateway whose `governed_access_path` is `CLIENT_TO_AGENT`.
	// Format: `projects/{project}/locations/{location}/agentGateways/{agent_gateway}`
	AgentGateway string `json:"agentGateway,omitempty"`
}

Configuration for traffic targeting a Reasoning Engine.

type ReasoningEngineSpecPackageSpec

type ReasoningEngineSpecPackageSpec struct {
	// Optional. The Cloud Storage URI of the dependency files in tar.gz format.
	DependencyFilesGCSURI string `json:"dependencyFilesGcsUri,omitempty"`
	// Optional. The Cloud Storage URI of the pickled python object.
	PickleObjectGCSURI string `json:"pickleObjectGcsUri,omitempty"`
	// Optional. The Python version. Supported values are 3.9, 3.10, 3.11, 3.12, 3.13, 3.14.
	// If not specified, the default value is 3.10.
	PythonVersion string `json:"pythonVersion,omitempty"`
	// Optional. The Cloud Storage URI of the `requirements.txt` file
	RequirementsGCSURI string `json:"requirementsGcsUri,omitempty"`
}

User-provided package specification, containing pickled object and package requirements.

type ReasoningEngineSpecSourceCodeSpec

type ReasoningEngineSpecSourceCodeSpec struct {
	// Source code is generated from the agent config.
	AgentConfigSource *ReasoningEngineSpecSourceCodeSpecAgentConfigSource `json:"agentConfigSource,omitempty"`
	// Source code is in a Git repository managed by Developer Connect.
	DeveloperConnectSource *ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource `json:"developerConnectSource,omitempty"`
	// Optional. Configuration for building an image with custom config file.
	ImageSpec *ReasoningEngineSpecSourceCodeSpecImageSpec `json:"imageSpec,omitempty"`
	// Source code is provided directly in the request.
	InlineSource *ReasoningEngineSpecSourceCodeSpecInlineSource `json:"inlineSource,omitempty"`
	// Configuration for a Python application.
	PythonSpec *ReasoningEngineSpecSourceCodeSpecPythonSpec `json:"pythonSpec,omitempty"`
}

Specification for deploying from source code.

type ReasoningEngineSpecSourceCodeSpecAgentConfigSource

type ReasoningEngineSpecSourceCodeSpecAgentConfigSource struct {
	// Required. The ADK configuration.
	AdkConfig *ReasoningEngineSpecSourceCodeSpecAgentConfigSourceAdkConfig `json:"adkConfig,omitempty"`
	// Optional. Any additional files needed to interpret the config. If a `requirements.txt`
	// file is present in the `inline_source`, the corresponding packages will be installed.
	// If no `requirements.txt` file is present in `inline_source`, then the latest version
	// of `google-adk` will be installed for interpreting the ADK config.
	InlineSource *ReasoningEngineSpecSourceCodeSpecInlineSource `json:"inlineSource,omitempty"`
}

Specification for the deploying from agent config.

type ReasoningEngineSpecSourceCodeSpecAgentConfigSourceAdkConfig

type ReasoningEngineSpecSourceCodeSpecAgentConfigSourceAdkConfig struct {
	// Required. The value of the ADK config in JSON format.
	JsonConfig map[string]any `json:"jsonConfig,omitempty"`
}

Configuration for the Agent Development Kit (ADK).

type ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig

type ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig struct {
	// Optional. Required. The Developer Connect Git repository link, formatted as `projects/{project_id}/locations/{location_id}/connections/{connection_id}/gitRepositoryLink/{repository_link_id}`.
	GitRepositoryLink string `json:"gitRepositoryLink,omitempty"`
	// Required. Directory, relative to the source root, in which to run the build.
	Dir string `json:"dir,omitempty"`
	// Required. The revision to fetch from the Git repository such as a branch, a tag,
	// a commit SHA, or any Git ref.
	Revision string `json:"revision,omitempty"`
}

Specifies the configuration for fetching source code from a Git repository that is managed by Developer Connect. This includes the repository, revision, and directory to use.

type ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource

type ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource struct {
	// Required. The Developer Connect configuration that defines the specific repository,
	// revision, and directory to use as the source code root.
	Config *ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig `json:"config,omitempty"`
}

Specifies source code to be fetched from a Git repository managed through the Developer Connect service.

type ReasoningEngineSpecSourceCodeSpecImageSpec

type ReasoningEngineSpecSourceCodeSpecImageSpec struct {
	// Optional. Build arguments to be used. They will be passed through --build-arg flags.
	BuildArgs map[string]string `json:"buildArgs,omitempty"`
}

The image spec for building an image (within a single build step), based on the config file (i.e. Dockerfile) in the source directory.

type ReasoningEngineSpecSourceCodeSpecInlineSource

type ReasoningEngineSpecSourceCodeSpecInlineSource struct {
	// Required. Input only. The application source code archive. It must be a compressed
	// tarball (.tar.gz) file.
	SourceArchive []byte `json:"sourceArchive,omitempty"`
}

Specifies source code provided as a byte stream.

type ReasoningEngineSpecSourceCodeSpecPythonSpec

type ReasoningEngineSpecSourceCodeSpecPythonSpec struct {
	// Optional. The Python module to load as the entrypoint, specified as a fully qualified
	// module name. For example: path.to.agent. If not specified, defaults to "agent". The
	// project root will be added to Python sys.path, allowing imports to be specified relative
	// to the root. This field should not be set if the source is `agent_config_source`.
	EntrypointModule string `json:"entrypointModule,omitempty"`
	// Optional. The name of the callable object within the `entrypoint_module` to use as
	// the application If not specified, defaults to "root_agent". This field should not
	// be set if the source is `agent_config_source`.
	EntrypointObject string `json:"entrypointObject,omitempty"`
	// Optional. The path to the requirements file, relative to the source root. If not
	// specified, defaults to "requirements.txt".
	RequirementsFile string `json:"requirementsFile,omitempty"`
	// Optional. The version of Python to use. Support version includes 3.9, 3.10, 3.11,
	// 3.12, 3.13, 3.14. If not specified, default value is 3.10.
	Version string `json:"version,omitempty"`
}

Specification for running a Python application from source.

type ReasoningEngineTrafficConfig

type ReasoningEngineTrafficConfig struct {
	// Optional. Traffic distribution configuration, where all traffic is sent to the latest
	// Runtime Revision.
	TrafficSplitAlwaysLatest *ReasoningEngineTrafficConfigTrafficSplitAlwaysLatest `json:"trafficSplitAlwaysLatest,omitempty"`
	// Optional. Manual traffic distribution configuration, where the user specifies the
	// Runtime Revision IDs and the percentage of traffic to send to each.
	TrafficSplitManual *ReasoningEngineTrafficConfigTrafficSplitManual `json:"trafficSplitManual,omitempty"`
}

Traffic distribution configuration.

type ReasoningEngineTrafficConfigTrafficSplitAlwaysLatest

type ReasoningEngineTrafficConfigTrafficSplitAlwaysLatest struct {
}

Traffic distribution configuration, where all traffic is sent to the latest Runtime Revision.

type ReasoningEngineTrafficConfigTrafficSplitManual

type ReasoningEngineTrafficConfigTrafficSplitManual struct {
	// A list of traffic targets for the Runtimes Revisions. The sum of percentages must
	// equal to 100.
	Targets []*ReasoningEngineTrafficConfigTrafficSplitManualTarget `json:"targets,omitempty"`
}

Manual traffic distribution configuration, where the user specifies the Runtime Revision IDs and the percentage of traffic to send to each.

type ReasoningEngineTrafficConfigTrafficSplitManualTarget

type ReasoningEngineTrafficConfigTrafficSplitManualTarget struct {
	// Required. Specifies percent of the traffic to this Runtime Revision.
	Percent int32 `json:"percent,omitempty"`
	// Required. The Runtime Revision name to which to send this portion of traffic, if
	// traffic allocation is by Runtime Revision.
	RuntimeRevisionName string `json:"runtimeRevisionName,omitempty"`
}

A single target for the traffic split, specifying a Runtime Revision and the percentage of traffic to send to it.

type RetrieveAgentEngineMemoriesConfig

type RetrieveAgentEngineMemoriesConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. The standard list filter that will be applied to the retrieved
	// memories. More detail in [AIP-160](https://google.aip.dev/160).
	// Supported fields:
	// * `fact`
	// * `create_time`
	// * `update_time`
	Filter string `json:"filter,omitempty"`
	// Optional. Metadata filters that will be applied to the retrieved memories'
	// `metadata` using OR logic. Filters are defined using disjunctive normal
	// form (OR of ANDs).
	// For example:
	// `filter_groups: [{filters: [{key: "author", value: {string_value: "agent
	// `123"}, op: EQUAL}]}, {filters: [{key: "label", value: {string_value:
	// "travel"}, op: EQUAL}, {key: "author", value: {string_value: "agent 321"},
	// op: EQUAL}]}]`
	// would be equivalent to the logical expression:
	// `(metadata.author = "agent 123" OR (metadata.label = "travel" AND
	// metadata.author = "agent 321"))`.
	FilterGroups []*MemoryConjunctionFilter `json:"filterGroups,omitempty"`
	// Optional. Specifies the types of memories to retrieve. If this field is empty
	// or not provided, the request will default to retrieving only memories of
	// type `NATURAL_LANGUAGE_COLLECTION`. If populated, the request will
	// retrieve memories matching any of the specified `MemoryType` values.
	MemoryTypes []MemoryType `json:"memoryTypes,omitempty"`
}

Config for retrieving memories.

type RetrieveMemoriesRequestSimilaritySearchParams

type RetrieveMemoriesRequestSimilaritySearchParams struct {
	// Required. Query to use for similarity search retrieval. If provided, then the parent
	// ReasoningEngine must have ReasoningEngineContextSpec.MemoryBankConfig.SimilaritySearchConfig
	// set.
	SearchQuery string `json:"searchQuery,omitempty"`
	// Optional. The maximum number of memories to return. The service may return fewer
	// than this value. If unspecified, at most 3 memories will be returned. The maximum
	// value is 100; values above 100 will be coerced to 100.
	TopK *int32 `json:"topK,omitempty"`
}

The parameters for semantic similarity search based retrieval.

type RetrieveMemoriesRequestSimpleRetrievalParams

type RetrieveMemoriesRequestSimpleRetrievalParams struct {
	// Optional. The maximum number of memories to return. The service may return fewer
	// than this value. If unspecified, at most 3 memories will be returned. The maximum
	// value is 100; values above 100 will be coerced to 100.
	PageSize *int32 `json:"pageSize,omitempty"`
	// Optional. A page token, received from a previous `RetrieveMemories` call. Provide
	// this to retrieve the subsequent page.
	PageToken string `json:"pageToken,omitempty"`
}

The parameters for simple (non-similarity search) retrieval.

type RetrieveMemoriesResponse

type RetrieveMemoriesResponse struct {
	// A token that can be sent as `page_token` to retrieve the next page. If this field
	// is omitted, there are no subsequent pages. This token is not set if similarity search
	// was used for retrieval.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// The retrieved memories.
	RetrievedMemories []*RetrieveMemoriesResponseRetrievedMemory `json:"retrievedMemories,omitempty"`
}

The response for retrieving memories.

type RetrieveMemoriesResponseRetrievedMemory

type RetrieveMemoriesResponseRetrievedMemory struct {
	// The distance between the query and the retrieved Memory. Smaller values indicate
	// more similar memories. This is only set if similarity search was used for retrieval.
	Distance float64 `json:"distance,omitempty"`
	// The retrieved Memory.
	Memory *Memory `json:"memory,omitempty"`
}

A retrieved memory.

type RetrieveMemoryProfilesConfig

type RetrieveMemoryProfilesConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}

Config for retrieving memory profiles.

type RetrieveProfilesResponse

type RetrieveProfilesResponse struct {
	// Optional. The retrieved structured profiles, which match the schemas under the
	// requested scope. The key is the ID of the schema that the profile is
	// linked with, which corresponds to the `schema_id` defined inside the
	// `SchemaConfig`, under `StructuredMemoryCustomizationConfig`.
	Profiles map[string]*MemoryProfile `json:"profiles,omitempty"`
}

The response for retrieving memory profiles.

type RollbackAgentEngineMemoryConfig

type RollbackAgentEngineMemoryConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. Waits for the operation to complete before returning.
	WaitForCompletion *bool `json:"waitForCompletion,omitempty"`
}

Config for rolling back a memory.

type RunQueryJobAgentEngineConfig

type RunQueryJobAgentEngineConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// The query to send to the agent engine.
	Query string `json:"query,omitempty"`
	// The GCS URI to use for the output.
	// If it is a file, the system use this file to store the response.
	// If it represents a directory, the system automatically generate a file
	// for the response.
	// In both cases, the input query will be stored in the same directory under
	// the same file name prefix as the output file.
	OutputGCSURI string `json:"outputGcsUri,omitempty"`
}

Config for checking a query job on an agent engine.

type RunQueryJobResult

type RunQueryJobResult struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. Name of the agent engine operation to later check for status.
	JobName string `json:"jobName,omitempty"`
	// Optional. The GCS URI of the input file.
	InputGCSURI string `json:"inputGcsUri,omitempty"`
	// Optional. The GCS URI of the output file.
	OutputGCSURI string `json:"outputGcsUri,omitempty"`
}

Result of running a query job.

type SandboxEnvironment

type SandboxEnvironment struct {
	// Optional. Expiration time of the sandbox environment.
	ExpireTime time.Time `json:"expireTime,omitempty"`
	// Output only. The connection information of the SandboxEnvironment.
	ConnectionInfo *SandboxEnvironmentConnectionInfo `json:"connectionInfo,omitempty"`
	// Output only. The timestamp when this SandboxEnvironment was created.
	CreateTime time.Time `json:"createTime,omitempty"`
	// Required. The display name of the SandboxEnvironment.
	DisplayName string `json:"displayName,omitempty"`
	// Identifier. The name of the SandboxEnvironment.
	Name string `json:"name,omitempty"`
	// Optional. The configuration of the SandboxEnvironment.
	Spec *SandboxEnvironmentSpec `json:"spec,omitempty"`
	// Output only. The runtime state of the SandboxEnvironment.
	State State `json:"state,omitempty"`
	// Optional. Input only. The TTL for the sandbox environment. The expiration time is
	// computed: now + TTL.
	TTL time.Duration `json:"ttl,omitempty"`
	// Output only. The timestamp when this SandboxEnvironment was most recently updated.
	UpdateTime time.Time `json:"updateTime,omitempty"`
	// Output only. The resource name of the latest snapshot taken for this SandboxEnvironment.
	LatestSandboxEnvironmentSnapshot string `json:"latestSandboxEnvironmentSnapshot,omitempty"`
	// Optional. Owner information for this sandbox environment. A Sandbox can only be restored
	// from a snapshot that belongs to the same owner. If not set, sandbox will be created
	// as the default owner.
	Owner string `json:"owner,omitempty"`
	// Optional. The resource name of the SandboxEnvironmentSnapshot to use for creating
	// this SandboxEnvironment. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`
	SandboxEnvironmentSnapshot string `json:"sandboxEnvironmentSnapshot,omitempty"`
	// Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent
	// Engine resource that this SandboxEnvironment is created from. Only one of `sandbox_environment_template`
	// and `spec` should be set.
	SandboxEnvironmentTemplate string `json:"sandboxEnvironmentTemplate,omitempty"`
}

A sandbox environment.

func (*SandboxEnvironment) MarshalJSON

func (s *SandboxEnvironment) MarshalJSON() ([]byte, error)

func (*SandboxEnvironment) UnmarshalJSON

func (s *SandboxEnvironment) UnmarshalJSON(data []byte) error

type SandboxEnvironmentConnectionInfo

type SandboxEnvironmentConnectionInfo struct {
	// Output only. The hostname of the load balancer.
	LoadBalancerHostname string `json:"loadBalancerHostname,omitempty"`
	// Output only. The IP address of the load balancer.
	LoadBalancerIp string `json:"loadBalancerIp,omitempty"`
	// Output only. The internal IP address of the SandboxEnvironment.
	SandboxInternalIp string `json:"sandboxInternalIp,omitempty"`
	// Output only. The hostname of the SandboxEnvironment.
	SandboxHostname string `json:"sandboxHostname,omitempty"`
	// Output only. The routing token for the SandboxEnvironment.
	RoutingToken string `json:"routingToken,omitempty"`
}

The connection information of the SandboxEnvironment.

type SandboxEnvironmentSpec

type SandboxEnvironmentSpec struct {
	// Optional. The code execution environment.
	CodeExecutionEnvironment *SandboxEnvironmentSpecCodeExecutionEnvironment `json:"codeExecutionEnvironment,omitempty"`
	// Optional. The computer use environment.
	ComputerUseEnvironment *SandboxEnvironmentSpecComputerUseEnvironment `json:"computerUseEnvironment,omitempty"`
}

The specification of a sandbox environment.

type SandboxEnvironmentSpecCodeExecutionEnvironment

type SandboxEnvironmentSpecCodeExecutionEnvironment struct {
	// The coding language supported in this environment.
	CodeLanguage Language `json:"codeLanguage,omitempty"`
	// The machine config of the code execution environment.
	MachineConfig MachineConfig `json:"machineConfig,omitempty"`
}

The code execution environment with customized settings.

type SandboxEnvironmentSpecComputerUseEnvironment

type SandboxEnvironmentSpecComputerUseEnvironment struct {
}

The computer use environment with customized settings.

type SchemaPromptSpecAppBuilderData

type SchemaPromptSpecAppBuilderData struct {
	// Serialized state of the code repository. This string will typically contain a JSON
	// representation of the UI's CodeRepositoryService state (files, folders, content,
	// and any metadata). The UI is responsible for serialization and deserialization.
	CodeRepositoryState string `json:"codeRepositoryState,omitempty"`
	// Optional. Framework used to build the application.
	Framework Framework `json:"framework,omitempty"`
	// Linked resources attached to the application by the user.
	LinkedResources []*SchemaPromptSpecAppBuilderDataLinkedResource `json:"linkedResources,omitempty"`
}

Defines data for an application builder.

type SchemaPromptSpecAppBuilderDataLinkedResource

type SchemaPromptSpecAppBuilderDataLinkedResource struct {
	// A user-friendly name for the data source shown in the UI.
	DisplayName string `json:"displayName,omitempty"`
	// The unique resource name of the data source. The format is determined by the 'type'
	// field. For type "SAVED_PROMPT": projects/{project}/locations/{location}/datasets/{dataset}
	// For type "AI_AGENT": projects/{project}/locations/{location}/agents/{agent}
	Name string `json:"name,omitempty"`
	// The type of the linked resource. e.g., "SAVED_PROMPT", "AI_AGENT" This string corresponds
	// to the name of the LinkedResourceType enum member. See: google3/cloud/console/web/ai/platform/llm/prompts/build/services/specs_repository_service/linked_resources/linked_resource.ts
	Type string `json:"type,omitempty"`
}

A linked resource attached to the application by the user.

type SecretEnvVar

type SecretEnvVar struct {
	// Required. Name of the secret environment variable.
	Name string `json:"name,omitempty"`
	// Required. Reference to a secret stored in the Cloud Secret Manager that will provide
	// the value for this environment variable.
	SecretRef *SecretRef `json:"secretRef,omitempty"`
}

Represents an environment variable where the value is a secret in Cloud Secret Manager.

type SecretRef

type SecretRef struct {
	// Required. The name of the secret in Cloud Secret Manager. Format: {secret_name}.
	Secret string `json:"secret,omitempty"`
	// The Cloud Secret Manager secret version. Can be 'latest' for the latest version,
	// an integer for a specific version, or a version alias.
	Version string `json:"version,omitempty"`
}

Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable.

type Session

type Session struct {
	// Output only. Timestamp when the session was created.
	CreateTime time.Time `json:"createTime,omitempty"`
	// Optional. The display name of the session.
	DisplayName string `json:"displayName,omitempty"`
	// Optional. Timestamp of when this session is considered expired. This is *always*
	// provided on output, regardless of what was sent on input. The minimum value is 24
	// hours from the time of creation.
	ExpireTime time.Time `json:"expireTime,omitempty"`
	// The labels with user-defined metadata to organize your Sessions. Label keys and values
	// can be no longer than 64 characters (Unicode codepoints), can only contain lowercase
	// letters, numeric characters, underscores and dashes. International characters are
	// allowed. See https://goo.gl/xmQnxf for more information and examples of labels.
	Labels map[string]string `json:"labels,omitempty"`
	// Identifier. The resource name of the session. Format: 'projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}'.
	Name string `json:"name,omitempty"`
	// Optional. Session specific memory which stores key conversation points.
	SessionState map[string]any `json:"sessionState,omitempty"`
	// Optional. Input only. The TTL for this session. The minimum value is 24 hours.
	TTL time.Duration `json:"ttl,omitempty"`
	// Output only. Timestamp when the session was updated.
	UpdateTime time.Time `json:"updateTime,omitempty"`
	// Required. Immutable. String ID provided by the user
	UserID string `json:"userId,omitempty"`
}

A session.

func (*Session) MarshalJSON

func (s *Session) MarshalJSON() ([]byte, error)

func (*Session) UnmarshalJSON

func (s *Session) UnmarshalJSON(data []byte) error

type SessionEvent

type SessionEvent struct {
	// Optional. Content of the event provided by the author.
	Content *genai_types.Content `json:"content,omitempty"`
	// Optional. Actions executed by the agent.
	Actions *EventActions `json:"actions,omitempty"`
	// Required. The name of the agent that sent the event, or user.
	Author string `json:"author,omitempty"`
	// Optional. Error code if the response is an error. Code varies by model.
	ErrorCode string `json:"errorCode,omitempty"`
	// Optional. Error message if the response is an error.
	ErrorMessage string `json:"errorMessage,omitempty"`
	// Optional. Metadata relating to this event.
	EventMetadata *EventMetadata `json:"eventMetadata,omitempty"`
	// Required. The invocation ID of the event, multiple events can have the same invocation
	// id.
	InvocationID string `json:"invocationId,omitempty"`
	// Identifier. The resource name of the event. Format:`projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{session}/events/{event}`.
	Name string `json:"name,omitempty"`
	// Required. Timestamp when the event was created on client side.
	Timestamp time.Time `json:"timestamp,omitempty"`
	// Optional. Weakly typed raw event data in proto struct format.
	RawEvent map[string]any `json:"rawEvent,omitempty"`
}

A session event.

func (*SessionEvent) MarshalJSON

func (s *SessionEvent) MarshalJSON() ([]byte, error)

func (*SessionEvent) UnmarshalJSON

func (s *SessionEvent) UnmarshalJSON(data []byte) error

type State

type State string

The runtime state of the SandboxEnvironment.

const (
	// The default value. This value is unused.
	StateUnspecified State = "STATE_UNSPECIFIED"
	// Runtime resources are being allocated for the sandbox environment.
	StateProvisioning State = "STATE_PROVISIONING"
	// Sandbox runtime is ready for serving.
	StateRunning State = "STATE_RUNNING"
	// Sandbox runtime is halted, performing tear down tasks.
	StateDeprovisioning State = "STATE_DEPROVISIONING"
	// Sandbox has terminated with underlying runtime failure.
	StateTerminated State = "STATE_TERMINATED"
	// Sandbox runtime has been deleted.
	StateDeleted State = "STATE_DELETED"
)

type StructuredMemoryConfig

type StructuredMemoryConfig struct {
	// Optional. Represents configuration of the structured memories' schemas.
	SchemaConfigs []*StructuredMemorySchemaConfig `json:"schemaConfigs,omitempty"`
	// Optional. Represents the scope keys (i.e. 'user_id') for which to use this config.
	// A request's scope must include all of the provided keys for the config to be used
	// (order does not matter). If empty, then the config will be used for all requests
	// that do not have a more specific config. Only one default config is allowed per Memory
	// Bank.
	ScopeKeys []string `json:"scopeKeys,omitempty"`
}

Configuration for organizing structured memories within a scope.

type StructuredMemorySchemaConfig

type StructuredMemorySchemaConfig struct {
	// Required. Represents the OpenAPI schema of the structured memories.
	MemorySchema *genai_types.Schema `json:"memorySchema,omitempty"`
	// Required. Represents the ID of the schema. Must be 1-63 characters, start with a
	// lowercase letter, and consist of lowercase letters, numbers, and hyphens.
	ID string `json:"id,omitempty"`
	// Optional. Represents the type of the structured memories associated with the schema.
	// If not set, then `STRUCTURED_PROFILE` will be used.
	MemoryType MemoryType `json:"memoryType,omitempty"`
}

Represents the OpenAPI schema of the structured memories.

type UpdateAgentEngineConfig

type UpdateAgentEngineConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. The user-defined name of the Agent Engine.
	// The display name can be up to 128 characters long and can comprise any
	// UTF-8 characters.
	DisplayName string `json:"displayName,omitempty"`
	// Optional. The description of the Agent Engine.
	Description string `json:"description,omitempty"`
	// Optional. Configurations of the Agent Engine.
	Spec *ReasoningEngineSpec `json:"spec,omitempty"`
	// Optional. The context spec to be used for the Agent Engine.
	ContextSpec *ReasoningEngineContextSpec `json:"contextSpec,omitempty"`
	// Optional. The PSC interface config for PSC-I to be used for the
	// Agent Engine.
	PscInterfaceConfig *PscInterfaceConfig `json:"pscInterfaceConfig,omitempty"`
	// Optional. The minimum number of instances to run for the Agent Engine.
	// Defaults to 1. Range: [0, 10].
	MinInstances *int32 `json:"minInstances,omitempty"`
	// Optional. The maximum number of instances to run for the Agent Engine.
	// Defaults to 100. Range: [1, 1000].
	// If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].
	MaxInstances *int32 `json:"maxInstances,omitempty"`
	// Optional. The resource limits to be applied to the Agent Engine.
	// Required keys: 'cpu' and 'memory'.
	// Supported values for 'cpu': '1', '2', '4', '6', '8'.
	// Supported values for 'memory': '1Gi', '2Gi', ..., '32Gi'.
	ResourceLimits map[string]string `json:"resourceLimits,omitempty"`
	// Optional. The container concurrency to be used for the Agent Engine.
	// Recommended value: 2 * cpu + 1. Defaults to 9.
	ContainerConcurrency *int32 `json:"containerConcurrency,omitempty"`
	// Optional. The encryption spec to be used for the Agent Engine.
	EncryptionSpec *genai_types.EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Optional. The labels to be used for the Agent Engine.
	Labels map[string]string `json:"labels,omitempty"`
	// Optional. The class methods to be used for the Agent Engine.
	// If specified, they'll override the class methods that are autogenerated by
	// default. By default, methods are generated by inspecting the agent object
	// and generating a corresponding method for each method defined on the
	// agent class.
	ClassMethods []map[string]any `json:"classMethods,omitempty"`
	// Optional. The user-provided paths to the source packages (if any).
	// If specified, the files in the source packages will be packed into a
	// a tarball file, uploaded to Agent Engine's API, and deployed to the
	// Agent Engine.
	// The following fields will be ignored:
	//   - agent
	//   - extra_packages
	//   - staging_bucket
	//   - requirements
	// The following fields will be used to install and use the agent from the
	// source packages:
	//   - entrypoint_module (required)
	//   - entrypoint_object (required)
	//   - requirements_file (optional)
	//   - class_methods (required)
	SourcePackages []string `json:"sourcePackages,omitempty"`
	// Optional. Specifies the configuration for fetching source code from a Git repository
	// that is managed by Developer Connect. This includes the repository, revision, and
	// directory to use.
	DeveloperConnectSource *ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig `json:"developerConnectSource,omitempty"`
	// Optional. The entrypoint module to be used for the Agent Engine
	// This field only used when source_packages is specified.
	EntrypointModule string `json:"entrypointModule,omitempty"`
	// Optional. The entrypoint object to be used for the Agent Engine.
	// This field only used when source_packages is specified.
	EntrypointObject string `json:"entrypointObject,omitempty"`
	// Optional. The user-provided path to the requirements file (if any).
	// This field is only used when source_packages is specified.
	// If not specified, agent engine will find and use the `requirements.txt` in
	// the source package.
	RequirementsFile string `json:"requirementsFile,omitempty"`
	// Optional. The agent framework to be used for the Agent Engine.
	// The OSS agent framework used to develop the agent.
	// Currently supported values: "google-adk", "langchain", "langgraph",
	// "ag2", "llama-index", "custom".
	// If not specified:
	//   - If `agent` is specified, the agent framework will be auto-detected.
	//   - If `source_packages` is specified, the agent framework will
	//     default to "custom".
	AgentFramework string `json:"agentFramework,omitempty"`
	// Optional. The Python version to be used for the Agent Engine.
	// If not specified, it will use the current Python version of the environment.
	// Supported versions: "3.10", "3.11", "3.12", "3.13", "3.14".
	PythonVersion string `json:"pythonVersion,omitempty"`
	// Optional. The build options for the Agent Engine.
	// The following keys are supported:
	//   - installation_scripts:
	//     Optional. The paths to the installation scripts to be
	//     executed in the Docker image.
	//     The scripts must be located in the `installation_scripts`
	//     subdirectory and the path must be added to `extra_packages`.
	BuildOptions map[string][]string `json:"buildOptions,omitempty"`
	// Optional. Agent Gateway configuration for a Reasoning Engine deployment.
	AgentGatewayConfig *ReasoningEngineSpecDeploymentSpecAgentGatewayConfig `json:"agentGatewayConfig,omitempty"`
	// Optional. Specifies the configuration for keep-alive probe.
	// Contains configuration on a specified endpoint that a deployment host
	// should use to keep the container alive based on the probe settings.
	KeepAliveProbe *KeepAliveProbe `json:"keepAliveProbe,omitempty"`
	// Optional. The update mask to apply. For the `FieldMask` definition, see
	// https://protobuf.dev/reference/protobuf/google.protobuf/#field-mask.
	UpdateMask string `json:"updateMask,omitempty"`
}

Config for updating agent engine.

type UpdateAgentEngineMemoryConfig

type UpdateAgentEngineMemoryConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. The display name of the memory.
	DisplayName string `json:"displayName,omitempty"`
	// Optional. The description of the memory.
	Description string `json:"description,omitempty"`
	// Optional. Waits for the operation to complete before returning.
	WaitForCompletion *bool `json:"waitForCompletion,omitempty"`
	// Optional. Input only. The TTL for this resource.
	// The expiration time is computed: now + TTL.
	TTL time.Duration `json:"ttl,omitempty"`
	// Optional. Timestamp of when this resource is considered expired. This is *always*
	// provided on output, regardless of what `expiration` was sent on input.
	ExpireTime time.Time `json:"expireTime,omitempty"`
	// Optional. Input only. Timestamp of when the revision is considered expired. If not
	// set, the memory revision will be kept until manually deleted.
	RevisionExpireTime time.Time `json:"revisionExpireTime,omitempty"`
	// Optional. Input only. The TTL for the revision. The expiration time is computed:
	// now + TTL.
	RevisionTTL time.Duration `json:"revisionTtl,omitempty"`
	// Optional. Input only. If true, no revision will be created for this request.
	DisableMemoryRevisions *bool `json:"disableMemoryRevisions,omitempty"`
	// Optional. The topics of the memory.
	Topics []*MemoryTopicID `json:"topics,omitempty"`
	// Optional. User-provided metadata for the Memory. This information was provided when
	// creating, updating, or generating the Memory. It was not generated by Memory Bank.
	Metadata map[string]*MemoryMetadataValue `json:"metadata,omitempty"`
	// Optional. The user defined ID to use for memory, which will become the final component
	// of the memory resource name. If not provided, Vertex AI will generate a value for
	// this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`.
	// The first character must be a letter, and the last character must be a letter or
	// number.
	MemoryID string `json:"memoryId,omitempty"`
	// Optional. The update mask to apply. For the `FieldMask` definition, see
	// https://protobuf.dev/reference/protobuf/google.protobuf/#field-mask.
	UpdateMask string `json:"updateMask,omitempty"`
}

Config for updating agent engine memory.

func (*UpdateAgentEngineMemoryConfig) MarshalJSON

func (u *UpdateAgentEngineMemoryConfig) MarshalJSON() ([]byte, error)

func (*UpdateAgentEngineMemoryConfig) UnmarshalJSON

func (u *UpdateAgentEngineMemoryConfig) UnmarshalJSON(data []byte) error

type UpdateAgentEngineSessionConfig

type UpdateAgentEngineSessionConfig struct {
	// Optional. Used to override HTTP request options.
	HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
	// Optional. The display name of the session.
	DisplayName string `json:"displayName,omitempty"`
	// Optional. Session state which stores key conversation points.
	SessionState map[string]any `json:"sessionState,omitempty"`
	// Optional. Waits for the operation to complete before returning.
	WaitForCompletion *bool `json:"waitForCompletion,omitempty"`
	// Optional. Input only. The TTL for this resource.
	// The expiration time is computed: now + TTL.
	TTL time.Duration `json:"ttl,omitempty"`
	// Optional. Timestamp of when this resource is considered expired. This is *always*
	// provided on output, regardless of what `expiration` was sent on input.
	ExpireTime time.Time `json:"expireTime,omitempty"`
	// Optional. The labels with user-defined metadata to organize your Sessions. Label
	// keys and values can be no longer than 64 characters (Unicode codepoints), can only
	// contain lowercase letters, numeric characters, underscores and dashes. International
	// characters are allowed. See https://goo.gl/xmQnxf for more information and examples
	// of labels.
	Labels map[string]string `json:"labels,omitempty"`
	// Optional. The user defined ID to use for session, which will become the final component
	// of the session resource name. If not provided, Vertex AI will generate a value for
	// this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`.
	// The first character must be a letter, and the last character must be a letter or
	// number.
	SessionID string `json:"sessionId,omitempty"`
	// Optional. The update mask to apply. For the `FieldMask` definition, see
	// https://protobuf.dev/reference/protobuf/google.protobuf/#field-mask.
	UpdateMask string `json:"updateMask,omitempty"`
	// User ID of the agent engine session to update.
	UserID string `json:"userId,omitempty"`
}

Config for updating agent engine session.

func (*UpdateAgentEngineSessionConfig) MarshalJSON

func (u *UpdateAgentEngineSessionConfig) MarshalJSON() ([]byte, error)

func (*UpdateAgentEngineSessionConfig) UnmarshalJSON

func (u *UpdateAgentEngineSessionConfig) UnmarshalJSON(data []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL