Skip to content

Commit 213e8a3

Browse files
remove user message wait trigger, move conv agent prompt
1 parent cedc9c5 commit 213e8a3

4 files changed

Lines changed: 330 additions & 32 deletions

File tree

src/uipath/_cli/_chat/_bridge.py

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ def __init__(
5858
self._client: AsyncClient | None = None
5959
self._connected_event = asyncio.Event()
6060

61-
# Set CAS_WEBSOCKET_DISABLED when using the debugger to prevent websocket errors from
61+
# Set CAS_WEBSOCKET_DISABLED when using the debugger to prevent websocket errors from
6262
# interrupting the debugging session. Events will be logged instead of being sent.
63-
self._debug_mode = os.environ.get("CAS_WEBSOCKET_DISABLED") == "true"
63+
self._websocket_disabled = os.environ.get("CAS_WEBSOCKET_DISABLED") == "true"
6464

6565
async def connect(self, timeout: float = 10.0) -> None:
6666
"""Establish WebSocket connection to the server.
@@ -94,8 +94,10 @@ async def connect(self, timeout: float = 10.0) -> None:
9494

9595
self._connected_event.clear()
9696

97-
if self._debug_mode:
98-
logger.warning("SocketIOChatBridge is in debug mode. Not connecting websocket.")
97+
if self._websocket_disabled:
98+
logger.warning(
99+
"SocketIOChatBridge is in debug mode. Not connecting websocket."
100+
)
99101
else:
100102
try:
101103
# Attempt to connect with timeout
@@ -157,7 +159,7 @@ async def emit_message_event(
157159
if self._client is None:
158160
raise RuntimeError("WebSocket client not connected. Call connect() first.")
159161

160-
if not self._connected_event.is_set() and not self._debug_mode:
162+
if not self._connected_event.is_set() and not self._websocket_disabled:
161163
raise RuntimeError("WebSocket client not in connected state")
162164

163165
try:
@@ -174,8 +176,10 @@ async def emit_message_event(
174176
mode="json", exclude_none=True, by_alias=True
175177
)
176178

177-
if self._debug_mode:
178-
logger.info(f"SocketIOChatBridge is in debug mode. Not sending event: {json.dumps(event_data)}")
179+
if self._websocket_disabled:
180+
logger.info(
181+
f"SocketIOChatBridge is in debug mode. Not sending event: {json.dumps(event_data)}"
182+
)
179183
else:
180184
await self._client.emit("ConversationEvent", event_data)
181185

@@ -195,7 +199,7 @@ async def emit_exchange_end_event(self) -> None:
195199
if self._client is None:
196200
raise RuntimeError("WebSocket client not connected. Call connect() first.")
197201

198-
if not self._connected_event.is_set() and not self._debug_mode:
202+
if not self._connected_event.is_set() and not self._websocket_disabled:
199203
raise RuntimeError("WebSocket client not in connected state")
200204

201205
try:
@@ -211,8 +215,10 @@ async def emit_exchange_end_event(self) -> None:
211215
mode="json", exclude_none=True, by_alias=True
212216
)
213217

214-
if self._debug_mode:
215-
logger.info(f"SocketIOChatBridge is in debug mode. Not sending event: {json.dumps(event_data)}")
218+
if self._websocket_disabled:
219+
logger.info(
220+
f"SocketIOChatBridge is in debug mode. Not sending event: {json.dumps(event_data)}"
221+
)
216222
else:
217223
await self._client.emit("ConversationEvent", event_data)
218224

@@ -244,8 +250,10 @@ async def emit_interrupt_event(self, runtime_result: UiPathRuntimeResult):
244250
event_data = interrupt_event.model_dump(
245251
mode="json", exclude_none=True, by_alias=True
246252
)
247-
if self._debug_mode:
248-
logger.info(f"SocketIOChatBridge is in debug mode. Not sending event: {json.dumps(event_data)}")
253+
if self._websocket_disabled:
254+
logger.info(
255+
f"SocketIOChatBridge is in debug mode. Not sending event: {json.dumps(event_data)}"
256+
)
249257
else:
250258
await self._client.emit("ConversationEvent", event_data)
251259
except Exception as e:
@@ -335,7 +343,9 @@ def get_chat_bridge(
335343
if os.environ.get("CAS_WEBSOCKET_HOST"):
336344
websocket_url = f"ws://{os.environ.get('CAS_WEBSOCKET_HOST')}?conversationId={context.conversation_id}"
337345
websocket_path = "/socket.io"
338-
logger.warning(f"CAS_WEBSOCKET_HOST is set. Using websocket_url '{websocket_url}{websocket_path}'.")
346+
logger.warning(
347+
f"CAS_WEBSOCKET_HOST is set. Using websocket_url '{websocket_url}{websocket_path}'."
348+
)
339349

340350
# Build headers from context
341351
headers = {

src/uipath/agent/react/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
This module includes UiPath ReAct Agent Loop constructs such as prompts, tools
44
"""
55

6+
from .conversational_prompts import (
7+
PromptUserSettings,
8+
generate_conversational_agent_system_prompt,
9+
)
610
from .prompts import AGENT_SYSTEM_PROMPT_TEMPLATE
711
from .tools import (
812
END_EXECUTION_TOOL,
@@ -19,4 +23,6 @@
1923
"RAISE_ERROR_TOOL",
2024
"EndExecutionToolSchemaModel",
2125
"RaiseErrorToolSchemaModel",
26+
"PromptUserSettings",
27+
"generate_conversational_agent_system_prompt",
2228
]

0 commit comments

Comments
 (0)