dify/api/core/rag/entities/event.py
EvanYao826 422ebf59ea refactor: clean unnecessary | None annotations in entities (#35557)
Remove unnecessary '| None' type annotations where the default value
already guarantees a non-None type. This is the second batch of
cleanups following PR #36824.

Patterns changed:
- 'bool | None = False' -> 'bool = False'
- 'bool | None = Field(default=False)' -> 'bool = Field(default=False)'
- 'int | None = Field(default=0)' -> 'int = Field(default=0)'
- 'float | None = Field(default=0.0)' -> 'float = Field(default=0.0)'
- 'str | None = ""' -> 'str = ""'
- 'str | None = Field(default="")' -> 'str = Field(default="")'
- 'list[...] | None = Field(default_factory=list)' -> 'list[...] = Field(default_factory=list)'
2026-06-18 15:23:08 +08:00

39 lines
1.1 KiB
Python

from collections.abc import Mapping
from enum import StrEnum
from typing import Any
from pydantic import BaseModel, Field
class DatasourceStreamEvent(StrEnum):
"""
Datasource Stream event
"""
PROCESSING = "datasource_processing"
COMPLETED = "datasource_completed"
ERROR = "datasource_error"
class BaseDatasourceEvent(BaseModel):
pass
class DatasourceErrorEvent(BaseDatasourceEvent):
event: DatasourceStreamEvent = DatasourceStreamEvent.ERROR
error: str = Field(..., description="error message")
class DatasourceCompletedEvent(BaseDatasourceEvent):
event: DatasourceStreamEvent = DatasourceStreamEvent.COMPLETED
data: Mapping[str, Any] | list = Field(..., description="result")
total: int = Field(default=0, description="total")
completed: int = Field(default=0, description="completed")
time_consuming: float = Field(default=0.0, description="time consuming")
class DatasourceProcessingEvent(BaseDatasourceEvent):
event: DatasourceStreamEvent = DatasourceStreamEvent.PROCESSING
total: int | None = Field(..., description="total")
completed: int | None = Field(..., description="completed")