aeonshift commited on
Commit
62935c3
·
verified ·
1 Parent(s): cad7d6a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -6
app.py CHANGED
@@ -133,14 +133,15 @@ async def handle_sse(request: Request):
133
  )
134
  logger.debug(f"Sent endpoint event: {endpoint_data}")
135
  async for session_message in write_stream_reader:
136
- # Since session_message might be a dict or a SessionMessage, handle both cases
137
- if isinstance(session_message, dict):
138
- event_data = session_message
139
- logger.debug(f"Received SSE event (dict): {event_data}")
140
- else:
141
  message_data = session_message.message.model_dump_json(by_alias=True, exclude_none=True)
142
  event_data = json.loads(message_data)
143
- logger.debug(f"Received SSE event (SessionMessage): {event_data}")
 
 
 
144
  # Extract session_id from the endpoint event
145
  if not session_id and event_data.get("event") == "endpoint":
146
  endpoint_url = event_data.get("data", "")
 
133
  )
134
  logger.debug(f"Sent endpoint event: {endpoint_data}")
135
  async for session_message in write_stream_reader:
136
+ # Since SseServerTransport expects a SessionMessage, we'll handle messages manually
137
+ # and send raw SSE events to avoid the error in SseServerTransport's sse_writer
138
+ if hasattr(session_message, 'message'):
 
 
139
  message_data = session_message.message.model_dump_json(by_alias=True, exclude_none=True)
140
  event_data = json.loads(message_data)
141
+ logger.debug(f"Received SessionMessage: {event_data}")
142
+ else:
143
+ event_data = session_message
144
+ logger.debug(f"Received dict event: {event_data}")
145
  # Extract session_id from the endpoint event
146
  if not session_id and event_data.get("event") == "endpoint":
147
  endpoint_url = event_data.get("data", "")