mirror of
https://github.com/hanzoai/dev.git
synced 2026-10-25 03:32:32 +00:00
Wholesale-adopt latest upstream codex-rs (97 crates, new architecture: model-provider-info crate, app-server-daemon/transport, code-mode-host, thread-store, file-watcher, etc.). Hanzo-only crates (browser, debug-client, instructions, tui2) preserved on disk (not yet re-added to workspace). Builds clean as upstream (codex bin). Hanzo overlay (dev bin, api.hanzo.ai default, hanzo.id/Claude login, branding) re-applied in following commits. Co-authored-by: Hanzo Dev <[email protected]>
42 lines
941 B
Rust
42 lines
941 B
Rust
use codex_context_fragments::ContextualUserFragment;
|
|
|
|
use crate::injection::SkillInjection;
|
|
|
|
#[derive(Debug, Clone, PartialEq)]
|
|
pub struct SkillInstructions {
|
|
name: String,
|
|
path: String,
|
|
contents: String,
|
|
}
|
|
|
|
impl From<&SkillInjection> for SkillInstructions {
|
|
fn from(skill: &SkillInjection) -> Self {
|
|
Self {
|
|
name: skill.name.clone(),
|
|
path: skill.path.clone(),
|
|
contents: skill.contents.clone(),
|
|
}
|
|
}
|
|
}
|
|
|
|
impl ContextualUserFragment for SkillInstructions {
|
|
fn role(&self) -> &'static str {
|
|
"user"
|
|
}
|
|
|
|
fn markers(&self) -> (&'static str, &'static str) {
|
|
Self::type_markers()
|
|
}
|
|
|
|
fn type_markers() -> (&'static str, &'static str) {
|
|
("<skill>", "</skill>")
|
|
}
|
|
|
|
fn body(&self) -> String {
|
|
format!(
|
|
"\n<name>{}</name>\n<path>{}</path>\n{}\n",
|
|
self.name, self.path, self.contents
|
|
)
|
|
}
|
|
}
|