doc-detective 4.15.0 → 4.15.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.
@@ -780,7 +780,7 @@
780
780
  "default": "."
781
781
  },
782
782
  "reporters": {
783
- "description": "Reporters to use when emitting test results. Built-in reporters: `terminal`, `json`, `html`, `runFolder`. The `runFolder` reporter (enabled by default) archives each run's results as `<output>/.doc-detective/run-<runId>/testResults.json`, beside any screenshots the run captured, in addition to the flat output the `json` reporter writes. Custom reporters registered via `registerReporter()` can also be referenced by name.",
783
+ "description": "Reporters to use when emitting test results. Built-in reporters: `terminal`, `json`, `html`, `runFolder`. The `runFolder` reporter (on by default) archives each run's results as `<output>/.doc-detective/run-<runId>/testResults.json` (or `coverageResults.json` for coverage runs), beside any screenshots the run captured, in addition to the flat output the `json` reporter writes. You can also reference custom reporters registered via `registerReporter()` by name.",
784
784
  "type": "array",
785
785
  "items": {
786
786
  "type": "string",
@@ -29317,7 +29317,7 @@
29317
29317
  "title": "Telemetry options"
29318
29318
  },
29319
29319
  "hints": {
29320
- "description": "Options for the post-run hints feature. After a test run, Doc Detective may print one short, contextual hint with code samples and links to encourage further engagement (for example, suggesting a CI workflow when none is detected). Hints are shown only on a TTY and only at the default `info` log level.",
29320
+ "description": "Options for the post-run hints feature. After a test run, Doc Detective may print one short, contextual hint with code samples and links to encourage further engagement (for example, suggesting a CI workflow when none is detected). Doc Detective displays hints only in an interactive terminal (TTY) and only at the default `info` log level.",
29321
29321
  "type": "object",
29322
29322
  "additionalProperties": false,
29323
29323
  "properties": {
@@ -29403,7 +29403,7 @@
29403
29403
  "default": false
29404
29404
  },
29405
29405
  "autoScreenshot": {
29406
- "description": "If `true`, captures a screenshot after every step that runs in a browser, in addition to any explicit `screenshot` steps. Images are saved in the per-run artifact directory (`<output>/.doc-detective/run-<runId>/`) at paths derived from spec, test, and context IDs plus the step's order, action, and ID (for example, `screenshots/<specId>/<testId>/<contextId>/01-goTo-s4f2a91c.png`), so the same step lands on the same relative path in every run's folder for run-over-run comparison. Specs and tests can override this value with their own `autoScreenshot` fields (test level wins over spec level, which wins over config level). Equivalent to `--auto-screenshot` on the CLI.",
29406
+ "description": "If `true`, captures a screenshot after every browser-driven step that does not already define an explicit `screenshot`. Steps with an explicit `screenshot` are skipped for auto-capture since they already produce an image. Doc Detective saves images in the per-run artifact directory (`<output>/.doc-detective/run-<runId>/`) at paths derived from spec, test, and context IDs plus the step's order, action, and ID (for example, `screenshots/<specId>/<testId>/<contextId>/01-goTo-s4f2a91c.png`), so the same step lands on the same relative path in every run's folder for run-over-run comparison. Specs and tests can override this value with their own `autoScreenshot` fields (test level wins over spec level, which wins over config level). Equivalent to `--auto-screenshot` on the CLI.",
29407
29407
  "type": "boolean",
29408
29408
  "default": false
29409
29409
  },
@@ -61984,7 +61984,7 @@
61984
61984
  "default": "."
61985
61985
  },
61986
61986
  "reporters": {
61987
- "description": "Reporters to use when emitting test results. Built-in reporters: `terminal`, `json`, `html`, `runFolder`. The `runFolder` reporter (enabled by default) archives each run's results as `<output>/.doc-detective/run-<runId>/testResults.json`, beside any screenshots the run captured, in addition to the flat output the `json` reporter writes. Custom reporters registered via `registerReporter()` can also be referenced by name.",
61987
+ "description": "Reporters to use when emitting test results. Built-in reporters: `terminal`, `json`, `html`, `runFolder`. The `runFolder` reporter (on by default) archives each run's results as `<output>/.doc-detective/run-<runId>/testResults.json` (or `coverageResults.json` for coverage runs), beside any screenshots the run captured, in addition to the flat output the `json` reporter writes. You can also reference custom reporters registered via `registerReporter()` by name.",
61988
61988
  "type": "array",
61989
61989
  "items": {
61990
61990
  "type": "string",
@@ -90521,7 +90521,7 @@
90521
90521
  "title": "Telemetry options"
90522
90522
  },
90523
90523
  "hints": {
90524
- "description": "Options for the post-run hints feature. After a test run, Doc Detective may print one short, contextual hint with code samples and links to encourage further engagement (for example, suggesting a CI workflow when none is detected). Hints are shown only on a TTY and only at the default `info` log level.",
90524
+ "description": "Options for the post-run hints feature. After a test run, Doc Detective may print one short, contextual hint with code samples and links to encourage further engagement (for example, suggesting a CI workflow when none is detected). Doc Detective displays hints only in an interactive terminal (TTY) and only at the default `info` log level.",
90525
90525
  "type": "object",
90526
90526
  "additionalProperties": false,
90527
90527
  "properties": {
@@ -90607,7 +90607,7 @@
90607
90607
  "default": false
90608
90608
  },
90609
90609
  "autoScreenshot": {
90610
- "description": "If `true`, captures a screenshot after every step that runs in a browser, in addition to any explicit `screenshot` steps. Images are saved in the per-run artifact directory (`<output>/.doc-detective/run-<runId>/`) at paths derived from spec, test, and context IDs plus the step's order, action, and ID (for example, `screenshots/<specId>/<testId>/<contextId>/01-goTo-s4f2a91c.png`), so the same step lands on the same relative path in every run's folder for run-over-run comparison. Specs and tests can override this value with their own `autoScreenshot` fields (test level wins over spec level, which wins over config level). Equivalent to `--auto-screenshot` on the CLI.",
90610
+ "description": "If `true`, captures a screenshot after every browser-driven step that does not already define an explicit `screenshot`. Steps with an explicit `screenshot` are skipped for auto-capture since they already produce an image. Doc Detective saves images in the per-run artifact directory (`<output>/.doc-detective/run-<runId>/`) at paths derived from spec, test, and context IDs plus the step's order, action, and ID (for example, `screenshots/<specId>/<testId>/<contextId>/01-goTo-s4f2a91c.png`), so the same step lands on the same relative path in every run's folder for run-over-run comparison. Specs and tests can override this value with their own `autoScreenshot` fields (test level wins over spec level, which wins over config level). Equivalent to `--auto-screenshot` on the CLI.",
90611
90611
  "type": "boolean",
90612
90612
  "default": false
90613
90613
  },
@@ -55,7 +55,7 @@ export interface Config {
55
55
  */
56
56
  output?: string;
57
57
  /**
58
- * Reporters to use when emitting test results. Built-in reporters: `terminal`, `json`, `html`, `runFolder`. The `runFolder` reporter (enabled by default) archives each run's results as `<output>/.doc-detective/run-<runId>/testResults.json`, beside any screenshots the run captured, in addition to the flat output the `json` reporter writes. Custom reporters registered via `registerReporter()` can also be referenced by name.
58
+ * Reporters to use when emitting test results. Built-in reporters: `terminal`, `json`, `html`, `runFolder`. The `runFolder` reporter (on by default) archives each run's results as `<output>/.doc-detective/run-<runId>/testResults.json` (or `coverageResults.json` for coverage runs), beside any screenshots the run captured, in addition to the flat output the `json` reporter writes. You can also reference custom reporters registered via `registerReporter()` by name.
59
59
  */
60
60
  reporters?: string[];
61
61
  /**
@@ -142,7 +142,7 @@ export interface Config {
142
142
  */
143
143
  dryRun?: boolean;
144
144
  /**
145
- * If `true`, captures a screenshot after every step that runs in a browser, in addition to any explicit `screenshot` steps. Images are saved in the per-run artifact directory (`<output>/.doc-detective/run-<runId>/`) at paths derived from spec, test, and context IDs plus the step's order, action, and ID (for example, `screenshots/<specId>/<testId>/<contextId>/01-goTo-s4f2a91c.png`), so the same step lands on the same relative path in every run's folder for run-over-run comparison. Specs and tests can override this value with their own `autoScreenshot` fields (test level wins over spec level, which wins over config level). Equivalent to `--auto-screenshot` on the CLI.
145
+ * If `true`, captures a screenshot after every browser-driven step that does not already define an explicit `screenshot`. Steps with an explicit `screenshot` are skipped for auto-capture since they already produce an image. Doc Detective saves images in the per-run artifact directory (`<output>/.doc-detective/run-<runId>/`) at paths derived from spec, test, and context IDs plus the step's order, action, and ID (for example, `screenshots/<specId>/<testId>/<contextId>/01-goTo-s4f2a91c.png`), so the same step lands on the same relative path in every run's folder for run-over-run comparison. Specs and tests can override this value with their own `autoScreenshot` fields (test level wins over spec level, which wins over config level). Equivalent to `--auto-screenshot` on the CLI.
146
146
  */
147
147
  autoScreenshot?: boolean;
148
148
  /**
@@ -453,7 +453,7 @@ export interface TelemetryOptions {
453
453
  userId?: string;
454
454
  }
455
455
  /**
456
- * Options for the post-run hints feature. After a test run, Doc Detective may print one short, contextual hint with code samples and links to encourage further engagement (for example, suggesting a CI workflow when none is detected). Hints are shown only on a TTY and only at the default `info` log level.
456
+ * Options for the post-run hints feature. After a test run, Doc Detective may print one short, contextual hint with code samples and links to encourage further engagement (for example, suggesting a CI workflow when none is detected). Doc Detective displays hints only in an interactive terminal (TTY) and only at the default `info` log level.
457
457
  */
458
458
  export interface HintsOptions {
459
459
  /**
@@ -92,7 +92,7 @@ export interface Config {
92
92
  */
93
93
  output?: string;
94
94
  /**
95
- * Reporters to use when emitting test results. Built-in reporters: `terminal`, `json`, `html`, `runFolder`. The `runFolder` reporter (enabled by default) archives each run's results as `<output>/.doc-detective/run-<runId>/testResults.json`, beside any screenshots the run captured, in addition to the flat output the `json` reporter writes. Custom reporters registered via `registerReporter()` can also be referenced by name.
95
+ * Reporters to use when emitting test results. Built-in reporters: `terminal`, `json`, `html`, `runFolder`. The `runFolder` reporter (on by default) archives each run's results as `<output>/.doc-detective/run-<runId>/testResults.json` (or `coverageResults.json` for coverage runs), beside any screenshots the run captured, in addition to the flat output the `json` reporter writes. You can also reference custom reporters registered via `registerReporter()` by name.
96
96
  */
97
97
  reporters?: string[];
98
98
  /**
@@ -179,7 +179,7 @@ export interface Config {
179
179
  */
180
180
  dryRun?: boolean;
181
181
  /**
182
- * If `true`, captures a screenshot after every step that runs in a browser, in addition to any explicit `screenshot` steps. Images are saved in the per-run artifact directory (`<output>/.doc-detective/run-<runId>/`) at paths derived from spec, test, and context IDs plus the step's order, action, and ID (for example, `screenshots/<specId>/<testId>/<contextId>/01-goTo-s4f2a91c.png`), so the same step lands on the same relative path in every run's folder for run-over-run comparison. Specs and tests can override this value with their own `autoScreenshot` fields (test level wins over spec level, which wins over config level). Equivalent to `--auto-screenshot` on the CLI.
182
+ * If `true`, captures a screenshot after every browser-driven step that does not already define an explicit `screenshot`. Steps with an explicit `screenshot` are skipped for auto-capture since they already produce an image. Doc Detective saves images in the per-run artifact directory (`<output>/.doc-detective/run-<runId>/`) at paths derived from spec, test, and context IDs plus the step's order, action, and ID (for example, `screenshots/<specId>/<testId>/<contextId>/01-goTo-s4f2a91c.png`), so the same step lands on the same relative path in every run's folder for run-over-run comparison. Specs and tests can override this value with their own `autoScreenshot` fields (test level wins over spec level, which wins over config level). Equivalent to `--auto-screenshot` on the CLI.
183
183
  */
184
184
  autoScreenshot?: boolean;
185
185
  /**
@@ -490,7 +490,7 @@ export interface TelemetryOptions {
490
490
  userId?: string;
491
491
  }
492
492
  /**
493
- * Options for the post-run hints feature. After a test run, Doc Detective may print one short, contextual hint with code samples and links to encourage further engagement (for example, suggesting a CI workflow when none is detected). Hints are shown only on a TTY and only at the default `info` log level.
493
+ * Options for the post-run hints feature. After a test run, Doc Detective may print one short, contextual hint with code samples and links to encourage further engagement (for example, suggesting a CI workflow when none is detected). Doc Detective displays hints only in an interactive terminal (TTY) and only at the default `info` log level.
494
494
  */
495
495
  export interface HintsOptions {
496
496
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../src/core/expressions.ts"],"names":[],"mappings":"AA0BA;;;;;;GAMG;AACH,iBAAe,iBAAiB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,cAAsB,EAAE,EAAE;IAAE,UAAU,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CA2C3J;AAED;;;;;GAKG;AACH,iBAAS,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAE,OAAe,GAAG,GAAG,CAwCjG;AAoCD;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG,CA+BrD;AA0ZD;;;;;GAKG;AACH,iBAAe,iBAAiB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAyC/E;AAED,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../src/core/expressions.ts"],"names":[],"mappings":"AA0BA;;;;;;GAMG;AACH,iBAAe,iBAAiB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,cAAsB,EAAE,EAAE;IAAE,UAAU,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CA2C3J;AAED;;;;;GAKG;AACH,iBAAS,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAE,OAAe,GAAG,GAAG,CA6DjG;AAoCD;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG,CA+BrD;AA+bD;;;;;GAKG;AACH,iBAAe,iBAAiB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAyC/E;AAED,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -84,10 +84,27 @@ function replaceMetaValues(expression, context, allowOperators = false) {
84
84
  replaceValue = JSON.stringify(metaValue);
85
85
  }
86
86
  else if (typeof metaValue === "string" && hasOperators) {
87
- // If the meta value is a string and we're in an expression with operators,
88
- // only quote it if it contains spaces or special characters
89
- if (/[\s\(\)\[\]\{\}\,\;\:\.\+\-\*\/\|\&\!\?\<\>\=]/.test(metaValue)) {
90
- replaceValue = `"${metaValue.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
87
+ // Inline ONLY a bare JS literal (a number, or the boolean/null keywords) so
88
+ // numeric/boolean comparison semantics are preserved; quote+escape EVERY other
89
+ // string. Any other string inlined raw (e.g. "O'Reilly", "a@b", "hello world")
90
+ // is mis-parsed by the downstream literal masking and operator rewrites, or is an
91
+ // undefined identifier, so `new Function` throws and the assertion fails closed.
92
+ if (!(/^-?\d+(?:\.\d+)?$/.test(metaValue) ||
93
+ metaValue === "true" ||
94
+ metaValue === "false" ||
95
+ metaValue === "null")) {
96
+ // Build a JS string literal for `new Function`. Escape backslashes
97
+ // FIRST, then double-quotes, then literal line terminators. Without
98
+ // the \n/\r escapes a multi-line step-output value produces an
99
+ // UNTERMINATED string literal (a SyntaxError), so the evaluator throws
100
+ // and the condition silently fails closed with a confusing error.
101
+ replaceValue = `"${metaValue
102
+ .replace(/\\/g, "\\\\")
103
+ .replace(/"/g, '\\"')
104
+ .replace(/\n/g, "\\n")
105
+ .replace(/\r/g, "\\r")
106
+ .replace(/\u2028/g, "\\u2028")
107
+ .replace(/\u2029/g, "\\u2029")}"`;
91
108
  }
92
109
  else {
93
110
  replaceValue = metaValue;
@@ -429,51 +446,82 @@ function preprocessExpression(expression) {
429
446
  return token;
430
447
  return `"${token}"`;
431
448
  };
432
- // A left operand for an infix word operator: either a quoted string literal
433
- // (which may itself contain spaces) or a run of non-space characters.
434
- const LEFT = `("[^"\\\\]*(?:\\\\.[^"\\\\]*)*"|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|\\S+)`;
449
+ // ReDoS hardening (CodeQL js/polynomial-redos). The infix-operator rewrites
450
+ // below scan the WHOLE expression with a global `replace`. Their left operand
451
+ // pattern (`LEFT`) and the bare RHS used an UNBOUNDED `\S+` (and the unrolled
452
+ // quoted forms). On an adversarial operand — a long run of non-space chars
453
+ // that ALMOST matches but lacks the trailing operator — the engine retries the
454
+ // long scan at every start position, which is polynomial (O(n^2)) in the
455
+ // operand length. Two structural mitigations, neither of which changes the
456
+ // result for any realistic condition:
457
+ // 1. Keyword guard: skip a rewrite entirely unless its operator word is
458
+ // actually present (whitespace/anchor-bounded). The common attack — long
459
+ // junk with no operator at all — then never runs the expensive regex.
460
+ // 2. Bounded quantifiers: cap every unbounded run with an explicit upper
461
+ // bound (`OPERAND_MAX`). A bounded quantifier cannot backtrack
462
+ // super-linearly, so even a keyword-bearing adversarial input is linear.
463
+ // Operands longer than the bound are simply left un-rewritten (treated as
464
+ // ordinary identifiers); real condition operands are far shorter.
465
+ const OPERAND_MAX = 1024;
466
+ const hasWordOperator = (op) => new RegExp(`(^|\\s)${op}(\\s|$)`).test(expression);
467
+ // A left operand for an infix word operator: a quoted string literal (which
468
+ // may itself contain spaces) or a run of non-space characters — all bounded.
469
+ // Note: string literals are masked to `__DDSTRn__` BEFORE this point, so the
470
+ // quoted alternatives are effectively defensive; the bare run is what matches.
471
+ const LEFT = `("[^"\\\\]{0,${OPERAND_MAX}}(?:\\\\.[^"\\\\]{0,${OPERAND_MAX}}){0,${OPERAND_MAX}}"` +
472
+ `|'[^'\\\\]{0,${OPERAND_MAX}}(?:\\\\.[^'\\\\]{0,${OPERAND_MAX}}){0,${OPERAND_MAX}}'` +
473
+ `|\\S{1,${OPERAND_MAX}})`;
474
+ const RIGHT_BARE = `(\\S{1,${OPERAND_MAX}})`;
435
475
  // Replace "contains" operator (infix): <left> contains <right>
436
- expression = expression.replace(new RegExp(`${LEFT}\\s+contains\\s+(\\S+)`, "g"), (_m, left, right) => `contains(${quoteIfLiteral(left)}, ${quoteIfLiteral(right)})`);
476
+ if (hasWordOperator("contains")) {
477
+ expression = expression.replace(new RegExp(`${LEFT}\\s+contains\\s+${RIGHT_BARE}`, "g"), (_m, left, right) => `contains(${quoteIfLiteral(left)}, ${quoteIfLiteral(right)})`);
478
+ }
437
479
  // Replace "oneOf" operator (infix): <value> oneOf <options>
438
- expression = expression.replace(new RegExp(`${LEFT}\\s+oneOf\\s+(.+)$`), (_m, left, right) => `oneOf(${quoteIfLiteral(left)}, ${right.trim()})`);
480
+ if (hasWordOperator("oneOf")) {
481
+ expression = expression.replace(new RegExp(`${LEFT}\\s+oneOf\\s+(.+)$`), (_m, left, right) => `oneOf(${quoteIfLiteral(left)}, ${right.trim()})`);
482
+ }
439
483
  // Replace "matches" operator (infix): <str> matches <regex>.
440
484
  // The regex may be written as a /pattern/ literal (which may contain spaces)
441
485
  // or a bare/quoted string (no spaces). The RHS alternation tries the
442
486
  // slash-literal form first so a pattern like /hello world/ is captured whole.
443
- expression = expression.replace(new RegExp(`${LEFT}\\s+matches\\s+(\\/[^\\/\\\\]*(?:\\\\.[^\\/\\\\]*)*\\/[a-z]*|\\S+)`, "g"), (_m, left, right) => {
444
- let pattern = right;
445
- // Strip /.../ regex-literal delimiters into a plain string pattern.
446
- const reLiteral = right.match(/^\/(.*)\/[a-z]*$/);
447
- if (reLiteral) {
487
+ if (hasWordOperator("matches")) {
488
+ expression = expression.replace(new RegExp(`${LEFT}\\s+matches\\s+(\\/[^\\/\\\\]{0,${OPERAND_MAX}}(?:\\\\.[^\\/\\\\]{0,${OPERAND_MAX}}){0,${OPERAND_MAX}}\\/[a-z]*|\\S{1,${OPERAND_MAX}})`, "g"), (_m, left, right) => {
489
+ // Strip /.../ regex-literal delimiters into a plain string pattern.
490
+ const reLiteral = right.match(/^\/(.*)\/[a-z]*$/);
448
491
  // Build a JS string literal for the regex source. Escape backslashes
449
492
  // FIRST, then double-quotes, so a pattern like /\d/ or /a"b/ survives
450
- // intact into `new Function` (CodeQL: incomplete string escaping).
451
- pattern = `"${reLiteral[1].replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
452
- }
453
- else {
454
- pattern = quoteIfLiteral(right);
455
- }
456
- return `matches(${quoteIfLiteral(left)}, ${pattern})`;
457
- });
493
+ // intact into `new Function` (CodeQL: incomplete string escaping). For a
494
+ // bare/quoted RHS, defer to quoteIfLiteral.
495
+ const pattern = reLiteral
496
+ ? `"${reLiteral[1].replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`
497
+ : quoteIfLiteral(right);
498
+ return `matches(${quoteIfLiteral(left)}, ${pattern})`;
499
+ });
500
+ }
458
501
  // Replace "extract" operator if used with infix notation. A masked literal
459
502
  // placeholder (__DDSTRn__) is already a quoted literal once restored, so it
460
- // must NOT be re-wrapped in quotes here.
461
- expression = expression.replace(/(\S+)\s+extract\s+(\S+)/g, (match, left, right) => {
462
- // If left side is not quoted and isn't a defined variable, add quotes
463
- if (!isMaskToken(left) &&
464
- ((!/^['"`]/.test(left) && !/^[\d\{\}\[\]\(\)]/.test(left)) ||
465
- typeof left === "string")) {
466
- left = `"${left}"`;
467
- }
468
- // If right side is not quoted and looks like a string literal, add quotes
469
- if (!isMaskToken(right) && !/^['"`]/.test(right)) {
470
- right = `"${right}"`;
471
- }
472
- return `extract(${left}, ${right})`;
473
- });
503
+ // must NOT be re-wrapped in quotes here. ReDoS-hardened (CodeQL
504
+ // js/polynomial-redos): guarded on the keyword's presence and the unbounded
505
+ // `\S+` operands bounded with `OPERAND_MAX`, so an adversarial non-`extract`
506
+ // operand can't drive O(n^2) backtracking across the global scan.
507
+ if (/(^|\s)extract(\s|$)/.test(expression))
508
+ expression = expression.replace(new RegExp(`(\\S{1,${OPERAND_MAX}})\\s+extract\\s+(\\S{1,${OPERAND_MAX}})`, "g"), (match, left, right) => {
509
+ // If left side is not quoted and isn't a defined variable, add quotes
510
+ if (!isMaskToken(left) &&
511
+ ((!/^['"`]/.test(left) && !/^[\d\{\}\[\]\(\)]/.test(left)) ||
512
+ typeof left === "string")) {
513
+ left = `"${left}"`;
514
+ }
515
+ // If right side is not quoted and looks like a string literal, add quotes
516
+ if (!isMaskToken(right) && !/^['"`]/.test(right)) {
517
+ right = `"${right}"`;
518
+ }
519
+ return `extract(${left}, ${right})`;
520
+ });
474
521
  // Fix quoting around "extract" operator
475
- // If inputs are not quoted, add quotes
476
- expression = expression.replace(/extract\(([^,]+),\s*([^,]+)\)/g, (match, left, right) => {
522
+ // If inputs are not quoted, add quotes. Operand runs are bounded
523
+ // (CodeQL js/polynomial-redos) so a long comma-free argument can't backtrack.
524
+ expression = expression.replace(new RegExp(`extract\\(([^,]{1,${OPERAND_MAX}}),\\s*([^,]{1,${OPERAND_MAX}})\\)`, "g"), (match, left, right) => {
477
525
  if (!isMaskToken(left.trim()) && !/^['"`]/.test(left)) {
478
526
  left = `"${left}"`;
479
527
  }
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../src/core/expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../src/core/expressions.ts"],"names":[],"mappings":"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"}
@@ -194,6 +194,24 @@ declare function evaluateGuard(ifValue: GuardCondition | undefined | null, conte
194
194
  * @returns `true` if any string condition references `$$steps.`.
195
195
  */
196
196
  declare function guardReferencesSteps(ifValue: GuardCondition | undefined | null): boolean;
197
+ /**
198
+ * Authoring-time detector: does a step's custom `assertions` reference
199
+ * `$$steps.*`?
200
+ *
201
+ * Parity sibling of `guardReferencesSteps`. `evaluateCustomAssertions`
202
+ * evaluates custom assertions with `steps: {}` (cross-step `$$steps.*` is
203
+ * deferred), so any `$$steps.*` reference resolves against an empty map and
204
+ * fails closed — turning a passing step into a FAIL with no explanation.
205
+ * Callers use this to emit an authoring warning instead of letting the misuse
206
+ * silently fail the step. Only the author string form (`string | string[]`) is
207
+ * inspected; the report shape (array of objects) is ignored.
208
+ *
209
+ * @param step - The step whose `assertions` field is inspected.
210
+ * @returns `true` if any string assertion references `$$steps.`.
211
+ */
212
+ declare function customAssertionsReferenceSteps(step: {
213
+ assertions?: unknown;
214
+ } | undefined | null): boolean;
197
215
  /**
198
216
  * A step's result status, used to select the matching routing handler.
199
217
  */
@@ -340,6 +358,6 @@ declare function resolveTestRouting(args: {
340
358
  * @returns The wait in milliseconds (0 .. MAX_RETRY_DELAY_MS).
341
359
  */
342
360
  declare function computeRetryDelay(delay: number | undefined, backoff: "fixed" | "exponential", retryIndex: number): number;
343
- export { buildConditionContext, evaluateImplicitAssertions, evaluateCustomAssertions, evaluateGuard, guardReferencesSteps, resolveStepRouting, resolveTestRouting, computeRetryDelay, };
361
+ export { buildConditionContext, evaluateImplicitAssertions, evaluateCustomAssertions, evaluateGuard, guardReferencesSteps, customAssertionsReferenceSteps, resolveStepRouting, resolveTestRouting, computeRetryDelay, };
344
362
  export type { BuildConditionContextArgs, ConditionContext, StepContextEntry, ImplicitAssertionSpec, ImplicitAssertionRecord, EvaluateAssertionsOptions, CustomAssertionStep, CustomAssertionActionResult, GuardCondition, StepRoutingStatus, RoutingDecision, RoutingEntry, RetrySpec, };
345
363
  //# sourceMappingURL=routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/core/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/core/routing.ts"],"names":[],"mappings":"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"}
@@ -224,6 +224,30 @@ function guardReferencesSteps(ifValue) {
224
224
  : [];
225
225
  return conditions.some((c) => typeof c === "string" && c.includes("$$steps."));
226
226
  }
227
+ /**
228
+ * Authoring-time detector: does a step's custom `assertions` reference
229
+ * `$$steps.*`?
230
+ *
231
+ * Parity sibling of `guardReferencesSteps`. `evaluateCustomAssertions`
232
+ * evaluates custom assertions with `steps: {}` (cross-step `$$steps.*` is
233
+ * deferred), so any `$$steps.*` reference resolves against an empty map and
234
+ * fails closed — turning a passing step into a FAIL with no explanation.
235
+ * Callers use this to emit an authoring warning instead of letting the misuse
236
+ * silently fail the step. Only the author string form (`string | string[]`) is
237
+ * inspected; the report shape (array of objects) is ignored.
238
+ *
239
+ * @param step - The step whose `assertions` field is inspected.
240
+ * @returns `true` if any string assertion references `$$steps.`.
241
+ */
242
+ function customAssertionsReferenceSteps(step) {
243
+ const raw = step?.assertions;
244
+ const statements = typeof raw === "string"
245
+ ? [raw]
246
+ : Array.isArray(raw)
247
+ ? raw
248
+ : [];
249
+ return statements.some((s) => typeof s === "string" && s.includes("$$steps."));
250
+ }
227
251
  // The handler key and default decision for each result status. Defaults
228
252
  // reproduce today's hardcoded behavior exactly: a FAIL stops the test, every
229
253
  // other status continues — so a step with no routing fields is byte-identical
@@ -415,5 +439,5 @@ function computeRetryDelay(delay, backoff, retryIndex) {
415
439
  const raw = backoff === "exponential" ? delay * Math.pow(2, retryIndex) : delay;
416
440
  return Math.min(raw, MAX_RETRY_DELAY_MS);
417
441
  }
418
- export { buildConditionContext, evaluateImplicitAssertions, evaluateCustomAssertions, evaluateGuard, guardReferencesSteps, resolveStepRouting, resolveTestRouting, computeRetryDelay, };
442
+ export { buildConditionContext, evaluateImplicitAssertions, evaluateCustomAssertions, evaluateGuard, guardReferencesSteps, customAssertionsReferenceSteps, resolveStepRouting, resolveTestRouting, computeRetryDelay, };
419
443
  //# sourceMappingURL=routing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/core/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/core/routing.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- export { typeKeys, translateProcessKeys, resolveSurface, _processKeyMap };
1
+ export { typeKeys, translateProcessKeys, resolveSurface, resolveInputDelay };
2
2
  declare const _processKeyMap: Record<string, string>;
3
+ export { _processKeyMap };
4
+ declare function resolveInputDelay(inputDelay: unknown): number;
3
5
  declare function translateProcessKeys(keys: string[]): string[];
4
6
  declare function resolveSurface(surface: any): {
5
7
  kind: "process" | "none" | "unsupported";
@@ -1 +1 @@
1
- {"version":3,"file":"typeKeys.d.ts","sourceRoot":"","sources":["../../../src/core/tests/typeKeys.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAgB1E,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAY1C,CAAC;AAMF,iBAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAuCtD;AASD,iBAAS,cAAc,CACrB,OAAO,EAAE,GAAG,GACX;IAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,aAAa,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAa7D;AAsMD,iBAAe,QAAQ,CAAC,EACtB,MAAM,EACN,IAAI,EACJ,MAAM,EACN,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC,gBAkLA"}
1
+ {"version":3,"file":"typeKeys.d.ts","sourceRoot":"","sources":["../../../src/core/tests/typeKeys.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAgB7E,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAY1C,CAAC;AAKF,OAAO,EAAE,cAAc,EAAE,CAAC;AAM1B,iBAAS,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAEtD;AAMD,iBAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAuCtD;AASD,iBAAS,cAAc,CACrB,OAAO,EAAE,GAAG,GACX;IAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,aAAa,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAa7D;AAsMD,iBAAe,QAAQ,CAAC,EACtB,MAAM,EACN,IAAI,EACJ,MAAM,EACN,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC,gBAkLA"}
@@ -4,7 +4,7 @@ import { loadHeavyDep } from "../../runtime/loader.js";
4
4
  import { isRecordingActive } from "./ffmpegRecorder.js";
5
5
  import { waitForOutputMatch } from "../utils.js";
6
6
  import { buildConditionContext, evaluateImplicitAssertions, } from "../routing.js";
7
- export { typeKeys, translateProcessKeys, resolveSurface, _processKeyMap };
7
+ export { typeKeys, translateProcessKeys, resolveSurface, resolveInputDelay };
8
8
  // Browser engine keywords reserved for the (later-phase) browser surface kind.
9
9
  // A bare-string surface that matches one of these targets a browser, which is
10
10
  // not yet supported as a `type` target — so it FAILs at runtime in Phase 1.
@@ -31,6 +31,18 @@ const _processKeyMap = {
31
31
  $ARROW_LEFT$: "\x1b[D",
32
32
  $DELETE$: "\x1b[3~",
33
33
  };
34
+ // Exported AFTER its declaration: a `const` is not hoisted, so naming it in the
35
+ // top-of-file export list (before this point) referenced it in the temporal
36
+ // dead zone. Exporting here keeps the binding live for tests without the TDZ
37
+ // hazard.
38
+ export { _processKeyMap };
39
+ // Resolve the effective inter-keystroke delay (ms). The schema default is 100,
40
+ // but an author may explicitly request 0 ("type as fast as possible"). Use
41
+ // nullish coalescing so ONLY an absent value (undefined/null) falls back to the
42
+ // default — an explicit 0 is honored rather than being clobbered by `|| 100`.
43
+ function resolveInputDelay(inputDelay) {
44
+ return typeof inputDelay === "number" ? inputDelay : 100;
45
+ }
34
46
  // Translate an authored keys array into the raw bytes written to a process's
35
47
  // stdin. Plain strings pass through verbatim. A `$…$` sentinel maps via
36
48
  // `_processKeyMap`; `$CTRL$` consumes the NEXT key and emits its control byte
@@ -286,7 +298,7 @@ async function typeKeys({ config, step, driver, processRegistry, }) {
286
298
  step.type = {
287
299
  ...step.type,
288
300
  keys: step.type.keys || [],
289
- inputDelay: step.type.inputDelay || 100,
301
+ inputDelay: resolveInputDelay(step.type.inputDelay),
290
302
  };
291
303
  // Skip if no keys to type
292
304
  if (!step.type.keys.length) {