mirror of https://github.com/langgenius/dify.git
refactor(api): Separate SegmentType for Integer/Float to Enable Pydantic Serialization (#22025) This PR addresses serialization issues in the VariablePool model by separating the `value_type` tags for `IntegerSegment`/`FloatSegment` and `IntegerVariable`/`FloatVariable`. Previously, both Integer and Float types shared the same `SegmentType.NUMBER` tag, causing conflicts during serialization. Key changes: - Introduce distinct `value_type` tags for Integer and Float segments/variables - Add `VariableUnion` and `SegmentUnion` types for proper type discrimination - Leverage Pydantic's discriminated union feature for seamless serialization/deserialization - Enable accurate serialization of data structures containing these types Closes #22024. |
||
|---|---|---|
| .. | ||
| callbacks | ||
| entities | ||
| graph_engine | ||
| nodes | ||
| repositories | ||
| utils | ||
| __init__.py | ||
| constants.py | ||
| conversation_variable_updater.py | ||
| enums.py | ||
| errors.py | ||
| system_variable.py | ||
| variable_loader.py | ||
| workflow_cycle_manager.py | ||
| workflow_engine_manager.py | ||
| workflow_entry.py | ||
| workflow_type_encoder.py | ||