1pub mod arithmetic;
15pub mod ast;
16pub mod backend;
17pub(crate) mod backend_walker_fs;
18pub mod dispatch;
19pub mod duration;
20pub mod fragment;
21pub mod help;
22pub mod ignore_config;
23pub mod interpreter;
24pub mod output_limit;
25pub mod kernel;
26pub mod lexer;
27pub mod name;
28pub mod operation;
29pub mod parser;
30pub mod paths;
31#[cfg(all(unix, feature = "subprocess"))]
32pub mod pidfd;
33pub mod scheduler;
34pub(crate) mod telemetry;
35pub mod tools;
36pub mod trash;
37#[cfg(feature = "os-integration")]
38pub mod trash_system;
39pub mod validator;
40pub mod vfs;
41pub mod watchdog;
42#[cfg(all(unix, feature = "subprocess"))]
43pub mod terminal;
44
45pub use kaish_glob as glob_crate;
47
48pub mod glob {
50 pub use kaish_glob::glob::{contains_glob, expand_braces, glob_match};
51}
52
53pub mod walker {
55 pub use kaish_glob::{
56 build_file_types, list_file_types, EntryTypes, FileTypeError, FileWalker, FilterResult,
57 GlobPath, IgnoreFilter, IncludeExclude, PathSegment, PatternError, WalkOptions,
58 WalkerDirEntry, WalkerError, WalkerFs,
59 };
60 pub use crate::backend_walker_fs::BackendWalkerFs;
61}
62
63pub use backend::{
64 BackendError, BackendResult, KernelBackend, LocalBackend, PatchOp, ReadRange,
65 ToolInfo, ToolResult, VirtualOverlayBackend, WriteMode,
66};
67pub use dispatch::{CommandDispatcher, PipelinePosition};
68pub use ignore_config::{IgnoreConfig, IgnoreScope};
69pub use kernel::{
70 CommandKind, ExecuteOptions, Kernel, KernelConfig, VfsMountMode, MAX_RECURSION_DEPTH,
71 RECOMMENDED_STACK_SIZE,
72};
73pub use output_limit::OutputLimitConfig;
74
75pub use scheduler::{BoundedStream, StreamStats, DEFAULT_STREAM_MAX_SIZE, drain_to_stream};
92pub use scheduler::{pipe_stream, pipe_stream_default, PipeReader, PipeWriter, PIPE_BUFFER_SIZE};
96pub use vfs::JobFs;
97
98pub use paths::{home_dir, xdg_cache_home, xdg_config_home, xdg_data_home, xdg_runtime_dir};
100
101pub use interpreter::expand_tilde;
103
104pub use tools::{Tool, ToolRegistry, ExecContext};
106
107pub use ast::plan::{plan_program, PlannedStatement};
110pub use fragment::{expand_fragment, FragmentError};
111pub use kaish_types::plan::{Expansion, FragmentAddr, Hole, PlannedHeredoc};