gproxy_protocol/claude/skills/
versions.rs1use serde::{Deserialize, Serialize};
2
3use super::super::common::{DeletedSkillVersionObjectType, SkillVersionObjectType};
4
5#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
7#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
8pub struct CreateSkillVersionRequestBody {
9 pub files: Vec<String>,
10 #[serde(default, flatten, skip_serializing_if = "serde_json::Map::is_empty")]
11 pub rest: serde_json::Map<String, serde_json::Value>,
12}
13
14#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
15#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
16pub struct SkillVersionPath {
17 pub skill_id: String,
18 pub version: String,
19 #[serde(default, flatten, skip_serializing_if = "serde_json::Map::is_empty")]
20 pub rest: serde_json::Map<String, serde_json::Value>,
21}
22
23#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
24#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
25pub struct ListSkillVersionsQuery {
26 #[serde(skip_serializing_if = "Option::is_none")]
27 pub limit: Option<u64>,
28 #[serde(skip_serializing_if = "Option::is_none")]
29 pub page: Option<String>,
30 #[serde(default, flatten, skip_serializing_if = "serde_json::Map::is_empty")]
31 pub rest: serde_json::Map<String, serde_json::Value>,
32}
33
34#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
35#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
36pub struct SkillVersion {
37 pub id: String,
38 pub created_at: String,
39 pub description: String,
40 pub directory: String,
41 pub name: String,
42 pub skill_id: String,
43 #[serde(rename = "type")]
44 pub type_: SkillVersionObjectType,
45 pub version: String,
46 #[serde(default, flatten, skip_serializing_if = "serde_json::Map::is_empty")]
47 pub rest: serde_json::Map<String, serde_json::Value>,
48}
49
50pub type CreateSkillVersionResponseBody = SkillVersion;
51pub type RetrieveSkillVersionResponseBody = SkillVersion;
52
53#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
54#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
55pub struct ListSkillVersionsResponseBody {
56 pub data: Vec<SkillVersion>,
57 pub has_more: bool,
58 pub next_page: Option<String>,
59 #[serde(default, flatten, skip_serializing_if = "serde_json::Map::is_empty")]
60 pub rest: serde_json::Map<String, serde_json::Value>,
61}
62
63#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
64#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
65pub struct DeleteSkillVersionResponseBody {
66 pub id: String,
67 #[serde(rename = "type")]
68 pub type_: DeletedSkillVersionObjectType,
69 #[serde(default, flatten, skip_serializing_if = "serde_json::Map::is_empty")]
70 pub rest: serde_json::Map<String, serde_json::Value>,
71}