Skip to content

Commit fe9479a

Browse files
committed
fix(codegen): expose protocol method metadata
1 parent 3ef92ae commit fe9479a

5 files changed

Lines changed: 8 additions & 3 deletions

File tree

scripts/gen_meta.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ def render_meta(*, protocol_version: int = 1) -> str:
5454
data = json.loads(meta_json.read_text("utf-8"))
5555
agent_methods = data.get("agentMethods", {})
5656
client_methods = data.get("clientMethods", {})
57+
protocol_methods = data.get("protocolMethods")
5758
version = data.get("version", 1)
5859
header_lines = [f"# Generated from {meta_json.relative_to(ROOT)}. Do not edit by hand."]
5960
if version_file.exists():
@@ -66,6 +67,7 @@ def render_meta(*, protocol_version: int = 1) -> str:
6667
+ "\n"
6768
+ f"AGENT_METHODS = {json.dumps(agent_methods, indent=4)}\n"
6869
+ f"CLIENT_METHODS = {json.dumps(client_methods, indent=4)}\n"
70+
+ (f"PROTOCOL_METHODS = {json.dumps(protocol_methods, indent=4)}\n" if protocol_methods is not None else "")
6971
+ f"PROTOCOL_VERSION = {int(version)}\n"
7072
)
7173
result = subprocess.run( # noqa: S603
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""Experimental ACP protocol v2 bindings."""
22

3-
from .meta import AGENT_METHODS, CLIENT_METHODS, PROTOCOL_VERSION
3+
from .meta import AGENT_METHODS, CLIENT_METHODS, PROTOCOL_METHODS, PROTOCOL_VERSION
44

5-
__all__ = ["AGENT_METHODS", "CLIENT_METHODS", "PROTOCOL_VERSION"]
5+
__all__ = ["AGENT_METHODS", "CLIENT_METHODS", "PROTOCOL_METHODS", "PROTOCOL_VERSION"]

src/acp/experimental/v2/meta.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,5 @@
3737
"elicitation_create": "elicitation/create",
3838
"elicitation_complete": "elicitation/complete",
3939
}
40+
PROTOCOL_METHODS = {"cancel_request": "$/cancel_request"}
4041
PROTOCOL_VERSION = 2

src/acp/meta.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,5 @@
4646
"elicitation_create": "elicitation/create",
4747
"elicitation_complete": "elicitation/complete",
4848
}
49+
PROTOCOL_METHODS = {"cancel_request": "$/cancel_request"}
4950
PROTOCOL_VERSION = 1

tests/test_v2_schema.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import pytest
22
from pydantic import ValidationError
33

4-
from acp.experimental.v2 import PROTOCOL_VERSION
4+
from acp.experimental.v2 import PROTOCOL_METHODS, PROTOCOL_VERSION
55
from acp.experimental.v2.schema import (
66
AgentMessageChunk,
77
OtherSessionUpdate,
@@ -17,6 +17,7 @@ def test_v2_models_fill_protocol_discriminators() -> None:
1717
)
1818

1919
assert PROTOCOL_VERSION == 2
20+
assert PROTOCOL_METHODS == {"cancel_request": "$/cancel_request"}
2021
assert update.model_dump(by_alias=True, exclude_none=True) == {
2122
"sessionUpdate": "agent_message_chunk",
2223
"messageId": "message-1",

0 commit comments

Comments
 (0)