Skip to content

prefactor_http.models package

Prefactor HTTP Client models.

class prefactor_http.models.AgentInstance(, type: Literal[‘agent_instance’], id: str, account_id: str, agent_id: str, agent_version_id: str, environment_id: str, status: Literal[‘pending’, ‘active’, ‘complete’, ‘failed’, ‘cancelled’], inserted_at: datetime, updated_at: datetime, started_at: datetime | None = None, finished_at: datetime | None = None, span_counts: AgentInstanceSpanCounts | None = None)

Section titled “class prefactor_http.models.AgentInstance(, type: Literal[‘agent_instance’], id: str, account_id: str, agent_id: str, agent_version_id: str, environment_id: str, status: Literal[‘pending’, ‘active’, ‘complete’, ‘failed’, ‘cancelled’], inserted_at: datetime, updated_at: datetime, started_at: datetime | None = None, finished_at: datetime | None = None, span_counts: AgentInstanceSpanCounts | None = None)”

Bases: BaseModel

Agent instance model.

Resource type (always “agent_instance”)

  • Type: Literal[‘agent_instance’]

Instance ID

  • Type: str

Account ID

  • Type: str

Agent ID

  • Type: str

Agent version ID

  • Type: str

Environment ID

  • Type: str

Instance status

  • Type: Literal[‘pending’, ‘active’, ‘complete’, ‘failed’, ‘cancelled’]

When the instance was created

  • Type: datetime.datetime

When the instance was last updated

  • Type: datetime.datetime

When the instance started (null if not started)

  • Type: datetime.datetime | None

When the instance finished (null if not finished)

  • Type: datetime.datetime | None

Span counts for this instance

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

status : Literal[‘pending’, ‘active’, ‘complete’, ‘failed’, ‘cancelled’]

Section titled “status : Literal[‘pending’, ‘active’, ‘complete’, ‘failed’, ‘cancelled’]”

class prefactor_http.models.AgentInstanceSpanCounts(, total: int, pending: int, active: int, complete: int, failed: int, cancelled: int, finished: int)

Section titled “class prefactor_http.models.AgentInstanceSpanCounts(, total: int, pending: int, active: int, complete: int, failed: int, cancelled: int, finished: int)”

Bases: BaseModel

Span counts for an agent instance.

Total number of spans

  • Type: int

Number of pending spans

  • Type: int

Number of active spans

  • Type: int

Number of completed spans

  • Type: int

Number of failed spans

  • Type: int

Number of cancelled spans

  • Type: int

Number of finished spans (complete + failed + cancelled)

  • Type: int

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class prefactor_http.models.AgentSchemaVersionForRegister(, external_identifier: str | None = None, span_schemas: dict[str, dict] | None = None, span_result_schemas: dict[str, dict] | None = None, span_type_schemas: list[SpanTypeSchemaForCreate] | None = None)

Section titled “class prefactor_http.models.AgentSchemaVersionForRegister(, external_identifier: str | None = None, span_schemas: dict[str, dict] | None = None, span_result_schemas: dict[str, dict] | None = None, span_type_schemas: list[SpanTypeSchemaForCreate] | None = None)”

Bases: BaseModel

Schema version information for registration.

External identifier for the schema version

  • Type: str | None

Map of span type names to JSON schemas

  • Type: dict[str, dict] | None

Map of span type names to result JSON schemas

  • Type: dict[str, dict] | None

List of span type schema details

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

span_result_schemas : dict[str, dict] | None

Section titled “span_result_schemas : dict[str, dict] | None”

class prefactor_http.models.AgentSpan(*, type: ~typing.Literal[‘agent_span’], id: str, account_id: str | None = None, agent_id: str | None = None, agent_instance_id: str, parent_span_id: str | None = None, schema_name: str, schema_title: str | None = None, status: ~typing.Literal[‘pending’, ‘active’, ‘complete’, ‘failed’, ‘cancelled’], payload: dict = , result_payload: dict | None = None, summary: str | None = None, started_at: ~datetime.datetime | None = None, inserted_at: ~datetime.datetime | None = None, updated_at: ~datetime.datetime | None = None, finished_at: ~datetime.datetime | None = None)

Section titled “class prefactor_http.models.AgentSpan(*, type: ~typing.Literal[‘agent_span’], id: str, account_id: str | None = None, agent_id: str | None = None, agent_instance_id: str, parent_span_id: str | None = None, schema_name: str, schema_title: str | None = None, status: ~typing.Literal[‘pending’, ‘active’, ‘complete’, ‘failed’, ‘cancelled’], payload: dict = , result_payload: dict | None = None, summary: str | None = None, started_at: ~datetime.datetime | None = None, inserted_at: ~datetime.datetime | None = None, updated_at: ~datetime.datetime | None = None, finished_at: ~datetime.datetime | None = None)”

Bases: BaseModel

Agent span model.

Resource type (always “agent_span”)

  • Type: Literal[‘agent_span’]

Span ID

  • Type: str

Account ID

  • Type: str | None

Agent ID

  • Type: str | None

Agent instance ID

  • Type: str

Parent span ID (None if root span)

  • Type: str | None

Name of the schema for this span

  • Type: str

Title of the schema for this span

  • Type: str | None

Span status

  • Type: Literal[‘pending’, ‘active’, ‘complete’, ‘failed’, ‘cancelled’]

Span payload data

  • Type: dict

Result payload data

  • Type: dict | None

Optional span summary

  • Type: str | None

When the span started

  • Type: datetime.datetime | None

When the span was created

  • Type: datetime.datetime | None

When the span was last updated

  • Type: datetime.datetime | None

When the span finished (None if in progress)

  • Type: datetime.datetime | None

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

status : Literal[‘pending’, ‘active’, ‘complete’, ‘failed’, ‘cancelled’]

Section titled “status : Literal[‘pending’, ‘active’, ‘complete’, ‘failed’, ‘cancelled’]”

class prefactor_http.models.AgentVersionForRegister(, name: str | None = None, external_identifier: str | None = None, description: str | None = None)

Section titled “class prefactor_http.models.AgentVersionForRegister(, name: str | None = None, external_identifier: str | None = None, description: str | None = None)”

Bases: BaseModel

Agent version information for registration.

Name of the agent version

  • Type: str | None

External identifier for the version (e.g., “v1.0.0”)

  • Type: str | None

Optional description of the version

  • Type: str | None

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class prefactor_http.models.ApiResponse(, status: str, details: T)

Section titled “class prefactor_http.models.ApiResponse(, status: str, details: T)”

Bases: BaseModel, Generic[T]

Generic API response wrapper.

Response status (always “success” for successful requests)

  • Type: str

Detailed response data

  • Type: prefactor_http.models.base.T

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class prefactor_http.models.BulkItem(, _type: str, idempotency_key: Annotated[str, MinLen(min_length=8), MaxLen(max_length=64)], **extra_data: Any)

Section titled “class prefactor_http.models.BulkItem(, _type: str, idempotency_key: Annotated[str, MinLen(min_length=8), MaxLen(max_length=64)], **extra_data: Any)”

Bases: BaseModel

A single item in a bulk request.

Each item must include _type and idempotency_key, plus any additional parameters required by the specific action type.

Required unique idempotency key for this item. Must be at least 8 characters long and unique within the request.

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

The type of query/action to execute (e.g., ‘agents/list’, ‘agents/create’).

class prefactor_http.models.BulkOutput(, status: str, **extra_data: Any)

Section titled “class prefactor_http.models.BulkOutput(, status: str, **extra_data: Any)”

Bases: BaseModel

Output from a query or action.

Contains either a success response (with ‘status’: ‘success’ and operation-specific data) or an error response (with ‘status’: ‘error’, ‘code’, ‘message’, and optionally ‘errors’).

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

‘success’ or ‘error’.

  • Type: Status of the operation

classmethod validate_status(v: str) → str

Section titled “classmethod validate_status(v: str) → str”

class prefactor_http.models.BulkRequest(, items: Annotated[list[BulkItem], MinLen(min_length=1)])

Section titled “class prefactor_http.models.BulkRequest(, items: Annotated[list[BulkItem], MinLen(min_length=1)])”

Bases: BaseModel

Request body for bulk query/action operations.

Allows executing multiple API operations in a single request.

List of items to process in bulk. Each item will be processed independently in its own transaction.

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

Validate that all idempotency keys are unique within the request.

class prefactor_http.models.BulkResponse(, status: str = ‘success’, outputs: dict[str, BulkOutput])

Section titled “class prefactor_http.models.BulkResponse(, status: str = ‘success’, outputs: dict[str, BulkOutput])”

Bases: BaseModel

Response from bulk query/action operations.

Contains a map of results keyed by the idempotency_key from each request item.

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

Map where keys are the idempotency_key values from the request, and values are the corresponding query/action outputs or error responses.

Response status, always ‘success’ when the request is processed.

class prefactor_http.models.FinishInstanceRequest(, status: Literal[‘complete’, ‘failed’, ‘cancelled’] | None = None, timestamp: str | None = None, idempotency_key: str | None = None)

Section titled “class prefactor_http.models.FinishInstanceRequest(, status: Literal[‘complete’, ‘failed’, ‘cancelled’] | None = None, timestamp: str | None = None, idempotency_key: str | None = None)”

Bases: BaseModel

Request to finish an agent instance.

Optional finish status (complete, failed, cancelled)

  • Type: Literal[‘complete’, ‘failed’, ‘cancelled’] | None

Optional ISO 8601 timestamp (defaults to current time)

  • Type: str | None

Optional idempotency key

  • Type: str | None

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

status : Literal[‘complete’, ‘failed’, ‘cancelled’] | None

Section titled “status : Literal[‘complete’, ‘failed’, ‘cancelled’] | None”

class prefactor_http.models.SpanTypeSchemaForCreate(, name: str, params_schema: dict, result_schema: dict | None = None, title: str | None = None, description: str | None = None, template: str | None = None)

Section titled “class prefactor_http.models.SpanTypeSchemaForCreate(, name: str, params_schema: dict, result_schema: dict | None = None, title: str | None = None, description: str | None = None, template: str | None = None)”

Bases: BaseModel

Span type schema details for registration.

Name of the span type

  • Type: str

JSON schema for span parameters

  • Type: dict

Optional JSON schema for span results

  • Type: dict | None

Optional human-readable title

  • Type: str | None

Optional description

  • Type: str | None

Optional template string

  • Type: str | None

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].