Files
dify/api/services/dsl_version.py
2026-05-14 10:34:31 +00:00

21 lines
736 B
Python

from packaging import version
from services.entities.dsl_entities import ImportStatus
def check_version_compatibility(imported_version: str, current_version: str) -> ImportStatus:
"""Determine DSL import status based on imported and current versions."""
try:
current_ver = version.parse(current_version)
imported_ver = version.parse(imported_version)
except version.InvalidVersion:
return ImportStatus.FAILED
if imported_ver > current_ver:
return ImportStatus.PENDING
if imported_ver.major < current_ver.major:
return ImportStatus.PENDING
if imported_ver.minor < current_ver.minor:
return ImportStatus.COMPLETED_WITH_WARNINGS
return ImportStatus.COMPLETED