laminar fix attempt (#3742)

This commit is contained in:
pedrohsdb
2025-10-16 09:55:24 -07:00
committed by GitHub
parent 0a993f18ea
commit 8b93cdf5ad
5 changed files with 8 additions and 19 deletions

View File

@@ -83,7 +83,6 @@ from skyvern.forge.sdk.schemas.organizations import Organization
from skyvern.forge.sdk.schemas.tasks import Task, TaskRequest, TaskResponse, TaskStatus from skyvern.forge.sdk.schemas.tasks import Task, TaskRequest, TaskResponse, TaskStatus
from skyvern.forge.sdk.schemas.totp_codes import OTPType from skyvern.forge.sdk.schemas.totp_codes import OTPType
from skyvern.forge.sdk.trace import TraceManager from skyvern.forge.sdk.trace import TraceManager
from skyvern.forge.sdk.trace.experiment_utils import collect_experiment_metadata_safely
from skyvern.forge.sdk.workflow.context_manager import WorkflowRunContext from skyvern.forge.sdk.workflow.context_manager import WorkflowRunContext
from skyvern.forge.sdk.workflow.models.block import ActionBlock, BaseTaskBlock, ValidationBlock from skyvern.forge.sdk.workflow.models.block import ActionBlock, BaseTaskBlock, ValidationBlock
from skyvern.forge.sdk.workflow.models.workflow import Workflow, WorkflowRun, WorkflowRunStatus from skyvern.forge.sdk.workflow.models.workflow import Workflow, WorkflowRun, WorkflowRunStatus
@@ -315,11 +314,6 @@ class ForgeAgent:
close_browser_on_completion and browser_session_id is None and not task.browser_address close_browser_on_completion and browser_session_id is None and not task.browser_address
) )
# Collect and add experiment metadata to the trace
experiment_metadata = await collect_experiment_metadata_safely(app.EXPERIMENTATION_PROVIDER)
if experiment_metadata:
TraceManager.add_experiment_metadata(experiment_metadata)
workflow_run: WorkflowRun | None = None workflow_run: WorkflowRun | None = None
if task.workflow_run_id: if task.workflow_run_id:
workflow_run = await app.DATABASE.get_workflow_run( workflow_run = await app.DATABASE.get_workflow_run(

View File

@@ -1,9 +1,11 @@
from functools import wraps from functools import wraps
from typing import Any, Awaitable, Callable, ParamSpec, TypeVar from typing import Any, Awaitable, Callable, ParamSpec, TypeVar
from skyvern.forge import app
from skyvern.forge.sdk.core import skyvern_context from skyvern.forge.sdk.core import skyvern_context
from skyvern.forge.sdk.settings_manager import SettingsManager from skyvern.forge.sdk.settings_manager import SettingsManager
from skyvern.forge.sdk.trace.base import BaseTrace, NoOpTrace from skyvern.forge.sdk.trace.base import BaseTrace, NoOpTrace
from skyvern.forge.sdk.trace.experiment_utils import collect_experiment_metadata_safely
P = ParamSpec("P") P = ParamSpec("P")
R = TypeVar("R") R = TypeVar("R")
@@ -37,6 +39,11 @@ class TraceManager:
new_metadata["organization_name"] = context.organization_name new_metadata["organization_name"] = context.organization_name
user_id = context.run_id user_id = context.run_id
# Collect experiment metadata and include it in the span metadata
experiment_metadata = await collect_experiment_metadata_safely(app.EXPERIMENTATION_PROVIDER)
if experiment_metadata:
new_metadata.update(experiment_metadata)
new_tags: list[str] = tags or [] new_tags: list[str] = tags or []
new_tags.append(SettingsManager.get_settings().ENV) new_tags.append(SettingsManager.get_settings().ENV)

View File

@@ -42,7 +42,7 @@ class LaminarTrace(BaseTrace):
# Map status to appropriate tag # Map status to appropriate tag
status_tag_map = { status_tag_map = {
"completed": "COMPLETION", "completed": "COMPLETED",
"failed": "FAILURE", "failed": "FAILURE",
"timed_out": "TIMEOUT", "timed_out": "TIMEOUT",
"canceled": "CANCELED", "canceled": "CANCELED",

View File

@@ -41,7 +41,6 @@ from skyvern.forge.sdk.schemas.organizations import Organization
from skyvern.forge.sdk.schemas.tasks import Task from skyvern.forge.sdk.schemas.tasks import Task
from skyvern.forge.sdk.schemas.workflow_runs import WorkflowRunBlock, WorkflowRunTimeline, WorkflowRunTimelineType from skyvern.forge.sdk.schemas.workflow_runs import WorkflowRunBlock, WorkflowRunTimeline, WorkflowRunTimelineType
from skyvern.forge.sdk.trace import TraceManager from skyvern.forge.sdk.trace import TraceManager
from skyvern.forge.sdk.trace.experiment_utils import collect_experiment_metadata_safely
from skyvern.forge.sdk.workflow.exceptions import ( from skyvern.forge.sdk.workflow.exceptions import (
ContextParameterSourceNotDefined, ContextParameterSourceNotDefined,
InvalidWaitBlockTime, InvalidWaitBlockTime,
@@ -347,11 +346,6 @@ class WorkflowService:
"""Execute a workflow.""" """Execute a workflow."""
organization_id = organization.organization_id organization_id = organization.organization_id
# Collect and add experiment metadata to the trace
experiment_metadata = await collect_experiment_metadata_safely(app.EXPERIMENTATION_PROVIDER)
if experiment_metadata:
TraceManager.add_experiment_metadata(experiment_metadata)
LOG.info( LOG.info(
"Executing workflow", "Executing workflow",
workflow_run_id=workflow_run_id, workflow_run_id=workflow_run_id,

View File

@@ -29,7 +29,6 @@ from skyvern.forge.sdk.schemas.organizations import Organization
from skyvern.forge.sdk.schemas.task_v2 import TaskV2, TaskV2Metadata, TaskV2Status, ThoughtScenario, ThoughtType from skyvern.forge.sdk.schemas.task_v2 import TaskV2, TaskV2Metadata, TaskV2Status, ThoughtScenario, ThoughtType
from skyvern.forge.sdk.schemas.workflow_runs import WorkflowRunTimeline, WorkflowRunTimelineType from skyvern.forge.sdk.schemas.workflow_runs import WorkflowRunTimeline, WorkflowRunTimelineType
from skyvern.forge.sdk.trace import TraceManager from skyvern.forge.sdk.trace import TraceManager
from skyvern.forge.sdk.trace.experiment_utils import collect_experiment_metadata_safely
from skyvern.forge.sdk.workflow.models.block import ( from skyvern.forge.sdk.workflow.models.block import (
BlockTypeVar, BlockTypeVar,
ExtractionBlock, ExtractionBlock,
@@ -327,11 +326,6 @@ async def run_task_v2(
LOG.error("Task v2 not found", task_v2_id=task_v2_id, organization_id=organization_id) LOG.error("Task v2 not found", task_v2_id=task_v2_id, organization_id=organization_id)
raise TaskV2NotFound(task_v2_id=task_v2_id) raise TaskV2NotFound(task_v2_id=task_v2_id)
# Collect and add experiment metadata to the trace
experiment_metadata = await collect_experiment_metadata_safely(app.EXPERIMENTATION_PROVIDER)
if experiment_metadata:
TraceManager.add_experiment_metadata(experiment_metadata)
workflow, workflow_run = None, None workflow, workflow_run = None, None
try: try:
workflow, workflow_run, task_v2 = await run_task_v2_helper( workflow, workflow_run, task_v2 = await run_task_v2_helper(