This commit is contained in:
2026-03-17 18:32:44 +03:00
commit efcd4a8dfd
209 changed files with 33355 additions and 0 deletions
+67
View File
@@ -0,0 +1,67 @@
from __future__ import annotations
from datetime import datetime
from typing import Any, Literal
from uuid import UUID
from pydantic import BaseModel, ConfigDict, Field
class RunPipelineRequest(BaseModel):
inputs: dict[str, Any] = Field(default_factory=dict)
class RunPipelineResponse(BaseModel):
run_id: UUID
pipeline_id: UUID
status: Literal["QUEUED", "RUNNING"]
class ExecutionRunListItemResponse(BaseModel):
id: UUID
pipeline_id: UUID
status: Literal["QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "PARTIAL_FAILED"]
error: str | None = None
started_at: datetime | None = None
finished_at: datetime | None = None
created_at: datetime
updated_at: datetime
model_config = ConfigDict(from_attributes=True)
class ExecutionStepRunResponse(BaseModel):
step: int
name: str | None = None
capability_id: UUID | None = None
action_id: UUID | None = None
method: Literal["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"] | None = None
status_code: int | None = None
status: Literal["PENDING", "RUNNING", "SUCCEEDED", "FAILED", "SKIPPED"]
resolved_inputs: dict[str, Any] | None = None
accepted_payload: Any = None
output_payload: Any = None
request_snapshot: dict[str, Any] | None = None
response_snapshot: dict[str, Any] | None = None
error: str | None = None
started_at: datetime | None = None
finished_at: datetime | None = None
duration_ms: int | None = None
created_at: datetime
updated_at: datetime
model_config = ConfigDict(from_attributes=True)
class ExecutionRunDetailResponse(BaseModel):
id: UUID
pipeline_id: UUID
status: Literal["QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "PARTIAL_FAILED"]
inputs: dict[str, Any] = Field(default_factory=dict)
summary: dict[str, Any] | None = None
error: str | None = None
started_at: datetime | None = None
finished_at: datetime | None = None
created_at: datetime
updated_at: datetime
steps: list[ExecutionStepRunResponse] = Field(default_factory=list)