@tx5dr/contracts 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,126 @@ export declare const RealtimeTransportKindSchema: z.ZodEnum<["rtc-data-audio", "
5
5
  export type RealtimeTransportKind = z.infer<typeof RealtimeTransportKindSchema>;
6
6
  export declare const RealtimeSessionDirectionSchema: z.ZodEnum<["recv", "send"]>;
7
7
  export type RealtimeSessionDirection = z.infer<typeof RealtimeSessionDirectionSchema>;
8
+ export declare const RealtimeAudioCodecSchema: z.ZodEnum<["opus", "pcm-s16le"]>;
9
+ export type RealtimeAudioCodec = z.infer<typeof RealtimeAudioCodecSchema>;
10
+ export declare const RealtimeAudioCodecPreferenceSchema: z.ZodEnum<["auto", "opus", "pcm"]>;
11
+ export type RealtimeAudioCodecPreference = z.infer<typeof RealtimeAudioCodecPreferenceSchema>;
12
+ export declare const DEFAULT_REALTIME_AUDIO_CODEC_PREFERENCE: RealtimeAudioCodecPreference;
13
+ export declare const RealtimeAudioCodecCapabilitiesSchema: z.ZodOptional<z.ZodObject<{
14
+ opus: z.ZodOptional<z.ZodObject<{
15
+ encode: z.ZodOptional<z.ZodBoolean>;
16
+ decode: z.ZodOptional<z.ZodBoolean>;
17
+ sampleRates: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
18
+ encodeSampleRates: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
19
+ decodeSampleRates: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ encode?: boolean | undefined;
22
+ decode?: boolean | undefined;
23
+ sampleRates?: number[] | undefined;
24
+ encodeSampleRates?: number[] | undefined;
25
+ decodeSampleRates?: number[] | undefined;
26
+ }, {
27
+ encode?: boolean | undefined;
28
+ decode?: boolean | undefined;
29
+ sampleRates?: number[] | undefined;
30
+ encodeSampleRates?: number[] | undefined;
31
+ decodeSampleRates?: number[] | undefined;
32
+ }>>;
33
+ pcmS16le: z.ZodOptional<z.ZodBoolean>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ opus?: {
36
+ encode?: boolean | undefined;
37
+ decode?: boolean | undefined;
38
+ sampleRates?: number[] | undefined;
39
+ encodeSampleRates?: number[] | undefined;
40
+ decodeSampleRates?: number[] | undefined;
41
+ } | undefined;
42
+ pcmS16le?: boolean | undefined;
43
+ }, {
44
+ opus?: {
45
+ encode?: boolean | undefined;
46
+ decode?: boolean | undefined;
47
+ sampleRates?: number[] | undefined;
48
+ encodeSampleRates?: number[] | undefined;
49
+ decodeSampleRates?: number[] | undefined;
50
+ } | undefined;
51
+ pcmS16le?: boolean | undefined;
52
+ }>>;
53
+ export type RealtimeAudioCodecCapabilities = z.infer<typeof RealtimeAudioCodecCapabilitiesSchema>;
54
+ export declare const ResolvedRealtimeAudioCodecPolicySchema: z.ZodObject<{
55
+ preference: z.ZodEnum<["auto", "opus", "pcm"]>;
56
+ resolvedCodec: z.ZodEnum<["opus", "pcm-s16le"]>;
57
+ fallbackReason: z.ZodNullable<z.ZodEnum<["not-needed", "client-forced-pcm", "client-opus-unavailable", "server-opus-unavailable", "scope-not-supported"]>>;
58
+ codecSampleRate: z.ZodNullable<z.ZodNumber>;
59
+ bitrateBps: z.ZodNullable<z.ZodNumber>;
60
+ frameDurationMs: z.ZodNullable<z.ZodNumber>;
61
+ }, "strip", z.ZodTypeAny, {
62
+ preference: "pcm" | "auto" | "opus";
63
+ resolvedCodec: "opus" | "pcm-s16le";
64
+ fallbackReason: "not-needed" | "client-forced-pcm" | "client-opus-unavailable" | "server-opus-unavailable" | "scope-not-supported" | null;
65
+ codecSampleRate: number | null;
66
+ bitrateBps: number | null;
67
+ frameDurationMs: number | null;
68
+ }, {
69
+ preference: "pcm" | "auto" | "opus";
70
+ resolvedCodec: "opus" | "pcm-s16le";
71
+ fallbackReason: "not-needed" | "client-forced-pcm" | "client-opus-unavailable" | "server-opus-unavailable" | "scope-not-supported" | null;
72
+ codecSampleRate: number | null;
73
+ bitrateBps: number | null;
74
+ frameDurationMs: number | null;
75
+ }>;
76
+ export type ResolvedRealtimeAudioCodecPolicy = z.infer<typeof ResolvedRealtimeAudioCodecPolicySchema>;
77
+ export declare const VoiceTxBufferProfileSchema: z.ZodEnum<["auto", "custom"]>;
78
+ export type VoiceTxBufferProfile = z.infer<typeof VoiceTxBufferProfileSchema>;
79
+ export declare const VoiceTxCustomTargetBufferMsSchema: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
80
+ export declare const VoiceTxBufferPreferenceSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
81
+ profile: z.ZodDefault<z.ZodEnum<["auto", "custom"]>>;
82
+ customTargetBufferMs: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
83
+ }, "strip", z.ZodTypeAny, {
84
+ profile: "custom" | "auto";
85
+ customTargetBufferMs?: number | undefined;
86
+ }, {
87
+ profile?: "custom" | "auto" | undefined;
88
+ customTargetBufferMs?: unknown;
89
+ }>, {
90
+ profile: "custom" | "auto";
91
+ customTargetBufferMs?: number | undefined;
92
+ }, unknown>, {
93
+ profile: "custom" | "auto";
94
+ customTargetBufferMs?: number | undefined;
95
+ }, unknown>;
96
+ export type VoiceTxBufferPreference = z.infer<typeof VoiceTxBufferPreferenceSchema>;
97
+ export declare const ResolvedVoiceTxBufferPolicySchema: z.ZodObject<{
98
+ profile: z.ZodEnum<["auto", "custom"]>;
99
+ targetMs: z.ZodNumber;
100
+ minMs: z.ZodNumber;
101
+ maxMs: z.ZodNumber;
102
+ headroomMs: z.ZodNumber;
103
+ staleFrameMs: z.ZodNumber;
104
+ uplinkMaxBufferedAudioMs: z.ZodNumber;
105
+ uplinkDegradedBufferedAudioMs: z.ZodNumber;
106
+ }, "strip", z.ZodTypeAny, {
107
+ profile: "custom" | "auto";
108
+ targetMs: number;
109
+ minMs: number;
110
+ maxMs: number;
111
+ headroomMs: number;
112
+ staleFrameMs: number;
113
+ uplinkMaxBufferedAudioMs: number;
114
+ uplinkDegradedBufferedAudioMs: number;
115
+ }, {
116
+ profile: "custom" | "auto";
117
+ targetMs: number;
118
+ minMs: number;
119
+ maxMs: number;
120
+ headroomMs: number;
121
+ staleFrameMs: number;
122
+ uplinkMaxBufferedAudioMs: number;
123
+ uplinkDegradedBufferedAudioMs: number;
124
+ }>;
125
+ export type ResolvedVoiceTxBufferPolicy = z.infer<typeof ResolvedVoiceTxBufferPolicySchema>;
126
+ export declare const DEFAULT_VOICE_TX_BUFFER_PROFILE: VoiceTxBufferProfile;
127
+ export declare function resolveVoiceTxBufferPolicy(preference?: VoiceTxBufferPreference | null): ResolvedVoiceTxBufferPolicy;
8
128
  export declare const RealtimeConnectivityErrorCodeSchema: z.ZodEnum<["TOKEN_REQUEST_FAILED", "SIGNALING_UNREACHABLE", "PUBLIC_URL_MISCONFIGURED", "ICE_CONNECTION_FAILED", "NO_AUDIO_TRACK", "AUDIO_PLAYBACK_BLOCKED", "SESSION_EXPIRED_OR_INVALID", "MEDIA_DEVICE_PERMISSION_DENIED", "UNKNOWN_REALTIME_ERROR"]>;
9
129
  export type RealtimeConnectivityErrorCode = z.infer<typeof RealtimeConnectivityErrorCodeSchema>;
10
130
  export declare const RealtimeConnectivityHintsSchema: z.ZodObject<{
@@ -76,16 +196,100 @@ export declare const RealtimeSessionRequestSchema: z.ZodObject<{
76
196
  direction: z.ZodEnum<["recv", "send"]>;
77
197
  previewSessionId: z.ZodOptional<z.ZodString>;
78
198
  transportOverride: z.ZodOptional<z.ZodEnum<["rtc-data-audio", "ws-compat"]>>;
199
+ voiceTxBufferPreference: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
200
+ profile: z.ZodDefault<z.ZodEnum<["auto", "custom"]>>;
201
+ customTargetBufferMs: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
202
+ }, "strip", z.ZodTypeAny, {
203
+ profile: "custom" | "auto";
204
+ customTargetBufferMs?: number | undefined;
205
+ }, {
206
+ profile?: "custom" | "auto" | undefined;
207
+ customTargetBufferMs?: unknown;
208
+ }>, {
209
+ profile: "custom" | "auto";
210
+ customTargetBufferMs?: number | undefined;
211
+ }, unknown>, {
212
+ profile: "custom" | "auto";
213
+ customTargetBufferMs?: number | undefined;
214
+ }, unknown>>;
215
+ audioCodecPreference: z.ZodDefault<z.ZodEnum<["auto", "opus", "pcm"]>>;
216
+ audioCodecCapabilities: z.ZodOptional<z.ZodObject<{
217
+ opus: z.ZodOptional<z.ZodObject<{
218
+ encode: z.ZodOptional<z.ZodBoolean>;
219
+ decode: z.ZodOptional<z.ZodBoolean>;
220
+ sampleRates: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
221
+ encodeSampleRates: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
222
+ decodeSampleRates: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
223
+ }, "strip", z.ZodTypeAny, {
224
+ encode?: boolean | undefined;
225
+ decode?: boolean | undefined;
226
+ sampleRates?: number[] | undefined;
227
+ encodeSampleRates?: number[] | undefined;
228
+ decodeSampleRates?: number[] | undefined;
229
+ }, {
230
+ encode?: boolean | undefined;
231
+ decode?: boolean | undefined;
232
+ sampleRates?: number[] | undefined;
233
+ encodeSampleRates?: number[] | undefined;
234
+ decodeSampleRates?: number[] | undefined;
235
+ }>>;
236
+ pcmS16le: z.ZodOptional<z.ZodBoolean>;
237
+ }, "strip", z.ZodTypeAny, {
238
+ opus?: {
239
+ encode?: boolean | undefined;
240
+ decode?: boolean | undefined;
241
+ sampleRates?: number[] | undefined;
242
+ encodeSampleRates?: number[] | undefined;
243
+ decodeSampleRates?: number[] | undefined;
244
+ } | undefined;
245
+ pcmS16le?: boolean | undefined;
246
+ }, {
247
+ opus?: {
248
+ encode?: boolean | undefined;
249
+ decode?: boolean | undefined;
250
+ sampleRates?: number[] | undefined;
251
+ encodeSampleRates?: number[] | undefined;
252
+ decodeSampleRates?: number[] | undefined;
253
+ } | undefined;
254
+ pcmS16le?: boolean | undefined;
255
+ }>>;
79
256
  }, "strip", z.ZodTypeAny, {
80
257
  scope: "radio" | "openwebrx-preview";
81
258
  direction: "recv" | "send";
259
+ audioCodecPreference: "pcm" | "auto" | "opus";
82
260
  previewSessionId?: string | undefined;
83
261
  transportOverride?: "rtc-data-audio" | "ws-compat" | undefined;
262
+ voiceTxBufferPreference?: {
263
+ profile: "custom" | "auto";
264
+ customTargetBufferMs?: number | undefined;
265
+ } | undefined;
266
+ audioCodecCapabilities?: {
267
+ opus?: {
268
+ encode?: boolean | undefined;
269
+ decode?: boolean | undefined;
270
+ sampleRates?: number[] | undefined;
271
+ encodeSampleRates?: number[] | undefined;
272
+ decodeSampleRates?: number[] | undefined;
273
+ } | undefined;
274
+ pcmS16le?: boolean | undefined;
275
+ } | undefined;
84
276
  }, {
85
277
  scope: "radio" | "openwebrx-preview";
86
278
  direction: "recv" | "send";
87
279
  previewSessionId?: string | undefined;
88
280
  transportOverride?: "rtc-data-audio" | "ws-compat" | undefined;
281
+ voiceTxBufferPreference?: unknown;
282
+ audioCodecPreference?: "pcm" | "auto" | "opus" | undefined;
283
+ audioCodecCapabilities?: {
284
+ opus?: {
285
+ encode?: boolean | undefined;
286
+ decode?: boolean | undefined;
287
+ sampleRates?: number[] | undefined;
288
+ encodeSampleRates?: number[] | undefined;
289
+ decodeSampleRates?: number[] | undefined;
290
+ } | undefined;
291
+ pcmS16le?: boolean | undefined;
292
+ } | undefined;
89
293
  }>;
90
294
  export type RealtimeSessionRequest = z.infer<typeof RealtimeSessionRequestSchema>;
91
295
  export declare const RealtimeTransportOfferSchema: z.ZodObject<{
@@ -183,6 +387,56 @@ export declare const RealtimeSessionResponseSchema: z.ZodObject<{
183
387
  iceServers: string[];
184
388
  fallbackTransport: "ws-compat";
185
389
  }>;
390
+ voiceTxBufferPolicy: z.ZodOptional<z.ZodObject<{
391
+ profile: z.ZodEnum<["auto", "custom"]>;
392
+ targetMs: z.ZodNumber;
393
+ minMs: z.ZodNumber;
394
+ maxMs: z.ZodNumber;
395
+ headroomMs: z.ZodNumber;
396
+ staleFrameMs: z.ZodNumber;
397
+ uplinkMaxBufferedAudioMs: z.ZodNumber;
398
+ uplinkDegradedBufferedAudioMs: z.ZodNumber;
399
+ }, "strip", z.ZodTypeAny, {
400
+ profile: "custom" | "auto";
401
+ targetMs: number;
402
+ minMs: number;
403
+ maxMs: number;
404
+ headroomMs: number;
405
+ staleFrameMs: number;
406
+ uplinkMaxBufferedAudioMs: number;
407
+ uplinkDegradedBufferedAudioMs: number;
408
+ }, {
409
+ profile: "custom" | "auto";
410
+ targetMs: number;
411
+ minMs: number;
412
+ maxMs: number;
413
+ headroomMs: number;
414
+ staleFrameMs: number;
415
+ uplinkMaxBufferedAudioMs: number;
416
+ uplinkDegradedBufferedAudioMs: number;
417
+ }>>;
418
+ audioCodecPolicy: z.ZodObject<{
419
+ preference: z.ZodEnum<["auto", "opus", "pcm"]>;
420
+ resolvedCodec: z.ZodEnum<["opus", "pcm-s16le"]>;
421
+ fallbackReason: z.ZodNullable<z.ZodEnum<["not-needed", "client-forced-pcm", "client-opus-unavailable", "server-opus-unavailable", "scope-not-supported"]>>;
422
+ codecSampleRate: z.ZodNullable<z.ZodNumber>;
423
+ bitrateBps: z.ZodNullable<z.ZodNumber>;
424
+ frameDurationMs: z.ZodNullable<z.ZodNumber>;
425
+ }, "strip", z.ZodTypeAny, {
426
+ preference: "pcm" | "auto" | "opus";
427
+ resolvedCodec: "opus" | "pcm-s16le";
428
+ fallbackReason: "not-needed" | "client-forced-pcm" | "client-opus-unavailable" | "server-opus-unavailable" | "scope-not-supported" | null;
429
+ codecSampleRate: number | null;
430
+ bitrateBps: number | null;
431
+ frameDurationMs: number | null;
432
+ }, {
433
+ preference: "pcm" | "auto" | "opus";
434
+ resolvedCodec: "opus" | "pcm-s16le";
435
+ fallbackReason: "not-needed" | "client-forced-pcm" | "client-opus-unavailable" | "server-opus-unavailable" | "scope-not-supported" | null;
436
+ codecSampleRate: number | null;
437
+ bitrateBps: number | null;
438
+ frameDurationMs: number | null;
439
+ }>;
186
440
  }, "strip", z.ZodTypeAny, {
187
441
  scope: "radio" | "openwebrx-preview";
188
442
  direction: "recv" | "send";
@@ -209,6 +463,24 @@ export declare const RealtimeSessionResponseSchema: z.ZodObject<{
209
463
  iceServers: string[];
210
464
  fallbackTransport: "ws-compat";
211
465
  };
466
+ audioCodecPolicy: {
467
+ preference: "pcm" | "auto" | "opus";
468
+ resolvedCodec: "opus" | "pcm-s16le";
469
+ fallbackReason: "not-needed" | "client-forced-pcm" | "client-opus-unavailable" | "server-opus-unavailable" | "scope-not-supported" | null;
470
+ codecSampleRate: number | null;
471
+ bitrateBps: number | null;
472
+ frameDurationMs: number | null;
473
+ };
474
+ voiceTxBufferPolicy?: {
475
+ profile: "custom" | "auto";
476
+ targetMs: number;
477
+ minMs: number;
478
+ maxMs: number;
479
+ headroomMs: number;
480
+ staleFrameMs: number;
481
+ uplinkMaxBufferedAudioMs: number;
482
+ uplinkDegradedBufferedAudioMs: number;
483
+ } | undefined;
212
484
  }, {
213
485
  scope: "radio" | "openwebrx-preview";
214
486
  direction: "recv" | "send";
@@ -235,6 +507,24 @@ export declare const RealtimeSessionResponseSchema: z.ZodObject<{
235
507
  iceServers: string[];
236
508
  fallbackTransport: "ws-compat";
237
509
  };
510
+ audioCodecPolicy: {
511
+ preference: "pcm" | "auto" | "opus";
512
+ resolvedCodec: "opus" | "pcm-s16le";
513
+ fallbackReason: "not-needed" | "client-forced-pcm" | "client-opus-unavailable" | "server-opus-unavailable" | "scope-not-supported" | null;
514
+ codecSampleRate: number | null;
515
+ bitrateBps: number | null;
516
+ frameDurationMs: number | null;
517
+ };
518
+ voiceTxBufferPolicy?: {
519
+ profile: "custom" | "auto";
520
+ targetMs: number;
521
+ minMs: number;
522
+ maxMs: number;
523
+ headroomMs: number;
524
+ staleFrameMs: number;
525
+ uplinkMaxBufferedAudioMs: number;
526
+ uplinkDegradedBufferedAudioMs: number;
527
+ } | undefined;
238
528
  }>;
239
529
  export type RealtimeSessionResponse = z.infer<typeof RealtimeSessionResponseSchema>;
240
530
  export declare const RealtimeSettingsSchema: z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"realtime.schema.d.ts","sourceRoot":"","sources":["../../src/schema/realtime.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtime.schema.d.ts","sourceRoot":"","sources":["../../src/schema/realtime.schema.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,121 @@ import { z } from 'zod';
2
2
  export const RealtimeScopeSchema = z.enum(['radio', 'openwebrx-preview']);
3
3
  export const RealtimeTransportKindSchema = z.enum(['rtc-data-audio', 'ws-compat']);
4
4
  export const RealtimeSessionDirectionSchema = z.enum(['recv', 'send']);
5
+ export const RealtimeAudioCodecSchema = z.enum(['opus', 'pcm-s16le']);
6
+ export const RealtimeAudioCodecPreferenceSchema = z.enum(['auto', 'opus', 'pcm']);
7
+ export const DEFAULT_REALTIME_AUDIO_CODEC_PREFERENCE = 'auto';
8
+ export const RealtimeAudioCodecCapabilitiesSchema = z.object({
9
+ opus: z.object({
10
+ encode: z.boolean().optional(),
11
+ decode: z.boolean().optional(),
12
+ sampleRates: z.array(z.number().int().positive()).optional(),
13
+ encodeSampleRates: z.array(z.number().int().positive()).optional(),
14
+ decodeSampleRates: z.array(z.number().int().positive()).optional(),
15
+ }).optional(),
16
+ pcmS16le: z.boolean().optional(),
17
+ }).optional();
18
+ export const ResolvedRealtimeAudioCodecPolicySchema = z.object({
19
+ preference: RealtimeAudioCodecPreferenceSchema,
20
+ resolvedCodec: RealtimeAudioCodecSchema,
21
+ fallbackReason: z.enum([
22
+ 'not-needed',
23
+ 'client-forced-pcm',
24
+ 'client-opus-unavailable',
25
+ 'server-opus-unavailable',
26
+ 'scope-not-supported',
27
+ ]).nullable(),
28
+ codecSampleRate: z.number().int().positive().nullable(),
29
+ bitrateBps: z.number().int().positive().nullable(),
30
+ frameDurationMs: z.number().int().positive().nullable(),
31
+ });
32
+ export const VoiceTxBufferProfileSchema = z.enum(['auto', 'custom']);
33
+ export const VoiceTxCustomTargetBufferMsSchema = z.preprocess((value) => {
34
+ if (value === '' || value === undefined || value === null) {
35
+ return undefined;
36
+ }
37
+ if (typeof value === 'string') {
38
+ const parsed = Number.parseInt(value, 10);
39
+ return Number.isFinite(parsed) ? parsed : value;
40
+ }
41
+ return value;
42
+ }, z.number().int().min(40).max(500).optional());
43
+ export const VoiceTxBufferPreferenceSchema = z.preprocess((value) => {
44
+ if (!value || typeof value !== 'object') {
45
+ return value;
46
+ }
47
+ const preference = value;
48
+ if (preference.profile === 'low-latency'
49
+ || preference.profile === 'balanced'
50
+ || preference.profile === 'stable') {
51
+ return { ...preference, profile: 'auto' };
52
+ }
53
+ return value;
54
+ }, z.object({
55
+ profile: VoiceTxBufferProfileSchema.default('auto'),
56
+ customTargetBufferMs: VoiceTxCustomTargetBufferMsSchema,
57
+ })).superRefine((value, ctx) => {
58
+ if (value.profile === 'custom' && typeof value.customTargetBufferMs !== 'number') {
59
+ ctx.addIssue({
60
+ code: z.ZodIssueCode.custom,
61
+ path: ['customTargetBufferMs'],
62
+ message: 'Custom TX buffer target is required for custom profile',
63
+ });
64
+ }
65
+ });
66
+ export const ResolvedVoiceTxBufferPolicySchema = z.object({
67
+ profile: VoiceTxBufferProfileSchema,
68
+ targetMs: z.number().int().min(1),
69
+ minMs: z.number().int().min(1),
70
+ maxMs: z.number().int().min(1),
71
+ headroomMs: z.number().int().min(1),
72
+ staleFrameMs: z.number().int().min(1),
73
+ uplinkMaxBufferedAudioMs: z.number().int().min(1),
74
+ uplinkDegradedBufferedAudioMs: z.number().int().min(1),
75
+ });
76
+ export const DEFAULT_VOICE_TX_BUFFER_PROFILE = 'auto';
77
+ const VOICE_TX_BUFFER_PRESETS = {
78
+ auto: {
79
+ profile: 'auto',
80
+ targetMs: 80,
81
+ minMs: 60,
82
+ maxMs: 400,
83
+ headroomMs: 40,
84
+ staleFrameMs: 650,
85
+ uplinkMaxBufferedAudioMs: 180,
86
+ uplinkDegradedBufferedAudioMs: 360,
87
+ },
88
+ };
89
+ function clampVoiceTxBufferValue(value, min, max) {
90
+ return Math.max(min, Math.min(max, Math.round(value)));
91
+ }
92
+ export function resolveVoiceTxBufferPolicy(preference) {
93
+ const parsedPreference = preference
94
+ ? VoiceTxBufferPreferenceSchema.safeParse(preference)
95
+ : null;
96
+ const normalizedPreference = parsedPreference?.success
97
+ ? parsedPreference.data
98
+ : { profile: DEFAULT_VOICE_TX_BUFFER_PROFILE };
99
+ if (normalizedPreference.profile !== 'custom') {
100
+ return { ...VOICE_TX_BUFFER_PRESETS[normalizedPreference.profile] };
101
+ }
102
+ const targetMs = clampVoiceTxBufferValue(normalizedPreference.customTargetBufferMs ?? 90, 40, 500);
103
+ const minMs = clampVoiceTxBufferValue(targetMs * 0.65, 30, targetMs);
104
+ const maxMs = clampVoiceTxBufferValue(targetMs * 2.5, targetMs + 40, 900);
105
+ const headroomMs = clampVoiceTxBufferValue(targetMs * 0.45, 20, 180);
106
+ const staleFrameMs = clampVoiceTxBufferValue(targetMs * 5, maxMs + 80, 1800);
107
+ const uplinkMaxBufferedAudioMs = clampVoiceTxBufferValue(targetMs * 2, 80, 1000);
108
+ const uplinkDegradedBufferedAudioMs = clampVoiceTxBufferValue(targetMs * 4, uplinkMaxBufferedAudioMs + 60, 2000);
109
+ return {
110
+ profile: 'custom',
111
+ targetMs,
112
+ minMs,
113
+ maxMs,
114
+ headroomMs,
115
+ staleFrameMs,
116
+ uplinkMaxBufferedAudioMs,
117
+ uplinkDegradedBufferedAudioMs,
118
+ };
119
+ }
5
120
  export const RealtimeConnectivityErrorCodeSchema = z.enum([
6
121
  'TOKEN_REQUEST_FAILED',
7
122
  'SIGNALING_UNREACHABLE',
@@ -38,6 +153,9 @@ export const RealtimeSessionRequestSchema = z.object({
38
153
  direction: RealtimeSessionDirectionSchema,
39
154
  previewSessionId: z.string().optional(),
40
155
  transportOverride: RealtimeTransportKindSchema.optional(),
156
+ voiceTxBufferPreference: VoiceTxBufferPreferenceSchema.optional(),
157
+ audioCodecPreference: RealtimeAudioCodecPreferenceSchema.default(DEFAULT_REALTIME_AUDIO_CODEC_PREFERENCE),
158
+ audioCodecCapabilities: RealtimeAudioCodecCapabilitiesSchema,
41
159
  });
42
160
  export const RealtimeTransportOfferSchema = z.object({
43
161
  transport: RealtimeTransportKindSchema,
@@ -119,6 +237,8 @@ export const RealtimeSessionResponseSchema = z.object({
119
237
  forcedCompatibilityMode: z.boolean(),
120
238
  offers: z.array(RealtimeTransportOfferSchema).min(1),
121
239
  connectivityHints: RealtimeConnectivityHintsSchema,
240
+ voiceTxBufferPolicy: ResolvedVoiceTxBufferPolicySchema.optional(),
241
+ audioCodecPolicy: ResolvedRealtimeAudioCodecPolicySchema,
122
242
  });
123
243
  export const RealtimeSettingsSchema = z.object({
124
244
  transportPolicy: RealtimeTransportPolicySchema.optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"realtime.schema.js","sourceRoot":"","sources":["../../src/schema/realtime.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtime.schema.js","sourceRoot":"","sources":["../../src/schema/realtime.schema.ts"],"names":[],"mappings":"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"}