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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//! Core library for travelagent — the data model, VCS backends, forge
//! abstraction, and session persistence that the TUI and MCP crates
//! build on.
//!
//! # What lives here
//!
//! - [`model`] — review data types ([`model::review::ReviewSession`],
//! [`model::review::Comment`], [`model::diff::DiffFile`],
//! [`model::tour`] structures).
//! - [`vcs`] — VCS-backend trait and git / hg / jj implementations
//! (see [`vcs::VcsBackend`]).
//! - [`forge`] — trait and types for remote forges used by the
//! GitHub/GitLab crates (see [`forge::ForgeBackend`]).
//! - [`config`] — user `config.toml` loader with warnings-on-error.
//! - [`persistence`] — on-disk `ReviewSession` save/load
//! (see [`persistence::storage::save_session`] /
//! [`persistence::storage::load_session`]).
//! - [`diff`] — diff parsing and word-level intra-line diffs.
//! - [`risk`] — risk scoring for tour stops.
//! - [`syntax`] — syntect-backed syntax highlighting.
//! - [`trvignore`] — gitignore-style filtering.
//! - [`review_config`] — per-repo `.travelagent/review.toml` loader
//! for reviewer-side sparring settings (e.g. `hidden_from_reviewer`).
//! - [`error`] — the [`error::TrvError`] enum and
//! [`error::Result`] alias used across the workspace.
//!
//! The crate never performs terminal I/O, HTTP, or clap parsing — those
//! concerns live in the TUI, forge, and MCP crates respectively.