Files
nazarick-private/crates/sebas-tian/src/lib.rs
T
Sithies 18b666f45d
CI / check (push) Successful in 4m11s
CI / test (push) Successful in 3m57s
CI / clippy (push) Has been cancelled
added Tokens, openrouter, memory system
2026-03-21 19:59:07 +01:00

59 lines
1.6 KiB
Rust

use std::sync::Arc;
use nazarick_core::agent::base::BaseAgent;
use nazarick_core::agent::skill_registry::SkillRegistry;
use nazarick_core::memory::Memory;
use nazarick_core::summarizer::Summarizer;
use nazarick_core::traits::Agent;
use nazarick_core::types::AgentId;
use nazarick_core::llm::LlmProvider;
pub struct Sebas {
base: BaseAgent,
}
impl Sebas {
pub fn new(
agent_id: impl Into<String>,
shared_core_path: impl Into<String>,
soul_core_path: impl Into<String>,
llm: Box<dyn LlmProvider>,
registry: Arc<SkillRegistry>,
memory: Arc<dyn Memory>,
summarizer: Arc<dyn Summarizer>,
max_tokens: u32,
max_loops: u32,
history_window: usize,
summary_every: usize,
conversation_timeout_mins: u64,
) -> Self {
Self {
base: BaseAgent::new(
agent_id,
shared_core_path,
soul_core_path,
llm,
registry,
memory,
summarizer,
max_tokens,
max_loops,
history_window,
summary_every,
conversation_timeout_mins,
),
}
}
pub async fn init(&mut self) -> nazarick_core::types::Result<()> {
self.base.init().await
}
pub async fn chat(&mut self, user_message: &str) -> nazarick_core::types::Result<String> {
self.base.chat(user_message).await
}
}
impl Agent for Sebas {
fn id(&self) -> AgentId { self.base.id }
fn name(&self) -> &str { "Sebas Tian" }
}