@rathnasgala2/schemas 3.0.0 → 3.2.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/README.md +39 -42
- package/THIRD_PARTY_LICENSES.json +1 -1
- package/diagnostics/diagnostic-map.json +557 -7
- package/docs/catalogs/app-components.json +435 -1
- package/docs/catalogs/app-routes.json +153 -2
- package/docs/catalogs/schema-inventory.json +15 -5
- package/examples/valid/artifact-manifest/rules.json +2 -2
- package/examples/valid/build-input/rules.json +341 -1
- package/examples/valid/build-provenance/rules.json +2 -2
- package/examples/valid/interactions-config/canonical.json +18 -0
- package/examples/valid/interactions-config/rules.json +529 -0
- package/fixtures/boundary/artifact-manifest/rules.json +2 -2
- package/fixtures/boundary/build-input/rules.json +408 -9
- package/fixtures/boundary/build-provenance/rules.json +2 -2
- package/fixtures/boundary/interactions-config/root.json +18 -0
- package/fixtures/boundary/interactions-config/rules.json +725 -0
- package/fixtures/invalid/artifact-manifest/SCHEMA_CONSTANT_INVALID/cases.json +0 -11
- package/fixtures/invalid/artifact-manifest/SCHEMA_TYPE_INVALID/cases.json +11 -0
- package/fixtures/invalid/build-input/GRAPHEME_LENGTH_INVALID/cases.json +11 -0
- package/fixtures/invalid/build-input/HTTPS_URL_INVALID/cases.json +29 -0
- package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +141 -0
- package/fixtures/invalid/build-input/SCHEMA_ARRAY_TOO_LONG/cases.json +15 -0
- package/fixtures/invalid/build-input/SCHEMA_CONSTANT_INVALID/cases.json +20 -0
- package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +11 -0
- package/fixtures/invalid/build-input/SCHEMA_NEGATED_RULE_MATCHED/cases.json +9 -0
- package/fixtures/invalid/build-input/SCHEMA_NUMBER_TOO_LARGE/cases.json +22 -0
- package/fixtures/invalid/build-input/SCHEMA_NUMBER_TOO_SMALL/cases.json +22 -0
- package/fixtures/invalid/build-input/SCHEMA_OBJECT_TOO_LARGE/cases.json +0 -15
- package/fixtures/invalid/build-input/SCHEMA_PATTERN_INVALID/cases.json +9 -0
- package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +379 -0
- package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +190 -0
- package/fixtures/invalid/build-input/SCHEMA_VERSION_UNSUPPORTED/cases.json +22 -0
- package/fixtures/invalid/build-provenance/SCHEMA_CONSTANT_INVALID/cases.json +0 -11
- package/fixtures/invalid/build-provenance/SCHEMA_TYPE_INVALID/cases.json +11 -0
- package/fixtures/invalid/interactions-config/BCP47_INVALID/cases.json +58 -0
- package/fixtures/invalid/interactions-config/CANONICAL_ROUTE_INVALID/cases.json +38 -0
- package/fixtures/invalid/interactions-config/DIGEST_INVALID/cases.json +20 -0
- package/fixtures/invalid/interactions-config/EXTENSION_KEY_INVALID/cases.json +20 -0
- package/fixtures/invalid/interactions-config/GIT_OBJECT_ID_INVALID/cases.json +20 -0
- package/fixtures/invalid/interactions-config/GRAPHEME_LENGTH_INVALID/cases.json +13 -0
- package/fixtures/invalid/interactions-config/HTTPS_URL_INVALID/cases.json +29 -0
- package/fixtures/invalid/interactions-config/ISO_COUNTRY_INVALID/cases.json +20 -0
- package/fixtures/invalid/interactions-config/PACKAGE_EXACT_INVALID/cases.json +38 -0
- package/fixtures/invalid/interactions-config/PACKAGE_RANGE_INVALID/cases.json +38 -0
- package/fixtures/invalid/interactions-config/PASSIVE_VISUAL_TOKEN_INVALID/cases.json +11 -0
- package/fixtures/invalid/interactions-config/PLAIN_LABEL_INVALID/cases.json +31 -0
- package/fixtures/invalid/interactions-config/PLAIN_TEXT_INVALID/cases.json +20 -0
- package/fixtures/invalid/interactions-config/REPOSITORY_GLOB_INVALID/cases.json +49 -0
- package/fixtures/invalid/interactions-config/REPOSITORY_PATH_INVALID/cases.json +62 -0
- package/fixtures/invalid/interactions-config/REQUEST_FIELD_UNKNOWN/cases.json +108 -0
- package/fixtures/invalid/interactions-config/RFC3339_INVALID/cases.json +29 -0
- package/fixtures/invalid/interactions-config/SCHEMA_ARRAY_TOO_LONG/cases.json +17 -0
- package/fixtures/invalid/interactions-config/SCHEMA_CONSTANT_INVALID/cases.json +22 -0
- package/fixtures/invalid/interactions-config/SCHEMA_ENUM_INVALID/cases.json +13 -0
- package/fixtures/invalid/interactions-config/SCHEMA_NEGATED_RULE_MATCHED/cases.json +11 -0
- package/fixtures/invalid/interactions-config/SCHEMA_NUMBER_TOO_LARGE/cases.json +24 -0
- package/fixtures/invalid/interactions-config/SCHEMA_NUMBER_TOO_SMALL/cases.json +24 -0
- package/fixtures/invalid/interactions-config/SCHEMA_PATTERN_INVALID/cases.json +11 -0
- package/fixtures/invalid/interactions-config/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +305 -0
- package/fixtures/invalid/interactions-config/SCHEMA_TYPE_INVALID/cases.json +175 -0
- package/fixtures/invalid/interactions-config/SCHEMA_VERSION_UNSUPPORTED/cases.json +20 -0
- package/fixtures/invalid/interactions-config/SEMVER_INVALID/cases.json +20 -0
- package/fixtures/invalid/interactions-config/SEMVER_RANGE_INVALID/cases.json +38 -0
- package/fixtures/invalid/interactions-config/SLUG_INVALID/cases.json +38 -0
- package/fixtures/invalid/interactions-config/STABLE_ID_INVALID/cases.json +20 -0
- package/fixtures/invalid/interactions-config/URN_INVALID/cases.json +38 -0
- package/fixtures/manifest.json +4287 -26
- package/fixtures/s2/empty-modules-placements.json +233 -3
- package/fixtures/s2/manifest.json +1 -0
- package/fixtures/unknown-field/artifact-manifest/rules.json +1 -1
- package/fixtures/unknown-field/build-input/rules.json +198 -1
- package/fixtures/unknown-field/build-provenance/rules.json +1 -1
- package/fixtures/unknown-field/interactions-config/root.json +19 -0
- package/fixtures/unknown-field/interactions-config/rules.json +227 -0
- package/generated/browser/validator-core.mjs +4 -3
- package/generated/typescript/contracts/artifact-manifest.d.ts +1 -1
- package/generated/typescript/contracts/build-input.d.ts +58 -1
- package/generated/typescript/contracts/build-provenance.d.ts +1 -1
- package/generated/typescript/contracts/interactions-config.d.ts +91 -0
- package/generated/typescript/index.d.ts +4 -0
- package/generated/typescript/index.js +14 -0
- package/openapi/http-catalog.json +242 -2
- package/openapi/openapi.yaml +6511 -1752
- package/package.json +2 -1
- package/sbom.cdx.json +23 -23
- package/schemas/artifact-manifest.schema.json +1 -1
- package/schemas/build-input.schema.json +117 -2
- package/schemas/build-provenance.schema.json +1 -1
- package/schemas/interactions-config.schema.json +222 -0
- package/src/internal/schema-validator.js +3 -0
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ the OpenAPI contract, generated validators, and generated consumer types. It
|
|
|
5
5
|
does not contain API business behavior, UI code, publication rendering, or
|
|
6
6
|
infrastructure configuration.
|
|
7
7
|
|
|
8
|
-
This repository contains all
|
|
8
|
+
This repository contains all 21 S0-T04 JSON Schema roots: the six author-source
|
|
9
9
|
contracts, the eleven composition/build/deployment contracts (SCHEMA-2.10.0 adds
|
|
10
10
|
`build-provenance`, `urn:gala:metadata:build-provenance:2.0.0`, a pure addition
|
|
11
11
|
nested identically at `artifact-manifest`'s internal `#/$defs/buildProvenance`
|
|
@@ -53,45 +53,42 @@ committed exact-result snapshot rejects mutually shared extra diagnostics. The
|
|
|
53
53
|
same gate also executes 1,995 shared DEC-099 scalar vectors, including all 766
|
|
54
54
|
pinned Unicode 17 grapheme-conformance rows, and raw RFC 8785 number and string
|
|
55
55
|
spellings that have not first been normalized by Node. S0-T06 generates strict
|
|
56
|
-
TypeScript root types and validators for the exact
|
|
56
|
+
TypeScript root types and validators for the exact 21 roots (the codegen path
|
|
57
57
|
also generated a Java 21 records/Networknt registry tree until SCH-C4/SCH-H5
|
|
58
58
|
removed it as unconsumed -- see "Package layout"). The schema inventory adds the
|
|
59
|
-
separately owned OpenAPI contract as the twenty-
|
|
59
|
+
separately owned OpenAPI contract as the twenty-second identity and carries
|
|
60
60
|
DEC-091's domain-separated `sourceDesignRevision`. S0-T07 materializes the
|
|
61
61
|
reviewed OpenAPI 3.1 source fragments, deterministic bundle, and digest-bound
|
|
62
|
-
HTTP catalog for
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
the
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
`
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
`postMembershipInvitationsByTokenAccept`; its non-enumerating failure states
|
|
93
|
-
collapse onto that operation's single declared `INVALID_SOURCE_STATE` problem,
|
|
94
|
-
which covers an expired, already-used or unknown token alike.
|
|
62
|
+
HTTP catalog for the MVP operations plus `/internal/health`. The operation set
|
|
63
|
+
is defined only by the source fragments; no document or test quotes a count of
|
|
64
|
+
it (the earlier per-release tallies were removed because they drifted). The
|
|
65
|
+
bundle includes the accepted DEC-097 receipt-exchange and deployment-receipt
|
|
66
|
+
amendments and serializes the fixed OpenAPI Generator 7.25.0 option sets. Every
|
|
67
|
+
operation also declares its tenant scope, lifecycle and activation guards, maps
|
|
68
|
+
every reachable problem, and carries schema-validated nominal and problem
|
|
69
|
+
examples. S0-T08 projects the exact 19 admitted transition families into 77
|
|
70
|
+
independently identified event actions (SCHEMA-2.11.0 adds the
|
|
71
|
+
`github_installation` family so the worker-only compare-and-set writer can
|
|
72
|
+
retire into the sole aggregate gateway). Each action binds its aggregate and
|
|
73
|
+
organization or publication scope, exact predecessor/target states, the closed
|
|
74
|
+
DEC-101 payload, the transactional outbox producer, and a non-empty registered
|
|
75
|
+
consumer set. S5-T00 materializes document 07's closed 15-component App semantic
|
|
76
|
+
catalog and document 14's 20-entry MVP App route registry (S5 brief section 4)
|
|
77
|
+
as `docs/catalogs/app-components.json` and `docs/catalogs/app-routes.json`, with
|
|
78
|
+
every `apiOperationIds` entry validated against `openapi/openapi.yaml`, every
|
|
79
|
+
`componentIds`/`contentKeyIds` entry validated against the component catalog,
|
|
80
|
+
and `capabilityKeys` projected from `openapi/http-catalog.json`. S4-T01 adds the
|
|
81
|
+
separately generated `fixtures/s4/` deployment/certification consumer-fixture
|
|
82
|
+
family (deployment-intent, deployment-observation, deployment-receipt,
|
|
83
|
+
public-generation-marker, and adapter-capability rows for `local-directory`,
|
|
84
|
+
`github-pages`, and `do-spaces`) alongside the existing `fixtures/s2/` family,
|
|
85
|
+
each with its own manifest. LOCAL-21 admits a 21st App route,
|
|
86
|
+
`/invitations/accept` (`routeId` `invitations.accept`), an ordinary
|
|
87
|
+
`SESSION_REQUIRED` `APP` route (not `TRANSACTIONAL_LINK`: it is served by the
|
|
88
|
+
App origin after sign-in, unlike the deferred `/t/**` template family) that
|
|
89
|
+
calls `postMembershipInvitationsByTokenAccept`; its non-enumerating failure
|
|
90
|
+
states collapse onto that operation's single declared `INVALID_SOURCE_STATE`
|
|
91
|
+
problem, which covers an expired, already-used or unknown token alike.
|
|
95
92
|
|
|
96
93
|
SCHEMA-2.17.0 (design `scrap/20260928_write-preview-publish.md` section 9) is
|
|
97
94
|
media in articles: a cover image, and images, sound and video referenced from an
|
|
@@ -377,8 +374,8 @@ server-derived members. `destinationIdentity` gains an optional closed
|
|
|
377
374
|
it has always answered, `repository-changes:plan` names the two digests its
|
|
378
375
|
confirm is fenced on, and no `format: date-time` member in the bundle carries a
|
|
379
376
|
`pattern` any longer -- a generated `OffsetDateTime` cannot carry one, and the
|
|
380
|
-
requirement moves into each member's description while all twenty JSON
|
|
381
|
-
roots keep enforcing it. Two reads join the contract --
|
|
377
|
+
requirement moves into each member's description while all twenty-one JSON
|
|
378
|
+
Schema roots keep enforcing it. Two reads join the contract --
|
|
382
379
|
`GET .../publications/{publicationId}/reviews` (keyset, optional `state` filter,
|
|
383
380
|
rows of the new `ReviewSummary`, which the single review read is now defined as)
|
|
384
381
|
and `GET .../deployments/{generationId}` -- taking the MVP operation count from
|
|
@@ -615,7 +612,7 @@ remediation, and documentation URL fields without including authored values.
|
|
|
615
612
|
## Package layout
|
|
616
613
|
|
|
617
614
|
- `src/` — JavaScript ESM runtime package surface, checked from JSDoc;
|
|
618
|
-
`index.js` is the twenty-contract `.` export (through
|
|
615
|
+
`index.js` is the twenty-one-contract `.` export (through
|
|
619
616
|
`internal/browser-schema-validator.js`) and `runtime-origins.js` the narrow
|
|
620
617
|
single-contract browser export, both bound to precompiled standalone
|
|
621
618
|
validators (SCH-C2) through `internal/validator-core.js`'s
|
|
@@ -626,7 +623,7 @@ remediation, and documentation URL fields without including authored values.
|
|
|
626
623
|
`frozen-envelope.js` is the Node-only `./frozen-envelope` re-export of
|
|
627
624
|
`internal/frozen-envelope.js`.
|
|
628
625
|
- `types/` — declaration output emitted from `src/`.
|
|
629
|
-
- `schemas/` —
|
|
626
|
+
- `schemas/` — 21 committed Draft 2020-12 contracts.
|
|
630
627
|
- `compatibility/baseline-schemas/` — the last-released `schemas/*.schema.json`,
|
|
631
628
|
refreshed only at release time (`npm run compatibility:baseline:update`);
|
|
632
629
|
`npm run compatibility:check` diffs the current committed schemas against it
|
|
@@ -661,7 +658,7 @@ remediation, and documentation URL fields without including authored values.
|
|
|
661
658
|
standalone structural core in parallel (SCH-M5) -- that used a second 2.73 MB
|
|
662
659
|
Ajv standalone CommonJS core whose result could never disagree with the exact
|
|
663
660
|
one, so it added no assertion and doubled the work.
|
|
664
|
-
- `docs/catalogs/schema-inventory.json` — exact
|
|
661
|
+
- `docs/catalogs/schema-inventory.json` — exact 21 JSON Schema roots plus the
|
|
665
662
|
materialized OpenAPI identity.
|
|
666
663
|
- `docs/COMPATIBILITY.md` — the compatibility policy `compatibility:check`
|
|
667
664
|
enforces mechanically.
|
|
@@ -685,7 +682,7 @@ remediation, and documentation URL fields without including authored values.
|
|
|
685
682
|
fragments grouped by the first literal resource token. A build input, not part
|
|
686
683
|
of the npm payload (SCH-H7: `!openapi/source/` in `package.json`'s `files`) --
|
|
687
684
|
a consumer reads the materialized `openapi/openapi.yaml` instead.
|
|
688
|
-
- `openapi/openapi.yaml` — deterministic OpenAPI 3.1 bundle for the
|
|
685
|
+
- `openapi/openapi.yaml` — deterministic OpenAPI 3.1 bundle for the MVP
|
|
689
686
|
operations plus health.
|
|
690
687
|
- `openapi/http-catalog.json` — generated digest-bound method/path/purpose and
|
|
691
688
|
capability inventory, including `conditionalCapabilityKeys` (SCHEMA-2.7.1) and
|