#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Agent {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub catalog_name: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub schema_name: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub full_name: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub agent_id: ::prost::alloc::string::String,
#[prost(enumeration="InvocationProtocol", tag="6")]
pub invocation_protocol: i32,
#[prost(string, tag="7")]
pub endpoint: ::prost::alloc::string::String,
#[prost(string, optional, tag="8")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag="9")]
pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag="10")]
pub input_schema: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="11")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="12")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag="1000")]
pub created_at: ::core::option::Option<i64>,
#[prost(string, optional, tag="1001")]
pub created_by: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag="1002")]
pub updated_at: ::core::option::Option<i64>,
#[prost(string, optional, tag="1003")]
pub updated_by: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="1004")]
pub metastore_id: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum InvocationProtocol {
Unspecified = 0,
Mcp = 1,
A2a = 2,
Openai = 3,
Anthropic = 4,
Rest = 5,
}
impl InvocationProtocol {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "INVOCATION_PROTOCOL_UNSPECIFIED",
Self::Mcp => "MCP",
Self::A2a => "A2A",
Self::Openai => "OPENAI",
Self::Anthropic => "ANTHROPIC",
Self::Rest => "REST",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"INVOCATION_PROTOCOL_UNSPECIFIED" => Some(Self::Unspecified),
"MCP" => Some(Self::Mcp),
"A2A" => Some(Self::A2a),
"OPENAI" => Some(Self::Openai),
"ANTHROPIC" => Some(Self::Anthropic),
"REST" => Some(Self::Rest),
_ => None,
}
}
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListAgentsRequest {
#[prost(string, tag="1")]
pub catalog_name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub schema_name: ::prost::alloc::string::String,
#[prost(int32, optional, tag="3")]
pub max_results: ::core::option::Option<i32>,
#[prost(string, optional, tag="4")]
pub page_token: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag="5")]
pub include_browse: ::core::option::Option<bool>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAgentsResponse {
#[prost(message, repeated, tag="1")]
pub agents: ::prost::alloc::vec::Vec<Agent>,
#[prost(string, optional, tag="2")]
pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CreateAgentRequest {
#[prost(string, tag="1")]
pub catalog_name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub schema_name: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration="InvocationProtocol", tag="4")]
pub invocation_protocol: i32,
#[prost(string, tag="5")]
pub endpoint: ::prost::alloc::string::String,
#[prost(string, optional, tag="6")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag="7")]
pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag="8")]
pub input_schema: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="9")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAgentRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(bool, optional, tag="1005")]
pub include_browse: ::core::option::Option<bool>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateAgentRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub new_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration="InvocationProtocol", optional, tag="3")]
pub invocation_protocol: ::core::option::Option<i32>,
#[prost(string, optional, tag="4")]
pub endpoint: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag="6")]
pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag="7")]
pub input_schema: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="8")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="9")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteAgentRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
}
include!("unitycatalog.agents.v0alpha1.serde.rs");