1#![warn(missing_docs)]
4#![doc = include_str!("../README.md")]
5
6pub use auth::TokenProvider;
11
12pub use error::AptuError;
17
18pub type Result<T> = std::result::Result<T, AptuError>;
22
23#[cfg(not(target_arch = "wasm32"))]
28pub use config::TomlConfigSource;
29#[cfg(not(target_arch = "wasm32"))]
30pub use config::load_config;
31pub use config::{
32 AiConfig, AppConfig, CacheConfig, ConfigSource, GitHubConfig, InMemoryConfigSource, TaskType,
33 UiConfig, UserConfig, config_dir, config_file_path, data_dir, prompts_dir,
34};
35
36pub use ai::types::{
41 IssueComment, IssueDetails, PrDetails, PrFile, PrReviewResponse, ReviewEvent, TriageResponse,
42};
43pub use ai::{AiClient, AiModel, ModelProvider, ProviderConfig, all_providers, get_provider};
44
45pub use github::auth::TokenSource;
50pub use github::graphql::IssueNode;
51#[cfg(not(target_arch = "wasm32"))]
52pub use github::ratelimit::check_rate_limit;
53#[cfg(not(target_arch = "wasm32"))]
54pub use octocrab::params::State;
55
56pub use ai::types::CreditsStatus;
61
62pub use history::{AiStats, Contribution, ContributionStatus, HistoryData};
67
68#[cfg(not(target_arch = "wasm32"))]
73pub use repos::discovery::search_repositories;
74pub use repos::discovery::{DiscoveredRepo, DiscoveryFilter};
75pub use repos::{CuratedRepo, RepoFilter};
76
77pub use triage::{
82 APTU_SIGNATURE, TriageStatus, check_already_triaged, render_pr_review_comment_body,
83 render_pr_review_markdown, render_triage_markdown,
84};
85
86pub use bulk::{BulkOutcome, BulkResult, process_bulk};
91
92pub use utils::{
97 format_relative_time, infer_repo_from_git, parse_and_format_relative_time, truncate,
98};
99
100pub use facade::format_issue;
105#[cfg(not(target_arch = "wasm32"))]
106pub use facade::{
107 add_custom_repo, analyze_issue, analyze_pr, apply_triage_labels, create_pr, discover_repos,
108 fetch_issue_for_triage, fetch_issues, fetch_pr_for_review, label_pr, list_curated_repos,
109 list_models, list_repos, post_issue, post_pr_review, post_triage_comment, remove_custom_repo,
110 revert_issue, revert_pr, validate_model,
111};
112#[cfg(not(target_arch = "wasm32"))]
113pub use github::issues::ApplyResult;
114#[cfg(not(target_arch = "wasm32"))]
115pub use github::pulls::PrCreateResult;
116
117#[cfg(not(target_arch = "wasm32"))]
122pub use security::FindingCache;
123pub use security::{
124 Confidence, Finding, PatternEngine, SarifReport, SecurityConfig, SecurityScanner, Severity,
125 needs_security_scan,
126};
127
128pub mod ai;
133#[cfg(feature = "ast-context")]
134pub mod ast_context;
135pub mod auth;
136pub mod bulk;
137pub mod cache;
138pub mod config;
139pub mod error;
140pub mod facade;
141pub mod git;
143pub mod github;
144pub mod history;
145pub mod metrics;
146pub mod repos;
147pub mod retry;
148pub mod sanitize;
149pub mod security;
150pub mod triage;
151pub mod utils;
152
153#[cfg(not(target_arch = "wasm32"))]
154pub use git::patch::{PatchError, PatchStep, apply_patch_and_push};