Raised when a streamed run does not end with a clean zero exit.
Fields:
:status- exit code,{:signal, n}for death by signal, or{:signal, :unconfirmed}when the shim never confirmed death:timed_out- whether the run hit the whole-run:timeout_ms:idle_timed_out- whether the run hit:idle_timeout_ms(no output arrived within the idle interval); mutually exclusive with:timed_out:stderr- stderr captured before termination (empty whenmerge_stderr: truerouted it into the line stream):reason- spawn failure reason,nilfor a run that started:limit-{:line, :stdout | :merged, n}or{:total, :stderr, n}when bounded output exceeded its configured limit:output_truncated- whether output was deliberately discarded or the shim reported an incomplete drain
Summary
Types
@type t() :: %Forcola.Stream.Error{ __exception__: true, idle_timed_out: boolean(), limit: {:line | :total, atom(), pos_integer()} | nil, output_truncated: boolean(), reason: String.t() | atom() | tuple() | nil, status: non_neg_integer() | {:signal, atom() | non_neg_integer()} | nil, stderr: binary(), timed_out: boolean() }