AGENTS.md@crates/common/vtcode-utility-tool-specs · git:20261002.c7ea326 · 2026-10-02 · sha256 6f60874490387f28
AGENTS.md@crates/common/vtcode-utility-tool-specs git:20261002.c7ea326A
Immutable. This exact content never changes and is served at /api/v1/blob/6f60874490387f28.
<!-- Compact maintainer rules retain the repository instruction line budget. --> <!-- markdownlint-disable MD013 --> # vtcode-utility-tool-specs [Root AGENTS.md](../../../AGENTS.md) | Passive JSON schemas for VT Code utility, file, scheduling, and collaboration tool surfaces. Defines the wire format for tool invocations and results. ## Conventions - Schemas are defined using `serde` derive macros. Every schema type must derive `Serialize` and `Deserialize`. This crate is a leaf dependency -- do not add dependencies on other vtcode workspace crates (except `vtcode-commons` if needed). Schema types are passive data containers with no behavior or validation logic. - Uses `rmcp` for MCP schema compatibility. - Use `with_max_output_tokens_parameter` when exposing object-shaped function schemas to models; execution validation belongs in `vtcode-core`. ## Module Groups | Area | Modules | | --- | --- | | Schemas | `collaboration/`, `json_schema/`, `responses_api/`, `mcp_tool/` | | Taxonomy | `tool_kind/` (`ToolKind`, `ToolNamespace`, `CanonicalToolMeta`, `TokenBucket`) | ## Dependencies - `rmcp` (MCP schema types) - `serde` / `serde_json` (serialization) `write_stdin` keeps legacy `session_id`/`chars` calls valid; wait/inspect/terminate/close need no chars. `exec_command.background` and pipe `stdin` are opt-in and default to false; PTYs retain input.