1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! `rss-cli` — an AI-friendly RSS/Atom feed CLI library.
//!
//! The crate is split into small modules with **frozen public interfaces** so that
//! independent implementation work can proceed in parallel without colliding:
//!
//! - [`model`] — serialized output types (the AI-facing API contract).
//! - [`config`] — runtime parameters that are *not* serialized (params, policies).
//! - [`error`] — error type, stable error codes, and process exit codes.
//! - [`cache`] — atomic file-based HTTP cache (conditional GET + `show`/`get_item`).
//! - [`fetch`] — HTTP client with conditional GET.
//! - [`ratelimit`]— per-host request gate shared across concurrent fetches (ADR-0016).
//! - [`parse`] — `feed-rs` → [`model`] conversion, date/URL normalization.
//! - [`identity`]— deterministic, cache-independent stable item IDs (the keystone).
//! - [`content`] — HTML → markdown/text extraction + token estimation.
//! - [`discover`]— feed autodiscovery from a website URL.
//! - [`output`] — json/ndjson/text rendering + JSON Schema emission.
//! - [`core`] — orchestration that the CLI and the MCP server both call.
//! - [`mcp`] — Model Context Protocol server (stdio transport).
pub use ;
pub use ;