---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/generation/local_diffusion/protocol/functions/parseFrame.md
---

# Function: parseFrame()

```ts
function parseFrame(line: string, config?: ProtocolConfig): ParsedFrame;
```

Defined in: [src/batteries/generation/local\_diffusion/protocol.ts:220](https://github.com/NHTIO/ADK/blob/v1.20260718.1/src/src/batteries/generation/local_diffusion/protocol.ts#L220)

Parse one already-split backend stdout line into a typed [ParsedFrame](../type-aliases/ParsedFrame.md). Total by contract —
it never throws: malformed input yields a `malformed`/`unknown` frame, and a runtime-invalid or
hostile `config` (null, partial, or a throwing accessor) is caught and reported as `malformed`.

## Parameters

| Parameter | Type                                                  | Default value      | Description                                                                                   |
| --------- | ----------------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------- |
| `line`    | `string`                                              | `undefined`        | One already-newline-split backend stdout line.                                                |
| `config`  | [`ProtocolConfig`](../type-aliases/ProtocolConfig.md) | `DEFAULT_PROTOCOL` | Protocol tag configuration; defaults to [DEFAULT\_PROTOCOL](../variables/DEFAULT_PROTOCOL.md). |

## Returns

[`ParsedFrame`](../type-aliases/ParsedFrame.md)

The discriminated parse result.
