Skip to content

Commit bff1020

Browse files
committed
feat: include folder info for actions
1 parent 86343b7 commit bff1020

File tree

4 files changed

+32
-16
lines changed

4 files changed

+32
-16
lines changed

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
[project]
22
name = "uipath-langchain"
3-
version = "0.0.88"
3+
version = "0.0.89"
44
description = "UiPath Langchain"
55
readme = { file = "README.md", content-type = "text/markdown" }
66
requires-python = ">=3.10"
77
dependencies = [
8-
"uipath>=2.0.4, <2.1.0",
8+
"uipath>=2.0.8, <2.1.0",
99
"langgraph>=0.2.70",
1010
"langchain-core>=0.3.34",
1111
"langgraph-checkpoint-sqlite>=2.0.3",

src/uipath_langchain/_cli/_runtime/_input.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,10 @@ async def process(self) -> Any:
5858
if not trigger:
5959
return Command(resume=self.context.input_json)
6060

61-
type, key = trigger
61+
type, key, folder_path, folder_key, payload = trigger
6262
logger.debug(f"ResumeTrigger: {type} {key}")
6363
if type == UiPathResumeTriggerType.ACTION.value and key:
64-
action = self.uipath.actions.retrieve(key)
64+
action = await self.uipath.actions.retrieve_async(key, app_folder_key=folder_key, app_folder_path=folder_path)
6565
logger.debug(f"Action: {action}")
6666
if action.data is None:
6767
return Command(resume={})
@@ -106,7 +106,7 @@ async def _get_latest_trigger(self) -> Optional[tuple[str, str]]:
106106
self.context.memory.conn.cursor() as cur,
107107
):
108108
await cur.execute(f"""
109-
SELECT type, key
109+
SELECT type, key, folder_path, folder_key, payload
110110
FROM {self.context.resume_triggers_table}
111111
ORDER BY timestamp DESC
112112
LIMIT 1

src/uipath_langchain/_cli/_runtime/_output.py

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,9 @@ async def _save_resume_trigger(self) -> None:
232232
id INTEGER PRIMARY KEY AUTOINCREMENT,
233233
type TEXT NOT NULL,
234234
key TEXT,
235+
folder_key TEXT,
236+
folder_path TEXT,
237+
payload TEXT,
235238
timestamp DATETIME DEFAULT (strftime('%Y-%m-%d %H:%M:%S', 'now', 'utc'))
236239
)
237240
""")
@@ -277,11 +280,17 @@ async def _save_resume_trigger(self) -> None:
277280
if isinstance(self.interrupt_value, CreateAction):
278281
action = uipath_sdk.actions.create(
279282
title=self.interrupt_value.title,
280-
app_name=self.interrupt_value.name
281-
if self.interrupt_value.name
283+
app_name=self.interrupt_value.app_name
284+
if self.interrupt_value.app_name
282285
else "",
283-
app_key=self.interrupt_value.key
284-
if self.interrupt_value.key
286+
app_folder_path=self.interrupt_value.app_folder_path
287+
if self.interrupt_value.app_folder_path
288+
else "",
289+
app_folder_key=self.interrupt_value.app_folder_key
290+
if self.interrupt_value.app_folder_key
291+
else "",
292+
app_key=self.interrupt_value.app_key
293+
if self.interrupt_value.app_key
285294
else "",
286295
app_version=self.interrupt_value.app_version
287296
if self.interrupt_value.app_version
@@ -295,11 +304,17 @@ async def _save_resume_trigger(self) -> None:
295304
self._resume_trigger = UiPathResumeTrigger(
296305
trigger_type=UiPathResumeTriggerType.ACTION,
297306
item_key=action.key,
307+
payload=self.interrupt_value.model_dump_json(),
308+
folder_path=self.interrupt_value.app_folder_path if self.interrupt_value.app_folder_path else None,
309+
folder_key=self.interrupt_value.app_folder_key if self.interrupt_value.app_folder_key else None
298310
)
299311
elif isinstance(self.interrupt_value, WaitAction):
300312
self._resume_trigger = UiPathResumeTrigger(
301313
triggerType=UiPathResumeTriggerType.ACTION,
302314
itemKey=self.interrupt_value.action.key,
315+
payload=self.interrupt_value.model_dump_json(),
316+
folder_path=self.interrupt_value.action.app_folder_path if self.interrupt_value.app_folder_path else None,
317+
folder_key=self.interrupt_value.action.app_folder_key if self.interrupt_value.app_folder_key else None
303318
)
304319

305320
except Exception as e:
@@ -324,8 +339,8 @@ async def _save_resume_trigger(self) -> None:
324339
try:
325340
logger.debug(f"ResumeTrigger: {trigger_type} {trigger_key}")
326341
await cur.execute(
327-
f"INSERT INTO {self.context.resume_triggers_table} (type, key) VALUES (?, ?)",
328-
(trigger_type, trigger_key),
342+
f"INSERT INTO {self.context.resume_triggers_table} (type, key, payload, folder_path, folder_key) VALUES (?, ?, ?, ?, ?)",
343+
(trigger_type, trigger_key, self.resume_trigger.payload, self.resume_trigger.folder_path, self.resume_trigger.folder_key)
329344
)
330345
await self.context.memory.conn.commit()
331346
except Exception as e:

uv.lock

Lines changed: 6 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)