Skip to content

Commit 7381e89

Browse files
chore: support for multiple resume triggers
1 parent f77bffa commit 7381e89

File tree

3 files changed

+14
-4
lines changed

3 files changed

+14
-4
lines changed

src/uipath/runtime/result.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class UiPathRuntimeResult(UiPathRuntimeEvent):
2424
output: dict[str, Any] | BaseModel | str | None = None
2525
status: UiPathRuntimeStatus = UiPathRuntimeStatus.SUCCESSFUL
2626
trigger: UiPathResumeTrigger | None = None
27+
triggers: list[UiPathResumeTrigger] | None = None
2728
error: UiPathErrorContract | None = None
2829

2930
event_type: UiPathRuntimeEventType = Field(
@@ -42,14 +43,20 @@ def to_dict(self) -> dict[str, Any]:
4243
else:
4344
output_data = self.output
4445

45-
result = {
46+
result: dict[str, Any] = {
4647
"output": output_data,
4748
"status": self.status,
4849
}
4950

5051
if self.trigger:
5152
result["resume"] = self.trigger.model_dump(by_alias=True)
5253

54+
if self.triggers:
55+
result["resumeTriggers"] = [
56+
resume_trigger.model_dump(by_alias=True)
57+
for resume_trigger in self.triggers
58+
]
59+
5360
if self.error:
5461
result["error"] = self.error.model_dump()
5562

src/uipath/runtime/resumable/protocols.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ async def get_latest_trigger(self, runtime_id: str) -> UiPathResumeTrigger | Non
3030
"""
3131
...
3232

33-
async def set_value(self, runtime_id: str, namespace: str, key: str, value: Any) -> None:
33+
async def set_value(
34+
self, runtime_id: str, namespace: str, key: str, value: Any
35+
) -> None:
3436
"""Store values for a specific runtime.
3537
3638
Args:
@@ -55,11 +57,12 @@ async def get_value(self, runtime_id: str, namespace: str, key: str) -> Any:
5557
Returns:
5658
The value matching the method's parameters, or None if it does not exist
5759
58-
Raises:
60+
Raises:
5961
Exception: If retrieval operation fails
6062
"""
6163
...
6264

65+
6366
class UiPathResumeTriggerCreatorProtocol(Protocol):
6467
"""Protocol for creating resume triggers from suspend values."""
6568

src/uipath/runtime/resumable/runtime.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def __init__(
3535
delegate: UiPathRuntimeProtocol,
3636
storage: UiPathResumableStorageProtocol,
3737
trigger_manager: UiPathResumeTriggerProtocol,
38-
runtime_id: str
38+
runtime_id: str,
3939
):
4040
"""Initialize the resumable runtime wrapper.
4141

0 commit comments

Comments
 (0)