ReasoningDetailBase
Defined in: types/reasoning.ts:56
One structured reasoning block, preserved VERBATIM for replay.
Remarks
The richer counterpart to the flat Message.reasoning string: the form aggregators (OpenRouter and similar) use for models whose chain-of-thought is signed, summarized, or encrypted (Anthropic, Gemini, OpenAI o-series). A turn may carry several blocks; their relative order and index are load-bearing.
IMMUTABILITY CONTRACT — these blocks are pass-through-verbatim. A
reasoning.text block's signature and a
reasoning.encrypted blob are validated
by the model; editing, reordering, merging, splitting, or dropping any block
invalidates the sequence (e.g. Gemini rejects a tool call whose thought
signature is missing with a 400). Consumers that inspect reasoning may read the
flattened Message.reasoning text, but must resend reasoning_details
unchanged and in original order.
See
Message.reasoning_details
Extended by
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
format | ReasoningFormat | The dialect this block is encoded in; see ReasoningFormat. | types/reasoning.ts:60 |
id | string | null | Provider-assigned block id, or null when the provider sends none. | types/reasoning.ts:58 |
index? | number | Sequence position within the turn's reasoning. Load-bearing: it drives streaming reassembly and fixes the order blocks must be resent in. | types/reasoning.ts:65 |