dvgateway-adapters 1.4.8 → 1.5.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.
@@ -69,6 +69,25 @@ export interface GeminiLiveTurnDetectionOptions {
69
69
  prefixPaddingMs?: number;
70
70
  /** Silence duration in ms before turn is considered ended. Default: 800. */
71
71
  silenceDurationMs?: number;
72
+ /**
73
+ * **OpenAI-compat alias** — accepts OpenAI Realtime's `threshold`
74
+ * shape (`0.0–1.0`) so users porting config from OpenAI don't have
75
+ * to relearn the API. The adapter maps it onto Gemini's three-level
76
+ * sensitivity:
77
+ *
78
+ * threshold < 0.3 → `startSensitivity: 'HIGH'` (very permissive)
79
+ * 0.3 ≤ x ≤ 0.7 → `startSensitivity: 'MEDIUM'` (standard — OpenAI default 0.5)
80
+ * threshold > 0.7 → `startSensitivity: 'LOW'` (strict)
81
+ *
82
+ * The inversion is deliberate: in OpenAI, *higher* threshold means
83
+ * *less* sensitive (needs louder audio); in Gemini, *HIGH* means
84
+ * *more* sensitive. Same numeric scale, same intent, opposite
85
+ * direction on the knob.
86
+ *
87
+ * Ignored when `startSensitivity` or `endSensitivity` is set
88
+ * explicitly — those win.
89
+ */
90
+ threshold?: number;
72
91
  }
73
92
  /** Function/tool declaration for Gemini Live (same schema as Gemini Generative API). */
74
93
  export interface GeminiLiveTool {
@@ -155,6 +174,15 @@ export interface GeminiLiveAdapterOptions {
155
174
  temperature?: number;
156
175
  /** Maximum response output tokens. Default: no cap. */
157
176
  maxOutputTokens?: number;
177
+ /**
178
+ * **OpenAI-compat alias** for `maxOutputTokens` — lets configs
179
+ * copied from OpenAIRealtimeAdapter be passed as-is without
180
+ * renaming fields. When both are set, `maxOutputTokens` wins
181
+ * (more specific to this adapter). OpenAI's sentinel `'inf'`
182
+ * (unlimited) is accepted and treated as "no cap" — equivalent to
183
+ * omitting the field.
184
+ */
185
+ maxResponseTokens?: number | 'inf';
158
186
  /** Tools the model can call during the session. */
159
187
  tools?: GeminiLiveTool[];
160
188
  /**
@@ -379,11 +407,83 @@ export declare class GeminiLiveAdapter implements RealtimeSpeechAdapter {
379
407
  export declare function parseRateFromMime(mime: string): number | null;
380
408
  /** Peak |sample| value across a Float32Array — for first-chunk diagnostics. */
381
409
  export declare function peakAmplitude(samples: Float32Array): number;
410
+ /**
411
+ * Fold OpenAI's `maxResponseTokens` alias into Gemini's
412
+ * `maxOutputTokens`. Explicit `maxOutputTokens` wins over the alias;
413
+ * OpenAI's `'inf'` sentinel (unlimited) is treated as "no cap".
414
+ * Exported for unit tests — no production caller should need this
415
+ * directly.
416
+ */
417
+ export declare function normalizeMaxOutputTokens(explicit: number | undefined, alias: number | 'inf' | undefined): number | null;
418
+ /**
419
+ * Map OpenAI's numeric `threshold` (0.0–1.0, higher = less sensitive)
420
+ * to Gemini's 3-level sensitivity (HIGH = more sensitive). Returns
421
+ * `undefined` for an undefined or out-of-range input so the caller can
422
+ * fall through to explicit `startSensitivity` / `endSensitivity` or
423
+ * Gemini's own defaults. Exported for unit tests.
424
+ *
425
+ * threshold < 0.3 → HIGH (OpenAI low threshold = very permissive)
426
+ * 0.3 … 0.7 → MEDIUM (OpenAI default 0.5 → Gemini default)
427
+ * threshold > 0.7 → LOW (OpenAI high threshold = strict)
428
+ *
429
+ * The inversion (OpenAI "higher = less sensitive" ↔ Gemini
430
+ * "HIGH = more sensitive") is deliberate and preserves user intent.
431
+ */
432
+ export declare function mapThresholdToSensitivity(threshold: number | undefined): 'LOW' | 'MEDIUM' | 'HIGH' | undefined;
382
433
  /**
383
434
  * Short tag for the server message's dominant type — surfaced in the
384
435
  * per-session heartbeat so an operator can see at a glance what Gemini
385
436
  * was doing when it went quiet. Exported for unit tests.
386
437
  */
387
438
  export declare function classifyServerMessage(msg: GeminiServerMessage): string;
439
+ export interface GeminiLiveModelInfo {
440
+ /** Full resource name, e.g. `models/gemini-2.5-flash-native-audio-preview-09-2025`. */
441
+ name: string;
442
+ displayName: string;
443
+ description: string;
444
+ version: string;
445
+ }
446
+ /**
447
+ * Fetch the current set of Gemini models that support
448
+ * `bidiGenerateContent` (Live API). Hits Google's `models.list`
449
+ * endpoint, filters by supported generation method, and caches per
450
+ * API key for `cacheMs` (default 5 minutes).
451
+ *
452
+ * Use at startup — or on a 1008 "not found" WS close — to discover
453
+ * which Live-capable models are currently live without redeploying
454
+ * the SDK.
455
+ *
456
+ * @example Recommended startup pattern
457
+ * ```typescript
458
+ * import { GeminiLiveAdapter, listGeminiLiveModels } from 'dvgateway-adapters/realtime';
459
+ *
460
+ * const apiKey = process.env.GEMINI_API_KEY!;
461
+ * const live = await listGeminiLiveModels(apiKey);
462
+ * // Prefer native-audio variants when available; fall back to half-cascade.
463
+ * const model = live.find(m => m.name.includes('native-audio'))?.name
464
+ * ?? live.find(m => m.name.includes('flash'))?.name
465
+ * ?? live[0]?.name;
466
+ * if (!model) throw new Error('No Gemini Live-capable models available for this key');
467
+ *
468
+ * const adapter = new GeminiLiveAdapter({
469
+ * apiKey,
470
+ * model: model.replace(/^models\//, ''), // strip the `models/` prefix
471
+ * voice: 'Puck',
472
+ * });
473
+ * ```
474
+ *
475
+ * @param apiKey AI Studio API key.
476
+ * @param opts.cacheMs Cache TTL per API key. Set 0 to bypass the
477
+ * cache (useful right after a 1008 close to
478
+ * pick up a fresh registry).
479
+ */
480
+ export declare function listGeminiLiveModels(apiKey: string, opts?: {
481
+ cacheMs?: number;
482
+ }): Promise<GeminiLiveModelInfo[]>;
483
+ /**
484
+ * Reset the module-level live-model cache. Exposed for tests; production
485
+ * callers should rely on `cacheMs` in `listGeminiLiveModels()` instead.
486
+ */
487
+ export declare function _resetLiveModelCache(): void;
388
488
  export {};
389
489
  //# sourceMappingURL=gemini-live.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-live.d.ts","sourceRoot":"","sources":["../../src/realtime/gemini-live.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini-live.d.ts","sourceRoot":"","sources":["../../src/realtime/gemini-live.ts"],"names":[],"mappings":"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"}
@@ -121,13 +121,28 @@ export class GeminiLiveAdapter {
121
121
  outputTranscription: opts.outputTranscription ?? true,
122
122
  language: opts.language ?? '',
123
123
  temperature: opts.temperature ?? 0.8,
124
- maxOutputTokens: opts.maxOutputTokens ?? null,
124
+ // maxOutputTokens is the Gemini name; fall back to the OpenAI
125
+ // `maxResponseTokens` alias so a config copied from the OpenAI
126
+ // adapter Just Works. `'inf'` is OpenAI's sentinel for "no cap"
127
+ // — map it to null. Explicit `maxOutputTokens` wins.
128
+ maxOutputTokens: normalizeMaxOutputTokens(opts.maxOutputTokens, opts.maxResponseTokens),
125
129
  };
126
130
  this.tools = opts.tools ?? [];
127
131
  // Default to 'auto' when tools are declared but no explicit choice
128
132
  // given — matches OpenAIRealtimeAdapter's behavior so the two
129
133
  // adapters stay drop-in-compatible.
130
134
  this.toolChoice = opts.toolChoice ?? (this.tools.length > 0 ? 'auto' : undefined);
135
+ // Gemini Live's BidiGenerateContentSetup does not accept a
136
+ // tool_config field — sending one makes Gemini close the WS with
137
+ // code=1011 (bad setup). Warn explicitly when the caller passed an
138
+ // explicit non-default value so they don't waste hours debugging
139
+ // why their `required` setting isn't being respected.
140
+ if (opts.toolChoice !== undefined && opts.toolChoice !== 'auto') {
141
+ console.warn(`[GeminiLive] toolChoice=${JSON.stringify(opts.toolChoice)} ignored — ` +
142
+ `Gemini Live BidiGenerateContent setup has no tool_config field. ` +
143
+ `Tools default to AUTO calling mode. To pin a specific function, ` +
144
+ `add an explicit instruction in your system_instruction prompt.`);
145
+ }
131
146
  // Output gain — see `outputGainDb` docstring. Warn on nonsensical
132
147
  // values but never clamp the user's setting; they may be feeding a
133
148
  // non-phone sink (file, WebRTC, etc.) where wider ranges make sense.
@@ -291,9 +306,16 @@ export class GeminiLiveAdapter {
291
306
  },
292
307
  ],
293
308
  }),
294
- ...(this.tools.length > 0 && this.toolChoice !== undefined && {
295
- tool_config: buildGeminiToolConfig(this.toolChoice),
296
- }),
309
+ // NOTE: do NOT include `tool_config` here. The Gemini Live
310
+ // BidiGenerateContentSetup schema does NOT have a tool_config
311
+ // field — it lives on GenerateContentRequest, not on the Live
312
+ // setup. Sending it makes Gemini close the WS immediately with
313
+ // code=1011 (bad setup), which manifests as "session_age=0s
314
+ // chunks_sent=N" and zero audio output. The `toolChoice`
315
+ // option is preserved on the adapter for forward compat (and
316
+ // because the `buildGeminiToolConfig` helper is exported for
317
+ // callers using the regular GenerateContent API), but it has
318
+ // no effect on Live sessions — see the constructor warning.
297
319
  },
298
320
  };
299
321
  this.sendMessage(ws, setupMsg);
@@ -412,10 +434,18 @@ export class GeminiLiveAdapter {
412
434
  }
413
435
  const cfg = { automatic_activity_detection: { disabled: false } };
414
436
  const vad = {};
415
- if (td.startSensitivity)
416
- vad.start_of_speech_sensitivity = `START_SENSITIVITY_${td.startSensitivity}`;
417
- if (td.endSensitivity)
418
- vad.end_of_speech_sensitivity = `END_SENSITIVITY_${td.endSensitivity}`;
437
+ // Normalize OpenAI-style numeric `threshold` into Gemini's 3-level
438
+ // sensitivity. Only fills in whichever of start/end isn't already
439
+ // set explicitly — so a user who wants to mix-and-match (e.g.
440
+ // startSensitivity: 'HIGH' + threshold: 0.7 for end) still gets
441
+ // what they asked for.
442
+ const mappedSensitivity = mapThresholdToSensitivity(td.threshold);
443
+ const startSens = td.startSensitivity ?? mappedSensitivity;
444
+ const endSens = td.endSensitivity ?? mappedSensitivity;
445
+ if (startSens)
446
+ vad.start_of_speech_sensitivity = `START_SENSITIVITY_${startSens}`;
447
+ if (endSens)
448
+ vad.end_of_speech_sensitivity = `END_SENSITIVITY_${endSens}`;
419
449
  if (td.prefixPaddingMs != null)
420
450
  vad.prefix_padding_ms = td.prefixPaddingMs;
421
451
  if (td.silenceDurationMs != null)
@@ -428,13 +458,22 @@ export class GeminiLiveAdapter {
428
458
  async connectLive(linkedId) {
429
459
  let url;
430
460
  const headers = {};
461
+ let urlForLog;
431
462
  if (this.opts.endpoint === 'vertex') {
432
463
  url = `wss://${this.opts.location}-aiplatform.googleapis.com/ws/google.cloud.aiplatform.v1.LlmBidiService/BidiGenerateContent`;
433
464
  headers['Authorization'] = `Bearer ${this.opts.accessToken}`;
465
+ urlForLog = `${url} (vertex, project=${this.opts.project}, location=${this.opts.location})`;
434
466
  }
435
467
  else {
436
468
  url = `${AI_STUDIO_URL}?key=${encodeURIComponent(this.opts.apiKey)}`;
469
+ // Mask the API key: show only the trailing 4 characters so
470
+ // operators can eyeball-compare against their config without
471
+ // exposing the full key in logs.
472
+ const k = this.opts.apiKey;
473
+ const masked = k.length >= 4 ? `***${k.slice(-4)}` : '***';
474
+ urlForLog = `${AI_STUDIO_URL}?key=${masked}`;
437
475
  }
476
+ console.log(`[GeminiLive] connecting linkedid=${linkedId} url=${urlForLog}`);
438
477
  const ws = new WebSocket(url, { headers });
439
478
  ws.on('message', (data) => {
440
479
  try {
@@ -446,21 +485,56 @@ export class GeminiLiveAdapter {
446
485
  }
447
486
  });
448
487
  ws.on('error', (err) => {
488
+ console.error(`[GeminiLive] WS error linkedid=${linkedId} err=${err.message}`);
449
489
  this.errorHandler?.(err, linkedId);
450
490
  });
451
491
  ws.on('close', (code, reason) => {
452
492
  // Release the diagnostic timer + buffers here too — `stop()` might
453
493
  // never fire if the caller relies on the session's own WS close.
454
494
  // The reason string surfaces quota / goAway / network faults that
455
- // would otherwise disappear silently.
495
+ // would otherwise disappear silently. Common codes:
496
+ // 1000 Normal closure (quota usually in `reason`)
497
+ // 1001 Going away (server shutdown / goAway message)
498
+ // 1006 Abnormal closure (network drop, no close frame)
499
+ // 1008 Policy violation (auth / content policy / model not found)
500
+ // 1011 Internal error (malformed setup / unsupported model)
456
501
  const reasonStr = reason?.toString('utf8') || '(none)';
457
- console.log(`[GeminiLive] WS closed linkedid=${linkedId} code=${code} reason=${JSON.stringify(reasonStr)}`);
458
- this.tearDownSession(linkedId, `ws-close(${code})`);
459
- });
460
- await new Promise((resolve, reject) => {
461
- ws.once('open', resolve);
462
- ws.once('error', reject);
502
+ const severity = code === 1000 ? 'log' : 'warn';
503
+ const logFn = severity === 'warn' ? console.warn : console.log;
504
+ logFn(`[GeminiLive] WS closed linkedid=${linkedId} code=${code} ` +
505
+ `reason=${JSON.stringify(reasonStr)} ` +
506
+ `common codes: 1000=quota/normal, 1001=goAway, 1006=network, ` +
507
+ `1008=auth/policy/model-not-found, 1011=bad setup.`);
508
+ // Specific hint for the most common 1008 sub-cause: model name
509
+ // deprecated by Google. Google rotates Live model IDs every few
510
+ // months; pinning a default in the SDK leaves users stranded.
511
+ // Surface the discovery helper inline so the operator doesn't
512
+ // have to dig through docs.
513
+ if (code === 1008 && /not (?:found|supported)|bidiGenerateContent/i.test(reasonStr)) {
514
+ console.warn(`[GeminiLive] Model "${this.opts.model}" appears to be deprecated, ` +
515
+ `renamed, or unavailable for this API key. Discover currently ` +
516
+ `Live-capable models with:\n` +
517
+ ` import { listGeminiLiveModels } from 'dvgateway-adapters/realtime';\n` +
518
+ ` const models = await listGeminiLiveModels(apiKey);\n` +
519
+ ` console.log(models.map(m => m.name));\n` +
520
+ `Then pass the chosen name (without the 'models/' prefix) as the ` +
521
+ `\`model\` option.`);
522
+ }
523
+ this.tearDownSession(linkedId, `ws-close(${code}) ${JSON.stringify(reasonStr)}`);
463
524
  });
525
+ try {
526
+ await new Promise((resolve, reject) => {
527
+ ws.once('open', resolve);
528
+ ws.once('error', reject);
529
+ });
530
+ }
531
+ catch (err) {
532
+ // Distinguish auth (401/403) vs network vs timeout failures so
533
+ // the operator knows which knob to check first.
534
+ console.error(`[GeminiLive] connect FAILED linkedid=${linkedId} err=${err.message}`);
535
+ throw err;
536
+ }
537
+ console.log(`[GeminiLive] WS handshake complete linkedid=${linkedId}`);
464
538
  return ws;
465
539
  }
466
540
  async pipeAudioIn(linkedId, ws, audioIn) {
@@ -784,6 +858,45 @@ export function peakAmplitude(samples) {
784
858
  }
785
859
  return peak;
786
860
  }
861
+ /**
862
+ * Fold OpenAI's `maxResponseTokens` alias into Gemini's
863
+ * `maxOutputTokens`. Explicit `maxOutputTokens` wins over the alias;
864
+ * OpenAI's `'inf'` sentinel (unlimited) is treated as "no cap".
865
+ * Exported for unit tests — no production caller should need this
866
+ * directly.
867
+ */
868
+ export function normalizeMaxOutputTokens(explicit, alias) {
869
+ if (explicit !== undefined)
870
+ return explicit;
871
+ if (alias === undefined || alias === 'inf')
872
+ return null;
873
+ return alias;
874
+ }
875
+ /**
876
+ * Map OpenAI's numeric `threshold` (0.0–1.0, higher = less sensitive)
877
+ * to Gemini's 3-level sensitivity (HIGH = more sensitive). Returns
878
+ * `undefined` for an undefined or out-of-range input so the caller can
879
+ * fall through to explicit `startSensitivity` / `endSensitivity` or
880
+ * Gemini's own defaults. Exported for unit tests.
881
+ *
882
+ * threshold < 0.3 → HIGH (OpenAI low threshold = very permissive)
883
+ * 0.3 … 0.7 → MEDIUM (OpenAI default 0.5 → Gemini default)
884
+ * threshold > 0.7 → LOW (OpenAI high threshold = strict)
885
+ *
886
+ * The inversion (OpenAI "higher = less sensitive" ↔ Gemini
887
+ * "HIGH = more sensitive") is deliberate and preserves user intent.
888
+ */
889
+ export function mapThresholdToSensitivity(threshold) {
890
+ if (threshold === undefined || !Number.isFinite(threshold))
891
+ return undefined;
892
+ if (threshold < 0 || threshold > 1)
893
+ return undefined;
894
+ if (threshold < 0.3)
895
+ return 'HIGH';
896
+ if (threshold > 0.7)
897
+ return 'LOW';
898
+ return 'MEDIUM';
899
+ }
787
900
  /**
788
901
  * Short tag for the server message's dominant type — surfaced in the
789
902
  * per-session heartbeat so an operator can see at a glance what Gemini
@@ -825,4 +938,79 @@ export function classifyServerMessage(msg) {
825
938
  // visible in logs instead of silently ignored.
826
939
  return 'unknown:' + Object.keys(msg).join(',');
827
940
  }
941
+ /** Module-level cache: API key → (models, fetched-at). */
942
+ const liveModelCache = new Map();
943
+ /**
944
+ * Fetch the current set of Gemini models that support
945
+ * `bidiGenerateContent` (Live API). Hits Google's `models.list`
946
+ * endpoint, filters by supported generation method, and caches per
947
+ * API key for `cacheMs` (default 5 minutes).
948
+ *
949
+ * Use at startup — or on a 1008 "not found" WS close — to discover
950
+ * which Live-capable models are currently live without redeploying
951
+ * the SDK.
952
+ *
953
+ * @example Recommended startup pattern
954
+ * ```typescript
955
+ * import { GeminiLiveAdapter, listGeminiLiveModels } from 'dvgateway-adapters/realtime';
956
+ *
957
+ * const apiKey = process.env.GEMINI_API_KEY!;
958
+ * const live = await listGeminiLiveModels(apiKey);
959
+ * // Prefer native-audio variants when available; fall back to half-cascade.
960
+ * const model = live.find(m => m.name.includes('native-audio'))?.name
961
+ * ?? live.find(m => m.name.includes('flash'))?.name
962
+ * ?? live[0]?.name;
963
+ * if (!model) throw new Error('No Gemini Live-capable models available for this key');
964
+ *
965
+ * const adapter = new GeminiLiveAdapter({
966
+ * apiKey,
967
+ * model: model.replace(/^models\//, ''), // strip the `models/` prefix
968
+ * voice: 'Puck',
969
+ * });
970
+ * ```
971
+ *
972
+ * @param apiKey AI Studio API key.
973
+ * @param opts.cacheMs Cache TTL per API key. Set 0 to bypass the
974
+ * cache (useful right after a 1008 close to
975
+ * pick up a fresh registry).
976
+ */
977
+ export async function listGeminiLiveModels(apiKey, opts = {}) {
978
+ if (!apiKey) {
979
+ throw new Error('listGeminiLiveModels: apiKey is required');
980
+ }
981
+ const cacheMs = opts.cacheMs ?? 5 * 60 * 1000;
982
+ const cached = liveModelCache.get(apiKey);
983
+ if (cacheMs > 0 && cached && Date.now() - cached.fetchedAt < cacheMs) {
984
+ return cached.models;
985
+ }
986
+ const url = `https://generativelanguage.googleapis.com/v1beta/models?` +
987
+ `key=${encodeURIComponent(apiKey)}&pageSize=200`;
988
+ // `fetch` is global on Node 18+. The dvgateway-adapters package
989
+ // requires Node 20+ per its `engines` field, so this is safe.
990
+ const res = await fetch(url);
991
+ if (!res.ok) {
992
+ const body = await res.text().catch(() => '');
993
+ throw new Error(`listGeminiLiveModels: HTTP ${res.status} from models.list — ${body.slice(0, 200)}`);
994
+ }
995
+ const data = await res.json();
996
+ const all = Array.isArray(data.models) ? data.models : [];
997
+ const liveModels = all
998
+ .filter((m) => Array.isArray(m.supportedGenerationMethods)
999
+ && m.supportedGenerationMethods.includes('bidiGenerateContent'))
1000
+ .map((m) => ({
1001
+ name: String(m.name ?? ''),
1002
+ displayName: String(m.displayName ?? ''),
1003
+ description: String(m.description ?? ''),
1004
+ version: String(m.version ?? ''),
1005
+ }));
1006
+ liveModelCache.set(apiKey, { models: liveModels, fetchedAt: Date.now() });
1007
+ return liveModels;
1008
+ }
1009
+ /**
1010
+ * Reset the module-level live-model cache. Exposed for tests; production
1011
+ * callers should rely on `cacheMs` in `listGeminiLiveModels()` instead.
1012
+ */
1013
+ export function _resetLiveModelCache() {
1014
+ liveModelCache.clear();
1015
+ }
828
1016
  //# sourceMappingURL=gemini-live.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-live.js","sourceRoot":"","sources":["../../src/realtime/gemini-live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,SAAS,MAAM,IAAI,CAAC;AAE3B,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAsF3E;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAA4B;IAE5B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;IACtD,CAAC;IACD,kEAAkE;IAClE,OAAO;QACL,uBAAuB,EAAE;YACvB,IAAI,EAAE,KAAK;YACX,sBAAsB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;SACtC;KACF,CAAC;AACJ,CAAC;AA+KD,gFAAgF;AAEhF,MAAM,aAAa,GACjB,sHAAsH,CAAC;AACzH,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc;AAE5F,MAAM,OAAO,iBAAiB;IACX,IAAI,CAkBnB;IACe,KAAK,CAAmB;IACxB,UAAU,CAAmC;IAC9D,qEAAqE;IACpD,YAAY,CAAS;IACtC,mEAAmE;IAClD,gBAAgB,CAAS;IAElC,kBAAkB,GAAuD,IAAI,CAAC;IAC9E,iBAAiB,GAAgD,IAAI,CAAC;IACtE,YAAY,GAAqD,IAAI,CAAC;IACtE,eAAe,GAAkD,IAAI,CAAC;IACtE,qBAAqB,GAA0D,IAAI,CAAC;IAE3E,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IACzD,mFAAmF;IAClE,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChE,gDAAgD;IAC/B,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjE,kFAAkF;IACjE,cAAc,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC7D,yEAAyE;IACxD,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IACtD,8EAA8E;IAC7D,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACpD,uEAAuE;IACtD,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE7D,OAAO,GAAG,KAAK,CAAC;IAExB,YAAY,IAA8B;QACxC,MAAM,QAAQ,GAAuB,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC;QAElE,IAAI,QAAQ,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,GAAG;YACV,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,+BAA+B;YACpD,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM;YAC3B,YAAY,EACV,IAAI,CAAC,YAAY;gBACjB,6EAA6E;YAC/E,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;YACvC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI;YACnD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI;YACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,GAAG;YACpC,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI;SAC9C,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,mEAAmE;QACnE,8DAA8D;QAC9D,oCAAoC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAElF,kEAAkE;QAClE,mEAAmE;QACnE,qEAAqE;QACrE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,CAAC;YACtD,OAAO,CAAC,IAAI,CACV,6BAA6B,IAAI,CAAC,YAAY,kBAAkB;gBAChE,4DAA4D;gBAC5D,mBAAmB,CACpB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,KAAK,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,OAAkD;QAC9D,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,OAA2C;QACtD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;IACnC,CAAC;IAED,OAAO,CAAC,OAAgD;QACtD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,UAAU,CAAC,OAA6C;QACtD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,OAAqD;QACpE,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAgB,EAAE,MAAc,EAAE,MAAe;QAChE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;YAAE,OAAO;QAEpD,wEAAwE;QACxE,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAC5D,CAAC,CAAE,MAAkC;YACrC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAEf,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;YACnB,aAAa,EAAE;gBACb,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;aACzD;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,QAAgB;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;YAAE,OAAO;QACpD,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACpD,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,QAAgB;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;YAAE,OAAO;QACpD,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACpD,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,OAAkC;QACrE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEzC,qEAAqE;QACrE,iEAAiE;QACjE,iEAAiE;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAuB;YAC/B,SAAS,EAAE,GAAG;YACd,eAAe,EAAE,CAAC;YAClB,wBAAwB,EAAE,CAAC;YAC3B,mBAAmB,EAAE,GAAG;YACxB,qBAAqB,EAAE,YAAY;YACnC,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,GAAG;YAClB,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,KAAK;YACvB,iBAAiB,EAAE,KAAK;SACzB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CACT,0CAA0C,QAAQ,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG;YAC9E,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,iBAAiB,IAAI,CAAC,YAAY,EAAE,CAC7D,CAAC;QAEF,mCAAmC;QACnC,MAAM,QAAQ,GAA4B;YACxC,KAAK,EAAE;gBACL,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE;gBAC9B,iBAAiB,EAAE;oBACjB,mBAAmB,EAAE,CAAC,OAAO,CAAC;oBAC9B,aAAa,EAAE;wBACb,YAAY,EAAE;4BACZ,qBAAqB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;yBACvD;wBACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;qBACjE;oBACD,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;oBAClC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI;wBACxC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;qBAC7C,CAAC;iBACH;gBACD,kBAAkB,EAAE;oBAClB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;iBAC1C;gBACD,qBAAqB,EAAE,IAAI,CAAC,wBAAwB,EAAE;gBACtD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,yBAAyB,EAAE,EAAE,EAAE,CAAC;gBACtE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,0BAA0B,EAAE,EAAE,EAAE,CAAC;gBACxE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI;oBAC3B,KAAK,EAAE;wBACL;4BACE,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCAC5C,IAAI,EAAE,CAAC,CAAC,IAAI;gCACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gCAC1B,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;6BAClD,CAAC,CAAC;yBACJ;qBACF;iBACF,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI;oBAC5D,WAAW,EAAE,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC;iBACpD,CAAC;aACH;SACF,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE/B,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,gCAAgC;QAChC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAE5E,2BAA2B;QAC3B,KAAK,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAE7C,2CAA2C;QAC3C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC7B,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjD,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAiB;QAC1B,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED,qEAAqE;IAC7D,eAAe,CAAC,QAAgB,EAAE,MAAc;QACtD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3C,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CACT,uCAAuC,QAAQ,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG;gBACnF,OAAO,UAAU,iBAAiB,IAAI,CAAC,eAAe,UAAU,IAAI,CAAC,UAAU,EAAE,CAClF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,2EAA2E;IAE3E;;;;;;;OAOG;IACK,aAAa,CAAC,QAAgB;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACrD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QAEhE,OAAO,CAAC,GAAG,CACT,mCAAmC,QAAQ,GAAG;YAC9C,eAAe,aAAa,IAAI;YAChC,gBAAgB,IAAI,CAAC,eAAe,GAAG;YACvC,kBAAkB,IAAI,CAAC,wBAAwB,GAAG;YAClD,mBAAmB,IAAI,CAAC,qBAAqB,GAAG;YAChD,qBAAqB,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI;YACzD,QAAQ,IAAI,CAAC,UAAU,EAAE,CAC1B,CAAC;QACF,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QAElC,gEAAgE;QAChE,+DAA+D;QAC/D,gEAAgE;QAChE,kEAAkE;QAClE,oEAAoE;QACpE,oEAAoE;QACpE,uDAAuD;QACvD,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC;YAChF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,IAAI,CACV,mDAAmD,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI;gBACvF,kBAAkB,IAAI,CAAC,eAAe,gCAAgC;gBACtE,GAAG,IAAI,CAAC,qBAAqB,yBAAyB;gBACtD,kGAAkG;gBAClG,6EAA6E;gBAC7E,mDAAmD;gBACnD,YAAY,QAAQ,EAAE,CACvB,CAAC;QACJ,CAAC;QACD,IAAI,aAAa,GAAG,KAAK,EAAE,CAAC;YAC1B,yDAAyD;YACzD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,cAAc,IAAI,CAAC,IAAI,CAAC,QAAQ,6BAA6B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACrH,CAAC;QACD,sCAAsC;QACtC,OAAO,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAEO,wBAAwB;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACnC,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO;gBACL,4BAA4B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjD,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAA4B,EAAE,4BAA4B,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3F,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,IAAI,EAAE,CAAC,gBAAgB;YAAE,GAAG,CAAC,2BAA2B,GAAG,qBAAqB,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACtG,IAAI,EAAE,CAAC,cAAc;YAAE,GAAG,CAAC,yBAAyB,GAAG,mBAAmB,EAAE,CAAC,cAAc,EAAE,CAAC;QAC9F,IAAI,EAAE,CAAC,eAAe,IAAI,IAAI;YAAE,GAAG,CAAC,iBAAiB,GAAG,EAAE,CAAC,eAAe,CAAC;QAC3E,IAAI,EAAE,CAAC,iBAAiB,IAAI,IAAI;YAAE,GAAG,CAAC,mBAAmB,GAAG,EAAE,CAAC,iBAAiB,CAAC;QACjF,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,4BAA4B,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC;QACjE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAgB;QACxC,IAAI,GAAW,CAAC;QAChB,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACpC,GAAG,GAAG,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,6FAA6F,CAAC;YAC/H,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,GAAG,aAAa,QAAQ,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvE,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAE3C,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAuB,EAAE,EAAE;YAC3C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAwB,CAAC;gBAC/D,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACrB,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;YAC9C,mEAAmE;YACnE,iEAAiE;YACjE,kEAAkE;YAClE,sCAAsC;YACtC,MAAM,SAAS,GAAG,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC;YACvD,OAAO,CAAC,GAAG,CACT,mCAAmC,QAAQ,SAAS,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAC/F,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,IAAI,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,QAAgB,EAChB,EAAa,EACb,OAAkC;QAElC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,8CAA8C,QAAQ,EAAE,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,UAAU,GAAG,gBAAgB,CAAC;QAElC,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,UAAU,GAAG,iBAAiB,CAAC;oBAC/B,MAAM;gBACR,CAAC;gBACD,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;oBACrC,UAAU,GAAG,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;oBACzC,MAAM;gBACR,CAAC;gBAED,yEAAyE;gBACzE,4EAA4E;gBAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,cAAc;oBACpD,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBAE9D,kCAAkC;gBAClC,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,OAAO,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;oBACpE,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAC/C,MAAM,GAAG,GAAG,CAAC;oBAEb,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;oBACrC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAE7F,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;wBACnB,cAAc,EAAE;4BACd,YAAY,EAAE;gCACZ,EAAE,SAAS,EAAE,sBAAsB,EAAE,IAAI,EAAE,GAAG,EAAE;6BACjD;yBACF;qBACF,CAAC,CAAC;oBAEH,8DAA8D;oBAC9D,gEAAgE;oBAChE,IAAI,IAAI,EAAE,CAAC;wBACT,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YAChE,6DAA6D;YAC7D,iEAAiE;YACjE,2DAA2D;YAC3D,6DAA6D;YAC7D,OAAO,CAAC,GAAG,CACT,2CAA2C,QAAQ,GAAG;gBACtD,UAAU,UAAU,aAAa,WAAW,IAAI;gBAChD,eAAe,IAAI,EAAE,eAAe,IAAI,CAAC,EAAE,CAC5C,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,GAAwB,EAAE,QAAgB;QACpE,sEAAsE;QACtE,mEAAmE;QACnE,uBAAuB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC;QAED,yDAAyD;QACzD,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,gDAAgD,QAAQ,EAAE,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,MAAM,EAAE,GAAoC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,cAAc,CAAC;QACpF,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,SAAS,GAAgC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC;YAE7E,8CAA8C;YAC9C,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;gBACrB,IAAI,cAAc,GAAG,CAAC,CAAC;gBACvB,IAAI,aAAa,GAAG,CAAC,CAAC;gBAEtB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;oBACnC,kEAAkE;oBAClE,qEAAqE;oBACrE,mEAAmE;oBACnE,8DAA8D;oBAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC;oBACnD,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,CAAC;oBAEzB,IAAI,GAAG,EAAE,CAAC;wBACR,cAAc,EAAE,CAAC;wBACjB,iDAAiD;wBACjD,8DAA8D;wBAC9D,8DAA8D;wBAC9D,6DAA6D;wBAC7D,oDAAoD;wBACpD,MAAM,IAAI,GAAI,MAAgE,CAAC;wBAC/E,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;wBACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,yBAAyB,CAAC;wBAE5E,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;wBAC7C,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;wBAE9C,yDAAyD;wBACzD,sDAAsD;wBACtD,uDAAuD;wBACvD,4CAA4C;wBAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;wBAE1C,wDAAwD;wBACxD,wDAAwD;wBACxD,2DAA2D;wBAC3D,0DAA0D;wBAC1D,2DAA2D;wBAC3D,4CAA4C;wBAC5C,MAAM,UAAU,GAAG,UAAU,KAAK,cAAc;4BAC9C,CAAC,CAAC,UAAU;4BACZ,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;wBAErD,yDAAyD;wBACzD,yDAAyD;wBACzD,uDAAuD;wBACvD,wDAAwD;wBACxD,uDAAuD;wBACvD,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;4BAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC3C,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;4BACzD,CAAC;wBACH,CAAC;wBAED,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;wBAE3C,0DAA0D;wBAC1D,yDAAyD;wBACzD,6DAA6D;wBAC7D,4DAA4D;wBAC5D,4DAA4D;wBAC5D,yDAAyD;wBACzD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAEhC,6DAA6D;wBAC7D,0DAA0D;wBAC1D,sDAAsD;wBACtD,0DAA0D;wBAC1D,2DAA2D;wBAC3D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACpC,MAAM,OAAO,GAAG,OAAO,CAAC;4BACxB,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC/D,OAAO,CAAC,GAAG,CACT,2CAA2C,QAAQ,GAAG;gCACtD,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,UAAU,KAAK;gCAC9D,YAAY,SAAS,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,GAAG;gCACtD,QAAQ,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;gCAC3D,gBAAgB,IAAI,CAAC,YAAY,EAAE,CACpC,CAAC;4BACF,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;gCACnB,OAAO,CAAC,IAAI,CACV,4DAA4D;oCAC5D,YAAY,QAAQ,4CAA4C,CACjE,CAAC;4BACJ,CAAC;iCAAM,IAAI,SAAS,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,CAAC;gCACrD,yDAAyD;gCACzD,sDAAsD;gCACtD,uCAAuC;gCACvC,OAAO,CAAC,IAAI,CACV,4BAA4B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;oCAC1D,uDAAuD;oCACvD,GAAG,IAAI,CAAC,YAAY,wBAAwB;oCAC5C,wDAAwD,CACzD,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAED,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAC3C,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACrB,aAAa,EAAE,CAAC;oBAClB,CAAC;gBACH,CAAC;gBAED,8DAA8D;gBAC9D,iEAAiE;gBACjE,kEAAkE;gBAClE,kCAAkC;gBAClC,IAAI,aAAa,GAAG,CAAC,IAAI,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAClC,OAAO,CAAC,IAAI,CACV,2DAA2D;wBAC3D,YAAY,QAAQ,UAAU,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK;wBACzD,kDAAkD;wBAClD,4DAA4D;wBAC5D,wCAAwC,CACzC,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,4DAA4D;YAC5D,IAAI,EAAE,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CACT,8DAA8D,QAAQ,GAAG;oBACzE,QAAQ,IAAI,EAAE,UAAU,IAAI,CAAC,kBAAkB,SAAS,IAAI,CAC7D,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACxC,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBAC3B,QAAQ;wBACR,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;qBACxB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,aAAa,CAAC;YACzD,MAAM,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,IAAI,EAAE,CAAC,mBAAmB,CAAC;YAE3E,kFAAkF;YAClF,IAAI,YAAY,KAAK,IAAI,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;gBACzD,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBAC3B,QAAQ;wBACR,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,KAAK;wBACf,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;qBACxB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,sEAAsE;YACtE,+DAA+D;YAC/D,mEAAmE;YACnE,MAAM,MAAM,GAAG,EAAE,CAAC,kBAAkB,IAAI,EAAE,CAAC,mBAAmB,CAAC;YAC/D,IAAI,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACzD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,OAAO,CAAC,GAAG,CACT,mDAAmD,QAAQ,GAAG;wBAC9D,QAAQ,IAAI,CAAC,UAAU,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CACpF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,MAAM,OAAO,GAAG,EAAE,CAAC,mBAAmB,IAAI,EAAE,CAAC,oBAAoB,CAAC;YAClE,IAAI,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC1D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC5D,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACpC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAC9B,OAAO,CAAC,GAAG,CACT,oDAAoD,QAAQ,GAAG;wBAC/D,QAAQ,IAAI,CAAC,UAAU,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CACrF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChE,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CACT,uCAAuC,QAAQ,SAAS,IAAI,EAAE,UAAU,IAAI,CAAC,GAAG;oBAChF,YAAY,SAAS,KAAK;oBAC1B,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG;oBACnD,UAAU,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CACrD,CAAC;gBACF,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;oBACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,QAAQ;wBACR,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,UAAU;wBACnB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;qBACxB,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;oBACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,QAAQ;wBACR,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,OAAO;wBAChB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;qBACxB,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC3C,iEAAiE;gBACjE,sDAAsD;gBACtD,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAChC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC;QACzC,MAAM,aAAa,GAAG,EAAE,EAAE,aAAa,IAAI,EAAE,EAAE,cAAc,CAAC;QAC9D,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;gBAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;oBACZ,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;oBAC9C,OAAO,CAAC,GAAG,CACT,mCAAmC,QAAQ,SAAS,EAAE,CAAC,IAAI,GAAG;wBAC9D,QAAQ,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CACvE,CAAC;oBACF,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE;wBACnB,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;wBACnB,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAK,MAAiC,CAAC,SAAS,CAAC;YACjF,IAAI,CAAC,YAAY,EAAE,CACjB,IAAI,KAAK,CAAC,0CAA0C,QAAQ,IAAI,SAAS,EAAE,CAAC,EAC5E,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,EAAa,EAAE,GAA4B;QAC7D,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED,6EAA6E;AAE7E;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,OAAqB;IACjD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,IAAI;YAAE,IAAI,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAwB;IAC5D,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,cAAc;QAAE,OAAO,eAAe,CAAC;IACpE,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,cAAc,CAAC;IACnD,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC;QAChD,IAAI,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;YAAE,OAAO,kBAAkB,CAAC;QACpG,IAAI,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,iBAAiB,CAAC;QACpE,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,aAAa,CAAC,KAAK,IAAI;YAAE,OAAO,cAAc,CAAC;QAC1E,IAAI,CAAC,EAAE,CAAC,kBAAkB,IAAI,EAAE,CAAC,mBAAmB,CAAC,KAAK,IAAI;YAAE,OAAO,oBAAoB,CAAC;QAC5F,IAAI,EAAE,CAAC,WAAW,KAAK,IAAI;YAAE,OAAO,aAAa,CAAC;QAClD,IAAI,CAAC,EAAE,CAAC,kBAAkB,IAAI,EAAE,CAAC,mBAAmB,CAAC,EAAE,IAAI,IAAI,IAAI;YAAE,OAAO,oBAAoB,CAAC;QACjG,IAAI,CAAC,EAAE,CAAC,mBAAmB,IAAI,EAAE,CAAC,oBAAoB,CAAC,EAAE,IAAI,IAAI,IAAI;YAAE,OAAO,qBAAqB,CAAC;QACpG,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO,UAAU,CAAC;IACrD,IAAI,GAAG,CAAC,oBAAoB,IAAI,GAAG,CAAC,sBAAsB;QAAE,OAAO,sBAAsB,CAAC;IAC1F,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IAC/C,IAAI,GAAG,CAAC,uBAAuB,IAAI,GAAG,CAAC,yBAAyB;QAAE,OAAO,yBAAyB,CAAC;IACnG,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,cAAc;QAAE,OAAO,eAAe,CAAC;IACpE,qEAAqE;IACrE,+CAA+C;IAC/C,OAAO,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"gemini-live.js","sourceRoot":"","sources":["../../src/realtime/gemini-live.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * mapping. These run without a live WebSocket — they exercise the
4
4
  * pure mapping function only.
5
5
  */
6
- import { buildGeminiToolConfig, classifyServerMessage, GeminiLiveAdapter, parseRateFromMime, peakAmplitude, } from './gemini-live.js';
6
+ import { _resetLiveModelCache, buildGeminiToolConfig, classifyServerMessage, GeminiLiveAdapter, listGeminiLiveModels, mapThresholdToSensitivity, normalizeMaxOutputTokens, parseRateFromMime, peakAmplitude, } from './gemini-live.js';
7
7
  describe('buildGeminiToolConfig', () => {
8
8
  it("maps 'auto' to function_calling_config.mode=AUTO", () => {
9
9
  expect(buildGeminiToolConfig('auto')).toEqual({
@@ -373,4 +373,211 @@ describe('GeminiLiveAdapter per-session diagnostics', () => {
373
373
  });
374
374
  /* eslint-enable @typescript-eslint/no-explicit-any */
375
375
  });
376
+ describe('listGeminiLiveModels — Live registry discovery', () => {
377
+ /* eslint-disable @typescript-eslint/no-explicit-any */
378
+ const realFetch = global.fetch;
379
+ beforeEach(() => {
380
+ _resetLiveModelCache();
381
+ });
382
+ afterEach(() => {
383
+ global.fetch = realFetch;
384
+ });
385
+ it('filters models that include bidiGenerateContent', async () => {
386
+ global.fetch = jest.fn(async () => ({
387
+ ok: true,
388
+ json: async () => ({
389
+ models: [
390
+ {
391
+ name: 'models/gemini-2.5-flash-native-audio-preview-09-2025',
392
+ displayName: 'Gemini 2.5 Flash Native Audio',
393
+ description: 'native audio Live model',
394
+ version: '001',
395
+ supportedGenerationMethods: ['bidiGenerateContent', 'generateContent'],
396
+ },
397
+ {
398
+ name: 'models/gemini-1.5-pro',
399
+ displayName: 'Gemini 1.5 Pro',
400
+ description: 'text-only',
401
+ version: '001',
402
+ supportedGenerationMethods: ['generateContent'],
403
+ },
404
+ {
405
+ name: 'models/gemini-live-half-cascade',
406
+ displayName: 'Gemini Live Half-Cascade',
407
+ description: 'live',
408
+ version: '002',
409
+ supportedGenerationMethods: ['bidiGenerateContent'],
410
+ },
411
+ ],
412
+ }),
413
+ }));
414
+ const models = await listGeminiLiveModels('test-key');
415
+ expect(models).toHaveLength(2);
416
+ expect(models.map((m) => m.name)).toEqual([
417
+ 'models/gemini-2.5-flash-native-audio-preview-09-2025',
418
+ 'models/gemini-live-half-cascade',
419
+ ]);
420
+ expect(global.fetch).toHaveBeenCalledTimes(1);
421
+ });
422
+ it('caches results per API key for the configured TTL', async () => {
423
+ global.fetch = jest.fn(async () => ({
424
+ ok: true,
425
+ json: async () => ({
426
+ models: [{
427
+ name: 'models/m1',
428
+ displayName: 'M1',
429
+ description: '',
430
+ version: '1',
431
+ supportedGenerationMethods: ['bidiGenerateContent'],
432
+ }],
433
+ }),
434
+ }));
435
+ await listGeminiLiveModels('key-A');
436
+ await listGeminiLiveModels('key-A');
437
+ expect(global.fetch).toHaveBeenCalledTimes(1);
438
+ // Different key — separate cache slot
439
+ await listGeminiLiveModels('key-B');
440
+ expect(global.fetch).toHaveBeenCalledTimes(2);
441
+ });
442
+ it('bypasses the cache when cacheMs=0', async () => {
443
+ global.fetch = jest.fn(async () => ({
444
+ ok: true,
445
+ json: async () => ({ models: [] }),
446
+ }));
447
+ await listGeminiLiveModels('key-X', { cacheMs: 0 });
448
+ await listGeminiLiveModels('key-X', { cacheMs: 0 });
449
+ expect(global.fetch).toHaveBeenCalledTimes(2);
450
+ });
451
+ it('throws when apiKey is empty', async () => {
452
+ await expect(listGeminiLiveModels('')).rejects.toThrow('apiKey is required');
453
+ });
454
+ it('throws with body when models.list returns non-2xx', async () => {
455
+ global.fetch = jest.fn(async () => ({
456
+ ok: false,
457
+ status: 403,
458
+ text: async () => 'API key not valid. Please pass a valid API key.',
459
+ }));
460
+ await expect(listGeminiLiveModels('bad-key')).rejects.toThrow(/HTTP 403.*API key not valid/);
461
+ });
462
+ it('returns empty list when no models are Live-capable', async () => {
463
+ global.fetch = jest.fn(async () => ({
464
+ ok: true,
465
+ json: async () => ({
466
+ models: [
467
+ {
468
+ name: 'models/text-only',
469
+ supportedGenerationMethods: ['generateContent'],
470
+ },
471
+ ],
472
+ }),
473
+ }));
474
+ const models = await listGeminiLiveModels('test-key');
475
+ expect(models).toEqual([]);
476
+ });
477
+ /* eslint-enable @typescript-eslint/no-explicit-any */
478
+ });
479
+ describe('normalizeMaxOutputTokens — OpenAI maxResponseTokens alias', () => {
480
+ it('returns explicit maxOutputTokens when set (alias ignored)', () => {
481
+ expect(normalizeMaxOutputTokens(512, 1024)).toBe(512);
482
+ expect(normalizeMaxOutputTokens(512, 'inf')).toBe(512);
483
+ });
484
+ it('falls back to alias when maxOutputTokens is unset', () => {
485
+ expect(normalizeMaxOutputTokens(undefined, 1024)).toBe(1024);
486
+ });
487
+ it('maps OpenAI "inf" sentinel to null (no cap)', () => {
488
+ expect(normalizeMaxOutputTokens(undefined, 'inf')).toBeNull();
489
+ });
490
+ it('returns null when both undefined', () => {
491
+ expect(normalizeMaxOutputTokens(undefined, undefined)).toBeNull();
492
+ });
493
+ });
494
+ describe('mapThresholdToSensitivity — OpenAI threshold alias', () => {
495
+ it('maps low threshold (permissive in OpenAI) to HIGH (sensitive in Gemini)', () => {
496
+ expect(mapThresholdToSensitivity(0)).toBe('HIGH');
497
+ expect(mapThresholdToSensitivity(0.1)).toBe('HIGH');
498
+ expect(mapThresholdToSensitivity(0.29)).toBe('HIGH');
499
+ });
500
+ it('maps OpenAI default (0.5) to MEDIUM', () => {
501
+ expect(mapThresholdToSensitivity(0.3)).toBe('MEDIUM');
502
+ expect(mapThresholdToSensitivity(0.5)).toBe('MEDIUM');
503
+ expect(mapThresholdToSensitivity(0.7)).toBe('MEDIUM');
504
+ });
505
+ it('maps high threshold (strict in OpenAI) to LOW (strict in Gemini)', () => {
506
+ expect(mapThresholdToSensitivity(0.71)).toBe('LOW');
507
+ expect(mapThresholdToSensitivity(0.9)).toBe('LOW');
508
+ expect(mapThresholdToSensitivity(1)).toBe('LOW');
509
+ });
510
+ it('returns undefined for undefined / out-of-range / NaN', () => {
511
+ expect(mapThresholdToSensitivity(undefined)).toBeUndefined();
512
+ expect(mapThresholdToSensitivity(-0.1)).toBeUndefined();
513
+ expect(mapThresholdToSensitivity(1.1)).toBeUndefined();
514
+ expect(mapThresholdToSensitivity(NaN)).toBeUndefined();
515
+ });
516
+ });
517
+ describe('GeminiLiveAdapter — OpenAI-compat alias integration', () => {
518
+ /* eslint-disable @typescript-eslint/no-explicit-any */
519
+ it('accepts maxResponseTokens and exposes it as maxOutputTokens', () => {
520
+ const adapter = new GeminiLiveAdapter({
521
+ apiKey: 'test-key',
522
+ maxResponseTokens: 1024,
523
+ });
524
+ const opts = adapter.opts;
525
+ expect(opts.maxOutputTokens).toBe(1024);
526
+ });
527
+ it('explicit maxOutputTokens wins over maxResponseTokens alias', () => {
528
+ const adapter = new GeminiLiveAdapter({
529
+ apiKey: 'test-key',
530
+ maxOutputTokens: 256,
531
+ maxResponseTokens: 1024,
532
+ });
533
+ const opts = adapter.opts;
534
+ expect(opts.maxOutputTokens).toBe(256);
535
+ });
536
+ it('maxResponseTokens="inf" (OpenAI sentinel) becomes null (no cap)', () => {
537
+ const adapter = new GeminiLiveAdapter({
538
+ apiKey: 'test-key',
539
+ maxResponseTokens: 'inf',
540
+ });
541
+ const opts = adapter.opts;
542
+ expect(opts.maxOutputTokens).toBeNull();
543
+ });
544
+ it('turnDetection.threshold propagates into start/end sensitivity', () => {
545
+ const adapter = new GeminiLiveAdapter({
546
+ apiKey: 'test-key',
547
+ turnDetection: { threshold: 0.9 },
548
+ });
549
+ const cfg = adapter.buildRealtimeInputConfig();
550
+ expect(cfg.automatic_activity_detection.start_of_speech_sensitivity)
551
+ .toBe('START_SENSITIVITY_LOW');
552
+ expect(cfg.automatic_activity_detection.end_of_speech_sensitivity)
553
+ .toBe('END_SENSITIVITY_LOW');
554
+ });
555
+ it('explicit startSensitivity wins over threshold (mix-and-match)', () => {
556
+ const adapter = new GeminiLiveAdapter({
557
+ apiKey: 'test-key',
558
+ turnDetection: { threshold: 0.1, startSensitivity: 'LOW' },
559
+ });
560
+ const cfg = adapter.buildRealtimeInputConfig();
561
+ // startSensitivity explicit → LOW
562
+ expect(cfg.automatic_activity_detection.start_of_speech_sensitivity)
563
+ .toBe('START_SENSITIVITY_LOW');
564
+ // endSensitivity falls through to threshold mapping → HIGH (from 0.1)
565
+ expect(cfg.automatic_activity_detection.end_of_speech_sensitivity)
566
+ .toBe('END_SENSITIVITY_HIGH');
567
+ });
568
+ it('no threshold and no sensitivity → no VAD config override (Gemini defaults)', () => {
569
+ const adapter = new GeminiLiveAdapter({
570
+ apiKey: 'test-key',
571
+ });
572
+ const cfg = adapter.buildRealtimeInputConfig();
573
+ // When nothing is set, the automatic_activity_detection object
574
+ // should be just `{ disabled: false }` — Gemini applies its own
575
+ // defaults. Absence of the sensitivity keys is what we check.
576
+ expect(cfg.automatic_activity_detection.start_of_speech_sensitivity)
577
+ .toBeUndefined();
578
+ expect(cfg.automatic_activity_detection.end_of_speech_sensitivity)
579
+ .toBeUndefined();
580
+ });
581
+ /* eslint-enable @typescript-eslint/no-explicit-any */
582
+ });
376
583
  //# sourceMappingURL=gemini-live.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-live.test.js","sourceRoot":"","sources":["../../src/realtime/gemini-live.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini-live.test.js","sourceRoot":"","sources":["../../src/realtime/gemini-live.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { OpenAIRealtimeAdapter } from './openai-realtime.js';
2
2
  export type { OpenAIRealtimeAdapterOptions, OpenAIRealtimeVoice, OpenAIRealtimeTurnDetectionMode, OpenAIRealtimeTurnDetectionOptions, OpenAIRealtimeTool, RealtimeToolCall, RealtimeSpeechActivityEvent, RealtimeSpeechAdapter, } from './openai-realtime.js';
3
- export { GeminiLiveAdapter, buildGeminiToolConfig, parseRateFromMime, peakAmplitude, } from './gemini-live.js';
4
- export type { GeminiLiveAdapterOptions, GeminiLiveVoice, GeminiLiveModel, GeminiLiveEndpoint, GeminiLiveTurnDetectionMode, GeminiLiveTurnDetectionOptions, GeminiLiveTool, GeminiLiveToolChoice, } from './gemini-live.js';
3
+ export { GeminiLiveAdapter, buildGeminiToolConfig, listGeminiLiveModels, mapThresholdToSensitivity, normalizeMaxOutputTokens, parseRateFromMime, peakAmplitude, } from './gemini-live.js';
4
+ export type { GeminiLiveAdapterOptions, GeminiLiveVoice, GeminiLiveModel, GeminiLiveModelInfo, GeminiLiveEndpoint, GeminiLiveTurnDetectionMode, GeminiLiveTurnDetectionOptions, GeminiLiveTool, GeminiLiveToolChoice, } from './gemini-live.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtime/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EACV,4BAA4B,EAC5B,mBAAmB,EACnB,+BAA+B,EAC/B,kCAAkC,EAClC,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,8BAA8B,EAC9B,cAAc,EACd,oBAAoB,GACrB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtime/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EACV,4BAA4B,EAC5B,mBAAmB,EACnB,+BAA+B,EAC/B,kCAAkC,EAClC,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,8BAA8B,EAC9B,cAAc,EACd,oBAAoB,GACrB,MAAM,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  // Realtime speech-to-speech adapters
2
2
  export { OpenAIRealtimeAdapter } from './openai-realtime.js';
3
- export { GeminiLiveAdapter, buildGeminiToolConfig, parseRateFromMime, peakAmplitude, } from './gemini-live.js';
3
+ export { GeminiLiveAdapter, buildGeminiToolConfig, listGeminiLiveModels, mapThresholdToSensitivity, normalizeMaxOutputTokens, parseRateFromMime, peakAmplitude, } from './gemini-live.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realtime/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAY7D,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realtime/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAY7D,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dvgateway-adapters",
3
- "version": "1.4.8",
3
+ "version": "1.5.0",
4
4
  "description": "AI service adapters for DVGateway SDK (Deepgram, ElevenLabs, Anthropic, OpenAI, OpenAI Realtime)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",