MCPcopy Create free account
hub / github.com/TanStack/ai / parseClientSecretResponse

Function parseClientSecretResponse

packages/ai-openai/src/realtime/token.ts:32–57  ·  view source on GitHub ↗
(
  data: Partial<OpenAIRealtimeClientSecretResponse> | undefined,
  fallbackModel: OpenAIRealtimeModel,
)

Source from the content-addressed store, hash-verified

30 * `/v1/realtime/sessions` response did.
31 */
32export function parseClientSecretResponse(
33 data: Partial<OpenAIRealtimeClientSecretResponse> | undefined,
34 fallbackModel: OpenAIRealtimeModel,
35): RealtimeToken {
36 // Validate shape before dereferencing — the API could return an error
37 // envelope with 200 status, or a partial response under protocol drift.
38 if (
39 !data ||
40 typeof data.value !== 'string' ||
41 typeof data.expires_at !== 'number' ||
42 !Number.isFinite(data.expires_at)
43 ) {
44 throw new Error(
45 'OpenAI realtime client secret response missing or malformed `value`/`expires_at`',
46 )
47 }
48
49 return {
50 provider: 'openai',
51 token: data.value,
52 expiresAt: data.expires_at * 1000,
53 config: {
54 model: data.session?.model ?? fallbackModel,
55 },
56 }
57}
58
59/**
60 * Creates an OpenAI realtime token adapter.

Callers 2

generateTokenFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected