@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 +119 -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 +36 -8
- package/dist/_runtime/extends.d.ts.map +1 -1
- package/dist/_runtime/extends.js +83 -38
- package/dist/_runtime/extends.js.map +1 -1
- package/dist/_runtime/index.d.ts +2 -1
- package/dist/_runtime/index.d.ts.map +1 -1
- package/dist/_runtime/index.js +2 -1
- 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 +5 -1
- package/src/_runtime/codes.ts +24 -21
- package/src/_runtime/extends.ts +90 -43
- package/src/_runtime/index.ts +15 -0
- package/src/_runtime/type-uri.ts +252 -0
- package/src/index.ts +3771 -1257
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
|
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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"}
|
|
@@ -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
|
|
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
|
|
94
|
-
* `spec`'s version — accepted, payload pruned
|
|
95
|
-
* with {@link prunePayload}, `type` kept as
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
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;
|
|
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,55 @@
|
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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 =
|
|
58
|
-
const p =
|
|
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,
|
|
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 =
|
|
72
|
-
const start =
|
|
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,
|
|
116
|
+
const next = lookup(index, bareKey(current));
|
|
79
117
|
if (next === null)
|
|
80
118
|
break;
|
|
81
|
-
const
|
|
82
|
-
|
|
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 =
|
|
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
|
|
114
|
-
* `spec`'s version — accepted, payload pruned
|
|
115
|
-
* with {@link prunePayload}, `type` kept as
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
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 ??
|
|
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 =
|
|
136
|
-
const want =
|
|
137
|
-
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) {
|
|
138
181
|
return refused("unsupportedType", `unsupported Trust Task type ${JSON.stringify(doc.type)}`);
|
|
139
182
|
}
|
|
140
|
-
|
|
141
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GAEnB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,GAAG,oCAAoC,CAAC;AAcxD,kCAAkC;AAClC,MAAM,SAAS,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;AAElE;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,CAAU;IACzB,OAAO,aAAa,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,mBAAmB,GAAuC,EAAE,CAAC;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAC,YAA8C;IAC3E,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7F,6FAA6F;AAC7F,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC;QAAE,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxE,KAAK,MAAM,KAAK,IAAI,mBAAmB;QAAE,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;IACrF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,MAAM,CAAC,KAAoB,EAAE,IAAY;IAChD,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClI,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,QAAuB,aAAa;IAC7E,MAAM,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,QAAuB,aAAa;IAChF,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM;QACzB,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,KAAK,KAAK,OAAO,CAAC,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM;QAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAuBD,4FAA4F;AAC5F,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAsC,CAAC;AAEnE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAI,GAAyB;IAC7D,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,WAAW,CACzB,QAAiB,EACjB,IAAgB,EAChB,UAAqC,EAAE;IAEvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC;IAC7C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,EAAE,CAAC;QAC9F,OAAO,OAAO,CAAC,kBAAkB,EAAE,uCAAuC,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,GAAG,GAAG,QAAiD,CAAC;IAC9D,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,GAA2B,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAChG,CAAC;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACnG,OAAO,OAAO,CAAC,iBAAiB,EAAE,+BAA+B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,UAAU,KAAK,WAAW,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACvF,OAAO,OAAO,CACZ,oBAAoB,EACpB,WAAW,UAAU,OAAO,GAAG,CAAC,IAAI,+CAA+C,WAAW,EAAE,CACjG,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAyB;QACnC,GAAG,GAAG;QACN,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAM;KAC/G,CAAC;IACF,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,OAAO,CAAC,IAA0B,EAAE,OAAe;IAC1D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;AAC1E,CAAC;AAMD,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAe;IAC5D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC;IAC3C,OAAO,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,IAAS;IACxC,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,IAAI,GAAY,IAAI,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACnE,IAAI,GAAI,IAAY,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8GAA8G;AAC9G,SAAS,UAAU,CAAC,MAAe,EAAE,IAAS,EAAE,KAAa,EAAE,MAAa,EAAE;IAC5E,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,GAAG,CAAC;IACpF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjB,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACrG,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK;YAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACnG,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,QAAiB;IACpD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,IAAI,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAS;IACzB,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,OAAO,CAAC,KAAc,EAAE,MAAW,EAAE,IAAS,EAAE,KAAa;IACpE,IAAI,KAAK,GAAG,SAAS;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAE9C,uEAAuE;IACvE,mEAAmE;IACnE,MAAM,QAAQ,GAAU,EAAE,CAAC;IAC3B,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAU,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAS;YACnC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,MAAM,KAAK,IAAI;gBAAE,gBAAgB,GAAG,KAAK,CAAC;;gBACzC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,GAAG,GAAY,KAAK,CAAC;IACzB,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,oBAAoB,KAAK,KAAK;gBAAE,SAAS;YAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC/G,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,gBAAgB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAK,SAAS,CACpH,CAAC;gBACF,IAAI,CAAC,KAAK;oBAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,GAAY,CAAC;gBACjB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;;oBAC9D,GAAG,GAAG,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC;gBAClF,IAAI,aAAa,CAAC,GAAG,CAAC;oBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACvD,IAAI,aAAa,CAAC,GAAG,CAAC;oBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,QAAQ;QAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC3E,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gFAAgF;AAChF,SAAS,YAAY,CAAC,KAAc,EAAE,IAAe,EAAE,IAAS,EAAE,KAAa;IAC7E,MAAM,IAAI,GAAsC,EAAE,CAAC;IACnD,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAAE,SAAS;QACrC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACvD,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,0EAA0E;IAC1E,iEAAiE;IACjE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,CAAU;IACxC,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC;QACnC,KAAK,SAAS,CAAC,CAAC,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC;QAClD,KAAK,QAAQ,CAAC,CAAC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;QAChD,KAAK,QAAQ,CAAC,CAAC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1E,KAAK,SAAS,CAAC,CAAC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5E,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,KAAK,QAAQ,CAAC,CAAC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,CAAU,EAAE,CAAU;IAClC,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,KAAc,EAAE,MAAe,EAAE,IAAS,EAAE,KAAa;IACzE,IAAI,OAAO,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAC/C,IAAI,KAAK,GAAG,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACzD,CAAC;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrF,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACnH,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;oBACnD,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC;wBAAE,OAAO,KAAK,CAAC;gBAC5D,CAAC;qBAAM,IAAI,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;oBAC1G,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAClF,CAAC;QACD,0EAA0E;QAC1E,kDAAkD;QAClD,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAU,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAClG,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/_runtime/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/_runtime/index.js
CHANGED
|
@@ -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";
|