doc-detective 4.0.2-dev.9 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/src/detectTests.d.ts.map +1 -1
- package/dist/common/src/detectTests.js +43 -12
- package/dist/common/src/detectTests.js.map +1 -1
- package/dist/common/src/fileTypes.d.ts.map +1 -1
- package/dist/common/src/fileTypes.js +10 -0
- package/dist/common/src/fileTypes.js.map +1 -1
- package/dist/common/src/schemas/schemas.json +868 -112
- package/dist/common/src/types/generated/checkLink_v3.d.ts +6 -0
- package/dist/common/src/types/generated/checkLink_v3.d.ts.map +1 -1
- package/dist/common/src/types/generated/config_v3.d.ts +6 -0
- package/dist/common/src/types/generated/config_v3.d.ts.map +1 -1
- package/dist/common/src/types/generated/goTo_v3.d.ts +6 -0
- package/dist/common/src/types/generated/goTo_v3.d.ts.map +1 -1
- package/dist/common/src/types/generated/resolvedTests_v3.d.ts +6 -0
- package/dist/common/src/types/generated/resolvedTests_v3.d.ts.map +1 -1
- package/dist/common/src/types/generated/screenshot_v3.d.ts +2 -2
- package/dist/common/src/types/generated/step_v3.d.ts +14 -2
- package/dist/common/src/types/generated/step_v3.d.ts.map +1 -1
- package/dist/common/src/types/generated/test_v3.d.ts +28 -4
- package/dist/common/src/types/generated/test_v3.d.ts.map +1 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +10 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/integrations/heretto.d.ts.map +1 -1
- package/dist/core/integrations/heretto.js +6 -1
- package/dist/core/integrations/heretto.js.map +1 -1
- package/dist/core/tests/checkLink.d.ts.map +1 -1
- package/dist/core/tests/checkLink.js +17 -2
- package/dist/core/tests/checkLink.js.map +1 -1
- package/dist/core/tests/goTo.d.ts.map +1 -1
- package/dist/core/tests/goTo.js +17 -2
- package/dist/core/tests/goTo.js.map +1 -1
- package/dist/core/tests/loadCookie.d.ts.map +1 -1
- package/dist/core/tests/loadCookie.js +12 -2
- package/dist/core/tests/loadCookie.js.map +1 -1
- package/dist/core/tests/saveScreenshot.d.ts +15 -1
- package/dist/core/tests/saveScreenshot.d.ts.map +1 -1
- package/dist/core/tests/saveScreenshot.js +171 -50
- package/dist/core/tests/saveScreenshot.js.map +1 -1
- package/dist/core/utils.d.ts +9 -2
- package/dist/core/utils.d.ts.map +1 -1
- package/dist/core/utils.js +234 -14
- package/dist/core/utils.js.map +1 -1
- package/dist/index.cjs +1235 -181
- package/package.json +16 -2
package/dist/index.cjs
CHANGED
|
@@ -83,6 +83,14 @@ var schemas_default = {
|
|
|
83
83
|
"trim"
|
|
84
84
|
]
|
|
85
85
|
},
|
|
86
|
+
params: {
|
|
87
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
88
|
+
type: "object",
|
|
89
|
+
additionalProperties: {
|
|
90
|
+
type: "string"
|
|
91
|
+
},
|
|
92
|
+
default: {}
|
|
93
|
+
},
|
|
86
94
|
statusCodes: {
|
|
87
95
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
88
96
|
anyOf: [
|
|
@@ -166,6 +174,14 @@ var schemas_default = {
|
|
|
166
174
|
"trim"
|
|
167
175
|
]
|
|
168
176
|
},
|
|
177
|
+
params: {
|
|
178
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
179
|
+
type: "object",
|
|
180
|
+
additionalProperties: {
|
|
181
|
+
type: "string"
|
|
182
|
+
},
|
|
183
|
+
default: {}
|
|
184
|
+
},
|
|
169
185
|
statusCodes: {
|
|
170
186
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
171
187
|
anyOf: [
|
|
@@ -228,6 +244,13 @@ var schemas_default = {
|
|
|
228
244
|
statusCodes: [
|
|
229
245
|
200
|
|
230
246
|
]
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
url: "/health",
|
|
250
|
+
origin: "https://my-app.com",
|
|
251
|
+
params: {
|
|
252
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
253
|
+
}
|
|
231
254
|
}
|
|
232
255
|
]
|
|
233
256
|
},
|
|
@@ -573,6 +596,14 @@ var schemas_default = {
|
|
|
573
596
|
description: "Default protocol and domain to use for relative URLs.",
|
|
574
597
|
type: "string"
|
|
575
598
|
},
|
|
599
|
+
originParams: {
|
|
600
|
+
description: "Query parameters to append to URLs resolved against `origin`. Values support environment variable substitution via `$VAR` syntax. Step-level `params` on `goTo` / `checkLink` are merged on top of these, with step keys winning on collision. WARNING: values are embedded in request URLs and appear verbatim in test results, logs, and reports \u2014 avoid putting long-lived secrets here.",
|
|
601
|
+
type: "object",
|
|
602
|
+
additionalProperties: {
|
|
603
|
+
type: "string"
|
|
604
|
+
},
|
|
605
|
+
default: {}
|
|
606
|
+
},
|
|
576
607
|
beforeAny: {
|
|
577
608
|
description: "Path(s) to test specifications to perform before those specified by `input`. Useful for setting up testing environments.",
|
|
578
609
|
anyOf: [
|
|
@@ -1587,6 +1618,14 @@ var schemas_default = {
|
|
|
1587
1618
|
"trim"
|
|
1588
1619
|
]
|
|
1589
1620
|
},
|
|
1621
|
+
params: {
|
|
1622
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
1623
|
+
type: "object",
|
|
1624
|
+
additionalProperties: {
|
|
1625
|
+
type: "string"
|
|
1626
|
+
},
|
|
1627
|
+
default: {}
|
|
1628
|
+
},
|
|
1590
1629
|
statusCodes: {
|
|
1591
1630
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
1592
1631
|
anyOf: [
|
|
@@ -1670,6 +1709,14 @@ var schemas_default = {
|
|
|
1670
1709
|
"trim"
|
|
1671
1710
|
]
|
|
1672
1711
|
},
|
|
1712
|
+
params: {
|
|
1713
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
1714
|
+
type: "object",
|
|
1715
|
+
additionalProperties: {
|
|
1716
|
+
type: "string"
|
|
1717
|
+
},
|
|
1718
|
+
default: {}
|
|
1719
|
+
},
|
|
1673
1720
|
statusCodes: {
|
|
1674
1721
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
1675
1722
|
anyOf: [
|
|
@@ -1732,6 +1779,13 @@ var schemas_default = {
|
|
|
1732
1779
|
statusCodes: [
|
|
1733
1780
|
200
|
|
1734
1781
|
]
|
|
1782
|
+
},
|
|
1783
|
+
{
|
|
1784
|
+
url: "/health",
|
|
1785
|
+
origin: "https://my-app.com",
|
|
1786
|
+
params: {
|
|
1787
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
1788
|
+
}
|
|
1735
1789
|
}
|
|
1736
1790
|
]
|
|
1737
1791
|
}
|
|
@@ -3672,6 +3726,14 @@ var schemas_default = {
|
|
|
3672
3726
|
"trim"
|
|
3673
3727
|
]
|
|
3674
3728
|
},
|
|
3729
|
+
params: {
|
|
3730
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
3731
|
+
type: "object",
|
|
3732
|
+
additionalProperties: {
|
|
3733
|
+
type: "string"
|
|
3734
|
+
},
|
|
3735
|
+
default: {}
|
|
3736
|
+
},
|
|
3675
3737
|
timeout: {
|
|
3676
3738
|
type: "integer",
|
|
3677
3739
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -3844,6 +3906,14 @@ var schemas_default = {
|
|
|
3844
3906
|
"trim"
|
|
3845
3907
|
]
|
|
3846
3908
|
},
|
|
3909
|
+
params: {
|
|
3910
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
3911
|
+
type: "object",
|
|
3912
|
+
additionalProperties: {
|
|
3913
|
+
type: "string"
|
|
3914
|
+
},
|
|
3915
|
+
default: {}
|
|
3916
|
+
},
|
|
3847
3917
|
timeout: {
|
|
3848
3918
|
type: "integer",
|
|
3849
3919
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -3993,6 +4063,13 @@ var schemas_default = {
|
|
|
3993
4063
|
url: "/search",
|
|
3994
4064
|
origin: "https://www.google.com"
|
|
3995
4065
|
},
|
|
4066
|
+
{
|
|
4067
|
+
url: "/dashboard",
|
|
4068
|
+
origin: "https://my-app.com",
|
|
4069
|
+
params: {
|
|
4070
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
4071
|
+
}
|
|
4072
|
+
},
|
|
3996
4073
|
{
|
|
3997
4074
|
url: "https://www.example.com",
|
|
3998
4075
|
waitUntil: {
|
|
@@ -6258,9 +6335,9 @@ var schemas_default = {
|
|
|
6258
6335
|
anyOf: [
|
|
6259
6336
|
{
|
|
6260
6337
|
title: "Screenshot (simple)",
|
|
6261
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
6338
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
6262
6339
|
type: "string",
|
|
6263
|
-
pattern: "([A-Za-z0-9_
|
|
6340
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
6264
6341
|
transform: [
|
|
6265
6342
|
"trim"
|
|
6266
6343
|
]
|
|
@@ -6271,9 +6348,9 @@ var schemas_default = {
|
|
|
6271
6348
|
properties: {
|
|
6272
6349
|
path: {
|
|
6273
6350
|
title: "Screenshot (simple)",
|
|
6274
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
6351
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
6275
6352
|
type: "string",
|
|
6276
|
-
pattern: "([A-Za-z0-9_
|
|
6353
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
6277
6354
|
transform: [
|
|
6278
6355
|
"trim"
|
|
6279
6356
|
]
|
|
@@ -6504,9 +6581,9 @@ var schemas_default = {
|
|
|
6504
6581
|
schemas: {
|
|
6505
6582
|
path: {
|
|
6506
6583
|
title: "Screenshot (simple)",
|
|
6507
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
6584
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
6508
6585
|
type: "string",
|
|
6509
|
-
pattern: "([A-Za-z0-9_
|
|
6586
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
6510
6587
|
transform: [
|
|
6511
6588
|
"trim"
|
|
6512
6589
|
]
|
|
@@ -6517,9 +6594,9 @@ var schemas_default = {
|
|
|
6517
6594
|
properties: {
|
|
6518
6595
|
path: {
|
|
6519
6596
|
title: "Screenshot (simple)",
|
|
6520
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
6597
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
6521
6598
|
type: "string",
|
|
6522
|
-
pattern: "([A-Za-z0-9_
|
|
6599
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
6523
6600
|
transform: [
|
|
6524
6601
|
"trim"
|
|
6525
6602
|
]
|
|
@@ -6901,6 +6978,12 @@ var schemas_default = {
|
|
|
6901
6978
|
"image.png",
|
|
6902
6979
|
"static/images/image.png",
|
|
6903
6980
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
6981
|
+
"https://example.com/static/images/image.png",
|
|
6982
|
+
{
|
|
6983
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
6984
|
+
maxVariation: 0.05,
|
|
6985
|
+
overwrite: "aboveVariation"
|
|
6986
|
+
},
|
|
6904
6987
|
{
|
|
6905
6988
|
path: "image.png",
|
|
6906
6989
|
directory: "static/images",
|
|
@@ -10250,6 +10333,14 @@ var schemas_default = {
|
|
|
10250
10333
|
"trim"
|
|
10251
10334
|
]
|
|
10252
10335
|
},
|
|
10336
|
+
params: {
|
|
10337
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
10338
|
+
type: "object",
|
|
10339
|
+
additionalProperties: {
|
|
10340
|
+
type: "string"
|
|
10341
|
+
},
|
|
10342
|
+
default: {}
|
|
10343
|
+
},
|
|
10253
10344
|
statusCodes: {
|
|
10254
10345
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
10255
10346
|
anyOf: [
|
|
@@ -10333,6 +10424,14 @@ var schemas_default = {
|
|
|
10333
10424
|
"trim"
|
|
10334
10425
|
]
|
|
10335
10426
|
},
|
|
10427
|
+
params: {
|
|
10428
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
10429
|
+
type: "object",
|
|
10430
|
+
additionalProperties: {
|
|
10431
|
+
type: "string"
|
|
10432
|
+
},
|
|
10433
|
+
default: {}
|
|
10434
|
+
},
|
|
10336
10435
|
statusCodes: {
|
|
10337
10436
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
10338
10437
|
anyOf: [
|
|
@@ -10395,6 +10494,13 @@ var schemas_default = {
|
|
|
10395
10494
|
statusCodes: [
|
|
10396
10495
|
200
|
|
10397
10496
|
]
|
|
10497
|
+
},
|
|
10498
|
+
{
|
|
10499
|
+
url: "/health",
|
|
10500
|
+
origin: "https://my-app.com",
|
|
10501
|
+
params: {
|
|
10502
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
10503
|
+
}
|
|
10398
10504
|
}
|
|
10399
10505
|
]
|
|
10400
10506
|
}
|
|
@@ -12335,6 +12441,14 @@ var schemas_default = {
|
|
|
12335
12441
|
"trim"
|
|
12336
12442
|
]
|
|
12337
12443
|
},
|
|
12444
|
+
params: {
|
|
12445
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
12446
|
+
type: "object",
|
|
12447
|
+
additionalProperties: {
|
|
12448
|
+
type: "string"
|
|
12449
|
+
},
|
|
12450
|
+
default: {}
|
|
12451
|
+
},
|
|
12338
12452
|
timeout: {
|
|
12339
12453
|
type: "integer",
|
|
12340
12454
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -12507,6 +12621,14 @@ var schemas_default = {
|
|
|
12507
12621
|
"trim"
|
|
12508
12622
|
]
|
|
12509
12623
|
},
|
|
12624
|
+
params: {
|
|
12625
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
12626
|
+
type: "object",
|
|
12627
|
+
additionalProperties: {
|
|
12628
|
+
type: "string"
|
|
12629
|
+
},
|
|
12630
|
+
default: {}
|
|
12631
|
+
},
|
|
12510
12632
|
timeout: {
|
|
12511
12633
|
type: "integer",
|
|
12512
12634
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -12656,6 +12778,13 @@ var schemas_default = {
|
|
|
12656
12778
|
url: "/search",
|
|
12657
12779
|
origin: "https://www.google.com"
|
|
12658
12780
|
},
|
|
12781
|
+
{
|
|
12782
|
+
url: "/dashboard",
|
|
12783
|
+
origin: "https://my-app.com",
|
|
12784
|
+
params: {
|
|
12785
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
12786
|
+
}
|
|
12787
|
+
},
|
|
12659
12788
|
{
|
|
12660
12789
|
url: "https://www.example.com",
|
|
12661
12790
|
waitUntil: {
|
|
@@ -14921,9 +15050,9 @@ var schemas_default = {
|
|
|
14921
15050
|
anyOf: [
|
|
14922
15051
|
{
|
|
14923
15052
|
title: "Screenshot (simple)",
|
|
14924
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
15053
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
14925
15054
|
type: "string",
|
|
14926
|
-
pattern: "([A-Za-z0-9_
|
|
15055
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
14927
15056
|
transform: [
|
|
14928
15057
|
"trim"
|
|
14929
15058
|
]
|
|
@@ -14934,9 +15063,9 @@ var schemas_default = {
|
|
|
14934
15063
|
properties: {
|
|
14935
15064
|
path: {
|
|
14936
15065
|
title: "Screenshot (simple)",
|
|
14937
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
15066
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
14938
15067
|
type: "string",
|
|
14939
|
-
pattern: "([A-Za-z0-9_
|
|
15068
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
14940
15069
|
transform: [
|
|
14941
15070
|
"trim"
|
|
14942
15071
|
]
|
|
@@ -15167,9 +15296,9 @@ var schemas_default = {
|
|
|
15167
15296
|
schemas: {
|
|
15168
15297
|
path: {
|
|
15169
15298
|
title: "Screenshot (simple)",
|
|
15170
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
15299
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
15171
15300
|
type: "string",
|
|
15172
|
-
pattern: "([A-Za-z0-9_
|
|
15301
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
15173
15302
|
transform: [
|
|
15174
15303
|
"trim"
|
|
15175
15304
|
]
|
|
@@ -15180,9 +15309,9 @@ var schemas_default = {
|
|
|
15180
15309
|
properties: {
|
|
15181
15310
|
path: {
|
|
15182
15311
|
title: "Screenshot (simple)",
|
|
15183
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
15312
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
15184
15313
|
type: "string",
|
|
15185
|
-
pattern: "([A-Za-z0-9_
|
|
15314
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
15186
15315
|
transform: [
|
|
15187
15316
|
"trim"
|
|
15188
15317
|
]
|
|
@@ -15564,6 +15693,12 @@ var schemas_default = {
|
|
|
15564
15693
|
"image.png",
|
|
15565
15694
|
"static/images/image.png",
|
|
15566
15695
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
15696
|
+
"https://example.com/static/images/image.png",
|
|
15697
|
+
{
|
|
15698
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
15699
|
+
maxVariation: 0.05,
|
|
15700
|
+
overwrite: "aboveVariation"
|
|
15701
|
+
},
|
|
15567
15702
|
{
|
|
15568
15703
|
path: "image.png",
|
|
15569
15704
|
directory: "static/images",
|
|
@@ -17984,6 +18119,12 @@ var schemas_default = {
|
|
|
17984
18119
|
"html"
|
|
17985
18120
|
]
|
|
17986
18121
|
},
|
|
18122
|
+
{
|
|
18123
|
+
origin: "https://my-app.com",
|
|
18124
|
+
originParams: {
|
|
18125
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
18126
|
+
}
|
|
18127
|
+
},
|
|
17987
18128
|
{
|
|
17988
18129
|
fileTypes: [
|
|
17989
18130
|
{
|
|
@@ -20349,6 +20490,14 @@ var schemas_default = {
|
|
|
20349
20490
|
"trim"
|
|
20350
20491
|
]
|
|
20351
20492
|
},
|
|
20493
|
+
params: {
|
|
20494
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
20495
|
+
type: "object",
|
|
20496
|
+
additionalProperties: {
|
|
20497
|
+
type: "string"
|
|
20498
|
+
},
|
|
20499
|
+
default: {}
|
|
20500
|
+
},
|
|
20352
20501
|
timeout: {
|
|
20353
20502
|
type: "integer",
|
|
20354
20503
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -20521,6 +20670,14 @@ var schemas_default = {
|
|
|
20521
20670
|
"trim"
|
|
20522
20671
|
]
|
|
20523
20672
|
},
|
|
20673
|
+
params: {
|
|
20674
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
20675
|
+
type: "object",
|
|
20676
|
+
additionalProperties: {
|
|
20677
|
+
type: "string"
|
|
20678
|
+
},
|
|
20679
|
+
default: {}
|
|
20680
|
+
},
|
|
20524
20681
|
timeout: {
|
|
20525
20682
|
type: "integer",
|
|
20526
20683
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -20670,6 +20827,13 @@ var schemas_default = {
|
|
|
20670
20827
|
url: "/search",
|
|
20671
20828
|
origin: "https://www.google.com"
|
|
20672
20829
|
},
|
|
20830
|
+
{
|
|
20831
|
+
url: "/dashboard",
|
|
20832
|
+
origin: "https://my-app.com",
|
|
20833
|
+
params: {
|
|
20834
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
20835
|
+
}
|
|
20836
|
+
},
|
|
20673
20837
|
{
|
|
20674
20838
|
url: "https://www.example.com",
|
|
20675
20839
|
waitUntil: {
|
|
@@ -22329,6 +22493,14 @@ var schemas_default = {
|
|
|
22329
22493
|
description: "Default protocol and domain to use for relative URLs.",
|
|
22330
22494
|
type: "string"
|
|
22331
22495
|
},
|
|
22496
|
+
originParams: {
|
|
22497
|
+
description: "Query parameters to append to URLs resolved against `origin`. Values support environment variable substitution via `$VAR` syntax. Step-level `params` on `goTo` / `checkLink` are merged on top of these, with step keys winning on collision. WARNING: values are embedded in request URLs and appear verbatim in test results, logs, and reports \u2014 avoid putting long-lived secrets here.",
|
|
22498
|
+
type: "object",
|
|
22499
|
+
additionalProperties: {
|
|
22500
|
+
type: "string"
|
|
22501
|
+
},
|
|
22502
|
+
default: {}
|
|
22503
|
+
},
|
|
22332
22504
|
beforeAny: {
|
|
22333
22505
|
description: "Path(s) to test specifications to perform before those specified by `input`. Useful for setting up testing environments.",
|
|
22334
22506
|
anyOf: [
|
|
@@ -23343,6 +23515,14 @@ var schemas_default = {
|
|
|
23343
23515
|
"trim"
|
|
23344
23516
|
]
|
|
23345
23517
|
},
|
|
23518
|
+
params: {
|
|
23519
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
23520
|
+
type: "object",
|
|
23521
|
+
additionalProperties: {
|
|
23522
|
+
type: "string"
|
|
23523
|
+
},
|
|
23524
|
+
default: {}
|
|
23525
|
+
},
|
|
23346
23526
|
statusCodes: {
|
|
23347
23527
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
23348
23528
|
anyOf: [
|
|
@@ -23426,6 +23606,14 @@ var schemas_default = {
|
|
|
23426
23606
|
"trim"
|
|
23427
23607
|
]
|
|
23428
23608
|
},
|
|
23609
|
+
params: {
|
|
23610
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
23611
|
+
type: "object",
|
|
23612
|
+
additionalProperties: {
|
|
23613
|
+
type: "string"
|
|
23614
|
+
},
|
|
23615
|
+
default: {}
|
|
23616
|
+
},
|
|
23429
23617
|
statusCodes: {
|
|
23430
23618
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
23431
23619
|
anyOf: [
|
|
@@ -23488,6 +23676,13 @@ var schemas_default = {
|
|
|
23488
23676
|
statusCodes: [
|
|
23489
23677
|
200
|
|
23490
23678
|
]
|
|
23679
|
+
},
|
|
23680
|
+
{
|
|
23681
|
+
url: "/health",
|
|
23682
|
+
origin: "https://my-app.com",
|
|
23683
|
+
params: {
|
|
23684
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
23685
|
+
}
|
|
23491
23686
|
}
|
|
23492
23687
|
]
|
|
23493
23688
|
}
|
|
@@ -25428,6 +25623,14 @@ var schemas_default = {
|
|
|
25428
25623
|
"trim"
|
|
25429
25624
|
]
|
|
25430
25625
|
},
|
|
25626
|
+
params: {
|
|
25627
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
25628
|
+
type: "object",
|
|
25629
|
+
additionalProperties: {
|
|
25630
|
+
type: "string"
|
|
25631
|
+
},
|
|
25632
|
+
default: {}
|
|
25633
|
+
},
|
|
25431
25634
|
timeout: {
|
|
25432
25635
|
type: "integer",
|
|
25433
25636
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -25600,6 +25803,14 @@ var schemas_default = {
|
|
|
25600
25803
|
"trim"
|
|
25601
25804
|
]
|
|
25602
25805
|
},
|
|
25806
|
+
params: {
|
|
25807
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
25808
|
+
type: "object",
|
|
25809
|
+
additionalProperties: {
|
|
25810
|
+
type: "string"
|
|
25811
|
+
},
|
|
25812
|
+
default: {}
|
|
25813
|
+
},
|
|
25603
25814
|
timeout: {
|
|
25604
25815
|
type: "integer",
|
|
25605
25816
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -25749,6 +25960,13 @@ var schemas_default = {
|
|
|
25749
25960
|
url: "/search",
|
|
25750
25961
|
origin: "https://www.google.com"
|
|
25751
25962
|
},
|
|
25963
|
+
{
|
|
25964
|
+
url: "/dashboard",
|
|
25965
|
+
origin: "https://my-app.com",
|
|
25966
|
+
params: {
|
|
25967
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
25968
|
+
}
|
|
25969
|
+
},
|
|
25752
25970
|
{
|
|
25753
25971
|
url: "https://www.example.com",
|
|
25754
25972
|
waitUntil: {
|
|
@@ -28014,9 +28232,9 @@ var schemas_default = {
|
|
|
28014
28232
|
anyOf: [
|
|
28015
28233
|
{
|
|
28016
28234
|
title: "Screenshot (simple)",
|
|
28017
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
28235
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
28018
28236
|
type: "string",
|
|
28019
|
-
pattern: "([A-Za-z0-9_
|
|
28237
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
28020
28238
|
transform: [
|
|
28021
28239
|
"trim"
|
|
28022
28240
|
]
|
|
@@ -28027,9 +28245,9 @@ var schemas_default = {
|
|
|
28027
28245
|
properties: {
|
|
28028
28246
|
path: {
|
|
28029
28247
|
title: "Screenshot (simple)",
|
|
28030
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
28248
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
28031
28249
|
type: "string",
|
|
28032
|
-
pattern: "([A-Za-z0-9_
|
|
28250
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
28033
28251
|
transform: [
|
|
28034
28252
|
"trim"
|
|
28035
28253
|
]
|
|
@@ -28260,9 +28478,9 @@ var schemas_default = {
|
|
|
28260
28478
|
schemas: {
|
|
28261
28479
|
path: {
|
|
28262
28480
|
title: "Screenshot (simple)",
|
|
28263
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
28481
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
28264
28482
|
type: "string",
|
|
28265
|
-
pattern: "([A-Za-z0-9_
|
|
28483
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
28266
28484
|
transform: [
|
|
28267
28485
|
"trim"
|
|
28268
28486
|
]
|
|
@@ -28273,9 +28491,9 @@ var schemas_default = {
|
|
|
28273
28491
|
properties: {
|
|
28274
28492
|
path: {
|
|
28275
28493
|
title: "Screenshot (simple)",
|
|
28276
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
28494
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
28277
28495
|
type: "string",
|
|
28278
|
-
pattern: "([A-Za-z0-9_
|
|
28496
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
28279
28497
|
transform: [
|
|
28280
28498
|
"trim"
|
|
28281
28499
|
]
|
|
@@ -28657,6 +28875,12 @@ var schemas_default = {
|
|
|
28657
28875
|
"image.png",
|
|
28658
28876
|
"static/images/image.png",
|
|
28659
28877
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
28878
|
+
"https://example.com/static/images/image.png",
|
|
28879
|
+
{
|
|
28880
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
28881
|
+
maxVariation: 0.05,
|
|
28882
|
+
overwrite: "aboveVariation"
|
|
28883
|
+
},
|
|
28660
28884
|
{
|
|
28661
28885
|
path: "image.png",
|
|
28662
28886
|
directory: "static/images",
|
|
@@ -32006,6 +32230,14 @@ var schemas_default = {
|
|
|
32006
32230
|
"trim"
|
|
32007
32231
|
]
|
|
32008
32232
|
},
|
|
32233
|
+
params: {
|
|
32234
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
32235
|
+
type: "object",
|
|
32236
|
+
additionalProperties: {
|
|
32237
|
+
type: "string"
|
|
32238
|
+
},
|
|
32239
|
+
default: {}
|
|
32240
|
+
},
|
|
32009
32241
|
statusCodes: {
|
|
32010
32242
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
32011
32243
|
anyOf: [
|
|
@@ -32089,6 +32321,14 @@ var schemas_default = {
|
|
|
32089
32321
|
"trim"
|
|
32090
32322
|
]
|
|
32091
32323
|
},
|
|
32324
|
+
params: {
|
|
32325
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
32326
|
+
type: "object",
|
|
32327
|
+
additionalProperties: {
|
|
32328
|
+
type: "string"
|
|
32329
|
+
},
|
|
32330
|
+
default: {}
|
|
32331
|
+
},
|
|
32092
32332
|
statusCodes: {
|
|
32093
32333
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
32094
32334
|
anyOf: [
|
|
@@ -32151,6 +32391,13 @@ var schemas_default = {
|
|
|
32151
32391
|
statusCodes: [
|
|
32152
32392
|
200
|
|
32153
32393
|
]
|
|
32394
|
+
},
|
|
32395
|
+
{
|
|
32396
|
+
url: "/health",
|
|
32397
|
+
origin: "https://my-app.com",
|
|
32398
|
+
params: {
|
|
32399
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
32400
|
+
}
|
|
32154
32401
|
}
|
|
32155
32402
|
]
|
|
32156
32403
|
}
|
|
@@ -34091,6 +34338,14 @@ var schemas_default = {
|
|
|
34091
34338
|
"trim"
|
|
34092
34339
|
]
|
|
34093
34340
|
},
|
|
34341
|
+
params: {
|
|
34342
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
34343
|
+
type: "object",
|
|
34344
|
+
additionalProperties: {
|
|
34345
|
+
type: "string"
|
|
34346
|
+
},
|
|
34347
|
+
default: {}
|
|
34348
|
+
},
|
|
34094
34349
|
timeout: {
|
|
34095
34350
|
type: "integer",
|
|
34096
34351
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -34263,6 +34518,14 @@ var schemas_default = {
|
|
|
34263
34518
|
"trim"
|
|
34264
34519
|
]
|
|
34265
34520
|
},
|
|
34521
|
+
params: {
|
|
34522
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
34523
|
+
type: "object",
|
|
34524
|
+
additionalProperties: {
|
|
34525
|
+
type: "string"
|
|
34526
|
+
},
|
|
34527
|
+
default: {}
|
|
34528
|
+
},
|
|
34266
34529
|
timeout: {
|
|
34267
34530
|
type: "integer",
|
|
34268
34531
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -34412,6 +34675,13 @@ var schemas_default = {
|
|
|
34412
34675
|
url: "/search",
|
|
34413
34676
|
origin: "https://www.google.com"
|
|
34414
34677
|
},
|
|
34678
|
+
{
|
|
34679
|
+
url: "/dashboard",
|
|
34680
|
+
origin: "https://my-app.com",
|
|
34681
|
+
params: {
|
|
34682
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
34683
|
+
}
|
|
34684
|
+
},
|
|
34415
34685
|
{
|
|
34416
34686
|
url: "https://www.example.com",
|
|
34417
34687
|
waitUntil: {
|
|
@@ -36677,9 +36947,9 @@ var schemas_default = {
|
|
|
36677
36947
|
anyOf: [
|
|
36678
36948
|
{
|
|
36679
36949
|
title: "Screenshot (simple)",
|
|
36680
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
36950
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
36681
36951
|
type: "string",
|
|
36682
|
-
pattern: "([A-Za-z0-9_
|
|
36952
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
36683
36953
|
transform: [
|
|
36684
36954
|
"trim"
|
|
36685
36955
|
]
|
|
@@ -36690,9 +36960,9 @@ var schemas_default = {
|
|
|
36690
36960
|
properties: {
|
|
36691
36961
|
path: {
|
|
36692
36962
|
title: "Screenshot (simple)",
|
|
36693
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
36963
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
36694
36964
|
type: "string",
|
|
36695
|
-
pattern: "([A-Za-z0-9_
|
|
36965
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
36696
36966
|
transform: [
|
|
36697
36967
|
"trim"
|
|
36698
36968
|
]
|
|
@@ -36923,9 +37193,9 @@ var schemas_default = {
|
|
|
36923
37193
|
schemas: {
|
|
36924
37194
|
path: {
|
|
36925
37195
|
title: "Screenshot (simple)",
|
|
36926
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
37196
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
36927
37197
|
type: "string",
|
|
36928
|
-
pattern: "([A-Za-z0-9_
|
|
37198
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
36929
37199
|
transform: [
|
|
36930
37200
|
"trim"
|
|
36931
37201
|
]
|
|
@@ -36936,9 +37206,9 @@ var schemas_default = {
|
|
|
36936
37206
|
properties: {
|
|
36937
37207
|
path: {
|
|
36938
37208
|
title: "Screenshot (simple)",
|
|
36939
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
37209
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
36940
37210
|
type: "string",
|
|
36941
|
-
pattern: "([A-Za-z0-9_
|
|
37211
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
36942
37212
|
transform: [
|
|
36943
37213
|
"trim"
|
|
36944
37214
|
]
|
|
@@ -37320,6 +37590,12 @@ var schemas_default = {
|
|
|
37320
37590
|
"image.png",
|
|
37321
37591
|
"static/images/image.png",
|
|
37322
37592
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
37593
|
+
"https://example.com/static/images/image.png",
|
|
37594
|
+
{
|
|
37595
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
37596
|
+
maxVariation: 0.05,
|
|
37597
|
+
overwrite: "aboveVariation"
|
|
37598
|
+
},
|
|
37323
37599
|
{
|
|
37324
37600
|
path: "image.png",
|
|
37325
37601
|
directory: "static/images",
|
|
@@ -39740,6 +40016,12 @@ var schemas_default = {
|
|
|
39740
40016
|
"html"
|
|
39741
40017
|
]
|
|
39742
40018
|
},
|
|
40019
|
+
{
|
|
40020
|
+
origin: "https://my-app.com",
|
|
40021
|
+
originParams: {
|
|
40022
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
40023
|
+
}
|
|
40024
|
+
},
|
|
39743
40025
|
{
|
|
39744
40026
|
fileTypes: [
|
|
39745
40027
|
{
|
|
@@ -41363,6 +41645,14 @@ var schemas_default = {
|
|
|
41363
41645
|
"trim"
|
|
41364
41646
|
]
|
|
41365
41647
|
},
|
|
41648
|
+
params: {
|
|
41649
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
41650
|
+
type: "object",
|
|
41651
|
+
additionalProperties: {
|
|
41652
|
+
type: "string"
|
|
41653
|
+
},
|
|
41654
|
+
default: {}
|
|
41655
|
+
},
|
|
41366
41656
|
statusCodes: {
|
|
41367
41657
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
41368
41658
|
anyOf: [
|
|
@@ -41446,6 +41736,14 @@ var schemas_default = {
|
|
|
41446
41736
|
"trim"
|
|
41447
41737
|
]
|
|
41448
41738
|
},
|
|
41739
|
+
params: {
|
|
41740
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
41741
|
+
type: "object",
|
|
41742
|
+
additionalProperties: {
|
|
41743
|
+
type: "string"
|
|
41744
|
+
},
|
|
41745
|
+
default: {}
|
|
41746
|
+
},
|
|
41449
41747
|
statusCodes: {
|
|
41450
41748
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
41451
41749
|
anyOf: [
|
|
@@ -41508,6 +41806,13 @@ var schemas_default = {
|
|
|
41508
41806
|
statusCodes: [
|
|
41509
41807
|
200
|
|
41510
41808
|
]
|
|
41809
|
+
},
|
|
41810
|
+
{
|
|
41811
|
+
url: "/health",
|
|
41812
|
+
origin: "https://my-app.com",
|
|
41813
|
+
params: {
|
|
41814
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
41815
|
+
}
|
|
41511
41816
|
}
|
|
41512
41817
|
]
|
|
41513
41818
|
}
|
|
@@ -43448,6 +43753,14 @@ var schemas_default = {
|
|
|
43448
43753
|
"trim"
|
|
43449
43754
|
]
|
|
43450
43755
|
},
|
|
43756
|
+
params: {
|
|
43757
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
43758
|
+
type: "object",
|
|
43759
|
+
additionalProperties: {
|
|
43760
|
+
type: "string"
|
|
43761
|
+
},
|
|
43762
|
+
default: {}
|
|
43763
|
+
},
|
|
43451
43764
|
timeout: {
|
|
43452
43765
|
type: "integer",
|
|
43453
43766
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -43620,6 +43933,14 @@ var schemas_default = {
|
|
|
43620
43933
|
"trim"
|
|
43621
43934
|
]
|
|
43622
43935
|
},
|
|
43936
|
+
params: {
|
|
43937
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
43938
|
+
type: "object",
|
|
43939
|
+
additionalProperties: {
|
|
43940
|
+
type: "string"
|
|
43941
|
+
},
|
|
43942
|
+
default: {}
|
|
43943
|
+
},
|
|
43623
43944
|
timeout: {
|
|
43624
43945
|
type: "integer",
|
|
43625
43946
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -43769,6 +44090,13 @@ var schemas_default = {
|
|
|
43769
44090
|
url: "/search",
|
|
43770
44091
|
origin: "https://www.google.com"
|
|
43771
44092
|
},
|
|
44093
|
+
{
|
|
44094
|
+
url: "/dashboard",
|
|
44095
|
+
origin: "https://my-app.com",
|
|
44096
|
+
params: {
|
|
44097
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
44098
|
+
}
|
|
44099
|
+
},
|
|
43772
44100
|
{
|
|
43773
44101
|
url: "https://www.example.com",
|
|
43774
44102
|
waitUntil: {
|
|
@@ -46034,9 +46362,9 @@ var schemas_default = {
|
|
|
46034
46362
|
anyOf: [
|
|
46035
46363
|
{
|
|
46036
46364
|
title: "Screenshot (simple)",
|
|
46037
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
46365
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
46038
46366
|
type: "string",
|
|
46039
|
-
pattern: "([A-Za-z0-9_
|
|
46367
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
46040
46368
|
transform: [
|
|
46041
46369
|
"trim"
|
|
46042
46370
|
]
|
|
@@ -46047,9 +46375,9 @@ var schemas_default = {
|
|
|
46047
46375
|
properties: {
|
|
46048
46376
|
path: {
|
|
46049
46377
|
title: "Screenshot (simple)",
|
|
46050
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
46378
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
46051
46379
|
type: "string",
|
|
46052
|
-
pattern: "([A-Za-z0-9_
|
|
46380
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
46053
46381
|
transform: [
|
|
46054
46382
|
"trim"
|
|
46055
46383
|
]
|
|
@@ -46280,9 +46608,9 @@ var schemas_default = {
|
|
|
46280
46608
|
schemas: {
|
|
46281
46609
|
path: {
|
|
46282
46610
|
title: "Screenshot (simple)",
|
|
46283
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
46611
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
46284
46612
|
type: "string",
|
|
46285
|
-
pattern: "([A-Za-z0-9_
|
|
46613
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
46286
46614
|
transform: [
|
|
46287
46615
|
"trim"
|
|
46288
46616
|
]
|
|
@@ -46293,9 +46621,9 @@ var schemas_default = {
|
|
|
46293
46621
|
properties: {
|
|
46294
46622
|
path: {
|
|
46295
46623
|
title: "Screenshot (simple)",
|
|
46296
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
46624
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
46297
46625
|
type: "string",
|
|
46298
|
-
pattern: "([A-Za-z0-9_
|
|
46626
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
46299
46627
|
transform: [
|
|
46300
46628
|
"trim"
|
|
46301
46629
|
]
|
|
@@ -46677,6 +47005,12 @@ var schemas_default = {
|
|
|
46677
47005
|
"image.png",
|
|
46678
47006
|
"static/images/image.png",
|
|
46679
47007
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
47008
|
+
"https://example.com/static/images/image.png",
|
|
47009
|
+
{
|
|
47010
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
47011
|
+
maxVariation: 0.05,
|
|
47012
|
+
overwrite: "aboveVariation"
|
|
47013
|
+
},
|
|
46680
47014
|
{
|
|
46681
47015
|
path: "image.png",
|
|
46682
47016
|
directory: "static/images",
|
|
@@ -49500,6 +49834,14 @@ var schemas_default = {
|
|
|
49500
49834
|
"trim"
|
|
49501
49835
|
]
|
|
49502
49836
|
},
|
|
49837
|
+
params: {
|
|
49838
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
49839
|
+
type: "object",
|
|
49840
|
+
additionalProperties: {
|
|
49841
|
+
type: "string"
|
|
49842
|
+
},
|
|
49843
|
+
default: {}
|
|
49844
|
+
},
|
|
49503
49845
|
statusCodes: {
|
|
49504
49846
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
49505
49847
|
anyOf: [
|
|
@@ -49583,6 +49925,14 @@ var schemas_default = {
|
|
|
49583
49925
|
"trim"
|
|
49584
49926
|
]
|
|
49585
49927
|
},
|
|
49928
|
+
params: {
|
|
49929
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
49930
|
+
type: "object",
|
|
49931
|
+
additionalProperties: {
|
|
49932
|
+
type: "string"
|
|
49933
|
+
},
|
|
49934
|
+
default: {}
|
|
49935
|
+
},
|
|
49586
49936
|
statusCodes: {
|
|
49587
49937
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
49588
49938
|
anyOf: [
|
|
@@ -49645,6 +49995,13 @@ var schemas_default = {
|
|
|
49645
49995
|
statusCodes: [
|
|
49646
49996
|
200
|
|
49647
49997
|
]
|
|
49998
|
+
},
|
|
49999
|
+
{
|
|
50000
|
+
url: "/health",
|
|
50001
|
+
origin: "https://my-app.com",
|
|
50002
|
+
params: {
|
|
50003
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
50004
|
+
}
|
|
49648
50005
|
}
|
|
49649
50006
|
]
|
|
49650
50007
|
}
|
|
@@ -51585,6 +51942,14 @@ var schemas_default = {
|
|
|
51585
51942
|
"trim"
|
|
51586
51943
|
]
|
|
51587
51944
|
},
|
|
51945
|
+
params: {
|
|
51946
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
51947
|
+
type: "object",
|
|
51948
|
+
additionalProperties: {
|
|
51949
|
+
type: "string"
|
|
51950
|
+
},
|
|
51951
|
+
default: {}
|
|
51952
|
+
},
|
|
51588
51953
|
timeout: {
|
|
51589
51954
|
type: "integer",
|
|
51590
51955
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -51757,6 +52122,14 @@ var schemas_default = {
|
|
|
51757
52122
|
"trim"
|
|
51758
52123
|
]
|
|
51759
52124
|
},
|
|
52125
|
+
params: {
|
|
52126
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
52127
|
+
type: "object",
|
|
52128
|
+
additionalProperties: {
|
|
52129
|
+
type: "string"
|
|
52130
|
+
},
|
|
52131
|
+
default: {}
|
|
52132
|
+
},
|
|
51760
52133
|
timeout: {
|
|
51761
52134
|
type: "integer",
|
|
51762
52135
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -51906,6 +52279,13 @@ var schemas_default = {
|
|
|
51906
52279
|
url: "/search",
|
|
51907
52280
|
origin: "https://www.google.com"
|
|
51908
52281
|
},
|
|
52282
|
+
{
|
|
52283
|
+
url: "/dashboard",
|
|
52284
|
+
origin: "https://my-app.com",
|
|
52285
|
+
params: {
|
|
52286
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
52287
|
+
}
|
|
52288
|
+
},
|
|
51909
52289
|
{
|
|
51910
52290
|
url: "https://www.example.com",
|
|
51911
52291
|
waitUntil: {
|
|
@@ -54171,9 +54551,9 @@ var schemas_default = {
|
|
|
54171
54551
|
anyOf: [
|
|
54172
54552
|
{
|
|
54173
54553
|
title: "Screenshot (simple)",
|
|
54174
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
54554
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
54175
54555
|
type: "string",
|
|
54176
|
-
pattern: "([A-Za-z0-9_
|
|
54556
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
54177
54557
|
transform: [
|
|
54178
54558
|
"trim"
|
|
54179
54559
|
]
|
|
@@ -54184,9 +54564,9 @@ var schemas_default = {
|
|
|
54184
54564
|
properties: {
|
|
54185
54565
|
path: {
|
|
54186
54566
|
title: "Screenshot (simple)",
|
|
54187
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
54567
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
54188
54568
|
type: "string",
|
|
54189
|
-
pattern: "([A-Za-z0-9_
|
|
54569
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
54190
54570
|
transform: [
|
|
54191
54571
|
"trim"
|
|
54192
54572
|
]
|
|
@@ -54417,9 +54797,9 @@ var schemas_default = {
|
|
|
54417
54797
|
schemas: {
|
|
54418
54798
|
path: {
|
|
54419
54799
|
title: "Screenshot (simple)",
|
|
54420
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
54800
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
54421
54801
|
type: "string",
|
|
54422
|
-
pattern: "([A-Za-z0-9_
|
|
54802
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
54423
54803
|
transform: [
|
|
54424
54804
|
"trim"
|
|
54425
54805
|
]
|
|
@@ -54430,9 +54810,9 @@ var schemas_default = {
|
|
|
54430
54810
|
properties: {
|
|
54431
54811
|
path: {
|
|
54432
54812
|
title: "Screenshot (simple)",
|
|
54433
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
54813
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
54434
54814
|
type: "string",
|
|
54435
|
-
pattern: "([A-Za-z0-9_
|
|
54815
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
54436
54816
|
transform: [
|
|
54437
54817
|
"trim"
|
|
54438
54818
|
]
|
|
@@ -54814,6 +55194,12 @@ var schemas_default = {
|
|
|
54814
55194
|
"image.png",
|
|
54815
55195
|
"static/images/image.png",
|
|
54816
55196
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
55197
|
+
"https://example.com/static/images/image.png",
|
|
55198
|
+
{
|
|
55199
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
55200
|
+
maxVariation: 0.05,
|
|
55201
|
+
overwrite: "aboveVariation"
|
|
55202
|
+
},
|
|
54817
55203
|
{
|
|
54818
55204
|
path: "image.png",
|
|
54819
55205
|
directory: "static/images",
|
|
@@ -59347,6 +59733,14 @@ var schemas_default = {
|
|
|
59347
59733
|
"trim"
|
|
59348
59734
|
]
|
|
59349
59735
|
},
|
|
59736
|
+
params: {
|
|
59737
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
59738
|
+
type: "object",
|
|
59739
|
+
additionalProperties: {
|
|
59740
|
+
type: "string"
|
|
59741
|
+
},
|
|
59742
|
+
default: {}
|
|
59743
|
+
},
|
|
59350
59744
|
statusCodes: {
|
|
59351
59745
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
59352
59746
|
anyOf: [
|
|
@@ -59430,6 +59824,14 @@ var schemas_default = {
|
|
|
59430
59824
|
"trim"
|
|
59431
59825
|
]
|
|
59432
59826
|
},
|
|
59827
|
+
params: {
|
|
59828
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
59829
|
+
type: "object",
|
|
59830
|
+
additionalProperties: {
|
|
59831
|
+
type: "string"
|
|
59832
|
+
},
|
|
59833
|
+
default: {}
|
|
59834
|
+
},
|
|
59433
59835
|
statusCodes: {
|
|
59434
59836
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
59435
59837
|
anyOf: [
|
|
@@ -59492,6 +59894,13 @@ var schemas_default = {
|
|
|
59492
59894
|
statusCodes: [
|
|
59493
59895
|
200
|
|
59494
59896
|
]
|
|
59897
|
+
},
|
|
59898
|
+
{
|
|
59899
|
+
url: "/health",
|
|
59900
|
+
origin: "https://my-app.com",
|
|
59901
|
+
params: {
|
|
59902
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
59903
|
+
}
|
|
59495
59904
|
}
|
|
59496
59905
|
]
|
|
59497
59906
|
}
|
|
@@ -61432,6 +61841,14 @@ var schemas_default = {
|
|
|
61432
61841
|
"trim"
|
|
61433
61842
|
]
|
|
61434
61843
|
},
|
|
61844
|
+
params: {
|
|
61845
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
61846
|
+
type: "object",
|
|
61847
|
+
additionalProperties: {
|
|
61848
|
+
type: "string"
|
|
61849
|
+
},
|
|
61850
|
+
default: {}
|
|
61851
|
+
},
|
|
61435
61852
|
timeout: {
|
|
61436
61853
|
type: "integer",
|
|
61437
61854
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -61604,6 +62021,14 @@ var schemas_default = {
|
|
|
61604
62021
|
"trim"
|
|
61605
62022
|
]
|
|
61606
62023
|
},
|
|
62024
|
+
params: {
|
|
62025
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
62026
|
+
type: "object",
|
|
62027
|
+
additionalProperties: {
|
|
62028
|
+
type: "string"
|
|
62029
|
+
},
|
|
62030
|
+
default: {}
|
|
62031
|
+
},
|
|
61607
62032
|
timeout: {
|
|
61608
62033
|
type: "integer",
|
|
61609
62034
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -61753,6 +62178,13 @@ var schemas_default = {
|
|
|
61753
62178
|
url: "/search",
|
|
61754
62179
|
origin: "https://www.google.com"
|
|
61755
62180
|
},
|
|
62181
|
+
{
|
|
62182
|
+
url: "/dashboard",
|
|
62183
|
+
origin: "https://my-app.com",
|
|
62184
|
+
params: {
|
|
62185
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
62186
|
+
}
|
|
62187
|
+
},
|
|
61756
62188
|
{
|
|
61757
62189
|
url: "https://www.example.com",
|
|
61758
62190
|
waitUntil: {
|
|
@@ -64018,9 +64450,9 @@ var schemas_default = {
|
|
|
64018
64450
|
anyOf: [
|
|
64019
64451
|
{
|
|
64020
64452
|
title: "Screenshot (simple)",
|
|
64021
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
64453
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
64022
64454
|
type: "string",
|
|
64023
|
-
pattern: "([A-Za-z0-9_
|
|
64455
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
64024
64456
|
transform: [
|
|
64025
64457
|
"trim"
|
|
64026
64458
|
]
|
|
@@ -64031,9 +64463,9 @@ var schemas_default = {
|
|
|
64031
64463
|
properties: {
|
|
64032
64464
|
path: {
|
|
64033
64465
|
title: "Screenshot (simple)",
|
|
64034
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
64466
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
64035
64467
|
type: "string",
|
|
64036
|
-
pattern: "([A-Za-z0-9_
|
|
64468
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
64037
64469
|
transform: [
|
|
64038
64470
|
"trim"
|
|
64039
64471
|
]
|
|
@@ -64264,9 +64696,9 @@ var schemas_default = {
|
|
|
64264
64696
|
schemas: {
|
|
64265
64697
|
path: {
|
|
64266
64698
|
title: "Screenshot (simple)",
|
|
64267
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
64699
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
64268
64700
|
type: "string",
|
|
64269
|
-
pattern: "([A-Za-z0-9_
|
|
64701
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
64270
64702
|
transform: [
|
|
64271
64703
|
"trim"
|
|
64272
64704
|
]
|
|
@@ -64277,9 +64709,9 @@ var schemas_default = {
|
|
|
64277
64709
|
properties: {
|
|
64278
64710
|
path: {
|
|
64279
64711
|
title: "Screenshot (simple)",
|
|
64280
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
64712
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
64281
64713
|
type: "string",
|
|
64282
|
-
pattern: "([A-Za-z0-9_
|
|
64714
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
64283
64715
|
transform: [
|
|
64284
64716
|
"trim"
|
|
64285
64717
|
]
|
|
@@ -64661,6 +65093,12 @@ var schemas_default = {
|
|
|
64661
65093
|
"image.png",
|
|
64662
65094
|
"static/images/image.png",
|
|
64663
65095
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
65096
|
+
"https://example.com/static/images/image.png",
|
|
65097
|
+
{
|
|
65098
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
65099
|
+
maxVariation: 0.05,
|
|
65100
|
+
overwrite: "aboveVariation"
|
|
65101
|
+
},
|
|
64664
65102
|
{
|
|
64665
65103
|
path: "image.png",
|
|
64666
65104
|
directory: "static/images",
|
|
@@ -67484,6 +67922,14 @@ var schemas_default = {
|
|
|
67484
67922
|
"trim"
|
|
67485
67923
|
]
|
|
67486
67924
|
},
|
|
67925
|
+
params: {
|
|
67926
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
67927
|
+
type: "object",
|
|
67928
|
+
additionalProperties: {
|
|
67929
|
+
type: "string"
|
|
67930
|
+
},
|
|
67931
|
+
default: {}
|
|
67932
|
+
},
|
|
67487
67933
|
statusCodes: {
|
|
67488
67934
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
67489
67935
|
anyOf: [
|
|
@@ -67567,6 +68013,14 @@ var schemas_default = {
|
|
|
67567
68013
|
"trim"
|
|
67568
68014
|
]
|
|
67569
68015
|
},
|
|
68016
|
+
params: {
|
|
68017
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
68018
|
+
type: "object",
|
|
68019
|
+
additionalProperties: {
|
|
68020
|
+
type: "string"
|
|
68021
|
+
},
|
|
68022
|
+
default: {}
|
|
68023
|
+
},
|
|
67570
68024
|
statusCodes: {
|
|
67571
68025
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
67572
68026
|
anyOf: [
|
|
@@ -67629,6 +68083,13 @@ var schemas_default = {
|
|
|
67629
68083
|
statusCodes: [
|
|
67630
68084
|
200
|
|
67631
68085
|
]
|
|
68086
|
+
},
|
|
68087
|
+
{
|
|
68088
|
+
url: "/health",
|
|
68089
|
+
origin: "https://my-app.com",
|
|
68090
|
+
params: {
|
|
68091
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
68092
|
+
}
|
|
67632
68093
|
}
|
|
67633
68094
|
]
|
|
67634
68095
|
}
|
|
@@ -69569,6 +70030,14 @@ var schemas_default = {
|
|
|
69569
70030
|
"trim"
|
|
69570
70031
|
]
|
|
69571
70032
|
},
|
|
70033
|
+
params: {
|
|
70034
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
70035
|
+
type: "object",
|
|
70036
|
+
additionalProperties: {
|
|
70037
|
+
type: "string"
|
|
70038
|
+
},
|
|
70039
|
+
default: {}
|
|
70040
|
+
},
|
|
69572
70041
|
timeout: {
|
|
69573
70042
|
type: "integer",
|
|
69574
70043
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -69741,6 +70210,14 @@ var schemas_default = {
|
|
|
69741
70210
|
"trim"
|
|
69742
70211
|
]
|
|
69743
70212
|
},
|
|
70213
|
+
params: {
|
|
70214
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
70215
|
+
type: "object",
|
|
70216
|
+
additionalProperties: {
|
|
70217
|
+
type: "string"
|
|
70218
|
+
},
|
|
70219
|
+
default: {}
|
|
70220
|
+
},
|
|
69744
70221
|
timeout: {
|
|
69745
70222
|
type: "integer",
|
|
69746
70223
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -69890,6 +70367,13 @@ var schemas_default = {
|
|
|
69890
70367
|
url: "/search",
|
|
69891
70368
|
origin: "https://www.google.com"
|
|
69892
70369
|
},
|
|
70370
|
+
{
|
|
70371
|
+
url: "/dashboard",
|
|
70372
|
+
origin: "https://my-app.com",
|
|
70373
|
+
params: {
|
|
70374
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
70375
|
+
}
|
|
70376
|
+
},
|
|
69893
70377
|
{
|
|
69894
70378
|
url: "https://www.example.com",
|
|
69895
70379
|
waitUntil: {
|
|
@@ -72155,9 +72639,9 @@ var schemas_default = {
|
|
|
72155
72639
|
anyOf: [
|
|
72156
72640
|
{
|
|
72157
72641
|
title: "Screenshot (simple)",
|
|
72158
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
72642
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
72159
72643
|
type: "string",
|
|
72160
|
-
pattern: "([A-Za-z0-9_
|
|
72644
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
72161
72645
|
transform: [
|
|
72162
72646
|
"trim"
|
|
72163
72647
|
]
|
|
@@ -72168,9 +72652,9 @@ var schemas_default = {
|
|
|
72168
72652
|
properties: {
|
|
72169
72653
|
path: {
|
|
72170
72654
|
title: "Screenshot (simple)",
|
|
72171
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
72655
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
72172
72656
|
type: "string",
|
|
72173
|
-
pattern: "([A-Za-z0-9_
|
|
72657
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
72174
72658
|
transform: [
|
|
72175
72659
|
"trim"
|
|
72176
72660
|
]
|
|
@@ -72401,9 +72885,9 @@ var schemas_default = {
|
|
|
72401
72885
|
schemas: {
|
|
72402
72886
|
path: {
|
|
72403
72887
|
title: "Screenshot (simple)",
|
|
72404
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
72888
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
72405
72889
|
type: "string",
|
|
72406
|
-
pattern: "([A-Za-z0-9_
|
|
72890
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
72407
72891
|
transform: [
|
|
72408
72892
|
"trim"
|
|
72409
72893
|
]
|
|
@@ -72414,9 +72898,9 @@ var schemas_default = {
|
|
|
72414
72898
|
properties: {
|
|
72415
72899
|
path: {
|
|
72416
72900
|
title: "Screenshot (simple)",
|
|
72417
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
72901
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
72418
72902
|
type: "string",
|
|
72419
|
-
pattern: "([A-Za-z0-9_
|
|
72903
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
72420
72904
|
transform: [
|
|
72421
72905
|
"trim"
|
|
72422
72906
|
]
|
|
@@ -72798,6 +73282,12 @@ var schemas_default = {
|
|
|
72798
73282
|
"image.png",
|
|
72799
73283
|
"static/images/image.png",
|
|
72800
73284
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
73285
|
+
"https://example.com/static/images/image.png",
|
|
73286
|
+
{
|
|
73287
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
73288
|
+
maxVariation: 0.05,
|
|
73289
|
+
overwrite: "aboveVariation"
|
|
73290
|
+
},
|
|
72801
73291
|
{
|
|
72802
73292
|
path: "image.png",
|
|
72803
73293
|
directory: "static/images",
|
|
@@ -76482,9 +76972,9 @@ var schemas_default = {
|
|
|
76482
76972
|
anyOf: [
|
|
76483
76973
|
{
|
|
76484
76974
|
title: "Screenshot (simple)",
|
|
76485
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
76975
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
76486
76976
|
type: "string",
|
|
76487
|
-
pattern: "([A-Za-z0-9_
|
|
76977
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
76488
76978
|
transform: [
|
|
76489
76979
|
"trim"
|
|
76490
76980
|
]
|
|
@@ -76495,9 +76985,9 @@ var schemas_default = {
|
|
|
76495
76985
|
properties: {
|
|
76496
76986
|
path: {
|
|
76497
76987
|
title: "Screenshot (simple)",
|
|
76498
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
76988
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
76499
76989
|
type: "string",
|
|
76500
|
-
pattern: "([A-Za-z0-9_
|
|
76990
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
76501
76991
|
transform: [
|
|
76502
76992
|
"trim"
|
|
76503
76993
|
]
|
|
@@ -76728,9 +77218,9 @@ var schemas_default = {
|
|
|
76728
77218
|
schemas: {
|
|
76729
77219
|
path: {
|
|
76730
77220
|
title: "Screenshot (simple)",
|
|
76731
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
77221
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
76732
77222
|
type: "string",
|
|
76733
|
-
pattern: "([A-Za-z0-9_
|
|
77223
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
76734
77224
|
transform: [
|
|
76735
77225
|
"trim"
|
|
76736
77226
|
]
|
|
@@ -76741,9 +77231,9 @@ var schemas_default = {
|
|
|
76741
77231
|
properties: {
|
|
76742
77232
|
path: {
|
|
76743
77233
|
title: "Screenshot (simple)",
|
|
76744
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
77234
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
76745
77235
|
type: "string",
|
|
76746
|
-
pattern: "([A-Za-z0-9_
|
|
77236
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
76747
77237
|
transform: [
|
|
76748
77238
|
"trim"
|
|
76749
77239
|
]
|
|
@@ -77125,6 +77615,12 @@ var schemas_default = {
|
|
|
77125
77615
|
"image.png",
|
|
77126
77616
|
"static/images/image.png",
|
|
77127
77617
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
77618
|
+
"https://example.com/static/images/image.png",
|
|
77619
|
+
{
|
|
77620
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
77621
|
+
maxVariation: 0.05,
|
|
77622
|
+
overwrite: "aboveVariation"
|
|
77623
|
+
},
|
|
77128
77624
|
{
|
|
77129
77625
|
path: "image.png",
|
|
77130
77626
|
directory: "static/images",
|
|
@@ -78713,6 +79209,14 @@ var schemas_default = {
|
|
|
78713
79209
|
"trim"
|
|
78714
79210
|
]
|
|
78715
79211
|
},
|
|
79212
|
+
params: {
|
|
79213
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
79214
|
+
type: "object",
|
|
79215
|
+
additionalProperties: {
|
|
79216
|
+
type: "string"
|
|
79217
|
+
},
|
|
79218
|
+
default: {}
|
|
79219
|
+
},
|
|
78716
79220
|
statusCodes: {
|
|
78717
79221
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
78718
79222
|
anyOf: [
|
|
@@ -78796,6 +79300,14 @@ var schemas_default = {
|
|
|
78796
79300
|
"trim"
|
|
78797
79301
|
]
|
|
78798
79302
|
},
|
|
79303
|
+
params: {
|
|
79304
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
79305
|
+
type: "object",
|
|
79306
|
+
additionalProperties: {
|
|
79307
|
+
type: "string"
|
|
79308
|
+
},
|
|
79309
|
+
default: {}
|
|
79310
|
+
},
|
|
78799
79311
|
statusCodes: {
|
|
78800
79312
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
78801
79313
|
anyOf: [
|
|
@@ -78858,6 +79370,13 @@ var schemas_default = {
|
|
|
78858
79370
|
statusCodes: [
|
|
78859
79371
|
200
|
|
78860
79372
|
]
|
|
79373
|
+
},
|
|
79374
|
+
{
|
|
79375
|
+
url: "/health",
|
|
79376
|
+
origin: "https://my-app.com",
|
|
79377
|
+
params: {
|
|
79378
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
79379
|
+
}
|
|
78861
79380
|
}
|
|
78862
79381
|
]
|
|
78863
79382
|
}
|
|
@@ -80798,6 +81317,14 @@ var schemas_default = {
|
|
|
80798
81317
|
"trim"
|
|
80799
81318
|
]
|
|
80800
81319
|
},
|
|
81320
|
+
params: {
|
|
81321
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
81322
|
+
type: "object",
|
|
81323
|
+
additionalProperties: {
|
|
81324
|
+
type: "string"
|
|
81325
|
+
},
|
|
81326
|
+
default: {}
|
|
81327
|
+
},
|
|
80801
81328
|
timeout: {
|
|
80802
81329
|
type: "integer",
|
|
80803
81330
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -80970,6 +81497,14 @@ var schemas_default = {
|
|
|
80970
81497
|
"trim"
|
|
80971
81498
|
]
|
|
80972
81499
|
},
|
|
81500
|
+
params: {
|
|
81501
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
81502
|
+
type: "object",
|
|
81503
|
+
additionalProperties: {
|
|
81504
|
+
type: "string"
|
|
81505
|
+
},
|
|
81506
|
+
default: {}
|
|
81507
|
+
},
|
|
80973
81508
|
timeout: {
|
|
80974
81509
|
type: "integer",
|
|
80975
81510
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -81119,6 +81654,13 @@ var schemas_default = {
|
|
|
81119
81654
|
url: "/search",
|
|
81120
81655
|
origin: "https://www.google.com"
|
|
81121
81656
|
},
|
|
81657
|
+
{
|
|
81658
|
+
url: "/dashboard",
|
|
81659
|
+
origin: "https://my-app.com",
|
|
81660
|
+
params: {
|
|
81661
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
81662
|
+
}
|
|
81663
|
+
},
|
|
81122
81664
|
{
|
|
81123
81665
|
url: "https://www.example.com",
|
|
81124
81666
|
waitUntil: {
|
|
@@ -83384,9 +83926,9 @@ var schemas_default = {
|
|
|
83384
83926
|
anyOf: [
|
|
83385
83927
|
{
|
|
83386
83928
|
title: "Screenshot (simple)",
|
|
83387
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
83929
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
83388
83930
|
type: "string",
|
|
83389
|
-
pattern: "([A-Za-z0-9_
|
|
83931
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
83390
83932
|
transform: [
|
|
83391
83933
|
"trim"
|
|
83392
83934
|
]
|
|
@@ -83397,9 +83939,9 @@ var schemas_default = {
|
|
|
83397
83939
|
properties: {
|
|
83398
83940
|
path: {
|
|
83399
83941
|
title: "Screenshot (simple)",
|
|
83400
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
83942
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
83401
83943
|
type: "string",
|
|
83402
|
-
pattern: "([A-Za-z0-9_
|
|
83944
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
83403
83945
|
transform: [
|
|
83404
83946
|
"trim"
|
|
83405
83947
|
]
|
|
@@ -83630,9 +84172,9 @@ var schemas_default = {
|
|
|
83630
84172
|
schemas: {
|
|
83631
84173
|
path: {
|
|
83632
84174
|
title: "Screenshot (simple)",
|
|
83633
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
84175
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
83634
84176
|
type: "string",
|
|
83635
|
-
pattern: "([A-Za-z0-9_
|
|
84177
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
83636
84178
|
transform: [
|
|
83637
84179
|
"trim"
|
|
83638
84180
|
]
|
|
@@ -83643,9 +84185,9 @@ var schemas_default = {
|
|
|
83643
84185
|
properties: {
|
|
83644
84186
|
path: {
|
|
83645
84187
|
title: "Screenshot (simple)",
|
|
83646
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
84188
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
83647
84189
|
type: "string",
|
|
83648
|
-
pattern: "([A-Za-z0-9_
|
|
84190
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
83649
84191
|
transform: [
|
|
83650
84192
|
"trim"
|
|
83651
84193
|
]
|
|
@@ -84027,6 +84569,12 @@ var schemas_default = {
|
|
|
84027
84569
|
"image.png",
|
|
84028
84570
|
"static/images/image.png",
|
|
84029
84571
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
84572
|
+
"https://example.com/static/images/image.png",
|
|
84573
|
+
{
|
|
84574
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
84575
|
+
maxVariation: 0.05,
|
|
84576
|
+
overwrite: "aboveVariation"
|
|
84577
|
+
},
|
|
84030
84578
|
{
|
|
84031
84579
|
path: "image.png",
|
|
84032
84580
|
directory: "static/images",
|
|
@@ -86850,6 +87398,14 @@ var schemas_default = {
|
|
|
86850
87398
|
"trim"
|
|
86851
87399
|
]
|
|
86852
87400
|
},
|
|
87401
|
+
params: {
|
|
87402
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
87403
|
+
type: "object",
|
|
87404
|
+
additionalProperties: {
|
|
87405
|
+
type: "string"
|
|
87406
|
+
},
|
|
87407
|
+
default: {}
|
|
87408
|
+
},
|
|
86853
87409
|
statusCodes: {
|
|
86854
87410
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
86855
87411
|
anyOf: [
|
|
@@ -86933,6 +87489,14 @@ var schemas_default = {
|
|
|
86933
87489
|
"trim"
|
|
86934
87490
|
]
|
|
86935
87491
|
},
|
|
87492
|
+
params: {
|
|
87493
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
87494
|
+
type: "object",
|
|
87495
|
+
additionalProperties: {
|
|
87496
|
+
type: "string"
|
|
87497
|
+
},
|
|
87498
|
+
default: {}
|
|
87499
|
+
},
|
|
86936
87500
|
statusCodes: {
|
|
86937
87501
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
86938
87502
|
anyOf: [
|
|
@@ -86995,6 +87559,13 @@ var schemas_default = {
|
|
|
86995
87559
|
statusCodes: [
|
|
86996
87560
|
200
|
|
86997
87561
|
]
|
|
87562
|
+
},
|
|
87563
|
+
{
|
|
87564
|
+
url: "/health",
|
|
87565
|
+
origin: "https://my-app.com",
|
|
87566
|
+
params: {
|
|
87567
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
87568
|
+
}
|
|
86998
87569
|
}
|
|
86999
87570
|
]
|
|
87000
87571
|
}
|
|
@@ -88935,6 +89506,14 @@ var schemas_default = {
|
|
|
88935
89506
|
"trim"
|
|
88936
89507
|
]
|
|
88937
89508
|
},
|
|
89509
|
+
params: {
|
|
89510
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
89511
|
+
type: "object",
|
|
89512
|
+
additionalProperties: {
|
|
89513
|
+
type: "string"
|
|
89514
|
+
},
|
|
89515
|
+
default: {}
|
|
89516
|
+
},
|
|
88938
89517
|
timeout: {
|
|
88939
89518
|
type: "integer",
|
|
88940
89519
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -89107,6 +89686,14 @@ var schemas_default = {
|
|
|
89107
89686
|
"trim"
|
|
89108
89687
|
]
|
|
89109
89688
|
},
|
|
89689
|
+
params: {
|
|
89690
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
89691
|
+
type: "object",
|
|
89692
|
+
additionalProperties: {
|
|
89693
|
+
type: "string"
|
|
89694
|
+
},
|
|
89695
|
+
default: {}
|
|
89696
|
+
},
|
|
89110
89697
|
timeout: {
|
|
89111
89698
|
type: "integer",
|
|
89112
89699
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -89256,6 +89843,13 @@ var schemas_default = {
|
|
|
89256
89843
|
url: "/search",
|
|
89257
89844
|
origin: "https://www.google.com"
|
|
89258
89845
|
},
|
|
89846
|
+
{
|
|
89847
|
+
url: "/dashboard",
|
|
89848
|
+
origin: "https://my-app.com",
|
|
89849
|
+
params: {
|
|
89850
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
89851
|
+
}
|
|
89852
|
+
},
|
|
89259
89853
|
{
|
|
89260
89854
|
url: "https://www.example.com",
|
|
89261
89855
|
waitUntil: {
|
|
@@ -91521,9 +92115,9 @@ var schemas_default = {
|
|
|
91521
92115
|
anyOf: [
|
|
91522
92116
|
{
|
|
91523
92117
|
title: "Screenshot (simple)",
|
|
91524
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
92118
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
91525
92119
|
type: "string",
|
|
91526
|
-
pattern: "([A-Za-z0-9_
|
|
92120
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
91527
92121
|
transform: [
|
|
91528
92122
|
"trim"
|
|
91529
92123
|
]
|
|
@@ -91534,9 +92128,9 @@ var schemas_default = {
|
|
|
91534
92128
|
properties: {
|
|
91535
92129
|
path: {
|
|
91536
92130
|
title: "Screenshot (simple)",
|
|
91537
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
92131
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
91538
92132
|
type: "string",
|
|
91539
|
-
pattern: "([A-Za-z0-9_
|
|
92133
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
91540
92134
|
transform: [
|
|
91541
92135
|
"trim"
|
|
91542
92136
|
]
|
|
@@ -91767,9 +92361,9 @@ var schemas_default = {
|
|
|
91767
92361
|
schemas: {
|
|
91768
92362
|
path: {
|
|
91769
92363
|
title: "Screenshot (simple)",
|
|
91770
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
92364
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
91771
92365
|
type: "string",
|
|
91772
|
-
pattern: "([A-Za-z0-9_
|
|
92366
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
91773
92367
|
transform: [
|
|
91774
92368
|
"trim"
|
|
91775
92369
|
]
|
|
@@ -91780,9 +92374,9 @@ var schemas_default = {
|
|
|
91780
92374
|
properties: {
|
|
91781
92375
|
path: {
|
|
91782
92376
|
title: "Screenshot (simple)",
|
|
91783
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
92377
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
91784
92378
|
type: "string",
|
|
91785
|
-
pattern: "([A-Za-z0-9_
|
|
92379
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
91786
92380
|
transform: [
|
|
91787
92381
|
"trim"
|
|
91788
92382
|
]
|
|
@@ -92164,6 +92758,12 @@ var schemas_default = {
|
|
|
92164
92758
|
"image.png",
|
|
92165
92759
|
"static/images/image.png",
|
|
92166
92760
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
92761
|
+
"https://example.com/static/images/image.png",
|
|
92762
|
+
{
|
|
92763
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
92764
|
+
maxVariation: 0.05,
|
|
92765
|
+
overwrite: "aboveVariation"
|
|
92766
|
+
},
|
|
92167
92767
|
{
|
|
92168
92768
|
path: "image.png",
|
|
92169
92769
|
directory: "static/images",
|
|
@@ -95267,6 +95867,14 @@ var schemas_default = {
|
|
|
95267
95867
|
"trim"
|
|
95268
95868
|
]
|
|
95269
95869
|
},
|
|
95870
|
+
params: {
|
|
95871
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
95872
|
+
type: "object",
|
|
95873
|
+
additionalProperties: {
|
|
95874
|
+
type: "string"
|
|
95875
|
+
},
|
|
95876
|
+
default: {}
|
|
95877
|
+
},
|
|
95270
95878
|
statusCodes: {
|
|
95271
95879
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
95272
95880
|
anyOf: [
|
|
@@ -95350,6 +95958,14 @@ var schemas_default = {
|
|
|
95350
95958
|
"trim"
|
|
95351
95959
|
]
|
|
95352
95960
|
},
|
|
95961
|
+
params: {
|
|
95962
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
95963
|
+
type: "object",
|
|
95964
|
+
additionalProperties: {
|
|
95965
|
+
type: "string"
|
|
95966
|
+
},
|
|
95967
|
+
default: {}
|
|
95968
|
+
},
|
|
95353
95969
|
statusCodes: {
|
|
95354
95970
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
95355
95971
|
anyOf: [
|
|
@@ -95412,6 +96028,13 @@ var schemas_default = {
|
|
|
95412
96028
|
statusCodes: [
|
|
95413
96029
|
200
|
|
95414
96030
|
]
|
|
96031
|
+
},
|
|
96032
|
+
{
|
|
96033
|
+
url: "/health",
|
|
96034
|
+
origin: "https://my-app.com",
|
|
96035
|
+
params: {
|
|
96036
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
96037
|
+
}
|
|
95415
96038
|
}
|
|
95416
96039
|
]
|
|
95417
96040
|
}
|
|
@@ -97352,6 +97975,14 @@ var schemas_default = {
|
|
|
97352
97975
|
"trim"
|
|
97353
97976
|
]
|
|
97354
97977
|
},
|
|
97978
|
+
params: {
|
|
97979
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
97980
|
+
type: "object",
|
|
97981
|
+
additionalProperties: {
|
|
97982
|
+
type: "string"
|
|
97983
|
+
},
|
|
97984
|
+
default: {}
|
|
97985
|
+
},
|
|
97355
97986
|
timeout: {
|
|
97356
97987
|
type: "integer",
|
|
97357
97988
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -97524,6 +98155,14 @@ var schemas_default = {
|
|
|
97524
98155
|
"trim"
|
|
97525
98156
|
]
|
|
97526
98157
|
},
|
|
98158
|
+
params: {
|
|
98159
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
98160
|
+
type: "object",
|
|
98161
|
+
additionalProperties: {
|
|
98162
|
+
type: "string"
|
|
98163
|
+
},
|
|
98164
|
+
default: {}
|
|
98165
|
+
},
|
|
97527
98166
|
timeout: {
|
|
97528
98167
|
type: "integer",
|
|
97529
98168
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -97673,6 +98312,13 @@ var schemas_default = {
|
|
|
97673
98312
|
url: "/search",
|
|
97674
98313
|
origin: "https://www.google.com"
|
|
97675
98314
|
},
|
|
98315
|
+
{
|
|
98316
|
+
url: "/dashboard",
|
|
98317
|
+
origin: "https://my-app.com",
|
|
98318
|
+
params: {
|
|
98319
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
98320
|
+
}
|
|
98321
|
+
},
|
|
97676
98322
|
{
|
|
97677
98323
|
url: "https://www.example.com",
|
|
97678
98324
|
waitUntil: {
|
|
@@ -99938,9 +100584,9 @@ var schemas_default = {
|
|
|
99938
100584
|
anyOf: [
|
|
99939
100585
|
{
|
|
99940
100586
|
title: "Screenshot (simple)",
|
|
99941
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
100587
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
99942
100588
|
type: "string",
|
|
99943
|
-
pattern: "([A-Za-z0-9_
|
|
100589
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
99944
100590
|
transform: [
|
|
99945
100591
|
"trim"
|
|
99946
100592
|
]
|
|
@@ -99951,9 +100597,9 @@ var schemas_default = {
|
|
|
99951
100597
|
properties: {
|
|
99952
100598
|
path: {
|
|
99953
100599
|
title: "Screenshot (simple)",
|
|
99954
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
100600
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
99955
100601
|
type: "string",
|
|
99956
|
-
pattern: "([A-Za-z0-9_
|
|
100602
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
99957
100603
|
transform: [
|
|
99958
100604
|
"trim"
|
|
99959
100605
|
]
|
|
@@ -100184,9 +100830,9 @@ var schemas_default = {
|
|
|
100184
100830
|
schemas: {
|
|
100185
100831
|
path: {
|
|
100186
100832
|
title: "Screenshot (simple)",
|
|
100187
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
100833
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
100188
100834
|
type: "string",
|
|
100189
|
-
pattern: "([A-Za-z0-9_
|
|
100835
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
100190
100836
|
transform: [
|
|
100191
100837
|
"trim"
|
|
100192
100838
|
]
|
|
@@ -100197,9 +100843,9 @@ var schemas_default = {
|
|
|
100197
100843
|
properties: {
|
|
100198
100844
|
path: {
|
|
100199
100845
|
title: "Screenshot (simple)",
|
|
100200
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
100846
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
100201
100847
|
type: "string",
|
|
100202
|
-
pattern: "([A-Za-z0-9_
|
|
100848
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
100203
100849
|
transform: [
|
|
100204
100850
|
"trim"
|
|
100205
100851
|
]
|
|
@@ -100581,6 +101227,12 @@ var schemas_default = {
|
|
|
100581
101227
|
"image.png",
|
|
100582
101228
|
"static/images/image.png",
|
|
100583
101229
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
101230
|
+
"https://example.com/static/images/image.png",
|
|
101231
|
+
{
|
|
101232
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
101233
|
+
maxVariation: 0.05,
|
|
101234
|
+
overwrite: "aboveVariation"
|
|
101235
|
+
},
|
|
100584
101236
|
{
|
|
100585
101237
|
path: "image.png",
|
|
100586
101238
|
directory: "static/images",
|
|
@@ -103757,6 +104409,14 @@ var schemas_default = {
|
|
|
103757
104409
|
"trim"
|
|
103758
104410
|
]
|
|
103759
104411
|
},
|
|
104412
|
+
params: {
|
|
104413
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
104414
|
+
type: "object",
|
|
104415
|
+
additionalProperties: {
|
|
104416
|
+
type: "string"
|
|
104417
|
+
},
|
|
104418
|
+
default: {}
|
|
104419
|
+
},
|
|
103760
104420
|
statusCodes: {
|
|
103761
104421
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
103762
104422
|
anyOf: [
|
|
@@ -103840,6 +104500,14 @@ var schemas_default = {
|
|
|
103840
104500
|
"trim"
|
|
103841
104501
|
]
|
|
103842
104502
|
},
|
|
104503
|
+
params: {
|
|
104504
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
104505
|
+
type: "object",
|
|
104506
|
+
additionalProperties: {
|
|
104507
|
+
type: "string"
|
|
104508
|
+
},
|
|
104509
|
+
default: {}
|
|
104510
|
+
},
|
|
103843
104511
|
statusCodes: {
|
|
103844
104512
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
103845
104513
|
anyOf: [
|
|
@@ -103902,6 +104570,13 @@ var schemas_default = {
|
|
|
103902
104570
|
statusCodes: [
|
|
103903
104571
|
200
|
|
103904
104572
|
]
|
|
104573
|
+
},
|
|
104574
|
+
{
|
|
104575
|
+
url: "/health",
|
|
104576
|
+
origin: "https://my-app.com",
|
|
104577
|
+
params: {
|
|
104578
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
104579
|
+
}
|
|
103905
104580
|
}
|
|
103906
104581
|
]
|
|
103907
104582
|
}
|
|
@@ -105842,6 +106517,14 @@ var schemas_default = {
|
|
|
105842
106517
|
"trim"
|
|
105843
106518
|
]
|
|
105844
106519
|
},
|
|
106520
|
+
params: {
|
|
106521
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
106522
|
+
type: "object",
|
|
106523
|
+
additionalProperties: {
|
|
106524
|
+
type: "string"
|
|
106525
|
+
},
|
|
106526
|
+
default: {}
|
|
106527
|
+
},
|
|
105845
106528
|
timeout: {
|
|
105846
106529
|
type: "integer",
|
|
105847
106530
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -106014,6 +106697,14 @@ var schemas_default = {
|
|
|
106014
106697
|
"trim"
|
|
106015
106698
|
]
|
|
106016
106699
|
},
|
|
106700
|
+
params: {
|
|
106701
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
106702
|
+
type: "object",
|
|
106703
|
+
additionalProperties: {
|
|
106704
|
+
type: "string"
|
|
106705
|
+
},
|
|
106706
|
+
default: {}
|
|
106707
|
+
},
|
|
106017
106708
|
timeout: {
|
|
106018
106709
|
type: "integer",
|
|
106019
106710
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -106163,6 +106854,13 @@ var schemas_default = {
|
|
|
106163
106854
|
url: "/search",
|
|
106164
106855
|
origin: "https://www.google.com"
|
|
106165
106856
|
},
|
|
106857
|
+
{
|
|
106858
|
+
url: "/dashboard",
|
|
106859
|
+
origin: "https://my-app.com",
|
|
106860
|
+
params: {
|
|
106861
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
106862
|
+
}
|
|
106863
|
+
},
|
|
106166
106864
|
{
|
|
106167
106865
|
url: "https://www.example.com",
|
|
106168
106866
|
waitUntil: {
|
|
@@ -108428,9 +109126,9 @@ var schemas_default = {
|
|
|
108428
109126
|
anyOf: [
|
|
108429
109127
|
{
|
|
108430
109128
|
title: "Screenshot (simple)",
|
|
108431
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
109129
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
108432
109130
|
type: "string",
|
|
108433
|
-
pattern: "([A-Za-z0-9_
|
|
109131
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
108434
109132
|
transform: [
|
|
108435
109133
|
"trim"
|
|
108436
109134
|
]
|
|
@@ -108441,9 +109139,9 @@ var schemas_default = {
|
|
|
108441
109139
|
properties: {
|
|
108442
109140
|
path: {
|
|
108443
109141
|
title: "Screenshot (simple)",
|
|
108444
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
109142
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
108445
109143
|
type: "string",
|
|
108446
|
-
pattern: "([A-Za-z0-9_
|
|
109144
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
108447
109145
|
transform: [
|
|
108448
109146
|
"trim"
|
|
108449
109147
|
]
|
|
@@ -108674,9 +109372,9 @@ var schemas_default = {
|
|
|
108674
109372
|
schemas: {
|
|
108675
109373
|
path: {
|
|
108676
109374
|
title: "Screenshot (simple)",
|
|
108677
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
109375
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
108678
109376
|
type: "string",
|
|
108679
|
-
pattern: "([A-Za-z0-9_
|
|
109377
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
108680
109378
|
transform: [
|
|
108681
109379
|
"trim"
|
|
108682
109380
|
]
|
|
@@ -108687,9 +109385,9 @@ var schemas_default = {
|
|
|
108687
109385
|
properties: {
|
|
108688
109386
|
path: {
|
|
108689
109387
|
title: "Screenshot (simple)",
|
|
108690
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
109388
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
108691
109389
|
type: "string",
|
|
108692
|
-
pattern: "([A-Za-z0-9_
|
|
109390
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
108693
109391
|
transform: [
|
|
108694
109392
|
"trim"
|
|
108695
109393
|
]
|
|
@@ -109071,6 +109769,12 @@ var schemas_default = {
|
|
|
109071
109769
|
"image.png",
|
|
109072
109770
|
"static/images/image.png",
|
|
109073
109771
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
109772
|
+
"https://example.com/static/images/image.png",
|
|
109773
|
+
{
|
|
109774
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
109775
|
+
maxVariation: 0.05,
|
|
109776
|
+
overwrite: "aboveVariation"
|
|
109777
|
+
},
|
|
109074
109778
|
{
|
|
109075
109779
|
path: "image.png",
|
|
109076
109780
|
directory: "static/images",
|
|
@@ -111894,6 +112598,14 @@ var schemas_default = {
|
|
|
111894
112598
|
"trim"
|
|
111895
112599
|
]
|
|
111896
112600
|
},
|
|
112601
|
+
params: {
|
|
112602
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
112603
|
+
type: "object",
|
|
112604
|
+
additionalProperties: {
|
|
112605
|
+
type: "string"
|
|
112606
|
+
},
|
|
112607
|
+
default: {}
|
|
112608
|
+
},
|
|
111897
112609
|
statusCodes: {
|
|
111898
112610
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
111899
112611
|
anyOf: [
|
|
@@ -111977,6 +112689,14 @@ var schemas_default = {
|
|
|
111977
112689
|
"trim"
|
|
111978
112690
|
]
|
|
111979
112691
|
},
|
|
112692
|
+
params: {
|
|
112693
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
112694
|
+
type: "object",
|
|
112695
|
+
additionalProperties: {
|
|
112696
|
+
type: "string"
|
|
112697
|
+
},
|
|
112698
|
+
default: {}
|
|
112699
|
+
},
|
|
111980
112700
|
statusCodes: {
|
|
111981
112701
|
description: "Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.",
|
|
111982
112702
|
anyOf: [
|
|
@@ -112039,6 +112759,13 @@ var schemas_default = {
|
|
|
112039
112759
|
statusCodes: [
|
|
112040
112760
|
200
|
|
112041
112761
|
]
|
|
112762
|
+
},
|
|
112763
|
+
{
|
|
112764
|
+
url: "/health",
|
|
112765
|
+
origin: "https://my-app.com",
|
|
112766
|
+
params: {
|
|
112767
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
112768
|
+
}
|
|
112042
112769
|
}
|
|
112043
112770
|
]
|
|
112044
112771
|
}
|
|
@@ -113979,6 +114706,14 @@ var schemas_default = {
|
|
|
113979
114706
|
"trim"
|
|
113980
114707
|
]
|
|
113981
114708
|
},
|
|
114709
|
+
params: {
|
|
114710
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
114711
|
+
type: "object",
|
|
114712
|
+
additionalProperties: {
|
|
114713
|
+
type: "string"
|
|
114714
|
+
},
|
|
114715
|
+
default: {}
|
|
114716
|
+
},
|
|
113982
114717
|
timeout: {
|
|
113983
114718
|
type: "integer",
|
|
113984
114719
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -114151,6 +114886,14 @@ var schemas_default = {
|
|
|
114151
114886
|
"trim"
|
|
114152
114887
|
]
|
|
114153
114888
|
},
|
|
114889
|
+
params: {
|
|
114890
|
+
description: "Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.",
|
|
114891
|
+
type: "object",
|
|
114892
|
+
additionalProperties: {
|
|
114893
|
+
type: "string"
|
|
114894
|
+
},
|
|
114895
|
+
default: {}
|
|
114896
|
+
},
|
|
114154
114897
|
timeout: {
|
|
114155
114898
|
type: "integer",
|
|
114156
114899
|
description: "Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.",
|
|
@@ -114300,6 +115043,13 @@ var schemas_default = {
|
|
|
114300
115043
|
url: "/search",
|
|
114301
115044
|
origin: "https://www.google.com"
|
|
114302
115045
|
},
|
|
115046
|
+
{
|
|
115047
|
+
url: "/dashboard",
|
|
115048
|
+
origin: "https://my-app.com",
|
|
115049
|
+
params: {
|
|
115050
|
+
__clerk_testing_token: "$CLERK_TESTING_TOKEN"
|
|
115051
|
+
}
|
|
115052
|
+
},
|
|
114303
115053
|
{
|
|
114304
115054
|
url: "https://www.example.com",
|
|
114305
115055
|
waitUntil: {
|
|
@@ -116565,9 +117315,9 @@ var schemas_default = {
|
|
|
116565
117315
|
anyOf: [
|
|
116566
117316
|
{
|
|
116567
117317
|
title: "Screenshot (simple)",
|
|
116568
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
117318
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
116569
117319
|
type: "string",
|
|
116570
|
-
pattern: "([A-Za-z0-9_
|
|
117320
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
116571
117321
|
transform: [
|
|
116572
117322
|
"trim"
|
|
116573
117323
|
]
|
|
@@ -116578,9 +117328,9 @@ var schemas_default = {
|
|
|
116578
117328
|
properties: {
|
|
116579
117329
|
path: {
|
|
116580
117330
|
title: "Screenshot (simple)",
|
|
116581
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
117331
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
116582
117332
|
type: "string",
|
|
116583
|
-
pattern: "([A-Za-z0-9_
|
|
117333
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
116584
117334
|
transform: [
|
|
116585
117335
|
"trim"
|
|
116586
117336
|
]
|
|
@@ -116811,9 +117561,9 @@ var schemas_default = {
|
|
|
116811
117561
|
schemas: {
|
|
116812
117562
|
path: {
|
|
116813
117563
|
title: "Screenshot (simple)",
|
|
116814
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
117564
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
116815
117565
|
type: "string",
|
|
116816
|
-
pattern: "([A-Za-z0-9_
|
|
117566
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
116817
117567
|
transform: [
|
|
116818
117568
|
"trim"
|
|
116819
117569
|
]
|
|
@@ -116824,9 +117574,9 @@ var schemas_default = {
|
|
|
116824
117574
|
properties: {
|
|
116825
117575
|
path: {
|
|
116826
117576
|
title: "Screenshot (simple)",
|
|
116827
|
-
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step.",
|
|
117577
|
+
description: "File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.",
|
|
116828
117578
|
type: "string",
|
|
116829
|
-
pattern: "([A-Za-z0-9_
|
|
117579
|
+
pattern: "^(?:https?:\\/\\/.+\\.(?:png|PNG)(?:\\?.*)?|[A-Za-z]:[\\/\\\\].*\\.(?:png|PNG)|[\\/\\\\]?[A-Za-z0-9_.\\/\\\\-]*\\.(?:png|PNG)|\\$[A-Za-z0-9_]+)$",
|
|
116830
117580
|
transform: [
|
|
116831
117581
|
"trim"
|
|
116832
117582
|
]
|
|
@@ -117208,6 +117958,12 @@ var schemas_default = {
|
|
|
117208
117958
|
"image.png",
|
|
117209
117959
|
"static/images/image.png",
|
|
117210
117960
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
117961
|
+
"https://example.com/static/images/image.png",
|
|
117962
|
+
{
|
|
117963
|
+
path: "https://promptless-customer-doc-assets.s3.amazonaws.com/docs-images/request-changes-button-0c851bb3.png",
|
|
117964
|
+
maxVariation: 0.05,
|
|
117965
|
+
overwrite: "aboveVariation"
|
|
117966
|
+
},
|
|
117211
117967
|
{
|
|
117212
117968
|
path: "image.png",
|
|
117213
117969
|
directory: "static/images",
|
|
@@ -129219,6 +129975,8 @@ var import_node_fs = __toESM(require("node:fs"), 1);
|
|
|
129219
129975
|
var import_node_os = __toESM(require("node:os"), 1);
|
|
129220
129976
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
129221
129977
|
var import_node_crypto = __toESM(require("node:crypto"), 1);
|
|
129978
|
+
var import_promises = __toESM(require("node:dns/promises"), 1);
|
|
129979
|
+
var import_node_net = __toESM(require("node:net"), 1);
|
|
129222
129980
|
var import_axios = __toESM(require("axios"), 1);
|
|
129223
129981
|
var import_node_child_process = require("node:child_process");
|
|
129224
129982
|
function isRelativeUrl(url) {
|
|
@@ -129229,6 +129987,36 @@ function isRelativeUrl(url) {
|
|
|
129229
129987
|
return true;
|
|
129230
129988
|
}
|
|
129231
129989
|
}
|
|
129990
|
+
function appendQueryParams(url, params) {
|
|
129991
|
+
if (!params || typeof params !== "object" || Array.isArray(params))
|
|
129992
|
+
return url;
|
|
129993
|
+
const entries = Object.entries(params).filter(([, v]) => v !== void 0 && v !== null);
|
|
129994
|
+
if (entries.length === 0)
|
|
129995
|
+
return url;
|
|
129996
|
+
const hashIdx = url.indexOf("#");
|
|
129997
|
+
const fragment = hashIdx >= 0 ? url.slice(hashIdx) : "";
|
|
129998
|
+
const base = hashIdx >= 0 ? url.slice(0, hashIdx) : url;
|
|
129999
|
+
const queryIdx = base.indexOf("?");
|
|
130000
|
+
const pathAndAuthority = queryIdx >= 0 ? base.slice(0, queryIdx) : base;
|
|
130001
|
+
const existingQuery = queryIdx >= 0 ? base.slice(queryIdx + 1) : "";
|
|
130002
|
+
const newKeys = new Set(entries.map(([k]) => k));
|
|
130003
|
+
const preservedSegments = existingQuery ? existingQuery.split("&").filter((segment) => {
|
|
130004
|
+
if (!segment)
|
|
130005
|
+
return false;
|
|
130006
|
+
const eqIdx = segment.indexOf("=");
|
|
130007
|
+
const rawKey = eqIdx >= 0 ? segment.slice(0, eqIdx) : segment;
|
|
130008
|
+
let decodedKey;
|
|
130009
|
+
try {
|
|
130010
|
+
decodedKey = decodeURIComponent(rawKey);
|
|
130011
|
+
} catch {
|
|
130012
|
+
decodedKey = rawKey;
|
|
130013
|
+
}
|
|
130014
|
+
return !newKeys.has(decodedKey);
|
|
130015
|
+
}) : [];
|
|
130016
|
+
const newPairs = entries.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`);
|
|
130017
|
+
const query = [...preservedSegments, ...newPairs].join("&");
|
|
130018
|
+
return pathAndAuthority + (query ? "?" + query : "") + fragment;
|
|
130019
|
+
}
|
|
129232
130020
|
function cleanTemp() {
|
|
129233
130021
|
const tempDir = import_node_path.default.join(import_node_os.default.tmpdir(), "doc-detective");
|
|
129234
130022
|
if (import_node_fs.default.existsSync(tempDir)) {
|
|
@@ -129243,23 +130031,146 @@ function cleanTemp() {
|
|
|
129243
130031
|
});
|
|
129244
130032
|
}
|
|
129245
130033
|
}
|
|
129246
|
-
|
|
130034
|
+
var FETCH_BINARY_DEFAULTS = {
|
|
130035
|
+
responseType: "arraybuffer",
|
|
130036
|
+
timeout: 3e4,
|
|
130037
|
+
maxContentLength: 50 * 1024 * 1024,
|
|
130038
|
+
maxBodyLength: 50 * 1024 * 1024,
|
|
130039
|
+
maxRedirects: 5
|
|
130040
|
+
};
|
|
130041
|
+
function sanitizeFilesystemName(name, fallback) {
|
|
130042
|
+
if (!name || name === "." || name === "..")
|
|
130043
|
+
return fallback;
|
|
130044
|
+
const cleaned = name.replace(/[\x00-\x1f<>:"/\\|?*]/g, "_");
|
|
130045
|
+
if (!cleaned || /^\.+$/.test(cleaned))
|
|
130046
|
+
return fallback;
|
|
130047
|
+
return cleaned;
|
|
130048
|
+
}
|
|
130049
|
+
function safeFilenameFromUrl(fileURL, fallback) {
|
|
130050
|
+
let raw;
|
|
130051
|
+
try {
|
|
130052
|
+
raw = new URL(fileURL).pathname;
|
|
130053
|
+
} catch {
|
|
130054
|
+
raw = fileURL;
|
|
130055
|
+
}
|
|
130056
|
+
raw = raw.split("?")[0].split("#")[0];
|
|
130057
|
+
const base = import_node_path.default.basename(raw.replace(/\\/g, "/"));
|
|
130058
|
+
return sanitizeFilesystemName(base, fallback);
|
|
130059
|
+
}
|
|
130060
|
+
function redactUrlForOutput(value) {
|
|
130061
|
+
try {
|
|
130062
|
+
const url = new URL(value);
|
|
130063
|
+
url.search = "";
|
|
130064
|
+
url.hash = "";
|
|
130065
|
+
return url.toString();
|
|
130066
|
+
} catch {
|
|
130067
|
+
return value.split("?")[0].split("#")[0];
|
|
130068
|
+
}
|
|
130069
|
+
}
|
|
130070
|
+
function isPrivateOrLoopbackAddress(ip) {
|
|
130071
|
+
if (!ip)
|
|
130072
|
+
return false;
|
|
130073
|
+
if (import_node_net.default.isIPv4(ip)) {
|
|
130074
|
+
const [a, b] = ip.split(".").map(Number);
|
|
130075
|
+
if (a === 10)
|
|
130076
|
+
return true;
|
|
130077
|
+
if (a === 127)
|
|
130078
|
+
return true;
|
|
130079
|
+
if (a === 0)
|
|
130080
|
+
return true;
|
|
130081
|
+
if (a === 169 && b === 254)
|
|
130082
|
+
return true;
|
|
130083
|
+
if (a === 172 && b >= 16 && b <= 31)
|
|
130084
|
+
return true;
|
|
130085
|
+
if (a === 192 && b === 168)
|
|
130086
|
+
return true;
|
|
130087
|
+
if (a === 100 && b >= 64 && b <= 127)
|
|
130088
|
+
return true;
|
|
130089
|
+
return false;
|
|
130090
|
+
}
|
|
130091
|
+
if (import_node_net.default.isIPv6(ip)) {
|
|
130092
|
+
const normalized = ip.toLowerCase();
|
|
130093
|
+
if (normalized === "::1")
|
|
130094
|
+
return true;
|
|
130095
|
+
if (normalized === "::")
|
|
130096
|
+
return true;
|
|
130097
|
+
if (normalized.startsWith("fc") || normalized.startsWith("fd"))
|
|
130098
|
+
return true;
|
|
130099
|
+
if (normalized.startsWith("fe80:"))
|
|
130100
|
+
return true;
|
|
130101
|
+
if (normalized.startsWith("::ffff:")) {
|
|
130102
|
+
return isPrivateOrLoopbackAddress(normalized.replace("::ffff:", ""));
|
|
130103
|
+
}
|
|
130104
|
+
return false;
|
|
130105
|
+
}
|
|
130106
|
+
return false;
|
|
130107
|
+
}
|
|
130108
|
+
async function assertUrlHostIsPublic(fileURL) {
|
|
130109
|
+
if (process.env.DOC_DETECTIVE_ALLOW_LOCAL_URLS === "true")
|
|
130110
|
+
return;
|
|
130111
|
+
let parsed;
|
|
130112
|
+
try {
|
|
130113
|
+
parsed = new URL(fileURL);
|
|
130114
|
+
} catch {
|
|
130115
|
+
throw new Error(`Invalid URL: ${redactUrlForOutput(fileURL)}`);
|
|
130116
|
+
}
|
|
130117
|
+
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
|
|
130118
|
+
throw new Error(`Unsupported URL scheme (${parsed.protocol}) for ${redactUrlForOutput(fileURL)}`);
|
|
130119
|
+
}
|
|
130120
|
+
const host = parsed.hostname.replace(/^\[|\]$/g, "");
|
|
130121
|
+
if (import_node_net.default.isIP(host)) {
|
|
130122
|
+
if (isPrivateOrLoopbackAddress(host)) {
|
|
130123
|
+
throw new Error(`Refusing to fetch private/loopback address (${host}). Set DOC_DETECTIVE_ALLOW_LOCAL_URLS=true to allow.`);
|
|
130124
|
+
}
|
|
130125
|
+
return;
|
|
130126
|
+
}
|
|
130127
|
+
const lower = host.toLowerCase();
|
|
130128
|
+
if (lower === "localhost" || lower.endsWith(".localhost")) {
|
|
130129
|
+
throw new Error(`Refusing to fetch localhost (${host}). Set DOC_DETECTIVE_ALLOW_LOCAL_URLS=true to allow.`);
|
|
130130
|
+
}
|
|
130131
|
+
let addresses;
|
|
129247
130132
|
try {
|
|
129248
|
-
|
|
129249
|
-
|
|
129250
|
-
|
|
130133
|
+
addresses = await import_promises.default.lookup(host, { all: true });
|
|
130134
|
+
} catch (error) {
|
|
130135
|
+
throw new Error(`Couldn't resolve host ${host} for SSRF check: ${error.message}`);
|
|
130136
|
+
}
|
|
130137
|
+
for (const { address } of addresses) {
|
|
130138
|
+
if (isPrivateOrLoopbackAddress(address)) {
|
|
130139
|
+
throw new Error(`Host ${host} resolves to a private/loopback address (${address}); refusing to fetch. Set DOC_DETECTIVE_ALLOW_LOCAL_URLS=true to allow.`);
|
|
130140
|
+
}
|
|
130141
|
+
}
|
|
130142
|
+
}
|
|
130143
|
+
async function fetchFile(fileURL, opts = {}) {
|
|
130144
|
+
try {
|
|
130145
|
+
if (opts.binary) {
|
|
130146
|
+
await assertUrlHostIsPublic(fileURL);
|
|
130147
|
+
}
|
|
130148
|
+
const response = await import_axios.default.get(fileURL, opts.binary ? FETCH_BINARY_DEFAULTS : void 0);
|
|
130149
|
+
let data;
|
|
130150
|
+
if (opts.binary) {
|
|
130151
|
+
data = Buffer.from(response.data);
|
|
130152
|
+
} else if (typeof response.data === "object") {
|
|
130153
|
+
data = JSON.stringify(response.data, null, 2);
|
|
129251
130154
|
} else {
|
|
129252
|
-
|
|
130155
|
+
data = response.data.toString();
|
|
129253
130156
|
}
|
|
129254
|
-
const fileName = fileURL
|
|
129255
|
-
const hash = import_node_crypto.default.createHash("md5").update(
|
|
130157
|
+
const fileName = safeFilenameFromUrl(fileURL, "fetched_file");
|
|
130158
|
+
const hash = import_node_crypto.default.createHash("md5").update(data).digest("hex");
|
|
129256
130159
|
const ddTempDir = import_node_path.default.join(import_node_os.default.tmpdir(), "doc-detective");
|
|
129257
130160
|
const filePath = import_node_path.default.join(ddTempDir, `${hash}_${fileName}`);
|
|
130161
|
+
const resolvedDir = import_node_path.default.resolve(ddTempDir);
|
|
130162
|
+
const resolvedFile = import_node_path.default.resolve(filePath);
|
|
130163
|
+
if (!resolvedFile.startsWith(resolvedDir + import_node_path.default.sep)) {
|
|
130164
|
+
return {
|
|
130165
|
+
result: "error",
|
|
130166
|
+
message: new Error(`Refusing to write outside temp dir: ${resolvedFile}`)
|
|
130167
|
+
};
|
|
130168
|
+
}
|
|
129258
130169
|
if (!import_node_fs.default.existsSync(ddTempDir)) {
|
|
129259
130170
|
import_node_fs.default.mkdirSync(ddTempDir, { recursive: true });
|
|
129260
130171
|
}
|
|
129261
130172
|
if (!import_node_fs.default.existsSync(filePath)) {
|
|
129262
|
-
import_node_fs.default.writeFileSync(filePath,
|
|
130173
|
+
import_node_fs.default.writeFileSync(filePath, data);
|
|
129263
130174
|
}
|
|
129264
130175
|
return { result: "success", path: filePath };
|
|
129265
130176
|
} catch (error) {
|
|
@@ -129336,6 +130247,18 @@ function replaceEnvs(stringOrObject) {
|
|
|
129336
130247
|
}
|
|
129337
130248
|
return stringOrObject;
|
|
129338
130249
|
}
|
|
130250
|
+
function timestamp() {
|
|
130251
|
+
let timestamp2 = /* @__PURE__ */ new Date();
|
|
130252
|
+
return `${timestamp2.getFullYear()}${("0" + (timestamp2.getMonth() + 1)).slice(-2)}${("0" + timestamp2.getDate()).slice(-2)}-${("0" + timestamp2.getHours()).slice(-2)}${("0" + timestamp2.getMinutes()).slice(-2)}${("0" + timestamp2.getSeconds()).slice(-2)}`;
|
|
130253
|
+
}
|
|
130254
|
+
function getOrInitRunTimestamp(config) {
|
|
130255
|
+
if (!config)
|
|
130256
|
+
return timestamp();
|
|
130257
|
+
if (!config.__runTimestamp) {
|
|
130258
|
+
config.__runTimestamp = timestamp();
|
|
130259
|
+
}
|
|
130260
|
+
return config.__runTimestamp;
|
|
130261
|
+
}
|
|
129339
130262
|
async function spawnCommand(cmd, args = [], options = {}) {
|
|
129340
130263
|
const spawnOptions = {
|
|
129341
130264
|
shell: true
|
|
@@ -129873,11 +130796,17 @@ var defaultFileTypes = {
|
|
|
129873
130796
|
inlineStatements: {
|
|
129874
130797
|
testStart: [
|
|
129875
130798
|
"<\\?doc-detective\\s+test([\\s\\S]*?)\\?>",
|
|
129876
|
-
"<!--\\s*test([\\s\\S]+?)-->"
|
|
130799
|
+
"<!--\\s*test([\\s\\S]+?)-->",
|
|
130800
|
+
`<data\\s+[^>]*?name=["']doc-detective["'][^>]*?value='test\\s+([^']+?)'[^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
130801
|
+
`<data\\s+[^>]*?name=["']doc-detective["'][^>]*?value="test\\s+([^"]+?)"[^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
130802
|
+
`<data\\s+[^>]*?value='test\\s+([^']+?)'[^>]*?name=["']doc-detective["'][^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
130803
|
+
`<data\\s+[^>]*?value="test\\s+([^"]+?)"[^>]*?name=["']doc-detective["'][^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`
|
|
129877
130804
|
],
|
|
129878
130805
|
testEnd: [
|
|
129879
130806
|
"<\\?doc-detective\\s+test\\s+end\\s*\\?>",
|
|
129880
|
-
"<!--\\s*test end([\\s\\S]+?)-->"
|
|
130807
|
+
"<!--\\s*test end([\\s\\S]+?)-->",
|
|
130808
|
+
`<data\\s+[^>]*?name=["']doc-detective["'][^>]*?value=["']test end["'][^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
130809
|
+
`<data\\s+[^>]*?value=["']test end["'][^>]*?name=["']doc-detective["'][^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`
|
|
129881
130810
|
],
|
|
129882
130811
|
ignoreStart: [
|
|
129883
130812
|
"<\\?doc-detective\\s+test\\s+ignore\\s+start\\s*\\?>",
|
|
@@ -129890,7 +130819,11 @@ var defaultFileTypes = {
|
|
|
129890
130819
|
step: [
|
|
129891
130820
|
"<\\?doc-detective\\s+step\\s+([\\s\\S]*?)\\s*\\?>",
|
|
129892
130821
|
"<!--\\s*step([\\s\\S]+?)-->",
|
|
129893
|
-
'<data\\s+name="step"\\s*>([\\s\\S]*?)<\\/data>'
|
|
130822
|
+
'<data\\s+name="step"\\s*>([\\s\\S]*?)<\\/data>',
|
|
130823
|
+
`<data\\s+[^>]*?name=["']doc-detective["'][^>]*?value='step\\s+([^']+?)'[^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
130824
|
+
`<data\\s+[^>]*?name=["']doc-detective["'][^>]*?value="step\\s+([^"]+?)"[^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
130825
|
+
`<data\\s+[^>]*?value='step\\s+([^']+?)'[^>]*?name=["']doc-detective["'][^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
130826
|
+
`<data\\s+[^>]*?value="step\\s+([^"]+?)"[^>]*?name=["']doc-detective["'][^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`
|
|
129894
130827
|
]
|
|
129895
130828
|
},
|
|
129896
130829
|
markup: [
|
|
@@ -130353,11 +131286,17 @@ var defaultFileTypesBase = {
|
|
|
130353
131286
|
inlineStatements: {
|
|
130354
131287
|
testStart: [
|
|
130355
131288
|
"<\\?doc-detective\\s+test([\\s\\S]*?)\\?>",
|
|
130356
|
-
"<!--\\s*test([\\s\\S]+?)-->"
|
|
131289
|
+
"<!--\\s*test([\\s\\S]+?)-->",
|
|
131290
|
+
`<data\\s+[^>]*?name=["']doc-detective["'][^>]*?value='test\\s+([^']+?)'[^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
131291
|
+
`<data\\s+[^>]*?name=["']doc-detective["'][^>]*?value="test\\s+([^"]+?)"[^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
131292
|
+
`<data\\s+[^>]*?value='test\\s+([^']+?)'[^>]*?name=["']doc-detective["'][^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
131293
|
+
`<data\\s+[^>]*?value="test\\s+([^"]+?)"[^>]*?name=["']doc-detective["'][^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`
|
|
130357
131294
|
],
|
|
130358
131295
|
testEnd: [
|
|
130359
131296
|
"<\\?doc-detective\\s+test\\s+end\\s*\\?>",
|
|
130360
|
-
"<!--\\s*test end([\\s\\S]+?)-->"
|
|
131297
|
+
"<!--\\s*test end([\\s\\S]+?)-->",
|
|
131298
|
+
`<data\\s+[^>]*?name=["']doc-detective["'][^>]*?value=["']test end["'][^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
131299
|
+
`<data\\s+[^>]*?value=["']test end["'][^>]*?name=["']doc-detective["'][^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`
|
|
130361
131300
|
],
|
|
130362
131301
|
ignoreStart: [
|
|
130363
131302
|
"<\\?doc-detective\\s+test\\s+ignore\\s+start\\s*\\?>",
|
|
@@ -130370,7 +131309,11 @@ var defaultFileTypesBase = {
|
|
|
130370
131309
|
step: [
|
|
130371
131310
|
"<\\?doc-detective\\s+step\\s+([\\s\\S]*?)\\s*\\?>",
|
|
130372
131311
|
"<!--\\s*step([\\s\\S]+?)-->",
|
|
130373
|
-
'<data\\s+name="step"\\s*>([\\s\\S]*?)<\\/data>'
|
|
131312
|
+
'<data\\s+name="step"\\s*>([\\s\\S]*?)<\\/data>',
|
|
131313
|
+
`<data\\s+[^>]*?name=["']doc-detective["'][^>]*?value='step\\s+([^']+?)'[^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
131314
|
+
`<data\\s+[^>]*?name=["']doc-detective["'][^>]*?value="step\\s+([^"]+?)"[^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
131315
|
+
`<data\\s+[^>]*?value='step\\s+([^']+?)'[^>]*?name=["']doc-detective["'][^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`,
|
|
131316
|
+
`<data\\s+[^>]*?value="step\\s+([^"]+?)"[^>]*?name=["']doc-detective["'][^>]*?(?:\\/\\s*>|>\\s*<\\/data>)`
|
|
130374
131317
|
]
|
|
130375
131318
|
},
|
|
130376
131319
|
markup: [
|
|
@@ -130723,6 +131666,9 @@ function parseXmlAttributes({ stringifiedObject }) {
|
|
|
130723
131666
|
}
|
|
130724
131667
|
function parseObject({ stringifiedObject }) {
|
|
130725
131668
|
if (typeof stringifiedObject === "string") {
|
|
131669
|
+
if (/&(?:#\d+|#x[0-9a-fA-F]+|amp|lt|gt|quot|apos);/.test(stringifiedObject)) {
|
|
131670
|
+
stringifiedObject = stringifiedObject.replace(/'|'/g, "'").replace(/"|"/g, '"').replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&");
|
|
131671
|
+
}
|
|
130726
131672
|
const xmlAttrs = parseXmlAttributes({ stringifiedObject });
|
|
130727
131673
|
if (xmlAttrs !== null) {
|
|
130728
131674
|
return xmlAttrs;
|
|
@@ -130982,17 +131928,7 @@ async function parseContent({ config = {}, content, filePath = "", fileType }) {
|
|
|
130982
131928
|
if (step.screenshot && config._herettoPathMapping) {
|
|
130983
131929
|
const herettoIntegration = findHerettoIntegration(config, filePath);
|
|
130984
131930
|
if (herettoIntegration) {
|
|
130985
|
-
|
|
130986
|
-
step.screenshot = { path: step.screenshot };
|
|
130987
|
-
} else if (typeof step.screenshot === "boolean") {
|
|
130988
|
-
step.screenshot = {};
|
|
130989
|
-
}
|
|
130990
|
-
step.screenshot.sourceIntegration = {
|
|
130991
|
-
type: "heretto",
|
|
130992
|
-
integrationName: herettoIntegration,
|
|
130993
|
-
filePath: step.screenshot.path || "",
|
|
130994
|
-
contentPath: filePath
|
|
130995
|
-
};
|
|
131931
|
+
attachHerettoScreenshotSourceIntegration(step, herettoIntegration, filePath);
|
|
130996
131932
|
}
|
|
130997
131933
|
}
|
|
130998
131934
|
}
|
|
@@ -131058,6 +131994,12 @@ async function parseContent({ config = {}, content, filePath = "", fileType }) {
|
|
|
131058
131994
|
endIndex: statement._endIndex
|
|
131059
131995
|
};
|
|
131060
131996
|
}
|
|
131997
|
+
if (step.screenshot && config._herettoPathMapping) {
|
|
131998
|
+
const herettoIntegration = findHerettoIntegration(config, filePath);
|
|
131999
|
+
if (herettoIntegration) {
|
|
132000
|
+
attachHerettoScreenshotSourceIntegration(step, herettoIntegration, filePath);
|
|
132001
|
+
}
|
|
132002
|
+
}
|
|
131061
132003
|
const validation = validate({
|
|
131062
132004
|
schemaKey: "step_v3",
|
|
131063
132005
|
object: step,
|
|
@@ -131096,6 +132038,19 @@ async function parseContent({ config = {}, content, filePath = "", fileType }) {
|
|
|
131096
132038
|
});
|
|
131097
132039
|
return validatedTests;
|
|
131098
132040
|
}
|
|
132041
|
+
function attachHerettoScreenshotSourceIntegration(step, integrationName, contentPath) {
|
|
132042
|
+
if (typeof step.screenshot === "string") {
|
|
132043
|
+
step.screenshot = { path: step.screenshot };
|
|
132044
|
+
} else if (step.screenshot === null || typeof step.screenshot !== "object" || Array.isArray(step.screenshot)) {
|
|
132045
|
+
step.screenshot = {};
|
|
132046
|
+
}
|
|
132047
|
+
step.screenshot.sourceIntegration = {
|
|
132048
|
+
type: "heretto",
|
|
132049
|
+
integrationName,
|
|
132050
|
+
filePath: step.screenshot.path || "",
|
|
132051
|
+
contentPath
|
|
132052
|
+
};
|
|
132053
|
+
}
|
|
131099
132054
|
function findHerettoIntegration(config, filePath) {
|
|
131100
132055
|
if (!config._herettoPathMapping)
|
|
131101
132056
|
return null;
|
|
@@ -132229,7 +133184,10 @@ async function loadHerettoContent(herettoConfig, log3, config, deps) {
|
|
|
132229
133184
|
if (herettoConfig.uploadOnChange) {
|
|
132230
133185
|
log3(config, "debug", `Fetching resource dependencies for ditamap ${scenario.fileId}...`);
|
|
132231
133186
|
const resourceDependencies = await getResourceDependenciesFn(restClient, scenario.fileId, log3, config);
|
|
132232
|
-
herettoConfig.resourceDependencies =
|
|
133187
|
+
herettoConfig.resourceDependencies = {
|
|
133188
|
+
...resourceDependencies,
|
|
133189
|
+
...herettoConfig.resourceDependencies || {}
|
|
133190
|
+
};
|
|
132233
133191
|
}
|
|
132234
133192
|
log3(config, "debug", `Triggering publishing job for file ${scenario.fileId}...`);
|
|
132235
133193
|
const job = await triggerPublishingJob(client, scenario.fileId, scenario.scenarioId);
|
|
@@ -133716,7 +134674,8 @@ async function goTo({ config, step, driver }) {
|
|
|
133716
134674
|
if (typeof step.goTo === "string") {
|
|
133717
134675
|
step.goTo = { url: step.goTo };
|
|
133718
134676
|
}
|
|
133719
|
-
|
|
134677
|
+
const relative = isRelativeUrl(step.goTo.url);
|
|
134678
|
+
if (relative) {
|
|
133720
134679
|
if (!step.goTo.origin && !config.origin) {
|
|
133721
134680
|
result.status = "FAIL";
|
|
133722
134681
|
result.description = "Relative URL provided without origin. Specify an origin in either the step or the config.";
|
|
@@ -133728,6 +134687,10 @@ async function goTo({ config, step, driver }) {
|
|
|
133728
134687
|
}
|
|
133729
134688
|
step.goTo.url = step.goTo.origin + step.goTo.url;
|
|
133730
134689
|
}
|
|
134690
|
+
if (relative) {
|
|
134691
|
+
step.goTo.url = appendQueryParams(step.goTo.url, config.originParams);
|
|
134692
|
+
}
|
|
134693
|
+
step.goTo.url = appendQueryParams(step.goTo.url, step.goTo.params);
|
|
133731
134694
|
if (step.goTo.url && !step.goTo.url.includes("://"))
|
|
133732
134695
|
step.goTo.url = "https://" + step.goTo.url;
|
|
133733
134696
|
const isValidStep = validate({ schemaKey: "step_v3", object: step });
|
|
@@ -134296,7 +135259,8 @@ async function checkLink({ config, step }) {
|
|
|
134296
135259
|
if (typeof step.checkLink === "string") {
|
|
134297
135260
|
step.checkLink = { url: step.checkLink };
|
|
134298
135261
|
}
|
|
134299
|
-
|
|
135262
|
+
const relative = isRelativeUrl(step.checkLink.url);
|
|
135263
|
+
if (relative) {
|
|
134300
135264
|
if (!step.checkLink.origin && !config.origin) {
|
|
134301
135265
|
result.status = "FAIL";
|
|
134302
135266
|
result.description = "Relative URL provided without origin. Specify an origin in either the step or the config.";
|
|
@@ -134308,6 +135272,10 @@ async function checkLink({ config, step }) {
|
|
|
134308
135272
|
}
|
|
134309
135273
|
step.checkLink.url = step.checkLink.origin + step.checkLink.url;
|
|
134310
135274
|
}
|
|
135275
|
+
if (relative) {
|
|
135276
|
+
step.checkLink.url = appendQueryParams(step.checkLink.url, config.originParams);
|
|
135277
|
+
}
|
|
135278
|
+
step.checkLink.url = appendQueryParams(step.checkLink.url, step.checkLink.params);
|
|
134311
135279
|
if (step.checkLink.url && !step.checkLink.url.includes("://"))
|
|
134312
135280
|
step.checkLink.url = "https://" + step.checkLink.url;
|
|
134313
135281
|
const isValidStep = validate({ schemaKey: "step_v3", object: step });
|
|
@@ -134371,6 +135339,33 @@ async function getPixelmatch() {
|
|
|
134371
135339
|
}
|
|
134372
135340
|
return pixelmatch;
|
|
134373
135341
|
}
|
|
135342
|
+
function clampCropRect(rect, imgW, imgH) {
|
|
135343
|
+
let { x, y, width, height } = rect;
|
|
135344
|
+
if (width > imgW) {
|
|
135345
|
+
x = 0;
|
|
135346
|
+
width = imgW;
|
|
135347
|
+
} else {
|
|
135348
|
+
if (x < 0)
|
|
135349
|
+
x = 0;
|
|
135350
|
+
if (x + width > imgW)
|
|
135351
|
+
x = imgW - width;
|
|
135352
|
+
}
|
|
135353
|
+
if (height > imgH) {
|
|
135354
|
+
y = 0;
|
|
135355
|
+
height = imgH;
|
|
135356
|
+
} else {
|
|
135357
|
+
if (y < 0)
|
|
135358
|
+
y = 0;
|
|
135359
|
+
if (y + height > imgH)
|
|
135360
|
+
y = imgH - height;
|
|
135361
|
+
}
|
|
135362
|
+
return { x, y, width, height };
|
|
135363
|
+
}
|
|
135364
|
+
function aspectRatiosMatch(a, b) {
|
|
135365
|
+
const ra = a.width / a.height;
|
|
135366
|
+
const rb = b.width / b.height;
|
|
135367
|
+
return Math.abs(ra - rb) / Math.max(ra, rb) <= 0.05;
|
|
135368
|
+
}
|
|
134374
135369
|
async function saveScreenshot({ config, step, driver }) {
|
|
134375
135370
|
let result = {
|
|
134376
135371
|
status: "PASS",
|
|
@@ -134414,19 +135409,57 @@ async function saveScreenshot({ config, step, driver }) {
|
|
|
134414
135409
|
};
|
|
134415
135410
|
}
|
|
134416
135411
|
let filePath = step.screenshot.path;
|
|
134417
|
-
const dir = import_node_path8.default.dirname(step.screenshot.path);
|
|
134418
|
-
if (!import_node_fs7.default.existsSync(dir)) {
|
|
134419
|
-
import_node_fs7.default.mkdirSync(dir, { recursive: true });
|
|
134420
|
-
}
|
|
134421
135412
|
let existFilePath;
|
|
134422
|
-
|
|
134423
|
-
|
|
134424
|
-
|
|
134425
|
-
|
|
135413
|
+
let dir;
|
|
135414
|
+
const isUrlPath = /^https?:\/\//i.test(filePath);
|
|
135415
|
+
const originalUrlPath = isUrlPath ? filePath : void 0;
|
|
135416
|
+
const redactedUrl = isUrlPath ? redactUrlForOutput(filePath) : void 0;
|
|
135417
|
+
if (isUrlPath) {
|
|
135418
|
+
const fetched = await fetchFile(originalUrlPath, { binary: true });
|
|
135419
|
+
if (fetched.result !== "success") {
|
|
135420
|
+
result.status = "FAIL";
|
|
135421
|
+
result.description = `Couldn't fetch remote reference image (${redactedUrl}): ${fetched.message}`;
|
|
134426
135422
|
return result;
|
|
134427
|
-
}
|
|
134428
|
-
|
|
134429
|
-
|
|
135423
|
+
}
|
|
135424
|
+
existFilePath = fetched.path;
|
|
135425
|
+
let urlPathname;
|
|
135426
|
+
try {
|
|
135427
|
+
urlPathname = new URL(originalUrlPath).pathname;
|
|
135428
|
+
} catch {
|
|
135429
|
+
urlPathname = originalUrlPath;
|
|
135430
|
+
}
|
|
135431
|
+
const rawBase = import_node_path8.default.basename(urlPathname.split("?")[0].split("#")[0].replace(/\\/g, "/"));
|
|
135432
|
+
const safeBase = sanitizeFilesystemName(rawBase, `${step.stepId}.png`);
|
|
135433
|
+
dir = import_node_path8.default.join(process.cwd(), "doc-detective-runs", getOrInitRunTimestamp(config));
|
|
135434
|
+
if (!import_node_fs7.default.existsSync(dir)) {
|
|
135435
|
+
import_node_fs7.default.mkdirSync(dir, { recursive: true });
|
|
135436
|
+
}
|
|
135437
|
+
const captureId = `${step.stepId || "screenshot"}_${Date.now()}`;
|
|
135438
|
+
filePath = import_node_path8.default.join(dir, `${captureId}_${safeBase}`);
|
|
135439
|
+
const resolvedDir = import_node_path8.default.resolve(dir);
|
|
135440
|
+
const resolvedFile = import_node_path8.default.resolve(filePath);
|
|
135441
|
+
if (!resolvedFile.startsWith(resolvedDir + import_node_path8.default.sep)) {
|
|
135442
|
+
result.status = "FAIL";
|
|
135443
|
+
result.description = `Refusing to write screenshot outside run folder: ${resolvedFile}`;
|
|
135444
|
+
return result;
|
|
135445
|
+
}
|
|
135446
|
+
if (step.screenshot.overwrite !== "false") {
|
|
135447
|
+
log(config, "debug", `Screenshot path is a URL (${redactedUrl}); overwrite is ignored, running comparison only.`);
|
|
135448
|
+
}
|
|
135449
|
+
} else {
|
|
135450
|
+
dir = import_node_path8.default.dirname(step.screenshot.path);
|
|
135451
|
+
if (!import_node_fs7.default.existsSync(dir)) {
|
|
135452
|
+
import_node_fs7.default.mkdirSync(dir, { recursive: true });
|
|
135453
|
+
}
|
|
135454
|
+
if (import_node_fs7.default.existsSync(filePath)) {
|
|
135455
|
+
if (step.screenshot.overwrite == "false") {
|
|
135456
|
+
result.status = "SKIPPED";
|
|
135457
|
+
result.description = `File already exists: ${filePath}`;
|
|
135458
|
+
return result;
|
|
135459
|
+
} else {
|
|
135460
|
+
existFilePath = filePath;
|
|
135461
|
+
filePath = import_node_path8.default.join(dir, `${step.stepId}_${Date.now()}.png`);
|
|
135462
|
+
}
|
|
134430
135463
|
}
|
|
134431
135464
|
}
|
|
134432
135465
|
if (step.screenshot.crop) {
|
|
@@ -134553,20 +135586,11 @@ async function saveScreenshot({ config, step, driver }) {
|
|
|
134553
135586
|
rect.width = Math.round(rect.width);
|
|
134554
135587
|
rect.height = Math.round(rect.height);
|
|
134555
135588
|
const imgMeta = await (0, import_sharp.default)(filePath).metadata();
|
|
134556
|
-
|
|
134557
|
-
|
|
134558
|
-
|
|
134559
|
-
|
|
134560
|
-
|
|
134561
|
-
rect.height += rect.y;
|
|
134562
|
-
rect.y = 0;
|
|
134563
|
-
}
|
|
134564
|
-
if (rect.x + rect.width > imgMeta.width) {
|
|
134565
|
-
rect.width = imgMeta.width - rect.x;
|
|
134566
|
-
}
|
|
134567
|
-
if (rect.y + rect.height > imgMeta.height) {
|
|
134568
|
-
rect.height = imgMeta.height - rect.y;
|
|
134569
|
-
}
|
|
135589
|
+
const clamped = clampCropRect(rect, imgMeta.width, imgMeta.height);
|
|
135590
|
+
rect.x = clamped.x;
|
|
135591
|
+
rect.y = clamped.y;
|
|
135592
|
+
rect.width = clamped.width;
|
|
135593
|
+
rect.height = clamped.height;
|
|
134570
135594
|
log(config, "debug", { padded_rect: rect });
|
|
134571
135595
|
const croppedPath = import_node_path8.default.join(dir, `cropped_${step.stepId || Date.now()}.png`);
|
|
134572
135596
|
try {
|
|
@@ -134587,7 +135611,7 @@ async function saveScreenshot({ config, step, driver }) {
|
|
|
134587
135611
|
}
|
|
134588
135612
|
}
|
|
134589
135613
|
if (existFilePath) {
|
|
134590
|
-
if (step.screenshot.overwrite == "true") {
|
|
135614
|
+
if (step.screenshot.overwrite == "true" && !isUrlPath) {
|
|
134591
135615
|
result.description += ` Overwrote existing file.`;
|
|
134592
135616
|
import_node_fs7.default.renameSync(filePath, existFilePath);
|
|
134593
135617
|
result.outputs.screenshotPath = existFilePath;
|
|
@@ -134599,12 +135623,23 @@ async function saveScreenshot({ config, step, driver }) {
|
|
|
134599
135623
|
}
|
|
134600
135624
|
let fractionalDiff;
|
|
134601
135625
|
if (step.screenshot.maxVariation != null) {
|
|
134602
|
-
|
|
134603
|
-
|
|
134604
|
-
|
|
135626
|
+
let img1;
|
|
135627
|
+
let img2;
|
|
135628
|
+
try {
|
|
135629
|
+
img1 = import_pngjs.PNG.sync.read(import_node_fs7.default.readFileSync(existFilePath));
|
|
135630
|
+
img2 = import_pngjs.PNG.sync.read(import_node_fs7.default.readFileSync(filePath));
|
|
135631
|
+
} catch (error) {
|
|
135632
|
+
result.status = "FAIL";
|
|
135633
|
+
result.description = isUrlPath ? `Couldn't decode PNG for comparison. The URL reference (${redactedUrl}) may not be a valid PNG. ${error}` : `Couldn't decode PNG for comparison. ${error}`;
|
|
135634
|
+
if (!isUrlPath && filePath !== existFilePath && import_node_fs7.default.existsSync(filePath)) {
|
|
135635
|
+
import_node_fs7.default.unlinkSync(filePath);
|
|
135636
|
+
}
|
|
135637
|
+
return result;
|
|
135638
|
+
}
|
|
135639
|
+
if (!aspectRatiosMatch(img1, img2)) {
|
|
134605
135640
|
result.status = "FAIL";
|
|
134606
135641
|
result.description = `Couldn't compare images. Images have different aspect ratios.`;
|
|
134607
|
-
if (
|
|
135642
|
+
if (!isUrlPath && filePath !== existFilePath && import_node_fs7.default.existsSync(filePath)) {
|
|
134608
135643
|
import_node_fs7.default.unlinkSync(filePath);
|
|
134609
135644
|
}
|
|
134610
135645
|
return result;
|
|
@@ -134635,25 +135670,35 @@ async function saveScreenshot({ config, step, driver }) {
|
|
|
134635
135670
|
fractionalDiff
|
|
134636
135671
|
});
|
|
134637
135672
|
if (fractionalDiff > step.screenshot.maxVariation) {
|
|
134638
|
-
if (step.screenshot.overwrite == "aboveVariation") {
|
|
135673
|
+
if (step.screenshot.overwrite == "aboveVariation" && !isUrlPath) {
|
|
134639
135674
|
import_node_fs7.default.renameSync(filePath, existFilePath);
|
|
134640
135675
|
}
|
|
134641
135676
|
result.status = "WARNING";
|
|
134642
135677
|
result.description += ` The difference between the existing screenshot and new screenshot (${fractionalDiff.toFixed(2)}) is greater than the max accepted variation (${step.screenshot.maxVariation}).`;
|
|
134643
|
-
|
|
134644
|
-
|
|
134645
|
-
|
|
134646
|
-
|
|
135678
|
+
if (isUrlPath) {
|
|
135679
|
+
result.outputs.screenshotPath = filePath;
|
|
135680
|
+
result.outputs.referenceUrl = redactedUrl;
|
|
135681
|
+
} else {
|
|
135682
|
+
result.outputs.changed = true;
|
|
135683
|
+
result.outputs.screenshotPath = existFilePath;
|
|
135684
|
+
if (step.screenshot.sourceIntegration) {
|
|
135685
|
+
result.outputs.sourceIntegration = step.screenshot.sourceIntegration;
|
|
135686
|
+
}
|
|
134647
135687
|
}
|
|
134648
135688
|
return result;
|
|
134649
135689
|
} else {
|
|
134650
135690
|
result.description += ` Screenshots are within maximum accepted variation: ${fractionalDiff.toFixed(2)}.`;
|
|
134651
|
-
|
|
134652
|
-
|
|
134653
|
-
result.outputs.
|
|
134654
|
-
}
|
|
134655
|
-
|
|
134656
|
-
|
|
135691
|
+
if (isUrlPath) {
|
|
135692
|
+
result.outputs.screenshotPath = filePath;
|
|
135693
|
+
result.outputs.referenceUrl = redactedUrl;
|
|
135694
|
+
} else {
|
|
135695
|
+
result.outputs.screenshotPath = existFilePath;
|
|
135696
|
+
if (step.screenshot.sourceIntegration) {
|
|
135697
|
+
result.outputs.sourceIntegration = step.screenshot.sourceIntegration;
|
|
135698
|
+
}
|
|
135699
|
+
if (step.screenshot.overwrite != "true") {
|
|
135700
|
+
import_node_fs7.default.unlinkSync(filePath);
|
|
135701
|
+
}
|
|
134657
135702
|
}
|
|
134658
135703
|
}
|
|
134659
135704
|
}
|
|
@@ -135162,6 +136207,15 @@ async function loadCookie({ config, step, driver }) {
|
|
|
135162
136207
|
const isHttps = currentUrl.startsWith("https://");
|
|
135163
136208
|
let sameSite = targetCookie.sameSite || "Lax";
|
|
135164
136209
|
let secure = targetCookie.secure || false;
|
|
136210
|
+
if (typeof sameSite === "string") {
|
|
136211
|
+
const lower = sameSite.toLowerCase();
|
|
136212
|
+
if (lower === "none")
|
|
136213
|
+
sameSite = "None";
|
|
136214
|
+
else if (lower === "strict")
|
|
136215
|
+
sameSite = "Strict";
|
|
136216
|
+
else
|
|
136217
|
+
sameSite = "Lax";
|
|
136218
|
+
}
|
|
135165
136219
|
if (sameSite === "None") {
|
|
135166
136220
|
if (isHttps) {
|
|
135167
136221
|
secure = true;
|