support cdp for task and workflow (#3244)
This commit is contained in:
@@ -187,6 +187,7 @@ class ForgeAgent:
|
||||
model=task_block.model,
|
||||
max_screenshot_scrolling_times=workflow_run.max_screenshot_scrolls,
|
||||
extra_http_headers=workflow_run.extra_http_headers,
|
||||
browser_address=workflow_run.browser_address,
|
||||
)
|
||||
LOG.info(
|
||||
"Created a new task for workflow run",
|
||||
@@ -255,6 +256,7 @@ class ForgeAgent:
|
||||
max_screenshot_scrolling_times=task_request.max_screenshot_scrolls,
|
||||
extra_http_headers=task_request.extra_http_headers,
|
||||
browser_session_id=task_request.browser_session_id,
|
||||
browser_address=task_request.browser_address,
|
||||
)
|
||||
LOG.info(
|
||||
"Created new task",
|
||||
@@ -292,6 +294,10 @@ class ForgeAgent:
|
||||
if engine in CUA_ENGINES:
|
||||
complete_verification = False
|
||||
|
||||
close_browser_on_completion = (
|
||||
close_browser_on_completion and browser_session_id is None and not task.browser_address
|
||||
)
|
||||
|
||||
workflow_run: WorkflowRun | None = None
|
||||
if task.workflow_run_id:
|
||||
workflow_run = await app.DATABASE.get_workflow_run(
|
||||
@@ -352,7 +358,7 @@ class ForgeAgent:
|
||||
api_key=api_key,
|
||||
need_call_webhook=True,
|
||||
browser_session_id=browser_session_id,
|
||||
close_browser_on_completion=close_browser_on_completion and browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
)
|
||||
return step, None, None
|
||||
|
||||
@@ -410,7 +416,7 @@ class ForgeAgent:
|
||||
last_step=step,
|
||||
api_key=api_key,
|
||||
need_call_webhook=True,
|
||||
close_browser_on_completion=close_browser_on_completion and browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
browser_session_id=browser_session_id,
|
||||
)
|
||||
return step, detailed_output, None
|
||||
@@ -517,7 +523,7 @@ class ForgeAgent:
|
||||
task=completed_task,
|
||||
last_step=last_step,
|
||||
api_key=api_key,
|
||||
close_browser_on_completion=close_browser_on_completion and browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
browser_session_id=browser_session_id,
|
||||
)
|
||||
return last_step, detailed_output, None
|
||||
@@ -534,7 +540,7 @@ class ForgeAgent:
|
||||
task=task,
|
||||
last_step=step,
|
||||
api_key=api_key,
|
||||
close_browser_on_completion=close_browser_on_completion and browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
browser_session_id=browser_session_id,
|
||||
)
|
||||
return step, detailed_output, None
|
||||
@@ -557,7 +563,7 @@ class ForgeAgent:
|
||||
task=task,
|
||||
last_step=last_step,
|
||||
api_key=api_key,
|
||||
close_browser_on_completion=close_browser_on_completion and browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
browser_session_id=browser_session_id,
|
||||
)
|
||||
return last_step, detailed_output, None
|
||||
@@ -642,7 +648,7 @@ class ForgeAgent:
|
||||
task=task,
|
||||
last_step=step,
|
||||
api_key=api_key,
|
||||
close_browser_on_completion=browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
browser_session_id=browser_session_id,
|
||||
)
|
||||
return step, detailed_output, None
|
||||
@@ -659,7 +665,7 @@ class ForgeAgent:
|
||||
task=task,
|
||||
last_step=step,
|
||||
api_key=api_key,
|
||||
close_browser_on_completion=close_browser_on_completion and browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
browser_session_id=browser_session_id,
|
||||
)
|
||||
else:
|
||||
@@ -694,7 +700,7 @@ class ForgeAgent:
|
||||
task=task,
|
||||
last_step=step,
|
||||
api_key=api_key,
|
||||
close_browser_on_completion=close_browser_on_completion and browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
need_final_screenshot=False,
|
||||
browser_session_id=browser_session_id,
|
||||
)
|
||||
@@ -716,7 +722,7 @@ class ForgeAgent:
|
||||
api_key=api_key,
|
||||
need_call_webhook=False,
|
||||
browser_session_id=browser_session_id,
|
||||
close_browser_on_completion=close_browser_on_completion and browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
)
|
||||
return step, detailed_output, None
|
||||
except InvalidTaskStatusTransition:
|
||||
@@ -732,7 +738,7 @@ class ForgeAgent:
|
||||
api_key=api_key,
|
||||
need_call_webhook=False,
|
||||
browser_session_id=browser_session_id,
|
||||
close_browser_on_completion=close_browser_on_completion and browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
)
|
||||
return step, detailed_output, None
|
||||
except (UnsupportedActionType, UnsupportedTaskType, FailedToParseActionInstruction) as e:
|
||||
@@ -750,7 +756,7 @@ class ForgeAgent:
|
||||
api_key=api_key,
|
||||
need_call_webhook=False,
|
||||
browser_session_id=browser_session_id,
|
||||
close_browser_on_completion=close_browser_on_completion and browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
)
|
||||
return step, detailed_output, None
|
||||
except ScrapingFailed as sfe:
|
||||
@@ -771,7 +777,7 @@ class ForgeAgent:
|
||||
task=task,
|
||||
last_step=step,
|
||||
api_key=api_key,
|
||||
close_browser_on_completion=close_browser_on_completion and browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
browser_session_id=browser_session_id,
|
||||
)
|
||||
return step, detailed_output, None
|
||||
@@ -792,7 +798,7 @@ class ForgeAgent:
|
||||
task=task,
|
||||
last_step=step,
|
||||
api_key=api_key,
|
||||
close_browser_on_completion=close_browser_on_completion and browser_session_id is None,
|
||||
close_browser_on_completion=close_browser_on_completion,
|
||||
browser_session_id=browser_session_id,
|
||||
)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user