doc-detective-common 3.1.2-dev.2 → 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
|
@@ -4352,6 +4352,328 @@
|
|
|
4352
4352
|
}
|
|
4353
4353
|
]
|
|
4354
4354
|
},
|
|
4355
|
+
{
|
|
4356
|
+
"allOf": [
|
|
4357
|
+
{
|
|
4358
|
+
"type": "object",
|
|
4359
|
+
"dynamicDefaults": {
|
|
4360
|
+
"stepId": "uuid"
|
|
4361
|
+
},
|
|
4362
|
+
"properties": {
|
|
4363
|
+
"$schema": {
|
|
4364
|
+
"description": "JSON Schema for this object.",
|
|
4365
|
+
"type": "string",
|
|
4366
|
+
"enum": [
|
|
4367
|
+
"https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json"
|
|
4368
|
+
]
|
|
4369
|
+
},
|
|
4370
|
+
"stepId": {
|
|
4371
|
+
"type": "string",
|
|
4372
|
+
"description": "ID of the step."
|
|
4373
|
+
},
|
|
4374
|
+
"description": {
|
|
4375
|
+
"type": "string",
|
|
4376
|
+
"description": "Description of the step."
|
|
4377
|
+
},
|
|
4378
|
+
"unsafe": {
|
|
4379
|
+
"type": "boolean",
|
|
4380
|
+
"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.",
|
|
4381
|
+
"default": false
|
|
4382
|
+
},
|
|
4383
|
+
"outputs": {
|
|
4384
|
+
"type": "object",
|
|
4385
|
+
"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.",
|
|
4386
|
+
"default": {},
|
|
4387
|
+
"patternProperties": {
|
|
4388
|
+
"^[A-Za-z0-9_]+$": {
|
|
4389
|
+
"type": "string",
|
|
4390
|
+
"description": "Runtime expression for a user-defined output value."
|
|
4391
|
+
}
|
|
4392
|
+
},
|
|
4393
|
+
"title": "Outputs (step)"
|
|
4394
|
+
},
|
|
4395
|
+
"variables": {
|
|
4396
|
+
"type": "object",
|
|
4397
|
+
"description": "Environment variables to set from user-defined expressions.",
|
|
4398
|
+
"default": {},
|
|
4399
|
+
"patternProperties": {
|
|
4400
|
+
"^[A-Za-z0-9_]+$": {
|
|
4401
|
+
"type": "string",
|
|
4402
|
+
"description": "Runtime expression for a user-defined output value."
|
|
4403
|
+
}
|
|
4404
|
+
},
|
|
4405
|
+
"title": "Variables (step)"
|
|
4406
|
+
},
|
|
4407
|
+
"breakpoint": {
|
|
4408
|
+
"type": "boolean",
|
|
4409
|
+
"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.",
|
|
4410
|
+
"default": false
|
|
4411
|
+
}
|
|
4412
|
+
},
|
|
4413
|
+
"title": "Common"
|
|
4414
|
+
},
|
|
4415
|
+
{
|
|
4416
|
+
"type": "object",
|
|
4417
|
+
"required": [
|
|
4418
|
+
"saveCookie"
|
|
4419
|
+
],
|
|
4420
|
+
"properties": {
|
|
4421
|
+
"saveCookie": {
|
|
4422
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4423
|
+
"title": "saveCookie",
|
|
4424
|
+
"description": "Save a specific browser cookie to a file or environment variable for later reuse.",
|
|
4425
|
+
"anyOf": [
|
|
4426
|
+
{
|
|
4427
|
+
"type": "string",
|
|
4428
|
+
"title": "Cookie name",
|
|
4429
|
+
"description": "Name of the specific cookie to save. Will be saved to a default file path or environment variable.",
|
|
4430
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
4431
|
+
"transform": [
|
|
4432
|
+
"trim"
|
|
4433
|
+
]
|
|
4434
|
+
},
|
|
4435
|
+
{
|
|
4436
|
+
"type": "object",
|
|
4437
|
+
"additionalProperties": false,
|
|
4438
|
+
"properties": {
|
|
4439
|
+
"$schema": {
|
|
4440
|
+
"description": "Optional self-describing schema URI for linters",
|
|
4441
|
+
"type": "string",
|
|
4442
|
+
"format": "uri-reference"
|
|
4443
|
+
},
|
|
4444
|
+
"name": {
|
|
4445
|
+
"type": "string",
|
|
4446
|
+
"title": "Cookie name",
|
|
4447
|
+
"description": "Name of the specific cookie to save.",
|
|
4448
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
4449
|
+
"transform": [
|
|
4450
|
+
"trim"
|
|
4451
|
+
]
|
|
4452
|
+
},
|
|
4453
|
+
"variable": {
|
|
4454
|
+
"type": "string",
|
|
4455
|
+
"title": "Environment variable name",
|
|
4456
|
+
"description": "Environment variable name to store the cookie as JSON string.",
|
|
4457
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
4458
|
+
"transform": [
|
|
4459
|
+
"trim"
|
|
4460
|
+
]
|
|
4461
|
+
},
|
|
4462
|
+
"path": {
|
|
4463
|
+
"type": "string",
|
|
4464
|
+
"title": "Cookie file path",
|
|
4465
|
+
"description": "File path to save the cookie, relative to directory. Uses Netscape cookie format.",
|
|
4466
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
4467
|
+
"transform": [
|
|
4468
|
+
"trim"
|
|
4469
|
+
]
|
|
4470
|
+
},
|
|
4471
|
+
"directory": {
|
|
4472
|
+
"type": "string",
|
|
4473
|
+
"title": "Directory path",
|
|
4474
|
+
"description": "Directory to save the cookie file. If not specified, uses output directory.",
|
|
4475
|
+
"transform": [
|
|
4476
|
+
"trim"
|
|
4477
|
+
]
|
|
4478
|
+
},
|
|
4479
|
+
"overwrite": {
|
|
4480
|
+
"type": "boolean",
|
|
4481
|
+
"title": "Overwrite existing file",
|
|
4482
|
+
"description": "Whether to overwrite existing cookie file.",
|
|
4483
|
+
"default": false
|
|
4484
|
+
},
|
|
4485
|
+
"domain": {
|
|
4486
|
+
"type": "string",
|
|
4487
|
+
"title": "Cookie domain",
|
|
4488
|
+
"description": "Specific domain to filter the cookie by (optional).",
|
|
4489
|
+
"transform": [
|
|
4490
|
+
"trim"
|
|
4491
|
+
]
|
|
4492
|
+
}
|
|
4493
|
+
},
|
|
4494
|
+
"required": [
|
|
4495
|
+
"name"
|
|
4496
|
+
],
|
|
4497
|
+
"anyOf": [
|
|
4498
|
+
{
|
|
4499
|
+
"required": [
|
|
4500
|
+
"path"
|
|
4501
|
+
],
|
|
4502
|
+
"not": {
|
|
4503
|
+
"required": [
|
|
4504
|
+
"variable"
|
|
4505
|
+
]
|
|
4506
|
+
}
|
|
4507
|
+
},
|
|
4508
|
+
{
|
|
4509
|
+
"required": [
|
|
4510
|
+
"variable"
|
|
4511
|
+
],
|
|
4512
|
+
"not": {
|
|
4513
|
+
"anyOf": [
|
|
4514
|
+
{
|
|
4515
|
+
"required": [
|
|
4516
|
+
"path"
|
|
4517
|
+
]
|
|
4518
|
+
},
|
|
4519
|
+
{
|
|
4520
|
+
"required": [
|
|
4521
|
+
"directory"
|
|
4522
|
+
]
|
|
4523
|
+
},
|
|
4524
|
+
{
|
|
4525
|
+
"required": [
|
|
4526
|
+
"overwrite"
|
|
4527
|
+
]
|
|
4528
|
+
}
|
|
4529
|
+
]
|
|
4530
|
+
}
|
|
4531
|
+
}
|
|
4532
|
+
],
|
|
4533
|
+
"title": "Save cookie (detailed)"
|
|
4534
|
+
}
|
|
4535
|
+
],
|
|
4536
|
+
"components": {
|
|
4537
|
+
"schemas": {
|
|
4538
|
+
"string": {
|
|
4539
|
+
"type": "string",
|
|
4540
|
+
"title": "Cookie name",
|
|
4541
|
+
"description": "Name of the specific cookie to save. Will be saved to a default file path or environment variable.",
|
|
4542
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
4543
|
+
"transform": [
|
|
4544
|
+
"trim"
|
|
4545
|
+
]
|
|
4546
|
+
},
|
|
4547
|
+
"object": {
|
|
4548
|
+
"type": "object",
|
|
4549
|
+
"additionalProperties": false,
|
|
4550
|
+
"properties": {
|
|
4551
|
+
"$schema": {
|
|
4552
|
+
"description": "Optional self-describing schema URI for linters",
|
|
4553
|
+
"type": "string",
|
|
4554
|
+
"format": "uri-reference"
|
|
4555
|
+
},
|
|
4556
|
+
"name": {
|
|
4557
|
+
"type": "string",
|
|
4558
|
+
"title": "Cookie name",
|
|
4559
|
+
"description": "Name of the specific cookie to save.",
|
|
4560
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
4561
|
+
"transform": [
|
|
4562
|
+
"trim"
|
|
4563
|
+
]
|
|
4564
|
+
},
|
|
4565
|
+
"variable": {
|
|
4566
|
+
"type": "string",
|
|
4567
|
+
"title": "Environment variable name",
|
|
4568
|
+
"description": "Environment variable name to store the cookie as JSON string.",
|
|
4569
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
4570
|
+
"transform": [
|
|
4571
|
+
"trim"
|
|
4572
|
+
]
|
|
4573
|
+
},
|
|
4574
|
+
"path": {
|
|
4575
|
+
"type": "string",
|
|
4576
|
+
"title": "Cookie file path",
|
|
4577
|
+
"description": "File path to save the cookie, relative to directory. Uses Netscape cookie format.",
|
|
4578
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
4579
|
+
"transform": [
|
|
4580
|
+
"trim"
|
|
4581
|
+
]
|
|
4582
|
+
},
|
|
4583
|
+
"directory": {
|
|
4584
|
+
"type": "string",
|
|
4585
|
+
"title": "Directory path",
|
|
4586
|
+
"description": "Directory to save the cookie file. If not specified, uses output directory.",
|
|
4587
|
+
"transform": [
|
|
4588
|
+
"trim"
|
|
4589
|
+
]
|
|
4590
|
+
},
|
|
4591
|
+
"overwrite": {
|
|
4592
|
+
"type": "boolean",
|
|
4593
|
+
"title": "Overwrite existing file",
|
|
4594
|
+
"description": "Whether to overwrite existing cookie file.",
|
|
4595
|
+
"default": false
|
|
4596
|
+
},
|
|
4597
|
+
"domain": {
|
|
4598
|
+
"type": "string",
|
|
4599
|
+
"title": "Cookie domain",
|
|
4600
|
+
"description": "Specific domain to filter the cookie by (optional).",
|
|
4601
|
+
"transform": [
|
|
4602
|
+
"trim"
|
|
4603
|
+
]
|
|
4604
|
+
}
|
|
4605
|
+
},
|
|
4606
|
+
"required": [
|
|
4607
|
+
"name"
|
|
4608
|
+
],
|
|
4609
|
+
"anyOf": [
|
|
4610
|
+
{
|
|
4611
|
+
"required": [
|
|
4612
|
+
"path"
|
|
4613
|
+
],
|
|
4614
|
+
"not": {
|
|
4615
|
+
"required": [
|
|
4616
|
+
"variable"
|
|
4617
|
+
]
|
|
4618
|
+
}
|
|
4619
|
+
},
|
|
4620
|
+
{
|
|
4621
|
+
"required": [
|
|
4622
|
+
"variable"
|
|
4623
|
+
],
|
|
4624
|
+
"not": {
|
|
4625
|
+
"anyOf": [
|
|
4626
|
+
{
|
|
4627
|
+
"required": [
|
|
4628
|
+
"path"
|
|
4629
|
+
]
|
|
4630
|
+
},
|
|
4631
|
+
{
|
|
4632
|
+
"required": [
|
|
4633
|
+
"directory"
|
|
4634
|
+
]
|
|
4635
|
+
},
|
|
4636
|
+
{
|
|
4637
|
+
"required": [
|
|
4638
|
+
"overwrite"
|
|
4639
|
+
]
|
|
4640
|
+
}
|
|
4641
|
+
]
|
|
4642
|
+
}
|
|
4643
|
+
}
|
|
4644
|
+
],
|
|
4645
|
+
"title": "Save cookie (detailed)"
|
|
4646
|
+
}
|
|
4647
|
+
}
|
|
4648
|
+
},
|
|
4649
|
+
"examples": [
|
|
4650
|
+
"session_token",
|
|
4651
|
+
{
|
|
4652
|
+
"name": "auth_cookie",
|
|
4653
|
+
"path": "auth-cookie.txt"
|
|
4654
|
+
},
|
|
4655
|
+
{
|
|
4656
|
+
"name": "session_token",
|
|
4657
|
+
"variable": "SESSION_TOKEN"
|
|
4658
|
+
},
|
|
4659
|
+
{
|
|
4660
|
+
"name": "user_session",
|
|
4661
|
+
"path": "user-session.txt",
|
|
4662
|
+
"directory": "./test-data",
|
|
4663
|
+
"overwrite": true
|
|
4664
|
+
},
|
|
4665
|
+
{
|
|
4666
|
+
"name": "login_token",
|
|
4667
|
+
"path": "login-token.txt",
|
|
4668
|
+
"domain": "app.example.com"
|
|
4669
|
+
}
|
|
4670
|
+
]
|
|
4671
|
+
}
|
|
4672
|
+
},
|
|
4673
|
+
"title": "saveCookie"
|
|
4674
|
+
}
|
|
4675
|
+
]
|
|
4676
|
+
},
|
|
4355
4677
|
{
|
|
4356
4678
|
"allOf": [
|
|
4357
4679
|
{
|
|
@@ -4750,38 +5072,334 @@
|
|
|
4750
5072
|
"title": "Common"
|
|
4751
5073
|
},
|
|
4752
5074
|
{
|
|
4753
|
-
"title": "
|
|
5075
|
+
"title": "loadCookie",
|
|
4754
5076
|
"type": "object",
|
|
4755
5077
|
"required": [
|
|
4756
|
-
"
|
|
5078
|
+
"loadCookie"
|
|
4757
5079
|
],
|
|
4758
5080
|
"properties": {
|
|
4759
|
-
"
|
|
5081
|
+
"loadCookie": {
|
|
4760
5082
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4761
|
-
"title": "
|
|
4762
|
-
"description": "
|
|
4763
|
-
"default": 5000,
|
|
5083
|
+
"title": "loadCookie",
|
|
5084
|
+
"description": "Load a specific cookie from a file or environment variable into the browser.",
|
|
4764
5085
|
"anyOf": [
|
|
4765
5086
|
{
|
|
4766
|
-
"type": "number",
|
|
4767
|
-
"title": "Wait (simple)"
|
|
4768
|
-
},
|
|
4769
|
-
{
|
|
4770
|
-
"title": "Wait (environment variable)",
|
|
4771
5087
|
"type": "string",
|
|
4772
|
-
"
|
|
5088
|
+
"title": "Cookie name or file path",
|
|
5089
|
+
"description": "Name of the specific cookie to load from default location, or file path to cookie file.",
|
|
5090
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
4773
5091
|
"transform": [
|
|
4774
5092
|
"trim"
|
|
4775
5093
|
]
|
|
4776
5094
|
},
|
|
4777
5095
|
{
|
|
4778
|
-
"type": "
|
|
4779
|
-
"
|
|
4780
|
-
|
|
4781
|
-
|
|
4782
|
-
|
|
4783
|
-
|
|
4784
|
-
|
|
5096
|
+
"type": "object",
|
|
5097
|
+
"additionalProperties": false,
|
|
5098
|
+
"required": [
|
|
5099
|
+
"name"
|
|
5100
|
+
],
|
|
5101
|
+
"anyOf": [
|
|
5102
|
+
{
|
|
5103
|
+
"required": [
|
|
5104
|
+
"path"
|
|
5105
|
+
],
|
|
5106
|
+
"not": {
|
|
5107
|
+
"required": [
|
|
5108
|
+
"variable"
|
|
5109
|
+
]
|
|
5110
|
+
}
|
|
5111
|
+
},
|
|
5112
|
+
{
|
|
5113
|
+
"required": [
|
|
5114
|
+
"variable"
|
|
5115
|
+
],
|
|
5116
|
+
"not": {
|
|
5117
|
+
"anyOf": [
|
|
5118
|
+
{
|
|
5119
|
+
"required": [
|
|
5120
|
+
"path"
|
|
5121
|
+
]
|
|
5122
|
+
},
|
|
5123
|
+
{
|
|
5124
|
+
"required": [
|
|
5125
|
+
"directory"
|
|
5126
|
+
]
|
|
5127
|
+
}
|
|
5128
|
+
]
|
|
5129
|
+
}
|
|
5130
|
+
}
|
|
5131
|
+
],
|
|
5132
|
+
"properties": {
|
|
5133
|
+
"$schema": {
|
|
5134
|
+
"description": "Optional self-describing schema URI for linters",
|
|
5135
|
+
"type": "string",
|
|
5136
|
+
"format": "uri-reference"
|
|
5137
|
+
},
|
|
5138
|
+
"name": {
|
|
5139
|
+
"type": "string",
|
|
5140
|
+
"title": "Cookie name",
|
|
5141
|
+
"description": "Name of the specific cookie to load.",
|
|
5142
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
5143
|
+
"transform": [
|
|
5144
|
+
"trim"
|
|
5145
|
+
]
|
|
5146
|
+
},
|
|
5147
|
+
"variable": {
|
|
5148
|
+
"type": "string",
|
|
5149
|
+
"title": "Environment variable name",
|
|
5150
|
+
"description": "Environment variable name containing the cookie as JSON string.",
|
|
5151
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
5152
|
+
"transform": [
|
|
5153
|
+
"trim"
|
|
5154
|
+
]
|
|
5155
|
+
},
|
|
5156
|
+
"path": {
|
|
5157
|
+
"type": "string",
|
|
5158
|
+
"title": "Cookie file path",
|
|
5159
|
+
"description": "File path to cookie file, relative to directory. Supports Netscape cookie format.",
|
|
5160
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
5161
|
+
"transform": [
|
|
5162
|
+
"trim"
|
|
5163
|
+
]
|
|
5164
|
+
},
|
|
5165
|
+
"directory": {
|
|
5166
|
+
"type": "string",
|
|
5167
|
+
"title": "Directory path",
|
|
5168
|
+
"description": "Directory containing the cookie file.",
|
|
5169
|
+
"transform": [
|
|
5170
|
+
"trim"
|
|
5171
|
+
]
|
|
5172
|
+
},
|
|
5173
|
+
"domain": {
|
|
5174
|
+
"type": "string",
|
|
5175
|
+
"title": "Cookie domain",
|
|
5176
|
+
"description": "Specific domain to filter the cookie by when loading from multi-cookie file (optional).",
|
|
5177
|
+
"transform": [
|
|
5178
|
+
"trim"
|
|
5179
|
+
]
|
|
5180
|
+
}
|
|
5181
|
+
},
|
|
5182
|
+
"title": "Load cookie (detailed)"
|
|
5183
|
+
}
|
|
5184
|
+
],
|
|
5185
|
+
"components": {
|
|
5186
|
+
"schemas": {
|
|
5187
|
+
"string": {
|
|
5188
|
+
"type": "string",
|
|
5189
|
+
"title": "Cookie name or file path",
|
|
5190
|
+
"description": "Name of the specific cookie to load from default location, or file path to cookie file.",
|
|
5191
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
5192
|
+
"transform": [
|
|
5193
|
+
"trim"
|
|
5194
|
+
]
|
|
5195
|
+
},
|
|
5196
|
+
"object": {
|
|
5197
|
+
"type": "object",
|
|
5198
|
+
"additionalProperties": false,
|
|
5199
|
+
"required": [
|
|
5200
|
+
"name"
|
|
5201
|
+
],
|
|
5202
|
+
"anyOf": [
|
|
5203
|
+
{
|
|
5204
|
+
"required": [
|
|
5205
|
+
"path"
|
|
5206
|
+
],
|
|
5207
|
+
"not": {
|
|
5208
|
+
"required": [
|
|
5209
|
+
"variable"
|
|
5210
|
+
]
|
|
5211
|
+
}
|
|
5212
|
+
},
|
|
5213
|
+
{
|
|
5214
|
+
"required": [
|
|
5215
|
+
"variable"
|
|
5216
|
+
],
|
|
5217
|
+
"not": {
|
|
5218
|
+
"anyOf": [
|
|
5219
|
+
{
|
|
5220
|
+
"required": [
|
|
5221
|
+
"path"
|
|
5222
|
+
]
|
|
5223
|
+
},
|
|
5224
|
+
{
|
|
5225
|
+
"required": [
|
|
5226
|
+
"directory"
|
|
5227
|
+
]
|
|
5228
|
+
}
|
|
5229
|
+
]
|
|
5230
|
+
}
|
|
5231
|
+
}
|
|
5232
|
+
],
|
|
5233
|
+
"properties": {
|
|
5234
|
+
"$schema": {
|
|
5235
|
+
"description": "Optional self-describing schema URI for linters",
|
|
5236
|
+
"type": "string",
|
|
5237
|
+
"format": "uri-reference"
|
|
5238
|
+
},
|
|
5239
|
+
"name": {
|
|
5240
|
+
"type": "string",
|
|
5241
|
+
"title": "Cookie name",
|
|
5242
|
+
"description": "Name of the specific cookie to load.",
|
|
5243
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
5244
|
+
"transform": [
|
|
5245
|
+
"trim"
|
|
5246
|
+
]
|
|
5247
|
+
},
|
|
5248
|
+
"variable": {
|
|
5249
|
+
"type": "string",
|
|
5250
|
+
"title": "Environment variable name",
|
|
5251
|
+
"description": "Environment variable name containing the cookie as JSON string.",
|
|
5252
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
5253
|
+
"transform": [
|
|
5254
|
+
"trim"
|
|
5255
|
+
]
|
|
5256
|
+
},
|
|
5257
|
+
"path": {
|
|
5258
|
+
"type": "string",
|
|
5259
|
+
"title": "Cookie file path",
|
|
5260
|
+
"description": "File path to cookie file, relative to directory. Supports Netscape cookie format.",
|
|
5261
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
5262
|
+
"transform": [
|
|
5263
|
+
"trim"
|
|
5264
|
+
]
|
|
5265
|
+
},
|
|
5266
|
+
"directory": {
|
|
5267
|
+
"type": "string",
|
|
5268
|
+
"title": "Directory path",
|
|
5269
|
+
"description": "Directory containing the cookie file.",
|
|
5270
|
+
"transform": [
|
|
5271
|
+
"trim"
|
|
5272
|
+
]
|
|
5273
|
+
},
|
|
5274
|
+
"domain": {
|
|
5275
|
+
"type": "string",
|
|
5276
|
+
"title": "Cookie domain",
|
|
5277
|
+
"description": "Specific domain to filter the cookie by when loading from multi-cookie file (optional).",
|
|
5278
|
+
"transform": [
|
|
5279
|
+
"trim"
|
|
5280
|
+
]
|
|
5281
|
+
}
|
|
5282
|
+
},
|
|
5283
|
+
"title": "Load cookie (detailed)"
|
|
5284
|
+
}
|
|
5285
|
+
}
|
|
5286
|
+
},
|
|
5287
|
+
"examples": [
|
|
5288
|
+
"session_token",
|
|
5289
|
+
"./test-data/auth-session.txt",
|
|
5290
|
+
{
|
|
5291
|
+
"name": "auth_cookie",
|
|
5292
|
+
"variable": "AUTH_COOKIE"
|
|
5293
|
+
},
|
|
5294
|
+
{
|
|
5295
|
+
"name": "session_token",
|
|
5296
|
+
"path": "session-token.txt",
|
|
5297
|
+
"directory": "./test-data"
|
|
5298
|
+
},
|
|
5299
|
+
{
|
|
5300
|
+
"name": "user_session",
|
|
5301
|
+
"path": "saved-cookies.txt",
|
|
5302
|
+
"domain": "app.example.com"
|
|
5303
|
+
}
|
|
5304
|
+
]
|
|
5305
|
+
}
|
|
5306
|
+
}
|
|
5307
|
+
}
|
|
5308
|
+
]
|
|
5309
|
+
},
|
|
5310
|
+
{
|
|
5311
|
+
"allOf": [
|
|
5312
|
+
{
|
|
5313
|
+
"type": "object",
|
|
5314
|
+
"dynamicDefaults": {
|
|
5315
|
+
"stepId": "uuid"
|
|
5316
|
+
},
|
|
5317
|
+
"properties": {
|
|
5318
|
+
"$schema": {
|
|
5319
|
+
"description": "JSON Schema for this object.",
|
|
5320
|
+
"type": "string",
|
|
5321
|
+
"enum": [
|
|
5322
|
+
"https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json"
|
|
5323
|
+
]
|
|
5324
|
+
},
|
|
5325
|
+
"stepId": {
|
|
5326
|
+
"type": "string",
|
|
5327
|
+
"description": "ID of the step."
|
|
5328
|
+
},
|
|
5329
|
+
"description": {
|
|
5330
|
+
"type": "string",
|
|
5331
|
+
"description": "Description of the step."
|
|
5332
|
+
},
|
|
5333
|
+
"unsafe": {
|
|
5334
|
+
"type": "boolean",
|
|
5335
|
+
"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.",
|
|
5336
|
+
"default": false
|
|
5337
|
+
},
|
|
5338
|
+
"outputs": {
|
|
5339
|
+
"type": "object",
|
|
5340
|
+
"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.",
|
|
5341
|
+
"default": {},
|
|
5342
|
+
"patternProperties": {
|
|
5343
|
+
"^[A-Za-z0-9_]+$": {
|
|
5344
|
+
"type": "string",
|
|
5345
|
+
"description": "Runtime expression for a user-defined output value."
|
|
5346
|
+
}
|
|
5347
|
+
},
|
|
5348
|
+
"title": "Outputs (step)"
|
|
5349
|
+
},
|
|
5350
|
+
"variables": {
|
|
5351
|
+
"type": "object",
|
|
5352
|
+
"description": "Environment variables to set from user-defined expressions.",
|
|
5353
|
+
"default": {},
|
|
5354
|
+
"patternProperties": {
|
|
5355
|
+
"^[A-Za-z0-9_]+$": {
|
|
5356
|
+
"type": "string",
|
|
5357
|
+
"description": "Runtime expression for a user-defined output value."
|
|
5358
|
+
}
|
|
5359
|
+
},
|
|
5360
|
+
"title": "Variables (step)"
|
|
5361
|
+
},
|
|
5362
|
+
"breakpoint": {
|
|
5363
|
+
"type": "boolean",
|
|
5364
|
+
"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.",
|
|
5365
|
+
"default": false
|
|
5366
|
+
}
|
|
5367
|
+
},
|
|
5368
|
+
"title": "Common"
|
|
5369
|
+
},
|
|
5370
|
+
{
|
|
5371
|
+
"title": "wait",
|
|
5372
|
+
"type": "object",
|
|
5373
|
+
"required": [
|
|
5374
|
+
"wait"
|
|
5375
|
+
],
|
|
5376
|
+
"properties": {
|
|
5377
|
+
"wait": {
|
|
5378
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5379
|
+
"title": "wait",
|
|
5380
|
+
"description": "Pause (in milliseconds) before performing the next action.",
|
|
5381
|
+
"default": 5000,
|
|
5382
|
+
"anyOf": [
|
|
5383
|
+
{
|
|
5384
|
+
"type": "number",
|
|
5385
|
+
"title": "Wait (simple)"
|
|
5386
|
+
},
|
|
5387
|
+
{
|
|
5388
|
+
"title": "Wait (environment variable)",
|
|
5389
|
+
"type": "string",
|
|
5390
|
+
"pattern": "(\\$[A-Za-z0-9_]+)",
|
|
5391
|
+
"transform": [
|
|
5392
|
+
"trim"
|
|
5393
|
+
]
|
|
5394
|
+
},
|
|
5395
|
+
{
|
|
5396
|
+
"type": "boolean",
|
|
5397
|
+
"title": "Wait (boolean)"
|
|
5398
|
+
}
|
|
5399
|
+
],
|
|
5400
|
+
"components": {
|
|
5401
|
+
"schemas": {
|
|
5402
|
+
"string": {
|
|
4785
5403
|
"title": "Wait (environment variable)",
|
|
4786
5404
|
"type": "string",
|
|
4787
5405
|
"pattern": "(\\$[A-Za-z0-9_]+)",
|
|
@@ -4928,6 +5546,27 @@
|
|
|
4928
5546
|
{
|
|
4929
5547
|
"loadVariables": "variables.env"
|
|
4930
5548
|
},
|
|
5549
|
+
{
|
|
5550
|
+
"saveCookie": "session_token"
|
|
5551
|
+
},
|
|
5552
|
+
{
|
|
5553
|
+
"saveCookie": {
|
|
5554
|
+
"name": "auth_cookie",
|
|
5555
|
+
"path": "auth-session.txt",
|
|
5556
|
+
"directory": "./test-data",
|
|
5557
|
+
"overwrite": true
|
|
5558
|
+
}
|
|
5559
|
+
},
|
|
5560
|
+
{
|
|
5561
|
+
"loadCookie": "session_token"
|
|
5562
|
+
},
|
|
5563
|
+
{
|
|
5564
|
+
"loadCookie": {
|
|
5565
|
+
"name": "auth_cookie",
|
|
5566
|
+
"path": "auth-session.txt",
|
|
5567
|
+
"directory": "./test-data"
|
|
5568
|
+
}
|
|
5569
|
+
},
|
|
4931
5570
|
{
|
|
4932
5571
|
"find": "Find me!"
|
|
4933
5572
|
},
|
|
@@ -9138,38 +9777,360 @@
|
|
|
9138
9777
|
"static/images/image.png",
|
|
9139
9778
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
9140
9779
|
{
|
|
9141
|
-
"path": "image.png",
|
|
9142
|
-
"directory": "static/images",
|
|
9143
|
-
"maxVariation": 0.1,
|
|
9144
|
-
"overwrite": "aboveVariation",
|
|
9145
|
-
"crop": "#elementToScreenshot"
|
|
9780
|
+
"path": "image.png",
|
|
9781
|
+
"directory": "static/images",
|
|
9782
|
+
"maxVariation": 0.1,
|
|
9783
|
+
"overwrite": "aboveVariation",
|
|
9784
|
+
"crop": "#elementToScreenshot"
|
|
9785
|
+
},
|
|
9786
|
+
{
|
|
9787
|
+
"path": "image.png",
|
|
9788
|
+
"directory": "static/images",
|
|
9789
|
+
"maxVariation": 0.1,
|
|
9790
|
+
"overwrite": "aboveVariation"
|
|
9791
|
+
},
|
|
9792
|
+
{
|
|
9793
|
+
"path": "image.png",
|
|
9794
|
+
"directory": "static/images",
|
|
9795
|
+
"maxVariation": 0.1,
|
|
9796
|
+
"overwrite": "aboveVariation",
|
|
9797
|
+
"crop": {
|
|
9798
|
+
"selector": "#elementToScreenshot",
|
|
9799
|
+
"elementText": "Element text",
|
|
9800
|
+
"padding": {
|
|
9801
|
+
"top": 0,
|
|
9802
|
+
"right": 0,
|
|
9803
|
+
"bottom": 0,
|
|
9804
|
+
"left": 0
|
|
9805
|
+
}
|
|
9806
|
+
}
|
|
9807
|
+
}
|
|
9808
|
+
]
|
|
9809
|
+
}
|
|
9810
|
+
},
|
|
9811
|
+
"title": "screenshot"
|
|
9812
|
+
}
|
|
9813
|
+
]
|
|
9814
|
+
},
|
|
9815
|
+
{
|
|
9816
|
+
"allOf": [
|
|
9817
|
+
{
|
|
9818
|
+
"type": "object",
|
|
9819
|
+
"dynamicDefaults": {
|
|
9820
|
+
"stepId": "uuid"
|
|
9821
|
+
},
|
|
9822
|
+
"properties": {
|
|
9823
|
+
"$schema": {
|
|
9824
|
+
"description": "JSON Schema for this object.",
|
|
9825
|
+
"type": "string",
|
|
9826
|
+
"enum": [
|
|
9827
|
+
"https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json"
|
|
9828
|
+
]
|
|
9829
|
+
},
|
|
9830
|
+
"stepId": {
|
|
9831
|
+
"type": "string",
|
|
9832
|
+
"description": "ID of the step."
|
|
9833
|
+
},
|
|
9834
|
+
"description": {
|
|
9835
|
+
"type": "string",
|
|
9836
|
+
"description": "Description of the step."
|
|
9837
|
+
},
|
|
9838
|
+
"unsafe": {
|
|
9839
|
+
"type": "boolean",
|
|
9840
|
+
"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.",
|
|
9841
|
+
"default": false
|
|
9842
|
+
},
|
|
9843
|
+
"outputs": {
|
|
9844
|
+
"type": "object",
|
|
9845
|
+
"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.",
|
|
9846
|
+
"default": {},
|
|
9847
|
+
"patternProperties": {
|
|
9848
|
+
"^[A-Za-z0-9_]+$": {
|
|
9849
|
+
"type": "string",
|
|
9850
|
+
"description": "Runtime expression for a user-defined output value."
|
|
9851
|
+
}
|
|
9852
|
+
},
|
|
9853
|
+
"title": "Outputs (step)"
|
|
9854
|
+
},
|
|
9855
|
+
"variables": {
|
|
9856
|
+
"type": "object",
|
|
9857
|
+
"description": "Environment variables to set from user-defined expressions.",
|
|
9858
|
+
"default": {},
|
|
9859
|
+
"patternProperties": {
|
|
9860
|
+
"^[A-Za-z0-9_]+$": {
|
|
9861
|
+
"type": "string",
|
|
9862
|
+
"description": "Runtime expression for a user-defined output value."
|
|
9863
|
+
}
|
|
9864
|
+
},
|
|
9865
|
+
"title": "Variables (step)"
|
|
9866
|
+
},
|
|
9867
|
+
"breakpoint": {
|
|
9868
|
+
"type": "boolean",
|
|
9869
|
+
"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.",
|
|
9870
|
+
"default": false
|
|
9871
|
+
}
|
|
9872
|
+
},
|
|
9873
|
+
"title": "Common"
|
|
9874
|
+
},
|
|
9875
|
+
{
|
|
9876
|
+
"type": "object",
|
|
9877
|
+
"required": [
|
|
9878
|
+
"saveCookie"
|
|
9879
|
+
],
|
|
9880
|
+
"properties": {
|
|
9881
|
+
"saveCookie": {
|
|
9882
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
9883
|
+
"title": "saveCookie",
|
|
9884
|
+
"description": "Save a specific browser cookie to a file or environment variable for later reuse.",
|
|
9885
|
+
"anyOf": [
|
|
9886
|
+
{
|
|
9887
|
+
"type": "string",
|
|
9888
|
+
"title": "Cookie name",
|
|
9889
|
+
"description": "Name of the specific cookie to save. Will be saved to a default file path or environment variable.",
|
|
9890
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
9891
|
+
"transform": [
|
|
9892
|
+
"trim"
|
|
9893
|
+
]
|
|
9894
|
+
},
|
|
9895
|
+
{
|
|
9896
|
+
"type": "object",
|
|
9897
|
+
"additionalProperties": false,
|
|
9898
|
+
"properties": {
|
|
9899
|
+
"$schema": {
|
|
9900
|
+
"description": "Optional self-describing schema URI for linters",
|
|
9901
|
+
"type": "string",
|
|
9902
|
+
"format": "uri-reference"
|
|
9903
|
+
},
|
|
9904
|
+
"name": {
|
|
9905
|
+
"type": "string",
|
|
9906
|
+
"title": "Cookie name",
|
|
9907
|
+
"description": "Name of the specific cookie to save.",
|
|
9908
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
9909
|
+
"transform": [
|
|
9910
|
+
"trim"
|
|
9911
|
+
]
|
|
9912
|
+
},
|
|
9913
|
+
"variable": {
|
|
9914
|
+
"type": "string",
|
|
9915
|
+
"title": "Environment variable name",
|
|
9916
|
+
"description": "Environment variable name to store the cookie as JSON string.",
|
|
9917
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
9918
|
+
"transform": [
|
|
9919
|
+
"trim"
|
|
9920
|
+
]
|
|
9921
|
+
},
|
|
9922
|
+
"path": {
|
|
9923
|
+
"type": "string",
|
|
9924
|
+
"title": "Cookie file path",
|
|
9925
|
+
"description": "File path to save the cookie, relative to directory. Uses Netscape cookie format.",
|
|
9926
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
9927
|
+
"transform": [
|
|
9928
|
+
"trim"
|
|
9929
|
+
]
|
|
9930
|
+
},
|
|
9931
|
+
"directory": {
|
|
9932
|
+
"type": "string",
|
|
9933
|
+
"title": "Directory path",
|
|
9934
|
+
"description": "Directory to save the cookie file. If not specified, uses output directory.",
|
|
9935
|
+
"transform": [
|
|
9936
|
+
"trim"
|
|
9937
|
+
]
|
|
9938
|
+
},
|
|
9939
|
+
"overwrite": {
|
|
9940
|
+
"type": "boolean",
|
|
9941
|
+
"title": "Overwrite existing file",
|
|
9942
|
+
"description": "Whether to overwrite existing cookie file.",
|
|
9943
|
+
"default": false
|
|
9944
|
+
},
|
|
9945
|
+
"domain": {
|
|
9946
|
+
"type": "string",
|
|
9947
|
+
"title": "Cookie domain",
|
|
9948
|
+
"description": "Specific domain to filter the cookie by (optional).",
|
|
9949
|
+
"transform": [
|
|
9950
|
+
"trim"
|
|
9951
|
+
]
|
|
9952
|
+
}
|
|
9953
|
+
},
|
|
9954
|
+
"required": [
|
|
9955
|
+
"name"
|
|
9956
|
+
],
|
|
9957
|
+
"anyOf": [
|
|
9958
|
+
{
|
|
9959
|
+
"required": [
|
|
9960
|
+
"path"
|
|
9961
|
+
],
|
|
9962
|
+
"not": {
|
|
9963
|
+
"required": [
|
|
9964
|
+
"variable"
|
|
9965
|
+
]
|
|
9966
|
+
}
|
|
9967
|
+
},
|
|
9968
|
+
{
|
|
9969
|
+
"required": [
|
|
9970
|
+
"variable"
|
|
9971
|
+
],
|
|
9972
|
+
"not": {
|
|
9973
|
+
"anyOf": [
|
|
9974
|
+
{
|
|
9975
|
+
"required": [
|
|
9976
|
+
"path"
|
|
9977
|
+
]
|
|
9978
|
+
},
|
|
9979
|
+
{
|
|
9980
|
+
"required": [
|
|
9981
|
+
"directory"
|
|
9982
|
+
]
|
|
9983
|
+
},
|
|
9984
|
+
{
|
|
9985
|
+
"required": [
|
|
9986
|
+
"overwrite"
|
|
9987
|
+
]
|
|
9988
|
+
}
|
|
9989
|
+
]
|
|
9990
|
+
}
|
|
9991
|
+
}
|
|
9992
|
+
],
|
|
9993
|
+
"title": "Save cookie (detailed)"
|
|
9994
|
+
}
|
|
9995
|
+
],
|
|
9996
|
+
"components": {
|
|
9997
|
+
"schemas": {
|
|
9998
|
+
"string": {
|
|
9999
|
+
"type": "string",
|
|
10000
|
+
"title": "Cookie name",
|
|
10001
|
+
"description": "Name of the specific cookie to save. Will be saved to a default file path or environment variable.",
|
|
10002
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
10003
|
+
"transform": [
|
|
10004
|
+
"trim"
|
|
10005
|
+
]
|
|
10006
|
+
},
|
|
10007
|
+
"object": {
|
|
10008
|
+
"type": "object",
|
|
10009
|
+
"additionalProperties": false,
|
|
10010
|
+
"properties": {
|
|
10011
|
+
"$schema": {
|
|
10012
|
+
"description": "Optional self-describing schema URI for linters",
|
|
10013
|
+
"type": "string",
|
|
10014
|
+
"format": "uri-reference"
|
|
10015
|
+
},
|
|
10016
|
+
"name": {
|
|
10017
|
+
"type": "string",
|
|
10018
|
+
"title": "Cookie name",
|
|
10019
|
+
"description": "Name of the specific cookie to save.",
|
|
10020
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
10021
|
+
"transform": [
|
|
10022
|
+
"trim"
|
|
10023
|
+
]
|
|
10024
|
+
},
|
|
10025
|
+
"variable": {
|
|
10026
|
+
"type": "string",
|
|
10027
|
+
"title": "Environment variable name",
|
|
10028
|
+
"description": "Environment variable name to store the cookie as JSON string.",
|
|
10029
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
10030
|
+
"transform": [
|
|
10031
|
+
"trim"
|
|
10032
|
+
]
|
|
10033
|
+
},
|
|
10034
|
+
"path": {
|
|
10035
|
+
"type": "string",
|
|
10036
|
+
"title": "Cookie file path",
|
|
10037
|
+
"description": "File path to save the cookie, relative to directory. Uses Netscape cookie format.",
|
|
10038
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
10039
|
+
"transform": [
|
|
10040
|
+
"trim"
|
|
10041
|
+
]
|
|
10042
|
+
},
|
|
10043
|
+
"directory": {
|
|
10044
|
+
"type": "string",
|
|
10045
|
+
"title": "Directory path",
|
|
10046
|
+
"description": "Directory to save the cookie file. If not specified, uses output directory.",
|
|
10047
|
+
"transform": [
|
|
10048
|
+
"trim"
|
|
10049
|
+
]
|
|
10050
|
+
},
|
|
10051
|
+
"overwrite": {
|
|
10052
|
+
"type": "boolean",
|
|
10053
|
+
"title": "Overwrite existing file",
|
|
10054
|
+
"description": "Whether to overwrite existing cookie file.",
|
|
10055
|
+
"default": false
|
|
10056
|
+
},
|
|
10057
|
+
"domain": {
|
|
10058
|
+
"type": "string",
|
|
10059
|
+
"title": "Cookie domain",
|
|
10060
|
+
"description": "Specific domain to filter the cookie by (optional).",
|
|
10061
|
+
"transform": [
|
|
10062
|
+
"trim"
|
|
10063
|
+
]
|
|
10064
|
+
}
|
|
10065
|
+
},
|
|
10066
|
+
"required": [
|
|
10067
|
+
"name"
|
|
10068
|
+
],
|
|
10069
|
+
"anyOf": [
|
|
10070
|
+
{
|
|
10071
|
+
"required": [
|
|
10072
|
+
"path"
|
|
10073
|
+
],
|
|
10074
|
+
"not": {
|
|
10075
|
+
"required": [
|
|
10076
|
+
"variable"
|
|
10077
|
+
]
|
|
10078
|
+
}
|
|
10079
|
+
},
|
|
10080
|
+
{
|
|
10081
|
+
"required": [
|
|
10082
|
+
"variable"
|
|
10083
|
+
],
|
|
10084
|
+
"not": {
|
|
10085
|
+
"anyOf": [
|
|
10086
|
+
{
|
|
10087
|
+
"required": [
|
|
10088
|
+
"path"
|
|
10089
|
+
]
|
|
10090
|
+
},
|
|
10091
|
+
{
|
|
10092
|
+
"required": [
|
|
10093
|
+
"directory"
|
|
10094
|
+
]
|
|
10095
|
+
},
|
|
10096
|
+
{
|
|
10097
|
+
"required": [
|
|
10098
|
+
"overwrite"
|
|
10099
|
+
]
|
|
10100
|
+
}
|
|
10101
|
+
]
|
|
10102
|
+
}
|
|
10103
|
+
}
|
|
10104
|
+
],
|
|
10105
|
+
"title": "Save cookie (detailed)"
|
|
10106
|
+
}
|
|
10107
|
+
}
|
|
10108
|
+
},
|
|
10109
|
+
"examples": [
|
|
10110
|
+
"session_token",
|
|
10111
|
+
{
|
|
10112
|
+
"name": "auth_cookie",
|
|
10113
|
+
"path": "auth-cookie.txt"
|
|
10114
|
+
},
|
|
10115
|
+
{
|
|
10116
|
+
"name": "session_token",
|
|
10117
|
+
"variable": "SESSION_TOKEN"
|
|
9146
10118
|
},
|
|
9147
10119
|
{
|
|
9148
|
-
"
|
|
9149
|
-
"
|
|
9150
|
-
"
|
|
9151
|
-
"overwrite":
|
|
10120
|
+
"name": "user_session",
|
|
10121
|
+
"path": "user-session.txt",
|
|
10122
|
+
"directory": "./test-data",
|
|
10123
|
+
"overwrite": true
|
|
9152
10124
|
},
|
|
9153
10125
|
{
|
|
9154
|
-
"
|
|
9155
|
-
"
|
|
9156
|
-
"
|
|
9157
|
-
"overwrite": "aboveVariation",
|
|
9158
|
-
"crop": {
|
|
9159
|
-
"selector": "#elementToScreenshot",
|
|
9160
|
-
"elementText": "Element text",
|
|
9161
|
-
"padding": {
|
|
9162
|
-
"top": 0,
|
|
9163
|
-
"right": 0,
|
|
9164
|
-
"bottom": 0,
|
|
9165
|
-
"left": 0
|
|
9166
|
-
}
|
|
9167
|
-
}
|
|
10126
|
+
"name": "login_token",
|
|
10127
|
+
"path": "login-token.txt",
|
|
10128
|
+
"domain": "app.example.com"
|
|
9168
10129
|
}
|
|
9169
10130
|
]
|
|
9170
10131
|
}
|
|
9171
10132
|
},
|
|
9172
|
-
"title": "
|
|
10133
|
+
"title": "saveCookie"
|
|
9173
10134
|
}
|
|
9174
10135
|
]
|
|
9175
10136
|
},
|
|
@@ -9510,6 +10471,302 @@
|
|
|
9510
10471
|
}
|
|
9511
10472
|
]
|
|
9512
10473
|
},
|
|
10474
|
+
{
|
|
10475
|
+
"allOf": [
|
|
10476
|
+
{
|
|
10477
|
+
"type": "object",
|
|
10478
|
+
"dynamicDefaults": {
|
|
10479
|
+
"stepId": "uuid"
|
|
10480
|
+
},
|
|
10481
|
+
"properties": {
|
|
10482
|
+
"$schema": {
|
|
10483
|
+
"description": "JSON Schema for this object.",
|
|
10484
|
+
"type": "string",
|
|
10485
|
+
"enum": [
|
|
10486
|
+
"https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json"
|
|
10487
|
+
]
|
|
10488
|
+
},
|
|
10489
|
+
"stepId": {
|
|
10490
|
+
"type": "string",
|
|
10491
|
+
"description": "ID of the step."
|
|
10492
|
+
},
|
|
10493
|
+
"description": {
|
|
10494
|
+
"type": "string",
|
|
10495
|
+
"description": "Description of the step."
|
|
10496
|
+
},
|
|
10497
|
+
"unsafe": {
|
|
10498
|
+
"type": "boolean",
|
|
10499
|
+
"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.",
|
|
10500
|
+
"default": false
|
|
10501
|
+
},
|
|
10502
|
+
"outputs": {
|
|
10503
|
+
"type": "object",
|
|
10504
|
+
"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.",
|
|
10505
|
+
"default": {},
|
|
10506
|
+
"patternProperties": {
|
|
10507
|
+
"^[A-Za-z0-9_]+$": {
|
|
10508
|
+
"type": "string",
|
|
10509
|
+
"description": "Runtime expression for a user-defined output value."
|
|
10510
|
+
}
|
|
10511
|
+
},
|
|
10512
|
+
"title": "Outputs (step)"
|
|
10513
|
+
},
|
|
10514
|
+
"variables": {
|
|
10515
|
+
"type": "object",
|
|
10516
|
+
"description": "Environment variables to set from user-defined expressions.",
|
|
10517
|
+
"default": {},
|
|
10518
|
+
"patternProperties": {
|
|
10519
|
+
"^[A-Za-z0-9_]+$": {
|
|
10520
|
+
"type": "string",
|
|
10521
|
+
"description": "Runtime expression for a user-defined output value."
|
|
10522
|
+
}
|
|
10523
|
+
},
|
|
10524
|
+
"title": "Variables (step)"
|
|
10525
|
+
},
|
|
10526
|
+
"breakpoint": {
|
|
10527
|
+
"type": "boolean",
|
|
10528
|
+
"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.",
|
|
10529
|
+
"default": false
|
|
10530
|
+
}
|
|
10531
|
+
},
|
|
10532
|
+
"title": "Common"
|
|
10533
|
+
},
|
|
10534
|
+
{
|
|
10535
|
+
"title": "loadCookie",
|
|
10536
|
+
"type": "object",
|
|
10537
|
+
"required": [
|
|
10538
|
+
"loadCookie"
|
|
10539
|
+
],
|
|
10540
|
+
"properties": {
|
|
10541
|
+
"loadCookie": {
|
|
10542
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
10543
|
+
"title": "loadCookie",
|
|
10544
|
+
"description": "Load a specific cookie from a file or environment variable into the browser.",
|
|
10545
|
+
"anyOf": [
|
|
10546
|
+
{
|
|
10547
|
+
"type": "string",
|
|
10548
|
+
"title": "Cookie name or file path",
|
|
10549
|
+
"description": "Name of the specific cookie to load from default location, or file path to cookie file.",
|
|
10550
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
10551
|
+
"transform": [
|
|
10552
|
+
"trim"
|
|
10553
|
+
]
|
|
10554
|
+
},
|
|
10555
|
+
{
|
|
10556
|
+
"type": "object",
|
|
10557
|
+
"additionalProperties": false,
|
|
10558
|
+
"required": [
|
|
10559
|
+
"name"
|
|
10560
|
+
],
|
|
10561
|
+
"anyOf": [
|
|
10562
|
+
{
|
|
10563
|
+
"required": [
|
|
10564
|
+
"path"
|
|
10565
|
+
],
|
|
10566
|
+
"not": {
|
|
10567
|
+
"required": [
|
|
10568
|
+
"variable"
|
|
10569
|
+
]
|
|
10570
|
+
}
|
|
10571
|
+
},
|
|
10572
|
+
{
|
|
10573
|
+
"required": [
|
|
10574
|
+
"variable"
|
|
10575
|
+
],
|
|
10576
|
+
"not": {
|
|
10577
|
+
"anyOf": [
|
|
10578
|
+
{
|
|
10579
|
+
"required": [
|
|
10580
|
+
"path"
|
|
10581
|
+
]
|
|
10582
|
+
},
|
|
10583
|
+
{
|
|
10584
|
+
"required": [
|
|
10585
|
+
"directory"
|
|
10586
|
+
]
|
|
10587
|
+
}
|
|
10588
|
+
]
|
|
10589
|
+
}
|
|
10590
|
+
}
|
|
10591
|
+
],
|
|
10592
|
+
"properties": {
|
|
10593
|
+
"$schema": {
|
|
10594
|
+
"description": "Optional self-describing schema URI for linters",
|
|
10595
|
+
"type": "string",
|
|
10596
|
+
"format": "uri-reference"
|
|
10597
|
+
},
|
|
10598
|
+
"name": {
|
|
10599
|
+
"type": "string",
|
|
10600
|
+
"title": "Cookie name",
|
|
10601
|
+
"description": "Name of the specific cookie to load.",
|
|
10602
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
10603
|
+
"transform": [
|
|
10604
|
+
"trim"
|
|
10605
|
+
]
|
|
10606
|
+
},
|
|
10607
|
+
"variable": {
|
|
10608
|
+
"type": "string",
|
|
10609
|
+
"title": "Environment variable name",
|
|
10610
|
+
"description": "Environment variable name containing the cookie as JSON string.",
|
|
10611
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
10612
|
+
"transform": [
|
|
10613
|
+
"trim"
|
|
10614
|
+
]
|
|
10615
|
+
},
|
|
10616
|
+
"path": {
|
|
10617
|
+
"type": "string",
|
|
10618
|
+
"title": "Cookie file path",
|
|
10619
|
+
"description": "File path to cookie file, relative to directory. Supports Netscape cookie format.",
|
|
10620
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
10621
|
+
"transform": [
|
|
10622
|
+
"trim"
|
|
10623
|
+
]
|
|
10624
|
+
},
|
|
10625
|
+
"directory": {
|
|
10626
|
+
"type": "string",
|
|
10627
|
+
"title": "Directory path",
|
|
10628
|
+
"description": "Directory containing the cookie file.",
|
|
10629
|
+
"transform": [
|
|
10630
|
+
"trim"
|
|
10631
|
+
]
|
|
10632
|
+
},
|
|
10633
|
+
"domain": {
|
|
10634
|
+
"type": "string",
|
|
10635
|
+
"title": "Cookie domain",
|
|
10636
|
+
"description": "Specific domain to filter the cookie by when loading from multi-cookie file (optional).",
|
|
10637
|
+
"transform": [
|
|
10638
|
+
"trim"
|
|
10639
|
+
]
|
|
10640
|
+
}
|
|
10641
|
+
},
|
|
10642
|
+
"title": "Load cookie (detailed)"
|
|
10643
|
+
}
|
|
10644
|
+
],
|
|
10645
|
+
"components": {
|
|
10646
|
+
"schemas": {
|
|
10647
|
+
"string": {
|
|
10648
|
+
"type": "string",
|
|
10649
|
+
"title": "Cookie name or file path",
|
|
10650
|
+
"description": "Name of the specific cookie to load from default location, or file path to cookie file.",
|
|
10651
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
10652
|
+
"transform": [
|
|
10653
|
+
"trim"
|
|
10654
|
+
]
|
|
10655
|
+
},
|
|
10656
|
+
"object": {
|
|
10657
|
+
"type": "object",
|
|
10658
|
+
"additionalProperties": false,
|
|
10659
|
+
"required": [
|
|
10660
|
+
"name"
|
|
10661
|
+
],
|
|
10662
|
+
"anyOf": [
|
|
10663
|
+
{
|
|
10664
|
+
"required": [
|
|
10665
|
+
"path"
|
|
10666
|
+
],
|
|
10667
|
+
"not": {
|
|
10668
|
+
"required": [
|
|
10669
|
+
"variable"
|
|
10670
|
+
]
|
|
10671
|
+
}
|
|
10672
|
+
},
|
|
10673
|
+
{
|
|
10674
|
+
"required": [
|
|
10675
|
+
"variable"
|
|
10676
|
+
],
|
|
10677
|
+
"not": {
|
|
10678
|
+
"anyOf": [
|
|
10679
|
+
{
|
|
10680
|
+
"required": [
|
|
10681
|
+
"path"
|
|
10682
|
+
]
|
|
10683
|
+
},
|
|
10684
|
+
{
|
|
10685
|
+
"required": [
|
|
10686
|
+
"directory"
|
|
10687
|
+
]
|
|
10688
|
+
}
|
|
10689
|
+
]
|
|
10690
|
+
}
|
|
10691
|
+
}
|
|
10692
|
+
],
|
|
10693
|
+
"properties": {
|
|
10694
|
+
"$schema": {
|
|
10695
|
+
"description": "Optional self-describing schema URI for linters",
|
|
10696
|
+
"type": "string",
|
|
10697
|
+
"format": "uri-reference"
|
|
10698
|
+
},
|
|
10699
|
+
"name": {
|
|
10700
|
+
"type": "string",
|
|
10701
|
+
"title": "Cookie name",
|
|
10702
|
+
"description": "Name of the specific cookie to load.",
|
|
10703
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
10704
|
+
"transform": [
|
|
10705
|
+
"trim"
|
|
10706
|
+
]
|
|
10707
|
+
},
|
|
10708
|
+
"variable": {
|
|
10709
|
+
"type": "string",
|
|
10710
|
+
"title": "Environment variable name",
|
|
10711
|
+
"description": "Environment variable name containing the cookie as JSON string.",
|
|
10712
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
10713
|
+
"transform": [
|
|
10714
|
+
"trim"
|
|
10715
|
+
]
|
|
10716
|
+
},
|
|
10717
|
+
"path": {
|
|
10718
|
+
"type": "string",
|
|
10719
|
+
"title": "Cookie file path",
|
|
10720
|
+
"description": "File path to cookie file, relative to directory. Supports Netscape cookie format.",
|
|
10721
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
10722
|
+
"transform": [
|
|
10723
|
+
"trim"
|
|
10724
|
+
]
|
|
10725
|
+
},
|
|
10726
|
+
"directory": {
|
|
10727
|
+
"type": "string",
|
|
10728
|
+
"title": "Directory path",
|
|
10729
|
+
"description": "Directory containing the cookie file.",
|
|
10730
|
+
"transform": [
|
|
10731
|
+
"trim"
|
|
10732
|
+
]
|
|
10733
|
+
},
|
|
10734
|
+
"domain": {
|
|
10735
|
+
"type": "string",
|
|
10736
|
+
"title": "Cookie domain",
|
|
10737
|
+
"description": "Specific domain to filter the cookie by when loading from multi-cookie file (optional).",
|
|
10738
|
+
"transform": [
|
|
10739
|
+
"trim"
|
|
10740
|
+
]
|
|
10741
|
+
}
|
|
10742
|
+
},
|
|
10743
|
+
"title": "Load cookie (detailed)"
|
|
10744
|
+
}
|
|
10745
|
+
}
|
|
10746
|
+
},
|
|
10747
|
+
"examples": [
|
|
10748
|
+
"session_token",
|
|
10749
|
+
"./test-data/auth-session.txt",
|
|
10750
|
+
{
|
|
10751
|
+
"name": "auth_cookie",
|
|
10752
|
+
"variable": "AUTH_COOKIE"
|
|
10753
|
+
},
|
|
10754
|
+
{
|
|
10755
|
+
"name": "session_token",
|
|
10756
|
+
"path": "session-token.txt",
|
|
10757
|
+
"directory": "./test-data"
|
|
10758
|
+
},
|
|
10759
|
+
{
|
|
10760
|
+
"name": "user_session",
|
|
10761
|
+
"path": "saved-cookies.txt",
|
|
10762
|
+
"domain": "app.example.com"
|
|
10763
|
+
}
|
|
10764
|
+
]
|
|
10765
|
+
}
|
|
10766
|
+
}
|
|
10767
|
+
}
|
|
10768
|
+
]
|
|
10769
|
+
},
|
|
9513
10770
|
{
|
|
9514
10771
|
"allOf": [
|
|
9515
10772
|
{
|
|
@@ -9749,6 +11006,27 @@
|
|
|
9749
11006
|
{
|
|
9750
11007
|
"loadVariables": "variables.env"
|
|
9751
11008
|
},
|
|
11009
|
+
{
|
|
11010
|
+
"saveCookie": "session_token"
|
|
11011
|
+
},
|
|
11012
|
+
{
|
|
11013
|
+
"saveCookie": {
|
|
11014
|
+
"name": "auth_cookie",
|
|
11015
|
+
"path": "auth-session.txt",
|
|
11016
|
+
"directory": "./test-data",
|
|
11017
|
+
"overwrite": true
|
|
11018
|
+
}
|
|
11019
|
+
},
|
|
11020
|
+
{
|
|
11021
|
+
"loadCookie": "session_token"
|
|
11022
|
+
},
|
|
11023
|
+
{
|
|
11024
|
+
"loadCookie": {
|
|
11025
|
+
"name": "auth_cookie",
|
|
11026
|
+
"path": "auth-session.txt",
|
|
11027
|
+
"directory": "./test-data"
|
|
11028
|
+
}
|
|
11029
|
+
},
|
|
9752
11030
|
{
|
|
9753
11031
|
"find": "Find me!"
|
|
9754
11032
|
},
|