Package com.oracle.database.selectai.agent


package com.oracle.database.selectai.agent
Public synchronous interfaces for Oracle Select AI Agent resource management and workflow execution.

Obtain a client through the factory methods on SelectAIAgent. Agent, Task, Tool, and Team expose lifecycle and attribute operations backed by DBMS_CLOUD_AI_AGENT. The client also supports resource listing, team execution and state management, runtime variables, object definitions, and team import. Tool execution and team description and export operations are available on resource handles. Profiles, credentials, and conversations are managed separately through SelectAI; configuring an agent resource does not create its referenced resources.

Resource ownership and discovery

Name-only factories load existing resources owned by the connected database user, including their metadata and attributes. Factories that accept attributes configure a local handle; its create() method persists the resource. Attribute updates reload the database attributes after the update succeeds.

SelectAIAgent.listTeams() returns owner-scoped Team handles. SelectAIAgent.listAvailableTeams() instead returns read-only AvailableTeam discovery objects, which may include shared teams. Owners grant or revoke team access through Team.grantAccess/revokeAccess or the corresponding client methods. Consumers use owner-qualified names with the client's team execution and state methods without opening an owner-only handle. Database authorization still applies; execution access does not confer ownership.

Connections and conversations

A client created from DbConnectionConfig owns one JDBC connection and should be closed with try-with-resources. A client created from DataSource borrows and closes a connection for each database operation; it does not own the data source. A synchronous team run can occupy that connection until the call completes. Single-connection clients require serialized access. With a suitable concurrent data source, independent operations can use separate connections; concurrent mutation of the same resource handle requires caller-side synchronization.

Preserve the identifier returned by Conversation.create() or obtained from an existing conversation, and reuse it for team runs, continuation, and state operations. State queries and updates require an explicit non-blank conversation ID. Pooled calls may use different sessions, so applications must not assume that uncommitted state or session-scoped runtime variables remain available to a later call.

Validation and failures

Java argument checks use IllegalArgumentException; operations requiring a different resource lifecycle state use IllegalStateException. Database, JDBC, and metadata-mapping failures are reported through SelectAIException. Attribute semantics and access privileges are validated by the database.
Since:
1.1.0
See Also:
  • Interfaces
    Class
    Description
    Contract for Select AI agent lifecycle management and metadata access.
    Client interface for Oracle Select AI Agent operations.
    Contract for Select AI agent task lifecycle management and metadata access.
    Contract for Select AI agent team lifecycle, orchestration, and definition management operations.
    Contract for Select AI agent tool lifecycle, description, and execution operations.