1#![allow(missing_docs, clippy::expect_used)]
2pub mod ansi;
15pub mod ansi_capabilities;
16pub mod ansi_codes;
17pub mod async_utils;
18pub mod at_pattern;
19pub mod cgp;
20pub mod color256_theme;
21pub mod color_policy;
22pub mod colors;
23pub mod diff;
24pub mod diff_paths;
25pub mod diff_preview;
26pub mod diff_theme;
27pub mod editor;
28pub mod env_lock;
29pub mod error_category;
30pub mod errors;
31pub mod exclusions;
32pub mod file_input;
33pub mod formatting;
34pub mod fs;
35pub mod http;
36pub mod image;
37pub mod llm;
38pub mod lr_map;
39pub mod memory;
40pub mod message_metadata;
41pub mod model_family;
42pub mod paths;
43pub mod preview;
44pub mod project;
45pub mod provider;
46pub mod reasoning;
47pub mod reference;
48pub mod retry;
49pub mod sanitizer;
50pub mod serde_helpers;
51pub mod slug;
52pub mod stop_hints;
53pub mod styling;
54pub mod telemetry;
55pub mod terminal_detection;
56pub mod thread_safety;
57pub mod tokens;
58pub mod tool_types;
59pub mod trace_flush;
60pub mod ui_protocol;
61pub mod unicode;
62pub mod utils;
63pub mod validation;
64pub mod vtcodegitignore;
65pub mod walk;
66pub mod workspace_snapshot;
67pub use colors::{blend_colors, color_from_hex, contrasting_color, is_light_color, style};
68pub use editor::{
69 EditorPoint, EditorTarget, normalize_editor_hash_fragment, parse_editor_target,
70 resolve_editor_path, resolve_editor_target,
71};
72pub use error_category::{
73 BackoffStrategy, ErrorCategory, Retryability, classify_anyhow_error, classify_error_message,
74 is_retryable_llm_error_message,
75};
76pub use errors::{
77 DisplayErrorFormatter, ErrorFormatter, ErrorReporter, MultiErrors, NoopErrorReporter,
78};
79pub use paths::{
80 PathExt, PathResolver, PathScope, StrPathExt, WorkspacePaths, file_name_from_path,
81 is_safe_relative_path, normalize_ascii_identifier, resolve_workspace_path,
82};
83pub use project::{ProjectOverview, build_project_overview};
84pub use reference::{MemoryErrorReporter, MemoryTelemetry, StaticWorkspacePaths};
85pub use stop_hints::{STOP_HINT_COMPACT, STOP_HINT_INLINE, with_stop_hint};
86pub use styling::{ColorPalette, DiffColorPalette, render_styled};
87pub use telemetry::{NoopTelemetry, TelemetrySink};
88pub use tokens::{estimate_tokens, truncate_to_tokens};
89pub use unicode::{UNICODE_MONITOR, UnicodeMonitor, UnicodeValidationContext};
90
91pub use thread_safety::RelaxedAtomic;