1pub mod apply_patch;
122pub mod ast_grep_binary;
123pub mod ast_grep_installer;
124pub(crate) mod ast_grep_language;
125pub mod builder;
126pub mod constants;
127pub mod error_messages;
128pub(crate) mod rate_limit_config;
129pub mod request_user_input;
130
131pub mod autonomous_executor;
132pub mod cache;
133pub mod command;
134pub mod command_args;
135pub mod command_cache;
136pub mod command_policy;
137pub mod command_resolver;
138pub mod continuation;
139pub mod edited_file_monitor;
140pub mod editing;
141pub mod error_helpers;
142pub mod exec_session;
143pub mod exec_session_id;
144pub mod execution_context;
145pub mod execution_tracker;
146pub mod file_ops;
147pub mod file_search_bridge;
148pub mod file_search_rpc;
149pub mod file_tracker;
150pub mod generation_helpers;
151pub mod grep_cache;
152pub mod grep_file;
153pub mod handlers;
154pub mod invocation;
155pub mod mcp;
156pub mod names;
157pub mod native_memory;
158pub mod path_env;
159pub mod plugins;
160pub mod pty;
161pub mod resilience;
162
163pub use resilience::rate_limiter;
164pub mod registry;
165pub mod result;
166pub mod result_cache;
167pub mod result_metadata;
168pub mod ripgrep_binary;
169pub mod ripgrep_installer;
170pub mod safety_gateway;
171pub mod search_metrics;
172pub(crate) mod search_runtime;
173pub mod shell;
174pub mod shell_snapshot;
175pub mod skills;
176pub mod structural_search;
177pub mod summarizers;
178#[cfg(feature = "tui")]
179pub mod terminal_app;
180pub mod tool_effectiveness;
181pub mod tool_intent;
182pub mod traits;
183pub(crate) mod tree_sitter_runtime;
184pub mod types;
185pub mod validation;
186pub mod validation_cache;
187pub mod web_fetch;
188
189pub use resilience::adaptive_rate_limiter;
191pub mod async_middleware;
192pub use resilience::circuit_breaker;
193pub mod health;
194pub mod improvement_algorithms;
195pub mod improvements_config;
196pub mod improvements_errors;
197pub mod improvements_registry_ext;
198mod install_support;
199pub mod optimized_registry;
200pub mod output_spooler;
201pub mod pattern_engine;
202pub mod request_response;
203pub mod unified_error;
204
205pub const CREATE_APPLY_PATCH_FREEFORM_TOOL_ID: &str = "create_apply_patch_freeform_tool";
207pub const CREATE_APPLY_PATCH_JSON_TOOL_ID: &str = "create_apply_patch_json_tool";
208pub const INTERCEPT_APPLY_PATCH_ID: &str = "intercept_apply_patch";
209pub const NEW_SHARED_TRACKER_ID: &str = "new_shared_tracker";
210
211pub use ast_grep_installer::{AstGrepInstallOutcome, AstGrepStatus};
213pub use autonomous_executor::{AutonomousExecutor, AutonomousPolicy};
214pub use cache::FileCache;
215pub use command_cache::PermissionCache;
216pub use command_resolver::CommandResolver;
217pub use editing::{Patch, PatchError, PatchHunk, PatchLine, PatchOperation};
218pub use exec_session_id::ExecSessionId;
219pub use execution_context::{ToolExecutionContext, ToolExecutionRecord, ToolPattern};
220pub use execution_tracker::{ExecutionRecord, ExecutionStats, ExecutionStatus, ExecutionTracker};
221pub use file_search_rpc::{
222 FileMatchRpc, FileSearchRpcHandler, ListFilesRequest, ListFilesResponse, RpcError, RpcRequest,
223 RpcResponse, SearchFilesRequest, SearchFilesResponse,
224};
225pub use grep_file::GrepSearchManager;
226pub use invocation::{
227 InvocationBuilder, ToolInvocation as UnifiedToolInvocation, ToolInvocationId,
228};
229pub use search_runtime::{
230 SearchToolBundleStatus, SearchToolReadiness, dominant_workspace_language,
231 search_tool_bundle_status,
232};
233
234pub use optimized_registry::{OptimizedToolRegistry, ToolMetadata as OptimizedToolMetadata};
235pub use plugins::{PluginHandle, PluginId, PluginInstaller, PluginManifest, PluginRuntime};
236pub use pty::{PtyCommandRequest, PtyCommandResult, PtyManager};
237pub use registry::{
238 ApprovalPattern, ApprovalRecorder, CgpRuntimeMode, JustificationExtractor,
239 JustificationManager, RiskLevel, ToolJustification, ToolRegistration, ToolRegistry,
240 ToolRiskContext, ToolRiskScorer, ToolSource, WorkspaceTrust, native_cgp_tool_factory,
241 wrap_registered_native_tool,
242};
243pub use request_response::{ToolCallRequest, ToolCallResponse};
244pub use result::{TokenCounts, ToolMetadata, ToolMetadataBuilder, ToolResult as SplitToolResult};
245pub use result_cache::{ToolCacheKey, ToolResultCache};
246pub use result_metadata::{
247 EnhancedToolResult, ResultCompleteness, ResultMetadata, ResultScorer, ScorerRegistry,
248};
249pub use ripgrep_installer::RipgrepStatus;
250pub use safety_gateway::{
251 SafetyCheckResult, SafetyContext, SafetyDecision, SafetyError, SafetyGateway,
252 SafetyGatewayConfig, SafetyStats, SafetyTrustLevel,
253};
254pub use search_metrics::{SearchMetric, SearchMetrics, SearchMetricsStats};
255pub use shell_snapshot::{
256 FileFingerprint, ShellKind, ShellSnapshot, ShellSnapshotManager, SnapshotStats,
257 apply_snapshot_env, global_snapshot_manager,
258};
259pub use tool_effectiveness::{
260 AdaptiveToolSelector, ToolEffectiveness, ToolEffectivenessTracker, ToolFailureMode,
261 ToolSelectionContext, ToolSelector,
262};
263pub use traits::{Tool, ToolExecutor};
264pub use types::*;
265pub use unified_error::{
266 DebugContext as UnifiedToolDebugContext, ErrorSeverity as UnifiedErrorSeverity,
267 UnifiedErrorKind, UnifiedToolError, classify_error as classify_unified_error,
268};
269pub use web_fetch::WebFetchTool;
270
271pub use output_spooler::{SpoolResult, SpoolerConfig, ToolOutputSpooler};
273
274pub use async_middleware::{
276 AsyncCachingMiddleware, AsyncLoggingMiddleware, AsyncMiddleware, AsyncMiddlewareChain,
277 AsyncRetryMiddleware, ToolRequest as MiddlewareToolRequest, ToolResult,
278};
279pub use handlers::{
280 ApplyPatchHandler,
282 ApplyPatchRequest,
283 ApplyPatchRuntime,
284 ApplyPatchToolArgs,
285 Approvable,
287 ApprovalPolicy,
289 AskForApproval,
290 ChangeAttribution,
292 CommandSpec,
293 ConfiguredToolSpec,
294 ContentItem,
295 DiffTracker,
296 ExecApprovalRequirement,
297 ExecCommandInput,
299 ExecCommandSource,
300 ExecEnv,
301 ExecPolicyAmendment,
302 ExecToolCallOutput,
303 FileChange,
304 FileChangeKind,
305 FreeformTool,
306 FreeformToolFormat,
307 JsonSchema as ToolJsonSchema,
308 McpToolResult,
309 ParsedCommand,
310 RejectConfig,
311 ResponsesApiTool,
312 SandboxAttempt,
313 SandboxManager,
314 SandboxMode,
315 SandboxPermissions,
316 SandboxPolicy,
317 SandboxTransformError,
318 Sandboxable,
319 SandboxablePreference,
320 SharedDiffTracker,
321 SharedTurnDiffTracker,
322 ShellEnvironmentPolicy,
323 ShellToolCallParams,
324 ToolCallError,
325 ToolCtx,
326 ToolEmitter,
327 ToolError,
328 ToolEvent,
329 ToolEventBegin,
330 ToolEventCtx,
331 ToolEventFailure,
332 ToolEventFailureKind,
333 ToolEventStage,
334 ToolEventSuccess,
335 ToolHandler,
336 ToolInvocation,
337 ToolKind,
338 ToolOrchestrator,
339 ToolOutput,
340 ToolPayload,
341 ToolRuntime,
342 ToolSession,
343 ToolSpec,
344 TurnContext,
345 TurnDiffTracker,
346 create_apply_patch_freeform_tool,
347 create_apply_patch_json_tool,
348 default_exec_approval_requirement,
349 intercept_apply_patch,
350 new_shared_tracker,
351};
352pub use improvement_algorithms::{
353 MLScoreComponents, PatternState, TimeDecayedScore, detect_pattern, jaro_winkler_similarity,
354};
355pub use improvements_config::{
356 CacheConfig, ContextConfig, FallbackConfig, ImprovementsConfig, PatternConfig,
357 SimilarityConfig, TimeDecayConfig,
358};
359pub use improvements_errors::{
360 ErrorKind, ErrorSeverity, EventType, ImprovementError, ImprovementEvent, ImprovementResult,
361 ObservabilityContext, ObservabilitySink,
362};
363pub use improvements_registry_ext::{ToolMetrics, ToolRegistryImprovement};
364pub use vtcode_utility_tool_specs::parse_tool_input_schema;