biblion/api/mod.rs
1//! External API clients — network calls for operations that can't be done
2//! via local SQLite alone.
3//!
4//! # When do we need network?
5//!
6//! - **BBT RPC** (3 tools): BibTeX/BibLaTeX export and formatted bibliography.
7//! BBT's CSL engine produces properly formatted citations — we don't reimplement it.
8//!
9//! - **Zotero Web API** (14 tools): All write operations. We never write to
10//! Zotero's SQLite directly — that would break sync.
11//!
12//! - **PDF resolver** (2 tools): Querying 9 academic APIs to find open-access PDFs.
13//!
14//! All network calls use `reqwest::blocking::Client` (persistent connection pooling).
15//! The PDF resolver uses `tokio` for concurrent requests.
16
17pub mod bbt_rpc;
18pub mod zotero_web;