Expand description
Deterministic tools capability.
Ports the Swift CoreToolExecutor surface: search (ripgrep via
grep-searcher + ignore), file I/O, listing, file outline, git
inspection, and
process lifecycle (run_command, run_test, run_build_command,
inspect_test_results, manage_packages).
Implementation status:
| Method | Status |
|---|---|
search | implemented |
read_file | implemented |
write_file | implemented |
delete_file | implemented |
list_directory | implemented |
get_file_outline | implemented (regex extractor) |
git | implemented (system git CLI) |
run_command | implemented |
run_test | implemented |
run_build_command | implemented |
inspect_test_results | implemented |
manage_packages | implemented |
§Per-session opt-in
All deterministic tools are gated by a per-thread feature flag.
Pipelines must call hostlib_enable("tools:deterministic") (registered
by ToolsCapability::register_builtins) before any of the tool
methods will execute. Until then, calls return
HostlibError::Backend with an explanatory message. The per-session
opt-in model keeps the deterministic-tool surface sandbox-friendly.
Re-exports§
pub use permissions::FEATURE_TOOLS_DETERMINISTIC;
Modules§
- permissions
- Per-thread “enabled features” registry for the deterministic tools.
Structs§
- Tools
Capability - Tools capability handle.