pub mod classify;
pub mod digest;
pub mod hint;
pub mod recommend;
pub mod tail;
mod engine;
use std::path::PathBuf;
use std::sync::Arc;
pub use classify::{ClassifiedTask, HaikuClassifier, NoopClassifier, TaskClassifier};
pub use digest::digest;
pub use engine::run;
#[derive(Clone)]
pub struct AgentConfig {
pub db_path: PathBuf,
pub sessions_dir: PathBuf,
pub hints_dir: PathBuf,
pub acceptance_window_minutes: i64,
pub score_recompute_interval_secs: u64,
pub top_k: usize,
pub classifier: Option<Arc<dyn TaskClassifier>>,
}
impl AgentConfig {
pub fn new(db_path: PathBuf, sessions_dir: PathBuf, hints_dir: PathBuf) -> Self {
Self {
db_path,
sessions_dir,
hints_dir,
acceptance_window_minutes: 60,
score_recompute_interval_secs: 60,
top_k: 3,
classifier: None,
}
}
pub fn with_classifier(mut self, classifier: Arc<dyn TaskClassifier>) -> Self {
self.classifier = Some(classifier);
self
}
}