screenci 0.0.74 → 0.0.76

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 (127) hide show
  1. package/dist/cli.d.ts +11 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +150 -37
  4. package/dist/cli.js.map +1 -1
  5. package/dist/docs/manifest.d.ts +42 -11
  6. package/dist/docs/manifest.d.ts.map +1 -1
  7. package/dist/docs/manifest.js +14 -3
  8. package/dist/docs/manifest.js.map +1 -1
  9. package/dist/docs/video-sources/installation.screenci.js +7 -9
  10. package/dist/docs/video-sources/installation.screenci.js.map +1 -1
  11. package/dist/docs/video-sources/landing.screenci.js +6 -8
  12. package/dist/docs/video-sources/landing.screenci.js.map +1 -1
  13. package/dist/docs/video-sources/locator-highlight-animated.screenci.js +3 -4
  14. package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -1
  15. package/dist/docs/video-sources/locator-highlight-still.screenci.js +3 -4
  16. package/dist/docs/video-sources/locator-highlight-still.screenci.js.map +1 -1
  17. package/dist/docs/video-sources/studio.screenci.js +8 -10
  18. package/dist/docs/video-sources/studio.screenci.js.map +1 -1
  19. package/dist/e2e/instrument.e2e.js +52 -1
  20. package/dist/e2e/instrument.e2e.js.map +1 -1
  21. package/dist/index.d.ts +4 -5
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/src/asset.d.ts +20 -1
  26. package/dist/src/asset.d.ts.map +1 -1
  27. package/dist/src/asset.js +58 -7
  28. package/dist/src/asset.js.map +1 -1
  29. package/dist/src/audio.d.ts +16 -0
  30. package/dist/src/audio.d.ts.map +1 -1
  31. package/dist/src/audio.js +78 -1
  32. package/dist/src/audio.js.map +1 -1
  33. package/dist/src/autoZoom.d.ts.map +1 -1
  34. package/dist/src/autoZoom.js +3 -1
  35. package/dist/src/autoZoom.js.map +1 -1
  36. package/dist/src/browserLaunchOptions.d.ts +24 -2
  37. package/dist/src/browserLaunchOptions.d.ts.map +1 -1
  38. package/dist/src/browserLaunchOptions.js +57 -3
  39. package/dist/src/browserLaunchOptions.js.map +1 -1
  40. package/dist/src/builder.d.ts +135 -142
  41. package/dist/src/builder.d.ts.map +1 -1
  42. package/dist/src/builder.js +218 -77
  43. package/dist/src/builder.js.map +1 -1
  44. package/dist/src/callerFile.d.ts +12 -0
  45. package/dist/src/callerFile.d.ts.map +1 -0
  46. package/dist/src/callerFile.js +46 -0
  47. package/dist/src/callerFile.js.map +1 -0
  48. package/dist/src/changeFocus.d.ts.map +1 -1
  49. package/dist/src/changeFocus.js +6 -2
  50. package/dist/src/changeFocus.js.map +1 -1
  51. package/dist/src/config.d.ts.map +1 -1
  52. package/dist/src/config.js +15 -0
  53. package/dist/src/config.js.map +1 -1
  54. package/dist/src/declare.d.ts +59 -0
  55. package/dist/src/declare.d.ts.map +1 -0
  56. package/dist/src/declare.js +93 -0
  57. package/dist/src/declare.js.map +1 -0
  58. package/dist/src/defaults.d.ts.map +1 -1
  59. package/dist/src/defaults.js +4 -3
  60. package/dist/src/defaults.js.map +1 -1
  61. package/dist/src/events.d.ts +51 -1
  62. package/dist/src/events.d.ts.map +1 -1
  63. package/dist/src/events.js +107 -15
  64. package/dist/src/events.js.map +1 -1
  65. package/dist/src/init.d.ts.map +1 -1
  66. package/dist/src/init.js +32 -30
  67. package/dist/src/init.js.map +1 -1
  68. package/dist/src/instrument.d.ts.map +1 -1
  69. package/dist/src/instrument.js +139 -1
  70. package/dist/src/instrument.js.map +1 -1
  71. package/dist/src/localize.d.ts +1 -0
  72. package/dist/src/localize.d.ts.map +1 -1
  73. package/dist/src/localize.js +1 -1
  74. package/dist/src/localize.js.map +1 -1
  75. package/dist/src/localizeRuntime.d.ts +17 -26
  76. package/dist/src/localizeRuntime.d.ts.map +1 -1
  77. package/dist/src/localizeRuntime.js +63 -48
  78. package/dist/src/localizeRuntime.js.map +1 -1
  79. package/dist/src/manualZoom.d.ts.map +1 -1
  80. package/dist/src/manualZoom.js +8 -5
  81. package/dist/src/manualZoom.js.map +1 -1
  82. package/dist/src/openBrowser.d.ts +34 -0
  83. package/dist/src/openBrowser.d.ts.map +1 -0
  84. package/dist/src/openBrowser.js +62 -0
  85. package/dist/src/openBrowser.js.map +1 -0
  86. package/dist/src/recordingData.d.ts +20 -0
  87. package/dist/src/recordingData.d.ts.map +1 -1
  88. package/dist/src/screenAudio.d.ts +58 -0
  89. package/dist/src/screenAudio.d.ts.map +1 -0
  90. package/dist/src/screenAudio.js +145 -0
  91. package/dist/src/screenAudio.js.map +1 -0
  92. package/dist/src/screenAudioSink.d.ts +34 -0
  93. package/dist/src/screenAudioSink.d.ts.map +1 -0
  94. package/dist/src/screenAudioSink.js +47 -0
  95. package/dist/src/screenAudioSink.js.map +1 -0
  96. package/dist/src/screenshot.d.ts +20 -24
  97. package/dist/src/screenshot.d.ts.map +1 -1
  98. package/dist/src/screenshot.js +34 -19
  99. package/dist/src/screenshot.js.map +1 -1
  100. package/dist/src/stillCapture.d.ts +5 -0
  101. package/dist/src/stillCapture.d.ts.map +1 -1
  102. package/dist/src/stillCapture.js +11 -1
  103. package/dist/src/stillCapture.js.map +1 -1
  104. package/dist/src/studio.d.ts +3 -59
  105. package/dist/src/studio.d.ts.map +1 -1
  106. package/dist/src/studio.js +1 -41
  107. package/dist/src/studio.js.map +1 -1
  108. package/dist/src/types.d.ts +133 -2
  109. package/dist/src/types.d.ts.map +1 -1
  110. package/dist/src/types.js.map +1 -1
  111. package/dist/src/video.d.ts +63 -52
  112. package/dist/src/video.d.ts.map +1 -1
  113. package/dist/src/video.js +143 -32
  114. package/dist/src/video.js.map +1 -1
  115. package/dist/src/zoom.d.ts +1 -0
  116. package/dist/src/zoom.d.ts.map +1 -1
  117. package/dist/src/zoom.js +3 -0
  118. package/dist/src/zoom.js.map +1 -1
  119. package/dist/tsconfig.tsbuildinfo +1 -1
  120. package/package.json +1 -1
  121. package/skills/screenci/SKILL.md +2 -2
  122. package/skills/screenci/references/init.md +4 -3
  123. package/skills/screenci/references/record.md +1 -1
  124. package/dist/docs/video-sources/public-urls.screenci.d.ts +0 -2
  125. package/dist/docs/video-sources/public-urls.screenci.d.ts.map +0 -1
  126. package/dist/docs/video-sources/public-urls.screenci.js +0 -41
  127. package/dist/docs/video-sources/public-urls.screenci.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"localizeRuntime.js","sourceRoot":"","sources":["../../src/localizeRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GAEzB,MAAM,UAAU,CAAA;AAMjB;;;;;;GAMG;AACH,MAAM,UAAU,qCAAqC,CACnD,aAAwC,EACxC,mBAA4B;IAE5B,IAAI,mBAAmB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,aAAa,CAAC,SAAS,EAAE,KAAK,CAAA;AACvC,CAAC;AAQD;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAwC,EACxC,YAAkC,EAClC,kBAAqC,EAAE;IAEvC,MAAM,MAAM,GAAG,QAAQ;QACrB,CAAC,CAAC,2BAA2B,CACzB,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,WAAW,EACpB,YAAY,CACb;QACH,CAAC,CAAC,EAAE,CAAA;IACN,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAA;IAC/C,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,wBAAwB,CAAC,eAAe,CAAC,EAAE,CAAA;AACpE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAwC,EACxC,QAA4B,EAC5B,SAAgC,EAChC,aAAgC,EAAE;IAElC,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAA;IAC3B,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAA;IAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEtC,MAAM,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3E,MAAM,IAAI,GACR,QAAQ,KAAK,SAAS,IAAI,IAAI;QAC5B,CAAC,CAAE,IAAI,CAAC,UAAqD,CAAC,QAAQ,CAAC;QACvE,CAAC,CAAC,SAAS,CAAA;IAEf,MAAM,MAAM,GAAe,EAAE,CAAA;IAC7B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAC1D,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAwC,EACxC,QAA4B,EAC5B,aAAgC,EAAE;IAElC,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAA;IAC3B,MAAM,YAAY,GAAG,IAAI,EAAE,UAAU,IAAI,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC,CAAA;IAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEpC,MAAM,WAAW,GAAoB;QACnC,MAAM;QACN,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;KAC9B,CAAA;IAED,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,QAAQ,GACZ,IAAI,CAAC,UACN,CAAC,QAAQ,CAAC,CAAA;QACX,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"localizeRuntime.js","sourceRoot":"","sources":["../../src/localizeRuntime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manualZoom.d.ts","sourceRoot":"","sources":["../../src/manualZoom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAQ,MAAM,kBAAkB,CAAA;AAqBrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AASjD,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AACtD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,eAAe,CAAA;AAiIlD,wBAAsB,MAAM,CAC1B,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,SAAS,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6D5E"}
1
+ {"version":3,"file":"manualZoom.d.ts","sourceRoot":"","sources":["../../src/manualZoom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAQ,MAAM,kBAAkB,CAAA;AAsBrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AASjD,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AACtD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,eAAe,CAAA;AAoIlD,wBAAsB,MAAM,CAC1B,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,SAAS,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8D5E"}
@@ -2,7 +2,7 @@ import { DEFAULT_ZOOM_OPTIONS } from './defaults.js';
2
2
  import { ScreenciError } from './errors.js';
3
3
  import { changeFocus, resolveFixedFocusViewportSize, resolveTargetRectPosition, } from './changeFocus.js';
4
4
  import { getActiveAutoZoomRecorder, getActiveZoomPage, getAutoZoomState, setCurrentZoomViewport, setZoomMode, } from './autoZoom.js';
5
- import { buildZoomEvent, resolveAutoZoomOptions, resolveZoomTarget, } from './zoom.js';
5
+ import { buildZoomEvent, resolveAutoZoomOptions, resolveEffectiveDuration, resolveZoomTarget, } from './zoom.js';
6
6
  import { resolveRecordingTimingDuration } from './runtimeMode.js';
7
7
  function sleep(ms) {
8
8
  return new Promise((resolve) => setTimeout(resolve, resolveRecordingTimingDuration(ms)));
@@ -59,13 +59,15 @@ async function zoomToPoint(point, options = {}) {
59
59
  }),
60
60
  currentZoomEnd,
61
61
  });
62
+ const isZoomOut = targetViewport.width >= currentZoomEnd.size.widthPx;
63
+ const effectiveDuration = resolveEffectiveDuration(resolvedOptions, isZoomOut);
62
64
  const focusChangeStartMs = Date.now();
63
65
  if (resolvedOptions.preZoomDelay > 0) {
64
66
  await sleep(resolvedOptions.preZoomDelay);
65
67
  }
66
68
  const zoomStartMs = Date.now();
67
- if (resolvedOptions.duration > 0) {
68
- await sleep(resolvedOptions.duration);
69
+ if (effectiveDuration > 0) {
70
+ await sleep(effectiveDuration);
69
71
  }
70
72
  const zoomEndMs = Date.now();
71
73
  if (resolvedOptions.postZoomDelay > 0) {
@@ -142,13 +144,14 @@ export async function resetZoom(options = {}) {
142
144
  heightPx: viewport.viewportSize.height,
143
145
  },
144
146
  };
147
+ const resetDuration = resolvedOptions.zoomOutDuration;
145
148
  const focusChangeStartMs = Date.now();
146
149
  if (resolvedOptions.preZoomDelay > 0) {
147
150
  await sleep(resolvedOptions.preZoomDelay);
148
151
  }
149
152
  const zoomStartMs = Date.now();
150
- if (resolvedOptions.duration > 0) {
151
- await sleep(resolvedOptions.duration);
153
+ if (resetDuration > 0) {
154
+ await sleep(resetDuration);
152
155
  }
153
156
  const zoomEndMs = Date.now();
154
157
  if (resolvedOptions.postZoomDelay > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"manualZoom.js","sourceRoot":"","sources":["../../src/manualZoom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manualZoom.js","sourceRoot":"","sources":["../../src/manualZoom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { spawn } from 'child_process';
2
+ export type BrowserOpenSpec = {
3
+ command: string;
4
+ args: string[];
5
+ };
6
+ export type OpenBrowserResult = {
7
+ opened: true;
8
+ } | {
9
+ opened: false;
10
+ reason: string;
11
+ };
12
+ /**
13
+ * Resolve the platform-specific command that opens a URL in the default
14
+ * browser: `open` on macOS, `cmd /c start` on Windows, and `xdg-open`
15
+ * everywhere else (Linux, BSD). The empty `""` on Windows is `start`'s window
16
+ * title argument, so a quoted URL is not consumed as the title.
17
+ */
18
+ export declare function resolveBrowserOpenSpec(url: string, platform?: NodeJS.Platform): BrowserOpenSpec;
19
+ /**
20
+ * Try to open `url` in the user's default browser. Best-effort: a synchronous
21
+ * spawn failure or an asynchronous launch error (e.g. `xdg-open` missing on a
22
+ * minimal Linux box) resolves to `{ opened: false, reason }` instead of
23
+ * throwing. A resolved `{ opened: true }` only means the launch was dispatched,
24
+ * not that a browser window actually appeared, so callers still surface the
25
+ * link as a fallback.
26
+ *
27
+ * Dependency-injected (`platform`, `spawnFn`) so tests can drive both outcomes
28
+ * without a real terminal or browser.
29
+ */
30
+ export declare function openUrlInBrowser(url: string, options?: {
31
+ platform?: NodeJS.Platform;
32
+ spawnFn?: typeof spawn;
33
+ }): Promise<OpenBrowserResult>;
34
+ //# sourceMappingURL=openBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openBrowser.d.ts","sourceRoot":"","sources":["../../src/openBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAQrC,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAErC;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,eAAe,CAQjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;CAClB,GACL,OAAO,CAAC,iBAAiB,CAAC,CAqC5B"}
@@ -0,0 +1,62 @@
1
+ import { spawn } from 'child_process';
2
+ /**
3
+ * Resolve the platform-specific command that opens a URL in the default
4
+ * browser: `open` on macOS, `cmd /c start` on Windows, and `xdg-open`
5
+ * everywhere else (Linux, BSD). The empty `""` on Windows is `start`'s window
6
+ * title argument, so a quoted URL is not consumed as the title.
7
+ */
8
+ export function resolveBrowserOpenSpec(url, platform = process.platform) {
9
+ if (platform === 'darwin') {
10
+ return { command: 'open', args: [url] };
11
+ }
12
+ if (platform === 'win32') {
13
+ return { command: 'cmd', args: ['/c', 'start', '', url] };
14
+ }
15
+ return { command: 'xdg-open', args: [url] };
16
+ }
17
+ /**
18
+ * Try to open `url` in the user's default browser. Best-effort: a synchronous
19
+ * spawn failure or an asynchronous launch error (e.g. `xdg-open` missing on a
20
+ * minimal Linux box) resolves to `{ opened: false, reason }` instead of
21
+ * throwing. A resolved `{ opened: true }` only means the launch was dispatched,
22
+ * not that a browser window actually appeared, so callers still surface the
23
+ * link as a fallback.
24
+ *
25
+ * Dependency-injected (`platform`, `spawnFn`) so tests can drive both outcomes
26
+ * without a real terminal or browser.
27
+ */
28
+ export async function openUrlInBrowser(url, options = {}) {
29
+ const platform = options.platform ?? process.platform;
30
+ const spawnFn = options.spawnFn ?? spawn;
31
+ const spec = resolveBrowserOpenSpec(url, platform);
32
+ let child;
33
+ try {
34
+ child = spawnFn(spec.command, spec.args, {
35
+ stdio: 'ignore',
36
+ detached: true,
37
+ });
38
+ }
39
+ catch (err) {
40
+ return {
41
+ opened: false,
42
+ reason: err instanceof Error ? err.message : String(err),
43
+ };
44
+ }
45
+ // Keep an error listener attached for the child's lifetime so a late launch
46
+ // error (e.g. ENOENT) is handled rather than thrown as an unhandled event.
47
+ const launchError = new Promise((resolveError) => {
48
+ child.on('error', resolveError);
49
+ });
50
+ // Detach so the parent (login) can exit without waiting on the browser.
51
+ child.unref();
52
+ // ENOENT and friends surface on the next tick, ahead of this setImmediate, so
53
+ // a failed launch wins the race; otherwise we treat the dispatch as success.
54
+ const settled = new Promise((resolveTick) => {
55
+ setImmediate(() => resolveTick(null));
56
+ });
57
+ const result = await Promise.race([launchError, settled]);
58
+ return result === null
59
+ ? { opened: true }
60
+ : { opened: false, reason: result.message };
61
+ }
62
+ //# sourceMappingURL=openBrowser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openBrowser.js","sourceRoot":"","sources":["../../src/openBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAiBrC;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,GAAW,EACX,WAA4B,OAAO,CAAC,QAAQ;IAE5C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAA;IACzC,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAA;IAC3D,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAA;AAC7C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAW,EACX,UAGI,EAAE;IAEN,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAA;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAA;IACxC,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAElD,IAAI,KAA+B,CAAA;IACnC,IAAI,CAAC;QACH,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;YACvC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;SACC,CAAC,CAAA;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACzD,CAAA;IACH,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,WAAW,GAAG,IAAI,OAAO,CAAQ,CAAC,YAAY,EAAE,EAAE;QACtD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,wEAAwE;IACxE,KAAK,CAAC,KAAK,EAAE,CAAA;IAEb,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,WAAW,EAAE,EAAE;QAChD,YAAY,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;IACzD,OAAO,MAAM,KAAK,IAAI;QACpB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;QAClB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;AAC/C,CAAC"}
@@ -166,6 +166,22 @@ export type VideoCueStartEvent = {
166
166
  */
167
167
  volume?: number;
168
168
  };
169
+ /**
170
+ * A per-language override of an overlay's file/options, used in shared-capture
171
+ * mode where one recording carries every language. The recorder folds the active
172
+ * language's translation into the top-level fields before serialization (see
173
+ * `filterEventTranslationsToLanguage`), so the renderer only ever sees a single
174
+ * resolved language.
175
+ */
176
+ export type AssetTranslation = {
177
+ path: string;
178
+ fileHash?: string;
179
+ durationMs?: number;
180
+ audio?: number;
181
+ fullScreen?: boolean;
182
+ speed?: number;
183
+ time?: number;
184
+ };
169
185
  export type ImageAssetStartEvent = {
170
186
  type: 'assetStart';
171
187
  timeMs: number;
@@ -175,6 +191,8 @@ export type ImageAssetStartEvent = {
175
191
  fileHash?: string;
176
192
  durationMs?: number;
177
193
  fullScreen: boolean;
194
+ /** Per-language file overrides (shared-capture mode); folded before render. */
195
+ translations?: Record<string, AssetTranslation>;
178
196
  };
179
197
  export type VideoAssetStartEvent = {
180
198
  type: 'assetStart';
@@ -193,6 +211,8 @@ export type VideoAssetStartEvent = {
193
211
  speed?: number;
194
212
  /** Target playback duration (ms); an alternative to {@link speed}. */
195
213
  time?: number;
214
+ /** Per-language file overrides (shared-capture mode); folded before render. */
215
+ translations?: Record<string, AssetTranslation>;
196
216
  };
197
217
  export type AssetStartEvent = ImageAssetStartEvent | VideoAssetStartEvent;
198
218
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"recordingData.d.ts","sourceRoot":"","sources":["../../src/recordingData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recordingData.d.ts","sourceRoot":"","sources":["../../src/recordingData.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { spawn as nodeSpawn } from 'child_process';
2
+ import { readFile as nodeReadFile } from 'fs/promises';
3
+ export declare const SCREEN_AUDIO_DOCS_URL = "https://screenci.com/docs/guides/screen-audio";
4
+ /**
5
+ * Screen audio capture is supported on Linux only. macOS and Windows have no
6
+ * way to route just the recording browser into an isolated capture device
7
+ * without third-party tooling, so capturing there would either pick up every
8
+ * app's sound or require muting the whole machine. On those platforms screenci
9
+ * skips capture and warns instead of writing a misleading track.
10
+ */
11
+ export declare function isScreenAudioSupported(platform?: NodeJS.Platform): boolean;
12
+ /**
13
+ * Warning shown (at run start and end) when audio capture is requested on a
14
+ * platform where it is not supported. Returns `null` on supported platforms.
15
+ */
16
+ export declare function screenAudioUnsupportedMessage(platform?: NodeJS.Platform): string | null;
17
+ /** Sets (or clears with `null`) the capture device for this worker. */
18
+ export declare function setActiveCaptureDevice(device: string | null): void;
19
+ /** @internal */
20
+ export type PlatformAudioArgs = {
21
+ /** Args that appear before `-i`, e.g. `['-f', 'pulse']`. */
22
+ inputArgs: string[];
23
+ /** The device string passed to `-i`. */
24
+ device: string;
25
+ };
26
+ /**
27
+ * Resolves the ffmpeg audio capture arguments for the current (or given)
28
+ * platform. Throws when the platform is not supported.
29
+ *
30
+ * When a capture device has been set for this worker (its dedicated null sink's
31
+ * monitor) it replaces the platform default device while keeping the platform's
32
+ * input format args.
33
+ *
34
+ * Exposed for testing; callers should use {@link startScreenAudioCapture}.
35
+ */
36
+ export declare function resolvePlatformAudioArgs(platform?: NodeJS.Platform, device?: string | null): PlatformAudioArgs;
37
+ export type ScreenAudioCaptureResult = {
38
+ path: string;
39
+ fileHash: string;
40
+ };
41
+ export type ScreenAudioCapture = {
42
+ stop(): Promise<ScreenAudioCaptureResult>;
43
+ };
44
+ /** @internal - injected in tests */
45
+ export type ScreenAudioDeps = {
46
+ spawn: typeof nodeSpawn;
47
+ readFile: typeof nodeReadFile;
48
+ };
49
+ /**
50
+ * Starts a background ffmpeg process that captures audio from the system's
51
+ * default input and writes it to `outputPath` as PCM WAV.
52
+ *
53
+ * Call the returned `stop()` to send a graceful quit signal and await the
54
+ * captured file. If ffmpeg fails to start or the output file is missing, the
55
+ * promise rejects with a message that links to the setup docs.
56
+ */
57
+ export declare function startScreenAudioCapture(outputPath: string, deps?: ScreenAudioDeps): ScreenAudioCapture;
58
+ //# sourceMappingURL=screenAudio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenAudio.d.ts","sourceRoot":"","sources":["../../src/screenAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,aAAa,CAAA;AAEtD,eAAO,MAAM,qBAAqB,kDACe,CAAA;AAEjD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,IAAI,CASf;AAWD,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAElE;AAED,gBAAgB;AAChB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,4DAA4D;IAC5D,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,MAAM,GAAE,MAAM,GAAG,IAA0B,GAC1C,iBAAiB,CAuBnB;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAA;CAC1C,CAAA;AAED,oCAAoC;AACpC,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,OAAO,SAAS,CAAA;IACvB,QAAQ,EAAE,OAAO,YAAY,CAAA;CAC9B,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,eAA8D,GACnE,kBAAkB,CA+EpB"}
@@ -0,0 +1,145 @@
1
+ import { spawn as nodeSpawn } from 'child_process';
2
+ import { createHash } from 'crypto';
3
+ import { readFile as nodeReadFile } from 'fs/promises';
4
+ export const SCREEN_AUDIO_DOCS_URL = 'https://screenci.com/docs/guides/screen-audio';
5
+ /**
6
+ * Screen audio capture is supported on Linux only. macOS and Windows have no
7
+ * way to route just the recording browser into an isolated capture device
8
+ * without third-party tooling, so capturing there would either pick up every
9
+ * app's sound or require muting the whole machine. On those platforms screenci
10
+ * skips capture and warns instead of writing a misleading track.
11
+ */
12
+ export function isScreenAudioSupported(platform = process.platform) {
13
+ return platform === 'linux';
14
+ }
15
+ /**
16
+ * Warning shown (at run start and end) when audio capture is requested on a
17
+ * platform where it is not supported. Returns `null` on supported platforms.
18
+ */
19
+ export function screenAudioUnsupportedMessage(platform = process.platform) {
20
+ if (isScreenAudioSupported(platform)) {
21
+ return null;
22
+ }
23
+ return (`[screenci] captureAudio is only supported on Linux. ` +
24
+ `This run on "${platform}" will record no audio (the video will be silent ` +
25
+ `where screen audio was expected). See ${SCREEN_AUDIO_DOCS_URL}`);
26
+ }
27
+ /**
28
+ * The capture device for the current worker. Set by the recording browser
29
+ * fixture once it provisions this worker's dedicated null sink, so capture taps
30
+ * that sink's monitor; left `null` (capturing the default monitor) only as a
31
+ * fallback when a sink could not be created. Module-scoped, so it is private to
32
+ * one worker process.
33
+ */
34
+ let activeCaptureDevice = null;
35
+ /** Sets (or clears with `null`) the capture device for this worker. */
36
+ export function setActiveCaptureDevice(device) {
37
+ activeCaptureDevice = device;
38
+ }
39
+ /**
40
+ * Resolves the ffmpeg audio capture arguments for the current (or given)
41
+ * platform. Throws when the platform is not supported.
42
+ *
43
+ * When a capture device has been set for this worker (its dedicated null sink's
44
+ * monitor) it replaces the platform default device while keeping the platform's
45
+ * input format args.
46
+ *
47
+ * Exposed for testing; callers should use {@link startScreenAudioCapture}.
48
+ */
49
+ export function resolvePlatformAudioArgs(platform = process.platform, device = activeCaptureDevice) {
50
+ const withDevice = (args) => device ? { ...args, device } : args;
51
+ switch (platform) {
52
+ case 'linux':
53
+ return withDevice({
54
+ inputArgs: ['-f', 'pulse'],
55
+ device: 'default.monitor',
56
+ });
57
+ case 'darwin':
58
+ return withDevice({ inputArgs: ['-f', 'avfoundation'], device: ':0' });
59
+ case 'win32':
60
+ return withDevice({
61
+ inputArgs: ['-f', 'wasapi', '-loopback', '1'],
62
+ device: '',
63
+ });
64
+ default:
65
+ throw new Error(`[screenci] captureAudio is not supported on platform "${platform}". ` +
66
+ `See ${SCREEN_AUDIO_DOCS_URL}`);
67
+ }
68
+ }
69
+ /**
70
+ * Starts a background ffmpeg process that captures audio from the system's
71
+ * default input and writes it to `outputPath` as PCM WAV.
72
+ *
73
+ * Call the returned `stop()` to send a graceful quit signal and await the
74
+ * captured file. If ffmpeg fails to start or the output file is missing, the
75
+ * promise rejects with a message that links to the setup docs.
76
+ */
77
+ export function startScreenAudioCapture(outputPath, deps = { spawn: nodeSpawn, readFile: nodeReadFile }) {
78
+ const { inputArgs, device } = resolvePlatformAudioArgs();
79
+ const args = [
80
+ '-loglevel',
81
+ 'quiet',
82
+ ...inputArgs,
83
+ '-i',
84
+ device,
85
+ '-c:a',
86
+ 'pcm_s16le',
87
+ '-y',
88
+ outputPath,
89
+ ];
90
+ // Use piped stdin so we can send 'q' for a clean shutdown on all platforms.
91
+ const proc = deps.spawn('ffmpeg', args, {
92
+ stdio: ['pipe', 'ignore', 'ignore'],
93
+ });
94
+ let spawnError = null;
95
+ let exited = false;
96
+ const exitSettlers = [];
97
+ proc.once('error', (err) => {
98
+ spawnError = new Error(`[screenci] captureAudio: could not start ffmpeg. ` +
99
+ `See ${SCREEN_AUDIO_DOCS_URL} for setup instructions. ` +
100
+ `Original error: ${err.message}`);
101
+ });
102
+ proc.once('exit', () => {
103
+ exited = true;
104
+ for (const settle of exitSettlers)
105
+ settle(spawnError);
106
+ exitSettlers.length = 0;
107
+ });
108
+ function waitForExit() {
109
+ if (exited)
110
+ return Promise.resolve();
111
+ return new Promise((resolve) => {
112
+ exitSettlers.push(() => resolve());
113
+ });
114
+ }
115
+ return {
116
+ async stop() {
117
+ if (spawnError !== null)
118
+ throw spawnError;
119
+ // Send 'q' to stdin for a graceful shutdown. ffmpeg responds to this
120
+ // on all platforms and finalizes the output file cleanly before exiting.
121
+ try {
122
+ proc.stdin?.write('q');
123
+ proc.stdin?.end();
124
+ }
125
+ catch {
126
+ // stdin may already be closed if the process exited early
127
+ }
128
+ await waitForExit();
129
+ if (spawnError !== null)
130
+ throw spawnError;
131
+ try {
132
+ const buffer = await deps.readFile(outputPath);
133
+ const fileHash = createHash('sha256').update(buffer).digest('hex');
134
+ return { path: outputPath, fileHash };
135
+ }
136
+ catch (err) {
137
+ throw new Error(`[screenci] captureAudio: audio file was not written after recording. ` +
138
+ `Check that the audio device is available. ` +
139
+ `See ${SCREEN_AUDIO_DOCS_URL} for per-OS setup instructions. ` +
140
+ `Original error: ${err instanceof Error ? err.message : String(err)}`);
141
+ }
142
+ },
143
+ };
144
+ }
145
+ //# sourceMappingURL=screenAudio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenAudio.js","sourceRoot":"","sources":["../../src/screenAudio.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * A dedicated PulseAudio/PipeWire null sink created for one recording worker.
3
+ * The worker's browser is routed into `sinkName` (so its audio is silent on the
4
+ * host and isolated from other apps), and the recorder captures `monitorSource`.
5
+ */
6
+ export type NullSink = {
7
+ /** `pactl` module id, used to unload the sink on teardown. */
8
+ moduleId: string;
9
+ /** Sink name the browser plays into (via `PULSE_SINK`). */
10
+ sinkName: string;
11
+ /** Monitor source the recorder captures (`<sinkName>.monitor`). */
12
+ monitorSource: string;
13
+ };
14
+ /** @internal - injected in tests */
15
+ export type SinkDeps = {
16
+ run: (cmd: string, args: string[]) => Promise<{
17
+ stdout: string;
18
+ }>;
19
+ };
20
+ /**
21
+ * Deterministic, per-process sink name. Each Playwright worker is its own
22
+ * process with a unique pid, so this gives one sink per worker that is trivial
23
+ * to clean up and cannot collide with a concurrent worker.
24
+ */
25
+ export declare function workerSinkName(pid?: number): string;
26
+ /**
27
+ * Creates a null sink via `pactl load-module module-null-sink`. Returns the
28
+ * parsed module id and sink/monitor names, or `null` when `pactl` is missing or
29
+ * the command fails (callers fall back to the default device and warn).
30
+ */
31
+ export declare function createNullSink(name?: string, deps?: SinkDeps): Promise<NullSink | null>;
32
+ /** Unloads a previously created null sink. Best effort: never throws. */
33
+ export declare function unloadNullSink(sink: NullSink, deps?: SinkDeps): Promise<void>;
34
+ //# sourceMappingURL=screenAudioSink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenAudioSink.d.ts","sourceRoot":"","sources":["../../src/screenAudioSink.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,oCAAoC;AACpC,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAClE,CAAA;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAoB,GAAG,MAAM,CAEhE;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,IAAI,GAAE,MAAyB,EAC/B,IAAI,GAAE,QAAsB,GAC3B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAgB1B;AAED,yEAAyE;AACzE,wBAAsB,cAAc,CAClC,IAAI,EAAE,QAAQ,EACd,IAAI,GAAE,QAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAMf"}
@@ -0,0 +1,47 @@
1
+ import { execFile as nodeExecFile } from 'child_process';
2
+ import { promisify } from 'util';
3
+ const execFileAsync = promisify(nodeExecFile);
4
+ const defaultDeps = {
5
+ run: (cmd, args) => execFileAsync(cmd, args),
6
+ };
7
+ /**
8
+ * Deterministic, per-process sink name. Each Playwright worker is its own
9
+ * process with a unique pid, so this gives one sink per worker that is trivial
10
+ * to clean up and cannot collide with a concurrent worker.
11
+ */
12
+ export function workerSinkName(pid = process.pid) {
13
+ return `screenci_${pid}`;
14
+ }
15
+ /**
16
+ * Creates a null sink via `pactl load-module module-null-sink`. Returns the
17
+ * parsed module id and sink/monitor names, or `null` when `pactl` is missing or
18
+ * the command fails (callers fall back to the default device and warn).
19
+ */
20
+ export async function createNullSink(name = workerSinkName(), deps = defaultDeps) {
21
+ try {
22
+ const { stdout } = await deps.run('pactl', [
23
+ 'load-module',
24
+ 'module-null-sink',
25
+ `sink_name=${name}`,
26
+ `sink_properties=device.description=${name}`,
27
+ ]);
28
+ const moduleId = stdout.trim();
29
+ if (!/^\d+$/.test(moduleId)) {
30
+ return null;
31
+ }
32
+ return { moduleId, sinkName: name, monitorSource: `${name}.monitor` };
33
+ }
34
+ catch {
35
+ return null;
36
+ }
37
+ }
38
+ /** Unloads a previously created null sink. Best effort: never throws. */
39
+ export async function unloadNullSink(sink, deps = defaultDeps) {
40
+ try {
41
+ await deps.run('pactl', ['unload-module', sink.moduleId]);
42
+ }
43
+ catch {
44
+ // Best effort: the server may already be gone (e.g. on shutdown).
45
+ }
46
+ }
47
+ //# sourceMappingURL=screenAudioSink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenAudioSink.js","sourceRoot":"","sources":["../../src/screenAudioSink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEhC,MAAM,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;AAqB7C,MAAM,WAAW,GAAa;IAC5B,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC;CAC7C,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,OAAO,CAAC,GAAG;IACtD,OAAO,YAAY,GAAG,EAAE,CAAA;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,cAAc,EAAE,EAC/B,OAAiB,WAAW;IAE5B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YACzC,aAAa;YACb,kBAAkB;YAClB,aAAa,IAAI,EAAE;YACnB,sCAAsC,IAAI,EAAE;SAC7C,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,UAAU,EAAE,CAAA;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAc,EACd,OAAiB,WAAW;IAE5B,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;AACH,CAAC"}