Skip to content

Commit 52c76e6

Browse files
committed
fix: json message parsing
1 parent c2ddd49 commit 52c76e6

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "uipath-mcp"
3-
version = "0.0.12"
3+
version = "0.0.13"
44
description = "UiPath MCP SDK"
55
readme = { file = "README.md", content-type = "text/markdown" }
66
requires-python = ">=3.10"

src/uipath_mcp/_cli/_runtime/_session.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -123,16 +123,10 @@ async def _consume_messages(self):
123123
message = await self._message_queue.get()
124124
try:
125125
if self.write_stream:
126-
if isinstance(message, dict):
127-
json_message = types.JSONRPCMessage.model_validate(message)
128-
elif isinstance(message, str):
129-
json_message = types.JSONRPCMessage.model_validate_json(
130-
message
131-
)
132126
logger.info(
133-
f"Session {self.session_id} - processing queued message: {json_message}..."
127+
f"Session {self.session_id} - processing queued message: {message}..."
134128
)
135-
await self.write_stream.send(json_message)
129+
await self.write_stream.send(message)
136130
logger.info(
137131
f"Session {self.session_id} - message sent to local server"
138132
)
@@ -153,7 +147,7 @@ async def _consume_messages(self):
153147
except asyncio.QueueEmpty:
154148
break
155149

156-
async def send_message(self, message: str) -> None:
150+
async def send_message(self, message: types.JSONRPCMessage) -> None:
157151
"""Queue a message to be sent to the server."""
158152
if not self.running:
159153
logger.warning(
@@ -176,8 +170,14 @@ async def get_messages(self) -> None:
176170
messages = response.json()
177171
logger.info(f"Get messages from UiPath MCP Server: {messages}")
178172
for message in messages:
173+
if isinstance(message, dict):
174+
json_message = types.JSONRPCMessage.model_validate(message)
175+
elif isinstance(message, str):
176+
json_message = types.JSONRPCMessage.model_validate_json(
177+
message
178+
)
179179
logger.info(f"Forwarding message to local MCP Server: {message}")
180-
await self.send_message(message)
180+
await self.send_message(json_message)
181181

182182
async def cleanup(self) -> None:
183183
"""Clean up resources and stop the server."""

0 commit comments

Comments
 (0)