feat(agent): add input variable validation
This commit is contained in:
@@ -155,8 +155,7 @@ class ApiKey(BaseModel):
|
||||
return datetime.datetime.now() > self.expires_at
|
||||
|
||||
@field_serializer('expires_at', 'last_used_at', 'created_at', 'updated_at')
|
||||
@classmethod
|
||||
def serialize_datetime(cls, v: Optional[datetime.datetime]) -> Optional[int]:
|
||||
def serialize_datetime(self, v: Optional[datetime.datetime]) -> Optional[int]:
|
||||
"""将datetime转换为时间戳"""
|
||||
return datetime_to_timestamp(v)
|
||||
|
||||
@@ -171,8 +170,7 @@ class ApiKeyStats(BaseModel):
|
||||
avg_response_time: Optional[float] = Field(None, description="平均响应时间(毫秒)")
|
||||
|
||||
@field_serializer('last_used_at')
|
||||
@classmethod
|
||||
def serialize_datetime(cls, v: Optional[datetime.datetime]) -> Optional[int]:
|
||||
def serialize_datetime(self, v: Optional[datetime.datetime]) -> Optional[int]:
|
||||
"""将datetime转换为时间戳"""
|
||||
return datetime_to_timestamp(v)
|
||||
|
||||
@@ -219,7 +217,6 @@ class ApiKeyLog(BaseModel):
|
||||
created_at: datetime.datetime
|
||||
|
||||
@field_serializer('created_at')
|
||||
@classmethod
|
||||
def serialize_datetime(cls, v: datetime.datetime) -> int:
|
||||
def serialize_datetime(self, v: datetime.datetime) -> int:
|
||||
"""将datetime转换为时间戳"""
|
||||
return datetime_to_timestamp(v)
|
||||
|
||||
@@ -64,14 +64,14 @@ class ExecutionConfig(BaseModel):
|
||||
class MultiAgentConfigCreate(BaseModel):
|
||||
"""创建多 Agent 配置"""
|
||||
master_agent_id: uuid.UUID = Field(..., description="主 Agent ID")
|
||||
master_agent_name: Optional[str] = Field(None, max_length=100, description="主 Agent 名称")
|
||||
master_agent_name: Optional[str] = Field(default=None, max_length=100, description="主 Agent 名称")
|
||||
orchestration_mode: str = Field(
|
||||
default="collaboration",
|
||||
pattern="^(collaboration|supervisor)$",
|
||||
description="协作模式:collaboration(协作)| supervisor(监督)"
|
||||
)
|
||||
sub_agents: List[SubAgentConfig] = Field(..., description="子 Agent 列表")
|
||||
routing_rules: Optional[List[RoutingRule]] = Field(None, description="路由规则")
|
||||
routing_rules: Optional[List[RoutingRule]] = Field(default=None, description="路由规则")
|
||||
execution_config: ExecutionConfig = Field(default_factory=ExecutionConfig, description="执行配置")
|
||||
aggregation_strategy: str = Field(
|
||||
default="merge",
|
||||
@@ -83,7 +83,7 @@ class MultiAgentConfigCreate(BaseModel):
|
||||
class MultiAgentConfigUpdate(BaseModel):
|
||||
"""更新多 Agent 配置"""
|
||||
master_agent_id: Optional[uuid.UUID] = None
|
||||
master_agent_name: Optional[str] = Field(None, max_length=100, description="主 Agent 名称")
|
||||
master_agent_name: Optional[str] = Field(default=None, max_length=100, description="主 Agent 名称")
|
||||
default_model_config_id: Optional[uuid.UUID] = Field(None, description="默认模型配置ID")
|
||||
model_parameters: Optional[ModelParameters] = Field(
|
||||
None,
|
||||
|
||||
Reference in New Issue
Block a user