roboto.exceptions#

Submodules#

Package Contents#

exception roboto.exceptions.ClientError(exc)#

Bases: HttpError

Common base class for all non-exit exceptions.

Parameters:

exc (urllib.error.HTTPError)

exception roboto.exceptions.HttpError(exc)#

Bases: Exception

Common base class for all non-exit exceptions.

Parameters:

exc (urllib.error.HTTPError)

property headers: dict#
Return type:

dict

property msg: Any#
Return type:

Any

property status: http.HTTPStatus | None#
Return type:

Optional[http.HTTPStatus]

exception roboto.exceptions.IngestionException#

Bases: Exception

Common base class for all non-exit exceptions.

class roboto.exceptions.ReadPlanExecutionErrorKind#

Bases: roboto.compat.StrEnum

Why a read of topic data through a read plan cannot continue.

FIELD_NOT_IN_FILE = 'field-not-in-file'#

a field it supplies, or the partition’s timestamp field.

Type:

A file lacks a field the read takes from it

FIELD_SPLIT_INSIDE_NON_STRUCT = 'field-split-inside-non-struct'#

A partition’s files split a field that one of them stores as other than a struct, such as a list or a map.

INCONSISTENT_SCAN_TASKS_ON_FILE = 'inconsistent-scan-tasks-on-file'#

Scan tasks of one partition read one file but disagree on its format, transformations or topic name.

INVALID_TIMESTAMP = 'invalid-timestamp'#

A stored timestamp has no signed 64-bit nanosecond value once shifted by its partition’s time_offset_ns: it is NaN or infinite, a DECIMAL holding a fraction of a nanosecond, or out of range.

PARTITION_SCHEMA_MISMATCH = 'partition-schema-mismatch'#

A later partition’s files give the read a different schema than the first partition’s.

PLAN_WITHOUT_SCHEMA = 'plan-without-schema'#

The plan projects every field of its schema, has a partition with a scan task, and names no schema.

PROJECTED_FIELD_IN_NO_SCAN_TASK = 'projected-field-in-no-scan-task'#

No scan task of a partition reads the whole schema or a subtree containing a projected field.

SCAN_TASK_ROW_MISMATCH = 'scan-task-row-mismatch'#

The files of a partition hold different rows in the window.

UNSUPPORTED_FORMAT = 'unsupported-format'#

A scan task stores its data in a format other than MCAP and Parquet, the formats the readers decode.

UNSUPPORTED_TIMESTAMP = 'unsupported-timestamp'#

a kind they do not know; a schema field with no path; a unit other than s, ms, us or ns; a message log or publish time on a Parquet file; or a Parquet timestamp field inside a list or map, holding a DATE or TIME, or not a number.

Type:

The partition’s timestamp is one the readers refuse

exception roboto.exceptions.RobotoConditionException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown if there is a failed condition

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoConflictException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown if there is a conflict between a resource you’re creating and another existing resource

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoContextTooLongException(message, stack_trace=[], headers={}, estimated_tokens=0, max_tokens=0, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when the conversation context (messages, system prompt, tool results) exceeds the model’s context window limit.

The token estimate and the model’s context limit are not carried on the exception, so a caller cannot read usage numbers off it.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

  • estimated_tokens (int)

  • max_tokens (int)

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoDashboardRevisionConflictException(message, current_dashboard, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoConflictException

Thrown when a dashboard definition write carries a base revision that no longer matches the stored one — someone replaced the definition after the requester loaded it, so applying the write would erase their edit.

Carries the server’s current dashboard record, read under the same row lock that rejected the write, so a client can show both sides and let the user resolve without a second round trip.

Parameters:
  • message (str)

  • current_dashboard (dict[str, Any])

  • stack_trace (list[str])

  • headers (dict[str, str])

current_dashboard#
to_dict()#
Return type:

dict[str, Any]

exception roboto.exceptions.RobotoDatasetNotFoundException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoNotFoundException

Specialization of RobotoNotFoundException for datasets.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

exception roboto.exceptions.RobotoDeprecatedException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when an old API endpoint is called, to tell the client to upgrade

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoDeviceNotFoundException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoNotFoundException

Specialization of RobotoNotFoundException for devices.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

exception roboto.exceptions.RobotoDomainException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: Exception

Expected exceptions from the Roboto domain entity objects.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property error_code: str#
Return type:

str

static from_client_error(error)#
Parameters:

error (roboto.exceptions.http.HttpError)

Return type:

RobotoDomainException

static from_json(contents, headers={})#
Parameters:
  • contents (dict[str, Any])

  • headers (dict[str, str])

Return type:

RobotoDomainException

static from_json_string(contents)#
Parameters:

contents (str)

Return type:

RobotoDomainException

property headers: dict[str, str]#
Return type:

dict[str, str]

property http_status_code: int#
Return type:

int

property message: str#
Return type:

str

serialize()#
Return type:

str

property stack_trace: list[str]#
Return type:

list[str]

to_dict()#
Return type:

dict[str, Any]

exception roboto.exceptions.RobotoExpiredException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown if a resource is missing or expired.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoFailedToGenerateException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when Roboto fails to generate a resource due to an internal error.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoFeatureNotAvailableException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when a route is gated by a feature flag that is not enabled for the caller.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

class roboto.exceptions.RobotoHttpExceptionParse#

Bases: object

exception roboto.exceptions.RobotoIllegalArgumentException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when request parameters are in some way invalid

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoInternalException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when Roboto throws an unexpected internal error, expected to be systemic.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoInvalidRequestException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when request parameters are in some way invalid

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoInvalidStateTransitionException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when requesting update of state to an invalid state, or via an invalid transition path

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoLayoutConflictException(message, conflicting_layouts, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoConflictException

Thrown when multiple layouts with the same name are found and need disambiguation. Contains the conflicting layout records for client handling.

Parameters:
  • message (str)

  • conflicting_layouts (list[dict[str, Any]])

  • stack_trace (list[str])

  • headers (dict[str, str])

conflicting_layouts#
to_dict()#
Return type:

dict[str, Any]

exception roboto.exceptions.RobotoLimitExceededException(message, stack_trace=[], *args, resource_name='Unknown', current_quantity=0, limit_quantity=0, **kwargs)#

Bases: RobotoDomainException

Thrown if an operation would exceed a user or org level limit.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • resource_name (str)

  • current_quantity (int)

  • limit_quantity (int)

property current_quantity: int#
Return type:

int

property http_status_code: int#
Return type:

int

property limit_quantity: int#
Return type:

int

property resource_name: str#
Return type:

str

to_dict()#
Return type:

dict[str, Any]

exception roboto.exceptions.RobotoNoOrgProvidedException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when no org is provided to an operation which requires an org.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoNotFoundException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Throw when a requested resource does not exist

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoNotImplementedException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown by shimmed out APIs which have not yet been implemented

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoNotReadyException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Throw when a requested resource is resolvable by ID/context but is not fully initialized or ready to be served.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoOperationTimeoutException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoServiceTimeoutException

Raised when an operation exceeds Roboto’s time budget and is aborted.

Roboto bounds certain operations with a time budget; exceeding it aborts the operation rather than letting it run unbounded. This is expected to be transient and ought to be retried.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoReadPlanExecutionException(message, stack_trace=[], headers={}, *args, kind, field_path=None, row_number=None, **kwargs)#

Bases: RobotoInternalException

Thrown when a read of topic data through a read plan cannot continue, with the reason as its kind.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

  • kind (ReadPlanExecutionErrorKind | str)

  • field_path (Optional[collections.abc.Sequence[str]])

  • row_number (Optional[int])

property field_path: tuple[str, ...] | None#

For field-not-in-file, the missing field’s path components, from its top-level field down to the first component the file lacks.

Return type:

Optional[tuple[str, …]]

property kind: ReadPlanExecutionErrorKind#

Why the read cannot continue.

Return type:

ReadPlanExecutionErrorKind

property row_number: int | None#

For invalid-timestamp, the row’s 0-based position among its topic’s rows in its file.

Return type:

Optional[int]

to_dict()#
Return type:

dict[str, Any]

exception roboto.exceptions.RobotoResponseTooLargeException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when the server cannot complete the request because the response payload exceeds a storage or transport capacity limit (e.g., Lambda response size). This is NOT expected to be transient and should NOT be retried.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoServiceException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when Roboto Service failed in an unexpected way

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

exception roboto.exceptions.RobotoServiceUnavailableException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when a service is unavailable, such as when it’s under heavy load and can’t accept new requests. This is expected to be transient and ought to be retried.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoThreadReadOnlyException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when adding to an agent thread that another surface owns.

A thread with an origin is mirrored into a conversation Roboto does not own, so appending to it over the API would leave that mirror incomplete.

Not an authorization failure, and not a subclass of RobotoUnauthorizedException: the caller may read, cancel, and rate the thread, and forking it yields a writable copy. Nothing about their identity would change the answer, so a client should offer the fork rather than send them to re-authenticate.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoUnauthorizedException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown when a user is attempting to access a resource that they do not have permission to access

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.RobotoUnknownOperationException(message, stack_trace=[], headers={}, *args, **kwargs)#

Bases: RobotoDomainException

Thrown if a user is attempting to perform an action unrecognized by the Roboto platform.

Parameters:
  • message (str)

  • stack_trace (list[str])

  • headers (dict[str, str])

property http_status_code: int#
Return type:

int

exception roboto.exceptions.ServerError(exc)#

Bases: HttpError

Common base class for all non-exit exceptions.

Parameters:

exc (urllib.error.HTTPError)

exception roboto.exceptions.TimestampFieldNotFoundException#

Bases: IngestionException

Common base class for all non-exit exceptions.