@ai-sdk/gladia 1.0.12 → 1.0.13
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.
- package/CHANGELOG.md +7 -0
- package/dist/index.js +86 -96
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
19
|
|
|
30
20
|
// src/index.ts
|
|
@@ -43,15 +33,15 @@ var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
|
43
33
|
// src/gladia-transcription-model.ts
|
|
44
34
|
var import_provider = require("@ai-sdk/provider");
|
|
45
35
|
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
46
|
-
var
|
|
36
|
+
var import_v42 = require("zod/v4");
|
|
47
37
|
|
|
48
38
|
// src/gladia-error.ts
|
|
49
|
-
var
|
|
39
|
+
var import_v4 = require("zod/v4");
|
|
50
40
|
var import_provider_utils = require("@ai-sdk/provider-utils");
|
|
51
|
-
var gladiaErrorDataSchema = z.object({
|
|
52
|
-
error: z.object({
|
|
53
|
-
message: z.string(),
|
|
54
|
-
code: z.number()
|
|
41
|
+
var gladiaErrorDataSchema = import_v4.z.object({
|
|
42
|
+
error: import_v4.z.object({
|
|
43
|
+
message: import_v4.z.string(),
|
|
44
|
+
code: import_v4.z.number()
|
|
55
45
|
})
|
|
56
46
|
});
|
|
57
47
|
var gladiaFailedResponseHandler = (0, import_provider_utils.createJsonErrorResponseHandler)({
|
|
@@ -60,256 +50,256 @@ var gladiaFailedResponseHandler = (0, import_provider_utils.createJsonErrorRespo
|
|
|
60
50
|
});
|
|
61
51
|
|
|
62
52
|
// src/gladia-transcription-model.ts
|
|
63
|
-
var gladiaProviderOptionsSchema =
|
|
53
|
+
var gladiaProviderOptionsSchema = import_v42.z.object({
|
|
64
54
|
/**
|
|
65
55
|
* Optional context prompt to guide the transcription.
|
|
66
56
|
*/
|
|
67
|
-
contextPrompt:
|
|
57
|
+
contextPrompt: import_v42.z.string().nullish(),
|
|
68
58
|
/**
|
|
69
59
|
* Custom vocabulary to improve transcription accuracy.
|
|
70
60
|
* Can be a boolean or an array of custom terms.
|
|
71
61
|
*/
|
|
72
|
-
customVocabulary:
|
|
62
|
+
customVocabulary: import_v42.z.union([import_v42.z.boolean(), import_v42.z.array(import_v42.z.any())]).nullish(),
|
|
73
63
|
/**
|
|
74
64
|
* Configuration for custom vocabulary.
|
|
75
65
|
*/
|
|
76
|
-
customVocabularyConfig:
|
|
66
|
+
customVocabularyConfig: import_v42.z.object({
|
|
77
67
|
/**
|
|
78
68
|
* Array of vocabulary terms or objects with pronunciation details.
|
|
79
69
|
*/
|
|
80
|
-
vocabulary:
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
70
|
+
vocabulary: import_v42.z.array(
|
|
71
|
+
import_v42.z.union([
|
|
72
|
+
import_v42.z.string(),
|
|
73
|
+
import_v42.z.object({
|
|
84
74
|
/**
|
|
85
75
|
* The vocabulary term.
|
|
86
76
|
*/
|
|
87
|
-
value:
|
|
77
|
+
value: import_v42.z.string(),
|
|
88
78
|
/**
|
|
89
79
|
* Intensity of the term in recognition (optional).
|
|
90
80
|
*/
|
|
91
|
-
intensity:
|
|
81
|
+
intensity: import_v42.z.number().nullish(),
|
|
92
82
|
/**
|
|
93
83
|
* Alternative pronunciations for the term (optional).
|
|
94
84
|
*/
|
|
95
|
-
pronunciations:
|
|
85
|
+
pronunciations: import_v42.z.array(import_v42.z.string()).nullish(),
|
|
96
86
|
/**
|
|
97
87
|
* Language of the term (optional).
|
|
98
88
|
*/
|
|
99
|
-
language:
|
|
89
|
+
language: import_v42.z.string().nullish()
|
|
100
90
|
})
|
|
101
91
|
])
|
|
102
92
|
),
|
|
103
93
|
/**
|
|
104
94
|
* Default intensity for all vocabulary terms.
|
|
105
95
|
*/
|
|
106
|
-
defaultIntensity:
|
|
96
|
+
defaultIntensity: import_v42.z.number().nullish()
|
|
107
97
|
}).nullish(),
|
|
108
98
|
/**
|
|
109
99
|
* Whether to automatically detect the language of the audio.
|
|
110
100
|
*/
|
|
111
|
-
detectLanguage:
|
|
101
|
+
detectLanguage: import_v42.z.boolean().nullish(),
|
|
112
102
|
/**
|
|
113
103
|
* Whether to enable code switching (multiple languages in the same audio).
|
|
114
104
|
*/
|
|
115
|
-
enableCodeSwitching:
|
|
105
|
+
enableCodeSwitching: import_v42.z.boolean().nullish(),
|
|
116
106
|
/**
|
|
117
107
|
* Configuration for code switching.
|
|
118
108
|
*/
|
|
119
|
-
codeSwitchingConfig:
|
|
109
|
+
codeSwitchingConfig: import_v42.z.object({
|
|
120
110
|
/**
|
|
121
111
|
* Languages to consider for code switching.
|
|
122
112
|
*/
|
|
123
|
-
languages:
|
|
113
|
+
languages: import_v42.z.array(import_v42.z.string()).nullish()
|
|
124
114
|
}).nullish(),
|
|
125
115
|
/**
|
|
126
116
|
* Specific language for transcription.
|
|
127
117
|
*/
|
|
128
|
-
language:
|
|
118
|
+
language: import_v42.z.string().nullish(),
|
|
129
119
|
/**
|
|
130
120
|
* Whether to enable callback when transcription is complete.
|
|
131
121
|
*/
|
|
132
|
-
callback:
|
|
122
|
+
callback: import_v42.z.boolean().nullish(),
|
|
133
123
|
/**
|
|
134
124
|
* Configuration for callback.
|
|
135
125
|
*/
|
|
136
|
-
callbackConfig:
|
|
126
|
+
callbackConfig: import_v42.z.object({
|
|
137
127
|
/**
|
|
138
128
|
* URL to send the callback to.
|
|
139
129
|
*/
|
|
140
|
-
url:
|
|
130
|
+
url: import_v42.z.string(),
|
|
141
131
|
/**
|
|
142
132
|
* HTTP method for the callback.
|
|
143
133
|
*/
|
|
144
|
-
method:
|
|
134
|
+
method: import_v42.z.enum(["POST", "PUT"]).nullish()
|
|
145
135
|
}).nullish(),
|
|
146
136
|
/**
|
|
147
137
|
* Whether to generate subtitles.
|
|
148
138
|
*/
|
|
149
|
-
subtitles:
|
|
139
|
+
subtitles: import_v42.z.boolean().nullish(),
|
|
150
140
|
/**
|
|
151
141
|
* Configuration for subtitles generation.
|
|
152
142
|
*/
|
|
153
|
-
subtitlesConfig:
|
|
143
|
+
subtitlesConfig: import_v42.z.object({
|
|
154
144
|
/**
|
|
155
145
|
* Subtitle file formats to generate.
|
|
156
146
|
*/
|
|
157
|
-
formats:
|
|
147
|
+
formats: import_v42.z.array(import_v42.z.enum(["srt", "vtt"])).nullish(),
|
|
158
148
|
/**
|
|
159
149
|
* Minimum duration for subtitle segments.
|
|
160
150
|
*/
|
|
161
|
-
minimumDuration:
|
|
151
|
+
minimumDuration: import_v42.z.number().nullish(),
|
|
162
152
|
/**
|
|
163
153
|
* Maximum duration for subtitle segments.
|
|
164
154
|
*/
|
|
165
|
-
maximumDuration:
|
|
155
|
+
maximumDuration: import_v42.z.number().nullish(),
|
|
166
156
|
/**
|
|
167
157
|
* Maximum characters per row in subtitles.
|
|
168
158
|
*/
|
|
169
|
-
maximumCharactersPerRow:
|
|
159
|
+
maximumCharactersPerRow: import_v42.z.number().nullish(),
|
|
170
160
|
/**
|
|
171
161
|
* Maximum rows per caption in subtitles.
|
|
172
162
|
*/
|
|
173
|
-
maximumRowsPerCaption:
|
|
163
|
+
maximumRowsPerCaption: import_v42.z.number().nullish(),
|
|
174
164
|
/**
|
|
175
165
|
* Style of subtitles.
|
|
176
166
|
*/
|
|
177
|
-
style:
|
|
167
|
+
style: import_v42.z.enum(["default", "compliance"]).nullish()
|
|
178
168
|
}).nullish(),
|
|
179
169
|
/**
|
|
180
170
|
* Whether to enable speaker diarization (speaker identification).
|
|
181
171
|
*/
|
|
182
|
-
diarization:
|
|
172
|
+
diarization: import_v42.z.boolean().nullish(),
|
|
183
173
|
/**
|
|
184
174
|
* Configuration for diarization.
|
|
185
175
|
*/
|
|
186
|
-
diarizationConfig:
|
|
176
|
+
diarizationConfig: import_v42.z.object({
|
|
187
177
|
/**
|
|
188
178
|
* Exact number of speakers to identify.
|
|
189
179
|
*/
|
|
190
|
-
numberOfSpeakers:
|
|
180
|
+
numberOfSpeakers: import_v42.z.number().nullish(),
|
|
191
181
|
/**
|
|
192
182
|
* Minimum number of speakers to identify.
|
|
193
183
|
*/
|
|
194
|
-
minSpeakers:
|
|
184
|
+
minSpeakers: import_v42.z.number().nullish(),
|
|
195
185
|
/**
|
|
196
186
|
* Maximum number of speakers to identify.
|
|
197
187
|
*/
|
|
198
|
-
maxSpeakers:
|
|
188
|
+
maxSpeakers: import_v42.z.number().nullish(),
|
|
199
189
|
/**
|
|
200
190
|
* Whether to use enhanced diarization.
|
|
201
191
|
*/
|
|
202
|
-
enhanced:
|
|
192
|
+
enhanced: import_v42.z.boolean().nullish()
|
|
203
193
|
}).nullish(),
|
|
204
194
|
/**
|
|
205
195
|
* Whether to translate the transcription.
|
|
206
196
|
*/
|
|
207
|
-
translation:
|
|
197
|
+
translation: import_v42.z.boolean().nullish(),
|
|
208
198
|
/**
|
|
209
199
|
* Configuration for translation.
|
|
210
200
|
*/
|
|
211
|
-
translationConfig:
|
|
201
|
+
translationConfig: import_v42.z.object({
|
|
212
202
|
/**
|
|
213
203
|
* Target languages for translation.
|
|
214
204
|
*/
|
|
215
|
-
targetLanguages:
|
|
205
|
+
targetLanguages: import_v42.z.array(import_v42.z.string()),
|
|
216
206
|
/**
|
|
217
207
|
* Translation model to use.
|
|
218
208
|
*/
|
|
219
|
-
model:
|
|
209
|
+
model: import_v42.z.enum(["base", "enhanced"]).nullish(),
|
|
220
210
|
/**
|
|
221
211
|
* Whether to match original utterances in translation.
|
|
222
212
|
*/
|
|
223
|
-
matchOriginalUtterances:
|
|
213
|
+
matchOriginalUtterances: import_v42.z.boolean().nullish()
|
|
224
214
|
}).nullish(),
|
|
225
215
|
/**
|
|
226
216
|
* Whether to generate a summary of the transcription.
|
|
227
217
|
*/
|
|
228
|
-
summarization:
|
|
218
|
+
summarization: import_v42.z.boolean().nullish(),
|
|
229
219
|
/**
|
|
230
220
|
* Configuration for summarization.
|
|
231
221
|
*/
|
|
232
|
-
summarizationConfig:
|
|
222
|
+
summarizationConfig: import_v42.z.object({
|
|
233
223
|
/**
|
|
234
224
|
* Type of summary to generate.
|
|
235
225
|
*/
|
|
236
|
-
type:
|
|
226
|
+
type: import_v42.z.enum(["general", "bullet_points", "concise"]).nullish()
|
|
237
227
|
}).nullish(),
|
|
238
228
|
/**
|
|
239
229
|
* Whether to enable content moderation.
|
|
240
230
|
*/
|
|
241
|
-
moderation:
|
|
231
|
+
moderation: import_v42.z.boolean().nullish(),
|
|
242
232
|
/**
|
|
243
233
|
* Whether to enable named entity recognition.
|
|
244
234
|
*/
|
|
245
|
-
namedEntityRecognition:
|
|
235
|
+
namedEntityRecognition: import_v42.z.boolean().nullish(),
|
|
246
236
|
/**
|
|
247
237
|
* Whether to enable automatic chapter creation.
|
|
248
238
|
*/
|
|
249
|
-
chapterization:
|
|
239
|
+
chapterization: import_v42.z.boolean().nullish(),
|
|
250
240
|
/**
|
|
251
241
|
* Whether to ensure consistent naming of entities.
|
|
252
242
|
*/
|
|
253
|
-
nameConsistency:
|
|
243
|
+
nameConsistency: import_v42.z.boolean().nullish(),
|
|
254
244
|
/**
|
|
255
245
|
* Whether to enable custom spelling.
|
|
256
246
|
*/
|
|
257
|
-
customSpelling:
|
|
247
|
+
customSpelling: import_v42.z.boolean().nullish(),
|
|
258
248
|
/**
|
|
259
249
|
* Configuration for custom spelling.
|
|
260
250
|
*/
|
|
261
|
-
customSpellingConfig:
|
|
251
|
+
customSpellingConfig: import_v42.z.object({
|
|
262
252
|
/**
|
|
263
253
|
* Dictionary of custom spellings.
|
|
264
254
|
*/
|
|
265
|
-
spellingDictionary:
|
|
255
|
+
spellingDictionary: import_v42.z.record(import_v42.z.string(), import_v42.z.array(import_v42.z.string()))
|
|
266
256
|
}).nullish(),
|
|
267
257
|
/**
|
|
268
258
|
* Whether to extract structured data from the transcription.
|
|
269
259
|
*/
|
|
270
|
-
structuredDataExtraction:
|
|
260
|
+
structuredDataExtraction: import_v42.z.boolean().nullish(),
|
|
271
261
|
/**
|
|
272
262
|
* Configuration for structured data extraction.
|
|
273
263
|
*/
|
|
274
|
-
structuredDataExtractionConfig:
|
|
264
|
+
structuredDataExtractionConfig: import_v42.z.object({
|
|
275
265
|
/**
|
|
276
266
|
* Classes of data to extract.
|
|
277
267
|
*/
|
|
278
|
-
classes:
|
|
268
|
+
classes: import_v42.z.array(import_v42.z.string())
|
|
279
269
|
}).nullish(),
|
|
280
270
|
/**
|
|
281
271
|
* Whether to perform sentiment analysis on the transcription.
|
|
282
272
|
*/
|
|
283
|
-
sentimentAnalysis:
|
|
273
|
+
sentimentAnalysis: import_v42.z.boolean().nullish(),
|
|
284
274
|
/**
|
|
285
275
|
* Whether to send audio to a language model for processing.
|
|
286
276
|
*/
|
|
287
|
-
audioToLlm:
|
|
277
|
+
audioToLlm: import_v42.z.boolean().nullish(),
|
|
288
278
|
/**
|
|
289
279
|
* Configuration for audio to language model processing.
|
|
290
280
|
*/
|
|
291
|
-
audioToLlmConfig:
|
|
281
|
+
audioToLlmConfig: import_v42.z.object({
|
|
292
282
|
/**
|
|
293
283
|
* Prompts to send to the language model.
|
|
294
284
|
*/
|
|
295
|
-
prompts:
|
|
285
|
+
prompts: import_v42.z.array(import_v42.z.string())
|
|
296
286
|
}).nullish(),
|
|
297
287
|
/**
|
|
298
288
|
* Custom metadata to include with the transcription.
|
|
299
289
|
*/
|
|
300
|
-
customMetadata:
|
|
290
|
+
customMetadata: import_v42.z.record(import_v42.z.string(), import_v42.z.any()).nullish(),
|
|
301
291
|
/**
|
|
302
292
|
* Whether to include sentence-level segmentation.
|
|
303
293
|
*/
|
|
304
|
-
sentences:
|
|
294
|
+
sentences: import_v42.z.boolean().nullish(),
|
|
305
295
|
/**
|
|
306
296
|
* Whether to enable display mode.
|
|
307
297
|
*/
|
|
308
|
-
displayMode:
|
|
298
|
+
displayMode: import_v42.z.boolean().nullish(),
|
|
309
299
|
/**
|
|
310
300
|
* Whether to enhance punctuation in the transcription.
|
|
311
301
|
*/
|
|
312
|
-
punctuationEnhanced:
|
|
302
|
+
punctuationEnhanced: import_v42.z.boolean().nullish()
|
|
313
303
|
});
|
|
314
304
|
var GladiaTranscriptionModel = class {
|
|
315
305
|
constructor(modelId, config) {
|
|
@@ -536,26 +526,26 @@ var GladiaTranscriptionModel = class {
|
|
|
536
526
|
};
|
|
537
527
|
}
|
|
538
528
|
};
|
|
539
|
-
var gladiaUploadResponseSchema =
|
|
540
|
-
audio_url:
|
|
529
|
+
var gladiaUploadResponseSchema = import_v42.z.object({
|
|
530
|
+
audio_url: import_v42.z.string()
|
|
541
531
|
});
|
|
542
|
-
var gladiaTranscriptionInitializeResponseSchema =
|
|
543
|
-
result_url:
|
|
532
|
+
var gladiaTranscriptionInitializeResponseSchema = import_v42.z.object({
|
|
533
|
+
result_url: import_v42.z.string()
|
|
544
534
|
});
|
|
545
|
-
var gladiaTranscriptionResultResponseSchema =
|
|
546
|
-
status:
|
|
547
|
-
result:
|
|
548
|
-
metadata:
|
|
549
|
-
audio_duration:
|
|
535
|
+
var gladiaTranscriptionResultResponseSchema = import_v42.z.object({
|
|
536
|
+
status: import_v42.z.enum(["queued", "processing", "done", "error"]),
|
|
537
|
+
result: import_v42.z.object({
|
|
538
|
+
metadata: import_v42.z.object({
|
|
539
|
+
audio_duration: import_v42.z.number()
|
|
550
540
|
}),
|
|
551
|
-
transcription:
|
|
552
|
-
full_transcript:
|
|
553
|
-
languages:
|
|
554
|
-
utterances:
|
|
555
|
-
|
|
556
|
-
start:
|
|
557
|
-
end:
|
|
558
|
-
text:
|
|
541
|
+
transcription: import_v42.z.object({
|
|
542
|
+
full_transcript: import_v42.z.string(),
|
|
543
|
+
languages: import_v42.z.array(import_v42.z.string()),
|
|
544
|
+
utterances: import_v42.z.array(
|
|
545
|
+
import_v42.z.object({
|
|
546
|
+
start: import_v42.z.number(),
|
|
547
|
+
end: import_v42.z.number(),
|
|
548
|
+
text: import_v42.z.string()
|
|
559
549
|
})
|
|
560
550
|
)
|
|
561
551
|
})
|
|
@@ -563,7 +553,7 @@ var gladiaTranscriptionResultResponseSchema = z2.object({
|
|
|
563
553
|
});
|
|
564
554
|
|
|
565
555
|
// src/version.ts
|
|
566
|
-
var VERSION = true ? "1.0.
|
|
556
|
+
var VERSION = true ? "1.0.13" : "0.0.0-test";
|
|
567
557
|
|
|
568
558
|
// src/gladia-provider.ts
|
|
569
559
|
function createGladia(options = {}) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/gladia-provider.ts","../src/gladia-transcription-model.ts","../src/gladia-error.ts","../src/version.ts"],"sourcesContent":["export { createGladia, gladia } from './gladia-provider';\nexport type { GladiaProvider, GladiaProviderSettings } from './gladia-provider';\nexport { VERSION } from './version';\n","import {\n TranscriptionModelV2,\n ProviderV2,\n NoSuchModelError,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { GladiaTranscriptionModel } from './gladia-transcription-model';\nimport { VERSION } from './version';\n\nexport interface GladiaProvider extends ProviderV2 {\n (): {\n transcription: GladiaTranscriptionModel;\n };\n\n /**\nCreates a model for transcription.\n */\n transcription(): TranscriptionModelV2;\n}\n\nexport interface GladiaProviderSettings {\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\nCreate a Gladia provider instance.\n */\nexport function createGladia(\n options: GladiaProviderSettings = {},\n): GladiaProvider {\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n 'x-gladia-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'GLADIA_API_KEY',\n description: 'Gladia',\n }),\n ...options.headers,\n },\n `ai-sdk/gladia/${VERSION}`,\n );\n\n const createTranscriptionModel = () =>\n new GladiaTranscriptionModel('default', {\n provider: `gladia.transcription`,\n url: ({ path }) => `https://api.gladia.io${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function () {\n return {\n transcription: createTranscriptionModel(),\n };\n };\n\n provider.transcription = createTranscriptionModel;\n provider.transcriptionModel = createTranscriptionModel;\n\n // Required ProviderV2 methods that are not supported\n provider.languageModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'languageModel',\n message: 'Gladia does not provide language models',\n });\n };\n\n provider.textEmbeddingModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'textEmbeddingModel',\n message: 'Gladia does not provide text embedding models',\n });\n };\n\n provider.imageModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'imageModel',\n message: 'Gladia does not provide image models',\n });\n };\n\n return provider as GladiaProvider;\n}\n\n/**\nDefault Gladia provider instance.\n */\nexport const gladia = createGladia();\n","import {\n AISDKError,\n TranscriptionModelV2,\n TranscriptionModelV2CallWarning,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n convertBase64ToUint8Array,\n createJsonResponseHandler,\n mediaTypeToExtension,\n delay,\n getFromApi,\n parseProviderOptions,\n postFormDataToApi,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport * as z from 'zod/v4';\nimport { GladiaConfig } from './gladia-config';\nimport { gladiaFailedResponseHandler } from './gladia-error';\nimport { GladiaTranscriptionInitiateAPITypes } from './gladia-api-types';\n\n// https://docs.gladia.io/api-reference/v2/pre-recorded/init\nconst gladiaProviderOptionsSchema = z.object({\n /**\n * Optional context prompt to guide the transcription.\n */\n contextPrompt: z.string().nullish(),\n\n /**\n * Custom vocabulary to improve transcription accuracy.\n * Can be a boolean or an array of custom terms.\n */\n customVocabulary: z.union([z.boolean(), z.array(z.any())]).nullish(),\n\n /**\n * Configuration for custom vocabulary.\n */\n customVocabularyConfig: z\n .object({\n /**\n * Array of vocabulary terms or objects with pronunciation details.\n */\n vocabulary: z.array(\n z.union([\n z.string(),\n z.object({\n /**\n * The vocabulary term.\n */\n value: z.string(),\n /**\n * Intensity of the term in recognition (optional).\n */\n intensity: z.number().nullish(),\n /**\n * Alternative pronunciations for the term (optional).\n */\n pronunciations: z.array(z.string()).nullish(),\n /**\n * Language of the term (optional).\n */\n language: z.string().nullish(),\n }),\n ]),\n ),\n /**\n * Default intensity for all vocabulary terms.\n */\n defaultIntensity: z.number().nullish(),\n })\n .nullish(),\n\n /**\n * Whether to automatically detect the language of the audio.\n */\n detectLanguage: z.boolean().nullish(),\n\n /**\n * Whether to enable code switching (multiple languages in the same audio).\n */\n enableCodeSwitching: z.boolean().nullish(),\n\n /**\n * Configuration for code switching.\n */\n codeSwitchingConfig: z\n .object({\n /**\n * Languages to consider for code switching.\n */\n languages: z.array(z.string()).nullish(),\n })\n .nullish(),\n\n /**\n * Specific language for transcription.\n */\n language: z.string().nullish(),\n\n /**\n * Whether to enable callback when transcription is complete.\n */\n callback: z.boolean().nullish(),\n\n /**\n * Configuration for callback.\n */\n callbackConfig: z\n .object({\n /**\n * URL to send the callback to.\n */\n url: z.string(),\n /**\n * HTTP method for the callback.\n */\n method: z.enum(['POST', 'PUT']).nullish(),\n })\n .nullish(),\n\n /**\n * Whether to generate subtitles.\n */\n subtitles: z.boolean().nullish(),\n\n /**\n * Configuration for subtitles generation.\n */\n subtitlesConfig: z\n .object({\n /**\n * Subtitle file formats to generate.\n */\n formats: z.array(z.enum(['srt', 'vtt'])).nullish(),\n /**\n * Minimum duration for subtitle segments.\n */\n minimumDuration: z.number().nullish(),\n /**\n * Maximum duration for subtitle segments.\n */\n maximumDuration: z.number().nullish(),\n /**\n * Maximum characters per row in subtitles.\n */\n maximumCharactersPerRow: z.number().nullish(),\n /**\n * Maximum rows per caption in subtitles.\n */\n maximumRowsPerCaption: z.number().nullish(),\n /**\n * Style of subtitles.\n */\n style: z.enum(['default', 'compliance']).nullish(),\n })\n .nullish(),\n\n /**\n * Whether to enable speaker diarization (speaker identification).\n */\n diarization: z.boolean().nullish(),\n\n /**\n * Configuration for diarization.\n */\n diarizationConfig: z\n .object({\n /**\n * Exact number of speakers to identify.\n */\n numberOfSpeakers: z.number().nullish(),\n /**\n * Minimum number of speakers to identify.\n */\n minSpeakers: z.number().nullish(),\n /**\n * Maximum number of speakers to identify.\n */\n maxSpeakers: z.number().nullish(),\n /**\n * Whether to use enhanced diarization.\n */\n enhanced: z.boolean().nullish(),\n })\n .nullish(),\n\n /**\n * Whether to translate the transcription.\n */\n translation: z.boolean().nullish(),\n\n /**\n * Configuration for translation.\n */\n translationConfig: z\n .object({\n /**\n * Target languages for translation.\n */\n targetLanguages: z.array(z.string()),\n /**\n * Translation model to use.\n */\n model: z.enum(['base', 'enhanced']).nullish(),\n /**\n * Whether to match original utterances in translation.\n */\n matchOriginalUtterances: z.boolean().nullish(),\n })\n .nullish(),\n\n /**\n * Whether to generate a summary of the transcription.\n */\n summarization: z.boolean().nullish(),\n\n /**\n * Configuration for summarization.\n */\n summarizationConfig: z\n .object({\n /**\n * Type of summary to generate.\n */\n type: z.enum(['general', 'bullet_points', 'concise']).nullish(),\n })\n .nullish(),\n\n /**\n * Whether to enable content moderation.\n */\n moderation: z.boolean().nullish(),\n\n /**\n * Whether to enable named entity recognition.\n */\n namedEntityRecognition: z.boolean().nullish(),\n\n /**\n * Whether to enable automatic chapter creation.\n */\n chapterization: z.boolean().nullish(),\n\n /**\n * Whether to ensure consistent naming of entities.\n */\n nameConsistency: z.boolean().nullish(),\n\n /**\n * Whether to enable custom spelling.\n */\n customSpelling: z.boolean().nullish(),\n\n /**\n * Configuration for custom spelling.\n */\n customSpellingConfig: z\n .object({\n /**\n * Dictionary of custom spellings.\n */\n spellingDictionary: z.record(z.string(), z.array(z.string())),\n })\n .nullish(),\n\n /**\n * Whether to extract structured data from the transcription.\n */\n structuredDataExtraction: z.boolean().nullish(),\n\n /**\n * Configuration for structured data extraction.\n */\n structuredDataExtractionConfig: z\n .object({\n /**\n * Classes of data to extract.\n */\n classes: z.array(z.string()),\n })\n .nullish(),\n\n /**\n * Whether to perform sentiment analysis on the transcription.\n */\n sentimentAnalysis: z.boolean().nullish(),\n\n /**\n * Whether to send audio to a language model for processing.\n */\n audioToLlm: z.boolean().nullish(),\n\n /**\n * Configuration for audio to language model processing.\n */\n audioToLlmConfig: z\n .object({\n /**\n * Prompts to send to the language model.\n */\n prompts: z.array(z.string()),\n })\n .nullish(),\n\n /**\n * Custom metadata to include with the transcription.\n */\n customMetadata: z.record(z.string(), z.any()).nullish(),\n\n /**\n * Whether to include sentence-level segmentation.\n */\n sentences: z.boolean().nullish(),\n\n /**\n * Whether to enable display mode.\n */\n displayMode: z.boolean().nullish(),\n\n /**\n * Whether to enhance punctuation in the transcription.\n */\n punctuationEnhanced: z.boolean().nullish(),\n});\n\nexport type GladiaTranscriptionCallOptions = z.infer<\n typeof gladiaProviderOptionsSchema\n>;\n\ninterface GladiaTranscriptionModelConfig extends GladiaConfig {\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class GladiaTranscriptionModel implements TranscriptionModelV2 {\n readonly specificationVersion = 'v2';\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: 'default',\n private readonly config: GladiaTranscriptionModelConfig,\n ) {}\n\n private async getArgs({\n providerOptions,\n }: Parameters<TranscriptionModelV2['doGenerate']>[0]) {\n const warnings: TranscriptionModelV2CallWarning[] = [];\n\n // Parse provider options\n const gladiaOptions = await parseProviderOptions({\n provider: 'gladia',\n providerOptions,\n schema: gladiaProviderOptionsSchema,\n });\n\n const body: Omit<GladiaTranscriptionInitiateAPITypes, 'audio_url'> = {};\n\n // Add provider-specific options\n if (gladiaOptions) {\n body.context_prompt = gladiaOptions.contextPrompt ?? undefined;\n body.custom_vocabulary = gladiaOptions.customVocabulary ?? undefined;\n body.detect_language = gladiaOptions.detectLanguage ?? undefined;\n body.enable_code_switching =\n gladiaOptions.enableCodeSwitching ?? undefined;\n body.language = gladiaOptions.language ?? undefined;\n body.callback = gladiaOptions.callback ?? undefined;\n body.subtitles = gladiaOptions.subtitles ?? undefined;\n body.diarization = gladiaOptions.diarization ?? undefined;\n body.translation = gladiaOptions.translation ?? undefined;\n body.summarization = gladiaOptions.summarization ?? undefined;\n body.moderation = gladiaOptions.moderation ?? undefined;\n body.named_entity_recognition =\n gladiaOptions.namedEntityRecognition ?? undefined;\n body.chapterization = gladiaOptions.chapterization ?? undefined;\n body.name_consistency = gladiaOptions.nameConsistency ?? undefined;\n body.custom_spelling = gladiaOptions.customSpelling ?? undefined;\n body.structured_data_extraction =\n gladiaOptions.structuredDataExtraction ?? undefined;\n body.structured_data_extraction_config =\n gladiaOptions.structuredDataExtractionConfig ?? undefined;\n body.sentiment_analysis = gladiaOptions.sentimentAnalysis ?? undefined;\n body.audio_to_llm = gladiaOptions.audioToLlm ?? undefined;\n body.audio_to_llm_config = gladiaOptions.audioToLlmConfig ?? undefined;\n body.custom_metadata = gladiaOptions.customMetadata ?? undefined;\n body.sentences = gladiaOptions.sentences ?? undefined;\n body.display_mode = gladiaOptions.displayMode ?? undefined;\n body.punctuation_enhanced =\n gladiaOptions.punctuationEnhanced ?? undefined;\n\n if (gladiaOptions.customVocabularyConfig) {\n body.custom_vocabulary_config = {\n vocabulary: gladiaOptions.customVocabularyConfig.vocabulary.map(\n item => {\n if (typeof item === 'string') return item;\n return {\n value: item.value,\n intensity: item.intensity ?? undefined,\n pronunciations: item.pronunciations ?? undefined,\n language: item.language ?? undefined,\n };\n },\n ),\n default_intensity:\n gladiaOptions.customVocabularyConfig.defaultIntensity ?? undefined,\n };\n }\n\n // Handle code switching config\n if (gladiaOptions.codeSwitchingConfig) {\n body.code_switching_config = {\n languages: gladiaOptions.codeSwitchingConfig.languages ?? undefined,\n };\n }\n\n // Handle callback config\n if (gladiaOptions.callbackConfig) {\n body.callback_config = {\n url: gladiaOptions.callbackConfig.url,\n method: gladiaOptions.callbackConfig.method ?? undefined,\n };\n }\n\n // Handle subtitles config\n if (gladiaOptions.subtitlesConfig) {\n body.subtitles_config = {\n formats: gladiaOptions.subtitlesConfig.formats ?? undefined,\n minimum_duration:\n gladiaOptions.subtitlesConfig.minimumDuration ?? undefined,\n maximum_duration:\n gladiaOptions.subtitlesConfig.maximumDuration ?? undefined,\n maximum_characters_per_row:\n gladiaOptions.subtitlesConfig.maximumCharactersPerRow ?? undefined,\n maximum_rows_per_caption:\n gladiaOptions.subtitlesConfig.maximumRowsPerCaption ?? undefined,\n style: gladiaOptions.subtitlesConfig.style ?? undefined,\n };\n }\n\n // Handle diarization config\n if (gladiaOptions.diarizationConfig) {\n body.diarization_config = {\n number_of_speakers:\n gladiaOptions.diarizationConfig.numberOfSpeakers ?? undefined,\n min_speakers:\n gladiaOptions.diarizationConfig.minSpeakers ?? undefined,\n max_speakers:\n gladiaOptions.diarizationConfig.maxSpeakers ?? undefined,\n enhanced: gladiaOptions.diarizationConfig.enhanced ?? undefined,\n };\n }\n\n // Handle translation config\n if (gladiaOptions.translationConfig) {\n body.translation_config = {\n target_languages: gladiaOptions.translationConfig.targetLanguages,\n model: gladiaOptions.translationConfig.model ?? undefined,\n match_original_utterances:\n gladiaOptions.translationConfig.matchOriginalUtterances ??\n undefined,\n };\n }\n\n // Handle summarization config\n if (gladiaOptions.summarizationConfig) {\n body.summarization_config = {\n type: gladiaOptions.summarizationConfig.type ?? undefined,\n };\n }\n\n // Handle custom spelling config\n if (gladiaOptions.customSpellingConfig) {\n body.custom_spelling_config = {\n spelling_dictionary:\n gladiaOptions.customSpellingConfig.spellingDictionary,\n };\n }\n }\n\n return {\n body,\n warnings,\n };\n }\n\n async doGenerate(\n options: Parameters<TranscriptionModelV2['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<TranscriptionModelV2['doGenerate']>>> {\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n\n // Create form data with base fields\n const formData = new FormData();\n const blob =\n options.audio instanceof Uint8Array\n ? new Blob([options.audio])\n : new Blob([convertBase64ToUint8Array(options.audio)]);\n\n const fileExtension = mediaTypeToExtension(options.mediaType);\n formData.append(\n 'audio',\n new File([blob], 'audio', { type: options.mediaType }),\n `audio.${fileExtension}`,\n );\n\n const { value: uploadResponse } = await postFormDataToApi({\n url: this.config.url({\n path: '/v2/upload',\n modelId: 'default',\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n formData,\n failedResponseHandler: gladiaFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n gladiaUploadResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { body, warnings } = await this.getArgs(options);\n\n const { value: transcriptionInitResponse } = await postJsonToApi({\n url: this.config.url({\n path: '/v2/pre-recorded',\n modelId: 'default',\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: {\n ...body,\n audio_url: uploadResponse.audio_url,\n },\n failedResponseHandler: gladiaFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n gladiaTranscriptionInitializeResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n // Poll the result URL until the transcription is done or an error occurs\n const resultUrl = transcriptionInitResponse.result_url;\n let transcriptionResult;\n let transcriptionResultHeaders;\n const timeoutMs = 60 * 1000; // 60 seconds timeout\n const startTime = Date.now();\n const pollingInterval = 1000;\n\n while (true) {\n // Check if we've exceeded the timeout\n if (Date.now() - startTime > timeoutMs) {\n throw new AISDKError({\n message: 'Transcription job polling timed out',\n name: 'TranscriptionJobPollingTimedOut',\n cause: transcriptionResult,\n });\n }\n\n const response = await getFromApi({\n url: resultUrl,\n headers: combineHeaders(this.config.headers(), options.headers),\n failedResponseHandler: gladiaFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n gladiaTranscriptionResultResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n transcriptionResult = response.value;\n transcriptionResultHeaders = response.responseHeaders;\n\n if (transcriptionResult.status === 'done') {\n break;\n }\n\n if (transcriptionResult.status === 'error') {\n throw new AISDKError({\n message: 'Transcription job failed',\n name: 'TranscriptionJobFailed',\n cause: transcriptionResult,\n });\n }\n\n // Wait for the configured polling interval before checking again\n await delay(pollingInterval);\n }\n\n if (!transcriptionResult.result) {\n throw new AISDKError({\n message: 'Transcription result is empty',\n name: 'TranscriptionResultEmpty',\n cause: transcriptionResult,\n });\n }\n\n // Process the successful result\n return {\n text: transcriptionResult.result.transcription.full_transcript,\n durationInSeconds: transcriptionResult.result.metadata.audio_duration,\n language: transcriptionResult.result.transcription.languages.at(0),\n segments: transcriptionResult.result.transcription.utterances.map(\n utterance => ({\n text: utterance.text,\n startSecond: utterance.start,\n endSecond: utterance.end,\n }),\n ),\n response: {\n timestamp: currentDate,\n modelId: 'default',\n headers: transcriptionResultHeaders,\n },\n providerMetadata: {\n gladia: transcriptionResult,\n },\n warnings,\n };\n }\n}\n\nconst gladiaUploadResponseSchema = z.object({\n audio_url: z.string(),\n});\n\nconst gladiaTranscriptionInitializeResponseSchema = z.object({\n result_url: z.string(),\n});\n\nconst gladiaTranscriptionResultResponseSchema = z.object({\n status: z.enum(['queued', 'processing', 'done', 'error']),\n result: z\n .object({\n metadata: z.object({\n audio_duration: z.number(),\n }),\n transcription: z.object({\n full_transcript: z.string(),\n languages: z.array(z.string()),\n utterances: z.array(\n z.object({\n start: z.number(),\n end: z.number(),\n text: z.string(),\n }),\n ),\n }),\n })\n .nullish(),\n});\n","import * as z from 'zod/v4';\nimport { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\n\nexport const gladiaErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n code: z.number(),\n }),\n});\n\nexport type GladiaErrorData = z.infer<typeof gladiaErrorDataSchema>;\n\nexport const gladiaFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: gladiaErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["import_provider","import_provider_utils","import_provider_utils","z","_a","_b","_c"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/gladia-provider.ts","../src/gladia-transcription-model.ts","../src/gladia-error.ts","../src/version.ts"],"sourcesContent":["export { createGladia, gladia } from './gladia-provider';\nexport type { GladiaProvider, GladiaProviderSettings } from './gladia-provider';\nexport { VERSION } from './version';\n","import {\n TranscriptionModelV2,\n ProviderV2,\n NoSuchModelError,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { GladiaTranscriptionModel } from './gladia-transcription-model';\nimport { VERSION } from './version';\n\nexport interface GladiaProvider extends ProviderV2 {\n (): {\n transcription: GladiaTranscriptionModel;\n };\n\n /**\nCreates a model for transcription.\n */\n transcription(): TranscriptionModelV2;\n}\n\nexport interface GladiaProviderSettings {\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\nCreate a Gladia provider instance.\n */\nexport function createGladia(\n options: GladiaProviderSettings = {},\n): GladiaProvider {\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n 'x-gladia-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'GLADIA_API_KEY',\n description: 'Gladia',\n }),\n ...options.headers,\n },\n `ai-sdk/gladia/${VERSION}`,\n );\n\n const createTranscriptionModel = () =>\n new GladiaTranscriptionModel('default', {\n provider: `gladia.transcription`,\n url: ({ path }) => `https://api.gladia.io${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function () {\n return {\n transcription: createTranscriptionModel(),\n };\n };\n\n provider.transcription = createTranscriptionModel;\n provider.transcriptionModel = createTranscriptionModel;\n\n // Required ProviderV2 methods that are not supported\n provider.languageModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'languageModel',\n message: 'Gladia does not provide language models',\n });\n };\n\n provider.textEmbeddingModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'textEmbeddingModel',\n message: 'Gladia does not provide text embedding models',\n });\n };\n\n provider.imageModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'imageModel',\n message: 'Gladia does not provide image models',\n });\n };\n\n return provider as GladiaProvider;\n}\n\n/**\nDefault Gladia provider instance.\n */\nexport const gladia = createGladia();\n","import {\n AISDKError,\n TranscriptionModelV2,\n TranscriptionModelV2CallWarning,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n convertBase64ToUint8Array,\n createJsonResponseHandler,\n mediaTypeToExtension,\n delay,\n getFromApi,\n parseProviderOptions,\n postFormDataToApi,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { GladiaConfig } from './gladia-config';\nimport { gladiaFailedResponseHandler } from './gladia-error';\nimport { GladiaTranscriptionInitiateAPITypes } from './gladia-api-types';\n\n// https://docs.gladia.io/api-reference/v2/pre-recorded/init\nconst gladiaProviderOptionsSchema = z.object({\n /**\n * Optional context prompt to guide the transcription.\n */\n contextPrompt: z.string().nullish(),\n\n /**\n * Custom vocabulary to improve transcription accuracy.\n * Can be a boolean or an array of custom terms.\n */\n customVocabulary: z.union([z.boolean(), z.array(z.any())]).nullish(),\n\n /**\n * Configuration for custom vocabulary.\n */\n customVocabularyConfig: z\n .object({\n /**\n * Array of vocabulary terms or objects with pronunciation details.\n */\n vocabulary: z.array(\n z.union([\n z.string(),\n z.object({\n /**\n * The vocabulary term.\n */\n value: z.string(),\n /**\n * Intensity of the term in recognition (optional).\n */\n intensity: z.number().nullish(),\n /**\n * Alternative pronunciations for the term (optional).\n */\n pronunciations: z.array(z.string()).nullish(),\n /**\n * Language of the term (optional).\n */\n language: z.string().nullish(),\n }),\n ]),\n ),\n /**\n * Default intensity for all vocabulary terms.\n */\n defaultIntensity: z.number().nullish(),\n })\n .nullish(),\n\n /**\n * Whether to automatically detect the language of the audio.\n */\n detectLanguage: z.boolean().nullish(),\n\n /**\n * Whether to enable code switching (multiple languages in the same audio).\n */\n enableCodeSwitching: z.boolean().nullish(),\n\n /**\n * Configuration for code switching.\n */\n codeSwitchingConfig: z\n .object({\n /**\n * Languages to consider for code switching.\n */\n languages: z.array(z.string()).nullish(),\n })\n .nullish(),\n\n /**\n * Specific language for transcription.\n */\n language: z.string().nullish(),\n\n /**\n * Whether to enable callback when transcription is complete.\n */\n callback: z.boolean().nullish(),\n\n /**\n * Configuration for callback.\n */\n callbackConfig: z\n .object({\n /**\n * URL to send the callback to.\n */\n url: z.string(),\n /**\n * HTTP method for the callback.\n */\n method: z.enum(['POST', 'PUT']).nullish(),\n })\n .nullish(),\n\n /**\n * Whether to generate subtitles.\n */\n subtitles: z.boolean().nullish(),\n\n /**\n * Configuration for subtitles generation.\n */\n subtitlesConfig: z\n .object({\n /**\n * Subtitle file formats to generate.\n */\n formats: z.array(z.enum(['srt', 'vtt'])).nullish(),\n /**\n * Minimum duration for subtitle segments.\n */\n minimumDuration: z.number().nullish(),\n /**\n * Maximum duration for subtitle segments.\n */\n maximumDuration: z.number().nullish(),\n /**\n * Maximum characters per row in subtitles.\n */\n maximumCharactersPerRow: z.number().nullish(),\n /**\n * Maximum rows per caption in subtitles.\n */\n maximumRowsPerCaption: z.number().nullish(),\n /**\n * Style of subtitles.\n */\n style: z.enum(['default', 'compliance']).nullish(),\n })\n .nullish(),\n\n /**\n * Whether to enable speaker diarization (speaker identification).\n */\n diarization: z.boolean().nullish(),\n\n /**\n * Configuration for diarization.\n */\n diarizationConfig: z\n .object({\n /**\n * Exact number of speakers to identify.\n */\n numberOfSpeakers: z.number().nullish(),\n /**\n * Minimum number of speakers to identify.\n */\n minSpeakers: z.number().nullish(),\n /**\n * Maximum number of speakers to identify.\n */\n maxSpeakers: z.number().nullish(),\n /**\n * Whether to use enhanced diarization.\n */\n enhanced: z.boolean().nullish(),\n })\n .nullish(),\n\n /**\n * Whether to translate the transcription.\n */\n translation: z.boolean().nullish(),\n\n /**\n * Configuration for translation.\n */\n translationConfig: z\n .object({\n /**\n * Target languages for translation.\n */\n targetLanguages: z.array(z.string()),\n /**\n * Translation model to use.\n */\n model: z.enum(['base', 'enhanced']).nullish(),\n /**\n * Whether to match original utterances in translation.\n */\n matchOriginalUtterances: z.boolean().nullish(),\n })\n .nullish(),\n\n /**\n * Whether to generate a summary of the transcription.\n */\n summarization: z.boolean().nullish(),\n\n /**\n * Configuration for summarization.\n */\n summarizationConfig: z\n .object({\n /**\n * Type of summary to generate.\n */\n type: z.enum(['general', 'bullet_points', 'concise']).nullish(),\n })\n .nullish(),\n\n /**\n * Whether to enable content moderation.\n */\n moderation: z.boolean().nullish(),\n\n /**\n * Whether to enable named entity recognition.\n */\n namedEntityRecognition: z.boolean().nullish(),\n\n /**\n * Whether to enable automatic chapter creation.\n */\n chapterization: z.boolean().nullish(),\n\n /**\n * Whether to ensure consistent naming of entities.\n */\n nameConsistency: z.boolean().nullish(),\n\n /**\n * Whether to enable custom spelling.\n */\n customSpelling: z.boolean().nullish(),\n\n /**\n * Configuration for custom spelling.\n */\n customSpellingConfig: z\n .object({\n /**\n * Dictionary of custom spellings.\n */\n spellingDictionary: z.record(z.string(), z.array(z.string())),\n })\n .nullish(),\n\n /**\n * Whether to extract structured data from the transcription.\n */\n structuredDataExtraction: z.boolean().nullish(),\n\n /**\n * Configuration for structured data extraction.\n */\n structuredDataExtractionConfig: z\n .object({\n /**\n * Classes of data to extract.\n */\n classes: z.array(z.string()),\n })\n .nullish(),\n\n /**\n * Whether to perform sentiment analysis on the transcription.\n */\n sentimentAnalysis: z.boolean().nullish(),\n\n /**\n * Whether to send audio to a language model for processing.\n */\n audioToLlm: z.boolean().nullish(),\n\n /**\n * Configuration for audio to language model processing.\n */\n audioToLlmConfig: z\n .object({\n /**\n * Prompts to send to the language model.\n */\n prompts: z.array(z.string()),\n })\n .nullish(),\n\n /**\n * Custom metadata to include with the transcription.\n */\n customMetadata: z.record(z.string(), z.any()).nullish(),\n\n /**\n * Whether to include sentence-level segmentation.\n */\n sentences: z.boolean().nullish(),\n\n /**\n * Whether to enable display mode.\n */\n displayMode: z.boolean().nullish(),\n\n /**\n * Whether to enhance punctuation in the transcription.\n */\n punctuationEnhanced: z.boolean().nullish(),\n});\n\nexport type GladiaTranscriptionCallOptions = z.infer<\n typeof gladiaProviderOptionsSchema\n>;\n\ninterface GladiaTranscriptionModelConfig extends GladiaConfig {\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class GladiaTranscriptionModel implements TranscriptionModelV2 {\n readonly specificationVersion = 'v2';\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: 'default',\n private readonly config: GladiaTranscriptionModelConfig,\n ) {}\n\n private async getArgs({\n providerOptions,\n }: Parameters<TranscriptionModelV2['doGenerate']>[0]) {\n const warnings: TranscriptionModelV2CallWarning[] = [];\n\n // Parse provider options\n const gladiaOptions = await parseProviderOptions({\n provider: 'gladia',\n providerOptions,\n schema: gladiaProviderOptionsSchema,\n });\n\n const body: Omit<GladiaTranscriptionInitiateAPITypes, 'audio_url'> = {};\n\n // Add provider-specific options\n if (gladiaOptions) {\n body.context_prompt = gladiaOptions.contextPrompt ?? undefined;\n body.custom_vocabulary = gladiaOptions.customVocabulary ?? undefined;\n body.detect_language = gladiaOptions.detectLanguage ?? undefined;\n body.enable_code_switching =\n gladiaOptions.enableCodeSwitching ?? undefined;\n body.language = gladiaOptions.language ?? undefined;\n body.callback = gladiaOptions.callback ?? undefined;\n body.subtitles = gladiaOptions.subtitles ?? undefined;\n body.diarization = gladiaOptions.diarization ?? undefined;\n body.translation = gladiaOptions.translation ?? undefined;\n body.summarization = gladiaOptions.summarization ?? undefined;\n body.moderation = gladiaOptions.moderation ?? undefined;\n body.named_entity_recognition =\n gladiaOptions.namedEntityRecognition ?? undefined;\n body.chapterization = gladiaOptions.chapterization ?? undefined;\n body.name_consistency = gladiaOptions.nameConsistency ?? undefined;\n body.custom_spelling = gladiaOptions.customSpelling ?? undefined;\n body.structured_data_extraction =\n gladiaOptions.structuredDataExtraction ?? undefined;\n body.structured_data_extraction_config =\n gladiaOptions.structuredDataExtractionConfig ?? undefined;\n body.sentiment_analysis = gladiaOptions.sentimentAnalysis ?? undefined;\n body.audio_to_llm = gladiaOptions.audioToLlm ?? undefined;\n body.audio_to_llm_config = gladiaOptions.audioToLlmConfig ?? undefined;\n body.custom_metadata = gladiaOptions.customMetadata ?? undefined;\n body.sentences = gladiaOptions.sentences ?? undefined;\n body.display_mode = gladiaOptions.displayMode ?? undefined;\n body.punctuation_enhanced =\n gladiaOptions.punctuationEnhanced ?? undefined;\n\n if (gladiaOptions.customVocabularyConfig) {\n body.custom_vocabulary_config = {\n vocabulary: gladiaOptions.customVocabularyConfig.vocabulary.map(\n item => {\n if (typeof item === 'string') return item;\n return {\n value: item.value,\n intensity: item.intensity ?? undefined,\n pronunciations: item.pronunciations ?? undefined,\n language: item.language ?? undefined,\n };\n },\n ),\n default_intensity:\n gladiaOptions.customVocabularyConfig.defaultIntensity ?? undefined,\n };\n }\n\n // Handle code switching config\n if (gladiaOptions.codeSwitchingConfig) {\n body.code_switching_config = {\n languages: gladiaOptions.codeSwitchingConfig.languages ?? undefined,\n };\n }\n\n // Handle callback config\n if (gladiaOptions.callbackConfig) {\n body.callback_config = {\n url: gladiaOptions.callbackConfig.url,\n method: gladiaOptions.callbackConfig.method ?? undefined,\n };\n }\n\n // Handle subtitles config\n if (gladiaOptions.subtitlesConfig) {\n body.subtitles_config = {\n formats: gladiaOptions.subtitlesConfig.formats ?? undefined,\n minimum_duration:\n gladiaOptions.subtitlesConfig.minimumDuration ?? undefined,\n maximum_duration:\n gladiaOptions.subtitlesConfig.maximumDuration ?? undefined,\n maximum_characters_per_row:\n gladiaOptions.subtitlesConfig.maximumCharactersPerRow ?? undefined,\n maximum_rows_per_caption:\n gladiaOptions.subtitlesConfig.maximumRowsPerCaption ?? undefined,\n style: gladiaOptions.subtitlesConfig.style ?? undefined,\n };\n }\n\n // Handle diarization config\n if (gladiaOptions.diarizationConfig) {\n body.diarization_config = {\n number_of_speakers:\n gladiaOptions.diarizationConfig.numberOfSpeakers ?? undefined,\n min_speakers:\n gladiaOptions.diarizationConfig.minSpeakers ?? undefined,\n max_speakers:\n gladiaOptions.diarizationConfig.maxSpeakers ?? undefined,\n enhanced: gladiaOptions.diarizationConfig.enhanced ?? undefined,\n };\n }\n\n // Handle translation config\n if (gladiaOptions.translationConfig) {\n body.translation_config = {\n target_languages: gladiaOptions.translationConfig.targetLanguages,\n model: gladiaOptions.translationConfig.model ?? undefined,\n match_original_utterances:\n gladiaOptions.translationConfig.matchOriginalUtterances ??\n undefined,\n };\n }\n\n // Handle summarization config\n if (gladiaOptions.summarizationConfig) {\n body.summarization_config = {\n type: gladiaOptions.summarizationConfig.type ?? undefined,\n };\n }\n\n // Handle custom spelling config\n if (gladiaOptions.customSpellingConfig) {\n body.custom_spelling_config = {\n spelling_dictionary:\n gladiaOptions.customSpellingConfig.spellingDictionary,\n };\n }\n }\n\n return {\n body,\n warnings,\n };\n }\n\n async doGenerate(\n options: Parameters<TranscriptionModelV2['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<TranscriptionModelV2['doGenerate']>>> {\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n\n // Create form data with base fields\n const formData = new FormData();\n const blob =\n options.audio instanceof Uint8Array\n ? new Blob([options.audio])\n : new Blob([convertBase64ToUint8Array(options.audio)]);\n\n const fileExtension = mediaTypeToExtension(options.mediaType);\n formData.append(\n 'audio',\n new File([blob], 'audio', { type: options.mediaType }),\n `audio.${fileExtension}`,\n );\n\n const { value: uploadResponse } = await postFormDataToApi({\n url: this.config.url({\n path: '/v2/upload',\n modelId: 'default',\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n formData,\n failedResponseHandler: gladiaFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n gladiaUploadResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { body, warnings } = await this.getArgs(options);\n\n const { value: transcriptionInitResponse } = await postJsonToApi({\n url: this.config.url({\n path: '/v2/pre-recorded',\n modelId: 'default',\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: {\n ...body,\n audio_url: uploadResponse.audio_url,\n },\n failedResponseHandler: gladiaFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n gladiaTranscriptionInitializeResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n // Poll the result URL until the transcription is done or an error occurs\n const resultUrl = transcriptionInitResponse.result_url;\n let transcriptionResult;\n let transcriptionResultHeaders;\n const timeoutMs = 60 * 1000; // 60 seconds timeout\n const startTime = Date.now();\n const pollingInterval = 1000;\n\n while (true) {\n // Check if we've exceeded the timeout\n if (Date.now() - startTime > timeoutMs) {\n throw new AISDKError({\n message: 'Transcription job polling timed out',\n name: 'TranscriptionJobPollingTimedOut',\n cause: transcriptionResult,\n });\n }\n\n const response = await getFromApi({\n url: resultUrl,\n headers: combineHeaders(this.config.headers(), options.headers),\n failedResponseHandler: gladiaFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n gladiaTranscriptionResultResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n transcriptionResult = response.value;\n transcriptionResultHeaders = response.responseHeaders;\n\n if (transcriptionResult.status === 'done') {\n break;\n }\n\n if (transcriptionResult.status === 'error') {\n throw new AISDKError({\n message: 'Transcription job failed',\n name: 'TranscriptionJobFailed',\n cause: transcriptionResult,\n });\n }\n\n // Wait for the configured polling interval before checking again\n await delay(pollingInterval);\n }\n\n if (!transcriptionResult.result) {\n throw new AISDKError({\n message: 'Transcription result is empty',\n name: 'TranscriptionResultEmpty',\n cause: transcriptionResult,\n });\n }\n\n // Process the successful result\n return {\n text: transcriptionResult.result.transcription.full_transcript,\n durationInSeconds: transcriptionResult.result.metadata.audio_duration,\n language: transcriptionResult.result.transcription.languages.at(0),\n segments: transcriptionResult.result.transcription.utterances.map(\n utterance => ({\n text: utterance.text,\n startSecond: utterance.start,\n endSecond: utterance.end,\n }),\n ),\n response: {\n timestamp: currentDate,\n modelId: 'default',\n headers: transcriptionResultHeaders,\n },\n providerMetadata: {\n gladia: transcriptionResult,\n },\n warnings,\n };\n }\n}\n\nconst gladiaUploadResponseSchema = z.object({\n audio_url: z.string(),\n});\n\nconst gladiaTranscriptionInitializeResponseSchema = z.object({\n result_url: z.string(),\n});\n\nconst gladiaTranscriptionResultResponseSchema = z.object({\n status: z.enum(['queued', 'processing', 'done', 'error']),\n result: z\n .object({\n metadata: z.object({\n audio_duration: z.number(),\n }),\n transcription: z.object({\n full_transcript: z.string(),\n languages: z.array(z.string()),\n utterances: z.array(\n z.object({\n start: z.number(),\n end: z.number(),\n text: z.string(),\n }),\n ),\n }),\n })\n .nullish(),\n});\n","import { z } from 'zod/v4';\nimport { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\n\nexport const gladiaErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n code: z.number(),\n }),\n});\n\nexport type GladiaErrorData = z.infer<typeof gladiaErrorDataSchema>;\n\nexport const gladiaFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: gladiaErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["import_provider","import_provider_utils","import_provider_utils","import_v4","_a","_b","_c"]}
|
package/dist/index.mjs
CHANGED
|
@@ -22,10 +22,10 @@ import {
|
|
|
22
22
|
postFormDataToApi,
|
|
23
23
|
postJsonToApi
|
|
24
24
|
} from "@ai-sdk/provider-utils";
|
|
25
|
-
import
|
|
25
|
+
import { z as z2 } from "zod/v4";
|
|
26
26
|
|
|
27
27
|
// src/gladia-error.ts
|
|
28
|
-
import
|
|
28
|
+
import { z } from "zod/v4";
|
|
29
29
|
import { createJsonErrorResponseHandler } from "@ai-sdk/provider-utils";
|
|
30
30
|
var gladiaErrorDataSchema = z.object({
|
|
31
31
|
error: z.object({
|
|
@@ -542,7 +542,7 @@ var gladiaTranscriptionResultResponseSchema = z2.object({
|
|
|
542
542
|
});
|
|
543
543
|
|
|
544
544
|
// src/version.ts
|
|
545
|
-
var VERSION = true ? "1.0.
|
|
545
|
+
var VERSION = true ? "1.0.13" : "0.0.0-test";
|
|
546
546
|
|
|
547
547
|
// src/gladia-provider.ts
|
|
548
548
|
function createGladia(options = {}) {
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/gladia-provider.ts","../src/gladia-transcription-model.ts","../src/gladia-error.ts","../src/version.ts"],"sourcesContent":["import {\n TranscriptionModelV2,\n ProviderV2,\n NoSuchModelError,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { GladiaTranscriptionModel } from './gladia-transcription-model';\nimport { VERSION } from './version';\n\nexport interface GladiaProvider extends ProviderV2 {\n (): {\n transcription: GladiaTranscriptionModel;\n };\n\n /**\nCreates a model for transcription.\n */\n transcription(): TranscriptionModelV2;\n}\n\nexport interface GladiaProviderSettings {\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\nCreate a Gladia provider instance.\n */\nexport function createGladia(\n options: GladiaProviderSettings = {},\n): GladiaProvider {\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n 'x-gladia-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'GLADIA_API_KEY',\n description: 'Gladia',\n }),\n ...options.headers,\n },\n `ai-sdk/gladia/${VERSION}`,\n );\n\n const createTranscriptionModel = () =>\n new GladiaTranscriptionModel('default', {\n provider: `gladia.transcription`,\n url: ({ path }) => `https://api.gladia.io${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function () {\n return {\n transcription: createTranscriptionModel(),\n };\n };\n\n provider.transcription = createTranscriptionModel;\n provider.transcriptionModel = createTranscriptionModel;\n\n // Required ProviderV2 methods that are not supported\n provider.languageModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'languageModel',\n message: 'Gladia does not provide language models',\n });\n };\n\n provider.textEmbeddingModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'textEmbeddingModel',\n message: 'Gladia does not provide text embedding models',\n });\n };\n\n provider.imageModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'imageModel',\n message: 'Gladia does not provide image models',\n });\n };\n\n return provider as GladiaProvider;\n}\n\n/**\nDefault Gladia provider instance.\n */\nexport const gladia = createGladia();\n","import {\n AISDKError,\n TranscriptionModelV2,\n TranscriptionModelV2CallWarning,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n convertBase64ToUint8Array,\n createJsonResponseHandler,\n mediaTypeToExtension,\n delay,\n getFromApi,\n parseProviderOptions,\n postFormDataToApi,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport * as z from 'zod/v4';\nimport { GladiaConfig } from './gladia-config';\nimport { gladiaFailedResponseHandler } from './gladia-error';\nimport { GladiaTranscriptionInitiateAPITypes } from './gladia-api-types';\n\n// https://docs.gladia.io/api-reference/v2/pre-recorded/init\nconst gladiaProviderOptionsSchema = z.object({\n /**\n * Optional context prompt to guide the transcription.\n */\n contextPrompt: z.string().nullish(),\n\n /**\n * Custom vocabulary to improve transcription accuracy.\n * Can be a boolean or an array of custom terms.\n */\n customVocabulary: z.union([z.boolean(), z.array(z.any())]).nullish(),\n\n /**\n * Configuration for custom vocabulary.\n */\n customVocabularyConfig: z\n .object({\n /**\n * Array of vocabulary terms or objects with pronunciation details.\n */\n vocabulary: z.array(\n z.union([\n z.string(),\n z.object({\n /**\n * The vocabulary term.\n */\n value: z.string(),\n /**\n * Intensity of the term in recognition (optional).\n */\n intensity: z.number().nullish(),\n /**\n * Alternative pronunciations for the term (optional).\n */\n pronunciations: z.array(z.string()).nullish(),\n /**\n * Language of the term (optional).\n */\n language: z.string().nullish(),\n }),\n ]),\n ),\n /**\n * Default intensity for all vocabulary terms.\n */\n defaultIntensity: z.number().nullish(),\n })\n .nullish(),\n\n /**\n * Whether to automatically detect the language of the audio.\n */\n detectLanguage: z.boolean().nullish(),\n\n /**\n * Whether to enable code switching (multiple languages in the same audio).\n */\n enableCodeSwitching: z.boolean().nullish(),\n\n /**\n * Configuration for code switching.\n */\n codeSwitchingConfig: z\n .object({\n /**\n * Languages to consider for code switching.\n */\n languages: z.array(z.string()).nullish(),\n })\n .nullish(),\n\n /**\n * Specific language for transcription.\n */\n language: z.string().nullish(),\n\n /**\n * Whether to enable callback when transcription is complete.\n */\n callback: z.boolean().nullish(),\n\n /**\n * Configuration for callback.\n */\n callbackConfig: z\n .object({\n /**\n * URL to send the callback to.\n */\n url: z.string(),\n /**\n * HTTP method for the callback.\n */\n method: z.enum(['POST', 'PUT']).nullish(),\n })\n .nullish(),\n\n /**\n * Whether to generate subtitles.\n */\n subtitles: z.boolean().nullish(),\n\n /**\n * Configuration for subtitles generation.\n */\n subtitlesConfig: z\n .object({\n /**\n * Subtitle file formats to generate.\n */\n formats: z.array(z.enum(['srt', 'vtt'])).nullish(),\n /**\n * Minimum duration for subtitle segments.\n */\n minimumDuration: z.number().nullish(),\n /**\n * Maximum duration for subtitle segments.\n */\n maximumDuration: z.number().nullish(),\n /**\n * Maximum characters per row in subtitles.\n */\n maximumCharactersPerRow: z.number().nullish(),\n /**\n * Maximum rows per caption in subtitles.\n */\n maximumRowsPerCaption: z.number().nullish(),\n /**\n * Style of subtitles.\n */\n style: z.enum(['default', 'compliance']).nullish(),\n })\n .nullish(),\n\n /**\n * Whether to enable speaker diarization (speaker identification).\n */\n diarization: z.boolean().nullish(),\n\n /**\n * Configuration for diarization.\n */\n diarizationConfig: z\n .object({\n /**\n * Exact number of speakers to identify.\n */\n numberOfSpeakers: z.number().nullish(),\n /**\n * Minimum number of speakers to identify.\n */\n minSpeakers: z.number().nullish(),\n /**\n * Maximum number of speakers to identify.\n */\n maxSpeakers: z.number().nullish(),\n /**\n * Whether to use enhanced diarization.\n */\n enhanced: z.boolean().nullish(),\n })\n .nullish(),\n\n /**\n * Whether to translate the transcription.\n */\n translation: z.boolean().nullish(),\n\n /**\n * Configuration for translation.\n */\n translationConfig: z\n .object({\n /**\n * Target languages for translation.\n */\n targetLanguages: z.array(z.string()),\n /**\n * Translation model to use.\n */\n model: z.enum(['base', 'enhanced']).nullish(),\n /**\n * Whether to match original utterances in translation.\n */\n matchOriginalUtterances: z.boolean().nullish(),\n })\n .nullish(),\n\n /**\n * Whether to generate a summary of the transcription.\n */\n summarization: z.boolean().nullish(),\n\n /**\n * Configuration for summarization.\n */\n summarizationConfig: z\n .object({\n /**\n * Type of summary to generate.\n */\n type: z.enum(['general', 'bullet_points', 'concise']).nullish(),\n })\n .nullish(),\n\n /**\n * Whether to enable content moderation.\n */\n moderation: z.boolean().nullish(),\n\n /**\n * Whether to enable named entity recognition.\n */\n namedEntityRecognition: z.boolean().nullish(),\n\n /**\n * Whether to enable automatic chapter creation.\n */\n chapterization: z.boolean().nullish(),\n\n /**\n * Whether to ensure consistent naming of entities.\n */\n nameConsistency: z.boolean().nullish(),\n\n /**\n * Whether to enable custom spelling.\n */\n customSpelling: z.boolean().nullish(),\n\n /**\n * Configuration for custom spelling.\n */\n customSpellingConfig: z\n .object({\n /**\n * Dictionary of custom spellings.\n */\n spellingDictionary: z.record(z.string(), z.array(z.string())),\n })\n .nullish(),\n\n /**\n * Whether to extract structured data from the transcription.\n */\n structuredDataExtraction: z.boolean().nullish(),\n\n /**\n * Configuration for structured data extraction.\n */\n structuredDataExtractionConfig: z\n .object({\n /**\n * Classes of data to extract.\n */\n classes: z.array(z.string()),\n })\n .nullish(),\n\n /**\n * Whether to perform sentiment analysis on the transcription.\n */\n sentimentAnalysis: z.boolean().nullish(),\n\n /**\n * Whether to send audio to a language model for processing.\n */\n audioToLlm: z.boolean().nullish(),\n\n /**\n * Configuration for audio to language model processing.\n */\n audioToLlmConfig: z\n .object({\n /**\n * Prompts to send to the language model.\n */\n prompts: z.array(z.string()),\n })\n .nullish(),\n\n /**\n * Custom metadata to include with the transcription.\n */\n customMetadata: z.record(z.string(), z.any()).nullish(),\n\n /**\n * Whether to include sentence-level segmentation.\n */\n sentences: z.boolean().nullish(),\n\n /**\n * Whether to enable display mode.\n */\n displayMode: z.boolean().nullish(),\n\n /**\n * Whether to enhance punctuation in the transcription.\n */\n punctuationEnhanced: z.boolean().nullish(),\n});\n\nexport type GladiaTranscriptionCallOptions = z.infer<\n typeof gladiaProviderOptionsSchema\n>;\n\ninterface GladiaTranscriptionModelConfig extends GladiaConfig {\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class GladiaTranscriptionModel implements TranscriptionModelV2 {\n readonly specificationVersion = 'v2';\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: 'default',\n private readonly config: GladiaTranscriptionModelConfig,\n ) {}\n\n private async getArgs({\n providerOptions,\n }: Parameters<TranscriptionModelV2['doGenerate']>[0]) {\n const warnings: TranscriptionModelV2CallWarning[] = [];\n\n // Parse provider options\n const gladiaOptions = await parseProviderOptions({\n provider: 'gladia',\n providerOptions,\n schema: gladiaProviderOptionsSchema,\n });\n\n const body: Omit<GladiaTranscriptionInitiateAPITypes, 'audio_url'> = {};\n\n // Add provider-specific options\n if (gladiaOptions) {\n body.context_prompt = gladiaOptions.contextPrompt ?? undefined;\n body.custom_vocabulary = gladiaOptions.customVocabulary ?? undefined;\n body.detect_language = gladiaOptions.detectLanguage ?? undefined;\n body.enable_code_switching =\n gladiaOptions.enableCodeSwitching ?? undefined;\n body.language = gladiaOptions.language ?? undefined;\n body.callback = gladiaOptions.callback ?? undefined;\n body.subtitles = gladiaOptions.subtitles ?? undefined;\n body.diarization = gladiaOptions.diarization ?? undefined;\n body.translation = gladiaOptions.translation ?? undefined;\n body.summarization = gladiaOptions.summarization ?? undefined;\n body.moderation = gladiaOptions.moderation ?? undefined;\n body.named_entity_recognition =\n gladiaOptions.namedEntityRecognition ?? undefined;\n body.chapterization = gladiaOptions.chapterization ?? undefined;\n body.name_consistency = gladiaOptions.nameConsistency ?? undefined;\n body.custom_spelling = gladiaOptions.customSpelling ?? undefined;\n body.structured_data_extraction =\n gladiaOptions.structuredDataExtraction ?? undefined;\n body.structured_data_extraction_config =\n gladiaOptions.structuredDataExtractionConfig ?? undefined;\n body.sentiment_analysis = gladiaOptions.sentimentAnalysis ?? undefined;\n body.audio_to_llm = gladiaOptions.audioToLlm ?? undefined;\n body.audio_to_llm_config = gladiaOptions.audioToLlmConfig ?? undefined;\n body.custom_metadata = gladiaOptions.customMetadata ?? undefined;\n body.sentences = gladiaOptions.sentences ?? undefined;\n body.display_mode = gladiaOptions.displayMode ?? undefined;\n body.punctuation_enhanced =\n gladiaOptions.punctuationEnhanced ?? undefined;\n\n if (gladiaOptions.customVocabularyConfig) {\n body.custom_vocabulary_config = {\n vocabulary: gladiaOptions.customVocabularyConfig.vocabulary.map(\n item => {\n if (typeof item === 'string') return item;\n return {\n value: item.value,\n intensity: item.intensity ?? undefined,\n pronunciations: item.pronunciations ?? undefined,\n language: item.language ?? undefined,\n };\n },\n ),\n default_intensity:\n gladiaOptions.customVocabularyConfig.defaultIntensity ?? undefined,\n };\n }\n\n // Handle code switching config\n if (gladiaOptions.codeSwitchingConfig) {\n body.code_switching_config = {\n languages: gladiaOptions.codeSwitchingConfig.languages ?? undefined,\n };\n }\n\n // Handle callback config\n if (gladiaOptions.callbackConfig) {\n body.callback_config = {\n url: gladiaOptions.callbackConfig.url,\n method: gladiaOptions.callbackConfig.method ?? undefined,\n };\n }\n\n // Handle subtitles config\n if (gladiaOptions.subtitlesConfig) {\n body.subtitles_config = {\n formats: gladiaOptions.subtitlesConfig.formats ?? undefined,\n minimum_duration:\n gladiaOptions.subtitlesConfig.minimumDuration ?? undefined,\n maximum_duration:\n gladiaOptions.subtitlesConfig.maximumDuration ?? undefined,\n maximum_characters_per_row:\n gladiaOptions.subtitlesConfig.maximumCharactersPerRow ?? undefined,\n maximum_rows_per_caption:\n gladiaOptions.subtitlesConfig.maximumRowsPerCaption ?? undefined,\n style: gladiaOptions.subtitlesConfig.style ?? undefined,\n };\n }\n\n // Handle diarization config\n if (gladiaOptions.diarizationConfig) {\n body.diarization_config = {\n number_of_speakers:\n gladiaOptions.diarizationConfig.numberOfSpeakers ?? undefined,\n min_speakers:\n gladiaOptions.diarizationConfig.minSpeakers ?? undefined,\n max_speakers:\n gladiaOptions.diarizationConfig.maxSpeakers ?? undefined,\n enhanced: gladiaOptions.diarizationConfig.enhanced ?? undefined,\n };\n }\n\n // Handle translation config\n if (gladiaOptions.translationConfig) {\n body.translation_config = {\n target_languages: gladiaOptions.translationConfig.targetLanguages,\n model: gladiaOptions.translationConfig.model ?? undefined,\n match_original_utterances:\n gladiaOptions.translationConfig.matchOriginalUtterances ??\n undefined,\n };\n }\n\n // Handle summarization config\n if (gladiaOptions.summarizationConfig) {\n body.summarization_config = {\n type: gladiaOptions.summarizationConfig.type ?? undefined,\n };\n }\n\n // Handle custom spelling config\n if (gladiaOptions.customSpellingConfig) {\n body.custom_spelling_config = {\n spelling_dictionary:\n gladiaOptions.customSpellingConfig.spellingDictionary,\n };\n }\n }\n\n return {\n body,\n warnings,\n };\n }\n\n async doGenerate(\n options: Parameters<TranscriptionModelV2['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<TranscriptionModelV2['doGenerate']>>> {\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n\n // Create form data with base fields\n const formData = new FormData();\n const blob =\n options.audio instanceof Uint8Array\n ? new Blob([options.audio])\n : new Blob([convertBase64ToUint8Array(options.audio)]);\n\n const fileExtension = mediaTypeToExtension(options.mediaType);\n formData.append(\n 'audio',\n new File([blob], 'audio', { type: options.mediaType }),\n `audio.${fileExtension}`,\n );\n\n const { value: uploadResponse } = await postFormDataToApi({\n url: this.config.url({\n path: '/v2/upload',\n modelId: 'default',\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n formData,\n failedResponseHandler: gladiaFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n gladiaUploadResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { body, warnings } = await this.getArgs(options);\n\n const { value: transcriptionInitResponse } = await postJsonToApi({\n url: this.config.url({\n path: '/v2/pre-recorded',\n modelId: 'default',\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: {\n ...body,\n audio_url: uploadResponse.audio_url,\n },\n failedResponseHandler: gladiaFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n gladiaTranscriptionInitializeResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n // Poll the result URL until the transcription is done or an error occurs\n const resultUrl = transcriptionInitResponse.result_url;\n let transcriptionResult;\n let transcriptionResultHeaders;\n const timeoutMs = 60 * 1000; // 60 seconds timeout\n const startTime = Date.now();\n const pollingInterval = 1000;\n\n while (true) {\n // Check if we've exceeded the timeout\n if (Date.now() - startTime > timeoutMs) {\n throw new AISDKError({\n message: 'Transcription job polling timed out',\n name: 'TranscriptionJobPollingTimedOut',\n cause: transcriptionResult,\n });\n }\n\n const response = await getFromApi({\n url: resultUrl,\n headers: combineHeaders(this.config.headers(), options.headers),\n failedResponseHandler: gladiaFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n gladiaTranscriptionResultResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n transcriptionResult = response.value;\n transcriptionResultHeaders = response.responseHeaders;\n\n if (transcriptionResult.status === 'done') {\n break;\n }\n\n if (transcriptionResult.status === 'error') {\n throw new AISDKError({\n message: 'Transcription job failed',\n name: 'TranscriptionJobFailed',\n cause: transcriptionResult,\n });\n }\n\n // Wait for the configured polling interval before checking again\n await delay(pollingInterval);\n }\n\n if (!transcriptionResult.result) {\n throw new AISDKError({\n message: 'Transcription result is empty',\n name: 'TranscriptionResultEmpty',\n cause: transcriptionResult,\n });\n }\n\n // Process the successful result\n return {\n text: transcriptionResult.result.transcription.full_transcript,\n durationInSeconds: transcriptionResult.result.metadata.audio_duration,\n language: transcriptionResult.result.transcription.languages.at(0),\n segments: transcriptionResult.result.transcription.utterances.map(\n utterance => ({\n text: utterance.text,\n startSecond: utterance.start,\n endSecond: utterance.end,\n }),\n ),\n response: {\n timestamp: currentDate,\n modelId: 'default',\n headers: transcriptionResultHeaders,\n },\n providerMetadata: {\n gladia: transcriptionResult,\n },\n warnings,\n };\n }\n}\n\nconst gladiaUploadResponseSchema = z.object({\n audio_url: z.string(),\n});\n\nconst gladiaTranscriptionInitializeResponseSchema = z.object({\n result_url: z.string(),\n});\n\nconst gladiaTranscriptionResultResponseSchema = z.object({\n status: z.enum(['queued', 'processing', 'done', 'error']),\n result: z\n .object({\n metadata: z.object({\n audio_duration: z.number(),\n }),\n transcription: z.object({\n full_transcript: z.string(),\n languages: z.array(z.string()),\n utterances: z.array(\n z.object({\n start: z.number(),\n end: z.number(),\n text: z.string(),\n }),\n ),\n }),\n })\n .nullish(),\n});\n","import * as z from 'zod/v4';\nimport { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\n\nexport const gladiaErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n code: z.number(),\n }),\n});\n\nexport type GladiaErrorData = z.infer<typeof gladiaErrorDataSchema>;\n\nexport const gladiaFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: gladiaErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["z","_a","_b","_c"]}
|
|
1
|
+
{"version":3,"sources":["../src/gladia-provider.ts","../src/gladia-transcription-model.ts","../src/gladia-error.ts","../src/version.ts"],"sourcesContent":["import {\n TranscriptionModelV2,\n ProviderV2,\n NoSuchModelError,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { GladiaTranscriptionModel } from './gladia-transcription-model';\nimport { VERSION } from './version';\n\nexport interface GladiaProvider extends ProviderV2 {\n (): {\n transcription: GladiaTranscriptionModel;\n };\n\n /**\nCreates a model for transcription.\n */\n transcription(): TranscriptionModelV2;\n}\n\nexport interface GladiaProviderSettings {\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\nCreate a Gladia provider instance.\n */\nexport function createGladia(\n options: GladiaProviderSettings = {},\n): GladiaProvider {\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n 'x-gladia-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'GLADIA_API_KEY',\n description: 'Gladia',\n }),\n ...options.headers,\n },\n `ai-sdk/gladia/${VERSION}`,\n );\n\n const createTranscriptionModel = () =>\n new GladiaTranscriptionModel('default', {\n provider: `gladia.transcription`,\n url: ({ path }) => `https://api.gladia.io${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function () {\n return {\n transcription: createTranscriptionModel(),\n };\n };\n\n provider.transcription = createTranscriptionModel;\n provider.transcriptionModel = createTranscriptionModel;\n\n // Required ProviderV2 methods that are not supported\n provider.languageModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'languageModel',\n message: 'Gladia does not provide language models',\n });\n };\n\n provider.textEmbeddingModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'textEmbeddingModel',\n message: 'Gladia does not provide text embedding models',\n });\n };\n\n provider.imageModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'imageModel',\n message: 'Gladia does not provide image models',\n });\n };\n\n return provider as GladiaProvider;\n}\n\n/**\nDefault Gladia provider instance.\n */\nexport const gladia = createGladia();\n","import {\n AISDKError,\n TranscriptionModelV2,\n TranscriptionModelV2CallWarning,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n convertBase64ToUint8Array,\n createJsonResponseHandler,\n mediaTypeToExtension,\n delay,\n getFromApi,\n parseProviderOptions,\n postFormDataToApi,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { GladiaConfig } from './gladia-config';\nimport { gladiaFailedResponseHandler } from './gladia-error';\nimport { GladiaTranscriptionInitiateAPITypes } from './gladia-api-types';\n\n// https://docs.gladia.io/api-reference/v2/pre-recorded/init\nconst gladiaProviderOptionsSchema = z.object({\n /**\n * Optional context prompt to guide the transcription.\n */\n contextPrompt: z.string().nullish(),\n\n /**\n * Custom vocabulary to improve transcription accuracy.\n * Can be a boolean or an array of custom terms.\n */\n customVocabulary: z.union([z.boolean(), z.array(z.any())]).nullish(),\n\n /**\n * Configuration for custom vocabulary.\n */\n customVocabularyConfig: z\n .object({\n /**\n * Array of vocabulary terms or objects with pronunciation details.\n */\n vocabulary: z.array(\n z.union([\n z.string(),\n z.object({\n /**\n * The vocabulary term.\n */\n value: z.string(),\n /**\n * Intensity of the term in recognition (optional).\n */\n intensity: z.number().nullish(),\n /**\n * Alternative pronunciations for the term (optional).\n */\n pronunciations: z.array(z.string()).nullish(),\n /**\n * Language of the term (optional).\n */\n language: z.string().nullish(),\n }),\n ]),\n ),\n /**\n * Default intensity for all vocabulary terms.\n */\n defaultIntensity: z.number().nullish(),\n })\n .nullish(),\n\n /**\n * Whether to automatically detect the language of the audio.\n */\n detectLanguage: z.boolean().nullish(),\n\n /**\n * Whether to enable code switching (multiple languages in the same audio).\n */\n enableCodeSwitching: z.boolean().nullish(),\n\n /**\n * Configuration for code switching.\n */\n codeSwitchingConfig: z\n .object({\n /**\n * Languages to consider for code switching.\n */\n languages: z.array(z.string()).nullish(),\n })\n .nullish(),\n\n /**\n * Specific language for transcription.\n */\n language: z.string().nullish(),\n\n /**\n * Whether to enable callback when transcription is complete.\n */\n callback: z.boolean().nullish(),\n\n /**\n * Configuration for callback.\n */\n callbackConfig: z\n .object({\n /**\n * URL to send the callback to.\n */\n url: z.string(),\n /**\n * HTTP method for the callback.\n */\n method: z.enum(['POST', 'PUT']).nullish(),\n })\n .nullish(),\n\n /**\n * Whether to generate subtitles.\n */\n subtitles: z.boolean().nullish(),\n\n /**\n * Configuration for subtitles generation.\n */\n subtitlesConfig: z\n .object({\n /**\n * Subtitle file formats to generate.\n */\n formats: z.array(z.enum(['srt', 'vtt'])).nullish(),\n /**\n * Minimum duration for subtitle segments.\n */\n minimumDuration: z.number().nullish(),\n /**\n * Maximum duration for subtitle segments.\n */\n maximumDuration: z.number().nullish(),\n /**\n * Maximum characters per row in subtitles.\n */\n maximumCharactersPerRow: z.number().nullish(),\n /**\n * Maximum rows per caption in subtitles.\n */\n maximumRowsPerCaption: z.number().nullish(),\n /**\n * Style of subtitles.\n */\n style: z.enum(['default', 'compliance']).nullish(),\n })\n .nullish(),\n\n /**\n * Whether to enable speaker diarization (speaker identification).\n */\n diarization: z.boolean().nullish(),\n\n /**\n * Configuration for diarization.\n */\n diarizationConfig: z\n .object({\n /**\n * Exact number of speakers to identify.\n */\n numberOfSpeakers: z.number().nullish(),\n /**\n * Minimum number of speakers to identify.\n */\n minSpeakers: z.number().nullish(),\n /**\n * Maximum number of speakers to identify.\n */\n maxSpeakers: z.number().nullish(),\n /**\n * Whether to use enhanced diarization.\n */\n enhanced: z.boolean().nullish(),\n })\n .nullish(),\n\n /**\n * Whether to translate the transcription.\n */\n translation: z.boolean().nullish(),\n\n /**\n * Configuration for translation.\n */\n translationConfig: z\n .object({\n /**\n * Target languages for translation.\n */\n targetLanguages: z.array(z.string()),\n /**\n * Translation model to use.\n */\n model: z.enum(['base', 'enhanced']).nullish(),\n /**\n * Whether to match original utterances in translation.\n */\n matchOriginalUtterances: z.boolean().nullish(),\n })\n .nullish(),\n\n /**\n * Whether to generate a summary of the transcription.\n */\n summarization: z.boolean().nullish(),\n\n /**\n * Configuration for summarization.\n */\n summarizationConfig: z\n .object({\n /**\n * Type of summary to generate.\n */\n type: z.enum(['general', 'bullet_points', 'concise']).nullish(),\n })\n .nullish(),\n\n /**\n * Whether to enable content moderation.\n */\n moderation: z.boolean().nullish(),\n\n /**\n * Whether to enable named entity recognition.\n */\n namedEntityRecognition: z.boolean().nullish(),\n\n /**\n * Whether to enable automatic chapter creation.\n */\n chapterization: z.boolean().nullish(),\n\n /**\n * Whether to ensure consistent naming of entities.\n */\n nameConsistency: z.boolean().nullish(),\n\n /**\n * Whether to enable custom spelling.\n */\n customSpelling: z.boolean().nullish(),\n\n /**\n * Configuration for custom spelling.\n */\n customSpellingConfig: z\n .object({\n /**\n * Dictionary of custom spellings.\n */\n spellingDictionary: z.record(z.string(), z.array(z.string())),\n })\n .nullish(),\n\n /**\n * Whether to extract structured data from the transcription.\n */\n structuredDataExtraction: z.boolean().nullish(),\n\n /**\n * Configuration for structured data extraction.\n */\n structuredDataExtractionConfig: z\n .object({\n /**\n * Classes of data to extract.\n */\n classes: z.array(z.string()),\n })\n .nullish(),\n\n /**\n * Whether to perform sentiment analysis on the transcription.\n */\n sentimentAnalysis: z.boolean().nullish(),\n\n /**\n * Whether to send audio to a language model for processing.\n */\n audioToLlm: z.boolean().nullish(),\n\n /**\n * Configuration for audio to language model processing.\n */\n audioToLlmConfig: z\n .object({\n /**\n * Prompts to send to the language model.\n */\n prompts: z.array(z.string()),\n })\n .nullish(),\n\n /**\n * Custom metadata to include with the transcription.\n */\n customMetadata: z.record(z.string(), z.any()).nullish(),\n\n /**\n * Whether to include sentence-level segmentation.\n */\n sentences: z.boolean().nullish(),\n\n /**\n * Whether to enable display mode.\n */\n displayMode: z.boolean().nullish(),\n\n /**\n * Whether to enhance punctuation in the transcription.\n */\n punctuationEnhanced: z.boolean().nullish(),\n});\n\nexport type GladiaTranscriptionCallOptions = z.infer<\n typeof gladiaProviderOptionsSchema\n>;\n\ninterface GladiaTranscriptionModelConfig extends GladiaConfig {\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class GladiaTranscriptionModel implements TranscriptionModelV2 {\n readonly specificationVersion = 'v2';\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: 'default',\n private readonly config: GladiaTranscriptionModelConfig,\n ) {}\n\n private async getArgs({\n providerOptions,\n }: Parameters<TranscriptionModelV2['doGenerate']>[0]) {\n const warnings: TranscriptionModelV2CallWarning[] = [];\n\n // Parse provider options\n const gladiaOptions = await parseProviderOptions({\n provider: 'gladia',\n providerOptions,\n schema: gladiaProviderOptionsSchema,\n });\n\n const body: Omit<GladiaTranscriptionInitiateAPITypes, 'audio_url'> = {};\n\n // Add provider-specific options\n if (gladiaOptions) {\n body.context_prompt = gladiaOptions.contextPrompt ?? undefined;\n body.custom_vocabulary = gladiaOptions.customVocabulary ?? undefined;\n body.detect_language = gladiaOptions.detectLanguage ?? undefined;\n body.enable_code_switching =\n gladiaOptions.enableCodeSwitching ?? undefined;\n body.language = gladiaOptions.language ?? undefined;\n body.callback = gladiaOptions.callback ?? undefined;\n body.subtitles = gladiaOptions.subtitles ?? undefined;\n body.diarization = gladiaOptions.diarization ?? undefined;\n body.translation = gladiaOptions.translation ?? undefined;\n body.summarization = gladiaOptions.summarization ?? undefined;\n body.moderation = gladiaOptions.moderation ?? undefined;\n body.named_entity_recognition =\n gladiaOptions.namedEntityRecognition ?? undefined;\n body.chapterization = gladiaOptions.chapterization ?? undefined;\n body.name_consistency = gladiaOptions.nameConsistency ?? undefined;\n body.custom_spelling = gladiaOptions.customSpelling ?? undefined;\n body.structured_data_extraction =\n gladiaOptions.structuredDataExtraction ?? undefined;\n body.structured_data_extraction_config =\n gladiaOptions.structuredDataExtractionConfig ?? undefined;\n body.sentiment_analysis = gladiaOptions.sentimentAnalysis ?? undefined;\n body.audio_to_llm = gladiaOptions.audioToLlm ?? undefined;\n body.audio_to_llm_config = gladiaOptions.audioToLlmConfig ?? undefined;\n body.custom_metadata = gladiaOptions.customMetadata ?? undefined;\n body.sentences = gladiaOptions.sentences ?? undefined;\n body.display_mode = gladiaOptions.displayMode ?? undefined;\n body.punctuation_enhanced =\n gladiaOptions.punctuationEnhanced ?? undefined;\n\n if (gladiaOptions.customVocabularyConfig) {\n body.custom_vocabulary_config = {\n vocabulary: gladiaOptions.customVocabularyConfig.vocabulary.map(\n item => {\n if (typeof item === 'string') return item;\n return {\n value: item.value,\n intensity: item.intensity ?? undefined,\n pronunciations: item.pronunciations ?? undefined,\n language: item.language ?? undefined,\n };\n },\n ),\n default_intensity:\n gladiaOptions.customVocabularyConfig.defaultIntensity ?? undefined,\n };\n }\n\n // Handle code switching config\n if (gladiaOptions.codeSwitchingConfig) {\n body.code_switching_config = {\n languages: gladiaOptions.codeSwitchingConfig.languages ?? undefined,\n };\n }\n\n // Handle callback config\n if (gladiaOptions.callbackConfig) {\n body.callback_config = {\n url: gladiaOptions.callbackConfig.url,\n method: gladiaOptions.callbackConfig.method ?? undefined,\n };\n }\n\n // Handle subtitles config\n if (gladiaOptions.subtitlesConfig) {\n body.subtitles_config = {\n formats: gladiaOptions.subtitlesConfig.formats ?? undefined,\n minimum_duration:\n gladiaOptions.subtitlesConfig.minimumDuration ?? undefined,\n maximum_duration:\n gladiaOptions.subtitlesConfig.maximumDuration ?? undefined,\n maximum_characters_per_row:\n gladiaOptions.subtitlesConfig.maximumCharactersPerRow ?? undefined,\n maximum_rows_per_caption:\n gladiaOptions.subtitlesConfig.maximumRowsPerCaption ?? undefined,\n style: gladiaOptions.subtitlesConfig.style ?? undefined,\n };\n }\n\n // Handle diarization config\n if (gladiaOptions.diarizationConfig) {\n body.diarization_config = {\n number_of_speakers:\n gladiaOptions.diarizationConfig.numberOfSpeakers ?? undefined,\n min_speakers:\n gladiaOptions.diarizationConfig.minSpeakers ?? undefined,\n max_speakers:\n gladiaOptions.diarizationConfig.maxSpeakers ?? undefined,\n enhanced: gladiaOptions.diarizationConfig.enhanced ?? undefined,\n };\n }\n\n // Handle translation config\n if (gladiaOptions.translationConfig) {\n body.translation_config = {\n target_languages: gladiaOptions.translationConfig.targetLanguages,\n model: gladiaOptions.translationConfig.model ?? undefined,\n match_original_utterances:\n gladiaOptions.translationConfig.matchOriginalUtterances ??\n undefined,\n };\n }\n\n // Handle summarization config\n if (gladiaOptions.summarizationConfig) {\n body.summarization_config = {\n type: gladiaOptions.summarizationConfig.type ?? undefined,\n };\n }\n\n // Handle custom spelling config\n if (gladiaOptions.customSpellingConfig) {\n body.custom_spelling_config = {\n spelling_dictionary:\n gladiaOptions.customSpellingConfig.spellingDictionary,\n };\n }\n }\n\n return {\n body,\n warnings,\n };\n }\n\n async doGenerate(\n options: Parameters<TranscriptionModelV2['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<TranscriptionModelV2['doGenerate']>>> {\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n\n // Create form data with base fields\n const formData = new FormData();\n const blob =\n options.audio instanceof Uint8Array\n ? new Blob([options.audio])\n : new Blob([convertBase64ToUint8Array(options.audio)]);\n\n const fileExtension = mediaTypeToExtension(options.mediaType);\n formData.append(\n 'audio',\n new File([blob], 'audio', { type: options.mediaType }),\n `audio.${fileExtension}`,\n );\n\n const { value: uploadResponse } = await postFormDataToApi({\n url: this.config.url({\n path: '/v2/upload',\n modelId: 'default',\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n formData,\n failedResponseHandler: gladiaFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n gladiaUploadResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { body, warnings } = await this.getArgs(options);\n\n const { value: transcriptionInitResponse } = await postJsonToApi({\n url: this.config.url({\n path: '/v2/pre-recorded',\n modelId: 'default',\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: {\n ...body,\n audio_url: uploadResponse.audio_url,\n },\n failedResponseHandler: gladiaFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n gladiaTranscriptionInitializeResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n // Poll the result URL until the transcription is done or an error occurs\n const resultUrl = transcriptionInitResponse.result_url;\n let transcriptionResult;\n let transcriptionResultHeaders;\n const timeoutMs = 60 * 1000; // 60 seconds timeout\n const startTime = Date.now();\n const pollingInterval = 1000;\n\n while (true) {\n // Check if we've exceeded the timeout\n if (Date.now() - startTime > timeoutMs) {\n throw new AISDKError({\n message: 'Transcription job polling timed out',\n name: 'TranscriptionJobPollingTimedOut',\n cause: transcriptionResult,\n });\n }\n\n const response = await getFromApi({\n url: resultUrl,\n headers: combineHeaders(this.config.headers(), options.headers),\n failedResponseHandler: gladiaFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n gladiaTranscriptionResultResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n transcriptionResult = response.value;\n transcriptionResultHeaders = response.responseHeaders;\n\n if (transcriptionResult.status === 'done') {\n break;\n }\n\n if (transcriptionResult.status === 'error') {\n throw new AISDKError({\n message: 'Transcription job failed',\n name: 'TranscriptionJobFailed',\n cause: transcriptionResult,\n });\n }\n\n // Wait for the configured polling interval before checking again\n await delay(pollingInterval);\n }\n\n if (!transcriptionResult.result) {\n throw new AISDKError({\n message: 'Transcription result is empty',\n name: 'TranscriptionResultEmpty',\n cause: transcriptionResult,\n });\n }\n\n // Process the successful result\n return {\n text: transcriptionResult.result.transcription.full_transcript,\n durationInSeconds: transcriptionResult.result.metadata.audio_duration,\n language: transcriptionResult.result.transcription.languages.at(0),\n segments: transcriptionResult.result.transcription.utterances.map(\n utterance => ({\n text: utterance.text,\n startSecond: utterance.start,\n endSecond: utterance.end,\n }),\n ),\n response: {\n timestamp: currentDate,\n modelId: 'default',\n headers: transcriptionResultHeaders,\n },\n providerMetadata: {\n gladia: transcriptionResult,\n },\n warnings,\n };\n }\n}\n\nconst gladiaUploadResponseSchema = z.object({\n audio_url: z.string(),\n});\n\nconst gladiaTranscriptionInitializeResponseSchema = z.object({\n result_url: z.string(),\n});\n\nconst gladiaTranscriptionResultResponseSchema = z.object({\n status: z.enum(['queued', 'processing', 'done', 'error']),\n result: z\n .object({\n metadata: z.object({\n audio_duration: z.number(),\n }),\n transcription: z.object({\n full_transcript: z.string(),\n languages: z.array(z.string()),\n utterances: z.array(\n z.object({\n start: z.number(),\n end: z.number(),\n text: z.string(),\n }),\n ),\n }),\n })\n .nullish(),\n});\n","import { z } from 'zod/v4';\nimport { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\n\nexport const gladiaErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n code: z.number(),\n }),\n});\n\nexport type GladiaErrorData = z.infer<typeof gladiaErrorDataSchema>;\n\nexport const gladiaFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: gladiaErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["z","z","_a","_b","_c"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/gladia",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.13",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@ai-sdk/provider": "2.0.0",
|
|
23
|
-
"@ai-sdk/provider-utils": "3.0.
|
|
23
|
+
"@ai-sdk/provider-utils": "3.0.12"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/node": "20.17.24",
|