Skip to content

cayu.sessions.RunRequest

Part of cayu.sessions.base. Read the Python API overview and install the required extra.

from cayu.sessions import RunRequest

Bases: BaseModel.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
agent_name str required
messages list[Message] required
execution_deadline ExecutionDeadline Field(default_factory=current_execution_deadline, exclude_if=lambda boundary: boundary.expires_at is None)
session_id str | None None
parent_session_id str | None None
causal_budget_id str | None None
task_id str | None None
task_worker_id str | None None
task_lease_expires_at datetime | None None
target ModelTarget | None None
failover ModelFailoverPolicy | None Field(default=None, exclude_if=lambda value: value is None)
tool_capability_ceiling ToolCapabilityCeiling | None None
tool_grants tuple[TargetedToolGrant, ...] ()
environment_name str | None None
labels dict[str, str] Field(default_factory=dict)
metadata dict[str, Any] Field(default_factory=dict)
invocation_origin InvocationOriginClaim | None None
max_steps StrictInt Field(default=DEFAULT_MAX_STEPS, ge=1, le=MAX_STEPS)
limits RunLimits Field(default_factory=RunLimits)
budget_limits tuple[BudgetLimit, ...] Field(default_factory=tuple)
retry_policy RetryPolicy | None None
structured_output StructuredOutputSpec | None None
thinking ThinkingConfig | None None
tool_completion ToolCompletionPolicy | None Field(default=None, exclude_if=lambda value: value is None, description='Complete a single-call round from a designated successful none or idempotent tool.')
loop_policies SkipJsonSchema[tuple[LoopPolicy, ...]] Field(default_factory=tuple, exclude=True)
RunRequest.copy_failover(value: object) -> ModelFailoverPolicy | None
RunRequest.copy_messages(value)
RunRequest.copy_request_metadata(value: dict[str, Any]) -> dict[str, Any]
RunRequest.copy_request_labels(value) -> dict[str, str]
RunRequest.copy_structured_output(value: StructuredOutputSpec | None) -> StructuredOutputSpec | None
RunRequest.copy_tool_capability_ceiling(value: object) -> ToolCapabilityCeiling | None
RunRequest.copy_tool_grants(value: object) -> tuple[TargetedToolGrant, ...]
RunRequest.copy_budget_limits(value) -> tuple[BudgetLimit, ...]
RunRequest.copy_limits(value: RunLimits) -> RunLimits
RunRequest.copy_tool_completion(value: object) -> ToolCompletionPolicy | None
RunRequest.copy_loop_policies(value) -> tuple[LoopPolicy, ...]
RunRequest.validate_nonblank_agent_name(value: str, info) -> str
RunRequest.validate_optional_session_id(value: str | None, info) -> str | None

validate_optional_nonblank_strings (method)

Section titled “validate_optional_nonblank_strings (method)”
RunRequest.validate_optional_nonblank_strings(value: str | None, info) -> str | None
RunRequest.validate_task_worker_handoff() -> RunRequest
RunRequest.normalize_task_lease_expires_at(value: datetime | None) -> datetime | None

Release source · Runtime guarantees · Capability guides