research-agent 0.1.0

Long-term research assistant: index papers, articles, and PDFs
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use async_trait::async_trait;

use crate::domain::paper::Paper;
use crate::error::Result;

#[async_trait]
pub trait PaperSource: Send + Sync {
    /// Fetch papers matching a query from an external source.
    async fn fetch_papers(&self, query: &str, limit: usize) -> Result<Vec<Paper>>;

    /// Human-readable name of this source.
    fn name(&self) -> &str;
}