Skip to main content

unitycatalog_common/models/_gen/
unitycatalog.agents.v0alpha1.rs

1// @generated
2// This file is @generated by prost-build.
3/// An agent registered in Unity Catalog.
4#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
5#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6pub struct Agent {
7    /// Name of the agent, relative to parent schema.
8    #[prost(string, tag="1")]
9    pub name: ::prost::alloc::string::String,
10    /// Name of parent catalog.
11    #[prost(string, tag="2")]
12    pub catalog_name: ::prost::alloc::string::String,
13    /// Name of parent schema.
14    #[prost(string, tag="3")]
15    pub schema_name: ::prost::alloc::string::String,
16    /// The three-level (fully qualified) name of the agent.
17    #[prost(string, tag="4")]
18    pub full_name: ::prost::alloc::string::String,
19    /// The unique identifier of the agent.
20    #[prost(string, tag="5")]
21    pub agent_id: ::prost::alloc::string::String,
22    /// The protocol a recipient uses to invoke the agent.
23    #[prost(enumeration="InvocationProtocol", tag="6")]
24    pub invocation_protocol: i32,
25    /// The agent's invocation endpoint URL.
26    #[prost(string, tag="7")]
27    pub endpoint: ::prost::alloc::string::String,
28    /// An LLM-readable description of what the agent does and the inputs it
29    /// expects.
30    #[prost(string, optional, tag="8")]
31    pub description: ::core::option::Option<::prost::alloc::string::String>,
32    /// Capability identifiers advertised by the agent (e.g. `sql_query`,
33    /// `document_search`, `code_execution`).
34    #[prost(string, repeated, tag="9")]
35    pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
36    /// A JSON Schema (encoded as a JSON string) describing the agent's expected
37    /// input payload. Kept as an opaque string so the schema can evolve without
38    /// changing this message.
39    #[prost(string, optional, tag="10")]
40    pub input_schema: ::core::option::Option<::prost::alloc::string::String>,
41    /// Username of current owner of the agent.
42    #[prost(string, optional, tag="11")]
43    pub owner: ::core::option::Option<::prost::alloc::string::String>,
44    /// User-provided free-form text description.
45    #[prost(string, optional, tag="12")]
46    pub comment: ::core::option::Option<::prost::alloc::string::String>,
47    /// Time at which this agent was created, in epoch milliseconds.
48    #[prost(int64, optional, tag="1000")]
49    pub created_at: ::core::option::Option<i64>,
50    /// Username of agent creator.
51    #[prost(string, optional, tag="1001")]
52    pub created_by: ::core::option::Option<::prost::alloc::string::String>,
53    /// Time at which this agent was last updated, in epoch milliseconds.
54    #[prost(int64, optional, tag="1002")]
55    pub updated_at: ::core::option::Option<i64>,
56    /// Username of user who last modified the agent.
57    #[prost(string, optional, tag="1003")]
58    pub updated_by: ::core::option::Option<::prost::alloc::string::String>,
59    /// The unique identifier of the metastore.
60    #[prost(string, optional, tag="1004")]
61    pub metastore_id: ::core::option::Option<::prost::alloc::string::String>,
62}
63/// The protocol a recipient uses to invoke an agent.
64#[cfg_attr(feature = "python", ::pyo3::pyclass)]
65#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
66#[repr(i32)]
67pub enum InvocationProtocol {
68    Unspecified = 0,
69    /// Model Context Protocol server.
70    Mcp = 1,
71    /// Agent-to-Agent protocol (Google A2A spec).
72    A2a = 2,
73    /// OpenAI-compatible chat completions endpoint.
74    Openai = 3,
75    /// Anthropic-compatible messages endpoint.
76    Anthropic = 4,
77    /// Minimal REST baseline (`POST {endpoint}/invoke`).
78    Rest = 5,
79}
80impl InvocationProtocol {
81    /// String value of the enum field names used in the ProtoBuf definition.
82    ///
83    /// The values are not transformed in any way and thus are considered stable
84    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
85    pub fn as_str_name(&self) -> &'static str {
86        match self {
87            Self::Unspecified => "INVOCATION_PROTOCOL_UNSPECIFIED",
88            Self::Mcp => "MCP",
89            Self::A2a => "A2A",
90            Self::Openai => "OPENAI",
91            Self::Anthropic => "ANTHROPIC",
92            Self::Rest => "REST",
93        }
94    }
95    /// Creates an enum from field names used in the ProtoBuf definition.
96    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
97        match value {
98            "INVOCATION_PROTOCOL_UNSPECIFIED" => Some(Self::Unspecified),
99            "MCP" => Some(Self::Mcp),
100            "A2A" => Some(Self::A2a),
101            "OPENAI" => Some(Self::Openai),
102            "ANTHROPIC" => Some(Self::Anthropic),
103            "REST" => Some(Self::Rest),
104            _ => None,
105        }
106    }
107}
108/// List agents.
109#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
110#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
111pub struct ListAgentsRequest {
112    /// The identifier of the catalog.
113    #[prost(string, tag="1")]
114    pub catalog_name: ::prost::alloc::string::String,
115    /// The identifier of the schema.
116    #[prost(string, tag="2")]
117    pub schema_name: ::prost::alloc::string::String,
118    /// The maximum number of results per page that should be returned.
119    #[prost(int32, optional, tag="3")]
120    pub max_results: ::core::option::Option<i32>,
121    /// Opaque pagination token to go to next page based on previous query.
122    #[prost(string, optional, tag="4")]
123    pub page_token: ::core::option::Option<::prost::alloc::string::String>,
124    /// Whether to include agents in the response for which the principal can only
125    /// access selective metadata for.
126    #[prost(bool, optional, tag="5")]
127    pub include_browse: ::core::option::Option<bool>,
128}
129/// List agents response.
130#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
131#[derive(Clone, PartialEq, ::prost::Message)]
132pub struct ListAgentsResponse {
133    /// The agents returned.
134    #[prost(message, repeated, tag="1")]
135    pub agents: ::prost::alloc::vec::Vec<Agent>,
136    /// Opaque token to retrieve the next page of results.
137    ///
138    /// Absent if there are no more pages. page_token should be set to
139    /// this value for the next request to retrieve the next page of results.
140    #[prost(string, optional, tag="2")]
141    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
142}
143/// Create a new agent.
144#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
145#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
146pub struct CreateAgentRequest {
147    /// The identifier of the catalog.
148    #[prost(string, tag="1")]
149    pub catalog_name: ::prost::alloc::string::String,
150    /// The identifier of the schema.
151    #[prost(string, tag="2")]
152    pub schema_name: ::prost::alloc::string::String,
153    /// The identifier of the agent.
154    #[prost(string, tag="3")]
155    pub name: ::prost::alloc::string::String,
156    /// The protocol a recipient uses to invoke the agent.
157    #[prost(enumeration="InvocationProtocol", tag="4")]
158    pub invocation_protocol: i32,
159    /// The agent's invocation endpoint URL.
160    #[prost(string, tag="5")]
161    pub endpoint: ::prost::alloc::string::String,
162    /// An LLM-readable description of what the agent does and the inputs it expects.
163    #[prost(string, optional, tag="6")]
164    pub description: ::core::option::Option<::prost::alloc::string::String>,
165    /// Capability identifiers advertised by the agent.
166    #[prost(string, repeated, tag="7")]
167    pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
168    /// A JSON Schema (encoded as a JSON string) describing the expected input.
169    #[prost(string, optional, tag="8")]
170    pub input_schema: ::core::option::Option<::prost::alloc::string::String>,
171    /// User-provided free-form text description.
172    #[prost(string, optional, tag="9")]
173    pub comment: ::core::option::Option<::prost::alloc::string::String>,
174}
175#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
176#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
177pub struct GetAgentRequest {
178    /// The three-level (fully qualified) name of the agent.
179    #[prost(string, tag="1")]
180    pub name: ::prost::alloc::string::String,
181    /// Whether to include agents in the response for which the principal can only
182    /// access selective metadata for.
183    #[prost(bool, optional, tag="1005")]
184    pub include_browse: ::core::option::Option<bool>,
185}
186#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
187#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
188pub struct UpdateAgentRequest {
189    /// The three-level (fully qualified) name of the agent.
190    #[prost(string, tag="1")]
191    pub name: ::prost::alloc::string::String,
192    /// New name for the agent.
193    #[prost(string, optional, tag="2")]
194    pub new_name: ::core::option::Option<::prost::alloc::string::String>,
195    /// The protocol a recipient uses to invoke the agent.
196    #[prost(enumeration="InvocationProtocol", optional, tag="3")]
197    pub invocation_protocol: ::core::option::Option<i32>,
198    /// The agent's invocation endpoint URL.
199    #[prost(string, optional, tag="4")]
200    pub endpoint: ::core::option::Option<::prost::alloc::string::String>,
201    /// Updated LLM-readable description.
202    #[prost(string, optional, tag="5")]
203    pub description: ::core::option::Option<::prost::alloc::string::String>,
204    /// Updated capability identifiers advertised by the agent.
205    #[prost(string, repeated, tag="6")]
206    pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
207    /// Updated JSON Schema (encoded as a JSON string) describing the expected input.
208    #[prost(string, optional, tag="7")]
209    pub input_schema: ::core::option::Option<::prost::alloc::string::String>,
210    /// The comment attached to the agent.
211    #[prost(string, optional, tag="8")]
212    pub comment: ::core::option::Option<::prost::alloc::string::String>,
213    /// The identifier of the user who owns the agent.
214    #[prost(string, optional, tag="9")]
215    pub owner: ::core::option::Option<::prost::alloc::string::String>,
216}
217#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
218#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
219pub struct DeleteAgentRequest {
220    /// The three-level (fully qualified) name of the agent.
221    #[prost(string, tag="1")]
222    pub name: ::prost::alloc::string::String,
223}
224include!("unitycatalog.agents.v0alpha1.serde.rs");
225// @@protoc_insertion_point(module)