Smarter select_option & input_text actions (#3440)
This commit is contained in:
28
skyvern/services/service_utils.py
Normal file
28
skyvern/services/service_utils.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from skyvern.forge import app
|
||||
from skyvern.forge.sdk.schemas.tasks import Task
|
||||
from skyvern.schemas.runs import CUA_ENGINES, CUA_RUN_TYPES
|
||||
|
||||
|
||||
async def is_cua_task(
|
||||
*,
|
||||
task: Task,
|
||||
) -> bool:
|
||||
"""Return True if the run, engine, or task indicates a CUA task."""
|
||||
|
||||
if task.workflow_run_id:
|
||||
# it's a task based block, should look up the block run to see if it's a CUA task
|
||||
block = await app.DATABASE.get_workflow_run_block_by_task_id(
|
||||
task_id=task.task_id,
|
||||
organization_id=task.organization_id,
|
||||
)
|
||||
if block.engine is not None and block.engine in CUA_ENGINES:
|
||||
return True
|
||||
|
||||
run = await app.DATABASE.get_run(
|
||||
run_id=task.task_id,
|
||||
organization_id=task.organization_id,
|
||||
)
|
||||
if run and run.task_run_type in CUA_RUN_TYPES:
|
||||
return True
|
||||
|
||||
return False
|
||||
Reference in New Issue
Block a user