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.
- package/dist/index.cjs +2272 -242
- package/dist/schemas/schemas.json +2272 -242
- package/dist/types/generated/record_v3.d.ts +38 -5
- package/dist/types/generated/record_v3.d.ts.map +1 -1
- package/dist/types/generated/step_v3.d.ts +106 -73
- package/dist/types/generated/step_v3.d.ts.map +1 -1
- package/dist/types/generated/test_v3.d.ts +266 -200
- package/dist/types/generated/test_v3.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -34175,7 +34175,7 @@ var schemas_default = {
|
|
|
34175
34175
|
record: {
|
|
34176
34176
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
34177
34177
|
title: "record",
|
|
34178
|
-
description: "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' ]",
|
|
34178
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
34179
34179
|
anyOf: [
|
|
34180
34180
|
{
|
|
34181
34181
|
title: "Record (simple)",
|
|
@@ -34190,7 +34190,7 @@ var schemas_default = {
|
|
|
34190
34190
|
type: "object",
|
|
34191
34191
|
properties: {
|
|
34192
34192
|
surface: {
|
|
34193
|
-
description:
|
|
34193
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
34194
34194
|
anyOf: [
|
|
34195
34195
|
{
|
|
34196
34196
|
title: "Surface (by browser engine)",
|
|
@@ -34340,6 +34340,72 @@ var schemas_default = {
|
|
|
34340
34340
|
]
|
|
34341
34341
|
}
|
|
34342
34342
|
}
|
|
34343
|
+
},
|
|
34344
|
+
{
|
|
34345
|
+
title: "App surface",
|
|
34346
|
+
type: "object",
|
|
34347
|
+
additionalProperties: false,
|
|
34348
|
+
required: [
|
|
34349
|
+
"app"
|
|
34350
|
+
],
|
|
34351
|
+
properties: {
|
|
34352
|
+
app: {
|
|
34353
|
+
type: "string",
|
|
34354
|
+
minLength: 1,
|
|
34355
|
+
pattern: "\\S",
|
|
34356
|
+
transform: [
|
|
34357
|
+
"trim"
|
|
34358
|
+
],
|
|
34359
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
34360
|
+
},
|
|
34361
|
+
window: {
|
|
34362
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
34363
|
+
title: "App window selector",
|
|
34364
|
+
anyOf: [
|
|
34365
|
+
{
|
|
34366
|
+
title: "By index",
|
|
34367
|
+
type: "integer",
|
|
34368
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
34369
|
+
},
|
|
34370
|
+
{
|
|
34371
|
+
title: "By name",
|
|
34372
|
+
type: "string",
|
|
34373
|
+
minLength: 1,
|
|
34374
|
+
pattern: "\\S",
|
|
34375
|
+
transform: [
|
|
34376
|
+
"trim"
|
|
34377
|
+
],
|
|
34378
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
34379
|
+
},
|
|
34380
|
+
{
|
|
34381
|
+
title: "By criteria",
|
|
34382
|
+
type: "object",
|
|
34383
|
+
additionalProperties: false,
|
|
34384
|
+
minProperties: 1,
|
|
34385
|
+
properties: {
|
|
34386
|
+
name: {
|
|
34387
|
+
type: "string",
|
|
34388
|
+
minLength: 1,
|
|
34389
|
+
pattern: "\\S",
|
|
34390
|
+
transform: [
|
|
34391
|
+
"trim"
|
|
34392
|
+
],
|
|
34393
|
+
description: "Assigned window name."
|
|
34394
|
+
},
|
|
34395
|
+
index: {
|
|
34396
|
+
type: "integer",
|
|
34397
|
+
description: "Index in creation order. Negative counts from the end."
|
|
34398
|
+
},
|
|
34399
|
+
title: {
|
|
34400
|
+
type: "string",
|
|
34401
|
+
minLength: 1,
|
|
34402
|
+
description: "Window title to match. Substring, or /regex/."
|
|
34403
|
+
}
|
|
34404
|
+
}
|
|
34405
|
+
}
|
|
34406
|
+
]
|
|
34407
|
+
}
|
|
34408
|
+
}
|
|
34343
34409
|
}
|
|
34344
34410
|
]
|
|
34345
34411
|
},
|
|
@@ -34405,13 +34471,12 @@ var schemas_default = {
|
|
|
34405
34471
|
},
|
|
34406
34472
|
target: {
|
|
34407
34473
|
type: "string",
|
|
34408
|
-
description: "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).",
|
|
34474
|
+
description: "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).",
|
|
34409
34475
|
enum: [
|
|
34410
34476
|
"display",
|
|
34411
34477
|
"window",
|
|
34412
34478
|
"viewport"
|
|
34413
|
-
]
|
|
34414
|
-
default: "display"
|
|
34479
|
+
]
|
|
34415
34480
|
},
|
|
34416
34481
|
fps: {
|
|
34417
34482
|
type: "integer",
|
|
@@ -34429,7 +34494,7 @@ var schemas_default = {
|
|
|
34429
34494
|
{
|
|
34430
34495
|
type: "boolean",
|
|
34431
34496
|
title: "Record (boolean)",
|
|
34432
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
34497
|
+
description: "If `true`, starts recording \u2014 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."
|
|
34433
34498
|
}
|
|
34434
34499
|
],
|
|
34435
34500
|
components: {
|
|
@@ -34447,7 +34512,7 @@ var schemas_default = {
|
|
|
34447
34512
|
type: "object",
|
|
34448
34513
|
properties: {
|
|
34449
34514
|
surface: {
|
|
34450
|
-
description:
|
|
34515
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
34451
34516
|
anyOf: [
|
|
34452
34517
|
{
|
|
34453
34518
|
title: "Surface (by browser engine)",
|
|
@@ -34597,6 +34662,72 @@ var schemas_default = {
|
|
|
34597
34662
|
]
|
|
34598
34663
|
}
|
|
34599
34664
|
}
|
|
34665
|
+
},
|
|
34666
|
+
{
|
|
34667
|
+
title: "App surface",
|
|
34668
|
+
type: "object",
|
|
34669
|
+
additionalProperties: false,
|
|
34670
|
+
required: [
|
|
34671
|
+
"app"
|
|
34672
|
+
],
|
|
34673
|
+
properties: {
|
|
34674
|
+
app: {
|
|
34675
|
+
type: "string",
|
|
34676
|
+
minLength: 1,
|
|
34677
|
+
pattern: "\\S",
|
|
34678
|
+
transform: [
|
|
34679
|
+
"trim"
|
|
34680
|
+
],
|
|
34681
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
34682
|
+
},
|
|
34683
|
+
window: {
|
|
34684
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
34685
|
+
title: "App window selector",
|
|
34686
|
+
anyOf: [
|
|
34687
|
+
{
|
|
34688
|
+
title: "By index",
|
|
34689
|
+
type: "integer",
|
|
34690
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
34691
|
+
},
|
|
34692
|
+
{
|
|
34693
|
+
title: "By name",
|
|
34694
|
+
type: "string",
|
|
34695
|
+
minLength: 1,
|
|
34696
|
+
pattern: "\\S",
|
|
34697
|
+
transform: [
|
|
34698
|
+
"trim"
|
|
34699
|
+
],
|
|
34700
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
34701
|
+
},
|
|
34702
|
+
{
|
|
34703
|
+
title: "By criteria",
|
|
34704
|
+
type: "object",
|
|
34705
|
+
additionalProperties: false,
|
|
34706
|
+
minProperties: 1,
|
|
34707
|
+
properties: {
|
|
34708
|
+
name: {
|
|
34709
|
+
type: "string",
|
|
34710
|
+
minLength: 1,
|
|
34711
|
+
pattern: "\\S",
|
|
34712
|
+
transform: [
|
|
34713
|
+
"trim"
|
|
34714
|
+
],
|
|
34715
|
+
description: "Assigned window name."
|
|
34716
|
+
},
|
|
34717
|
+
index: {
|
|
34718
|
+
type: "integer",
|
|
34719
|
+
description: "Index in creation order. Negative counts from the end."
|
|
34720
|
+
},
|
|
34721
|
+
title: {
|
|
34722
|
+
type: "string",
|
|
34723
|
+
minLength: 1,
|
|
34724
|
+
description: "Window title to match. Substring, or /regex/."
|
|
34725
|
+
}
|
|
34726
|
+
}
|
|
34727
|
+
}
|
|
34728
|
+
]
|
|
34729
|
+
}
|
|
34730
|
+
}
|
|
34600
34731
|
}
|
|
34601
34732
|
]
|
|
34602
34733
|
},
|
|
@@ -34662,13 +34793,12 @@ var schemas_default = {
|
|
|
34662
34793
|
},
|
|
34663
34794
|
target: {
|
|
34664
34795
|
type: "string",
|
|
34665
|
-
description: "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).",
|
|
34796
|
+
description: "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).",
|
|
34666
34797
|
enum: [
|
|
34667
34798
|
"display",
|
|
34668
34799
|
"window",
|
|
34669
34800
|
"viewport"
|
|
34670
|
-
]
|
|
34671
|
-
default: "display"
|
|
34801
|
+
]
|
|
34672
34802
|
},
|
|
34673
34803
|
fps: {
|
|
34674
34804
|
type: "integer",
|
|
@@ -34714,13 +34844,12 @@ var schemas_default = {
|
|
|
34714
34844
|
},
|
|
34715
34845
|
target: {
|
|
34716
34846
|
type: "string",
|
|
34717
|
-
description: "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).",
|
|
34847
|
+
description: "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).",
|
|
34718
34848
|
enum: [
|
|
34719
34849
|
"display",
|
|
34720
34850
|
"window",
|
|
34721
34851
|
"viewport"
|
|
34722
|
-
]
|
|
34723
|
-
default: "display"
|
|
34852
|
+
]
|
|
34724
34853
|
},
|
|
34725
34854
|
fps: {
|
|
34726
34855
|
type: "integer",
|
|
@@ -34753,6 +34882,22 @@ var schemas_default = {
|
|
|
34753
34882
|
target: "window",
|
|
34754
34883
|
fps: 60
|
|
34755
34884
|
}
|
|
34885
|
+
},
|
|
34886
|
+
{
|
|
34887
|
+
path: "notepad.mp4",
|
|
34888
|
+
surface: {
|
|
34889
|
+
app: "notepad"
|
|
34890
|
+
}
|
|
34891
|
+
},
|
|
34892
|
+
{
|
|
34893
|
+
path: "full-screen.mp4",
|
|
34894
|
+
surface: {
|
|
34895
|
+
app: "notepad"
|
|
34896
|
+
},
|
|
34897
|
+
engine: {
|
|
34898
|
+
name: "ffmpeg",
|
|
34899
|
+
target: "display"
|
|
34900
|
+
}
|
|
34756
34901
|
}
|
|
34757
34902
|
]
|
|
34758
34903
|
}
|
|
@@ -78757,7 +78902,7 @@ var schemas_default = {
|
|
|
78757
78902
|
record: {
|
|
78758
78903
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
78759
78904
|
title: "record",
|
|
78760
|
-
description: "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' ]",
|
|
78905
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
78761
78906
|
anyOf: [
|
|
78762
78907
|
{
|
|
78763
78908
|
title: "Record (simple)",
|
|
@@ -78772,7 +78917,7 @@ var schemas_default = {
|
|
|
78772
78917
|
type: "object",
|
|
78773
78918
|
properties: {
|
|
78774
78919
|
surface: {
|
|
78775
|
-
description:
|
|
78920
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
78776
78921
|
anyOf: [
|
|
78777
78922
|
{
|
|
78778
78923
|
title: "Surface (by browser engine)",
|
|
@@ -78922,6 +79067,72 @@ var schemas_default = {
|
|
|
78922
79067
|
]
|
|
78923
79068
|
}
|
|
78924
79069
|
}
|
|
79070
|
+
},
|
|
79071
|
+
{
|
|
79072
|
+
title: "App surface",
|
|
79073
|
+
type: "object",
|
|
79074
|
+
additionalProperties: false,
|
|
79075
|
+
required: [
|
|
79076
|
+
"app"
|
|
79077
|
+
],
|
|
79078
|
+
properties: {
|
|
79079
|
+
app: {
|
|
79080
|
+
type: "string",
|
|
79081
|
+
minLength: 1,
|
|
79082
|
+
pattern: "\\S",
|
|
79083
|
+
transform: [
|
|
79084
|
+
"trim"
|
|
79085
|
+
],
|
|
79086
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
79087
|
+
},
|
|
79088
|
+
window: {
|
|
79089
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
79090
|
+
title: "App window selector",
|
|
79091
|
+
anyOf: [
|
|
79092
|
+
{
|
|
79093
|
+
title: "By index",
|
|
79094
|
+
type: "integer",
|
|
79095
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
79096
|
+
},
|
|
79097
|
+
{
|
|
79098
|
+
title: "By name",
|
|
79099
|
+
type: "string",
|
|
79100
|
+
minLength: 1,
|
|
79101
|
+
pattern: "\\S",
|
|
79102
|
+
transform: [
|
|
79103
|
+
"trim"
|
|
79104
|
+
],
|
|
79105
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
79106
|
+
},
|
|
79107
|
+
{
|
|
79108
|
+
title: "By criteria",
|
|
79109
|
+
type: "object",
|
|
79110
|
+
additionalProperties: false,
|
|
79111
|
+
minProperties: 1,
|
|
79112
|
+
properties: {
|
|
79113
|
+
name: {
|
|
79114
|
+
type: "string",
|
|
79115
|
+
minLength: 1,
|
|
79116
|
+
pattern: "\\S",
|
|
79117
|
+
transform: [
|
|
79118
|
+
"trim"
|
|
79119
|
+
],
|
|
79120
|
+
description: "Assigned window name."
|
|
79121
|
+
},
|
|
79122
|
+
index: {
|
|
79123
|
+
type: "integer",
|
|
79124
|
+
description: "Index in creation order. Negative counts from the end."
|
|
79125
|
+
},
|
|
79126
|
+
title: {
|
|
79127
|
+
type: "string",
|
|
79128
|
+
minLength: 1,
|
|
79129
|
+
description: "Window title to match. Substring, or /regex/."
|
|
79130
|
+
}
|
|
79131
|
+
}
|
|
79132
|
+
}
|
|
79133
|
+
]
|
|
79134
|
+
}
|
|
79135
|
+
}
|
|
78925
79136
|
}
|
|
78926
79137
|
]
|
|
78927
79138
|
},
|
|
@@ -78987,13 +79198,12 @@ var schemas_default = {
|
|
|
78987
79198
|
},
|
|
78988
79199
|
target: {
|
|
78989
79200
|
type: "string",
|
|
78990
|
-
description: "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).",
|
|
79201
|
+
description: "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).",
|
|
78991
79202
|
enum: [
|
|
78992
79203
|
"display",
|
|
78993
79204
|
"window",
|
|
78994
79205
|
"viewport"
|
|
78995
|
-
]
|
|
78996
|
-
default: "display"
|
|
79206
|
+
]
|
|
78997
79207
|
},
|
|
78998
79208
|
fps: {
|
|
78999
79209
|
type: "integer",
|
|
@@ -79011,7 +79221,7 @@ var schemas_default = {
|
|
|
79011
79221
|
{
|
|
79012
79222
|
type: "boolean",
|
|
79013
79223
|
title: "Record (boolean)",
|
|
79014
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
79224
|
+
description: "If `true`, starts recording \u2014 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."
|
|
79015
79225
|
}
|
|
79016
79226
|
],
|
|
79017
79227
|
components: {
|
|
@@ -79029,7 +79239,7 @@ var schemas_default = {
|
|
|
79029
79239
|
type: "object",
|
|
79030
79240
|
properties: {
|
|
79031
79241
|
surface: {
|
|
79032
|
-
description:
|
|
79242
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
79033
79243
|
anyOf: [
|
|
79034
79244
|
{
|
|
79035
79245
|
title: "Surface (by browser engine)",
|
|
@@ -79179,6 +79389,72 @@ var schemas_default = {
|
|
|
79179
79389
|
]
|
|
79180
79390
|
}
|
|
79181
79391
|
}
|
|
79392
|
+
},
|
|
79393
|
+
{
|
|
79394
|
+
title: "App surface",
|
|
79395
|
+
type: "object",
|
|
79396
|
+
additionalProperties: false,
|
|
79397
|
+
required: [
|
|
79398
|
+
"app"
|
|
79399
|
+
],
|
|
79400
|
+
properties: {
|
|
79401
|
+
app: {
|
|
79402
|
+
type: "string",
|
|
79403
|
+
minLength: 1,
|
|
79404
|
+
pattern: "\\S",
|
|
79405
|
+
transform: [
|
|
79406
|
+
"trim"
|
|
79407
|
+
],
|
|
79408
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
79409
|
+
},
|
|
79410
|
+
window: {
|
|
79411
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
79412
|
+
title: "App window selector",
|
|
79413
|
+
anyOf: [
|
|
79414
|
+
{
|
|
79415
|
+
title: "By index",
|
|
79416
|
+
type: "integer",
|
|
79417
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
79418
|
+
},
|
|
79419
|
+
{
|
|
79420
|
+
title: "By name",
|
|
79421
|
+
type: "string",
|
|
79422
|
+
minLength: 1,
|
|
79423
|
+
pattern: "\\S",
|
|
79424
|
+
transform: [
|
|
79425
|
+
"trim"
|
|
79426
|
+
],
|
|
79427
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
79428
|
+
},
|
|
79429
|
+
{
|
|
79430
|
+
title: "By criteria",
|
|
79431
|
+
type: "object",
|
|
79432
|
+
additionalProperties: false,
|
|
79433
|
+
minProperties: 1,
|
|
79434
|
+
properties: {
|
|
79435
|
+
name: {
|
|
79436
|
+
type: "string",
|
|
79437
|
+
minLength: 1,
|
|
79438
|
+
pattern: "\\S",
|
|
79439
|
+
transform: [
|
|
79440
|
+
"trim"
|
|
79441
|
+
],
|
|
79442
|
+
description: "Assigned window name."
|
|
79443
|
+
},
|
|
79444
|
+
index: {
|
|
79445
|
+
type: "integer",
|
|
79446
|
+
description: "Index in creation order. Negative counts from the end."
|
|
79447
|
+
},
|
|
79448
|
+
title: {
|
|
79449
|
+
type: "string",
|
|
79450
|
+
minLength: 1,
|
|
79451
|
+
description: "Window title to match. Substring, or /regex/."
|
|
79452
|
+
}
|
|
79453
|
+
}
|
|
79454
|
+
}
|
|
79455
|
+
]
|
|
79456
|
+
}
|
|
79457
|
+
}
|
|
79182
79458
|
}
|
|
79183
79459
|
]
|
|
79184
79460
|
},
|
|
@@ -79244,13 +79520,12 @@ var schemas_default = {
|
|
|
79244
79520
|
},
|
|
79245
79521
|
target: {
|
|
79246
79522
|
type: "string",
|
|
79247
|
-
description: "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).",
|
|
79523
|
+
description: "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).",
|
|
79248
79524
|
enum: [
|
|
79249
79525
|
"display",
|
|
79250
79526
|
"window",
|
|
79251
79527
|
"viewport"
|
|
79252
|
-
]
|
|
79253
|
-
default: "display"
|
|
79528
|
+
]
|
|
79254
79529
|
},
|
|
79255
79530
|
fps: {
|
|
79256
79531
|
type: "integer",
|
|
@@ -79296,13 +79571,12 @@ var schemas_default = {
|
|
|
79296
79571
|
},
|
|
79297
79572
|
target: {
|
|
79298
79573
|
type: "string",
|
|
79299
|
-
description: "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).",
|
|
79574
|
+
description: "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).",
|
|
79300
79575
|
enum: [
|
|
79301
79576
|
"display",
|
|
79302
79577
|
"window",
|
|
79303
79578
|
"viewport"
|
|
79304
|
-
]
|
|
79305
|
-
default: "display"
|
|
79579
|
+
]
|
|
79306
79580
|
},
|
|
79307
79581
|
fps: {
|
|
79308
79582
|
type: "integer",
|
|
@@ -79335,6 +79609,22 @@ var schemas_default = {
|
|
|
79335
79609
|
target: "window",
|
|
79336
79610
|
fps: 60
|
|
79337
79611
|
}
|
|
79612
|
+
},
|
|
79613
|
+
{
|
|
79614
|
+
path: "notepad.mp4",
|
|
79615
|
+
surface: {
|
|
79616
|
+
app: "notepad"
|
|
79617
|
+
}
|
|
79618
|
+
},
|
|
79619
|
+
{
|
|
79620
|
+
path: "full-screen.mp4",
|
|
79621
|
+
surface: {
|
|
79622
|
+
app: "notepad"
|
|
79623
|
+
},
|
|
79624
|
+
engine: {
|
|
79625
|
+
name: "ffmpeg",
|
|
79626
|
+
target: "display"
|
|
79627
|
+
}
|
|
79338
79628
|
}
|
|
79339
79629
|
]
|
|
79340
79630
|
}
|
|
@@ -104054,7 +104344,7 @@ var schemas_default = {
|
|
|
104054
104344
|
record_v3: {
|
|
104055
104345
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
104056
104346
|
title: "record",
|
|
104057
|
-
description: "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' ]",
|
|
104347
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
104058
104348
|
anyOf: [
|
|
104059
104349
|
{
|
|
104060
104350
|
title: "Record (simple)",
|
|
@@ -104069,7 +104359,7 @@ var schemas_default = {
|
|
|
104069
104359
|
type: "object",
|
|
104070
104360
|
properties: {
|
|
104071
104361
|
surface: {
|
|
104072
|
-
description:
|
|
104362
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
104073
104363
|
anyOf: [
|
|
104074
104364
|
{
|
|
104075
104365
|
title: "Surface (by browser engine)",
|
|
@@ -104166,14 +104456,85 @@ var schemas_default = {
|
|
|
104166
104456
|
}
|
|
104167
104457
|
]
|
|
104168
104458
|
},
|
|
104169
|
-
tab: {
|
|
104170
|
-
description: "Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order \u2014 including tabs the page opened itself.",
|
|
104171
|
-
title: "Window/tab selector",
|
|
104459
|
+
tab: {
|
|
104460
|
+
description: "Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order \u2014 including tabs the page opened itself.",
|
|
104461
|
+
title: "Window/tab selector",
|
|
104462
|
+
anyOf: [
|
|
104463
|
+
{
|
|
104464
|
+
title: "By index",
|
|
104465
|
+
type: "integer",
|
|
104466
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest."
|
|
104467
|
+
},
|
|
104468
|
+
{
|
|
104469
|
+
title: "By name",
|
|
104470
|
+
type: "string",
|
|
104471
|
+
minLength: 1,
|
|
104472
|
+
pattern: "\\S",
|
|
104473
|
+
transform: [
|
|
104474
|
+
"trim"
|
|
104475
|
+
],
|
|
104476
|
+
description: "Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
104477
|
+
},
|
|
104478
|
+
{
|
|
104479
|
+
title: "By criteria",
|
|
104480
|
+
type: "object",
|
|
104481
|
+
additionalProperties: false,
|
|
104482
|
+
minProperties: 1,
|
|
104483
|
+
properties: {
|
|
104484
|
+
name: {
|
|
104485
|
+
type: "string",
|
|
104486
|
+
minLength: 1,
|
|
104487
|
+
pattern: "\\S",
|
|
104488
|
+
transform: [
|
|
104489
|
+
"trim"
|
|
104490
|
+
],
|
|
104491
|
+
description: "Name assigned when the window/tab was opened."
|
|
104492
|
+
},
|
|
104493
|
+
index: {
|
|
104494
|
+
type: "integer",
|
|
104495
|
+
description: "Index in creation order. Negative counts from the end."
|
|
104496
|
+
},
|
|
104497
|
+
title: {
|
|
104498
|
+
type: "string",
|
|
104499
|
+
minLength: 1,
|
|
104500
|
+
description: "Page title to match. Substring, or /regex/."
|
|
104501
|
+
},
|
|
104502
|
+
url: {
|
|
104503
|
+
type: "string",
|
|
104504
|
+
minLength: 1,
|
|
104505
|
+
description: "Page URL to match. Substring, or /regex/."
|
|
104506
|
+
}
|
|
104507
|
+
}
|
|
104508
|
+
}
|
|
104509
|
+
]
|
|
104510
|
+
}
|
|
104511
|
+
}
|
|
104512
|
+
},
|
|
104513
|
+
{
|
|
104514
|
+
title: "App surface",
|
|
104515
|
+
type: "object",
|
|
104516
|
+
additionalProperties: false,
|
|
104517
|
+
required: [
|
|
104518
|
+
"app"
|
|
104519
|
+
],
|
|
104520
|
+
properties: {
|
|
104521
|
+
app: {
|
|
104522
|
+
type: "string",
|
|
104523
|
+
minLength: 1,
|
|
104524
|
+
pattern: "\\S",
|
|
104525
|
+
transform: [
|
|
104526
|
+
"trim"
|
|
104527
|
+
],
|
|
104528
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
104529
|
+
},
|
|
104530
|
+
window: {
|
|
104531
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
104532
|
+
title: "App window selector",
|
|
104172
104533
|
anyOf: [
|
|
104173
104534
|
{
|
|
104174
104535
|
title: "By index",
|
|
104175
104536
|
type: "integer",
|
|
104176
|
-
description: "Index in creation order. Negative counts from the end; `-1` is the newest."
|
|
104537
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
104177
104538
|
},
|
|
104178
104539
|
{
|
|
104179
104540
|
title: "By name",
|
|
@@ -104183,7 +104544,7 @@ var schemas_default = {
|
|
|
104183
104544
|
transform: [
|
|
104184
104545
|
"trim"
|
|
104185
104546
|
],
|
|
104186
|
-
description: "
|
|
104547
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
104187
104548
|
},
|
|
104188
104549
|
{
|
|
104189
104550
|
title: "By criteria",
|
|
@@ -104198,7 +104559,7 @@ var schemas_default = {
|
|
|
104198
104559
|
transform: [
|
|
104199
104560
|
"trim"
|
|
104200
104561
|
],
|
|
104201
|
-
description: "
|
|
104562
|
+
description: "Assigned window name."
|
|
104202
104563
|
},
|
|
104203
104564
|
index: {
|
|
104204
104565
|
type: "integer",
|
|
@@ -104207,12 +104568,7 @@ var schemas_default = {
|
|
|
104207
104568
|
title: {
|
|
104208
104569
|
type: "string",
|
|
104209
104570
|
minLength: 1,
|
|
104210
|
-
description: "
|
|
104211
|
-
},
|
|
104212
|
-
url: {
|
|
104213
|
-
type: "string",
|
|
104214
|
-
minLength: 1,
|
|
104215
|
-
description: "Page URL to match. Substring, or /regex/."
|
|
104571
|
+
description: "Window title to match. Substring, or /regex/."
|
|
104216
104572
|
}
|
|
104217
104573
|
}
|
|
104218
104574
|
}
|
|
@@ -104284,13 +104640,12 @@ var schemas_default = {
|
|
|
104284
104640
|
},
|
|
104285
104641
|
target: {
|
|
104286
104642
|
type: "string",
|
|
104287
|
-
description: "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).",
|
|
104643
|
+
description: "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).",
|
|
104288
104644
|
enum: [
|
|
104289
104645
|
"display",
|
|
104290
104646
|
"window",
|
|
104291
104647
|
"viewport"
|
|
104292
|
-
]
|
|
104293
|
-
default: "display"
|
|
104648
|
+
]
|
|
104294
104649
|
},
|
|
104295
104650
|
fps: {
|
|
104296
104651
|
type: "integer",
|
|
@@ -104308,7 +104663,7 @@ var schemas_default = {
|
|
|
104308
104663
|
{
|
|
104309
104664
|
type: "boolean",
|
|
104310
104665
|
title: "Record (boolean)",
|
|
104311
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
104666
|
+
description: "If `true`, starts recording \u2014 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."
|
|
104312
104667
|
}
|
|
104313
104668
|
],
|
|
104314
104669
|
components: {
|
|
@@ -104326,7 +104681,7 @@ var schemas_default = {
|
|
|
104326
104681
|
type: "object",
|
|
104327
104682
|
properties: {
|
|
104328
104683
|
surface: {
|
|
104329
|
-
description:
|
|
104684
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
104330
104685
|
anyOf: [
|
|
104331
104686
|
{
|
|
104332
104687
|
title: "Surface (by browser engine)",
|
|
@@ -104476,6 +104831,72 @@ var schemas_default = {
|
|
|
104476
104831
|
]
|
|
104477
104832
|
}
|
|
104478
104833
|
}
|
|
104834
|
+
},
|
|
104835
|
+
{
|
|
104836
|
+
title: "App surface",
|
|
104837
|
+
type: "object",
|
|
104838
|
+
additionalProperties: false,
|
|
104839
|
+
required: [
|
|
104840
|
+
"app"
|
|
104841
|
+
],
|
|
104842
|
+
properties: {
|
|
104843
|
+
app: {
|
|
104844
|
+
type: "string",
|
|
104845
|
+
minLength: 1,
|
|
104846
|
+
pattern: "\\S",
|
|
104847
|
+
transform: [
|
|
104848
|
+
"trim"
|
|
104849
|
+
],
|
|
104850
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
104851
|
+
},
|
|
104852
|
+
window: {
|
|
104853
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
104854
|
+
title: "App window selector",
|
|
104855
|
+
anyOf: [
|
|
104856
|
+
{
|
|
104857
|
+
title: "By index",
|
|
104858
|
+
type: "integer",
|
|
104859
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
104860
|
+
},
|
|
104861
|
+
{
|
|
104862
|
+
title: "By name",
|
|
104863
|
+
type: "string",
|
|
104864
|
+
minLength: 1,
|
|
104865
|
+
pattern: "\\S",
|
|
104866
|
+
transform: [
|
|
104867
|
+
"trim"
|
|
104868
|
+
],
|
|
104869
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
104870
|
+
},
|
|
104871
|
+
{
|
|
104872
|
+
title: "By criteria",
|
|
104873
|
+
type: "object",
|
|
104874
|
+
additionalProperties: false,
|
|
104875
|
+
minProperties: 1,
|
|
104876
|
+
properties: {
|
|
104877
|
+
name: {
|
|
104878
|
+
type: "string",
|
|
104879
|
+
minLength: 1,
|
|
104880
|
+
pattern: "\\S",
|
|
104881
|
+
transform: [
|
|
104882
|
+
"trim"
|
|
104883
|
+
],
|
|
104884
|
+
description: "Assigned window name."
|
|
104885
|
+
},
|
|
104886
|
+
index: {
|
|
104887
|
+
type: "integer",
|
|
104888
|
+
description: "Index in creation order. Negative counts from the end."
|
|
104889
|
+
},
|
|
104890
|
+
title: {
|
|
104891
|
+
type: "string",
|
|
104892
|
+
minLength: 1,
|
|
104893
|
+
description: "Window title to match. Substring, or /regex/."
|
|
104894
|
+
}
|
|
104895
|
+
}
|
|
104896
|
+
}
|
|
104897
|
+
]
|
|
104898
|
+
}
|
|
104899
|
+
}
|
|
104479
104900
|
}
|
|
104480
104901
|
]
|
|
104481
104902
|
},
|
|
@@ -104541,13 +104962,12 @@ var schemas_default = {
|
|
|
104541
104962
|
},
|
|
104542
104963
|
target: {
|
|
104543
104964
|
type: "string",
|
|
104544
|
-
description: "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).",
|
|
104965
|
+
description: "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).",
|
|
104545
104966
|
enum: [
|
|
104546
104967
|
"display",
|
|
104547
104968
|
"window",
|
|
104548
104969
|
"viewport"
|
|
104549
|
-
]
|
|
104550
|
-
default: "display"
|
|
104970
|
+
]
|
|
104551
104971
|
},
|
|
104552
104972
|
fps: {
|
|
104553
104973
|
type: "integer",
|
|
@@ -104593,13 +105013,12 @@ var schemas_default = {
|
|
|
104593
105013
|
},
|
|
104594
105014
|
target: {
|
|
104595
105015
|
type: "string",
|
|
104596
|
-
description: "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).",
|
|
105016
|
+
description: "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).",
|
|
104597
105017
|
enum: [
|
|
104598
105018
|
"display",
|
|
104599
105019
|
"window",
|
|
104600
105020
|
"viewport"
|
|
104601
|
-
]
|
|
104602
|
-
default: "display"
|
|
105021
|
+
]
|
|
104603
105022
|
},
|
|
104604
105023
|
fps: {
|
|
104605
105024
|
type: "integer",
|
|
@@ -104632,6 +105051,22 @@ var schemas_default = {
|
|
|
104632
105051
|
target: "window",
|
|
104633
105052
|
fps: 60
|
|
104634
105053
|
}
|
|
105054
|
+
},
|
|
105055
|
+
{
|
|
105056
|
+
path: "notepad.mp4",
|
|
105057
|
+
surface: {
|
|
105058
|
+
app: "notepad"
|
|
105059
|
+
}
|
|
105060
|
+
},
|
|
105061
|
+
{
|
|
105062
|
+
path: "full-screen.mp4",
|
|
105063
|
+
surface: {
|
|
105064
|
+
app: "notepad"
|
|
105065
|
+
},
|
|
105066
|
+
engine: {
|
|
105067
|
+
name: "ffmpeg",
|
|
105068
|
+
target: "display"
|
|
105069
|
+
}
|
|
104635
105070
|
}
|
|
104636
105071
|
]
|
|
104637
105072
|
},
|
|
@@ -136499,7 +136934,7 @@ var schemas_default = {
|
|
|
136499
136934
|
record: {
|
|
136500
136935
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
136501
136936
|
title: "record",
|
|
136502
|
-
description: "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' ]",
|
|
136937
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
136503
136938
|
anyOf: [
|
|
136504
136939
|
{
|
|
136505
136940
|
title: "Record (simple)",
|
|
@@ -136514,7 +136949,7 @@ var schemas_default = {
|
|
|
136514
136949
|
type: "object",
|
|
136515
136950
|
properties: {
|
|
136516
136951
|
surface: {
|
|
136517
|
-
description:
|
|
136952
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
136518
136953
|
anyOf: [
|
|
136519
136954
|
{
|
|
136520
136955
|
title: "Surface (by browser engine)",
|
|
@@ -136664,6 +137099,72 @@ var schemas_default = {
|
|
|
136664
137099
|
]
|
|
136665
137100
|
}
|
|
136666
137101
|
}
|
|
137102
|
+
},
|
|
137103
|
+
{
|
|
137104
|
+
title: "App surface",
|
|
137105
|
+
type: "object",
|
|
137106
|
+
additionalProperties: false,
|
|
137107
|
+
required: [
|
|
137108
|
+
"app"
|
|
137109
|
+
],
|
|
137110
|
+
properties: {
|
|
137111
|
+
app: {
|
|
137112
|
+
type: "string",
|
|
137113
|
+
minLength: 1,
|
|
137114
|
+
pattern: "\\S",
|
|
137115
|
+
transform: [
|
|
137116
|
+
"trim"
|
|
137117
|
+
],
|
|
137118
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
137119
|
+
},
|
|
137120
|
+
window: {
|
|
137121
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
137122
|
+
title: "App window selector",
|
|
137123
|
+
anyOf: [
|
|
137124
|
+
{
|
|
137125
|
+
title: "By index",
|
|
137126
|
+
type: "integer",
|
|
137127
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
137128
|
+
},
|
|
137129
|
+
{
|
|
137130
|
+
title: "By name",
|
|
137131
|
+
type: "string",
|
|
137132
|
+
minLength: 1,
|
|
137133
|
+
pattern: "\\S",
|
|
137134
|
+
transform: [
|
|
137135
|
+
"trim"
|
|
137136
|
+
],
|
|
137137
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
137138
|
+
},
|
|
137139
|
+
{
|
|
137140
|
+
title: "By criteria",
|
|
137141
|
+
type: "object",
|
|
137142
|
+
additionalProperties: false,
|
|
137143
|
+
minProperties: 1,
|
|
137144
|
+
properties: {
|
|
137145
|
+
name: {
|
|
137146
|
+
type: "string",
|
|
137147
|
+
minLength: 1,
|
|
137148
|
+
pattern: "\\S",
|
|
137149
|
+
transform: [
|
|
137150
|
+
"trim"
|
|
137151
|
+
],
|
|
137152
|
+
description: "Assigned window name."
|
|
137153
|
+
},
|
|
137154
|
+
index: {
|
|
137155
|
+
type: "integer",
|
|
137156
|
+
description: "Index in creation order. Negative counts from the end."
|
|
137157
|
+
},
|
|
137158
|
+
title: {
|
|
137159
|
+
type: "string",
|
|
137160
|
+
minLength: 1,
|
|
137161
|
+
description: "Window title to match. Substring, or /regex/."
|
|
137162
|
+
}
|
|
137163
|
+
}
|
|
137164
|
+
}
|
|
137165
|
+
]
|
|
137166
|
+
}
|
|
137167
|
+
}
|
|
136667
137168
|
}
|
|
136668
137169
|
]
|
|
136669
137170
|
},
|
|
@@ -136729,13 +137230,12 @@ var schemas_default = {
|
|
|
136729
137230
|
},
|
|
136730
137231
|
target: {
|
|
136731
137232
|
type: "string",
|
|
136732
|
-
description: "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).",
|
|
137233
|
+
description: "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).",
|
|
136733
137234
|
enum: [
|
|
136734
137235
|
"display",
|
|
136735
137236
|
"window",
|
|
136736
137237
|
"viewport"
|
|
136737
|
-
]
|
|
136738
|
-
default: "display"
|
|
137238
|
+
]
|
|
136739
137239
|
},
|
|
136740
137240
|
fps: {
|
|
136741
137241
|
type: "integer",
|
|
@@ -136753,7 +137253,7 @@ var schemas_default = {
|
|
|
136753
137253
|
{
|
|
136754
137254
|
type: "boolean",
|
|
136755
137255
|
title: "Record (boolean)",
|
|
136756
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
137256
|
+
description: "If `true`, starts recording \u2014 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."
|
|
136757
137257
|
}
|
|
136758
137258
|
],
|
|
136759
137259
|
components: {
|
|
@@ -136771,7 +137271,7 @@ var schemas_default = {
|
|
|
136771
137271
|
type: "object",
|
|
136772
137272
|
properties: {
|
|
136773
137273
|
surface: {
|
|
136774
|
-
description:
|
|
137274
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
136775
137275
|
anyOf: [
|
|
136776
137276
|
{
|
|
136777
137277
|
title: "Surface (by browser engine)",
|
|
@@ -136921,6 +137421,72 @@ var schemas_default = {
|
|
|
136921
137421
|
]
|
|
136922
137422
|
}
|
|
136923
137423
|
}
|
|
137424
|
+
},
|
|
137425
|
+
{
|
|
137426
|
+
title: "App surface",
|
|
137427
|
+
type: "object",
|
|
137428
|
+
additionalProperties: false,
|
|
137429
|
+
required: [
|
|
137430
|
+
"app"
|
|
137431
|
+
],
|
|
137432
|
+
properties: {
|
|
137433
|
+
app: {
|
|
137434
|
+
type: "string",
|
|
137435
|
+
minLength: 1,
|
|
137436
|
+
pattern: "\\S",
|
|
137437
|
+
transform: [
|
|
137438
|
+
"trim"
|
|
137439
|
+
],
|
|
137440
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
137441
|
+
},
|
|
137442
|
+
window: {
|
|
137443
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
137444
|
+
title: "App window selector",
|
|
137445
|
+
anyOf: [
|
|
137446
|
+
{
|
|
137447
|
+
title: "By index",
|
|
137448
|
+
type: "integer",
|
|
137449
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
137450
|
+
},
|
|
137451
|
+
{
|
|
137452
|
+
title: "By name",
|
|
137453
|
+
type: "string",
|
|
137454
|
+
minLength: 1,
|
|
137455
|
+
pattern: "\\S",
|
|
137456
|
+
transform: [
|
|
137457
|
+
"trim"
|
|
137458
|
+
],
|
|
137459
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
137460
|
+
},
|
|
137461
|
+
{
|
|
137462
|
+
title: "By criteria",
|
|
137463
|
+
type: "object",
|
|
137464
|
+
additionalProperties: false,
|
|
137465
|
+
minProperties: 1,
|
|
137466
|
+
properties: {
|
|
137467
|
+
name: {
|
|
137468
|
+
type: "string",
|
|
137469
|
+
minLength: 1,
|
|
137470
|
+
pattern: "\\S",
|
|
137471
|
+
transform: [
|
|
137472
|
+
"trim"
|
|
137473
|
+
],
|
|
137474
|
+
description: "Assigned window name."
|
|
137475
|
+
},
|
|
137476
|
+
index: {
|
|
137477
|
+
type: "integer",
|
|
137478
|
+
description: "Index in creation order. Negative counts from the end."
|
|
137479
|
+
},
|
|
137480
|
+
title: {
|
|
137481
|
+
type: "string",
|
|
137482
|
+
minLength: 1,
|
|
137483
|
+
description: "Window title to match. Substring, or /regex/."
|
|
137484
|
+
}
|
|
137485
|
+
}
|
|
137486
|
+
}
|
|
137487
|
+
]
|
|
137488
|
+
}
|
|
137489
|
+
}
|
|
136924
137490
|
}
|
|
136925
137491
|
]
|
|
136926
137492
|
},
|
|
@@ -136986,13 +137552,12 @@ var schemas_default = {
|
|
|
136986
137552
|
},
|
|
136987
137553
|
target: {
|
|
136988
137554
|
type: "string",
|
|
136989
|
-
description: "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).",
|
|
137555
|
+
description: "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).",
|
|
136990
137556
|
enum: [
|
|
136991
137557
|
"display",
|
|
136992
137558
|
"window",
|
|
136993
137559
|
"viewport"
|
|
136994
|
-
]
|
|
136995
|
-
default: "display"
|
|
137560
|
+
]
|
|
136996
137561
|
},
|
|
136997
137562
|
fps: {
|
|
136998
137563
|
type: "integer",
|
|
@@ -137038,13 +137603,12 @@ var schemas_default = {
|
|
|
137038
137603
|
},
|
|
137039
137604
|
target: {
|
|
137040
137605
|
type: "string",
|
|
137041
|
-
description: "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).",
|
|
137606
|
+
description: "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).",
|
|
137042
137607
|
enum: [
|
|
137043
137608
|
"display",
|
|
137044
137609
|
"window",
|
|
137045
137610
|
"viewport"
|
|
137046
|
-
]
|
|
137047
|
-
default: "display"
|
|
137611
|
+
]
|
|
137048
137612
|
},
|
|
137049
137613
|
fps: {
|
|
137050
137614
|
type: "integer",
|
|
@@ -137077,6 +137641,22 @@ var schemas_default = {
|
|
|
137077
137641
|
target: "window",
|
|
137078
137642
|
fps: 60
|
|
137079
137643
|
}
|
|
137644
|
+
},
|
|
137645
|
+
{
|
|
137646
|
+
path: "notepad.mp4",
|
|
137647
|
+
surface: {
|
|
137648
|
+
app: "notepad"
|
|
137649
|
+
}
|
|
137650
|
+
},
|
|
137651
|
+
{
|
|
137652
|
+
path: "full-screen.mp4",
|
|
137653
|
+
surface: {
|
|
137654
|
+
app: "notepad"
|
|
137655
|
+
},
|
|
137656
|
+
engine: {
|
|
137657
|
+
name: "ffmpeg",
|
|
137658
|
+
target: "display"
|
|
137659
|
+
}
|
|
137080
137660
|
}
|
|
137081
137661
|
]
|
|
137082
137662
|
}
|
|
@@ -181081,7 +181661,7 @@ var schemas_default = {
|
|
|
181081
181661
|
record: {
|
|
181082
181662
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
181083
181663
|
title: "record",
|
|
181084
|
-
description: "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' ]",
|
|
181664
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
181085
181665
|
anyOf: [
|
|
181086
181666
|
{
|
|
181087
181667
|
title: "Record (simple)",
|
|
@@ -181096,7 +181676,7 @@ var schemas_default = {
|
|
|
181096
181676
|
type: "object",
|
|
181097
181677
|
properties: {
|
|
181098
181678
|
surface: {
|
|
181099
|
-
description:
|
|
181679
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
181100
181680
|
anyOf: [
|
|
181101
181681
|
{
|
|
181102
181682
|
title: "Surface (by browser engine)",
|
|
@@ -181246,6 +181826,72 @@ var schemas_default = {
|
|
|
181246
181826
|
]
|
|
181247
181827
|
}
|
|
181248
181828
|
}
|
|
181829
|
+
},
|
|
181830
|
+
{
|
|
181831
|
+
title: "App surface",
|
|
181832
|
+
type: "object",
|
|
181833
|
+
additionalProperties: false,
|
|
181834
|
+
required: [
|
|
181835
|
+
"app"
|
|
181836
|
+
],
|
|
181837
|
+
properties: {
|
|
181838
|
+
app: {
|
|
181839
|
+
type: "string",
|
|
181840
|
+
minLength: 1,
|
|
181841
|
+
pattern: "\\S",
|
|
181842
|
+
transform: [
|
|
181843
|
+
"trim"
|
|
181844
|
+
],
|
|
181845
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
181846
|
+
},
|
|
181847
|
+
window: {
|
|
181848
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
181849
|
+
title: "App window selector",
|
|
181850
|
+
anyOf: [
|
|
181851
|
+
{
|
|
181852
|
+
title: "By index",
|
|
181853
|
+
type: "integer",
|
|
181854
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
181855
|
+
},
|
|
181856
|
+
{
|
|
181857
|
+
title: "By name",
|
|
181858
|
+
type: "string",
|
|
181859
|
+
minLength: 1,
|
|
181860
|
+
pattern: "\\S",
|
|
181861
|
+
transform: [
|
|
181862
|
+
"trim"
|
|
181863
|
+
],
|
|
181864
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
181865
|
+
},
|
|
181866
|
+
{
|
|
181867
|
+
title: "By criteria",
|
|
181868
|
+
type: "object",
|
|
181869
|
+
additionalProperties: false,
|
|
181870
|
+
minProperties: 1,
|
|
181871
|
+
properties: {
|
|
181872
|
+
name: {
|
|
181873
|
+
type: "string",
|
|
181874
|
+
minLength: 1,
|
|
181875
|
+
pattern: "\\S",
|
|
181876
|
+
transform: [
|
|
181877
|
+
"trim"
|
|
181878
|
+
],
|
|
181879
|
+
description: "Assigned window name."
|
|
181880
|
+
},
|
|
181881
|
+
index: {
|
|
181882
|
+
type: "integer",
|
|
181883
|
+
description: "Index in creation order. Negative counts from the end."
|
|
181884
|
+
},
|
|
181885
|
+
title: {
|
|
181886
|
+
type: "string",
|
|
181887
|
+
minLength: 1,
|
|
181888
|
+
description: "Window title to match. Substring, or /regex/."
|
|
181889
|
+
}
|
|
181890
|
+
}
|
|
181891
|
+
}
|
|
181892
|
+
]
|
|
181893
|
+
}
|
|
181894
|
+
}
|
|
181249
181895
|
}
|
|
181250
181896
|
]
|
|
181251
181897
|
},
|
|
@@ -181311,13 +181957,12 @@ var schemas_default = {
|
|
|
181311
181957
|
},
|
|
181312
181958
|
target: {
|
|
181313
181959
|
type: "string",
|
|
181314
|
-
description: "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).",
|
|
181960
|
+
description: "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).",
|
|
181315
181961
|
enum: [
|
|
181316
181962
|
"display",
|
|
181317
181963
|
"window",
|
|
181318
181964
|
"viewport"
|
|
181319
|
-
]
|
|
181320
|
-
default: "display"
|
|
181965
|
+
]
|
|
181321
181966
|
},
|
|
181322
181967
|
fps: {
|
|
181323
181968
|
type: "integer",
|
|
@@ -181335,7 +181980,7 @@ var schemas_default = {
|
|
|
181335
181980
|
{
|
|
181336
181981
|
type: "boolean",
|
|
181337
181982
|
title: "Record (boolean)",
|
|
181338
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
181983
|
+
description: "If `true`, starts recording \u2014 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."
|
|
181339
181984
|
}
|
|
181340
181985
|
],
|
|
181341
181986
|
components: {
|
|
@@ -181353,7 +181998,7 @@ var schemas_default = {
|
|
|
181353
181998
|
type: "object",
|
|
181354
181999
|
properties: {
|
|
181355
182000
|
surface: {
|
|
181356
|
-
description:
|
|
182001
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
181357
182002
|
anyOf: [
|
|
181358
182003
|
{
|
|
181359
182004
|
title: "Surface (by browser engine)",
|
|
@@ -181503,6 +182148,72 @@ var schemas_default = {
|
|
|
181503
182148
|
]
|
|
181504
182149
|
}
|
|
181505
182150
|
}
|
|
182151
|
+
},
|
|
182152
|
+
{
|
|
182153
|
+
title: "App surface",
|
|
182154
|
+
type: "object",
|
|
182155
|
+
additionalProperties: false,
|
|
182156
|
+
required: [
|
|
182157
|
+
"app"
|
|
182158
|
+
],
|
|
182159
|
+
properties: {
|
|
182160
|
+
app: {
|
|
182161
|
+
type: "string",
|
|
182162
|
+
minLength: 1,
|
|
182163
|
+
pattern: "\\S",
|
|
182164
|
+
transform: [
|
|
182165
|
+
"trim"
|
|
182166
|
+
],
|
|
182167
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
182168
|
+
},
|
|
182169
|
+
window: {
|
|
182170
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
182171
|
+
title: "App window selector",
|
|
182172
|
+
anyOf: [
|
|
182173
|
+
{
|
|
182174
|
+
title: "By index",
|
|
182175
|
+
type: "integer",
|
|
182176
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
182177
|
+
},
|
|
182178
|
+
{
|
|
182179
|
+
title: "By name",
|
|
182180
|
+
type: "string",
|
|
182181
|
+
minLength: 1,
|
|
182182
|
+
pattern: "\\S",
|
|
182183
|
+
transform: [
|
|
182184
|
+
"trim"
|
|
182185
|
+
],
|
|
182186
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
182187
|
+
},
|
|
182188
|
+
{
|
|
182189
|
+
title: "By criteria",
|
|
182190
|
+
type: "object",
|
|
182191
|
+
additionalProperties: false,
|
|
182192
|
+
minProperties: 1,
|
|
182193
|
+
properties: {
|
|
182194
|
+
name: {
|
|
182195
|
+
type: "string",
|
|
182196
|
+
minLength: 1,
|
|
182197
|
+
pattern: "\\S",
|
|
182198
|
+
transform: [
|
|
182199
|
+
"trim"
|
|
182200
|
+
],
|
|
182201
|
+
description: "Assigned window name."
|
|
182202
|
+
},
|
|
182203
|
+
index: {
|
|
182204
|
+
type: "integer",
|
|
182205
|
+
description: "Index in creation order. Negative counts from the end."
|
|
182206
|
+
},
|
|
182207
|
+
title: {
|
|
182208
|
+
type: "string",
|
|
182209
|
+
minLength: 1,
|
|
182210
|
+
description: "Window title to match. Substring, or /regex/."
|
|
182211
|
+
}
|
|
182212
|
+
}
|
|
182213
|
+
}
|
|
182214
|
+
]
|
|
182215
|
+
}
|
|
182216
|
+
}
|
|
181506
182217
|
}
|
|
181507
182218
|
]
|
|
181508
182219
|
},
|
|
@@ -181568,13 +182279,12 @@ var schemas_default = {
|
|
|
181568
182279
|
},
|
|
181569
182280
|
target: {
|
|
181570
182281
|
type: "string",
|
|
181571
|
-
description: "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).",
|
|
182282
|
+
description: "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).",
|
|
181572
182283
|
enum: [
|
|
181573
182284
|
"display",
|
|
181574
182285
|
"window",
|
|
181575
182286
|
"viewport"
|
|
181576
|
-
]
|
|
181577
|
-
default: "display"
|
|
182287
|
+
]
|
|
181578
182288
|
},
|
|
181579
182289
|
fps: {
|
|
181580
182290
|
type: "integer",
|
|
@@ -181620,13 +182330,12 @@ var schemas_default = {
|
|
|
181620
182330
|
},
|
|
181621
182331
|
target: {
|
|
181622
182332
|
type: "string",
|
|
181623
|
-
description: "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).",
|
|
182333
|
+
description: "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).",
|
|
181624
182334
|
enum: [
|
|
181625
182335
|
"display",
|
|
181626
182336
|
"window",
|
|
181627
182337
|
"viewport"
|
|
181628
|
-
]
|
|
181629
|
-
default: "display"
|
|
182338
|
+
]
|
|
181630
182339
|
},
|
|
181631
182340
|
fps: {
|
|
181632
182341
|
type: "integer",
|
|
@@ -181659,6 +182368,22 @@ var schemas_default = {
|
|
|
181659
182368
|
target: "window",
|
|
181660
182369
|
fps: 60
|
|
181661
182370
|
}
|
|
182371
|
+
},
|
|
182372
|
+
{
|
|
182373
|
+
path: "notepad.mp4",
|
|
182374
|
+
surface: {
|
|
182375
|
+
app: "notepad"
|
|
182376
|
+
}
|
|
182377
|
+
},
|
|
182378
|
+
{
|
|
182379
|
+
path: "full-screen.mp4",
|
|
182380
|
+
surface: {
|
|
182381
|
+
app: "notepad"
|
|
182382
|
+
},
|
|
182383
|
+
engine: {
|
|
182384
|
+
name: "ffmpeg",
|
|
182385
|
+
target: "display"
|
|
182386
|
+
}
|
|
181662
182387
|
}
|
|
181663
182388
|
]
|
|
181664
182389
|
}
|
|
@@ -227436,7 +228161,7 @@ var schemas_default = {
|
|
|
227436
228161
|
record: {
|
|
227437
228162
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
227438
228163
|
title: "record",
|
|
227439
|
-
description: "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' ]",
|
|
228164
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
227440
228165
|
anyOf: [
|
|
227441
228166
|
{
|
|
227442
228167
|
title: "Record (simple)",
|
|
@@ -227451,7 +228176,7 @@ var schemas_default = {
|
|
|
227451
228176
|
type: "object",
|
|
227452
228177
|
properties: {
|
|
227453
228178
|
surface: {
|
|
227454
|
-
description:
|
|
228179
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
227455
228180
|
anyOf: [
|
|
227456
228181
|
{
|
|
227457
228182
|
title: "Surface (by browser engine)",
|
|
@@ -227601,6 +228326,72 @@ var schemas_default = {
|
|
|
227601
228326
|
]
|
|
227602
228327
|
}
|
|
227603
228328
|
}
|
|
228329
|
+
},
|
|
228330
|
+
{
|
|
228331
|
+
title: "App surface",
|
|
228332
|
+
type: "object",
|
|
228333
|
+
additionalProperties: false,
|
|
228334
|
+
required: [
|
|
228335
|
+
"app"
|
|
228336
|
+
],
|
|
228337
|
+
properties: {
|
|
228338
|
+
app: {
|
|
228339
|
+
type: "string",
|
|
228340
|
+
minLength: 1,
|
|
228341
|
+
pattern: "\\S",
|
|
228342
|
+
transform: [
|
|
228343
|
+
"trim"
|
|
228344
|
+
],
|
|
228345
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
228346
|
+
},
|
|
228347
|
+
window: {
|
|
228348
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
228349
|
+
title: "App window selector",
|
|
228350
|
+
anyOf: [
|
|
228351
|
+
{
|
|
228352
|
+
title: "By index",
|
|
228353
|
+
type: "integer",
|
|
228354
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
228355
|
+
},
|
|
228356
|
+
{
|
|
228357
|
+
title: "By name",
|
|
228358
|
+
type: "string",
|
|
228359
|
+
minLength: 1,
|
|
228360
|
+
pattern: "\\S",
|
|
228361
|
+
transform: [
|
|
228362
|
+
"trim"
|
|
228363
|
+
],
|
|
228364
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
228365
|
+
},
|
|
228366
|
+
{
|
|
228367
|
+
title: "By criteria",
|
|
228368
|
+
type: "object",
|
|
228369
|
+
additionalProperties: false,
|
|
228370
|
+
minProperties: 1,
|
|
228371
|
+
properties: {
|
|
228372
|
+
name: {
|
|
228373
|
+
type: "string",
|
|
228374
|
+
minLength: 1,
|
|
228375
|
+
pattern: "\\S",
|
|
228376
|
+
transform: [
|
|
228377
|
+
"trim"
|
|
228378
|
+
],
|
|
228379
|
+
description: "Assigned window name."
|
|
228380
|
+
},
|
|
228381
|
+
index: {
|
|
228382
|
+
type: "integer",
|
|
228383
|
+
description: "Index in creation order. Negative counts from the end."
|
|
228384
|
+
},
|
|
228385
|
+
title: {
|
|
228386
|
+
type: "string",
|
|
228387
|
+
minLength: 1,
|
|
228388
|
+
description: "Window title to match. Substring, or /regex/."
|
|
228389
|
+
}
|
|
228390
|
+
}
|
|
228391
|
+
}
|
|
228392
|
+
]
|
|
228393
|
+
}
|
|
228394
|
+
}
|
|
227604
228395
|
}
|
|
227605
228396
|
]
|
|
227606
228397
|
},
|
|
@@ -227666,13 +228457,12 @@ var schemas_default = {
|
|
|
227666
228457
|
},
|
|
227667
228458
|
target: {
|
|
227668
228459
|
type: "string",
|
|
227669
|
-
description: "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).",
|
|
228460
|
+
description: "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).",
|
|
227670
228461
|
enum: [
|
|
227671
228462
|
"display",
|
|
227672
228463
|
"window",
|
|
227673
228464
|
"viewport"
|
|
227674
|
-
]
|
|
227675
|
-
default: "display"
|
|
228465
|
+
]
|
|
227676
228466
|
},
|
|
227677
228467
|
fps: {
|
|
227678
228468
|
type: "integer",
|
|
@@ -227690,7 +228480,7 @@ var schemas_default = {
|
|
|
227690
228480
|
{
|
|
227691
228481
|
type: "boolean",
|
|
227692
228482
|
title: "Record (boolean)",
|
|
227693
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
228483
|
+
description: "If `true`, starts recording \u2014 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."
|
|
227694
228484
|
}
|
|
227695
228485
|
],
|
|
227696
228486
|
components: {
|
|
@@ -227708,7 +228498,7 @@ var schemas_default = {
|
|
|
227708
228498
|
type: "object",
|
|
227709
228499
|
properties: {
|
|
227710
228500
|
surface: {
|
|
227711
|
-
description:
|
|
228501
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
227712
228502
|
anyOf: [
|
|
227713
228503
|
{
|
|
227714
228504
|
title: "Surface (by browser engine)",
|
|
@@ -227805,14 +228595,85 @@ var schemas_default = {
|
|
|
227805
228595
|
}
|
|
227806
228596
|
]
|
|
227807
228597
|
},
|
|
227808
|
-
tab: {
|
|
227809
|
-
description: "Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order \u2014 including tabs the page opened itself.",
|
|
227810
|
-
title: "Window/tab selector",
|
|
228598
|
+
tab: {
|
|
228599
|
+
description: "Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order \u2014 including tabs the page opened itself.",
|
|
228600
|
+
title: "Window/tab selector",
|
|
228601
|
+
anyOf: [
|
|
228602
|
+
{
|
|
228603
|
+
title: "By index",
|
|
228604
|
+
type: "integer",
|
|
228605
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest."
|
|
228606
|
+
},
|
|
228607
|
+
{
|
|
228608
|
+
title: "By name",
|
|
228609
|
+
type: "string",
|
|
228610
|
+
minLength: 1,
|
|
228611
|
+
pattern: "\\S",
|
|
228612
|
+
transform: [
|
|
228613
|
+
"trim"
|
|
228614
|
+
],
|
|
228615
|
+
description: "Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
228616
|
+
},
|
|
228617
|
+
{
|
|
228618
|
+
title: "By criteria",
|
|
228619
|
+
type: "object",
|
|
228620
|
+
additionalProperties: false,
|
|
228621
|
+
minProperties: 1,
|
|
228622
|
+
properties: {
|
|
228623
|
+
name: {
|
|
228624
|
+
type: "string",
|
|
228625
|
+
minLength: 1,
|
|
228626
|
+
pattern: "\\S",
|
|
228627
|
+
transform: [
|
|
228628
|
+
"trim"
|
|
228629
|
+
],
|
|
228630
|
+
description: "Name assigned when the window/tab was opened."
|
|
228631
|
+
},
|
|
228632
|
+
index: {
|
|
228633
|
+
type: "integer",
|
|
228634
|
+
description: "Index in creation order. Negative counts from the end."
|
|
228635
|
+
},
|
|
228636
|
+
title: {
|
|
228637
|
+
type: "string",
|
|
228638
|
+
minLength: 1,
|
|
228639
|
+
description: "Page title to match. Substring, or /regex/."
|
|
228640
|
+
},
|
|
228641
|
+
url: {
|
|
228642
|
+
type: "string",
|
|
228643
|
+
minLength: 1,
|
|
228644
|
+
description: "Page URL to match. Substring, or /regex/."
|
|
228645
|
+
}
|
|
228646
|
+
}
|
|
228647
|
+
}
|
|
228648
|
+
]
|
|
228649
|
+
}
|
|
228650
|
+
}
|
|
228651
|
+
},
|
|
228652
|
+
{
|
|
228653
|
+
title: "App surface",
|
|
228654
|
+
type: "object",
|
|
228655
|
+
additionalProperties: false,
|
|
228656
|
+
required: [
|
|
228657
|
+
"app"
|
|
228658
|
+
],
|
|
228659
|
+
properties: {
|
|
228660
|
+
app: {
|
|
228661
|
+
type: "string",
|
|
228662
|
+
minLength: 1,
|
|
228663
|
+
pattern: "\\S",
|
|
228664
|
+
transform: [
|
|
228665
|
+
"trim"
|
|
228666
|
+
],
|
|
228667
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
228668
|
+
},
|
|
228669
|
+
window: {
|
|
228670
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
228671
|
+
title: "App window selector",
|
|
227811
228672
|
anyOf: [
|
|
227812
228673
|
{
|
|
227813
228674
|
title: "By index",
|
|
227814
228675
|
type: "integer",
|
|
227815
|
-
description: "Index in creation order. Negative counts from the end; `-1` is the newest."
|
|
228676
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
227816
228677
|
},
|
|
227817
228678
|
{
|
|
227818
228679
|
title: "By name",
|
|
@@ -227822,7 +228683,7 @@ var schemas_default = {
|
|
|
227822
228683
|
transform: [
|
|
227823
228684
|
"trim"
|
|
227824
228685
|
],
|
|
227825
|
-
description: "
|
|
228686
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
227826
228687
|
},
|
|
227827
228688
|
{
|
|
227828
228689
|
title: "By criteria",
|
|
@@ -227837,7 +228698,7 @@ var schemas_default = {
|
|
|
227837
228698
|
transform: [
|
|
227838
228699
|
"trim"
|
|
227839
228700
|
],
|
|
227840
|
-
description: "
|
|
228701
|
+
description: "Assigned window name."
|
|
227841
228702
|
},
|
|
227842
228703
|
index: {
|
|
227843
228704
|
type: "integer",
|
|
@@ -227846,12 +228707,7 @@ var schemas_default = {
|
|
|
227846
228707
|
title: {
|
|
227847
228708
|
type: "string",
|
|
227848
228709
|
minLength: 1,
|
|
227849
|
-
description: "
|
|
227850
|
-
},
|
|
227851
|
-
url: {
|
|
227852
|
-
type: "string",
|
|
227853
|
-
minLength: 1,
|
|
227854
|
-
description: "Page URL to match. Substring, or /regex/."
|
|
228710
|
+
description: "Window title to match. Substring, or /regex/."
|
|
227855
228711
|
}
|
|
227856
228712
|
}
|
|
227857
228713
|
}
|
|
@@ -227923,13 +228779,12 @@ var schemas_default = {
|
|
|
227923
228779
|
},
|
|
227924
228780
|
target: {
|
|
227925
228781
|
type: "string",
|
|
227926
|
-
description: "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).",
|
|
228782
|
+
description: "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).",
|
|
227927
228783
|
enum: [
|
|
227928
228784
|
"display",
|
|
227929
228785
|
"window",
|
|
227930
228786
|
"viewport"
|
|
227931
|
-
]
|
|
227932
|
-
default: "display"
|
|
228787
|
+
]
|
|
227933
228788
|
},
|
|
227934
228789
|
fps: {
|
|
227935
228790
|
type: "integer",
|
|
@@ -227975,13 +228830,12 @@ var schemas_default = {
|
|
|
227975
228830
|
},
|
|
227976
228831
|
target: {
|
|
227977
228832
|
type: "string",
|
|
227978
|
-
description: "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).",
|
|
228833
|
+
description: "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).",
|
|
227979
228834
|
enum: [
|
|
227980
228835
|
"display",
|
|
227981
228836
|
"window",
|
|
227982
228837
|
"viewport"
|
|
227983
|
-
]
|
|
227984
|
-
default: "display"
|
|
228838
|
+
]
|
|
227985
228839
|
},
|
|
227986
228840
|
fps: {
|
|
227987
228841
|
type: "integer",
|
|
@@ -228014,6 +228868,22 @@ var schemas_default = {
|
|
|
228014
228868
|
target: "window",
|
|
228015
228869
|
fps: 60
|
|
228016
228870
|
}
|
|
228871
|
+
},
|
|
228872
|
+
{
|
|
228873
|
+
path: "notepad.mp4",
|
|
228874
|
+
surface: {
|
|
228875
|
+
app: "notepad"
|
|
228876
|
+
}
|
|
228877
|
+
},
|
|
228878
|
+
{
|
|
228879
|
+
path: "full-screen.mp4",
|
|
228880
|
+
surface: {
|
|
228881
|
+
app: "notepad"
|
|
228882
|
+
},
|
|
228883
|
+
engine: {
|
|
228884
|
+
name: "ffmpeg",
|
|
228885
|
+
target: "display"
|
|
228886
|
+
}
|
|
228017
228887
|
}
|
|
228018
228888
|
]
|
|
228019
228889
|
}
|
|
@@ -271317,7 +272187,7 @@ var schemas_default = {
|
|
|
271317
272187
|
record: {
|
|
271318
272188
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
271319
272189
|
title: "record",
|
|
271320
|
-
description: "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' ]",
|
|
272190
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
271321
272191
|
anyOf: [
|
|
271322
272192
|
{
|
|
271323
272193
|
title: "Record (simple)",
|
|
@@ -271332,7 +272202,7 @@ var schemas_default = {
|
|
|
271332
272202
|
type: "object",
|
|
271333
272203
|
properties: {
|
|
271334
272204
|
surface: {
|
|
271335
|
-
description:
|
|
272205
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
271336
272206
|
anyOf: [
|
|
271337
272207
|
{
|
|
271338
272208
|
title: "Surface (by browser engine)",
|
|
@@ -271482,6 +272352,72 @@ var schemas_default = {
|
|
|
271482
272352
|
]
|
|
271483
272353
|
}
|
|
271484
272354
|
}
|
|
272355
|
+
},
|
|
272356
|
+
{
|
|
272357
|
+
title: "App surface",
|
|
272358
|
+
type: "object",
|
|
272359
|
+
additionalProperties: false,
|
|
272360
|
+
required: [
|
|
272361
|
+
"app"
|
|
272362
|
+
],
|
|
272363
|
+
properties: {
|
|
272364
|
+
app: {
|
|
272365
|
+
type: "string",
|
|
272366
|
+
minLength: 1,
|
|
272367
|
+
pattern: "\\S",
|
|
272368
|
+
transform: [
|
|
272369
|
+
"trim"
|
|
272370
|
+
],
|
|
272371
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
272372
|
+
},
|
|
272373
|
+
window: {
|
|
272374
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
272375
|
+
title: "App window selector",
|
|
272376
|
+
anyOf: [
|
|
272377
|
+
{
|
|
272378
|
+
title: "By index",
|
|
272379
|
+
type: "integer",
|
|
272380
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
272381
|
+
},
|
|
272382
|
+
{
|
|
272383
|
+
title: "By name",
|
|
272384
|
+
type: "string",
|
|
272385
|
+
minLength: 1,
|
|
272386
|
+
pattern: "\\S",
|
|
272387
|
+
transform: [
|
|
272388
|
+
"trim"
|
|
272389
|
+
],
|
|
272390
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
272391
|
+
},
|
|
272392
|
+
{
|
|
272393
|
+
title: "By criteria",
|
|
272394
|
+
type: "object",
|
|
272395
|
+
additionalProperties: false,
|
|
272396
|
+
minProperties: 1,
|
|
272397
|
+
properties: {
|
|
272398
|
+
name: {
|
|
272399
|
+
type: "string",
|
|
272400
|
+
minLength: 1,
|
|
272401
|
+
pattern: "\\S",
|
|
272402
|
+
transform: [
|
|
272403
|
+
"trim"
|
|
272404
|
+
],
|
|
272405
|
+
description: "Assigned window name."
|
|
272406
|
+
},
|
|
272407
|
+
index: {
|
|
272408
|
+
type: "integer",
|
|
272409
|
+
description: "Index in creation order. Negative counts from the end."
|
|
272410
|
+
},
|
|
272411
|
+
title: {
|
|
272412
|
+
type: "string",
|
|
272413
|
+
minLength: 1,
|
|
272414
|
+
description: "Window title to match. Substring, or /regex/."
|
|
272415
|
+
}
|
|
272416
|
+
}
|
|
272417
|
+
}
|
|
272418
|
+
]
|
|
272419
|
+
}
|
|
272420
|
+
}
|
|
271485
272421
|
}
|
|
271486
272422
|
]
|
|
271487
272423
|
},
|
|
@@ -271547,13 +272483,12 @@ var schemas_default = {
|
|
|
271547
272483
|
},
|
|
271548
272484
|
target: {
|
|
271549
272485
|
type: "string",
|
|
271550
|
-
description: "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).",
|
|
272486
|
+
description: "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).",
|
|
271551
272487
|
enum: [
|
|
271552
272488
|
"display",
|
|
271553
272489
|
"window",
|
|
271554
272490
|
"viewport"
|
|
271555
|
-
]
|
|
271556
|
-
default: "display"
|
|
272491
|
+
]
|
|
271557
272492
|
},
|
|
271558
272493
|
fps: {
|
|
271559
272494
|
type: "integer",
|
|
@@ -271571,7 +272506,7 @@ var schemas_default = {
|
|
|
271571
272506
|
{
|
|
271572
272507
|
type: "boolean",
|
|
271573
272508
|
title: "Record (boolean)",
|
|
271574
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
272509
|
+
description: "If `true`, starts recording \u2014 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."
|
|
271575
272510
|
}
|
|
271576
272511
|
],
|
|
271577
272512
|
components: {
|
|
@@ -271589,7 +272524,7 @@ var schemas_default = {
|
|
|
271589
272524
|
type: "object",
|
|
271590
272525
|
properties: {
|
|
271591
272526
|
surface: {
|
|
271592
|
-
description:
|
|
272527
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
271593
272528
|
anyOf: [
|
|
271594
272529
|
{
|
|
271595
272530
|
title: "Surface (by browser engine)",
|
|
@@ -271739,6 +272674,72 @@ var schemas_default = {
|
|
|
271739
272674
|
]
|
|
271740
272675
|
}
|
|
271741
272676
|
}
|
|
272677
|
+
},
|
|
272678
|
+
{
|
|
272679
|
+
title: "App surface",
|
|
272680
|
+
type: "object",
|
|
272681
|
+
additionalProperties: false,
|
|
272682
|
+
required: [
|
|
272683
|
+
"app"
|
|
272684
|
+
],
|
|
272685
|
+
properties: {
|
|
272686
|
+
app: {
|
|
272687
|
+
type: "string",
|
|
272688
|
+
minLength: 1,
|
|
272689
|
+
pattern: "\\S",
|
|
272690
|
+
transform: [
|
|
272691
|
+
"trim"
|
|
272692
|
+
],
|
|
272693
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
272694
|
+
},
|
|
272695
|
+
window: {
|
|
272696
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
272697
|
+
title: "App window selector",
|
|
272698
|
+
anyOf: [
|
|
272699
|
+
{
|
|
272700
|
+
title: "By index",
|
|
272701
|
+
type: "integer",
|
|
272702
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
272703
|
+
},
|
|
272704
|
+
{
|
|
272705
|
+
title: "By name",
|
|
272706
|
+
type: "string",
|
|
272707
|
+
minLength: 1,
|
|
272708
|
+
pattern: "\\S",
|
|
272709
|
+
transform: [
|
|
272710
|
+
"trim"
|
|
272711
|
+
],
|
|
272712
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
272713
|
+
},
|
|
272714
|
+
{
|
|
272715
|
+
title: "By criteria",
|
|
272716
|
+
type: "object",
|
|
272717
|
+
additionalProperties: false,
|
|
272718
|
+
minProperties: 1,
|
|
272719
|
+
properties: {
|
|
272720
|
+
name: {
|
|
272721
|
+
type: "string",
|
|
272722
|
+
minLength: 1,
|
|
272723
|
+
pattern: "\\S",
|
|
272724
|
+
transform: [
|
|
272725
|
+
"trim"
|
|
272726
|
+
],
|
|
272727
|
+
description: "Assigned window name."
|
|
272728
|
+
},
|
|
272729
|
+
index: {
|
|
272730
|
+
type: "integer",
|
|
272731
|
+
description: "Index in creation order. Negative counts from the end."
|
|
272732
|
+
},
|
|
272733
|
+
title: {
|
|
272734
|
+
type: "string",
|
|
272735
|
+
minLength: 1,
|
|
272736
|
+
description: "Window title to match. Substring, or /regex/."
|
|
272737
|
+
}
|
|
272738
|
+
}
|
|
272739
|
+
}
|
|
272740
|
+
]
|
|
272741
|
+
}
|
|
272742
|
+
}
|
|
271742
272743
|
}
|
|
271743
272744
|
]
|
|
271744
272745
|
},
|
|
@@ -271804,13 +272805,12 @@ var schemas_default = {
|
|
|
271804
272805
|
},
|
|
271805
272806
|
target: {
|
|
271806
272807
|
type: "string",
|
|
271807
|
-
description: "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).",
|
|
272808
|
+
description: "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).",
|
|
271808
272809
|
enum: [
|
|
271809
272810
|
"display",
|
|
271810
272811
|
"window",
|
|
271811
272812
|
"viewport"
|
|
271812
|
-
]
|
|
271813
|
-
default: "display"
|
|
272813
|
+
]
|
|
271814
272814
|
},
|
|
271815
272815
|
fps: {
|
|
271816
272816
|
type: "integer",
|
|
@@ -271856,13 +272856,12 @@ var schemas_default = {
|
|
|
271856
272856
|
},
|
|
271857
272857
|
target: {
|
|
271858
272858
|
type: "string",
|
|
271859
|
-
description: "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).",
|
|
272859
|
+
description: "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).",
|
|
271860
272860
|
enum: [
|
|
271861
272861
|
"display",
|
|
271862
272862
|
"window",
|
|
271863
272863
|
"viewport"
|
|
271864
|
-
]
|
|
271865
|
-
default: "display"
|
|
272864
|
+
]
|
|
271866
272865
|
},
|
|
271867
272866
|
fps: {
|
|
271868
272867
|
type: "integer",
|
|
@@ -271895,6 +272894,22 @@ var schemas_default = {
|
|
|
271895
272894
|
target: "window",
|
|
271896
272895
|
fps: 60
|
|
271897
272896
|
}
|
|
272897
|
+
},
|
|
272898
|
+
{
|
|
272899
|
+
path: "notepad.mp4",
|
|
272900
|
+
surface: {
|
|
272901
|
+
app: "notepad"
|
|
272902
|
+
}
|
|
272903
|
+
},
|
|
272904
|
+
{
|
|
272905
|
+
path: "full-screen.mp4",
|
|
272906
|
+
surface: {
|
|
272907
|
+
app: "notepad"
|
|
272908
|
+
},
|
|
272909
|
+
engine: {
|
|
272910
|
+
name: "ffmpeg",
|
|
272911
|
+
target: "display"
|
|
272912
|
+
}
|
|
271898
272913
|
}
|
|
271899
272914
|
]
|
|
271900
272915
|
}
|
|
@@ -318159,7 +319174,7 @@ var schemas_default = {
|
|
|
318159
319174
|
record: {
|
|
318160
319175
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
318161
319176
|
title: "record",
|
|
318162
|
-
description: "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' ]",
|
|
319177
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
318163
319178
|
anyOf: [
|
|
318164
319179
|
{
|
|
318165
319180
|
title: "Record (simple)",
|
|
@@ -318174,7 +319189,7 @@ var schemas_default = {
|
|
|
318174
319189
|
type: "object",
|
|
318175
319190
|
properties: {
|
|
318176
319191
|
surface: {
|
|
318177
|
-
description:
|
|
319192
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
318178
319193
|
anyOf: [
|
|
318179
319194
|
{
|
|
318180
319195
|
title: "Surface (by browser engine)",
|
|
@@ -318271,14 +319286,85 @@ var schemas_default = {
|
|
|
318271
319286
|
}
|
|
318272
319287
|
]
|
|
318273
319288
|
},
|
|
318274
|
-
tab: {
|
|
318275
|
-
description: "Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order \u2014 including tabs the page opened itself.",
|
|
318276
|
-
title: "Window/tab selector",
|
|
319289
|
+
tab: {
|
|
319290
|
+
description: "Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order \u2014 including tabs the page opened itself.",
|
|
319291
|
+
title: "Window/tab selector",
|
|
319292
|
+
anyOf: [
|
|
319293
|
+
{
|
|
319294
|
+
title: "By index",
|
|
319295
|
+
type: "integer",
|
|
319296
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest."
|
|
319297
|
+
},
|
|
319298
|
+
{
|
|
319299
|
+
title: "By name",
|
|
319300
|
+
type: "string",
|
|
319301
|
+
minLength: 1,
|
|
319302
|
+
pattern: "\\S",
|
|
319303
|
+
transform: [
|
|
319304
|
+
"trim"
|
|
319305
|
+
],
|
|
319306
|
+
description: "Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
319307
|
+
},
|
|
319308
|
+
{
|
|
319309
|
+
title: "By criteria",
|
|
319310
|
+
type: "object",
|
|
319311
|
+
additionalProperties: false,
|
|
319312
|
+
minProperties: 1,
|
|
319313
|
+
properties: {
|
|
319314
|
+
name: {
|
|
319315
|
+
type: "string",
|
|
319316
|
+
minLength: 1,
|
|
319317
|
+
pattern: "\\S",
|
|
319318
|
+
transform: [
|
|
319319
|
+
"trim"
|
|
319320
|
+
],
|
|
319321
|
+
description: "Name assigned when the window/tab was opened."
|
|
319322
|
+
},
|
|
319323
|
+
index: {
|
|
319324
|
+
type: "integer",
|
|
319325
|
+
description: "Index in creation order. Negative counts from the end."
|
|
319326
|
+
},
|
|
319327
|
+
title: {
|
|
319328
|
+
type: "string",
|
|
319329
|
+
minLength: 1,
|
|
319330
|
+
description: "Page title to match. Substring, or /regex/."
|
|
319331
|
+
},
|
|
319332
|
+
url: {
|
|
319333
|
+
type: "string",
|
|
319334
|
+
minLength: 1,
|
|
319335
|
+
description: "Page URL to match. Substring, or /regex/."
|
|
319336
|
+
}
|
|
319337
|
+
}
|
|
319338
|
+
}
|
|
319339
|
+
]
|
|
319340
|
+
}
|
|
319341
|
+
}
|
|
319342
|
+
},
|
|
319343
|
+
{
|
|
319344
|
+
title: "App surface",
|
|
319345
|
+
type: "object",
|
|
319346
|
+
additionalProperties: false,
|
|
319347
|
+
required: [
|
|
319348
|
+
"app"
|
|
319349
|
+
],
|
|
319350
|
+
properties: {
|
|
319351
|
+
app: {
|
|
319352
|
+
type: "string",
|
|
319353
|
+
minLength: 1,
|
|
319354
|
+
pattern: "\\S",
|
|
319355
|
+
transform: [
|
|
319356
|
+
"trim"
|
|
319357
|
+
],
|
|
319358
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
319359
|
+
},
|
|
319360
|
+
window: {
|
|
319361
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
319362
|
+
title: "App window selector",
|
|
318277
319363
|
anyOf: [
|
|
318278
319364
|
{
|
|
318279
319365
|
title: "By index",
|
|
318280
319366
|
type: "integer",
|
|
318281
|
-
description: "Index in creation order. Negative counts from the end; `-1` is the newest."
|
|
319367
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
318282
319368
|
},
|
|
318283
319369
|
{
|
|
318284
319370
|
title: "By name",
|
|
@@ -318288,7 +319374,7 @@ var schemas_default = {
|
|
|
318288
319374
|
transform: [
|
|
318289
319375
|
"trim"
|
|
318290
319376
|
],
|
|
318291
|
-
description: "
|
|
319377
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
318292
319378
|
},
|
|
318293
319379
|
{
|
|
318294
319380
|
title: "By criteria",
|
|
@@ -318303,7 +319389,7 @@ var schemas_default = {
|
|
|
318303
319389
|
transform: [
|
|
318304
319390
|
"trim"
|
|
318305
319391
|
],
|
|
318306
|
-
description: "
|
|
319392
|
+
description: "Assigned window name."
|
|
318307
319393
|
},
|
|
318308
319394
|
index: {
|
|
318309
319395
|
type: "integer",
|
|
@@ -318312,12 +319398,7 @@ var schemas_default = {
|
|
|
318312
319398
|
title: {
|
|
318313
319399
|
type: "string",
|
|
318314
319400
|
minLength: 1,
|
|
318315
|
-
description: "
|
|
318316
|
-
},
|
|
318317
|
-
url: {
|
|
318318
|
-
type: "string",
|
|
318319
|
-
minLength: 1,
|
|
318320
|
-
description: "Page URL to match. Substring, or /regex/."
|
|
319401
|
+
description: "Window title to match. Substring, or /regex/."
|
|
318321
319402
|
}
|
|
318322
319403
|
}
|
|
318323
319404
|
}
|
|
@@ -318389,13 +319470,12 @@ var schemas_default = {
|
|
|
318389
319470
|
},
|
|
318390
319471
|
target: {
|
|
318391
319472
|
type: "string",
|
|
318392
|
-
description: "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).",
|
|
319473
|
+
description: "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).",
|
|
318393
319474
|
enum: [
|
|
318394
319475
|
"display",
|
|
318395
319476
|
"window",
|
|
318396
319477
|
"viewport"
|
|
318397
|
-
]
|
|
318398
|
-
default: "display"
|
|
319478
|
+
]
|
|
318399
319479
|
},
|
|
318400
319480
|
fps: {
|
|
318401
319481
|
type: "integer",
|
|
@@ -318413,7 +319493,7 @@ var schemas_default = {
|
|
|
318413
319493
|
{
|
|
318414
319494
|
type: "boolean",
|
|
318415
319495
|
title: "Record (boolean)",
|
|
318416
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
319496
|
+
description: "If `true`, starts recording \u2014 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."
|
|
318417
319497
|
}
|
|
318418
319498
|
],
|
|
318419
319499
|
components: {
|
|
@@ -318431,7 +319511,7 @@ var schemas_default = {
|
|
|
318431
319511
|
type: "object",
|
|
318432
319512
|
properties: {
|
|
318433
319513
|
surface: {
|
|
318434
|
-
description:
|
|
319514
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
318435
319515
|
anyOf: [
|
|
318436
319516
|
{
|
|
318437
319517
|
title: "Surface (by browser engine)",
|
|
@@ -318581,6 +319661,72 @@ var schemas_default = {
|
|
|
318581
319661
|
]
|
|
318582
319662
|
}
|
|
318583
319663
|
}
|
|
319664
|
+
},
|
|
319665
|
+
{
|
|
319666
|
+
title: "App surface",
|
|
319667
|
+
type: "object",
|
|
319668
|
+
additionalProperties: false,
|
|
319669
|
+
required: [
|
|
319670
|
+
"app"
|
|
319671
|
+
],
|
|
319672
|
+
properties: {
|
|
319673
|
+
app: {
|
|
319674
|
+
type: "string",
|
|
319675
|
+
minLength: 1,
|
|
319676
|
+
pattern: "\\S",
|
|
319677
|
+
transform: [
|
|
319678
|
+
"trim"
|
|
319679
|
+
],
|
|
319680
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
319681
|
+
},
|
|
319682
|
+
window: {
|
|
319683
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
319684
|
+
title: "App window selector",
|
|
319685
|
+
anyOf: [
|
|
319686
|
+
{
|
|
319687
|
+
title: "By index",
|
|
319688
|
+
type: "integer",
|
|
319689
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
319690
|
+
},
|
|
319691
|
+
{
|
|
319692
|
+
title: "By name",
|
|
319693
|
+
type: "string",
|
|
319694
|
+
minLength: 1,
|
|
319695
|
+
pattern: "\\S",
|
|
319696
|
+
transform: [
|
|
319697
|
+
"trim"
|
|
319698
|
+
],
|
|
319699
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
319700
|
+
},
|
|
319701
|
+
{
|
|
319702
|
+
title: "By criteria",
|
|
319703
|
+
type: "object",
|
|
319704
|
+
additionalProperties: false,
|
|
319705
|
+
minProperties: 1,
|
|
319706
|
+
properties: {
|
|
319707
|
+
name: {
|
|
319708
|
+
type: "string",
|
|
319709
|
+
minLength: 1,
|
|
319710
|
+
pattern: "\\S",
|
|
319711
|
+
transform: [
|
|
319712
|
+
"trim"
|
|
319713
|
+
],
|
|
319714
|
+
description: "Assigned window name."
|
|
319715
|
+
},
|
|
319716
|
+
index: {
|
|
319717
|
+
type: "integer",
|
|
319718
|
+
description: "Index in creation order. Negative counts from the end."
|
|
319719
|
+
},
|
|
319720
|
+
title: {
|
|
319721
|
+
type: "string",
|
|
319722
|
+
minLength: 1,
|
|
319723
|
+
description: "Window title to match. Substring, or /regex/."
|
|
319724
|
+
}
|
|
319725
|
+
}
|
|
319726
|
+
}
|
|
319727
|
+
]
|
|
319728
|
+
}
|
|
319729
|
+
}
|
|
318584
319730
|
}
|
|
318585
319731
|
]
|
|
318586
319732
|
},
|
|
@@ -318646,13 +319792,12 @@ var schemas_default = {
|
|
|
318646
319792
|
},
|
|
318647
319793
|
target: {
|
|
318648
319794
|
type: "string",
|
|
318649
|
-
description: "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).",
|
|
319795
|
+
description: "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).",
|
|
318650
319796
|
enum: [
|
|
318651
319797
|
"display",
|
|
318652
319798
|
"window",
|
|
318653
319799
|
"viewport"
|
|
318654
|
-
]
|
|
318655
|
-
default: "display"
|
|
319800
|
+
]
|
|
318656
319801
|
},
|
|
318657
319802
|
fps: {
|
|
318658
319803
|
type: "integer",
|
|
@@ -318698,13 +319843,12 @@ var schemas_default = {
|
|
|
318698
319843
|
},
|
|
318699
319844
|
target: {
|
|
318700
319845
|
type: "string",
|
|
318701
|
-
description: "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).",
|
|
319846
|
+
description: "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).",
|
|
318702
319847
|
enum: [
|
|
318703
319848
|
"display",
|
|
318704
319849
|
"window",
|
|
318705
319850
|
"viewport"
|
|
318706
|
-
]
|
|
318707
|
-
default: "display"
|
|
319851
|
+
]
|
|
318708
319852
|
},
|
|
318709
319853
|
fps: {
|
|
318710
319854
|
type: "integer",
|
|
@@ -318737,6 +319881,22 @@ var schemas_default = {
|
|
|
318737
319881
|
target: "window",
|
|
318738
319882
|
fps: 60
|
|
318739
319883
|
}
|
|
319884
|
+
},
|
|
319885
|
+
{
|
|
319886
|
+
path: "notepad.mp4",
|
|
319887
|
+
surface: {
|
|
319888
|
+
app: "notepad"
|
|
319889
|
+
}
|
|
319890
|
+
},
|
|
319891
|
+
{
|
|
319892
|
+
path: "full-screen.mp4",
|
|
319893
|
+
surface: {
|
|
319894
|
+
app: "notepad"
|
|
319895
|
+
},
|
|
319896
|
+
engine: {
|
|
319897
|
+
name: "ffmpeg",
|
|
319898
|
+
target: "display"
|
|
319899
|
+
}
|
|
318740
319900
|
}
|
|
318741
319901
|
]
|
|
318742
319902
|
}
|
|
@@ -362040,7 +363200,7 @@ var schemas_default = {
|
|
|
362040
363200
|
record: {
|
|
362041
363201
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
362042
363202
|
title: "record",
|
|
362043
|
-
description: "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' ]",
|
|
363203
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
362044
363204
|
anyOf: [
|
|
362045
363205
|
{
|
|
362046
363206
|
title: "Record (simple)",
|
|
@@ -362055,7 +363215,7 @@ var schemas_default = {
|
|
|
362055
363215
|
type: "object",
|
|
362056
363216
|
properties: {
|
|
362057
363217
|
surface: {
|
|
362058
|
-
description:
|
|
363218
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
362059
363219
|
anyOf: [
|
|
362060
363220
|
{
|
|
362061
363221
|
title: "Surface (by browser engine)",
|
|
@@ -362205,6 +363365,72 @@ var schemas_default = {
|
|
|
362205
363365
|
]
|
|
362206
363366
|
}
|
|
362207
363367
|
}
|
|
363368
|
+
},
|
|
363369
|
+
{
|
|
363370
|
+
title: "App surface",
|
|
363371
|
+
type: "object",
|
|
363372
|
+
additionalProperties: false,
|
|
363373
|
+
required: [
|
|
363374
|
+
"app"
|
|
363375
|
+
],
|
|
363376
|
+
properties: {
|
|
363377
|
+
app: {
|
|
363378
|
+
type: "string",
|
|
363379
|
+
minLength: 1,
|
|
363380
|
+
pattern: "\\S",
|
|
363381
|
+
transform: [
|
|
363382
|
+
"trim"
|
|
363383
|
+
],
|
|
363384
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
363385
|
+
},
|
|
363386
|
+
window: {
|
|
363387
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
363388
|
+
title: "App window selector",
|
|
363389
|
+
anyOf: [
|
|
363390
|
+
{
|
|
363391
|
+
title: "By index",
|
|
363392
|
+
type: "integer",
|
|
363393
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
363394
|
+
},
|
|
363395
|
+
{
|
|
363396
|
+
title: "By name",
|
|
363397
|
+
type: "string",
|
|
363398
|
+
minLength: 1,
|
|
363399
|
+
pattern: "\\S",
|
|
363400
|
+
transform: [
|
|
363401
|
+
"trim"
|
|
363402
|
+
],
|
|
363403
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
363404
|
+
},
|
|
363405
|
+
{
|
|
363406
|
+
title: "By criteria",
|
|
363407
|
+
type: "object",
|
|
363408
|
+
additionalProperties: false,
|
|
363409
|
+
minProperties: 1,
|
|
363410
|
+
properties: {
|
|
363411
|
+
name: {
|
|
363412
|
+
type: "string",
|
|
363413
|
+
minLength: 1,
|
|
363414
|
+
pattern: "\\S",
|
|
363415
|
+
transform: [
|
|
363416
|
+
"trim"
|
|
363417
|
+
],
|
|
363418
|
+
description: "Assigned window name."
|
|
363419
|
+
},
|
|
363420
|
+
index: {
|
|
363421
|
+
type: "integer",
|
|
363422
|
+
description: "Index in creation order. Negative counts from the end."
|
|
363423
|
+
},
|
|
363424
|
+
title: {
|
|
363425
|
+
type: "string",
|
|
363426
|
+
minLength: 1,
|
|
363427
|
+
description: "Window title to match. Substring, or /regex/."
|
|
363428
|
+
}
|
|
363429
|
+
}
|
|
363430
|
+
}
|
|
363431
|
+
]
|
|
363432
|
+
}
|
|
363433
|
+
}
|
|
362208
363434
|
}
|
|
362209
363435
|
]
|
|
362210
363436
|
},
|
|
@@ -362270,13 +363496,12 @@ var schemas_default = {
|
|
|
362270
363496
|
},
|
|
362271
363497
|
target: {
|
|
362272
363498
|
type: "string",
|
|
362273
|
-
description: "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).",
|
|
363499
|
+
description: "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).",
|
|
362274
363500
|
enum: [
|
|
362275
363501
|
"display",
|
|
362276
363502
|
"window",
|
|
362277
363503
|
"viewport"
|
|
362278
|
-
]
|
|
362279
|
-
default: "display"
|
|
363504
|
+
]
|
|
362280
363505
|
},
|
|
362281
363506
|
fps: {
|
|
362282
363507
|
type: "integer",
|
|
@@ -362294,7 +363519,7 @@ var schemas_default = {
|
|
|
362294
363519
|
{
|
|
362295
363520
|
type: "boolean",
|
|
362296
363521
|
title: "Record (boolean)",
|
|
362297
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
363522
|
+
description: "If `true`, starts recording \u2014 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."
|
|
362298
363523
|
}
|
|
362299
363524
|
],
|
|
362300
363525
|
components: {
|
|
@@ -362312,7 +363537,7 @@ var schemas_default = {
|
|
|
362312
363537
|
type: "object",
|
|
362313
363538
|
properties: {
|
|
362314
363539
|
surface: {
|
|
362315
|
-
description:
|
|
363540
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
362316
363541
|
anyOf: [
|
|
362317
363542
|
{
|
|
362318
363543
|
title: "Surface (by browser engine)",
|
|
@@ -362462,6 +363687,72 @@ var schemas_default = {
|
|
|
362462
363687
|
]
|
|
362463
363688
|
}
|
|
362464
363689
|
}
|
|
363690
|
+
},
|
|
363691
|
+
{
|
|
363692
|
+
title: "App surface",
|
|
363693
|
+
type: "object",
|
|
363694
|
+
additionalProperties: false,
|
|
363695
|
+
required: [
|
|
363696
|
+
"app"
|
|
363697
|
+
],
|
|
363698
|
+
properties: {
|
|
363699
|
+
app: {
|
|
363700
|
+
type: "string",
|
|
363701
|
+
minLength: 1,
|
|
363702
|
+
pattern: "\\S",
|
|
363703
|
+
transform: [
|
|
363704
|
+
"trim"
|
|
363705
|
+
],
|
|
363706
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
363707
|
+
},
|
|
363708
|
+
window: {
|
|
363709
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
363710
|
+
title: "App window selector",
|
|
363711
|
+
anyOf: [
|
|
363712
|
+
{
|
|
363713
|
+
title: "By index",
|
|
363714
|
+
type: "integer",
|
|
363715
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
363716
|
+
},
|
|
363717
|
+
{
|
|
363718
|
+
title: "By name",
|
|
363719
|
+
type: "string",
|
|
363720
|
+
minLength: 1,
|
|
363721
|
+
pattern: "\\S",
|
|
363722
|
+
transform: [
|
|
363723
|
+
"trim"
|
|
363724
|
+
],
|
|
363725
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
363726
|
+
},
|
|
363727
|
+
{
|
|
363728
|
+
title: "By criteria",
|
|
363729
|
+
type: "object",
|
|
363730
|
+
additionalProperties: false,
|
|
363731
|
+
minProperties: 1,
|
|
363732
|
+
properties: {
|
|
363733
|
+
name: {
|
|
363734
|
+
type: "string",
|
|
363735
|
+
minLength: 1,
|
|
363736
|
+
pattern: "\\S",
|
|
363737
|
+
transform: [
|
|
363738
|
+
"trim"
|
|
363739
|
+
],
|
|
363740
|
+
description: "Assigned window name."
|
|
363741
|
+
},
|
|
363742
|
+
index: {
|
|
363743
|
+
type: "integer",
|
|
363744
|
+
description: "Index in creation order. Negative counts from the end."
|
|
363745
|
+
},
|
|
363746
|
+
title: {
|
|
363747
|
+
type: "string",
|
|
363748
|
+
minLength: 1,
|
|
363749
|
+
description: "Window title to match. Substring, or /regex/."
|
|
363750
|
+
}
|
|
363751
|
+
}
|
|
363752
|
+
}
|
|
363753
|
+
]
|
|
363754
|
+
}
|
|
363755
|
+
}
|
|
362465
363756
|
}
|
|
362466
363757
|
]
|
|
362467
363758
|
},
|
|
@@ -362527,13 +363818,12 @@ var schemas_default = {
|
|
|
362527
363818
|
},
|
|
362528
363819
|
target: {
|
|
362529
363820
|
type: "string",
|
|
362530
|
-
description: "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).",
|
|
363821
|
+
description: "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).",
|
|
362531
363822
|
enum: [
|
|
362532
363823
|
"display",
|
|
362533
363824
|
"window",
|
|
362534
363825
|
"viewport"
|
|
362535
|
-
]
|
|
362536
|
-
default: "display"
|
|
363826
|
+
]
|
|
362537
363827
|
},
|
|
362538
363828
|
fps: {
|
|
362539
363829
|
type: "integer",
|
|
@@ -362579,13 +363869,12 @@ var schemas_default = {
|
|
|
362579
363869
|
},
|
|
362580
363870
|
target: {
|
|
362581
363871
|
type: "string",
|
|
362582
|
-
description: "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).",
|
|
363872
|
+
description: "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).",
|
|
362583
363873
|
enum: [
|
|
362584
363874
|
"display",
|
|
362585
363875
|
"window",
|
|
362586
363876
|
"viewport"
|
|
362587
|
-
]
|
|
362588
|
-
default: "display"
|
|
363877
|
+
]
|
|
362589
363878
|
},
|
|
362590
363879
|
fps: {
|
|
362591
363880
|
type: "integer",
|
|
@@ -362618,6 +363907,22 @@ var schemas_default = {
|
|
|
362618
363907
|
target: "window",
|
|
362619
363908
|
fps: 60
|
|
362620
363909
|
}
|
|
363910
|
+
},
|
|
363911
|
+
{
|
|
363912
|
+
path: "notepad.mp4",
|
|
363913
|
+
surface: {
|
|
363914
|
+
app: "notepad"
|
|
363915
|
+
}
|
|
363916
|
+
},
|
|
363917
|
+
{
|
|
363918
|
+
path: "full-screen.mp4",
|
|
363919
|
+
surface: {
|
|
363920
|
+
app: "notepad"
|
|
363921
|
+
},
|
|
363922
|
+
engine: {
|
|
363923
|
+
name: "ffmpeg",
|
|
363924
|
+
target: "display"
|
|
363925
|
+
}
|
|
362621
363926
|
}
|
|
362622
363927
|
]
|
|
362623
363928
|
}
|
|
@@ -412095,7 +413400,7 @@ var schemas_default = {
|
|
|
412095
413400
|
record: {
|
|
412096
413401
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
412097
413402
|
title: "record",
|
|
412098
|
-
description: "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' ]",
|
|
413403
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
412099
413404
|
anyOf: [
|
|
412100
413405
|
{
|
|
412101
413406
|
title: "Record (simple)",
|
|
@@ -412110,7 +413415,7 @@ var schemas_default = {
|
|
|
412110
413415
|
type: "object",
|
|
412111
413416
|
properties: {
|
|
412112
413417
|
surface: {
|
|
412113
|
-
description:
|
|
413418
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
412114
413419
|
anyOf: [
|
|
412115
413420
|
{
|
|
412116
413421
|
title: "Surface (by browser engine)",
|
|
@@ -412260,6 +413565,72 @@ var schemas_default = {
|
|
|
412260
413565
|
]
|
|
412261
413566
|
}
|
|
412262
413567
|
}
|
|
413568
|
+
},
|
|
413569
|
+
{
|
|
413570
|
+
title: "App surface",
|
|
413571
|
+
type: "object",
|
|
413572
|
+
additionalProperties: false,
|
|
413573
|
+
required: [
|
|
413574
|
+
"app"
|
|
413575
|
+
],
|
|
413576
|
+
properties: {
|
|
413577
|
+
app: {
|
|
413578
|
+
type: "string",
|
|
413579
|
+
minLength: 1,
|
|
413580
|
+
pattern: "\\S",
|
|
413581
|
+
transform: [
|
|
413582
|
+
"trim"
|
|
413583
|
+
],
|
|
413584
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
413585
|
+
},
|
|
413586
|
+
window: {
|
|
413587
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
413588
|
+
title: "App window selector",
|
|
413589
|
+
anyOf: [
|
|
413590
|
+
{
|
|
413591
|
+
title: "By index",
|
|
413592
|
+
type: "integer",
|
|
413593
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
413594
|
+
},
|
|
413595
|
+
{
|
|
413596
|
+
title: "By name",
|
|
413597
|
+
type: "string",
|
|
413598
|
+
minLength: 1,
|
|
413599
|
+
pattern: "\\S",
|
|
413600
|
+
transform: [
|
|
413601
|
+
"trim"
|
|
413602
|
+
],
|
|
413603
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
413604
|
+
},
|
|
413605
|
+
{
|
|
413606
|
+
title: "By criteria",
|
|
413607
|
+
type: "object",
|
|
413608
|
+
additionalProperties: false,
|
|
413609
|
+
minProperties: 1,
|
|
413610
|
+
properties: {
|
|
413611
|
+
name: {
|
|
413612
|
+
type: "string",
|
|
413613
|
+
minLength: 1,
|
|
413614
|
+
pattern: "\\S",
|
|
413615
|
+
transform: [
|
|
413616
|
+
"trim"
|
|
413617
|
+
],
|
|
413618
|
+
description: "Assigned window name."
|
|
413619
|
+
},
|
|
413620
|
+
index: {
|
|
413621
|
+
type: "integer",
|
|
413622
|
+
description: "Index in creation order. Negative counts from the end."
|
|
413623
|
+
},
|
|
413624
|
+
title: {
|
|
413625
|
+
type: "string",
|
|
413626
|
+
minLength: 1,
|
|
413627
|
+
description: "Window title to match. Substring, or /regex/."
|
|
413628
|
+
}
|
|
413629
|
+
}
|
|
413630
|
+
}
|
|
413631
|
+
]
|
|
413632
|
+
}
|
|
413633
|
+
}
|
|
412263
413634
|
}
|
|
412264
413635
|
]
|
|
412265
413636
|
},
|
|
@@ -412325,13 +413696,12 @@ var schemas_default = {
|
|
|
412325
413696
|
},
|
|
412326
413697
|
target: {
|
|
412327
413698
|
type: "string",
|
|
412328
|
-
description: "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).",
|
|
413699
|
+
description: "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).",
|
|
412329
413700
|
enum: [
|
|
412330
413701
|
"display",
|
|
412331
413702
|
"window",
|
|
412332
413703
|
"viewport"
|
|
412333
|
-
]
|
|
412334
|
-
default: "display"
|
|
413704
|
+
]
|
|
412335
413705
|
},
|
|
412336
413706
|
fps: {
|
|
412337
413707
|
type: "integer",
|
|
@@ -412349,7 +413719,7 @@ var schemas_default = {
|
|
|
412349
413719
|
{
|
|
412350
413720
|
type: "boolean",
|
|
412351
413721
|
title: "Record (boolean)",
|
|
412352
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
413722
|
+
description: "If `true`, starts recording \u2014 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."
|
|
412353
413723
|
}
|
|
412354
413724
|
],
|
|
412355
413725
|
components: {
|
|
@@ -412367,7 +413737,7 @@ var schemas_default = {
|
|
|
412367
413737
|
type: "object",
|
|
412368
413738
|
properties: {
|
|
412369
413739
|
surface: {
|
|
412370
|
-
description:
|
|
413740
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
412371
413741
|
anyOf: [
|
|
412372
413742
|
{
|
|
412373
413743
|
title: "Surface (by browser engine)",
|
|
@@ -412517,6 +413887,72 @@ var schemas_default = {
|
|
|
412517
413887
|
]
|
|
412518
413888
|
}
|
|
412519
413889
|
}
|
|
413890
|
+
},
|
|
413891
|
+
{
|
|
413892
|
+
title: "App surface",
|
|
413893
|
+
type: "object",
|
|
413894
|
+
additionalProperties: false,
|
|
413895
|
+
required: [
|
|
413896
|
+
"app"
|
|
413897
|
+
],
|
|
413898
|
+
properties: {
|
|
413899
|
+
app: {
|
|
413900
|
+
type: "string",
|
|
413901
|
+
minLength: 1,
|
|
413902
|
+
pattern: "\\S",
|
|
413903
|
+
transform: [
|
|
413904
|
+
"trim"
|
|
413905
|
+
],
|
|
413906
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
413907
|
+
},
|
|
413908
|
+
window: {
|
|
413909
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
413910
|
+
title: "App window selector",
|
|
413911
|
+
anyOf: [
|
|
413912
|
+
{
|
|
413913
|
+
title: "By index",
|
|
413914
|
+
type: "integer",
|
|
413915
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
413916
|
+
},
|
|
413917
|
+
{
|
|
413918
|
+
title: "By name",
|
|
413919
|
+
type: "string",
|
|
413920
|
+
minLength: 1,
|
|
413921
|
+
pattern: "\\S",
|
|
413922
|
+
transform: [
|
|
413923
|
+
"trim"
|
|
413924
|
+
],
|
|
413925
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
413926
|
+
},
|
|
413927
|
+
{
|
|
413928
|
+
title: "By criteria",
|
|
413929
|
+
type: "object",
|
|
413930
|
+
additionalProperties: false,
|
|
413931
|
+
minProperties: 1,
|
|
413932
|
+
properties: {
|
|
413933
|
+
name: {
|
|
413934
|
+
type: "string",
|
|
413935
|
+
minLength: 1,
|
|
413936
|
+
pattern: "\\S",
|
|
413937
|
+
transform: [
|
|
413938
|
+
"trim"
|
|
413939
|
+
],
|
|
413940
|
+
description: "Assigned window name."
|
|
413941
|
+
},
|
|
413942
|
+
index: {
|
|
413943
|
+
type: "integer",
|
|
413944
|
+
description: "Index in creation order. Negative counts from the end."
|
|
413945
|
+
},
|
|
413946
|
+
title: {
|
|
413947
|
+
type: "string",
|
|
413948
|
+
minLength: 1,
|
|
413949
|
+
description: "Window title to match. Substring, or /regex/."
|
|
413950
|
+
}
|
|
413951
|
+
}
|
|
413952
|
+
}
|
|
413953
|
+
]
|
|
413954
|
+
}
|
|
413955
|
+
}
|
|
412520
413956
|
}
|
|
412521
413957
|
]
|
|
412522
413958
|
},
|
|
@@ -412582,13 +414018,12 @@ var schemas_default = {
|
|
|
412582
414018
|
},
|
|
412583
414019
|
target: {
|
|
412584
414020
|
type: "string",
|
|
412585
|
-
description: "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).",
|
|
414021
|
+
description: "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).",
|
|
412586
414022
|
enum: [
|
|
412587
414023
|
"display",
|
|
412588
414024
|
"window",
|
|
412589
414025
|
"viewport"
|
|
412590
|
-
]
|
|
412591
|
-
default: "display"
|
|
414026
|
+
]
|
|
412592
414027
|
},
|
|
412593
414028
|
fps: {
|
|
412594
414029
|
type: "integer",
|
|
@@ -412634,13 +414069,12 @@ var schemas_default = {
|
|
|
412634
414069
|
},
|
|
412635
414070
|
target: {
|
|
412636
414071
|
type: "string",
|
|
412637
|
-
description: "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).",
|
|
414072
|
+
description: "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).",
|
|
412638
414073
|
enum: [
|
|
412639
414074
|
"display",
|
|
412640
414075
|
"window",
|
|
412641
414076
|
"viewport"
|
|
412642
|
-
]
|
|
412643
|
-
default: "display"
|
|
414077
|
+
]
|
|
412644
414078
|
},
|
|
412645
414079
|
fps: {
|
|
412646
414080
|
type: "integer",
|
|
@@ -412673,6 +414107,22 @@ var schemas_default = {
|
|
|
412673
414107
|
target: "window",
|
|
412674
414108
|
fps: 60
|
|
412675
414109
|
}
|
|
414110
|
+
},
|
|
414111
|
+
{
|
|
414112
|
+
path: "notepad.mp4",
|
|
414113
|
+
surface: {
|
|
414114
|
+
app: "notepad"
|
|
414115
|
+
}
|
|
414116
|
+
},
|
|
414117
|
+
{
|
|
414118
|
+
path: "full-screen.mp4",
|
|
414119
|
+
surface: {
|
|
414120
|
+
app: "notepad"
|
|
414121
|
+
},
|
|
414122
|
+
engine: {
|
|
414123
|
+
name: "ffmpeg",
|
|
414124
|
+
target: "display"
|
|
414125
|
+
}
|
|
412676
414126
|
}
|
|
412677
414127
|
]
|
|
412678
414128
|
}
|
|
@@ -455976,7 +457426,7 @@ var schemas_default = {
|
|
|
455976
457426
|
record: {
|
|
455977
457427
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
455978
457428
|
title: "record",
|
|
455979
|
-
description: "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' ]",
|
|
457429
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
455980
457430
|
anyOf: [
|
|
455981
457431
|
{
|
|
455982
457432
|
title: "Record (simple)",
|
|
@@ -455991,7 +457441,7 @@ var schemas_default = {
|
|
|
455991
457441
|
type: "object",
|
|
455992
457442
|
properties: {
|
|
455993
457443
|
surface: {
|
|
455994
|
-
description:
|
|
457444
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
455995
457445
|
anyOf: [
|
|
455996
457446
|
{
|
|
455997
457447
|
title: "Surface (by browser engine)",
|
|
@@ -456141,6 +457591,72 @@ var schemas_default = {
|
|
|
456141
457591
|
]
|
|
456142
457592
|
}
|
|
456143
457593
|
}
|
|
457594
|
+
},
|
|
457595
|
+
{
|
|
457596
|
+
title: "App surface",
|
|
457597
|
+
type: "object",
|
|
457598
|
+
additionalProperties: false,
|
|
457599
|
+
required: [
|
|
457600
|
+
"app"
|
|
457601
|
+
],
|
|
457602
|
+
properties: {
|
|
457603
|
+
app: {
|
|
457604
|
+
type: "string",
|
|
457605
|
+
minLength: 1,
|
|
457606
|
+
pattern: "\\S",
|
|
457607
|
+
transform: [
|
|
457608
|
+
"trim"
|
|
457609
|
+
],
|
|
457610
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
457611
|
+
},
|
|
457612
|
+
window: {
|
|
457613
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
457614
|
+
title: "App window selector",
|
|
457615
|
+
anyOf: [
|
|
457616
|
+
{
|
|
457617
|
+
title: "By index",
|
|
457618
|
+
type: "integer",
|
|
457619
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
457620
|
+
},
|
|
457621
|
+
{
|
|
457622
|
+
title: "By name",
|
|
457623
|
+
type: "string",
|
|
457624
|
+
minLength: 1,
|
|
457625
|
+
pattern: "\\S",
|
|
457626
|
+
transform: [
|
|
457627
|
+
"trim"
|
|
457628
|
+
],
|
|
457629
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
457630
|
+
},
|
|
457631
|
+
{
|
|
457632
|
+
title: "By criteria",
|
|
457633
|
+
type: "object",
|
|
457634
|
+
additionalProperties: false,
|
|
457635
|
+
minProperties: 1,
|
|
457636
|
+
properties: {
|
|
457637
|
+
name: {
|
|
457638
|
+
type: "string",
|
|
457639
|
+
minLength: 1,
|
|
457640
|
+
pattern: "\\S",
|
|
457641
|
+
transform: [
|
|
457642
|
+
"trim"
|
|
457643
|
+
],
|
|
457644
|
+
description: "Assigned window name."
|
|
457645
|
+
},
|
|
457646
|
+
index: {
|
|
457647
|
+
type: "integer",
|
|
457648
|
+
description: "Index in creation order. Negative counts from the end."
|
|
457649
|
+
},
|
|
457650
|
+
title: {
|
|
457651
|
+
type: "string",
|
|
457652
|
+
minLength: 1,
|
|
457653
|
+
description: "Window title to match. Substring, or /regex/."
|
|
457654
|
+
}
|
|
457655
|
+
}
|
|
457656
|
+
}
|
|
457657
|
+
]
|
|
457658
|
+
}
|
|
457659
|
+
}
|
|
456144
457660
|
}
|
|
456145
457661
|
]
|
|
456146
457662
|
},
|
|
@@ -456206,13 +457722,12 @@ var schemas_default = {
|
|
|
456206
457722
|
},
|
|
456207
457723
|
target: {
|
|
456208
457724
|
type: "string",
|
|
456209
|
-
description: "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).",
|
|
457725
|
+
description: "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).",
|
|
456210
457726
|
enum: [
|
|
456211
457727
|
"display",
|
|
456212
457728
|
"window",
|
|
456213
457729
|
"viewport"
|
|
456214
|
-
]
|
|
456215
|
-
default: "display"
|
|
457730
|
+
]
|
|
456216
457731
|
},
|
|
456217
457732
|
fps: {
|
|
456218
457733
|
type: "integer",
|
|
@@ -456230,7 +457745,7 @@ var schemas_default = {
|
|
|
456230
457745
|
{
|
|
456231
457746
|
type: "boolean",
|
|
456232
457747
|
title: "Record (boolean)",
|
|
456233
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
457748
|
+
description: "If `true`, starts recording \u2014 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."
|
|
456234
457749
|
}
|
|
456235
457750
|
],
|
|
456236
457751
|
components: {
|
|
@@ -456248,7 +457763,7 @@ var schemas_default = {
|
|
|
456248
457763
|
type: "object",
|
|
456249
457764
|
properties: {
|
|
456250
457765
|
surface: {
|
|
456251
|
-
description:
|
|
457766
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
456252
457767
|
anyOf: [
|
|
456253
457768
|
{
|
|
456254
457769
|
title: "Surface (by browser engine)",
|
|
@@ -456345,14 +457860,85 @@ var schemas_default = {
|
|
|
456345
457860
|
}
|
|
456346
457861
|
]
|
|
456347
457862
|
},
|
|
456348
|
-
tab: {
|
|
456349
|
-
description: "Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order \u2014 including tabs the page opened itself.",
|
|
456350
|
-
title: "Window/tab selector",
|
|
457863
|
+
tab: {
|
|
457864
|
+
description: "Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order \u2014 including tabs the page opened itself.",
|
|
457865
|
+
title: "Window/tab selector",
|
|
457866
|
+
anyOf: [
|
|
457867
|
+
{
|
|
457868
|
+
title: "By index",
|
|
457869
|
+
type: "integer",
|
|
457870
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest."
|
|
457871
|
+
},
|
|
457872
|
+
{
|
|
457873
|
+
title: "By name",
|
|
457874
|
+
type: "string",
|
|
457875
|
+
minLength: 1,
|
|
457876
|
+
pattern: "\\S",
|
|
457877
|
+
transform: [
|
|
457878
|
+
"trim"
|
|
457879
|
+
],
|
|
457880
|
+
description: "Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
457881
|
+
},
|
|
457882
|
+
{
|
|
457883
|
+
title: "By criteria",
|
|
457884
|
+
type: "object",
|
|
457885
|
+
additionalProperties: false,
|
|
457886
|
+
minProperties: 1,
|
|
457887
|
+
properties: {
|
|
457888
|
+
name: {
|
|
457889
|
+
type: "string",
|
|
457890
|
+
minLength: 1,
|
|
457891
|
+
pattern: "\\S",
|
|
457892
|
+
transform: [
|
|
457893
|
+
"trim"
|
|
457894
|
+
],
|
|
457895
|
+
description: "Name assigned when the window/tab was opened."
|
|
457896
|
+
},
|
|
457897
|
+
index: {
|
|
457898
|
+
type: "integer",
|
|
457899
|
+
description: "Index in creation order. Negative counts from the end."
|
|
457900
|
+
},
|
|
457901
|
+
title: {
|
|
457902
|
+
type: "string",
|
|
457903
|
+
minLength: 1,
|
|
457904
|
+
description: "Page title to match. Substring, or /regex/."
|
|
457905
|
+
},
|
|
457906
|
+
url: {
|
|
457907
|
+
type: "string",
|
|
457908
|
+
minLength: 1,
|
|
457909
|
+
description: "Page URL to match. Substring, or /regex/."
|
|
457910
|
+
}
|
|
457911
|
+
}
|
|
457912
|
+
}
|
|
457913
|
+
]
|
|
457914
|
+
}
|
|
457915
|
+
}
|
|
457916
|
+
},
|
|
457917
|
+
{
|
|
457918
|
+
title: "App surface",
|
|
457919
|
+
type: "object",
|
|
457920
|
+
additionalProperties: false,
|
|
457921
|
+
required: [
|
|
457922
|
+
"app"
|
|
457923
|
+
],
|
|
457924
|
+
properties: {
|
|
457925
|
+
app: {
|
|
457926
|
+
type: "string",
|
|
457927
|
+
minLength: 1,
|
|
457928
|
+
pattern: "\\S",
|
|
457929
|
+
transform: [
|
|
457930
|
+
"trim"
|
|
457931
|
+
],
|
|
457932
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
457933
|
+
},
|
|
457934
|
+
window: {
|
|
457935
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
457936
|
+
title: "App window selector",
|
|
456351
457937
|
anyOf: [
|
|
456352
457938
|
{
|
|
456353
457939
|
title: "By index",
|
|
456354
457940
|
type: "integer",
|
|
456355
|
-
description: "Index in creation order. Negative counts from the end; `-1` is the newest."
|
|
457941
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
456356
457942
|
},
|
|
456357
457943
|
{
|
|
456358
457944
|
title: "By name",
|
|
@@ -456362,7 +457948,7 @@ var schemas_default = {
|
|
|
456362
457948
|
transform: [
|
|
456363
457949
|
"trim"
|
|
456364
457950
|
],
|
|
456365
|
-
description: "
|
|
457951
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
456366
457952
|
},
|
|
456367
457953
|
{
|
|
456368
457954
|
title: "By criteria",
|
|
@@ -456377,7 +457963,7 @@ var schemas_default = {
|
|
|
456377
457963
|
transform: [
|
|
456378
457964
|
"trim"
|
|
456379
457965
|
],
|
|
456380
|
-
description: "
|
|
457966
|
+
description: "Assigned window name."
|
|
456381
457967
|
},
|
|
456382
457968
|
index: {
|
|
456383
457969
|
type: "integer",
|
|
@@ -456386,12 +457972,7 @@ var schemas_default = {
|
|
|
456386
457972
|
title: {
|
|
456387
457973
|
type: "string",
|
|
456388
457974
|
minLength: 1,
|
|
456389
|
-
description: "
|
|
456390
|
-
},
|
|
456391
|
-
url: {
|
|
456392
|
-
type: "string",
|
|
456393
|
-
minLength: 1,
|
|
456394
|
-
description: "Page URL to match. Substring, or /regex/."
|
|
457975
|
+
description: "Window title to match. Substring, or /regex/."
|
|
456395
457976
|
}
|
|
456396
457977
|
}
|
|
456397
457978
|
}
|
|
@@ -456463,13 +458044,12 @@ var schemas_default = {
|
|
|
456463
458044
|
},
|
|
456464
458045
|
target: {
|
|
456465
458046
|
type: "string",
|
|
456466
|
-
description: "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).",
|
|
458047
|
+
description: "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).",
|
|
456467
458048
|
enum: [
|
|
456468
458049
|
"display",
|
|
456469
458050
|
"window",
|
|
456470
458051
|
"viewport"
|
|
456471
|
-
]
|
|
456472
|
-
default: "display"
|
|
458052
|
+
]
|
|
456473
458053
|
},
|
|
456474
458054
|
fps: {
|
|
456475
458055
|
type: "integer",
|
|
@@ -456515,13 +458095,12 @@ var schemas_default = {
|
|
|
456515
458095
|
},
|
|
456516
458096
|
target: {
|
|
456517
458097
|
type: "string",
|
|
456518
|
-
description: "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).",
|
|
458098
|
+
description: "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).",
|
|
456519
458099
|
enum: [
|
|
456520
458100
|
"display",
|
|
456521
458101
|
"window",
|
|
456522
458102
|
"viewport"
|
|
456523
|
-
]
|
|
456524
|
-
default: "display"
|
|
458103
|
+
]
|
|
456525
458104
|
},
|
|
456526
458105
|
fps: {
|
|
456527
458106
|
type: "integer",
|
|
@@ -456554,6 +458133,22 @@ var schemas_default = {
|
|
|
456554
458133
|
target: "window",
|
|
456555
458134
|
fps: 60
|
|
456556
458135
|
}
|
|
458136
|
+
},
|
|
458137
|
+
{
|
|
458138
|
+
path: "notepad.mp4",
|
|
458139
|
+
surface: {
|
|
458140
|
+
app: "notepad"
|
|
458141
|
+
}
|
|
458142
|
+
},
|
|
458143
|
+
{
|
|
458144
|
+
path: "full-screen.mp4",
|
|
458145
|
+
surface: {
|
|
458146
|
+
app: "notepad"
|
|
458147
|
+
},
|
|
458148
|
+
engine: {
|
|
458149
|
+
name: "ffmpeg",
|
|
458150
|
+
target: "display"
|
|
458151
|
+
}
|
|
456557
458152
|
}
|
|
456558
458153
|
]
|
|
456559
458154
|
}
|
|
@@ -500743,7 +502338,7 @@ var schemas_default = {
|
|
|
500743
502338
|
record: {
|
|
500744
502339
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
500745
502340
|
title: "record",
|
|
500746
|
-
description: "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' ]",
|
|
502341
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
500747
502342
|
anyOf: [
|
|
500748
502343
|
{
|
|
500749
502344
|
title: "Record (simple)",
|
|
@@ -500758,7 +502353,7 @@ var schemas_default = {
|
|
|
500758
502353
|
type: "object",
|
|
500759
502354
|
properties: {
|
|
500760
502355
|
surface: {
|
|
500761
|
-
description:
|
|
502356
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
500762
502357
|
anyOf: [
|
|
500763
502358
|
{
|
|
500764
502359
|
title: "Surface (by browser engine)",
|
|
@@ -500908,6 +502503,72 @@ var schemas_default = {
|
|
|
500908
502503
|
]
|
|
500909
502504
|
}
|
|
500910
502505
|
}
|
|
502506
|
+
},
|
|
502507
|
+
{
|
|
502508
|
+
title: "App surface",
|
|
502509
|
+
type: "object",
|
|
502510
|
+
additionalProperties: false,
|
|
502511
|
+
required: [
|
|
502512
|
+
"app"
|
|
502513
|
+
],
|
|
502514
|
+
properties: {
|
|
502515
|
+
app: {
|
|
502516
|
+
type: "string",
|
|
502517
|
+
minLength: 1,
|
|
502518
|
+
pattern: "\\S",
|
|
502519
|
+
transform: [
|
|
502520
|
+
"trim"
|
|
502521
|
+
],
|
|
502522
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
502523
|
+
},
|
|
502524
|
+
window: {
|
|
502525
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
502526
|
+
title: "App window selector",
|
|
502527
|
+
anyOf: [
|
|
502528
|
+
{
|
|
502529
|
+
title: "By index",
|
|
502530
|
+
type: "integer",
|
|
502531
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
502532
|
+
},
|
|
502533
|
+
{
|
|
502534
|
+
title: "By name",
|
|
502535
|
+
type: "string",
|
|
502536
|
+
minLength: 1,
|
|
502537
|
+
pattern: "\\S",
|
|
502538
|
+
transform: [
|
|
502539
|
+
"trim"
|
|
502540
|
+
],
|
|
502541
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
502542
|
+
},
|
|
502543
|
+
{
|
|
502544
|
+
title: "By criteria",
|
|
502545
|
+
type: "object",
|
|
502546
|
+
additionalProperties: false,
|
|
502547
|
+
minProperties: 1,
|
|
502548
|
+
properties: {
|
|
502549
|
+
name: {
|
|
502550
|
+
type: "string",
|
|
502551
|
+
minLength: 1,
|
|
502552
|
+
pattern: "\\S",
|
|
502553
|
+
transform: [
|
|
502554
|
+
"trim"
|
|
502555
|
+
],
|
|
502556
|
+
description: "Assigned window name."
|
|
502557
|
+
},
|
|
502558
|
+
index: {
|
|
502559
|
+
type: "integer",
|
|
502560
|
+
description: "Index in creation order. Negative counts from the end."
|
|
502561
|
+
},
|
|
502562
|
+
title: {
|
|
502563
|
+
type: "string",
|
|
502564
|
+
minLength: 1,
|
|
502565
|
+
description: "Window title to match. Substring, or /regex/."
|
|
502566
|
+
}
|
|
502567
|
+
}
|
|
502568
|
+
}
|
|
502569
|
+
]
|
|
502570
|
+
}
|
|
502571
|
+
}
|
|
500911
502572
|
}
|
|
500912
502573
|
]
|
|
500913
502574
|
},
|
|
@@ -500973,13 +502634,12 @@ var schemas_default = {
|
|
|
500973
502634
|
},
|
|
500974
502635
|
target: {
|
|
500975
502636
|
type: "string",
|
|
500976
|
-
description: "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).",
|
|
502637
|
+
description: "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).",
|
|
500977
502638
|
enum: [
|
|
500978
502639
|
"display",
|
|
500979
502640
|
"window",
|
|
500980
502641
|
"viewport"
|
|
500981
|
-
]
|
|
500982
|
-
default: "display"
|
|
502642
|
+
]
|
|
500983
502643
|
},
|
|
500984
502644
|
fps: {
|
|
500985
502645
|
type: "integer",
|
|
@@ -500997,7 +502657,7 @@ var schemas_default = {
|
|
|
500997
502657
|
{
|
|
500998
502658
|
type: "boolean",
|
|
500999
502659
|
title: "Record (boolean)",
|
|
501000
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
502660
|
+
description: "If `true`, starts recording \u2014 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."
|
|
501001
502661
|
}
|
|
501002
502662
|
],
|
|
501003
502663
|
components: {
|
|
@@ -501015,7 +502675,7 @@ var schemas_default = {
|
|
|
501015
502675
|
type: "object",
|
|
501016
502676
|
properties: {
|
|
501017
502677
|
surface: {
|
|
501018
|
-
description:
|
|
502678
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
501019
502679
|
anyOf: [
|
|
501020
502680
|
{
|
|
501021
502681
|
title: "Surface (by browser engine)",
|
|
@@ -501165,6 +502825,72 @@ var schemas_default = {
|
|
|
501165
502825
|
]
|
|
501166
502826
|
}
|
|
501167
502827
|
}
|
|
502828
|
+
},
|
|
502829
|
+
{
|
|
502830
|
+
title: "App surface",
|
|
502831
|
+
type: "object",
|
|
502832
|
+
additionalProperties: false,
|
|
502833
|
+
required: [
|
|
502834
|
+
"app"
|
|
502835
|
+
],
|
|
502836
|
+
properties: {
|
|
502837
|
+
app: {
|
|
502838
|
+
type: "string",
|
|
502839
|
+
minLength: 1,
|
|
502840
|
+
pattern: "\\S",
|
|
502841
|
+
transform: [
|
|
502842
|
+
"trim"
|
|
502843
|
+
],
|
|
502844
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
502845
|
+
},
|
|
502846
|
+
window: {
|
|
502847
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
502848
|
+
title: "App window selector",
|
|
502849
|
+
anyOf: [
|
|
502850
|
+
{
|
|
502851
|
+
title: "By index",
|
|
502852
|
+
type: "integer",
|
|
502853
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
502854
|
+
},
|
|
502855
|
+
{
|
|
502856
|
+
title: "By name",
|
|
502857
|
+
type: "string",
|
|
502858
|
+
minLength: 1,
|
|
502859
|
+
pattern: "\\S",
|
|
502860
|
+
transform: [
|
|
502861
|
+
"trim"
|
|
502862
|
+
],
|
|
502863
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
502864
|
+
},
|
|
502865
|
+
{
|
|
502866
|
+
title: "By criteria",
|
|
502867
|
+
type: "object",
|
|
502868
|
+
additionalProperties: false,
|
|
502869
|
+
minProperties: 1,
|
|
502870
|
+
properties: {
|
|
502871
|
+
name: {
|
|
502872
|
+
type: "string",
|
|
502873
|
+
minLength: 1,
|
|
502874
|
+
pattern: "\\S",
|
|
502875
|
+
transform: [
|
|
502876
|
+
"trim"
|
|
502877
|
+
],
|
|
502878
|
+
description: "Assigned window name."
|
|
502879
|
+
},
|
|
502880
|
+
index: {
|
|
502881
|
+
type: "integer",
|
|
502882
|
+
description: "Index in creation order. Negative counts from the end."
|
|
502883
|
+
},
|
|
502884
|
+
title: {
|
|
502885
|
+
type: "string",
|
|
502886
|
+
minLength: 1,
|
|
502887
|
+
description: "Window title to match. Substring, or /regex/."
|
|
502888
|
+
}
|
|
502889
|
+
}
|
|
502890
|
+
}
|
|
502891
|
+
]
|
|
502892
|
+
}
|
|
502893
|
+
}
|
|
501168
502894
|
}
|
|
501169
502895
|
]
|
|
501170
502896
|
},
|
|
@@ -501230,13 +502956,12 @@ var schemas_default = {
|
|
|
501230
502956
|
},
|
|
501231
502957
|
target: {
|
|
501232
502958
|
type: "string",
|
|
501233
|
-
description: "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).",
|
|
502959
|
+
description: "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).",
|
|
501234
502960
|
enum: [
|
|
501235
502961
|
"display",
|
|
501236
502962
|
"window",
|
|
501237
502963
|
"viewport"
|
|
501238
|
-
]
|
|
501239
|
-
default: "display"
|
|
502964
|
+
]
|
|
501240
502965
|
},
|
|
501241
502966
|
fps: {
|
|
501242
502967
|
type: "integer",
|
|
@@ -501282,13 +503007,12 @@ var schemas_default = {
|
|
|
501282
503007
|
},
|
|
501283
503008
|
target: {
|
|
501284
503009
|
type: "string",
|
|
501285
|
-
description: "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).",
|
|
503010
|
+
description: "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).",
|
|
501286
503011
|
enum: [
|
|
501287
503012
|
"display",
|
|
501288
503013
|
"window",
|
|
501289
503014
|
"viewport"
|
|
501290
|
-
]
|
|
501291
|
-
default: "display"
|
|
503015
|
+
]
|
|
501292
503016
|
},
|
|
501293
503017
|
fps: {
|
|
501294
503018
|
type: "integer",
|
|
@@ -501321,6 +503045,22 @@ var schemas_default = {
|
|
|
501321
503045
|
target: "window",
|
|
501322
503046
|
fps: 60
|
|
501323
503047
|
}
|
|
503048
|
+
},
|
|
503049
|
+
{
|
|
503050
|
+
path: "notepad.mp4",
|
|
503051
|
+
surface: {
|
|
503052
|
+
app: "notepad"
|
|
503053
|
+
}
|
|
503054
|
+
},
|
|
503055
|
+
{
|
|
503056
|
+
path: "full-screen.mp4",
|
|
503057
|
+
surface: {
|
|
503058
|
+
app: "notepad"
|
|
503059
|
+
},
|
|
503060
|
+
engine: {
|
|
503061
|
+
name: "ffmpeg",
|
|
503062
|
+
target: "display"
|
|
503063
|
+
}
|
|
501324
503064
|
}
|
|
501325
503065
|
]
|
|
501326
503066
|
}
|
|
@@ -547965,7 +549705,7 @@ var schemas_default = {
|
|
|
547965
549705
|
record: {
|
|
547966
549706
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
547967
549707
|
title: "record",
|
|
547968
|
-
description: "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' ]",
|
|
549708
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
547969
549709
|
anyOf: [
|
|
547970
549710
|
{
|
|
547971
549711
|
title: "Record (simple)",
|
|
@@ -547980,7 +549720,7 @@ var schemas_default = {
|
|
|
547980
549720
|
type: "object",
|
|
547981
549721
|
properties: {
|
|
547982
549722
|
surface: {
|
|
547983
|
-
description:
|
|
549723
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
547984
549724
|
anyOf: [
|
|
547985
549725
|
{
|
|
547986
549726
|
title: "Surface (by browser engine)",
|
|
@@ -548077,14 +549817,85 @@ var schemas_default = {
|
|
|
548077
549817
|
}
|
|
548078
549818
|
]
|
|
548079
549819
|
},
|
|
548080
|
-
tab: {
|
|
548081
|
-
description: "Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order \u2014 including tabs the page opened itself.",
|
|
548082
|
-
title: "Window/tab selector",
|
|
549820
|
+
tab: {
|
|
549821
|
+
description: "Which tab to act on. Omit to use the active tab. Without `window`, the selector searches every tab in creation order \u2014 including tabs the page opened itself.",
|
|
549822
|
+
title: "Window/tab selector",
|
|
549823
|
+
anyOf: [
|
|
549824
|
+
{
|
|
549825
|
+
title: "By index",
|
|
549826
|
+
type: "integer",
|
|
549827
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest."
|
|
549828
|
+
},
|
|
549829
|
+
{
|
|
549830
|
+
title: "By name",
|
|
549831
|
+
type: "string",
|
|
549832
|
+
minLength: 1,
|
|
549833
|
+
pattern: "\\S",
|
|
549834
|
+
transform: [
|
|
549835
|
+
"trim"
|
|
549836
|
+
],
|
|
549837
|
+
description: "Name assigned when the window/tab was opened (goTo `newTab`/`newWindow`). The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
549838
|
+
},
|
|
549839
|
+
{
|
|
549840
|
+
title: "By criteria",
|
|
549841
|
+
type: "object",
|
|
549842
|
+
additionalProperties: false,
|
|
549843
|
+
minProperties: 1,
|
|
549844
|
+
properties: {
|
|
549845
|
+
name: {
|
|
549846
|
+
type: "string",
|
|
549847
|
+
minLength: 1,
|
|
549848
|
+
pattern: "\\S",
|
|
549849
|
+
transform: [
|
|
549850
|
+
"trim"
|
|
549851
|
+
],
|
|
549852
|
+
description: "Name assigned when the window/tab was opened."
|
|
549853
|
+
},
|
|
549854
|
+
index: {
|
|
549855
|
+
type: "integer",
|
|
549856
|
+
description: "Index in creation order. Negative counts from the end."
|
|
549857
|
+
},
|
|
549858
|
+
title: {
|
|
549859
|
+
type: "string",
|
|
549860
|
+
minLength: 1,
|
|
549861
|
+
description: "Page title to match. Substring, or /regex/."
|
|
549862
|
+
},
|
|
549863
|
+
url: {
|
|
549864
|
+
type: "string",
|
|
549865
|
+
minLength: 1,
|
|
549866
|
+
description: "Page URL to match. Substring, or /regex/."
|
|
549867
|
+
}
|
|
549868
|
+
}
|
|
549869
|
+
}
|
|
549870
|
+
]
|
|
549871
|
+
}
|
|
549872
|
+
}
|
|
549873
|
+
},
|
|
549874
|
+
{
|
|
549875
|
+
title: "App surface",
|
|
549876
|
+
type: "object",
|
|
549877
|
+
additionalProperties: false,
|
|
549878
|
+
required: [
|
|
549879
|
+
"app"
|
|
549880
|
+
],
|
|
549881
|
+
properties: {
|
|
549882
|
+
app: {
|
|
549883
|
+
type: "string",
|
|
549884
|
+
minLength: 1,
|
|
549885
|
+
pattern: "\\S",
|
|
549886
|
+
transform: [
|
|
549887
|
+
"trim"
|
|
549888
|
+
],
|
|
549889
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
549890
|
+
},
|
|
549891
|
+
window: {
|
|
549892
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
549893
|
+
title: "App window selector",
|
|
548083
549894
|
anyOf: [
|
|
548084
549895
|
{
|
|
548085
549896
|
title: "By index",
|
|
548086
549897
|
type: "integer",
|
|
548087
|
-
description: "Index in creation order. Negative counts from the end; `-1` is the newest."
|
|
549898
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
548088
549899
|
},
|
|
548089
549900
|
{
|
|
548090
549901
|
title: "By name",
|
|
@@ -548094,7 +549905,7 @@ var schemas_default = {
|
|
|
548094
549905
|
transform: [
|
|
548095
549906
|
"trim"
|
|
548096
549907
|
],
|
|
548097
|
-
description: "
|
|
549908
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
548098
549909
|
},
|
|
548099
549910
|
{
|
|
548100
549911
|
title: "By criteria",
|
|
@@ -548109,7 +549920,7 @@ var schemas_default = {
|
|
|
548109
549920
|
transform: [
|
|
548110
549921
|
"trim"
|
|
548111
549922
|
],
|
|
548112
|
-
description: "
|
|
549923
|
+
description: "Assigned window name."
|
|
548113
549924
|
},
|
|
548114
549925
|
index: {
|
|
548115
549926
|
type: "integer",
|
|
@@ -548118,12 +549929,7 @@ var schemas_default = {
|
|
|
548118
549929
|
title: {
|
|
548119
549930
|
type: "string",
|
|
548120
549931
|
minLength: 1,
|
|
548121
|
-
description: "
|
|
548122
|
-
},
|
|
548123
|
-
url: {
|
|
548124
|
-
type: "string",
|
|
548125
|
-
minLength: 1,
|
|
548126
|
-
description: "Page URL to match. Substring, or /regex/."
|
|
549932
|
+
description: "Window title to match. Substring, or /regex/."
|
|
548127
549933
|
}
|
|
548128
549934
|
}
|
|
548129
549935
|
}
|
|
@@ -548195,13 +550001,12 @@ var schemas_default = {
|
|
|
548195
550001
|
},
|
|
548196
550002
|
target: {
|
|
548197
550003
|
type: "string",
|
|
548198
|
-
description: "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).",
|
|
550004
|
+
description: "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).",
|
|
548199
550005
|
enum: [
|
|
548200
550006
|
"display",
|
|
548201
550007
|
"window",
|
|
548202
550008
|
"viewport"
|
|
548203
|
-
]
|
|
548204
|
-
default: "display"
|
|
550009
|
+
]
|
|
548205
550010
|
},
|
|
548206
550011
|
fps: {
|
|
548207
550012
|
type: "integer",
|
|
@@ -548219,7 +550024,7 @@ var schemas_default = {
|
|
|
548219
550024
|
{
|
|
548220
550025
|
type: "boolean",
|
|
548221
550026
|
title: "Record (boolean)",
|
|
548222
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
550027
|
+
description: "If `true`, starts recording \u2014 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."
|
|
548223
550028
|
}
|
|
548224
550029
|
],
|
|
548225
550030
|
components: {
|
|
@@ -548237,7 +550042,7 @@ var schemas_default = {
|
|
|
548237
550042
|
type: "object",
|
|
548238
550043
|
properties: {
|
|
548239
550044
|
surface: {
|
|
548240
|
-
description:
|
|
550045
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
548241
550046
|
anyOf: [
|
|
548242
550047
|
{
|
|
548243
550048
|
title: "Surface (by browser engine)",
|
|
@@ -548387,6 +550192,72 @@ var schemas_default = {
|
|
|
548387
550192
|
]
|
|
548388
550193
|
}
|
|
548389
550194
|
}
|
|
550195
|
+
},
|
|
550196
|
+
{
|
|
550197
|
+
title: "App surface",
|
|
550198
|
+
type: "object",
|
|
550199
|
+
additionalProperties: false,
|
|
550200
|
+
required: [
|
|
550201
|
+
"app"
|
|
550202
|
+
],
|
|
550203
|
+
properties: {
|
|
550204
|
+
app: {
|
|
550205
|
+
type: "string",
|
|
550206
|
+
minLength: 1,
|
|
550207
|
+
pattern: "\\S",
|
|
550208
|
+
transform: [
|
|
550209
|
+
"trim"
|
|
550210
|
+
],
|
|
550211
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
550212
|
+
},
|
|
550213
|
+
window: {
|
|
550214
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
550215
|
+
title: "App window selector",
|
|
550216
|
+
anyOf: [
|
|
550217
|
+
{
|
|
550218
|
+
title: "By index",
|
|
550219
|
+
type: "integer",
|
|
550220
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
550221
|
+
},
|
|
550222
|
+
{
|
|
550223
|
+
title: "By name",
|
|
550224
|
+
type: "string",
|
|
550225
|
+
minLength: 1,
|
|
550226
|
+
pattern: "\\S",
|
|
550227
|
+
transform: [
|
|
550228
|
+
"trim"
|
|
550229
|
+
],
|
|
550230
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
550231
|
+
},
|
|
550232
|
+
{
|
|
550233
|
+
title: "By criteria",
|
|
550234
|
+
type: "object",
|
|
550235
|
+
additionalProperties: false,
|
|
550236
|
+
minProperties: 1,
|
|
550237
|
+
properties: {
|
|
550238
|
+
name: {
|
|
550239
|
+
type: "string",
|
|
550240
|
+
minLength: 1,
|
|
550241
|
+
pattern: "\\S",
|
|
550242
|
+
transform: [
|
|
550243
|
+
"trim"
|
|
550244
|
+
],
|
|
550245
|
+
description: "Assigned window name."
|
|
550246
|
+
},
|
|
550247
|
+
index: {
|
|
550248
|
+
type: "integer",
|
|
550249
|
+
description: "Index in creation order. Negative counts from the end."
|
|
550250
|
+
},
|
|
550251
|
+
title: {
|
|
550252
|
+
type: "string",
|
|
550253
|
+
minLength: 1,
|
|
550254
|
+
description: "Window title to match. Substring, or /regex/."
|
|
550255
|
+
}
|
|
550256
|
+
}
|
|
550257
|
+
}
|
|
550258
|
+
]
|
|
550259
|
+
}
|
|
550260
|
+
}
|
|
548390
550261
|
}
|
|
548391
550262
|
]
|
|
548392
550263
|
},
|
|
@@ -548452,13 +550323,12 @@ var schemas_default = {
|
|
|
548452
550323
|
},
|
|
548453
550324
|
target: {
|
|
548454
550325
|
type: "string",
|
|
548455
|
-
description: "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).",
|
|
550326
|
+
description: "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).",
|
|
548456
550327
|
enum: [
|
|
548457
550328
|
"display",
|
|
548458
550329
|
"window",
|
|
548459
550330
|
"viewport"
|
|
548460
|
-
]
|
|
548461
|
-
default: "display"
|
|
550331
|
+
]
|
|
548462
550332
|
},
|
|
548463
550333
|
fps: {
|
|
548464
550334
|
type: "integer",
|
|
@@ -548504,13 +550374,12 @@ var schemas_default = {
|
|
|
548504
550374
|
},
|
|
548505
550375
|
target: {
|
|
548506
550376
|
type: "string",
|
|
548507
|
-
description: "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).",
|
|
550377
|
+
description: "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).",
|
|
548508
550378
|
enum: [
|
|
548509
550379
|
"display",
|
|
548510
550380
|
"window",
|
|
548511
550381
|
"viewport"
|
|
548512
|
-
]
|
|
548513
|
-
default: "display"
|
|
550382
|
+
]
|
|
548514
550383
|
},
|
|
548515
550384
|
fps: {
|
|
548516
550385
|
type: "integer",
|
|
@@ -548543,6 +550412,22 @@ var schemas_default = {
|
|
|
548543
550412
|
target: "window",
|
|
548544
550413
|
fps: 60
|
|
548545
550414
|
}
|
|
550415
|
+
},
|
|
550416
|
+
{
|
|
550417
|
+
path: "notepad.mp4",
|
|
550418
|
+
surface: {
|
|
550419
|
+
app: "notepad"
|
|
550420
|
+
}
|
|
550421
|
+
},
|
|
550422
|
+
{
|
|
550423
|
+
path: "full-screen.mp4",
|
|
550424
|
+
surface: {
|
|
550425
|
+
app: "notepad"
|
|
550426
|
+
},
|
|
550427
|
+
engine: {
|
|
550428
|
+
name: "ffmpeg",
|
|
550429
|
+
target: "display"
|
|
550430
|
+
}
|
|
548546
550431
|
}
|
|
548547
550432
|
]
|
|
548548
550433
|
}
|
|
@@ -591846,7 +593731,7 @@ var schemas_default = {
|
|
|
591846
593731
|
record: {
|
|
591847
593732
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
591848
593733
|
title: "record",
|
|
591849
|
-
description: "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' ]",
|
|
593734
|
+
description: "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 \u2014 `engine` doesn't apply. Supported extensions: [ '.mp4', '.webm', '.gif' ]",
|
|
591850
593735
|
anyOf: [
|
|
591851
593736
|
{
|
|
591852
593737
|
title: "Record (simple)",
|
|
@@ -591861,7 +593746,7 @@ var schemas_default = {
|
|
|
591861
593746
|
type: "object",
|
|
591862
593747
|
properties: {
|
|
591863
593748
|
surface: {
|
|
591864
|
-
description:
|
|
593749
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
591865
593750
|
anyOf: [
|
|
591866
593751
|
{
|
|
591867
593752
|
title: "Surface (by browser engine)",
|
|
@@ -592011,6 +593896,72 @@ var schemas_default = {
|
|
|
592011
593896
|
]
|
|
592012
593897
|
}
|
|
592013
593898
|
}
|
|
593899
|
+
},
|
|
593900
|
+
{
|
|
593901
|
+
title: "App surface",
|
|
593902
|
+
type: "object",
|
|
593903
|
+
additionalProperties: false,
|
|
593904
|
+
required: [
|
|
593905
|
+
"app"
|
|
593906
|
+
],
|
|
593907
|
+
properties: {
|
|
593908
|
+
app: {
|
|
593909
|
+
type: "string",
|
|
593910
|
+
minLength: 1,
|
|
593911
|
+
pattern: "\\S",
|
|
593912
|
+
transform: [
|
|
593913
|
+
"trim"
|
|
593914
|
+
],
|
|
593915
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
593916
|
+
},
|
|
593917
|
+
window: {
|
|
593918
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
593919
|
+
title: "App window selector",
|
|
593920
|
+
anyOf: [
|
|
593921
|
+
{
|
|
593922
|
+
title: "By index",
|
|
593923
|
+
type: "integer",
|
|
593924
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
593925
|
+
},
|
|
593926
|
+
{
|
|
593927
|
+
title: "By name",
|
|
593928
|
+
type: "string",
|
|
593929
|
+
minLength: 1,
|
|
593930
|
+
pattern: "\\S",
|
|
593931
|
+
transform: [
|
|
593932
|
+
"trim"
|
|
593933
|
+
],
|
|
593934
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
593935
|
+
},
|
|
593936
|
+
{
|
|
593937
|
+
title: "By criteria",
|
|
593938
|
+
type: "object",
|
|
593939
|
+
additionalProperties: false,
|
|
593940
|
+
minProperties: 1,
|
|
593941
|
+
properties: {
|
|
593942
|
+
name: {
|
|
593943
|
+
type: "string",
|
|
593944
|
+
minLength: 1,
|
|
593945
|
+
pattern: "\\S",
|
|
593946
|
+
transform: [
|
|
593947
|
+
"trim"
|
|
593948
|
+
],
|
|
593949
|
+
description: "Assigned window name."
|
|
593950
|
+
},
|
|
593951
|
+
index: {
|
|
593952
|
+
type: "integer",
|
|
593953
|
+
description: "Index in creation order. Negative counts from the end."
|
|
593954
|
+
},
|
|
593955
|
+
title: {
|
|
593956
|
+
type: "string",
|
|
593957
|
+
minLength: 1,
|
|
593958
|
+
description: "Window title to match. Substring, or /regex/."
|
|
593959
|
+
}
|
|
593960
|
+
}
|
|
593961
|
+
}
|
|
593962
|
+
]
|
|
593963
|
+
}
|
|
593964
|
+
}
|
|
592014
593965
|
}
|
|
592015
593966
|
]
|
|
592016
593967
|
},
|
|
@@ -592076,13 +594027,12 @@ var schemas_default = {
|
|
|
592076
594027
|
},
|
|
592077
594028
|
target: {
|
|
592078
594029
|
type: "string",
|
|
592079
|
-
description: "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).",
|
|
594030
|
+
description: "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).",
|
|
592080
594031
|
enum: [
|
|
592081
594032
|
"display",
|
|
592082
594033
|
"window",
|
|
592083
594034
|
"viewport"
|
|
592084
|
-
]
|
|
592085
|
-
default: "display"
|
|
594035
|
+
]
|
|
592086
594036
|
},
|
|
592087
594037
|
fps: {
|
|
592088
594038
|
type: "integer",
|
|
@@ -592100,7 +594050,7 @@ var schemas_default = {
|
|
|
592100
594050
|
{
|
|
592101
594051
|
type: "boolean",
|
|
592102
594052
|
title: "Record (boolean)",
|
|
592103
|
-
description: "If `true`, starts recording \u2014 auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record."
|
|
594053
|
+
description: "If `true`, starts recording \u2014 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."
|
|
592104
594054
|
}
|
|
592105
594055
|
],
|
|
592106
594056
|
components: {
|
|
@@ -592118,7 +594068,7 @@ var schemas_default = {
|
|
|
592118
594068
|
type: "object",
|
|
592119
594069
|
properties: {
|
|
592120
594070
|
surface: {
|
|
592121
|
-
description:
|
|
594071
|
+
description: '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": \u2026 }) and are captured via the `ffmpeg` engine, cropped to the app window by default.',
|
|
592122
594072
|
anyOf: [
|
|
592123
594073
|
{
|
|
592124
594074
|
title: "Surface (by browser engine)",
|
|
@@ -592268,6 +594218,72 @@ var schemas_default = {
|
|
|
592268
594218
|
]
|
|
592269
594219
|
}
|
|
592270
594220
|
}
|
|
594221
|
+
},
|
|
594222
|
+
{
|
|
594223
|
+
title: "App surface",
|
|
594224
|
+
type: "object",
|
|
594225
|
+
additionalProperties: false,
|
|
594226
|
+
required: [
|
|
594227
|
+
"app"
|
|
594228
|
+
],
|
|
594229
|
+
properties: {
|
|
594230
|
+
app: {
|
|
594231
|
+
type: "string",
|
|
594232
|
+
minLength: 1,
|
|
594233
|
+
pattern: "\\S",
|
|
594234
|
+
transform: [
|
|
594235
|
+
"trim"
|
|
594236
|
+
],
|
|
594237
|
+
description: "Name of an app surface opened by `startSurface` (its `name`, or the default derived from the app identifier)."
|
|
594238
|
+
},
|
|
594239
|
+
window: {
|
|
594240
|
+
description: "Which app window to act on. Omit to use the active window. Apps have windows, no tabs.",
|
|
594241
|
+
title: "App window selector",
|
|
594242
|
+
anyOf: [
|
|
594243
|
+
{
|
|
594244
|
+
title: "By index",
|
|
594245
|
+
type: "integer",
|
|
594246
|
+
description: "Index in creation order. Negative counts from the end; `-1` is the newest (e.g. a dialog the app just opened)."
|
|
594247
|
+
},
|
|
594248
|
+
{
|
|
594249
|
+
title: "By name",
|
|
594250
|
+
type: "string",
|
|
594251
|
+
minLength: 1,
|
|
594252
|
+
pattern: "\\S",
|
|
594253
|
+
transform: [
|
|
594254
|
+
"trim"
|
|
594255
|
+
],
|
|
594256
|
+
description: "Assigned window name. The integer branch is listed first because Ajv validates with coerceTypes \u2014 string-first would coerce integer indexes into name strings."
|
|
594257
|
+
},
|
|
594258
|
+
{
|
|
594259
|
+
title: "By criteria",
|
|
594260
|
+
type: "object",
|
|
594261
|
+
additionalProperties: false,
|
|
594262
|
+
minProperties: 1,
|
|
594263
|
+
properties: {
|
|
594264
|
+
name: {
|
|
594265
|
+
type: "string",
|
|
594266
|
+
minLength: 1,
|
|
594267
|
+
pattern: "\\S",
|
|
594268
|
+
transform: [
|
|
594269
|
+
"trim"
|
|
594270
|
+
],
|
|
594271
|
+
description: "Assigned window name."
|
|
594272
|
+
},
|
|
594273
|
+
index: {
|
|
594274
|
+
type: "integer",
|
|
594275
|
+
description: "Index in creation order. Negative counts from the end."
|
|
594276
|
+
},
|
|
594277
|
+
title: {
|
|
594278
|
+
type: "string",
|
|
594279
|
+
minLength: 1,
|
|
594280
|
+
description: "Window title to match. Substring, or /regex/."
|
|
594281
|
+
}
|
|
594282
|
+
}
|
|
594283
|
+
}
|
|
594284
|
+
]
|
|
594285
|
+
}
|
|
594286
|
+
}
|
|
592271
594287
|
}
|
|
592272
594288
|
]
|
|
592273
594289
|
},
|
|
@@ -592333,13 +594349,12 @@ var schemas_default = {
|
|
|
592333
594349
|
},
|
|
592334
594350
|
target: {
|
|
592335
594351
|
type: "string",
|
|
592336
|
-
description: "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).",
|
|
594352
|
+
description: "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).",
|
|
592337
594353
|
enum: [
|
|
592338
594354
|
"display",
|
|
592339
594355
|
"window",
|
|
592340
594356
|
"viewport"
|
|
592341
|
-
]
|
|
592342
|
-
default: "display"
|
|
594357
|
+
]
|
|
592343
594358
|
},
|
|
592344
594359
|
fps: {
|
|
592345
594360
|
type: "integer",
|
|
@@ -592385,13 +594400,12 @@ var schemas_default = {
|
|
|
592385
594400
|
},
|
|
592386
594401
|
target: {
|
|
592387
594402
|
type: "string",
|
|
592388
|
-
description: "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).",
|
|
594403
|
+
description: "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).",
|
|
592389
594404
|
enum: [
|
|
592390
594405
|
"display",
|
|
592391
594406
|
"window",
|
|
592392
594407
|
"viewport"
|
|
592393
|
-
]
|
|
592394
|
-
default: "display"
|
|
594408
|
+
]
|
|
592395
594409
|
},
|
|
592396
594410
|
fps: {
|
|
592397
594411
|
type: "integer",
|
|
@@ -592424,6 +594438,22 @@ var schemas_default = {
|
|
|
592424
594438
|
target: "window",
|
|
592425
594439
|
fps: 60
|
|
592426
594440
|
}
|
|
594441
|
+
},
|
|
594442
|
+
{
|
|
594443
|
+
path: "notepad.mp4",
|
|
594444
|
+
surface: {
|
|
594445
|
+
app: "notepad"
|
|
594446
|
+
}
|
|
594447
|
+
},
|
|
594448
|
+
{
|
|
594449
|
+
path: "full-screen.mp4",
|
|
594450
|
+
surface: {
|
|
594451
|
+
app: "notepad"
|
|
594452
|
+
},
|
|
594453
|
+
engine: {
|
|
594454
|
+
name: "ffmpeg",
|
|
594455
|
+
target: "display"
|
|
594456
|
+
}
|
|
592427
594457
|
}
|
|
592428
594458
|
]
|
|
592429
594459
|
}
|