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 build_file_types, list_file_types, EntryTypes, FileTypeError, FileWalker, FilterResult,
55 GlobPath, IgnoreFilter, IncludeExclude, PathSegment, PatternError, WalkOptions,
56 WalkerDirEntry, WalkerError, WalkerFs,
57 };
58 pub use crate::backend_walker_fs::BackendWalkerFs;
59}
60
61pub use backend::{
62 BackendError, BackendResult, KernelBackend, LocalBackend, PatchOp, ReadRange,
63 ToolInfo, ToolResult, VirtualOverlayBackend, WriteMode,
64};
65pub use dispatch::{CommandDispatcher, PipelinePosition};
66pub use ignore_config::{IgnoreConfig, IgnoreScope};
67pub use kernel::{ExecuteOptions, Kernel, KernelConfig, VfsMountMode};
68pub use output_limit::OutputLimitConfig;
69
70pub use scheduler::{BoundedStream, StreamStats, DEFAULT_STREAM_MAX_SIZE, drain_to_stream};
87pub use scheduler::{pipe_stream, pipe_stream_default, PipeReader, PipeWriter, PIPE_BUFFER_SIZE};
91pub use vfs::JobFs;
92
93pub use paths::{home_dir, xdg_cache_home, xdg_config_home, xdg_data_home, xdg_runtime_dir};
95
96pub use interpreter::expand_tilde;
98
99pub use tools::{Tool, ToolRegistry, ExecContext};