refactor(api): type DatasourceInvokeMeta.to_dict with TypedDict (#34940)

This commit is contained in:
YBoy 2026-04-11 02:39:06 +02:00 committed by GitHub
parent f2d6275da4
commit e0d69204cd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,7 +2,7 @@ from __future__ import annotations
import enum import enum
from enum import StrEnum from enum import StrEnum
from typing import Any from typing import Any, TypedDict
from pydantic import BaseModel, Field, ValidationInfo, field_validator from pydantic import BaseModel, Field, ValidationInfo, field_validator
from yarl import URL from yarl import URL
@ -179,6 +179,12 @@ class DatasourceProviderEntityWithPlugin(DatasourceProviderEntity):
datasources: list[DatasourceEntity] = Field(default_factory=list) datasources: list[DatasourceEntity] = Field(default_factory=list)
class DatasourceInvokeMetaDict(TypedDict):
time_cost: float
error: str | None
tool_config: dict[str, Any] | None
class DatasourceInvokeMeta(BaseModel): class DatasourceInvokeMeta(BaseModel):
""" """
Datasource invoke meta Datasource invoke meta
@ -202,12 +208,13 @@ class DatasourceInvokeMeta(BaseModel):
""" """
return cls(time_cost=0.0, error=error, tool_config={}) return cls(time_cost=0.0, error=error, tool_config={})
def to_dict(self) -> dict: def to_dict(self) -> DatasourceInvokeMetaDict:
return { result: DatasourceInvokeMetaDict = {
"time_cost": self.time_cost, "time_cost": self.time_cost,
"error": self.error, "error": self.error,
"tool_config": self.tool_config, "tool_config": self.tool_config,
} }
return result
class DatasourceLabel(BaseModel): class DatasourceLabel(BaseModel):