1pub mod ansi;
11pub mod ansi_capabilities;
12pub mod ansi_codes;
13pub mod anstyle_utils;
14pub mod async_utils;
15pub mod at_pattern;
16pub mod colors;
17pub mod diff;
18pub mod diff_paths;
19pub mod diff_theme;
20pub mod error_category;
21pub mod errors;
22pub mod formatting;
23pub mod fs;
24pub mod http;
25pub mod image;
26pub mod llm;
27pub mod paths;
28pub mod project;
29pub mod reference;
30pub mod sanitizer;
31pub mod serde_helpers;
32pub mod slug;
33pub mod styling;
34pub mod telemetry;
35pub mod tokens;
36pub mod unicode;
37pub mod utils;
38pub mod validation;
39pub mod vtcodegitignore;
40
41pub use colors::{blend_colors, color_from_hex, contrasting_color, is_light_color, style};
42pub use error_category::{
43 BackoffStrategy, ErrorCategory, Retryability, classify_anyhow_error, classify_error_message,
44 is_retryable_llm_error_message,
45};
46pub use errors::{DisplayErrorFormatter, ErrorFormatter, ErrorReporter, NoopErrorReporter};
47pub use paths::{
48 PathResolver, PathScope, WorkspacePaths, file_name_from_path, is_safe_relative_path,
49 normalize_ascii_identifier, resolve_workspace_path,
50};
51pub use project::{ProjectOverview, build_project_overview};
52pub use reference::{MemoryErrorReporter, MemoryTelemetry, StaticWorkspacePaths};
53pub use styling::{ColorPalette, DiffColorPalette, render_styled};
54pub use telemetry::{NoopTelemetry, TelemetrySink};
55pub use tokens::{estimate_tokens, truncate_to_tokens};
56pub use unicode::{UNICODE_MONITOR, UnicodeMonitor, UnicodeValidationContext};