tuffgal 0.2.1-alpha.1 → 0.2.2-alpha.1

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.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,20 @@ this project uses [Pride Versioning](https://pridever.org) → `PROUD.DEFAULT.SH
8
8
 
9
9
  _Nothing just yet_
10
10
 
11
+ ## [0.2.2-alpha.1] – 2026-09-01
12
+
13
+ ### Added
14
+
15
+ `browserArgs` config option; extra command-line flags are now passed
16
+ directly through to `chromium.launch()`.
17
+
18
+ The motivating case is `--force-color-profile=srgb` because without it
19
+ Chromium renders through whatever ICC profile the host OS reports, and a
20
+ laptop and CI container can shift baseline pixels for a reason that has
21
+ nothing to do with what's being tested.
22
+
23
+ If you omit the field, nothing changes from before.
24
+
11
25
  ## [0.2.1-alpha.1] – 2026-08-27
12
26
 
13
27
  ### Fixed
@@ -349,7 +363,8 @@ styling or interactivity.
349
363
  Initial public alpha. Tuffgal extracted from [Linklater](https://github.com/nschneble/linklater)'s
350
364
  in-tree visual testing workspace.
351
365
 
352
- [Unreleased]: https://github.com/nschneble/tuffgal/compare/v0.2.1-alpha.1...HEAD
366
+ [Unreleased]: https://github.com/nschneble/tuffgal/compare/v0.2.2-alpha.1...HEAD
367
+ [0.2.2-alpha.1]: https://github.com/nschneble/tuffgal/releases/tag/v0.2.2-alpha.1
353
368
  [0.2.1-alpha.1]: https://github.com/nschneble/tuffgal/releases/tag/v0.2.1-alpha.1
354
369
  [0.2.0-alpha.8]: https://github.com/nschneble/tuffgal/releases/tag/v0.2.0-alpha.8
355
370
  [0.2.0-alpha.7]: https://github.com/nschneble/tuffgal/releases/tag/v0.2.0-alpha.7
package/dist/config.d.ts CHANGED
@@ -201,6 +201,16 @@ export interface TuffgalConfig {
201
201
  * Playwright's own default, which is `light`. See {@link ColorScheme}.
202
202
  */
203
203
  colorScheme?: ColorScheme;
204
+ /**
205
+ * Extra command-line flags for `chromium.launch()`, passed through
206
+ * unchanged. Use for a flag a project needs deterministic rendering on —
207
+ * `--force-color-profile=srgb` is the motivating case: without it, Chromium
208
+ * renders through whatever ICC profile the host OS reports, and a laptop's
209
+ * profile and a CI container's default diverge, shifting baseline pixels
210
+ * for a reason that has nothing to do with the page under test. Defaults
211
+ * to none.
212
+ */
213
+ browserArgs?: string[];
204
214
  /**
205
215
  * Safety cap on a `fullPage` capture's total area, in pixels (width ×
206
216
  * height). A `fullPage` shot composites the whole scrollable document, so an
@@ -269,6 +279,8 @@ export interface ResolvedConfig {
269
279
  captureMode: CaptureMode;
270
280
  /** Pinned colour scheme, or `undefined` for Playwright's `light` default. */
271
281
  colorScheme: ColorScheme | undefined;
282
+ /** Extra `chromium.launch()` flags; defaults to empty. */
283
+ browserArgs: string[];
272
284
  /** Resolved full-page area cap in pixels; defaults to 30_000_000. */
273
285
  maxFullPagePixels: number;
274
286
  defaultTimeoutMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -137,6 +137,13 @@ export function assertValidConfig(input, source) {
137
137
  fail('`seededLabels` must be an array of non-empty strings when provided.');
138
138
  }
139
139
  }
140
+ if (config.browserArgs !== undefined) {
141
+ const args = config.browserArgs;
142
+ if (!Array.isArray(args) ||
143
+ args.some((arg) => typeof arg !== 'string' || arg.length === 0)) {
144
+ fail('`browserArgs` must be an array of non-empty strings when provided.');
145
+ }
146
+ }
140
147
  if (config.interactiveMode !== undefined &&
141
148
  typeof config.interactiveMode !== 'boolean') {
142
149
  fail('`interactiveMode` must be a boolean when provided.');
@@ -196,6 +203,7 @@ function resolveConfig(input, rootDir) {
196
203
  breakpoints,
197
204
  captureMode: input.captureMode ?? DEFAULTS.captureMode,
198
205
  colorScheme: input.colorScheme,
206
+ browserArgs: input.browserArgs ?? [],
199
207
  maxFullPagePixels: input.maxFullPagePixels ?? DEFAULTS.maxFullPagePixels,
200
208
  defaultTimeoutMs: input.defaultTimeoutMs ?? DEFAULTS.defaultTimeoutMs,
201
209
  navigationTimeoutMs: input.navigationTimeoutMs ?? DEFAULTS.navigationTimeoutMs,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ResolvedBreakpoint, ResolvedConfig } from '../config.ts';
2
2
  import type { StoryResult } from '../schema/result.ts';
3
- import type { ScheduledStory } from './scheduler.ts';
3
+ import type { ScheduledStory } from './schedule.ts';
4
4
  /**
5
5
  * True when `item` renders at `breakpoint`, i.e. its resolved run set (its own
6
6
  * `breakpoints` override, else the project default) contains a breakpoint with
@@ -1 +1 @@
1
- {"version":3,"file":"breakpointPasses.d.ts","sourceRoot":"","sources":["../../src/runner/breakpointPasses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAYrD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAGT;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,cAAc,EAAE,EACzB,MAAM,EAAE,cAAc,GACrB,kBAAkB,EAAE,CActB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,CA6BnE"}
1
+ {"version":3,"file":"breakpointPasses.d.ts","sourceRoot":"","sources":["../../src/runner/breakpointPasses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAYpD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAGT;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,cAAc,EAAE,EACzB,MAAM,EAAE,cAAc,GACrB,kBAAkB,EAAE,CActB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,CA6BnE"}
@@ -1,22 +1,5 @@
1
- import type { ResolvedConfig } from '../config.ts';
2
- import type { StoryFile } from '../schema/load.ts';
3
1
  import type { StoryResult } from '../schema/result.ts';
4
- export interface ScheduledStory extends StoryFile {
5
- needs: string[];
6
- produces: string[];
7
- }
8
- /**
9
- * Validates that every produced label is emitted by at most one story and
10
- * that every `needs` label is satisfiable: either a scheduled story
11
- * `produces` it, or the project declared it in `config.seededLabels` AND
12
- * `<paths.authState>/<label>.json` exists for `resolveStorageStateForNeeds` to
13
- * load. Both halves are required, because neither alone separates a deliberate
14
- * seed from residue: a bare file can be what a renamed or deleted producer left
15
- * behind, and a bare declaration can name a file nobody ever wrote. Throws a
16
- * descriptive error on any mismatch so a typo in a JSON file fails loudly at
17
- * load time, not at run time.
18
- */
19
- export declare function buildSchedule(stories: StoryFile[], config: ResolvedConfig): ScheduledStory[];
2
+ import { type ScheduledStory } from './schedule.ts';
20
3
  export type StoryRunner = (scheduled: ScheduledStory) => Promise<StoryResult>;
21
4
  /** The labels the given stories produce, scoped to the list passed in. */
22
5
  export declare function collectProducedLabels(scheduled: ScheduledStory[]): Set<string>;
@@ -31,7 +14,4 @@ export declare function collectProducedLabels(scheduled: ScheduledStory[]): Set<
31
14
  * so the report shows the chain of effects, not a silent absence.
32
15
  */
33
16
  export declare function drainSchedule(scheduled: ScheduledStory[], workerCount: number, runner: StoryRunner, onStart: (item: ScheduledStory) => void, onFinish: (item: ScheduledStory, result: StoryResult) => void): Promise<StoryResult[]>;
34
- export declare class SchedulerError extends Error {
35
- constructor(message: string);
36
- }
37
- //# sourceMappingURL=scheduler.d.ts.map
17
+ //# sourceMappingURL=drain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drain.d.ts","sourceRoot":"","sources":["../../src/runner/drain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AASpE,MAAM,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,cAAc,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAE9E,0EAA0E;AAC1E,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,cAAc,EAAE,GAC1B,GAAG,CAAC,MAAM,CAAC,CAEb;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,cAAc,EAAE,EAC3B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,EACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,GAC5D,OAAO,CAAC,WAAW,EAAE,CAAC,CAsHxB"}
@@ -1,59 +1,4 @@
1
- import { existsSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { normalisedNeeds } from "../schema/story.js";
4
- /**
5
- * Validates that every produced label is emitted by at most one story and
6
- * that every `needs` label is satisfiable: either a scheduled story
7
- * `produces` it, or the project declared it in `config.seededLabels` AND
8
- * `<paths.authState>/<label>.json` exists for `resolveStorageStateForNeeds` to
9
- * load. Both halves are required, because neither alone separates a deliberate
10
- * seed from residue: a bare file can be what a renamed or deleted producer left
11
- * behind, and a bare declaration can name a file nobody ever wrote. Throws a
12
- * descriptive error on any mismatch so a typo in a JSON file fails loudly at
13
- * load time, not at run time.
14
- */
15
- export function buildSchedule(stories, config) {
16
- const scheduled = stories.map((entry) => ({
17
- ...entry,
18
- needs: normalisedNeeds(entry.story),
19
- produces: entry.story.produces ?? [],
20
- }));
21
- const producerByLabel = new Map();
22
- for (const item of scheduled) {
23
- for (const label of item.produces) {
24
- const previous = producerByLabel.get(label);
25
- if (previous !== undefined) {
26
- throw new SchedulerError(`Label "${label}" is produced by both ${previous} and ${item.file}. Labels must be unique.`);
27
- }
28
- producerByLabel.set(label, item.file);
29
- }
30
- }
31
- const declaredSeeds = new Set(config.seededLabels);
32
- for (const item of scheduled) {
33
- for (const label of item.needs) {
34
- if (producerByLabel.has(label)) {
35
- continue;
36
- }
37
- // A declared pre-seeded storage state stands in for a producer: the run
38
- // reads <authState>/<label>.json instead of rendering the story that
39
- // would have written it. An undeclared label is indistinguishable from a
40
- // typo, whether or not some file happens to sit at that path.
41
- const seedPath = join(config.paths.authState, `${label}.json`);
42
- if (!declaredSeeds.has(label)) {
43
- throw new SchedulerError(`${item.file} needs label "${label}" but no story produces it and ` +
44
- `it is not listed in \`seededLabels\`. Add a story that produces ` +
45
- `it, or declare the label and seed ${seedPath}.`);
46
- }
47
- if (!existsSync(seedPath)) {
48
- throw new SchedulerError(`${item.file} needs label "${label}", declared in \`seededLabels\`, ` +
49
- `but no storage state exists at ${seedPath}. Seed it before ` +
50
- `\`tuffgal run\`.`);
51
- }
52
- }
53
- }
54
- detectCycles(scheduled, producerByLabel);
55
- return scheduled;
56
- }
1
+ import { SchedulerError } from "./schedule.js";
57
2
  /** The labels the given stories produce, scoped to the list passed in. */
58
3
  export function collectProducedLabels(scheduled) {
59
4
  return new Set(scheduled.flatMap((item) => item.produces));
@@ -213,38 +158,4 @@ function skipDependents(failed, scheduled, context, ordered) {
213
158
  }
214
159
  }
215
160
  }
216
- function detectCycles(scheduled, producerByLabel) {
217
- const byFile = new Map(scheduled.map((entry) => [entry.file, entry]));
218
- const visited = new Set();
219
- const onStack = new Set();
220
- const visit = (file) => {
221
- if (onStack.has(file)) {
222
- throw new SchedulerError(`Cycle detected in story dependencies involving ${file}`);
223
- }
224
- if (visited.has(file)) {
225
- return;
226
- }
227
- onStack.add(file);
228
- const item = byFile.get(file);
229
- if (item) {
230
- for (const label of item.needs) {
231
- const upstream = producerByLabel.get(label);
232
- if (upstream && upstream !== file) {
233
- visit(upstream);
234
- }
235
- }
236
- }
237
- onStack.delete(file);
238
- visited.add(file);
239
- };
240
- for (const item of scheduled) {
241
- visit(item.file);
242
- }
243
- }
244
- export class SchedulerError extends Error {
245
- constructor(message) {
246
- super(message);
247
- this.name = 'SchedulerError';
248
- }
249
- }
250
- //# sourceMappingURL=scheduler.js.map
161
+ //# sourceMappingURL=drain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drain.js","sourceRoot":"","sources":["../../src/runner/drain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAuB,MAAM,eAAe,CAAC;AAWpE,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB,CACnC,SAA2B;IAE3B,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAA2B,EAC3B,WAAmB,EACnB,MAAmB,EACnB,OAAuC,EACvC,QAA6D;IAE7D,MAAM,OAAO,GAAe;QAC1B,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,OAAO,EAAE,IAAI,GAAG,EAAE;KACnB,CAAC;IACF,MAAM,OAAO,GAAqB,EAAE,CAAC;IAErC,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAE1D,+EAA+E;IAC/E,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC7D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3E,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACpD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,4EAA4E;IAC5E,yDAAyD;IACzD,MAAM,KAAK,GAAqB,SAAS,CAAC,MAAM,CAC9C,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,CACtD,CAAC;IAEF,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC;IAEzE,MAAM,SAAS,GAAG,GAA+B,EAAE;QACjD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAChC,IACE,SAAS;gBACT,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;gBACtC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;gBACrC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EACpC,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,IAAoB,EAAQ,EAAE;QACrD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzD,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxD,IAAI,CAAC,WAAW;oBAAE,SAAS;gBAC3B,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,IACE,WAAW,CAAC,IAAI,KAAK,CAAC;oBACtB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACrC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACpC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EACnC,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,IAAI,OAAO,CAAO,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;QACpD,MAAM,SAAS,GAAG,GAAS,EAAE;YAC3B,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,mEAAmE;gBACnE,wEAAwE;gBACxE,yEAAyE;gBACzE,wCAAwC;gBACxC,MAAM,CAAC,IAAI,CAAC;qBACT,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBACf,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACvC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC/B,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBACpD,CAAC;yBAAM,CAAC;wBACN,eAAe,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;oBACD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACvB,IAAI,OAAO,EAAE,EAAE,CAAC;wBACd,YAAY,EAAE,CAAC;wBACf,OAAO;oBACT,CAAC;oBACD,SAAS,EAAE,CAAC;gBACd,CAAC,CAAC;qBACD,KAAK,CAAC,WAAW,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC;gBAC7C,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;QACF,SAAS,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,cAAc,CAAC,gCAAgC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACrB,MAAsB,EACtB,SAA2B,EAC3B,OAAmB,EACnB,OAAyB;IAEzB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,UAAU,EAAE,CAAC;gBACb,OAAO,EAAE;oBACP;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACpC,UAAU,EAAE,CAAC;wBACb,cAAc,EAAE,kCAAkC,MAAM,CAAC,IAAI,EAAE;qBAChE;iBACF;aACF,CAAC,CAAC;YACH,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,+DAA+D;YAC/D,+DAA+D;YAC/D,mEAAmE;YACnE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,iEAAiE;YACjE,gEAAgE;YAChE,6CAA6C;YAC7C,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -60,6 +60,16 @@ export declare function createRunTeardown(handles: RunHandles): () => Promise<vo
60
60
  * teardown, so a second signal cannot double-close.
61
61
  */
62
62
  export declare function createSignalTeardownHandler(teardown: () => Promise<void>, exit?: (code: number) => void): () => void;
63
+ /**
64
+ * Chromium launch options for the run's one shared browser. Pulled out as a
65
+ * pure function, rather than inlined into `runAll`'s default `launchBrowser`,
66
+ * so a test can assert `config.browserArgs` reaches the launch call without
67
+ * mocking Playwright's own `chromium.launch`.
68
+ */
69
+ export declare function resolveLaunchOptions(config: Pick<ResolvedConfig, 'browserArgs'>, options: Pick<RunCliOptions, 'headed'>): {
70
+ headless: boolean;
71
+ args: string[];
72
+ };
63
73
  /**
64
74
  * Copies the just-written `results.json` into `<report>/candidates/` so the
65
75
  * candidate tree is a self-contained approval artifact. `writeReport` has
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/runner/run.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAsB,cAAc,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAqBjC,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAIL,KAAK,eAAe,EAErB,MAAM,eAAe,CAAC;AAGvB,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAUD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,MAAM,CAC1B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,aAAa,EACtB,aAAa,GAAE,MAAM,OAAO,CAAC,OAAO,CACY,GAC/C,OAAO,CAAC,SAAS,CAAC,CAwMpB;AAED,kFAAkF;AAClF,UAAU,UAAU;IAClB,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,iBAAiB,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAU1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC7B,IAAI,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAmC,GAC1D,MAAM,IAAI,CAIZ;AAqED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,GACZ,MAAM,CAER;AAYD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,GACpC,OAAO,CAAC,iBAAiB,CAAC,CAe5B;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,CASrE;AAUD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,MAAM,CAIR;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,GAC1B,MAAM,CAQR;AAoBD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAuBhE"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/runner/run.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,9 @@ import { computeScreenCoverage } from "../coverage/screens.js";
10
10
  import { resetDatabase } from "./bridges/database.js";
11
11
  import { startManagedDevServers, } from "./bridges/devServers.js";
12
12
  import { CoverageCollector } from "./coverage.js";
13
- import { mergeStoryStatus, runStoryWithBrowser } from "./runStory.js";
14
- import { buildSchedule, collectProducedLabels, drainSchedule, } from "./scheduler.js";
13
+ import { mergeStoryStatus, runStoryWithBrowser, } from "./runStory.js";
14
+ import { collectProducedLabels, drainSchedule } from "./drain.js";
15
+ import { buildSchedule } from "./schedule.js";
15
16
  import { mergeStoryResults, resolveBreakpointPasses, storyRendersAt, } from "./breakpointPasses.js";
16
17
  import { storyMatchesFilter } from "./storyFilter.js";
17
18
  import { candidatesDir } from "../screenshots/baselineStore.js";
@@ -33,7 +34,7 @@ const HEARTBEAT_FILE = '.heartbeat';
33
34
  * Both the normal finally path and the signal handler tear down through the
34
35
  * same idempotent {@link createRunTeardown}, so nothing double-closes.
35
36
  */
36
- export async function runAll(config, options, launchBrowser = () => chromium.launch({ headless: !options.headed })) {
37
+ export async function runAll(config, options, launchBrowser = () => chromium.launch(resolveLaunchOptions(config, options))) {
37
38
  const startedAt = new Date();
38
39
  const mode = options.mode ?? 'local';
39
40
  // Single owner for the run's teardownable handles: the shared browser and any
@@ -84,6 +85,7 @@ export async function runAll(config, options, launchBrowser = () => chromium.lau
84
85
  process.stdout.write(`Scheduling ${subset.length} stories on ${workerCount} worker${workerCount === 1 ? '' : 's'}` +
85
86
  (multiPass ? ` across ${passes.length} breakpoint passes` : '') +
86
87
  '.\n');
88
+ const base = { actions, config, coverage, mode, browser, producedAnywhere };
87
89
  // Run each breakpoint as its own pass: a full reset/seed, then the whole
88
90
  // schedule rendered at that one breakpoint. This is what keeps breakpoints
89
91
  // isolated. A destructive story can mutate the seeded database in the
@@ -106,7 +108,7 @@ export async function runAll(config, options, launchBrowser = () => chromium.lau
106
108
  await resetDatabase(config);
107
109
  }
108
110
  process.stdout.write('\n');
109
- const passResults = await drainSchedule(participating, workerCount, (item) => runScheduledStory(item, actions, config, coverage, breakpoint, mode, browser, producedAnywhere), () => { }, (_item, result) => process.stdout.write(`${formatResultLine(result.status, result.actions.length, result.durationMs, result.file)}\n`));
111
+ const passResults = await drainSchedule(participating, workerCount, (item) => runScheduledStory(item, breakpoint, base), () => { }, (_item, result) => process.stdout.write(`${formatResultLine(result.status, result.actions.length, result.durationMs, result.file)}\n`));
110
112
  passSummaries.push({
111
113
  name: breakpoint.name,
112
114
  counts: summarise(passResults),
@@ -224,27 +226,33 @@ export function createSignalTeardownHandler(teardown, exit = (code) => process.e
224
226
  void teardown().finally(() => exit(1));
225
227
  };
226
228
  }
227
- function runScheduledStory(item, actions, config, coverage, breakpoint, mode, browser, producedAnywhere) {
229
+ function runScheduledStory(item, breakpoint, base) {
230
+ const { browser, ...runConstants } = base;
228
231
  // Drive the story against the run's SHARED browser rather than launching a
229
232
  // per-story Chromium. `startedAt` is stamped here, as this story's work
230
233
  // begins, so its reported duration excludes time it waited in the queue.
231
234
  const startedAt = new Date();
232
235
  return runStoryWithBrowser(browser, {
236
+ ...runConstants,
233
237
  story: item.story,
234
238
  file: item.file,
235
239
  needs: item.needs,
236
240
  produces: item.produces,
237
- producedAnywhere,
238
- actions,
239
- config,
240
- coverage,
241
241
  breakpoint,
242
- mode,
243
242
  }, startedAt);
244
243
  }
245
244
  function matchesFilter(item, filter) {
246
245
  return storyMatchesFilter({ file: item.file, storyName: item.story.story }, filter);
247
246
  }
247
+ /**
248
+ * Chromium launch options for the run's one shared browser. Pulled out as a
249
+ * pure function, rather than inlined into `runAll`'s default `launchBrowser`,
250
+ * so a test can assert `config.browserArgs` reaches the launch call without
251
+ * mocking Playwright's own `chromium.launch`.
252
+ */
253
+ export function resolveLaunchOptions(config, options) {
254
+ return { headless: !options.headed, args: config.browserArgs };
255
+ }
248
256
  function resolveWorkerCount(config, requested) {
249
257
  if (requested && requested > 0) {
250
258
  return requested;
@@ -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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"}
@@ -0,0 +1,22 @@
1
+ import type { ResolvedConfig } from '../config.ts';
2
+ import type { StoryFile } from '../schema/load.ts';
3
+ export interface ScheduledStory extends StoryFile {
4
+ needs: string[];
5
+ produces: string[];
6
+ }
7
+ /**
8
+ * Validates that every produced label is emitted by at most one story and
9
+ * that every `needs` label is satisfiable: either a scheduled story
10
+ * `produces` it, or the project declared it in `config.seededLabels` AND
11
+ * `<paths.authState>/<label>.json` exists for `resolveStorageStateForNeeds` to
12
+ * load. Both halves are required, because neither alone separates a deliberate
13
+ * seed from residue: a bare file can be what a renamed or deleted producer left
14
+ * behind, and a bare declaration can name a file nobody ever wrote. Throws a
15
+ * descriptive error on any mismatch so a typo in a JSON file fails loudly at
16
+ * load time, not at run time.
17
+ */
18
+ export declare function buildSchedule(stories: StoryFile[], config: ResolvedConfig): ScheduledStory[];
19
+ export declare class SchedulerError extends Error {
20
+ constructor(message: string);
21
+ }
22
+ //# sourceMappingURL=schedule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../src/runner/schedule.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS,EAAE,EACpB,MAAM,EAAE,cAAc,GACrB,cAAc,EAAE,CAkDlB;AAoCD,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B"}
@@ -0,0 +1,91 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { normalisedNeeds } from "../schema/story.js";
4
+ /**
5
+ * Validates that every produced label is emitted by at most one story and
6
+ * that every `needs` label is satisfiable: either a scheduled story
7
+ * `produces` it, or the project declared it in `config.seededLabels` AND
8
+ * `<paths.authState>/<label>.json` exists for `resolveStorageStateForNeeds` to
9
+ * load. Both halves are required, because neither alone separates a deliberate
10
+ * seed from residue: a bare file can be what a renamed or deleted producer left
11
+ * behind, and a bare declaration can name a file nobody ever wrote. Throws a
12
+ * descriptive error on any mismatch so a typo in a JSON file fails loudly at
13
+ * load time, not at run time.
14
+ */
15
+ export function buildSchedule(stories, config) {
16
+ const scheduled = stories.map((entry) => ({
17
+ ...entry,
18
+ needs: normalisedNeeds(entry.story),
19
+ produces: entry.story.produces ?? [],
20
+ }));
21
+ const producerByLabel = new Map();
22
+ for (const item of scheduled) {
23
+ for (const label of item.produces) {
24
+ const previous = producerByLabel.get(label);
25
+ if (previous !== undefined) {
26
+ throw new SchedulerError(`Label "${label}" is produced by both ${previous} and ${item.file}. Labels must be unique.`);
27
+ }
28
+ producerByLabel.set(label, item.file);
29
+ }
30
+ }
31
+ const declaredSeeds = new Set(config.seededLabels);
32
+ for (const item of scheduled) {
33
+ for (const label of item.needs) {
34
+ if (producerByLabel.has(label)) {
35
+ continue;
36
+ }
37
+ // A declared pre-seeded storage state stands in for a producer: the run
38
+ // reads <authState>/<label>.json instead of rendering the story that
39
+ // would have written it. An undeclared label is indistinguishable from a
40
+ // typo, whether or not some file happens to sit at that path.
41
+ const seedPath = join(config.paths.authState, `${label}.json`);
42
+ if (!declaredSeeds.has(label)) {
43
+ throw new SchedulerError(`${item.file} needs label "${label}" but no story produces it and ` +
44
+ `it is not listed in \`seededLabels\`. Add a story that produces ` +
45
+ `it, or declare the label and seed ${seedPath}.`);
46
+ }
47
+ if (!existsSync(seedPath)) {
48
+ throw new SchedulerError(`${item.file} needs label "${label}", declared in \`seededLabels\`, ` +
49
+ `but no storage state exists at ${seedPath}. Seed it before ` +
50
+ `\`tuffgal run\`.`);
51
+ }
52
+ }
53
+ }
54
+ detectCycles(scheduled, producerByLabel);
55
+ return scheduled;
56
+ }
57
+ function detectCycles(scheduled, producerByLabel) {
58
+ const byFile = new Map(scheduled.map((entry) => [entry.file, entry]));
59
+ const visited = new Set();
60
+ const onStack = new Set();
61
+ const visit = (file) => {
62
+ if (onStack.has(file)) {
63
+ throw new SchedulerError(`Cycle detected in story dependencies involving ${file}`);
64
+ }
65
+ if (visited.has(file)) {
66
+ return;
67
+ }
68
+ onStack.add(file);
69
+ const item = byFile.get(file);
70
+ if (item) {
71
+ for (const label of item.needs) {
72
+ const upstream = producerByLabel.get(label);
73
+ if (upstream && upstream !== file) {
74
+ visit(upstream);
75
+ }
76
+ }
77
+ }
78
+ onStack.delete(file);
79
+ visited.add(file);
80
+ };
81
+ for (const item of scheduled) {
82
+ visit(item.file);
83
+ }
84
+ }
85
+ export class SchedulerError extends Error {
86
+ constructor(message) {
87
+ super(message);
88
+ this.name = 'SchedulerError';
89
+ }
90
+ }
91
+ //# sourceMappingURL=schedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/runner/schedule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tuffgal",
3
- "version": "0.2.1-alpha.1",
3
+ "version": "0.2.2-alpha.1",
4
4
  "description": "JSON-driven visual regression for web apps.",
5
5
  "license": "MIT",
6
6
  "author": "Nick Schneble",
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/runner/scheduler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS,EAAE,EACpB,MAAM,EAAE,cAAc,GACrB,cAAc,EAAE,CAkDlB;AASD,MAAM,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,cAAc,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAE9E,0EAA0E;AAC1E,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,cAAc,EAAE,GAC1B,GAAG,CAAC,MAAM,CAAC,CAEb;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,cAAc,EAAE,EAC3B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,EACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,GAC5D,OAAO,CAAC,WAAW,EAAE,CAAC,CAsHxB;AAgFD,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/runner/scheduler.ts"],"names":[],"mappings":"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"}