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;
39#[cfg(all(unix, feature = "subprocess"))]
40pub mod terminal;
41
42pub use kaish_glob as glob_crate;
44
45pub mod glob {
47 pub use kaish_glob::glob::{contains_glob, expand_braces, glob_match};
48}
49
50pub mod walker {
52 pub use kaish_glob::{
53 EntryTypes, FileWalker, FilterResult, GlobPath, IgnoreFilter, IncludeExclude,
54 PathSegment, PatternError, WalkOptions, WalkerDirEntry, WalkerError, WalkerFs,
55 };
56 pub use crate::backend_walker_fs::BackendWalkerFs;
57}
58
59pub use backend::{
60 BackendError, BackendResult, KernelBackend, LocalBackend, PatchOp, ReadRange,
61 ToolInfo, ToolResult, VirtualOverlayBackend, WriteMode,
62};
63pub use dispatch::{CommandDispatcher, PipelinePosition};
64pub use ignore_config::{IgnoreConfig, IgnoreScope};
65pub use kernel::{ExecuteOptions, Kernel, KernelConfig, VfsMountMode};
66pub use output_limit::OutputLimitConfig;
67
68#[cfg(feature = "git")]
85pub use vfs::{FileStatus, GitVfs, LogEntry, StatusSummary, WorktreeInfo};
86
87pub use scheduler::{BoundedStream, StreamStats, DEFAULT_STREAM_MAX_SIZE, drain_to_stream};
89pub use vfs::JobFs;
90
91pub use paths::{home_dir, xdg_cache_home, xdg_config_home, xdg_data_home, xdg_runtime_dir};
93
94pub use interpreter::expand_tilde;
96
97pub use tools::{Tool, ToolRegistry, ExecContext};