use talos_core::message::{SystemCacheMarker, SystemCacheType};
use talos_core::tool::ToolFamily;
#[derive(Debug, Clone, PartialEq, Default)]
pub struct ToolDescription {
pub name: String,
pub description: String,
pub parameters: serde_json::Value,
pub family: ToolFamily,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ContextFile {
pub path: String,
pub content: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ActivatedSkillContext {
pub name: String,
pub content: String,
}
#[derive(Debug, Clone, PartialEq)]
pub enum CacheType {
Ephemeral,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CacheMarker {
pub offset: usize,
pub length: usize,
pub cache_type: CacheType,
}
impl From<CacheMarker> for SystemCacheMarker {
fn from(marker: CacheMarker) -> Self {
let cache_type = match marker.cache_type {
CacheType::Ephemeral => SystemCacheType::Ephemeral,
};
Self {
offset: marker.offset,
length: marker.length,
cache_type,
}
}
}