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
396 changes: 212 additions & 184 deletions agent-client-protocol-schema/src/v1/agent.rs

Large diffs are not rendered by default.

391 changes: 207 additions & 184 deletions agent-client-protocol-schema/src/v2/agent.rs

Large diffs are not rendered by default.

119 changes: 66 additions & 53 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,24 @@ 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 a set of providers to the agent's default configuration.

#### <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.

**Type:** Object

Expand All @@ -845,27 +847,17 @@ 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>} required>
List of API protocols to restore to default providers.
</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 @@ -6718,13 +6710,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 @@ -6738,22 +6730,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:** `string`
**Type:** Object

**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 @@ -6774,20 +6791,16 @@ 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 name="presentableName" type={"string"} required>
Name of the provider to be shown in UI.
</ResponseField>

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