@8lines/gauntlet-protocol 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +265 -0
  3. package/dist/environment.d.ts +3 -0
  4. package/dist/environment.d.ts.map +1 -0
  5. package/dist/environment.js +32 -0
  6. package/dist/environment.js.map +1 -0
  7. package/dist/identifiers.d.ts +4 -0
  8. package/dist/identifiers.d.ts.map +1 -0
  9. package/dist/identifiers.js +5 -0
  10. package/dist/identifiers.js.map +1 -0
  11. package/dist/index.d.ts +8 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +8 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/placements.d.ts +5 -0
  16. package/dist/placements.d.ts.map +1 -0
  17. package/dist/placements.js +99 -0
  18. package/dist/placements.js.map +1 -0
  19. package/dist/portable-pattern.d.ts +2 -0
  20. package/dist/portable-pattern.d.ts.map +1 -0
  21. package/dist/portable-pattern.js +450 -0
  22. package/dist/portable-pattern.js.map +1 -0
  23. package/dist/preset-secrets.d.ts +7 -0
  24. package/dist/preset-secrets.d.ts.map +1 -0
  25. package/dist/preset-secrets.js +694 -0
  26. package/dist/preset-secrets.js.map +1 -0
  27. package/dist/revision.d.ts +11 -0
  28. package/dist/revision.d.ts.map +1 -0
  29. package/dist/revision.js +135 -0
  30. package/dist/revision.js.map +1 -0
  31. package/dist/schema-profile.d.ts +5 -0
  32. package/dist/schema-profile.d.ts.map +1 -0
  33. package/dist/schema-profile.js +295 -0
  34. package/dist/schema-profile.js.map +1 -0
  35. package/dist/semantic-validation.d.ts +24 -0
  36. package/dist/semantic-validation.d.ts.map +1 -0
  37. package/dist/semantic-validation.js +321 -0
  38. package/dist/semantic-validation.js.map +1 -0
  39. package/dist/types.d.ts +437 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +2 -0
  42. package/dist/types.js.map +1 -0
  43. package/fixtures/v1/adapter-semantic-vectors.json +3257 -0
  44. package/fixtures/v1/adapter-semantic-vectors.schema.json +519 -0
  45. package/fixtures/v1/create-run-request.valid.json +33 -0
  46. package/fixtures/v1/data-source-page.valid.json +18 -0
  47. package/fixtures/v1/data-source-query.valid.json +12 -0
  48. package/fixtures/v1/data-source-resolve-request.valid.json +10 -0
  49. package/fixtures/v1/data-source-resolve-response.valid.json +17 -0
  50. package/fixtures/v1/health.valid.json +4 -0
  51. package/fixtures/v1/jcs-revision-vectors.json +114 -0
  52. package/fixtures/v1/manifest.invalid-major-version.json +18 -0
  53. package/fixtures/v1/manifest.invalid-unknown-property.json +27 -0
  54. package/fixtures/v1/manifest.minor-forward.valid.json +142 -0
  55. package/fixtures/v1/manifest.valid.json +137 -0
  56. package/fixtures/v1/operation.invalid-remote-ref.json +28 -0
  57. package/fixtures/v1/operation.invalid-schema-profile.json +28 -0
  58. package/fixtures/v1/operation.invalid-unsafe-id.json +28 -0
  59. package/fixtures/v1/operation.valid.json +227 -0
  60. package/fixtures/v1/problem.unsupported-capability.valid.json +7 -0
  61. package/fixtures/v1/problem.valid.json +8 -0
  62. package/fixtures/v1/problem.validation.valid.json +16 -0
  63. package/fixtures/v1/run-event.valid.json +21 -0
  64. package/fixtures/v1/run.cancelled.valid.json +17 -0
  65. package/fixtures/v1/run.failed.valid.json +32 -0
  66. package/fixtures/v1/run.invalid-active-problem.json +16 -0
  67. package/fixtures/v1/run.invalid-cancelled-problem.json +17 -0
  68. package/fixtures/v1/run.invalid-terminal-without-problem.json +12 -0
  69. package/fixtures/v1/run.invalid-timed-out-status.json +18 -0
  70. package/fixtures/v1/run.queued.valid.json +15 -0
  71. package/fixtures/v1/run.succeeded.valid.json +68 -0
  72. package/fixtures/v1/run.timed-out.valid.json +18 -0
  73. package/fixtures/v1/session-launch.valid.json +5 -0
  74. package/fixtures/v1/tc-schema-core-pattern-vectors.json +450 -0
  75. package/fixtures/v1/upload-response.valid.json +11 -0
  76. package/openapi/adapter-v1.yaml +251 -0
  77. package/package.json +41 -0
  78. package/schemas/v1/common.schema.json +558 -0
  79. package/schemas/v1/create-run-request.schema.json +16 -0
  80. package/schemas/v1/data-source-page.schema.json +15 -0
  81. package/schemas/v1/data-source-query.schema.json +14 -0
  82. package/schemas/v1/data-source-resolve-request.schema.json +16 -0
  83. package/schemas/v1/data-source-resolve-response.schema.json +27 -0
  84. package/schemas/v1/health.schema.json +12 -0
  85. package/schemas/v1/manifest.schema.json +147 -0
  86. package/schemas/v1/operation-definition.schema.json +326 -0
  87. package/schemas/v1/problem.schema.json +5 -0
  88. package/schemas/v1/run-event.schema.json +15 -0
  89. package/schemas/v1/run.schema.json +95 -0
  90. package/schemas/v1/session-launch.schema.json +13 -0
  91. package/schemas/v1/upload.schema.json +11 -0
@@ -0,0 +1,114 @@
1
+ {
2
+ "algorithm": "RFC8785+SHA-256",
3
+ "vectors": [
4
+ {
5
+ "name": "root-revision-only",
6
+ "revisionField": "revision",
7
+ "inputJson": "{\"z\":1,\"revision\":\"sha256:ignored\",\"nested\":{\"revision\":\"keep\",\"z\":0},\"a\":2}",
8
+ "expectedCanonicalJson": "{\"a\":2,\"nested\":{\"revision\":\"keep\",\"z\":0},\"z\":1}",
9
+ "expectedRevision": "sha256:7393117a04bd20b6270739bd9346b65dec0d56853425143a95773241b1d799c0"
10
+ },
11
+ {
12
+ "name": "root-manifest-revision-only",
13
+ "revisionField": "manifestRevision",
14
+ "inputJson": "{\"manifestRevision\":\"sha256:ignored\",\"nested\":{\"manifestRevision\":\"keep\"},\"application\":\"demo\"}",
15
+ "expectedCanonicalJson": "{\"application\":\"demo\",\"nested\":{\"manifestRevision\":\"keep\"}}",
16
+ "expectedRevision": "sha256:96e28df1d6f67fef640bfcbf6712ce2a42a463909743f477114f5ca5d24cb8bf"
17
+ },
18
+ {
19
+ "name": "own-proto-member",
20
+ "revisionField": "revision",
21
+ "inputJson": "{\"__proto__\":{\"polluted\":true},\"a\":1}",
22
+ "expectedCanonicalJson": "{\"__proto__\":{\"polluted\":true},\"a\":1}",
23
+ "expectedRevision": "sha256:acb9124c160bde29f1302ed9ea8d241871f4ee6f634b8368cc11c9d09afe837a"
24
+ },
25
+ {
26
+ "name": "utf16-property-order",
27
+ "revisionField": "revision",
28
+ "inputJson": "{\"\\ue000\":\"bmp\",\"\\ud83d\\ude00\":\"emoji\",\"\\ud800\\udc00\":\"supplementary-low-high-order\",\"a\":\"ascii\"}",
29
+ "expectedCanonicalJson": "{\"a\":\"ascii\",\"\ud800\udc00\":\"supplementary-low-high-order\",\"\ud83d\ude00\":\"emoji\",\"\ue000\":\"bmp\"}",
30
+ "expectedRevision": "sha256:da6b93772188739bc0ed79184307d57501c327150ce793a4432043f27ca587ed"
31
+ },
32
+ {
33
+ "name": "supplementary-unicode-data",
34
+ "revisionField": "revision",
35
+ "inputJson": "{\"value\":\"emoji \\ud83d\\ude00 and \\ud800\\udc00\"}",
36
+ "expectedCanonicalJson": "{\"value\":\"emoji \ud83d\ude00 and \ud800\udc00\"}",
37
+ "expectedRevision": "sha256:786a63990d91833b35dec681e9d790da895b0ce5dcef2565fdfae64d9c509c05"
38
+ },
39
+ {
40
+ "name": "negative-zero",
41
+ "revisionField": "revision",
42
+ "inputJson": "{\"value\":-0}",
43
+ "expectedCanonicalJson": "{\"value\":0}",
44
+ "expectedRevision": "sha256:23d7b286bd429460b92a2a1c21b6afc34110446c5034c17363fda363aa0a7c5d"
45
+ },
46
+ {
47
+ "name": "one-e-minus-seven",
48
+ "revisionField": "revision",
49
+ "inputJson": "{\"value\":1e-7}",
50
+ "expectedCanonicalJson": "{\"value\":1e-7}",
51
+ "expectedRevision": "sha256:910750038eb30a40d06da88009b6259aabaf3751b3cb212c616d51abb6b008a4"
52
+ },
53
+ {
54
+ "name": "one-e-minus-six",
55
+ "revisionField": "revision",
56
+ "inputJson": "{\"value\":1e-6}",
57
+ "expectedCanonicalJson": "{\"value\":0.000001}",
58
+ "expectedRevision": "sha256:bc1c982dd4e677d72ff5821cc67554e045e838a31ddc55fa0fdb1a32d5a1dce9"
59
+ },
60
+ {
61
+ "name": "one-e-plus-twenty-one",
62
+ "revisionField": "revision",
63
+ "inputJson": "{\"value\":1e21}",
64
+ "expectedCanonicalJson": "{\"value\":1e+21}",
65
+ "expectedRevision": "sha256:776bf0d292f3767fdfca3fdc9683d0ba51886b8e6e79cd228a41bafcfa9a1a6f"
66
+ },
67
+ {
68
+ "name": "one-e-minus-twenty-seven",
69
+ "revisionField": "revision",
70
+ "inputJson": "{\"value\":1e-27}",
71
+ "expectedCanonicalJson": "{\"value\":1e-27}",
72
+ "expectedRevision": "sha256:bd5a5754ed9010c20c8b758a59fe5ea219a626d973ce4ff6da9df70b946c5496"
73
+ },
74
+ {
75
+ "name": "smallest-subnormal",
76
+ "revisionField": "revision",
77
+ "inputJson": "{\"value\":5e-324}",
78
+ "expectedCanonicalJson": "{\"value\":5e-324}",
79
+ "expectedRevision": "sha256:8f275eb622ce665f3cf21739b40600308dcea7c36627451f1c210a4152343c85"
80
+ },
81
+ {
82
+ "name": "one-e-minus-320",
83
+ "revisionField": "revision",
84
+ "inputJson": "{\"value\":1e-320}",
85
+ "expectedCanonicalJson": "{\"value\":1e-320}",
86
+ "expectedRevision": "sha256:ad82b8f0ea9ea42e0ec023ef0d60266dbfd3bbfcdb6d1a7ea414adbef93694ab"
87
+ },
88
+ {
89
+ "name": "smallest-normal-binary64",
90
+ "revisionField": "revision",
91
+ "inputJson": "{\"value\":2.2250738585072014e-308}",
92
+ "expectedCanonicalJson": "{\"value\":2.2250738585072014e-308}",
93
+ "expectedRevision": "sha256:d4f55b1dc9e7cc034151fe75693c281a4cf27370127416c58c194ac0659e1110"
94
+ },
95
+ {
96
+ "name": "non-exponential-unsafe-integer",
97
+ "revisionField": "revision",
98
+ "inputJson": "{\"value\":9007199254740992}",
99
+ "expectedError": "unsafe-integer"
100
+ },
101
+ {
102
+ "name": "lone-surrogate-property-name",
103
+ "revisionField": "revision",
104
+ "inputJson": "{\"\\ud800\":\"value\"}",
105
+ "expectedError": "lone-surrogate"
106
+ },
107
+ {
108
+ "name": "lone-surrogate-string-value",
109
+ "revisionField": "revision",
110
+ "inputJson": "{\"value\":\"\\udc00\"}",
111
+ "expectedError": "lone-surrogate"
112
+ }
113
+ ]
114
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "protocolVersion": "2.0",
3
+ "manifestRevision": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
4
+ "schemaDialect": "https://json-schema.org/draft/2020-12/schema",
5
+ "profiles": ["tc-schema-core@1"],
6
+ "capabilities": [],
7
+ "application": {
8
+ "id": "acme-portal",
9
+ "label": "Acme Portal",
10
+ "environment": {
11
+ "name": "development",
12
+ "kind": "development"
13
+ }
14
+ },
15
+ "features": [],
16
+ "operations": [],
17
+ "dataSources": []
18
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "protocolVersion": "1.0",
3
+ "manifestRevision": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
4
+ "schemaDialect": "https://json-schema.org/draft/2020-12/schema",
5
+ "profiles": ["tc-schema-core@1"],
6
+ "capabilities": [],
7
+ "application": {
8
+ "id": "acme-portal",
9
+ "label": "Acme Portal",
10
+ "environment": {
11
+ "name": "development",
12
+ "kind": "development"
13
+ }
14
+ },
15
+ "features": [{ "id": "fixture", "label": "Fixture" }],
16
+ "operations": [
17
+ {
18
+ "id": "fixture-operation",
19
+ "revision": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
20
+ "label": "Fixture operation",
21
+ "featureId": "fixture",
22
+ "availability": { "state": "available" },
23
+ "definitionUrl": "https://evil.invalid/definition"
24
+ }
25
+ ],
26
+ "dataSources": []
27
+ }
@@ -0,0 +1,142 @@
1
+ {
2
+ "protocolVersion": "1.1",
3
+ "manifestRevision": "sha256:33f8e78bd95af05e886a747771876584eb3fe1080377e7fe4397524d628f25b6",
4
+ "schemaDialect": "https://json-schema.org/draft/2020-12/schema",
5
+ "profiles": [
6
+ "tc-schema-core@1",
7
+ "tc-rich-forms@1",
8
+ "tc-rich-results@1"
9
+ ],
10
+ "capabilities": [
11
+ "tc-uploads@1",
12
+ "tc-session-launch@1"
13
+ ],
14
+ "application": {
15
+ "id": "acme-portal",
16
+ "label": "Acme Portal",
17
+ "environment": {
18
+ "name": "development",
19
+ "kind": "development"
20
+ }
21
+ },
22
+ "features": [
23
+ {
24
+ "id": "security",
25
+ "label": "Security",
26
+ "order": 10
27
+ }
28
+ ],
29
+ "operations": [
30
+ {
31
+ "id": "application-access-review",
32
+ "revision": "sha256:2e301a636fb48d2bec64fc7e91b62d8a45e47af3a28f665b6b809f6a4b19d9e8",
33
+ "label": "Review application access",
34
+ "featureId": "security",
35
+ "availability": {
36
+ "state": "available"
37
+ },
38
+ "requirements": {
39
+ "profiles": [
40
+ "tc-schema-core@1",
41
+ "tc-rich-forms@1",
42
+ "tc-rich-results@1"
43
+ ],
44
+ "capabilities": [
45
+ "tc-uploads@1",
46
+ "tc-session-launch@1"
47
+ ]
48
+ }
49
+ }
50
+ ],
51
+ "dataSources": [
52
+ {
53
+ "id": "application-catalog",
54
+ "label": "Application catalog",
55
+ "description": "Searchable applications available to the current target.",
56
+ "capabilities": {
57
+ "search": true,
58
+ "pagination": "cursor",
59
+ "resolve": true,
60
+ "defaultLimit": 20,
61
+ "maxLimit": 100
62
+ },
63
+ "dependencySchema": {
64
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
65
+ "type": "object",
66
+ "required": [
67
+ "/options/includeInactive"
68
+ ],
69
+ "properties": {
70
+ "/options/includeInactive": {
71
+ "type": "boolean"
72
+ }
73
+ },
74
+ "additionalProperties": false
75
+ },
76
+ "contextSchema": {
77
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
78
+ "type": "object",
79
+ "required": [
80
+ "requestId",
81
+ "target"
82
+ ],
83
+ "properties": {
84
+ "requestId": {
85
+ "type": "string",
86
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
87
+ },
88
+ "locale": {
89
+ "type": "string"
90
+ },
91
+ "timeZone": {
92
+ "type": "string"
93
+ },
94
+ "actor": {
95
+ "type": "object",
96
+ "required": [
97
+ "id"
98
+ ],
99
+ "properties": {
100
+ "id": {
101
+ "type": "string",
102
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
103
+ },
104
+ "displayName": {
105
+ "type": "string"
106
+ }
107
+ },
108
+ "additionalProperties": false
109
+ },
110
+ "target": {
111
+ "type": "object",
112
+ "required": [
113
+ "id"
114
+ ],
115
+ "properties": {
116
+ "id": {
117
+ "type": "string",
118
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
119
+ },
120
+ "environment": {
121
+ "type": "string"
122
+ }
123
+ },
124
+ "additionalProperties": false
125
+ },
126
+ "extensions": {
127
+ "type": "object",
128
+ "propertyNames": {
129
+ "pattern": "^urn:[A-Za-z0-9][A-Za-z0-9:._/-]*$"
130
+ }
131
+ }
132
+ },
133
+ "additionalProperties": false
134
+ }
135
+ }
136
+ ],
137
+ "extensions": {
138
+ "urn:fixture:optional": {
139
+ "future": true
140
+ }
141
+ }
142
+ }
@@ -0,0 +1,137 @@
1
+ {
2
+ "protocolVersion": "1.0",
3
+ "manifestRevision": "sha256:bd7df155fca5ce7504431416bdd0c7562255fcc238af5aade4eb0d557cf2a9cd",
4
+ "schemaDialect": "https://json-schema.org/draft/2020-12/schema",
5
+ "profiles": [
6
+ "tc-schema-core@1",
7
+ "tc-rich-forms@1",
8
+ "tc-rich-results@1"
9
+ ],
10
+ "capabilities": [
11
+ "tc-uploads@1",
12
+ "tc-session-launch@1"
13
+ ],
14
+ "application": {
15
+ "id": "acme-portal",
16
+ "label": "Acme Portal",
17
+ "environment": {
18
+ "name": "development",
19
+ "kind": "development"
20
+ }
21
+ },
22
+ "features": [
23
+ {
24
+ "id": "security",
25
+ "label": "Security",
26
+ "order": 10
27
+ }
28
+ ],
29
+ "operations": [
30
+ {
31
+ "id": "application-access-review",
32
+ "revision": "sha256:2e301a636fb48d2bec64fc7e91b62d8a45e47af3a28f665b6b809f6a4b19d9e8",
33
+ "label": "Review application access",
34
+ "featureId": "security",
35
+ "availability": {
36
+ "state": "available"
37
+ },
38
+ "requirements": {
39
+ "profiles": [
40
+ "tc-schema-core@1",
41
+ "tc-rich-forms@1",
42
+ "tc-rich-results@1"
43
+ ],
44
+ "capabilities": [
45
+ "tc-uploads@1",
46
+ "tc-session-launch@1"
47
+ ]
48
+ }
49
+ }
50
+ ],
51
+ "dataSources": [
52
+ {
53
+ "id": "application-catalog",
54
+ "label": "Application catalog",
55
+ "description": "Searchable applications available to the current target.",
56
+ "capabilities": {
57
+ "search": true,
58
+ "pagination": "cursor",
59
+ "resolve": true,
60
+ "defaultLimit": 20,
61
+ "maxLimit": 100
62
+ },
63
+ "dependencySchema": {
64
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
65
+ "type": "object",
66
+ "required": [
67
+ "/options/includeInactive"
68
+ ],
69
+ "properties": {
70
+ "/options/includeInactive": {
71
+ "type": "boolean"
72
+ }
73
+ },
74
+ "additionalProperties": false
75
+ },
76
+ "contextSchema": {
77
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
78
+ "type": "object",
79
+ "required": [
80
+ "requestId",
81
+ "target"
82
+ ],
83
+ "properties": {
84
+ "requestId": {
85
+ "type": "string",
86
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
87
+ },
88
+ "locale": {
89
+ "type": "string"
90
+ },
91
+ "timeZone": {
92
+ "type": "string"
93
+ },
94
+ "actor": {
95
+ "type": "object",
96
+ "required": [
97
+ "id"
98
+ ],
99
+ "properties": {
100
+ "id": {
101
+ "type": "string",
102
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
103
+ },
104
+ "displayName": {
105
+ "type": "string"
106
+ }
107
+ },
108
+ "additionalProperties": false
109
+ },
110
+ "target": {
111
+ "type": "object",
112
+ "required": [
113
+ "id"
114
+ ],
115
+ "properties": {
116
+ "id": {
117
+ "type": "string",
118
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
119
+ },
120
+ "environment": {
121
+ "type": "string"
122
+ }
123
+ },
124
+ "additionalProperties": false
125
+ },
126
+ "extensions": {
127
+ "type": "object",
128
+ "propertyNames": {
129
+ "pattern": "^urn:[A-Za-z0-9][A-Za-z0-9:._/-]*$"
130
+ }
131
+ }
132
+ },
133
+ "additionalProperties": false
134
+ }
135
+ }
136
+ ]
137
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "id": "remote-ref-operation",
3
+ "revision": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
4
+ "label": "Remote ref operation",
5
+ "featureId": "security",
6
+ "order": 20,
7
+ "tags": [],
8
+ "inputSchema": {
9
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
10
+ "type": "object",
11
+ "$ref": "https://evil.invalid/schema"
12
+ },
13
+ "dataSources": [],
14
+ "presets": [],
15
+ "execution": {
16
+ "impact": "read",
17
+ "confirmationRequired": false,
18
+ "dryRunSupported": false,
19
+ "idempotency": "none",
20
+ "cancellationSupported": false
21
+ },
22
+ "output": {
23
+ "schema": {
24
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
25
+ "type": "null"
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "id": "unsupported-schema-operation",
3
+ "revision": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
4
+ "label": "Unsupported schema operation",
5
+ "featureId": "security",
6
+ "order": 30,
7
+ "tags": [],
8
+ "inputSchema": {
9
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
10
+ "type": "object",
11
+ "transform": ["trim"]
12
+ },
13
+ "dataSources": [],
14
+ "presets": [],
15
+ "execution": {
16
+ "impact": "read",
17
+ "confirmationRequired": false,
18
+ "dryRunSupported": false,
19
+ "idempotency": "none",
20
+ "cancellationSupported": false
21
+ },
22
+ "output": {
23
+ "schema": {
24
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
25
+ "type": "null"
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "id": "unsafe/id",
3
+ "revision": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
4
+ "label": "Unsafe ID operation",
5
+ "featureId": "security",
6
+ "order": 40,
7
+ "tags": [],
8
+ "inputSchema": {
9
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
10
+ "type": "object",
11
+ "additionalProperties": false
12
+ },
13
+ "dataSources": [],
14
+ "presets": [],
15
+ "execution": {
16
+ "impact": "read",
17
+ "confirmationRequired": false,
18
+ "dryRunSupported": false,
19
+ "idempotency": "none",
20
+ "cancellationSupported": false
21
+ },
22
+ "output": {
23
+ "schema": {
24
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
25
+ "type": "null"
26
+ }
27
+ }
28
+ }