@greatwait/contracts 0.1.0-alpha.5 → 0.1.0-alpha.7

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 (135) hide show
  1. package/README.md +1 -1
  2. package/dist/attempt-diagnostics.d.ts +8 -0
  3. package/dist/attempt-diagnostics.js +68 -0
  4. package/dist/authority.d.ts +4 -1
  5. package/dist/authority.js +1 -0
  6. package/dist/billing.d.ts +11 -10
  7. package/dist/billing.js +7 -4
  8. package/dist/data-export.d.ts +2 -0
  9. package/dist/delivery.d.ts +43 -40
  10. package/dist/delivery.js +14 -37
  11. package/dist/effective-limits.d.ts +4 -4
  12. package/dist/endpoints.d.ts +173 -5
  13. package/dist/endpoints.js +72 -1
  14. package/dist/first-value-journey.js +4 -4
  15. package/dist/http-request.d.ts +193 -0
  16. package/dist/http-request.js +305 -0
  17. package/dist/identity.d.ts +7 -7
  18. package/dist/index.d.ts +6 -3
  19. package/dist/index.js +5 -2
  20. package/dist/mcp.d.ts +2 -1
  21. package/dist/members.d.ts +141 -0
  22. package/dist/members.js +223 -0
  23. package/dist/oauth.d.ts +7 -0
  24. package/dist/operation-definitions.d.ts +20 -4
  25. package/dist/operation-definitions.js +9 -1
  26. package/dist/operations.d.ts +999 -135
  27. package/dist/operations.js +83 -10
  28. package/dist/organization-lifecycle.d.ts +10 -0
  29. package/dist/policy.js +5 -2
  30. package/dist/scheduling-records.d.ts +332 -8
  31. package/dist/scheduling-records.js +5 -0
  32. package/dist/scheduling.d.ts +485 -18
  33. package/dist/scheduling.js +77 -5
  34. package/dist/secrets.d.ts +7 -0
  35. package/dist/signatures.d.ts +1 -1
  36. package/dist/tenancy.d.ts +1 -1
  37. package/dist/tenancy.js +1 -1
  38. package/dist/test-sink.d.ts +27 -41
  39. package/dist/test-sink.js +12 -31
  40. package/dist/zod-values.d.ts +2 -2
  41. package/dist/zod-values.js +1 -1
  42. package/generated/v1/callback-receiver.json +4 -4
  43. package/generated/v1/examples/endpoints.ensure.request.json +3 -0
  44. package/generated/v1/examples/endpoints.ensure.response.json +20 -0
  45. package/generated/v1/examples/invitations.create.request.json +5 -0
  46. package/generated/v1/examples/invitations.create.response.json +7 -0
  47. package/generated/v1/examples/invitations.list.response.json +11 -0
  48. package/generated/v1/examples/invitations.resend.request.json +1 -0
  49. package/generated/v1/examples/invitations.resend.response.json +4 -0
  50. package/generated/v1/examples/invitations.revoke.request.json +3 -0
  51. package/generated/v1/examples/invitations.revoke.response.json +4 -0
  52. package/generated/v1/examples/members.list.response.json +13 -0
  53. package/generated/v1/examples/members.remove.request.json +3 -0
  54. package/generated/v1/examples/members.remove.response.json +4 -0
  55. package/generated/v1/examples/members.role.request.json +3 -0
  56. package/generated/v1/examples/members.role.response.json +4 -0
  57. package/generated/v1/examples/projectmembers.add.request.json +1 -0
  58. package/generated/v1/examples/projectmembers.add.response.json +4 -0
  59. package/generated/v1/examples/projectmembers.remove.request.json +3 -0
  60. package/generated/v1/examples/projectmembers.remove.response.json +4 -0
  61. package/generated/v1/first-value-journey.json +4 -4
  62. package/generated/v1/manifest.json +284 -0
  63. package/generated/v1/openapi.json +9387 -1021
  64. package/generated/v1/policy-matrix.json +72 -0
  65. package/generated/v1/schemas/attempts.list.response.json +105 -0
  66. package/generated/v1/schemas/attempts.read.response.json +105 -0
  67. package/generated/v1/schemas/billing.notices.response.json +16 -6
  68. package/generated/v1/schemas/context.read.response.json +1 -0
  69. package/generated/v1/schemas/credentials.connection.response.json +1 -0
  70. package/generated/v1/schemas/credentials.create.request.json +1 -0
  71. package/generated/v1/schemas/credentials.create.response.json +1 -0
  72. package/generated/v1/schemas/credentials.list.response.json +1 -0
  73. package/generated/v1/schemas/credentials.revoke.response.json +1 -0
  74. package/generated/v1/schemas/credentials.rotate.response.json +2 -0
  75. package/generated/v1/schemas/endpoints.acknowledgeSigningKeyRotation.response.json +59 -0
  76. package/generated/v1/schemas/endpoints.create.request.json +74 -0
  77. package/generated/v1/schemas/endpoints.create.response.json +59 -0
  78. package/generated/v1/schemas/endpoints.disable.response.json +59 -0
  79. package/generated/v1/schemas/endpoints.enable.response.json +59 -0
  80. package/generated/v1/schemas/endpoints.ensure.request.json +91 -0
  81. package/generated/v1/schemas/endpoints.ensure.response.json +169 -0
  82. package/generated/v1/schemas/endpoints.list.response.json +59 -0
  83. package/generated/v1/schemas/endpoints.read.response.json +59 -0
  84. package/generated/v1/schemas/endpoints.rotateSigningKey.response.json +59 -0
  85. package/generated/v1/schemas/endpoints.update.request.json +74 -0
  86. package/generated/v1/schemas/endpoints.update.response.json +59 -0
  87. package/generated/v1/schemas/grants.list.response.json +1 -0
  88. package/generated/v1/schemas/grants.revoke.response.json +1 -0
  89. package/generated/v1/schemas/invitations.create.request-headers.json +13 -0
  90. package/generated/v1/schemas/invitations.create.request.json +24 -0
  91. package/generated/v1/schemas/invitations.create.response.json +31 -0
  92. package/generated/v1/schemas/invitations.list.response.json +40 -0
  93. package/generated/v1/schemas/invitations.resend.request-headers.json +13 -0
  94. package/generated/v1/schemas/invitations.resend.request.json +6 -0
  95. package/generated/v1/schemas/invitations.resend.response.json +27 -0
  96. package/generated/v1/schemas/invitations.revoke.request-headers.json +13 -0
  97. package/generated/v1/schemas/invitations.revoke.request.json +12 -0
  98. package/generated/v1/schemas/invitations.revoke.response.json +27 -0
  99. package/generated/v1/schemas/members.list.response.json +53 -0
  100. package/generated/v1/schemas/members.remove.request-headers.json +13 -0
  101. package/generated/v1/schemas/members.remove.request.json +12 -0
  102. package/generated/v1/schemas/members.remove.response.json +27 -0
  103. package/generated/v1/schemas/members.role.request-headers.json +13 -0
  104. package/generated/v1/schemas/members.role.request.json +12 -0
  105. package/generated/v1/schemas/members.role.response.json +27 -0
  106. package/generated/v1/schemas/occurrences.redeliver.response.json +105 -0
  107. package/generated/v1/schemas/projectmembers.add.request-headers.json +13 -0
  108. package/generated/v1/schemas/projectmembers.add.request.json +6 -0
  109. package/generated/v1/schemas/projectmembers.add.response.json +27 -0
  110. package/generated/v1/schemas/projectmembers.remove.request-headers.json +13 -0
  111. package/generated/v1/schemas/projectmembers.remove.request.json +12 -0
  112. package/generated/v1/schemas/projectmembers.remove.response.json +27 -0
  113. package/generated/v1/schemas/schedules.archive.response.json +188 -1
  114. package/generated/v1/schemas/schedules.cancel.response.json +188 -1
  115. package/generated/v1/schemas/schedules.create.request.json +164 -1
  116. package/generated/v1/schemas/schedules.create.response.json +206 -1
  117. package/generated/v1/schemas/schedules.list.response.json +188 -1
  118. package/generated/v1/schemas/schedules.pause.response.json +188 -1
  119. package/generated/v1/schemas/schedules.read.response.json +188 -1
  120. package/generated/v1/schemas/schedules.replace.request.json +164 -1
  121. package/generated/v1/schemas/schedules.replace.response.json +206 -1
  122. package/generated/v1/schemas/schedules.resume.response.json +188 -1
  123. package/generated/v1/snippets/endpoints.create.json +1 -1
  124. package/generated/v1/snippets/endpoints.ensure.json +6 -0
  125. package/generated/v1/snippets/invitations.create.json +6 -0
  126. package/generated/v1/snippets/invitations.list.json +6 -0
  127. package/generated/v1/snippets/invitations.resend.json +6 -0
  128. package/generated/v1/snippets/invitations.revoke.json +6 -0
  129. package/generated/v1/snippets/journey/create-destination.json +1 -1
  130. package/generated/v1/snippets/members.list.json +6 -0
  131. package/generated/v1/snippets/members.remove.json +6 -0
  132. package/generated/v1/snippets/members.role.json +6 -0
  133. package/generated/v1/snippets/projectmembers.add.json +6 -0
  134. package/generated/v1/snippets/projectmembers.remove.json +6 -0
  135. package/package.json +1 -1
@@ -2,6 +2,65 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "type": "object",
4
4
  "properties": {
5
+ "headers": {
6
+ "type": "array",
7
+ "items": {
8
+ "anyOf": [
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "name": {
13
+ "type": "string",
14
+ "minLength": 1
15
+ },
16
+ "secret": {
17
+ "type": "boolean",
18
+ "const": false
19
+ },
20
+ "value": {
21
+ "type": "string"
22
+ }
23
+ },
24
+ "required": ["name", "secret", "value"]
25
+ },
26
+ {
27
+ "type": "object",
28
+ "properties": {
29
+ "name": {
30
+ "type": "string",
31
+ "minLength": 1
32
+ },
33
+ "secret": {
34
+ "type": "boolean",
35
+ "const": true
36
+ },
37
+ "configured": {
38
+ "type": "boolean",
39
+ "const": true
40
+ },
41
+ "value": {
42
+ "not": {}
43
+ }
44
+ },
45
+ "required": ["name", "secret", "configured"]
46
+ },
47
+ {
48
+ "type": "object",
49
+ "properties": {
50
+ "name": {
51
+ "type": "string",
52
+ "minLength": 1
53
+ },
54
+ "suppressed": {
55
+ "type": "boolean",
56
+ "const": true
57
+ }
58
+ },
59
+ "required": ["name", "suppressed"]
60
+ }
61
+ ]
62
+ }
63
+ },
5
64
  "createdAt": {
6
65
  "type": "string",
7
66
  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
@@ -2,6 +2,65 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "type": "object",
4
4
  "properties": {
5
+ "headers": {
6
+ "type": "array",
7
+ "items": {
8
+ "anyOf": [
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "name": {
13
+ "type": "string",
14
+ "minLength": 1
15
+ },
16
+ "secret": {
17
+ "type": "boolean",
18
+ "const": false
19
+ },
20
+ "value": {
21
+ "type": "string"
22
+ }
23
+ },
24
+ "required": ["name", "secret", "value"]
25
+ },
26
+ {
27
+ "type": "object",
28
+ "properties": {
29
+ "name": {
30
+ "type": "string",
31
+ "minLength": 1
32
+ },
33
+ "secret": {
34
+ "type": "boolean",
35
+ "const": true
36
+ },
37
+ "configured": {
38
+ "type": "boolean",
39
+ "const": true
40
+ },
41
+ "value": {
42
+ "not": {}
43
+ }
44
+ },
45
+ "required": ["name", "secret", "configured"]
46
+ },
47
+ {
48
+ "type": "object",
49
+ "properties": {
50
+ "name": {
51
+ "type": "string",
52
+ "minLength": 1
53
+ },
54
+ "suppressed": {
55
+ "type": "boolean",
56
+ "const": true
57
+ }
58
+ },
59
+ "required": ["name", "suppressed"]
60
+ }
61
+ ]
62
+ }
63
+ },
5
64
  "createdAt": {
6
65
  "type": "string",
7
66
  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
@@ -0,0 +1,91 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "headers": {
6
+ "maxItems": 64,
7
+ "type": "array",
8
+ "items": {
9
+ "oneOf": [
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "action": {
14
+ "type": "string",
15
+ "const": "set"
16
+ },
17
+ "name": {
18
+ "type": "string",
19
+ "minLength": 1
20
+ },
21
+ "value": {
22
+ "type": "string"
23
+ },
24
+ "secret": {
25
+ "type": "boolean"
26
+ }
27
+ },
28
+ "required": ["action", "name", "value"],
29
+ "additionalProperties": false
30
+ },
31
+ {
32
+ "type": "object",
33
+ "properties": {
34
+ "action": {
35
+ "type": "string",
36
+ "const": "keep"
37
+ },
38
+ "name": {
39
+ "type": "string",
40
+ "minLength": 1
41
+ }
42
+ },
43
+ "required": ["action", "name"],
44
+ "additionalProperties": false
45
+ },
46
+ {
47
+ "type": "object",
48
+ "properties": {
49
+ "action": {
50
+ "type": "string",
51
+ "const": "remove"
52
+ },
53
+ "name": {
54
+ "type": "string",
55
+ "minLength": 1
56
+ }
57
+ },
58
+ "required": ["action", "name"],
59
+ "additionalProperties": false
60
+ },
61
+ {
62
+ "type": "object",
63
+ "properties": {
64
+ "action": {
65
+ "type": "string",
66
+ "const": "suppress"
67
+ },
68
+ "name": {
69
+ "type": "string",
70
+ "minLength": 1
71
+ }
72
+ },
73
+ "required": ["action", "name"],
74
+ "additionalProperties": false
75
+ }
76
+ ]
77
+ }
78
+ },
79
+ "name": {
80
+ "type": "string",
81
+ "minLength": 1,
82
+ "maxLength": 2048
83
+ },
84
+ "url": {
85
+ "type": "string",
86
+ "maxLength": 2048,
87
+ "format": "uri"
88
+ }
89
+ },
90
+ "required": ["url"]
91
+ }
@@ -0,0 +1,169 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "headers": {
6
+ "type": "array",
7
+ "items": {
8
+ "anyOf": [
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "name": {
13
+ "type": "string",
14
+ "minLength": 1
15
+ },
16
+ "secret": {
17
+ "type": "boolean",
18
+ "const": false
19
+ },
20
+ "value": {
21
+ "type": "string"
22
+ }
23
+ },
24
+ "required": ["name", "secret", "value"]
25
+ },
26
+ {
27
+ "type": "object",
28
+ "properties": {
29
+ "name": {
30
+ "type": "string",
31
+ "minLength": 1
32
+ },
33
+ "secret": {
34
+ "type": "boolean",
35
+ "const": true
36
+ },
37
+ "configured": {
38
+ "type": "boolean",
39
+ "const": true
40
+ },
41
+ "value": {
42
+ "not": {}
43
+ }
44
+ },
45
+ "required": ["name", "secret", "configured"]
46
+ },
47
+ {
48
+ "type": "object",
49
+ "properties": {
50
+ "name": {
51
+ "type": "string",
52
+ "minLength": 1
53
+ },
54
+ "suppressed": {
55
+ "type": "boolean",
56
+ "const": true
57
+ }
58
+ },
59
+ "required": ["name", "suppressed"]
60
+ }
61
+ ]
62
+ }
63
+ },
64
+ "createdAt": {
65
+ "type": "string",
66
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
67
+ },
68
+ "disabledAt": {
69
+ "type": "string",
70
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
71
+ },
72
+ "environmentKind": {
73
+ "type": "string",
74
+ "enum": ["test", "live"]
75
+ },
76
+ "id": {
77
+ "type": "string",
78
+ "pattern": "^ep_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
79
+ },
80
+ "name": {
81
+ "type": "string",
82
+ "minLength": 1,
83
+ "maxLength": 2048
84
+ },
85
+ "project": {
86
+ "type": "string",
87
+ "pattern": "^proj_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
88
+ },
89
+ "signingKeys": {
90
+ "type": "object",
91
+ "properties": {
92
+ "current": {
93
+ "type": "string",
94
+ "pattern": "^csk_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
95
+ },
96
+ "next": {
97
+ "type": "object",
98
+ "properties": {
99
+ "acknowledgedAt": {
100
+ "type": "string",
101
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
102
+ },
103
+ "id": {
104
+ "type": "string",
105
+ "pattern": "^csk_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
106
+ },
107
+ "overlapEndsAt": {
108
+ "type": "string",
109
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
110
+ }
111
+ },
112
+ "required": ["id", "overlapEndsAt"]
113
+ }
114
+ },
115
+ "required": ["current"]
116
+ },
117
+ "status": {
118
+ "type": "string",
119
+ "enum": ["active", "disabled"]
120
+ },
121
+ "updatedAt": {
122
+ "type": "string",
123
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
124
+ },
125
+ "url": {
126
+ "type": "string",
127
+ "format": "uri"
128
+ },
129
+ "version": {
130
+ "type": "integer",
131
+ "exclusiveMinimum": 0,
132
+ "maximum": 9007199254740991
133
+ },
134
+ "created": {
135
+ "type": "boolean"
136
+ },
137
+ "signingSecret": {
138
+ "type": "object",
139
+ "properties": {
140
+ "guidance": {
141
+ "type": "string",
142
+ "minLength": 1
143
+ },
144
+ "returned": {
145
+ "type": "boolean",
146
+ "const": false
147
+ },
148
+ "revealUrl": {
149
+ "type": "string",
150
+ "format": "uri"
151
+ }
152
+ },
153
+ "required": ["guidance", "returned"]
154
+ }
155
+ },
156
+ "required": [
157
+ "createdAt",
158
+ "environmentKind",
159
+ "id",
160
+ "project",
161
+ "signingKeys",
162
+ "status",
163
+ "updatedAt",
164
+ "url",
165
+ "version",
166
+ "created",
167
+ "signingSecret"
168
+ ]
169
+ }
@@ -7,6 +7,65 @@
7
7
  "items": {
8
8
  "type": "object",
9
9
  "properties": {
10
+ "headers": {
11
+ "type": "array",
12
+ "items": {
13
+ "anyOf": [
14
+ {
15
+ "type": "object",
16
+ "properties": {
17
+ "name": {
18
+ "type": "string",
19
+ "minLength": 1
20
+ },
21
+ "secret": {
22
+ "type": "boolean",
23
+ "const": false
24
+ },
25
+ "value": {
26
+ "type": "string"
27
+ }
28
+ },
29
+ "required": ["name", "secret", "value"]
30
+ },
31
+ {
32
+ "type": "object",
33
+ "properties": {
34
+ "name": {
35
+ "type": "string",
36
+ "minLength": 1
37
+ },
38
+ "secret": {
39
+ "type": "boolean",
40
+ "const": true
41
+ },
42
+ "configured": {
43
+ "type": "boolean",
44
+ "const": true
45
+ },
46
+ "value": {
47
+ "not": {}
48
+ }
49
+ },
50
+ "required": ["name", "secret", "configured"]
51
+ },
52
+ {
53
+ "type": "object",
54
+ "properties": {
55
+ "name": {
56
+ "type": "string",
57
+ "minLength": 1
58
+ },
59
+ "suppressed": {
60
+ "type": "boolean",
61
+ "const": true
62
+ }
63
+ },
64
+ "required": ["name", "suppressed"]
65
+ }
66
+ ]
67
+ }
68
+ },
10
69
  "createdAt": {
11
70
  "type": "string",
12
71
  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
@@ -2,6 +2,65 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "type": "object",
4
4
  "properties": {
5
+ "headers": {
6
+ "type": "array",
7
+ "items": {
8
+ "anyOf": [
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "name": {
13
+ "type": "string",
14
+ "minLength": 1
15
+ },
16
+ "secret": {
17
+ "type": "boolean",
18
+ "const": false
19
+ },
20
+ "value": {
21
+ "type": "string"
22
+ }
23
+ },
24
+ "required": ["name", "secret", "value"]
25
+ },
26
+ {
27
+ "type": "object",
28
+ "properties": {
29
+ "name": {
30
+ "type": "string",
31
+ "minLength": 1
32
+ },
33
+ "secret": {
34
+ "type": "boolean",
35
+ "const": true
36
+ },
37
+ "configured": {
38
+ "type": "boolean",
39
+ "const": true
40
+ },
41
+ "value": {
42
+ "not": {}
43
+ }
44
+ },
45
+ "required": ["name", "secret", "configured"]
46
+ },
47
+ {
48
+ "type": "object",
49
+ "properties": {
50
+ "name": {
51
+ "type": "string",
52
+ "minLength": 1
53
+ },
54
+ "suppressed": {
55
+ "type": "boolean",
56
+ "const": true
57
+ }
58
+ },
59
+ "required": ["name", "suppressed"]
60
+ }
61
+ ]
62
+ }
63
+ },
5
64
  "createdAt": {
6
65
  "type": "string",
7
66
  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
@@ -5,6 +5,65 @@
5
5
  "endpoint": {
6
6
  "type": "object",
7
7
  "properties": {
8
+ "headers": {
9
+ "type": "array",
10
+ "items": {
11
+ "anyOf": [
12
+ {
13
+ "type": "object",
14
+ "properties": {
15
+ "name": {
16
+ "type": "string",
17
+ "minLength": 1
18
+ },
19
+ "secret": {
20
+ "type": "boolean",
21
+ "const": false
22
+ },
23
+ "value": {
24
+ "type": "string"
25
+ }
26
+ },
27
+ "required": ["name", "secret", "value"]
28
+ },
29
+ {
30
+ "type": "object",
31
+ "properties": {
32
+ "name": {
33
+ "type": "string",
34
+ "minLength": 1
35
+ },
36
+ "secret": {
37
+ "type": "boolean",
38
+ "const": true
39
+ },
40
+ "configured": {
41
+ "type": "boolean",
42
+ "const": true
43
+ },
44
+ "value": {
45
+ "not": {}
46
+ }
47
+ },
48
+ "required": ["name", "secret", "configured"]
49
+ },
50
+ {
51
+ "type": "object",
52
+ "properties": {
53
+ "name": {
54
+ "type": "string",
55
+ "minLength": 1
56
+ },
57
+ "suppressed": {
58
+ "type": "boolean",
59
+ "const": true
60
+ }
61
+ },
62
+ "required": ["name", "suppressed"]
63
+ }
64
+ ]
65
+ }
66
+ },
8
67
  "createdAt": {
9
68
  "type": "string",
10
69
  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
@@ -2,6 +2,80 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "type": "object",
4
4
  "properties": {
5
+ "headers": {
6
+ "maxItems": 64,
7
+ "type": "array",
8
+ "items": {
9
+ "oneOf": [
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "action": {
14
+ "type": "string",
15
+ "const": "set"
16
+ },
17
+ "name": {
18
+ "type": "string",
19
+ "minLength": 1
20
+ },
21
+ "value": {
22
+ "type": "string"
23
+ },
24
+ "secret": {
25
+ "type": "boolean"
26
+ }
27
+ },
28
+ "required": ["action", "name", "value"],
29
+ "additionalProperties": false
30
+ },
31
+ {
32
+ "type": "object",
33
+ "properties": {
34
+ "action": {
35
+ "type": "string",
36
+ "const": "keep"
37
+ },
38
+ "name": {
39
+ "type": "string",
40
+ "minLength": 1
41
+ }
42
+ },
43
+ "required": ["action", "name"],
44
+ "additionalProperties": false
45
+ },
46
+ {
47
+ "type": "object",
48
+ "properties": {
49
+ "action": {
50
+ "type": "string",
51
+ "const": "remove"
52
+ },
53
+ "name": {
54
+ "type": "string",
55
+ "minLength": 1
56
+ }
57
+ },
58
+ "required": ["action", "name"],
59
+ "additionalProperties": false
60
+ },
61
+ {
62
+ "type": "object",
63
+ "properties": {
64
+ "action": {
65
+ "type": "string",
66
+ "const": "suppress"
67
+ },
68
+ "name": {
69
+ "type": "string",
70
+ "minLength": 1
71
+ }
72
+ },
73
+ "required": ["action", "name"],
74
+ "additionalProperties": false
75
+ }
76
+ ]
77
+ }
78
+ },
5
79
  "name": {
6
80
  "type": "string",
7
81
  "minLength": 1,