screenci 0.0.68 → 0.0.70

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 (161) hide show
  1. package/README.md +45 -122
  2. package/dist/cli.d.ts +3 -18
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +117 -158
  5. package/dist/cli.js.map +1 -1
  6. package/dist/docs/manifest.d.ts +66 -35
  7. package/dist/docs/manifest.d.ts.map +1 -1
  8. package/dist/docs/manifest.js +22 -11
  9. package/dist/docs/manifest.js.map +1 -1
  10. package/dist/docs/video-sources/cli.screenci.d.ts +2 -0
  11. package/dist/docs/video-sources/cli.screenci.d.ts.map +1 -0
  12. package/dist/docs/video-sources/{cli.video.js → cli.screenci.js} +1 -1
  13. package/dist/docs/video-sources/cli.screenci.js.map +1 -0
  14. package/dist/docs/video-sources/installation.screenci.d.ts +2 -0
  15. package/dist/docs/video-sources/installation.screenci.d.ts.map +1 -0
  16. package/dist/docs/video-sources/{installation.video.js → installation.screenci.js} +1 -1
  17. package/dist/docs/video-sources/installation.screenci.js.map +1 -0
  18. package/dist/docs/video-sources/landing.screenci.d.ts +2 -0
  19. package/dist/docs/video-sources/landing.screenci.d.ts.map +1 -0
  20. package/dist/docs/video-sources/{landing.video.js → landing.screenci.js} +1 -1
  21. package/dist/docs/video-sources/landing.screenci.js.map +1 -0
  22. package/dist/docs/video-sources/locator-highlight-animated.screenci.d.ts +2 -0
  23. package/dist/docs/video-sources/locator-highlight-animated.screenci.d.ts.map +1 -0
  24. package/dist/docs/video-sources/locator-highlight-animated.screenci.js +53 -0
  25. package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -0
  26. package/dist/docs/video-sources/locator-highlight-still.screenci.d.ts +2 -0
  27. package/dist/docs/video-sources/locator-highlight-still.screenci.d.ts.map +1 -0
  28. package/dist/docs/video-sources/locator-highlight-still.screenci.js +24 -0
  29. package/dist/docs/video-sources/locator-highlight-still.screenci.js.map +1 -0
  30. package/dist/docs/video-sources/product-pitch.screenci.d.ts +2 -0
  31. package/dist/docs/video-sources/product-pitch.screenci.d.ts.map +1 -0
  32. package/dist/docs/video-sources/product-pitch.screenci.js +136 -0
  33. package/dist/docs/video-sources/product-pitch.screenci.js.map +1 -0
  34. package/dist/docs/video-sources/public-urls.screenci.d.ts +2 -0
  35. package/dist/docs/video-sources/public-urls.screenci.d.ts.map +1 -0
  36. package/dist/docs/video-sources/public-urls.screenci.js +34 -0
  37. package/dist/docs/video-sources/public-urls.screenci.js.map +1 -0
  38. package/dist/docs/video-sources/studio.screenci.d.ts +2 -0
  39. package/dist/docs/video-sources/studio.screenci.d.ts.map +1 -0
  40. package/dist/docs/video-sources/studio.screenci.js +57 -0
  41. package/dist/docs/video-sources/studio.screenci.js.map +1 -0
  42. package/dist/docs/videos.d.ts +36 -15
  43. package/dist/docs/videos.d.ts.map +1 -1
  44. package/dist/docs/videos.js +27 -2
  45. package/dist/docs/videos.js.map +1 -1
  46. package/dist/e2e/htmlRasterizer.e2e.d.ts +2 -0
  47. package/dist/e2e/htmlRasterizer.e2e.d.ts.map +1 -0
  48. package/dist/e2e/htmlRasterizer.e2e.js +107 -0
  49. package/dist/e2e/htmlRasterizer.e2e.js.map +1 -0
  50. package/dist/e2e/screenshot.e2e.d.ts +2 -0
  51. package/dist/e2e/screenshot.e2e.d.ts.map +1 -0
  52. package/dist/e2e/screenshot.e2e.js +73 -0
  53. package/dist/e2e/screenshot.e2e.js.map +1 -0
  54. package/dist/index.d.ts +10 -4
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +5 -2
  57. package/dist/index.js.map +1 -1
  58. package/dist/src/asset.d.ts +245 -53
  59. package/dist/src/asset.d.ts.map +1 -1
  60. package/dist/src/asset.js +718 -77
  61. package/dist/src/asset.js.map +1 -1
  62. package/dist/src/audio.d.ts +127 -0
  63. package/dist/src/audio.d.ts.map +1 -0
  64. package/dist/src/audio.js +207 -0
  65. package/dist/src/audio.js.map +1 -0
  66. package/dist/src/config.d.ts.map +1 -1
  67. package/dist/src/config.js +9 -3
  68. package/dist/src/config.js.map +1 -1
  69. package/dist/src/contextOptions.d.ts +48 -0
  70. package/dist/src/contextOptions.d.ts.map +1 -0
  71. package/dist/src/contextOptions.js +71 -0
  72. package/dist/src/contextOptions.js.map +1 -0
  73. package/dist/src/crop.d.ts +93 -0
  74. package/dist/src/crop.d.ts.map +1 -0
  75. package/dist/src/crop.js +133 -0
  76. package/dist/src/crop.js.map +1 -0
  77. package/dist/src/cue.d.ts +17 -4
  78. package/dist/src/cue.d.ts.map +1 -1
  79. package/dist/src/cue.js +31 -3
  80. package/dist/src/cue.js.map +1 -1
  81. package/dist/src/defaults.d.ts +13 -1
  82. package/dist/src/defaults.d.ts.map +1 -1
  83. package/dist/src/defaults.js +13 -0
  84. package/dist/src/defaults.js.map +1 -1
  85. package/dist/src/dimensions.d.ts +6 -0
  86. package/dist/src/dimensions.d.ts.map +1 -1
  87. package/dist/src/dimensions.js +15 -0
  88. package/dist/src/dimensions.js.map +1 -1
  89. package/dist/src/events.d.ts +283 -13
  90. package/dist/src/events.d.ts.map +1 -1
  91. package/dist/src/events.js +134 -5
  92. package/dist/src/events.js.map +1 -1
  93. package/dist/src/htmlRasterizer.d.ts +153 -0
  94. package/dist/src/htmlRasterizer.d.ts.map +1 -0
  95. package/dist/src/htmlRasterizer.js +386 -0
  96. package/dist/src/htmlRasterizer.js.map +1 -0
  97. package/dist/src/init.d.ts +17 -0
  98. package/dist/src/init.d.ts.map +1 -1
  99. package/dist/src/init.js +131 -11
  100. package/dist/src/init.js.map +1 -1
  101. package/dist/src/linkSession.d.ts +36 -0
  102. package/dist/src/linkSession.d.ts.map +1 -0
  103. package/dist/src/linkSession.js +122 -0
  104. package/dist/src/linkSession.js.map +1 -0
  105. package/dist/src/overlayFlush.d.ts +18 -0
  106. package/dist/src/overlayFlush.d.ts.map +1 -0
  107. package/dist/src/overlayFlush.js +56 -0
  108. package/dist/src/overlayFlush.js.map +1 -0
  109. package/dist/src/overlayRect.d.ts +69 -0
  110. package/dist/src/overlayRect.d.ts.map +1 -0
  111. package/dist/src/overlayRect.js +55 -0
  112. package/dist/src/overlayRect.js.map +1 -0
  113. package/dist/src/performance.d.ts +1 -3
  114. package/dist/src/performance.d.ts.map +1 -1
  115. package/dist/src/performance.js +0 -12
  116. package/dist/src/performance.js.map +1 -1
  117. package/dist/src/recording.d.ts +3 -2
  118. package/dist/src/recording.d.ts.map +1 -1
  119. package/dist/src/recordingData.d.ts +22 -2
  120. package/dist/src/recordingData.d.ts.map +1 -1
  121. package/dist/src/runtimeContext.d.ts +57 -1
  122. package/dist/src/runtimeContext.d.ts.map +1 -1
  123. package/dist/src/runtimeContext.js +40 -0
  124. package/dist/src/runtimeContext.js.map +1 -1
  125. package/dist/src/screenshot.d.ts +105 -0
  126. package/dist/src/screenshot.d.ts.map +1 -0
  127. package/dist/src/screenshot.js +188 -0
  128. package/dist/src/screenshot.js.map +1 -0
  129. package/dist/src/stillCapture.d.ts +68 -0
  130. package/dist/src/stillCapture.d.ts.map +1 -0
  131. package/dist/src/stillCapture.js +119 -0
  132. package/dist/src/stillCapture.js.map +1 -0
  133. package/dist/src/studio.d.ts +8 -11
  134. package/dist/src/studio.d.ts.map +1 -1
  135. package/dist/src/studio.js +2 -25
  136. package/dist/src/studio.js.map +1 -1
  137. package/dist/src/types.d.ts +125 -15
  138. package/dist/src/types.d.ts.map +1 -1
  139. package/dist/src/types.js.map +1 -1
  140. package/dist/src/video.d.ts +54 -1
  141. package/dist/src/video.d.ts.map +1 -1
  142. package/dist/src/video.js +190 -42
  143. package/dist/src/video.js.map +1 -1
  144. package/dist/src/voices.d.ts +22 -9
  145. package/dist/src/voices.d.ts.map +1 -1
  146. package/dist/src/voices.js +6 -24
  147. package/dist/src/voices.js.map +1 -1
  148. package/dist/tsconfig.tsbuildinfo +1 -1
  149. package/package.json +16 -2
  150. package/skills/screenci/SKILL.md +37 -15
  151. package/skills/screenci/references/init.md +3 -1
  152. package/skills/screenci/references/record.md +8 -3
  153. package/dist/docs/video-sources/cli.video.d.ts +0 -2
  154. package/dist/docs/video-sources/cli.video.d.ts.map +0 -1
  155. package/dist/docs/video-sources/cli.video.js.map +0 -1
  156. package/dist/docs/video-sources/installation.video.d.ts +0 -2
  157. package/dist/docs/video-sources/installation.video.d.ts.map +0 -1
  158. package/dist/docs/video-sources/installation.video.js.map +0 -1
  159. package/dist/docs/video-sources/landing.video.d.ts +0 -2
  160. package/dist/docs/video-sources/landing.video.d.ts.map +0 -1
  161. package/dist/docs/video-sources/landing.video.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import type { AutoZoomOptions, CueConfig, Easing, RecordOptions, RenderOptions, ResolvedRenderOptions } from './types.js';
2
+ import type { ScreenshotCropRecord } from './crop.js';
2
3
  import { type StudioRenderOptionsSentinel } from './studio.js';
3
4
  import type { VoiceKey } from './voices.js';
4
5
  import { type PerformanceIntervals } from './performance.js';
@@ -140,6 +141,13 @@ export type CueStartEvent = {
140
141
  cueConfig?: CueConfig;
141
142
  /** Multi-language API — all language translations keyed by language code */
142
143
  translations?: Record<string, CueTranslation>;
144
+ /**
145
+ * Linear gain applied to this cue's narration audio at mix time (`1` is the
146
+ * natural level, `0` mutes it, values above `1` boost it). It is a render-time
147
+ * mix property, not a generation setting: it is deliberately kept out of the
148
+ * translations so it never changes the audio cache key. Omitted plays at unity.
149
+ */
150
+ volume?: number;
143
151
  };
144
152
  export type CueEndEvent = {
145
153
  type: 'cueEnd';
@@ -191,10 +199,50 @@ export type VideoCueStartEvent = {
191
199
  subtitle?: string;
192
200
  /** Multi-language API — per-language translations keyed by language code. */
193
201
  translations?: Record<string, VideoCueTranslation>;
202
+ /**
203
+ * Linear gain applied to this cue's narration audio at mix time (`1` is the
204
+ * natural level). A render-time mix property kept out of the translations so it
205
+ * never affects the audio cache key. Omitted plays at unity. See
206
+ * {@link CueStartEvent.volume}.
207
+ */
208
+ volume?: number;
209
+ };
210
+ /**
211
+ * Placement of a visual asset overlay. Coordinates are CSS pixels in the
212
+ * recording viewport (the same space Playwright's `boundingBox()`, `page.mouse`,
213
+ * and `viewportSize()` use), with the asset anchored at its top-left corner. The
214
+ * renderer maps these recording-viewport pixels into the final output frame, so
215
+ * the output size never has to be known when the recording is authored.
216
+ *
217
+ * - `fullScreen` fills the entire output frame.
218
+ * - The positioned variants place the asset against the full output frame
219
+ * (`relativeTo: 'screen'`) or the composited recording area
220
+ * (`relativeTo: 'recording'`, the default). Provide exactly one of `width` or
221
+ * `height`; the other dimension is derived from the asset's intrinsic aspect
222
+ * ratio, or from `aspectRatio` (width / height) when given.
223
+ */
224
+ export type OverlayPlacement = {
225
+ fullScreen: true;
226
+ } | {
227
+ relativeTo: 'screen' | 'recording';
228
+ x: number;
229
+ y: number;
230
+ width: number;
231
+ aspectRatio?: number;
232
+ } | {
233
+ relativeTo: 'screen' | 'recording';
234
+ x: number;
235
+ y: number;
236
+ height: number;
237
+ aspectRatio?: number;
194
238
  };
195
239
  /**
196
240
  * Asset format policy is recorded explicitly so renderers never need to infer
197
241
  * timing or audio rules from file extensions after the recording phase.
242
+ *
243
+ * `durationMs` is present for blocking overlays (the asset holds a frozen frame
244
+ * for that long). It is omitted when the overlay is driven by `start()`/`end()`,
245
+ * in which case a paired `assetEnd` event defines the visible window.
198
246
  */
199
247
  export type ImageAssetStartEvent = {
200
248
  type: 'assetStart';
@@ -203,8 +251,9 @@ export type ImageAssetStartEvent = {
203
251
  kind: 'image';
204
252
  path: string;
205
253
  fileHash?: string;
206
- durationMs: number;
254
+ durationMs?: number;
207
255
  fullScreen: boolean;
256
+ placement?: OverlayPlacement;
208
257
  };
209
258
  export type VideoAssetStartEvent = {
210
259
  type: 'assetStart';
@@ -215,11 +264,104 @@ export type VideoAssetStartEvent = {
215
264
  fileHash?: string;
216
265
  audio: number;
217
266
  fullScreen: boolean;
267
+ placement?: OverlayPlacement;
268
+ /**
269
+ * Playback-rate multiplier for the overlay video (and its audio). `2` plays
270
+ * it twice as fast, `0.5` at half speed. Omitted plays at the natural rate.
271
+ * For a blocking overlay this also shortens/lengthens the frozen window it
272
+ * holds (so later content shifts); a live overlay keeps its window and just
273
+ * plays the source faster/slower inside it.
274
+ */
275
+ speed?: number;
276
+ /**
277
+ * Target playback duration (ms) for the overlay video, an alternative to
278
+ * {@link speed}: the effective rate is the source duration divided by this.
279
+ * Takes precedence over `speed` when both are set.
280
+ */
281
+ time?: number;
282
+ };
283
+ /**
284
+ * An animated HTML/React overlay captured to a single alpha-preserving video.
285
+ * It behaves like an {@link ImageAssetStartEvent} on the timeline (a blocking
286
+ * call holds a frozen frame for `durationMs`; `start()`/`end()` drives a live
287
+ * window), but the renderer composites it as a video so the animation plays.
288
+ * It never carries audio.
289
+ */
290
+ export type AnimationAssetStartEvent = {
291
+ type: 'assetStart';
292
+ timeMs: number;
293
+ name: string;
294
+ kind: 'animation';
295
+ path: string;
296
+ fileHash?: string;
297
+ durationMs?: number;
298
+ fullScreen: boolean;
299
+ placement?: OverlayPlacement;
300
+ };
301
+ /**
302
+ * End marker for an asset overlay driven by `start()`/`end()`. The asset is
303
+ * visible from its `assetStart` until this event (a live overlay over the
304
+ * recording, no frozen frame). `reason` mirrors cue ends: `'wait'` for an
305
+ * explicit `end()`, `'auto'` when this one was auto-ended.
306
+ *
307
+ * `name` identifies which overlay this end belongs to. Because overlays may
308
+ * overlap (several live at once, interleaved rather than nested), ends are
309
+ * paired to their starts by name rather than by position. Older recordings
310
+ * predate this field, so it is optional; the renderer falls back to closing
311
+ * the most recently opened overlay when it is absent.
312
+ */
313
+ export type AssetEndEvent = {
314
+ type: 'assetEnd';
315
+ timeMs: number;
316
+ name?: string;
317
+ reason?: 'auto' | 'wait';
218
318
  };
219
- export type AssetStartEvent = ImageAssetStartEvent | VideoAssetStartEvent;
220
- export type AssetStartPayload = Omit<ImageAssetStartEvent, 'type' | 'timeMs' | 'name'> | Omit<VideoAssetStartEvent, 'type' | 'timeMs' | 'name'>;
319
+ export type AssetStartEvent = ImageAssetStartEvent | VideoAssetStartEvent | AnimationAssetStartEvent;
221
320
  /**
222
- * Asset declared via `createStudioAssets` the file and display options are
321
+ * The resolved markup and render parameters captured during the test for a
322
+ * rendered (HTML/React) or animated overlay whose rasterization is deferred to
323
+ * after the test body succeeds. `css` is already merged with the global default
324
+ * (frozen at call time). These fields fully determine the rasterized bytes, so
325
+ * they double as the in-run de-duplication key (see `overlayInputHash`).
326
+ */
327
+ export type DeferredRasterizeRequest = {
328
+ kind: 'image';
329
+ name: string;
330
+ html: string;
331
+ css: string;
332
+ capturePadding: number;
333
+ deviceScaleFactor: number;
334
+ } | {
335
+ kind: 'animation';
336
+ name: string;
337
+ html: string;
338
+ css: string;
339
+ capturePadding: number;
340
+ deviceScaleFactor: number;
341
+ fps: number;
342
+ durationMs: number;
343
+ };
344
+ /**
345
+ * A recorded `assetStart` whose `path`/`fileHash` are not yet known because its
346
+ * overlay is rasterized after the test. The `event` reference is the same object
347
+ * pushed into the recorder's event list, so patching it in place updates what
348
+ * `writeToFile` serializes.
349
+ */
350
+ export type PendingOverlay = {
351
+ event: ImageAssetStartEvent | AnimationAssetStartEvent;
352
+ request: DeferredRasterizeRequest;
353
+ };
354
+ /** Payload for {@link IEventRecorder.addPendingAssetStart}. */
355
+ export type PendingAssetStart = {
356
+ kind: 'image' | 'animation';
357
+ durationMs?: number;
358
+ fullScreen: boolean;
359
+ placement?: OverlayPlacement;
360
+ request: DeferredRasterizeRequest;
361
+ };
362
+ export type AssetStartPayload = Omit<ImageAssetStartEvent, 'type' | 'timeMs' | 'name'> | Omit<VideoAssetStartEvent, 'type' | 'timeMs' | 'name'> | Omit<AnimationAssetStartEvent, 'type' | 'timeMs' | 'name'>;
363
+ /**
364
+ * Asset declared via `createStudioOverlays` — the file and display options are
223
365
  * configured in Studio, so the recording only marks the timeline point.
224
366
  */
225
367
  export type StudioAssetStartEvent = {
@@ -228,6 +370,59 @@ export type StudioAssetStartEvent = {
228
370
  name: string;
229
371
  studio: true;
230
372
  };
373
+ /**
374
+ * Start of a background audio track (`createAudio`). Unlike asset overlays this
375
+ * carries no visual: it is mixed under the recording from `timeMs` until its
376
+ * paired {@link AudioEndEvent}, or until the end of the video when no end is
377
+ * recorded (the common background-music case). `volume` is a linear gain (`1`
378
+ * is natural); `repeat` loops the source to fill the span.
379
+ */
380
+ export type AudioStartEvent = {
381
+ type: 'audioStart';
382
+ timeMs: number;
383
+ name: string;
384
+ path: string;
385
+ /** SHA-256 of the audio file — present only during recording; used for upload/caching. */
386
+ fileHash?: string;
387
+ volume: number;
388
+ repeat: boolean;
389
+ /**
390
+ * Playback-rate multiplier for the track. `2` plays it twice as fast, `0.5`
391
+ * at half speed. Omitted plays at the natural rate. The track keeps its
392
+ * output span; only the source is consumed faster/slower (no timeline shift).
393
+ */
394
+ speed?: number;
395
+ /**
396
+ * Target playback duration (ms) for the track, an alternative to
397
+ * {@link speed}: the effective rate is the source duration divided by this.
398
+ * Takes precedence over `speed` when both are set.
399
+ */
400
+ time?: number;
401
+ };
402
+ /**
403
+ * End marker for a background audio track. `name` pairs it to its
404
+ * {@link AudioStartEvent}; an audioStart with no matching end plays to the end
405
+ * of the video.
406
+ */
407
+ export type AudioEndEvent = {
408
+ type: 'audioEnd';
409
+ timeMs: number;
410
+ name?: string;
411
+ reason?: 'wait';
412
+ };
413
+ /**
414
+ * Background audio track declared via `createStudioAudio` — the file, volume,
415
+ * and repeat are configured in Studio, so the recording only marks the timeline
416
+ * point (mirrors {@link StudioAssetStartEvent} for overlays).
417
+ */
418
+ export type StudioAudioStartEvent = {
419
+ type: 'audioStart';
420
+ timeMs: number;
421
+ name: string;
422
+ studio: true;
423
+ };
424
+ /** Payload for {@link IEventRecorder.addAudioStart} (timing/name added by the recorder). */
425
+ export type AudioStartPayload = Omit<AudioStartEvent, 'type' | 'timeMs' | 'name'>;
231
426
  export type HideStartEvent = {
232
427
  type: 'hideStart';
233
428
  timeMs: number;
@@ -268,7 +463,7 @@ export type AutoZoomEndEvent = {
268
463
  easing: string;
269
464
  duration: number;
270
465
  };
271
- export type RecordingEvent = VideoStartEvent | InputEvent | CueStartEvent | CueEndEvent | VideoCueStartEvent | AssetStartEvent | StudioAssetStartEvent | HideStartEvent | HideEndEvent | SpeedStartEvent | SpeedEndEvent | TimeStartEvent | TimeEndEvent | AutoZoomStartEvent | AutoZoomEndEvent;
466
+ export type RecordingEvent = VideoStartEvent | InputEvent | CueStartEvent | CueEndEvent | VideoCueStartEvent | AssetStartEvent | AssetEndEvent | StudioAssetStartEvent | AudioStartEvent | StudioAudioStartEvent | AudioEndEvent | HideStartEvent | HideEndEvent | SpeedStartEvent | SpeedEndEvent | TimeStartEvent | TimeEndEvent | AutoZoomStartEvent | AutoZoomEndEvent;
272
467
  export type VoiceLanguageMeta = {
273
468
  /** Voice key string: a built-in voice name or an external voice key. */
274
469
  name: string;
@@ -298,21 +493,60 @@ export type RecordingMetadata = {
298
493
  sourceFilePath?: string;
299
494
  /**
300
495
  * Which parts of this recording opted into Studio configuration.
301
- * `renderOptions` is set when `STUDIO_RENDER_OPTIONS` was used; `narration`
496
+ * `renderOptions` is set when `renderOptions: 'studio'` was used; `narration`
302
497
  * when the recording contains `createStudioNarration` cues; `assets` when it
303
- * contains `createStudioAssets` assets.
498
+ * contains `createStudioOverlays` assets; `audio` when it contains
499
+ * `createStudioAudio` tracks.
304
500
  */
305
501
  studio?: {
306
502
  renderOptions?: boolean;
307
503
  narration?: boolean;
308
504
  assets?: boolean;
505
+ audio?: boolean;
309
506
  };
310
507
  };
508
+ /** Crop rect for a screenshot, in CSS pixels of the recording viewport. */
509
+ export type ScreenshotCrop = {
510
+ x: number;
511
+ y: number;
512
+ width: number;
513
+ height: number;
514
+ };
515
+ /**
516
+ * Capture details for a screenshot output. The raw page capture is saved beside
517
+ * `data.json` (as `path`) at `width`×`height` device pixels (the viewport scaled
518
+ * by `deviceScaleFactor`). The crop is a render option
519
+ * (`renderOptions.screenshot.crop`), not a capture detail.
520
+ */
521
+ export type ScreenshotInfo = {
522
+ path: string;
523
+ width: number;
524
+ height: number;
525
+ deviceScaleFactor: number;
526
+ };
311
527
  export type RecordingData = {
312
528
  events: RecordingEvent[];
313
529
  renderOptions: ResolvedRenderOptions;
314
530
  recordOptions?: RecordOptions;
315
531
  metadata?: RecordingMetadata;
532
+ /**
533
+ * Output kind for this recording. Absent is treated as `'video'` so existing
534
+ * recordings, stored versions, and manifests keep working without migration.
535
+ */
536
+ output?: 'video' | 'screenshot';
537
+ /** Capture details. Present only when `output === 'screenshot'`. */
538
+ screenshot?: ScreenshotInfo;
539
+ };
540
+ /** Extra, output-specific fields written into `data.json`. */
541
+ export type WriteRecordingOptions = {
542
+ output?: 'video' | 'screenshot';
543
+ screenshot?: ScreenshotInfo;
544
+ /**
545
+ * Crop recorded at capture time (a `crop()` call or `page.screenshot({ crop })`).
546
+ * Merged into `renderOptions.screenshot.crop`, overriding any crop set in
547
+ * config, so it is editable in Studio afterward.
548
+ */
549
+ crop?: ScreenshotCropRecord;
316
550
  };
317
551
  export interface IEventRecorder {
318
552
  start(): void;
@@ -323,14 +557,43 @@ export interface IEventRecorder {
323
557
  */
324
558
  addInput(subType: InputEvent['subType'], elementRect: ElementRect | undefined, events: InputEvent['events']): void;
325
559
  addInput(subType: InputEvent['subType'], events: InputEvent['events']): void;
326
- addCueStart(text: string, name: string, cueConfig?: CueConfig, translations?: Record<string, CueTranslation>): void;
560
+ addCueStart(text: string, name: string, cueConfig?: CueConfig, translations?: Record<string, CueTranslation>, volume?: number): void;
327
561
  /** Records a studio-mode cue start — text and voice are configured in Studio. */
328
562
  addStudioCueStart(name: string): void;
329
563
  addCueEnd(reason?: 'auto' | 'wait'): void;
330
- addVideoCueStart(name: string, assetPath: string | undefined, assetHash: string | undefined, subtitle?: string, translations?: Record<string, VideoCueTranslation>): void;
564
+ addVideoCueStart(name: string, assetPath: string | undefined, assetHash: string | undefined, subtitle?: string, translations?: Record<string, VideoCueTranslation>, volume?: number): void;
331
565
  addAssetStart(name: string, asset: AssetStartPayload): void;
566
+ /**
567
+ * Records a rendered/animated overlay `assetStart` whose bytes are produced
568
+ * after the test. The event is pushed at the current timeline position with a
569
+ * placeholder `path` and no `fileHash`; the deferred flush rasterizes the
570
+ * captured {@link DeferredRasterizeRequest} and patches the event in place.
571
+ */
572
+ addPendingAssetStart(name: string, pending: PendingAssetStart): void;
573
+ /**
574
+ * The overlays awaiting deferred rasterization, in record order. Each entry's
575
+ * `event` is the live object in the recording, so the flush patches it
576
+ * directly. Empty for the no-op recorder and for runs without deferred
577
+ * overlays.
578
+ */
579
+ getPendingOverlays(): readonly PendingOverlay[];
580
+ /**
581
+ * Records the end of a `start()`/`end()`-driven asset overlay. `name`
582
+ * identifies which overlay ended (overlays may overlap), so the renderer can
583
+ * pair this end to its start by name.
584
+ */
585
+ addAssetEnd(name: string | undefined, reason?: 'auto' | 'wait'): void;
332
586
  /** Records a studio-mode asset start — the file and options are configured in Studio. */
333
587
  addStudioAssetStart(name: string): void;
588
+ /** Records the start of a background audio track (`createAudio`). */
589
+ addAudioStart(name: string, audio: AudioStartPayload): void;
590
+ /** Records a studio-mode audio start — the file, volume, and repeat are configured in Studio. */
591
+ addStudioAudioStart(name: string): void;
592
+ /**
593
+ * Records the end of a background audio track. `name` pairs it to its start;
594
+ * an audio track left open plays to the end of the video.
595
+ */
596
+ addAudioEnd(name: string | undefined, reason?: 'wait'): void;
334
597
  addHideStart(): void;
335
598
  addHideEnd(): void;
336
599
  /** Resolved cursor/scroll dispatch intervals from `recordOptions.performance`. */
@@ -347,11 +610,12 @@ export interface IEventRecorder {
347
610
  */
348
611
  registerVoiceForLang(lang: string, meta: VoiceLanguageMeta): void;
349
612
  getEvents(): RecordingEvent[];
350
- writeToFile(dir: string, videoName: string, sourceFilePath?: string): Promise<void>;
613
+ writeToFile(dir: string, videoName: string, sourceFilePath?: string, options?: WriteRecordingOptions): Promise<void>;
351
614
  }
352
615
  export declare const NOOP_EVENT_RECORDER: IEventRecorder;
353
616
  export declare class EventRecorder implements IEventRecorder {
354
617
  private readonly events;
618
+ private readonly pendingOverlays;
355
619
  private startTime;
356
620
  private readonly recordOptions;
357
621
  private readonly renderOptions;
@@ -363,12 +627,18 @@ export declare class EventRecorder implements IEventRecorder {
363
627
  private getInputEventBounds;
364
628
  private relativizeFocusChangeEvent;
365
629
  addInput(subType: InputEvent['subType'], elementRectOrEvents: ElementRect | InputEvent['events'] | undefined, maybeEvents?: InputEvent['events']): void;
366
- addCueStart(text: string, name: string, cueConfig?: CueConfig, translations?: Record<string, CueTranslation>): void;
630
+ addCueStart(text: string, name: string, cueConfig?: CueConfig, translations?: Record<string, CueTranslation>, volume?: number): void;
367
631
  addStudioCueStart(name: string): void;
368
632
  addCueEnd(reason?: 'auto' | 'wait'): void;
369
- addVideoCueStart(name: string, assetPath: string | undefined, assetHash: string | undefined, subtitle?: string, translations?: Record<string, VideoCueTranslation>): void;
633
+ addVideoCueStart(name: string, assetPath: string | undefined, assetHash: string | undefined, subtitle?: string, translations?: Record<string, VideoCueTranslation>, volume?: number): void;
370
634
  addAssetStart(name: string, asset: AssetStartPayload): void;
635
+ addPendingAssetStart(name: string, pending: PendingAssetStart): void;
636
+ getPendingOverlays(): readonly PendingOverlay[];
637
+ addAssetEnd(name: string | undefined, reason?: 'auto' | 'wait'): void;
371
638
  addStudioAssetStart(name: string): void;
639
+ addAudioStart(name: string, audio: AudioStartPayload): void;
640
+ addStudioAudioStart(name: string): void;
641
+ addAudioEnd(name: string | undefined, reason?: 'wait'): void;
372
642
  addHideStart(): void;
373
643
  addHideEnd(): void;
374
644
  getPerformanceIntervals(): PerformanceIntervals;
@@ -379,6 +649,6 @@ export declare class EventRecorder implements IEventRecorder {
379
649
  addAutoZoomStart(options?: AutoZoomOptions): void;
380
650
  addAutoZoomEnd(options?: AutoZoomOptions): void;
381
651
  getEvents(): RecordingEvent[];
382
- writeToFile(dir: string, videoName: string, sourceFilePath?: string): Promise<void>;
652
+ writeToFile(dir: string, videoName: string, sourceFilePath?: string, options?: WriteRecordingOptions): Promise<void>;
383
653
  }
384
654
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,MAAM,EACN,aAAa,EACb,aAAa,EACb,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAgBzB,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,EAAE,CAAC,CAAA;CACV,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAID,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,GAAG,EAAE;YACH,OAAO,EAAE;gBAAE,CAAC,EAAE,MAAM,CAAC;gBAAC,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;YACjC,IAAI,EAAE;gBAAE,OAAO,EAAE,MAAM,CAAC;gBAAC,QAAQ,EAAE,MAAM,CAAA;aAAE,CAAA;SAC5C,CAAA;QACD,aAAa,CAAC,EAAE;YACd,CAAC,EAAE,MAAM,CAAA;YACT,CAAC,EAAE,MAAM,CAAA;SACV,CAAA;KACF,CAAA;IACD,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wFAAwF;IACxF,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAID;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EACH,OAAO,GACP,mBAAmB,GACnB,KAAK,GACL,OAAO,GACP,SAAS,GACT,QAAQ,GACR,aAAa,GACb,WAAW,GACX,WAAW,GACX,WAAW,GACX,OAAO,GACP,YAAY,GACZ,QAAQ,CAAA;IACZ,MAAM,EAAE,KAAK,CACT,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,YAAY,GACZ,cAAc,GACd,cAAc,GACd,cAAc,CACjB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,QAAQ,GAAG,uBAAuB,CAAA;IACzC,gIAAgI;IAChI,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACzB,CAAA;AAED;yFACyF;AACzF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AACD,4EAA4E;AAC5E,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,QAAQ,GAAG,uBAAuB,CAAA;IACzC,gIAAgI;IAChI,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AACD,MAAM,MAAM,mBAAmB,GAC3B,uBAAuB,GACvB,sBAAsB,CAAA;AAE1B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,eAAe,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,mFAAmF;IACnF,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0GAA0G;IAC1G,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CACnD,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;AACzE,MAAM,MAAM,iBAAiB,GACzB,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC,GACtD,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAA;AAE1D;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,IAAI,CAAA;CACb,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,eAAe,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,UAAU,GACV,aAAa,GACb,WAAW,GACX,kBAAkB,GAClB,eAAe,GACf,qBAAqB,GACrB,cAAc,GACd,YAAY,GACZ,eAAe,GACf,aAAa,GACb,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,gBAAgB,CAAA;AAEpB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gIAAgI;IAChI,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,wHAAwH;IACxH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE;QACP,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,MAAM,CAAC,EAAE,OAAO,CAAA;KACjB,CAAA;CACF,CAAA;AA+BD,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,aAAa,EAAE,qBAAqB,CAAA;IACpC,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,IAAI,IAAI,CAAA;IACb;;;;OAIG;IACH,QAAQ,CACN,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EAC9B,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAC3B,IAAI,CAAA;IACP,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IAC5E,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,SAAS,EACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAC5C,IAAI,CAAA;IACP,iFAAiF;IACjF,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACzC,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GACjD,IAAI,CAAA;IACP,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC3D,yFAAyF;IACzF,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,YAAY,IAAI,IAAI,CAAA;IACpB,UAAU,IAAI,IAAI,CAAA;IAClB,kFAAkF;IAClF,uBAAuB,IAAI,oBAAoB,CAAA;IAC/C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,WAAW,IAAI,IAAI,CAAA;IACnB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,UAAU,IAAI,IAAI,CAAA;IAClB,gBAAgB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IACjD,cAAc,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IAC/C;;;OAGG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACjE,SAAS,IAAI,cAAc,EAAE,CAAA;IAC7B,WAAW,CACT,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,eAAO,MAAM,mBAAmB,EAAE,cAyBjC,CAAA;AAED,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAGjB;gBAGX,aAAa,CAAC,EAAE,aAAa,GAAG,2BAA2B,EAC3D,aAAa,CAAC,EAAE,aAAa;IAM/B,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAEnE,OAAO,CAAC,kBAAkB;IAQ1B,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,0BAA0B;IAsClC,QAAQ,CACN,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EAC9B,mBAAmB,EAAE,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,SAAS,EACnE,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,GACjC,IAAI;IAqDP,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,SAAS,EACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAC5C,IAAI;IAaP,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWrC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUzC,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GACjD,IAAI;IAcP,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI;IA6B3D,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWvC,YAAY,IAAI,IAAI;IAMpB,UAAU,IAAI,IAAI;IAMlB,uBAAuB,IAAI,oBAAoB;IAO/C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMvC,WAAW,IAAI,IAAI;IAMnB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMtC,UAAU,IAAI,IAAI;IAMlB,gBAAgB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI;IAgCjD,cAAc,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI;IA0B/C,SAAS,IAAI,cAAc,EAAE;IAIvB,WAAW,CACf,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;CAiHjB"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}