1pub mod arithmetic;
15pub mod ast;
16pub mod backend;
17pub(crate) mod backend_walker_fs;
18pub mod dispatch;
19pub mod duration;
20pub mod help;
21pub mod ignore_config;
22pub mod interpreter;
23pub mod output_limit;
24pub mod kernel;
25pub mod lexer;
26pub mod nonce;
27pub mod parser;
28pub mod paths;
29#[cfg(all(unix, feature = "subprocess"))]
30pub mod pidfd;
31pub mod scheduler;
32pub(crate) mod telemetry;
33pub mod tools;
34pub mod trash;
35#[cfg(feature = "os-integration")]
36pub mod trash_system;
37pub mod validator;
38pub mod vfs;
39pub mod watchdog;
40#[cfg(all(unix, feature = "subprocess"))]
41pub mod terminal;
42
43pub use kaish_glob as glob_crate;
45
46pub mod glob {
48 pub use kaish_glob::glob::{contains_glob, expand_braces, glob_match};
49}
50
51pub mod walker {
53 pub use kaish_glob::{
54 EntryTypes, FileWalker, FilterResult, GlobPath, IgnoreFilter, IncludeExclude,
55 PathSegment, PatternError, WalkOptions, WalkerDirEntry, WalkerError, WalkerFs,
56 };
57 pub use crate::backend_walker_fs::BackendWalkerFs;
58}
59
60pub use backend::{
61 BackendError, BackendResult, KernelBackend, LocalBackend, PatchOp, ReadRange,
62 ToolInfo, ToolResult, VirtualOverlayBackend, WriteMode,
63};
64pub use dispatch::{CommandDispatcher, PipelinePosition};
65pub use ignore_config::{IgnoreConfig, IgnoreScope};
66pub use kernel::{ExecuteOptions, Kernel, KernelConfig, VfsMountMode};
67pub use output_limit::OutputLimitConfig;
68
69#[cfg(feature = "git")]
86pub use vfs::{FileStatus, GitVfs, LogEntry, StatusSummary, WorktreeInfo};
87
88pub use scheduler::{BoundedStream, StreamStats, DEFAULT_STREAM_MAX_SIZE, drain_to_stream};
90pub use vfs::JobFs;
91
92pub use paths::{home_dir, xdg_cache_home, xdg_config_home, xdg_data_home, xdg_runtime_dir};
94
95pub use interpreter::expand_tilde;
97
98pub use tools::{Tool, ToolRegistry, ExecContext};