agentproto

Driver family

The DRIVER family — AIP-30 abstract supertype plus its concrete subtypes (CLI, and the planned HTTP/MCP/SDK). Catalog page that groups related AIPs whose ordinal proximity isn't enforced by monotonic numbering. The family is the navigation surface; numbers are identifiers.

Driver family

The DRIVER family is the layer that binds abstract TOOL contracts to concrete backends. AIP-30 defines the supertype every driver shares (identity, kind, install, auth, sandbox primitive, region, policy tags, multi-tool implements[]); each subtype AIP adds kind-specific fields on top.

This page exists because AIP numbering is monotonic at PR-open time (per AIP-1) — the family's members may not end up adjacent in the registry, and that's fine. The family page is the navigation surface; numbers are identifiers.

Provider family

AIP-30 declares the abstract DRIVER.md supertype. Each subtype below specialises it for one transport kind (cli, http, mcp, sdk, builtin).

How members compose

Each subtype is a specialisation: it inherits the universal frontmatter from AIP-30 DRIVER and adds its own kind-specific block.

LayerUniversalSubtype-specific
Identityid, name, description, version, kind
Tool dispatchimplements[] (per-tool ref + mapping + narrowing)per-kind metadata.<kind> (argv / endpoint / mcp_tool_name / function_ref)
Lifecycleinstall, version_check(CLI/SDK use; HTTP/MCP/builtin omit)
Authauth (state, login, refresh, expiry)
Sandboxnetwork.egressCLI adds sandbox.fs/exec/tty and output.exit_codes/json_flag
Routing policyregion, policy_tags, cost_override

Adding a new subtype (e.g. a future kind: gRPC) means writing a new AIP that references AIP-30 in its requires: chain and declares the gRPC-specific fields. The supertype doesn't grow.

See also