* Parse the `value` payload of a `structured-output.complete` CUSTOM event * into a typed shape, returning `null` if the runtime payload doesn't match. * * Uses an `unknown`-input runtime check rather than `as` casts so the engine * stays cast-free in its hot path.
( value: unknown, )
| 2935 | * stays cast-free in its hot path. |
| 2936 | */ |
| 2937 | function readStructuredOutputCompleteValue( |
| 2938 | value: unknown, |
| 2939 | ): { object: unknown; raw: string; reasoning?: string } | null { |
| 2940 | if (typeof value !== 'object' || value === null) return null |
| 2941 | if (!('object' in value) || !('raw' in value)) return null |
| 2942 | const raw = (value as { raw: unknown }).raw |
| 2943 | if (typeof raw !== 'string') return null |
| 2944 | const reasoningField = (value as { reasoning?: unknown }).reasoning |
| 2945 | const reasoning = |
| 2946 | typeof reasoningField === 'string' ? reasoningField : undefined |
| 2947 | return { |
| 2948 | object: (value as { object: unknown }).object, |
| 2949 | raw, |
| 2950 | ...(reasoning !== undefined ? { reasoning } : {}), |
| 2951 | } |
| 2952 | } |
| 2953 | |
| 2954 | /** |
| 2955 | * Synthesize a streaming structured-output stream by wrapping a non-streaming |
no outgoing calls
no test coverage detected