Skip to main content

aft/github_read/
mod.rs

1//! Structured, cached `issue://` and `pr://` read engine.
2//!
3//! The read-command integration owns transport routing and protocol response
4//! adaptation. This module owns everything specific to GitHub resources: strict
5//! URL parsing, structured `gh` fetches, normalization, canonical rendering,
6//! durable-cache coordination, deferred network work, and vision-gated images.
7
8mod attachments;
9mod bot_compress;
10mod cache;
11mod fetch;
12mod model;
13mod normalize;
14mod render;
15mod resource;
16
17pub use attachments::{
18    discover_github_image_urls, download_github_image_attachments, is_allowed_github_image_url,
19    DownloadedGithubImage, GithubImageAttachment, GithubImageDownloader,
20    ReqwestGithubImageDownloader, MAX_GITHUB_IMAGE_ATTACHMENTS, MAX_GITHUB_IMAGE_ATTACHMENT_BYTES,
21};
22pub use cache::{
23    apply_selector, sqlite_cache_store, GithubReadCacheStore, GithubReadClock,
24    GithubReadCompletion, GithubReadDeferred, GithubReadEngine, GithubReadFreshness,
25    GithubReadRequest, GithubReadSelector, GithubReadStart, SqliteGithubReadCacheStore,
26    SystemGithubReadClock,
27};
28pub use fetch::{
29    gh_pr_review_comments_args, gh_view_args, redact_gh_error, GhCliFetcher, GhCommandError,
30    GhCommandOutput, GhCommandRunner, GithubFetchRequest, GithubFetcher, GithubReadError,
31    SystemGhCommandRunner,
32};
33pub use model::{
34    GithubComment, GithubDocument, GithubDocumentKind, GithubPullRequestFile, GithubReaction,
35    GithubReview, GithubReviewCommentSection,
36};
37pub use normalize::{normalize_structured_document, NormalizeError};
38pub use render::{render_document, MAX_RENDERED_COMMENTS_PER_SECTION};
39pub use resource::{
40    parse_resource, GithubCommentSelector, GithubResource, GithubResourceKind,
41    InvalidGithubResource,
42};