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
225 changes: 113 additions & 112 deletions docs/protocol/draft/schema.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1013,87 +1013,22 @@ Clients are typically code editors (IDEs, text editors) that provide the interfa
between users and AI agents. They manage the environment, handle user interactions,
and control access to resources.

<a id="fs-read_text_file"></a>
### <span class="font-mono">fs/read_text_file</span>

Reads content from a text file in the client's file system.

Only available if the client advertises the `fs.readTextFile` capability.
Allows the agent to access file contents within the client's environment.

See protocol docs: [Client](https://agentclientprotocol.com/protocol/overview#client)

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

Request to read content from a text file.

Only available if the client supports the `fs.readTextFile` capability.

**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/extensibility)

</ResponseField>
<ResponseField name="limit" type={"integer | null"} >
Maximum number of lines to read.

- Minimum: `0`

</ResponseField>
<ResponseField name="line" type={"integer | null"} >
Line number to start reading from (1-based).

- Minimum: `0`

</ResponseField>
<ResponseField name="path" type={"string"} required>
Absolute path to the file to read.
</ResponseField>
<ResponseField name="sessionId" type={<a href="#sessionid">SessionId</a>} required>
The session ID for this request.
</ResponseField>

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

Response containing the contents of a text file.

**Type:** Object

**Properties:**
<a id="elicitation-complete"></a>
### <span class="font-mono">elicitation/complete</span>

<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/extensibility)

</ResponseField>
<ResponseField name="content" type={"string"} required>
</ResponseField>

<a id="fs-write_text_file"></a>
### <span class="font-mono">fs/write_text_file</span>
**UNSTABLE**

Writes content to a text file in the client's file system.
This capability is not part of the spec yet, and may be removed or changed at any point.

Only available if the client advertises the `fs.writeTextFile` capability.
Allows the agent to create or modify files within the client's environment.
Notification that a URL-based elicitation has completed.

See protocol docs: [Client](https://agentclientprotocol.com/protocol/overview#client)
#### <span class="font-mono">ElicitationCompleteNotification</span>

#### <span class="font-mono">WriteTextFileRequest</span>
**UNSTABLE**

Request to write content to a text file.
This capability is not part of the spec yet, and may be removed or changed at any point.

Only available if the client supports the `fs.writeTextFile` capability.
Notification sent by the agent when a URL-based elicitation is complete.

**Type:** Object

Expand All @@ -1107,35 +1042,12 @@ these keys.
See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)

</ResponseField>
<ResponseField name="content" type={"string"} required>
The text content to write to the file.
</ResponseField>
<ResponseField name="path" type={"string"} required>
Absolute path to the file to write.
</ResponseField>
<ResponseField name="sessionId" type={<a href="#sessionid">SessionId</a>} required>
The session ID for this request.
</ResponseField>

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

Response to `fs/write_text_file`

**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/extensibility)

<ResponseField name="elicitationId" type={<a href="#elicitationid">ElicitationId</a>} required>
The ID of the elicitation that completed.
</ResponseField>

<a id="session-elicitation"></a>
### <span class="font-mono">session/elicitation</span>
<a id="elicitation-create"></a>
### <span class="font-mono">elicitation/create</span>

**UNSTABLE**

Expand All @@ -1153,6 +1065,7 @@ Request from the agent to elicit structured user input.

The agent sends this to the client to request information from the user,
either via a form or by directing them to a URL.
Elicitations may be tied to a session/request, or sent without either scope.

**Type:** Union

Expand Down Expand Up @@ -1221,22 +1134,56 @@ See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/exte
The user's action in response to the elicitation.
</ResponseField>

<a id="session-elicitation-complete"></a>
### <span class="font-mono">session/elicitation/complete</span>
<a id="fs-read_text_file"></a>
### <span class="font-mono">fs/read_text_file</span>

**UNSTABLE**
Reads content from a text file in the client's file system.

This capability is not part of the spec yet, and may be removed or changed at any point.
Only available if the client advertises the `fs.readTextFile` capability.
Allows the agent to access file contents within the client's environment.

Notification that a URL-based elicitation has completed.
See protocol docs: [Client](https://agentclientprotocol.com/protocol/overview#client)

#### <span class="font-mono">ElicitationCompleteNotification</span>
#### <span class="font-mono">ReadTextFileRequest</span>

**UNSTABLE**
Request to read content from a text file.

This capability is not part of the spec yet, and may be removed or changed at any point.
Only available if the client supports the `fs.readTextFile` capability.

Notification sent by the agent when a URL-based elicitation is complete.
**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/extensibility)

</ResponseField>
<ResponseField name="limit" type={"integer | null"} >
Maximum number of lines to read.

- Minimum: `0`

</ResponseField>
<ResponseField name="line" type={"integer | null"} >
Line number to start reading from (1-based).

- Minimum: `0`

</ResponseField>
<ResponseField name="path" type={"string"} required>
Absolute path to the file to read.
</ResponseField>
<ResponseField name="sessionId" type={<a href="#sessionid">SessionId</a>} required>
The session ID for this request.
</ResponseField>

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

Response containing the contents of a text file.

**Type:** Object

Expand All @@ -1250,8 +1197,62 @@ these keys.
See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)

</ResponseField>
<ResponseField name="elicitationId" type={<a href="#elicitationid">ElicitationId</a>} required>
The ID of the elicitation that completed.
<ResponseField name="content" type={"string"} required>
</ResponseField>

<a id="fs-write_text_file"></a>
### <span class="font-mono">fs/write_text_file</span>

Writes content to a text file in the client's file system.

Only available if the client advertises the `fs.writeTextFile` capability.
Allows the agent to create or modify files within the client's environment.

See protocol docs: [Client](https://agentclientprotocol.com/protocol/overview#client)

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

Request to write content to a text file.

Only available if the client supports the `fs.writeTextFile` capability.

**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/extensibility)

</ResponseField>
<ResponseField name="content" type={"string"} required>
The text content to write to the file.
</ResponseField>
<ResponseField name="path" type={"string"} required>
Absolute path to the file to write.
</ResponseField>
<ResponseField name="sessionId" type={<a href="#sessionid">SessionId</a>} required>
The session ID for this request.
</ResponseField>

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

Response to `fs/write_text_file`

**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/extensibility)

</ResponseField>

<a id="session-request_permission"></a>
Expand Down
Loading
Loading