| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
							- from collections.abc import Sequence
 
- from enum import Enum
 
- from pydantic import BaseModel, Field
 
- from core.workflow.nodes.base import BaseNodeData
 
- class AnswerNodeData(BaseNodeData):
 
-     """
 
-     Answer Node Data.
 
-     """
 
-     answer: str = Field(..., description="answer template string")
 
- class GenerateRouteChunk(BaseModel):
 
-     """
 
-     Generate Route Chunk.
 
-     """
 
-     class ChunkType(Enum):
 
-         VAR = "var"
 
-         TEXT = "text"
 
-     type: ChunkType = Field(..., description="generate route chunk type")
 
- class VarGenerateRouteChunk(GenerateRouteChunk):
 
-     """
 
-     Var Generate Route Chunk.
 
-     """
 
-     type: GenerateRouteChunk.ChunkType = GenerateRouteChunk.ChunkType.VAR
 
-     """generate route chunk type"""
 
-     value_selector: Sequence[str] = Field(..., description="value selector")
 
- class TextGenerateRouteChunk(GenerateRouteChunk):
 
-     """
 
-     Text Generate Route Chunk.
 
-     """
 
-     type: GenerateRouteChunk.ChunkType = GenerateRouteChunk.ChunkType.TEXT
 
-     """generate route chunk type"""
 
-     text: str = Field(..., description="text")
 
- class AnswerNodeDoubleLink(BaseModel):
 
-     node_id: str = Field(..., description="node id")
 
-     source_node_ids: list[str] = Field(..., description="source node ids")
 
-     target_node_ids: list[str] = Field(..., description="target node ids")
 
- class AnswerStreamGenerateRoute(BaseModel):
 
-     """
 
-     AnswerStreamGenerateRoute entity
 
-     """
 
-     answer_dependencies: dict[str, list[str]] = Field(
 
-         ..., description="answer dependencies (answer node id -> dependent answer node ids)"
 
-     )
 
-     answer_generate_route: dict[str, list[GenerateRouteChunk]] = Field(
 
-         ..., description="answer generate route (answer node id -> generate route chunks)"
 
-     )
 
 
  |