#![allow(dead_code)]
use super::types::{Finding, StepAction};
use crate::error::CrawlError;
pub(crate) struct ResearchPlanner {}
impl ResearchPlanner {
pub(crate) fn new() -> Self {
Self {}
}
pub(crate) async fn plan_next_step(
&self,
_query: &str,
seed_urls: &[String],
_findings: &[Finding],
step_number: usize,
max_steps: usize,
) -> Result<StepAction, CrawlError> {
if step_number < seed_urls.len() && step_number < max_steps {
Ok(StepAction::Crawl {
url: seed_urls[step_number].clone(),
depth: 1,
})
} else {
Ok(StepAction::Synthesize)
}
}
}