@hyperscale0/adl 1.0.0-alpha.2 → 1.0.0-beta.10

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 (43) hide show
  1. package/CHANGELOG.md +46 -2
  2. package/LICENSE.md +356 -0
  3. package/NOTICE.md +8 -0
  4. package/README.md +29 -140
  5. package/conformance/cases.json +50 -764
  6. package/conformance/subject-adapter.ts +31 -0
  7. package/dist/boundary-fixture.d.ts +24 -0
  8. package/dist/boundary-fixture.d.ts.map +1 -0
  9. package/dist/boundary-fixture.js +34 -0
  10. package/dist/boundary-fixture.js.map +1 -0
  11. package/dist/index.d.ts +68 -156
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +100 -77
  14. package/dist/index.js.map +1 -1
  15. package/dist/vocabulary.d.ts +3 -57
  16. package/dist/vocabulary.d.ts.map +1 -1
  17. package/dist/vocabulary.js +12 -84
  18. package/dist/vocabulary.js.map +1 -1
  19. package/docs/assets/adl.svg +11 -0
  20. package/docs/assets/brand/adl-horizontal-white.svg +1 -0
  21. package/docs/assets/brand/adl-horizontal.svg +1 -0
  22. package/docs/assets/brand/adl-stacked-white.svg +1 -0
  23. package/docs/assets/brand/adl-stacked.svg +1 -0
  24. package/docs/assets/brand/manifest.json +30 -0
  25. package/docs/authoring-guide.md +37 -416
  26. package/package.json +17 -12
  27. package/spec/manifest.schema.json +646 -439
  28. package/LICENSE +0 -661
  29. package/LICENSING.md +0 -51
  30. package/TRADEMARKS.md +0 -30
  31. package/dist/conformance.d.ts +0 -41
  32. package/dist/conformance.d.ts.map +0 -1
  33. package/dist/conformance.js +0 -486
  34. package/dist/conformance.js.map +0 -1
  35. package/examples/meridian-bank/README.md +0 -65
  36. package/examples/meridian-bank/example.spec.ts +0 -162
  37. package/examples/meridian-bank/fixtures/payout-status-replay.json +0 -19
  38. package/examples/meridian-bank/fixtures/payout-status-settled.json +0 -19
  39. package/examples/meridian-bank/fixtures/payout-submit-accepted.json +0 -26
  40. package/examples/meridian-bank/fixtures/payout-submit-declined.json +0 -25
  41. package/examples/meridian-bank/fixtures/statement-camt053.json +0 -45
  42. package/examples/meridian-bank/fixtures/webhook-payout-settled.json +0 -11
  43. package/examples/meridian-bank/index.ts +0 -262
@@ -32,7 +32,6 @@
32
32
  "enum": [
33
33
  "none",
34
34
  "rest",
35
- "batch_reconcile",
36
35
  "sync_clearance"
37
36
  ]
38
37
  },
@@ -112,469 +111,717 @@
112
111
  "additionalProperties": {
113
112
  "$ref": "#/$defs/webhookTransitionPlan"
114
113
  }
115
- },
116
- "profile": {
117
- "type": "object",
118
- "additionalProperties": false,
119
- "required": [
120
- "auth",
121
- "executedReadBack",
122
- "financialAddressProvisioning",
123
- "idempotencySpine",
124
- "kind",
125
- "lifecycleVocabulary",
126
- "limitFacts",
127
- "notificationMechanisms",
128
- "statementFormats",
129
- "windows",
130
- "wireCodec"
131
- ],
132
- "properties": {
133
- "kind": {
134
- "const": "partner_bank"
135
- },
136
- "wireCodec": {
137
- "type": "string",
138
- "enum": [
139
- "rest_json",
140
- "iso20022_xml",
141
- "swift_mt"
142
- ]
143
- },
144
- "auth": {
114
+ }
115
+ },
116
+ "$defs": {
117
+ "objectField": {
118
+ "oneOf": [
119
+ {
145
120
  "type": "object",
146
- "additionalProperties": false,
147
- "required": [
148
- "envelope",
149
- "signing"
150
- ],
151
121
  "properties": {
152
- "envelope": {
122
+ "name": {
153
123
  "type": "string",
154
- "enum": [
155
- "oauth2_client_credentials",
156
- "oauth2_password",
157
- "bearer_out_of_band",
158
- "mutual_tls",
159
- "signed_file"
160
- ]
124
+ "maxLength": 80,
125
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
161
126
  },
162
- "signing": {
127
+ "label": {
163
128
  "type": "string",
164
- "enum": [
165
- "jws",
166
- "detached_signature",
167
- "signed_file"
168
- ]
129
+ "minLength": 1,
130
+ "maxLength": 2048
131
+ },
132
+ "optional": {
133
+ "type": "boolean",
134
+ "const": true
135
+ },
136
+ "description": {
137
+ "type": "string",
138
+ "minLength": 1,
139
+ "maxLength": 2048
140
+ },
141
+ "sensitive": {
142
+ "type": "boolean",
143
+ "const": true
144
+ },
145
+ "type": {
146
+ "type": "string",
147
+ "const": "money"
148
+ },
149
+ "value": {
150
+ "type": "string",
151
+ "pattern": "^(0|[1-9][0-9]{0,17})$"
152
+ },
153
+ "minimum": {
154
+ "type": "string",
155
+ "pattern": "^(0|[1-9][0-9]{0,17})$"
156
+ },
157
+ "maximum": {
158
+ "type": "string",
159
+ "pattern": "^(0|[1-9][0-9]{0,17})$"
169
160
  }
170
- }
171
- },
172
- "charges": {
173
- "type": "object",
174
- "additionalProperties": false,
161
+ },
175
162
  "required": [
176
- "posting",
177
- "vat"
163
+ "name",
164
+ "type"
178
165
  ],
166
+ "additionalProperties": false
167
+ },
168
+ {
169
+ "type": "object",
179
170
  "properties": {
180
- "narratives": {
171
+ "name": {
172
+ "type": "string",
173
+ "maxLength": 80,
174
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
175
+ },
176
+ "label": {
177
+ "type": "string",
178
+ "minLength": 1,
179
+ "maxLength": 2048
180
+ },
181
+ "optional": {
182
+ "type": "boolean",
183
+ "const": true
184
+ },
185
+ "description": {
186
+ "type": "string",
187
+ "minLength": 1,
188
+ "maxLength": 2048
189
+ },
190
+ "sensitive": {
191
+ "type": "boolean",
192
+ "const": true
193
+ },
194
+ "type": {
195
+ "type": "string",
196
+ "const": "ref"
197
+ },
198
+ "targetKind": {
199
+ "type": "string",
200
+ "enum": [
201
+ "instrument",
202
+ "object"
203
+ ]
204
+ },
205
+ "targetFamily": {
181
206
  "type": "object",
182
- "additionalProperties": false,
207
+ "properties": {
208
+ "module": {
209
+ "type": "string",
210
+ "maxLength": 80,
211
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
212
+ },
213
+ "exportPath": {
214
+ "type": "string",
215
+ "maxLength": 240,
216
+ "pattern": "^[a-z][a-zA-Z0-9_]*(?:\\.[a-z][a-zA-Z0-9_]*)*$"
217
+ },
218
+ "revision": {
219
+ "type": "integer",
220
+ "exclusiveMinimum": 0,
221
+ "maximum": 9007199254740991
222
+ }
223
+ },
183
224
  "required": [
184
- "charge",
185
- "vat"
225
+ "module",
226
+ "exportPath",
227
+ "revision"
186
228
  ],
187
- "properties": {
188
- "charge": {
189
- "type": "array",
190
- "items": {
191
- "type": "string",
192
- "pattern": "\\S"
193
- }
229
+ "additionalProperties": false
230
+ },
231
+ "target": {
232
+ "anyOf": [
233
+ {
234
+ "type": "string",
235
+ "maxLength": 80,
236
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
194
237
  },
195
- "vat": {
238
+ {
239
+ "minItems": 1,
240
+ "maxItems": 16,
196
241
  "type": "array",
197
242
  "items": {
198
243
  "type": "string",
199
- "pattern": "\\S"
244
+ "maxLength": 80,
245
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
200
246
  }
201
247
  }
202
- }
248
+ ]
249
+ }
250
+ },
251
+ "required": [
252
+ "name",
253
+ "type",
254
+ "targetKind",
255
+ "target"
256
+ ],
257
+ "additionalProperties": false
258
+ },
259
+ {
260
+ "type": "object",
261
+ "properties": {
262
+ "name": {
263
+ "type": "string",
264
+ "maxLength": 80,
265
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
203
266
  },
204
- "posting": {
267
+ "label": {
205
268
  "type": "string",
206
- "enum": [
207
- "post_hoc",
208
- "at_instruction"
209
- ]
269
+ "minLength": 1,
270
+ "maxLength": 2048
210
271
  },
211
- "vat": {
272
+ "optional": {
273
+ "type": "boolean",
274
+ "const": true
275
+ },
276
+ "description": {
212
277
  "type": "string",
213
- "enum": [
214
- "separate_line",
215
- "included_in_charge"
216
- ]
278
+ "minLength": 1,
279
+ "maxLength": 2048
280
+ },
281
+ "sensitive": {
282
+ "type": "boolean",
283
+ "const": true
284
+ },
285
+ "type": {
286
+ "type": "string",
287
+ "const": "date"
288
+ },
289
+ "value": {
290
+ "type": "string",
291
+ "format": "date-time",
292
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
217
293
  }
218
- }
219
- },
220
- "executedReadBack": {
221
- "type": "object",
222
- "additionalProperties": false,
294
+ },
223
295
  "required": [
224
- "fxRate",
225
- "railSubstitution"
296
+ "name",
297
+ "type"
226
298
  ],
299
+ "additionalProperties": false
300
+ },
301
+ {
302
+ "type": "object",
227
303
  "properties": {
228
- "fxRate": {
304
+ "name": {
229
305
  "type": "string",
230
- "enum": [
231
- "final_status_only"
232
- ]
306
+ "maxLength": 80,
307
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
233
308
  },
234
- "railSubstitution": {
309
+ "label": {
235
310
  "type": "string",
236
- "enum": [
237
- "ips_to_sarie",
238
- "none"
239
- ]
311
+ "minLength": 1,
312
+ "maxLength": 2048
313
+ },
314
+ "optional": {
315
+ "type": "boolean",
316
+ "const": true
317
+ },
318
+ "description": {
319
+ "type": "string",
320
+ "minLength": 1,
321
+ "maxLength": 2048
322
+ },
323
+ "sensitive": {
324
+ "type": "boolean",
325
+ "const": true
326
+ },
327
+ "type": {
328
+ "type": "string",
329
+ "const": "duration"
330
+ },
331
+ "value": {
332
+ "type": "integer",
333
+ "exclusiveMinimum": 0,
334
+ "maximum": 9007199254740991
240
335
  }
241
- }
336
+ },
337
+ "required": [
338
+ "name",
339
+ "type"
340
+ ],
341
+ "additionalProperties": false
242
342
  },
243
- "idempotencySpine": {
343
+ {
244
344
  "type": "object",
245
- "additionalProperties": false,
345
+ "properties": {
346
+ "name": {
347
+ "type": "string",
348
+ "maxLength": 80,
349
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
350
+ },
351
+ "label": {
352
+ "type": "string",
353
+ "minLength": 1,
354
+ "maxLength": 2048
355
+ },
356
+ "optional": {
357
+ "type": "boolean",
358
+ "const": true
359
+ },
360
+ "description": {
361
+ "type": "string",
362
+ "minLength": 1,
363
+ "maxLength": 2048
364
+ },
365
+ "sensitive": {
366
+ "type": "boolean",
367
+ "const": true
368
+ },
369
+ "type": {
370
+ "type": "string",
371
+ "const": "text"
372
+ },
373
+ "value": {
374
+ "type": "string",
375
+ "minLength": 1,
376
+ "maxLength": 2048
377
+ },
378
+ "minLength": {
379
+ "type": "integer",
380
+ "exclusiveMinimum": 0,
381
+ "maximum": 2048
382
+ },
383
+ "maxLength": {
384
+ "type": "integer",
385
+ "exclusiveMinimum": 0,
386
+ "maximum": 2048
387
+ },
388
+ "pattern": {
389
+ "type": "string",
390
+ "pattern": "^\\^\\[[A-Za-z0-9-]+\\]\\{[1-9][0-9]{0,3}\\}\\$$"
391
+ }
392
+ },
246
393
  "required": [
247
- "dedupeKeys",
248
- "endToEndId",
249
- "instructionId",
250
- "paymentReference"
394
+ "name",
395
+ "type"
251
396
  ],
397
+ "additionalProperties": false
398
+ },
399
+ {
400
+ "type": "object",
252
401
  "properties": {
253
- "dedupeKeys": {
254
- "type": "array",
255
- "items": {
256
- "type": "string",
257
- "enum": [
258
- "client",
259
- "instructionId",
260
- "endToEndId",
261
- "paymentReference"
262
- ]
263
- },
264
- "minItems": 1,
265
- "uniqueItems": true
402
+ "name": {
403
+ "type": "string",
404
+ "maxLength": 80,
405
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
406
+ },
407
+ "label": {
408
+ "type": "string",
409
+ "minLength": 1,
410
+ "maxLength": 2048
266
411
  },
267
- "endToEndId": {
268
- "$ref": "#/$defs/referenceLimit"
412
+ "optional": {
413
+ "type": "boolean",
414
+ "const": true
269
415
  },
270
- "instructionId": {
271
- "$ref": "#/$defs/referenceLimit"
416
+ "description": {
417
+ "type": "string",
418
+ "minLength": 1,
419
+ "maxLength": 2048
420
+ },
421
+ "sensitive": {
422
+ "type": "boolean",
423
+ "const": true
424
+ },
425
+ "type": {
426
+ "type": "string",
427
+ "const": "integer"
428
+ },
429
+ "value": {
430
+ "type": "integer",
431
+ "minimum": -9007199254740991,
432
+ "maximum": 9007199254740991
272
433
  },
273
- "paymentReference": {
274
- "$ref": "#/$defs/referenceLimit"
434
+ "minimum": {
435
+ "type": "integer",
436
+ "minimum": -9007199254740991,
437
+ "maximum": 9007199254740991
438
+ },
439
+ "maximum": {
440
+ "type": "integer",
441
+ "minimum": -9007199254740991,
442
+ "maximum": 9007199254740991
275
443
  }
276
- }
444
+ },
445
+ "required": [
446
+ "name",
447
+ "type"
448
+ ],
449
+ "additionalProperties": false
277
450
  },
278
- "lifecycleVocabulary": {
451
+ {
279
452
  "type": "object",
280
- "minProperties": 1,
281
- "additionalProperties": {
282
- "type": "string",
283
- "enum": [
284
- "received",
285
- "accepted",
286
- "processed",
287
- "failed",
288
- "returned",
289
- "duplicate_original_succeeded",
290
- "duplicate_original_rejected",
291
- "duplicate_suspected_rejected"
292
- ]
293
- }
453
+ "properties": {
454
+ "name": {
455
+ "type": "string",
456
+ "maxLength": 80,
457
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
458
+ },
459
+ "label": {
460
+ "type": "string",
461
+ "minLength": 1,
462
+ "maxLength": 2048
463
+ },
464
+ "optional": {
465
+ "type": "boolean",
466
+ "const": true
467
+ },
468
+ "description": {
469
+ "type": "string",
470
+ "minLength": 1,
471
+ "maxLength": 2048
472
+ },
473
+ "sensitive": {
474
+ "type": "boolean",
475
+ "const": true
476
+ },
477
+ "type": {
478
+ "type": "string",
479
+ "const": "percent"
480
+ },
481
+ "value": {
482
+ "type": "integer",
483
+ "minimum": 0,
484
+ "maximum": 10000
485
+ }
486
+ },
487
+ "required": [
488
+ "name",
489
+ "type"
490
+ ],
491
+ "additionalProperties": false
294
492
  },
295
- "limitFacts": {
493
+ {
296
494
  "type": "object",
297
- "additionalProperties": false,
495
+ "properties": {
496
+ "name": {
497
+ "type": "string",
498
+ "maxLength": 80,
499
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
500
+ },
501
+ "label": {
502
+ "type": "string",
503
+ "minLength": 1,
504
+ "maxLength": 2048
505
+ },
506
+ "optional": {
507
+ "type": "boolean",
508
+ "const": true
509
+ },
510
+ "description": {
511
+ "type": "string",
512
+ "minLength": 1,
513
+ "maxLength": 2048
514
+ },
515
+ "sensitive": {
516
+ "type": "boolean",
517
+ "const": true
518
+ },
519
+ "type": {
520
+ "type": "string",
521
+ "const": "boolean"
522
+ },
523
+ "value": {
524
+ "type": "boolean"
525
+ }
526
+ },
298
527
  "required": [
299
- "access",
300
- "dimensions"
528
+ "name",
529
+ "type"
301
530
  ],
531
+ "additionalProperties": false
532
+ },
533
+ {
534
+ "type": "object",
302
535
  "properties": {
303
- "access": {
536
+ "name": {
304
537
  "type": "string",
305
- "enum": [
306
- "read_only"
307
- ]
538
+ "maxLength": 80,
539
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
540
+ },
541
+ "label": {
542
+ "type": "string",
543
+ "minLength": 1,
544
+ "maxLength": 2048
545
+ },
546
+ "optional": {
547
+ "type": "boolean",
548
+ "const": true
308
549
  },
309
- "dimensions": {
550
+ "description": {
551
+ "type": "string",
552
+ "minLength": 1,
553
+ "maxLength": 2048
554
+ },
555
+ "sensitive": {
556
+ "type": "boolean",
557
+ "const": true
558
+ },
559
+ "type": {
560
+ "type": "string",
561
+ "const": "enum"
562
+ },
563
+ "values": {
564
+ "minItems": 1,
565
+ "maxItems": 64,
310
566
  "type": "array",
311
567
  "items": {
312
568
  "type": "string",
313
- "enum": [
314
- "daily",
315
- "per_transaction",
316
- "foreign_exchange"
317
- ]
318
- },
319
- "uniqueItems": true
569
+ "maxLength": 80,
570
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
571
+ }
572
+ },
573
+ "value": {
574
+ "type": "string",
575
+ "maxLength": 80,
576
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
320
577
  }
321
- }
322
- },
323
- "notificationMechanisms": {
324
- "type": "array",
325
- "items": {
326
- "type": "string",
327
- "enum": [
328
- "poll",
329
- "webhook"
330
- ]
331
578
  },
332
- "uniqueItems": true,
333
- "contains": {
334
- "const": "poll"
335
- }
336
- },
337
- "statementDebitReference": {
338
- "type": "string",
339
- "enum": [
340
- "bank_reference",
341
- "customer_reference"
342
- ]
343
- },
344
- "statementFormats": {
345
- "type": "array",
346
- "items": {
347
- "type": "string",
348
- "enum": [
349
- "mt940",
350
- "mt942",
351
- "camt_052",
352
- "camt_053",
353
- "obie_json"
354
- ]
355
- },
356
- "uniqueItems": true
357
- },
358
- "financialAddressProvisioning": {
359
- "type": "object",
360
- "additionalProperties": false,
361
579
  "required": [
362
- "mechanism",
363
- "pricing",
364
- "quota"
580
+ "name",
581
+ "type",
582
+ "values"
365
583
  ],
584
+ "additionalProperties": false
585
+ },
586
+ {
587
+ "type": "object",
366
588
  "properties": {
367
- "mechanism": {
589
+ "name": {
368
590
  "type": "string",
369
- "enum": [
370
- "api",
371
- "scheme_file"
372
- ]
591
+ "maxLength": 80,
592
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
593
+ },
594
+ "label": {
595
+ "type": "string",
596
+ "minLength": 1,
597
+ "maxLength": 2048
598
+ },
599
+ "optional": {
600
+ "type": "boolean",
601
+ "const": true
602
+ },
603
+ "description": {
604
+ "type": "string",
605
+ "minLength": 1,
606
+ "maxLength": 2048
607
+ },
608
+ "sensitive": {
609
+ "type": "boolean",
610
+ "const": true
611
+ },
612
+ "type": {
613
+ "type": "string",
614
+ "const": "list"
373
615
  },
374
- "pricing": {
616
+ "item": {
375
617
  "type": "string",
376
618
  "enum": [
377
- "none",
378
- "per_address"
619
+ "money",
620
+ "date",
621
+ "text",
622
+ "integer",
623
+ "ref"
379
624
  ]
380
625
  },
381
- "quota": {
626
+ "targetKind": {
382
627
  "type": "string",
383
628
  "enum": [
384
- "none",
385
- "provider_enforced"
629
+ "instrument",
630
+ "object"
386
631
  ]
387
- }
388
- }
389
- },
390
- "windows": {
391
- "type": "object",
392
- "additionalProperties": false,
393
- "required": [
394
- "paymentCutoff",
395
- "statements",
396
- "valueDateMaxDaysAhead"
397
- ],
398
- "properties": {
399
- "paymentCutoff": {
632
+ },
633
+ "targetFamily": {
400
634
  "type": "object",
401
- "additionalProperties": false,
402
- "required": [
403
- "afterCutoffValueDate",
404
- "beforeCutoffValueDate",
405
- "time",
406
- "timeZone"
407
- ],
408
635
  "properties": {
409
- "afterCutoffValueDate": {
410
- "$ref": "#/$defs/valueDateOffset"
411
- },
412
- "beforeCutoffValueDate": {
413
- "$ref": "#/$defs/valueDateOffset"
414
- },
415
- "time": {
636
+ "module": {
416
637
  "type": "string",
417
- "pattern": "^\\d{2}:\\d{2}$"
638
+ "maxLength": 80,
639
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
418
640
  },
419
- "timeZone": {
641
+ "exportPath": {
420
642
  "type": "string",
421
- "pattern": "\\S"
422
- }
423
- }
424
- },
425
- "statements": {
426
- "type": "object",
427
- "additionalProperties": false,
428
- "properties": {
429
- "mt940": {
430
- "type": "object",
431
- "additionalProperties": false,
432
- "required": [
433
- "availability"
434
- ],
435
- "properties": {
436
- "availability": {
437
- "type": "string",
438
- "enum": [
439
- "T-1",
440
- "today_only"
441
- ]
442
- },
443
- "lookbackDays": {
444
- "type": "integer",
445
- "minimum": 1
446
- },
447
- "statementDaysPerRequest": {
448
- "type": "integer",
449
- "minimum": 1
450
- }
451
- }
452
- },
453
- "mt942": {
454
- "type": "object",
455
- "additionalProperties": false,
456
- "required": [
457
- "availability"
458
- ],
459
- "properties": {
460
- "availability": {
461
- "type": "string",
462
- "enum": [
463
- "T-1",
464
- "today_only"
465
- ]
466
- },
467
- "lookbackDays": {
468
- "type": "integer",
469
- "minimum": 1
470
- },
471
- "statementDaysPerRequest": {
472
- "type": "integer",
473
- "minimum": 1
474
- }
475
- }
476
- },
477
- "camt_052": {
478
- "type": "object",
479
- "additionalProperties": false,
480
- "required": [
481
- "availability"
482
- ],
483
- "properties": {
484
- "availability": {
485
- "type": "string",
486
- "enum": [
487
- "T-1",
488
- "today_only"
489
- ]
490
- },
491
- "lookbackDays": {
492
- "type": "integer",
493
- "minimum": 1
494
- },
495
- "statementDaysPerRequest": {
496
- "type": "integer",
497
- "minimum": 1
498
- }
499
- }
500
- },
501
- "camt_053": {
502
- "type": "object",
503
- "additionalProperties": false,
504
- "required": [
505
- "availability"
506
- ],
507
- "properties": {
508
- "availability": {
509
- "type": "string",
510
- "enum": [
511
- "T-1",
512
- "today_only"
513
- ]
514
- },
515
- "lookbackDays": {
516
- "type": "integer",
517
- "minimum": 1
518
- },
519
- "statementDaysPerRequest": {
520
- "type": "integer",
521
- "minimum": 1
522
- }
523
- }
643
+ "maxLength": 240,
644
+ "pattern": "^[a-z][a-zA-Z0-9_]*(?:\\.[a-z][a-zA-Z0-9_]*)*$"
524
645
  },
525
- "obie_json": {
526
- "type": "object",
527
- "additionalProperties": false,
528
- "required": [
529
- "availability"
530
- ],
531
- "properties": {
532
- "availability": {
533
- "type": "string",
534
- "enum": [
535
- "T-1",
536
- "today_only"
537
- ]
538
- },
539
- "lookbackDays": {
540
- "type": "integer",
541
- "minimum": 1
542
- },
543
- "statementDaysPerRequest": {
544
- "type": "integer",
545
- "minimum": 1
546
- }
547
- }
646
+ "revision": {
647
+ "type": "integer",
648
+ "exclusiveMinimum": 0,
649
+ "maximum": 9007199254740991
548
650
  }
549
- }
651
+ },
652
+ "required": [
653
+ "module",
654
+ "exportPath",
655
+ "revision"
656
+ ],
657
+ "additionalProperties": false
658
+ },
659
+ "target": {
660
+ "type": "string",
661
+ "maxLength": 80,
662
+ "pattern": "^[a-z][a-zA-Z0-9_]*$"
550
663
  },
551
- "valueDateMaxDaysAhead": {
664
+ "maxItems": {
552
665
  "type": "integer",
553
- "minimum": 1
666
+ "minimum": 1,
667
+ "maximum": 366
554
668
  }
555
- }
669
+ },
670
+ "required": [
671
+ "name",
672
+ "type",
673
+ "item",
674
+ "maxItems"
675
+ ],
676
+ "additionalProperties": false
556
677
  }
557
- }
558
- }
559
- },
560
- "$defs": {
561
- "referenceLimit": {
678
+ ]
679
+ },
680
+ "BoundaryInstruction": {
681
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
682
+ "readOnly": true,
562
683
  "type": "object",
563
- "additionalProperties": false,
684
+ "properties": {
685
+ "id": {
686
+ "type": "string",
687
+ "minLength": 1,
688
+ "maxLength": 240
689
+ },
690
+ "environment": {
691
+ "type": "string",
692
+ "enum": [
693
+ "sandbox",
694
+ "live"
695
+ ]
696
+ },
697
+ "tenantId": {
698
+ "type": "string",
699
+ "minLength": 1,
700
+ "maxLength": 240
701
+ },
702
+ "productId": {
703
+ "type": "string",
704
+ "minLength": 1,
705
+ "maxLength": 240
706
+ },
707
+ "productBuildId": {
708
+ "type": "string",
709
+ "minLength": 1,
710
+ "maxLength": 240
711
+ },
712
+ "buildDigest": {
713
+ "type": "string",
714
+ "minLength": 1,
715
+ "maxLength": 240
716
+ },
717
+ "target": {
718
+ "readOnly": true,
719
+ "type": "object",
720
+ "properties": {
721
+ "kind": {
722
+ "type": "string",
723
+ "minLength": 1,
724
+ "maxLength": 240
725
+ },
726
+ "attachment": {
727
+ "type": "string",
728
+ "minLength": 1,
729
+ "maxLength": 240
730
+ },
731
+ "instanceId": {
732
+ "type": "string",
733
+ "minLength": 1,
734
+ "maxLength": 240
735
+ }
736
+ },
737
+ "required": [
738
+ "kind",
739
+ "attachment",
740
+ "instanceId"
741
+ ],
742
+ "additionalProperties": false
743
+ },
744
+ "sourceAccountId": {
745
+ "type": "string",
746
+ "minLength": 1,
747
+ "maxLength": 240
748
+ },
749
+ "destinationAccountId": {
750
+ "type": "string",
751
+ "minLength": 1,
752
+ "maxLength": 240
753
+ },
754
+ "amount": {
755
+ "type": "string",
756
+ "pattern": "^[1-9][0-9]{0,17}$"
757
+ },
758
+ "currency": {
759
+ "type": "string",
760
+ "pattern": "^[A-Z]{3}$"
761
+ },
762
+ "adapter": {
763
+ "type": "string",
764
+ "pattern": "^[a-z][a-z0-9_.-]{0,79}$"
765
+ }
766
+ },
564
767
  "required": [
565
- "maxLength"
768
+ "id",
769
+ "environment",
770
+ "tenantId",
771
+ "productId",
772
+ "productBuildId",
773
+ "buildDigest",
774
+ "target",
775
+ "sourceAccountId",
776
+ "destinationAccountId",
777
+ "amount",
778
+ "currency",
779
+ "adapter"
566
780
  ],
781
+ "additionalProperties": false
782
+ },
783
+ "BoundaryObservation": {
784
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
785
+ "readOnly": true,
786
+ "type": "object",
567
787
  "properties": {
568
- "maxLength": {
569
- "type": "integer",
570
- "minimum": 1
788
+ "adapter": {
789
+ "type": "string",
790
+ "pattern": "^[a-z][a-z0-9_.-]{0,79}$"
791
+ },
792
+ "externalReference": {
793
+ "type": "string",
794
+ "minLength": 1,
795
+ "maxLength": 240
796
+ },
797
+ "instructionId": {
798
+ "type": "string",
799
+ "minLength": 1,
800
+ "maxLength": 240
801
+ },
802
+ "outcome": {
803
+ "type": "string",
804
+ "enum": [
805
+ "acknowledged",
806
+ "unknown",
807
+ "confirmed",
808
+ "rejected"
809
+ ]
810
+ },
811
+ "observedAt": {
812
+ "type": "string",
813
+ "format": "date-time",
814
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
571
815
  }
572
- }
573
- },
574
- "valueDateOffset": {
575
- "type": "string",
576
- "description": "Banking days after the instruction date.",
577
- "pattern": "^D\\+(0|[1-9]\\d*)$"
816
+ },
817
+ "required": [
818
+ "adapter",
819
+ "externalReference",
820
+ "instructionId",
821
+ "outcome",
822
+ "observedAt"
823
+ ],
824
+ "additionalProperties": false
578
825
  },
579
826
  "operationBinding": {
580
827
  "type": "object",
@@ -622,65 +869,25 @@
622
869
  "type": "string",
623
870
  "pattern": "\\S"
624
871
  },
625
- "statusEnquiry": {
626
- "$ref": "#/$defs/statusEnquiry"
627
- }
628
- }
629
- },
630
- "statusEnquiry": {
631
- "type": "object",
632
- "additionalProperties": false,
633
- "required": [
634
- "keys",
635
- "pathTemplate"
636
- ],
637
- "properties": {
638
- "keys": {
639
- "type": "string",
640
- "enum": [
641
- "instruction_id",
642
- "provider_reference"
643
- ]
644
- },
645
- "pathTemplate": {
646
- "type": "string",
647
- "pattern": "\\S"
648
- }
649
- },
650
- "allOf": [
651
- {
652
- "if": {
653
- "properties": {
654
- "keys": {
655
- "const": "instruction_id"
656
- }
657
- }
658
- },
659
- "then": {
660
- "properties": {
661
- "pathTemplate": {
662
- "pattern": "\\{instructionId\\}"
663
- }
664
- }
665
- }
666
- },
667
- {
668
- "if": {
669
- "properties": {
670
- "keys": {
671
- "const": "provider_reference"
672
- }
673
- }
674
- },
675
- "then": {
676
- "properties": {
677
- "pathTemplate": {
678
- "pattern": "\\{providerReference\\}"
872
+ "subjectRequirements": {
873
+ "type": "array",
874
+ "maxItems": 128,
875
+ "items": {
876
+ "allOf": [
877
+ {
878
+ "$ref": "#/$defs/objectField"
879
+ },
880
+ {
881
+ "not": {
882
+ "required": [
883
+ "optional"
884
+ ]
885
+ }
679
886
  }
680
- }
887
+ ]
681
888
  }
682
889
  }
683
- ]
890
+ }
684
891
  },
685
892
  "webhookTransitionPlan": {
686
893
  "type": "object",