diff --git a/api/core/workflow/nodes/answer/answer_stream_generate_router.py b/api/core/workflow/nodes/answer/answer_stream_generate_router.py index ce6095a34f..a5ab818673 100644 --- a/api/core/workflow/nodes/answer/answer_stream_generate_router.py +++ b/api/core/workflow/nodes/answer/answer_stream_generate_router.py @@ -23,7 +23,7 @@ class AnswerStreamGeneratorRouter: """ # parse stream output node value selectors of answer nodes answer_generate_route: dict[str, list[GenerateRouteChunk]] = {} - answer_stream_variable_selectors_mapping: dict[str, list[list[str]]] = {} + answer_stream_variable_selectors_mapping: dict[str, list[GenerateRouteChunk]] = {} for answer_node_id, node_config in node_id_config_mapping.items(): if node_config.get("data", {}).get("type") != NodeType.ANSWER.value: continue diff --git a/api/core/workflow/nodes/answer/entities.py b/api/core/workflow/nodes/answer/entities.py index 871a965e5d..530327cdf5 100644 --- a/api/core/workflow/nodes/answer/entities.py +++ b/api/core/workflow/nodes/answer/entities.py @@ -65,3 +65,11 @@ class AnswerStreamGenerateRoute(BaseModel): answer_generate_route: dict[str, list[GenerateRouteChunk]] = Field( ..., description="answer generate route (answer node id -> generate route chunks)" ) + answer_stream_variable_selectors_mapping: dict[str, list[GenerateRouteChunk]] = Field( + default_factory=dict, + description="answer node id -> generate route chunks for streaming variable selectors", + ) + answer_end_dependencies: dict[str, list[str]] = Field( + default_factory=dict, + description="answer node id -> dependent answer node ids at message end", + )