---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/llm/openai_responses/helpers/functions/renderOpenAIResponsesReasoningItem.md
---

# Function: renderOpenAIResponsesReasoningItem()

```ts
function renderOpenAIResponsesReasoningItem(input: {
  prefixFingerprint: string;
  reasoningReplay: ReasoningReplayMode;
  replayCompatibility: readonly string[];
  thought: Thought;
  warn?: (msg: string) => void;
}): OpenAIResponsesReasoningItem | undefined;
```

Defined in: [src/batteries/llm/openai\_responses/helpers.ts:643](https://github.com/NHTIO/ADK/blob/v1.20260901.0/src/src/batteries/llm/openai_responses/helpers.ts#L643)

Implements [OpenAIResponsesHelpers.renderOpenAIResponsesReasoningItem](../../types/interfaces/OpenAIResponsesHelpers.md#property-renderopenairesponsesreasoningitem).

## Parameters

| Parameter                   | Type                                                                                                                                                                                                                                                                                  |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `input`                     | { `prefixFingerprint`: `string`; `reasoningReplay`: [`ReasoningReplayMode`](../../types/type-aliases/ReasoningReplayMode.md); `replayCompatibility`: readonly `string`\[]; `thought`: [`Thought`](../../../../../common/classes/Thought.md); `warn?`: (`msg`: `string`) => `void`; } |
| `input.prefixFingerprint`   | `string`                                                                                                                                                                                                                                                                              |
| `input.reasoningReplay`     | [`ReasoningReplayMode`](../../types/type-aliases/ReasoningReplayMode.md)                                                                                                                                                                                                              |
| `input.replayCompatibility` | readonly `string`\[]                                                                                                                                                                                                                                                                   |
| `input.thought`             | [`Thought`](../../../../../common/classes/Thought.md)                                                                                                                                                                                                                                 |
| `input.warn?`               | (`msg`: `string`) => `void`                                                                                                                                                                                                                                                           |

## Returns

| [`OpenAIResponsesReasoningItem`](../../types/interfaces/OpenAIResponsesReasoningItem.md)
| `undefined`

## Remarks

Converts an eligible stored [OpenAIResponsesReasoningReplayPayload](../../types/interfaces/OpenAIResponsesReasoningReplayPayload.md) into a wire `reasoning`
item, or `undefined` if ineligible (no payload, wrong variant, or a stale fingerprint). The
adjacency-sweep pass in [buildOpenAIResponsesInput](buildOpenAIResponsesInput.md) is what actually enforces the
reasoning/output-item pairing constraint (Known Gotcha #1) — this function only validates the
signature/fingerprint half of eligibility.

Under `reasoningReplay: 'summary-only'`, the returned item strips `content`
(full reasoning text) and `encrypted_content` — only `summary` is replayed. `'encrypted'` (or any
other non-`'off'` mode) returns the stored item verbatim.
