add browser console log artifact (#1097)
This commit is contained in:
@@ -1517,6 +1517,16 @@ class ForgeAgent:
|
||||
data=har_data,
|
||||
)
|
||||
|
||||
browser_log = await app.BROWSER_MANAGER.get_browser_console_log(
|
||||
task_id=task.task_id, browser_state=browser_state
|
||||
)
|
||||
if browser_log:
|
||||
await app.ARTIFACT_MANAGER.create_artifact(
|
||||
step=last_step,
|
||||
artifact_type=ArtifactType.BROWSER_CONSOLE_LOG,
|
||||
data=browser_log,
|
||||
)
|
||||
|
||||
if browser_state.browser_context and browser_state.browser_artifacts.traces_dir:
|
||||
trace_path = f"{browser_state.browser_artifacts.traces_dir}/{task.task_id}.zip"
|
||||
await app.ARTIFACT_MANAGER.create_artifact(
|
||||
|
||||
@@ -8,6 +8,7 @@ from pydantic import BaseModel, Field, field_serializer
|
||||
|
||||
class ArtifactType(StrEnum):
|
||||
RECORDING = "recording"
|
||||
BROWSER_CONSOLE_LOG = "browser_console_log"
|
||||
|
||||
# DEPRECATED. pls use SCREENSHOT_LLM, SCREENSHOT_ACTION or SCREENSHOT_FINAL
|
||||
SCREENSHOT = "screenshot"
|
||||
|
||||
@@ -6,6 +6,7 @@ from skyvern.forge.sdk.models import Step
|
||||
# TODO: This should be a part of the ArtifactType model
|
||||
FILE_EXTENTSION_MAP: dict[ArtifactType, str] = {
|
||||
ArtifactType.RECORDING: "webm",
|
||||
ArtifactType.BROWSER_CONSOLE_LOG: "log",
|
||||
ArtifactType.SCREENSHOT_LLM: "png",
|
||||
ArtifactType.SCREENSHOT_ACTION: "png",
|
||||
ArtifactType.SCREENSHOT_FINAL: "png",
|
||||
|
||||
@@ -843,6 +843,25 @@ class WorkflowService:
|
||||
data=har_data,
|
||||
)
|
||||
|
||||
async def persist_browser_console_log(
|
||||
self,
|
||||
browser_state: BrowserState,
|
||||
last_step: Step,
|
||||
workflow: Workflow,
|
||||
workflow_run: WorkflowRun,
|
||||
) -> None:
|
||||
browser_log = await app.BROWSER_MANAGER.get_browser_console_log(
|
||||
workflow_id=workflow.workflow_id,
|
||||
workflow_run_id=workflow_run.workflow_run_id,
|
||||
browser_state=browser_state,
|
||||
)
|
||||
if browser_log:
|
||||
await app.ARTIFACT_MANAGER.create_artifact(
|
||||
step=last_step,
|
||||
artifact_type=ArtifactType.BROWSER_CONSOLE_LOG,
|
||||
data=browser_log,
|
||||
)
|
||||
|
||||
async def persist_tracing_data(
|
||||
self, browser_state: BrowserState, last_step: Step, workflow_run: WorkflowRun
|
||||
) -> None:
|
||||
|
||||
Reference in New Issue
Block a user