🔄 synced local 'skyvern/' with remote 'skyvern/' (#2005)

This commit is contained in:
Shuchang Zheng
2025-03-23 17:10:17 -07:00
committed by GitHub
parent fc32f917f8
commit 70adf8b9c6

View File

@@ -211,26 +211,9 @@ class Block(BaseModel, abc.ABC):
) -> BlockResult:
pass
async def execute_safe(
self,
workflow_run_id: str,
parent_workflow_run_block_id: str | None = None,
organization_id: str | None = None,
browser_session_id: str | None = None,
**kwargs: dict,
) -> BlockResult:
workflow_run_block_id = None
try:
workflow_run_block = await app.DATABASE.create_workflow_run_block(
workflow_run_id=workflow_run_id,
organization_id=organization_id,
parent_workflow_run_block_id=parent_workflow_run_block_id,
label=self.label,
block_type=self.block_type,
continue_on_failure=self.continue_on_failure,
)
workflow_run_block_id = workflow_run_block.workflow_run_block_id
async def _generate_workflow_run_block_description(
self, workflow_run_block_id: str, organization_id: str | None = None
) -> None:
description = None
try:
block_data = self.model_dump(
@@ -262,18 +245,41 @@ class Block(BaseModel, abc.ABC):
LOG.info(
"Generated description for the workflow run block",
description=description,
workflow_run_block_id=workflow_run_block.workflow_run_block_id,
workflow_run_block_id=workflow_run_block_id,
)
except Exception as e:
LOG.exception("Failed to generate description for the workflow run block", error=e)
if description:
workflow_run_block = await app.DATABASE.update_workflow_run_block(
workflow_run_block_id=workflow_run_block.workflow_run_block_id,
await app.DATABASE.update_workflow_run_block(
workflow_run_block_id=workflow_run_block_id,
description=description,
organization_id=organization_id,
)
async def execute_safe(
self,
workflow_run_id: str,
parent_workflow_run_block_id: str | None = None,
organization_id: str | None = None,
browser_session_id: str | None = None,
**kwargs: dict,
) -> BlockResult:
workflow_run_block_id = None
try:
workflow_run_block = await app.DATABASE.create_workflow_run_block(
workflow_run_id=workflow_run_id,
organization_id=organization_id,
parent_workflow_run_block_id=parent_workflow_run_block_id,
label=self.label,
block_type=self.block_type,
continue_on_failure=self.continue_on_failure,
)
workflow_run_block_id = workflow_run_block.workflow_run_block_id
# generate the description for the workflow run block asynchronously
asyncio.create_task(self._generate_workflow_run_block_description(workflow_run_block_id, organization_id))
# create a screenshot
browser_state = app.BROWSER_MANAGER.get_for_workflow_run(workflow_run_id)
if not browser_state: