@greatwait/contracts 0.1.0-alpha.1

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 (241) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +77 -0
  3. package/dist/authority.d.ts +217 -0
  4. package/dist/authority.js +261 -0
  5. package/dist/callback-ownership.d.ts +58 -0
  6. package/dist/callback-ownership.js +71 -0
  7. package/dist/callback-safety.d.ts +38 -0
  8. package/dist/callback-safety.js +403 -0
  9. package/dist/compatibility.d.ts +82 -0
  10. package/dist/compatibility.js +115 -0
  11. package/dist/delivery.d.ts +401 -0
  12. package/dist/delivery.js +311 -0
  13. package/dist/endpoints.d.ts +305 -0
  14. package/dist/endpoints.js +179 -0
  15. package/dist/events.d.ts +62 -0
  16. package/dist/events.js +38 -0
  17. package/dist/first-value-journey.d.ts +305 -0
  18. package/dist/first-value-journey.js +466 -0
  19. package/dist/forecast.d.ts +443 -0
  20. package/dist/forecast.js +729 -0
  21. package/dist/identifiers.d.ts +109 -0
  22. package/dist/identifiers.js +131 -0
  23. package/dist/identity.d.ts +196 -0
  24. package/dist/identity.js +182 -0
  25. package/dist/index.d.ts +27 -0
  26. package/dist/index.js +27 -0
  27. package/dist/mcp.d.ts +51 -0
  28. package/dist/mcp.js +56 -0
  29. package/dist/oauth.d.ts +796 -0
  30. package/dist/oauth.js +708 -0
  31. package/dist/operations.d.ts +3985 -0
  32. package/dist/operations.js +1837 -0
  33. package/dist/partition.d.ts +771 -0
  34. package/dist/partition.js +206 -0
  35. package/dist/policy.d.ts +93 -0
  36. package/dist/policy.js +180 -0
  37. package/dist/problems.d.ts +158 -0
  38. package/dist/problems.js +104 -0
  39. package/dist/protocol.d.ts +308 -0
  40. package/dist/protocol.js +515 -0
  41. package/dist/scheduling-records.d.ts +395 -0
  42. package/dist/scheduling-records.js +284 -0
  43. package/dist/scheduling.d.ts +1098 -0
  44. package/dist/scheduling.js +1116 -0
  45. package/dist/secrets.d.ts +383 -0
  46. package/dist/secrets.js +272 -0
  47. package/dist/signatures.d.ts +704 -0
  48. package/dist/signatures.js +867 -0
  49. package/dist/tenancy.d.ts +178 -0
  50. package/dist/tenancy.js +145 -0
  51. package/dist/test-sink.d.ts +986 -0
  52. package/dist/test-sink.js +755 -0
  53. package/dist/time.d.ts +45 -0
  54. package/dist/time.js +128 -0
  55. package/dist/usage.d.ts +121 -0
  56. package/dist/usage.js +200 -0
  57. package/dist/webhooks.d.ts +116 -0
  58. package/dist/webhooks.js +161 -0
  59. package/dist/workspace.d.ts +92 -0
  60. package/dist/workspace.js +59 -0
  61. package/generated/v1/callback-delivery-signature.json +467 -0
  62. package/generated/v1/callback-endpoint-verification.json +59 -0
  63. package/generated/v1/callback-receiver.json +241 -0
  64. package/generated/v1/examples/attempts.list.response.json +24 -0
  65. package/generated/v1/examples/attempts.read.response.json +20 -0
  66. package/generated/v1/examples/credentials.create.request.json +5 -0
  67. package/generated/v1/examples/credentials.create.response.json +10 -0
  68. package/generated/v1/examples/credentials.list.response.json +17 -0
  69. package/generated/v1/examples/credentials.revoke.response.json +11 -0
  70. package/generated/v1/examples/credentials.rotate.request.json +3 -0
  71. package/generated/v1/examples/credentials.rotate.response.json +22 -0
  72. package/generated/v1/examples/endpoints.create.request.json +3 -0
  73. package/generated/v1/examples/endpoints.create.response.json +16 -0
  74. package/generated/v1/examples/endpoints.disable.response.json +15 -0
  75. package/generated/v1/examples/endpoints.list.response.json +21 -0
  76. package/generated/v1/examples/endpoints.read.response.json +14 -0
  77. package/generated/v1/examples/endpoints.rotateSigningKey.request.json +3 -0
  78. package/generated/v1/examples/endpoints.rotateSigningKey.response.json +23 -0
  79. package/generated/v1/examples/endpoints.update.request.json +3 -0
  80. package/generated/v1/examples/endpoints.update.response.json +13 -0
  81. package/generated/v1/examples/endpoints.verify.response.json +15 -0
  82. package/generated/v1/examples/forecast.read.response.json +28 -0
  83. package/generated/v1/examples/forecast.windows.response.json +21 -0
  84. package/generated/v1/examples/grants.list.response.json +17 -0
  85. package/generated/v1/examples/grants.revoke.response.json +16 -0
  86. package/generated/v1/examples/meta.scaffold.response.json +5 -0
  87. package/generated/v1/examples/meta.version.response.json +5 -0
  88. package/generated/v1/examples/occurrences.list.response.json +17 -0
  89. package/generated/v1/examples/occurrences.read.response.json +15 -0
  90. package/generated/v1/examples/occurrences.redeliver.response.json +16 -0
  91. package/generated/v1/examples/projects.create.request.json +3 -0
  92. package/generated/v1/examples/projects.create.response.json +5 -0
  93. package/generated/v1/examples/projects.list.response.json +9 -0
  94. package/generated/v1/examples/schedules.archive.response.json +25 -0
  95. package/generated/v1/examples/schedules.cancel.response.json +24 -0
  96. package/generated/v1/examples/schedules.create.request.json +9 -0
  97. package/generated/v1/examples/schedules.create.response.json +25 -0
  98. package/generated/v1/examples/schedules.list.response.json +23 -0
  99. package/generated/v1/examples/schedules.pause.response.json +23 -0
  100. package/generated/v1/examples/schedules.read.response.json +25 -0
  101. package/generated/v1/examples/schedules.replace.request.json +8 -0
  102. package/generated/v1/examples/schedules.replace.response.json +25 -0
  103. package/generated/v1/examples/schedules.resume.response.json +23 -0
  104. package/generated/v1/examples/sinkdeliveries.list.response.json +19 -0
  105. package/generated/v1/examples/sinkdeliveries.read.response.json +16 -0
  106. package/generated/v1/examples/testsinks.configure.request.json +3 -0
  107. package/generated/v1/examples/testsinks.configure.response.json +13 -0
  108. package/generated/v1/examples/testsinks.create.request.json +8 -0
  109. package/generated/v1/examples/testsinks.create.response.json +13 -0
  110. package/generated/v1/examples/testsinks.delete.response.json +13 -0
  111. package/generated/v1/examples/testsinks.list.response.json +20 -0
  112. package/generated/v1/examples/testsinks.read.response.json +14 -0
  113. package/generated/v1/examples/usage.read.response.json +20 -0
  114. package/generated/v1/first-value-journey.json +436 -0
  115. package/generated/v1/manifest.json +1037 -0
  116. package/generated/v1/openapi.json +23665 -0
  117. package/generated/v1/policy-matrix.json +305 -0
  118. package/generated/v1/schemas/attempts.list.query.json +16 -0
  119. package/generated/v1/schemas/attempts.list.response.json +175 -0
  120. package/generated/v1/schemas/attempts.read.response.json +168 -0
  121. package/generated/v1/schemas/credentials.create.request.json +39 -0
  122. package/generated/v1/schemas/credentials.create.response.json +88 -0
  123. package/generated/v1/schemas/credentials.list.query.json +16 -0
  124. package/generated/v1/schemas/credentials.list.response.json +124 -0
  125. package/generated/v1/schemas/credentials.revoke.response.json +84 -0
  126. package/generated/v1/schemas/credentials.rotate.request.json +11 -0
  127. package/generated/v1/schemas/credentials.rotate.response.json +171 -0
  128. package/generated/v1/schemas/endpoints.create.request.json +12 -0
  129. package/generated/v1/schemas/endpoints.create.response.json +115 -0
  130. package/generated/v1/schemas/endpoints.disable.response-headers.json +11 -0
  131. package/generated/v1/schemas/endpoints.disable.response.json +100 -0
  132. package/generated/v1/schemas/endpoints.list.query.json +16 -0
  133. package/generated/v1/schemas/endpoints.list.response.json +146 -0
  134. package/generated/v1/schemas/endpoints.read.response-headers.json +11 -0
  135. package/generated/v1/schemas/endpoints.read.response.json +100 -0
  136. package/generated/v1/schemas/endpoints.rotateSigningKey.request-headers.json +10 -0
  137. package/generated/v1/schemas/endpoints.rotateSigningKey.request.json +11 -0
  138. package/generated/v1/schemas/endpoints.rotateSigningKey.response-headers.json +11 -0
  139. package/generated/v1/schemas/endpoints.rotateSigningKey.response.json +118 -0
  140. package/generated/v1/schemas/endpoints.update.request-headers.json +10 -0
  141. package/generated/v1/schemas/endpoints.update.request.json +12 -0
  142. package/generated/v1/schemas/endpoints.update.response-headers.json +11 -0
  143. package/generated/v1/schemas/endpoints.update.response.json +100 -0
  144. package/generated/v1/schemas/endpoints.verify.request-headers.json +10 -0
  145. package/generated/v1/schemas/endpoints.verify.response-headers.json +11 -0
  146. package/generated/v1/schemas/endpoints.verify.response.json +100 -0
  147. package/generated/v1/schemas/forecast.read.query.json +26 -0
  148. package/generated/v1/schemas/forecast.read.response.json +100 -0
  149. package/generated/v1/schemas/forecast.windows.query.json +26 -0
  150. package/generated/v1/schemas/forecast.windows.response.json +94 -0
  151. package/generated/v1/schemas/grants.list.response.json +98 -0
  152. package/generated/v1/schemas/grants.revoke.response.json +95 -0
  153. package/generated/v1/schemas/meta.scaffold.response.json +36 -0
  154. package/generated/v1/schemas/meta.version.response.json +19 -0
  155. package/generated/v1/schemas/occurrences.list.query.json +16 -0
  156. package/generated/v1/schemas/occurrences.list.response.json +83 -0
  157. package/generated/v1/schemas/occurrences.read.response.json +76 -0
  158. package/generated/v1/schemas/occurrences.redeliver.request-headers.json +13 -0
  159. package/generated/v1/schemas/occurrences.redeliver.response-headers.json +10 -0
  160. package/generated/v1/schemas/occurrences.redeliver.response.json +168 -0
  161. package/generated/v1/schemas/projects.create.request.json +12 -0
  162. package/generated/v1/schemas/projects.create.response.json +25 -0
  163. package/generated/v1/schemas/projects.list.response.json +35 -0
  164. package/generated/v1/schemas/schedules.archive.request-headers.json +10 -0
  165. package/generated/v1/schemas/schedules.archive.response-headers.json +11 -0
  166. package/generated/v1/schemas/schedules.archive.response.json +189 -0
  167. package/generated/v1/schemas/schedules.cancel.request-headers.json +10 -0
  168. package/generated/v1/schemas/schedules.cancel.response-headers.json +11 -0
  169. package/generated/v1/schemas/schedules.cancel.response.json +189 -0
  170. package/generated/v1/schemas/schedules.create.request-headers.json +12 -0
  171. package/generated/v1/schemas/schedules.create.request.json +99 -0
  172. package/generated/v1/schemas/schedules.create.response-headers.json +15 -0
  173. package/generated/v1/schemas/schedules.create.response.json +189 -0
  174. package/generated/v1/schemas/schedules.list.query.json +16 -0
  175. package/generated/v1/schemas/schedules.list.response.json +170 -0
  176. package/generated/v1/schemas/schedules.pause.request-headers.json +10 -0
  177. package/generated/v1/schemas/schedules.pause.response-headers.json +11 -0
  178. package/generated/v1/schemas/schedules.pause.response.json +189 -0
  179. package/generated/v1/schemas/schedules.read.response-headers.json +11 -0
  180. package/generated/v1/schemas/schedules.read.response.json +189 -0
  181. package/generated/v1/schemas/schedules.replace.request-headers.json +10 -0
  182. package/generated/v1/schemas/schedules.replace.request.json +99 -0
  183. package/generated/v1/schemas/schedules.replace.response-headers.json +11 -0
  184. package/generated/v1/schemas/schedules.replace.response.json +189 -0
  185. package/generated/v1/schemas/schedules.resume.request-headers.json +10 -0
  186. package/generated/v1/schemas/schedules.resume.response-headers.json +11 -0
  187. package/generated/v1/schemas/schedules.resume.response.json +189 -0
  188. package/generated/v1/schemas/sinkdeliveries.list.query.json +16 -0
  189. package/generated/v1/schemas/sinkdeliveries.list.response.json +126 -0
  190. package/generated/v1/schemas/sinkdeliveries.read.response.json +98 -0
  191. package/generated/v1/schemas/testsinks.configure.request.json +66 -0
  192. package/generated/v1/schemas/testsinks.configure.response.json +115 -0
  193. package/generated/v1/schemas/testsinks.create.request.json +76 -0
  194. package/generated/v1/schemas/testsinks.create.response.json +115 -0
  195. package/generated/v1/schemas/testsinks.delete.response.json +115 -0
  196. package/generated/v1/schemas/testsinks.list.query.json +16 -0
  197. package/generated/v1/schemas/testsinks.list.response.json +161 -0
  198. package/generated/v1/schemas/testsinks.read.response.json +115 -0
  199. package/generated/v1/schemas/usage.read.query.json +15 -0
  200. package/generated/v1/schemas/usage.read.response.json +71 -0
  201. package/generated/v1/snippets/attempts.list.json +5 -0
  202. package/generated/v1/snippets/attempts.read.json +5 -0
  203. package/generated/v1/snippets/credentials.create.json +5 -0
  204. package/generated/v1/snippets/credentials.list.json +5 -0
  205. package/generated/v1/snippets/credentials.revoke.json +5 -0
  206. package/generated/v1/snippets/credentials.rotate.json +5 -0
  207. package/generated/v1/snippets/endpoints.create.json +5 -0
  208. package/generated/v1/snippets/endpoints.disable.json +5 -0
  209. package/generated/v1/snippets/endpoints.list.json +5 -0
  210. package/generated/v1/snippets/endpoints.read.json +5 -0
  211. package/generated/v1/snippets/endpoints.rotateSigningKey.json +5 -0
  212. package/generated/v1/snippets/endpoints.update.json +5 -0
  213. package/generated/v1/snippets/endpoints.verify.json +5 -0
  214. package/generated/v1/snippets/forecast.read.json +5 -0
  215. package/generated/v1/snippets/forecast.windows.json +5 -0
  216. package/generated/v1/snippets/grants.list.json +5 -0
  217. package/generated/v1/snippets/grants.revoke.json +5 -0
  218. package/generated/v1/snippets/meta.scaffold.json +5 -0
  219. package/generated/v1/snippets/meta.version.json +5 -0
  220. package/generated/v1/snippets/occurrences.list.json +5 -0
  221. package/generated/v1/snippets/occurrences.read.json +5 -0
  222. package/generated/v1/snippets/occurrences.redeliver.json +5 -0
  223. package/generated/v1/snippets/projects.create.json +5 -0
  224. package/generated/v1/snippets/projects.list.json +5 -0
  225. package/generated/v1/snippets/schedules.archive.json +5 -0
  226. package/generated/v1/snippets/schedules.cancel.json +5 -0
  227. package/generated/v1/snippets/schedules.create.json +5 -0
  228. package/generated/v1/snippets/schedules.list.json +5 -0
  229. package/generated/v1/snippets/schedules.pause.json +5 -0
  230. package/generated/v1/snippets/schedules.read.json +5 -0
  231. package/generated/v1/snippets/schedules.replace.json +5 -0
  232. package/generated/v1/snippets/schedules.resume.json +5 -0
  233. package/generated/v1/snippets/sinkdeliveries.list.json +5 -0
  234. package/generated/v1/snippets/sinkdeliveries.read.json +5 -0
  235. package/generated/v1/snippets/testsinks.configure.json +5 -0
  236. package/generated/v1/snippets/testsinks.create.json +5 -0
  237. package/generated/v1/snippets/testsinks.delete.json +5 -0
  238. package/generated/v1/snippets/testsinks.list.json +5 -0
  239. package/generated/v1/snippets/testsinks.read.json +5 -0
  240. package/generated/v1/snippets/usage.read.json +5 -0
  241. package/package.json +153 -0
@@ -0,0 +1,189 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "occurrence": {
6
+ "type": "object",
7
+ "properties": {
8
+ "attemptCount": {
9
+ "type": "integer",
10
+ "minimum": 0,
11
+ "maximum": 9007199254740991
12
+ },
13
+ "generation": {
14
+ "type": "integer",
15
+ "exclusiveMinimum": 0,
16
+ "maximum": 9007199254740991
17
+ },
18
+ "id": {
19
+ "type": "string",
20
+ "pattern": "^occ_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
21
+ },
22
+ "plannedFor": {
23
+ "type": "string",
24
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
25
+ },
26
+ "schedule": {
27
+ "type": "string",
28
+ "pattern": "^sch_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
29
+ },
30
+ "sequence": {
31
+ "type": "integer",
32
+ "exclusiveMinimum": 0,
33
+ "maximum": 9007199254740991
34
+ },
35
+ "settledAt": {
36
+ "type": "string",
37
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
38
+ },
39
+ "state": {
40
+ "type": "string",
41
+ "enum": [
42
+ "planned",
43
+ "due",
44
+ "dispatching",
45
+ "retry_wait",
46
+ "ambiguous",
47
+ "succeeded",
48
+ "terminal_failed",
49
+ "cancelled",
50
+ "skipped_stale"
51
+ ]
52
+ }
53
+ },
54
+ "required": [
55
+ "attemptCount",
56
+ "generation",
57
+ "id",
58
+ "plannedFor",
59
+ "schedule",
60
+ "sequence",
61
+ "state"
62
+ ]
63
+ },
64
+ "schedule": {
65
+ "type": "object",
66
+ "properties": {
67
+ "archivedAt": {
68
+ "type": "string",
69
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
70
+ },
71
+ "createdAt": {
72
+ "type": "string",
73
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
74
+ },
75
+ "delivery": {
76
+ "type": "object",
77
+ "properties": {
78
+ "completion": {
79
+ "type": "string",
80
+ "enum": ["response", "callback"]
81
+ },
82
+ "maxDurationSeconds": {
83
+ "type": "integer",
84
+ "minimum": 0,
85
+ "maximum": 9007199254740991
86
+ },
87
+ "onOverlap": {
88
+ "type": "string",
89
+ "enum": ["skip", "queue"]
90
+ }
91
+ },
92
+ "required": ["completion", "maxDurationSeconds", "onOverlap"]
93
+ },
94
+ "endpoint": {
95
+ "type": "string",
96
+ "pattern": "^ep_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
97
+ },
98
+ "generation": {
99
+ "type": "integer",
100
+ "exclusiveMinimum": 0,
101
+ "maximum": 9007199254740991
102
+ },
103
+ "id": {
104
+ "type": "string",
105
+ "pattern": "^sch_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
106
+ },
107
+ "latencyClass": {
108
+ "type": "string",
109
+ "enum": ["realtime", "bulk"]
110
+ },
111
+ "partitionKey": {
112
+ "type": "string",
113
+ "minLength": 1,
114
+ "maxLength": 64,
115
+ "pattern": "^[A-Za-z0-9._:-]+$"
116
+ },
117
+ "recurrence": {
118
+ "oneOf": [
119
+ {
120
+ "type": "object",
121
+ "properties": {
122
+ "kind": {
123
+ "type": "string",
124
+ "const": "at"
125
+ }
126
+ },
127
+ "required": ["kind"]
128
+ },
129
+ {
130
+ "type": "object",
131
+ "properties": {
132
+ "everySeconds": {
133
+ "type": "integer",
134
+ "minimum": 60,
135
+ "maximum": 2592000
136
+ },
137
+ "kind": {
138
+ "type": "string",
139
+ "const": "every"
140
+ }
141
+ },
142
+ "required": ["everySeconds", "kind"]
143
+ },
144
+ {
145
+ "type": "object",
146
+ "properties": {
147
+ "cron": {
148
+ "type": "string",
149
+ "minLength": 1,
150
+ "maxLength": 120
151
+ },
152
+ "kind": {
153
+ "type": "string",
154
+ "const": "cron"
155
+ },
156
+ "timeZone": {}
157
+ },
158
+ "required": ["cron", "kind", "timeZone"]
159
+ }
160
+ ]
161
+ },
162
+ "status": {
163
+ "type": "string",
164
+ "enum": ["active", "paused", "cancelled", "completed"]
165
+ },
166
+ "updatedAt": {
167
+ "type": "string",
168
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
169
+ },
170
+ "version": {
171
+ "type": "integer",
172
+ "exclusiveMinimum": 0,
173
+ "maximum": 9007199254740991
174
+ }
175
+ },
176
+ "required": [
177
+ "createdAt",
178
+ "generation",
179
+ "id",
180
+ "latencyClass",
181
+ "recurrence",
182
+ "status",
183
+ "updatedAt",
184
+ "version"
185
+ ]
186
+ }
187
+ },
188
+ "required": ["occurrence", "schedule"]
189
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "Idempotency-Key": {
6
+ "type": "string",
7
+ "minLength": 16,
8
+ "maxLength": 255,
9
+ "pattern": "^[\\x20-\\x7e]+$"
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,99 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "at": {
6
+ "type": "string",
7
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
8
+ },
9
+ "cron": {
10
+ "type": "string",
11
+ "minLength": 1,
12
+ "maxLength": 120
13
+ },
14
+ "data": {
15
+ "$ref": "#/$defs/__schema0"
16
+ },
17
+ "delaySeconds": {
18
+ "type": "integer",
19
+ "exclusiveMinimum": 0,
20
+ "maximum": 158000000
21
+ },
22
+ "delivery": {
23
+ "type": "object",
24
+ "properties": {
25
+ "onOverlap": {
26
+ "type": "string",
27
+ "enum": ["skip", "queue"]
28
+ },
29
+ "completion": {
30
+ "type": "string",
31
+ "enum": ["response", "callback"]
32
+ },
33
+ "maxDurationSeconds": {
34
+ "type": "number",
35
+ "enum": [5, 30, 300, 900, 1800, 3600, 43200, 86400],
36
+ "description": "How long the receiver may take to answer, in seconds"
37
+ }
38
+ },
39
+ "additionalProperties": false
40
+ },
41
+ "everySeconds": {
42
+ "type": "integer",
43
+ "minimum": 60,
44
+ "maximum": 2592000
45
+ },
46
+ "endpoint": {
47
+ "type": "string",
48
+ "pattern": "^ep_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
49
+ },
50
+ "latencyClass": {
51
+ "type": "string",
52
+ "enum": ["realtime", "bulk"]
53
+ },
54
+ "partitionKey": {
55
+ "type": "string",
56
+ "minLength": 1,
57
+ "maxLength": 64,
58
+ "pattern": "^[A-Za-z0-9._:-]+$"
59
+ },
60
+ "timeZone": {
61
+ "type": "string",
62
+ "minLength": 1
63
+ }
64
+ },
65
+ "additionalProperties": false,
66
+ "$defs": {
67
+ "__schema0": {
68
+ "anyOf": [
69
+ {
70
+ "type": "string"
71
+ },
72
+ {
73
+ "type": "number"
74
+ },
75
+ {
76
+ "type": "boolean"
77
+ },
78
+ {
79
+ "type": "null"
80
+ },
81
+ {
82
+ "type": "array",
83
+ "items": {
84
+ "$ref": "#/$defs/__schema0"
85
+ }
86
+ },
87
+ {
88
+ "type": "object",
89
+ "propertyNames": {
90
+ "type": "string"
91
+ },
92
+ "additionalProperties": {
93
+ "$ref": "#/$defs/__schema0"
94
+ }
95
+ }
96
+ ]
97
+ }
98
+ }
99
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "ETag": {
6
+ "type": "string",
7
+ "pattern": "^\"([1-9][0-9]{0,18})\"$"
8
+ },
9
+ "Idempotency-Replayed": {
10
+ "type": "string",
11
+ "const": "true"
12
+ }
13
+ },
14
+ "required": ["ETag"]
15
+ }
@@ -0,0 +1,189 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "occurrence": {
6
+ "type": "object",
7
+ "properties": {
8
+ "attemptCount": {
9
+ "type": "integer",
10
+ "minimum": 0,
11
+ "maximum": 9007199254740991
12
+ },
13
+ "generation": {
14
+ "type": "integer",
15
+ "exclusiveMinimum": 0,
16
+ "maximum": 9007199254740991
17
+ },
18
+ "id": {
19
+ "type": "string",
20
+ "pattern": "^occ_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
21
+ },
22
+ "plannedFor": {
23
+ "type": "string",
24
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
25
+ },
26
+ "schedule": {
27
+ "type": "string",
28
+ "pattern": "^sch_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
29
+ },
30
+ "sequence": {
31
+ "type": "integer",
32
+ "exclusiveMinimum": 0,
33
+ "maximum": 9007199254740991
34
+ },
35
+ "settledAt": {
36
+ "type": "string",
37
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
38
+ },
39
+ "state": {
40
+ "type": "string",
41
+ "enum": [
42
+ "planned",
43
+ "due",
44
+ "dispatching",
45
+ "retry_wait",
46
+ "ambiguous",
47
+ "succeeded",
48
+ "terminal_failed",
49
+ "cancelled",
50
+ "skipped_stale"
51
+ ]
52
+ }
53
+ },
54
+ "required": [
55
+ "attemptCount",
56
+ "generation",
57
+ "id",
58
+ "plannedFor",
59
+ "schedule",
60
+ "sequence",
61
+ "state"
62
+ ]
63
+ },
64
+ "schedule": {
65
+ "type": "object",
66
+ "properties": {
67
+ "archivedAt": {
68
+ "type": "string",
69
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
70
+ },
71
+ "createdAt": {
72
+ "type": "string",
73
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
74
+ },
75
+ "delivery": {
76
+ "type": "object",
77
+ "properties": {
78
+ "completion": {
79
+ "type": "string",
80
+ "enum": ["response", "callback"]
81
+ },
82
+ "maxDurationSeconds": {
83
+ "type": "integer",
84
+ "minimum": 0,
85
+ "maximum": 9007199254740991
86
+ },
87
+ "onOverlap": {
88
+ "type": "string",
89
+ "enum": ["skip", "queue"]
90
+ }
91
+ },
92
+ "required": ["completion", "maxDurationSeconds", "onOverlap"]
93
+ },
94
+ "endpoint": {
95
+ "type": "string",
96
+ "pattern": "^ep_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
97
+ },
98
+ "generation": {
99
+ "type": "integer",
100
+ "exclusiveMinimum": 0,
101
+ "maximum": 9007199254740991
102
+ },
103
+ "id": {
104
+ "type": "string",
105
+ "pattern": "^sch_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
106
+ },
107
+ "latencyClass": {
108
+ "type": "string",
109
+ "enum": ["realtime", "bulk"]
110
+ },
111
+ "partitionKey": {
112
+ "type": "string",
113
+ "minLength": 1,
114
+ "maxLength": 64,
115
+ "pattern": "^[A-Za-z0-9._:-]+$"
116
+ },
117
+ "recurrence": {
118
+ "oneOf": [
119
+ {
120
+ "type": "object",
121
+ "properties": {
122
+ "kind": {
123
+ "type": "string",
124
+ "const": "at"
125
+ }
126
+ },
127
+ "required": ["kind"]
128
+ },
129
+ {
130
+ "type": "object",
131
+ "properties": {
132
+ "everySeconds": {
133
+ "type": "integer",
134
+ "minimum": 60,
135
+ "maximum": 2592000
136
+ },
137
+ "kind": {
138
+ "type": "string",
139
+ "const": "every"
140
+ }
141
+ },
142
+ "required": ["everySeconds", "kind"]
143
+ },
144
+ {
145
+ "type": "object",
146
+ "properties": {
147
+ "cron": {
148
+ "type": "string",
149
+ "minLength": 1,
150
+ "maxLength": 120
151
+ },
152
+ "kind": {
153
+ "type": "string",
154
+ "const": "cron"
155
+ },
156
+ "timeZone": {}
157
+ },
158
+ "required": ["cron", "kind", "timeZone"]
159
+ }
160
+ ]
161
+ },
162
+ "status": {
163
+ "type": "string",
164
+ "enum": ["active", "paused", "cancelled", "completed"]
165
+ },
166
+ "updatedAt": {
167
+ "type": "string",
168
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
169
+ },
170
+ "version": {
171
+ "type": "integer",
172
+ "exclusiveMinimum": 0,
173
+ "maximum": 9007199254740991
174
+ }
175
+ },
176
+ "required": [
177
+ "createdAt",
178
+ "generation",
179
+ "id",
180
+ "latencyClass",
181
+ "recurrence",
182
+ "status",
183
+ "updatedAt",
184
+ "version"
185
+ ]
186
+ }
187
+ },
188
+ "required": ["occurrence", "schedule"]
189
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "cursor": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "limit": {
10
+ "default": 25,
11
+ "type": "integer",
12
+ "minimum": 1,
13
+ "maximum": 100
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,170 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "data": {
6
+ "type": "array",
7
+ "items": {
8
+ "type": "object",
9
+ "properties": {
10
+ "archivedAt": {
11
+ "type": "string",
12
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
13
+ },
14
+ "createdAt": {
15
+ "type": "string",
16
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
17
+ },
18
+ "delivery": {
19
+ "type": "object",
20
+ "properties": {
21
+ "completion": {
22
+ "type": "string",
23
+ "enum": ["response", "callback"]
24
+ },
25
+ "maxDurationSeconds": {
26
+ "type": "integer",
27
+ "minimum": 0,
28
+ "maximum": 9007199254740991
29
+ },
30
+ "onOverlap": {
31
+ "type": "string",
32
+ "enum": ["skip", "queue"]
33
+ }
34
+ },
35
+ "required": ["completion", "maxDurationSeconds", "onOverlap"]
36
+ },
37
+ "endpoint": {
38
+ "type": "string",
39
+ "pattern": "^ep_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
40
+ },
41
+ "generation": {
42
+ "type": "integer",
43
+ "exclusiveMinimum": 0,
44
+ "maximum": 9007199254740991
45
+ },
46
+ "id": {
47
+ "type": "string",
48
+ "pattern": "^sch_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
49
+ },
50
+ "latencyClass": {
51
+ "type": "string",
52
+ "enum": ["realtime", "bulk"]
53
+ },
54
+ "partitionKey": {
55
+ "type": "string",
56
+ "minLength": 1,
57
+ "maxLength": 64,
58
+ "pattern": "^[A-Za-z0-9._:-]+$"
59
+ },
60
+ "recurrence": {
61
+ "oneOf": [
62
+ {
63
+ "type": "object",
64
+ "properties": {
65
+ "kind": {
66
+ "type": "string",
67
+ "const": "at"
68
+ }
69
+ },
70
+ "required": ["kind"]
71
+ },
72
+ {
73
+ "type": "object",
74
+ "properties": {
75
+ "everySeconds": {
76
+ "type": "integer",
77
+ "minimum": 60,
78
+ "maximum": 2592000
79
+ },
80
+ "kind": {
81
+ "type": "string",
82
+ "const": "every"
83
+ }
84
+ },
85
+ "required": ["everySeconds", "kind"]
86
+ },
87
+ {
88
+ "type": "object",
89
+ "properties": {
90
+ "cron": {
91
+ "type": "string",
92
+ "minLength": 1,
93
+ "maxLength": 120
94
+ },
95
+ "kind": {
96
+ "type": "string",
97
+ "const": "cron"
98
+ },
99
+ "timeZone": {}
100
+ },
101
+ "required": ["cron", "kind", "timeZone"]
102
+ }
103
+ ]
104
+ },
105
+ "status": {
106
+ "type": "string",
107
+ "enum": ["active", "paused", "cancelled", "completed"]
108
+ },
109
+ "updatedAt": {
110
+ "type": "string",
111
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
112
+ },
113
+ "version": {
114
+ "type": "integer",
115
+ "exclusiveMinimum": 0,
116
+ "maximum": 9007199254740991
117
+ }
118
+ },
119
+ "required": [
120
+ "createdAt",
121
+ "generation",
122
+ "id",
123
+ "latencyClass",
124
+ "recurrence",
125
+ "status",
126
+ "updatedAt",
127
+ "version"
128
+ ]
129
+ }
130
+ },
131
+ "freshness": {
132
+ "oneOf": [
133
+ {
134
+ "type": "object",
135
+ "properties": {
136
+ "kind": {
137
+ "type": "string",
138
+ "const": "authoritative"
139
+ }
140
+ },
141
+ "required": ["kind"]
142
+ },
143
+ {
144
+ "type": "object",
145
+ "properties": {
146
+ "asOf": {
147
+ "type": "string",
148
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
149
+ },
150
+ "kind": {
151
+ "type": "string",
152
+ "const": "projected"
153
+ },
154
+ "lagSeconds": {
155
+ "type": "integer",
156
+ "minimum": 0,
157
+ "maximum": 9007199254740991
158
+ }
159
+ },
160
+ "required": ["asOf", "kind", "lagSeconds"]
161
+ }
162
+ ]
163
+ },
164
+ "nextCursor": {
165
+ "type": "string",
166
+ "minLength": 1
167
+ }
168
+ },
169
+ "required": ["data", "freshness"]
170
+ }