doc-detective 4.41.6 → 4.42.0

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 (155) hide show
  1. package/README.md +3 -4
  2. package/bin/doc-detective-lsp.js +2 -0
  3. package/dist/agents/adapters/claude-code.js +1 -1
  4. package/dist/agents/adapters/claude-code.js.map +1 -1
  5. package/dist/agents/adapters/copilot-cli.js +2 -2
  6. package/dist/agents/adapters/copilot-cli.js.map +1 -1
  7. package/dist/agents/adapters/gemini-cli.js +1 -1
  8. package/dist/agents/adapters/gemini-cli.js.map +1 -1
  9. package/dist/agents/adapters/qwen-code.js +1 -1
  10. package/dist/agents/adapters/qwen-code.js.map +1 -1
  11. package/dist/cli.js +27 -6
  12. package/dist/cli.js.map +1 -1
  13. package/dist/common/src/schemas/schemas.json +2 -2
  14. package/dist/common/src/schemas/schemasReferenced.json +448 -294
  15. package/dist/common/src/schemas/validators.cjs +140 -124
  16. package/dist/common/src/schemas/validatorsCheck.cjs +1 -1
  17. package/dist/common/src/types/generated/annotate_v3.d.ts +12 -12
  18. package/dist/common/src/types/generated/annotate_v3.d.ts.map +1 -1
  19. package/dist/common/src/types/generated/annotation_v3.d.ts +6 -6
  20. package/dist/common/src/types/generated/annotation_v3.d.ts.map +1 -1
  21. package/dist/common/src/types/generated/checkLink_v3.d.ts +4 -0
  22. package/dist/common/src/types/generated/checkLink_v3.d.ts.map +1 -1
  23. package/dist/common/src/types/generated/click_v3.d.ts +2 -2
  24. package/dist/common/src/types/generated/click_v3.d.ts.map +1 -1
  25. package/dist/common/src/types/generated/config_v3.d.ts +260 -108
  26. package/dist/common/src/types/generated/config_v3.d.ts.map +1 -1
  27. package/dist/common/src/types/generated/context_v3.d.ts +10 -2
  28. package/dist/common/src/types/generated/context_v3.d.ts.map +1 -1
  29. package/dist/common/src/types/generated/dragAndDrop_v3.d.ts +2 -2
  30. package/dist/common/src/types/generated/dragAndDrop_v3.d.ts.map +1 -1
  31. package/dist/common/src/types/generated/find_v3.d.ts +6 -6
  32. package/dist/common/src/types/generated/find_v3.d.ts.map +1 -1
  33. package/dist/common/src/types/generated/goTo_v3.d.ts +1 -1
  34. package/dist/common/src/types/generated/goTo_v3.d.ts.map +1 -1
  35. package/dist/common/src/types/generated/httpRequest_v3.d.ts +2 -2
  36. package/dist/common/src/types/generated/httpRequest_v3.d.ts.map +1 -1
  37. package/dist/common/src/types/generated/record_v3.d.ts +5 -5
  38. package/dist/common/src/types/generated/record_v3.d.ts.map +1 -1
  39. package/dist/common/src/types/generated/report_v3.d.ts +529 -207
  40. package/dist/common/src/types/generated/report_v3.d.ts.map +1 -1
  41. package/dist/common/src/types/generated/resolvedTests_v3.d.ts +754 -314
  42. package/dist/common/src/types/generated/resolvedTests_v3.d.ts.map +1 -1
  43. package/dist/common/src/types/generated/runCode_v3.d.ts +11 -2
  44. package/dist/common/src/types/generated/runCode_v3.d.ts.map +1 -1
  45. package/dist/common/src/types/generated/runShell_v3.d.ts +11 -2
  46. package/dist/common/src/types/generated/runShell_v3.d.ts.map +1 -1
  47. package/dist/common/src/types/generated/screenshot_v3.d.ts +12 -12
  48. package/dist/common/src/types/generated/screenshot_v3.d.ts.map +1 -1
  49. package/dist/common/src/types/generated/spec_v3.d.ts +494 -206
  50. package/dist/common/src/types/generated/spec_v3.d.ts.map +1 -1
  51. package/dist/common/src/types/generated/startSurface_v3.d.ts +24 -6
  52. package/dist/common/src/types/generated/startSurface_v3.d.ts.map +1 -1
  53. package/dist/common/src/types/generated/step_v3.d.ts +223 -100
  54. package/dist/common/src/types/generated/step_v3.d.ts.map +1 -1
  55. package/dist/common/src/types/generated/test_v3.d.ts +482 -202
  56. package/dist/common/src/types/generated/test_v3.d.ts.map +1 -1
  57. package/dist/common/src/types/generated/type_v3.d.ts +3 -3
  58. package/dist/common/src/types/generated/type_v3.d.ts.map +1 -1
  59. package/dist/common/src/types/generated/waitUntil_v3.d.ts +2 -2
  60. package/dist/common/src/types/generated/waitUntil_v3.d.ts.map +1 -1
  61. package/dist/common/src/types/generated/wait_v3.d.ts +2 -3
  62. package/dist/common/src/types/generated/wait_v3.d.ts.map +1 -1
  63. package/dist/core/config.d.ts.map +1 -1
  64. package/dist/core/config.js +6 -4
  65. package/dist/core/config.js.map +1 -1
  66. package/dist/core/files.d.ts +18 -3
  67. package/dist/core/files.d.ts.map +1 -1
  68. package/dist/core/files.js +58 -18
  69. package/dist/core/files.js.map +1 -1
  70. package/dist/core/index.d.ts.map +1 -1
  71. package/dist/core/index.js +16 -0
  72. package/dist/core/index.js.map +1 -1
  73. package/dist/core/integrations/index.d.ts +2 -1
  74. package/dist/core/integrations/index.d.ts.map +1 -1
  75. package/dist/core/integrations/index.js +15 -5
  76. package/dist/core/integrations/index.js.map +1 -1
  77. package/dist/core/openapi.d.ts.map +1 -1
  78. package/dist/core/openapi.js +122 -6
  79. package/dist/core/openapi.js.map +1 -1
  80. package/dist/core/ptyWatchdog.d.ts.map +1 -1
  81. package/dist/core/ptyWatchdog.js +6 -3
  82. package/dist/core/ptyWatchdog.js.map +1 -1
  83. package/dist/core/resolveTests.d.ts.map +1 -1
  84. package/dist/core/resolveTests.js +5 -3
  85. package/dist/core/resolveTests.js.map +1 -1
  86. package/dist/core/telem.d.ts.map +1 -1
  87. package/dist/core/telem.js +5 -7
  88. package/dist/core/telem.js.map +1 -1
  89. package/dist/core/tests/checkLink.d.ts.map +1 -1
  90. package/dist/core/tests/checkLink.js +12 -7
  91. package/dist/core/tests/checkLink.js.map +1 -1
  92. package/dist/core/tests/click.d.ts.map +1 -1
  93. package/dist/core/tests/click.js +7 -0
  94. package/dist/core/tests/click.js.map +1 -1
  95. package/dist/core/tests/findElement.d.ts.map +1 -1
  96. package/dist/core/tests/findElement.js +3 -2
  97. package/dist/core/tests/findElement.js.map +1 -1
  98. package/dist/core/tests/goTo.d.ts.map +1 -1
  99. package/dist/core/tests/goTo.js +2 -1
  100. package/dist/core/tests/goTo.js.map +1 -1
  101. package/dist/core/tests/httpRequest.d.ts.map +1 -1
  102. package/dist/core/tests/httpRequest.js +4 -5
  103. package/dist/core/tests/httpRequest.js.map +1 -1
  104. package/dist/core/tests/processSurface.d.ts +4 -1
  105. package/dist/core/tests/processSurface.d.ts.map +1 -1
  106. package/dist/core/tests/processSurface.js +3 -0
  107. package/dist/core/tests/processSurface.js.map +1 -1
  108. package/dist/core/tests/saveScreenshot.d.ts.map +1 -1
  109. package/dist/core/tests/saveScreenshot.js +8 -3
  110. package/dist/core/tests/saveScreenshot.js.map +1 -1
  111. package/dist/core/tests/startRecording.d.ts.map +1 -1
  112. package/dist/core/tests/startRecording.js +2 -1
  113. package/dist/core/tests/startRecording.js.map +1 -1
  114. package/dist/core/tests/stopRecording.d.ts.map +1 -1
  115. package/dist/core/tests/stopRecording.js +2 -1
  116. package/dist/core/tests/stopRecording.js.map +1 -1
  117. package/dist/core/tests/timing.d.ts +4 -0
  118. package/dist/core/tests/timing.d.ts.map +1 -0
  119. package/dist/core/tests/timing.js +8 -0
  120. package/dist/core/tests/timing.js.map +1 -0
  121. package/dist/core/tests.d.ts +15 -0
  122. package/dist/core/tests.d.ts.map +1 -1
  123. package/dist/core/tests.js +77 -30
  124. package/dist/core/tests.js.map +1 -1
  125. package/dist/core/utils.d.ts +42 -2
  126. package/dist/core/utils.d.ts.map +1 -1
  127. package/dist/core/utils.js +281 -89
  128. package/dist/core/utils.js.map +1 -1
  129. package/dist/debug/index.d.ts.map +1 -1
  130. package/dist/debug/index.js +8 -36
  131. package/dist/debug/index.js.map +1 -1
  132. package/dist/hints/hints.js +2 -2
  133. package/dist/hints/hints.js.map +1 -1
  134. package/dist/index.cjs +684 -235
  135. package/dist/reporters/htmlReporter.js +1 -1
  136. package/dist/runtime/cacheDir.d.ts.map +1 -1
  137. package/dist/runtime/cacheDir.js +6 -11
  138. package/dist/runtime/cacheDir.js.map +1 -1
  139. package/dist/runtime/heavyDeps.d.ts +12 -0
  140. package/dist/runtime/heavyDeps.d.ts.map +1 -1
  141. package/dist/runtime/heavyDeps.js +31 -7
  142. package/dist/runtime/heavyDeps.js.map +1 -1
  143. package/dist/runtime/selfUpdate.d.ts +3 -3
  144. package/dist/runtime/selfUpdate.d.ts.map +1 -1
  145. package/dist/runtime/selfUpdate.js +34 -5
  146. package/dist/runtime/selfUpdate.js.map +1 -1
  147. package/dist/upgradeNotice.d.ts +41 -0
  148. package/dist/upgradeNotice.d.ts.map +1 -0
  149. package/dist/upgradeNotice.js +356 -0
  150. package/dist/upgradeNotice.js.map +1 -0
  151. package/dist/utils.d.ts.map +1 -1
  152. package/dist/utils.js +17 -8
  153. package/dist/utils.js.map +1 -1
  154. package/package.json +2 -2
  155. package/scripts/postinstall.js +1 -1
@@ -267,7 +267,7 @@ export type Condition11 = string | [string, ...string[]];
267
267
  /**
268
268
  * Click or tap an element.
269
269
  */
270
- export type Click1 = ClickElementSimple | ClickElementDetailed | boolean;
270
+ export type Click1 = (true | false) | ClickElementSimple | ClickElementDetailed;
271
271
  /**
272
272
  * Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID.
273
273
  */
@@ -311,7 +311,7 @@ export type ClickElementDetailed = {
311
311
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
312
312
  */
313
313
  elementAttribute?: {
314
- [k: string]: string | number | boolean;
314
+ [k: string]: boolean | number | string;
315
315
  };
316
316
  /**
317
317
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -522,7 +522,7 @@ export type FindElementDetailed = {
522
522
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
523
523
  */
524
524
  elementAttribute?: {
525
- [k: string]: string | number | boolean;
525
+ [k: string]: boolean | number | string;
526
526
  };
527
527
  /**
528
528
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -588,7 +588,7 @@ export type ByName5 = string;
588
588
  /**
589
589
  * Click or tap an element.
590
590
  */
591
- export type Click2 = ClickElementSimple1 | ClickElementDetailed1 | boolean;
591
+ export type Click2 = (true | false) | ClickElementSimple1 | ClickElementDetailed1;
592
592
  /**
593
593
  * Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID.
594
594
  */
@@ -632,7 +632,7 @@ export type ClickElementDetailed1 = {
632
632
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
633
633
  */
634
634
  elementAttribute?: {
635
- [k: string]: string | number | boolean;
635
+ [k: string]: boolean | number | string;
636
636
  };
637
637
  /**
638
638
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -727,7 +727,7 @@ export type TypeKeysDetailed = {
727
727
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
728
728
  */
729
729
  elementAttribute?: {
730
- [k: string]: string | number | boolean;
730
+ [k: string]: boolean | number | string;
731
731
  };
732
732
  /**
733
733
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -812,7 +812,7 @@ export type ElementCriteria = {
812
812
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
813
813
  */
814
814
  elementAttribute?: {
815
- [k: string]: string | number | boolean;
815
+ [k: string]: boolean | number | string;
816
816
  };
817
817
  /**
818
818
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -849,7 +849,7 @@ export type ElementCriteria1 = {
849
849
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
850
850
  */
851
851
  elementAttribute?: {
852
- [k: string]: string | number | boolean;
852
+ [k: string]: boolean | number | string;
853
853
  };
854
854
  /**
855
855
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -1075,7 +1075,7 @@ export type GoToURLDetailed = {
1075
1075
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
1076
1076
  */
1077
1077
  elementAttribute?: {
1078
- [k: string]: string | number | boolean;
1078
+ [k: string]: boolean | number | string;
1079
1079
  };
1080
1080
  /**
1081
1081
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -1250,9 +1250,9 @@ export type HTTPRequestDetailed = {
1250
1250
  url?: HTTPRequestSimple1;
1251
1251
  openApi?: (string & OperationID) | (OpenApi & OpenAPIDefinitionHttpRequest);
1252
1252
  /**
1253
- * Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.
1253
+ * Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails. A single integer is treated as a one-item list.
1254
1254
  */
1255
- statusCodes?: number[];
1255
+ statusCodes?: number | number[];
1256
1256
  /**
1257
1257
  * Method of the HTTP request
1258
1258
  */
@@ -1946,7 +1946,7 @@ export type TypeKeysDetailed1 = {
1946
1946
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
1947
1947
  */
1948
1948
  elementAttribute?: {
1949
- [k: string]: string | number | boolean;
1949
+ [k: string]: boolean | number | string;
1950
1950
  };
1951
1951
  /**
1952
1952
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -2031,7 +2031,7 @@ export type ElementCriteria2 = {
2031
2031
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
2032
2032
  */
2033
2033
  elementAttribute?: {
2034
- [k: string]: string | number | boolean;
2034
+ [k: string]: boolean | number | string;
2035
2035
  };
2036
2036
  /**
2037
2037
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -2068,7 +2068,7 @@ export type ElementCriteria3 = {
2068
2068
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
2069
2069
  */
2070
2070
  elementAttribute?: {
2071
- [k: string]: string | number | boolean;
2071
+ [k: string]: boolean | number | string;
2072
2072
  };
2073
2073
  /**
2074
2074
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -2202,7 +2202,11 @@ export type Condition59 = string | [string, ...string[]];
2202
2202
  /**
2203
2203
  * Takes a screenshot in PNG format.
2204
2204
  */
2205
- export type Screenshot1 = ScreenshotSimple | CaptureScreenshotDetailed | CaptureScreenshot;
2205
+ export type Screenshot1 = CaptureScreenshot | ScreenshotSimple | CaptureScreenshotDetailed;
2206
+ /**
2207
+ * If `true`, captures a screenshot. If `false`, doesn't capture a screenshot.
2208
+ */
2209
+ export type CaptureScreenshot = boolean;
2206
2210
  /**
2207
2211
  * File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.
2208
2212
  */
@@ -2286,7 +2290,7 @@ export type CropByElementDetailed = {
2286
2290
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
2287
2291
  */
2288
2292
  elementAttribute?: {
2289
- [k: string]: string | number | boolean;
2293
+ [k: string]: boolean | number | string;
2290
2294
  };
2291
2295
  /**
2292
2296
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -2399,10 +2403,6 @@ export type NamedRegion6 = "top" | "bottom" | "left" | "right" | "center" | "top
2399
2403
  export type ExactlyOneAnnotationType = {
2400
2404
  [k: string]: unknown;
2401
2405
  };
2402
- /**
2403
- * If `true`, captures a screenshot. If `false`, doesn't capture a screenshot.
2404
- */
2405
- export type CaptureScreenshot = boolean;
2406
2406
  /**
2407
2407
  * A condition expression, or an array of expressions combined with logical AND.
2408
2408
  */
@@ -2700,7 +2700,11 @@ export type Condition71 = string | [string, ...string[]];
2700
2700
  /**
2701
2701
  * Start recording. Must be followed by a `stopRecord` step. The `browser` engine captures the Chrome viewport (works under concurrency); the `ffmpeg` engine captures the screen and supports any application. On Android/iOS contexts, recording captures the device screen through the device itself — `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]
2702
2702
  */
2703
- export type Record1 = RecordSimple | RecordDetailed | RecordBoolean;
2703
+ export type Record1 = RecordBoolean | RecordSimple | RecordDetailed;
2704
+ /**
2705
+ * If `true`, starts recording — auto-selecting the `browser` engine for a visible Chrome context, the device screen on Android/iOS contexts, and the `ffmpeg` engine otherwise. If `false`, doesn't record.
2706
+ */
2707
+ export type RecordBoolean = boolean;
2704
2708
  /**
2705
2709
  * File path of the recording. Supports the `.mp4`, `.webm`, and `.gif` extensions. If not specified, the file name is the ID of the step, and the extension is `.mp4`.
2706
2710
  */
@@ -2762,10 +2766,6 @@ export type RecordingCheckpoints = RecordingCheckpointsBoolean | RecordingCheckp
2762
2766
  * If `true`, enables checkpoints with default settings.
2763
2767
  */
2764
2768
  export type RecordingCheckpointsBoolean = boolean;
2765
- /**
2766
- * If `true`, starts recording — auto-selecting the `browser` engine for a visible Chrome context, the device screen on Android/iOS contexts, and the `ffmpeg` engine otherwise. If `false`, doesn't record.
2767
- */
2768
- export type RecordBoolean = boolean;
2769
2769
  /**
2770
2770
  * A condition expression, or an array of expressions combined with logical AND.
2771
2771
  */
@@ -3281,7 +3281,7 @@ export type ElementCriteria4 = {
3281
3281
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
3282
3282
  */
3283
3283
  elementAttribute?: {
3284
- [k: string]: string | number | boolean;
3284
+ [k: string]: boolean | number | string;
3285
3285
  };
3286
3286
  /**
3287
3287
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -3340,7 +3340,7 @@ export type ElementCriteria5 = ({
3340
3340
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
3341
3341
  */
3342
3342
  elementAttribute?: {
3343
- [k: string]: string | number | boolean;
3343
+ [k: string]: boolean | number | string;
3344
3344
  };
3345
3345
  /**
3346
3346
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -3630,7 +3630,7 @@ export type ElementDetailed = {
3630
3630
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
3631
3631
  */
3632
3632
  elementAttribute?: {
3633
- [k: string]: string | number | boolean;
3633
+ [k: string]: boolean | number | string;
3634
3634
  };
3635
3635
  /**
3636
3636
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -3673,7 +3673,7 @@ export type ElementDetailed1 = {
3673
3673
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
3674
3674
  */
3675
3675
  elementAttribute?: {
3676
- [k: string]: string | number | boolean;
3676
+ [k: string]: boolean | number | string;
3677
3677
  };
3678
3678
  /**
3679
3679
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -4221,10 +4221,9 @@ export type Condition119 = string | [string, ...string[]];
4221
4221
  /**
4222
4222
  * Pause (in milliseconds) before performing the next action.
4223
4223
  */
4224
- export type Wait1 = WaitSimple | WaitEnvironmentVariable | WaitBoolean;
4225
- export type WaitSimple = number;
4224
+ export type Wait1 = WaitSimple | WaitEnvironmentVariable;
4225
+ export type WaitSimple = number | boolean;
4226
4226
  export type WaitEnvironmentVariable = string;
4227
- export type WaitBoolean = boolean;
4228
4227
  /**
4229
4228
  * A condition expression, or an array of expressions combined with logical AND.
4230
4229
  */
@@ -4572,9 +4571,9 @@ export type AtLeastOneOfAddUpdateOrClear = {
4572
4571
  };
4573
4572
  export interface Common {
4574
4573
  /**
4575
- * JSON Schema for this object.
4574
+ * JSON Schema URL for editor support. Doc Detective ignores it.
4576
4575
  */
4577
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
4576
+ $schema?: string;
4578
4577
  /**
4579
4578
  * ID of the step.
4580
4579
  */
@@ -4631,6 +4630,10 @@ export interface Common {
4631
4630
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
4632
4631
  */
4633
4632
  durationMs?: number;
4633
+ /**
4634
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
4635
+ */
4636
+ startedAt?: string;
4634
4637
  [k: string]: unknown;
4635
4638
  }
4636
4639
  /**
@@ -4801,6 +4804,10 @@ export interface CheckLinkDetailed1 {
4801
4804
  * Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.
4802
4805
  */
4803
4806
  statusCodes?: number | number[];
4807
+ /**
4808
+ * Time each request attempt may take, in milliseconds. If no response arrives in time, the step fails.
4809
+ */
4810
+ timeout?: number;
4804
4811
  /**
4805
4812
  * Additional HTTP headers to include in the request. Merged on top of Doc Detective's default browser-mimicking headers. Useful for sites behind bot protection or WAFs that allowlist specific headers (for example, a Cloudflare Access service token or a `Cookie` with a `cf_clearance` value).
4806
4813
  */
@@ -4814,9 +4821,9 @@ export interface RequestHeadersObject {
4814
4821
  }
4815
4822
  export interface Common1 {
4816
4823
  /**
4817
- * JSON Schema for this object.
4824
+ * JSON Schema URL for editor support. Doc Detective ignores it.
4818
4825
  */
4819
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
4826
+ $schema?: string;
4820
4827
  /**
4821
4828
  * ID of the step.
4822
4829
  */
@@ -4873,6 +4880,10 @@ export interface Common1 {
4873
4880
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
4874
4881
  */
4875
4882
  durationMs?: number;
4883
+ /**
4884
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
4885
+ */
4886
+ startedAt?: string;
4876
4887
  [k: string]: unknown;
4877
4888
  }
4878
4889
  /**
@@ -5092,9 +5103,9 @@ export interface ByCriteria2 {
5092
5103
  }
5093
5104
  export interface Common2 {
5094
5105
  /**
5095
- * JSON Schema for this object.
5106
+ * JSON Schema URL for editor support. Doc Detective ignores it.
5096
5107
  */
5097
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
5108
+ $schema?: string;
5098
5109
  /**
5099
5110
  * ID of the step.
5100
5111
  */
@@ -5151,6 +5162,10 @@ export interface Common2 {
5151
5162
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
5152
5163
  */
5153
5164
  durationMs?: number;
5165
+ /**
5166
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
5167
+ */
5168
+ startedAt?: string;
5154
5169
  [k: string]: unknown;
5155
5170
  }
5156
5171
  /**
@@ -5571,9 +5586,9 @@ export interface ABrowserEngineStringSurfaceTakesBrowserReadiness {
5571
5586
  }
5572
5587
  export interface Common3 {
5573
5588
  /**
5574
- * JSON Schema for this object.
5589
+ * JSON Schema URL for editor support. Doc Detective ignores it.
5575
5590
  */
5576
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
5591
+ $schema?: string;
5577
5592
  /**
5578
5593
  * ID of the step.
5579
5594
  */
@@ -5630,6 +5645,10 @@ export interface Common3 {
5630
5645
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
5631
5646
  */
5632
5647
  durationMs?: number;
5648
+ /**
5649
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
5650
+ */
5651
+ startedAt?: string;
5633
5652
  [k: string]: unknown;
5634
5653
  }
5635
5654
  /**
@@ -5837,9 +5856,9 @@ export interface NewWindowConflictsWithASurfaceWindowOrTabSelector {
5837
5856
  }
5838
5857
  export interface Common4 {
5839
5858
  /**
5840
- * JSON Schema for this object.
5859
+ * JSON Schema URL for editor support. Doc Detective ignores it.
5841
5860
  */
5842
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
5861
+ $schema?: string;
5843
5862
  /**
5844
5863
  * ID of the step.
5845
5864
  */
@@ -5896,6 +5915,10 @@ export interface Common4 {
5896
5915
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
5897
5916
  */
5898
5917
  durationMs?: number;
5918
+ /**
5919
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
5920
+ */
5921
+ startedAt?: string;
5899
5922
  [k: string]: unknown;
5900
5923
  }
5901
5924
  /**
@@ -6119,9 +6142,9 @@ export interface ResponseBodyObject {
6119
6142
  }
6120
6143
  export interface Common5 {
6121
6144
  /**
6122
- * JSON Schema for this object.
6145
+ * JSON Schema URL for editor support. Doc Detective ignores it.
6123
6146
  */
6124
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
6147
+ $schema?: string;
6125
6148
  /**
6126
6149
  * ID of the step.
6127
6150
  */
@@ -6178,6 +6201,10 @@ export interface Common5 {
6178
6201
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
6179
6202
  */
6180
6203
  durationMs?: number;
6204
+ /**
6205
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
6206
+ */
6207
+ startedAt?: string;
6181
6208
  [k: string]: unknown;
6182
6209
  }
6183
6210
  /**
@@ -6402,16 +6429,25 @@ export interface RunShellCommandDetailed {
6402
6429
  delayMs?: number;
6403
6430
  };
6404
6431
  /**
6405
- * Run the process in a pseudo-terminal (PTY) instead of a pipe, so full-screen/interactive TUIs (those that check `isTTY`) render and accept keystrokes. Requires the PTY backend `@homebridge/node-pty-prebuilt-multiarch` to be installed (`npm install @homebridge/node-pty-prebuilt-multiarch`); it is not bundled, and if it is unavailable the step is skipped. `stdout` and `stderr` are merged into one stream in PTY mode. PTY output includes raw ANSI escape sequences (colors, cursor movement); `waitUntil.stdio` patterns should target text that renders without interleaved control codes, or use a regex that tolerates them.
6432
+ * Run the process in a pseudo-terminal (PTY) instead of a pipe, so full-screen/interactive TUIs (those that check `isTTY`) render and accept keystrokes. `true` or `{}` uses a terminal 120 columns wide by 30 rows tall. An object with `cols` and `rows` sets the size, for TUIs whose layout depends on the width. Requires the PTY backend `@homebridge/node-pty-prebuilt-multiarch` to be installed (`npm install @homebridge/node-pty-prebuilt-multiarch`); it is not bundled, and if it is unavailable the step is skipped. `stdout` and `stderr` are merged into one stream in PTY mode. PTY output includes raw ANSI escape sequences (colors, cursor movement); `waitUntil.stdio` patterns should target text that renders without interleaved control codes, or use a regex that tolerates them.
6406
6433
  */
6407
- tty?: boolean;
6434
+ tty?: boolean | {
6435
+ /**
6436
+ * Terminal width in columns (what the process reads as `process.stdout.columns`).
6437
+ */
6438
+ cols?: number;
6439
+ /**
6440
+ * Terminal height in rows (what the process reads as `process.stdout.rows`).
6441
+ */
6442
+ rows?: number;
6443
+ };
6408
6444
  };
6409
6445
  }
6410
6446
  export interface Common6 {
6411
6447
  /**
6412
- * JSON Schema for this object.
6448
+ * JSON Schema URL for editor support. Doc Detective ignores it.
6413
6449
  */
6414
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
6450
+ $schema?: string;
6415
6451
  /**
6416
6452
  * ID of the step.
6417
6453
  */
@@ -6468,6 +6504,10 @@ export interface Common6 {
6468
6504
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
6469
6505
  */
6470
6506
  durationMs?: number;
6507
+ /**
6508
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
6509
+ */
6510
+ startedAt?: string;
6471
6511
  [k: string]: unknown;
6472
6512
  }
6473
6513
  /**
@@ -6692,17 +6732,26 @@ export interface RunCodeDetailed {
6692
6732
  delayMs?: number;
6693
6733
  };
6694
6734
  /**
6695
- * Run the process in a pseudo-terminal (PTY) instead of a pipe, so full-screen/interactive TUIs (those that check `isTTY`) render and accept keystrokes. Requires the PTY backend `@homebridge/node-pty-prebuilt-multiarch` to be installed (`npm install @homebridge/node-pty-prebuilt-multiarch`); it is not bundled, and if it is unavailable the step is skipped. `stdout` and `stderr` are merged into one stream in PTY mode. PTY output includes raw ANSI escape sequences (colors, cursor movement); `waitUntil.stdio` patterns should target text that renders without interleaved control codes, or use a regex that tolerates them.
6735
+ * Run the process in a pseudo-terminal (PTY) instead of a pipe, so full-screen/interactive TUIs (those that check `isTTY`) render and accept keystrokes. `true` or `{}` uses a terminal 120 columns wide by 30 rows tall. An object with `cols` and `rows` sets the size, for TUIs whose layout depends on the width. Requires the PTY backend `@homebridge/node-pty-prebuilt-multiarch` to be installed (`npm install @homebridge/node-pty-prebuilt-multiarch`); it is not bundled, and if it is unavailable the step is skipped. `stdout` and `stderr` are merged into one stream in PTY mode. PTY output includes raw ANSI escape sequences (colors, cursor movement); `waitUntil.stdio` patterns should target text that renders without interleaved control codes, or use a regex that tolerates them.
6696
6736
  */
6697
- tty?: boolean;
6737
+ tty?: boolean | {
6738
+ /**
6739
+ * Terminal width in columns (what the process reads as `process.stdout.columns`).
6740
+ */
6741
+ cols?: number;
6742
+ /**
6743
+ * Terminal height in rows (what the process reads as `process.stdout.rows`).
6744
+ */
6745
+ rows?: number;
6746
+ };
6698
6747
  };
6699
6748
  [k: string]: unknown;
6700
6749
  }
6701
6750
  export interface Common7 {
6702
6751
  /**
6703
- * JSON Schema for this object.
6752
+ * JSON Schema URL for editor support. Doc Detective ignores it.
6704
6753
  */
6705
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
6754
+ $schema?: string;
6706
6755
  /**
6707
6756
  * ID of the step.
6708
6757
  */
@@ -6759,6 +6808,10 @@ export interface Common7 {
6759
6808
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
6760
6809
  */
6761
6810
  durationMs?: number;
6811
+ /**
6812
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
6813
+ */
6814
+ startedAt?: string;
6762
6815
  [k: string]: unknown;
6763
6816
  }
6764
6817
  /**
@@ -6996,9 +7049,9 @@ export interface ByCriteria15 {
6996
7049
  }
6997
7050
  export interface Common8 {
6998
7051
  /**
6999
- * JSON Schema for this object.
7052
+ * JSON Schema URL for editor support. Doc Detective ignores it.
7000
7053
  */
7001
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
7054
+ $schema?: string;
7002
7055
  /**
7003
7056
  * ID of the step.
7004
7057
  */
@@ -7055,6 +7108,10 @@ export interface Common8 {
7055
7108
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
7056
7109
  */
7057
7110
  durationMs?: number;
7111
+ /**
7112
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
7113
+ */
7114
+ startedAt?: string;
7058
7115
  [k: string]: unknown;
7059
7116
  }
7060
7117
  /**
@@ -7326,9 +7383,9 @@ export interface ABrowserEngineStringSurfaceTakesBrowserReadiness1 {
7326
7383
  }
7327
7384
  export interface Common9 {
7328
7385
  /**
7329
- * JSON Schema for this object.
7386
+ * JSON Schema URL for editor support. Doc Detective ignores it.
7330
7387
  */
7331
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
7388
+ $schema?: string;
7332
7389
  /**
7333
7390
  * ID of the step.
7334
7391
  */
@@ -7385,6 +7442,10 @@ export interface Common9 {
7385
7442
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
7386
7443
  */
7387
7444
  durationMs?: number;
7445
+ /**
7446
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
7447
+ */
7448
+ startedAt?: string;
7388
7449
  [k: string]: unknown;
7389
7450
  }
7390
7451
  /**
@@ -7714,7 +7775,7 @@ export interface ElementFindingFields {
7714
7775
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
7715
7776
  */
7716
7777
  elementAttribute?: {
7717
- [k: string]: number | boolean | string;
7778
+ [k: string]: boolean | number | string;
7718
7779
  };
7719
7780
  /**
7720
7781
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -7769,7 +7830,7 @@ export interface ElementFindingFields1 {
7769
7830
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
7770
7831
  */
7771
7832
  elementAttribute?: {
7772
- [k: string]: number | boolean | string;
7833
+ [k: string]: boolean | number | string;
7773
7834
  };
7774
7835
  /**
7775
7836
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -7824,7 +7885,7 @@ export interface ElementFindingFields2 {
7824
7885
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
7825
7886
  */
7826
7887
  elementAttribute?: {
7827
- [k: string]: number | boolean | string;
7888
+ [k: string]: boolean | number | string;
7828
7889
  };
7829
7890
  /**
7830
7891
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -7879,7 +7940,7 @@ export interface ElementFindingFields3 {
7879
7940
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
7880
7941
  */
7881
7942
  elementAttribute?: {
7882
- [k: string]: number | boolean | string;
7943
+ [k: string]: boolean | number | string;
7883
7944
  };
7884
7945
  /**
7885
7946
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -7934,7 +7995,7 @@ export interface ElementFindingFields4 {
7934
7995
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
7935
7996
  */
7936
7997
  elementAttribute?: {
7937
- [k: string]: number | boolean | string;
7998
+ [k: string]: boolean | number | string;
7938
7999
  };
7939
8000
  /**
7940
8001
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -7989,7 +8050,7 @@ export interface ElementFindingFields5 {
7989
8050
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
7990
8051
  */
7991
8052
  elementAttribute?: {
7992
- [k: string]: number | boolean | string;
8053
+ [k: string]: boolean | number | string;
7993
8054
  };
7994
8055
  /**
7995
8056
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -8142,9 +8203,9 @@ export interface AppCapturesDonTSupportCropYet {
8142
8203
  }
8143
8204
  export interface Common10 {
8144
8205
  /**
8145
- * JSON Schema for this object.
8206
+ * JSON Schema URL for editor support. Doc Detective ignores it.
8146
8207
  */
8147
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
8208
+ $schema?: string;
8148
8209
  /**
8149
8210
  * ID of the step.
8150
8211
  */
@@ -8201,6 +8262,10 @@ export interface Common10 {
8201
8262
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
8202
8263
  */
8203
8264
  durationMs?: number;
8265
+ /**
8266
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
8267
+ */
8268
+ startedAt?: string;
8204
8269
  [k: string]: unknown;
8205
8270
  }
8206
8271
  /**
@@ -8351,9 +8416,9 @@ export interface SaveCookie {
8351
8416
  }
8352
8417
  export interface Common11 {
8353
8418
  /**
8354
- * JSON Schema for this object.
8419
+ * JSON Schema URL for editor support. Doc Detective ignores it.
8355
8420
  */
8356
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
8421
+ $schema?: string;
8357
8422
  /**
8358
8423
  * ID of the step.
8359
8424
  */
@@ -8410,6 +8475,10 @@ export interface Common11 {
8410
8475
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
8411
8476
  */
8412
8477
  durationMs?: number;
8478
+ /**
8479
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
8480
+ */
8481
+ startedAt?: string;
8413
8482
  [k: string]: unknown;
8414
8483
  }
8415
8484
  /**
@@ -8704,9 +8773,9 @@ export interface RecordingCheckpointsDetailed {
8704
8773
  }
8705
8774
  export interface Common12 {
8706
8775
  /**
8707
- * JSON Schema for this object.
8776
+ * JSON Schema URL for editor support. Doc Detective ignores it.
8708
8777
  */
8709
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
8778
+ $schema?: string;
8710
8779
  /**
8711
8780
  * ID of the step.
8712
8781
  */
@@ -8763,6 +8832,10 @@ export interface Common12 {
8763
8832
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
8764
8833
  */
8765
8834
  durationMs?: number;
8835
+ /**
8836
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
8837
+ */
8838
+ startedAt?: string;
8766
8839
  [k: string]: unknown;
8767
8840
  }
8768
8841
  /**
@@ -8919,9 +8992,9 @@ export interface StopRecordDetailed {
8919
8992
  }
8920
8993
  export interface Common13 {
8921
8994
  /**
8922
- * JSON Schema for this object.
8995
+ * JSON Schema URL for editor support. Doc Detective ignores it.
8923
8996
  */
8924
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
8997
+ $schema?: string;
8925
8998
  /**
8926
8999
  * ID of the step.
8927
9000
  */
@@ -8978,6 +9051,10 @@ export interface Common13 {
8978
9051
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
8979
9052
  */
8980
9053
  durationMs?: number;
9054
+ /**
9055
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
9056
+ */
9057
+ startedAt?: string;
8981
9058
  [k: string]: unknown;
8982
9059
  }
8983
9060
  /**
@@ -9278,9 +9355,9 @@ export interface ByCriteria30 {
9278
9355
  }
9279
9356
  export interface Common14 {
9280
9357
  /**
9281
- * JSON Schema for this object.
9358
+ * JSON Schema URL for editor support. Doc Detective ignores it.
9282
9359
  */
9283
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
9360
+ $schema?: string;
9284
9361
  /**
9285
9362
  * ID of the step.
9286
9363
  */
@@ -9337,6 +9414,10 @@ export interface Common14 {
9337
9414
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
9338
9415
  */
9339
9416
  durationMs?: number;
9417
+ /**
9418
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
9419
+ */
9420
+ startedAt?: string;
9340
9421
  [k: string]: unknown;
9341
9422
  }
9342
9423
  /**
@@ -9646,9 +9727,18 @@ export interface ProcessDescriptor {
9646
9727
  */
9647
9728
  workingDirectory?: string;
9648
9729
  /**
9649
- * Run the process in a pseudo-terminal (PTY) instead of a pipe, so full-screen/interactive TUIs (those that check `isTTY`) render and accept keystrokes. Requires the PTY backend `@homebridge/node-pty-prebuilt-multiarch` to be installed (`npm install @homebridge/node-pty-prebuilt-multiarch`); it is not bundled, and if it is unavailable the descriptor is skipped. `stdout` and `stderr` are merged into one stream in PTY mode. PTY output includes raw ANSI escape sequences (colors, cursor movement); `waitUntil.stdio` patterns should target text that renders without interleaved control codes, or use a regex that tolerates them.
9730
+ * Run the process in a pseudo-terminal (PTY) instead of a pipe, so full-screen/interactive TUIs (those that check `isTTY`) render and accept keystrokes. `true` or `{}` uses a terminal 120 columns wide by 30 rows tall. An object with `cols` and `rows` sets the size, for TUIs whose layout depends on the width. Requires the PTY backend `@homebridge/node-pty-prebuilt-multiarch` to be installed (`npm install @homebridge/node-pty-prebuilt-multiarch`); it is not bundled, and if it is unavailable the descriptor is skipped. `stdout` and `stderr` are merged into one stream in PTY mode. PTY output includes raw ANSI escape sequences (colors, cursor movement); `waitUntil.stdio` patterns should target text that renders without interleaved control codes, or use a regex that tolerates them.
9650
9731
  */
9651
- tty?: boolean;
9732
+ tty?: boolean | {
9733
+ /**
9734
+ * Terminal width in columns (what the process reads as `process.stdout.columns`).
9735
+ */
9736
+ cols?: number;
9737
+ /**
9738
+ * Terminal height in rows (what the process reads as `process.stdout.rows`).
9739
+ */
9740
+ rows?: number;
9741
+ };
9652
9742
  /**
9653
9743
  * Conditions that must all be met before the process is considered ready and the descriptor completes. Omit to consider the process ready as soon as it is spawned. Specify any combination; every condition given must pass before `timeout` elapses. Note: a process that forks a daemon and then exits (common for some Docker images and databases) is treated as having exited before becoming ready and the descriptor fails — use `port`, `httpGet`, or `delayMs` for those rather than a condition that depends on the foreground process staying alive.
9654
9744
  */
@@ -9836,9 +9926,18 @@ export interface ProcessDescriptor1 {
9836
9926
  */
9837
9927
  workingDirectory?: string;
9838
9928
  /**
9839
- * Run the process in a pseudo-terminal (PTY) instead of a pipe, so full-screen/interactive TUIs (those that check `isTTY`) render and accept keystrokes. Requires the PTY backend `@homebridge/node-pty-prebuilt-multiarch` to be installed (`npm install @homebridge/node-pty-prebuilt-multiarch`); it is not bundled, and if it is unavailable the descriptor is skipped. `stdout` and `stderr` are merged into one stream in PTY mode. PTY output includes raw ANSI escape sequences (colors, cursor movement); `waitUntil.stdio` patterns should target text that renders without interleaved control codes, or use a regex that tolerates them.
9929
+ * Run the process in a pseudo-terminal (PTY) instead of a pipe, so full-screen/interactive TUIs (those that check `isTTY`) render and accept keystrokes. `true` or `{}` uses a terminal 120 columns wide by 30 rows tall. An object with `cols` and `rows` sets the size, for TUIs whose layout depends on the width. Requires the PTY backend `@homebridge/node-pty-prebuilt-multiarch` to be installed (`npm install @homebridge/node-pty-prebuilt-multiarch`); it is not bundled, and if it is unavailable the descriptor is skipped. `stdout` and `stderr` are merged into one stream in PTY mode. PTY output includes raw ANSI escape sequences (colors, cursor movement); `waitUntil.stdio` patterns should target text that renders without interleaved control codes, or use a regex that tolerates them.
9840
9930
  */
9841
- tty?: boolean;
9931
+ tty?: boolean | {
9932
+ /**
9933
+ * Terminal width in columns (what the process reads as `process.stdout.columns`).
9934
+ */
9935
+ cols?: number;
9936
+ /**
9937
+ * Terminal height in rows (what the process reads as `process.stdout.rows`).
9938
+ */
9939
+ rows?: number;
9940
+ };
9842
9941
  /**
9843
9942
  * Conditions that must all be met before the process is considered ready and the descriptor completes. Omit to consider the process ready as soon as it is spawned. Specify any combination; every condition given must pass before `timeout` elapses. Note: a process that forks a daemon and then exits (common for some Docker images and databases) is treated as having exited before becoming ready and the descriptor fails — use `port`, `httpGet`, or `delayMs` for those rather than a condition that depends on the foreground process staying alive.
9844
9943
  */
@@ -9867,9 +9966,9 @@ export interface ProcessDescriptor1 {
9867
9966
  }
9868
9967
  export interface Common15 {
9869
9968
  /**
9870
- * JSON Schema for this object.
9969
+ * JSON Schema URL for editor support. Doc Detective ignores it.
9871
9970
  */
9872
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
9971
+ $schema?: string;
9873
9972
  /**
9874
9973
  * ID of the step.
9875
9974
  */
@@ -9926,6 +10025,10 @@ export interface Common15 {
9926
10025
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
9927
10026
  */
9928
10027
  durationMs?: number;
10028
+ /**
10029
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
10030
+ */
10031
+ startedAt?: string;
9929
10032
  [k: string]: unknown;
9930
10033
  }
9931
10034
  /**
@@ -10076,9 +10179,9 @@ export interface LoadVariables {
10076
10179
  }
10077
10180
  export interface Common16 {
10078
10181
  /**
10079
- * JSON Schema for this object.
10182
+ * JSON Schema URL for editor support. Doc Detective ignores it.
10080
10183
  */
10081
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
10184
+ $schema?: string;
10082
10185
  /**
10083
10186
  * ID of the step.
10084
10187
  */
@@ -10135,6 +10238,10 @@ export interface Common16 {
10135
10238
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
10136
10239
  */
10137
10240
  durationMs?: number;
10241
+ /**
10242
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
10243
+ */
10244
+ startedAt?: string;
10138
10245
  [k: string]: unknown;
10139
10246
  }
10140
10247
  /**
@@ -10355,9 +10462,9 @@ export interface ByCriteria32 {
10355
10462
  }
10356
10463
  export interface Common17 {
10357
10464
  /**
10358
- * JSON Schema for this object.
10465
+ * JSON Schema URL for editor support. Doc Detective ignores it.
10359
10466
  */
10360
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
10467
+ $schema?: string;
10361
10468
  /**
10362
10469
  * ID of the step.
10363
10470
  */
@@ -10414,6 +10521,10 @@ export interface Common17 {
10414
10521
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
10415
10522
  */
10416
10523
  durationMs?: number;
10524
+ /**
10525
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
10526
+ */
10527
+ startedAt?: string;
10417
10528
  [k: string]: unknown;
10418
10529
  }
10419
10530
  /**
@@ -10564,9 +10675,9 @@ export interface LoadCookie {
10564
10675
  }
10565
10676
  export interface Common18 {
10566
10677
  /**
10567
- * JSON Schema for this object.
10678
+ * JSON Schema URL for editor support. Doc Detective ignores it.
10568
10679
  */
10569
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
10680
+ $schema?: string;
10570
10681
  /**
10571
10682
  * ID of the step.
10572
10683
  */
@@ -10623,6 +10734,10 @@ export interface Common18 {
10623
10734
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
10624
10735
  */
10625
10736
  durationMs?: number;
10737
+ /**
10738
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
10739
+ */
10740
+ startedAt?: string;
10626
10741
  [k: string]: unknown;
10627
10742
  }
10628
10743
  /**
@@ -10964,9 +11079,9 @@ export interface ByCriteria38 {
10964
11079
  }
10965
11080
  export interface Common19 {
10966
11081
  /**
10967
- * JSON Schema for this object.
11082
+ * JSON Schema URL for editor support. Doc Detective ignores it.
10968
11083
  */
10969
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
11084
+ $schema?: string;
10970
11085
  /**
10971
11086
  * ID of the step.
10972
11087
  */
@@ -11023,6 +11138,10 @@ export interface Common19 {
11023
11138
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
11024
11139
  */
11025
11140
  durationMs?: number;
11141
+ /**
11142
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
11143
+ */
11144
+ startedAt?: string;
11026
11145
  [k: string]: unknown;
11027
11146
  }
11028
11147
  /**
@@ -11173,9 +11292,9 @@ export interface Wait {
11173
11292
  }
11174
11293
  export interface Common20 {
11175
11294
  /**
11176
- * JSON Schema for this object.
11295
+ * JSON Schema URL for editor support. Doc Detective ignores it.
11177
11296
  */
11178
- $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
11297
+ $schema?: string;
11179
11298
  /**
11180
11299
  * ID of the step.
11181
11300
  */
@@ -11232,6 +11351,10 @@ export interface Common20 {
11232
11351
  * Wall-clock duration of this step in milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's elapsed time — the attempt the reported `result` describes — not the sum across attempts. A step that was skipped or never executed reports `0`. Distinct from the `duration` input that some actions accept (for example a `click`'s press duration). Present only in test results; system-populated.
11233
11352
  */
11234
11353
  durationMs?: number;
11354
+ /**
11355
+ * When this step started, as an ISO 8601 UTC timestamp with milliseconds. When a routing `retry` action re-ran the step, this is the FINAL attempt's start, matching `durationMs`. Absent for a step that was skipped or never executed. Present only in test results; system-populated.
11356
+ */
11357
+ startedAt?: string;
11235
11358
  [k: string]: unknown;
11236
11359
  }
11237
11360
  /**
@@ -11471,7 +11594,7 @@ export interface ElementFindingFields6 {
11471
11594
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
11472
11595
  */
11473
11596
  elementAttribute?: {
11474
- [k: string]: number | boolean | string;
11597
+ [k: string]: boolean | number | string;
11475
11598
  };
11476
11599
  /**
11477
11600
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -11526,7 +11649,7 @@ export interface ElementFindingFields7 {
11526
11649
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
11527
11650
  */
11528
11651
  elementAttribute?: {
11529
- [k: string]: number | boolean | string;
11652
+ [k: string]: boolean | number | string;
11530
11653
  };
11531
11654
  /**
11532
11655
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -11581,7 +11704,7 @@ export interface ElementFindingFields8 {
11581
11704
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
11582
11705
  */
11583
11706
  elementAttribute?: {
11584
- [k: string]: number | boolean | string;
11707
+ [k: string]: boolean | number | string;
11585
11708
  };
11586
11709
  /**
11587
11710
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -11636,7 +11759,7 @@ export interface ElementFindingFields9 {
11636
11759
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
11637
11760
  */
11638
11761
  elementAttribute?: {
11639
- [k: string]: number | boolean | string;
11762
+ [k: string]: boolean | number | string;
11640
11763
  };
11641
11764
  /**
11642
11765
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -11691,7 +11814,7 @@ export interface ElementFindingFields10 {
11691
11814
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
11692
11815
  */
11693
11816
  elementAttribute?: {
11694
- [k: string]: number | boolean | string;
11817
+ [k: string]: boolean | number | string;
11695
11818
  };
11696
11819
  /**
11697
11820
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -11746,7 +11869,7 @@ export interface ElementFindingFields11 {
11746
11869
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
11747
11870
  */
11748
11871
  elementAttribute?: {
11749
- [k: string]: number | boolean | string;
11872
+ [k: string]: boolean | number | string;
11750
11873
  };
11751
11874
  /**
11752
11875
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -11946,7 +12069,7 @@ export interface ElementFindingFields12 {
11946
12069
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
11947
12070
  */
11948
12071
  elementAttribute?: {
11949
- [k: string]: number | boolean | string;
12072
+ [k: string]: boolean | number | string;
11950
12073
  };
11951
12074
  /**
11952
12075
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -12001,7 +12124,7 @@ export interface ElementFindingFields13 {
12001
12124
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
12002
12125
  */
12003
12126
  elementAttribute?: {
12004
- [k: string]: number | boolean | string;
12127
+ [k: string]: boolean | number | string;
12005
12128
  };
12006
12129
  /**
12007
12130
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -12056,7 +12179,7 @@ export interface ElementFindingFields14 {
12056
12179
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
12057
12180
  */
12058
12181
  elementAttribute?: {
12059
- [k: string]: number | boolean | string;
12182
+ [k: string]: boolean | number | string;
12060
12183
  };
12061
12184
  /**
12062
12185
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -12111,7 +12234,7 @@ export interface ElementFindingFields15 {
12111
12234
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
12112
12235
  */
12113
12236
  elementAttribute?: {
12114
- [k: string]: number | boolean | string;
12237
+ [k: string]: boolean | number | string;
12115
12238
  };
12116
12239
  /**
12117
12240
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -12166,7 +12289,7 @@ export interface ElementFindingFields16 {
12166
12289
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
12167
12290
  */
12168
12291
  elementAttribute?: {
12169
- [k: string]: number | boolean | string;
12292
+ [k: string]: boolean | number | string;
12170
12293
  };
12171
12294
  /**
12172
12295
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
@@ -12221,7 +12344,7 @@ export interface ElementFindingFields17 {
12221
12344
  * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
12222
12345
  */
12223
12346
  elementAttribute?: {
12224
- [k: string]: number | boolean | string;
12347
+ [k: string]: boolean | number | string;
12225
12348
  };
12226
12349
  /**
12227
12350
  * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.