@@ -1128,11 +1128,10 @@ async def send_and_wait(
11281128 Exception: If the session has been disconnected or the connection fails.
11291129
11301130 Example:
1131- >>> from typing import cast
11321131 >>> from copilot.generated.session_events import AssistantMessageData
11331132 >>> response = await session.send_and_wait("What is 2+2?")
1134- >>> if response:
1135- ... print(cast(AssistantMessageData, response.data) .content)
1133+ >>> if response and isinstance(response.data, AssistantMessageData) :
1134+ ... print(response.data.content)
11361135 """
11371136 idle_event = asyncio .Event ()
11381137 error_event : Exception | None = None
@@ -1178,13 +1177,12 @@ def on(self, handler: Callable[[SessionEvent], None]) -> Callable[[], None]:
11781177 A function that, when called, unsubscribes the handler.
11791178
11801179 Example:
1181- >>> from typing import cast
11821180 >>> from copilot.generated.session_events import AssistantMessageData, SessionErrorData
11831181 >>> def handle_event(event):
1184- ... if event.type.value == "assistant.message" :
1185- ... print(f"Assistant: {cast(AssistantMessageData, event.data) .content}")
1186- ... elif event.type.value == "session.error" :
1187- ... print(f"Error: {cast(SessionErrorData, event.data) .message}")
1182+ ... if isinstance( event.data, AssistantMessageData) :
1183+ ... print(f"Assistant: {event.data.content}")
1184+ ... elif isinstance( event.data, SessionErrorData) :
1185+ ... print(f"Error: {event.data.message}")
11881186 >>> unsubscribe = session.on(handle_event)
11891187 >>> # Later, to stop receiving events:
11901188 >>> unsubscribe()
@@ -1805,12 +1803,11 @@ async def get_messages(self) -> list[SessionEvent]:
18051803 Exception: If the session has been disconnected or the connection fails.
18061804
18071805 Example:
1808- >>> from typing import cast
18091806 >>> from copilot.generated.session_events import AssistantMessageData
18101807 >>> events = await session.get_messages()
18111808 >>> for event in events:
1812- ... if event.type.value == "assistant.message" :
1813- ... print(f"Assistant: {cast(AssistantMessageData, event.data) .content}")
1809+ ... if isinstance( event.data, AssistantMessageData) :
1810+ ... print(f"Assistant: {event.data.content}")
18141811 """
18151812 response = await self ._client .request ("session.getMessages" , {"sessionId" : self .session_id })
18161813 # Convert dict events to SessionEvent objects
0 commit comments