screenci 0.0.14 → 0.0.16

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 (42) hide show
  1. package/README.md +26 -26
  2. package/dist/cli.d.ts +1 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +65 -22
  5. package/dist/cli.js.map +1 -1
  6. package/dist/index.d.ts +5 -5
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -2
  9. package/dist/index.js.map +1 -1
  10. package/dist/src/browserLaunchOptions.d.ts +5 -0
  11. package/dist/src/browserLaunchOptions.d.ts.map +1 -0
  12. package/dist/src/browserLaunchOptions.js +23 -0
  13. package/dist/src/browserLaunchOptions.js.map +1 -0
  14. package/dist/src/cue.d.ts +276 -0
  15. package/dist/src/cue.d.ts.map +1 -0
  16. package/dist/src/{caption.js → cue.js} +120 -90
  17. package/dist/src/cue.js.map +1 -0
  18. package/dist/src/events.d.ts +54 -40
  19. package/dist/src/events.d.ts.map +1 -1
  20. package/dist/src/events.js +21 -21
  21. package/dist/src/events.js.map +1 -1
  22. package/dist/src/instrument.js +3 -3
  23. package/dist/src/instrument.js.map +1 -1
  24. package/dist/src/recordingData.d.ts +16 -16
  25. package/dist/src/recordingData.d.ts.map +1 -1
  26. package/dist/src/types.d.ts +4 -4
  27. package/dist/src/types.d.ts.map +1 -1
  28. package/dist/src/types.js +1 -1
  29. package/dist/src/types.js.map +1 -1
  30. package/dist/src/video.d.ts +3 -3
  31. package/dist/src/video.d.ts.map +1 -1
  32. package/dist/src/video.js +11 -25
  33. package/dist/src/video.js.map +1 -1
  34. package/dist/src/voices.d.ts +18 -18
  35. package/dist/src/voices.js +15 -15
  36. package/dist/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +1 -1
  38. package/skills/screenci/SKILL.md +20 -18
  39. package/skills/screenci/references/record.md +9 -6
  40. package/dist/src/caption.d.ts +0 -262
  41. package/dist/src/caption.d.ts.map +0 -1
  42. package/dist/src/caption.js.map +0 -1
@@ -1,262 +0,0 @@
1
- import type { IEventRecorder } from './events.js';
2
- import type { VoiceKey, VoiceForLang, Lang, CustomVoiceRef, ModelType } from './voices.js';
3
- export declare const ONE_FRAME_MS: number;
4
- export declare function setSleepFn(fn: (ms: number) => void): void;
5
- export declare function setActiveCaptionRecorder(recorder: IEventRecorder | null): void;
6
- export declare function resetCaptionChain(): void;
7
- export declare function resetRegisteredCustomVoiceRefs(): void;
8
- export declare function validateCustomVoiceRefs(testFilePath: string): Promise<void>;
9
- /**
10
- * A voiceOver controller. Awaiting it starts the voiceover.
11
- *
12
- * @example
13
- * ```ts
14
- * await voiceOvers.intro
15
- * await page.goto('/dashboard')
16
- * await voiceOvers.nextStep
17
- * ```
18
- */
19
- export type CaptionController = PromiseLike<void>;
20
- /** A single caption value in a multi-language map: either TTS text or a file-based entry. */
21
- export type CaptionMapValue = string | {
22
- path: string;
23
- subtitle?: string;
24
- };
25
- export type Captions<T extends Record<string, CaptionMapValue>> = {
26
- [K in keyof T]: CaptionController;
27
- } & {
28
- /**
29
- * Waits for the current voiceOver to finish before the next action.
30
- *
31
- * Only needed when an action must happen _after_ a voiceOver ends.
32
- * Consecutive `await voiceOvers.x` calls sequence automatically — each
33
- * one ends the previous before starting.
34
- *
35
- * @example
36
- * ```ts
37
- * await voiceOvers.intro
38
- * await voiceOvers.waitEnd() // wait for intro audio to finish
39
- * await page.click('#next') // click happens after intro ends
40
- * ```
41
- */
42
- waitEnd(): Promise<void>;
43
- };
44
- export type VideoCaptionEntry = string | {
45
- path: string;
46
- subtitle?: string;
47
- };
48
- export type VideoCaptions<T extends Record<string, VideoCaptionEntry>> = {
49
- [K in keyof T]: CaptionController;
50
- } & {
51
- /**
52
- * Waits for the current voiceOver to finish before the next action.
53
- * @see {@link Captions.waitEnd}
54
- */
55
- waitEnd(): Promise<void>;
56
- };
57
- /**
58
- * Top-level voice configuration shared across all languages.
59
- * `seed` is not allowed here — use per-language `voice` overrides instead.
60
- *
61
- * Use `style` for expressive Gemini synthesis, or `modelType` for an explicit
62
- * model choice. `style` and `modelType` are mutually exclusive.
63
- */
64
- export type TopLevelVoiceConfig = {
65
- name: VoiceKey | CustomVoiceRef;
66
- /** Speaking style prompt for Gemini TTS. Implies `expressive` model type. */
67
- style: string;
68
- /** Can be omitted when `style` is set — `expressive` is implied. */
69
- modelType?: 'expressive';
70
- /**
71
- * Accent description for Gemini TTS. Only used with `expressive` model type.
72
- * The more specific, the better — e.g. `'Southern American English'` or `'Received Pronunciation British'`.
73
- * Omitted from the prompt when not set — the voice uses its natural default.
74
- */
75
- accent?: string;
76
- /**
77
- * Pacing description for Gemini TTS. Only used with `expressive` model type.
78
- * Describes the overall speed and tempo — e.g. `'Measured and deliberate'` or `'Brisk and energetic'`.
79
- */
80
- pacing?: string;
81
- } | {
82
- name: VoiceKey | CustomVoiceRef;
83
- style?: never;
84
- accent?: never;
85
- pacing?: never;
86
- /** TTS model type — `modelTypes.expressive` (Gemini) or `modelTypes.consistent` (Chirp 3 HD). Defaults to `consistent`. */
87
- modelType?: ModelType;
88
- };
89
- /**
90
- * Per-language voice override. Can override the top-level voice name and
91
- * optionally set a `seed` for deterministic synthesis.
92
- *
93
- * Use `style` for expressive Gemini synthesis, or `modelType` for an explicit
94
- * model choice. `style` and `modelType` are mutually exclusive.
95
- */
96
- export type LangVoiceOverride = {
97
- name: VoiceKey | CustomVoiceRef;
98
- seed?: number;
99
- /** Speaking style prompt for Gemini TTS. Implies `expressive` model type. */
100
- style: string;
101
- /** Can be omitted when `style` is set — `expressive` is implied. */
102
- modelType?: 'expressive';
103
- /**
104
- * Accent description for Gemini TTS. Only used with `expressive` model type.
105
- * The more specific, the better — e.g. `'Southern American English'` or `'Received Pronunciation British'`.
106
- * Omitted from the prompt when not set — the voice uses its natural default.
107
- */
108
- accent?: string;
109
- /**
110
- * Pacing description for Gemini TTS. Only used with `expressive` model type.
111
- * Describes the overall speed and tempo — e.g. `'Measured and deliberate'` or `'Brisk and energetic'`.
112
- */
113
- pacing?: string;
114
- } | {
115
- name: VoiceKey | CustomVoiceRef;
116
- seed?: number;
117
- style?: never;
118
- accent?: never;
119
- pacing?: never;
120
- /** TTS model type — `modelTypes.expressive` (Gemini) or `modelTypes.consistent` (Chirp 3 HD). Defaults to `consistent`. */
121
- modelType?: ModelType;
122
- };
123
- /** Converts a union type to an intersection: `A | B` → `A & B` */
124
- type UnionToIntersection<U> = (U extends unknown ? (x: U) => void : never) extends (x: infer I) => void ? I : never;
125
- /**
126
- * Produces a record requiring every key that appears in any language's captions.
127
- * Uses each language's key set with CaptionMapValue values before intersecting,
128
- * so value types don't conflict (e.g. string vs { path, subtitle } for the same key).
129
- */
130
- type AllCaptions<M extends Partial<Record<Lang, {
131
- captions: Record<string, CaptionMapValue>;
132
- }>>> = UnionToIntersection<{
133
- [L in keyof M]: M[L] extends {
134
- captions: infer C;
135
- } ? Record<keyof C & string, CaptionMapValue> : never;
136
- }[keyof M]> & Record<string, CaptionMapValue>;
137
- type LangVoiceOverrideForLang<L extends string> = {
138
- name: (L extends Lang ? VoiceForLang<L> : VoiceKey) | CustomVoiceRef;
139
- seed?: number;
140
- style: string;
141
- modelType?: 'expressive';
142
- accent?: string;
143
- pacing?: string;
144
- } | {
145
- name: (L extends Lang ? VoiceForLang<L> : VoiceKey) | CustomVoiceRef;
146
- seed?: number;
147
- style?: never;
148
- accent?: never;
149
- pacing?: never;
150
- modelType?: ModelType;
151
- };
152
- type LanguagesMap<M extends Partial<Record<Lang, {
153
- captions: Record<string, CaptionMapValue>;
154
- }>>> = M & {
155
- [L in keyof M]: {
156
- voice?: L extends string ? LangVoiceOverrideForLang<L> : never;
157
- /** BCP-47 region code for TTS synthesis, e.g. `languageRegions.en.US`. */
158
- region?: string;
159
- captions: AllCaptions<M>;
160
- };
161
- };
162
- /**
163
- * Creates a set of typed voiceover controllers, one per key in the map.
164
- *
165
- * Each controller has `start()` and `end()`.
166
- * At render time screenci generates a voiceover, and syncs the audio to the
167
- * recording. You write text; the voice is handled for you.
168
- *
169
- * The top-level `voice` applies to all languages. Override it per-language via
170
- * the `voice` field inside each language entry. Only language-level overrides
171
- * may set `seed`.
172
- *
173
- * TypeScript enforces that every language has the same caption keys.
174
- * Forget a translation key → compile error.
175
- *
176
- * @example
177
- * ```ts
178
- * const voiceOvers = createVoiceOvers({
179
- * voice: { name: voices.Ava, style: 'Clear and friendly' },
180
- * languages: {
181
- * en: { captions: { intro: 'Welcome.', next: 'Click here.' } },
182
- * fi: {
183
- * voice: { name: voices.Nora, style: 'Selkeä opastus', seed: 42 },
184
- * captions: { intro: 'Tervetuloa.', next: 'Napsauta tästä.' },
185
- * },
186
- * },
187
- * })
188
- *
189
- * // Await a voiceOver directly to start it:
190
- * await voiceOvers.intro
191
- * await page.goto('/dashboard')
192
- *
193
- * // Consecutive voiceOvers sequence automatically:
194
- * await voiceOvers.intro
195
- * await voiceOvers.next // ends intro, then starts next
196
- *
197
- * // Wait for audio to finish before an action:
198
- * await voiceOvers.intro
199
- * await voiceOvers.waitEnd()
200
- * await page.click('#start')
201
- * ```
202
- */
203
- export declare function createVoiceOvers<M extends Partial<Record<Lang, {
204
- voice?: LangVoiceOverride;
205
- region?: string;
206
- captions: Record<string, CaptionMapValue>;
207
- }>>>(input: {
208
- voice: TopLevelVoiceConfig;
209
- languages: LanguagesMap<M>;
210
- }): Captions<AllCaptions<M>>;
211
- type RequireAllSameVideoKeys<M extends Partial<Record<Lang, {
212
- captions: Record<string, VideoCaptionEntry>;
213
- }>>> = {
214
- [L in keyof M]: {
215
- captions: UnionToIntersection<M[keyof M] extends {
216
- captions: infer C;
217
- } ? C : never>;
218
- };
219
- };
220
- /**
221
- * Creates caption controllers backed by pre-recorded asset files instead of
222
- * TTS-generated audio. Each entry maps a name to either an asset path string
223
- * or an object with `assetPath` and an optional `subtitle` text.
224
- *
225
- * At render time the asset file is used directly as the voiceover audio.
226
- * If `subtitle` is provided, words are spread with equal timing across the
227
- * audio duration (no word-level TTS data available).
228
- *
229
- * Same constraints as `createVoiceOvers`: cannot overlap with other captions,
230
- * and cannot fall inside input events.
231
- *
232
- * Two overloads:
233
- *
234
- * **1. Single-language:**
235
- * ```ts
236
- * const captions = createVideoCaptions({
237
- * intro: '/assets/intro.mp3',
238
- * demo: { assetPath: '/assets/demo.mp3', subtitle: 'Watch the demo.' },
239
- * })
240
- * ```
241
- *
242
- * **2. Multi-language (type-safe):**
243
- * TypeScript enforces that every language has the same caption keys.
244
- * ```ts
245
- * const captions = createVideoCaptions({
246
- * en: { captions: { intro: '/assets/en/intro.mp3' } },
247
- * fi: { captions: { intro: '/assets/fi/intro.mp3' } },
248
- * })
249
- * ```
250
- */
251
- export declare function createVideoCaptions<T extends Record<string, VideoCaptionEntry>>(captionsMap: T): VideoCaptions<T>;
252
- export declare function createVideoCaptions<L extends Lang, T extends Record<string, VideoCaptionEntry>>(languagesMap: {
253
- [K in L]: {
254
- captions: T;
255
- };
256
- } & RequireAllSameVideoKeys<{
257
- [K in L]: {
258
- captions: Record<string, VideoCaptionEntry>;
259
- };
260
- }>): VideoCaptions<T & Record<string, VideoCaptionEntry>>;
261
- export {};
262
- //# sourceMappingURL=caption.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"caption.d.ts","sourceRoot":"","sources":["../../src/caption.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"caption.js","sourceRoot":"","sources":["../../src/caption.ts"],"names":[],"mappings":"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"}