@speech-sdk/core 0.6.2 → 0.8.0-alpha

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.
Files changed (202) hide show
  1. package/LICENSE +202 -21
  2. package/README.md +267 -264
  3. package/dist/__tests__/e2e/_save-audio.d.ts +5 -24
  4. package/dist/__tests__/e2e/_save-audio.d.ts.map +1 -1
  5. package/dist/__tests__/e2e/_save-audio.js +19 -42
  6. package/dist/__tests__/e2e/_save-audio.js.map +1 -1
  7. package/dist/audio-duration.d.ts +0 -5
  8. package/dist/audio-duration.d.ts.map +1 -1
  9. package/dist/audio-duration.js +3 -10
  10. package/dist/audio-duration.js.map +1 -1
  11. package/dist/audio-utils.d.ts +1 -9
  12. package/dist/audio-utils.d.ts.map +1 -1
  13. package/dist/audio-utils.js +10 -13
  14. package/dist/audio-utils.js.map +1 -1
  15. package/dist/captions.d.ts +29 -0
  16. package/dist/captions.d.ts.map +1 -0
  17. package/dist/captions.js +193 -0
  18. package/dist/captions.js.map +1 -0
  19. package/dist/conversation/attribute-timestamps.d.ts +26 -0
  20. package/dist/conversation/attribute-timestamps.d.ts.map +1 -0
  21. package/dist/conversation/attribute-timestamps.js +276 -0
  22. package/dist/conversation/attribute-timestamps.js.map +1 -0
  23. package/dist/conversation/dispatch.d.ts +5 -5
  24. package/dist/conversation/dispatch.d.ts.map +1 -1
  25. package/dist/conversation/dispatch.js +18 -8
  26. package/dist/conversation/dispatch.js.map +1 -1
  27. package/dist/conversation/errors.d.ts +3 -0
  28. package/dist/conversation/errors.d.ts.map +1 -1
  29. package/dist/conversation/errors.js +6 -0
  30. package/dist/conversation/errors.js.map +1 -1
  31. package/dist/conversation/pcm-concat.d.ts +0 -23
  32. package/dist/conversation/pcm-concat.d.ts.map +1 -1
  33. package/dist/conversation/pcm-concat.js +5 -43
  34. package/dist/conversation/pcm-concat.js.map +1 -1
  35. package/dist/conversation/proportional-fill.d.ts +10 -0
  36. package/dist/conversation/proportional-fill.d.ts.map +1 -0
  37. package/dist/conversation/proportional-fill.js +64 -0
  38. package/dist/conversation/proportional-fill.js.map +1 -0
  39. package/dist/conversation/silence-detection.d.ts +14 -0
  40. package/dist/conversation/silence-detection.d.ts.map +1 -0
  41. package/dist/conversation/silence-detection.js +52 -0
  42. package/dist/conversation/silence-detection.js.map +1 -0
  43. package/dist/conversation/stitch.d.ts +3 -1
  44. package/dist/conversation/stitch.d.ts.map +1 -1
  45. package/dist/conversation/stitch.js +54 -13
  46. package/dist/conversation/stitch.js.map +1 -1
  47. package/dist/conversation/types.d.ts +1 -19
  48. package/dist/conversation/types.d.ts.map +1 -1
  49. package/dist/conversation/validate.d.ts +1 -16
  50. package/dist/conversation/validate.d.ts.map +1 -1
  51. package/dist/conversation/validate.js +29 -29
  52. package/dist/conversation/validate.js.map +1 -1
  53. package/dist/default-stt-fallback.d.ts +3 -0
  54. package/dist/default-stt-fallback.d.ts.map +1 -0
  55. package/dist/default-stt-fallback.js +11 -0
  56. package/dist/default-stt-fallback.js.map +1 -0
  57. package/dist/derive-timestamps.d.ts +10 -0
  58. package/dist/derive-timestamps.d.ts.map +1 -0
  59. package/dist/derive-timestamps.js +24 -0
  60. package/dist/derive-timestamps.js.map +1 -0
  61. package/dist/errors.d.ts +20 -2
  62. package/dist/errors.d.ts.map +1 -1
  63. package/dist/errors.js +28 -2
  64. package/dist/errors.js.map +1 -1
  65. package/dist/generate-conversation.d.ts +5 -4
  66. package/dist/generate-conversation.d.ts.map +1 -1
  67. package/dist/generate-conversation.js +191 -38
  68. package/dist/generate-conversation.js.map +1 -1
  69. package/dist/generate-speech.d.ts +2 -10
  70. package/dist/generate-speech.d.ts.map +1 -1
  71. package/dist/generate-speech.js +111 -33
  72. package/dist/generate-speech.js.map +1 -1
  73. package/dist/index.d.ts +5 -8
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +6 -4
  76. package/dist/index.js.map +1 -1
  77. package/dist/logger.d.ts +2 -0
  78. package/dist/logger.d.ts.map +1 -0
  79. package/dist/logger.js +29 -0
  80. package/dist/logger.js.map +1 -0
  81. package/dist/metadata.d.ts +0 -22
  82. package/dist/metadata.d.ts.map +1 -1
  83. package/dist/provider-utils.d.ts +3 -1
  84. package/dist/provider-utils.d.ts.map +1 -1
  85. package/dist/provider-utils.js +36 -39
  86. package/dist/provider-utils.js.map +1 -1
  87. package/dist/providers/cartesia/alignment.d.ts +8 -0
  88. package/dist/providers/cartesia/alignment.d.ts.map +1 -0
  89. package/dist/providers/cartesia/alignment.js +18 -0
  90. package/dist/providers/cartesia/alignment.js.map +1 -0
  91. package/dist/providers/cartesia/index.d.ts +11 -13
  92. package/dist/providers/cartesia/index.d.ts.map +1 -1
  93. package/dist/providers/cartesia/index.js +184 -61
  94. package/dist/providers/cartesia/index.js.map +1 -1
  95. package/dist/providers/deepgram/index.d.ts +7 -8
  96. package/dist/providers/deepgram/index.d.ts.map +1 -1
  97. package/dist/providers/deepgram/index.js +17 -18
  98. package/dist/providers/deepgram/index.js.map +1 -1
  99. package/dist/providers/elevenlabs/alignment.d.ts +10 -0
  100. package/dist/providers/elevenlabs/alignment.d.ts.map +1 -0
  101. package/dist/providers/elevenlabs/alignment.js +47 -0
  102. package/dist/providers/elevenlabs/alignment.js.map +1 -0
  103. package/dist/providers/elevenlabs/index.d.ts +10 -26
  104. package/dist/providers/elevenlabs/index.d.ts.map +1 -1
  105. package/dist/providers/elevenlabs/index.js +216 -154
  106. package/dist/providers/elevenlabs/index.js.map +1 -1
  107. package/dist/providers/fal/index.d.ts +7 -43
  108. package/dist/providers/fal/index.d.ts.map +1 -1
  109. package/dist/providers/fal/index.js +37 -86
  110. package/dist/providers/fal/index.js.map +1 -1
  111. package/dist/providers/fish-audio/index.d.ts +7 -8
  112. package/dist/providers/fish-audio/index.d.ts.map +1 -1
  113. package/dist/providers/fish-audio/index.js +23 -19
  114. package/dist/providers/fish-audio/index.js.map +1 -1
  115. package/dist/providers/gateway/index.d.ts +68 -0
  116. package/dist/providers/gateway/index.d.ts.map +1 -0
  117. package/dist/providers/gateway/index.js +236 -0
  118. package/dist/providers/gateway/index.js.map +1 -0
  119. package/dist/providers/google/index.d.ts +7 -20
  120. package/dist/providers/google/index.d.ts.map +1 -1
  121. package/dist/providers/google/index.js +161 -151
  122. package/dist/providers/google/index.js.map +1 -1
  123. package/dist/providers/hume/alignment.d.ts +33 -0
  124. package/dist/providers/hume/alignment.d.ts.map +1 -0
  125. package/dist/providers/hume/alignment.js +37 -0
  126. package/dist/providers/hume/alignment.js.map +1 -0
  127. package/dist/providers/hume/index.d.ts +11 -13
  128. package/dist/providers/hume/index.d.ts.map +1 -1
  129. package/dist/providers/hume/index.js +105 -41
  130. package/dist/providers/hume/index.js.map +1 -1
  131. package/dist/providers/inworld/alignment.d.ts +11 -0
  132. package/dist/providers/inworld/alignment.d.ts.map +1 -0
  133. package/dist/providers/inworld/alignment.js +24 -0
  134. package/dist/providers/inworld/alignment.js.map +1 -0
  135. package/dist/providers/inworld/index.d.ts +10 -14
  136. package/dist/providers/inworld/index.d.ts.map +1 -1
  137. package/dist/providers/inworld/index.js +55 -38
  138. package/dist/providers/inworld/index.js.map +1 -1
  139. package/dist/providers/mistral/index.d.ts +7 -8
  140. package/dist/providers/mistral/index.d.ts.map +1 -1
  141. package/dist/providers/mistral/index.js +39 -38
  142. package/dist/providers/mistral/index.js.map +1 -1
  143. package/dist/providers/murf/alignment.d.ts +13 -0
  144. package/dist/providers/murf/alignment.d.ts.map +1 -0
  145. package/dist/providers/murf/alignment.js +22 -0
  146. package/dist/providers/murf/alignment.js.map +1 -0
  147. package/dist/providers/murf/index.d.ts +11 -13
  148. package/dist/providers/murf/index.d.ts.map +1 -1
  149. package/dist/providers/murf/index.js +73 -56
  150. package/dist/providers/murf/index.js.map +1 -1
  151. package/dist/providers/openai/index.d.ts +36 -20
  152. package/dist/providers/openai/index.d.ts.map +1 -1
  153. package/dist/providers/openai/index.js +270 -102
  154. package/dist/providers/openai/index.js.map +1 -1
  155. package/dist/providers/resemble/alignment.d.ts +11 -0
  156. package/dist/providers/resemble/alignment.d.ts.map +1 -0
  157. package/dist/providers/resemble/alignment.js +54 -0
  158. package/dist/providers/resemble/alignment.js.map +1 -0
  159. package/dist/providers/resemble/index.d.ts +10 -8
  160. package/dist/providers/resemble/index.d.ts.map +1 -1
  161. package/dist/providers/resemble/index.js +58 -40
  162. package/dist/providers/resemble/index.js.map +1 -1
  163. package/dist/providers/xai/index.d.ts +7 -9
  164. package/dist/providers/xai/index.d.ts.map +1 -1
  165. package/dist/providers/xai/index.js +37 -40
  166. package/dist/providers/xai/index.js.map +1 -1
  167. package/dist/providers.d.ts +29 -0
  168. package/dist/providers.d.ts.map +1 -0
  169. package/dist/providers.js +15 -0
  170. package/dist/providers.js.map +1 -0
  171. package/dist/resolve-provider.d.ts.map +1 -1
  172. package/dist/resolve-provider.js +7 -59
  173. package/dist/resolve-provider.js.map +1 -1
  174. package/dist/speech-provider.d.ts +19 -15
  175. package/dist/speech-provider.d.ts.map +1 -1
  176. package/dist/speech-provider.js +9 -14
  177. package/dist/speech-provider.js.map +1 -1
  178. package/dist/speech-result.d.ts +5 -0
  179. package/dist/speech-result.d.ts.map +1 -1
  180. package/dist/speech-result.js.map +1 -1
  181. package/dist/speech-to-text-provider.d.ts +28 -0
  182. package/dist/speech-to-text-provider.d.ts.map +1 -0
  183. package/dist/speech-to-text-provider.js +2 -0
  184. package/dist/speech-to-text-provider.js.map +1 -0
  185. package/dist/stream-speech.d.ts.map +1 -1
  186. package/dist/stream-speech.js +2 -3
  187. package/dist/stream-speech.js.map +1 -1
  188. package/dist/timestamps.d.ts +9 -0
  189. package/dist/timestamps.d.ts.map +1 -0
  190. package/dist/timestamps.js +2 -0
  191. package/dist/timestamps.js.map +1 -0
  192. package/dist/turns.d.ts +9 -0
  193. package/dist/turns.d.ts.map +1 -0
  194. package/dist/turns.js +21 -0
  195. package/dist/turns.js.map +1 -0
  196. package/dist/types.d.ts +25 -0
  197. package/dist/types.d.ts.map +1 -1
  198. package/dist/volume-adjust.d.ts +0 -6
  199. package/dist/volume-adjust.d.ts.map +1 -1
  200. package/dist/volume-adjust.js +0 -6
  201. package/dist/volume-adjust.js.map +1 -1
  202. package/package.json +12 -63
@@ -0,0 +1,236 @@
1
+ import { z } from "zod";
2
+ import { ApiError, GatewayInputError, MissingApiKeyError, } from "../../errors.js";
3
+ import { handleErrorResponse, SDK_USER_AGENT } from "../../provider-utils.js";
4
+ export const SPEECH_GATEWAY_PROVIDER_ID = "speech-gateway";
5
+ // audioDurationMs computed client-side via mediabunny for path consistency across gateway + direct providers.
6
+ const wordTimestampSchema = z.object({
7
+ text: z.string(),
8
+ start: z.number(),
9
+ end: z.number(),
10
+ });
11
+ const conversationWordTimestampSchema = wordTimestampSchema.extend({
12
+ turnIndex: z.number(),
13
+ });
14
+ const gatewayJsonResponseSchema = z.object({
15
+ audio: z.string(),
16
+ mediaType: z.string(),
17
+ timestamps: z.array(wordTimestampSchema).default([]),
18
+ warnings: z.array(z.string()).default([]),
19
+ });
20
+ const gatewayConversationJsonResponseSchema = z.object({
21
+ audio: z.string(),
22
+ mediaType: z.string(),
23
+ timestamps: z.array(conversationWordTimestampSchema).default([]),
24
+ warnings: z.array(z.string()).default([]),
25
+ providerMetadata: z.record(z.string(), z.unknown()).optional(),
26
+ });
27
+ const GATEWAY_401_MESSAGE = "Speech Gateway rejected your API key (401). Get a key at https://wavform.ai/ or verify your SPEECH_GATEWAY_API_KEY environment variable.";
28
+ export class SpeechGatewayProvider {
29
+ id = SPEECH_GATEWAY_PROVIDER_ID;
30
+ defaultModel = "";
31
+ // Gateway server is the source of truth for model capabilities; feature checks deferred to the wire.
32
+ models = [];
33
+ apiKey;
34
+ baseURL;
35
+ fetchFn;
36
+ constructor(config) {
37
+ this.apiKey = config.apiKey;
38
+ this.baseURL = config.baseURL ?? "https://api.speechgateway.com/v1";
39
+ this.fetchFn = config.fetch ?? globalThis.fetch.bind(globalThis);
40
+ }
41
+ resolveKey() {
42
+ const key = this.apiKey ??
43
+ (typeof process === "undefined"
44
+ ? undefined
45
+ : process.env?.SPEECH_GATEWAY_API_KEY);
46
+ if (!key) {
47
+ const err = new MissingApiKeyError({
48
+ providerName: "Speech Gateway",
49
+ envVar: "SPEECH_GATEWAY_API_KEY",
50
+ });
51
+ err.message =
52
+ "To use the Speech Gateway, a Wavform AI api key is required. Sign up at https://wavform.ai/ to get a key, then pass it via the `apiKey` option or set the SPEECH_GATEWAY_API_KEY environment variable.";
53
+ throw err;
54
+ }
55
+ return key;
56
+ }
57
+ async generate(options) {
58
+ if (!options.voice) {
59
+ throw new GatewayInputError(`speech-gateway/${options.modelId}: "voice" is required when routing through the speech gateway in inline mode.`);
60
+ }
61
+ const body = {
62
+ mode: "inline",
63
+ model: options.modelId,
64
+ voice: options.voice,
65
+ text: options.text,
66
+ };
67
+ if (options.volumeDbfs != null) {
68
+ body.volumeDbfs = options.volumeDbfs;
69
+ }
70
+ if (options.providerOptions) {
71
+ body.providerOptions = options.providerOptions;
72
+ }
73
+ // Binary vs JSON-with-timestamps lives at separate URLs; no Accept-header content negotiation.
74
+ const url = options.includeTimestamps
75
+ ? `${this.baseURL}/audio/speech/with-timestamps`
76
+ : `${this.baseURL}/audio/speech`;
77
+ const response = await this.fetchFn(url, {
78
+ method: "POST",
79
+ headers: {
80
+ ...options.headers,
81
+ "Content-Type": "application/json",
82
+ Authorization: `Bearer ${this.resolveKey()}`,
83
+ "X-User-Agent": SDK_USER_AGENT,
84
+ },
85
+ body: JSON.stringify(body),
86
+ signal: options.abortSignal,
87
+ });
88
+ if (response.status === 401) {
89
+ throw new ApiError(GATEWAY_401_MESSAGE, { statusCode: 401 });
90
+ }
91
+ await handleErrorResponse(response);
92
+ if (options.includeTimestamps) {
93
+ const payload = gatewayJsonResponseSchema.parse(await response.json());
94
+ return {
95
+ audio: decodeBase64(payload.audio),
96
+ mediaType: payload.mediaType,
97
+ timestamps: payload.timestamps,
98
+ warnings: payload.warnings,
99
+ };
100
+ }
101
+ const arrayBuffer = await response.arrayBuffer();
102
+ return {
103
+ audio: new Uint8Array(arrayBuffer),
104
+ mediaType: mediaTypeFromHeaders(response.headers),
105
+ };
106
+ }
107
+ async stream(options) {
108
+ if (!options.voice) {
109
+ throw new GatewayInputError(`speech-gateway/${options.modelId}: "voice" is required when routing through the speech gateway in inline mode.`);
110
+ }
111
+ const body = {
112
+ mode: "inline",
113
+ model: options.modelId,
114
+ voice: options.voice,
115
+ text: options.text,
116
+ };
117
+ if (options.providerOptions) {
118
+ body.providerOptions = options.providerOptions;
119
+ }
120
+ const url = `${this.baseURL}/audio/speech`;
121
+ const response = await this.fetchFn(url, {
122
+ method: "POST",
123
+ headers: {
124
+ ...options.headers,
125
+ "Content-Type": "application/json",
126
+ Authorization: `Bearer ${this.resolveKey()}`,
127
+ "X-User-Agent": SDK_USER_AGENT,
128
+ },
129
+ body: JSON.stringify(body),
130
+ signal: options.abortSignal,
131
+ });
132
+ if (response.status === 401) {
133
+ throw new ApiError(GATEWAY_401_MESSAGE, { statusCode: 401 });
134
+ }
135
+ await handleErrorResponse(response);
136
+ if (!response.body) {
137
+ throw new Error(`speech-gateway/${options.modelId}: response has no body`);
138
+ }
139
+ return {
140
+ stream: response.body,
141
+ mediaType: mediaTypeFromHeaders(response.headers),
142
+ };
143
+ }
144
+ // Server handles stitching/normalization/alignment so callers never need their own STT key.
145
+ // Pick one of two wire shapes — mutually exclusive at the request level:
146
+ // 1. shared model — `modelId` set, every turn omits `model`
147
+ // 2. per-turn model — every turn declares its own `model`, `modelId` omitted (one conversation across providers)
148
+ async generateConversation(options) {
149
+ if (options.turns.length === 0) {
150
+ throw new GatewayInputError("speech-gateway/conversation: at least one turn is required.");
151
+ }
152
+ if (!options.turns.every((t) => t.voice)) {
153
+ throw new GatewayInputError('speech-gateway/conversation: every turn must specify a "voice" when routing through the speech gateway.');
154
+ }
155
+ const sharedModel = options.modelId;
156
+ const anyTurnModel = options.turns.some((t) => t.model != null);
157
+ if (sharedModel != null && anyTurnModel) {
158
+ throw new GatewayInputError("speech-gateway/conversation: pass either a shared `modelId` or per-turn `model` on every turn — not both.");
159
+ }
160
+ if (sharedModel == null && !options.turns.every((t) => t.model)) {
161
+ throw new GatewayInputError('speech-gateway/conversation: when no shared `modelId` is set, every turn must declare its own "model".');
162
+ }
163
+ // gapMs/volumeDbfs sent explicitly each call (don't rely on server defaults).
164
+ const body = {
165
+ mode: "conversation",
166
+ ...(sharedModel != null && { model: sharedModel }),
167
+ turns: options.turns.map((t) => ({
168
+ ...(t.model != null && { model: t.model }),
169
+ voice: t.voice,
170
+ text: t.text,
171
+ ...(t.providerOptions && { providerOptions: t.providerOptions }),
172
+ })),
173
+ gapMs: options.gapMs ?? 300,
174
+ volumeDbfs: options.volumeDbfs ?? -20,
175
+ };
176
+ if (options.providerOptions) {
177
+ body.providerOptions = options.providerOptions;
178
+ }
179
+ const url = options.includeTimestamps
180
+ ? `${this.baseURL}/audio/conversation/with-timestamps`
181
+ : `${this.baseURL}/audio/conversation`;
182
+ const response = await this.fetchFn(url, {
183
+ method: "POST",
184
+ headers: {
185
+ ...options.headers,
186
+ "Content-Type": "application/json",
187
+ Authorization: `Bearer ${this.resolveKey()}`,
188
+ "X-User-Agent": SDK_USER_AGENT,
189
+ },
190
+ body: JSON.stringify(body),
191
+ signal: options.abortSignal,
192
+ });
193
+ if (response.status === 401) {
194
+ throw new ApiError(GATEWAY_401_MESSAGE, { statusCode: 401 });
195
+ }
196
+ await handleErrorResponse(response);
197
+ if (options.includeTimestamps) {
198
+ const payload = gatewayConversationJsonResponseSchema.parse(await response.json());
199
+ return {
200
+ audio: decodeBase64(payload.audio),
201
+ mediaType: payload.mediaType,
202
+ timestamps: payload.timestamps,
203
+ warnings: payload.warnings,
204
+ ...(payload.providerMetadata !== undefined && {
205
+ providerMetadata: payload.providerMetadata,
206
+ }),
207
+ };
208
+ }
209
+ const arrayBuffer = await response.arrayBuffer();
210
+ return {
211
+ audio: new Uint8Array(arrayBuffer),
212
+ mediaType: mediaTypeFromHeaders(response.headers),
213
+ };
214
+ }
215
+ }
216
+ export function createSpeechGateway(config = {}) {
217
+ const provider = new SpeechGatewayProvider(config);
218
+ return function speechGateway(modelId) {
219
+ if (!modelId) {
220
+ throw new Error('Speech Gateway requires a model ID (e.g., "openai/gpt-4o-mini-tts"). The gateway routes to upstream providers and has no default model.');
221
+ }
222
+ return { provider, modelId };
223
+ };
224
+ }
225
+ function mediaTypeFromHeaders(headers) {
226
+ return headers.get("content-type") ?? "audio/mpeg";
227
+ }
228
+ function decodeBase64(value) {
229
+ const binaryString = atob(value);
230
+ const bytes = new Uint8Array(binaryString.length);
231
+ for (let i = 0; i < binaryString.length; i++) {
232
+ bytes[i] = binaryString.charCodeAt(i);
233
+ }
234
+ return bytes;
235
+ }
236
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/gateway/index.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,17 @@
1
- import { type ResolvedModel, type SpeechProvider } from "../../speech-provider.js";
1
+ import { type ModelInfo, type ResolvedModel, type SpeechProvider } from "../../speech-provider.js";
2
+ import type { ResolvedSTTModel } from "../../speech-to-text-provider.js";
2
3
  export interface GoogleSpeechProviderConfig {
3
4
  apiKey?: string;
4
5
  baseURL?: string;
6
+ fallbackSTT?: ResolvedSTTModel;
5
7
  fetch?: typeof globalThis.fetch;
6
8
  }
9
+ export declare const GOOGLE_PROVIDER_ID: "google";
10
+ export declare const GOOGLE_MODELS: readonly ModelInfo[];
7
11
  export declare class GoogleSpeechProvider implements SpeechProvider<string, string> {
8
- readonly id = "google";
12
+ readonly id: "google";
9
13
  readonly defaultModel = "gemini-2.5-flash-preview-tts";
10
- private static readonly GEMINI_2_5_LANGUAGES;
11
- private static readonly GEMINI_3_1_LANGUAGES;
12
- readonly models: readonly [{
13
- readonly id: "gemini-3.1-flash-tts-preview";
14
- readonly releaseDate: "2026-04-15";
15
- readonly languages: readonly ["af", "am", "ar", "az", "be", "bg", "bn", "ca", "ceb", "cmn", "cs", "da", "de", "el", "en", "es", "et", "eu", "fa", "fi", "fil", "fr", "gl", "gu", "he", "hi", "hr", "ht", "hu", "hy", "id", "is", "it", "ja", "jv", "ka", "kn", "ko", "kok", "la", "lb", "lo", "lt", "lv", "mai", "mg", "mk", "ml", "mn", "mr", "ms", "my", "nb", "ne", "nl", "nn", "or", "pa", "pl", "ps", "pt", "ro", "ru", "sd", "si", "sk", "sl", "sq", "sr", "sv", "sw", "ta", "te", "th", "tr", "uk", "ur", "vi"];
16
- readonly features: readonly ["streaming", "audio-tags"];
17
- }, {
18
- readonly id: "gemini-2.5-flash-preview-tts";
19
- readonly releaseDate: "2025-05-01";
20
- readonly languages: readonly ["en", "fr", "de", "es", "pt", "zh", "ja", "ko", "hi", "it", "nl", "pl", "ru", "sv", "tr", "id", "ar", "cs", "da", "fi", "el", "hu", "ro", "uk"];
21
- readonly features: readonly ["streaming"];
22
- }, {
23
- readonly id: "gemini-2.5-pro-preview-tts";
24
- readonly releaseDate: "2025-05-01";
25
- readonly languages: readonly ["en", "fr", "de", "es", "pt", "zh", "ja", "ko", "hi", "it", "nl", "pl", "ru", "sv", "tr", "id", "ar", "cs", "da", "fi", "el", "hu", "ro", "uk"];
26
- readonly features: readonly ["streaming"];
27
- }];
14
+ readonly models: readonly ModelInfo[];
28
15
  private readonly apiKey;
29
16
  private readonly baseURL;
30
17
  private readonly fetchFn;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/google/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/google/index.ts"],"names":[],"mappings":"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"}