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
|
@@ -735,10 +735,12 @@
|
|
|
735
735
|
"find",
|
|
736
736
|
"goTo",
|
|
737
737
|
"httpRequest",
|
|
738
|
+
"loadCookie",
|
|
738
739
|
"loadVariables",
|
|
739
740
|
"record",
|
|
740
741
|
"runCode",
|
|
741
742
|
"runShell",
|
|
743
|
+
"saveCookie",
|
|
742
744
|
"screenshot",
|
|
743
745
|
"stopRecord",
|
|
744
746
|
"type",
|
|
@@ -757,10 +759,12 @@
|
|
|
757
759
|
"find",
|
|
758
760
|
"goTo",
|
|
759
761
|
"httpRequest",
|
|
762
|
+
"loadCookie",
|
|
760
763
|
"loadVariables",
|
|
761
764
|
"record",
|
|
762
765
|
"runCode",
|
|
763
766
|
"runShell",
|
|
767
|
+
"saveCookie",
|
|
764
768
|
"screenshot",
|
|
765
769
|
"stopRecord",
|
|
766
770
|
"type",
|
|
@@ -4522,6 +4526,328 @@
|
|
|
4522
4526
|
}
|
|
4523
4527
|
]
|
|
4524
4528
|
},
|
|
4529
|
+
{
|
|
4530
|
+
"allOf": [
|
|
4531
|
+
{
|
|
4532
|
+
"type": "object",
|
|
4533
|
+
"dynamicDefaults": {
|
|
4534
|
+
"stepId": "uuid"
|
|
4535
|
+
},
|
|
4536
|
+
"properties": {
|
|
4537
|
+
"$schema": {
|
|
4538
|
+
"description": "JSON Schema for this object.",
|
|
4539
|
+
"type": "string",
|
|
4540
|
+
"enum": [
|
|
4541
|
+
"https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json"
|
|
4542
|
+
]
|
|
4543
|
+
},
|
|
4544
|
+
"stepId": {
|
|
4545
|
+
"type": "string",
|
|
4546
|
+
"description": "ID of the step."
|
|
4547
|
+
},
|
|
4548
|
+
"description": {
|
|
4549
|
+
"type": "string",
|
|
4550
|
+
"description": "Description of the step."
|
|
4551
|
+
},
|
|
4552
|
+
"unsafe": {
|
|
4553
|
+
"type": "boolean",
|
|
4554
|
+
"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.",
|
|
4555
|
+
"default": false
|
|
4556
|
+
},
|
|
4557
|
+
"outputs": {
|
|
4558
|
+
"type": "object",
|
|
4559
|
+
"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.",
|
|
4560
|
+
"default": {},
|
|
4561
|
+
"patternProperties": {
|
|
4562
|
+
"^[A-Za-z0-9_]+$": {
|
|
4563
|
+
"type": "string",
|
|
4564
|
+
"description": "Runtime expression for a user-defined output value."
|
|
4565
|
+
}
|
|
4566
|
+
},
|
|
4567
|
+
"title": "Outputs (step)"
|
|
4568
|
+
},
|
|
4569
|
+
"variables": {
|
|
4570
|
+
"type": "object",
|
|
4571
|
+
"description": "Environment variables to set from user-defined expressions.",
|
|
4572
|
+
"default": {},
|
|
4573
|
+
"patternProperties": {
|
|
4574
|
+
"^[A-Za-z0-9_]+$": {
|
|
4575
|
+
"type": "string",
|
|
4576
|
+
"description": "Runtime expression for a user-defined output value."
|
|
4577
|
+
}
|
|
4578
|
+
},
|
|
4579
|
+
"title": "Variables (step)"
|
|
4580
|
+
},
|
|
4581
|
+
"breakpoint": {
|
|
4582
|
+
"type": "boolean",
|
|
4583
|
+
"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.",
|
|
4584
|
+
"default": false
|
|
4585
|
+
}
|
|
4586
|
+
},
|
|
4587
|
+
"title": "Common"
|
|
4588
|
+
},
|
|
4589
|
+
{
|
|
4590
|
+
"type": "object",
|
|
4591
|
+
"required": [
|
|
4592
|
+
"saveCookie"
|
|
4593
|
+
],
|
|
4594
|
+
"properties": {
|
|
4595
|
+
"saveCookie": {
|
|
4596
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4597
|
+
"title": "saveCookie",
|
|
4598
|
+
"description": "Save a specific browser cookie to a file or environment variable for later reuse.",
|
|
4599
|
+
"anyOf": [
|
|
4600
|
+
{
|
|
4601
|
+
"type": "string",
|
|
4602
|
+
"title": "Cookie name",
|
|
4603
|
+
"description": "Name of the specific cookie to save. Will be saved to a default file path or environment variable.",
|
|
4604
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
4605
|
+
"transform": [
|
|
4606
|
+
"trim"
|
|
4607
|
+
]
|
|
4608
|
+
},
|
|
4609
|
+
{
|
|
4610
|
+
"type": "object",
|
|
4611
|
+
"additionalProperties": false,
|
|
4612
|
+
"properties": {
|
|
4613
|
+
"$schema": {
|
|
4614
|
+
"description": "Optional self-describing schema URI for linters",
|
|
4615
|
+
"type": "string",
|
|
4616
|
+
"format": "uri-reference"
|
|
4617
|
+
},
|
|
4618
|
+
"name": {
|
|
4619
|
+
"type": "string",
|
|
4620
|
+
"title": "Cookie name",
|
|
4621
|
+
"description": "Name of the specific cookie to save.",
|
|
4622
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
4623
|
+
"transform": [
|
|
4624
|
+
"trim"
|
|
4625
|
+
]
|
|
4626
|
+
},
|
|
4627
|
+
"variable": {
|
|
4628
|
+
"type": "string",
|
|
4629
|
+
"title": "Environment variable name",
|
|
4630
|
+
"description": "Environment variable name to store the cookie as JSON string.",
|
|
4631
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
4632
|
+
"transform": [
|
|
4633
|
+
"trim"
|
|
4634
|
+
]
|
|
4635
|
+
},
|
|
4636
|
+
"path": {
|
|
4637
|
+
"type": "string",
|
|
4638
|
+
"title": "Cookie file path",
|
|
4639
|
+
"description": "File path to save the cookie, relative to directory. Uses Netscape cookie format.",
|
|
4640
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
4641
|
+
"transform": [
|
|
4642
|
+
"trim"
|
|
4643
|
+
]
|
|
4644
|
+
},
|
|
4645
|
+
"directory": {
|
|
4646
|
+
"type": "string",
|
|
4647
|
+
"title": "Directory path",
|
|
4648
|
+
"description": "Directory to save the cookie file. If not specified, uses output directory.",
|
|
4649
|
+
"transform": [
|
|
4650
|
+
"trim"
|
|
4651
|
+
]
|
|
4652
|
+
},
|
|
4653
|
+
"overwrite": {
|
|
4654
|
+
"type": "boolean",
|
|
4655
|
+
"title": "Overwrite existing file",
|
|
4656
|
+
"description": "Whether to overwrite existing cookie file.",
|
|
4657
|
+
"default": false
|
|
4658
|
+
},
|
|
4659
|
+
"domain": {
|
|
4660
|
+
"type": "string",
|
|
4661
|
+
"title": "Cookie domain",
|
|
4662
|
+
"description": "Specific domain to filter the cookie by (optional).",
|
|
4663
|
+
"transform": [
|
|
4664
|
+
"trim"
|
|
4665
|
+
]
|
|
4666
|
+
}
|
|
4667
|
+
},
|
|
4668
|
+
"required": [
|
|
4669
|
+
"name"
|
|
4670
|
+
],
|
|
4671
|
+
"anyOf": [
|
|
4672
|
+
{
|
|
4673
|
+
"required": [
|
|
4674
|
+
"path"
|
|
4675
|
+
],
|
|
4676
|
+
"not": {
|
|
4677
|
+
"required": [
|
|
4678
|
+
"variable"
|
|
4679
|
+
]
|
|
4680
|
+
}
|
|
4681
|
+
},
|
|
4682
|
+
{
|
|
4683
|
+
"required": [
|
|
4684
|
+
"variable"
|
|
4685
|
+
],
|
|
4686
|
+
"not": {
|
|
4687
|
+
"anyOf": [
|
|
4688
|
+
{
|
|
4689
|
+
"required": [
|
|
4690
|
+
"path"
|
|
4691
|
+
]
|
|
4692
|
+
},
|
|
4693
|
+
{
|
|
4694
|
+
"required": [
|
|
4695
|
+
"directory"
|
|
4696
|
+
]
|
|
4697
|
+
},
|
|
4698
|
+
{
|
|
4699
|
+
"required": [
|
|
4700
|
+
"overwrite"
|
|
4701
|
+
]
|
|
4702
|
+
}
|
|
4703
|
+
]
|
|
4704
|
+
}
|
|
4705
|
+
}
|
|
4706
|
+
],
|
|
4707
|
+
"title": "Save cookie (detailed)"
|
|
4708
|
+
}
|
|
4709
|
+
],
|
|
4710
|
+
"components": {
|
|
4711
|
+
"schemas": {
|
|
4712
|
+
"string": {
|
|
4713
|
+
"type": "string",
|
|
4714
|
+
"title": "Cookie name",
|
|
4715
|
+
"description": "Name of the specific cookie to save. Will be saved to a default file path or environment variable.",
|
|
4716
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
4717
|
+
"transform": [
|
|
4718
|
+
"trim"
|
|
4719
|
+
]
|
|
4720
|
+
},
|
|
4721
|
+
"object": {
|
|
4722
|
+
"type": "object",
|
|
4723
|
+
"additionalProperties": false,
|
|
4724
|
+
"properties": {
|
|
4725
|
+
"$schema": {
|
|
4726
|
+
"description": "Optional self-describing schema URI for linters",
|
|
4727
|
+
"type": "string",
|
|
4728
|
+
"format": "uri-reference"
|
|
4729
|
+
},
|
|
4730
|
+
"name": {
|
|
4731
|
+
"type": "string",
|
|
4732
|
+
"title": "Cookie name",
|
|
4733
|
+
"description": "Name of the specific cookie to save.",
|
|
4734
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
4735
|
+
"transform": [
|
|
4736
|
+
"trim"
|
|
4737
|
+
]
|
|
4738
|
+
},
|
|
4739
|
+
"variable": {
|
|
4740
|
+
"type": "string",
|
|
4741
|
+
"title": "Environment variable name",
|
|
4742
|
+
"description": "Environment variable name to store the cookie as JSON string.",
|
|
4743
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
4744
|
+
"transform": [
|
|
4745
|
+
"trim"
|
|
4746
|
+
]
|
|
4747
|
+
},
|
|
4748
|
+
"path": {
|
|
4749
|
+
"type": "string",
|
|
4750
|
+
"title": "Cookie file path",
|
|
4751
|
+
"description": "File path to save the cookie, relative to directory. Uses Netscape cookie format.",
|
|
4752
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
4753
|
+
"transform": [
|
|
4754
|
+
"trim"
|
|
4755
|
+
]
|
|
4756
|
+
},
|
|
4757
|
+
"directory": {
|
|
4758
|
+
"type": "string",
|
|
4759
|
+
"title": "Directory path",
|
|
4760
|
+
"description": "Directory to save the cookie file. If not specified, uses output directory.",
|
|
4761
|
+
"transform": [
|
|
4762
|
+
"trim"
|
|
4763
|
+
]
|
|
4764
|
+
},
|
|
4765
|
+
"overwrite": {
|
|
4766
|
+
"type": "boolean",
|
|
4767
|
+
"title": "Overwrite existing file",
|
|
4768
|
+
"description": "Whether to overwrite existing cookie file.",
|
|
4769
|
+
"default": false
|
|
4770
|
+
},
|
|
4771
|
+
"domain": {
|
|
4772
|
+
"type": "string",
|
|
4773
|
+
"title": "Cookie domain",
|
|
4774
|
+
"description": "Specific domain to filter the cookie by (optional).",
|
|
4775
|
+
"transform": [
|
|
4776
|
+
"trim"
|
|
4777
|
+
]
|
|
4778
|
+
}
|
|
4779
|
+
},
|
|
4780
|
+
"required": [
|
|
4781
|
+
"name"
|
|
4782
|
+
],
|
|
4783
|
+
"anyOf": [
|
|
4784
|
+
{
|
|
4785
|
+
"required": [
|
|
4786
|
+
"path"
|
|
4787
|
+
],
|
|
4788
|
+
"not": {
|
|
4789
|
+
"required": [
|
|
4790
|
+
"variable"
|
|
4791
|
+
]
|
|
4792
|
+
}
|
|
4793
|
+
},
|
|
4794
|
+
{
|
|
4795
|
+
"required": [
|
|
4796
|
+
"variable"
|
|
4797
|
+
],
|
|
4798
|
+
"not": {
|
|
4799
|
+
"anyOf": [
|
|
4800
|
+
{
|
|
4801
|
+
"required": [
|
|
4802
|
+
"path"
|
|
4803
|
+
]
|
|
4804
|
+
},
|
|
4805
|
+
{
|
|
4806
|
+
"required": [
|
|
4807
|
+
"directory"
|
|
4808
|
+
]
|
|
4809
|
+
},
|
|
4810
|
+
{
|
|
4811
|
+
"required": [
|
|
4812
|
+
"overwrite"
|
|
4813
|
+
]
|
|
4814
|
+
}
|
|
4815
|
+
]
|
|
4816
|
+
}
|
|
4817
|
+
}
|
|
4818
|
+
],
|
|
4819
|
+
"title": "Save cookie (detailed)"
|
|
4820
|
+
}
|
|
4821
|
+
}
|
|
4822
|
+
},
|
|
4823
|
+
"examples": [
|
|
4824
|
+
"session_token",
|
|
4825
|
+
{
|
|
4826
|
+
"name": "auth_cookie",
|
|
4827
|
+
"path": "auth-cookie.txt"
|
|
4828
|
+
},
|
|
4829
|
+
{
|
|
4830
|
+
"name": "session_token",
|
|
4831
|
+
"variable": "SESSION_TOKEN"
|
|
4832
|
+
},
|
|
4833
|
+
{
|
|
4834
|
+
"name": "user_session",
|
|
4835
|
+
"path": "user-session.txt",
|
|
4836
|
+
"directory": "./test-data",
|
|
4837
|
+
"overwrite": true
|
|
4838
|
+
},
|
|
4839
|
+
{
|
|
4840
|
+
"name": "login_token",
|
|
4841
|
+
"path": "login-token.txt",
|
|
4842
|
+
"domain": "app.example.com"
|
|
4843
|
+
}
|
|
4844
|
+
]
|
|
4845
|
+
}
|
|
4846
|
+
},
|
|
4847
|
+
"title": "saveCookie"
|
|
4848
|
+
}
|
|
4849
|
+
]
|
|
4850
|
+
},
|
|
4525
4851
|
{
|
|
4526
4852
|
"allOf": [
|
|
4527
4853
|
{
|
|
@@ -4920,40 +5246,336 @@
|
|
|
4920
5246
|
"title": "Common"
|
|
4921
5247
|
},
|
|
4922
5248
|
{
|
|
4923
|
-
"title": "
|
|
5249
|
+
"title": "loadCookie",
|
|
4924
5250
|
"type": "object",
|
|
4925
5251
|
"required": [
|
|
4926
|
-
"
|
|
5252
|
+
"loadCookie"
|
|
4927
5253
|
],
|
|
4928
5254
|
"properties": {
|
|
4929
|
-
"
|
|
5255
|
+
"loadCookie": {
|
|
4930
5256
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4931
|
-
"title": "
|
|
4932
|
-
"description": "
|
|
4933
|
-
"default": 5000,
|
|
5257
|
+
"title": "loadCookie",
|
|
5258
|
+
"description": "Load a specific cookie from a file or environment variable into the browser.",
|
|
4934
5259
|
"anyOf": [
|
|
4935
5260
|
{
|
|
4936
|
-
"type": "number",
|
|
4937
|
-
"title": "Wait (simple)"
|
|
4938
|
-
},
|
|
4939
|
-
{
|
|
4940
|
-
"title": "Wait (environment variable)",
|
|
4941
5261
|
"type": "string",
|
|
4942
|
-
"
|
|
5262
|
+
"title": "Cookie name or file path",
|
|
5263
|
+
"description": "Name of the specific cookie to load from default location, or file path to cookie file.",
|
|
5264
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
4943
5265
|
"transform": [
|
|
4944
5266
|
"trim"
|
|
4945
5267
|
]
|
|
4946
5268
|
},
|
|
4947
5269
|
{
|
|
4948
|
-
"type": "
|
|
4949
|
-
"
|
|
4950
|
-
|
|
4951
|
-
|
|
4952
|
-
|
|
4953
|
-
|
|
4954
|
-
|
|
4955
|
-
|
|
4956
|
-
|
|
5270
|
+
"type": "object",
|
|
5271
|
+
"additionalProperties": false,
|
|
5272
|
+
"required": [
|
|
5273
|
+
"name"
|
|
5274
|
+
],
|
|
5275
|
+
"anyOf": [
|
|
5276
|
+
{
|
|
5277
|
+
"required": [
|
|
5278
|
+
"path"
|
|
5279
|
+
],
|
|
5280
|
+
"not": {
|
|
5281
|
+
"required": [
|
|
5282
|
+
"variable"
|
|
5283
|
+
]
|
|
5284
|
+
}
|
|
5285
|
+
},
|
|
5286
|
+
{
|
|
5287
|
+
"required": [
|
|
5288
|
+
"variable"
|
|
5289
|
+
],
|
|
5290
|
+
"not": {
|
|
5291
|
+
"anyOf": [
|
|
5292
|
+
{
|
|
5293
|
+
"required": [
|
|
5294
|
+
"path"
|
|
5295
|
+
]
|
|
5296
|
+
},
|
|
5297
|
+
{
|
|
5298
|
+
"required": [
|
|
5299
|
+
"directory"
|
|
5300
|
+
]
|
|
5301
|
+
}
|
|
5302
|
+
]
|
|
5303
|
+
}
|
|
5304
|
+
}
|
|
5305
|
+
],
|
|
5306
|
+
"properties": {
|
|
5307
|
+
"$schema": {
|
|
5308
|
+
"description": "Optional self-describing schema URI for linters",
|
|
5309
|
+
"type": "string",
|
|
5310
|
+
"format": "uri-reference"
|
|
5311
|
+
},
|
|
5312
|
+
"name": {
|
|
5313
|
+
"type": "string",
|
|
5314
|
+
"title": "Cookie name",
|
|
5315
|
+
"description": "Name of the specific cookie to load.",
|
|
5316
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
5317
|
+
"transform": [
|
|
5318
|
+
"trim"
|
|
5319
|
+
]
|
|
5320
|
+
},
|
|
5321
|
+
"variable": {
|
|
5322
|
+
"type": "string",
|
|
5323
|
+
"title": "Environment variable name",
|
|
5324
|
+
"description": "Environment variable name containing the cookie as JSON string.",
|
|
5325
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
5326
|
+
"transform": [
|
|
5327
|
+
"trim"
|
|
5328
|
+
]
|
|
5329
|
+
},
|
|
5330
|
+
"path": {
|
|
5331
|
+
"type": "string",
|
|
5332
|
+
"title": "Cookie file path",
|
|
5333
|
+
"description": "File path to cookie file, relative to directory. Supports Netscape cookie format.",
|
|
5334
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
5335
|
+
"transform": [
|
|
5336
|
+
"trim"
|
|
5337
|
+
]
|
|
5338
|
+
},
|
|
5339
|
+
"directory": {
|
|
5340
|
+
"type": "string",
|
|
5341
|
+
"title": "Directory path",
|
|
5342
|
+
"description": "Directory containing the cookie file.",
|
|
5343
|
+
"transform": [
|
|
5344
|
+
"trim"
|
|
5345
|
+
]
|
|
5346
|
+
},
|
|
5347
|
+
"domain": {
|
|
5348
|
+
"type": "string",
|
|
5349
|
+
"title": "Cookie domain",
|
|
5350
|
+
"description": "Specific domain to filter the cookie by when loading from multi-cookie file (optional).",
|
|
5351
|
+
"transform": [
|
|
5352
|
+
"trim"
|
|
5353
|
+
]
|
|
5354
|
+
}
|
|
5355
|
+
},
|
|
5356
|
+
"title": "Load cookie (detailed)"
|
|
5357
|
+
}
|
|
5358
|
+
],
|
|
5359
|
+
"components": {
|
|
5360
|
+
"schemas": {
|
|
5361
|
+
"string": {
|
|
5362
|
+
"type": "string",
|
|
5363
|
+
"title": "Cookie name or file path",
|
|
5364
|
+
"description": "Name of the specific cookie to load from default location, or file path to cookie file.",
|
|
5365
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
5366
|
+
"transform": [
|
|
5367
|
+
"trim"
|
|
5368
|
+
]
|
|
5369
|
+
},
|
|
5370
|
+
"object": {
|
|
5371
|
+
"type": "object",
|
|
5372
|
+
"additionalProperties": false,
|
|
5373
|
+
"required": [
|
|
5374
|
+
"name"
|
|
5375
|
+
],
|
|
5376
|
+
"anyOf": [
|
|
5377
|
+
{
|
|
5378
|
+
"required": [
|
|
5379
|
+
"path"
|
|
5380
|
+
],
|
|
5381
|
+
"not": {
|
|
5382
|
+
"required": [
|
|
5383
|
+
"variable"
|
|
5384
|
+
]
|
|
5385
|
+
}
|
|
5386
|
+
},
|
|
5387
|
+
{
|
|
5388
|
+
"required": [
|
|
5389
|
+
"variable"
|
|
5390
|
+
],
|
|
5391
|
+
"not": {
|
|
5392
|
+
"anyOf": [
|
|
5393
|
+
{
|
|
5394
|
+
"required": [
|
|
5395
|
+
"path"
|
|
5396
|
+
]
|
|
5397
|
+
},
|
|
5398
|
+
{
|
|
5399
|
+
"required": [
|
|
5400
|
+
"directory"
|
|
5401
|
+
]
|
|
5402
|
+
}
|
|
5403
|
+
]
|
|
5404
|
+
}
|
|
5405
|
+
}
|
|
5406
|
+
],
|
|
5407
|
+
"properties": {
|
|
5408
|
+
"$schema": {
|
|
5409
|
+
"description": "Optional self-describing schema URI for linters",
|
|
5410
|
+
"type": "string",
|
|
5411
|
+
"format": "uri-reference"
|
|
5412
|
+
},
|
|
5413
|
+
"name": {
|
|
5414
|
+
"type": "string",
|
|
5415
|
+
"title": "Cookie name",
|
|
5416
|
+
"description": "Name of the specific cookie to load.",
|
|
5417
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
5418
|
+
"transform": [
|
|
5419
|
+
"trim"
|
|
5420
|
+
]
|
|
5421
|
+
},
|
|
5422
|
+
"variable": {
|
|
5423
|
+
"type": "string",
|
|
5424
|
+
"title": "Environment variable name",
|
|
5425
|
+
"description": "Environment variable name containing the cookie as JSON string.",
|
|
5426
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
5427
|
+
"transform": [
|
|
5428
|
+
"trim"
|
|
5429
|
+
]
|
|
5430
|
+
},
|
|
5431
|
+
"path": {
|
|
5432
|
+
"type": "string",
|
|
5433
|
+
"title": "Cookie file path",
|
|
5434
|
+
"description": "File path to cookie file, relative to directory. Supports Netscape cookie format.",
|
|
5435
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
5436
|
+
"transform": [
|
|
5437
|
+
"trim"
|
|
5438
|
+
]
|
|
5439
|
+
},
|
|
5440
|
+
"directory": {
|
|
5441
|
+
"type": "string",
|
|
5442
|
+
"title": "Directory path",
|
|
5443
|
+
"description": "Directory containing the cookie file.",
|
|
5444
|
+
"transform": [
|
|
5445
|
+
"trim"
|
|
5446
|
+
]
|
|
5447
|
+
},
|
|
5448
|
+
"domain": {
|
|
5449
|
+
"type": "string",
|
|
5450
|
+
"title": "Cookie domain",
|
|
5451
|
+
"description": "Specific domain to filter the cookie by when loading from multi-cookie file (optional).",
|
|
5452
|
+
"transform": [
|
|
5453
|
+
"trim"
|
|
5454
|
+
]
|
|
5455
|
+
}
|
|
5456
|
+
},
|
|
5457
|
+
"title": "Load cookie (detailed)"
|
|
5458
|
+
}
|
|
5459
|
+
}
|
|
5460
|
+
},
|
|
5461
|
+
"examples": [
|
|
5462
|
+
"session_token",
|
|
5463
|
+
"./test-data/auth-session.txt",
|
|
5464
|
+
{
|
|
5465
|
+
"name": "auth_cookie",
|
|
5466
|
+
"variable": "AUTH_COOKIE"
|
|
5467
|
+
},
|
|
5468
|
+
{
|
|
5469
|
+
"name": "session_token",
|
|
5470
|
+
"path": "session-token.txt",
|
|
5471
|
+
"directory": "./test-data"
|
|
5472
|
+
},
|
|
5473
|
+
{
|
|
5474
|
+
"name": "user_session",
|
|
5475
|
+
"path": "saved-cookies.txt",
|
|
5476
|
+
"domain": "app.example.com"
|
|
5477
|
+
}
|
|
5478
|
+
]
|
|
5479
|
+
}
|
|
5480
|
+
}
|
|
5481
|
+
}
|
|
5482
|
+
]
|
|
5483
|
+
},
|
|
5484
|
+
{
|
|
5485
|
+
"allOf": [
|
|
5486
|
+
{
|
|
5487
|
+
"type": "object",
|
|
5488
|
+
"dynamicDefaults": {
|
|
5489
|
+
"stepId": "uuid"
|
|
5490
|
+
},
|
|
5491
|
+
"properties": {
|
|
5492
|
+
"$schema": {
|
|
5493
|
+
"description": "JSON Schema for this object.",
|
|
5494
|
+
"type": "string",
|
|
5495
|
+
"enum": [
|
|
5496
|
+
"https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json"
|
|
5497
|
+
]
|
|
5498
|
+
},
|
|
5499
|
+
"stepId": {
|
|
5500
|
+
"type": "string",
|
|
5501
|
+
"description": "ID of the step."
|
|
5502
|
+
},
|
|
5503
|
+
"description": {
|
|
5504
|
+
"type": "string",
|
|
5505
|
+
"description": "Description of the step."
|
|
5506
|
+
},
|
|
5507
|
+
"unsafe": {
|
|
5508
|
+
"type": "boolean",
|
|
5509
|
+
"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.",
|
|
5510
|
+
"default": false
|
|
5511
|
+
},
|
|
5512
|
+
"outputs": {
|
|
5513
|
+
"type": "object",
|
|
5514
|
+
"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.",
|
|
5515
|
+
"default": {},
|
|
5516
|
+
"patternProperties": {
|
|
5517
|
+
"^[A-Za-z0-9_]+$": {
|
|
5518
|
+
"type": "string",
|
|
5519
|
+
"description": "Runtime expression for a user-defined output value."
|
|
5520
|
+
}
|
|
5521
|
+
},
|
|
5522
|
+
"title": "Outputs (step)"
|
|
5523
|
+
},
|
|
5524
|
+
"variables": {
|
|
5525
|
+
"type": "object",
|
|
5526
|
+
"description": "Environment variables to set from user-defined expressions.",
|
|
5527
|
+
"default": {},
|
|
5528
|
+
"patternProperties": {
|
|
5529
|
+
"^[A-Za-z0-9_]+$": {
|
|
5530
|
+
"type": "string",
|
|
5531
|
+
"description": "Runtime expression for a user-defined output value."
|
|
5532
|
+
}
|
|
5533
|
+
},
|
|
5534
|
+
"title": "Variables (step)"
|
|
5535
|
+
},
|
|
5536
|
+
"breakpoint": {
|
|
5537
|
+
"type": "boolean",
|
|
5538
|
+
"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.",
|
|
5539
|
+
"default": false
|
|
5540
|
+
}
|
|
5541
|
+
},
|
|
5542
|
+
"title": "Common"
|
|
5543
|
+
},
|
|
5544
|
+
{
|
|
5545
|
+
"title": "wait",
|
|
5546
|
+
"type": "object",
|
|
5547
|
+
"required": [
|
|
5548
|
+
"wait"
|
|
5549
|
+
],
|
|
5550
|
+
"properties": {
|
|
5551
|
+
"wait": {
|
|
5552
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5553
|
+
"title": "wait",
|
|
5554
|
+
"description": "Pause (in milliseconds) before performing the next action.",
|
|
5555
|
+
"default": 5000,
|
|
5556
|
+
"anyOf": [
|
|
5557
|
+
{
|
|
5558
|
+
"type": "number",
|
|
5559
|
+
"title": "Wait (simple)"
|
|
5560
|
+
},
|
|
5561
|
+
{
|
|
5562
|
+
"title": "Wait (environment variable)",
|
|
5563
|
+
"type": "string",
|
|
5564
|
+
"pattern": "(\\$[A-Za-z0-9_]+)",
|
|
5565
|
+
"transform": [
|
|
5566
|
+
"trim"
|
|
5567
|
+
]
|
|
5568
|
+
},
|
|
5569
|
+
{
|
|
5570
|
+
"type": "boolean",
|
|
5571
|
+
"title": "Wait (boolean)"
|
|
5572
|
+
}
|
|
5573
|
+
],
|
|
5574
|
+
"components": {
|
|
5575
|
+
"schemas": {
|
|
5576
|
+
"string": {
|
|
5577
|
+
"title": "Wait (environment variable)",
|
|
5578
|
+
"type": "string",
|
|
4957
5579
|
"pattern": "(\\$[A-Za-z0-9_]+)",
|
|
4958
5580
|
"transform": [
|
|
4959
5581
|
"trim"
|
|
@@ -5098,6 +5720,27 @@
|
|
|
5098
5720
|
{
|
|
5099
5721
|
"loadVariables": "variables.env"
|
|
5100
5722
|
},
|
|
5723
|
+
{
|
|
5724
|
+
"saveCookie": "session_token"
|
|
5725
|
+
},
|
|
5726
|
+
{
|
|
5727
|
+
"saveCookie": {
|
|
5728
|
+
"name": "auth_cookie",
|
|
5729
|
+
"path": "auth-session.txt",
|
|
5730
|
+
"directory": "./test-data",
|
|
5731
|
+
"overwrite": true
|
|
5732
|
+
}
|
|
5733
|
+
},
|
|
5734
|
+
{
|
|
5735
|
+
"loadCookie": "session_token"
|
|
5736
|
+
},
|
|
5737
|
+
{
|
|
5738
|
+
"loadCookie": {
|
|
5739
|
+
"name": "auth_cookie",
|
|
5740
|
+
"path": "auth-session.txt",
|
|
5741
|
+
"directory": "./test-data"
|
|
5742
|
+
}
|
|
5743
|
+
},
|
|
5101
5744
|
{
|
|
5102
5745
|
"find": "Find me!"
|
|
5103
5746
|
},
|
|
@@ -5971,10 +6614,12 @@
|
|
|
5971
6614
|
"find",
|
|
5972
6615
|
"goTo",
|
|
5973
6616
|
"httpRequest",
|
|
6617
|
+
"loadCookie",
|
|
5974
6618
|
"loadVariables",
|
|
5975
6619
|
"record",
|
|
5976
6620
|
"runCode",
|
|
5977
6621
|
"runShell",
|
|
6622
|
+
"saveCookie",
|
|
5978
6623
|
"screenshot",
|
|
5979
6624
|
"stopRecord",
|
|
5980
6625
|
"type",
|
|
@@ -5993,10 +6638,12 @@
|
|
|
5993
6638
|
"find",
|
|
5994
6639
|
"goTo",
|
|
5995
6640
|
"httpRequest",
|
|
6641
|
+
"loadCookie",
|
|
5996
6642
|
"loadVariables",
|
|
5997
6643
|
"record",
|
|
5998
6644
|
"runCode",
|
|
5999
6645
|
"runShell",
|
|
6646
|
+
"saveCookie",
|
|
6000
6647
|
"screenshot",
|
|
6001
6648
|
"stopRecord",
|
|
6002
6649
|
"type",
|
|
@@ -9723,38 +10370,360 @@
|
|
|
9723
10370
|
"static/images/image.png",
|
|
9724
10371
|
"/User/manny/projects/doc-detective/static/images/image.png",
|
|
9725
10372
|
{
|
|
9726
|
-
"path": "image.png",
|
|
9727
|
-
"directory": "static/images",
|
|
9728
|
-
"maxVariation": 0.1,
|
|
9729
|
-
"overwrite": "aboveVariation",
|
|
9730
|
-
"crop": "#elementToScreenshot"
|
|
10373
|
+
"path": "image.png",
|
|
10374
|
+
"directory": "static/images",
|
|
10375
|
+
"maxVariation": 0.1,
|
|
10376
|
+
"overwrite": "aboveVariation",
|
|
10377
|
+
"crop": "#elementToScreenshot"
|
|
10378
|
+
},
|
|
10379
|
+
{
|
|
10380
|
+
"path": "image.png",
|
|
10381
|
+
"directory": "static/images",
|
|
10382
|
+
"maxVariation": 0.1,
|
|
10383
|
+
"overwrite": "aboveVariation"
|
|
10384
|
+
},
|
|
10385
|
+
{
|
|
10386
|
+
"path": "image.png",
|
|
10387
|
+
"directory": "static/images",
|
|
10388
|
+
"maxVariation": 0.1,
|
|
10389
|
+
"overwrite": "aboveVariation",
|
|
10390
|
+
"crop": {
|
|
10391
|
+
"selector": "#elementToScreenshot",
|
|
10392
|
+
"elementText": "Element text",
|
|
10393
|
+
"padding": {
|
|
10394
|
+
"top": 0,
|
|
10395
|
+
"right": 0,
|
|
10396
|
+
"bottom": 0,
|
|
10397
|
+
"left": 0
|
|
10398
|
+
}
|
|
10399
|
+
}
|
|
10400
|
+
}
|
|
10401
|
+
]
|
|
10402
|
+
}
|
|
10403
|
+
},
|
|
10404
|
+
"title": "screenshot"
|
|
10405
|
+
}
|
|
10406
|
+
]
|
|
10407
|
+
},
|
|
10408
|
+
{
|
|
10409
|
+
"allOf": [
|
|
10410
|
+
{
|
|
10411
|
+
"type": "object",
|
|
10412
|
+
"dynamicDefaults": {
|
|
10413
|
+
"stepId": "uuid"
|
|
10414
|
+
},
|
|
10415
|
+
"properties": {
|
|
10416
|
+
"$schema": {
|
|
10417
|
+
"description": "JSON Schema for this object.",
|
|
10418
|
+
"type": "string",
|
|
10419
|
+
"enum": [
|
|
10420
|
+
"https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json"
|
|
10421
|
+
]
|
|
10422
|
+
},
|
|
10423
|
+
"stepId": {
|
|
10424
|
+
"type": "string",
|
|
10425
|
+
"description": "ID of the step."
|
|
10426
|
+
},
|
|
10427
|
+
"description": {
|
|
10428
|
+
"type": "string",
|
|
10429
|
+
"description": "Description of the step."
|
|
10430
|
+
},
|
|
10431
|
+
"unsafe": {
|
|
10432
|
+
"type": "boolean",
|
|
10433
|
+
"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.",
|
|
10434
|
+
"default": false
|
|
10435
|
+
},
|
|
10436
|
+
"outputs": {
|
|
10437
|
+
"type": "object",
|
|
10438
|
+
"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.",
|
|
10439
|
+
"default": {},
|
|
10440
|
+
"patternProperties": {
|
|
10441
|
+
"^[A-Za-z0-9_]+$": {
|
|
10442
|
+
"type": "string",
|
|
10443
|
+
"description": "Runtime expression for a user-defined output value."
|
|
10444
|
+
}
|
|
10445
|
+
},
|
|
10446
|
+
"title": "Outputs (step)"
|
|
10447
|
+
},
|
|
10448
|
+
"variables": {
|
|
10449
|
+
"type": "object",
|
|
10450
|
+
"description": "Environment variables to set from user-defined expressions.",
|
|
10451
|
+
"default": {},
|
|
10452
|
+
"patternProperties": {
|
|
10453
|
+
"^[A-Za-z0-9_]+$": {
|
|
10454
|
+
"type": "string",
|
|
10455
|
+
"description": "Runtime expression for a user-defined output value."
|
|
10456
|
+
}
|
|
10457
|
+
},
|
|
10458
|
+
"title": "Variables (step)"
|
|
10459
|
+
},
|
|
10460
|
+
"breakpoint": {
|
|
10461
|
+
"type": "boolean",
|
|
10462
|
+
"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.",
|
|
10463
|
+
"default": false
|
|
10464
|
+
}
|
|
10465
|
+
},
|
|
10466
|
+
"title": "Common"
|
|
10467
|
+
},
|
|
10468
|
+
{
|
|
10469
|
+
"type": "object",
|
|
10470
|
+
"required": [
|
|
10471
|
+
"saveCookie"
|
|
10472
|
+
],
|
|
10473
|
+
"properties": {
|
|
10474
|
+
"saveCookie": {
|
|
10475
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
10476
|
+
"title": "saveCookie",
|
|
10477
|
+
"description": "Save a specific browser cookie to a file or environment variable for later reuse.",
|
|
10478
|
+
"anyOf": [
|
|
10479
|
+
{
|
|
10480
|
+
"type": "string",
|
|
10481
|
+
"title": "Cookie name",
|
|
10482
|
+
"description": "Name of the specific cookie to save. Will be saved to a default file path or environment variable.",
|
|
10483
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
10484
|
+
"transform": [
|
|
10485
|
+
"trim"
|
|
10486
|
+
]
|
|
10487
|
+
},
|
|
10488
|
+
{
|
|
10489
|
+
"type": "object",
|
|
10490
|
+
"additionalProperties": false,
|
|
10491
|
+
"properties": {
|
|
10492
|
+
"$schema": {
|
|
10493
|
+
"description": "Optional self-describing schema URI for linters",
|
|
10494
|
+
"type": "string",
|
|
10495
|
+
"format": "uri-reference"
|
|
10496
|
+
},
|
|
10497
|
+
"name": {
|
|
10498
|
+
"type": "string",
|
|
10499
|
+
"title": "Cookie name",
|
|
10500
|
+
"description": "Name of the specific cookie to save.",
|
|
10501
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
10502
|
+
"transform": [
|
|
10503
|
+
"trim"
|
|
10504
|
+
]
|
|
10505
|
+
},
|
|
10506
|
+
"variable": {
|
|
10507
|
+
"type": "string",
|
|
10508
|
+
"title": "Environment variable name",
|
|
10509
|
+
"description": "Environment variable name to store the cookie as JSON string.",
|
|
10510
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
10511
|
+
"transform": [
|
|
10512
|
+
"trim"
|
|
10513
|
+
]
|
|
10514
|
+
},
|
|
10515
|
+
"path": {
|
|
10516
|
+
"type": "string",
|
|
10517
|
+
"title": "Cookie file path",
|
|
10518
|
+
"description": "File path to save the cookie, relative to directory. Uses Netscape cookie format.",
|
|
10519
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
10520
|
+
"transform": [
|
|
10521
|
+
"trim"
|
|
10522
|
+
]
|
|
10523
|
+
},
|
|
10524
|
+
"directory": {
|
|
10525
|
+
"type": "string",
|
|
10526
|
+
"title": "Directory path",
|
|
10527
|
+
"description": "Directory to save the cookie file. If not specified, uses output directory.",
|
|
10528
|
+
"transform": [
|
|
10529
|
+
"trim"
|
|
10530
|
+
]
|
|
10531
|
+
},
|
|
10532
|
+
"overwrite": {
|
|
10533
|
+
"type": "boolean",
|
|
10534
|
+
"title": "Overwrite existing file",
|
|
10535
|
+
"description": "Whether to overwrite existing cookie file.",
|
|
10536
|
+
"default": false
|
|
10537
|
+
},
|
|
10538
|
+
"domain": {
|
|
10539
|
+
"type": "string",
|
|
10540
|
+
"title": "Cookie domain",
|
|
10541
|
+
"description": "Specific domain to filter the cookie by (optional).",
|
|
10542
|
+
"transform": [
|
|
10543
|
+
"trim"
|
|
10544
|
+
]
|
|
10545
|
+
}
|
|
10546
|
+
},
|
|
10547
|
+
"required": [
|
|
10548
|
+
"name"
|
|
10549
|
+
],
|
|
10550
|
+
"anyOf": [
|
|
10551
|
+
{
|
|
10552
|
+
"required": [
|
|
10553
|
+
"path"
|
|
10554
|
+
],
|
|
10555
|
+
"not": {
|
|
10556
|
+
"required": [
|
|
10557
|
+
"variable"
|
|
10558
|
+
]
|
|
10559
|
+
}
|
|
10560
|
+
},
|
|
10561
|
+
{
|
|
10562
|
+
"required": [
|
|
10563
|
+
"variable"
|
|
10564
|
+
],
|
|
10565
|
+
"not": {
|
|
10566
|
+
"anyOf": [
|
|
10567
|
+
{
|
|
10568
|
+
"required": [
|
|
10569
|
+
"path"
|
|
10570
|
+
]
|
|
10571
|
+
},
|
|
10572
|
+
{
|
|
10573
|
+
"required": [
|
|
10574
|
+
"directory"
|
|
10575
|
+
]
|
|
10576
|
+
},
|
|
10577
|
+
{
|
|
10578
|
+
"required": [
|
|
10579
|
+
"overwrite"
|
|
10580
|
+
]
|
|
10581
|
+
}
|
|
10582
|
+
]
|
|
10583
|
+
}
|
|
10584
|
+
}
|
|
10585
|
+
],
|
|
10586
|
+
"title": "Save cookie (detailed)"
|
|
10587
|
+
}
|
|
10588
|
+
],
|
|
10589
|
+
"components": {
|
|
10590
|
+
"schemas": {
|
|
10591
|
+
"string": {
|
|
10592
|
+
"type": "string",
|
|
10593
|
+
"title": "Cookie name",
|
|
10594
|
+
"description": "Name of the specific cookie to save. Will be saved to a default file path or environment variable.",
|
|
10595
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
10596
|
+
"transform": [
|
|
10597
|
+
"trim"
|
|
10598
|
+
]
|
|
10599
|
+
},
|
|
10600
|
+
"object": {
|
|
10601
|
+
"type": "object",
|
|
10602
|
+
"additionalProperties": false,
|
|
10603
|
+
"properties": {
|
|
10604
|
+
"$schema": {
|
|
10605
|
+
"description": "Optional self-describing schema URI for linters",
|
|
10606
|
+
"type": "string",
|
|
10607
|
+
"format": "uri-reference"
|
|
10608
|
+
},
|
|
10609
|
+
"name": {
|
|
10610
|
+
"type": "string",
|
|
10611
|
+
"title": "Cookie name",
|
|
10612
|
+
"description": "Name of the specific cookie to save.",
|
|
10613
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
10614
|
+
"transform": [
|
|
10615
|
+
"trim"
|
|
10616
|
+
]
|
|
10617
|
+
},
|
|
10618
|
+
"variable": {
|
|
10619
|
+
"type": "string",
|
|
10620
|
+
"title": "Environment variable name",
|
|
10621
|
+
"description": "Environment variable name to store the cookie as JSON string.",
|
|
10622
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
10623
|
+
"transform": [
|
|
10624
|
+
"trim"
|
|
10625
|
+
]
|
|
10626
|
+
},
|
|
10627
|
+
"path": {
|
|
10628
|
+
"type": "string",
|
|
10629
|
+
"title": "Cookie file path",
|
|
10630
|
+
"description": "File path to save the cookie, relative to directory. Uses Netscape cookie format.",
|
|
10631
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
10632
|
+
"transform": [
|
|
10633
|
+
"trim"
|
|
10634
|
+
]
|
|
10635
|
+
},
|
|
10636
|
+
"directory": {
|
|
10637
|
+
"type": "string",
|
|
10638
|
+
"title": "Directory path",
|
|
10639
|
+
"description": "Directory to save the cookie file. If not specified, uses output directory.",
|
|
10640
|
+
"transform": [
|
|
10641
|
+
"trim"
|
|
10642
|
+
]
|
|
10643
|
+
},
|
|
10644
|
+
"overwrite": {
|
|
10645
|
+
"type": "boolean",
|
|
10646
|
+
"title": "Overwrite existing file",
|
|
10647
|
+
"description": "Whether to overwrite existing cookie file.",
|
|
10648
|
+
"default": false
|
|
10649
|
+
},
|
|
10650
|
+
"domain": {
|
|
10651
|
+
"type": "string",
|
|
10652
|
+
"title": "Cookie domain",
|
|
10653
|
+
"description": "Specific domain to filter the cookie by (optional).",
|
|
10654
|
+
"transform": [
|
|
10655
|
+
"trim"
|
|
10656
|
+
]
|
|
10657
|
+
}
|
|
10658
|
+
},
|
|
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
|
+
"required": [
|
|
10691
|
+
"overwrite"
|
|
10692
|
+
]
|
|
10693
|
+
}
|
|
10694
|
+
]
|
|
10695
|
+
}
|
|
10696
|
+
}
|
|
10697
|
+
],
|
|
10698
|
+
"title": "Save cookie (detailed)"
|
|
10699
|
+
}
|
|
10700
|
+
}
|
|
10701
|
+
},
|
|
10702
|
+
"examples": [
|
|
10703
|
+
"session_token",
|
|
10704
|
+
{
|
|
10705
|
+
"name": "auth_cookie",
|
|
10706
|
+
"path": "auth-cookie.txt"
|
|
9731
10707
|
},
|
|
9732
10708
|
{
|
|
9733
|
-
"
|
|
9734
|
-
"
|
|
9735
|
-
"maxVariation": 0.1,
|
|
9736
|
-
"overwrite": "aboveVariation"
|
|
10709
|
+
"name": "session_token",
|
|
10710
|
+
"variable": "SESSION_TOKEN"
|
|
9737
10711
|
},
|
|
9738
10712
|
{
|
|
9739
|
-
"
|
|
9740
|
-
"
|
|
9741
|
-
"
|
|
9742
|
-
"overwrite":
|
|
9743
|
-
|
|
9744
|
-
|
|
9745
|
-
|
|
9746
|
-
|
|
9747
|
-
|
|
9748
|
-
"right": 0,
|
|
9749
|
-
"bottom": 0,
|
|
9750
|
-
"left": 0
|
|
9751
|
-
}
|
|
9752
|
-
}
|
|
10713
|
+
"name": "user_session",
|
|
10714
|
+
"path": "user-session.txt",
|
|
10715
|
+
"directory": "./test-data",
|
|
10716
|
+
"overwrite": true
|
|
10717
|
+
},
|
|
10718
|
+
{
|
|
10719
|
+
"name": "login_token",
|
|
10720
|
+
"path": "login-token.txt",
|
|
10721
|
+
"domain": "app.example.com"
|
|
9753
10722
|
}
|
|
9754
10723
|
]
|
|
9755
10724
|
}
|
|
9756
10725
|
},
|
|
9757
|
-
"title": "
|
|
10726
|
+
"title": "saveCookie"
|
|
9758
10727
|
}
|
|
9759
10728
|
]
|
|
9760
10729
|
},
|
|
@@ -10095,6 +11064,302 @@
|
|
|
10095
11064
|
}
|
|
10096
11065
|
]
|
|
10097
11066
|
},
|
|
11067
|
+
{
|
|
11068
|
+
"allOf": [
|
|
11069
|
+
{
|
|
11070
|
+
"type": "object",
|
|
11071
|
+
"dynamicDefaults": {
|
|
11072
|
+
"stepId": "uuid"
|
|
11073
|
+
},
|
|
11074
|
+
"properties": {
|
|
11075
|
+
"$schema": {
|
|
11076
|
+
"description": "JSON Schema for this object.",
|
|
11077
|
+
"type": "string",
|
|
11078
|
+
"enum": [
|
|
11079
|
+
"https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json"
|
|
11080
|
+
]
|
|
11081
|
+
},
|
|
11082
|
+
"stepId": {
|
|
11083
|
+
"type": "string",
|
|
11084
|
+
"description": "ID of the step."
|
|
11085
|
+
},
|
|
11086
|
+
"description": {
|
|
11087
|
+
"type": "string",
|
|
11088
|
+
"description": "Description of the step."
|
|
11089
|
+
},
|
|
11090
|
+
"unsafe": {
|
|
11091
|
+
"type": "boolean",
|
|
11092
|
+
"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.",
|
|
11093
|
+
"default": false
|
|
11094
|
+
},
|
|
11095
|
+
"outputs": {
|
|
11096
|
+
"type": "object",
|
|
11097
|
+
"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.",
|
|
11098
|
+
"default": {},
|
|
11099
|
+
"patternProperties": {
|
|
11100
|
+
"^[A-Za-z0-9_]+$": {
|
|
11101
|
+
"type": "string",
|
|
11102
|
+
"description": "Runtime expression for a user-defined output value."
|
|
11103
|
+
}
|
|
11104
|
+
},
|
|
11105
|
+
"title": "Outputs (step)"
|
|
11106
|
+
},
|
|
11107
|
+
"variables": {
|
|
11108
|
+
"type": "object",
|
|
11109
|
+
"description": "Environment variables to set from user-defined expressions.",
|
|
11110
|
+
"default": {},
|
|
11111
|
+
"patternProperties": {
|
|
11112
|
+
"^[A-Za-z0-9_]+$": {
|
|
11113
|
+
"type": "string",
|
|
11114
|
+
"description": "Runtime expression for a user-defined output value."
|
|
11115
|
+
}
|
|
11116
|
+
},
|
|
11117
|
+
"title": "Variables (step)"
|
|
11118
|
+
},
|
|
11119
|
+
"breakpoint": {
|
|
11120
|
+
"type": "boolean",
|
|
11121
|
+
"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.",
|
|
11122
|
+
"default": false
|
|
11123
|
+
}
|
|
11124
|
+
},
|
|
11125
|
+
"title": "Common"
|
|
11126
|
+
},
|
|
11127
|
+
{
|
|
11128
|
+
"title": "loadCookie",
|
|
11129
|
+
"type": "object",
|
|
11130
|
+
"required": [
|
|
11131
|
+
"loadCookie"
|
|
11132
|
+
],
|
|
11133
|
+
"properties": {
|
|
11134
|
+
"loadCookie": {
|
|
11135
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
11136
|
+
"title": "loadCookie",
|
|
11137
|
+
"description": "Load a specific cookie from a file or environment variable into the browser.",
|
|
11138
|
+
"anyOf": [
|
|
11139
|
+
{
|
|
11140
|
+
"type": "string",
|
|
11141
|
+
"title": "Cookie name or file path",
|
|
11142
|
+
"description": "Name of the specific cookie to load from default location, or file path to cookie file.",
|
|
11143
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
11144
|
+
"transform": [
|
|
11145
|
+
"trim"
|
|
11146
|
+
]
|
|
11147
|
+
},
|
|
11148
|
+
{
|
|
11149
|
+
"type": "object",
|
|
11150
|
+
"additionalProperties": false,
|
|
11151
|
+
"required": [
|
|
11152
|
+
"name"
|
|
11153
|
+
],
|
|
11154
|
+
"anyOf": [
|
|
11155
|
+
{
|
|
11156
|
+
"required": [
|
|
11157
|
+
"path"
|
|
11158
|
+
],
|
|
11159
|
+
"not": {
|
|
11160
|
+
"required": [
|
|
11161
|
+
"variable"
|
|
11162
|
+
]
|
|
11163
|
+
}
|
|
11164
|
+
},
|
|
11165
|
+
{
|
|
11166
|
+
"required": [
|
|
11167
|
+
"variable"
|
|
11168
|
+
],
|
|
11169
|
+
"not": {
|
|
11170
|
+
"anyOf": [
|
|
11171
|
+
{
|
|
11172
|
+
"required": [
|
|
11173
|
+
"path"
|
|
11174
|
+
]
|
|
11175
|
+
},
|
|
11176
|
+
{
|
|
11177
|
+
"required": [
|
|
11178
|
+
"directory"
|
|
11179
|
+
]
|
|
11180
|
+
}
|
|
11181
|
+
]
|
|
11182
|
+
}
|
|
11183
|
+
}
|
|
11184
|
+
],
|
|
11185
|
+
"properties": {
|
|
11186
|
+
"$schema": {
|
|
11187
|
+
"description": "Optional self-describing schema URI for linters",
|
|
11188
|
+
"type": "string",
|
|
11189
|
+
"format": "uri-reference"
|
|
11190
|
+
},
|
|
11191
|
+
"name": {
|
|
11192
|
+
"type": "string",
|
|
11193
|
+
"title": "Cookie name",
|
|
11194
|
+
"description": "Name of the specific cookie to load.",
|
|
11195
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
11196
|
+
"transform": [
|
|
11197
|
+
"trim"
|
|
11198
|
+
]
|
|
11199
|
+
},
|
|
11200
|
+
"variable": {
|
|
11201
|
+
"type": "string",
|
|
11202
|
+
"title": "Environment variable name",
|
|
11203
|
+
"description": "Environment variable name containing the cookie as JSON string.",
|
|
11204
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
11205
|
+
"transform": [
|
|
11206
|
+
"trim"
|
|
11207
|
+
]
|
|
11208
|
+
},
|
|
11209
|
+
"path": {
|
|
11210
|
+
"type": "string",
|
|
11211
|
+
"title": "Cookie file path",
|
|
11212
|
+
"description": "File path to cookie file, relative to directory. Supports Netscape cookie format.",
|
|
11213
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
11214
|
+
"transform": [
|
|
11215
|
+
"trim"
|
|
11216
|
+
]
|
|
11217
|
+
},
|
|
11218
|
+
"directory": {
|
|
11219
|
+
"type": "string",
|
|
11220
|
+
"title": "Directory path",
|
|
11221
|
+
"description": "Directory containing the cookie file.",
|
|
11222
|
+
"transform": [
|
|
11223
|
+
"trim"
|
|
11224
|
+
]
|
|
11225
|
+
},
|
|
11226
|
+
"domain": {
|
|
11227
|
+
"type": "string",
|
|
11228
|
+
"title": "Cookie domain",
|
|
11229
|
+
"description": "Specific domain to filter the cookie by when loading from multi-cookie file (optional).",
|
|
11230
|
+
"transform": [
|
|
11231
|
+
"trim"
|
|
11232
|
+
]
|
|
11233
|
+
}
|
|
11234
|
+
},
|
|
11235
|
+
"title": "Load cookie (detailed)"
|
|
11236
|
+
}
|
|
11237
|
+
],
|
|
11238
|
+
"components": {
|
|
11239
|
+
"schemas": {
|
|
11240
|
+
"string": {
|
|
11241
|
+
"type": "string",
|
|
11242
|
+
"title": "Cookie name or file path",
|
|
11243
|
+
"description": "Name of the specific cookie to load from default location, or file path to cookie file.",
|
|
11244
|
+
"pattern": "^[A-Za-z0-9_./\\-]+$",
|
|
11245
|
+
"transform": [
|
|
11246
|
+
"trim"
|
|
11247
|
+
]
|
|
11248
|
+
},
|
|
11249
|
+
"object": {
|
|
11250
|
+
"type": "object",
|
|
11251
|
+
"additionalProperties": false,
|
|
11252
|
+
"required": [
|
|
11253
|
+
"name"
|
|
11254
|
+
],
|
|
11255
|
+
"anyOf": [
|
|
11256
|
+
{
|
|
11257
|
+
"required": [
|
|
11258
|
+
"path"
|
|
11259
|
+
],
|
|
11260
|
+
"not": {
|
|
11261
|
+
"required": [
|
|
11262
|
+
"variable"
|
|
11263
|
+
]
|
|
11264
|
+
}
|
|
11265
|
+
},
|
|
11266
|
+
{
|
|
11267
|
+
"required": [
|
|
11268
|
+
"variable"
|
|
11269
|
+
],
|
|
11270
|
+
"not": {
|
|
11271
|
+
"anyOf": [
|
|
11272
|
+
{
|
|
11273
|
+
"required": [
|
|
11274
|
+
"path"
|
|
11275
|
+
]
|
|
11276
|
+
},
|
|
11277
|
+
{
|
|
11278
|
+
"required": [
|
|
11279
|
+
"directory"
|
|
11280
|
+
]
|
|
11281
|
+
}
|
|
11282
|
+
]
|
|
11283
|
+
}
|
|
11284
|
+
}
|
|
11285
|
+
],
|
|
11286
|
+
"properties": {
|
|
11287
|
+
"$schema": {
|
|
11288
|
+
"description": "Optional self-describing schema URI for linters",
|
|
11289
|
+
"type": "string",
|
|
11290
|
+
"format": "uri-reference"
|
|
11291
|
+
},
|
|
11292
|
+
"name": {
|
|
11293
|
+
"type": "string",
|
|
11294
|
+
"title": "Cookie name",
|
|
11295
|
+
"description": "Name of the specific cookie to load.",
|
|
11296
|
+
"pattern": "^[A-Za-z0-9_.-]+$",
|
|
11297
|
+
"transform": [
|
|
11298
|
+
"trim"
|
|
11299
|
+
]
|
|
11300
|
+
},
|
|
11301
|
+
"variable": {
|
|
11302
|
+
"type": "string",
|
|
11303
|
+
"title": "Environment variable name",
|
|
11304
|
+
"description": "Environment variable name containing the cookie as JSON string.",
|
|
11305
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
|
|
11306
|
+
"transform": [
|
|
11307
|
+
"trim"
|
|
11308
|
+
]
|
|
11309
|
+
},
|
|
11310
|
+
"path": {
|
|
11311
|
+
"type": "string",
|
|
11312
|
+
"title": "Cookie file path",
|
|
11313
|
+
"description": "File path to cookie file, relative to directory. Supports Netscape cookie format.",
|
|
11314
|
+
"pattern": "^(?:[A-Za-z0-9_.-]+\\.(?:txt|cookies)|\\$[A-Za-z_][A-Za-z0-9_]*)$",
|
|
11315
|
+
"transform": [
|
|
11316
|
+
"trim"
|
|
11317
|
+
]
|
|
11318
|
+
},
|
|
11319
|
+
"directory": {
|
|
11320
|
+
"type": "string",
|
|
11321
|
+
"title": "Directory path",
|
|
11322
|
+
"description": "Directory containing the cookie file.",
|
|
11323
|
+
"transform": [
|
|
11324
|
+
"trim"
|
|
11325
|
+
]
|
|
11326
|
+
},
|
|
11327
|
+
"domain": {
|
|
11328
|
+
"type": "string",
|
|
11329
|
+
"title": "Cookie domain",
|
|
11330
|
+
"description": "Specific domain to filter the cookie by when loading from multi-cookie file (optional).",
|
|
11331
|
+
"transform": [
|
|
11332
|
+
"trim"
|
|
11333
|
+
]
|
|
11334
|
+
}
|
|
11335
|
+
},
|
|
11336
|
+
"title": "Load cookie (detailed)"
|
|
11337
|
+
}
|
|
11338
|
+
}
|
|
11339
|
+
},
|
|
11340
|
+
"examples": [
|
|
11341
|
+
"session_token",
|
|
11342
|
+
"./test-data/auth-session.txt",
|
|
11343
|
+
{
|
|
11344
|
+
"name": "auth_cookie",
|
|
11345
|
+
"variable": "AUTH_COOKIE"
|
|
11346
|
+
},
|
|
11347
|
+
{
|
|
11348
|
+
"name": "session_token",
|
|
11349
|
+
"path": "session-token.txt",
|
|
11350
|
+
"directory": "./test-data"
|
|
11351
|
+
},
|
|
11352
|
+
{
|
|
11353
|
+
"name": "user_session",
|
|
11354
|
+
"path": "saved-cookies.txt",
|
|
11355
|
+
"domain": "app.example.com"
|
|
11356
|
+
}
|
|
11357
|
+
]
|
|
11358
|
+
}
|
|
11359
|
+
}
|
|
11360
|
+
}
|
|
11361
|
+
]
|
|
11362
|
+
},
|
|
10098
11363
|
{
|
|
10099
11364
|
"allOf": [
|
|
10100
11365
|
{
|
|
@@ -10334,6 +11599,27 @@
|
|
|
10334
11599
|
{
|
|
10335
11600
|
"loadVariables": "variables.env"
|
|
10336
11601
|
},
|
|
11602
|
+
{
|
|
11603
|
+
"saveCookie": "session_token"
|
|
11604
|
+
},
|
|
11605
|
+
{
|
|
11606
|
+
"saveCookie": {
|
|
11607
|
+
"name": "auth_cookie",
|
|
11608
|
+
"path": "auth-session.txt",
|
|
11609
|
+
"directory": "./test-data",
|
|
11610
|
+
"overwrite": true
|
|
11611
|
+
}
|
|
11612
|
+
},
|
|
11613
|
+
{
|
|
11614
|
+
"loadCookie": "session_token"
|
|
11615
|
+
},
|
|
11616
|
+
{
|
|
11617
|
+
"loadCookie": {
|
|
11618
|
+
"name": "auth_cookie",
|
|
11619
|
+
"path": "auth-session.txt",
|
|
11620
|
+
"directory": "./test-data"
|
|
11621
|
+
}
|
|
11622
|
+
},
|
|
10337
11623
|
{
|
|
10338
11624
|
"find": "Find me!"
|
|
10339
11625
|
},
|
|
@@ -10582,10 +11868,12 @@
|
|
|
10582
11868
|
"find",
|
|
10583
11869
|
"goTo",
|
|
10584
11870
|
"httpRequest",
|
|
11871
|
+
"loadCookie",
|
|
10585
11872
|
"loadVariables",
|
|
10586
11873
|
"record",
|
|
10587
11874
|
"runCode",
|
|
10588
11875
|
"runShell",
|
|
11876
|
+
"saveCookie",
|
|
10589
11877
|
"screenshot",
|
|
10590
11878
|
"stopRecord",
|
|
10591
11879
|
"type",
|