Team Ai
Apppublic

Underground-Digital/Workflow-Engine

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
workflow_entities.py77 linesDownload Raw Back to entities
1from typing import Optional2 3from pydantic import BaseModel4 5from core.app.entities.app_invoke_entities import InvokeFrom6from core.workflow.nodes.base import BaseIterationState, BaseNode7from models.enums import UserFrom8from models.workflow import Workflow, WorkflowType9 10from .node_entities import NodeRunResult11from .variable_pool import VariablePool12 13 14class WorkflowNodeAndResult:15    node: BaseNode16    result: Optional[NodeRunResult] = None17 18    def __init__(self, node: BaseNode, result: Optional[NodeRunResult] = None):19        self.node = node20        self.result = result21 22 23class WorkflowRunState:24    tenant_id: str25    app_id: str26    workflow_id: str27    workflow_type: WorkflowType28    user_id: str29    user_from: UserFrom30    invoke_from: InvokeFrom31 32    workflow_call_depth: int33 34    start_at: float35    variable_pool: VariablePool36 37    total_tokens: int = 038 39    workflow_nodes_and_results: list[WorkflowNodeAndResult]40 41    class NodeRun(BaseModel):42        node_id: str43        iteration_node_id: str44 45    workflow_node_runs: list[NodeRun]46    workflow_node_steps: int47 48    current_iteration_state: Optional[BaseIterationState]49 50    def __init__(51        self,52        workflow: Workflow,53        start_at: float,54        variable_pool: VariablePool,55        user_id: str,56        user_from: UserFrom,57        invoke_from: InvokeFrom,58        workflow_call_depth: int,59    ):60        self.workflow_id = workflow.id61        self.tenant_id = workflow.tenant_id62        self.app_id = workflow.app_id63        self.workflow_type = WorkflowType.value_of(workflow.type)64        self.user_id = user_id65        self.user_from = user_from66        self.invoke_from = invoke_from67        self.workflow_call_depth = workflow_call_depth68 69        self.start_at = start_at70        self.variable_pool = variable_pool71 72        self.total_tokens = 073 74        self.workflow_node_steps = 175        self.workflow_node_runs = []76        self.current_iteration_state = None77