# CodePipelineEngineOutput

One call a step made to its coding tool: the exit code and both output streams, recorded whether it succeeded or failed. Read them to find out why a step failed.

**Kind:** an object, used in responses.

## Fields

Every field is present in a response; empty ones are `null`.

| Field | Type | Description |
|---|---|---|
| `sequence` | `integer` | The call's number within the step, starting at 1 and counting across every retry and resume. |
| `dateUtc` | `datetime` | When the call was made, in UTC. |
| `purpose` | `string \| null` | What the call was for: the step's own prompt, the structured-output question, a repair pass, and so on. It tells a failed step apart from a failed side call. |
| `returnCode` | `integer` | The coding tool's exit code. -2147483648 means it was stopped before it exited: see `terminationReason`. |
| `stdOut` | `string \| null` | What the coding tool wrote to standard output. |
| `stdErr` | `string \| null` | What the coding tool wrote to standard error. |
| `internalError` | `string \| null` | A failure around the coding tool rather than from it, such as it failing to start or being stopped. |
| `terminationReason` | `string \| null` | Why the coding tool was stopped, when it didn't exit by itself: `"Timeout"`, `"Inactivity"`, `"Cancelled"` or `"EngineLaunchFailure"`. Null when it exited normally. |
| `isTruncated` | `boolean` | Whether `stdOut` or `stdErr` was shortened because it was very large. The start and the end are kept, so the error and any stack trace survive. |

## Example

```json
{
  "sequence": 0,
  "dateUtc": "2026-10-26T12:00:00.0000000Z",
  "purpose": "...",
  "returnCode": 0,
  "stdOut": "...",
  "stdErr": "...",
  "internalError": "...",
  "terminationReason": "...",
  "isTruncated": false
}
```

## Where it's used

- Inside [`CodePipelineStepExecution`](https://docs.maitento.com/reference/types/code-pipeline-step-execution.md)
