node_entities.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. from collections.abc import Mapping
  2. from typing import Any, Optional
  3. from pydantic import BaseModel
  4. from core.model_runtime.entities.llm_entities import LLMUsage
  5. from core.workflow.entities.workflow_node_execution import WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionStatus
  6. class NodeRunResult(BaseModel):
  7. """
  8. Node Run Result.
  9. """
  10. status: WorkflowNodeExecutionStatus = WorkflowNodeExecutionStatus.RUNNING
  11. inputs: Optional[Mapping[str, Any]] = None # node inputs
  12. process_data: Optional[Mapping[str, Any]] = None # process data
  13. outputs: Optional[Mapping[str, Any]] = None # node outputs
  14. metadata: Optional[Mapping[WorkflowNodeExecutionMetadataKey, Any]] = None # node metadata
  15. llm_usage: Optional[LLMUsage] = None # llm usage
  16. edge_source_handle: Optional[str] = None # source handle id of node with multiple branches
  17. error: Optional[str] = None # error message if status is failed
  18. error_type: Optional[str] = None # error type if status is failed
  19. # single step node run retry
  20. retry_index: int = 0
  21. class AgentNodeStrategyInit(BaseModel):
  22. name: str
  23. icon: str | None = None