@openvtc/trust-tasks 0.27.8 → 0.27.9
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 +80 -0
- package/README.md +9 -0
- package/dist/_runtime/codes.d.ts +21 -2
- package/dist/_runtime/codes.d.ts.map +1 -1
- package/dist/_runtime/codes.js +23 -19
- package/dist/_runtime/codes.js.map +1 -1
- package/dist/_runtime/extends.d.ts +16 -7
- package/dist/_runtime/extends.d.ts.map +1 -1
- package/dist/_runtime/extends.js +44 -35
- package/dist/_runtime/extends.js.map +1 -1
- package/dist/_runtime/index.d.ts +1 -0
- package/dist/_runtime/index.d.ts.map +1 -1
- package/dist/_runtime/index.js +1 -0
- package/dist/_runtime/index.js.map +1 -1
- package/dist/_runtime/type-uri.d.ts +96 -0
- package/dist/_runtime/type-uri.d.ts.map +1 -0
- package/dist/_runtime/type-uri.js +194 -0
- package/dist/_runtime/type-uri.js.map +1 -0
- package/dist/index.d.ts +3771 -1257
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3771 -1257
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/_runtime/codes.ts +24 -21
- package/src/_runtime/extends.ts +50 -40
- package/src/_runtime/index.ts +14 -0
- package/src/_runtime/type-uri.ts +252 -0
- package/src/index.ts +3771 -1257
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,86 @@ The package versions over **its own API** — what a consumer compiles against
|
|
|
11
11
|
not over `SPEC.md`. Below 1.0 a breaking change bumps the leading non-zero
|
|
12
12
|
component.
|
|
13
13
|
|
|
14
|
+
## 0.27.9 — 2026-10-27
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- The prebuilt specification modules are deprecated in all four libraries; generate the tasks you use (#954)
|
|
20
|
+
|
|
21
|
+
Milestone 5 of docs/design/consumer-side-generation.md. Every prebuilt module
|
|
22
|
+
outside the framework's own specifications (trust-task-*, trust-ceremony-*,
|
|
23
|
+
_framework/) is deprecated, so that an application is told to pin the tasks it
|
|
24
|
+
uses with the trust-tasks CLI and generate them instead. Nothing is removed:
|
|
25
|
+
the withdrawal batch that removes them is chosen later, at least 90 days after
|
|
26
|
+
this ships.
|
|
27
|
+
|
|
28
|
+
Each library marks the prebuilt entry point where its toolchain reports a
|
|
29
|
+
deprecation, never the module body, which is also what the consumer-side
|
|
30
|
+
generators emit:
|
|
31
|
+
|
|
32
|
+
- Rust: #[deprecated] on each gated family module in trust-tasks-rs's
|
|
33
|
+
specs/mod.rs (trust-tasks-codegen). It reaches every path and item under the
|
|
34
|
+
module; framework modules and trust-tasks-build's output are unmarked.
|
|
35
|
+
- TypeScript: the root index re-exports each module as
|
|
36
|
+
`import * as _X …; /** @deprecated … */ export import X = _X;`, because
|
|
37
|
+
TypeScript ignores @deprecated on `export * as`. API compatibility against
|
|
38
|
+
0.27.8: nothing removed or changed. A deep import of a module file is not
|
|
39
|
+
marked; TypeScript has no module-level deprecation.
|
|
40
|
+
- Go: a `Deprecated:` paragraph in each prebuilt package's doc, which gopls and
|
|
41
|
+
staticcheck (SA1019) report on import.
|
|
42
|
+
- Dart: @Deprecated on each prebuilt library's `library` directive, which the
|
|
43
|
+
analyzer reports on import from another package. This package's own tests
|
|
44
|
+
use them, so analysis_options ignores the same-package diagnostic SDKs
|
|
45
|
+
before 3.4 report.
|
|
46
|
+
|
|
47
|
+
The TS, Go and Dart equivalence tests mask exactly the mark; every consumer
|
|
48
|
+
generator is still held to the prebuilt tree as before. Hand-written Rust that
|
|
49
|
+
uses prebuilt modules on purpose — the acl-specimen test modules, the
|
|
50
|
+
integration tests and the examples — carries #[allow(deprecated)]; none of the
|
|
51
|
+
runtime does.
|
|
52
|
+
|
|
53
|
+
GETTING-STARTED, the four library READMEs, the design doc and CLAUDE.md say
|
|
54
|
+
so, and point at each language's generator.
|
|
55
|
+
|
|
56
|
+
- **ts**: Parse every SPEC §6.1 Type URI form in the runtime (#951)
|
|
57
|
+
|
|
58
|
+
The runtime hard-coded the public registry prefix, so extended error codes
|
|
59
|
+
and `extends` routing failed for third-party (SPEC §6.5) specifications.
|
|
60
|
+
A single parser (`parseTypeUri`, mirroring trust-tasks-rs `type_uri.rs`)
|
|
61
|
+
now reads the registry form, the path form under any authority (https,
|
|
62
|
+
DID URLs, ...) and the URN form, refusing http and malformed input.
|
|
63
|
+
|
|
64
|
+
- `slugFromTypeUri`, `extendedCode` and `familyCode` accept every form and
|
|
65
|
+
produce authority-free `<slug>:<local>` codes, as Rust does.
|
|
66
|
+
- `extendsOf` / `extendsChain` / `readForSpec` walk a chain under the
|
|
67
|
+
received Type URI's own authority and form, so a chain never crosses
|
|
68
|
+
authorities and a third-party document never routes to a registry
|
|
69
|
+
specification sharing its slug.
|
|
70
|
+
- New exports: `parseTypeUri`, `tryParseTypeUri`, `formatTypeUri`,
|
|
71
|
+
`typeUriWithVersion`, `sameSpecification`, `TypeUriError`,
|
|
72
|
+
`FRAMEWORK_RESERVED_SLUGS`, `REGISTRY_TYPE_URI_AUTHORITY`, and the
|
|
73
|
+
`TypeUri`, `TypeUriVariant`, `TypeUriErrorKind` types.
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
### Documentation
|
|
78
|
+
|
|
79
|
+
- An extended error code is read against the Type URI it answers, in SPEC.md and all four libraries (#953)
|
|
80
|
+
|
|
81
|
+
SPEC.md is regenerated from canonical main (trustoverip/dtgwg-trust-tasks-spec
|
|
82
|
+
#35): an extended code carries a slug but no authority, so a party resolves
|
|
83
|
+
it against the Type URI of the document the error reports on
|
|
84
|
+
(inResponseTo.typeUri, else the request correlated by threadId) and never by
|
|
85
|
+
its string alone; the namespace is always the slug's /-form, and the local
|
|
86
|
+
code contains no colon. The regeneration also brings in #33 (declared
|
|
87
|
+
`extends`, and `withdrawn` after a version is superseded), which the site
|
|
88
|
+
already serves.
|
|
89
|
+
|
|
90
|
+
Each library's extended-code docs say the same where a reader meets it:
|
|
91
|
+
Rust's TrustTaskCode::Extended, TypeScript's extendedCode, Go's ExtendedCode
|
|
92
|
+
and Dart's extendedCode.
|
|
93
|
+
|
|
14
94
|
## 0.27.8 — 2026-10-26
|
|
15
95
|
|
|
16
96
|
|
package/README.md
CHANGED
|
@@ -22,6 +22,15 @@ The Rust counterpart is [`trust-tasks-rs`](https://crates.io/crates/trust-tasks-
|
|
|
22
22
|
both crates are regenerated together so the Rust and TypeScript wire
|
|
23
23
|
shapes stay byte-identical.
|
|
24
24
|
|
|
25
|
+
> **The prebuilt specification modules are deprecated** (all but the
|
|
26
|
+
> framework's own `trust-task-*` ones) and will be removed in a future release.
|
|
27
|
+
> Import the runtime from `@openvtc/trust-tasks/runtime`, pin the tasks you use
|
|
28
|
+
> with the `trust-tasks` CLI, and generate them with
|
|
29
|
+
> [`@openvtc/trust-tasks-gen`](https://www.npmjs.com/package/@openvtc/trust-tasks-gen)
|
|
30
|
+
> (`trust-tasks generate --lang ts --out src/trust-tasks`). Editors flag the
|
|
31
|
+
> root's namespace exports; a deep import of a module file is not flagged, but
|
|
32
|
+
> is deprecated all the same.
|
|
33
|
+
|
|
25
34
|
## Install
|
|
26
35
|
|
|
27
36
|
```sh
|
package/dist/_runtime/codes.d.ts
CHANGED
|
@@ -66,7 +66,16 @@ export declare function isStandardCode(code: string): code is StandardCode;
|
|
|
66
66
|
* `Payload::extended_code` gives in Rust. The `#response` fragment is stripped:
|
|
67
67
|
* an error raised while handling a response still belongs to the bare slug.
|
|
68
68
|
*
|
|
69
|
-
*
|
|
69
|
+
* Any SPEC §6.1 form is accepted, so a third-party specification (§6.5) —
|
|
70
|
+
* `did:web:acme.example/spec/payments/settle/1.0` or
|
|
71
|
+
* `urn:example:acme:spec:payments:settle:1.0` — gets `payments/settle:<local>`.
|
|
72
|
+
* The code carries the slug and not the authority, as Rust's
|
|
73
|
+
* `TrustTaskCode::Extended` does — so a received code means something only
|
|
74
|
+
* against the Type URI of the request it answers (SPEC §8.5): resolve it with
|
|
75
|
+
* `inResponseTo.typeUri` (or the request you sent), never by the string alone,
|
|
76
|
+
* and keep that Type URI beside it anywhere the code outlives the exchange.
|
|
77
|
+
*
|
|
78
|
+
* @throws if `typeUri` is not a Type URI or `local` is malformed.
|
|
70
79
|
*/
|
|
71
80
|
export declare function extendedCode(typeUri: string, local: string): string;
|
|
72
81
|
/**
|
|
@@ -86,6 +95,16 @@ export declare function extendedCode(typeUri: string, local: string): string;
|
|
|
86
95
|
* @throws if `namespace` is neither the slug nor a path prefix of it.
|
|
87
96
|
*/
|
|
88
97
|
export declare function familyCode(typeUri: string, namespace: string, local: string): string;
|
|
89
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* The slug of a Type URI, with any `#request` / `#response` fragment removed.
|
|
100
|
+
*
|
|
101
|
+
* Accepts every SPEC §6.1 form — the public registry's, the path form under
|
|
102
|
+
* any other authority (an `https` URL, a DID URL, …) and the URN form, whose
|
|
103
|
+
* `:`-separated slug segments come back `/`-separated. The authority is not
|
|
104
|
+
* part of the result: a slug names a specification only within its authority,
|
|
105
|
+
* so use {@link parseTypeUri} where the authority matters.
|
|
106
|
+
*
|
|
107
|
+
* @throws {TypeUriError} if `typeUri` is not a Type URI in any §6.1 form.
|
|
108
|
+
*/
|
|
90
109
|
export declare function slugFromTypeUri(typeUri: string): string;
|
|
91
110
|
//# sourceMappingURL=codes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/_runtime/codes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/_runtime/codes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,iEAAiE;AACjE,eAAO,MAAM,cAAc,uPAejB,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAuB3D;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,YAAY,CAEjE;AAaD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CASnE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAepF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD"}
|
package/dist/_runtime/codes.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* snake_case ones, so a 0.2 consumer can still read an error response from a
|
|
7
7
|
* 0.1 peer.
|
|
8
8
|
*/
|
|
9
|
+
import { parseTypeUri } from "./type-uri.js";
|
|
9
10
|
/** The framework-defined standard error codes (SPEC.md §8.3). */
|
|
10
11
|
export const STANDARD_CODES = [
|
|
11
12
|
"malformedRequest",
|
|
@@ -69,11 +70,6 @@ export function isStandardCode(code) {
|
|
|
69
70
|
* specifications; only the first character is required to be lowercase.
|
|
70
71
|
*/
|
|
71
72
|
const LOCAL_RE = /^[a-z][A-Za-z0-9_]*$/;
|
|
72
|
-
/** One path segment of a slug: lowercase, hyphen-separated (§6.1). */
|
|
73
|
-
const SEGMENT_RE = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;
|
|
74
|
-
function validNamespace(namespace) {
|
|
75
|
-
return namespace.length > 0 && namespace.split("/").every((s) => SEGMENT_RE.test(s));
|
|
76
|
-
}
|
|
77
73
|
/**
|
|
78
74
|
* Build an extended error code under a specification's own slug (SPEC §8.5).
|
|
79
75
|
*
|
|
@@ -82,7 +78,16 @@ function validNamespace(namespace) {
|
|
|
82
78
|
* `Payload::extended_code` gives in Rust. The `#response` fragment is stripped:
|
|
83
79
|
* an error raised while handling a response still belongs to the bare slug.
|
|
84
80
|
*
|
|
85
|
-
*
|
|
81
|
+
* Any SPEC §6.1 form is accepted, so a third-party specification (§6.5) —
|
|
82
|
+
* `did:web:acme.example/spec/payments/settle/1.0` or
|
|
83
|
+
* `urn:example:acme:spec:payments:settle:1.0` — gets `payments/settle:<local>`.
|
|
84
|
+
* The code carries the slug and not the authority, as Rust's
|
|
85
|
+
* `TrustTaskCode::Extended` does — so a received code means something only
|
|
86
|
+
* against the Type URI of the request it answers (SPEC §8.5): resolve it with
|
|
87
|
+
* `inResponseTo.typeUri` (or the request you sent), never by the string alone,
|
|
88
|
+
* and keep that Type URI beside it anywhere the code outlives the exchange.
|
|
89
|
+
*
|
|
90
|
+
* @throws if `typeUri` is not a Type URI or `local` is malformed.
|
|
86
91
|
*/
|
|
87
92
|
export function extendedCode(typeUri, local) {
|
|
88
93
|
const slug = slugFromTypeUri(typeUri);
|
|
@@ -122,19 +127,18 @@ export function familyCode(typeUri, namespace, local) {
|
|
|
122
127
|
}
|
|
123
128
|
return `${namespace}:${local}`;
|
|
124
129
|
}
|
|
125
|
-
/**
|
|
130
|
+
/**
|
|
131
|
+
* The slug of a Type URI, with any `#request` / `#response` fragment removed.
|
|
132
|
+
*
|
|
133
|
+
* Accepts every SPEC §6.1 form — the public registry's, the path form under
|
|
134
|
+
* any other authority (an `https` URL, a DID URL, …) and the URN form, whose
|
|
135
|
+
* `:`-separated slug segments come back `/`-separated. The authority is not
|
|
136
|
+
* part of the result: a slug names a specification only within its authority,
|
|
137
|
+
* so use {@link parseTypeUri} where the authority matters.
|
|
138
|
+
*
|
|
139
|
+
* @throws {TypeUriError} if `typeUri` is not a Type URI in any §6.1 form.
|
|
140
|
+
*/
|
|
126
141
|
export function slugFromTypeUri(typeUri) {
|
|
127
|
-
|
|
128
|
-
if (!typeUri.startsWith(PREFIX)) {
|
|
129
|
-
throw new Error(`not a Trust Task Type URI: ${JSON.stringify(typeUri)}`);
|
|
130
|
-
}
|
|
131
|
-
const rest = typeUri.slice(PREFIX.length).split("#")[0];
|
|
132
|
-
// Trailing segment is the MAJOR.MINOR version; everything before it is the slug.
|
|
133
|
-
const parts = rest.split("/");
|
|
134
|
-
const slug = parts.slice(0, -1).join("/");
|
|
135
|
-
if (!validNamespace(slug)) {
|
|
136
|
-
throw new Error(`Type URI ${JSON.stringify(typeUri)} yielded an invalid slug`);
|
|
137
|
-
}
|
|
138
|
-
return slug;
|
|
142
|
+
return parseTypeUri(typeUri).slug;
|
|
139
143
|
}
|
|
140
144
|
//# sourceMappingURL=codes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codes.js","sourceRoot":"","sources":["../../src/_runtime/codes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,kBAAkB;IAClB,iBAAiB;IACjB,oBAAoB;IACpB,SAAS;IACT,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,aAAa;IACb,eAAe;CACP,CAAC;AA0CX;;;GAGG;AACH,MAAM,eAAe,GAA2C;IAC9D,iBAAiB,EAAE,kBAAkB;IACrC,gBAAgB,EAAE,iBAAiB;IACnC,mBAAmB,EAAE,oBAAoB;IACzC,cAAc,EAAE,eAAe;IAC/B,aAAa,EAAE,cAAc;IAC7B,iBAAiB,EAAE,kBAAkB;IACrC,eAAe,EAAE,gBAAgB;IACjC,iBAAiB,EAAE,kBAAkB;IACrC,WAAW,EAAE,YAAY;IACzB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,YAAY;IACzB,cAAc,EAAE,eAAe;CAChC,CAAC;AAEF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACvC,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,QAAQ,GAAG,sBAAsB,CAAC;AAExC
|
|
1
|
+
{"version":3,"file":"codes.js","sourceRoot":"","sources":["../../src/_runtime/codes.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,12 @@ export declare function extendsOf(typeUri: string, index?: ExtendsLookup): strin
|
|
|
63
63
|
* Every version `typeUri` extends, transitively, nearest first: for 0.3
|
|
64
64
|
* extends 0.2 extends 0.1, `["0.2", "0.1"]`.
|
|
65
65
|
*
|
|
66
|
+
* `typeUri` may be in any SPEC §6.1 form. Each link is looked up under the
|
|
67
|
+
* same authority, form and slug as `typeUri` — only the version changes — so a
|
|
68
|
+
* chain never crosses authorities: a third-party specification's chain is read
|
|
69
|
+
* from its own declarations, never from a registry specification that happens
|
|
70
|
+
* to share its slug.
|
|
71
|
+
*
|
|
66
72
|
* Defensive against a malformed index: the walk stops at a declaration that is
|
|
67
73
|
* not strictly earlier within the same MAJOR (the build refuses those), and at
|
|
68
74
|
* a cycle.
|
|
@@ -109,13 +115,16 @@ export declare function receivedDocumentOf<P>(doc: TrustTaskDocument<P>): TrustT
|
|
|
109
115
|
* implements (`spec`, a generated `SPEC` or `RESPONSE_SPEC`).
|
|
110
116
|
*
|
|
111
117
|
* - Same Type URI as `spec.typeUri` — accepted unchanged.
|
|
112
|
-
* - Same slug and variant, later version
|
|
113
|
-
* `spec`'s version — accepted, payload pruned
|
|
114
|
-
* with {@link prunePayload}, `type` kept as
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
118
|
+
* - Same specification (authority, form and slug) and variant, later version
|
|
119
|
+
* whose `extends` chain reaches `spec`'s version — accepted, payload pruned
|
|
120
|
+
* against `spec.payloadSchema` with {@link prunePayload}, `type` kept as
|
|
121
|
+
* received.
|
|
122
|
+
* - Same specification and variant, any other version — refused
|
|
123
|
+
* `unsupportedVersion`. (Without a declaration a later MINOR SHOULD NOT be
|
|
124
|
+
* accepted: a draft may break in one.)
|
|
125
|
+
* - A different specification or variant — refused `unsupportedType`. The
|
|
126
|
+
* same slug under another authority is another specification (SPEC §6.1),
|
|
127
|
+
* so a third-party `x/0.3` never routes to a registry `x/0.1`, or back.
|
|
119
128
|
* - Not a Trust Task document at all — refused `malformedRequest`.
|
|
120
129
|
*
|
|
121
130
|
* Proofs are not this function's business, and it neither reads nor alters
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extends.d.ts","sourceRoot":"","sources":["../../src/_runtime/extends.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"extends.d.ts","sourceRoot":"","sources":["../../src/_runtime/extends.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAWjF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GACrB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAChC,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAsBzD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAEnF;AAgBD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,aAA6B,GAAG,MAAM,GAAG,IAAI,CAI9F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,aAA6B,GAAG,MAAM,EAAE,CAgB5F;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAC3B;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACrC,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,CAAC;CACnB,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC;AAK9C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAEvG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,aAAa,CAAA;CAAO,GACtC,iBAAiB,CAAC,CAAC,CAAC,CA8BtB;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAGvE"}
|
package/dist/_runtime/extends.js
CHANGED
|
@@ -27,23 +27,19 @@
|
|
|
27
27
|
*/
|
|
28
28
|
import { EXTENDS_BY_TYPE_URI } from "../_extends.js";
|
|
29
29
|
import { canonicalJson } from "./canonical.js";
|
|
30
|
-
|
|
30
|
+
import { formatTypeUri, sameSpecification, tryParseTypeUri, typeUriWithVersion, } from "./type-uri.js";
|
|
31
31
|
const VERSION_RE = /^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$/;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const m = VERSION_RE.exec(version);
|
|
44
|
-
if (!m)
|
|
45
|
-
return null;
|
|
46
|
-
return { slug: rest.slice(0, cut), version, major: Number(m[1]), minor: Number(m[2]), fragment };
|
|
32
|
+
/** `M.N` of a parsed Type URI. */
|
|
33
|
+
const versionOf = (u) => `${u.major}.${u.minor}`;
|
|
34
|
+
/**
|
|
35
|
+
* The key an {@link ExtendsLookup} is consulted with: the bare (fragment-free)
|
|
36
|
+
* request Type URI of `u` at `version`, under `u`'s own authority and form.
|
|
37
|
+
* Building it from `u` rather than from the slug is what keeps a chain inside
|
|
38
|
+
* one authority: a third-party `x/0.3` is never looked up as the registry's
|
|
39
|
+
* `x/0.3`.
|
|
40
|
+
*/
|
|
41
|
+
function bareKey(u) {
|
|
42
|
+
return formatTypeUri({ ...u, variant: null });
|
|
47
43
|
}
|
|
48
44
|
/**
|
|
49
45
|
* Tables an application registered with {@link declareExtends}, in the order
|
|
@@ -91,34 +87,42 @@ function lookup(index, bare) {
|
|
|
91
87
|
* specification's, covering both variants.
|
|
92
88
|
*/
|
|
93
89
|
export function extendsOf(typeUri, index = defaultLookup) {
|
|
94
|
-
const p =
|
|
90
|
+
const p = tryParseTypeUri(typeUri);
|
|
95
91
|
if (p === null)
|
|
96
92
|
return null;
|
|
97
|
-
return lookup(index,
|
|
93
|
+
return lookup(index, bareKey(p));
|
|
98
94
|
}
|
|
99
95
|
/**
|
|
100
96
|
* Every version `typeUri` extends, transitively, nearest first: for 0.3
|
|
101
97
|
* extends 0.2 extends 0.1, `["0.2", "0.1"]`.
|
|
102
98
|
*
|
|
99
|
+
* `typeUri` may be in any SPEC §6.1 form. Each link is looked up under the
|
|
100
|
+
* same authority, form and slug as `typeUri` — only the version changes — so a
|
|
101
|
+
* chain never crosses authorities: a third-party specification's chain is read
|
|
102
|
+
* from its own declarations, never from a registry specification that happens
|
|
103
|
+
* to share its slug.
|
|
104
|
+
*
|
|
103
105
|
* Defensive against a malformed index: the walk stops at a declaration that is
|
|
104
106
|
* not strictly earlier within the same MAJOR (the build refuses those), and at
|
|
105
107
|
* a cycle.
|
|
106
108
|
*/
|
|
107
109
|
export function extendsChain(typeUri, index = defaultLookup) {
|
|
108
|
-
const start =
|
|
110
|
+
const start = tryParseTypeUri(typeUri);
|
|
109
111
|
if (start === null)
|
|
110
112
|
return [];
|
|
111
113
|
const chain = [];
|
|
112
114
|
let current = start;
|
|
113
115
|
for (;;) {
|
|
114
|
-
const next = lookup(index,
|
|
116
|
+
const next = lookup(index, bareKey(current));
|
|
115
117
|
if (next === null)
|
|
116
118
|
break;
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
+
const m = VERSION_RE.exec(next);
|
|
120
|
+
const major = Number(m[1]);
|
|
121
|
+
const minor = Number(m[2]);
|
|
122
|
+
if (major !== current.major || minor >= current.minor)
|
|
119
123
|
break;
|
|
120
124
|
chain.push(next);
|
|
121
|
-
current =
|
|
125
|
+
current = typeUriWithVersion(current, major, minor);
|
|
122
126
|
}
|
|
123
127
|
return chain;
|
|
124
128
|
}
|
|
@@ -146,13 +150,16 @@ export function receivedDocumentOf(doc) {
|
|
|
146
150
|
* implements (`spec`, a generated `SPEC` or `RESPONSE_SPEC`).
|
|
147
151
|
*
|
|
148
152
|
* - Same Type URI as `spec.typeUri` — accepted unchanged.
|
|
149
|
-
* - Same slug and variant, later version
|
|
150
|
-
* `spec`'s version — accepted, payload pruned
|
|
151
|
-
* with {@link prunePayload}, `type` kept as
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
*
|
|
155
|
-
*
|
|
153
|
+
* - Same specification (authority, form and slug) and variant, later version
|
|
154
|
+
* whose `extends` chain reaches `spec`'s version — accepted, payload pruned
|
|
155
|
+
* against `spec.payloadSchema` with {@link prunePayload}, `type` kept as
|
|
156
|
+
* received.
|
|
157
|
+
* - Same specification and variant, any other version — refused
|
|
158
|
+
* `unsupportedVersion`. (Without a declaration a later MINOR SHOULD NOT be
|
|
159
|
+
* accepted: a draft may break in one.)
|
|
160
|
+
* - A different specification or variant — refused `unsupportedType`. The
|
|
161
|
+
* same slug under another authority is another specification (SPEC §6.1),
|
|
162
|
+
* so a third-party `x/0.3` never routes to a registry `x/0.1`, or back.
|
|
156
163
|
* - Not a Trust Task document at all — refused `malformedRequest`.
|
|
157
164
|
*
|
|
158
165
|
* Proofs are not this function's business, and it neither reads nor alters
|
|
@@ -168,13 +175,15 @@ export function readForSpec(received, spec, options = {}) {
|
|
|
168
175
|
if (doc.type === spec.typeUri) {
|
|
169
176
|
return { kind: "accepted", doc: doc, received: doc, extended: false };
|
|
170
177
|
}
|
|
171
|
-
const got =
|
|
172
|
-
const want =
|
|
173
|
-
if (got === null || want === null || got
|
|
178
|
+
const got = tryParseTypeUri(doc.type);
|
|
179
|
+
const want = tryParseTypeUri(spec.typeUri);
|
|
180
|
+
if (got === null || want === null || !sameSpecification(got, want) || got.variant !== want.variant) {
|
|
174
181
|
return refused("unsupportedType", `unsupported Trust Task type ${JSON.stringify(doc.type)}`);
|
|
175
182
|
}
|
|
176
|
-
|
|
177
|
-
|
|
183
|
+
const gotVersion = versionOf(got);
|
|
184
|
+
const wantVersion = versionOf(want);
|
|
185
|
+
if (gotVersion === wantVersion || !extendsChain(doc.type, index).includes(wantVersion)) {
|
|
186
|
+
return refused("unsupportedVersion", `version ${gotVersion} of ${got.slug} is not supported; this consumer implements ${wantVersion}`);
|
|
178
187
|
}
|
|
179
188
|
const pruned = {
|
|
180
189
|
...doc,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extends.js","sourceRoot":"","sources":["../../src/_runtime/extends.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extends.js","sourceRoot":"","sources":["../../src/_runtime/extends.ts"],"names":[],"mappings":"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"}
|
package/dist/_runtime/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export { TRUST_TASK_ERROR_TYPE_URI, enforceAudienceBinding, enforceSpecPolicy, r
|
|
|
13
13
|
export { STANDARD_CODES, extendedCode, familyCode, isStandardCode, normalizeCode, slugFromTypeUri, type StandardCode, } from "./codes.js";
|
|
14
14
|
export { StaticTransport, UnauthenticatedTransport, identityMismatchReason, reject, resolveParties, type ConsistencyError, type ResolvedParties, type TransportContext, type TransportHandler, } from "./transport.js";
|
|
15
15
|
export { ID_CONFLICT_WIRE_MESSAGE, PROOF_INVALID_WIRE_MESSAGE, PROOF_NOT_ACCEPTED_BY_POLICY, REPLAY_RECORD_UNAVAILABLE, consequentialChecks, consumeInbound, notConsequentialChecks, refuse, type ConsumeChecks, type ConsumeOptions, type ConsumeOutcome, type PayloadPolicy, type PayloadValidator, type ProofPolicy, type ProofVerifier, } from "./consume.js";
|
|
16
|
+
export { FRAMEWORK_RESERVED_SLUGS, REGISTRY_TYPE_URI_AUTHORITY, TypeUriError, formatTypeUri, parseTypeUri, sameSpecification, tryParseTypeUri, typeUriWithVersion, type TypeUri, type TypeUriErrorKind, type TypeUriVariant, } from "./type-uri.js";
|
|
16
17
|
export { canonicalJson, sha256Hex } from "./canonical.js";
|
|
17
18
|
export { declareExtends, extendsChain, extendsOf, prunePayload, readForSpec, receivedDocumentOf, type ExtendsLookup, type ReadForSpecResult, } from "./extends.js";
|
|
18
19
|
export { EXTENDS_BY_TYPE_URI } from "../_extends.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/_runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,MAAM,EACN,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,MAAM,EACN,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/_runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,MAAM,EACN,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,MAAM,EACN,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC"}
|
package/dist/_runtime/index.js
CHANGED
|
@@ -13,6 +13,7 @@ export { TRUST_TASK_ERROR_TYPE_URI, enforceAudienceBinding, enforceSpecPolicy, r
|
|
|
13
13
|
export { STANDARD_CODES, extendedCode, familyCode, isStandardCode, normalizeCode, slugFromTypeUri, } from "./codes.js";
|
|
14
14
|
export { StaticTransport, UnauthenticatedTransport, identityMismatchReason, reject, resolveParties, } from "./transport.js";
|
|
15
15
|
export { ID_CONFLICT_WIRE_MESSAGE, PROOF_INVALID_WIRE_MESSAGE, PROOF_NOT_ACCEPTED_BY_POLICY, REPLAY_RECORD_UNAVAILABLE, consequentialChecks, consumeInbound, notConsequentialChecks, refuse, } from "./consume.js";
|
|
16
|
+
export { FRAMEWORK_RESERVED_SLUGS, REGISTRY_TYPE_URI_AUTHORITY, TypeUriError, formatTypeUri, parseTypeUri, sameSpecification, tryParseTypeUri, typeUriWithVersion, } from "./type-uri.js";
|
|
16
17
|
export { canonicalJson, sha256Hex } from "./canonical.js";
|
|
17
18
|
export { declareExtends, extendsChain, extendsOf, prunePayload, readForSpec, receivedDocumentOf, } from "./extends.js";
|
|
18
19
|
export { EXTENDS_BY_TYPE_URI } from "../_extends.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/_runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,aAAa,GAQd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,eAAe,GAEhB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,MAAM,EACN,cAAc,GAKf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,MAAM,GAQP,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,kBAAkB,GAGnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GAElB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,cAAc,GAIf,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/_runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,aAAa,GAQd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,eAAe,GAEhB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,MAAM,EACN,cAAc,GAKf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,MAAM,GAQP,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GAInB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,kBAAkB,GAGnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GAElB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,cAAc,GAIf,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parsed Trust Task *Type URI* — every form SPEC.md §6.1 defines: the public
|
|
3
|
+
* registry's canonical form, and the two shapes a third-party specification
|
|
4
|
+
* (SPEC.md §6.5) may use under any other authority:
|
|
5
|
+
*
|
|
6
|
+
* ```text
|
|
7
|
+
* https://trusttasks.org/spec/<slug>/<MAJOR.MINOR> public registry
|
|
8
|
+
* <prefix>/spec/<slug>/<MAJOR.MINOR> path form (https, DID URL, …)
|
|
9
|
+
* urn:<NID>:<prefix>:spec:<slug-segments>:<MAJOR.MINOR> URN form
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* each optionally followed by `#request` or `#response` (§4.4.1). A Type URI
|
|
13
|
+
* whose scheme is `urn` must use the URN form, and every other scheme the path
|
|
14
|
+
* form; `http` is refused in every form. {@link formatTypeUri} reproduces the
|
|
15
|
+
* parsed string exactly — a Type URI is a name, compared by its whole string
|
|
16
|
+
* (§6.1), so the authority is kept verbatim and is part of identity: the same
|
|
17
|
+
* slug under two authorities is two specifications.
|
|
18
|
+
*
|
|
19
|
+
* Hand-written. Mirrors `type_uri.rs` in trust-tasks-rs, whose unit tests are
|
|
20
|
+
* the source of most of the vectors in `test/type-uri.test.ts`.
|
|
21
|
+
*/
|
|
22
|
+
/** The `#request` / `#response` fragment of a Type URI (SPEC §4.4.1). */
|
|
23
|
+
export type TypeUriVariant = "request" | "response";
|
|
24
|
+
/** A parsed Type URI. Plain data; build a string back with {@link formatTypeUri}. */
|
|
25
|
+
export interface TypeUri {
|
|
26
|
+
/**
|
|
27
|
+
* Everything before `/spec/` (path form) or `:spec:` (URN form), verbatim —
|
|
28
|
+
* e.g. `https://trusttasks.org`, `did:web:acme.example`, `urn:example:tasks`.
|
|
29
|
+
*/
|
|
30
|
+
readonly authority: string;
|
|
31
|
+
/** `"path"` — `<authority>/spec/<slug>/<M.N>`; `"urn"` — `<authority>:spec:<seg>:…:<M.N>`. */
|
|
32
|
+
readonly form: "path" | "urn";
|
|
33
|
+
/** The slug, `/`-separated in both forms (`payments:settle` in a URN is `payments/settle`). */
|
|
34
|
+
readonly slug: string;
|
|
35
|
+
readonly major: number;
|
|
36
|
+
readonly minor: number;
|
|
37
|
+
/** The fragment, or `null` when absent (semantically equivalent to `"request"`, §4.4.1). */
|
|
38
|
+
readonly variant: TypeUriVariant | null;
|
|
39
|
+
}
|
|
40
|
+
/** Why a string is not a Type URI — the cases of Rust's `ParseTypeUriError`. */
|
|
41
|
+
export type TypeUriErrorKind =
|
|
42
|
+
/** No scheme, a malformed one, or `http` (refused in every form, §6.1). */
|
|
43
|
+
"scheme"
|
|
44
|
+
/** Neither the path form nor (for `urn:`) the URN form. */
|
|
45
|
+
| "shape"
|
|
46
|
+
/** The slug fails the §6.1 grammar. */
|
|
47
|
+
| "slug"
|
|
48
|
+
/** The slug is in the §6.1 reserved namespace and is not a framework slug. */
|
|
49
|
+
| "reservedSlug"
|
|
50
|
+
/** The version is not `MAJOR.MINOR` (§5.1). */
|
|
51
|
+
| "version"
|
|
52
|
+
/** A fragment other than `#request` / `#response`. */
|
|
53
|
+
| "fragment";
|
|
54
|
+
/** Thrown by {@link parseTypeUri}. */
|
|
55
|
+
export declare class TypeUriError extends Error {
|
|
56
|
+
readonly kind: TypeUriErrorKind;
|
|
57
|
+
/** The string that failed to parse (for `slug` / `version` / `fragment`, the offending part). */
|
|
58
|
+
readonly input: string;
|
|
59
|
+
constructor(kind: TypeUriErrorKind, input: string, message: string);
|
|
60
|
+
}
|
|
61
|
+
/** The public registry's authority. */
|
|
62
|
+
export declare const REGISTRY_TYPE_URI_AUTHORITY = "https://trusttasks.org";
|
|
63
|
+
/**
|
|
64
|
+
* The framework slugs permitted inside the §6.1 reservation. A third
|
|
65
|
+
* hand-maintained copy of `#/properties/slug/anyOf[1]/enum` in
|
|
66
|
+
* `specs/spec.meta.schema.json` (Rust's `is_allowed_framework_slug` is the
|
|
67
|
+
* second); `test/type-uri.test.ts` reads that file and fails if they disagree.
|
|
68
|
+
*/
|
|
69
|
+
export declare const FRAMEWORK_RESERVED_SLUGS: readonly string[];
|
|
70
|
+
/**
|
|
71
|
+
* Parse a Type URI in any SPEC §6.1 form.
|
|
72
|
+
*
|
|
73
|
+
* @throws {TypeUriError} if `typeUri` is not one — its `kind` says why.
|
|
74
|
+
*/
|
|
75
|
+
export declare function parseTypeUri(typeUri: string): TypeUri;
|
|
76
|
+
/** {@link parseTypeUri}, returning `null` instead of throwing. */
|
|
77
|
+
export declare function tryParseTypeUri(typeUri: string): TypeUri | null;
|
|
78
|
+
/**
|
|
79
|
+
* The string form of `uri`. For a value {@link parseTypeUri} returned, exactly
|
|
80
|
+
* the string it parsed.
|
|
81
|
+
*/
|
|
82
|
+
export declare function formatTypeUri(uri: TypeUri): string;
|
|
83
|
+
/**
|
|
84
|
+
* A sibling of `uri` at `major.minor`: the same authority, form, slug and
|
|
85
|
+
* variant, only the version changed. A declared-extension chain (SPEC §5.2)
|
|
86
|
+
* names only versions, so this is how it is walked — and why a chain never
|
|
87
|
+
* crosses authorities. (Rust's `TypeUri::with_version`.)
|
|
88
|
+
*/
|
|
89
|
+
export declare function typeUriWithVersion(uri: TypeUri, major: number, minor: number): TypeUri;
|
|
90
|
+
/**
|
|
91
|
+
* Whether `a` and `b` name versions of the same specification: the same
|
|
92
|
+
* authority, form and slug. Two Type URIs with the same slug under different
|
|
93
|
+
* authorities are different specifications (SPEC §6.1).
|
|
94
|
+
*/
|
|
95
|
+
export declare function sameSpecification(a: TypeUri, b: TypeUri): boolean;
|
|
96
|
+
//# sourceMappingURL=type-uri.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-uri.d.ts","sourceRoot":"","sources":["../../src/_runtime/type-uri.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,CAAC;AAEpD,qFAAqF;AACrF,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,+FAA+F;IAC/F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CACzC;AAED,gFAAgF;AAChF,MAAM,MAAM,gBAAgB;AAC1B,2EAA2E;AACzE,QAAQ;AACV,2DAA2D;GACzD,OAAO;AACT,uCAAuC;GACrC,MAAM;AACR,8EAA8E;GAC5E,cAAc;AAChB,+CAA+C;GAC7C,SAAS;AACX,sDAAsD;GACpD,UAAU,CAAC;AAEf,sCAAsC;AACtC,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,iGAAiG;IACjG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAMnE;AAED,uCAAuC;AACvC,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAOpE;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAQpD,CAAC;AA4BH;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAmFrD;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAO/D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAOlD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAEjE"}
|