1mod 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, GithubReadView,
26 SqliteGithubReadCacheStore, SystemGithubReadClock,
27};
28pub use fetch::{
29 gh_pr_review_comments_args, gh_timeline_args, gh_view_args, redact_gh_error, GhCliFetcher,
30 GhCommandError, GhCommandOutput, GhCommandRunner, GithubFetchRequest, GithubFetcher,
31 GithubReadError, SystemGhCommandRunner,
32};
33pub use model::{
34 GithubComment, GithubDocument, GithubDocumentKind, GithubPullRequestFile, GithubReaction,
35 GithubReview, GithubReviewCommentSection, GithubTimelineEvent,
36};
37pub use normalize::{normalize_structured_document, normalize_timeline_events, NormalizeError};
38pub use render::{
39 discussion_ordinal_for_comment_url, discussion_target_at_ordinal, render_document,
40 render_outline_for_resource, GithubDiscussionTarget, MAX_RENDERED_COMMENTS_PER_SECTION,
41};
42pub use resource::{
43 parse_resource, GithubCommentSelector, GithubResource, GithubResourceKind,
44 InvalidGithubResource,
45};