tuffgal 0.1.0-alpha.9 → 0.2.0-alpha.2

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 (89) hide show
  1. package/CHANGELOG.md +149 -2
  2. package/README.md +78 -3
  3. package/dist/cli.d.ts +50 -0
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +204 -18
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/init.d.ts +1 -1
  8. package/dist/commands/init.d.ts.map +1 -1
  9. package/dist/commands/init.js +11 -1
  10. package/dist/commands/init.js.map +1 -1
  11. package/dist/config.d.ts +38 -1
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +20 -1
  14. package/dist/config.js.map +1 -1
  15. package/dist/coverage/screens.d.ts +11 -6
  16. package/dist/coverage/screens.d.ts.map +1 -1
  17. package/dist/coverage/screens.js +12 -7
  18. package/dist/coverage/screens.js.map +1 -1
  19. package/dist/reporter/assets/report.css +415 -51
  20. package/dist/reporter/assets/report.js +502 -68
  21. package/dist/reporter/template.d.ts +8 -1
  22. package/dist/reporter/template.d.ts.map +1 -1
  23. package/dist/reporter/template.js +517 -85
  24. package/dist/reporter/template.js.map +1 -1
  25. package/dist/reporter/writeReport.d.ts +2 -2
  26. package/dist/reporter/writeReport.d.ts.map +1 -1
  27. package/dist/reporter/writeReport.js +3 -3
  28. package/dist/reporter/writeReport.js.map +1 -1
  29. package/dist/runner/approve.d.ts +34 -9
  30. package/dist/runner/approve.d.ts.map +1 -1
  31. package/dist/runner/approve.js +54 -10
  32. package/dist/runner/approve.js.map +1 -1
  33. package/dist/runner/approveFrom.d.ts +58 -0
  34. package/dist/runner/approveFrom.d.ts.map +1 -0
  35. package/dist/runner/approveFrom.js +384 -0
  36. package/dist/runner/approveFrom.js.map +1 -0
  37. package/dist/runner/breakpointPasses.d.ts +39 -0
  38. package/dist/runner/breakpointPasses.d.ts.map +1 -0
  39. package/dist/runner/breakpointPasses.js +107 -0
  40. package/dist/runner/breakpointPasses.js.map +1 -0
  41. package/dist/runner/bridges/database.d.ts +4 -3
  42. package/dist/runner/bridges/database.d.ts.map +1 -1
  43. package/dist/runner/bridges/database.js +4 -3
  44. package/dist/runner/bridges/database.js.map +1 -1
  45. package/dist/runner/exitCode.d.ts +34 -0
  46. package/dist/runner/exitCode.d.ts.map +1 -0
  47. package/dist/runner/exitCode.js +41 -0
  48. package/dist/runner/exitCode.js.map +1 -0
  49. package/dist/runner/manifest.d.ts +149 -0
  50. package/dist/runner/manifest.d.ts.map +1 -0
  51. package/dist/runner/manifest.js +229 -0
  52. package/dist/runner/manifest.js.map +1 -0
  53. package/dist/runner/mode.d.ts +41 -0
  54. package/dist/runner/mode.d.ts.map +1 -0
  55. package/dist/runner/mode.js +43 -0
  56. package/dist/runner/mode.js.map +1 -0
  57. package/dist/runner/orphanScan.d.ts +68 -0
  58. package/dist/runner/orphanScan.d.ts.map +1 -0
  59. package/dist/runner/orphanScan.js +150 -0
  60. package/dist/runner/orphanScan.js.map +1 -0
  61. package/dist/runner/run.d.ts +85 -1
  62. package/dist/runner/run.d.ts.map +1 -1
  63. package/dist/runner/run.js +267 -41
  64. package/dist/runner/run.js.map +1 -1
  65. package/dist/runner/runAction.d.ts +16 -0
  66. package/dist/runner/runAction.d.ts.map +1 -1
  67. package/dist/runner/runAction.js +112 -13
  68. package/dist/runner/runAction.js.map +1 -1
  69. package/dist/runner/runStory.d.ts +15 -4
  70. package/dist/runner/runStory.d.ts.map +1 -1
  71. package/dist/runner/runStory.js +41 -19
  72. package/dist/runner/runStory.js.map +1 -1
  73. package/dist/runner/storyFilter.d.ts +8 -0
  74. package/dist/runner/storyFilter.d.ts.map +1 -1
  75. package/dist/runner/storyFilter.js +11 -0
  76. package/dist/runner/storyFilter.js.map +1 -1
  77. package/dist/schema/action.d.ts +11 -11
  78. package/dist/schema/result.d.ts +125 -6
  79. package/dist/schema/result.d.ts.map +1 -1
  80. package/dist/schema/result.js.map +1 -1
  81. package/dist/screenshots/baselineStore.d.ts +92 -10
  82. package/dist/screenshots/baselineStore.d.ts.map +1 -1
  83. package/dist/screenshots/baselineStore.js +102 -18
  84. package/dist/screenshots/baselineStore.js.map +1 -1
  85. package/dist/screenshots/capture.d.ts +10 -5
  86. package/dist/screenshots/capture.d.ts.map +1 -1
  87. package/dist/screenshots/capture.js +31 -18
  88. package/dist/screenshots/capture.js.map +1 -1
  89. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/runner/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/runner/run.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { Page } from 'playwright';
2
2
  import type { Action } from '../schema/action.ts';
3
3
  import type { ActionResult } from '../schema/result.ts';
4
4
  import type { ResolvedConfig } from '../config.ts';
5
+ import { type RunMode } from './mode.ts';
5
6
  export interface RunActionOptions {
6
7
  page: Page;
7
8
  action: Action;
@@ -14,6 +15,21 @@ export interface RunActionOptions {
14
15
  * `ActionResult.breakpoint` tag) key per-mode captures apart.
15
16
  */
16
17
  breakpoint: string;
18
+ /**
19
+ * Comparison contract for this run (see {@link RunMode}). Optional so
20
+ * pre-existing programmatic callers and tests keep compiling; the run driver
21
+ * always supplies it. Governs both the comparison target and the write
22
+ * behaviour:
23
+ * - `ci` — compare against the committed `paths.baselines`, and NEVER write
24
+ * into it. A missing baseline reads `new` and the proposed render lands in
25
+ * the candidate tree only; `approve --from` is what promotes candidates to
26
+ * baselines. `paths.localCache` is never touched.
27
+ * - `local` (default when omitted) — compare against the per-machine,
28
+ * gitignored `paths.localCache`, and self-manage it: a missing cache entry
29
+ * is auto-seeded (written as a fresh cache baseline, status `new`). The
30
+ * committed `paths.baselines` is never read or written in local mode.
31
+ */
32
+ mode?: RunMode;
17
33
  }
18
34
  /**
19
35
  * Runs every step of an action in order, applies optional step-level retry on
@@ -1 +1 @@
1
- {"version":3,"file":"runAction.d.ts","sourceRoot":"","sources":["../../src/runner/runAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAyBnD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,YAAY,CAAC,CAgEvB;AAgXD,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;gBAE3B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAC1C,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,MAAM;CAYpB"}
1
+ {"version":3,"file":"runAction.d.ts","sourceRoot":"","sources":["../../src/runner/runAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAcnD,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAa5D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,YAAY,CAAC,CA8EvB;AAudD,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;gBAE3B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAC1C,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,MAAM;CAYpB"}
@@ -2,6 +2,7 @@ import { capturePage } from "../screenshots/capture.js";
2
2
  import { diffPngs, ScreenshotSizeMismatchError } from "../screenshots/diff.js";
3
3
  import { deleteIfExists, pathsFor, readBaseline, readJsonBaseline, withBaselineLock, writePng, writeText, } from "../screenshots/baselineStore.js";
4
4
  import { sleep } from "../util.js";
5
+ import { comparisonRootFor } from "./mode.js";
5
6
  import { interpolate, interpolateHint } from "./interpolate.js";
6
7
  import { LocatorNotFoundError, resolveLocator } from "./resolveLocator.js";
7
8
  import { runClick } from "./steps/click.js";
@@ -25,7 +26,19 @@ const DEFAULT_EXPECT_TIMEOUT_MS = 10_000;
25
26
  */
26
27
  export async function runAction(options) {
27
28
  const { action, page, parameters, storyFile, config, breakpoint } = options;
29
+ const mode = options.mode ?? 'local';
28
30
  validateParameters(action, parameters);
31
+ // The current breakpoint name is exposed to interpolation as `${breakpoint}`
32
+ // so a story can key test-created data per mode (e.g. registering
33
+ // `fresh+${breakpoint}@example.test` at each viewport instead of colliding on
34
+ // a shared email). It is injected only into the interpolation map, never the
35
+ // validated `parameters` — `validateParameters` rejects undeclared keys, and
36
+ // the ActionResult must still report the author's parameters verbatim. A
37
+ // story parameter literally named `breakpoint` overrides the injected value.
38
+ const interpolationParameters = {
39
+ breakpoint,
40
+ ...parameters,
41
+ };
29
42
  const startedAt = new Date();
30
43
  const attempts = action.retry?.attempts ?? DEFAULT_RETRY_ATTEMPTS;
31
44
  const backoffMs = action.retry?.backoffMs ?? DEFAULT_RETRY_BACKOFF_MS;
@@ -34,7 +47,7 @@ export async function runAction(options) {
34
47
  if (!step)
35
48
  continue;
36
49
  try {
37
- await dispatchWithRetry(page, step, parameters, config, attempts, backoffMs);
50
+ await dispatchWithRetry(page, step, interpolationParameters, config, attempts, backoffMs);
38
51
  }
39
52
  catch (error) {
40
53
  return failedResult(action, parameters, breakpoint, startedAt, index, error);
@@ -42,7 +55,7 @@ export async function runAction(options) {
42
55
  }
43
56
  if (action.expect) {
44
57
  try {
45
- await waitForExpectation(page, action.expect, parameters);
58
+ await waitForExpectation(page, action.expect, interpolationParameters);
46
59
  }
47
60
  catch (error) {
48
61
  return failedResult(action, parameters, breakpoint, startedAt, action.steps.length, error);
@@ -55,10 +68,12 @@ export async function runAction(options) {
55
68
  action,
56
69
  page,
57
70
  parameters,
71
+ interpolationParameters,
58
72
  config,
59
73
  storyFile,
60
74
  startedAt,
61
75
  breakpoint,
76
+ mode,
62
77
  });
63
78
  }
64
79
  async function dispatchWithRetry(page, step, parameters, config, attempts, backoffMs) {
@@ -128,23 +143,35 @@ async function waitForExpectation(page, expectation, parameters) {
128
143
  }
129
144
  }
130
145
  async function captureAndCompare(options) {
131
- const { action, page, parameters, config, storyFile, startedAt, breakpoint } = options;
146
+ const { action, page, parameters, interpolationParameters, config, storyFile, startedAt, breakpoint, mode, } = options;
147
+ // The comparison target moves with the mode (see `comparisonRootFor`, the
148
+ // single owner of the mode→root mapping). CI compares against (and, on
149
+ // approval, promotes into) the committed `paths.baselines`; local mode
150
+ // self-diffs against — and auto-seeds — the per-machine, gitignored
151
+ // `paths.localCache`, never reading or writing `paths.baselines`. Report-side
152
+ // artifacts (actual, diff, candidate) stay report-rooted regardless; only the
153
+ // baseline/legacy side follows `comparisonRoot`. Legacy `<action>/0.png`
154
+ // fallback resolves within whichever root is active, so a project migrating
155
+ // its committed baselines and a developer with a legacy cache each get the
156
+ // pre-breakpoint fallback within their own root.
157
+ const comparisonRoot = comparisonRootFor(config, mode);
132
158
  const paths = pathsFor({
133
159
  baselinesDir: config.paths.baselines,
160
+ comparisonRoot,
134
161
  reportDir: config.paths.report,
135
162
  storyFile,
136
163
  actionName: action.action,
137
164
  breakpoint,
138
165
  });
139
- const masks = resolveMasks(page, action.mask, parameters);
140
- const actualPng = await capturePage(page, masks);
166
+ const masks = resolveMasks(page, action.mask, interpolationParameters);
167
+ const actualPng = await capturePage(page, masks, config.captureMode);
141
168
  await writePng(paths.actual, actualPng);
142
169
  const a11yJson = await captureA11yTree(page);
143
170
  await writeText(paths.a11yActual, a11yJson);
144
171
  const baseResult = baseResultFor(action.action, parameters, breakpoint, startedAt);
145
172
  // Read-then-maybe-create the baseline under a per-path lock so two stories
146
173
  // sharing this action can't both see "no baseline" and race to write it.
147
- // The first holder writes; later holders observe the baseline it produced.
174
+ // The first holder decides; later holders observe the baseline it produced.
148
175
  //
149
176
  // Read order under the lock:
150
177
  // 1. breakpoint-keyed baseline (`<action>/<bp>.png`) — the canonical
@@ -156,7 +183,16 @@ async function captureAndCompare(options) {
156
183
  // and promotion to the new layout is `tuffgal approve`'s job, not a
157
184
  // silent side effect of a read. Auto-creating here would also clobber
158
185
  // the legacy file's role as the shared fallback for every breakpoint.
159
- // 3. neither — write a fresh breakpoint baseline and report `new`.
186
+ // 3. neither — the missing-baseline branch, and it splits on mode:
187
+ // - `local`: auto-seed the per-machine cache — write a fresh
188
+ // breakpoint baseline under the lock (rooted at `comparisonRoot`,
189
+ // i.e. `paths.localCache`) and report `new`. Zero-ceremony first run.
190
+ // `paths.baselines` is never touched.
191
+ // - `ci`: NEVER write `paths.baselines`. Committed baselines are
192
+ // written only through the approval flow, never as a side effect of
193
+ // a run. Report `new`; the proposed render is emitted to the
194
+ // candidate tree below (outside the lock, since candidate paths are
195
+ // per-report and never raced across stories).
160
196
  const found = await withBaselineLock(paths.baseline, async () => {
161
197
  const existing = await readBaseline(paths.baseline);
162
198
  if (existing !== undefined) {
@@ -166,11 +202,18 @@ async function captureAndCompare(options) {
166
202
  if (legacy !== undefined) {
167
203
  return { png: legacy, source: 'legacy' };
168
204
  }
169
- await writePng(paths.baseline, actualPng);
170
- await writeText(paths.a11yBaseline, a11yJson);
205
+ if (mode === 'local') {
206
+ await writePng(paths.baseline, actualPng);
207
+ await writeText(paths.a11yBaseline, a11yJson);
208
+ }
171
209
  return undefined;
172
210
  });
173
211
  if (found === undefined) {
212
+ // Missing baseline → `new`. In CI mode the proposed render is the candidate
213
+ // (nothing was written to baselines); in local mode the fresh cache entry
214
+ // was auto-seeded above and there is no candidate tree. `writeCandidate`
215
+ // no-ops outside CI mode.
216
+ await writeCandidate(mode, paths, actualPng, a11yJson);
174
217
  return finishResult(baseResult, {
175
218
  status: 'new',
176
219
  baselinePath: paths.baseline,
@@ -193,19 +236,40 @@ async function captureAndCompare(options) {
193
236
  const passesSsim = outcome.ssimScore >= ssimThreshold;
194
237
  if (passesSsim) {
195
238
  await deleteIfExists(paths.diff);
239
+ // A11y-only drift: pixels match but the committed aria snapshot has moved.
240
+ // In CI mode this must surface as `changed` with a candidate pair, not a
241
+ // silent `pass` — under the sole-writer model a `pass` writes no candidate,
242
+ // so a drifted committed `a11y.yaml` would be permanently unre-approvable
243
+ // (`approve --from` has nothing to promote). The pixel-drift path below is
244
+ // mutually exclusive with this branch, so exactly one candidate pair is
245
+ // ever written per action. Local mode keeps the advisory behaviour — the
246
+ // cache is auto-managed, there is no human-approval step, so the flag stays
247
+ // informational and no candidate is proposed. There is no pixel diff here
248
+ // (pixels passed), so `diffPath` is omitted — that, alongside
249
+ // `a11yChanged`, is what marks a11y-only drift apart from pixel drift
250
+ // downstream.
251
+ const a11yDriftInCi = mode === 'ci' && a11yChanged;
252
+ if (a11yDriftInCi) {
253
+ await writeCandidate(mode, paths, actualPng, a11yJson);
254
+ }
196
255
  return finishResult(baseResult, {
197
- status: 'pass',
256
+ status: a11yDriftInCi ? 'changed' : 'pass',
198
257
  baselinePath: paths.baseline,
199
258
  actualPath: paths.actual,
200
259
  diffPixels: outcome.diffPixels,
201
260
  diffRatio: outcome.diffRatio,
202
261
  ssimScore: outcome.ssimScore,
203
262
  a11yChanged: a11yChanged || undefined,
204
- a11yBaselinePath: paths.a11yBaseline,
263
+ a11yBaselinePath: a11yBaselinePathForRead,
205
264
  a11yActualPath: paths.a11yActual,
206
265
  });
207
266
  }
208
267
  await writePng(paths.diff, outcome.diffPng);
268
+ // A `changed` action in CI mode proposes a new baseline — emit it to the
269
+ // candidate tree so approval is a plain tree copy. Local mode does not
270
+ // (its comparison target is the auto-managed cache, not a human-approved
271
+ // set); `writeCandidate` no-ops there.
272
+ await writeCandidate(mode, paths, actualPng, a11yJson);
209
273
  return finishResult(baseResult, {
210
274
  status: 'changed',
211
275
  baselinePath: paths.baseline,
@@ -215,24 +279,59 @@ async function captureAndCompare(options) {
215
279
  diffRatio: outcome.diffRatio,
216
280
  ssimScore: outcome.ssimScore,
217
281
  a11yChanged: a11yChanged || undefined,
218
- a11yBaselinePath: paths.a11yBaseline,
282
+ a11yBaselinePath: a11yBaselinePathForRead,
219
283
  a11yActualPath: paths.a11yActual,
220
284
  });
221
285
  }
222
286
  catch (error) {
223
287
  if (error instanceof ScreenshotSizeMismatchError) {
288
+ // Dimension drift is still a `changed` outcome — same candidate emission
289
+ // (CI only; `writeCandidate` no-ops in local mode).
290
+ await writeCandidate(mode, paths, actualPng, a11yJson);
291
+ // CONTRACT: this branch must NEVER emit `a11yChanged`. The a11y-only-drift
292
+ // discriminator downstream is `a11yChanged === true`, and this pixel-drift
293
+ // (size-mismatch) result already carries no `diffPath`. Were it to also set
294
+ // `a11yChanged`, a consumer that (incorrectly) inferred a11y-only drift from
295
+ // `!diffPath` would misclassify it — but the positive `a11yChanged` gate,
296
+ // which this branch deliberately leaves unset, keeps the two apart. The
297
+ // locking test `never carries a11yChanged` guards this omission against a
298
+ // future "cleanup" that would add it. See the `a11yChanged` doc in
299
+ // schema/result.ts for the consumer-side rule.
224
300
  return finishResult(baseResult, {
225
301
  status: 'changed',
226
302
  baselinePath: paths.baseline,
227
303
  actualPath: paths.actual,
228
304
  failureMessage: error.message,
229
- a11yBaselinePath: paths.a11yBaseline,
305
+ // Structured mirror of `error.message` so the reporter renders the
306
+ // dimensions in an accessible split idiom rather than parsing the prose.
307
+ sizeMismatch: { baseline: error.baseline, actual: error.actual },
308
+ a11yBaselinePath: a11yBaselinePathForRead,
230
309
  a11yActualPath: paths.a11yActual,
231
310
  });
232
311
  }
233
312
  throw error;
234
313
  }
235
314
  }
315
+ /**
316
+ * Emits the proposed-new-baseline render (PNG + a11y companion) to the
317
+ * report-rooted candidate tree (`<report>/candidates/<action>/<breakpoint>.*`).
318
+ * The layout mirrors `paths.baselines` exactly, so approving a candidate set is
319
+ * a plain tree copy. Routed through the same `writePng`/`writeText` seams as
320
+ * every other write, so candidates inherit the lossless recompress pass for
321
+ * free.
322
+ *
323
+ * The candidate tree is a CI-only artifact: local mode self-diffs against the
324
+ * per-machine cache and has no human-approval step, so it never proposes
325
+ * candidates. The mode guard lives here — a single early-return — rather than
326
+ * being repeated at each of the four call sites (`new`, pixel-`changed`,
327
+ * size-mismatch, and CI a11y-only drift).
328
+ */
329
+ async function writeCandidate(mode, paths, actualPng, a11yJson) {
330
+ if (mode !== 'ci')
331
+ return;
332
+ await writePng(paths.candidate, actualPng);
333
+ await writeText(paths.a11yCandidate, a11yJson);
334
+ }
236
335
  function resolveMasks(page, maskHints, parameters) {
237
336
  if (!maskHints || maskHints.length === 0) {
238
337
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"runAction.js","sourceRoot":"","sources":["../../src/runner/runAction.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,SAAS,GACV,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAgBhD,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAyB;IAEzB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC5E,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,sBAAsB,CAAC;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,wBAAwB,CAAC;IAEtE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,CAAC;YACH,MAAM,iBAAiB,CACrB,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,MAAM,EACN,QAAQ,EACR,SAAS,CACV,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,YAAY,CACjB,MAAM,EACN,UAAU,EACV,UAAU,EACV,SAAS,EACT,KAAK,EACL,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,YAAY,CACjB,MAAM,EACN,UAAU,EACV,UAAU,EACV,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,MAAM,EACnB,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QAChC,OAAO,8BAA8B,CACnC,MAAM,EACN,UAAU,EACV,UAAU,EACV,SAAS,CACV,CAAC;IACJ,CAAC;IAED,OAAO,iBAAiB,CAAC;QACvB,MAAM;QACN,IAAI;QACJ,UAAU;QACV,MAAM;QACN,SAAS;QACT,SAAS;QACT,UAAU;KACX,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAU,EACV,IAAU,EACV,UAAkC,EAClC,MAAsB,EACtB,QAAgB,EAChB,SAAiB;IAEjB,IAAI,SAAkB,CAAC;IACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAoB,CAAC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACrE,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,MAAM,SAAS,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,IAAU,EACV,IAAU,EACV,UAAkC,EAClC,MAAsB;IAEtB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,WAAW,CAChB,IAAI,EACJ,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAClC,MAAM,EACN,IAAI,CAAC,SAAS,CACf,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,QAAQ,CACb,IAAI,EACJ,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EACtC,MAAM,CAAC,gBAAgB,CACxB,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,QAAQ,CACb,IAAI,EACJ,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EACtC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EACnC,MAAM,CAAC,gBAAgB,CACxB,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,KAAK,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,KAAK,SAAS;YACZ,OAAO,UAAU,CACf,IAAI,EACJ,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EACtC,MAAM,CAAC,gBAAgB,CACxB,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAC/D,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5D,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAC/B,IAAU,EACV,WAA0C,EAC1C,UAAkC;IAElC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,IAAI,yBAAyB,CAAC;IACrE,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxD,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAClC,CAAC;IACF,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;SACvB,KAAK,EAAE;SACP,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;SACjD,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,MAAM,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CACL,CAAC;IACF,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GACT,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACxD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACvC,CAAC,CAAC,KAAK,CAAC;QACZ,MAAM,IAAI,wBAAwB,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAyBD,KAAK,UAAU,iBAAiB,CAC9B,OAAuB;IAEvB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,GAC1E,OAAO,CAAC;IACV,MAAM,KAAK,GAAG,QAAQ,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;QACpC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;QAC9B,SAAS;QACT,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,UAAU;KACX,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,aAAa,CAC9B,MAAM,CAAC,MAAM,EACb,UAAU,EACV,UAAU,EACV,SAAS,CACV,CAAC;IAEF,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,EAAE;IACF,6BAA6B;IAC7B,uEAAuE;IACvE,kEAAkE;IAClE,4EAA4E;IAC5E,4EAA4E;IAC5E,oEAAoE;IACpE,8EAA8E;IAC9E,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAClC,KAAK,CAAC,QAAQ,EACd,KAAK,IAAkE,EAAE;QACvE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACjD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC3C,CAAC;QACD,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC,CACF,CAAC;IAEF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC,UAAU,EAAE;YAC9B,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,KAAK,CAAC,QAAQ;YAC5B,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,gBAAgB,EAAE,KAAK,CAAC,YAAY;YACpC,cAAc,EAAE,KAAK,CAAC,UAAU;SACjC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;IAC9B,0EAA0E;IAC1E,uEAAuE;IACvE,2DAA2D;IAC3D,MAAM,uBAAuB,GAC3B,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IAC5E,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,QAAQ,CAAC;IAE5E,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc,IAAI,GAAG,CAAC;QAC1D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC;QACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,IAAI,aAAa,CAAC;QACtD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO,YAAY,CAAC,UAAU,EAAE;gBAC9B,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,KAAK,CAAC,QAAQ;gBAC5B,UAAU,EAAE,KAAK,CAAC,MAAM;gBACxB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,WAAW,IAAI,SAAS;gBACrC,gBAAgB,EAAE,KAAK,CAAC,YAAY;gBACpC,cAAc,EAAE,KAAK,CAAC,UAAU;aACjC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,YAAY,CAAC,UAAU,EAAE;YAC9B,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,KAAK,CAAC,QAAQ;YAC5B,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,QAAQ,EAAE,KAAK,CAAC,IAAI;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,WAAW,IAAI,SAAS;YACrC,gBAAgB,EAAE,KAAK,CAAC,YAAY;YACpC,cAAc,EAAE,KAAK,CAAC,UAAU;SACjC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,2BAA2B,EAAE,CAAC;YACjD,OAAO,YAAY,CAAC,UAAU,EAAE;gBAC9B,MAAM,EAAE,SAAS;gBACjB,YAAY,EAAE,KAAK,CAAC,QAAQ;gBAC5B,UAAU,EAAE,KAAK,CAAC,MAAM;gBACxB,cAAc,EAAE,KAAK,CAAC,OAAO;gBAC7B,gBAAgB,EAAE,KAAK,CAAC,YAAY;gBACpC,cAAc,EAAE,KAAK,CAAC,UAAU;aACjC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAAU,EACV,SAA6B,EAC7B,UAAkC;IAElC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAAC,IAAU;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa,CACpB,UAAkB,EAClB,UAAkC,EAClC,UAAkB,EAClB,SAAe;IAEf,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,UAAU;QACV,UAAU;QACV,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;QAClC,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;QACnC,UAAU,EAAE,CAAC;KACd,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CACrC,MAAc,EACd,UAAkC,EAClC,UAAkB,EAClB,SAAe;IAEf,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU;QACV,UAAU;QACV,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;QAClC,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,MAAc,EACd,UAAkC,EAClC,UAAkB,EAClB,SAAe,EACf,WAAmB,EACnB,KAAc;IAEd,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU;QACV,UAAU;QACV,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;QAClC,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;QACtD,eAAe,EAAE,WAAW;QAC5B,cAAc,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,IAAkB,EAClB,SAA2D;IAE3D,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,OAAO;QACL,GAAG,IAAI;QACP,GAAG,SAAS;QACZ,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAc,EACd,UAAkC;IAElC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,MAAM,2BAA2B,QAAQ,GAAG,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,WAAW,CAAgC;IAC3C,UAAU,CAAU;IAC7B,YACE,WAA0C,EAC1C,UAAmB,EACnB,SAAiB;QAEjB,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK;aAC9B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,CACH,uCAAuC,SAAS,mBAAmB,OAAO,GAAG,CAC9E,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"runAction.js","sourceRoot":"","sources":["../../src/runner/runAction.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAEL,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,SAAS,GACV,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAgB,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AA+BhD,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAyB;IAEzB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC5E,MAAM,IAAI,GAAY,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;IAC9C,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,6EAA6E;IAC7E,kEAAkE;IAClE,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,6EAA6E;IAC7E,MAAM,uBAAuB,GAA2B;QACtD,UAAU;QACV,GAAG,UAAU;KACd,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,sBAAsB,CAAC;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,wBAAwB,CAAC;IAEtE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,CAAC;YACH,MAAM,iBAAiB,CACrB,IAAI,EACJ,IAAI,EACJ,uBAAuB,EACvB,MAAM,EACN,QAAQ,EACR,SAAS,CACV,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,YAAY,CACjB,MAAM,EACN,UAAU,EACV,UAAU,EACV,SAAS,EACT,KAAK,EACL,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,YAAY,CACjB,MAAM,EACN,UAAU,EACV,UAAU,EACV,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,MAAM,EACnB,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QAChC,OAAO,8BAA8B,CACnC,MAAM,EACN,UAAU,EACV,UAAU,EACV,SAAS,CACV,CAAC;IACJ,CAAC;IAED,OAAO,iBAAiB,CAAC;QACvB,MAAM;QACN,IAAI;QACJ,UAAU;QACV,uBAAuB;QACvB,MAAM;QACN,SAAS;QACT,SAAS;QACT,UAAU;QACV,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAU,EACV,IAAU,EACV,UAAkC,EAClC,MAAsB,EACtB,QAAgB,EAChB,SAAiB;IAEjB,IAAI,SAAkB,CAAC;IACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAoB,CAAC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACrE,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,MAAM,SAAS,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,IAAU,EACV,IAAU,EACV,UAAkC,EAClC,MAAsB;IAEtB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,WAAW,CAChB,IAAI,EACJ,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAClC,MAAM,EACN,IAAI,CAAC,SAAS,CACf,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,QAAQ,CACb,IAAI,EACJ,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EACtC,MAAM,CAAC,gBAAgB,CACxB,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,QAAQ,CACb,IAAI,EACJ,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EACtC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EACnC,MAAM,CAAC,gBAAgB,CACxB,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,KAAK,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,KAAK,SAAS;YACZ,OAAO,UAAU,CACf,IAAI,EACJ,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EACtC,MAAM,CAAC,gBAAgB,CACxB,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAC/D,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5D,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAC/B,IAAU,EACV,WAA0C,EAC1C,UAAkC;IAElC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,IAAI,yBAAyB,CAAC;IACrE,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxD,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAClC,CAAC;IACF,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;SACvB,KAAK,EAAE;SACP,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;SACjD,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,MAAM,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CACL,CAAC;IACF,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GACT,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACxD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACvC,CAAC,CAAC,KAAK,CAAC;QACZ,MAAM,IAAI,wBAAwB,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AA8BD,KAAK,UAAU,iBAAiB,CAC9B,OAAuB;IAEvB,MAAM,EACJ,MAAM,EACN,IAAI,EACJ,UAAU,EACV,uBAAuB,EACvB,MAAM,EACN,SAAS,EACT,SAAS,EACT,UAAU,EACV,IAAI,GACL,GAAG,OAAO,CAAC;IACZ,0EAA0E;IAC1E,uEAAuE;IACvE,uEAAuE;IACvE,oEAAoE;IACpE,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,4EAA4E;IAC5E,2EAA2E;IAC3E,iDAAiD;IACjD,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,QAAQ,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;QACpC,cAAc;QACd,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;QAC9B,SAAS;QACT,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,UAAU;KACX,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACrE,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,aAAa,CAC9B,MAAM,CAAC,MAAM,EACb,UAAU,EACV,UAAU,EACV,SAAS,CACV,CAAC;IAEF,2EAA2E;IAC3E,yEAAyE;IACzE,4EAA4E;IAC5E,EAAE;IACF,6BAA6B;IAC7B,uEAAuE;IACvE,kEAAkE;IAClE,4EAA4E;IAC5E,4EAA4E;IAC5E,oEAAoE;IACpE,8EAA8E;IAC9E,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,qEAAqE;IACrE,oEAAoE;IACpE,2EAA2E;IAC3E,+EAA+E;IAC/E,+CAA+C;IAC/C,wEAAwE;IACxE,6EAA6E;IAC7E,sEAAsE;IACtE,6EAA6E;IAC7E,uDAAuD;IACvD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAClC,KAAK,CAAC,QAAQ,EACd,KAAK,IAAkE,EAAE;QACvE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACjD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC1C,MAAM,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CACF,CAAC;IAEF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,4EAA4E;QAC5E,0EAA0E;QAC1E,yEAAyE;QACzE,0BAA0B;QAC1B,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvD,OAAO,YAAY,CAAC,UAAU,EAAE;YAC9B,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,KAAK,CAAC,QAAQ;YAC5B,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,gBAAgB,EAAE,KAAK,CAAC,YAAY;YACpC,cAAc,EAAE,KAAK,CAAC,UAAU;SACjC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;IAC9B,0EAA0E;IAC1E,uEAAuE;IACvE,2DAA2D;IAC3D,MAAM,uBAAuB,GAC3B,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IAC5E,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,QAAQ,CAAC;IAE5E,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc,IAAI,GAAG,CAAC;QAC1D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC;QACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,IAAI,aAAa,CAAC;QACtD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,2EAA2E;YAC3E,yEAAyE;YACzE,4EAA4E;YAC5E,0EAA0E;YAC1E,2EAA2E;YAC3E,wEAAwE;YACxE,yEAAyE;YACzE,4EAA4E;YAC5E,0EAA0E;YAC1E,8DAA8D;YAC9D,sEAAsE;YACtE,cAAc;YACd,MAAM,aAAa,GAAG,IAAI,KAAK,IAAI,IAAI,WAAW,CAAC;YACnD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,YAAY,CAAC,UAAU,EAAE;gBAC9B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;gBAC1C,YAAY,EAAE,KAAK,CAAC,QAAQ;gBAC5B,UAAU,EAAE,KAAK,CAAC,MAAM;gBACxB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,WAAW,IAAI,SAAS;gBACrC,gBAAgB,EAAE,uBAAuB;gBACzC,cAAc,EAAE,KAAK,CAAC,UAAU;aACjC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,uCAAuC;QACvC,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvD,OAAO,YAAY,CAAC,UAAU,EAAE;YAC9B,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,KAAK,CAAC,QAAQ;YAC5B,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,QAAQ,EAAE,KAAK,CAAC,IAAI;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,WAAW,IAAI,SAAS;YACrC,gBAAgB,EAAE,uBAAuB;YACzC,cAAc,EAAE,KAAK,CAAC,UAAU;SACjC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,2BAA2B,EAAE,CAAC;YACjD,yEAAyE;YACzE,oDAAoD;YACpD,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACvD,2EAA2E;YAC3E,2EAA2E;YAC3E,4EAA4E;YAC5E,6EAA6E;YAC7E,0EAA0E;YAC1E,wEAAwE;YACxE,0EAA0E;YAC1E,mEAAmE;YACnE,+CAA+C;YAC/C,OAAO,YAAY,CAAC,UAAU,EAAE;gBAC9B,MAAM,EAAE,SAAS;gBACjB,YAAY,EAAE,KAAK,CAAC,QAAQ;gBAC5B,UAAU,EAAE,KAAK,CAAC,MAAM;gBACxB,cAAc,EAAE,KAAK,CAAC,OAAO;gBAC7B,mEAAmE;gBACnE,yEAAyE;gBACzE,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;gBAChE,gBAAgB,EAAE,uBAAuB;gBACzC,cAAc,EAAE,KAAK,CAAC,UAAU;aACjC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,cAAc,CAC3B,IAAa,EACb,KAAoB,EACpB,SAAiB,EACjB,QAAgB;IAEhB,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO;IAC1B,MAAM,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC3C,MAAM,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CACnB,IAAU,EACV,SAA6B,EAC7B,UAAkC;IAElC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAAC,IAAU;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa,CACpB,UAAkB,EAClB,UAAkC,EAClC,UAAkB,EAClB,SAAe;IAEf,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,UAAU;QACV,UAAU;QACV,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;QAClC,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;QACnC,UAAU,EAAE,CAAC;KACd,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CACrC,MAAc,EACd,UAAkC,EAClC,UAAkB,EAClB,SAAe;IAEf,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU;QACV,UAAU;QACV,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;QAClC,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,MAAc,EACd,UAAkC,EAClC,UAAkB,EAClB,SAAe,EACf,WAAmB,EACnB,KAAc;IAEd,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU;QACV,UAAU;QACV,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;QAClC,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;QACtD,eAAe,EAAE,WAAW;QAC5B,cAAc,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,IAAkB,EAClB,SAA2D;IAE3D,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,OAAO;QACL,GAAG,IAAI;QACP,GAAG,SAAS;QACZ,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAc,EACd,UAAkC;IAElC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,MAAM,2BAA2B,QAAQ,GAAG,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,WAAW,CAAgC;IAC3C,UAAU,CAAU;IAC7B,YACE,WAA0C,EAC1C,UAAmB,EACnB,SAAiB;QAEjB,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK;aAC9B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,CACH,uCAAuC,SAAS,mBAAmB,OAAO,GAAG,CAC9E,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
@@ -4,6 +4,7 @@ import type { Action } from '../schema/action.ts';
4
4
  import type { Story } from '../schema/story.ts';
5
5
  import type { StoryResult, StoryStatus } from '../schema/result.ts';
6
6
  import type { CoverageCollector } from './coverage.ts';
7
+ import type { RunMode } from './mode.ts';
7
8
  export interface RunStoryOptions {
8
9
  story: Story;
9
10
  file: string;
@@ -13,6 +14,20 @@ export interface RunStoryOptions {
13
14
  config: ResolvedConfig;
14
15
  headed: boolean;
15
16
  coverage?: CoverageCollector;
17
+ /**
18
+ * Render only this breakpoint. The run driver passes one breakpoint per
19
+ * invocation so each breakpoint is its own reset/seed pass (see
20
+ * {@link resolveRunSet}). Omitted only by direct callers/tests, which fall
21
+ * back to the story's full resolved run set.
22
+ */
23
+ breakpoint?: ResolvedBreakpoint;
24
+ /**
25
+ * Comparison contract for this run (see {@link RunMode}). Threaded down to
26
+ * `runAction`, which uses it to decide whether a missing/changed baseline
27
+ * auto-writes `paths.baselines` (local) or emits a candidate only (CI).
28
+ * Optional so direct callers/tests keep compiling; the run driver supplies it.
29
+ */
30
+ mode?: RunMode;
16
31
  }
17
32
  /**
18
33
  * Drives one story end-to-end on a freshly launched browser. Wraps the
@@ -44,9 +59,5 @@ export declare function runStoryWithBrowser(browser: Browser, options: RunStoryO
44
59
  * - omitted — run the project's `config.breakpoints`, in order (the default).
45
60
  */
46
61
  export declare function resolveRunSet(story: Story, config: ResolvedConfig): ResolvedBreakpoint[];
47
- /**
48
- * Folds one breakpoint's outcome into the running story status, keeping the
49
- * worst: any `failed` wins; otherwise any `changed` wins; otherwise `pass`.
50
- */
51
62
  export declare function mergeStoryStatus(current: StoryStatus, next: StoryStatus): StoryStatus;
52
63
  //# sourceMappingURL=runStory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runStory.d.ts","sourceRoot":"","sources":["../../src/runner/runStory.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,OAAO,EAGb,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAEV,WAAW,EACX,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAID;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAW7E;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,WAAW,CAAC,CAyGtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,GACrB,kBAAkB,EAAE,CAKtB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,WAAW,GAChB,WAAW,CAQb"}
1
+ {"version":3,"file":"runStory.d.ts","sourceRoot":"","sources":["../../src/runner/runStory.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,OAAO,EAGb,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAEV,WAAW,EACX,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAID;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAU7E;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,WAAW,CAAC,CA6HtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,GACrB,kBAAkB,EAAE,CAKtB;AAeD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,WAAW,GAChB,WAAW,CAEb"}
@@ -15,9 +15,8 @@ const TRACE_SUBDIR = 'traces';
15
15
  */
16
16
  export async function runStory(options) {
17
17
  const startedAt = new Date();
18
- for (const fixture of options.story.fixtures ?? []) {
19
- await applyFixture(options.config, fixture);
20
- }
18
+ // Fixtures are applied per breakpoint inside `runStoryWithBrowser`, not once
19
+ // here — see the reseed comment in the breakpoint loop.
21
20
  const browser = await chromium.launch({ headless: !options.headed });
22
21
  try {
23
22
  return await runStoryWithBrowser(browser, options, startedAt);
@@ -39,7 +38,13 @@ export async function runStoryWithBrowser(browser, options, startedAt) {
39
38
  // Resolve the storage state once: it is viewport-independent, so every
40
39
  // breakpoint context loads the same `needs` auth payload.
41
40
  const storageStatePath = await resolveStorageStateForNeeds(config, needs);
42
- const runSet = resolveRunSet(story, config);
41
+ // The run driver hands us a single breakpoint per call so each breakpoint is
42
+ // its own reset/seed pass (the database-isolation guarantee). Direct
43
+ // callers/tests that omit it fall back to the story's full run set, which
44
+ // keeps the in-loop behaviour exercisable without the outer driver.
45
+ const runSet = options.breakpoint
46
+ ? [options.breakpoint]
47
+ : resolveRunSet(story, config);
43
48
  const results = [];
44
49
  // The story's status is the worst outcome across every breakpoint it ran at:
45
50
  // failed if any breakpoint had a failed/skipped action, else changed if any
@@ -56,6 +61,20 @@ export async function runStoryWithBrowser(browser, options, startedAt) {
56
61
  // uniquely-named zip so none overwrite each other on disk.
57
62
  let firstTracePath;
58
63
  for (const breakpoint of runSet) {
64
+ // Apply the story's own fixtures before the breakpoint context launches.
65
+ // The deeper cross-breakpoint isolation — a destructive story (change
66
+ // password, empty read history) mutating globally-seeded rows it does not
67
+ // own a fixture for — is handled one level up: the run driver executes each
68
+ // breakpoint as a separate pass behind a full `database.reset()`, so this
69
+ // call only owns the story-local seed. Fixtures stay idempotent (each
70
+ // deletes its own rows before re-inserting), so a non-mutating story pays
71
+ // just a cheap re-apply. When this loop runs multiple breakpoints itself
72
+ // (a direct caller that passed no single `breakpoint`), the fixture re-apply
73
+ // is the only reset between them — that path does not get the per-pass DB
74
+ // reset, so destructive multi-breakpoint stories must run through the driver.
75
+ for (const fixture of story.fixtures ?? []) {
76
+ await applyFixture(config, fixture);
77
+ }
59
78
  const context = await browser.newContext({
60
79
  baseURL: config.baseUrl,
61
80
  viewport: { width: breakpoint.width, height: breakpoint.height },
@@ -143,16 +162,18 @@ export function resolveRunSet(story, config) {
143
162
  }
144
163
  /**
145
164
  * Folds one breakpoint's outcome into the running story status, keeping the
146
- * worst: any `failed` wins; otherwise any `changed` wins; otherwise `pass`.
165
+ * worst by precedence `failed` > `changed` > `new` > `pass`. So a story that is
166
+ * `new` at one breakpoint and `pass` at another reports `new`, but any `changed`
167
+ * or `failed` breakpoint outranks it.
147
168
  */
169
+ const STORY_STATUS_RANK = {
170
+ pass: 0,
171
+ new: 1,
172
+ changed: 2,
173
+ failed: 3,
174
+ };
148
175
  export function mergeStoryStatus(current, next) {
149
- if (current === 'failed' || next === 'failed') {
150
- return 'failed';
151
- }
152
- if (current === 'changed' || next === 'changed') {
153
- return 'changed';
154
- }
155
- return 'pass';
176
+ return STORY_STATUS_RANK[next] > STORY_STATUS_RANK[current] ? next : current;
156
177
  }
157
178
  /**
158
179
  * Runs every action of the story once, in order, against a single breakpoint's
@@ -184,15 +205,16 @@ async function runActionsForBreakpoint(page, breakpoint, options) {
184
205
  storyFile: file,
185
206
  config,
186
207
  breakpoint: breakpoint.name,
208
+ mode: options.mode,
187
209
  });
188
210
  results.push(result);
189
- if (result.status === 'failed') {
190
- status = 'failed';
191
- }
192
- else if (result.status === 'changed' || result.status === 'new') {
193
- if (status === 'pass') {
194
- status = 'changed';
195
- }
211
+ // `new`/`changed`/`failed` each fold in by precedence; `new` keeps its own
212
+ // status instead of being flattened into `changed` so first-run baselines
213
+ // read as new rather than as drift. `skipped`/`pass` leave the rollup alone.
214
+ if (result.status === 'failed' ||
215
+ result.status === 'changed' ||
216
+ result.status === 'new') {
217
+ status = mergeStoryStatus(status, result.status);
196
218
  }
197
219
  }
198
220
  // Stamp the real capture dimensions onto every result so the reporter can
@@ -1 +1 @@
1
- {"version":3,"file":"runStory.js","sourceRoot":"","sources":["../../src/runner/runStory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,QAAQ,GAIT,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,GAGpB,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAa3C,MAAM,YAAY,GAAG,QAAQ,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACnD,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,OAAO,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAgB,EAChB,OAAwB,EACxB,SAAe;IAEf,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACnE,uEAAuE;IACvE,0DAA0D;IAC1D,MAAM,gBAAgB,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,6EAA6E;IAC7E,4EAA4E;IAC5E,8DAA8D;IAC9D,IAAI,WAAW,GAAgB,MAAM,CAAC;IACtC,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,6EAA6E;IAC7E,4EAA4E;IAC5E,uEAAuE;IACvE,2DAA2D;IAC3D,IAAI,cAAkC,CAAC;IAEvC,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACvC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;YAChE,YAAY,EAAE,gBAAgB;YAC9B,iBAAiB,EAAE,IAAI;YACvB,WAAW,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;SACnD,CAAC,CAAC;QACH,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,4EAA4E;QAC5E,uEAAuE;QACvE,2EAA2E;QAC3E,uEAAuE;QACvE,6EAA6E;QAC7E,4EAA4E;QAC5E,0EAA0E;QAC1E,2EAA2E;QAC3E,IAAI,CAAC;YACH,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACnD,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC1B,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,GAAG,IAAI,KAAK,UAAU,CAAC,IAAI,GAAG;aACtC,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACtD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,uBAAuB,CACjD,IAAI,EACJ,UAAU,EACV,OAAO,CACR,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACvC,WAAW,GAAG,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YAElE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,WAAW,CACjC,OAAO,EACP,MAAM,EACN,IAAI,EACJ,UAAU,CAAC,IAAI,EACf,aAAa,CAAC,MAAM,CACrB,CAAC;YACF,IAAI,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC9C,cAAc,GAAG,SAAS,CAAC;YAC7B,CAAC;YACD,uEAAuE;YACvE,sEAAsE;YACtE,sEAAsE;YACtE,cAAc;YACd,IACE,CAAC,iBAAiB;gBAClB,aAAa,CAAC,MAAM,KAAK,QAAQ;gBACjC,QAAQ,CAAC,MAAM,GAAG,CAAC,EACnB,CAAC;gBACD,MAAM,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC1D,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI;QACJ,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;QAClC,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;QACtD,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,cAAc;KAC1B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAY,EACZ,MAAsB;IAEtB,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAoB,EACpB,IAAiB;IAEjB,IAAI,OAAO,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAOD;;;;;;;GAOG;AACH,KAAK,UAAU,uBAAuB,CACpC,IAAU,EACV,UAA8B,EAC9B,OAAwB;IAExB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,MAAM,GAAgB,MAAM,CAAC;IAEjC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CACV,OAAO,CACL,SAAS,CAAC,MAAM,EAChB,UAAU,CAAC,IAAI,EACf,gBAAgB,EAChB,SAAS,CAAC,UAAU,CACrB,CACF,CAAC;YACF,MAAM,GAAG,QAAQ,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CACV,OAAO,CACL,SAAS,CAAC,MAAM,EAChB,UAAU,CAAC,IAAI,EACf,uBAAuB,EACvB,SAAS,CAAC,UAAU,CACrB,CACF,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;YAC7B,IAAI;YACJ,MAAM;YACN,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,EAAE;YACtC,SAAS,EAAE,IAAI;YACf,MAAM;YACN,UAAU,EAAE,UAAU,CAAC,IAAI;SAC5B,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAClE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,0CAA0C;IAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC;QAC1C,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;IAC9C,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,WAAW,CACxB,OAAuB,EACvB,MAAsB,EACtB,SAAiB,EACjB,UAAkB,EAClB,gBAA6B;IAE7B,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC/D,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,IAAI,UAAU,MAAM,CAAC,CAAC;IACpE,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAChD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,MAAsB,EACtB,KAAe;IAEf,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,kEAAkE;YAClE,4CAA4C;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,OAAuB,EACvB,MAAsB,EACtB,QAAkB;IAElB,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;QAC3D,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CACd,UAAkB,EAClB,UAAkB,EAClB,MAAc,EACd,UAAmC;IAEnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,UAAU;QACV,MAAM,EAAE,SAAS;QACjB,UAAU;QACV,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,MAAM;KACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runStory.js","sourceRoot":"","sources":["../../src/runner/runStory.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,12 @@ export declare function storyMatchesFilter(candidate: {
8
8
  file: string;
9
9
  storyName: string;
10
10
  }, filter: string): boolean;
11
+ /**
12
+ * Normalises a positional story argument (`tuffgal approve user-logs-in`) into
13
+ * the form `storyMatchesFilter` expects. A path-shaped argument
14
+ * (`tuffgal/stories/user-logs-in.json`) reduces to its basename so it matches
15
+ * `story.file`; a bare name passes through untouched (the `.json` suffix stays
16
+ * optional, since `storyMatchesFilter` accepts the name with or without it).
17
+ */
18
+ export declare function normaliseStoryArg(arg: string): string;
11
19
  //# sourceMappingURL=storyFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storyFilter.d.ts","sourceRoot":"","sources":["../../src/runner/storyFilter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC9C,MAAM,EAAE,MAAM,GACb,OAAO,CAMT"}
1
+ {"version":3,"file":"storyFilter.d.ts","sourceRoot":"","sources":["../../src/runner/storyFilter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC9C,MAAM,EAAE,MAAM,GACb,OAAO,CAMT;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGrD"}
@@ -9,4 +9,15 @@ export function storyMatchesFilter(candidate, filter) {
9
9
  candidate.file === `${filter}.json` ||
10
10
  candidate.storyName === filter);
11
11
  }
12
+ /**
13
+ * Normalises a positional story argument (`tuffgal approve user-logs-in`) into
14
+ * the form `storyMatchesFilter` expects. A path-shaped argument
15
+ * (`tuffgal/stories/user-logs-in.json`) reduces to its basename so it matches
16
+ * `story.file`; a bare name passes through untouched (the `.json` suffix stays
17
+ * optional, since `storyMatchesFilter` accepts the name with or without it).
18
+ */
19
+ export function normaliseStoryArg(arg) {
20
+ const slash = Math.max(arg.lastIndexOf('/'), arg.lastIndexOf('\\'));
21
+ return slash === -1 ? arg : arg.slice(slash + 1);
22
+ }
12
23
  //# sourceMappingURL=storyFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storyFilter.js","sourceRoot":"","sources":["../../src/runner/storyFilter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAA8C,EAC9C,MAAc;IAEd,OAAO,CACL,SAAS,CAAC,IAAI,KAAK,MAAM;QACzB,SAAS,CAAC,IAAI,KAAK,GAAG,MAAM,OAAO;QACnC,SAAS,CAAC,SAAS,KAAK,MAAM,CAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"storyFilter.js","sourceRoot":"","sources":["../../src/runner/storyFilter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAA8C,EAC9C,MAAc;IAEd,OAAO,CACL,SAAS,CAAC,IAAI,KAAK,MAAM;QACzB,SAAS,CAAC,IAAI,KAAK,GAAG,MAAM,OAAO;QACnC,SAAS,CAAC,SAAS,KAAK,MAAM,CAC/B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC"}