UNPKG

@tanstack/ai

Version:

Type-safe TypeScript AI SDK for streaming chat, tool calling, agents, structured outputs, and multimodal generation.

31 lines (27 loc) • 1.13 kB
import { EventType } from '../types' import type { ReasoningEncryptedValueEvent } from '../types' /** Spec event that carries a provider thinking / tool-call signature blob. */ export function reasoningEncryptedValue(opts: { subtype: 'message' | 'tool-call' entityId: string encryptedValue: string timestamp?: number }): ReasoningEncryptedValueEvent { return { type: EventType.REASONING_ENCRYPTED_VALUE, subtype: opts.subtype, entityId: opts.entityId, encryptedValue: opts.encryptedValue, ...(opts.timestamp !== undefined ? { timestamp: opts.timestamp } : {}), } } /** * Id prefix for the reasoning message of a redacted thinking block (Anthropic * `redacted_thinking`). AG-UI's `encryptedValue` does not say what kind of * bytes it holds (ag-ui-protocol/ag-ui#2884), so the id that `entityId` points * to says it. AG-UI clients keep message ids, but they drop event metadata. */ export const REDACTED_THINKING_ID_PREFIX = 'redacted_thinking-' export function isRedactedThinkingId(id: unknown): boolean { return typeof id === 'string' && id.startsWith(REDACTED_THINKING_ID_PREFIX) }