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 clipboard_5522;
27pub mod color256_theme;
28pub mod color_policy;
29pub mod colors;
30pub mod diff;
31pub mod diff_paths;
32pub mod diff_preview;
33pub mod diff_theme;
34pub mod editor;
35pub mod env_lock;
36pub mod error_category;
37pub mod errors;
38pub mod exclusions;
39pub mod file_input;
40pub mod formatting;
41pub mod fs;
42pub mod history_scope;
43pub mod http;
44pub mod image;
45pub mod interjection;
46pub mod interner;
47pub mod json_extract;
48pub mod line_framing;
49pub mod llm;
50pub mod lr_map;
51pub mod memory;
52pub mod message_metadata;
53pub mod message_timestamp;
54pub mod misconfiguration;
55pub mod modal_hints;
56pub mod model_family;
57pub mod paths;
58pub mod preview;
59pub mod program_status;
60pub mod project;
61pub mod prompt_history;
62pub mod provider;
63pub mod reasoning;
64pub mod reference;
65pub mod retry;
66pub mod runtime_diagnostics;
67pub mod sanitizer;
68pub mod search;
69pub mod serde_helpers;
70pub mod slug;
71#[doc(hidden)]
72pub mod startup_trace;
73pub mod stop_hints;
74pub mod styling;
75pub mod task_guard;
76pub mod telemetry;
77pub mod terminal_detection;
78pub mod text_fence;
79pub mod thread_safety;
80pub mod tokens;
81pub mod tool_headlines;
82pub mod tool_intent;
83pub mod tool_types;
84pub mod trace_flush;
85pub mod tracker_title;
86pub mod tty;
87pub mod ui_protocol;
88pub mod unicode;
89pub mod utf8_stream;
90pub mod utils;
91pub mod validation;
92pub mod vtcode_paths;
93pub mod vtcodegitignore;
94pub mod walk;
95pub mod workspace_snapshot;
96pub use colors::{blend_colors, color_from_hex, contrasting_color, is_light_color, style};
97pub use editor::{
98 EditorPoint, EditorTarget, normalize_editor_hash_fragment, parse_editor_target, resolve_editor_path,
99 resolve_editor_target,
100};
101pub use error_category::{
102 BackoffStrategy, ErrorCategory, Retryability, classify_anyhow_error, classify_error_message,
103 is_context_capacity_error, is_context_capacity_message, is_retryable_llm_error_message,
104};
105pub use errors::{DisplayErrorFormatter, ErrorFormatter, ErrorReporter, MultiErrors, NoopErrorReporter};
106pub(crate) use interjection::{
107 EventQueue, FormattedInterjection, InterjectionBuffer, LARGE_PROMPT_THRESHOLD, PendingInterjection,
108 drain_formatted, format_interjection, user_query,
109};
110pub use interner::{StringId, StringInterner};
111pub use misconfiguration::{
112 ConfigGuidance, MisconfigurationKind, detect_misconfiguration, detect_misconfiguration_in_anyhow,
113 detect_misconfiguration_in_llm_error, is_misconfiguration,
114};
115pub use modal_hints::{
116 APPROVAL_NAVIGATE_CANCEL, APPROVAL_NAVIGATE_DENY, APPROVAL_NAVIGATE_STOP, choose_handling_line, truncate_modal_text,
117};
118pub use paths::{
119 PathExt, PathResolver, PathScope, StrPathExt, WorkspacePathDisplay, WorkspacePaths, canonicalize,
120 canonicalize_async, file_name_from_path, is_safe_relative_path, normalize_ascii_identifier, resolve_workspace_path,
121 safe_archive_relative_path, validate_no_escaping_symlink_ancestors, workspace_relative_display,
122 workspace_relative_slash,
123};
124pub use project::{ProjectOverview, build_project_overview};
125pub use reference::{MemoryErrorReporter, MemoryTelemetry, StaticWorkspacePaths};
126pub use stop_hints::{STOP_HINT_COMPACT, STOP_HINT_INLINE, with_stop_hint};
127pub use styling::{ColorPalette, DiffColorPalette, render_styled};
128pub use task_guard::TaskGuard;
129pub use telemetry::{NoopTelemetry, TelemetrySink};
130pub use tokens::{
131 CHARS_PER_TOKEN, estimate_tokens, format_token_count, heuristic_tokens_from_byte_len,
132 heuristic_tokens_from_byte_len_u64, truncate_to_tokens,
133};
134pub use unicode::{UNICODE_MONITOR, UnicodeMonitor, UnicodeValidationContext};
135pub use utf8_stream::Utf8StreamDecoder;
136pub use validation::{EmptyCollectionError, NonEmptySlice, NonEmptyString, NonEmptyVec};
137pub use vtcode_paths::{
138 MigrationEntry, MigrationFailure, MigrationReport, MigrationSkip, MigrationSkipReason, VtCodePaths,
139};
140
141pub(crate) use thread_safety::RelaxedAtomic;
143
144pub mod diagnostics;