69 lines
1.8 KiB
Python
69 lines
1.8 KiB
Python
"""
|
|
DataSource Layer for sync_state_machine
|
|
|
|
DataSource 只负责底层 I/O,不关心节点类型。
|
|
Handler 负责类型转换和业务逻辑。
|
|
"""
|
|
|
|
from .datasource import BaseDataSource
|
|
from .type_registry import (
|
|
get_datasource_config_model,
|
|
get_datasource_factory,
|
|
list_registered_datasource_types,
|
|
register_datasource_config_model,
|
|
register_datasource_factory,
|
|
register_datasource_type,
|
|
)
|
|
from .handler import (
|
|
NodeHandler,
|
|
BaseNodeHandler,
|
|
NodeHandlerRegistry,
|
|
ValidationResult
|
|
)
|
|
from .task_result import TaskResult, TaskStatus
|
|
|
|
# API DataSource
|
|
from .api import ApiClient, ApiDataSource, BaseApiHandler, register as register_api_datasource
|
|
|
|
# JSONL DataSource
|
|
from .jsonl import JsonlDataSource, BaseJsonlHandler, register as register_jsonl_datasource
|
|
|
|
|
|
_BUILTIN_DATASOURCE_TYPES_REGISTERED = False
|
|
|
|
|
|
def ensure_builtin_datasource_types_registered(*, replace: bool = False) -> None:
|
|
global _BUILTIN_DATASOURCE_TYPES_REGISTERED
|
|
if _BUILTIN_DATASOURCE_TYPES_REGISTERED and not replace:
|
|
return
|
|
register_jsonl_datasource(replace=replace)
|
|
register_api_datasource(replace=replace)
|
|
_BUILTIN_DATASOURCE_TYPES_REGISTERED = True
|
|
|
|
__all__ = [
|
|
# 基础类
|
|
"BaseDataSource",
|
|
"get_datasource_config_model",
|
|
"get_datasource_factory",
|
|
"list_registered_datasource_types",
|
|
"NodeHandler",
|
|
"BaseNodeHandler",
|
|
"NodeHandlerRegistry",
|
|
"register_datasource_config_model",
|
|
"register_datasource_factory",
|
|
"register_datasource_type",
|
|
"TaskResult",
|
|
"TaskStatus",
|
|
"ValidationResult",
|
|
"ensure_builtin_datasource_types_registered",
|
|
|
|
# API DataSource
|
|
"ApiClient",
|
|
"ApiDataSource",
|
|
"BaseApiHandler",
|
|
|
|
# JSONL DataSource
|
|
"JsonlDataSource",
|
|
"BaseJsonlHandler",
|
|
]
|