screenci 0.0.9 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +44 -58
  2. package/dist/Dockerfile +48 -0
  3. package/dist/cli.d.ts +21 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +1346 -384
  6. package/dist/cli.js.map +1 -1
  7. package/dist/e2e/instrument.e2e.js +12 -0
  8. package/dist/e2e/instrument.e2e.js.map +1 -1
  9. package/dist/index.d.ts +9 -8
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/playwright.config.d.ts +1 -1
  14. package/dist/src/asset.d.ts +27 -67
  15. package/dist/src/asset.d.ts.map +1 -1
  16. package/dist/src/asset.js +44 -45
  17. package/dist/src/asset.js.map +1 -1
  18. package/dist/src/caption.d.ts +164 -54
  19. package/dist/src/caption.d.ts.map +1 -1
  20. package/dist/src/caption.js +304 -131
  21. package/dist/src/caption.js.map +1 -1
  22. package/dist/src/events.d.ts +69 -27
  23. package/dist/src/events.d.ts.map +1 -1
  24. package/dist/src/events.js +64 -40
  25. package/dist/src/events.js.map +1 -1
  26. package/dist/src/instrument.d.ts.map +1 -1
  27. package/dist/src/instrument.js +142 -35
  28. package/dist/src/instrument.js.map +1 -1
  29. package/dist/src/logger.d.ts.map +1 -1
  30. package/dist/src/logger.js +2 -1
  31. package/dist/src/logger.js.map +1 -1
  32. package/dist/src/recording.d.ts +4 -0
  33. package/dist/src/recording.d.ts.map +1 -0
  34. package/dist/src/recording.js +2 -0
  35. package/dist/src/recording.js.map +1 -0
  36. package/dist/src/recordingData.d.ts +145 -0
  37. package/dist/src/recordingData.d.ts.map +1 -0
  38. package/dist/src/recordingData.js +2 -0
  39. package/dist/src/recordingData.js.map +1 -0
  40. package/dist/src/types.d.ts +201 -71
  41. package/dist/src/types.d.ts.map +1 -1
  42. package/dist/src/types.js +31 -1
  43. package/dist/src/types.js.map +1 -1
  44. package/dist/src/video.d.ts.map +1 -1
  45. package/dist/src/video.js +29 -24
  46. package/dist/src/video.js.map +1 -1
  47. package/dist/src/voices.d.ts +344 -41
  48. package/dist/src/voices.d.ts.map +1 -1
  49. package/dist/src/voices.js +261 -30
  50. package/dist/src/voices.js.map +1 -1
  51. package/dist/test-fixtures/screenci.config.d.ts +5 -0
  52. package/dist/test-fixtures/screenci.config.d.ts.map +1 -0
  53. package/dist/test-fixtures/screenci.config.js +4 -0
  54. package/dist/test-fixtures/screenci.config.js.map +1 -0
  55. package/dist/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +39 -3
  57. package/skills/playwright-cli/SKILL.md +348 -0
  58. package/skills/screenci/SKILL.md +55 -0
  59. package/skills/screenci/references/init.md +47 -0
  60. package/skills/screenci/references/record.md +41 -0
  61. package/dist/reporter.d.ts +0 -9
  62. package/dist/reporter.d.ts.map +0 -1
  63. package/dist/reporter.js +0 -49
  64. package/dist/reporter.js.map +0 -1
  65. package/dist/src/caption.test-d.d.ts +0 -2
  66. package/dist/src/caption.test-d.d.ts.map +0 -1
  67. package/dist/src/caption.test-d.js +0 -50
  68. package/dist/src/caption.test-d.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/video.ts"],"names":[],"mappings":"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"}
package/dist/src/video.js CHANGED
@@ -6,15 +6,15 @@ import { sanitizeVideoName } from './sanitize.js';
6
6
  export { getDimensions } from './dimensions.js';
7
7
  import { getDimensions } from './dimensions.js';
8
8
  import { isHeadless, startXvfb } from './xvfb.js';
9
- import { setActiveCaptionRecorder, resetCaptionChain } from './caption.js';
9
+ import { setActiveCaptionRecorder, resetCaptionChain, validateCustomVoiceRefs, } from './caption.js';
10
10
  import { setActiveHideRecorder } from './hide.js';
11
11
  import { setActiveAutoZoomRecorder } from './autoZoom.js';
12
- import { setActiveAssetRecorder } from './asset.js';
12
+ import { setActiveAssetRecorder, validateRegisteredAssetPaths, } from './asset.js';
13
13
  import { DEFAULT_VIDEO_OPTIONS, DEFAULT_ASPECT_RATIO, DEFAULT_QUALITY, DEFAULT_FPS, } from './defaults.js';
14
14
  import { EventRecorder } from './events.js';
15
15
  import { setActiveClickRecorder, instrumentBrowser, instrumentContext, } from './instrument.js';
16
16
  import { logger } from './logger.js';
17
- async function setupMouseTracking(page, recorder) {
17
+ async function setupMouseTracking(_page, _recorder) {
18
18
  /*
19
19
  await page.exposeFunction(
20
20
  '__screenci_recordMouseMove',
@@ -150,10 +150,7 @@ function startScreenRecording(outputPath, fps, quality, aspectRatio) {
150
150
  });
151
151
  ffmpeg.on('close', (code) => {
152
152
  clearTimeout(timeout);
153
- if (code === 0) {
154
- logger.info('Screen recording completed successfully');
155
- }
156
- else if (code !== null && !hasErrored) {
153
+ if (code !== null && code !== 0 && code !== 255 && !hasErrored) {
157
154
  logger.error(`FFmpeg exited with code ${code}`);
158
155
  }
159
156
  });
@@ -210,9 +207,9 @@ process.on('exit', () => {
210
207
  catch { }
211
208
  }
212
209
  });
213
- // Forward SIGTERM/SIGINT: kill ffmpeg and Xvfb, then let the process exit.
210
+ // Forward SIGTERM/SIGINT: clean up recorder processes, then re-raise the
211
+ // original signal so parent processes treat the worker as interrupted.
214
212
  const handleTermSignal = (signal) => {
215
- logger.info(`Worker received ${signal}, killing ffmpeg and Xvfb...`);
216
213
  killActiveFFmpegProcesses();
217
214
  if (currentXvfb) {
218
215
  try {
@@ -220,16 +217,20 @@ const handleTermSignal = (signal) => {
220
217
  }
221
218
  catch { }
222
219
  }
223
- process.exit(0);
220
+ process.off('SIGTERM', handleSigterm);
221
+ process.off('SIGINT', handleSigint);
222
+ process.kill(process.pid, signal);
224
223
  };
225
- process.on('SIGTERM', handleTermSignal);
226
- process.on('SIGINT', handleTermSignal);
224
+ const handleSigterm = () => handleTermSignal('SIGTERM');
225
+ const handleSigint = () => handleTermSignal('SIGINT');
226
+ process.on('SIGTERM', handleSigterm);
227
+ process.on('SIGINT', handleSigint);
227
228
  const _videoBase = base.extend({
228
229
  recordOptions: [DEFAULT_VIDEO_OPTIONS, { option: true }],
229
230
  renderOptions: [undefined, { option: true }],
230
231
  // Internal worker fixture to manage xvfb per test
231
232
  _xvfbSetup: [
232
- async ({ recordOptions }, use) => {
233
+ async ({ recordOptions: _recordOptions }, use) => {
233
234
  const shouldRecord = process.env.SCREENCI_RECORD === 'true';
234
235
  if (shouldRecord && !currentXvfb && isHeadless()) {
235
236
  // Start Xvfb once per worker at 3840×3840 — a square large enough to
@@ -339,6 +340,8 @@ const _videoBase = base.extend({
339
340
  // Wait for browser window to be fully rendered before starting recording
340
341
  // This prevents black screen captures
341
342
  await page.waitForTimeout(1500);
343
+ await validateCustomVoiceRefs(testInfo.file);
344
+ await validateRegisteredAssetPaths(testInfo.file);
342
345
  // Hide browser toolbar via CDP fullscreen. --kiosk alone is not reliable on
343
346
  // Xvfb; the CDP call triggers Chromium's internal fullscreen mode which
344
347
  // removes all browser UI chrome. No explicit dims here — those conflict with
@@ -364,24 +367,15 @@ const _videoBase = base.extend({
364
367
  recorder.start();
365
368
  }
366
369
  else {
367
- logger.warn('Warning: Screen recording failed to start. Test will continue without recording.');
370
+ logger.warn('Screen recording failed to start. Test will continue without recording.');
368
371
  logger.warn(`Note: Recording at ${dimensions.width}x${dimensions.height} requires a display of at least that size.`);
369
372
  }
370
373
  await use(page);
371
- await page.close();
372
- setActiveCaptionRecorder(null);
373
- setActiveClickRecorder(null);
374
- setActiveHideRecorder(null);
375
- setActiveAutoZoomRecorder(null);
376
- setActiveAssetRecorder(null);
377
- // Stop ffmpeg recording after test (only if it started)
374
+ // Stop ffmpeg BEFORE closing the page to avoid a black frame at the end
378
375
  if (didStart) {
379
376
  logger.info('Stopping recording...');
380
377
  await stopScreenRecording(ffmpegProcess);
381
378
  logger.info(`Video saved to: ${videoPath}`);
382
- // Write recorded events next to the video
383
- await recorder.writeToFile(videoDir, testInfo.title);
384
- logger.info(`Events saved to: ${join(videoDir, 'data.json')}`);
385
379
  }
386
380
  else {
387
381
  // Kill the process if it's still running
@@ -389,6 +383,17 @@ const _videoBase = base.extend({
389
383
  ffmpegProcess.kill('SIGKILL');
390
384
  }
391
385
  }
386
+ await page.close();
387
+ setActiveCaptionRecorder(null);
388
+ setActiveClickRecorder(null);
389
+ setActiveHideRecorder(null);
390
+ setActiveAutoZoomRecorder(null);
391
+ setActiveAssetRecorder(null);
392
+ // Write recorded events next to the video
393
+ if (didStart) {
394
+ await recorder.writeToFile(videoDir, testInfo.title);
395
+ logger.info(`Events saved to: ${join(videoDir, 'data.json')}`);
396
+ }
392
397
  },
393
398
  });
394
399
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/video.ts"],"names":[],"mappings":"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"}
@@ -1,60 +1,363 @@
1
1
  /**
2
- * Named voices available for use with `createCaptions`.
2
+ * TTS model types for use with `createVoiceOvers`.
3
3
  *
4
- * Voices are grouped by language. Only voices belonging to a language may be
5
- * used with captions written in that language the TypeScript types enforce
6
- * this when using the multi-language overload of `createCaptions`.
4
+ * - `expressive`: Gemini TTS more expressive, natural-sounding speech.
5
+ * - `consistent`: Chirp 3 HDconsistent, high-quality synthesis.
7
6
  *
8
- * The actual provider voice IDs are intentionally kept out of this package
9
- * and are only known to the rendering infrastructure.
10
- *
11
- * Example:
7
+ * @example
12
8
  * ```ts
13
- * import { voices } from 'screenci'
9
+ * createVoiceOvers({
10
+ * voice: { name: voices.Ava, modelType: modelTypes.expressive },
11
+ * languages: { en: { captions: { intro: 'Hello' } } },
12
+ * })
13
+ * ```
14
+ */
15
+ export declare const modelTypes: {
16
+ readonly expressive: "expressive";
17
+ readonly consistent: "consistent";
18
+ };
19
+ export type ModelType = (typeof modelTypes)[keyof typeof modelTypes];
20
+ /**
21
+ * BCP-47 language regions for use with `createVoiceOvers`.
14
22
  *
15
- * createCaptions({
16
- * en: { voice: voices.en.Ava, captions: { intro: 'Hello' } },
17
- * fi: { voice: voices.fi.Selma, captions: { intro: 'Hei' } },
23
+ * Pass a region as `region` inside a language entry to select the
24
+ * specific locale variant used for speech synthesis.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * createVoiceOvers({
29
+ * voice: { name: voices.Ava },
30
+ * languages: {
31
+ * en: { region: languageRegions.en.US, captions: { intro: 'Hello' } },
32
+ * fr: { region: languageRegions.fr.FR, captions: { intro: 'Bonjour' } },
33
+ * },
18
34
  * })
19
35
  * ```
20
36
  */
21
- export declare const voices: {
22
- readonly fi: {
23
- readonly Martti: "fi.Martti";
24
- readonly Selma: "fi.Selma";
25
- readonly Noora: "fi.Noora";
37
+ export declare const languageRegions: {
38
+ readonly ar: {
39
+ readonly SA: "ar-SA";
40
+ readonly AE: "ar-AE";
41
+ readonly EG: "ar-EG";
42
+ };
43
+ readonly az: {
44
+ readonly AZ: "az-AZ";
45
+ };
46
+ readonly bn: {
47
+ readonly BD: "bn-BD";
48
+ readonly IN: "bn-IN";
49
+ };
50
+ readonly bg: {
51
+ readonly BG: "bg-BG";
52
+ };
53
+ readonly ca: {
54
+ readonly ES: "ca-ES";
55
+ };
56
+ readonly cs: {
57
+ readonly CZ: "cs-CZ";
58
+ };
59
+ readonly da: {
60
+ readonly DK: "da-DK";
61
+ };
62
+ readonly de: {
63
+ readonly DE: "de-DE";
64
+ readonly AT: "de-AT";
65
+ readonly CH: "de-CH";
66
+ };
67
+ readonly el: {
68
+ readonly GR: "el-GR";
26
69
  };
27
70
  readonly en: {
28
- readonly Jude: "en.Jude";
29
- readonly Ava: "en.Ava";
30
- readonly Andrew: "en.Andrew";
31
- readonly Adam: "en.Adam";
32
- readonly Alloy: "en.Alloy";
33
- readonly Aria: "en.Aria";
34
- readonly Bree: "en.Bree";
35
- readonly Brian: "en.Brian";
36
- readonly Davis: "en.Davis";
37
- readonly Emma: "en.Emma";
38
- readonly Emma2: "en.Emma2";
39
- readonly Jane: "en.Jane";
71
+ readonly US: "en-US";
72
+ readonly GB: "en-GB";
73
+ readonly AU: "en-AU";
74
+ readonly IN: "en-IN";
75
+ };
76
+ readonly es: {
77
+ readonly ES: "es-ES";
78
+ readonly MX: "es-MX";
79
+ readonly US: "es-US";
80
+ readonly AR: "es-AR";
81
+ };
82
+ readonly et: {
83
+ readonly EE: "et-EE";
84
+ };
85
+ readonly eu: {
86
+ readonly ES: "eu-ES";
87
+ };
88
+ readonly fa: {
89
+ readonly IR: "fa-IR";
90
+ };
91
+ readonly fi: {
92
+ readonly FI: "fi-FI";
93
+ };
94
+ readonly fil: {
95
+ readonly PH: "fil-PH";
96
+ };
97
+ readonly fr: {
98
+ readonly FR: "fr-FR";
99
+ readonly CA: "fr-CA";
100
+ readonly BE: "fr-BE";
101
+ readonly CH: "fr-CH";
102
+ };
103
+ readonly gl: {
104
+ readonly ES: "gl-ES";
105
+ };
106
+ readonly gu: {
107
+ readonly IN: "gu-IN";
108
+ };
109
+ readonly he: {
110
+ readonly IL: "he-IL";
111
+ };
112
+ readonly hi: {
113
+ readonly IN: "hi-IN";
114
+ };
115
+ readonly hr: {
116
+ readonly HR: "hr-HR";
117
+ };
118
+ readonly hu: {
119
+ readonly HU: "hu-HU";
120
+ };
121
+ readonly hy: {
122
+ readonly AM: "hy-AM";
123
+ };
124
+ readonly id: {
125
+ readonly ID: "id-ID";
126
+ };
127
+ readonly is: {
128
+ readonly IS: "is-IS";
129
+ };
130
+ readonly it: {
131
+ readonly IT: "it-IT";
132
+ };
133
+ readonly ja: {
134
+ readonly JP: "ja-JP";
135
+ };
136
+ readonly ka: {
137
+ readonly GE: "ka-GE";
138
+ };
139
+ readonly kn: {
140
+ readonly IN: "kn-IN";
141
+ };
142
+ readonly ko: {
143
+ readonly KR: "ko-KR";
144
+ };
145
+ readonly lt: {
146
+ readonly LT: "lt-LT";
147
+ };
148
+ readonly lv: {
149
+ readonly LV: "lv-LV";
150
+ };
151
+ readonly mk: {
152
+ readonly MK: "mk-MK";
153
+ };
154
+ readonly ml: {
155
+ readonly IN: "ml-IN";
156
+ };
157
+ readonly mn: {
158
+ readonly MN: "mn-MN";
159
+ };
160
+ readonly mr: {
161
+ readonly IN: "mr-IN";
40
162
  };
163
+ readonly ms: {
164
+ readonly MY: "ms-MY";
165
+ };
166
+ readonly my: {
167
+ readonly MM: "my-MM";
168
+ };
169
+ readonly nb: {
170
+ readonly NO: "nb-NO";
171
+ };
172
+ readonly ne: {
173
+ readonly NP: "ne-NP";
174
+ };
175
+ readonly nl: {
176
+ readonly NL: "nl-NL";
177
+ readonly BE: "nl-BE";
178
+ };
179
+ readonly pa: {
180
+ readonly IN: "pa-IN";
181
+ };
182
+ readonly pl: {
183
+ readonly PL: "pl-PL";
184
+ };
185
+ readonly pt: {
186
+ readonly BR: "pt-BR";
187
+ readonly PT: "pt-PT";
188
+ };
189
+ readonly ro: {
190
+ readonly RO: "ro-RO";
191
+ };
192
+ readonly ru: {
193
+ readonly RU: "ru-RU";
194
+ };
195
+ readonly si: {
196
+ readonly LK: "si-LK";
197
+ };
198
+ readonly sk: {
199
+ readonly SK: "sk-SK";
200
+ };
201
+ readonly sl: {
202
+ readonly SI: "sl-SI";
203
+ };
204
+ readonly sq: {
205
+ readonly AL: "sq-AL";
206
+ };
207
+ readonly sr: {
208
+ readonly RS: "sr-RS";
209
+ };
210
+ readonly sv: {
211
+ readonly SE: "sv-SE";
212
+ };
213
+ readonly sw: {
214
+ readonly KE: "sw-KE";
215
+ readonly TZ: "sw-TZ";
216
+ };
217
+ readonly ta: {
218
+ readonly IN: "ta-IN";
219
+ readonly LK: "ta-LK";
220
+ };
221
+ readonly te: {
222
+ readonly IN: "te-IN";
223
+ };
224
+ readonly th: {
225
+ readonly TH: "th-TH";
226
+ };
227
+ readonly tr: {
228
+ readonly TR: "tr-TR";
229
+ };
230
+ readonly uk: {
231
+ readonly UA: "uk-UA";
232
+ };
233
+ readonly ur: {
234
+ readonly PK: "ur-PK";
235
+ };
236
+ readonly vi: {
237
+ readonly VN: "vi-VN";
238
+ };
239
+ readonly zh: {
240
+ readonly CN: "zh-CN";
241
+ readonly TW: "zh-TW";
242
+ readonly HK: "zh-HK";
243
+ };
244
+ };
245
+ /**
246
+ * Named voices available for use with `createVoiceOvers`.
247
+ *
248
+ * Built-in voices are language-agnostic at the call site:
249
+ *
250
+ * ```ts
251
+ * createVoiceOvers({
252
+ * en: { voice: voices.Aria, captions: { intro: 'Hello' } },
253
+ * fi: { voice: voices.Aria, captions: { intro: 'Hei' } },
254
+ * })
255
+ * ```
256
+ *
257
+ * ElevenLabs voices are passed explicitly by provider voice id:
258
+ *
259
+ * ```ts
260
+ * createVoiceOvers({
261
+ * en: {
262
+ * voice: voices.elevenlabs({ voiceId: 'tMvyQtpCVQ0DkixuYm6J' }),
263
+ * captions: { intro: 'Hello' },
264
+ * },
265
+ * })
266
+ * ```
267
+ */
268
+ export declare const voices: {
269
+ /** Male — Clear — Direct and structured, ideal for straightforward explanations. */
270
+ readonly Adrian: "Adrian";
271
+ /** Female — Soft — A calm and soothing voice that reassures users and reduces friction. */
272
+ readonly Aria: "Aria";
273
+ /** Female — Bright — Fresh and optimistic, bringing clarity and positivity. */
274
+ readonly Ava: "Ava";
275
+ /** Female — Bright — Cheerful and energetic, uplifting the user experience. */
276
+ readonly Clara: "Clara";
277
+ /** Male — Informative — Clear and educational, focused on delivering useful information. */
278
+ readonly Daniel: "Daniel";
279
+ /** Female — Smooth — Graceful and composed, maintaining a consistent flow of communication. */
280
+ readonly Elena: "Elena";
281
+ /** Female — Youthful — Playful and fresh, appealing to a modern and dynamic audience. */
282
+ readonly Emma: "Emma";
283
+ /** Male — Friendly — Warm and approachable, making interactions feel personal and welcoming. */
284
+ readonly Ethan: "Ethan";
285
+ /** Male — Easy-going — Casual and relaxed, reducing stress in interactions. */
286
+ readonly Evan: "Evan";
287
+ /** Female — Gentle — Soft and caring, ideal for sensitive or supportive contexts. */
288
+ readonly Grace: "Grace";
289
+ /** Male — Knowledgeable — Insightful and reliable, conveying expertise and confidence. */
290
+ readonly Hassan: "Hassan";
291
+ /** Female — Mature — Experienced and composed, conveying trust and authority. */
292
+ readonly Helena: "Helena";
293
+ /** Female — Forward — Proactive and confident, driving users toward action. */
294
+ readonly Isabella: "Isabella";
295
+ /** Male — Smooth — Polished and fluid, ideal for seamless and premium experiences. */
296
+ readonly Julian: "Julian";
297
+ /** Female — Warm — Kind and empathetic, building trust and comfort. */
298
+ readonly Layla: "Layla";
299
+ /** Male — Excitable — High-energy and enthusiastic, great for engagement and motivation. */
300
+ readonly Leo: "Leo";
301
+ /** Female — Breezy — Light and effortless, creating a relaxed and easygoing interaction. */
302
+ readonly Lily: "Lily";
303
+ /** Male — Firm — Confident and directive, suited for clear guidance and authority. */
304
+ readonly Marcus: "Marcus";
305
+ /** Male — Upbeat — Energetic and lively, keeping interactions engaging and quick. */
306
+ readonly Max: "Max";
307
+ /** Female — Easy-going — Relaxed and flexible, reducing pressure during interactions. */
308
+ readonly Maya: "Maya";
309
+ /** Male — Firm — Grounded and assertive, ensuring clarity and direction. */
310
+ readonly Miles: "Miles";
311
+ /** Male — Breathy — Soft and intimate, creating a close and attentive feel. */
312
+ readonly Noah: "Noah";
313
+ /** Female — Firm — Strong and decisive, helping users stay on track. */
314
+ readonly Nora: "Nora";
315
+ /** Male — Informative — Detailed and explanatory, ideal for complex information delivery. */
316
+ readonly Omar: "Omar";
317
+ /** Male — Lively — Dynamic and spirited, adding energy to user interactions. */
318
+ readonly Ryan: "Ryan";
319
+ /** Male — Casual — Relaxed and informal, perfect for conversational experiences. */
320
+ readonly Sam: "Sam";
321
+ /** Female — Clear — Precise and easy to understand, minimizing confusion. */
322
+ readonly Sophie: "Sophie";
323
+ /** Male — Even — Balanced and steady, providing a consistent user experience. */
324
+ readonly Thomas: "Thomas";
325
+ /** Male — Gravelly — A deep, textured voice that conveys strength and seriousness. */
326
+ readonly Victor: "Victor";
327
+ /** Female — Upbeat — Positive and motivating, encouraging continued interaction. */
328
+ readonly Zoe: "Zoe";
329
+ readonly elevenlabs: ({ voiceId }: {
330
+ voiceId: string;
331
+ }) => ElevenLabsVoiceKey;
41
332
  };
42
- type Voices = typeof voices;
333
+ export type VoiceName = keyof Omit<typeof voices, 'elevenlabs'>;
334
+ type ElevenLabsVoiceKey = `elevenlabs:${string}`;
335
+ /** Union of all valid voice keys, e.g. `'Aria' | 'elevenlabs:abc123'`. */
336
+ export type VoiceKey = VoiceName | ElevenLabsVoiceKey;
337
+ declare const supportedLanguageCodes: readonly ["ar", "bn", "nl", "en", "fr", "de", "hi", "id", "it", "ja", "ko", "mr", "pl", "pt", "ro", "ru", "es", "ta", "te", "th", "tr", "uk", "vi", "af", "sq", "am", "hy", "az", "eu", "be", "bg", "my", "ca", "ceb", "cmn", "hr", "cs", "da", "et", "fil", "fi", "gl", "ka", "el", "gu", "ht", "he", "hu", "is", "jv", "kn", "kok", "lo", "la", "lv", "lt", "lb", "mk", "mai", "mg", "ms", "ml", "mn", "ne", "nb", "nn", "or", "ps", "fa", "pa", "sr", "sd", "si", "sk", "sl", "sw", "sv", "ur"];
338
+ /** Union of supported language codes, e.g. `'en' | 'fi'`. */
339
+ export type Lang = (typeof supportedLanguageCodes)[number];
43
340
  /**
44
- * Union of all valid voice keys, e.g. `'fi.Martti' | 'en.Ava'`.
341
+ * Narrows the set of valid voice keys to those allowed for language `L`.
342
+ * Built-in voice names are shared across languages, while ElevenLabs voice ids
343
+ * are language-neutral from the SDK's perspective.
45
344
  */
46
- export type VoiceKey = {
47
- [L in keyof Voices]: Voices[L][keyof Voices[L]];
48
- }[keyof Voices];
345
+ export type VoiceForLang<L extends string> = L extends Lang ? VoiceKey : never;
49
346
  /**
50
- * Narrows the set of valid voice keys to those belonging to language `L`.
347
+ * A reference to a local audio or video file for ElevenLabs Instant Voice Cloning.
348
+ * Pass as the `voice` in `createVoiceOvers` to clone a voice from the file at `path`.
51
349
  *
52
- * - `VoiceForLang<'fi'>` → `'fi.Martti' | 'fi.Selma' | 'fi.Noora'`
53
- * - `VoiceForLang<'en'>` → `'en.Jude' | 'en.Ava' | ...`
54
- * - `VoiceForLang<'de'>` → `never` (no German voices defined)
350
+ * @example
351
+ * ```ts
352
+ * createVoiceOvers({
353
+ * en: { voice: { path: './my-voice.mp3' }, captions: { intro: 'Hello.' } },
354
+ * })
355
+ * ```
55
356
  */
56
- export type VoiceForLang<L extends string> = L extends keyof Voices ? Voices[L][keyof Voices[L]] : never;
57
- /** Union of supported language codes, e.g. `'en' | 'fi'`. */
58
- export type Lang = keyof Voices;
357
+ export type CustomVoiceRef = {
358
+ path: string;
359
+ };
360
+ /** Returns true when the value is a `CustomVoiceRef` object. */
361
+ export declare function isCustomVoiceRef(value: unknown): value is CustomVoiceRef;
59
362
  export {};
60
363
  //# sourceMappingURL=voices.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"voices.d.ts","sourceRoot":"","sources":["../../src/voices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;CAoBT,CAAA;AAEV,KAAK,MAAM,GAAG,OAAO,MAAM,CAAA;AAE3B;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;KACpB,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC,MAAM,MAAM,CAAC,CAAA;AAEf;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,MAAM,GAC/D,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,GAC1B,KAAK,CAAA;AAET,6DAA6D;AAC7D,MAAM,MAAM,IAAI,GAAG,MAAM,MAAM,CAAA"}
1
+ {"version":3,"file":"voices.d.ts","sourceRoot":"","sources":["../../src/voices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU;;;CAGb,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAA;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DlB,CAAA;AAEV;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,MAAM;IACjB,oFAAoF;;IAGpF,2FAA2F;;IAG3F,+EAA+E;;IAG/E,+EAA+E;;IAG/E,4FAA4F;;IAG5F,+FAA+F;;IAG/F,yFAAyF;;IAGzF,gGAAgG;;IAGhG,+EAA+E;;IAG/E,qFAAqF;;IAGrF,0FAA0F;;IAG1F,iFAAiF;;IAGjF,+EAA+E;;IAG/E,sFAAsF;;IAGtF,uEAAuE;;IAGvE,4FAA4F;;IAG5F,4FAA4F;;IAG5F,sFAAsF;;IAGtF,qFAAqF;;IAGrF,yFAAyF;;IAGzF,4EAA4E;;IAG5E,+EAA+E;;IAG/E,wEAAwE;;IAGxE,6FAA6F;;IAG7F,gFAAgF;;IAGhF,oFAAoF;;IAGpF,6EAA6E;;IAG7E,iFAAiF;;IAGjF,sFAAsF;;IAGtF,oFAAoF;;uCAG1D;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAChB,kBAAkB;CACvC,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,MAAM,EAAE,YAAY,CAAC,CAAA;AAC/D,KAAK,kBAAkB,GAAG,cAAc,MAAM,EAAE,CAAA;AAEhD,0EAA0E;AAC1E,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,kBAAkB,CAAA;AAErD,QAAA,MAAM,sBAAsB,oeA+ElB,CAAA;AAEV,6DAA6D;AAC7D,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1D;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAA;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7C,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAOxE"}