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::{
68 CommandKind, ExecuteOptions, Kernel, KernelConfig, VfsMountMode, MAX_RECURSION_DEPTH,
69 RECOMMENDED_STACK_SIZE,
70};
71pub use output_limit::OutputLimitConfig;
72
73pub use scheduler::{BoundedStream, StreamStats, DEFAULT_STREAM_MAX_SIZE, drain_to_stream};
90pub use scheduler::{pipe_stream, pipe_stream_default, PipeReader, PipeWriter, PIPE_BUFFER_SIZE};
94pub use vfs::JobFs;
95
96pub use paths::{home_dir, xdg_cache_home, xdg_config_home, xdg_data_home, xdg_runtime_dir};
98
99pub use interpreter::expand_tilde;
101
102pub use tools::{Tool, ToolRegistry, ExecContext};