@hyperscale0/adl 1.0.0-beta.6 → 1.0.0-beta.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.
- package/CHANGELOG.md +6 -1
- package/README.md +8 -79
- package/conformance/cases.json +50 -764
- package/conformance/subject-adapter.ts +31 -0
- package/dist/boundary-fixture.d.ts +24 -0
- package/dist/boundary-fixture.d.ts.map +1 -0
- package/dist/boundary-fixture.js +34 -0
- package/dist/boundary-fixture.js.map +1 -0
- package/dist/index.d.ts +68 -156
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +100 -77
- package/dist/index.js.map +1 -1
- package/dist/vocabulary.d.ts +3 -57
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +12 -84
- package/dist/vocabulary.js.map +1 -1
- package/docs/authoring-guide.md +37 -417
- package/package.json +11 -6
- package/spec/manifest.schema.json +511 -446
- package/dist/conformance.d.ts +0 -41
- package/dist/conformance.d.ts.map +0 -1
- package/dist/conformance.js +0 -486
- package/dist/conformance.js.map +0 -1
- package/examples/meridian-bank/README.md +0 -65
- package/examples/meridian-bank/fixtures/payout-status-replay.json +0 -19
- package/examples/meridian-bank/fixtures/payout-status-settled.json +0 -19
- package/examples/meridian-bank/fixtures/payout-submit-accepted.json +0 -26
- package/examples/meridian-bank/fixtures/payout-submit-declined.json +0 -25
- package/examples/meridian-bank/fixtures/statement-camt053.json +0 -45
- package/examples/meridian-bank/fixtures/webhook-payout-settled.json +0 -11
- package/examples/meridian-bank/index.ts +0 -262
package/dist/vocabulary.d.ts
CHANGED
|
@@ -13,9 +13,7 @@
|
|
|
13
13
|
export declare const providerKeyPattern: RegExp;
|
|
14
14
|
export declare const providerOperationDirections: readonly ["tenant_initiated", "system_settlement"];
|
|
15
15
|
export declare const providerResourceBindings: readonly ["strict", "claim", "confirmation_only", "evidence_only"];
|
|
16
|
-
export declare const providerEgressModes: readonly ["none", "rest", "
|
|
17
|
-
/** Which reference a read-after-write status enquiry is keyed by. */
|
|
18
|
-
export declare const statusEnquiryKeys: readonly ["instruction_id", "provider_reference"];
|
|
16
|
+
export declare const providerEgressModes: readonly ["none", "rest", "sync_clearance"];
|
|
19
17
|
/**
|
|
20
18
|
* How one provider operation carries its outcome:
|
|
21
19
|
*
|
|
@@ -29,64 +27,12 @@ export declare const statusEnquiryKeys: readonly ["instruction_id", "provider_re
|
|
|
29
27
|
* adapter must never borrow another provider's class to fill this in.
|
|
30
28
|
*/
|
|
31
29
|
export declare const providerResponseEnvelopes: readonly ["http_200_body_status", "http_status_error_body", "unconfirmed_until_live"];
|
|
32
|
-
/**
|
|
33
|
-
* How a provider expects to be authenticated. `oauth2_password` is the
|
|
34
|
-
* resource-owner password grant (username/password against the provider's own
|
|
35
|
-
* token service) and `bearer_out_of_band` is a static bearer whose issuance
|
|
36
|
-
* the provider does not document. Both are observed in the wild, neither is
|
|
37
|
-
* pretty.
|
|
38
|
-
*/
|
|
39
|
-
export declare const providerAuthEnvelopes: readonly ["oauth2_client_credentials", "oauth2_password", "bearer_out_of_band", "mutual_tls", "signed_file"];
|
|
40
|
-
export declare const providerNotificationMechanisms: readonly ["poll", "webhook"];
|
|
41
30
|
export declare const providerTimestampFields: readonly ["activeAt", "completedAt", "failedAt", "returnedAt", "receivedAt", "clearedAt", "expiredAt", "voidedAt", "postedAt", "refundedAt"];
|
|
42
|
-
export declare const partnerBankWireCodecs: readonly ["rest_json", "iso20022_xml", "swift_mt"];
|
|
43
|
-
export declare const partnerBankSignings: readonly ["jws", "detached_signature", "signed_file"];
|
|
44
|
-
/** The canonical states a bank's own status spellings must map onto. */
|
|
45
|
-
export declare const partnerBankLifecycleStates: readonly ["received", "accepted", "processed", "failed", "returned", "duplicate_original_succeeded", "duplicate_original_rejected", "duplicate_suspected_rejected"];
|
|
46
|
-
export declare const partnerBankStatementFormats: readonly ["mt940", "mt942", "camt_052", "camt_053", "obie_json"];
|
|
47
|
-
/** Which reference the bank grades a duplicate instruction against. */
|
|
48
|
-
export declare const partnerBankDedupeKeys: readonly ["client", "instructionId", "endToEndId", "paymentReference"];
|
|
49
|
-
/** When a statement covering a period becomes fetchable. */
|
|
50
|
-
export declare const statementAvailabilities: readonly ["T-1", "today_only"];
|
|
51
|
-
/** Which reference on a statement debit line names the instruction behind it. */
|
|
52
|
-
export declare const statementDebitReferences: readonly ["bank_reference", "customer_reference"];
|
|
53
|
-
export declare const chargePostings: readonly ["post_hoc", "at_instruction"];
|
|
54
|
-
export declare const chargeVatModes: readonly ["separate_line", "included_in_charge"];
|
|
55
|
-
export declare const fxRateReadBacks: readonly ["final_status_only"];
|
|
56
|
-
/**
|
|
57
|
-
* Whether the executed read-back may name a different rail than the one
|
|
58
|
-
* instructed. `none` is a real inhabitant: a bank that never substitutes.
|
|
59
|
-
*/
|
|
60
|
-
export declare const railSubstitutions: readonly ["ips_to_sarie", "none"];
|
|
61
|
-
export declare const limitAccessModes: readonly ["read_only"];
|
|
62
|
-
export declare const limitDimensions: readonly ["daily", "per_transaction", "foreign_exchange"];
|
|
63
|
-
export declare const financialAddressMechanisms: readonly ["api", "scheme_file"];
|
|
64
|
-
export declare const financialAddressPricing: readonly ["none", "per_address"];
|
|
65
|
-
export declare const financialAddressQuotas: readonly ["none", "provider_enforced"];
|
|
66
31
|
export type ProviderOperationDirection = (typeof providerOperationDirections)[number];
|
|
67
32
|
export type ProviderResourceBinding = (typeof providerResourceBindings)[number];
|
|
68
33
|
export type ProviderEgressMode = (typeof providerEgressModes)[number];
|
|
69
|
-
export type StatusEnquiryKey = (typeof statusEnquiryKeys)[number];
|
|
70
34
|
export type ProviderResponseEnvelope = (typeof providerResponseEnvelopes)[number];
|
|
71
|
-
export type ProviderAuthEnvelope = (typeof providerAuthEnvelopes)[number];
|
|
72
|
-
export type ProviderNotificationMechanism = (typeof providerNotificationMechanisms)[number];
|
|
73
35
|
export type ProviderTimestampField = (typeof providerTimestampFields)[number];
|
|
74
|
-
export
|
|
75
|
-
export type
|
|
76
|
-
export type PartnerBankLifecycleState = (typeof partnerBankLifecycleStates)[number];
|
|
77
|
-
export type PartnerBankStatementFormat = (typeof partnerBankStatementFormats)[number];
|
|
78
|
-
export type PartnerBankDedupeKey = (typeof partnerBankDedupeKeys)[number];
|
|
79
|
-
export type StatementAvailability = (typeof statementAvailabilities)[number];
|
|
80
|
-
export type StatementDebitReference = (typeof statementDebitReferences)[number];
|
|
81
|
-
export type ChargePosting = (typeof chargePostings)[number];
|
|
82
|
-
export type ChargeVatMode = (typeof chargeVatModes)[number];
|
|
83
|
-
export type FxRateReadBack = (typeof fxRateReadBacks)[number];
|
|
84
|
-
export type RailSubstitution = (typeof railSubstitutions)[number];
|
|
85
|
-
export type LimitAccessMode = (typeof limitAccessModes)[number];
|
|
86
|
-
export type LimitDimension = (typeof limitDimensions)[number];
|
|
87
|
-
export type FinancialAddressMechanism = (typeof financialAddressMechanisms)[number];
|
|
88
|
-
export type FinancialAddressPricing = (typeof financialAddressPricing)[number];
|
|
89
|
-
export type FinancialAddressQuota = (typeof financialAddressQuotas)[number];
|
|
90
|
-
/** A value date expressed as banking days after the instruction date. */
|
|
91
|
-
export type ValueDateOffset = `D+${number}`;
|
|
36
|
+
export declare const subjectFieldTypes: readonly ["money", "ref", "date", "duration", "text", "integer", "percent", "boolean", "enum", "list"];
|
|
37
|
+
export type SubjectFieldType = (typeof subjectFieldTypes)[number];
|
|
92
38
|
//# sourceMappingURL=vocabulary.d.ts.map
|
package/dist/vocabulary.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,kBAAkB,QAA6B,CAAC;AAE7D,eAAO,MAAM,2BAA2B,YACtC,kBAAkB,EAClB,mBAAmB,CACX,CAAC;AAEX,eAAO,MAAM,wBAAwB,YACnC,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,eAAe,CACP,CAAC;AAEX,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,kBAAkB,QAA6B,CAAC;AAE7D,eAAO,MAAM,2BAA2B,YACtC,kBAAkB,EAClB,mBAAmB,CACX,CAAC;AAEX,eAAO,MAAM,wBAAwB,YACnC,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,eAAe,CACP,CAAC;AAEX,eAAO,MAAM,mBAAmB,YAAI,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAU,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,YACpC,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,CAChB,CAAC;AAEX,eAAO,MAAM,uBAAuB,YAClC,UAAU,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,YAAY,CACJ,CAAC;AAEX,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/C,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACtE,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7C,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9E,eAAO,MAAM,iBAAiB,YAC5B,OAAO,EACP,KAAK,EACL,MAAM,EACN,UAAU,EACV,MAAM,EACN,SAAS,EACT,SAAS,EACT,SAAS,EACT,MAAM,EACN,MAAM,CACE,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
package/dist/vocabulary.js
CHANGED
|
@@ -21,17 +21,7 @@ export const providerResourceBindings = [
|
|
|
21
21
|
"confirmation_only",
|
|
22
22
|
"evidence_only",
|
|
23
23
|
];
|
|
24
|
-
export const providerEgressModes = [
|
|
25
|
-
"none",
|
|
26
|
-
"rest",
|
|
27
|
-
"batch_reconcile",
|
|
28
|
-
"sync_clearance",
|
|
29
|
-
];
|
|
30
|
-
/** Which reference a read-after-write status enquiry is keyed by. */
|
|
31
|
-
export const statusEnquiryKeys = [
|
|
32
|
-
"instruction_id",
|
|
33
|
-
"provider_reference",
|
|
34
|
-
];
|
|
24
|
+
export const providerEgressModes = ["none", "rest", "sync_clearance"];
|
|
35
25
|
/**
|
|
36
26
|
* How one provider operation carries its outcome:
|
|
37
27
|
*
|
|
@@ -49,21 +39,6 @@ export const providerResponseEnvelopes = [
|
|
|
49
39
|
"http_status_error_body",
|
|
50
40
|
"unconfirmed_until_live",
|
|
51
41
|
];
|
|
52
|
-
/**
|
|
53
|
-
* How a provider expects to be authenticated. `oauth2_password` is the
|
|
54
|
-
* resource-owner password grant (username/password against the provider's own
|
|
55
|
-
* token service) and `bearer_out_of_band` is a static bearer whose issuance
|
|
56
|
-
* the provider does not document. Both are observed in the wild, neither is
|
|
57
|
-
* pretty.
|
|
58
|
-
*/
|
|
59
|
-
export const providerAuthEnvelopes = [
|
|
60
|
-
"oauth2_client_credentials",
|
|
61
|
-
"oauth2_password",
|
|
62
|
-
"bearer_out_of_band",
|
|
63
|
-
"mutual_tls",
|
|
64
|
-
"signed_file",
|
|
65
|
-
];
|
|
66
|
-
export const providerNotificationMechanisms = ["poll", "webhook"];
|
|
67
42
|
export const providerTimestampFields = [
|
|
68
43
|
"activeAt",
|
|
69
44
|
"completedAt",
|
|
@@ -76,63 +51,16 @@ export const providerTimestampFields = [
|
|
|
76
51
|
"postedAt",
|
|
77
52
|
"refundedAt",
|
|
78
53
|
];
|
|
79
|
-
export const
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
export const partnerBankLifecycleStates = [
|
|
91
|
-
"received",
|
|
92
|
-
"accepted",
|
|
93
|
-
"processed",
|
|
94
|
-
"failed",
|
|
95
|
-
"returned",
|
|
96
|
-
"duplicate_original_succeeded",
|
|
97
|
-
"duplicate_original_rejected",
|
|
98
|
-
"duplicate_suspected_rejected",
|
|
99
|
-
];
|
|
100
|
-
export const partnerBankStatementFormats = [
|
|
101
|
-
"mt940",
|
|
102
|
-
"mt942",
|
|
103
|
-
"camt_052",
|
|
104
|
-
"camt_053",
|
|
105
|
-
"obie_json",
|
|
106
|
-
];
|
|
107
|
-
/** Which reference the bank grades a duplicate instruction against. */
|
|
108
|
-
export const partnerBankDedupeKeys = [
|
|
109
|
-
"client",
|
|
110
|
-
"instructionId",
|
|
111
|
-
"endToEndId",
|
|
112
|
-
"paymentReference",
|
|
113
|
-
];
|
|
114
|
-
/** When a statement covering a period becomes fetchable. */
|
|
115
|
-
export const statementAvailabilities = ["T-1", "today_only"];
|
|
116
|
-
/** Which reference on a statement debit line names the instruction behind it. */
|
|
117
|
-
export const statementDebitReferences = [
|
|
118
|
-
"bank_reference",
|
|
119
|
-
"customer_reference",
|
|
120
|
-
];
|
|
121
|
-
export const chargePostings = ["post_hoc", "at_instruction"];
|
|
122
|
-
export const chargeVatModes = ["separate_line", "included_in_charge"];
|
|
123
|
-
export const fxRateReadBacks = ["final_status_only"];
|
|
124
|
-
/**
|
|
125
|
-
* Whether the executed read-back may name a different rail than the one
|
|
126
|
-
* instructed. `none` is a real inhabitant: a bank that never substitutes.
|
|
127
|
-
*/
|
|
128
|
-
export const railSubstitutions = ["ips_to_sarie", "none"];
|
|
129
|
-
export const limitAccessModes = ["read_only"];
|
|
130
|
-
export const limitDimensions = [
|
|
131
|
-
"daily",
|
|
132
|
-
"per_transaction",
|
|
133
|
-
"foreign_exchange",
|
|
54
|
+
export const subjectFieldTypes = [
|
|
55
|
+
"money",
|
|
56
|
+
"ref",
|
|
57
|
+
"date",
|
|
58
|
+
"duration",
|
|
59
|
+
"text",
|
|
60
|
+
"integer",
|
|
61
|
+
"percent",
|
|
62
|
+
"boolean",
|
|
63
|
+
"enum",
|
|
64
|
+
"list",
|
|
134
65
|
];
|
|
135
|
-
export const financialAddressMechanisms = ["api", "scheme_file"];
|
|
136
|
-
export const financialAddressPricing = ["none", "per_address"];
|
|
137
|
-
export const financialAddressQuotas = ["none", "provider_enforced"];
|
|
138
66
|
//# sourceMappingURL=vocabulary.js.map
|
package/dist/vocabulary.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AAE7D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,kBAAkB;IAClB,mBAAmB;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,QAAQ;IACR,OAAO;IACP,mBAAmB;IACnB,eAAe;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG
|
|
1
|
+
{"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AAE7D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,kBAAkB;IAClB,mBAAmB;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,QAAQ;IACR,OAAO;IACP,mBAAmB;IACnB,eAAe;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAU,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,sBAAsB;IACtB,wBAAwB;IACxB,wBAAwB;CAChB,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,UAAU;IACV,aAAa;IACb,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,YAAY;CACJ,CAAC;AASX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO;IACP,KAAK;IACL,MAAM;IACN,UAAU;IACV,MAAM;IACN,SAAS;IACT,SAAS;IACT,SAAS;IACT,MAAM;IACN,MAAM;CACE,CAAC"}
|