Skip to content

Commit 803ffbc

Browse files
committed
feat: update ACP schema to v0.13.3
1 parent 8cd8391 commit 803ffbc

11 files changed

Lines changed: 960 additions & 294 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "agent-client-protocol"
3-
version = "0.10.1"
3+
version = "0.11.0"
44
description = "A Python implement of Agent Client Protocol (ACP, by Zed Industries)"
55
authors = [
66
{ name = "Chojan Shang", email = "psiace@apache.org" },

schema/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
refs/tags/v0.12.2
1+
refs/tags/v0.13.3

schema/meta.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"document_did_save": "document/didSave",
99
"initialize": "initialize",
1010
"logout": "logout",
11+
"mcp_message": "mcp/message",
1112
"nes_accept": "nes/accept",
1213
"nes_close": "nes/close",
1314
"nes_reject": "nes/reject",
@@ -18,6 +19,7 @@
1819
"providers_set": "providers/set",
1920
"session_cancel": "session/cancel",
2021
"session_close": "session/close",
22+
"session_delete": "session/delete",
2123
"session_fork": "session/fork",
2224
"session_list": "session/list",
2325
"session_load": "session/load",
@@ -33,6 +35,9 @@
3335
"elicitation_create": "elicitation/create",
3436
"fs_read_text_file": "fs/read_text_file",
3537
"fs_write_text_file": "fs/write_text_file",
38+
"mcp_connect": "mcp/connect",
39+
"mcp_disconnect": "mcp/disconnect",
40+
"mcp_message": "mcp/message",
3641
"session_request_permission": "session/request_permission",
3742
"session_update": "session/update",
3843
"terminal_create": "terminal/create",

schema/schema.json

Lines changed: 444 additions & 35 deletions
Large diffs are not rendered by default.

scripts/gen_schema.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
"ContentBlock5": "EmbeddedResourceContentBlock",
5050
"McpServer1": "HttpMcpServer",
5151
"McpServer2": "SseMcpServer",
52+
"McpServer3": "AcpMcpServer",
5253
"RequestPermissionOutcome1": "DeniedOutcome",
5354
"RequestPermissionOutcome2": "AllowedOutcome",
5455
"AuthMethod1": "EnvVarAuthMethod",

src/acp/client/connection.py

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from ..interfaces import Agent, Client
99
from ..meta import AGENT_METHODS
1010
from ..schema import (
11+
AcpMcpServer,
1112
AudioContentBlock,
1213
AuthenticateRequest,
1314
AuthenticateResponse,
@@ -101,7 +102,7 @@ async def new_session(
101102
self,
102103
cwd: str,
103104
additional_directories: list[str] | None = None,
104-
mcp_servers: list[HttpMcpServer | SseMcpServer | McpServerStdio] | None = None,
105+
mcp_servers: list[HttpMcpServer | SseMcpServer | AcpMcpServer | McpServerStdio] | None = None,
105106
**kwargs: Any,
106107
) -> NewSessionResponse:
107108
resolved_mcp_servers = mcp_servers or []
@@ -123,7 +124,7 @@ async def load_session(
123124
cwd: str,
124125
session_id: str,
125126
additional_directories: list[str] | None = None,
126-
mcp_servers: list[HttpMcpServer | SseMcpServer | McpServerStdio] | None = None,
127+
mcp_servers: list[HttpMcpServer | SseMcpServer | AcpMcpServer | McpServerStdio] | None = None,
127128
**kwargs: Any,
128129
) -> LoadSessionResponse:
129130
resolved_mcp_servers = mcp_servers or []
@@ -142,18 +143,12 @@ async def load_session(
142143

143144
@param_model(ListSessionsRequest)
144145
async def list_sessions(
145-
self,
146-
additional_directories: list[str] | None = None,
147-
cursor: str | None = None,
148-
cwd: str | None = None,
149-
**kwargs: Any,
146+
self, cursor: str | None = None, cwd: str | None = None, **kwargs: Any
150147
) -> ListSessionsResponse:
151148
return await request_model_from_dict(
152149
self._conn,
153150
AGENT_METHODS["session_list"],
154-
ListSessionsRequest(
155-
additional_directories=additional_directories, cursor=cursor, cwd=cwd, field_meta=kwargs or None
156-
),
151+
ListSessionsRequest(cursor=cursor, cwd=cwd, field_meta=kwargs or None),
157152
ListSessionsResponse,
158153
)
159154

@@ -228,7 +223,7 @@ async def fork_session(
228223
cwd: str,
229224
session_id: str,
230225
additional_directories: list[str] | None = None,
231-
mcp_servers: list[HttpMcpServer | SseMcpServer | McpServerStdio] | None = None,
226+
mcp_servers: list[HttpMcpServer | SseMcpServer | AcpMcpServer | McpServerStdio] | None = None,
232227
**kwargs: Any,
233228
) -> ForkSessionResponse:
234229
return await request_model(
@@ -250,7 +245,7 @@ async def resume_session(
250245
cwd: str,
251246
session_id: str,
252247
additional_directories: list[str] | None = None,
253-
mcp_servers: list[HttpMcpServer | SseMcpServer | McpServerStdio] | None = None,
248+
mcp_servers: list[HttpMcpServer | SseMcpServer | AcpMcpServer | McpServerStdio] | None = None,
254249
**kwargs: Any,
255250
) -> ResumeSessionResponse:
256251
return await request_model(

src/acp/interfaces.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from typing import Any, Protocol
44

55
from .schema import (
6+
AcpMcpServer,
67
AgentMessageChunk,
78
AgentPlanUpdate,
89
AgentThoughtChunk,
@@ -160,7 +161,7 @@ async def new_session(
160161
self,
161162
cwd: str,
162163
additional_directories: list[str] | None = None,
163-
mcp_servers: list[HttpMcpServer | SseMcpServer | McpServerStdio] | None = None,
164+
mcp_servers: list[HttpMcpServer | SseMcpServer | AcpMcpServer | McpServerStdio] | None = None,
164165
**kwargs: Any,
165166
) -> NewSessionResponse: ...
166167

@@ -170,17 +171,13 @@ async def load_session(
170171
cwd: str,
171172
session_id: str,
172173
additional_directories: list[str] | None = None,
173-
mcp_servers: list[HttpMcpServer | SseMcpServer | McpServerStdio] | None = None,
174+
mcp_servers: list[HttpMcpServer | SseMcpServer | AcpMcpServer | McpServerStdio] | None = None,
174175
**kwargs: Any,
175176
) -> LoadSessionResponse | None: ...
176177

177178
@param_model(ListSessionsRequest)
178179
async def list_sessions(
179-
self,
180-
additional_directories: list[str] | None = None,
181-
cursor: str | None = None,
182-
cwd: str | None = None,
183-
**kwargs: Any,
180+
self, cursor: str | None = None, cwd: str | None = None, **kwargs: Any
184181
) -> ListSessionsResponse: ...
185182

186183
@param_model(SetSessionModeRequest)
@@ -220,7 +217,7 @@ async def fork_session(
220217
cwd: str,
221218
session_id: str,
222219
additional_directories: list[str] | None = None,
223-
mcp_servers: list[HttpMcpServer | SseMcpServer | McpServerStdio] | None = None,
220+
mcp_servers: list[HttpMcpServer | SseMcpServer | AcpMcpServer | McpServerStdio] | None = None,
224221
**kwargs: Any,
225222
) -> ForkSessionResponse: ...
226223

@@ -230,7 +227,7 @@ async def resume_session(
230227
cwd: str,
231228
session_id: str,
232229
additional_directories: list[str] | None = None,
233-
mcp_servers: list[HttpMcpServer | SseMcpServer | McpServerStdio] | None = None,
230+
mcp_servers: list[HttpMcpServer | SseMcpServer | AcpMcpServer | McpServerStdio] | None = None,
234231
**kwargs: Any,
235232
) -> ResumeSessionResponse: ...
236233

src/acp/meta.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Generated from schema/meta.json. Do not edit by hand.
2-
# Schema ref: refs/tags/v0.12.2
2+
# Schema ref: refs/tags/v0.13.3
33
AGENT_METHODS = {
44
"authenticate": "authenticate",
55
"document_did_change": "document/didChange",
@@ -9,6 +9,7 @@
99
"document_did_save": "document/didSave",
1010
"initialize": "initialize",
1111
"logout": "logout",
12+
"mcp_message": "mcp/message",
1213
"nes_accept": "nes/accept",
1314
"nes_close": "nes/close",
1415
"nes_reject": "nes/reject",
@@ -19,6 +20,7 @@
1920
"providers_set": "providers/set",
2021
"session_cancel": "session/cancel",
2122
"session_close": "session/close",
23+
"session_delete": "session/delete",
2224
"session_fork": "session/fork",
2325
"session_list": "session/list",
2426
"session_load": "session/load",
@@ -34,6 +36,9 @@
3436
"elicitation_create": "elicitation/create",
3537
"fs_read_text_file": "fs/read_text_file",
3638
"fs_write_text_file": "fs/write_text_file",
39+
"mcp_connect": "mcp/connect",
40+
"mcp_disconnect": "mcp/disconnect",
41+
"mcp_message": "mcp/message",
3742
"session_request_permission": "session/request_permission",
3843
"session_update": "session/update",
3944
"terminal_create": "terminal/create",

0 commit comments

Comments
 (0)