Skip to main content

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

1// @generated
2// This file is @generated by prost-build.
3/// An agent skill registered in Unity Catalog.
4#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct AgentSkill {
7    /// Name of the agent skill, relative to parent schema.
8    ///
9    /// Per the Agent Skills spec a skill name is lowercase letters, numbers, and
10    /// hyphens, but Unity Catalog object names disallow hyphens, so UC stores the
11    /// catalog object name with underscores; the spec-shaped name lives in the
12    /// skill's own SKILL.md.
13    #[prost(string, tag="1")]
14    pub name: ::prost::alloc::string::String,
15    /// Name of parent catalog.
16    #[prost(string, tag="2")]
17    pub catalog_name: ::prost::alloc::string::String,
18    /// Name of parent schema.
19    #[prost(string, tag="3")]
20    pub schema_name: ::prost::alloc::string::String,
21    /// The three-level (fully qualified) name of the agent skill.
22    #[prost(string, tag="4")]
23    pub full_name: ::prost::alloc::string::String,
24    /// The storage location of the skill's directory (the root that holds
25    /// `SKILL.md`).
26    #[prost(string, tag="5")]
27    pub storage_location: ::prost::alloc::string::String,
28    /// The unique identifier of the agent skill.
29    #[prost(string, tag="6")]
30    pub agent_skill_id: ::prost::alloc::string::String,
31    /// How the storage location is provisioned (external or managed).
32    #[prost(enumeration="AgentSkillType", tag="7")]
33    pub agent_skill_type: i32,
34    /// A human-readable description of what the skill does and when to use it.
35    ///
36    /// Mirrors the Agent Skills spec `description` frontmatter field.
37    #[prost(string, optional, tag="8")]
38    pub description: ::core::option::Option<::prost::alloc::string::String>,
39    /// SPDX license identifier or free-form license text for the skill.
40    #[prost(string, optional, tag="9")]
41    pub license: ::core::option::Option<::prost::alloc::string::String>,
42    /// The tools the skill is permitted to use, as declared in its SKILL.md.
43    #[prost(string, repeated, tag="10")]
44    pub allowed_tools: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
45    /// Arbitrary additional metadata declared by the skill.
46    #[prost(map="string, string", tag="11")]
47    pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
48    /// Username of current owner of the agent skill.
49    #[prost(string, optional, tag="12")]
50    pub owner: ::core::option::Option<::prost::alloc::string::String>,
51    /// User-provided free-form text description.
52    #[prost(string, optional, tag="13")]
53    pub comment: ::core::option::Option<::prost::alloc::string::String>,
54    /// Time at which this agent skill was created, in epoch milliseconds.
55    #[prost(int64, optional, tag="1000")]
56    pub created_at: ::core::option::Option<i64>,
57    /// Username of agent skill creator.
58    #[prost(string, optional, tag="1001")]
59    pub created_by: ::core::option::Option<::prost::alloc::string::String>,
60    /// Time at which this agent skill was last updated, in epoch milliseconds.
61    #[prost(int64, optional, tag="1002")]
62    pub updated_at: ::core::option::Option<i64>,
63    /// Username of user who last modified the agent skill.
64    #[prost(string, optional, tag="1003")]
65    pub updated_by: ::core::option::Option<::prost::alloc::string::String>,
66    /// The unique identifier of the metastore.
67    #[prost(string, optional, tag="1004")]
68    pub metastore_id: ::core::option::Option<::prost::alloc::string::String>,
69}
70/// How an agent skill's storage location is provisioned.
71#[cfg_attr(feature = "python", ::pyo3::pyclass)]
72#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
73#[repr(i32)]
74pub enum AgentSkillType {
75    Unspecified = 0,
76    /// The skill directory lives at a caller-supplied location within a
77    /// registered external location.
78    External = 1,
79    /// The skill directory lives at a server-derived location under the parent
80    /// schema/catalog managed storage root.
81    Managed = 2,
82}
83impl AgentSkillType {
84    /// String value of the enum field names used in the ProtoBuf definition.
85    ///
86    /// The values are not transformed in any way and thus are considered stable
87    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
88    pub fn as_str_name(&self) -> &'static str {
89        match self {
90            Self::Unspecified => "AGENT_SKILL_TYPE_UNSPECIFIED",
91            Self::External => "EXTERNAL",
92            Self::Managed => "MANAGED",
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            "AGENT_SKILL_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
99            "EXTERNAL" => Some(Self::External),
100            "MANAGED" => Some(Self::Managed),
101            _ => None,
102        }
103    }
104}
105/// List agent skills.
106#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
107#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
108pub struct ListAgentSkillsRequest {
109    /// The identifier of the catalog.
110    #[prost(string, tag="1")]
111    pub catalog_name: ::prost::alloc::string::String,
112    /// The identifier of the schema.
113    #[prost(string, tag="2")]
114    pub schema_name: ::prost::alloc::string::String,
115    /// The maximum number of results per page that should be returned.
116    #[prost(int32, optional, tag="3")]
117    pub max_results: ::core::option::Option<i32>,
118    /// Opaque pagination token to go to next page based on previous query.
119    #[prost(string, optional, tag="4")]
120    pub page_token: ::core::option::Option<::prost::alloc::string::String>,
121    /// Whether to include agent skills in the response for which the principal can
122    /// only access selective metadata for.
123    #[prost(bool, optional, tag="5")]
124    pub include_browse: ::core::option::Option<bool>,
125}
126/// List agent skills response.
127#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
128#[derive(Clone, PartialEq, ::prost::Message)]
129pub struct ListAgentSkillsResponse {
130    /// The agent skills returned.
131    #[prost(message, repeated, tag="1")]
132    pub agent_skills: ::prost::alloc::vec::Vec<AgentSkill>,
133    /// Opaque token to retrieve the next page of results.
134    ///
135    /// Absent if there are no more pages. page_token should be set to
136    /// this value for the next request to retrieve the next page of results.
137    #[prost(string, optional, tag="2")]
138    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
139}
140/// Create a new agent skill.
141#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
142#[derive(Clone, PartialEq, ::prost::Message)]
143pub struct CreateAgentSkillRequest {
144    /// The identifier of the catalog.
145    #[prost(string, tag="1")]
146    pub catalog_name: ::prost::alloc::string::String,
147    /// The identifier of the schema.
148    #[prost(string, tag="2")]
149    pub schema_name: ::prost::alloc::string::String,
150    /// The identifier of the agent skill.
151    #[prost(string, tag="3")]
152    pub name: ::prost::alloc::string::String,
153    /// How the storage location is provisioned (external or managed).
154    #[prost(enumeration="AgentSkillType", tag="4")]
155    pub agent_skill_type: i32,
156    /// The storage location of the skill directory on the cloud.
157    ///
158    /// Required for EXTERNAL skills; ignored (server-derived) for MANAGED skills.
159    #[prost(string, optional, tag="5")]
160    pub storage_location: ::core::option::Option<::prost::alloc::string::String>,
161    /// A human-readable description of what the skill does and when to use it.
162    #[prost(string, optional, tag="6")]
163    pub description: ::core::option::Option<::prost::alloc::string::String>,
164    /// SPDX license identifier or free-form license text for the skill.
165    #[prost(string, optional, tag="7")]
166    pub license: ::core::option::Option<::prost::alloc::string::String>,
167    /// The tools the skill is permitted to use.
168    #[prost(string, repeated, tag="8")]
169    pub allowed_tools: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
170    /// Arbitrary additional metadata declared by the skill.
171    #[prost(map="string, string", tag="9")]
172    pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
173    /// User-provided free-form text description.
174    #[prost(string, optional, tag="10")]
175    pub comment: ::core::option::Option<::prost::alloc::string::String>,
176}
177#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
178#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
179pub struct GetAgentSkillRequest {
180    /// The three-level (fully qualified) name of the agent skill.
181    #[prost(string, tag="1")]
182    pub name: ::prost::alloc::string::String,
183    /// Whether to include agent skills in the response for which the principal can
184    /// only access selective metadata for.
185    #[prost(bool, optional, tag="1005")]
186    pub include_browse: ::core::option::Option<bool>,
187}
188#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
189#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
190pub struct UpdateAgentSkillRequest {
191    /// The three-level (fully qualified) name of the agent skill.
192    #[prost(string, tag="1")]
193    pub name: ::prost::alloc::string::String,
194    /// New name for the agent skill.
195    #[prost(string, optional, tag="2")]
196    pub new_name: ::core::option::Option<::prost::alloc::string::String>,
197    /// Updated description of what the skill does and when to use it.
198    #[prost(string, optional, tag="3")]
199    pub description: ::core::option::Option<::prost::alloc::string::String>,
200    /// Updated tools the skill is permitted to use.
201    #[prost(string, repeated, tag="4")]
202    pub allowed_tools: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
203    /// The comment attached to the agent skill.
204    #[prost(string, optional, tag="5")]
205    pub comment: ::core::option::Option<::prost::alloc::string::String>,
206    /// The identifier of the user who owns the agent skill.
207    #[prost(string, optional, tag="6")]
208    pub owner: ::core::option::Option<::prost::alloc::string::String>,
209}
210#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
211#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
212pub struct DeleteAgentSkillRequest {
213    /// The three-level (fully qualified) name of the agent skill.
214    #[prost(string, tag="1")]
215    pub name: ::prost::alloc::string::String,
216}
217include!("unitycatalog.agent_skills.v0alpha1.serde.rs");
218// @@protoc_insertion_point(module)