doc-detective-common 4.24.0 → 4.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1338,7 +1338,7 @@ export type Routing51 = {
1338
1338
  [k: string]: unknown;
1339
1339
  };
1340
1340
  /**
1341
- * 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. Supported extensions: [ '.mp4', '.webm', '.gif' ]
1341
+ * 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' ]
1342
1342
  */
1343
1343
  export type Record1 = RecordSimple | RecordDetailed | RecordBoolean;
1344
1344
  /**
@@ -1373,6 +1373,18 @@ export type ByIndex11 = number;
1373
1373
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
1374
1374
  */
1375
1375
  export type ByName11 = string;
1376
+ /**
1377
+ * Which app window to act on. Omit to use the active window. Apps have windows, no tabs.
1378
+ */
1379
+ export type AppWindowSelector2 = ByIndex12 | ByName12 | ByCriteria12;
1380
+ /**
1381
+ * Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened).
1382
+ */
1383
+ export type ByIndex12 = number;
1384
+ /**
1385
+ * Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
1386
+ */
1387
+ export type ByName12 = string;
1376
1388
  /**
1377
1389
  * Recording engine to use. Either a string shorthand selecting the engine with defaults, or an object for full control. If unset, defaults to the `browser` engine when a visible Chrome context is available and to `ffmpeg` otherwise.
1378
1390
  */
@@ -1382,7 +1394,7 @@ export type RecordingEngine = RecordingEngineSimple | RecordingEngineDetailed;
1382
1394
  */
1383
1395
  export type RecordingEngineSimple = "browser" | "ffmpeg";
1384
1396
  /**
1385
- * If `true`, starts recording — auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record.
1397
+ * 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.
1386
1398
  */
1387
1399
  export type RecordBoolean = boolean;
1388
1400
  /**
@@ -1536,7 +1548,7 @@ export type CloseSurface1 = Surface1 | [Surface2, ...Surface2[]];
1536
1548
  /**
1537
1549
  * The surface a step acts on. Omit to act on the active surface. Supports background processes, browser windows/tabs, and native app windows.
1538
1550
  */
1539
- export type Surface1 = SurfaceByName1 | ProcessSurface1 | BrowserSurface5 | AppSurface2;
1551
+ export type Surface1 = SurfaceByName1 | ProcessSurface1 | BrowserSurface5 | AppSurface3;
1540
1552
  /**
1541
1553
  * Name of the surface. A browser engine keyword (chrome|firefox|safari|webkit|edge) targets that browser; any other string names a background process. To target a browser window or tab, use the object form ({ "browser": …, "window": …, "tab": … }) — a plain string is never a window/tab name.
1542
1554
  */
@@ -1544,43 +1556,43 @@ export type SurfaceByName1 = string;
1544
1556
  /**
1545
1557
  * Which window to act on. Omit to use the active window.
1546
1558
  */
1547
- export type WindowTabSelector10 = ByIndex12 | ByName12 | ByCriteria12;
1559
+ export type WindowTabSelector10 = ByIndex13 | ByName13 | ByCriteria13;
1548
1560
  /**
1549
1561
  * Index in creation order. Negative counts from the end; `-1` is the newest.
1550
1562
  */
1551
- export type ByIndex12 = number;
1563
+ export type ByIndex13 = number;
1552
1564
  /**
1553
1565
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
1554
1566
  */
1555
- export type ByName12 = string;
1567
+ export type ByName13 = string;
1556
1568
  /**
1557
1569
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
1558
1570
  */
1559
- export type WindowTabSelector11 = ByIndex13 | ByName13 | ByCriteria13;
1571
+ export type WindowTabSelector11 = ByIndex14 | ByName14 | ByCriteria14;
1560
1572
  /**
1561
1573
  * Index in creation order. Negative counts from the end; `-1` is the newest.
1562
1574
  */
1563
- export type ByIndex13 = number;
1575
+ export type ByIndex14 = number;
1564
1576
  /**
1565
1577
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
1566
1578
  */
1567
- export type ByName13 = string;
1579
+ export type ByName14 = string;
1568
1580
  /**
1569
1581
  * Which app window to act on. Omit to use the active window. Apps have windows, no tabs.
1570
1582
  */
1571
- export type AppWindowSelector2 = ByIndex14 | ByName14 | ByCriteria14;
1583
+ export type AppWindowSelector3 = ByIndex15 | ByName15 | ByCriteria15;
1572
1584
  /**
1573
1585
  * Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened).
1574
1586
  */
1575
- export type ByIndex14 = number;
1587
+ export type ByIndex15 = number;
1576
1588
  /**
1577
1589
  * Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
1578
1590
  */
1579
- export type ByName14 = string;
1591
+ export type ByName15 = string;
1580
1592
  /**
1581
1593
  * The surface a step acts on. Omit to act on the active surface. Supports background processes, browser windows/tabs, and native app windows.
1582
1594
  */
1583
- export type Surface2 = SurfaceByName2 | ProcessSurface2 | BrowserSurface6 | AppSurface3;
1595
+ export type Surface2 = SurfaceByName2 | ProcessSurface2 | BrowserSurface6 | AppSurface4;
1584
1596
  /**
1585
1597
  * Name of the surface. A browser engine keyword (chrome|firefox|safari|webkit|edge) targets that browser; any other string names a background process. To target a browser window or tab, use the object form ({ "browser": …, "window": …, "tab": … }) — a plain string is never a window/tab name.
1586
1598
  */
@@ -1588,39 +1600,39 @@ export type SurfaceByName2 = string;
1588
1600
  /**
1589
1601
  * Which window to act on. Omit to use the active window.
1590
1602
  */
1591
- export type WindowTabSelector12 = ByIndex15 | ByName15 | ByCriteria15;
1603
+ export type WindowTabSelector12 = ByIndex16 | ByName16 | ByCriteria16;
1592
1604
  /**
1593
1605
  * Index in creation order. Negative counts from the end; `-1` is the newest.
1594
1606
  */
1595
- export type ByIndex15 = number;
1607
+ export type ByIndex16 = number;
1596
1608
  /**
1597
1609
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
1598
1610
  */
1599
- export type ByName15 = string;
1611
+ export type ByName16 = string;
1600
1612
  /**
1601
1613
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
1602
1614
  */
1603
- export type WindowTabSelector13 = ByIndex16 | ByName16 | ByCriteria16;
1615
+ export type WindowTabSelector13 = ByIndex17 | ByName17 | ByCriteria17;
1604
1616
  /**
1605
1617
  * Index in creation order. Negative counts from the end; `-1` is the newest.
1606
1618
  */
1607
- export type ByIndex16 = number;
1619
+ export type ByIndex17 = number;
1608
1620
  /**
1609
1621
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
1610
1622
  */
1611
- export type ByName16 = string;
1623
+ export type ByName17 = string;
1612
1624
  /**
1613
1625
  * Which app window to act on. Omit to use the active window. Apps have windows, no tabs.
1614
1626
  */
1615
- export type AppWindowSelector3 = ByIndex17 | ByName17 | ByCriteria17;
1627
+ export type AppWindowSelector4 = ByIndex18 | ByName18 | ByCriteria18;
1616
1628
  /**
1617
1629
  * Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened).
1618
1630
  */
1619
- export type ByIndex17 = number;
1631
+ export type ByIndex18 = number;
1620
1632
  /**
1621
1633
  * Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
1622
1634
  */
1623
- export type ByName17 = string;
1635
+ export type ByName18 = string;
1624
1636
  /**
1625
1637
  * A condition expression, or an array of expressions combined with logical AND.
1626
1638
  */
@@ -1881,27 +1893,27 @@ export type SurfaceByBrowserEngine4 = "chrome" | "firefox" | "safari" | "webkit"
1881
1893
  /**
1882
1894
  * Which window to act on. Omit to use the active window.
1883
1895
  */
1884
- export type WindowTabSelector14 = ByIndex18 | ByName18 | ByCriteria18;
1896
+ export type WindowTabSelector14 = ByIndex19 | ByName19 | ByCriteria19;
1885
1897
  /**
1886
1898
  * Index in creation order. Negative counts from the end; `-1` is the newest.
1887
1899
  */
1888
- export type ByIndex18 = number;
1900
+ export type ByIndex19 = number;
1889
1901
  /**
1890
1902
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
1891
1903
  */
1892
- export type ByName18 = string;
1904
+ export type ByName19 = string;
1893
1905
  /**
1894
1906
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
1895
1907
  */
1896
- export type WindowTabSelector15 = ByIndex19 | ByName19 | ByCriteria19;
1908
+ export type WindowTabSelector15 = ByIndex20 | ByName20 | ByCriteria20;
1897
1909
  /**
1898
1910
  * Index in creation order. Negative counts from the end; `-1` is the newest.
1899
1911
  */
1900
- export type ByIndex19 = number;
1912
+ export type ByIndex20 = number;
1901
1913
  /**
1902
1914
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
1903
1915
  */
1904
- export type ByName19 = string;
1916
+ export type ByName20 = string;
1905
1917
  /**
1906
1918
  * A condition expression, or an array of expressions combined with logical AND.
1907
1919
  */
@@ -2062,39 +2074,39 @@ export type SurfaceByBrowserEngine5 = "chrome" | "firefox" | "safari" | "webkit"
2062
2074
  /**
2063
2075
  * Which window to act on. Omit to use the active window.
2064
2076
  */
2065
- export type WindowTabSelector16 = ByIndex20 | ByName20 | ByCriteria20;
2077
+ export type WindowTabSelector16 = ByIndex21 | ByName21 | ByCriteria21;
2066
2078
  /**
2067
2079
  * Index in creation order. Negative counts from the end; `-1` is the newest.
2068
2080
  */
2069
- export type ByIndex20 = number;
2081
+ export type ByIndex21 = number;
2070
2082
  /**
2071
2083
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
2072
2084
  */
2073
- export type ByName20 = string;
2085
+ export type ByName21 = string;
2074
2086
  /**
2075
2087
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
2076
2088
  */
2077
- export type WindowTabSelector17 = ByIndex21 | ByName21 | ByCriteria21;
2089
+ export type WindowTabSelector17 = ByIndex22 | ByName22 | ByCriteria22;
2078
2090
  /**
2079
2091
  * Index in creation order. Negative counts from the end; `-1` is the newest.
2080
2092
  */
2081
- export type ByIndex21 = number;
2093
+ export type ByIndex22 = number;
2082
2094
  /**
2083
2095
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
2084
2096
  */
2085
- export type ByName21 = string;
2097
+ export type ByName22 = string;
2086
2098
  /**
2087
2099
  * Which app window to act on. Omit to use the active window. Apps have windows, no tabs.
2088
2100
  */
2089
- export type AppWindowSelector4 = ByIndex22 | ByName22 | ByCriteria22;
2101
+ export type AppWindowSelector5 = ByIndex23 | ByName23 | ByCriteria23;
2090
2102
  /**
2091
2103
  * Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened).
2092
2104
  */
2093
- export type ByIndex22 = number;
2105
+ export type ByIndex23 = number;
2094
2106
  /**
2095
2107
  * Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
2096
2108
  */
2097
- export type ByName22 = string;
2109
+ export type ByName23 = string;
2098
2110
  /**
2099
2111
  * Browser engine keyword. Targets that browser. Steps that can only ever act on a browser (not a background process) restrict the bare-string form to this enum, so a process name here is rejected at validation time instead of failing at runtime.
2100
2112
  */
@@ -2102,39 +2114,39 @@ export type SurfaceByBrowserEngine6 = "chrome" | "firefox" | "safari" | "webkit"
2102
2114
  /**
2103
2115
  * Which window to act on. Omit to use the active window.
2104
2116
  */
2105
- export type WindowTabSelector18 = ByIndex23 | ByName23 | ByCriteria23;
2117
+ export type WindowTabSelector18 = ByIndex24 | ByName24 | ByCriteria24;
2106
2118
  /**
2107
2119
  * Index in creation order. Negative counts from the end; `-1` is the newest.
2108
2120
  */
2109
- export type ByIndex23 = number;
2121
+ export type ByIndex24 = number;
2110
2122
  /**
2111
2123
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
2112
2124
  */
2113
- export type ByName23 = string;
2125
+ export type ByName24 = string;
2114
2126
  /**
2115
2127
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
2116
2128
  */
2117
- export type WindowTabSelector19 = ByIndex24 | ByName24 | ByCriteria24;
2129
+ export type WindowTabSelector19 = ByIndex25 | ByName25 | ByCriteria25;
2118
2130
  /**
2119
2131
  * Index in creation order. Negative counts from the end; `-1` is the newest.
2120
2132
  */
2121
- export type ByIndex24 = number;
2133
+ export type ByIndex25 = number;
2122
2134
  /**
2123
2135
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
2124
2136
  */
2125
- export type ByName24 = string;
2137
+ export type ByName25 = string;
2126
2138
  /**
2127
2139
  * Which app window to act on. Omit to use the active window. Apps have windows, no tabs.
2128
2140
  */
2129
- export type AppWindowSelector5 = ByIndex25 | ByName25 | ByCriteria25;
2141
+ export type AppWindowSelector6 = ByIndex26 | ByName26 | ByCriteria26;
2130
2142
  /**
2131
2143
  * Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened).
2132
2144
  */
2133
- export type ByIndex25 = number;
2145
+ export type ByIndex26 = number;
2134
2146
  /**
2135
2147
  * Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
2136
2148
  */
2137
- export type ByName25 = string;
2149
+ export type ByName26 = string;
2138
2150
  /**
2139
2151
  * A condition expression, or an array of expressions combined with logical AND.
2140
2152
  */
@@ -2620,27 +2632,27 @@ export type SurfaceByBrowserEngine7 = "chrome" | "firefox" | "safari" | "webkit"
2620
2632
  /**
2621
2633
  * Which window to act on. Omit to use the active window.
2622
2634
  */
2623
- export type WindowTabSelector20 = ByIndex26 | ByName26 | ByCriteria26;
2635
+ export type WindowTabSelector20 = ByIndex27 | ByName27 | ByCriteria27;
2624
2636
  /**
2625
2637
  * Index in creation order. Negative counts from the end; `-1` is the newest.
2626
2638
  */
2627
- export type ByIndex26 = number;
2639
+ export type ByIndex27 = number;
2628
2640
  /**
2629
2641
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
2630
2642
  */
2631
- export type ByName26 = string;
2643
+ export type ByName27 = string;
2632
2644
  /**
2633
2645
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
2634
2646
  */
2635
- export type WindowTabSelector21 = ByIndex27 | ByName27 | ByCriteria27;
2647
+ export type WindowTabSelector21 = ByIndex28 | ByName28 | ByCriteria28;
2636
2648
  /**
2637
2649
  * Index in creation order. Negative counts from the end; `-1` is the newest.
2638
2650
  */
2639
- export type ByIndex27 = number;
2651
+ export type ByIndex28 = number;
2640
2652
  /**
2641
2653
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
2642
2654
  */
2643
- export type ByName27 = string;
2655
+ export type ByName28 = string;
2644
2656
  /**
2645
2657
  * A condition expression, or an array of expressions combined with logical AND.
2646
2658
  */
@@ -2937,27 +2949,27 @@ export type SurfaceByBrowserEngine8 = "chrome" | "firefox" | "safari" | "webkit"
2937
2949
  /**
2938
2950
  * Which window to act on. Omit to use the active window.
2939
2951
  */
2940
- export type WindowTabSelector22 = ByIndex28 | ByName28 | ByCriteria28;
2952
+ export type WindowTabSelector22 = ByIndex29 | ByName29 | ByCriteria29;
2941
2953
  /**
2942
2954
  * Index in creation order. Negative counts from the end; `-1` is the newest.
2943
2955
  */
2944
- export type ByIndex28 = number;
2956
+ export type ByIndex29 = number;
2945
2957
  /**
2946
2958
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
2947
2959
  */
2948
- export type ByName28 = string;
2960
+ export type ByName29 = string;
2949
2961
  /**
2950
2962
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
2951
2963
  */
2952
- export type WindowTabSelector23 = ByIndex29 | ByName29 | ByCriteria29;
2964
+ export type WindowTabSelector23 = ByIndex30 | ByName30 | ByCriteria30;
2953
2965
  /**
2954
2966
  * Index in creation order. Negative counts from the end; `-1` is the newest.
2955
2967
  */
2956
- export type ByIndex29 = number;
2968
+ export type ByIndex30 = number;
2957
2969
  /**
2958
2970
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
2959
2971
  */
2960
- export type ByName29 = string;
2972
+ export type ByName30 = string;
2961
2973
  /**
2962
2974
  * A condition expression, or an array of expressions combined with logical AND.
2963
2975
  */
@@ -3083,7 +3095,7 @@ export type TypeKeysSimple3 = string | string[];
3083
3095
  /**
3084
3096
  * The surface a step acts on. Omit to act on the active surface. Supports background processes, browser windows/tabs, and native app windows.
3085
3097
  */
3086
- export type Surface3 = SurfaceByName3 | ProcessSurface3 | BrowserSurface12 | AppSurface6;
3098
+ export type Surface3 = SurfaceByName3 | ProcessSurface3 | BrowserSurface12 | AppSurface7;
3087
3099
  /**
3088
3100
  * Name of the surface. A browser engine keyword (chrome|firefox|safari|webkit|edge) targets that browser; any other string names a background process. To target a browser window or tab, use the object form ({ "browser": …, "window": …, "tab": … }) — a plain string is never a window/tab name.
3089
3101
  */
@@ -3091,39 +3103,39 @@ export type SurfaceByName3 = string;
3091
3103
  /**
3092
3104
  * Which window to act on. Omit to use the active window.
3093
3105
  */
3094
- export type WindowTabSelector24 = ByIndex30 | ByName30 | ByCriteria30;
3106
+ export type WindowTabSelector24 = ByIndex31 | ByName31 | ByCriteria31;
3095
3107
  /**
3096
3108
  * Index in creation order. Negative counts from the end; `-1` is the newest.
3097
3109
  */
3098
- export type ByIndex30 = number;
3110
+ export type ByIndex31 = number;
3099
3111
  /**
3100
3112
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3101
3113
  */
3102
- export type ByName30 = string;
3114
+ export type ByName31 = string;
3103
3115
  /**
3104
3116
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
3105
3117
  */
3106
- export type WindowTabSelector25 = ByIndex31 | ByName31 | ByCriteria31;
3118
+ export type WindowTabSelector25 = ByIndex32 | ByName32 | ByCriteria32;
3107
3119
  /**
3108
3120
  * Index in creation order. Negative counts from the end; `-1` is the newest.
3109
3121
  */
3110
- export type ByIndex31 = number;
3122
+ export type ByIndex32 = number;
3111
3123
  /**
3112
3124
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3113
3125
  */
3114
- export type ByName31 = string;
3126
+ export type ByName32 = string;
3115
3127
  /**
3116
3128
  * Which app window to act on. Omit to use the active window. Apps have windows, no tabs.
3117
3129
  */
3118
- export type AppWindowSelector6 = ByIndex32 | ByName32 | ByCriteria32;
3130
+ export type AppWindowSelector7 = ByIndex33 | ByName33 | ByCriteria33;
3119
3131
  /**
3120
3132
  * Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened).
3121
3133
  */
3122
- export type ByIndex32 = number;
3134
+ export type ByIndex33 = number;
3123
3135
  /**
3124
3136
  * Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3125
3137
  */
3126
- export type ByName32 = string;
3138
+ export type ByName33 = string;
3127
3139
  /**
3128
3140
  * Wait for a specific element to be present. At least one finding field must be specified.
3129
3141
  */
@@ -3240,39 +3252,39 @@ export type SurfaceByBrowserEngine9 = "chrome" | "firefox" | "safari" | "webkit"
3240
3252
  /**
3241
3253
  * Which window to act on. Omit to use the active window.
3242
3254
  */
3243
- export type WindowTabSelector26 = ByIndex33 | ByName33 | ByCriteria33;
3255
+ export type WindowTabSelector26 = ByIndex34 | ByName34 | ByCriteria34;
3244
3256
  /**
3245
3257
  * Index in creation order. Negative counts from the end; `-1` is the newest.
3246
3258
  */
3247
- export type ByIndex33 = number;
3259
+ export type ByIndex34 = number;
3248
3260
  /**
3249
3261
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3250
3262
  */
3251
- export type ByName33 = string;
3263
+ export type ByName34 = string;
3252
3264
  /**
3253
3265
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
3254
3266
  */
3255
- export type WindowTabSelector27 = ByIndex34 | ByName34 | ByCriteria34;
3267
+ export type WindowTabSelector27 = ByIndex35 | ByName35 | ByCriteria35;
3256
3268
  /**
3257
3269
  * Index in creation order. Negative counts from the end; `-1` is the newest.
3258
3270
  */
3259
- export type ByIndex34 = number;
3271
+ export type ByIndex35 = number;
3260
3272
  /**
3261
3273
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3262
3274
  */
3263
- export type ByName34 = string;
3275
+ export type ByName35 = string;
3264
3276
  /**
3265
3277
  * Which app window to act on. Omit to use the active window. Apps have windows, no tabs.
3266
3278
  */
3267
- export type AppWindowSelector7 = ByIndex35 | ByName35 | ByCriteria35;
3279
+ export type AppWindowSelector8 = ByIndex36 | ByName36 | ByCriteria36;
3268
3280
  /**
3269
3281
  * Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened).
3270
3282
  */
3271
- export type ByIndex35 = number;
3283
+ export type ByIndex36 = number;
3272
3284
  /**
3273
3285
  * Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3274
3286
  */
3275
- export type ByName35 = string;
3287
+ export type ByName36 = string;
3276
3288
  /**
3277
3289
  * 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.
3278
3290
  */
@@ -3445,7 +3457,7 @@ export type Routing131 = {
3445
3457
  [k: string]: unknown;
3446
3458
  };
3447
3459
  /**
3448
- * 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. Supported extensions: [ '.mp4', '.webm', '.gif' ]
3460
+ * 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' ]
3449
3461
  */
3450
3462
  export type Record3 = RecordSimple1 | RecordDetailed1 | RecordBoolean1;
3451
3463
  /**
@@ -3459,27 +3471,39 @@ export type SurfaceByBrowserEngine10 = "chrome" | "firefox" | "safari" | "webkit
3459
3471
  /**
3460
3472
  * Which window to act on. Omit to use the active window.
3461
3473
  */
3462
- export type WindowTabSelector28 = ByIndex36 | ByName36 | ByCriteria36;
3474
+ export type WindowTabSelector28 = ByIndex37 | ByName37 | ByCriteria37;
3463
3475
  /**
3464
3476
  * Index in creation order. Negative counts from the end; `-1` is the newest.
3465
3477
  */
3466
- export type ByIndex36 = number;
3478
+ export type ByIndex37 = number;
3467
3479
  /**
3468
3480
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3469
3481
  */
3470
- export type ByName36 = string;
3482
+ export type ByName37 = string;
3471
3483
  /**
3472
3484
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
3473
3485
  */
3474
- export type WindowTabSelector29 = ByIndex37 | ByName37 | ByCriteria37;
3486
+ export type WindowTabSelector29 = ByIndex38 | ByName38 | ByCriteria38;
3475
3487
  /**
3476
3488
  * Index in creation order. Negative counts from the end; `-1` is the newest.
3477
3489
  */
3478
- export type ByIndex37 = number;
3490
+ export type ByIndex38 = number;
3479
3491
  /**
3480
3492
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3481
3493
  */
3482
- export type ByName37 = string;
3494
+ export type ByName38 = string;
3495
+ /**
3496
+ * Which app window to act on. Omit to use the active window. Apps have windows, no tabs.
3497
+ */
3498
+ export type AppWindowSelector9 = ByIndex39 | ByName39 | ByCriteria39;
3499
+ /**
3500
+ * Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened).
3501
+ */
3502
+ export type ByIndex39 = number;
3503
+ /**
3504
+ * Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3505
+ */
3506
+ export type ByName39 = string;
3483
3507
  /**
3484
3508
  * Recording engine to use. Either a string shorthand selecting the engine with defaults, or an object for full control. If unset, defaults to the `browser` engine when a visible Chrome context is available and to `ffmpeg` otherwise.
3485
3509
  */
@@ -3489,7 +3513,7 @@ export type RecordingEngine1 = RecordingEngineSimple1 | RecordingEngineDetailed1
3489
3513
  */
3490
3514
  export type RecordingEngineSimple1 = "browser" | "ffmpeg";
3491
3515
  /**
3492
- * If `true`, starts recording — auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record.
3516
+ * 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.
3493
3517
  */
3494
3518
  export type RecordBoolean1 = boolean;
3495
3519
  /**
@@ -3643,7 +3667,7 @@ export type CloseSurface3 = Surface4 | [Surface5, ...Surface5[]];
3643
3667
  /**
3644
3668
  * The surface a step acts on. Omit to act on the active surface. Supports background processes, browser windows/tabs, and native app windows.
3645
3669
  */
3646
- export type Surface4 = SurfaceByName4 | ProcessSurface4 | BrowserSurface15 | AppSurface8;
3670
+ export type Surface4 = SurfaceByName4 | ProcessSurface4 | BrowserSurface15 | AppSurface10;
3647
3671
  /**
3648
3672
  * Name of the surface. A browser engine keyword (chrome|firefox|safari|webkit|edge) targets that browser; any other string names a background process. To target a browser window or tab, use the object form ({ "browser": …, "window": …, "tab": … }) — a plain string is never a window/tab name.
3649
3673
  */
@@ -3651,43 +3675,43 @@ export type SurfaceByName4 = string;
3651
3675
  /**
3652
3676
  * Which window to act on. Omit to use the active window.
3653
3677
  */
3654
- export type WindowTabSelector30 = ByIndex38 | ByName38 | ByCriteria38;
3678
+ export type WindowTabSelector30 = ByIndex40 | ByName40 | ByCriteria40;
3655
3679
  /**
3656
3680
  * Index in creation order. Negative counts from the end; `-1` is the newest.
3657
3681
  */
3658
- export type ByIndex38 = number;
3682
+ export type ByIndex40 = number;
3659
3683
  /**
3660
3684
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3661
3685
  */
3662
- export type ByName38 = string;
3686
+ export type ByName40 = string;
3663
3687
  /**
3664
3688
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
3665
3689
  */
3666
- export type WindowTabSelector31 = ByIndex39 | ByName39 | ByCriteria39;
3690
+ export type WindowTabSelector31 = ByIndex41 | ByName41 | ByCriteria41;
3667
3691
  /**
3668
3692
  * Index in creation order. Negative counts from the end; `-1` is the newest.
3669
3693
  */
3670
- export type ByIndex39 = number;
3694
+ export type ByIndex41 = number;
3671
3695
  /**
3672
3696
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3673
3697
  */
3674
- export type ByName39 = string;
3698
+ export type ByName41 = string;
3675
3699
  /**
3676
3700
  * Which app window to act on. Omit to use the active window. Apps have windows, no tabs.
3677
3701
  */
3678
- export type AppWindowSelector8 = ByIndex40 | ByName40 | ByCriteria40;
3702
+ export type AppWindowSelector10 = ByIndex42 | ByName42 | ByCriteria42;
3679
3703
  /**
3680
3704
  * Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened).
3681
3705
  */
3682
- export type ByIndex40 = number;
3706
+ export type ByIndex42 = number;
3683
3707
  /**
3684
3708
  * Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3685
3709
  */
3686
- export type ByName40 = string;
3710
+ export type ByName42 = string;
3687
3711
  /**
3688
3712
  * The surface a step acts on. Omit to act on the active surface. Supports background processes, browser windows/tabs, and native app windows.
3689
3713
  */
3690
- export type Surface5 = SurfaceByName5 | ProcessSurface5 | BrowserSurface16 | AppSurface9;
3714
+ export type Surface5 = SurfaceByName5 | ProcessSurface5 | BrowserSurface16 | AppSurface11;
3691
3715
  /**
3692
3716
  * Name of the surface. A browser engine keyword (chrome|firefox|safari|webkit|edge) targets that browser; any other string names a background process. To target a browser window or tab, use the object form ({ "browser": …, "window": …, "tab": … }) — a plain string is never a window/tab name.
3693
3717
  */
@@ -3695,39 +3719,39 @@ export type SurfaceByName5 = string;
3695
3719
  /**
3696
3720
  * Which window to act on. Omit to use the active window.
3697
3721
  */
3698
- export type WindowTabSelector32 = ByIndex41 | ByName41 | ByCriteria41;
3722
+ export type WindowTabSelector32 = ByIndex43 | ByName43 | ByCriteria43;
3699
3723
  /**
3700
3724
  * Index in creation order. Negative counts from the end; `-1` is the newest.
3701
3725
  */
3702
- export type ByIndex41 = number;
3726
+ export type ByIndex43 = number;
3703
3727
  /**
3704
3728
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3705
3729
  */
3706
- export type ByName41 = string;
3730
+ export type ByName43 = string;
3707
3731
  /**
3708
3732
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
3709
3733
  */
3710
- export type WindowTabSelector33 = ByIndex42 | ByName42 | ByCriteria42;
3734
+ export type WindowTabSelector33 = ByIndex44 | ByName44 | ByCriteria44;
3711
3735
  /**
3712
3736
  * Index in creation order. Negative counts from the end; `-1` is the newest.
3713
3737
  */
3714
- export type ByIndex42 = number;
3738
+ export type ByIndex44 = number;
3715
3739
  /**
3716
3740
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3717
3741
  */
3718
- export type ByName42 = string;
3742
+ export type ByName44 = string;
3719
3743
  /**
3720
3744
  * Which app window to act on. Omit to use the active window. Apps have windows, no tabs.
3721
3745
  */
3722
- export type AppWindowSelector9 = ByIndex43 | ByName43 | ByCriteria43;
3746
+ export type AppWindowSelector11 = ByIndex45 | ByName45 | ByCriteria45;
3723
3747
  /**
3724
3748
  * Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened).
3725
3749
  */
3726
- export type ByIndex43 = number;
3750
+ export type ByIndex45 = number;
3727
3751
  /**
3728
3752
  * Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3729
3753
  */
3730
- export type ByName43 = string;
3754
+ export type ByName45 = string;
3731
3755
  /**
3732
3756
  * A condition expression, or an array of expressions combined with logical AND.
3733
3757
  */
@@ -3988,27 +4012,27 @@ export type SurfaceByBrowserEngine11 = "chrome" | "firefox" | "safari" | "webkit
3988
4012
  /**
3989
4013
  * Which window to act on. Omit to use the active window.
3990
4014
  */
3991
- export type WindowTabSelector34 = ByIndex44 | ByName44 | ByCriteria44;
4015
+ export type WindowTabSelector34 = ByIndex46 | ByName46 | ByCriteria46;
3992
4016
  /**
3993
4017
  * Index in creation order. Negative counts from the end; `-1` is the newest.
3994
4018
  */
3995
- export type ByIndex44 = number;
4019
+ export type ByIndex46 = number;
3996
4020
  /**
3997
4021
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
3998
4022
  */
3999
- export type ByName44 = string;
4023
+ export type ByName46 = string;
4000
4024
  /**
4001
4025
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
4002
4026
  */
4003
- export type WindowTabSelector35 = ByIndex45 | ByName45 | ByCriteria45;
4027
+ export type WindowTabSelector35 = ByIndex47 | ByName47 | ByCriteria47;
4004
4028
  /**
4005
4029
  * Index in creation order. Negative counts from the end; `-1` is the newest.
4006
4030
  */
4007
- export type ByIndex45 = number;
4031
+ export type ByIndex47 = number;
4008
4032
  /**
4009
4033
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
4010
4034
  */
4011
- export type ByName45 = string;
4035
+ export type ByName47 = string;
4012
4036
  /**
4013
4037
  * A condition expression, or an array of expressions combined with logical AND.
4014
4038
  */
@@ -4169,39 +4193,39 @@ export type SurfaceByBrowserEngine12 = "chrome" | "firefox" | "safari" | "webkit
4169
4193
  /**
4170
4194
  * Which window to act on. Omit to use the active window.
4171
4195
  */
4172
- export type WindowTabSelector36 = ByIndex46 | ByName46 | ByCriteria46;
4196
+ export type WindowTabSelector36 = ByIndex48 | ByName48 | ByCriteria48;
4173
4197
  /**
4174
4198
  * Index in creation order. Negative counts from the end; `-1` is the newest.
4175
4199
  */
4176
- export type ByIndex46 = number;
4200
+ export type ByIndex48 = number;
4177
4201
  /**
4178
4202
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
4179
4203
  */
4180
- export type ByName46 = string;
4204
+ export type ByName48 = string;
4181
4205
  /**
4182
4206
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
4183
4207
  */
4184
- export type WindowTabSelector37 = ByIndex47 | ByName47 | ByCriteria47;
4208
+ export type WindowTabSelector37 = ByIndex49 | ByName49 | ByCriteria49;
4185
4209
  /**
4186
4210
  * Index in creation order. Negative counts from the end; `-1` is the newest.
4187
4211
  */
4188
- export type ByIndex47 = number;
4212
+ export type ByIndex49 = number;
4189
4213
  /**
4190
4214
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
4191
4215
  */
4192
- export type ByName47 = string;
4216
+ export type ByName49 = string;
4193
4217
  /**
4194
4218
  * Which app window to act on. Omit to use the active window. Apps have windows, no tabs.
4195
4219
  */
4196
- export type AppWindowSelector10 = ByIndex48 | ByName48 | ByCriteria48;
4220
+ export type AppWindowSelector12 = ByIndex50 | ByName50 | ByCriteria50;
4197
4221
  /**
4198
4222
  * Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened).
4199
4223
  */
4200
- export type ByIndex48 = number;
4224
+ export type ByIndex50 = number;
4201
4225
  /**
4202
4226
  * Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
4203
4227
  */
4204
- export type ByName48 = string;
4228
+ export type ByName50 = string;
4205
4229
  /**
4206
4230
  * Browser engine keyword. Targets that browser. Steps that can only ever act on a browser (not a background process) restrict the bare-string form to this enum, so a process name here is rejected at validation time instead of failing at runtime.
4207
4231
  */
@@ -4209,39 +4233,39 @@ export type SurfaceByBrowserEngine13 = "chrome" | "firefox" | "safari" | "webkit
4209
4233
  /**
4210
4234
  * Which window to act on. Omit to use the active window.
4211
4235
  */
4212
- export type WindowTabSelector38 = ByIndex49 | ByName49 | ByCriteria49;
4236
+ export type WindowTabSelector38 = ByIndex51 | ByName51 | ByCriteria51;
4213
4237
  /**
4214
4238
  * Index in creation order. Negative counts from the end; `-1` is the newest.
4215
4239
  */
4216
- export type ByIndex49 = number;
4240
+ export type ByIndex51 = number;
4217
4241
  /**
4218
4242
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
4219
4243
  */
4220
- export type ByName49 = string;
4244
+ export type ByName51 = string;
4221
4245
  /**
4222
4246
  * Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order — including tabs the page opened itself.
4223
4247
  */
4224
- export type WindowTabSelector39 = ByIndex50 | ByName50 | ByCriteria50;
4248
+ export type WindowTabSelector39 = ByIndex52 | ByName52 | ByCriteria52;
4225
4249
  /**
4226
4250
  * Index in creation order. Negative counts from the end; `-1` is the newest.
4227
4251
  */
4228
- export type ByIndex50 = number;
4252
+ export type ByIndex52 = number;
4229
4253
  /**
4230
4254
  * Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
4231
4255
  */
4232
- export type ByName50 = string;
4256
+ export type ByName52 = string;
4233
4257
  /**
4234
4258
  * Which app window to act on. Omit to use the active window. Apps have windows, no tabs.
4235
4259
  */
4236
- export type AppWindowSelector11 = ByIndex51 | ByName51 | ByCriteria51;
4260
+ export type AppWindowSelector13 = ByIndex53 | ByName53 | ByCriteria53;
4237
4261
  /**
4238
4262
  * Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened).
4239
4263
  */
4240
- export type ByIndex51 = number;
4264
+ export type ByIndex53 = number;
4241
4265
  /**
4242
4266
  * Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes — string-first would coerce integer indexes into name strings.
4243
4267
  */
4244
- export type ByName51 = string;
4268
+ export type ByName53 = string;
4245
4269
  /**
4246
4270
  * A condition expression, or an array of expressions combined with logical AND.
4247
4271
  */
@@ -6721,9 +6745,9 @@ export interface Record {
6721
6745
  }
6722
6746
  export interface RecordDetailed {
6723
6747
  /**
6724
- * The browser window/tab to record. Omit to record the active tab. The targeted tab stays focused afterward.
6748
+ * The browser window/tab or app window to record. Omit to record the active surface. The targeted surface stays focused afterward. App surfaces use the object form ({ "app": … }) and are captured via the `ffmpeg` engine, cropped to the app window by default.
6725
6749
  */
6726
- surface?: SurfaceByBrowserEngine3 | BrowserSurface4;
6750
+ surface?: SurfaceByBrowserEngine3 | BrowserSurface4 | AppSurface2;
6727
6751
  /**
6728
6752
  * 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`.
6729
6753
  */
@@ -6791,13 +6815,34 @@ export interface ByCriteria11 {
6791
6815
  */
6792
6816
  url?: string;
6793
6817
  }
6818
+ export interface AppSurface2 {
6819
+ /**
6820
+ * Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier).
6821
+ */
6822
+ app: string;
6823
+ window?: AppWindowSelector2;
6824
+ }
6825
+ export interface ByCriteria12 {
6826
+ /**
6827
+ * Assigned window name.
6828
+ */
6829
+ name?: string;
6830
+ /**
6831
+ * Index in creation order. Negative counts from the end.
6832
+ */
6833
+ index?: number;
6834
+ /**
6835
+ * Window title to match. Substring, or /regex/.
6836
+ */
6837
+ title?: string;
6838
+ }
6794
6839
  export interface RecordingEngineDetailed {
6795
6840
  /**
6796
6841
  * Recording engine. `browser` records the Chrome viewport (concurrency-safe); `ffmpeg` records the screen and supports any application.
6797
6842
  */
6798
6843
  name: "browser" | "ffmpeg";
6799
6844
  /**
6800
- * What the `ffmpeg` engine captures. `display` records the full screen, `window` the active window, `viewport` the browser content area. Ignored by the `browser` engine, which always captures its tab. `window` and `viewport` are best-effort (captured full-screen, then cropped).
6845
+ * What the `ffmpeg` engine captures. `display` records the full screen, `window` the active window, `viewport` the browser content area. Ignored by the `browser` engine, which always captures its tab. `window` and `viewport` are best-effort (captured full-screen, then cropped). If unset, defaults to `window` when the recording's `surface` is an app surface and to `display` otherwise. `viewport` doesn't apply to app surfaces (they have no browser viewport).
6801
6846
  */
6802
6847
  target?: "display" | "window" | "viewport";
6803
6848
  /**
@@ -7103,7 +7148,7 @@ export interface BrowserSurface5 {
7103
7148
  window?: WindowTabSelector10;
7104
7149
  tab?: WindowTabSelector11;
7105
7150
  }
7106
- export interface ByCriteria12 {
7151
+ export interface ByCriteria13 {
7107
7152
  /**
7108
7153
  * Name assigned when the window/tab was opened.
7109
7154
  */
@@ -7121,7 +7166,7 @@ export interface ByCriteria12 {
7121
7166
  */
7122
7167
  url?: string;
7123
7168
  }
7124
- export interface ByCriteria13 {
7169
+ export interface ByCriteria14 {
7125
7170
  /**
7126
7171
  * Name assigned when the window/tab was opened.
7127
7172
  */
@@ -7139,14 +7184,14 @@ export interface ByCriteria13 {
7139
7184
  */
7140
7185
  url?: string;
7141
7186
  }
7142
- export interface AppSurface2 {
7187
+ export interface AppSurface3 {
7143
7188
  /**
7144
7189
  * Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier).
7145
7190
  */
7146
7191
  app: string;
7147
- window?: AppWindowSelector2;
7192
+ window?: AppWindowSelector3;
7148
7193
  }
7149
- export interface ByCriteria14 {
7194
+ export interface ByCriteria15 {
7150
7195
  /**
7151
7196
  * Assigned window name.
7152
7197
  */
@@ -7178,7 +7223,7 @@ export interface BrowserSurface6 {
7178
7223
  window?: WindowTabSelector12;
7179
7224
  tab?: WindowTabSelector13;
7180
7225
  }
7181
- export interface ByCriteria15 {
7226
+ export interface ByCriteria16 {
7182
7227
  /**
7183
7228
  * Name assigned when the window/tab was opened.
7184
7229
  */
@@ -7196,7 +7241,7 @@ export interface ByCriteria15 {
7196
7241
  */
7197
7242
  url?: string;
7198
7243
  }
7199
- export interface ByCriteria16 {
7244
+ export interface ByCriteria17 {
7200
7245
  /**
7201
7246
  * Name assigned when the window/tab was opened.
7202
7247
  */
@@ -7214,14 +7259,14 @@ export interface ByCriteria16 {
7214
7259
  */
7215
7260
  url?: string;
7216
7261
  }
7217
- export interface AppSurface3 {
7262
+ export interface AppSurface4 {
7218
7263
  /**
7219
7264
  * Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier).
7220
7265
  */
7221
7266
  app: string;
7222
- window?: AppWindowSelector3;
7267
+ window?: AppWindowSelector4;
7223
7268
  }
7224
- export interface ByCriteria17 {
7269
+ export interface ByCriteria18 {
7225
7270
  /**
7226
7271
  * Assigned window name.
7227
7272
  */
@@ -7778,7 +7823,7 @@ export interface BrowserSurface7 {
7778
7823
  window?: WindowTabSelector14;
7779
7824
  tab?: WindowTabSelector15;
7780
7825
  }
7781
- export interface ByCriteria18 {
7826
+ export interface ByCriteria19 {
7782
7827
  /**
7783
7828
  * Name assigned when the window/tab was opened.
7784
7829
  */
@@ -7796,7 +7841,7 @@ export interface ByCriteria18 {
7796
7841
  */
7797
7842
  url?: string;
7798
7843
  }
7799
- export interface ByCriteria19 {
7844
+ export interface ByCriteria20 {
7800
7845
  /**
7801
7846
  * Name assigned when the window/tab was opened.
7802
7847
  */
@@ -8101,7 +8146,7 @@ export interface SwipeDirectional {
8101
8146
  /**
8102
8147
  * The browser window/tab or app window this step acts on. Omit to act on the active tab. The targeted surface stays focused afterward. App surfaces use the object form ({ "app": … }).
8103
8148
  */
8104
- surface?: SurfaceByBrowserEngine5 | BrowserSurface8 | AppSurface4;
8149
+ surface?: SurfaceByBrowserEngine5 | BrowserSurface8 | AppSurface5;
8105
8150
  }
8106
8151
  export interface BrowserSurface8 {
8107
8152
  /**
@@ -8115,7 +8160,7 @@ export interface BrowserSurface8 {
8115
8160
  window?: WindowTabSelector16;
8116
8161
  tab?: WindowTabSelector17;
8117
8162
  }
8118
- export interface ByCriteria20 {
8163
+ export interface ByCriteria21 {
8119
8164
  /**
8120
8165
  * Name assigned when the window/tab was opened.
8121
8166
  */
@@ -8133,7 +8178,7 @@ export interface ByCriteria20 {
8133
8178
  */
8134
8179
  url?: string;
8135
8180
  }
8136
- export interface ByCriteria21 {
8181
+ export interface ByCriteria22 {
8137
8182
  /**
8138
8183
  * Name assigned when the window/tab was opened.
8139
8184
  */
@@ -8151,14 +8196,14 @@ export interface ByCriteria21 {
8151
8196
  */
8152
8197
  url?: string;
8153
8198
  }
8154
- export interface AppSurface4 {
8199
+ export interface AppSurface5 {
8155
8200
  /**
8156
8201
  * Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier).
8157
8202
  */
8158
8203
  app: string;
8159
- window?: AppWindowSelector4;
8204
+ window?: AppWindowSelector5;
8160
8205
  }
8161
- export interface ByCriteria22 {
8206
+ export interface ByCriteria23 {
8162
8207
  /**
8163
8208
  * Assigned window name.
8164
8209
  */
@@ -8182,7 +8227,7 @@ export interface SwipePointToPoint {
8182
8227
  /**
8183
8228
  * The browser window/tab or app window this step acts on. Omit to act on the active tab. The targeted surface stays focused afterward. App surfaces use the object form ({ "app": … }).
8184
8229
  */
8185
- surface?: SurfaceByBrowserEngine6 | BrowserSurface9 | AppSurface5;
8230
+ surface?: SurfaceByBrowserEngine6 | BrowserSurface9 | AppSurface6;
8186
8231
  }
8187
8232
  /**
8188
8233
  * A pixel coordinate on the surface, measured from its top-left corner (0, 0).
@@ -8222,7 +8267,7 @@ export interface BrowserSurface9 {
8222
8267
  window?: WindowTabSelector18;
8223
8268
  tab?: WindowTabSelector19;
8224
8269
  }
8225
- export interface ByCriteria23 {
8270
+ export interface ByCriteria24 {
8226
8271
  /**
8227
8272
  * Name assigned when the window/tab was opened.
8228
8273
  */
@@ -8240,7 +8285,7 @@ export interface ByCriteria23 {
8240
8285
  */
8241
8286
  url?: string;
8242
8287
  }
8243
- export interface ByCriteria24 {
8288
+ export interface ByCriteria25 {
8244
8289
  /**
8245
8290
  * Name assigned when the window/tab was opened.
8246
8291
  */
@@ -8258,14 +8303,14 @@ export interface ByCriteria24 {
8258
8303
  */
8259
8304
  url?: string;
8260
8305
  }
8261
- export interface AppSurface5 {
8306
+ export interface AppSurface6 {
8262
8307
  /**
8263
8308
  * Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier).
8264
8309
  */
8265
8310
  app: string;
8266
- window?: AppWindowSelector5;
8311
+ window?: AppWindowSelector6;
8267
8312
  }
8268
- export interface ByCriteria25 {
8313
+ export interface ByCriteria26 {
8269
8314
  /**
8270
8315
  * Assigned window name.
8271
8316
  */
@@ -9072,7 +9117,7 @@ export interface BrowserSurface10 {
9072
9117
  window?: WindowTabSelector20;
9073
9118
  tab?: WindowTabSelector21;
9074
9119
  }
9075
- export interface ByCriteria26 {
9120
+ export interface ByCriteria27 {
9076
9121
  /**
9077
9122
  * Name assigned when the window/tab was opened.
9078
9123
  */
@@ -9090,7 +9135,7 @@ export interface ByCriteria26 {
9090
9135
  */
9091
9136
  url?: string;
9092
9137
  }
9093
- export interface ByCriteria27 {
9138
+ export interface ByCriteria28 {
9094
9139
  /**
9095
9140
  * Name assigned when the window/tab was opened.
9096
9141
  */
@@ -9875,7 +9920,7 @@ export interface BrowserSurface11 {
9875
9920
  window?: WindowTabSelector22;
9876
9921
  tab?: WindowTabSelector23;
9877
9922
  }
9878
- export interface ByCriteria28 {
9923
+ export interface ByCriteria29 {
9879
9924
  /**
9880
9925
  * Name assigned when the window/tab was opened.
9881
9926
  */
@@ -9893,7 +9938,7 @@ export interface ByCriteria28 {
9893
9938
  */
9894
9939
  url?: string;
9895
9940
  }
9896
- export interface ByCriteria29 {
9941
+ export interface ByCriteria30 {
9897
9942
  /**
9898
9943
  * Name assigned when the window/tab was opened.
9899
9944
  */
@@ -10066,7 +10111,7 @@ export interface BrowserSurface12 {
10066
10111
  window?: WindowTabSelector24;
10067
10112
  tab?: WindowTabSelector25;
10068
10113
  }
10069
- export interface ByCriteria30 {
10114
+ export interface ByCriteria31 {
10070
10115
  /**
10071
10116
  * Name assigned when the window/tab was opened.
10072
10117
  */
@@ -10084,7 +10129,7 @@ export interface ByCriteria30 {
10084
10129
  */
10085
10130
  url?: string;
10086
10131
  }
10087
- export interface ByCriteria31 {
10132
+ export interface ByCriteria32 {
10088
10133
  /**
10089
10134
  * Name assigned when the window/tab was opened.
10090
10135
  */
@@ -10102,14 +10147,14 @@ export interface ByCriteria31 {
10102
10147
  */
10103
10148
  url?: string;
10104
10149
  }
10105
- export interface AppSurface6 {
10150
+ export interface AppSurface7 {
10106
10151
  /**
10107
10152
  * Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier).
10108
10153
  */
10109
10154
  app: string;
10110
- window?: AppWindowSelector6;
10155
+ window?: AppWindowSelector7;
10111
10156
  }
10112
- export interface ByCriteria32 {
10157
+ export interface ByCriteria33 {
10113
10158
  /**
10114
10159
  * Assigned window name.
10115
10160
  */
@@ -10310,7 +10355,7 @@ export interface CaptureScreenshotFields1 {
10310
10355
  /**
10311
10356
  * The browser window/tab or app window to capture. Omit to capture the active tab. The targeted surface stays focused afterward. App surfaces use the object form ({ "app": … }). App captures don't support `crop` yet.
10312
10357
  */
10313
- surface?: SurfaceByBrowserEngine9 | BrowserSurface13 | AppSurface7;
10358
+ surface?: SurfaceByBrowserEngine9 | BrowserSurface13 | AppSurface8;
10314
10359
  path?: ScreenshotSimple3;
10315
10360
  /**
10316
10361
  * Directory of the PNG file. If the directory doesn't exist, creates the directory.
@@ -10340,7 +10385,7 @@ export interface BrowserSurface13 {
10340
10385
  window?: WindowTabSelector26;
10341
10386
  tab?: WindowTabSelector27;
10342
10387
  }
10343
- export interface ByCriteria33 {
10388
+ export interface ByCriteria34 {
10344
10389
  /**
10345
10390
  * Name assigned when the window/tab was opened.
10346
10391
  */
@@ -10358,7 +10403,7 @@ export interface ByCriteria33 {
10358
10403
  */
10359
10404
  url?: string;
10360
10405
  }
10361
- export interface ByCriteria34 {
10406
+ export interface ByCriteria35 {
10362
10407
  /**
10363
10408
  * Name assigned when the window/tab was opened.
10364
10409
  */
@@ -10376,14 +10421,14 @@ export interface ByCriteria34 {
10376
10421
  */
10377
10422
  url?: string;
10378
10423
  }
10379
- export interface AppSurface7 {
10424
+ export interface AppSurface8 {
10380
10425
  /**
10381
10426
  * Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier).
10382
10427
  */
10383
10428
  app: string;
10384
- window?: AppWindowSelector7;
10429
+ window?: AppWindowSelector8;
10385
10430
  }
10386
- export interface ByCriteria35 {
10431
+ export interface ByCriteria36 {
10387
10432
  /**
10388
10433
  * Assigned window name.
10389
10434
  */
@@ -10701,9 +10746,9 @@ export interface Record2 {
10701
10746
  }
10702
10747
  export interface RecordDetailed1 {
10703
10748
  /**
10704
- * The browser window/tab to record. Omit to record the active tab. The targeted tab stays focused afterward.
10749
+ * The browser window/tab or app window to record. Omit to record the active surface. The targeted surface stays focused afterward. App surfaces use the object form ({ "app": … }) and are captured via the `ffmpeg` engine, cropped to the app window by default.
10705
10750
  */
10706
- surface?: SurfaceByBrowserEngine10 | BrowserSurface14;
10751
+ surface?: SurfaceByBrowserEngine10 | BrowserSurface14 | AppSurface9;
10707
10752
  /**
10708
10753
  * 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`.
10709
10754
  */
@@ -10735,7 +10780,7 @@ export interface BrowserSurface14 {
10735
10780
  window?: WindowTabSelector28;
10736
10781
  tab?: WindowTabSelector29;
10737
10782
  }
10738
- export interface ByCriteria36 {
10783
+ export interface ByCriteria37 {
10739
10784
  /**
10740
10785
  * Name assigned when the window/tab was opened.
10741
10786
  */
@@ -10753,7 +10798,7 @@ export interface ByCriteria36 {
10753
10798
  */
10754
10799
  url?: string;
10755
10800
  }
10756
- export interface ByCriteria37 {
10801
+ export interface ByCriteria38 {
10757
10802
  /**
10758
10803
  * Name assigned when the window/tab was opened.
10759
10804
  */
@@ -10771,13 +10816,34 @@ export interface ByCriteria37 {
10771
10816
  */
10772
10817
  url?: string;
10773
10818
  }
10819
+ export interface AppSurface9 {
10820
+ /**
10821
+ * Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier).
10822
+ */
10823
+ app: string;
10824
+ window?: AppWindowSelector9;
10825
+ }
10826
+ export interface ByCriteria39 {
10827
+ /**
10828
+ * Assigned window name.
10829
+ */
10830
+ name?: string;
10831
+ /**
10832
+ * Index in creation order. Negative counts from the end.
10833
+ */
10834
+ index?: number;
10835
+ /**
10836
+ * Window title to match. Substring, or /regex/.
10837
+ */
10838
+ title?: string;
10839
+ }
10774
10840
  export interface RecordingEngineDetailed1 {
10775
10841
  /**
10776
10842
  * Recording engine. `browser` records the Chrome viewport (concurrency-safe); `ffmpeg` records the screen and supports any application.
10777
10843
  */
10778
10844
  name: "browser" | "ffmpeg";
10779
10845
  /**
10780
- * What the `ffmpeg` engine captures. `display` records the full screen, `window` the active window, `viewport` the browser content area. Ignored by the `browser` engine, which always captures its tab. `window` and `viewport` are best-effort (captured full-screen, then cropped).
10846
+ * What the `ffmpeg` engine captures. `display` records the full screen, `window` the active window, `viewport` the browser content area. Ignored by the `browser` engine, which always captures its tab. `window` and `viewport` are best-effort (captured full-screen, then cropped). If unset, defaults to `window` when the recording's `surface` is an app surface and to `display` otherwise. `viewport` doesn't apply to app surfaces (they have no browser viewport).
10781
10847
  */
10782
10848
  target?: "display" | "window" | "viewport";
10783
10849
  /**
@@ -11083,7 +11149,7 @@ export interface BrowserSurface15 {
11083
11149
  window?: WindowTabSelector30;
11084
11150
  tab?: WindowTabSelector31;
11085
11151
  }
11086
- export interface ByCriteria38 {
11152
+ export interface ByCriteria40 {
11087
11153
  /**
11088
11154
  * Name assigned when the window/tab was opened.
11089
11155
  */
@@ -11101,7 +11167,7 @@ export interface ByCriteria38 {
11101
11167
  */
11102
11168
  url?: string;
11103
11169
  }
11104
- export interface ByCriteria39 {
11170
+ export interface ByCriteria41 {
11105
11171
  /**
11106
11172
  * Name assigned when the window/tab was opened.
11107
11173
  */
@@ -11119,14 +11185,14 @@ export interface ByCriteria39 {
11119
11185
  */
11120
11186
  url?: string;
11121
11187
  }
11122
- export interface AppSurface8 {
11188
+ export interface AppSurface10 {
11123
11189
  /**
11124
11190
  * Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier).
11125
11191
  */
11126
11192
  app: string;
11127
- window?: AppWindowSelector8;
11193
+ window?: AppWindowSelector10;
11128
11194
  }
11129
- export interface ByCriteria40 {
11195
+ export interface ByCriteria42 {
11130
11196
  /**
11131
11197
  * Assigned window name.
11132
11198
  */
@@ -11158,7 +11224,7 @@ export interface BrowserSurface16 {
11158
11224
  window?: WindowTabSelector32;
11159
11225
  tab?: WindowTabSelector33;
11160
11226
  }
11161
- export interface ByCriteria41 {
11227
+ export interface ByCriteria43 {
11162
11228
  /**
11163
11229
  * Name assigned when the window/tab was opened.
11164
11230
  */
@@ -11176,7 +11242,7 @@ export interface ByCriteria41 {
11176
11242
  */
11177
11243
  url?: string;
11178
11244
  }
11179
- export interface ByCriteria42 {
11245
+ export interface ByCriteria44 {
11180
11246
  /**
11181
11247
  * Name assigned when the window/tab was opened.
11182
11248
  */
@@ -11194,14 +11260,14 @@ export interface ByCriteria42 {
11194
11260
  */
11195
11261
  url?: string;
11196
11262
  }
11197
- export interface AppSurface9 {
11263
+ export interface AppSurface11 {
11198
11264
  /**
11199
11265
  * Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier).
11200
11266
  */
11201
11267
  app: string;
11202
- window?: AppWindowSelector9;
11268
+ window?: AppWindowSelector11;
11203
11269
  }
11204
- export interface ByCriteria43 {
11270
+ export interface ByCriteria45 {
11205
11271
  /**
11206
11272
  * Assigned window name.
11207
11273
  */
@@ -11758,7 +11824,7 @@ export interface BrowserSurface17 {
11758
11824
  window?: WindowTabSelector34;
11759
11825
  tab?: WindowTabSelector35;
11760
11826
  }
11761
- export interface ByCriteria44 {
11827
+ export interface ByCriteria46 {
11762
11828
  /**
11763
11829
  * Name assigned when the window/tab was opened.
11764
11830
  */
@@ -11776,7 +11842,7 @@ export interface ByCriteria44 {
11776
11842
  */
11777
11843
  url?: string;
11778
11844
  }
11779
- export interface ByCriteria45 {
11845
+ export interface ByCriteria47 {
11780
11846
  /**
11781
11847
  * Name assigned when the window/tab was opened.
11782
11848
  */
@@ -12081,7 +12147,7 @@ export interface SwipeDirectional1 {
12081
12147
  /**
12082
12148
  * The browser window/tab or app window this step acts on. Omit to act on the active tab. The targeted surface stays focused afterward. App surfaces use the object form ({ "app": … }).
12083
12149
  */
12084
- surface?: SurfaceByBrowserEngine12 | BrowserSurface18 | AppSurface10;
12150
+ surface?: SurfaceByBrowserEngine12 | BrowserSurface18 | AppSurface12;
12085
12151
  }
12086
12152
  export interface BrowserSurface18 {
12087
12153
  /**
@@ -12095,7 +12161,7 @@ export interface BrowserSurface18 {
12095
12161
  window?: WindowTabSelector36;
12096
12162
  tab?: WindowTabSelector37;
12097
12163
  }
12098
- export interface ByCriteria46 {
12164
+ export interface ByCriteria48 {
12099
12165
  /**
12100
12166
  * Name assigned when the window/tab was opened.
12101
12167
  */
@@ -12113,7 +12179,7 @@ export interface ByCriteria46 {
12113
12179
  */
12114
12180
  url?: string;
12115
12181
  }
12116
- export interface ByCriteria47 {
12182
+ export interface ByCriteria49 {
12117
12183
  /**
12118
12184
  * Name assigned when the window/tab was opened.
12119
12185
  */
@@ -12131,14 +12197,14 @@ export interface ByCriteria47 {
12131
12197
  */
12132
12198
  url?: string;
12133
12199
  }
12134
- export interface AppSurface10 {
12200
+ export interface AppSurface12 {
12135
12201
  /**
12136
12202
  * Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier).
12137
12203
  */
12138
12204
  app: string;
12139
- window?: AppWindowSelector10;
12205
+ window?: AppWindowSelector12;
12140
12206
  }
12141
- export interface ByCriteria48 {
12207
+ export interface ByCriteria50 {
12142
12208
  /**
12143
12209
  * Assigned window name.
12144
12210
  */
@@ -12162,7 +12228,7 @@ export interface SwipePointToPoint1 {
12162
12228
  /**
12163
12229
  * The browser window/tab or app window this step acts on. Omit to act on the active tab. The targeted surface stays focused afterward. App surfaces use the object form ({ "app": … }).
12164
12230
  */
12165
- surface?: SurfaceByBrowserEngine13 | BrowserSurface19 | AppSurface11;
12231
+ surface?: SurfaceByBrowserEngine13 | BrowserSurface19 | AppSurface13;
12166
12232
  }
12167
12233
  /**
12168
12234
  * A pixel coordinate on the surface, measured from its top-left corner (0, 0).
@@ -12202,7 +12268,7 @@ export interface BrowserSurface19 {
12202
12268
  window?: WindowTabSelector38;
12203
12269
  tab?: WindowTabSelector39;
12204
12270
  }
12205
- export interface ByCriteria49 {
12271
+ export interface ByCriteria51 {
12206
12272
  /**
12207
12273
  * Name assigned when the window/tab was opened.
12208
12274
  */
@@ -12220,7 +12286,7 @@ export interface ByCriteria49 {
12220
12286
  */
12221
12287
  url?: string;
12222
12288
  }
12223
- export interface ByCriteria50 {
12289
+ export interface ByCriteria52 {
12224
12290
  /**
12225
12291
  * Name assigned when the window/tab was opened.
12226
12292
  */
@@ -12238,14 +12304,14 @@ export interface ByCriteria50 {
12238
12304
  */
12239
12305
  url?: string;
12240
12306
  }
12241
- export interface AppSurface11 {
12307
+ export interface AppSurface13 {
12242
12308
  /**
12243
12309
  * Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier).
12244
12310
  */
12245
12311
  app: string;
12246
- window?: AppWindowSelector11;
12312
+ window?: AppWindowSelector13;
12247
12313
  }
12248
- export interface ByCriteria51 {
12314
+ export interface ByCriteria53 {
12249
12315
  /**
12250
12316
  * Assigned window name.
12251
12317
  */