Expand description
Local-filesystem tools — lightweight executables exposed to agents
(e.g. as MCP tools). A tool is either hand-placed under
<base_dir>/tools/ or fetched from GitHub via the shared install
engine (crate::filesystem::install); install holds the tool
side of that pipeline (impl-only, hence pub mod).
Modules§
- install
- Tool GitHub-install — the tool side of the shared install engine
(
crate::filesystem::install). Tools are simpler than plugins: acli_zipbundle plus the manifest, no viewer. These methods are thin wrappers driving the generic engine withtools::Manifest.
Structs§
- CliZip
- Per-OS cli bundle: the GitHub-release
.zipasset filenames for each platform, split per CPU architecture (x86_64/aarch64). At install time the current platform’s entry — matched on OS and arch — is downloaded and extracted into thecli/working directory. Local to the CLI’s filesystem layer (the on-disk shape); shared by both the tool and plugin manifests. Thecli_zipfield itself is required; each per-OS and per-arch entry is optional — absent means nothing to fetch for that platform (e.g. a hand-placed source-run tool, or a viewer-only plugin). - CliZip
Arch - Per-CPU-architecture cli bundle filenames for a single OS. Each entry
is the GitHub-release
.zipasset filename for that arch (or absent when not built for it). Arch keys follow the repo-wide convention (x86_64/aarch64) — the same names the release workflow uses for its assets, which is exactly what these values reference. - Exec
- Per-OS exec command. Reused from the SDK so the exec shape stays
identical across the on-disk manifest and the
tools getwire response. Per-OS exec command for a tool. The current platform’s vector is the program plus its leading arguments; the caller’s--argsare appended, and the result runs with CWD = the tool’s version folder’scli/subdir (objectiveai.jsonlives in the version folder). - Manifest
- Declarative metadata a local tool ships with — the on-disk
objectiveai.jsonat<base_dir>/tools/<owner>/<name>/<version>/objectiveai.json. The CLI reads and writes this shape verbatim; thetools getwire response is a lean projection of it (it dropscli_zip).