@veil-runtime/ui 0.4.1 → 0.5.0
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 +29 -0
- package/README.md +35 -17
- package/dist/build-manifest.json +10 -10
- package/dist/dom.js +280 -24
- package/dist/interface.d.ts +207 -22
- package/dist/interface.js +151 -32
- package/dist/validation-safety.d.ts +10 -0
- package/dist/validation-safety.js +3 -1
- package/docs/API.md +15 -3
- package/docs/ASYNC-PRESENTATION-0.5.0.md +109 -0
- package/docs/INTERACTIVE-COLLECTIONS-0.5.0.md +139 -0
- package/docs/INTERFACE-CAPABILITIES-0.5.0.md +105 -0
- package/docs/RELEASE-0.5.0.md +47 -0
- package/docs/RELEASE-QUALIFICATION-0.5.0.md +157 -0
- package/docs/RICHER-FORMS-0.5.0.md +69 -0
- package/docs/UNIVERSAL-INTERFACE.md +19 -11
- package/docs/V0.5.0-HANDOVER.md +144 -0
- package/examples/universal/async-presentation.mjs +32 -0
- package/examples/universal/collections.mjs +22 -0
- package/examples/universal/forms.mjs +21 -0
- package/package.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
# 0.5.0 — unpublished release candidate
|
|
2
|
+
|
|
3
|
+
- Release qualification promotes package metadata from `0.5.0-dev.0` to `0.5.0`; no publication is performed. See [release notes and migration](docs/RELEASE-0.5.0.md).
|
|
4
|
+
- Add optional Status `phase` literals/bindings for loading, ready, empty and error with strict bounded public messages and safe defaults; expose manifest v5.
|
|
5
|
+
- Preserve eligible focus and recover removed/hidden/disabled focus to the first visible phased Status. Reuse host-controlled Buttons for retry and existing revision guards for transitions; add no asynchronous execution engine.
|
|
6
|
+
- Complete the planned v0.5.0 feature scope for release qualification; candidate remains unpublished.
|
|
7
|
+
|
|
8
|
+
- Add bounded field descriptions, conditional disabled fields and read-only text/number inputs and textareas; expose manifest v4.
|
|
9
|
+
- Associate help/errors with controls, focus the first invalid field on validating button activation, and guard field edits against current visibility and field flags.
|
|
10
|
+
- Preserve eager validation, compatible state/focus retention and host-controlled action delivery; disabled fields retain state and skip validation.
|
|
11
|
+
|
|
12
|
+
- Add opt-in Table `rowKey`, `rowActions`, neutral badge cells, explicit host allowlisting, revision-checked `dispatchRow` and `rowId` events.
|
|
13
|
+
- Reconcile keyed rows/actions with focus retention and stale pointer/key/click protection; expose manifest v3.
|
|
14
|
+
- Preserve legacy Table/List/Button definitions and host record authorization responsibilities.
|
|
15
|
+
|
|
16
|
+
- Add bounded responsive `Grid` with mobile-first column counts at 600px and 1024px, allowlisted gaps, and stable DOM order across public types, validator, manifest, renderer, and producer guidance.
|
|
17
|
+
|
|
18
|
+
- Describe effective interface tree depth and aggregate traversal separately; keep the existing accepted definition set bounded.
|
|
19
|
+
- Publish machine-readable binding, condition, validation, action, and update behavior for producer tooling.
|
|
20
|
+
- This is an unpublished development candidate; v0.4.2 artifacts remain unchanged.
|
|
21
|
+
|
|
22
|
+
# 0.4.2 — published renderer stability patch
|
|
23
|
+
|
|
24
|
+
- Preserve existing text nodes for Text, Heading, Status and Button updates; skip unchanged text and update changed text in place.
|
|
25
|
+
- Fix WebKit mouse activation lost when an input blur commits state during a button press.
|
|
26
|
+
- Keep public APIs, revision semantics, action handlers, keyed reconciliation and transaction boundaries unchanged.
|
|
27
|
+
- Add cross-browser regressions for repeated and changed text, HTML escaping, nested keyed identity, rejected updates and ordinary mouse activation after blur.
|
|
28
|
+
- Published on npm under the `latest` dist-tag. The [original candidate qualification record](https://github.com/veil-runtime/veil-ui-lab/blob/main/docs/release/ui-0.4.2-renderer-stability.md) remains in the source repository.
|
|
29
|
+
|
|
1
30
|
# 0.3.0-rc.2 — review remediation candidate
|
|
2
31
|
|
|
3
32
|
- Reject inherited composition field names and stage bounded state changes before acceptance.
|
package/README.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
# Veil UI — Deterministic Composition Engine
|
|
1
|
+
# Veil UI — Deterministic Composition Engine
|
|
2
2
|
|
|
3
|
-
The v0.
|
|
3
|
+
The unpublished v0.5.0 Developer Preview candidate provides a framework-neutral interface engine with bounded JSON definitions, validated forms, keyed updates, trusted component lifecycles and host-controlled actions. See [UNIVERSAL-INTERFACE.md](docs/UNIVERSAL-INTERFACE.md) for the quick start and [RELEASE-0.5.0.md](docs/RELEASE-0.5.0.md) for release notes, compatibility changes and migration guidance.
|
|
4
|
+
|
|
5
|
+
The five increments are [capability metadata](docs/INTERFACE-CAPABILITIES-0.5.0.md), responsive Grid (in the same contract), [Interactive Tables](docs/INTERACTIVE-COLLECTIONS-0.5.0.md), [Richer Forms](docs/RICHER-FORMS-0.5.0.md), and [host-driven asynchronous presentation](docs/ASYNC-PRESENTATION-0.5.0.md). The final capability manifest version is **5**. Exact-version consumers and custom `InterfaceController` implementations must follow the migration notes before upgrading.
|
|
6
|
+
|
|
7
|
+
**v0.4.2 is the latest published version recorded by this repository.** See the [v0.4.0 contract guide](docs/v0.4.0.md) for its retained validation and condition behavior, the [v0.4.2 changelog](CHANGELOG.md) for the published renderer stability patch, and [RELEASE-0.4.1.md](docs/RELEASE-0.4.1.md) for the earlier release. The v0.5.0 features below require the unpublished candidate artifact.
|
|
4
8
|
|
|
5
9
|
The one-screen composition API and DOM renderer are documented in [COMPOSITION.md](docs/COMPOSITION.md), with a working [stock treatment example](examples/composed). The root capability-description API remains available alongside the newer interface APIs.
|
|
6
10
|
|
|
@@ -8,35 +12,41 @@ The runnable [backend integration example](https://github.com/veil-runtime/veil-
|
|
|
8
12
|
|
|
9
13
|
The root API derives and validates interface descriptions from governed capability contracts. It is framework-neutral: it returns graphs, fields, surfaces, and interaction descriptors. Your host renders those descriptions and executes authorized operations through Core.
|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Install and run
|
|
15
|
+
## Install the published package
|
|
14
16
|
|
|
15
17
|
Requires Node.js 24 or newer for server-side use and npm. The supported TypeScript baseline is 6.0.2, ESM with NodeNext resolution. Strict Core consumer checks use `ES2022` and `DOM` libraries plus Node types because public Core/MCP declarations reference web transport types. The `/dom` entry point requires a browser DOM and should be bundled for browser use; UI has no compiled Core runtime import. Direct CommonJS `require()` is unsupported; use ESM imports or dynamic `import()` from a CommonJS host.
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
In an application using the standalone `/interface` and `/dom` APIs:
|
|
18
20
|
|
|
19
21
|
```sh
|
|
20
|
-
npm
|
|
21
|
-
npm run qualify:ui
|
|
22
|
+
npm install @veil-runtime/ui@0.4.2
|
|
22
23
|
```
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
These APIs do not require Veil Core. The package declares `@veil-runtime/core` as an **optional** peer with range `^0.4.0`; this does not claim compatibility with Core v0.6.0. For a browser application, bundle `/dom` and provide a mount element. The current [UNIVERSAL-INTERFACE.md](docs/UNIVERSAL-INTERFACE.md) and [examples/universal](examples/universal) also describe v0.5.0 additions; use the [v0.4.0 contract guide](docs/v0.4.0.md) for the published baseline.
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
The legacy capability-description example below uses Core types and authoritative Core execution. Install the qualified peer version when running that example:
|
|
27
28
|
|
|
28
29
|
```sh
|
|
29
|
-
npm
|
|
30
|
-
npm install /absolute/path/veil-runtime-ui-0.4.1.tgz
|
|
30
|
+
npm install @veil-runtime/ui@0.4.2 @veil-runtime/core@0.4.0
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Copy [examples/standalone/index.mjs](examples/standalone/index.mjs) into that application and run:
|
|
34
34
|
|
|
35
35
|
```sh
|
|
36
36
|
node index.mjs
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
The example prints derived input controls, rejects invalid input, demonstrates a policy-denied execution without calling the service, and displays an approved result. It uses a tiny host-owned terminal renderer, a local identity fixture, an existing-service-style operation, and authoritative Core authorization. No model, Emergence, React, or Sandbox is involved. The included example `package.json` declares Core but omits UI; install the published UI package explicitly as shown above.
|
|
40
|
+
|
|
41
|
+
## Install the unpublished v0.5.0 candidate
|
|
42
|
+
|
|
43
|
+
After qualification, use the new absolute tarball path printed by the qualifier:
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
npm install /absolute/path/veil-runtime-ui-0.5.0.tgz
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Install `@veil-runtime/core@0.4.0` as well when running the legacy capability-description example. The standalone `/interface` and `/dom` APIs do not require Core. See [release notes and migration](docs/RELEASE-0.5.0.md) before upgrading.
|
|
40
50
|
|
|
41
51
|
## Minimal derivation
|
|
42
52
|
|
|
@@ -83,25 +93,33 @@ UI owns descriptive derivation and validation. The host owns authentication, dis
|
|
|
83
93
|
|
|
84
94
|
Validate inputs on the server independently of the form. Output validation now **rejects undeclared fields recursively**, including array elements, rather than stripping fields or returning a sanitized copy. Validate before transport, storage as trusted context, or rendering; discard the whole result on failure. Explicitly select the public DTO from service records. Declaring a secret in the schema still declares it public; validation cannot decide which business data is sensitive.
|
|
85
95
|
|
|
86
|
-
Input/output/schema validation and presentation-plan parsing reject cycles, accessors, nonplain records, reserved `__proto__`/`prototype`/`constructor` keys, and oversized data. Limits per validation boundary: depth 32, 10,000 nodes, 256 properties per object, 1,000 array items, 65,536 UTF-16 code units per string, and a conservative 1 MiB estimated UTF-8 budget. These are maximum supported
|
|
96
|
+
Input/output/schema validation and presentation-plan parsing reject cycles, accessors, nonplain records, reserved `__proto__`/`prototype`/`constructor` keys, and oversized data. Limits per validation boundary: depth 32, 10,000 nodes, 256 properties per object, 1,000 array items, 65,536 UTF-16 code units per string, and a conservative 1 MiB estimated UTF-8 budget. These are maximum supported package limits, not tunable security exceptions. Hosts must additionally bound raw request/provider response bytes **before JSON decoding**, and constrain response time and concurrent work. Supported dates are real Gregorian `YYYY-MM-DD`; instants must be valid UTC strings with seconds and optional exactly three millisecond digits. Leap seconds and offsets are unsupported.
|
|
87
97
|
|
|
88
98
|
Validation errors throw `Error`; their messages are diagnostic, not stable error codes or safe user-facing text. Host APIs should map them to bounded public errors. The package has no resumable execution or retry guarantee.
|
|
89
99
|
|
|
90
100
|
## Development and limitations
|
|
91
101
|
|
|
102
|
+
For maintainer qualification from the repository root, run `npm ci` and `npm run qualify:ui`. Qualification builds and tests a source-only snapshot, installs its tarball into an independent consumer with **published Core 0.4.0** for the legacy capability example, checks declarations and browser bundling, compares repeated tarballs, audits production dependencies, and inspects legal files. It prints artifact and evidence paths and never publishes. This workflow reviews source changes; consumer installation uses the published npm package above.
|
|
103
|
+
|
|
92
104
|
```sh
|
|
93
105
|
npm --workspace @veil-runtime/ui run check
|
|
94
106
|
npm test
|
|
95
107
|
```
|
|
96
108
|
|
|
97
|
-
The build targets ES2022, emits ESM/declarations without dangling source maps, and fingerprints inputs and emitted files. `verify:dist` rejects missing, stale, altered, or extra files; `npm pack` rebuilds and verifies first. A failing `prepublishOnly` hook blocks publication from a source directory.
|
|
109
|
+
The build targets ES2022, emits ESM/declarations without dangling source maps, and fingerprints inputs and emitted files. `verify:dist` rejects missing, stale, altered, or extra files; `npm pack` rebuilds and verifies first. A failing `prepublishOnly` hook blocks publication from a source directory. For future releases, only an exact qualified tarball is eligible for separate maintainer approval of its SHA-256 and release action. npm tarball publication does not run directory lifecycle hooks; no script bypass is needed. Publication defaults to public access on `https://registry.npmjs.org/` under the `latest` tag. Qualification verifies source-directory refusal and an exact-tarball publication dry-run; it never publishes. Neither qualification nor CI authorizes a future release.
|
|
98
110
|
|
|
99
|
-
The laboratory React UI and Emergence remain historical experiments outside this release contract. The capability lab is at `/lab`; `/` opens the separate Emergence experiment. Known lab-only issues include mobile overflow, decimal input stepping, fixed/permissive demo identity/policy, process-local stores, constructor/singleton integration friction, and unavailable Core Emergence imports in its broad client/server build. These
|
|
111
|
+
The laboratory React UI and Emergence remain historical experiments outside this release contract. The capability lab is at `/lab`; `/` opens the separate Emergence experiment. Known lab-only issues include mobile overflow, decimal input stepping, fixed/permissive demo identity/policy, process-local stores, constructor/singleton integration friction, and unavailable Core Emergence imports in its broad client/server build. These are not supported features of the published UI package. See the release qualification report for separate laboratory dependency findings.
|
|
100
112
|
|
|
101
113
|
## License
|
|
102
114
|
|
|
103
115
|
Apache License 2.0, approved by the maintainer for this package. [LICENSE](LICENSE) and [NOTICE](NOTICE) are included in the qualified tarball. External dependencies retain their own licenses; see [THIRD_PARTY.md](docs/THIRD_PARTY.md). Root laboratory metadata remains separate.
|
|
104
116
|
|
|
117
|
+
## Release history
|
|
118
|
+
|
|
119
|
+
### v0.4.2
|
|
120
|
+
|
|
121
|
+
This published patch preserves text nodes during compatible updates and fixes the documented WebKit mouse-activation defect. See the [qualification record in the source repository](https://github.com/veil-runtime/veil-ui-lab/blob/main/docs/release/ui-0.4.2-renderer-stability.md) for the original candidate evidence.
|
|
122
|
+
|
|
105
123
|
### v0.4.1
|
|
106
124
|
|
|
107
125
|
This patch release adds a [source-only backend integration example](https://github.com/veil-runtime/veil-ui-lab/tree/main/packages/ui/examples/backend). See [validation, conditions, and new inputs](docs/v0.4.0.md) and the [validated request example](examples/universal/validated.mjs). Submission validation is opt-in with `validate: true` on a Button; hosts retain execution and authorization responsibility.
|
package/dist/build-manifest.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"inputs": {
|
|
3
|
-
"package.json": "
|
|
3
|
+
"package.json": "5f8dc63eb4fbfa563726986ef840d9ece572c2a2df93bca1fd3737f0045e5d09",
|
|
4
4
|
"scripts/artifact.mjs": "92d2ffd8836d0e14742528da9ddc96e0834ef873ffa81097a3ebae58d825aace",
|
|
5
5
|
"scripts/build.mjs": "54ca91e728925b1efefa61e5aeeb9e5bf549d25c2faa8ceb618009c214a7e03c",
|
|
6
6
|
"scripts/check-boundary.mjs": "5c09c118f7340f3a111e3947c2d98579f73903728ded9d604ac13b93077a5b29",
|
|
7
7
|
"scripts/publication-hold.mjs": "2c7a00f8f23ac34d888813e76c4ab8f5bb112526002fd6be15993825dff118ca",
|
|
8
8
|
"scripts/verify-core-matrix.mjs": "69614723a540ddc6167d9d87a25718d1f1ce36f2a51f8fcd767a7ac0f1c6259c",
|
|
9
9
|
"scripts/verify-dist.mjs": "668d5b105b7762cc2fd812091dba24f6985597da4519f72d572d5b7e63b880c0",
|
|
10
|
-
"scripts/verify-universal-consumer.mjs": "
|
|
10
|
+
"scripts/verify-universal-consumer.mjs": "9ae49eb5289befbc3eb3d0eb6a7150b8a4ad864d8c6f5ad66e2df80a224e4913",
|
|
11
11
|
"src/application.ts": "18cee45849d0ef9858d673b35aa42b77c4469b637669a0ab8a1ffc1f2c980d5d",
|
|
12
12
|
"src/capability-view-derivation.ts": "07367b08e115c4022c873d2d01888d0d2c26ab58ac7518500fd95331301bbaa4",
|
|
13
13
|
"src/capability-view.ts": "fda1db85ffcb26b45b60890b3a20b875ee4aff76bd3c35ce5d41018b22a64de7",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"src/composition.ts": "4d06b8fe4ed61b2e0a4daf07770be708b2f0167a35ae41140b4047b7cd8fbd78",
|
|
17
17
|
"src/derive-input-fields.ts": "cf8c7ee9f98ed0838dbf299fb4653814c3e70004fc121d8c99752aa137331efd",
|
|
18
18
|
"src/derive-output-view.ts": "81d622d5430f7b9333a41c33794d8d22e3e539e861e04830ce089d83a6790a8e",
|
|
19
|
-
"src/dom.ts": "
|
|
19
|
+
"src/dom.ts": "5cc1d94ca2ec8f1a636daefbec82fdd042b7a14b773a28cfe48a5f7b6372d9ae",
|
|
20
20
|
"src/execution-request.ts": "775c3beba47aae482acbc2a48461ab8f947ca7b773c71a69077af387557ae344",
|
|
21
21
|
"src/experience-orchestration.ts": "f156497d99828d15da2b42f3155e4ec0b77fc72ad6e6d846bb9bbea4d6791fa4",
|
|
22
22
|
"src/format-semantic-value.ts": "2192cd723c5a9d64164287ddae99c0aa105024e1d0778a597d0b71a2ea8ab9dd",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"src/input-schema.ts": "3f40e707882efc81f5e537c8ad8a2cdc4fd279e6362d32ee6fb55a09ac298ee7",
|
|
25
25
|
"src/interaction-resolution.ts": "e9a75d501ded82fe773f03d2dcb1e2fa8b396a98d9c2902888a3f6b3cbf8f55e",
|
|
26
26
|
"src/interface-transaction.ts": "fe415c5318d0f0df78760dc374968dcfee42b0327e8796f3195aef07ccd19e91",
|
|
27
|
-
"src/interface.ts": "
|
|
27
|
+
"src/interface.ts": "3c28ca78d9ba3615e9bf004eeebc930b53baeee2a72ceea978677377f27d7575",
|
|
28
28
|
"src/output-presentation-suggestion-schema.ts": "2421d9f152cb4ce5e4d560f8ebe1d4029147dcab01a187c67008f36a3dfd6bf4",
|
|
29
29
|
"src/output-schema.ts": "68f7f49fed5badafb5ca509365802dec6526a56c23d2bf2837b350852823688b",
|
|
30
30
|
"src/presentation-composition.ts": "0116ae011d577396b5eff5b11a4c6c58b196b7610e71f0f3a0898e63de6457f0",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"src/registry.ts": "de906003b8098202c905532cfd497ab0e2f9092226be2d9f469c5cf883891a8c",
|
|
34
34
|
"src/relationship-interpretation.ts": "63be6a417586603d2b6e3075be9bd5bb812fa06437410fc9efa0c0411375f149",
|
|
35
35
|
"src/validate-application.ts": "f76874d49955d7ade1d0f8c5f995b63a6026102173b3e50b710517ccbc1442f4",
|
|
36
|
-
"src/validation-safety.ts": "
|
|
36
|
+
"src/validation-safety.ts": "64f06f4d918454d0158375415de3487af5010b9f86f2fdb7856d33db8375df15",
|
|
37
37
|
"src/workflow.ts": "6c5b31242474c0a37b1a9f85717eebf3b1d4b373c17c8d47861804e28d3302e5",
|
|
38
38
|
"tsconfig.json": "d4ec334afc2daeccd982d4c3410b53f39df080f3cd1b761557f8e46dc96ab8aa"
|
|
39
39
|
},
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"derive-output-view.d.ts": "9ca3c32ac65215bb85ae74b75121c55c2ac82d04d7754d38ebc0de94d3fa898a",
|
|
56
56
|
"derive-output-view.js": "e54de4b2ece567a518d346cfd8d96fe2179f5a1fcf76cc6306c5222184e19b73",
|
|
57
57
|
"dom.d.ts": "ae12ba88b9bf43bdc99a9c2ca8923764cf28e77d55b132a05dc5965cba34a6a5",
|
|
58
|
-
"dom.js": "
|
|
58
|
+
"dom.js": "34abeb3ddc82f43fb925fb8cc43ef5c9480fd97a12a8a56685ac21de7d676e1c",
|
|
59
59
|
"execution-request.d.ts": "f8b68cf456bfbeb63a968378e5ccaef5f55a908022e323901668ca99ebe75a3a",
|
|
60
60
|
"execution-request.js": "f32bd2e9de70dd9f243d08d0fce4898e847fa3d34d77d3376a1b3c5839edb611",
|
|
61
61
|
"experience-orchestration.d.ts": "45fa9770a37acccaeb6e0f267e0a566c6d6cda6133d6e1077589859478effd77",
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
"interaction-resolution.js": "498ea435bbb9ba0c814728664652491ba6c4be5c3407233984df4cf4f16103d7",
|
|
71
71
|
"interface-transaction.d.ts": "e93b9188ebfd497a4ef180e31fb93b48052a25c5905bf94a6b018a41538f33ac",
|
|
72
72
|
"interface-transaction.js": "9bf1a2bf576576ccb25d993581980e06280fa35107c96e49f962c47a72c1dbb3",
|
|
73
|
-
"interface.d.ts": "
|
|
74
|
-
"interface.js": "
|
|
73
|
+
"interface.d.ts": "5057a53586562989c93f7b08d30567c23f1e11fbd7c406f499d37c3ce86045ef",
|
|
74
|
+
"interface.js": "62310c7bb661799326439caee669522cc15e82d93419e6be125ebb9a834319dd",
|
|
75
75
|
"output-presentation-suggestion-schema.d.ts": "88072dc37afeaab8ac05182b5d49fdf52099bbb18518ce2485feea476ea85895",
|
|
76
76
|
"output-presentation-suggestion-schema.js": "708d2f821132978ba44a2e01812e41e3eec70266e5dbeb7053f55f88142ad634",
|
|
77
77
|
"output-schema.d.ts": "8dbf090a79ab489e068e4a290dccd57e222c377f111d38e990308db8a3debca8",
|
|
@@ -88,8 +88,8 @@
|
|
|
88
88
|
"relationship-interpretation.js": "36ad983eb699cc8c7f18ab0f3a1be15a246faf60fbb8ea535797997e0b82c434",
|
|
89
89
|
"validate-application.d.ts": "9a3116542adeca8b0b31cb7583528964b363a105322383f7c86d96f410c675d2",
|
|
90
90
|
"validate-application.js": "ddb309d298076d03ed6b9c7aa1464b0d3cad8073d559e5a434b89015e094d7cd",
|
|
91
|
-
"validation-safety.d.ts": "
|
|
92
|
-
"validation-safety.js": "
|
|
91
|
+
"validation-safety.d.ts": "982baeb531088b5f6c42d479a087120f729badde20c09019d9a14091379c4823",
|
|
92
|
+
"validation-safety.js": "8a733af7fcfdd2cd327d9d445c813ebab8ae1f7a3c53a3865fa092667e1187ea",
|
|
93
93
|
"workflow.d.ts": "de603bd1785ea75cb5f762a989c0c391498f5841aea4c279231495ba479dfc86",
|
|
94
94
|
"workflow.js": "a79aad136d24613772dfff40373510b0f185a003956bd6de6c59f58d018fcf9e"
|
|
95
95
|
}
|