@arcforges/api-client 1.0.0-ci.151.1 → 1.0.0-ci.168.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.
@@ -0,0 +1,748 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$comment": "SPDX-License-Identifier: Apache-2.0",
4
+ "title": "SignedFormats",
5
+ "description": "Closed static signed distribution and realm formats. Shape validity is not signature, current trust, freshness or rollback authorization. See CON.16 fixture profile for canonical and consumer-state vectors.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "#/$defs/CatalogIndex"
9
+ },
10
+ {
11
+ "$ref": "#/$defs/CatalogRevocations"
12
+ },
13
+ {
14
+ "$ref": "#/$defs/AndroidUpdate"
15
+ },
16
+ {
17
+ "$ref": "#/$defs/RealmDescriptor"
18
+ }
19
+ ],
20
+ "$defs": {
21
+ "CatalogEntry": {
22
+ "title": "CatalogEntry",
23
+ "type": "object",
24
+ "properties": {
25
+ "packageId": {
26
+ "type": "string",
27
+ "minLength": 1,
28
+ "maxLength": 128,
29
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
30
+ },
31
+ "publisherId": {
32
+ "type": "string",
33
+ "minLength": 1,
34
+ "maxLength": 128,
35
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
36
+ },
37
+ "version": {
38
+ "type": "string",
39
+ "minLength": 1,
40
+ "maxLength": 128,
41
+ "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"
42
+ },
43
+ "archiveHttpsUrl": {
44
+ "type": "string",
45
+ "minLength": 1,
46
+ "maxLength": 2048,
47
+ "pattern": "^https://[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*(?::(?:6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}))?(/[^\\s#]*)?$"
48
+ },
49
+ "sha256": {
50
+ "type": "string",
51
+ "minLength": 1,
52
+ "maxLength": 64,
53
+ "pattern": "^[0-9a-f]{64}$"
54
+ },
55
+ "manifestHash": {
56
+ "type": "string",
57
+ "minLength": 1,
58
+ "maxLength": 64,
59
+ "pattern": "^[0-9a-f]{64}$"
60
+ },
61
+ "minimumHostVersion": {
62
+ "type": "string",
63
+ "minLength": 1,
64
+ "maxLength": 128,
65
+ "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"
66
+ },
67
+ "capabilitiesDigest": {
68
+ "type": "string",
69
+ "minLength": 1,
70
+ "maxLength": 64,
71
+ "pattern": "^[0-9a-f]{64}$"
72
+ }
73
+ },
74
+ "required": [
75
+ "packageId",
76
+ "publisherId",
77
+ "version",
78
+ "archiveHttpsUrl",
79
+ "sha256",
80
+ "manifestHash",
81
+ "minimumHostVersion",
82
+ "capabilitiesDigest"
83
+ ],
84
+ "additionalProperties": false
85
+ },
86
+ "RevocationEntry": {
87
+ "title": "RevocationEntry",
88
+ "type": "object",
89
+ "properties": {
90
+ "packageId": {
91
+ "type": "string",
92
+ "minLength": 1,
93
+ "maxLength": 128,
94
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
95
+ },
96
+ "version": {
97
+ "type": "string",
98
+ "minLength": 1,
99
+ "maxLength": 128,
100
+ "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"
101
+ },
102
+ "digest": {
103
+ "type": "string",
104
+ "minLength": 1,
105
+ "maxLength": 64,
106
+ "pattern": "^[0-9a-f]{64}$"
107
+ },
108
+ "reason": {
109
+ "type": "string",
110
+ "minLength": 1,
111
+ "maxLength": 1024
112
+ },
113
+ "revokedAt": {
114
+ "type": "string",
115
+ "minLength": 1,
116
+ "maxLength": 32,
117
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$"
118
+ }
119
+ },
120
+ "required": ["packageId", "version", "digest", "reason", "revokedAt"],
121
+ "additionalProperties": false
122
+ },
123
+ "IndexEntries": {
124
+ "title": "IndexEntries",
125
+ "type": "object",
126
+ "properties": {
127
+ "entries": {
128
+ "type": "array",
129
+ "items": {
130
+ "$ref": "#/$defs/CatalogEntry"
131
+ },
132
+ "minItems": 0,
133
+ "maxItems": 1000
134
+ }
135
+ },
136
+ "required": ["entries"],
137
+ "additionalProperties": false
138
+ },
139
+ "IndexShards": {
140
+ "title": "IndexShards",
141
+ "type": "object",
142
+ "properties": {
143
+ "shards": {
144
+ "type": "array",
145
+ "items": {
146
+ "$ref": "#/$defs/IndexShard"
147
+ },
148
+ "minItems": 1,
149
+ "maxItems": 1000
150
+ }
151
+ },
152
+ "required": ["shards"],
153
+ "additionalProperties": false
154
+ },
155
+ "IndexBody": {
156
+ "title": "IndexBody",
157
+ "oneOf": [
158
+ {
159
+ "$ref": "#/$defs/IndexEntries"
160
+ },
161
+ {
162
+ "$ref": "#/$defs/IndexShards"
163
+ }
164
+ ]
165
+ },
166
+ "RevocationEntries": {
167
+ "title": "RevocationEntries",
168
+ "type": "object",
169
+ "properties": {
170
+ "entries": {
171
+ "type": "array",
172
+ "items": {
173
+ "$ref": "#/$defs/RevocationEntry"
174
+ },
175
+ "minItems": 0,
176
+ "maxItems": 1000
177
+ }
178
+ },
179
+ "required": ["entries"],
180
+ "additionalProperties": false
181
+ },
182
+ "RevocationShards": {
183
+ "title": "RevocationShards",
184
+ "type": "object",
185
+ "properties": {
186
+ "shards": {
187
+ "type": "array",
188
+ "items": {
189
+ "$ref": "#/$defs/RevocationShard"
190
+ },
191
+ "minItems": 1,
192
+ "maxItems": 1000
193
+ }
194
+ },
195
+ "required": ["shards"],
196
+ "additionalProperties": false
197
+ },
198
+ "RevocationBody": {
199
+ "title": "RevocationBody",
200
+ "oneOf": [
201
+ {
202
+ "$ref": "#/$defs/RevocationEntries"
203
+ },
204
+ {
205
+ "$ref": "#/$defs/RevocationShards"
206
+ }
207
+ ]
208
+ },
209
+ "CatalogIndex": {
210
+ "title": "CatalogIndex",
211
+ "type": "object",
212
+ "properties": {
213
+ "schemaVersion": {
214
+ "type": "string",
215
+ "const": "catalog-index.v1"
216
+ },
217
+ "realmId": {
218
+ "type": "string",
219
+ "minLength": 1,
220
+ "maxLength": 36,
221
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
222
+ "x-arcforges-rules": ["nonzeroUuid"]
223
+ },
224
+ "channel": {
225
+ "type": "string",
226
+ "minLength": 1,
227
+ "maxLength": 128,
228
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
229
+ },
230
+ "revision": {
231
+ "type": "string",
232
+ "minLength": 1,
233
+ "maxLength": 20,
234
+ "pattern": "^(0|[1-9][0-9]*)$",
235
+ "x-arcforges-rules": ["uint64String"]
236
+ },
237
+ "issuedAt": {
238
+ "type": "string",
239
+ "minLength": 1,
240
+ "maxLength": 32,
241
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$"
242
+ },
243
+ "expiresAt": {
244
+ "type": "string",
245
+ "minLength": 1,
246
+ "maxLength": 32,
247
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$"
248
+ },
249
+ "keyId": {
250
+ "type": "string",
251
+ "minLength": 1,
252
+ "maxLength": 128,
253
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
254
+ },
255
+ "bodyHash": {
256
+ "type": "string",
257
+ "minLength": 1,
258
+ "maxLength": 64,
259
+ "pattern": "^[0-9a-f]{64}$"
260
+ },
261
+ "body": {
262
+ "$ref": "#/$defs/IndexBody"
263
+ },
264
+ "signature": {
265
+ "type": "string",
266
+ "minLength": 1,
267
+ "maxLength": 86,
268
+ "pattern": "^[A-Za-z0-9_-]{85}[AQgw]$"
269
+ }
270
+ },
271
+ "required": [
272
+ "schemaVersion",
273
+ "realmId",
274
+ "channel",
275
+ "revision",
276
+ "issuedAt",
277
+ "expiresAt",
278
+ "keyId",
279
+ "bodyHash",
280
+ "body",
281
+ "signature"
282
+ ],
283
+ "additionalProperties": false,
284
+ "x-arcforges-max-bytes": 1048576,
285
+ "x-arcforges-schema-version": "1"
286
+ },
287
+ "CatalogRevocations": {
288
+ "title": "CatalogRevocations",
289
+ "type": "object",
290
+ "properties": {
291
+ "schemaVersion": {
292
+ "type": "string",
293
+ "const": "catalog-revocations.v1"
294
+ },
295
+ "realmId": {
296
+ "type": "string",
297
+ "minLength": 1,
298
+ "maxLength": 36,
299
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
300
+ "x-arcforges-rules": ["nonzeroUuid"]
301
+ },
302
+ "channel": {
303
+ "type": "string",
304
+ "minLength": 1,
305
+ "maxLength": 128,
306
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
307
+ },
308
+ "revision": {
309
+ "type": "string",
310
+ "minLength": 1,
311
+ "maxLength": 20,
312
+ "pattern": "^(0|[1-9][0-9]*)$",
313
+ "x-arcforges-rules": ["uint64String"]
314
+ },
315
+ "issuedAt": {
316
+ "type": "string",
317
+ "minLength": 1,
318
+ "maxLength": 32,
319
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$"
320
+ },
321
+ "expiresAt": {
322
+ "type": "string",
323
+ "minLength": 1,
324
+ "maxLength": 32,
325
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$"
326
+ },
327
+ "keyId": {
328
+ "type": "string",
329
+ "minLength": 1,
330
+ "maxLength": 128,
331
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
332
+ },
333
+ "bodyHash": {
334
+ "type": "string",
335
+ "minLength": 1,
336
+ "maxLength": 64,
337
+ "pattern": "^[0-9a-f]{64}$"
338
+ },
339
+ "body": {
340
+ "$ref": "#/$defs/RevocationBody"
341
+ },
342
+ "signature": {
343
+ "type": "string",
344
+ "minLength": 1,
345
+ "maxLength": 86,
346
+ "pattern": "^[A-Za-z0-9_-]{85}[AQgw]$"
347
+ }
348
+ },
349
+ "required": [
350
+ "schemaVersion",
351
+ "realmId",
352
+ "channel",
353
+ "revision",
354
+ "issuedAt",
355
+ "expiresAt",
356
+ "keyId",
357
+ "bodyHash",
358
+ "body",
359
+ "signature"
360
+ ],
361
+ "additionalProperties": false,
362
+ "x-arcforges-max-bytes": 1048576,
363
+ "x-arcforges-schema-version": "1"
364
+ },
365
+ "AndroidUpdateBody": {
366
+ "title": "AndroidUpdateBody",
367
+ "type": "object",
368
+ "properties": {
369
+ "packageId": {
370
+ "type": "string",
371
+ "const": "com.arcforges.mobile"
372
+ },
373
+ "channel": {
374
+ "type": "string",
375
+ "const": "direct"
376
+ },
377
+ "versionName": {
378
+ "type": "string",
379
+ "minLength": 1,
380
+ "maxLength": 128
381
+ },
382
+ "versionCode": {
383
+ "type": "string",
384
+ "minLength": 1,
385
+ "maxLength": 20,
386
+ "pattern": "^(0|[1-9][0-9]*)$",
387
+ "x-arcforges-rules": ["uint64String"]
388
+ },
389
+ "minSdk": {
390
+ "type": "integer",
391
+ "minimum": 1,
392
+ "maximum": 4294967295
393
+ },
394
+ "minSupportedVersionCode": {
395
+ "type": "string",
396
+ "minLength": 1,
397
+ "maxLength": 20,
398
+ "pattern": "^(0|[1-9][0-9]*)$",
399
+ "x-arcforges-rules": ["uint64String"]
400
+ },
401
+ "apkUrl": {
402
+ "type": "string",
403
+ "minLength": 1,
404
+ "maxLength": 2048,
405
+ "pattern": "^https://downloads\\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*/[^\\s#]+$"
406
+ },
407
+ "sha256": {
408
+ "type": "string",
409
+ "minLength": 1,
410
+ "maxLength": 64,
411
+ "pattern": "^[0-9a-f]{64}$"
412
+ },
413
+ "size": {
414
+ "type": "string",
415
+ "minLength": 1,
416
+ "maxLength": 20,
417
+ "pattern": "^(0|[1-9][0-9]*)$",
418
+ "x-arcforges-rules": ["uint64String"]
419
+ },
420
+ "signingCertificateSha256": {
421
+ "type": "string",
422
+ "minLength": 1,
423
+ "maxLength": 64,
424
+ "pattern": "^[0-9a-f]{64}$"
425
+ },
426
+ "releaseNotesUrl": {
427
+ "type": "string",
428
+ "minLength": 1,
429
+ "maxLength": 2048,
430
+ "pattern": "^https://[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*(?::(?:6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}))?(/[^\\s#]*)?$"
431
+ },
432
+ "publishedAt": {
433
+ "type": "string",
434
+ "minLength": 1,
435
+ "maxLength": 32,
436
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$"
437
+ }
438
+ },
439
+ "required": [
440
+ "packageId",
441
+ "channel",
442
+ "versionName",
443
+ "versionCode",
444
+ "minSdk",
445
+ "minSupportedVersionCode",
446
+ "apkUrl",
447
+ "sha256",
448
+ "size",
449
+ "signingCertificateSha256",
450
+ "releaseNotesUrl",
451
+ "publishedAt"
452
+ ],
453
+ "additionalProperties": false
454
+ },
455
+ "AndroidUpdate": {
456
+ "title": "AndroidUpdate",
457
+ "type": "object",
458
+ "properties": {
459
+ "schemaVersion": {
460
+ "type": "string",
461
+ "const": "android-update.v1"
462
+ },
463
+ "realmId": {
464
+ "type": "string",
465
+ "minLength": 1,
466
+ "maxLength": 36,
467
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
468
+ "x-arcforges-rules": ["nonzeroUuid"]
469
+ },
470
+ "channel": {
471
+ "type": "string",
472
+ "const": "direct"
473
+ },
474
+ "revision": {
475
+ "type": "string",
476
+ "minLength": 1,
477
+ "maxLength": 20,
478
+ "pattern": "^(0|[1-9][0-9]*)$",
479
+ "x-arcforges-rules": ["uint64String"]
480
+ },
481
+ "issuedAt": {
482
+ "type": "string",
483
+ "minLength": 1,
484
+ "maxLength": 32,
485
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$"
486
+ },
487
+ "expiresAt": {
488
+ "type": "string",
489
+ "minLength": 1,
490
+ "maxLength": 32,
491
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$"
492
+ },
493
+ "keyId": {
494
+ "type": "string",
495
+ "minLength": 1,
496
+ "maxLength": 128,
497
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
498
+ },
499
+ "bodyHash": {
500
+ "type": "string",
501
+ "minLength": 1,
502
+ "maxLength": 64,
503
+ "pattern": "^[0-9a-f]{64}$"
504
+ },
505
+ "body": {
506
+ "$ref": "#/$defs/AndroidUpdateBody"
507
+ },
508
+ "signature": {
509
+ "type": "string",
510
+ "minLength": 1,
511
+ "maxLength": 86,
512
+ "pattern": "^[A-Za-z0-9_-]{85}[AQgw]$"
513
+ }
514
+ },
515
+ "required": [
516
+ "schemaVersion",
517
+ "realmId",
518
+ "channel",
519
+ "revision",
520
+ "issuedAt",
521
+ "expiresAt",
522
+ "keyId",
523
+ "bodyHash",
524
+ "body",
525
+ "signature"
526
+ ],
527
+ "additionalProperties": false,
528
+ "x-arcforges-max-bytes": 1048576,
529
+ "x-arcforges-schema-version": "1"
530
+ },
531
+ "RealmSigningKey": {
532
+ "title": "RealmSigningKey",
533
+ "type": "object",
534
+ "properties": {
535
+ "keyId": {
536
+ "type": "string",
537
+ "minLength": 1,
538
+ "maxLength": 128,
539
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
540
+ },
541
+ "algorithm": {
542
+ "type": "string",
543
+ "const": "Ed25519"
544
+ },
545
+ "publicKey": {
546
+ "type": "string",
547
+ "minLength": 1,
548
+ "maxLength": 43,
549
+ "pattern": "^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$"
550
+ },
551
+ "notBefore": {
552
+ "type": "string",
553
+ "minLength": 1,
554
+ "maxLength": 32,
555
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$"
556
+ },
557
+ "notAfter": {
558
+ "type": "string",
559
+ "minLength": 1,
560
+ "maxLength": 32,
561
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$"
562
+ }
563
+ },
564
+ "required": ["keyId", "algorithm", "publicKey", "notBefore", "notAfter"],
565
+ "additionalProperties": false
566
+ },
567
+ "RealmDescriptor": {
568
+ "title": "RealmDescriptor",
569
+ "type": "object",
570
+ "properties": {
571
+ "schemaVersion": {
572
+ "type": "string",
573
+ "const": "realm.v1"
574
+ },
575
+ "realmId": {
576
+ "type": "string",
577
+ "minLength": 1,
578
+ "maxLength": 36,
579
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
580
+ "x-arcforges-rules": ["nonzeroUuid"]
581
+ },
582
+ "kind": {
583
+ "type": "string",
584
+ "enum": ["official", "selfHosted"]
585
+ },
586
+ "apiOrigin": {
587
+ "type": "string",
588
+ "minLength": 1,
589
+ "maxLength": 512,
590
+ "pattern": "^https://[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*(?::(?:6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}))?$"
591
+ },
592
+ "accountOrigin": {
593
+ "type": "string",
594
+ "minLength": 1,
595
+ "maxLength": 512,
596
+ "pattern": "^https://[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*(?::(?:6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}))?$"
597
+ },
598
+ "objectOrigin": {
599
+ "type": "string",
600
+ "minLength": 1,
601
+ "maxLength": 512,
602
+ "pattern": "^https://[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*(?::(?:6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}))?$"
603
+ },
604
+ "supportedContractMajors": {
605
+ "type": "array",
606
+ "items": {
607
+ "type": "integer",
608
+ "minimum": 1,
609
+ "maximum": 4294967295
610
+ },
611
+ "minItems": 1,
612
+ "maxItems": 32
613
+ },
614
+ "nativeClientRedirects": {
615
+ "type": "array",
616
+ "items": {
617
+ "type": "string",
618
+ "minLength": 1,
619
+ "maxLength": 2048,
620
+ "pattern": "^[A-Za-z][A-Za-z0-9+.-]*:[^\\s]+$"
621
+ },
622
+ "minItems": 1,
623
+ "maxItems": 32
624
+ },
625
+ "authMethods": {
626
+ "type": "array",
627
+ "items": {
628
+ "type": "string",
629
+ "minLength": 1,
630
+ "maxLength": 128,
631
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
632
+ },
633
+ "minItems": 1,
634
+ "maxItems": 16
635
+ },
636
+ "passkeyRpId": {
637
+ "type": "string",
638
+ "minLength": 1,
639
+ "maxLength": 253,
640
+ "pattern": "^[A-Za-z0-9.-]+$"
641
+ },
642
+ "signingKeys": {
643
+ "type": "array",
644
+ "items": {
645
+ "$ref": "#/$defs/RealmSigningKey"
646
+ },
647
+ "minItems": 1,
648
+ "maxItems": 16
649
+ },
650
+ "configGeneration": {
651
+ "type": "string",
652
+ "minLength": 1,
653
+ "maxLength": 20,
654
+ "pattern": "^(0|[1-9][0-9]*)$",
655
+ "x-arcforges-rules": ["uint64String"]
656
+ },
657
+ "issuedAt": {
658
+ "type": "string",
659
+ "minLength": 1,
660
+ "maxLength": 32,
661
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$"
662
+ },
663
+ "expiresAt": {
664
+ "type": "string",
665
+ "minLength": 1,
666
+ "maxLength": 32,
667
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$"
668
+ },
669
+ "signature": {
670
+ "type": "string",
671
+ "minLength": 1,
672
+ "maxLength": 86,
673
+ "pattern": "^[A-Za-z0-9_-]{85}[AQgw]$"
674
+ }
675
+ },
676
+ "required": [
677
+ "schemaVersion",
678
+ "realmId",
679
+ "kind",
680
+ "apiOrigin",
681
+ "accountOrigin",
682
+ "objectOrigin",
683
+ "supportedContractMajors",
684
+ "nativeClientRedirects",
685
+ "authMethods",
686
+ "signingKeys",
687
+ "configGeneration",
688
+ "issuedAt",
689
+ "expiresAt",
690
+ "signature"
691
+ ],
692
+ "additionalProperties": false,
693
+ "x-arcforges-max-bytes": 32768,
694
+ "x-arcforges-schema-version": "1"
695
+ },
696
+ "IndexShard": {
697
+ "title": "IndexShard",
698
+ "type": "object",
699
+ "properties": {
700
+ "url": {
701
+ "type": "string",
702
+ "minLength": 1,
703
+ "maxLength": 2048,
704
+ "pattern": "^https://[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*(?::(?:6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}))?(/[^\\s#]*)?$"
705
+ },
706
+ "count": {
707
+ "type": "integer",
708
+ "minimum": 0,
709
+ "maximum": 1000
710
+ },
711
+ "sha256": {
712
+ "type": "string",
713
+ "minLength": 1,
714
+ "maxLength": 64,
715
+ "pattern": "^[0-9a-f]{64}$"
716
+ }
717
+ },
718
+ "required": ["url", "count", "sha256"],
719
+ "additionalProperties": false
720
+ },
721
+ "RevocationShard": {
722
+ "title": "RevocationShard",
723
+ "type": "object",
724
+ "properties": {
725
+ "url": {
726
+ "type": "string",
727
+ "minLength": 1,
728
+ "maxLength": 2048,
729
+ "pattern": "^https://[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*(?::(?:6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}))?(/[^\\s#]*)?$"
730
+ },
731
+ "count": {
732
+ "type": "integer",
733
+ "minimum": 0,
734
+ "maximum": 1000
735
+ },
736
+ "sha256": {
737
+ "type": "string",
738
+ "minLength": 1,
739
+ "maxLength": 64,
740
+ "pattern": "^[0-9a-f]{64}$"
741
+ }
742
+ },
743
+ "required": ["url", "count", "sha256"],
744
+ "additionalProperties": false
745
+ }
746
+ },
747
+ "x-arcforges-schema-version": "1"
748
+ }