@hyperscale0/adl 1.0.0-alpha.1 → 1.0.0-beta.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.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,22 @@ follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html) from 1.0.0.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.0.0-beta.1] - 2026-08-29
10
+
11
+ - This is the first beta and has no package behavior changes from
12
+ 1.0.0-alpha.2.
13
+
14
+ ## [1.0.0-alpha.2] - 2026-08-26
15
+
16
+ ### Removed
17
+
18
+ - `providerCredentialSources` and `ProviderCredentialSource` from
19
+ `src/vocabulary.ts`. Nothing read either one. A credential source is spelled
20
+ as a literal union on `ProviderCredentialReference` and as a `const` in
21
+ `spec/manifest.schema.json`, so the vocabulary entry was a third copy that no
22
+ type checker and no schema consulted. Neither name was reachable through the
23
+ package entry point, so no installed consumer can be affected.
24
+
9
25
  ## [1.0.0-alpha.1] - 2026-08-23
10
26
 
11
27
  First retained release, as `@hyperscale0/adl`, from the repository
@@ -43,5 +59,7 @@ write an adapter in; an adapter is still what you write.
43
59
  the exported types derived from them, so the published schema cannot drift
44
60
  from the type checker. No exported type changed shape.
45
61
 
46
- [Unreleased]: https://github.com/hyperscale0/hyperscale-adl/compare/v1.0.0-alpha.1...HEAD
62
+ [Unreleased]: https://github.com/hyperscale0/hyperscale-adl/compare/v1.0.0-beta.1...HEAD
63
+ [1.0.0-beta.1]: https://github.com/hyperscale0/hyperscale-adl/compare/v1.0.0-alpha.2...v1.0.0-beta.1
64
+ [1.0.0-alpha.2]: https://github.com/hyperscale0/hyperscale-adl/compare/v1.0.0-alpha.1...v1.0.0-alpha.2
47
65
  [1.0.0-alpha.1]: https://github.com/hyperscale0/hyperscale-adl/releases/tag/v1.0.0-alpha.1
package/README.md CHANGED
@@ -1,15 +1,16 @@
1
1
  # ADL
2
2
 
3
- ADL, the Adapter Declaration Language: the format for describing a bank or
4
- provider to Hyperscale, the validator that refuses a declaration the runtime
5
- could not operate, and the conformance suite that says when one is ready to
6
- serve live money.
3
+ ADL is the Adapter Declaration Language: the public format for declaring how a
4
+ bank or provider behaves at the control-plane boundary. Its validator and
5
+ conformance suite refuse incomplete interface facts before a generic runtime
6
+ can poll, classify, reconcile, or deduplicate provider results.
7
7
 
8
- It is the third of three. UDL describes the product, HSX scripts the money
9
- movement, ADL declares the provider the money moves through.
8
+ The three language boundaries stay separate. HSX authors settlement behavior.
9
+ UDL defines the canonical product contract. ADL declares how an external
10
+ provider performs or confirms work behind that contract.
10
11
 
11
- **Status: alpha.** `1.0.0-alpha.1`. The surface can still change on a minor
12
- version until 1.0.0.
12
+ **Status: alpha.** The surface can still change on a minor version until
13
+ 1.0.0.
13
14
 
14
15
  ## Adapter symmetry
15
16
 
@@ -33,6 +34,9 @@ what a payment means. It states facts, and the checks in this package prove
33
34
  those facts are complete enough for a generic runtime to poll, classify,
34
35
  reconcile, and dedupe without guessing.
35
36
 
37
+ Conformance checks a declaration. It does not contact a provider, verify a
38
+ credential, certify regulatory readiness, or make a Product live.
39
+
36
40
  ## Install
37
41
 
38
42
  ```bash
@@ -40,9 +44,8 @@ npm install @hyperscale0/adl
40
44
  ```
41
45
 
42
46
  Every release before 1.0.0 is an alpha, and `latest` follows the newest one, so
43
- a bare install gets it. `npm install @hyperscale0/adl@alpha` is the explicit
44
- form and resolves to the same version. Pin an exact version if you need one:
45
- until 1.0.0 a change to the surface ships as a minor bump, not a major.
47
+ a bare install gets it. Pin an exact version if you need one: until 1.0.0 a
48
+ change to the surface ships as a minor bump, not a major.
46
49
 
47
50
  No runtime dependencies, and no proprietary code imported.
48
51
 
@@ -101,14 +104,14 @@ empty finding list is the certification.
101
104
 
102
105
  ## Where to go next
103
106
 
104
- - **[docs/authoring-guide.md](docs/authoring-guide.md)** -- the whole job, field
107
+ - **[docs/authoring-guide.md](docs/authoring-guide.md)**: the whole job, field
105
108
  by field, with the rule that enforces each one.
106
- - **[examples/meridian-bank](examples/meridian-bank)** -- a complete certified
109
+ - **[examples/meridian-bank](examples/meridian-bank)**: a complete certified
107
110
  adapter for a bank that does not exist, with fixtures and its own tests.
108
111
  Copy it.
109
- - **[conformance/cases.json](conformance/cases.json)** -- every rule as data:
112
+ - **[conformance/cases.json](conformance/cases.json)**: every rule as data:
110
113
  one broken fact per case, and what each gate says about it.
111
- - **[spec/manifest.schema.json](spec/manifest.schema.json)** -- JSON Schema
114
+ - **[spec/manifest.schema.json](spec/manifest.schema.json)**: JSON Schema
112
115
  2020-12 for one declaration, for authors who are not writing TypeScript.
113
116
 
114
117
  ## Running conformance
@@ -14,7 +14,6 @@ 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
16
  export declare const providerEgressModes: readonly ["none", "rest", "batch_reconcile", "sync_clearance"];
17
- export declare const providerCredentialSources: readonly ["environment", "keychain"];
18
17
  /** Which reference a read-after-write status enquiry is keyed by. */
19
18
  export declare const statusEnquiryKeys: readonly ["instruction_id", "provider_reference"];
20
19
  /**
@@ -67,7 +66,6 @@ export declare const financialAddressQuotas: readonly ["none", "provider_enforce
67
66
  export type ProviderOperationDirection = (typeof providerOperationDirections)[number];
68
67
  export type ProviderResourceBinding = (typeof providerResourceBindings)[number];
69
68
  export type ProviderEgressMode = (typeof providerEgressModes)[number];
70
- export type ProviderCredentialSource = (typeof providerCredentialSources)[number];
71
69
  export type StatusEnquiryKey = (typeof statusEnquiryKeys)[number];
72
70
  export type ProviderResponseEnvelope = (typeof providerResponseEnvelopes)[number];
73
71
  export type ProviderAuthEnvelope = (typeof providerAuthEnvelopes)[number];
@@ -1 +1 @@
1
- {"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,6 @@ export const providerEgressModes = [
27
27
  "batch_reconcile",
28
28
  "sync_clearance",
29
29
  ];
30
- export const providerCredentialSources = ["environment", "keychain"];
31
30
  /** Which reference a read-after-write status enquiry is keyed by. */
32
31
  export const statusEnquiryKeys = [
33
32
  "instruction_id",
@@ -1 +1 @@
1
- {"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,9 @@ credential, and never decides what a payment means.
15
15
 
16
16
  That split is why the checks in ADL are declaration-level. Conformance
17
17
  does not call your bank. It proves the facts you declared are complete enough
18
- for a generic runtime to poll, classify, reconcile, and dedupe **without
19
- guessing**, because every guess a runtime makes about money is a bug you find
20
- in production.
18
+ for a generic runtime to poll, classify, reconcile, and dedupe without
19
+ guessing. Every guess a runtime makes about money is a provider-boundary
20
+ defect.
21
21
 
22
22
  Two consequences worth internalizing before you write a line:
23
23
 
@@ -30,7 +30,7 @@ Two consequences worth internalizing before you write a line:
30
30
  fact to post from. `validatePartnerBankProfile` refuses a profile whose
31
31
  `notificationMechanisms` omits `poll`, whatever else it lists.
32
32
 
33
- ### Adapter Symmetry
33
+ ### Adapter symmetry
34
34
 
35
35
  Hyperscale's own bank adapters are written against this package and nothing
36
36
  more. There is no private adapter API, no internal hook, no second interface
@@ -108,18 +108,18 @@ Each `ProviderOperationBinding` carries:
108
108
  | `resourceKind` | The platform resource the provider's answer commits onto. Must appear in `bindings`. |
109
109
  | `resourceIdPath` | Where the resource id is read from. Non-blank, checked at load. |
110
110
  | `meter` | Optional. The usage meter this operation feeds. |
111
- | `envelope` | How **this** operation's response carries its outcome. Required on a live command, see below. |
111
+ | `envelope` | How this operation's response carries its outcome. Required when the runtime sends a provider command, see below. |
112
112
  | `statusEnquiry` | The authoritative read-after-write. Required on a REST command, see below. |
113
113
 
114
114
  ### The envelope class, per operation
115
115
 
116
116
  `ProviderResponseEnvelope` has three inhabitants:
117
117
 
118
- - `http_200_body_status` -- every response is HTTP 200 and the outcome is a
118
+ - `http_200_body_status`: every response is HTTP 200 and the outcome is a
119
119
  status token in the body. A rejection arrives inside a success.
120
- - `http_status_error_body` -- the HTTP status carries the outcome and a failure
120
+ - `http_status_error_body`: the HTTP status carries the outcome and a failure
121
121
  body is prose.
122
- - `unconfirmed_until_live` -- the provider publishes no error sample, so the
122
+ - `unconfirmed_until_live`: the provider publishes no error sample, so the
123
123
  class is honestly unknown.
124
124
 
125
125
  Declare it **per operation**, never per provider. Real providers answer in more
@@ -130,9 +130,10 @@ Conformance requires the class on any binding where the runtime sends a command
130
130
  and reads an answer, meaning `direction: "tenant_initiated"` on an `egress` of
131
131
  `rest` or `sync_clearance`. Missing it is `response_envelope_unclassified`; a
132
132
  declared `unconfirmed_until_live` is `response_envelope_unconfirmed`, because
133
- certification is the licence to serve live and the class must be established
134
- first. A `system_settlement` binding carries no response of its own, so it owes
135
- no envelope, and declaring one there would be a borrowed fact.
133
+ conformance requires the response class to be established first. Passing that
134
+ check does not grant live readiness. A `system_settlement` binding carries no
135
+ response of its own, so it owes no envelope, and declaring one there would be a
136
+ borrowed fact.
136
137
 
137
138
  ### Status enquiry, the read-after-write
138
139
 
@@ -165,10 +166,10 @@ enquiry support from a command URL, so:
165
166
 
166
167
  `ProviderEgressMode` is how this adapter reaches the provider at all:
167
168
 
168
- - `none` -- the capability is learned entirely by observation;
169
- - `rest` -- per-command HTTP;
170
- - `batch_reconcile` -- files, reconciled after the fact;
171
- - `sync_clearance` -- one synchronous exchange that carries its own truth.
169
+ - `none`: the capability is learned entirely by observation;
170
+ - `rest`: per-command HTTP;
171
+ - `batch_reconcile`: files, reconciled after the fact;
172
+ - `sync_clearance`: one synchronous exchange that carries its own truth.
172
173
 
173
174
  A `tenant_initiated` binding on `none` or `batch_reconcile` promises an
174
175
  outbound call the egress mode cannot make: `egress_direction_incoherent`.
@@ -191,11 +192,11 @@ missing: polling is the fact.
191
192
  `bindings` maps each resource kind this adapter settles to a
192
193
  `ProviderResourceBinding`:
193
194
 
194
- - `strict` -- the provider's fact must match the platform's row exactly;
195
- - `claim` -- the provider's fact claims an existing row;
196
- - `confirmation_only` -- the provider only confirms what the platform already
195
+ - `strict`: the provider's fact must match the platform's row exactly;
196
+ - `claim`: the provider's fact claims an existing row;
197
+ - `confirmation_only`: the provider only confirms what the platform already
197
198
  decided;
198
- - `evidence_only` -- the fact is recorded as evidence, and settles nothing.
199
+ - `evidence_only`: the fact is recorded as evidence, and settles nothing.
199
200
 
200
201
  Every `resourceKind` named by an operation binding or a webhook plan needs an
201
202
  entry, or conformance reports `resource_binding_missing`: a provider fact with
@@ -226,8 +227,8 @@ would otherwise guess.
226
227
 
227
228
  `wireCodec` (`rest_json`, `iso20022_xml`, `swift_mt`) and `auth`
228
229
  (`ProviderAuthEnvelope` plus a signing scheme). Declaring a grant the bank will
229
- not accept fails on the first live call, so read the bank's token service, do
230
- not assume client credentials.
230
+ not accept fails on the first provider call. Read the bank's token service and
231
+ do not assume client credentials.
231
232
 
232
233
  ### The idempotency spine
233
234
 
@@ -415,8 +416,8 @@ An adapter is handed over as source, never as a running service:
415
416
 
416
417
  ## Stability
417
418
 
418
- The package is `1.0.0-alpha.1` and the surface can still change on a minor
419
- version until it is `1.0.0`. Two promises hold from now:
419
+ The package is pre-1.0 and the surface can still change on a minor version
420
+ until it is `1.0.0`. Two promises hold now:
420
421
 
421
422
  - conformance codes are append-only;
422
423
  - a value removed from a vocabulary in `src/vocabulary.ts` is a breaking change
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperscale0/adl",
3
- "version": "1.0.0-alpha.1",
3
+ "version": "1.0.0-beta.1",
4
4
  "description": "The Adapter Declaration Language: provider adapter interfaces, registry validation, and the partner-bank conformance suite.",
5
5
  "keywords": [
6
6
  "adl",