irx.builder.runtime.exceptions.reporting

irx.builder.runtime.exceptions.reporting

Source: packages/irx/src/irx/builder/runtime/exceptions/reporting.py

title: Parse typed, escaped exception reports without guessing from messages.

Functions

decode_field(value: str) -> str

title: Decode protocol escapes while preserving unknown escape pairs.
parameters:
  value:
    type: str
returns:
  type: str

parse_exception_output(stderr: str) -> ExceptionReport | None

title: Parse the first complete root report and its preceding diagnostics.
parameters:
  stderr:
    type: str
returns:
  type: ExceptionReport | None
notes: >-
  Unrelated stderr and malformed records are ignored. Frame records attach
  only to the immediately preceding report. This parser does not classify
  exceptions by display name or message.

Classes

ExceptionFrame

title: One trustworthy generated propagation location.
attributes:
  source:
    type: str
  line:
    type: int
  col:
    type: int

ExceptionReport

title: Immutable typed report with chronological related diagnostics.
attributes:
  role:
    type: Literal[root, cause, context, cleanup]
  code:
    type: str
  type_name:
    type: str
  source:
    type: str
  line:
    type: int
  col:
    type: int
  message:
    type: str
  frames:
    type: tuple[ExceptionFrame, Ellipsis]
  related:
    type: tuple[ExceptionReport, Ellipsis]
notes: >-
  type_name is a canonical nominal identity, not message-derived text.
  Unknown origins use line and col minus one; they are not fabricated.
  related holds cause, context, and secondary cleanup reports in order.
Back to top