support non url task block (#3983)
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user