support non url task block (#3983)

This commit is contained in:
LawyZheng
2025-11-13 14:28:45 +08:00
committed by GitHub
parent bf4808f336
commit 40cc6c7b47

View File

@@ -47,7 +47,6 @@ from skyvern.exceptions import (
FailedToTakeScreenshot, FailedToTakeScreenshot,
InvalidTaskStatusTransition, InvalidTaskStatusTransition,
InvalidWorkflowTaskURLState, InvalidWorkflowTaskURLState,
MissingBrowserState,
MissingBrowserStatePage, MissingBrowserStatePage,
NoTOTPVerificationCodeFound, NoTOTPVerificationCodeFound,
ScrapingFailed, ScrapingFailed,
@@ -174,21 +173,22 @@ class ForgeAgent:
browser_state = app.BROWSER_MANAGER.get_for_workflow_run( browser_state = app.BROWSER_MANAGER.get_for_workflow_run(
workflow_run_id=workflow_run.workflow_run_id, parent_workflow_run_id=workflow_run.parent_workflow_run_id workflow_run_id=workflow_run.workflow_run_id, parent_workflow_run_id=workflow_run.parent_workflow_run_id
) )
if browser_state is None: if browser_state is not None:
raise MissingBrowserState(workflow_run_id=workflow_run.workflow_run_id) working_page = await browser_state.get_working_page()
if not working_page:
LOG.error(
"BrowserState has no page",
workflow_run_id=workflow_run.workflow_run_id,
)
raise MissingBrowserStatePage(workflow_run_id=workflow_run.workflow_run_id)
working_page = await browser_state.get_working_page() if working_page.url == "about:blank":
if not working_page: raise InvalidWorkflowTaskURLState(workflow_run.workflow_run_id)
LOG.error(
"BrowserState has no page",
workflow_run_id=workflow_run.workflow_run_id,
)
raise MissingBrowserStatePage(workflow_run_id=workflow_run.workflow_run_id)
if working_page.url == "about:blank": task_url = working_page.url
raise InvalidWorkflowTaskURLState(workflow_run.workflow_run_id) else:
LOG.info("No browser state found for workflow run, setting task url to empty string")
task_url = working_page.url task_url = ""
task = await app.DATABASE.create_task( task = await app.DATABASE.create_task(
url=task_url, url=task_url,