Skip to content

Commit 3f70b83

Browse files
committed
wip: remove id generator and BuiltinToolReturnPart - fix tests using dumping and IsStr - add dump_messages to base adapter class
1 parent 261bc3a commit 3f70b83

File tree

4 files changed

+237
-204
lines changed

4 files changed

+237
-204
lines changed

pydantic_ai_slim/pydantic_ai/ui/_adapter.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,12 @@ def load_messages(cls, messages: Sequence[MessageT]) -> list[ModelMessage]:
143143
"""Transform protocol-specific messages into Pydantic AI messages."""
144144
raise NotImplementedError
145145

146+
@classmethod
147+
@abstractmethod
148+
def dump_messages(cls, messages: Sequence[ModelMessage]) -> list[MessageT]:
149+
"""Transform Pydantic AI messages into protocol-specific messages."""
150+
raise NotImplementedError
151+
146152
@abstractmethod
147153
def build_event_stream(self) -> UIEventStream[RunInputT, EventT, AgentDepsT, OutputDataT]:
148154
"""Build a protocol-specific event stream transformer."""

pydantic_ai_slim/pydantic_ai/ui/ag_ui/_adapter.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,11 @@ def state(self) -> dict[str, Any] | None:
109109
"""Frontend state from the AG-UI run input."""
110110
return self.run_input.state
111111

112+
@classmethod
113+
def dump_messages(cls, messages: Sequence[ModelMessage]) -> list[Message]:
114+
"""Transform Pydantic AI messages into AG-UI messages."""
115+
raise NotImplementedError('TODO: implement dump_messages method') # TODO: implement dump_messages method
116+
112117
@classmethod
113118
def load_messages(cls, messages: Sequence[Message]) -> list[ModelMessage]:
114119
"""Transform AG-UI messages into Pydantic AI messages."""

tests/test_ui.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ class DummyUIAdapter(UIAdapter[DummyUIRunInput, ModelMessage, str, AgentDepsT, O
8787
def build_run_input(cls, body: bytes) -> DummyUIRunInput:
8888
return DummyUIRunInput.model_validate_json(body)
8989

90+
@classmethod
91+
def dump_messages(cls, messages: Sequence[ModelMessage]) -> list[ModelMessage]:
92+
return list(messages)
93+
9094
@classmethod
9195
def load_messages(cls, messages: Sequence[ModelMessage]) -> list[ModelMessage]:
9296
return list(messages)

0 commit comments

Comments
 (0)