taolib.testing.multi_agent.models.task

taolib.testing.multi_agent.models.task#

任务数据模型。

定义 Task 的 4-tier Pydantic 模型: Base → Create/Update → Response → Document

Classes#

TaskConstraint

任务约束条件。

TaskProgress

任务进度。

TaskResult

任务结果。

SubTask

子任务。

TaskBase

任务基础字段。

TaskCreate

创建任务的输入模型。

TaskUpdate

更新任务的输入模型(所有字段可选)。

TaskResponse

任务的 API 响应模型。

TaskDocument

任务的 MongoDB 文档模型。

Module Contents#

class taolib.testing.multi_agent.models.task.TaskConstraint#

Bases: pydantic.BaseModel

任务约束条件。

max_duration_seconds: int | None#
max_cost: float | None#
required_skills: list[str]#
forbidden_skills: list[str]#
priority: int#
class taolib.testing.multi_agent.models.task.TaskProgress#

Bases: pydantic.BaseModel

任务进度。

current_step: str#
step_description: str#
progress_percent: float#
completed_steps: list[str]#
estimated_remaining_seconds: int | None#
class taolib.testing.multi_agent.models.task.TaskResult#

Bases: pydantic.BaseModel

任务结果。

success: bool#
summary: str#
details: dict[str, Any]#
output_files: list[str]#
artifacts: dict[str, Any]#
warnings: list[str]#
errors: list[str]#
class taolib.testing.multi_agent.models.task.SubTask#

Bases: pydantic.BaseModel

子任务。

id: str#
name: str#
description: str#
status: taolib.testing.multi_agent.models.enums.TaskStatus#
assigned_agent_id: str | None#
result: TaskResult | None#
created_at: datetime.datetime#
completed_at: datetime.datetime | None#
class taolib.testing.multi_agent.models.task.TaskBase#

Bases: pydantic.BaseModel

任务基础字段。

name: str#
description: str#
user_input: str#
status: taolib.testing.multi_agent.models.enums.TaskStatus#
constraints: TaskConstraint#
progress: TaskProgress#
result: TaskResult | None#
subtasks: list[SubTask]#
assigned_agent_id: str | None#
tags: list[str]#
metadata: dict[str, Any]#
class taolib.testing.multi_agent.models.task.TaskCreate#

Bases: TaskBase

创建任务的输入模型。

class taolib.testing.multi_agent.models.task.TaskUpdate#

Bases: pydantic.BaseModel

更新任务的输入模型(所有字段可选)。

name: str | None = None#
description: str | None = None#
status: taolib.testing.multi_agent.models.enums.TaskStatus | None = None#
constraints: TaskConstraint | None = None#
progress: TaskProgress | None = None#
result: TaskResult | None = None#
subtasks: list[SubTask] | None = None#
assigned_agent_id: str | None = None#
tags: list[str] | None = None#
metadata: dict[str, Any] | None = None#
class taolib.testing.multi_agent.models.task.TaskResponse#

Bases: TaskBase

任务的 API 响应模型。

id: str#
created_at: datetime.datetime#
updated_at: datetime.datetime#
started_at: datetime.datetime | None = None#
completed_at: datetime.datetime | None = None#
execution_seconds: float | None#
model_config#
class taolib.testing.multi_agent.models.task.TaskDocument#

Bases: TaskBase

任务的 MongoDB 文档模型。

id: str#
created_at: datetime.datetime#
updated_at: datetime.datetime#
started_at: datetime.datetime | None = None#
completed_at: datetime.datetime | None = None#
execution_seconds: float | None = None#
model_config#
to_response() TaskResponse#

转换为 API 响应。