Skip to main content

Module implementation

Module implementation 

Source
Expand description

Implementation — the clientInfo / agentInfo block the editor and the agent exchange in initialize.

The schema’s source of truth is crates/protocol-droid-schema/spec/acp/v1.25.0/schema.json under $defs.Implementation. The shape:

  • name: programmatic identifier (required)
  • title: human-readable display name (optional)
  • version: semver string (required)
  • _meta: per-implementation metadata (optional, open shape, kept as a JSON Value for forward compatibility)

§Why a BTreeMap for _meta

The schema’s _meta is an open object with additionalProperties: true. A typed BTreeMap<String, serde_json::Value> is the closest the Rust type system can get to the wire form without losing the JSON’s “anything goes” semantics. The map keeps the wire form deterministic (alphabetical by key) so test fixtures stay readable.

Structs§

Implementation
The clientInfo / agentInfo block. The same shape on both sides of the wire, mirrored by the schema.