use serde::{Deserialize, Serialize};
use crate::types::InputSource;
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
pub struct SkillReferenceParam {
pub skill_id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
pub struct InlineSkillSourceParam {
pub media_type: String,
pub data: String,
}
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
pub struct InlineSkillParam {
pub name: String,
pub description: String,
pub source: InlineSkillSourceParam,
}
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
pub struct SkillResource {
pub id: String,
pub object: String,
pub name: String,
pub description: String,
pub created_at: u64,
pub default_version: String,
pub latest_version: String,
}
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
pub struct SkillListResource {
pub object: String,
pub data: Vec<SkillResource>,
pub first_id: Option<String>,
pub last_id: Option<String>,
pub has_more: bool,
}
#[derive(Debug, Default, Clone, PartialEq)]
pub struct CreateSkillRequest {
pub files: Vec<InputSource>,
}
#[derive(Debug, Clone, PartialEq, Serialize)]
pub struct SetDefaultSkillVersionRequest {
pub default_version: String,
}
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
pub struct DeletedSkillResource {
pub object: String,
pub deleted: bool,
pub id: String,
}
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
pub struct SkillVersionResource {
pub object: String,
pub id: String,
pub skill_id: String,
pub version: String,
pub created_at: u64,
pub name: String,
pub description: String,
}
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
pub struct SkillVersionListResource {
pub object: String,
pub data: Vec<SkillVersionResource>,
pub first_id: Option<String>,
pub last_id: Option<String>,
pub has_more: bool,
}
#[derive(Debug, Default, Clone, PartialEq)]
pub struct CreateSkillVersionRequest {
pub files: Vec<InputSource>,
pub default: Option<bool>,
}
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
pub struct DeletedSkillVersionResource {
pub object: String,
pub deleted: bool,
pub id: String,
pub version: String,
}