1#![allow(
2 missing_docs,
3 clippy::expect_used,
4 dead_code,
5 unused_imports,
6 reason = "Intentional compatibility, platform, or test-only suppression."
7)]
8pub mod ansi;
21pub mod ansi_capabilities;
22pub mod ansi_codes;
23pub mod async_utils;
24pub mod at_pattern;
25pub mod cgp;
26pub mod color256_theme;
27pub mod color_policy;
28pub mod colors;
29pub mod diff;
30pub mod diff_paths;
31pub mod diff_preview;
32pub mod diff_theme;
33pub mod editor;
34pub mod env_lock;
35pub mod error_category;
36pub mod errors;
37pub mod exclusions;
38pub mod file_input;
39pub mod formatting;
40pub mod fs;
41pub mod http;
42pub mod image;
43pub mod interjection;
44pub mod interner;
45pub mod llm;
46pub mod lr_map;
47pub mod memory;
48pub mod message_metadata;
49pub mod model_family;
50pub mod paths;
51pub mod preview;
52pub mod project;
53pub mod provider;
54pub mod reasoning;
55pub mod reference;
56pub mod retry;
57pub mod sanitizer;
58pub mod serde_helpers;
59pub mod slug;
60#[doc(hidden)]
61pub mod startup_trace;
62pub mod stop_hints;
63pub mod styling;
64pub mod telemetry;
65pub mod terminal_detection;
66pub mod thread_safety;
67pub mod tokens;
68pub mod tool_types;
69pub mod trace_flush;
70pub mod ui_protocol;
71pub mod unicode;
72pub mod utils;
73pub mod validation;
74pub mod vtcodegitignore;
75pub mod walk;
76pub mod workspace_snapshot;
77pub use colors::{blend_colors, color_from_hex, contrasting_color, is_light_color, style};
78pub use editor::{
79 EditorPoint, EditorTarget, normalize_editor_hash_fragment, parse_editor_target, resolve_editor_path,
80 resolve_editor_target,
81};
82pub use error_category::{
83 BackoffStrategy, ErrorCategory, Retryability, classify_anyhow_error, classify_error_message,
84 is_retryable_llm_error_message,
85};
86pub use errors::{DisplayErrorFormatter, ErrorFormatter, ErrorReporter, MultiErrors, NoopErrorReporter};
87pub(crate) use interjection::{
88 EventQueue, FormattedInterjection, InterjectionBuffer, LARGE_PROMPT_THRESHOLD, PendingInterjection,
89 drain_formatted, format_interjection, user_query,
90};
91pub use interner::{StringId, StringInterner};
92pub use paths::{
93 PathExt, PathResolver, PathScope, StrPathExt, WorkspacePaths, canonicalize, canonicalize_async,
94 file_name_from_path, is_safe_relative_path, normalize_ascii_identifier, resolve_workspace_path,
95};
96pub use project::{ProjectOverview, build_project_overview};
97pub use reference::{MemoryErrorReporter, MemoryTelemetry, StaticWorkspacePaths};
98pub use stop_hints::{STOP_HINT_COMPACT, STOP_HINT_INLINE, with_stop_hint};
99pub use styling::{ColorPalette, DiffColorPalette, render_styled};
100pub use telemetry::{NoopTelemetry, TelemetrySink};
101pub use tokens::{estimate_tokens, truncate_to_tokens};
102pub use unicode::{UNICODE_MONITOR, UnicodeMonitor, UnicodeValidationContext};
103
104pub(crate) use thread_safety::RelaxedAtomic;