Open Agent Loops
API Reference

ReasoningDetailBase

@open-agent-loops/core


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

PropertyTypeDescriptionDefined in
formatReasoningFormatThe dialect this block is encoded in; see ReasoningFormat.types/reasoning.ts:60
idstring | nullProvider-assigned block id, or null when the provider sends none.types/reasoning.ts:58
index?numberSequence 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

On this page