import type { ChatCompletionAssistantMessageParam } from "openai/resources/chat/completions.js"; import type { Model, ThinkingContent } from "../../types.js"; /** * Reasoning sidecars and replay metadata helpers for OpenAI-compatible * providers. Handles extracting reasoning deltas/signatures/metadata from * provider payloads, safe reasoning replay fields, Responses-style reasoning * sidecar messages, and inline tag splitting. */ export declare const SAFE_REASONING_REPLAY_FIELDS: readonly ["reasoning_content", "reasoning", "reasoning_text", "reasoning_summary", "reasoning_summary_text", "summary_text", "summary"]; export type SafeReasoningReplayField = (typeof SAFE_REASONING_REPLAY_FIELDS)[number]; export interface ResponsesReasoningSidecar { id?: string; item_id?: string; output_index?: number; summary_index?: number; encrypted_content?: string; } export type ChatCompletionAssistantMessageWithReasoningSidecars = ChatCompletionAssistantMessageParam & Partial> & { reasoning_start?: ResponsesReasoningSidecar; reasoning_end?: ResponsesReasoningSidecar; }; export declare function asRecord(value: unknown): Record | undefined; export declare function collectReasoningText(value: unknown): string; export declare function extractReasoningDelta(deltaFields: Record): { field: string; delta: string; } | undefined; export declare function extractReasoningSignature(value: unknown): string | undefined; export declare function extractReasoningMetadata(value: unknown): Record | undefined; export declare function stringMetadata(metadata: Record | undefined, key: string): string | undefined; export declare function numberMetadata(metadata: Record | undefined, key: string): number | undefined; export declare function hasEncryptedReasoningMetadata(block: ThinkingContent): boolean; export declare function buildResponsesReasoningSidecar(metadata: Record | undefined, includeOutputIndex: boolean): ResponsesReasoningSidecar; export declare function isSafeReasoningReplayField(field: string): field is SafeReasoningReplayField; export declare function normalizeReasoningReplayField(field: string | undefined, model: Model<"openai-completions">): SafeReasoningReplayField; export declare function setAssistantReasoningField(message: ChatCompletionAssistantMessageParam, field: SafeReasoningReplayField, value: string): void; export declare function setAssistantReasoningLifecycleSidecars(message: ChatCompletionAssistantMessageParam, blocks: ThinkingContent[]): void; export declare function assistantHasReasoningReplay(message: ChatCompletionAssistantMessageParam): boolean; export declare function mergeThinkingMetadata(block: ThinkingContent, metadata?: Record): void; export declare function splitInlineThinkingDelta(pending: string, inInlineThinking: boolean, delta: string): { parts: Array<{ type: "text" | "thinking"; delta: string; }>; pending: string; inInlineThinking: boolean; }; //# sourceMappingURL=reasoning-replay.d.ts.map