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.
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.9", "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"`
}Config for agent engine methods.
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.
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) errorAgentEngineMemoryOperation
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.
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.
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.
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.
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.
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.
AgentServerMode
type AgentServerMode stringThe agent server mode.
AgentServerModeUnspecified, AgentServerModeStable, AgentServerModeExperimental
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"
)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.
AppendAgentEngineSessionEventResponse
type AppendAgentEngineSessionEventResponse struct {
}Response for appending agent engine session event.
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.
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.
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.
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.
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.9", "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"`
}Config for create agent engine.
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"`
}Config for creating a Sandbox.
func (*CreateAgentEngineSandboxConfig) MarshalJSON
func (c *CreateAgentEngineSandboxConfig) MarshalJSON() ([]byte, error)func (*CreateAgentEngineSandboxConfig) UnmarshalJSON
func (c *CreateAgentEngineSandboxConfig) UnmarshalJSON(data []byte) errorCreateAgentEngineSessionConfig
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) errorDeleteAgentEngineConfig
type DeleteAgentEngineConfig struct {
// Optional. Used to override HTTP request options.
HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}Config for deleting agent engine.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
ExecuteSandboxEnvironmentResponse
type ExecuteSandboxEnvironmentResponse struct {
// The outputs from the sandbox environment.
Outputs []*Chunk `json:"outputs,omitempty"`
}The response for executing a sandbox environment.
Framework
type Framework stringFramework used to build the application.
FrameworkUnspecified, FrameworkReact, FrameworkAngular
const (
// Unspecified framework.
FrameworkUnspecified Framework = "FRAMEWORK_UNSPECIFIED"
// React framework.
FrameworkReact Framework = "REACT"
// Angular framework.
FrameworkAngular Framework = "ANGULAR"
)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"`
}Config for generating memories.
func (*GenerateAgentEngineMemoriesConfig) MarshalJSON
func (g *GenerateAgentEngineMemoriesConfig) MarshalJSON() ([]byte, error)func (*GenerateAgentEngineMemoriesConfig) UnmarshalJSON
func (g *GenerateAgentEngineMemoriesConfig) UnmarshalJSON(data []byte) errorGenerateMemoriesRequestDirectContentsSource
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.
GenerateMemoriesRequestDirectContentsSourceEvent
type GenerateMemoriesRequestDirectContentsSourceEvent struct {
// Optional. Required. A single piece of content from which to generate memories.
Content *genai_types.Content `json:"content,omitempty"`
}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.
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.
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 (g *GenerateMemoriesRequestVertexSessionSource) MarshalJSON() ([]byte, error)func (*GenerateMemoriesRequestVertexSessionSource) UnmarshalJSON
func (g *GenerateMemoriesRequestVertexSessionSource) UnmarshalJSON(data []byte) errorGenerateMemoriesResponse
type GenerateMemoriesResponse struct {
// Optional. The generated memories.
GeneratedMemories []*GenerateMemoriesResponseGeneratedMemory `json:"generatedMemories,omitempty"`
}The response for generating memories.
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.
GenerateMemoriesResponseGeneratedMemoryAction
type GenerateMemoriesResponseGeneratedMemoryAction stringThe action to take.
GenerateMemoriesResponseGeneratedMemoryActionUnspecified, GenerateMemoriesResponseGeneratedMemoryActionCreated, GenerateMemoriesResponseGeneratedMemoryActionUpdated, GenerateMemoriesResponseGeneratedMemoryActionDeleted
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"
)GetAgentEngineConfig
type GetAgentEngineConfig struct {
// Optional. Used to override HTTP request options.
HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}Config for create agent engine.
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.
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.
GetAgentEngineOperationConfig
type GetAgentEngineOperationConfig struct {
// Optional. Used to override HTTP request options.
HTTPOptions *genai_types.HTTPOptions `json:"httpOptions,omitempty"`
}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.
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.
IdentityType
type IdentityType stringThe 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.
IdentityTypeUnspecified, IdentityTypeServiceAccount, IdentityTypeAgentIdentity
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"
)IntermediateExtractedMemory
type IntermediateExtractedMemory struct {
// Output only. Represents the fact of the extracted memory.
Fact string `json:"fact,omitempty"`
}An extracted memory that is the intermediate result before consolidation.
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.
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.
Language
type Language stringThe coding language supported in this environment.
LanguageUnspecified, LanguagePython, LanguageJavascript
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"
)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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
MachineConfig
type MachineConfig stringThe machine config of the code execution environment.
MachineConfigUnspecified, MachineConfigVcpu4Ram4gib
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"
)ManagedTopicEnum
type ManagedTopicEnum stringRepresents the managed memory topic.
ManagedTopicEnumUnspecified, ManagedTopicEnumUserPersonalInfo, ManagedTopicEnumUserPreferences, ManagedTopicEnumKeyConversationDetails, ManagedTopicEnumExplicitInstructions
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"
)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"`
}A memory.
func (*Memory) MarshalJSON
func (*Memory) UnmarshalJSON
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"`
}Represents configuration for organizing natural language memories for a particular scope.
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.
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.
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.
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.
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.
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.
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.
MemoryBankCustomizationConfigMemoryTopicManagedMemoryTopic
type MemoryBankCustomizationConfigMemoryTopicManagedMemoryTopic struct {
// Required. Represents the managed topic.
ManagedTopicEnum ManagedTopicEnum `json:"managedTopicEnum,omitempty"`
}A managed memory topic defined by the system.
MemoryConjunctionFilter
type MemoryConjunctionFilter struct {
// Represents filters that will be combined using AND logic.
Filters []*MemoryFilter `json:"filters,omitempty"`
}The conjunction filter for memories.
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.
MemoryMetadataMergeStrategy
type MemoryMetadataMergeStrategy stringThe strategy to use when applying metadata to existing memories during consolidation.
MemoryMetadataMergeStrategyUnspecified, MemoryMetadataMergeStrategyOverwrite, MemoryMetadataMergeStrategyMerge, MemoryMetadataMergeStrategyRequireExactMatch
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"
)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) errorMemoryRevision
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"`
}A memory revision.
func (*MemoryRevision) MarshalJSON
func (m *MemoryRevision) MarshalJSON() ([]byte, error)func (*MemoryRevision) UnmarshalJSON
func (m *MemoryRevision) UnmarshalJSON(data []byte) errorMemoryTopicID
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.
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.
Operator
type Operator stringRepresents the operator to apply to the filter. If not set, then EQUAL will be used.
OperatorUnspecified, OperatorEqual, OperatorGreaterThan, OperatorLessThan
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"
)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.
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.
PurgeMemoriesResponse
type PurgeMemoriesResponse struct {
// Optional. The number of memories that were purged.
PurgeCount int32 `json:"purgeCount,omitempty"`
}The response for purging memories.
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.
QueryReasoningEngineResponse
type QueryReasoningEngineResponse struct {
// Response provided by users in JSON object format.
Output any `json:"output,omitempty"`
}The response for querying an agent engine.
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) errorReasoningEngineContextSpec
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.
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"`
}Specification for a Memory Bank.
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"`
}Configuration for how to generate memories.
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.
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 (r *ReasoningEngineContextSpecMemoryBankConfigTTLConfig) MarshalJSON() ([]byte, error)func (*ReasoningEngineContextSpecMemoryBankConfigTTLConfig) UnmarshalJSON
func (r *ReasoningEngineContextSpecMemoryBankConfigTTLConfig) UnmarshalJSON(data []byte) errorReasoningEngineContextSpecMemoryBankConfigTTLConfigGranularTTLConfig
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 (r *ReasoningEngineContextSpecMemoryBankConfigTTLConfigGranularTTLConfig) MarshalJSON() ([]byte, error)func (*ReasoningEngineContextSpecMemoryBankConfigTTLConfigGranularTTLConfig) UnmarshalJSON
func (r *ReasoningEngineContextSpecMemoryBankConfigTTLConfigGranularTTLConfig) UnmarshalJSON(data []byte) errorReasoningEngineSpec
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.
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.
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, 10].
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
ReasoningEngineTrafficConfigTrafficSplitAlwaysLatest
type ReasoningEngineTrafficConfigTrafficSplitAlwaysLatest struct {
}Traffic distribution configuration, where all traffic is sent to the latest Runtime Revision.
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.
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.
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"`
}Config for retrieving memories.
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.
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.
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.
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.
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.
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.
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.
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"`
}A sandbox environment.
func (*SandboxEnvironment) MarshalJSON
func (s *SandboxEnvironment) MarshalJSON() ([]byte, error)func (*SandboxEnvironment) UnmarshalJSON
func (s *SandboxEnvironment) UnmarshalJSON(data []byte) errorSandboxEnvironmentConnectionInfo
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"`
}The connection information of the SandboxEnvironment.
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.
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.
SandboxEnvironmentSpecComputerUseEnvironment
type SandboxEnvironmentSpecComputerUseEnvironment struct {
}The computer use environment with customized settings.
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.
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.
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.
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.
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 (*Session) UnmarshalJSON
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) errorState
type State stringThe runtime state of the SandboxEnvironment.
StateUnspecified, StateProvisioning, StateRunning, StateDeprovisioning, StateTerminated, StateDeleted
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"
)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.9", "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 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.
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) errorUpdateAgentEngineSessionConfig
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