@openvtc/trust-tasks 0.27.7 → 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 CHANGED
@@ -11,6 +11,125 @@ 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
+
94
+ ## 0.27.8 — 2026-10-26
95
+
96
+
97
+ ### Added
98
+
99
+ - **ts-gen**: An application generates only the TypeScript tasks it pins, byte-identical to the prebuilt modules (#940)
100
+
101
+ * feat(ts-gen, ts): an application generates only the TypeScript tasks it pins
102
+
103
+ Milestone 3 (TypeScript) of consumer-side generation. New package
104
+ @openvtc/trust-tasks-gen (trust-tasks-ts-gen/, bin trust-tasks-gen-ts): an
105
+ independent port of scripts/build-ts-bindings.mjs whose input is
106
+ trust-tasks.lock + the vendored bundles. Verifies every bundle's digest
107
+ first, owns its --out directory (marker file, refuses a foreign one), skips
108
+ withdrawn and framework specs with a note, and accepts third-party sources
109
+ (trust-tasks/@<source>/..., generated under <out>/<source>/, a source-named
110
+ namespace, identity from the bundle's typeUri).
111
+
112
+ A bundle does not say which $defs came from a shared file, so the
113
+ registry-wide hoisting into _shared/components.ts cannot be reproduced; each
114
+ module declares its definitions once itself, under the names the prebuilt
115
+ module exports them by.
116
+
117
+ scripts/equivalence.mjs generates all 1,127 bundles and compares with
118
+ trust-tasks-ts/src: every tail byte-identical, every schema JSON-equal with
119
+ authored property order, 942 root declarations byte-identical (the other 185
120
+ all have $defs of their own), 10,750 of 10,756 exported types identical under
121
+ tsc and the remaining 6 mutually assignable.
122
+
123
+ @openvtc/trust-tasks gains, additively, a `./runtime` export (the runtime
124
+ without the prebuilt modules) and `declareExtends`, which generated code
125
+ calls to register the locked versions' `extends` declarations.
126
+
127
+ examples/consumer-app-ts pins the Rust example's three tasks plus one
128
+ third-party fixture; it type-checks in 0.5 s / 0.2 GB against 1.8 s / 1.1 GB
129
+ when importing the package root. CI: ts.yml gen-equivalence and
130
+ consumer-app-ts. The package's first npm publish is manual, so it is not yet
131
+ in TS_PACKAGES or the publish-npm matrix (RELEASING.md).
132
+
14
133
  ## 0.27.7 — 2026-10-26
15
134
 
16
135
  ## 0.27.6 — 2026-10-26
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
@@ -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
- * @throws if the derived slug or `local` is malformed.
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
- /** The slug of a Type URI, with any `#request` / `#response` fragment removed. */
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;AAEH,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;AAoBD;;;;;;;;;GASG;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,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAavD"}
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"}
@@ -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
- * @throws if the derived slug or `local` is malformed.
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
- /** The slug of a Type URI, with any `#request` / `#response` fragment removed. */
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
- const PREFIX = "https://trusttasks.org/spec/";
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":"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"}
1
+ {"version":3,"file":"codes.js","sourceRoot":"","sources":["../../src/_runtime/codes.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,30 @@ import type { RejectReason, SpecPolicy, TrustTaskDocument } from "./document.js"
29
29
  /**
30
30
  * Where to look up the version a Type URI declares it extends. Either a map
31
31
  * from bare request Type URI to version (the shape of the generated
32
- * `EXTENDS_BY_TYPE_URI`), or a function. Defaults to the generated index; pass
32
+ * `EXTENDS_BY_TYPE_URI`), or a function. Defaults to the generated index plus
33
+ * the tables an application registered with {@link declareExtends}; pass
33
34
  * your own to route on knowledge this library release does not carry, or in a
34
35
  * test.
35
36
  */
36
37
  export type ExtendsLookup = Readonly<Record<string, string>> | ((bareTypeUri: string) => string | null | undefined);
38
+ /**
39
+ * Teach the default lookup — {@link extendsOf}, {@link extendsChain} and
40
+ * {@link readForSpec} when no `index` is passed — the `extends` declarations
41
+ * of specification versions this package's generated table does not carry:
42
+ * those an application generated itself from registry bundles with
43
+ * `trust-tasks-gen-ts` (`@openvtc/trust-tasks-gen`).
44
+ *
45
+ * Each key is a bare request Type URI and each value the `"MAJOR.MINOR"` it
46
+ * extends — the shape of the generated `EXTENDS_BY_TYPE_URI`. The `index.ts`
47
+ * the generator writes exports a `declareExtends()` that calls this with its
48
+ * table, so an application calls that once at start-up.
49
+ *
50
+ * Process-wide and additive. Declaring the same table twice is harmless, and
51
+ * where this package's generated table already answers for a Type URI that
52
+ * answer stands. A declaration is still only followed when it names a strictly
53
+ * earlier MINOR of the same MAJOR (SPEC §5.2).
54
+ */
55
+ export declare function declareExtends(declarations: Readonly<Record<string, string>>): void;
37
56
  /**
38
57
  * The version `typeUri` DIRECTLY declares it extends, or `null`. Any
39
58
  * `#request` / `#response` fragment is ignored — the declaration is the
@@ -44,6 +63,12 @@ export declare function extendsOf(typeUri: string, index?: ExtendsLookup): strin
44
63
  * Every version `typeUri` extends, transitively, nearest first: for 0.3
45
64
  * extends 0.2 extends 0.1, `["0.2", "0.1"]`.
46
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
+ *
47
72
  * Defensive against a malformed index: the walk stops at a declaration that is
48
73
  * not strictly earlier within the same MAJOR (the build refuses those), and at
49
74
  * a cycle.
@@ -90,13 +115,16 @@ export declare function receivedDocumentOf<P>(doc: TrustTaskDocument<P>): TrustT
90
115
  * implements (`spec`, a generated `SPEC` or `RESPONSE_SPEC`).
91
116
  *
92
117
  * - Same Type URI as `spec.typeUri` — accepted unchanged.
93
- * - Same slug and variant, later version whose `extends` chain reaches
94
- * `spec`'s version — accepted, payload pruned against `spec.payloadSchema`
95
- * with {@link prunePayload}, `type` kept as received.
96
- * - Same slug and variant, any other version — refused `unsupportedVersion`.
97
- * (Without a declaration a later MINOR SHOULD NOT be accepted: a draft may
98
- * break in one.)
99
- * - A different specification or variant — refused `unsupportedType`.
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.
100
128
  * - Not a Trust Task document at all — refused `malformedRequest`.
101
129
  *
102
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;AAKjF;;;;;;GAMG;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;AA8BzD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,aAAmC,GAAG,MAAM,GAAG,IAAI,CAIpG;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,aAAmC,GAAG,MAAM,EAAE,CAclG;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;;;;;;;;;;;;;;;;;GAiBG;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,CA4BtB;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAGvE"}
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"}
@@ -27,23 +27,55 @@
27
27
  */
28
28
  import { EXTENDS_BY_TYPE_URI } from "../_extends.js";
29
29
  import { canonicalJson } from "./canonical.js";
30
- const PREFIX = "https://trusttasks.org/spec/";
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
- function parseTypeUri(typeUri) {
33
- if (typeof typeUri !== "string" || !typeUri.startsWith(PREFIX))
34
- return null;
35
- const hash = typeUri.indexOf("#");
36
- const bare = hash < 0 ? typeUri : typeUri.slice(0, hash);
37
- const fragment = hash < 0 ? "" : typeUri.slice(hash);
38
- const rest = bare.slice(PREFIX.length);
39
- const cut = rest.lastIndexOf("/");
40
- if (cut <= 0)
41
- return null;
42
- const version = rest.slice(cut + 1);
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 });
43
+ }
44
+ /**
45
+ * Tables an application registered with {@link declareExtends}, in the order
46
+ * they were declared.
47
+ */
48
+ const APPLICATION_EXTENDS = [];
49
+ /**
50
+ * Teach the default lookup — {@link extendsOf}, {@link extendsChain} and
51
+ * {@link readForSpec} when no `index` is passed — the `extends` declarations
52
+ * of specification versions this package's generated table does not carry:
53
+ * those an application generated itself from registry bundles with
54
+ * `trust-tasks-gen-ts` (`@openvtc/trust-tasks-gen`).
55
+ *
56
+ * Each key is a bare request Type URI and each value the `"MAJOR.MINOR"` it
57
+ * extends — the shape of the generated `EXTENDS_BY_TYPE_URI`. The `index.ts`
58
+ * the generator writes exports a `declareExtends()` that calls this with its
59
+ * table, so an application calls that once at start-up.
60
+ *
61
+ * Process-wide and additive. Declaring the same table twice is harmless, and
62
+ * where this package's generated table already answers for a Type URI that
63
+ * answer stands. A declaration is still only followed when it names a strictly
64
+ * earlier MINOR of the same MAJOR (SPEC §5.2).
65
+ */
66
+ export function declareExtends(declarations) {
67
+ if (!APPLICATION_EXTENDS.includes(declarations))
68
+ APPLICATION_EXTENDS.push(declarations);
69
+ }
70
+ const hasOwn = (o, k) => Object.prototype.hasOwnProperty.call(o, k);
71
+ /** The default {@link ExtendsLookup}: the generated table, then {@link declareExtends}'s. */
72
+ function defaultLookup(bare) {
73
+ if (hasOwn(EXTENDS_BY_TYPE_URI, bare))
74
+ return EXTENDS_BY_TYPE_URI[bare];
75
+ for (const table of APPLICATION_EXTENDS)
76
+ if (hasOwn(table, bare))
77
+ return table[bare];
78
+ return undefined;
47
79
  }
48
80
  function lookup(index, bare) {
49
81
  const v = typeof index === "function" ? index(bare) : Object.prototype.hasOwnProperty.call(index, bare) ? index[bare] : undefined;
@@ -54,35 +86,43 @@ function lookup(index, bare) {
54
86
  * `#request` / `#response` fragment is ignored — the declaration is the
55
87
  * specification's, covering both variants.
56
88
  */
57
- export function extendsOf(typeUri, index = EXTENDS_BY_TYPE_URI) {
58
- const p = parseTypeUri(typeUri);
89
+ export function extendsOf(typeUri, index = defaultLookup) {
90
+ const p = tryParseTypeUri(typeUri);
59
91
  if (p === null)
60
92
  return null;
61
- return lookup(index, `${PREFIX}${p.slug}/${p.version}`);
93
+ return lookup(index, bareKey(p));
62
94
  }
63
95
  /**
64
96
  * Every version `typeUri` extends, transitively, nearest first: for 0.3
65
97
  * extends 0.2 extends 0.1, `["0.2", "0.1"]`.
66
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
+ *
67
105
  * Defensive against a malformed index: the walk stops at a declaration that is
68
106
  * not strictly earlier within the same MAJOR (the build refuses those), and at
69
107
  * a cycle.
70
108
  */
71
- export function extendsChain(typeUri, index = EXTENDS_BY_TYPE_URI) {
72
- const start = parseTypeUri(typeUri);
109
+ export function extendsChain(typeUri, index = defaultLookup) {
110
+ const start = tryParseTypeUri(typeUri);
73
111
  if (start === null)
74
112
  return [];
75
113
  const chain = [];
76
114
  let current = start;
77
115
  for (;;) {
78
- const next = lookup(index, `${PREFIX}${current.slug}/${current.version}`);
116
+ const next = lookup(index, bareKey(current));
79
117
  if (next === null)
80
118
  break;
81
- const p = parseTypeUri(`${PREFIX}${current.slug}/${next}`);
82
- if (p.major !== current.major || p.minor >= current.minor)
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)
83
123
  break;
84
124
  chain.push(next);
85
- current = p;
125
+ current = typeUriWithVersion(current, major, minor);
86
126
  }
87
127
  return chain;
88
128
  }
@@ -110,13 +150,16 @@ export function receivedDocumentOf(doc) {
110
150
  * implements (`spec`, a generated `SPEC` or `RESPONSE_SPEC`).
111
151
  *
112
152
  * - Same Type URI as `spec.typeUri` — accepted unchanged.
113
- * - Same slug and variant, later version whose `extends` chain reaches
114
- * `spec`'s version — accepted, payload pruned against `spec.payloadSchema`
115
- * with {@link prunePayload}, `type` kept as received.
116
- * - Same slug and variant, any other version — refused `unsupportedVersion`.
117
- * (Without a declaration a later MINOR SHOULD NOT be accepted: a draft may
118
- * break in one.)
119
- * - A different specification or variant — refused `unsupportedType`.
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.
120
163
  * - Not a Trust Task document at all — refused `malformedRequest`.
121
164
  *
122
165
  * Proofs are not this function's business, and it neither reads nor alters
@@ -124,7 +167,7 @@ export function receivedDocumentOf(doc) {
124
167
  * `consumeInbound` verifies over `received` (see {@link receivedDocumentOf}).
125
168
  */
126
169
  export function readForSpec(received, spec, options = {}) {
127
- const index = options.index ?? EXTENDS_BY_TYPE_URI;
170
+ const index = options.index ?? defaultLookup;
128
171
  if (!isPlainObject(received) || typeof received.type !== "string" || !("payload" in received)) {
129
172
  return refused("malformedRequest", "not a Trust Task document (SPEC §4.2)");
130
173
  }
@@ -132,13 +175,15 @@ export function readForSpec(received, spec, options = {}) {
132
175
  if (doc.type === spec.typeUri) {
133
176
  return { kind: "accepted", doc: doc, received: doc, extended: false };
134
177
  }
135
- const got = parseTypeUri(doc.type);
136
- const want = parseTypeUri(spec.typeUri);
137
- if (got === null || want === null || got.slug !== want.slug || got.fragment !== want.fragment) {
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) {
138
181
  return refused("unsupportedType", `unsupported Trust Task type ${JSON.stringify(doc.type)}`);
139
182
  }
140
- if (got.version === want.version || !extendsChain(doc.type, index).includes(want.version)) {
141
- return refused("unsupportedVersion", `version ${got.version} of ${got.slug} is not supported; this consumer implements ${want.version}`);
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}`);
142
187
  }
143
188
  const pruned = {
144
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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"}
@@ -13,8 +13,9 @@ 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
- export { extendsChain, extendsOf, prunePayload, readForSpec, receivedDocumentOf, type ExtendsLookup, type ReadForSpecResult, } from "./extends.js";
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";
19
20
  export { CONSEQUENTIAL_FRESHNESS, DEFAULT_FRESHNESS, DEFAULT_MAX_AGE_MS, DEFAULT_SKEW_MS, EXPIRY_NOT_AFTER_ISSUANCE, FUTURE_ISSUED_AT, ISSUED_AT_REQUIRED, STALE_WIRE_MESSAGE, recordExpiry, validateFreshness, type FreshnessPolicy, } from "./freshness.js";
20
21
  export { InMemoryReplayGuard, documentDigest, type ReplayGuard, type ReplayPolicy, type ReplayVerdict, } from "./replay.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,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"}
@@ -13,8 +13,9 @@ 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
- export { extendsChain, extendsOf, prunePayload, readForSpec, receivedDocumentOf, } from "./extends.js";
18
+ export { declareExtends, extendsChain, extendsOf, prunePayload, readForSpec, receivedDocumentOf, } from "./extends.js";
18
19
  export { EXTENDS_BY_TYPE_URI } from "../_extends.js";
19
20
  export { CONSEQUENTIAL_FRESHNESS, DEFAULT_FRESHNESS, DEFAULT_MAX_AGE_MS, DEFAULT_SKEW_MS, EXPIRY_NOT_AFTER_ISSUANCE, FUTURE_ISSUED_AT, ISSUED_AT_REQUIRED, STALE_WIRE_MESSAGE, recordExpiry, validateFreshness, } from "./freshness.js";
20
21
  export { InMemoryReplayGuard, documentDigest, } from "./replay.js";