doc-detective-common 3.1.2-dev.1 → 3.1.2-dev.3
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/schemas/config_v3.schema.json +1333 -45
- package/dist/schemas/loadCookie_v3.schema.json +225 -0
- package/dist/schemas/report_v3.schema.json +1321 -43
- package/dist/schemas/resolvedTests_v3.schema.json +2642 -76
- package/dist/schemas/saveCookie_v3.schema.json +251 -0
- package/dist/schemas/spec_v3.schema.json +1321 -43
- package/dist/schemas/step_v3.schema.json +639 -0
- package/dist/schemas/test_v3.schema.json +1321 -43
- package/package.json +5 -5
- package/src/schemas/build/config_v3.schema.json +2 -0
- package/src/schemas/build/loadCookie_v3.schema.json +134 -0
- package/src/schemas/build/saveCookie_v3.schema.json +149 -0
- package/src/schemas/build/step_v3.schema.json +59 -0
- package/src/schemas/dereferenceSchemas.js +2 -0
- package/src/schemas/output_schemas/config_v3.schema.json +1333 -45
- package/src/schemas/output_schemas/loadCookie_v3.schema.json +225 -0
- package/src/schemas/output_schemas/report_v3.schema.json +1321 -43
- package/src/schemas/output_schemas/resolvedTests_v3.schema.json +2642 -76
- package/src/schemas/output_schemas/saveCookie_v3.schema.json +251 -0
- package/src/schemas/output_schemas/spec_v3.schema.json +1321 -43
- package/src/schemas/output_schemas/step_v3.schema.json +639 -0
- package/src/schemas/output_schemas/test_v3.schema.json +1321 -43
- package/src/schemas/schemas.json +8810 -7
- package/src/schemas/src_schemas/config_v3.schema.json +2 -0
- package/src/schemas/src_schemas/loadCookie_v3.schema.json +109 -0
- package/src/schemas/src_schemas/saveCookie_v3.schema.json +122 -0
- package/src/schemas/src_schemas/step_v3.schema.json +55 -0
|
@@ -4971,6 +4971,328 @@
|
|
|
4971
4971
|
}
|
|
4972
4972
|
]
|
|
4973
4973
|
},
|
|
4974
|
+
{
|
|
4975
|
+
"allOf": [
|
|
4976
|
+
{
|
|
4977
|
+
"type": "object",
|
|
4978
|
+
"dynamicDefaults": {
|
|
4979
|
+
"stepId": "uuid"
|
|
4980
|
+
},
|
|
4981
|
+
"properties": {
|
|
4982
|
+
"$schema": {
|
|
4983
|
+
"description": "JSON Schema for this object.",
|
|
4984
|
+
"type": "string",
|
|
4985
|
+
"enum": [
|
|
4986
|
+
"https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json"
|
|
4987
|
+
]
|
|
4988
|
+
},
|
|
4989
|
+
"stepId": {
|
|
4990
|
+
"type": "string",
|
|
4991
|
+
"description": "ID of the step."
|
|
4992
|
+
},
|
|
4993
|
+
"description": {
|
|
4994
|
+
"type": "string",
|
|
4995
|
+
"description": "Description of the step."
|
|
4996
|
+
},
|
|
4997
|
+
"unsafe": {
|
|
4998
|
+
"type": "boolean",
|
|
4999
|
+
"description": "Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.",
|
|
5000
|
+
"default": false
|
|
5001
|
+
},
|
|
5002
|
+
"outputs": {
|
|
5003
|
+
"type": "object",
|
|
5004
|
+
"description": "Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.",
|
|
5005
|
+
"default": {},
|
|
5006
|
+
"patternProperties": {
|
|
5007
|
+
"^[A-Za-z0-9_]+$": {
|
|
5008
|
+
"type": "string",
|
|
5009
|
+
"description": "Runtime expression for a user-defined output value."
|
|
5010
|
+
}
|
|
5011
|
+
},
|
|
5012
|
+
"title": "Outputs (step)"
|
|
5013
|
+
},
|
|
5014
|
+
"variables": {
|
|
5015
|
+
"type": "object",
|
|
5016
|
+
"description": "Environment variables to set from user-defined expressions.",
|
|
5017
|
+
"default": {},
|
|
5018
|
+
"patternProperties": {
|
|
5019
|
+
"^[A-Za-z0-9_]+$": {
|
|
5020
|
+
"type": "string",
|
|
5021
|
+
"description": "Runtime expression for a user-defined output value."
|
|
5022
|
+
}
|
|
5023
|
+
},
|
|
5024
|
+
"title": "Variables (step)"
|
|
5025
|
+
},
|
|
5026
|
+
"breakpoint": {
|
|
5027
|
+
"type": "boolean",
|
|
5028
|
+
"description": "Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.",
|
|
5029
|
+
"default": false
|
|
5030
|
+
}
|
|
5031
|
+
},
|
|
5032
|
+
"title": "Common"
|
|
5033
|
+
},
|
|
5034
|
+
{
|
|
5035
|
+
"type": "object",
|
|
5036
|
+
"required": [
|
|
5037
|
+
"saveCookie"
|
|
5038
|
+
],
|
|
5039
|
+
"properties": {
|
|
5040
|
+
"saveCookie": {
|
|
5041
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5042
|
+
"title": "saveCookie",
|
|
5043
|
+
"description": "Save a specific browser cookie to a file or environment variable for later reuse.",
|
|
5044
|
+
"anyOf": [
|
|
5045
|
+
{
|
|
5046
|
+
"type": "string",
|
|
5047
|
+
"title": "Cookie name",
|
|
5048
|
+
"description": "Name of the specific cookie to save. Will be saved to a default file path or environment variable.",
|
|
5049
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
5050
|
+
"transform": [
|
|
5051
|
+
"trim"
|
|
5052
|
+
]
|
|
5053
|
+
},
|
|
5054
|
+
{
|
|
5055
|
+
"type": "object",
|
|
5056
|
+
"additionalProperties": false,
|
|
5057
|
+
"properties": {
|
|
5058
|
+
"$schema": {
|
|
5059
|
+
"description": "Optional self-describing schema URI for linters",
|
|
5060
|
+
"type": "string",
|
|
5061
|
+
"format": "uri-reference"
|
|
5062
|
+
},
|
|
5063
|
+
"name": {
|
|
5064
|
+
"type": "string",
|
|
5065
|
+
"title": "Cookie name",
|
|
5066
|
+
"description": "Name of the specific cookie to save.",
|
|
5067
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
5068
|
+
"transform": [
|
|
5069
|
+
"trim"
|
|
5070
|
+
]
|
|
5071
|
+
},
|
|
5072
|
+
"variable": {
|
|
5073
|
+
"type": "string",
|
|
5074
|
+
"title": "Environment variable name",
|
|
5075
|
+
"description": "Environment variable name to store the cookie as JSON string.",
|
|
5076
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
5077
|
+
"transform": [
|
|
5078
|
+
"trim"
|
|
5079
|
+
]
|
|
5080
|
+
},
|
|
5081
|
+
"path": {
|
|
5082
|
+
"type": "string",
|
|
5083
|
+
"title": "Cookie file path",
|
|
5084
|
+
"description": "File path to save the cookie, relative to directory. Uses Netscape cookie format.",
|
|
5085
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
5086
|
+
"transform": [
|
|
5087
|
+
"trim"
|
|
5088
|
+
]
|
|
5089
|
+
},
|
|
5090
|
+
"directory": {
|
|
5091
|
+
"type": "string",
|
|
5092
|
+
"title": "Directory path",
|
|
5093
|
+
"description": "Directory to save the cookie file. If not specified, uses output directory.",
|
|
5094
|
+
"transform": [
|
|
5095
|
+
"trim"
|
|
5096
|
+
]
|
|
5097
|
+
},
|
|
5098
|
+
"overwrite": {
|
|
5099
|
+
"type": "boolean",
|
|
5100
|
+
"title": "Overwrite existing file",
|
|
5101
|
+
"description": "Whether to overwrite existing cookie file.",
|
|
5102
|
+
"default": false
|
|
5103
|
+
},
|
|
5104
|
+
"domain": {
|
|
5105
|
+
"type": "string",
|
|
5106
|
+
"title": "Cookie domain",
|
|
5107
|
+
"description": "Specific domain to filter the cookie by (optional).",
|
|
5108
|
+
"transform": [
|
|
5109
|
+
"trim"
|
|
5110
|
+
]
|
|
5111
|
+
}
|
|
5112
|
+
},
|
|
5113
|
+
"required": [
|
|
5114
|
+
"name"
|
|
5115
|
+
],
|
|
5116
|
+
"anyOf": [
|
|
5117
|
+
{
|
|
5118
|
+
"required": [
|
|
5119
|
+
"path"
|
|
5120
|
+
],
|
|
5121
|
+
"not": {
|
|
5122
|
+
"required": [
|
|
5123
|
+
"variable"
|
|
5124
|
+
]
|
|
5125
|
+
}
|
|
5126
|
+
},
|
|
5127
|
+
{
|
|
5128
|
+
"required": [
|
|
5129
|
+
"variable"
|
|
5130
|
+
],
|
|
5131
|
+
"not": {
|
|
5132
|
+
"anyOf": [
|
|
5133
|
+
{
|
|
5134
|
+
"required": [
|
|
5135
|
+
"path"
|
|
5136
|
+
]
|
|
5137
|
+
},
|
|
5138
|
+
{
|
|
5139
|
+
"required": [
|
|
5140
|
+
"directory"
|
|
5141
|
+
]
|
|
5142
|
+
},
|
|
5143
|
+
{
|
|
5144
|
+
"required": [
|
|
5145
|
+
"overwrite"
|
|
5146
|
+
]
|
|
5147
|
+
}
|
|
5148
|
+
]
|
|
5149
|
+
}
|
|
5150
|
+
}
|
|
5151
|
+
],
|
|
5152
|
+
"title": "Save cookie (detailed)"
|
|
5153
|
+
}
|
|
5154
|
+
],
|
|
5155
|
+
"components": {
|
|
5156
|
+
"schemas": {
|
|
5157
|
+
"string": {
|
|
5158
|
+
"type": "string",
|
|
5159
|
+
"title": "Cookie name",
|
|
5160
|
+
"description": "Name of the specific cookie to save. Will be saved to a default file path or environment variable.",
|
|
5161
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
5162
|
+
"transform": [
|
|
5163
|
+
"trim"
|
|
5164
|
+
]
|
|
5165
|
+
},
|
|
5166
|
+
"object": {
|
|
5167
|
+
"type": "object",
|
|
5168
|
+
"additionalProperties": false,
|
|
5169
|
+
"properties": {
|
|
5170
|
+
"$schema": {
|
|
5171
|
+
"description": "Optional self-describing schema URI for linters",
|
|
5172
|
+
"type": "string",
|
|
5173
|
+
"format": "uri-reference"
|
|
5174
|
+
},
|
|
5175
|
+
"name": {
|
|
5176
|
+
"type": "string",
|
|
5177
|
+
"title": "Cookie name",
|
|
5178
|
+
"description": "Name of the specific cookie to save.",
|
|
5179
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
5180
|
+
"transform": [
|
|
5181
|
+
"trim"
|
|
5182
|
+
]
|
|
5183
|
+
},
|
|
5184
|
+
"variable": {
|
|
5185
|
+
"type": "string",
|
|
5186
|
+
"title": "Environment variable name",
|
|
5187
|
+
"description": "Environment variable name to store the cookie as JSON string.",
|
|
5188
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
5189
|
+
"transform": [
|
|
5190
|
+
"trim"
|
|
5191
|
+
]
|
|
5192
|
+
},
|
|
5193
|
+
"path": {
|
|
5194
|
+
"type": "string",
|
|
5195
|
+
"title": "Cookie file path",
|
|
5196
|
+
"description": "File path to save the cookie, relative to directory. Uses Netscape cookie format.",
|
|
5197
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
5198
|
+
"transform": [
|
|
5199
|
+
"trim"
|
|
5200
|
+
]
|
|
5201
|
+
},
|
|
5202
|
+
"directory": {
|
|
5203
|
+
"type": "string",
|
|
5204
|
+
"title": "Directory path",
|
|
5205
|
+
"description": "Directory to save the cookie file. If not specified, uses output directory.",
|
|
5206
|
+
"transform": [
|
|
5207
|
+
"trim"
|
|
5208
|
+
]
|
|
5209
|
+
},
|
|
5210
|
+
"overwrite": {
|
|
5211
|
+
"type": "boolean",
|
|
5212
|
+
"title": "Overwrite existing file",
|
|
5213
|
+
"description": "Whether to overwrite existing cookie file.",
|
|
5214
|
+
"default": false
|
|
5215
|
+
},
|
|
5216
|
+
"domain": {
|
|
5217
|
+
"type": "string",
|
|
5218
|
+
"title": "Cookie domain",
|
|
5219
|
+
"description": "Specific domain to filter the cookie by (optional).",
|
|
5220
|
+
"transform": [
|
|
5221
|
+
"trim"
|
|
5222
|
+
]
|
|
5223
|
+
}
|
|
5224
|
+
},
|
|
5225
|
+
"required": [
|
|
5226
|
+
"name"
|
|
5227
|
+
],
|
|
5228
|
+
"anyOf": [
|
|
5229
|
+
{
|
|
5230
|
+
"required": [
|
|
5231
|
+
"path"
|
|
5232
|
+
],
|
|
5233
|
+
"not": {
|
|
5234
|
+
"required": [
|
|
5235
|
+
"variable"
|
|
5236
|
+
]
|
|
5237
|
+
}
|
|
5238
|
+
},
|
|
5239
|
+
{
|
|
5240
|
+
"required": [
|
|
5241
|
+
"variable"
|
|
5242
|
+
],
|
|
5243
|
+
"not": {
|
|
5244
|
+
"anyOf": [
|
|
5245
|
+
{
|
|
5246
|
+
"required": [
|
|
5247
|
+
"path"
|
|
5248
|
+
]
|
|
5249
|
+
},
|
|
5250
|
+
{
|
|
5251
|
+
"required": [
|
|
5252
|
+
"directory"
|
|
5253
|
+
]
|
|
5254
|
+
},
|
|
5255
|
+
{
|
|
5256
|
+
"required": [
|
|
5257
|
+
"overwrite"
|
|
5258
|
+
]
|
|
5259
|
+
}
|
|
5260
|
+
]
|
|
5261
|
+
}
|
|
5262
|
+
}
|
|
5263
|
+
],
|
|
5264
|
+
"title": "Save cookie (detailed)"
|
|
5265
|
+
}
|
|
5266
|
+
}
|
|
5267
|
+
},
|
|
5268
|
+
"examples": [
|
|
5269
|
+
"session_token",
|
|
5270
|
+
{
|
|
5271
|
+
"name": "auth_cookie",
|
|
5272
|
+
"path": "auth-cookie.txt"
|
|
5273
|
+
},
|
|
5274
|
+
{
|
|
5275
|
+
"name": "session_token",
|
|
5276
|
+
"variable": "SESSION_TOKEN"
|
|
5277
|
+
},
|
|
5278
|
+
{
|
|
5279
|
+
"name": "user_session",
|
|
5280
|
+
"path": "user-session.txt",
|
|
5281
|
+
"directory": "./test-data",
|
|
5282
|
+
"overwrite": true
|
|
5283
|
+
},
|
|
5284
|
+
{
|
|
5285
|
+
"name": "login_token",
|
|
5286
|
+
"path": "login-token.txt",
|
|
5287
|
+
"domain": "app.example.com"
|
|
5288
|
+
}
|
|
5289
|
+
]
|
|
5290
|
+
}
|
|
5291
|
+
},
|
|
5292
|
+
"title": "saveCookie"
|
|
5293
|
+
}
|
|
5294
|
+
]
|
|
5295
|
+
},
|
|
4974
5296
|
{
|
|
4975
5297
|
"allOf": [
|
|
4976
5298
|
{
|
|
@@ -5369,38 +5691,334 @@
|
|
|
5369
5691
|
"title": "Common"
|
|
5370
5692
|
},
|
|
5371
5693
|
{
|
|
5372
|
-
"title": "
|
|
5694
|
+
"title": "loadCookie",
|
|
5373
5695
|
"type": "object",
|
|
5374
5696
|
"required": [
|
|
5375
|
-
"
|
|
5697
|
+
"loadCookie"
|
|
5376
5698
|
],
|
|
5377
5699
|
"properties": {
|
|
5378
|
-
"
|
|
5700
|
+
"loadCookie": {
|
|
5379
5701
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5380
|
-
"title": "
|
|
5381
|
-
"description": "
|
|
5382
|
-
"default": 5000,
|
|
5702
|
+
"title": "loadCookie",
|
|
5703
|
+
"description": "Load a specific cookie from a file or environment variable into the browser.",
|
|
5383
5704
|
"anyOf": [
|
|
5384
5705
|
{
|
|
5385
|
-
"type": "number",
|
|
5386
|
-
"title": "Wait (simple)"
|
|
5387
|
-
},
|
|
5388
|
-
{
|
|
5389
|
-
"title": "Wait (environment variable)",
|
|
5390
5706
|
"type": "string",
|
|
5391
|
-
"
|
|
5707
|
+
"title": "Cookie name or file path",
|
|
5708
|
+
"description": "Name of the specific cookie to load from default location, or file path to cookie file.",
|
|
5709
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
5392
5710
|
"transform": [
|
|
5393
5711
|
"trim"
|
|
5394
5712
|
]
|
|
5395
5713
|
},
|
|
5396
5714
|
{
|
|
5397
|
-
"type": "
|
|
5398
|
-
"
|
|
5399
|
-
|
|
5400
|
-
|
|
5401
|
-
|
|
5402
|
-
|
|
5403
|
-
|
|
5715
|
+
"type": "object",
|
|
5716
|
+
"additionalProperties": false,
|
|
5717
|
+
"required": [
|
|
5718
|
+
"name"
|
|
5719
|
+
],
|
|
5720
|
+
"anyOf": [
|
|
5721
|
+
{
|
|
5722
|
+
"required": [
|
|
5723
|
+
"path"
|
|
5724
|
+
],
|
|
5725
|
+
"not": {
|
|
5726
|
+
"required": [
|
|
5727
|
+
"variable"
|
|
5728
|
+
]
|
|
5729
|
+
}
|
|
5730
|
+
},
|
|
5731
|
+
{
|
|
5732
|
+
"required": [
|
|
5733
|
+
"variable"
|
|
5734
|
+
],
|
|
5735
|
+
"not": {
|
|
5736
|
+
"anyOf": [
|
|
5737
|
+
{
|
|
5738
|
+
"required": [
|
|
5739
|
+
"path"
|
|
5740
|
+
]
|
|
5741
|
+
},
|
|
5742
|
+
{
|
|
5743
|
+
"required": [
|
|
5744
|
+
"directory"
|
|
5745
|
+
]
|
|
5746
|
+
}
|
|
5747
|
+
]
|
|
5748
|
+
}
|
|
5749
|
+
}
|
|
5750
|
+
],
|
|
5751
|
+
"properties": {
|
|
5752
|
+
"$schema": {
|
|
5753
|
+
"description": "Optional self-describing schema URI for linters",
|
|
5754
|
+
"type": "string",
|
|
5755
|
+
"format": "uri-reference"
|
|
5756
|
+
},
|
|
5757
|
+
"name": {
|
|
5758
|
+
"type": "string",
|
|
5759
|
+
"title": "Cookie name",
|
|
5760
|
+
"description": "Name of the specific cookie to load.",
|
|
5761
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
5762
|
+
"transform": [
|
|
5763
|
+
"trim"
|
|
5764
|
+
]
|
|
5765
|
+
},
|
|
5766
|
+
"variable": {
|
|
5767
|
+
"type": "string",
|
|
5768
|
+
"title": "Environment variable name",
|
|
5769
|
+
"description": "Environment variable name containing the cookie as JSON string.",
|
|
5770
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
5771
|
+
"transform": [
|
|
5772
|
+
"trim"
|
|
5773
|
+
]
|
|
5774
|
+
},
|
|
5775
|
+
"path": {
|
|
5776
|
+
"type": "string",
|
|
5777
|
+
"title": "Cookie file path",
|
|
5778
|
+
"description": "File path to cookie file, relative to directory. Supports Netscape cookie format.",
|
|
5779
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
5780
|
+
"transform": [
|
|
5781
|
+
"trim"
|
|
5782
|
+
]
|
|
5783
|
+
},
|
|
5784
|
+
"directory": {
|
|
5785
|
+
"type": "string",
|
|
5786
|
+
"title": "Directory path",
|
|
5787
|
+
"description": "Directory containing the cookie file.",
|
|
5788
|
+
"transform": [
|
|
5789
|
+
"trim"
|
|
5790
|
+
]
|
|
5791
|
+
},
|
|
5792
|
+
"domain": {
|
|
5793
|
+
"type": "string",
|
|
5794
|
+
"title": "Cookie domain",
|
|
5795
|
+
"description": "Specific domain to filter the cookie by when loading from multi-cookie file (optional).",
|
|
5796
|
+
"transform": [
|
|
5797
|
+
"trim"
|
|
5798
|
+
]
|
|
5799
|
+
}
|
|
5800
|
+
},
|
|
5801
|
+
"title": "Load cookie (detailed)"
|
|
5802
|
+
}
|
|
5803
|
+
],
|
|
5804
|
+
"components": {
|
|
5805
|
+
"schemas": {
|
|
5806
|
+
"string": {
|
|
5807
|
+
"type": "string",
|
|
5808
|
+
"title": "Cookie name or file path",
|
|
5809
|
+
"description": "Name of the specific cookie to load from default location, or file path to cookie file.",
|
|
5810
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
5811
|
+
"transform": [
|
|
5812
|
+
"trim"
|
|
5813
|
+
]
|
|
5814
|
+
},
|
|
5815
|
+
"object": {
|
|
5816
|
+
"type": "object",
|
|
5817
|
+
"additionalProperties": false,
|
|
5818
|
+
"required": [
|
|
5819
|
+
"name"
|
|
5820
|
+
],
|
|
5821
|
+
"anyOf": [
|
|
5822
|
+
{
|
|
5823
|
+
"required": [
|
|
5824
|
+
"path"
|
|
5825
|
+
],
|
|
5826
|
+
"not": {
|
|
5827
|
+
"required": [
|
|
5828
|
+
"variable"
|
|
5829
|
+
]
|
|
5830
|
+
}
|
|
5831
|
+
},
|
|
5832
|
+
{
|
|
5833
|
+
"required": [
|
|
5834
|
+
"variable"
|
|
5835
|
+
],
|
|
5836
|
+
"not": {
|
|
5837
|
+
"anyOf": [
|
|
5838
|
+
{
|
|
5839
|
+
"required": [
|
|
5840
|
+
"path"
|
|
5841
|
+
]
|
|
5842
|
+
},
|
|
5843
|
+
{
|
|
5844
|
+
"required": [
|
|
5845
|
+
"directory"
|
|
5846
|
+
]
|
|
5847
|
+
}
|
|
5848
|
+
]
|
|
5849
|
+
}
|
|
5850
|
+
}
|
|
5851
|
+
],
|
|
5852
|
+
"properties": {
|
|
5853
|
+
"$schema": {
|
|
5854
|
+
"description": "Optional self-describing schema URI for linters",
|
|
5855
|
+
"type": "string",
|
|
5856
|
+
"format": "uri-reference"
|
|
5857
|
+
},
|
|
5858
|
+
"name": {
|
|
5859
|
+
"type": "string",
|
|
5860
|
+
"title": "Cookie name",
|
|
5861
|
+
"description": "Name of the specific cookie to load.",
|
|
5862
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
5863
|
+
"transform": [
|
|
5864
|
+
"trim"
|
|
5865
|
+
]
|
|
5866
|
+
},
|
|
5867
|
+
"variable": {
|
|
5868
|
+
"type": "string",
|
|
5869
|
+
"title": "Environment variable name",
|
|
5870
|
+
"description": "Environment variable name containing the cookie as JSON string.",
|
|
5871
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
5872
|
+
"transform": [
|
|
5873
|
+
"trim"
|
|
5874
|
+
]
|
|
5875
|
+
},
|
|
5876
|
+
"path": {
|
|
5877
|
+
"type": "string",
|
|
5878
|
+
"title": "Cookie file path",
|
|
5879
|
+
"description": "File path to cookie file, relative to directory. Supports Netscape cookie format.",
|
|
5880
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
5881
|
+
"transform": [
|
|
5882
|
+
"trim"
|
|
5883
|
+
]
|
|
5884
|
+
},
|
|
5885
|
+
"directory": {
|
|
5886
|
+
"type": "string",
|
|
5887
|
+
"title": "Directory path",
|
|
5888
|
+
"description": "Directory containing the cookie file.",
|
|
5889
|
+
"transform": [
|
|
5890
|
+
"trim"
|
|
5891
|
+
]
|
|
5892
|
+
},
|
|
5893
|
+
"domain": {
|
|
5894
|
+
"type": "string",
|
|
5895
|
+
"title": "Cookie domain",
|
|
5896
|
+
"description": "Specific domain to filter the cookie by when loading from multi-cookie file (optional).",
|
|
5897
|
+
"transform": [
|
|
5898
|
+
"trim"
|
|
5899
|
+
]
|
|
5900
|
+
}
|
|
5901
|
+
},
|
|
5902
|
+
"title": "Load cookie (detailed)"
|
|
5903
|
+
}
|
|
5904
|
+
}
|
|
5905
|
+
},
|
|
5906
|
+
"examples": [
|
|
5907
|
+
"session_token",
|
|
5908
|
+
"./test-data/auth-session.txt",
|
|
5909
|
+
{
|
|
5910
|
+
"name": "auth_cookie",
|
|
5911
|
+
"variable": "AUTH_COOKIE"
|
|
5912
|
+
},
|
|
5913
|
+
{
|
|
5914
|
+
"name": "session_token",
|
|
5915
|
+
"path": "session-token.txt",
|
|
5916
|
+
"directory": "./test-data"
|
|
5917
|
+
},
|
|
5918
|
+
{
|
|
5919
|
+
"name": "user_session",
|
|
5920
|
+
"path": "saved-cookies.txt",
|
|
5921
|
+
"domain": "app.example.com"
|
|
5922
|
+
}
|
|
5923
|
+
]
|
|
5924
|
+
}
|
|
5925
|
+
}
|
|
5926
|
+
}
|
|
5927
|
+
]
|
|
5928
|
+
},
|
|
5929
|
+
{
|
|
5930
|
+
"allOf": [
|
|
5931
|
+
{
|
|
5932
|
+
"type": "object",
|
|
5933
|
+
"dynamicDefaults": {
|
|
5934
|
+
"stepId": "uuid"
|
|
5935
|
+
},
|
|
5936
|
+
"properties": {
|
|
5937
|
+
"$schema": {
|
|
5938
|
+
"description": "JSON Schema for this object.",
|
|
5939
|
+
"type": "string",
|
|
5940
|
+
"enum": [
|
|
5941
|
+
"https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json"
|
|
5942
|
+
]
|
|
5943
|
+
},
|
|
5944
|
+
"stepId": {
|
|
5945
|
+
"type": "string",
|
|
5946
|
+
"description": "ID of the step."
|
|
5947
|
+
},
|
|
5948
|
+
"description": {
|
|
5949
|
+
"type": "string",
|
|
5950
|
+
"description": "Description of the step."
|
|
5951
|
+
},
|
|
5952
|
+
"unsafe": {
|
|
5953
|
+
"type": "boolean",
|
|
5954
|
+
"description": "Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.",
|
|
5955
|
+
"default": false
|
|
5956
|
+
},
|
|
5957
|
+
"outputs": {
|
|
5958
|
+
"type": "object",
|
|
5959
|
+
"description": "Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.",
|
|
5960
|
+
"default": {},
|
|
5961
|
+
"patternProperties": {
|
|
5962
|
+
"^[A-Za-z0-9_]+$": {
|
|
5963
|
+
"type": "string",
|
|
5964
|
+
"description": "Runtime expression for a user-defined output value."
|
|
5965
|
+
}
|
|
5966
|
+
},
|
|
5967
|
+
"title": "Outputs (step)"
|
|
5968
|
+
},
|
|
5969
|
+
"variables": {
|
|
5970
|
+
"type": "object",
|
|
5971
|
+
"description": "Environment variables to set from user-defined expressions.",
|
|
5972
|
+
"default": {},
|
|
5973
|
+
"patternProperties": {
|
|
5974
|
+
"^[A-Za-z0-9_]+$": {
|
|
5975
|
+
"type": "string",
|
|
5976
|
+
"description": "Runtime expression for a user-defined output value."
|
|
5977
|
+
}
|
|
5978
|
+
},
|
|
5979
|
+
"title": "Variables (step)"
|
|
5980
|
+
},
|
|
5981
|
+
"breakpoint": {
|
|
5982
|
+
"type": "boolean",
|
|
5983
|
+
"description": "Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.",
|
|
5984
|
+
"default": false
|
|
5985
|
+
}
|
|
5986
|
+
},
|
|
5987
|
+
"title": "Common"
|
|
5988
|
+
},
|
|
5989
|
+
{
|
|
5990
|
+
"title": "wait",
|
|
5991
|
+
"type": "object",
|
|
5992
|
+
"required": [
|
|
5993
|
+
"wait"
|
|
5994
|
+
],
|
|
5995
|
+
"properties": {
|
|
5996
|
+
"wait": {
|
|
5997
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5998
|
+
"title": "wait",
|
|
5999
|
+
"description": "Pause (in milliseconds) before performing the next action.",
|
|
6000
|
+
"default": 5000,
|
|
6001
|
+
"anyOf": [
|
|
6002
|
+
{
|
|
6003
|
+
"type": "number",
|
|
6004
|
+
"title": "Wait (simple)"
|
|
6005
|
+
},
|
|
6006
|
+
{
|
|
6007
|
+
"title": "Wait (environment variable)",
|
|
6008
|
+
"type": "string",
|
|
6009
|
+
"pattern": "(\\$[A-Za-z0-9_]+)",
|
|
6010
|
+
"transform": [
|
|
6011
|
+
"trim"
|
|
6012
|
+
]
|
|
6013
|
+
},
|
|
6014
|
+
{
|
|
6015
|
+
"type": "boolean",
|
|
6016
|
+
"title": "Wait (boolean)"
|
|
6017
|
+
}
|
|
6018
|
+
],
|
|
6019
|
+
"components": {
|
|
6020
|
+
"schemas": {
|
|
6021
|
+
"string": {
|
|
5404
6022
|
"title": "Wait (environment variable)",
|
|
5405
6023
|
"type": "string",
|
|
5406
6024
|
"pattern": "(\\$[A-Za-z0-9_]+)",
|
|
@@ -5547,6 +6165,27 @@
|
|
|
5547
6165
|
{
|
|
5548
6166
|
"loadVariables": "variables.env"
|
|
5549
6167
|
},
|
|
6168
|
+
{
|
|
6169
|
+
"saveCookie": "session_token"
|
|
6170
|
+
},
|
|
6171
|
+
{
|
|
6172
|
+
"saveCookie": {
|
|
6173
|
+
"name": "auth_cookie",
|
|
6174
|
+
"path": "auth-session.txt",
|
|
6175
|
+
"directory": "./test-data",
|
|
6176
|
+
"overwrite": true
|
|
6177
|
+
}
|
|
6178
|
+
},
|
|
6179
|
+
{
|
|
6180
|
+
"loadCookie": "session_token"
|
|
6181
|
+
},
|
|
6182
|
+
{
|
|
6183
|
+
"loadCookie": {
|
|
6184
|
+
"name": "auth_cookie",
|
|
6185
|
+
"path": "auth-session.txt",
|
|
6186
|
+
"directory": "./test-data"
|
|
6187
|
+
}
|
|
6188
|
+
},
|
|
5550
6189
|
{
|
|
5551
6190
|
"find": "Find me!"
|
|
5552
6191
|
},
|
|
@@ -9757,38 +10396,360 @@
|
|
|
9757
10396
|
"static/images/image.png",
|
|
9758
10397
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
9759
10398
|
{
|
|
9760
|
-
"path": "image.png",
|
|
9761
|
-
"directory": "static/images",
|
|
9762
|
-
"maxVariation": 0.1,
|
|
9763
|
-
"overwrite": "aboveVariation",
|
|
9764
|
-
"crop": "#elementToScreenshot"
|
|
10399
|
+
"path": "image.png",
|
|
10400
|
+
"directory": "static/images",
|
|
10401
|
+
"maxVariation": 0.1,
|
|
10402
|
+
"overwrite": "aboveVariation",
|
|
10403
|
+
"crop": "#elementToScreenshot"
|
|
10404
|
+
},
|
|
10405
|
+
{
|
|
10406
|
+
"path": "image.png",
|
|
10407
|
+
"directory": "static/images",
|
|
10408
|
+
"maxVariation": 0.1,
|
|
10409
|
+
"overwrite": "aboveVariation"
|
|
10410
|
+
},
|
|
10411
|
+
{
|
|
10412
|
+
"path": "image.png",
|
|
10413
|
+
"directory": "static/images",
|
|
10414
|
+
"maxVariation": 0.1,
|
|
10415
|
+
"overwrite": "aboveVariation",
|
|
10416
|
+
"crop": {
|
|
10417
|
+
"selector": "#elementToScreenshot",
|
|
10418
|
+
"elementText": "Element text",
|
|
10419
|
+
"padding": {
|
|
10420
|
+
"top": 0,
|
|
10421
|
+
"right": 0,
|
|
10422
|
+
"bottom": 0,
|
|
10423
|
+
"left": 0
|
|
10424
|
+
}
|
|
10425
|
+
}
|
|
10426
|
+
}
|
|
10427
|
+
]
|
|
10428
|
+
}
|
|
10429
|
+
},
|
|
10430
|
+
"title": "screenshot"
|
|
10431
|
+
}
|
|
10432
|
+
]
|
|
10433
|
+
},
|
|
10434
|
+
{
|
|
10435
|
+
"allOf": [
|
|
10436
|
+
{
|
|
10437
|
+
"type": "object",
|
|
10438
|
+
"dynamicDefaults": {
|
|
10439
|
+
"stepId": "uuid"
|
|
10440
|
+
},
|
|
10441
|
+
"properties": {
|
|
10442
|
+
"$schema": {
|
|
10443
|
+
"description": "JSON Schema for this object.",
|
|
10444
|
+
"type": "string",
|
|
10445
|
+
"enum": [
|
|
10446
|
+
"https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json"
|
|
10447
|
+
]
|
|
10448
|
+
},
|
|
10449
|
+
"stepId": {
|
|
10450
|
+
"type": "string",
|
|
10451
|
+
"description": "ID of the step."
|
|
10452
|
+
},
|
|
10453
|
+
"description": {
|
|
10454
|
+
"type": "string",
|
|
10455
|
+
"description": "Description of the step."
|
|
10456
|
+
},
|
|
10457
|
+
"unsafe": {
|
|
10458
|
+
"type": "boolean",
|
|
10459
|
+
"description": "Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.",
|
|
10460
|
+
"default": false
|
|
10461
|
+
},
|
|
10462
|
+
"outputs": {
|
|
10463
|
+
"type": "object",
|
|
10464
|
+
"description": "Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.",
|
|
10465
|
+
"default": {},
|
|
10466
|
+
"patternProperties": {
|
|
10467
|
+
"^[A-Za-z0-9_]+$": {
|
|
10468
|
+
"type": "string",
|
|
10469
|
+
"description": "Runtime expression for a user-defined output value."
|
|
10470
|
+
}
|
|
10471
|
+
},
|
|
10472
|
+
"title": "Outputs (step)"
|
|
10473
|
+
},
|
|
10474
|
+
"variables": {
|
|
10475
|
+
"type": "object",
|
|
10476
|
+
"description": "Environment variables to set from user-defined expressions.",
|
|
10477
|
+
"default": {},
|
|
10478
|
+
"patternProperties": {
|
|
10479
|
+
"^[A-Za-z0-9_]+$": {
|
|
10480
|
+
"type": "string",
|
|
10481
|
+
"description": "Runtime expression for a user-defined output value."
|
|
10482
|
+
}
|
|
10483
|
+
},
|
|
10484
|
+
"title": "Variables (step)"
|
|
10485
|
+
},
|
|
10486
|
+
"breakpoint": {
|
|
10487
|
+
"type": "boolean",
|
|
10488
|
+
"description": "Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.",
|
|
10489
|
+
"default": false
|
|
10490
|
+
}
|
|
10491
|
+
},
|
|
10492
|
+
"title": "Common"
|
|
10493
|
+
},
|
|
10494
|
+
{
|
|
10495
|
+
"type": "object",
|
|
10496
|
+
"required": [
|
|
10497
|
+
"saveCookie"
|
|
10498
|
+
],
|
|
10499
|
+
"properties": {
|
|
10500
|
+
"saveCookie": {
|
|
10501
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
10502
|
+
"title": "saveCookie",
|
|
10503
|
+
"description": "Save a specific browser cookie to a file or environment variable for later reuse.",
|
|
10504
|
+
"anyOf": [
|
|
10505
|
+
{
|
|
10506
|
+
"type": "string",
|
|
10507
|
+
"title": "Cookie name",
|
|
10508
|
+
"description": "Name of the specific cookie to save. Will be saved to a default file path or environment variable.",
|
|
10509
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
10510
|
+
"transform": [
|
|
10511
|
+
"trim"
|
|
10512
|
+
]
|
|
10513
|
+
},
|
|
10514
|
+
{
|
|
10515
|
+
"type": "object",
|
|
10516
|
+
"additionalProperties": false,
|
|
10517
|
+
"properties": {
|
|
10518
|
+
"$schema": {
|
|
10519
|
+
"description": "Optional self-describing schema URI for linters",
|
|
10520
|
+
"type": "string",
|
|
10521
|
+
"format": "uri-reference"
|
|
10522
|
+
},
|
|
10523
|
+
"name": {
|
|
10524
|
+
"type": "string",
|
|
10525
|
+
"title": "Cookie name",
|
|
10526
|
+
"description": "Name of the specific cookie to save.",
|
|
10527
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
10528
|
+
"transform": [
|
|
10529
|
+
"trim"
|
|
10530
|
+
]
|
|
10531
|
+
},
|
|
10532
|
+
"variable": {
|
|
10533
|
+
"type": "string",
|
|
10534
|
+
"title": "Environment variable name",
|
|
10535
|
+
"description": "Environment variable name to store the cookie as JSON string.",
|
|
10536
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
10537
|
+
"transform": [
|
|
10538
|
+
"trim"
|
|
10539
|
+
]
|
|
10540
|
+
},
|
|
10541
|
+
"path": {
|
|
10542
|
+
"type": "string",
|
|
10543
|
+
"title": "Cookie file path",
|
|
10544
|
+
"description": "File path to save the cookie, relative to directory. Uses Netscape cookie format.",
|
|
10545
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
10546
|
+
"transform": [
|
|
10547
|
+
"trim"
|
|
10548
|
+
]
|
|
10549
|
+
},
|
|
10550
|
+
"directory": {
|
|
10551
|
+
"type": "string",
|
|
10552
|
+
"title": "Directory path",
|
|
10553
|
+
"description": "Directory to save the cookie file. If not specified, uses output directory.",
|
|
10554
|
+
"transform": [
|
|
10555
|
+
"trim"
|
|
10556
|
+
]
|
|
10557
|
+
},
|
|
10558
|
+
"overwrite": {
|
|
10559
|
+
"type": "boolean",
|
|
10560
|
+
"title": "Overwrite existing file",
|
|
10561
|
+
"description": "Whether to overwrite existing cookie file.",
|
|
10562
|
+
"default": false
|
|
10563
|
+
},
|
|
10564
|
+
"domain": {
|
|
10565
|
+
"type": "string",
|
|
10566
|
+
"title": "Cookie domain",
|
|
10567
|
+
"description": "Specific domain to filter the cookie by (optional).",
|
|
10568
|
+
"transform": [
|
|
10569
|
+
"trim"
|
|
10570
|
+
]
|
|
10571
|
+
}
|
|
10572
|
+
},
|
|
10573
|
+
"required": [
|
|
10574
|
+
"name"
|
|
10575
|
+
],
|
|
10576
|
+
"anyOf": [
|
|
10577
|
+
{
|
|
10578
|
+
"required": [
|
|
10579
|
+
"path"
|
|
10580
|
+
],
|
|
10581
|
+
"not": {
|
|
10582
|
+
"required": [
|
|
10583
|
+
"variable"
|
|
10584
|
+
]
|
|
10585
|
+
}
|
|
10586
|
+
},
|
|
10587
|
+
{
|
|
10588
|
+
"required": [
|
|
10589
|
+
"variable"
|
|
10590
|
+
],
|
|
10591
|
+
"not": {
|
|
10592
|
+
"anyOf": [
|
|
10593
|
+
{
|
|
10594
|
+
"required": [
|
|
10595
|
+
"path"
|
|
10596
|
+
]
|
|
10597
|
+
},
|
|
10598
|
+
{
|
|
10599
|
+
"required": [
|
|
10600
|
+
"directory"
|
|
10601
|
+
]
|
|
10602
|
+
},
|
|
10603
|
+
{
|
|
10604
|
+
"required": [
|
|
10605
|
+
"overwrite"
|
|
10606
|
+
]
|
|
10607
|
+
}
|
|
10608
|
+
]
|
|
10609
|
+
}
|
|
10610
|
+
}
|
|
10611
|
+
],
|
|
10612
|
+
"title": "Save cookie (detailed)"
|
|
10613
|
+
}
|
|
10614
|
+
],
|
|
10615
|
+
"components": {
|
|
10616
|
+
"schemas": {
|
|
10617
|
+
"string": {
|
|
10618
|
+
"type": "string",
|
|
10619
|
+
"title": "Cookie name",
|
|
10620
|
+
"description": "Name of the specific cookie to save. Will be saved to a default file path or environment variable.",
|
|
10621
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
10622
|
+
"transform": [
|
|
10623
|
+
"trim"
|
|
10624
|
+
]
|
|
10625
|
+
},
|
|
10626
|
+
"object": {
|
|
10627
|
+
"type": "object",
|
|
10628
|
+
"additionalProperties": false,
|
|
10629
|
+
"properties": {
|
|
10630
|
+
"$schema": {
|
|
10631
|
+
"description": "Optional self-describing schema URI for linters",
|
|
10632
|
+
"type": "string",
|
|
10633
|
+
"format": "uri-reference"
|
|
10634
|
+
},
|
|
10635
|
+
"name": {
|
|
10636
|
+
"type": "string",
|
|
10637
|
+
"title": "Cookie name",
|
|
10638
|
+
"description": "Name of the specific cookie to save.",
|
|
10639
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
10640
|
+
"transform": [
|
|
10641
|
+
"trim"
|
|
10642
|
+
]
|
|
10643
|
+
},
|
|
10644
|
+
"variable": {
|
|
10645
|
+
"type": "string",
|
|
10646
|
+
"title": "Environment variable name",
|
|
10647
|
+
"description": "Environment variable name to store the cookie as JSON string.",
|
|
10648
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
10649
|
+
"transform": [
|
|
10650
|
+
"trim"
|
|
10651
|
+
]
|
|
10652
|
+
},
|
|
10653
|
+
"path": {
|
|
10654
|
+
"type": "string",
|
|
10655
|
+
"title": "Cookie file path",
|
|
10656
|
+
"description": "File path to save the cookie, relative to directory. Uses Netscape cookie format.",
|
|
10657
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
10658
|
+
"transform": [
|
|
10659
|
+
"trim"
|
|
10660
|
+
]
|
|
10661
|
+
},
|
|
10662
|
+
"directory": {
|
|
10663
|
+
"type": "string",
|
|
10664
|
+
"title": "Directory path",
|
|
10665
|
+
"description": "Directory to save the cookie file. If not specified, uses output directory.",
|
|
10666
|
+
"transform": [
|
|
10667
|
+
"trim"
|
|
10668
|
+
]
|
|
10669
|
+
},
|
|
10670
|
+
"overwrite": {
|
|
10671
|
+
"type": "boolean",
|
|
10672
|
+
"title": "Overwrite existing file",
|
|
10673
|
+
"description": "Whether to overwrite existing cookie file.",
|
|
10674
|
+
"default": false
|
|
10675
|
+
},
|
|
10676
|
+
"domain": {
|
|
10677
|
+
"type": "string",
|
|
10678
|
+
"title": "Cookie domain",
|
|
10679
|
+
"description": "Specific domain to filter the cookie by (optional).",
|
|
10680
|
+
"transform": [
|
|
10681
|
+
"trim"
|
|
10682
|
+
]
|
|
10683
|
+
}
|
|
10684
|
+
},
|
|
10685
|
+
"required": [
|
|
10686
|
+
"name"
|
|
10687
|
+
],
|
|
10688
|
+
"anyOf": [
|
|
10689
|
+
{
|
|
10690
|
+
"required": [
|
|
10691
|
+
"path"
|
|
10692
|
+
],
|
|
10693
|
+
"not": {
|
|
10694
|
+
"required": [
|
|
10695
|
+
"variable"
|
|
10696
|
+
]
|
|
10697
|
+
}
|
|
10698
|
+
},
|
|
10699
|
+
{
|
|
10700
|
+
"required": [
|
|
10701
|
+
"variable"
|
|
10702
|
+
],
|
|
10703
|
+
"not": {
|
|
10704
|
+
"anyOf": [
|
|
10705
|
+
{
|
|
10706
|
+
"required": [
|
|
10707
|
+
"path"
|
|
10708
|
+
]
|
|
10709
|
+
},
|
|
10710
|
+
{
|
|
10711
|
+
"required": [
|
|
10712
|
+
"directory"
|
|
10713
|
+
]
|
|
10714
|
+
},
|
|
10715
|
+
{
|
|
10716
|
+
"required": [
|
|
10717
|
+
"overwrite"
|
|
10718
|
+
]
|
|
10719
|
+
}
|
|
10720
|
+
]
|
|
10721
|
+
}
|
|
10722
|
+
}
|
|
10723
|
+
],
|
|
10724
|
+
"title": "Save cookie (detailed)"
|
|
10725
|
+
}
|
|
10726
|
+
}
|
|
10727
|
+
},
|
|
10728
|
+
"examples": [
|
|
10729
|
+
"session_token",
|
|
10730
|
+
{
|
|
10731
|
+
"name": "auth_cookie",
|
|
10732
|
+
"path": "auth-cookie.txt"
|
|
10733
|
+
},
|
|
10734
|
+
{
|
|
10735
|
+
"name": "session_token",
|
|
10736
|
+
"variable": "SESSION_TOKEN"
|
|
9765
10737
|
},
|
|
9766
10738
|
{
|
|
9767
|
-
"
|
|
9768
|
-
"
|
|
9769
|
-
"
|
|
9770
|
-
"overwrite":
|
|
10739
|
+
"name": "user_session",
|
|
10740
|
+
"path": "user-session.txt",
|
|
10741
|
+
"directory": "./test-data",
|
|
10742
|
+
"overwrite": true
|
|
9771
10743
|
},
|
|
9772
10744
|
{
|
|
9773
|
-
"
|
|
9774
|
-
"
|
|
9775
|
-
"
|
|
9776
|
-
"overwrite": "aboveVariation",
|
|
9777
|
-
"crop": {
|
|
9778
|
-
"selector": "#elementToScreenshot",
|
|
9779
|
-
"elementText": "Element text",
|
|
9780
|
-
"padding": {
|
|
9781
|
-
"top": 0,
|
|
9782
|
-
"right": 0,
|
|
9783
|
-
"bottom": 0,
|
|
9784
|
-
"left": 0
|
|
9785
|
-
}
|
|
9786
|
-
}
|
|
10745
|
+
"name": "login_token",
|
|
10746
|
+
"path": "login-token.txt",
|
|
10747
|
+
"domain": "app.example.com"
|
|
9787
10748
|
}
|
|
9788
10749
|
]
|
|
9789
10750
|
}
|
|
9790
10751
|
},
|
|
9791
|
-
"title": "
|
|
10752
|
+
"title": "saveCookie"
|
|
9792
10753
|
}
|
|
9793
10754
|
]
|
|
9794
10755
|
},
|
|
@@ -10129,6 +11090,302 @@
|
|
|
10129
11090
|
}
|
|
10130
11091
|
]
|
|
10131
11092
|
},
|
|
11093
|
+
{
|
|
11094
|
+
"allOf": [
|
|
11095
|
+
{
|
|
11096
|
+
"type": "object",
|
|
11097
|
+
"dynamicDefaults": {
|
|
11098
|
+
"stepId": "uuid"
|
|
11099
|
+
},
|
|
11100
|
+
"properties": {
|
|
11101
|
+
"$schema": {
|
|
11102
|
+
"description": "JSON Schema for this object.",
|
|
11103
|
+
"type": "string",
|
|
11104
|
+
"enum": [
|
|
11105
|
+
"https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json"
|
|
11106
|
+
]
|
|
11107
|
+
},
|
|
11108
|
+
"stepId": {
|
|
11109
|
+
"type": "string",
|
|
11110
|
+
"description": "ID of the step."
|
|
11111
|
+
},
|
|
11112
|
+
"description": {
|
|
11113
|
+
"type": "string",
|
|
11114
|
+
"description": "Description of the step."
|
|
11115
|
+
},
|
|
11116
|
+
"unsafe": {
|
|
11117
|
+
"type": "boolean",
|
|
11118
|
+
"description": "Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.",
|
|
11119
|
+
"default": false
|
|
11120
|
+
},
|
|
11121
|
+
"outputs": {
|
|
11122
|
+
"type": "object",
|
|
11123
|
+
"description": "Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.",
|
|
11124
|
+
"default": {},
|
|
11125
|
+
"patternProperties": {
|
|
11126
|
+
"^[A-Za-z0-9_]+$": {
|
|
11127
|
+
"type": "string",
|
|
11128
|
+
"description": "Runtime expression for a user-defined output value."
|
|
11129
|
+
}
|
|
11130
|
+
},
|
|
11131
|
+
"title": "Outputs (step)"
|
|
11132
|
+
},
|
|
11133
|
+
"variables": {
|
|
11134
|
+
"type": "object",
|
|
11135
|
+
"description": "Environment variables to set from user-defined expressions.",
|
|
11136
|
+
"default": {},
|
|
11137
|
+
"patternProperties": {
|
|
11138
|
+
"^[A-Za-z0-9_]+$": {
|
|
11139
|
+
"type": "string",
|
|
11140
|
+
"description": "Runtime expression for a user-defined output value."
|
|
11141
|
+
}
|
|
11142
|
+
},
|
|
11143
|
+
"title": "Variables (step)"
|
|
11144
|
+
},
|
|
11145
|
+
"breakpoint": {
|
|
11146
|
+
"type": "boolean",
|
|
11147
|
+
"description": "Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.",
|
|
11148
|
+
"default": false
|
|
11149
|
+
}
|
|
11150
|
+
},
|
|
11151
|
+
"title": "Common"
|
|
11152
|
+
},
|
|
11153
|
+
{
|
|
11154
|
+
"title": "loadCookie",
|
|
11155
|
+
"type": "object",
|
|
11156
|
+
"required": [
|
|
11157
|
+
"loadCookie"
|
|
11158
|
+
],
|
|
11159
|
+
"properties": {
|
|
11160
|
+
"loadCookie": {
|
|
11161
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
11162
|
+
"title": "loadCookie",
|
|
11163
|
+
"description": "Load a specific cookie from a file or environment variable into the browser.",
|
|
11164
|
+
"anyOf": [
|
|
11165
|
+
{
|
|
11166
|
+
"type": "string",
|
|
11167
|
+
"title": "Cookie name or file path",
|
|
11168
|
+
"description": "Name of the specific cookie to load from default location, or file path to cookie file.",
|
|
11169
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
11170
|
+
"transform": [
|
|
11171
|
+
"trim"
|
|
11172
|
+
]
|
|
11173
|
+
},
|
|
11174
|
+
{
|
|
11175
|
+
"type": "object",
|
|
11176
|
+
"additionalProperties": false,
|
|
11177
|
+
"required": [
|
|
11178
|
+
"name"
|
|
11179
|
+
],
|
|
11180
|
+
"anyOf": [
|
|
11181
|
+
{
|
|
11182
|
+
"required": [
|
|
11183
|
+
"path"
|
|
11184
|
+
],
|
|
11185
|
+
"not": {
|
|
11186
|
+
"required": [
|
|
11187
|
+
"variable"
|
|
11188
|
+
]
|
|
11189
|
+
}
|
|
11190
|
+
},
|
|
11191
|
+
{
|
|
11192
|
+
"required": [
|
|
11193
|
+
"variable"
|
|
11194
|
+
],
|
|
11195
|
+
"not": {
|
|
11196
|
+
"anyOf": [
|
|
11197
|
+
{
|
|
11198
|
+
"required": [
|
|
11199
|
+
"path"
|
|
11200
|
+
]
|
|
11201
|
+
},
|
|
11202
|
+
{
|
|
11203
|
+
"required": [
|
|
11204
|
+
"directory"
|
|
11205
|
+
]
|
|
11206
|
+
}
|
|
11207
|
+
]
|
|
11208
|
+
}
|
|
11209
|
+
}
|
|
11210
|
+
],
|
|
11211
|
+
"properties": {
|
|
11212
|
+
"$schema": {
|
|
11213
|
+
"description": "Optional self-describing schema URI for linters",
|
|
11214
|
+
"type": "string",
|
|
11215
|
+
"format": "uri-reference"
|
|
11216
|
+
},
|
|
11217
|
+
"name": {
|
|
11218
|
+
"type": "string",
|
|
11219
|
+
"title": "Cookie name",
|
|
11220
|
+
"description": "Name of the specific cookie to load.",
|
|
11221
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
11222
|
+
"transform": [
|
|
11223
|
+
"trim"
|
|
11224
|
+
]
|
|
11225
|
+
},
|
|
11226
|
+
"variable": {
|
|
11227
|
+
"type": "string",
|
|
11228
|
+
"title": "Environment variable name",
|
|
11229
|
+
"description": "Environment variable name containing the cookie as JSON string.",
|
|
11230
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
11231
|
+
"transform": [
|
|
11232
|
+
"trim"
|
|
11233
|
+
]
|
|
11234
|
+
},
|
|
11235
|
+
"path": {
|
|
11236
|
+
"type": "string",
|
|
11237
|
+
"title": "Cookie file path",
|
|
11238
|
+
"description": "File path to cookie file, relative to directory. Supports Netscape cookie format.",
|
|
11239
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
11240
|
+
"transform": [
|
|
11241
|
+
"trim"
|
|
11242
|
+
]
|
|
11243
|
+
},
|
|
11244
|
+
"directory": {
|
|
11245
|
+
"type": "string",
|
|
11246
|
+
"title": "Directory path",
|
|
11247
|
+
"description": "Directory containing the cookie file.",
|
|
11248
|
+
"transform": [
|
|
11249
|
+
"trim"
|
|
11250
|
+
]
|
|
11251
|
+
},
|
|
11252
|
+
"domain": {
|
|
11253
|
+
"type": "string",
|
|
11254
|
+
"title": "Cookie domain",
|
|
11255
|
+
"description": "Specific domain to filter the cookie by when loading from multi-cookie file (optional).",
|
|
11256
|
+
"transform": [
|
|
11257
|
+
"trim"
|
|
11258
|
+
]
|
|
11259
|
+
}
|
|
11260
|
+
},
|
|
11261
|
+
"title": "Load cookie (detailed)"
|
|
11262
|
+
}
|
|
11263
|
+
],
|
|
11264
|
+
"components": {
|
|
11265
|
+
"schemas": {
|
|
11266
|
+
"string": {
|
|
11267
|
+
"type": "string",
|
|
11268
|
+
"title": "Cookie name or file path",
|
|
11269
|
+
"description": "Name of the specific cookie to load from default location, or file path to cookie file.",
|
|
11270
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
11271
|
+
"transform": [
|
|
11272
|
+
"trim"
|
|
11273
|
+
]
|
|
11274
|
+
},
|
|
11275
|
+
"object": {
|
|
11276
|
+
"type": "object",
|
|
11277
|
+
"additionalProperties": false,
|
|
11278
|
+
"required": [
|
|
11279
|
+
"name"
|
|
11280
|
+
],
|
|
11281
|
+
"anyOf": [
|
|
11282
|
+
{
|
|
11283
|
+
"required": [
|
|
11284
|
+
"path"
|
|
11285
|
+
],
|
|
11286
|
+
"not": {
|
|
11287
|
+
"required": [
|
|
11288
|
+
"variable"
|
|
11289
|
+
]
|
|
11290
|
+
}
|
|
11291
|
+
},
|
|
11292
|
+
{
|
|
11293
|
+
"required": [
|
|
11294
|
+
"variable"
|
|
11295
|
+
],
|
|
11296
|
+
"not": {
|
|
11297
|
+
"anyOf": [
|
|
11298
|
+
{
|
|
11299
|
+
"required": [
|
|
11300
|
+
"path"
|
|
11301
|
+
]
|
|
11302
|
+
},
|
|
11303
|
+
{
|
|
11304
|
+
"required": [
|
|
11305
|
+
"directory"
|
|
11306
|
+
]
|
|
11307
|
+
}
|
|
11308
|
+
]
|
|
11309
|
+
}
|
|
11310
|
+
}
|
|
11311
|
+
],
|
|
11312
|
+
"properties": {
|
|
11313
|
+
"$schema": {
|
|
11314
|
+
"description": "Optional self-describing schema URI for linters",
|
|
11315
|
+
"type": "string",
|
|
11316
|
+
"format": "uri-reference"
|
|
11317
|
+
},
|
|
11318
|
+
"name": {
|
|
11319
|
+
"type": "string",
|
|
11320
|
+
"title": "Cookie name",
|
|
11321
|
+
"description": "Name of the specific cookie to load.",
|
|
11322
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
11323
|
+
"transform": [
|
|
11324
|
+
"trim"
|
|
11325
|
+
]
|
|
11326
|
+
},
|
|
11327
|
+
"variable": {
|
|
11328
|
+
"type": "string",
|
|
11329
|
+
"title": "Environment variable name",
|
|
11330
|
+
"description": "Environment variable name containing the cookie as JSON string.",
|
|
11331
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
11332
|
+
"transform": [
|
|
11333
|
+
"trim"
|
|
11334
|
+
]
|
|
11335
|
+
},
|
|
11336
|
+
"path": {
|
|
11337
|
+
"type": "string",
|
|
11338
|
+
"title": "Cookie file path",
|
|
11339
|
+
"description": "File path to cookie file, relative to directory. Supports Netscape cookie format.",
|
|
11340
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
11341
|
+
"transform": [
|
|
11342
|
+
"trim"
|
|
11343
|
+
]
|
|
11344
|
+
},
|
|
11345
|
+
"directory": {
|
|
11346
|
+
"type": "string",
|
|
11347
|
+
"title": "Directory path",
|
|
11348
|
+
"description": "Directory containing the cookie file.",
|
|
11349
|
+
"transform": [
|
|
11350
|
+
"trim"
|
|
11351
|
+
]
|
|
11352
|
+
},
|
|
11353
|
+
"domain": {
|
|
11354
|
+
"type": "string",
|
|
11355
|
+
"title": "Cookie domain",
|
|
11356
|
+
"description": "Specific domain to filter the cookie by when loading from multi-cookie file (optional).",
|
|
11357
|
+
"transform": [
|
|
11358
|
+
"trim"
|
|
11359
|
+
]
|
|
11360
|
+
}
|
|
11361
|
+
},
|
|
11362
|
+
"title": "Load cookie (detailed)"
|
|
11363
|
+
}
|
|
11364
|
+
}
|
|
11365
|
+
},
|
|
11366
|
+
"examples": [
|
|
11367
|
+
"session_token",
|
|
11368
|
+
"./test-data/auth-session.txt",
|
|
11369
|
+
{
|
|
11370
|
+
"name": "auth_cookie",
|
|
11371
|
+
"variable": "AUTH_COOKIE"
|
|
11372
|
+
},
|
|
11373
|
+
{
|
|
11374
|
+
"name": "session_token",
|
|
11375
|
+
"path": "session-token.txt",
|
|
11376
|
+
"directory": "./test-data"
|
|
11377
|
+
},
|
|
11378
|
+
{
|
|
11379
|
+
"name": "user_session",
|
|
11380
|
+
"path": "saved-cookies.txt",
|
|
11381
|
+
"domain": "app.example.com"
|
|
11382
|
+
}
|
|
11383
|
+
]
|
|
11384
|
+
}
|
|
11385
|
+
}
|
|
11386
|
+
}
|
|
11387
|
+
]
|
|
11388
|
+
},
|
|
10132
11389
|
{
|
|
10133
11390
|
"allOf": [
|
|
10134
11391
|
{
|
|
@@ -10368,6 +11625,27 @@
|
|
|
10368
11625
|
{
|
|
10369
11626
|
"loadVariables": "variables.env"
|
|
10370
11627
|
},
|
|
11628
|
+
{
|
|
11629
|
+
"saveCookie": "session_token"
|
|
11630
|
+
},
|
|
11631
|
+
{
|
|
11632
|
+
"saveCookie": {
|
|
11633
|
+
"name": "auth_cookie",
|
|
11634
|
+
"path": "auth-session.txt",
|
|
11635
|
+
"directory": "./test-data",
|
|
11636
|
+
"overwrite": true
|
|
11637
|
+
}
|
|
11638
|
+
},
|
|
11639
|
+
{
|
|
11640
|
+
"loadCookie": "session_token"
|
|
11641
|
+
},
|
|
11642
|
+
{
|
|
11643
|
+
"loadCookie": {
|
|
11644
|
+
"name": "auth_cookie",
|
|
11645
|
+
"path": "auth-session.txt",
|
|
11646
|
+
"directory": "./test-data"
|
|
11647
|
+
}
|
|
11648
|
+
},
|
|
10371
11649
|
{
|
|
10372
11650
|
"find": "Find me!"
|
|
10373
11651
|
},
|