entities.py 818 B

1234567891011121314151617181920212223242526
  1. from typing import Literal, Optional
  2. from pydantic import BaseModel
  3. from core.helper.code_executor.code_executor import CodeLanguage
  4. from core.workflow.entities.base_node_data_entities import BaseNodeData
  5. from core.workflow.entities.variable_entities import VariableSelector
  6. class CodeNodeData(BaseNodeData):
  7. """
  8. Code Node Data.
  9. """
  10. class Output(BaseModel):
  11. type: Literal['string', 'number', 'object', 'array[string]', 'array[number]', 'array[object]']
  12. children: Optional[dict[str, 'Output']] = None
  13. class Dependency(BaseModel):
  14. name: str
  15. version: str
  16. variables: list[VariableSelector]
  17. code_language: Literal[CodeLanguage.PYTHON3, CodeLanguage.JAVASCRIPT]
  18. code: str
  19. outputs: dict[str, Output]
  20. dependencies: Optional[list[Dependency]] = None