Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
420 changes: 229 additions & 191 deletions agent-client-protocol-schema/src/v1/agent.rs

Large diffs are not rendered by default.

415 changes: 224 additions & 191 deletions agent-client-protocol-schema/src/v2/agent.rs

Large diffs are not rendered by default.

121 changes: 67 additions & 54 deletions docs/protocol/v1/draft/schema.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -706,22 +706,24 @@ See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v1/d
The list of suggestions.
</ResponseField>

<a id="providers-disable"></a>
### <span class="font-mono">providers/disable</span>
<a id="providers-configure"></a>
### <span class="font-mono">providers/configure</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Disables a provider.
Configures a set of providers keyed by API protocol.

#### <span class="font-mono">DisableProviderRequest</span>
#### <span class="font-mono">ConfigureProvidersRequest</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Request parameters for `providers/disable`.
Request parameters for `providers/configure`.

Overrides (updates) the configuration for a set of providers keyed by API protocol.

**Type:** Object

Expand All @@ -735,17 +737,17 @@ these keys.
See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v1/draft/extensibility)

</ResponseField>
<ResponseField name="providerId" type={<a href="#providerid">ProviderId</a>} required>
Provider ID to disable.
<ResponseField name="providerConfigurations" type={<a href="#providerconfigupdate">ProviderConfigUpdate[]</a>} required>
Configuration updates to apply, one per API protocol.
</ResponseField>

#### <span class="font-mono">DisableProviderResponse</span>
#### <span class="font-mono">ConfigureProvidersResponse</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Response to `providers/disable`.
Response to `providers/configure`.

**Type:** Object

Expand All @@ -760,22 +762,22 @@ See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v1/d

</ResponseField>

<a id="providers-list"></a>
### <span class="font-mono">providers/list</span>
<a id="providers-list_api"></a>
### <span class="font-mono">providers/list_api</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Lists providers that can be configured by the client.
Lists the provider APIs supported by the agent.

#### <span class="font-mono">ListProvidersRequest</span>
#### <span class="font-mono">ListApiProvidersRequest</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Request parameters for `providers/list`.
Request parameters for `providers/list_api`.

**Type:** Object

Expand All @@ -790,13 +792,13 @@ See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v1/d

</ResponseField>

#### <span class="font-mono">ListProvidersResponse</span>
#### <span class="font-mono">ListApiProvidersResponse</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Response to `providers/list`.
Response to `providers/list_api`.

**Type:** Object

Expand All @@ -814,24 +816,26 @@ See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v1/d
Configurable providers with current routing info suitable for UI display.
</ResponseField>

<a id="providers-set"></a>
### <span class="font-mono">providers/set</span>
<a id="providers-restore"></a>
### <span class="font-mono">providers/restore</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Replaces the configuration for a provider.
Restores providers to the agent's default configuration.
When no API protocols are specified, restores all providers.

#### <span class="font-mono">SetProviderRequest</span>
#### <span class="font-mono">RestoreProvidersRequest</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Request parameters for `providers/set`.
Request parameters for `providers/restore`.

Replaces the full configuration for one provider ID.
Restores the listed API protocols to the agent's default provider configuration.
When no API protocols are specified, restores all providers.

**Type:** Object

Expand All @@ -845,27 +849,18 @@ these keys.
See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v1/draft/extensibility)

</ResponseField>
<ResponseField name="apiType" type={<a href="#llmprotocol">LlmProtocol</a>} required>
Protocol type for this provider.
</ResponseField>
<ResponseField name="baseUrl" type={"string"} required>
Base URL for requests sent through this provider.
</ResponseField>
<ResponseField name="headers" type={"object"} >
Full headers map for this provider.
May include authorization, routing, or other integration-specific headers.
</ResponseField>
<ResponseField name="providerId" type={<a href="#providerid">ProviderId</a>} required>
Provider ID to configure.
<ResponseField name="apiProtocols" type={<a href="#llmprotocol">LlmProtocol[]</a>} >
List of API protocols to restore to default providers.
When omitted or empty, all providers are restored.
</ResponseField>

#### <span class="font-mono">SetProviderResponse</span>
#### <span class="font-mono">RestoreProvidersResponse</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Response to `providers/set`.
Response to `providers/restore`.

**Type:** Object

Expand Down Expand Up @@ -6922,13 +6917,13 @@ Non-breaking changes should be introduced via capabilities.
| Minimum | `0` |
| Maximum | `65535` |

## <span class="font-mono">ProviderCurrentConfig</span>
## <span class="font-mono">ProviderConfigUpdate</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Current effective non-secret routing configuration for a provider.
Configuration update for a single provider, keyed by API protocol.

**Type:** Object

Expand All @@ -6942,22 +6937,47 @@ these keys.
See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v1/draft/extensibility)

</ResponseField>
<ResponseField name="apiType" type={<a href="#llmprotocol">LlmProtocol</a>} required>
Protocol currently used by this provider.
<ResponseField name="apiProtocol" type={<a href="#llmprotocol">LlmProtocol</a>} required>
LLM protocol to configure.
</ResponseField>
<ResponseField name="baseUrl" type={"string"} required>
Base URL currently used by this provider.
Base URL for requests sent through this provider.
</ResponseField>
<ResponseField name="headers" type={"object"} >
Full headers map for this provider.
May include authorization, routing, or other integration-specific headers.
Omitting this field is equivalent to an empty map (no headers).
</ResponseField>
<ResponseField name="presentableName" type={"string"} required>
Name of the provider to be shown in UI.
</ResponseField>

## <span class="font-mono">ProviderId</span>
## <span class="font-mono">ProviderCurrentConfig</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Unique identifier for a configurable LLM provider.
Current effective non-secret routing configuration for a provider.

**Type:** Object

**Type:** `string`
**Properties:**

<ResponseField name="_meta" type={"object | null"} >
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.

See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v1/draft/extensibility)

</ResponseField>
<ResponseField name="baseUrl" type={"string"} required>
Base URL currently used by this provider.
</ResponseField>
<ResponseField name="presentableName" type={"string"} required>
Name of the provider to be shown in UI.
</ResponseField>

## <span class="font-mono">ProviderInfo</span>

Expand All @@ -6978,21 +6998,14 @@ these keys.

See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v1/draft/extensibility)

</ResponseField>
<ResponseField name="apiType" type={<a href="#llmprotocol">LlmProtocol</a>} required>
LLM protocol.
</ResponseField>
<ResponseField name="current" type={<><span><a href="#providercurrentconfig">ProviderCurrentConfig</a></span><span> | null</span></>} >
Current effective non-secret routing config.
Null or omitted means provider is disabled.
</ResponseField>
<ResponseField name="providerId" type={<a href="#providerid">ProviderId</a>} required>
Provider identifier, for example "main" or "openai".
</ResponseField>
<ResponseField name="required" type={"boolean"} required>
Whether this provider is mandatory and cannot be disabled via `providers/disable`.
If true, clients must not call `providers/disable` for this provider ID.
</ResponseField>
<ResponseField name="supported" type={<a href="#llmprotocol">LlmProtocol[]</a>} required>
Supported protocol types for this provider.
</ResponseField>

## <span class="font-mono">ProvidersCapabilities</span>

Expand Down
Loading