@rathnasgala2/schemas 3.14.1 → 3.16.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.
Files changed (81) hide show
  1. package/README.md +41 -34
  2. package/THIRD_PARTY_LICENSES.json +1 -1
  3. package/diagnostics/diagnostic-map.json +399 -4
  4. package/docs/catalogs/app-components.json +3421 -4320
  5. package/docs/catalogs/app-routes.json +1921 -2435
  6. package/docs/catalogs/schema-inventory.json +15 -5
  7. package/examples/valid/analytics-config/canonical.json +6 -0
  8. package/examples/valid/analytics-config/rules.json +334 -0
  9. package/examples/valid/build-input/rules.json +202 -0
  10. package/examples/valid/publication/rules.json +49 -0
  11. package/examples/valid/theme-contract/rules.json +64 -4
  12. package/fixtures/boundary/analytics-config/root.json +6 -0
  13. package/fixtures/boundary/analytics-config/rules.json +470 -0
  14. package/fixtures/boundary/build-input/rules.json +207 -0
  15. package/fixtures/boundary/publication/rules.json +54 -0
  16. package/fixtures/boundary/theme-contract/rules.json +64 -4
  17. package/fixtures/invalid/analytics-config/BCP47_INVALID/cases.json +56 -0
  18. package/fixtures/invalid/analytics-config/CANONICAL_ROUTE_INVALID/cases.json +38 -0
  19. package/fixtures/invalid/analytics-config/DIGEST_INVALID/cases.json +20 -0
  20. package/fixtures/invalid/analytics-config/EXTENSION_KEY_INVALID/cases.json +20 -0
  21. package/fixtures/invalid/analytics-config/GIT_OBJECT_ID_INVALID/cases.json +20 -0
  22. package/fixtures/invalid/analytics-config/HTTPS_URL_INVALID/cases.json +29 -0
  23. package/fixtures/invalid/analytics-config/ISO_COUNTRY_INVALID/cases.json +20 -0
  24. package/fixtures/invalid/analytics-config/PACKAGE_EXACT_INVALID/cases.json +38 -0
  25. package/fixtures/invalid/analytics-config/PACKAGE_RANGE_INVALID/cases.json +38 -0
  26. package/fixtures/invalid/analytics-config/PASSIVE_VISUAL_TOKEN_INVALID/cases.json +11 -0
  27. package/fixtures/invalid/analytics-config/PLAIN_LABEL_INVALID/cases.json +31 -0
  28. package/fixtures/invalid/analytics-config/PLAIN_TEXT_INVALID/cases.json +20 -0
  29. package/fixtures/invalid/analytics-config/REPOSITORY_GLOB_INVALID/cases.json +47 -0
  30. package/fixtures/invalid/analytics-config/REPOSITORY_PATH_INVALID/cases.json +58 -0
  31. package/fixtures/invalid/analytics-config/REQUEST_FIELD_UNKNOWN/cases.json +46 -0
  32. package/fixtures/invalid/analytics-config/RFC3339_INVALID/cases.json +29 -0
  33. package/fixtures/invalid/analytics-config/SCHEMA_ENUM_INVALID/cases.json +24 -0
  34. package/fixtures/invalid/analytics-config/SCHEMA_PATTERN_INVALID/cases.json +13 -0
  35. package/fixtures/invalid/analytics-config/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +92 -0
  36. package/fixtures/invalid/analytics-config/SCHEMA_TYPE_INVALID/cases.json +40 -0
  37. package/fixtures/invalid/analytics-config/SCHEMA_VERSION_UNSUPPORTED/cases.json +20 -0
  38. package/fixtures/invalid/analytics-config/SEMVER_INVALID/cases.json +20 -0
  39. package/fixtures/invalid/analytics-config/SEMVER_RANGE_INVALID/cases.json +38 -0
  40. package/fixtures/invalid/analytics-config/SLUG_INVALID/cases.json +38 -0
  41. package/fixtures/invalid/analytics-config/STABLE_ID_INVALID/cases.json +20 -0
  42. package/fixtures/invalid/analytics-config/URN_INVALID/cases.json +38 -0
  43. package/fixtures/invalid/build-input/GRAPHEME_LENGTH_INVALID/cases.json +11 -0
  44. package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +137 -0
  45. package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +22 -0
  46. package/fixtures/invalid/build-input/SCHEMA_PATTERN_INVALID/cases.json +11 -0
  47. package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +194 -0
  48. package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +71 -0
  49. package/fixtures/invalid/build-input/SCHEMA_VERSION_UNSUPPORTED/cases.json +22 -0
  50. package/fixtures/invalid/publication/GRAPHEME_LENGTH_INVALID/cases.json +11 -0
  51. package/fixtures/invalid/publication/REQUEST_FIELD_UNKNOWN/cases.json +28 -0
  52. package/fixtures/invalid/publication/SCHEMA_PATTERN_INVALID/cases.json +11 -0
  53. package/fixtures/invalid/publication/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +44 -0
  54. package/fixtures/invalid/publication/SCHEMA_TYPE_INVALID/cases.json +18 -0
  55. package/fixtures/invalid/theme-contract/SCHEMA_CONSTANT_INVALID/cases.json +33 -22
  56. package/fixtures/invalid/theme-contract/SCHEMA_ENUM_INVALID/cases.json +33 -0
  57. package/fixtures/invalid/theme-contract/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +22 -0
  58. package/fixtures/manifest.json +3066 -16
  59. package/fixtures/s2/empty-modules-placements.json +452 -0
  60. package/fixtures/s2/manifest.json +2 -0
  61. package/fixtures/unknown-field/analytics-config/root.json +7 -0
  62. package/fixtures/unknown-field/analytics-config/rules.json +131 -0
  63. package/fixtures/unknown-field/build-input/rules.json +162 -0
  64. package/fixtures/unknown-field/publication/rules.json +38 -0
  65. package/fixtures/unknown-field/theme-contract/rules.json +8 -2
  66. package/generated/browser/validator-core.mjs +4 -3
  67. package/generated/typescript/contracts/analytics-config.d.ts +54 -0
  68. package/generated/typescript/contracts/build-input.d.ts +26 -0
  69. package/generated/typescript/contracts/publication.d.ts +11 -0
  70. package/generated/typescript/index.d.ts +4 -0
  71. package/generated/typescript/index.js +14 -0
  72. package/openapi/http-catalog.json +54 -2
  73. package/openapi/openapi.yaml +4564 -3334
  74. package/package.json +4 -1
  75. package/sbom.cdx.json +23 -23
  76. package/schemas/analytics-config.schema.json +161 -0
  77. package/schemas/build-input.schema.json +66 -0
  78. package/schemas/publication.schema.json +22 -0
  79. package/schemas/theme-contract.schema.json +25 -3
  80. package/site-policy-defaults.json +10 -0
  81. 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 21 S0-T04 JSON Schema roots: the six author-source
8
+ This repository contains all 22 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,10 +53,10 @@ 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 21 roots (the codegen path
56
+ TypeScript root types and validators for the exact 22 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-second identity and carries
59
+ separately owned OpenAPI contract as the twenty-third 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
62
  HTTP catalog for the MVP operations plus `/internal/health`. The operation set
@@ -72,23 +72,25 @@ independently identified event actions (SCHEMA-2.11.0 adds the
72
72
  retire into the sole aggregate gateway). Each action binds its aggregate and
73
73
  organization or publication scope, exact predecessor/target states, the closed
74
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.
75
+ consumer set. S5-T00 materialized document 07's App semantic component catalog
76
+ and document 14's App route registry (S5 brief section 4) as
77
+ `docs/catalogs/app-components.json` and `docs/catalogs/app-routes.json`; since
78
+ 3.15.0 they describe only the App's current UI (one registered component, 44
79
+ routes). Every `apiOperationIds` entry is validated against
80
+ `openapi/openapi.yaml`, every `componentIds`/`contentKeyIds` entry against the
81
+ component catalog, and `capabilityKeys` are projected from
82
+ `openapi/http-catalog.json`. S4-T01 adds the separately generated `fixtures/s4/`
83
+ deployment/certification consumer-fixture family (deployment-intent,
84
+ deployment-observation, deployment-receipt, public-generation-marker, and
85
+ adapter-capability rows for `local-directory`, `github-pages`, and `do-spaces`)
86
+ alongside the existing `fixtures/s2/` family, each with its own manifest.
87
+ LOCAL-21 admits a 21st App route, `/invitations/accept` (`routeId`
88
+ `invitations.accept`), an ordinary `SESSION_REQUIRED` `APP` route (not
89
+ `TRANSACTIONAL_LINK`: it is served by the App origin after sign-in, unlike the
90
+ deferred `/t/**` template family) that calls
91
+ `postMembershipInvitationsByTokenAccept`; its non-enumerating failure states
92
+ collapse onto that operation's single declared `INVALID_SOURCE_STATE` problem,
93
+ which covers an expired, already-used or unknown token alike.
92
94
 
93
95
  SCHEMA-2.17.0 (design `scrap/20260928_write-preview-publish.md` section 9) is
94
96
  media in articles: a cover image, and images, sound and video referenced from an
@@ -374,7 +376,7 @@ server-derived members. `destinationIdentity` gains an optional closed
374
376
  it has always answered, `repository-changes:plan` names the two digests its
375
377
  confirm is fenced on, and no `format: date-time` member in the bundle carries a
376
378
  `pattern` any longer -- a generated `OffsetDateTime` cannot carry one, and the
377
- requirement moves into each member's description while all twenty-one JSON
379
+ requirement moves into each member's description while all twenty-two JSON
378
380
  Schema roots keep enforcing it. Two reads join the contract --
379
381
  `GET .../publications/{publicationId}/reviews` (keyset, optional `state` filter,
380
382
  rows of the new `ReviewSummary`, which the single review read is now defined as)
@@ -612,7 +614,7 @@ remediation, and documentation URL fields without including authored values.
612
614
  ## Package layout
613
615
 
614
616
  - `src/` — JavaScript ESM runtime package surface, checked from JSDoc;
615
- `index.js` is the twenty-one-contract `.` export (through
617
+ `index.js` is the twenty-two-contract `.` export (through
616
618
  `internal/browser-schema-validator.js`) and `runtime-origins.js` the narrow
617
619
  single-contract browser export, both bound to precompiled standalone
618
620
  validators (SCH-C2) through `internal/validator-core.js`'s
@@ -622,8 +624,13 @@ remediation, and documentation URL fields without including authored values.
622
624
  `./digest-profiles` re-export of `internal/digest-profiles.js`;
623
625
  `frozen-envelope.js` is the Node-only `./frozen-envelope` re-export of
624
626
  `internal/frozen-envelope.js`.
627
+ - `site-policy-defaults.json` — the default Terms and Privacy text of a site
628
+ (`{ terms, privacy }`, each `{ title, markdown }`), the
629
+ `./site-policy-defaults` export (SCHEMA-3.16.0). The one source for the
630
+ template's fallback, the App's "Reset to default" and the user-template seed
631
+ files; the API never carries the text.
625
632
  - `types/` — declaration output emitted from `src/`.
626
- - `schemas/` — 21 committed Draft 2020-12 contracts.
633
+ - `schemas/` — 22 committed Draft 2020-12 contracts.
627
634
  - `compatibility/baseline-schemas/` — the last-released `schemas/*.schema.json`,
628
635
  refreshed only at release time (`npm run compatibility:baseline:update`);
629
636
  `npm run compatibility:check` diffs the current committed schemas against it
@@ -658,7 +665,7 @@ remediation, and documentation URL fields without including authored values.
658
665
  standalone structural core in parallel (SCH-M5) -- that used a second 2.73 MB
659
666
  Ajv standalone CommonJS core whose result could never disagree with the exact
660
667
  one, so it added no assertion and doubled the work.
661
- - `docs/catalogs/schema-inventory.json` — exact 21 JSON Schema roots plus the
668
+ - `docs/catalogs/schema-inventory.json` — exact 22 JSON Schema roots plus the
662
669
  materialized OpenAPI identity.
663
670
  - `docs/COMPATIBILITY.md` — the compatibility policy `compatibility:check`
664
671
  enforces mechanically.
@@ -669,16 +676,16 @@ remediation, and documentation URL fields without including authored values.
669
676
  - `catalog-sources/app-components.json` and `catalog-sources/app-routes.json` —
670
677
  reviewed document 07/14 component and route source ledgers for the S5 App
671
678
  control plane.
672
- - `docs/catalogs/app-components.json` — generated digest-bound catalog of the 15
673
- closed semantic App components and the per-screen title/summary/status/
674
- recovery content-key inventory for every registered route.
675
- - `docs/catalogs/app-routes.json` — generated digest-bound catalog of the 33 App
676
- route registry entries (S5 brief section 4, plus LOCAL-21's
677
- `/invitations/accept`, SCHEMA-2.8.0's Reviews list, the v1 site screens, and
678
- SCHEMA-3.3.0's site Domain screen and three `/platform` operator screens),
679
- each with its derived `routeId`/`screenId`, `componentIds`, `contentKeyIds`,
680
- `apiOperationIds` validated against `openapi/openapi.yaml`, and
681
- `capabilityKeys` projected from `openapi/http-catalog.json`.
679
+ - `docs/catalogs/app-components.json` — generated digest-bound catalog of the
680
+ one registered semantic App component (`ValidationSummary`) and the per-screen
681
+ title/summary/status/recovery content-key inventory for every registered
682
+ route.
683
+ - `docs/catalogs/app-routes.json` — generated digest-bound catalog of the 44
684
+ routes the App's current UI mounts (3.15.0 dropped the retired UI's rows and
685
+ its components), each with its derived `routeId`/`screenId`, `componentIds`,
686
+ `contentKeyIds`, `apiOperationIds` validated against `openapi/openapi.yaml`
687
+ (the operations the App's page for the route reaches through its API
688
+ wrappers), and `capabilityKeys` projected from `openapi/http-catalog.json`.
682
689
  - `openapi/source/` — reviewed, complete OpenAPI root, component, and path
683
690
  fragments, one fragment per tag, grouped by resource or by feature
684
691
  (SCHEMA-3.3.0 adds `publication-transfers`, `domains`, `prism` and `platform`;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "package": "@rathnasgala2/schemas@3.14.1",
3
+ "package": "@rathnasgala2/schemas@3.15.0",
4
4
  "source": "package-lock.json",
5
5
  "dependencies": [
6
6
  {
@@ -3590,6 +3590,258 @@
3590
3590
  "adapter-capability:#:type": {
3591
3591
  "code": "SCHEMA_TYPE_INVALID"
3592
3592
  },
3593
+ "analytics-config:#/$defs/bcp47:format": {
3594
+ "code": "BCP47_INVALID"
3595
+ },
3596
+ "analytics-config:#/$defs/bcp47:maxLength": {
3597
+ "code": "BCP47_INVALID"
3598
+ },
3599
+ "analytics-config:#/$defs/bcp47:minLength": {
3600
+ "code": "BCP47_INVALID"
3601
+ },
3602
+ "analytics-config:#/$defs/bcp47:pattern": {
3603
+ "code": "BCP47_INVALID"
3604
+ },
3605
+ "analytics-config:#/$defs/bcp47:type": {
3606
+ "code": "BCP47_INVALID"
3607
+ },
3608
+ "analytics-config:#/$defs/bcp47:x-gala-utf8ByteLength": {
3609
+ "code": "BCP47_INVALID"
3610
+ },
3611
+ "analytics-config:#/$defs/canonicalRoute:format": {
3612
+ "code": "CANONICAL_ROUTE_INVALID"
3613
+ },
3614
+ "analytics-config:#/$defs/canonicalRoute:minLength": {
3615
+ "code": "CANONICAL_ROUTE_INVALID"
3616
+ },
3617
+ "analytics-config:#/$defs/canonicalRoute:pattern": {
3618
+ "code": "CANONICAL_ROUTE_INVALID"
3619
+ },
3620
+ "analytics-config:#/$defs/canonicalRoute:type": {
3621
+ "code": "CANONICAL_ROUTE_INVALID"
3622
+ },
3623
+ "analytics-config:#/$defs/digest:pattern": {
3624
+ "code": "DIGEST_INVALID"
3625
+ },
3626
+ "analytics-config:#/$defs/digest:type": {
3627
+ "code": "DIGEST_INVALID"
3628
+ },
3629
+ "analytics-config:#/$defs/extensionKey:format": {
3630
+ "code": "EXTENSION_KEY_INVALID"
3631
+ },
3632
+ "analytics-config:#/$defs/extensionKey:type": {
3633
+ "code": "EXTENSION_KEY_INVALID"
3634
+ },
3635
+ "analytics-config:#/$defs/gitObjectId:pattern": {
3636
+ "code": "GIT_OBJECT_ID_INVALID"
3637
+ },
3638
+ "analytics-config:#/$defs/gitObjectId:type": {
3639
+ "code": "GIT_OBJECT_ID_INVALID"
3640
+ },
3641
+ "analytics-config:#/$defs/glob:format": {
3642
+ "code": "REPOSITORY_GLOB_INVALID"
3643
+ },
3644
+ "analytics-config:#/$defs/glob:maxLength": {
3645
+ "code": "REPOSITORY_GLOB_INVALID"
3646
+ },
3647
+ "analytics-config:#/$defs/glob:minLength": {
3648
+ "code": "REPOSITORY_GLOB_INVALID"
3649
+ },
3650
+ "analytics-config:#/$defs/glob:type": {
3651
+ "code": "REPOSITORY_GLOB_INVALID"
3652
+ },
3653
+ "analytics-config:#/$defs/glob:x-gala-utf8ByteLength": {
3654
+ "code": "REPOSITORY_GLOB_INVALID"
3655
+ },
3656
+ "analytics-config:#/$defs/isoCountry:pattern": {
3657
+ "code": "ISO_COUNTRY_INVALID"
3658
+ },
3659
+ "analytics-config:#/$defs/isoCountry:type": {
3660
+ "code": "ISO_COUNTRY_INVALID"
3661
+ },
3662
+ "analytics-config:#/$defs/packageExact:format": {
3663
+ "code": "PACKAGE_EXACT_INVALID"
3664
+ },
3665
+ "analytics-config:#/$defs/packageExact:minLength": {
3666
+ "code": "PACKAGE_EXACT_INVALID"
3667
+ },
3668
+ "analytics-config:#/$defs/packageExact:pattern": {
3669
+ "code": "PACKAGE_EXACT_INVALID"
3670
+ },
3671
+ "analytics-config:#/$defs/packageExact:type": {
3672
+ "code": "PACKAGE_EXACT_INVALID"
3673
+ },
3674
+ "analytics-config:#/$defs/packageRange:format": {
3675
+ "code": "PACKAGE_RANGE_INVALID"
3676
+ },
3677
+ "analytics-config:#/$defs/packageRange:minLength": {
3678
+ "code": "PACKAGE_RANGE_INVALID"
3679
+ },
3680
+ "analytics-config:#/$defs/packageRange:pattern": {
3681
+ "code": "PACKAGE_RANGE_INVALID"
3682
+ },
3683
+ "analytics-config:#/$defs/packageRange:type": {
3684
+ "code": "PACKAGE_RANGE_INVALID"
3685
+ },
3686
+ "analytics-config:#/$defs/passiveVisualToken:false": {
3687
+ "code": "PASSIVE_VISUAL_TOKEN_INVALID"
3688
+ },
3689
+ "analytics-config:#/$defs/plainLabel:format": {
3690
+ "code": "PLAIN_LABEL_INVALID"
3691
+ },
3692
+ "analytics-config:#/$defs/plainLabel:type": {
3693
+ "code": "PLAIN_LABEL_INVALID"
3694
+ },
3695
+ "analytics-config:#/$defs/plainLabel:x-gala-graphemeLength": {
3696
+ "code": "PLAIN_LABEL_INVALID"
3697
+ },
3698
+ "analytics-config:#/$defs/plainText:format": {
3699
+ "code": "PLAIN_TEXT_INVALID"
3700
+ },
3701
+ "analytics-config:#/$defs/plainText:type": {
3702
+ "code": "PLAIN_TEXT_INVALID"
3703
+ },
3704
+ "analytics-config:#/$defs/repoRelativePath:format": {
3705
+ "code": "REPOSITORY_PATH_INVALID"
3706
+ },
3707
+ "analytics-config:#/$defs/repoRelativePath:maxLength": {
3708
+ "code": "REPOSITORY_PATH_INVALID"
3709
+ },
3710
+ "analytics-config:#/$defs/repoRelativePath:minLength": {
3711
+ "code": "REPOSITORY_PATH_INVALID"
3712
+ },
3713
+ "analytics-config:#/$defs/repoRelativePath:pattern": {
3714
+ "code": "REPOSITORY_PATH_INVALID"
3715
+ },
3716
+ "analytics-config:#/$defs/repoRelativePath:type": {
3717
+ "code": "REPOSITORY_PATH_INVALID"
3718
+ },
3719
+ "analytics-config:#/$defs/repoRelativePath:x-gala-utf8ByteLength": {
3720
+ "code": "REPOSITORY_PATH_INVALID"
3721
+ },
3722
+ "analytics-config:#/$defs/rfc3339:format": {
3723
+ "code": "RFC3339_INVALID"
3724
+ },
3725
+ "analytics-config:#/$defs/rfc3339:pattern": {
3726
+ "code": "RFC3339_INVALID"
3727
+ },
3728
+ "analytics-config:#/$defs/rfc3339:type": {
3729
+ "code": "RFC3339_INVALID"
3730
+ },
3731
+ "analytics-config:#/$defs/semver:pattern": {
3732
+ "code": "SEMVER_INVALID"
3733
+ },
3734
+ "analytics-config:#/$defs/semver:type": {
3735
+ "code": "SEMVER_INVALID"
3736
+ },
3737
+ "analytics-config:#/$defs/semverRange:format": {
3738
+ "code": "SEMVER_RANGE_INVALID"
3739
+ },
3740
+ "analytics-config:#/$defs/semverRange:minLength": {
3741
+ "code": "SEMVER_RANGE_INVALID"
3742
+ },
3743
+ "analytics-config:#/$defs/semverRange:pattern": {
3744
+ "code": "SEMVER_RANGE_INVALID"
3745
+ },
3746
+ "analytics-config:#/$defs/semverRange:type": {
3747
+ "code": "SEMVER_RANGE_INVALID"
3748
+ },
3749
+ "analytics-config:#/$defs/slug:maxLength": {
3750
+ "code": "SLUG_INVALID"
3751
+ },
3752
+ "analytics-config:#/$defs/slug:minLength": {
3753
+ "code": "SLUG_INVALID"
3754
+ },
3755
+ "analytics-config:#/$defs/slug:pattern": {
3756
+ "code": "SLUG_INVALID"
3757
+ },
3758
+ "analytics-config:#/$defs/slug:type": {
3759
+ "code": "SLUG_INVALID"
3760
+ },
3761
+ "analytics-config:#/$defs/stableId:pattern": {
3762
+ "code": "STABLE_ID_INVALID"
3763
+ },
3764
+ "analytics-config:#/$defs/stableId:type": {
3765
+ "code": "STABLE_ID_INVALID"
3766
+ },
3767
+ "analytics-config:#/$defs/urlHttps:format": {
3768
+ "code": "HTTPS_URL_INVALID"
3769
+ },
3770
+ "analytics-config:#/$defs/urlHttps:pattern": {
3771
+ "code": "HTTPS_URL_INVALID"
3772
+ },
3773
+ "analytics-config:#/$defs/urlHttps:type": {
3774
+ "code": "HTTPS_URL_INVALID"
3775
+ },
3776
+ "analytics-config:#/$defs/urn:maxLength": {
3777
+ "code": "URN_INVALID"
3778
+ },
3779
+ "analytics-config:#/$defs/urn:minLength": {
3780
+ "code": "URN_INVALID"
3781
+ },
3782
+ "analytics-config:#/$defs/urn:pattern": {
3783
+ "code": "URN_INVALID"
3784
+ },
3785
+ "analytics-config:#/$defs/urn:type": {
3786
+ "code": "URN_INVALID"
3787
+ },
3788
+ "analytics-config:#/properties/consent/properties/policy:enum": {
3789
+ "code": "SCHEMA_ENUM_INVALID"
3790
+ },
3791
+ "analytics-config:#/properties/consent:additionalProperties": {
3792
+ "code": "REQUEST_FIELD_UNKNOWN"
3793
+ },
3794
+ "analytics-config:#/properties/consent:required:policy": {
3795
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
3796
+ },
3797
+ "analytics-config:#/properties/consent:type": {
3798
+ "code": "SCHEMA_TYPE_INVALID"
3799
+ },
3800
+ "analytics-config:#/properties/provider/properties/kind:enum": {
3801
+ "code": "SCHEMA_ENUM_INVALID"
3802
+ },
3803
+ "analytics-config:#/properties/provider/properties/measurementId:pattern": {
3804
+ "code": "SCHEMA_PATTERN_INVALID"
3805
+ },
3806
+ "analytics-config:#/properties/provider/properties/measurementId:type": {
3807
+ "code": "SCHEMA_TYPE_INVALID"
3808
+ },
3809
+ "analytics-config:#/properties/provider:additionalProperties": {
3810
+ "code": "REQUEST_FIELD_UNKNOWN"
3811
+ },
3812
+ "analytics-config:#/properties/provider:required:kind": {
3813
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
3814
+ },
3815
+ "analytics-config:#/properties/provider:required:measurementId": {
3816
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
3817
+ },
3818
+ "analytics-config:#/properties/provider:type": {
3819
+ "code": "SCHEMA_TYPE_INVALID"
3820
+ },
3821
+ "analytics-config:#/properties/schemaId:const": {
3822
+ "code": "SCHEMA_VERSION_UNSUPPORTED"
3823
+ },
3824
+ "analytics-config:#/properties/schemaVersion:const": {
3825
+ "code": "SCHEMA_VERSION_UNSUPPORTED"
3826
+ },
3827
+ "analytics-config:#:additionalProperties": {
3828
+ "code": "REQUEST_FIELD_UNKNOWN"
3829
+ },
3830
+ "analytics-config:#:required:consent": {
3831
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
3832
+ },
3833
+ "analytics-config:#:required:provider": {
3834
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
3835
+ },
3836
+ "analytics-config:#:required:schemaId": {
3837
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
3838
+ },
3839
+ "analytics-config:#:required:schemaVersion": {
3840
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
3841
+ },
3842
+ "analytics-config:#:type": {
3843
+ "code": "SCHEMA_TYPE_INVALID"
3844
+ },
3593
3845
  "appearance:#/$defs/attribution/properties/showMadeWith:type": {
3594
3846
  "code": "SCHEMA_TYPE_INVALID"
3595
3847
  },
@@ -5738,6 +5990,63 @@
5738
5990
  "author:#:type": {
5739
5991
  "code": "SCHEMA_TYPE_INVALID"
5740
5992
  },
5993
+ "build-input:#/$defs/analyticsConfig/properties/consent/properties/policy:enum": {
5994
+ "code": "SCHEMA_ENUM_INVALID"
5995
+ },
5996
+ "build-input:#/$defs/analyticsConfig/properties/consent:additionalProperties": {
5997
+ "code": "REQUEST_FIELD_UNKNOWN"
5998
+ },
5999
+ "build-input:#/$defs/analyticsConfig/properties/consent:required:policy": {
6000
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
6001
+ },
6002
+ "build-input:#/$defs/analyticsConfig/properties/consent:type": {
6003
+ "code": "SCHEMA_TYPE_INVALID"
6004
+ },
6005
+ "build-input:#/$defs/analyticsConfig/properties/provider/properties/kind:enum": {
6006
+ "code": "SCHEMA_ENUM_INVALID"
6007
+ },
6008
+ "build-input:#/$defs/analyticsConfig/properties/provider/properties/measurementId:pattern": {
6009
+ "code": "SCHEMA_PATTERN_INVALID"
6010
+ },
6011
+ "build-input:#/$defs/analyticsConfig/properties/provider/properties/measurementId:type": {
6012
+ "code": "SCHEMA_TYPE_INVALID"
6013
+ },
6014
+ "build-input:#/$defs/analyticsConfig/properties/provider:additionalProperties": {
6015
+ "code": "REQUEST_FIELD_UNKNOWN"
6016
+ },
6017
+ "build-input:#/$defs/analyticsConfig/properties/provider:required:kind": {
6018
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
6019
+ },
6020
+ "build-input:#/$defs/analyticsConfig/properties/provider:required:measurementId": {
6021
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
6022
+ },
6023
+ "build-input:#/$defs/analyticsConfig/properties/provider:type": {
6024
+ "code": "SCHEMA_TYPE_INVALID"
6025
+ },
6026
+ "build-input:#/$defs/analyticsConfig/properties/schemaId:const": {
6027
+ "code": "SCHEMA_VERSION_UNSUPPORTED"
6028
+ },
6029
+ "build-input:#/$defs/analyticsConfig/properties/schemaVersion:const": {
6030
+ "code": "SCHEMA_VERSION_UNSUPPORTED"
6031
+ },
6032
+ "build-input:#/$defs/analyticsConfig:additionalProperties": {
6033
+ "code": "REQUEST_FIELD_UNKNOWN"
6034
+ },
6035
+ "build-input:#/$defs/analyticsConfig:required:consent": {
6036
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
6037
+ },
6038
+ "build-input:#/$defs/analyticsConfig:required:provider": {
6039
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
6040
+ },
6041
+ "build-input:#/$defs/analyticsConfig:required:schemaId": {
6042
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
6043
+ },
6044
+ "build-input:#/$defs/analyticsConfig:required:schemaVersion": {
6045
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
6046
+ },
6047
+ "build-input:#/$defs/analyticsConfig:type": {
6048
+ "code": "SCHEMA_TYPE_INVALID"
6049
+ },
5741
6050
  "build-input:#/$defs/appearanceNormalized/properties/fontAssets:maxItems": {
5742
6051
  "code": "SCHEMA_ARRAY_TOO_LONG"
5743
6052
  },
@@ -6527,6 +6836,15 @@
6527
6836
  "build-input:#/$defs/manifestRenderPolicyIdentity:type": {
6528
6837
  "code": "SCHEMA_TYPE_INVALID"
6529
6838
  },
6839
+ "build-input:#/$defs/moduleBuildSelection/properties/analytics:additionalProperties": {
6840
+ "code": "REQUEST_FIELD_UNKNOWN"
6841
+ },
6842
+ "build-input:#/$defs/moduleBuildSelection/properties/analytics:required:config": {
6843
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
6844
+ },
6845
+ "build-input:#/$defs/moduleBuildSelection/properties/analytics:type": {
6846
+ "code": "SCHEMA_TYPE_INVALID"
6847
+ },
6530
6848
  "build-input:#/$defs/moduleBuildSelection/properties/interactions:additionalProperties": {
6531
6849
  "code": "REQUEST_FIELD_UNKNOWN"
6532
6850
  },
@@ -6782,6 +7100,33 @@
6782
7100
  "build-input:#/$defs/plainText:type": {
6783
7101
  "code": "PLAIN_TEXT_INVALID"
6784
7102
  },
7103
+ "build-input:#/$defs/policiesNormalized:additionalProperties": {
7104
+ "code": "REQUEST_FIELD_UNKNOWN"
7105
+ },
7106
+ "build-input:#/$defs/policiesNormalized:required:privacy": {
7107
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
7108
+ },
7109
+ "build-input:#/$defs/policiesNormalized:required:terms": {
7110
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
7111
+ },
7112
+ "build-input:#/$defs/policiesNormalized:type": {
7113
+ "code": "SCHEMA_TYPE_INVALID"
7114
+ },
7115
+ "build-input:#/$defs/policyPageNormalized/properties/title:x-gala-graphemeLength": {
7116
+ "code": "GRAPHEME_LENGTH_INVALID"
7117
+ },
7118
+ "build-input:#/$defs/policyPageNormalized:additionalProperties": {
7119
+ "code": "REQUEST_FIELD_UNKNOWN"
7120
+ },
7121
+ "build-input:#/$defs/policyPageNormalized:required:body": {
7122
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
7123
+ },
7124
+ "build-input:#/$defs/policyPageNormalized:required:title": {
7125
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
7126
+ },
7127
+ "build-input:#/$defs/policyPageNormalized:type": {
7128
+ "code": "SCHEMA_TYPE_INVALID"
7129
+ },
6785
7130
  "build-input:#/$defs/publicationNormalized/properties/authorIds:maxItems": {
6786
7131
  "code": "SCHEMA_ARRAY_TOO_LONG"
6787
7132
  },
@@ -24785,6 +25130,36 @@
24785
25130
  "publication:#/$defs/plainText:type": {
24786
25131
  "code": "PLAIN_TEXT_INVALID"
24787
25132
  },
25133
+ "publication:#/$defs/policyPage/properties/body:pattern": {
25134
+ "code": "SCHEMA_PATTERN_INVALID"
25135
+ },
25136
+ "publication:#/$defs/policyPage/properties/title:x-gala-graphemeLength": {
25137
+ "code": "GRAPHEME_LENGTH_INVALID"
25138
+ },
25139
+ "publication:#/$defs/policyPage:additionalProperties": {
25140
+ "code": "REQUEST_FIELD_UNKNOWN"
25141
+ },
25142
+ "publication:#/$defs/policyPage:required:body": {
25143
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
25144
+ },
25145
+ "publication:#/$defs/policyPage:required:title": {
25146
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
25147
+ },
25148
+ "publication:#/$defs/policyPage:type": {
25149
+ "code": "SCHEMA_TYPE_INVALID"
25150
+ },
25151
+ "publication:#/$defs/publicationPolicies:additionalProperties": {
25152
+ "code": "REQUEST_FIELD_UNKNOWN"
25153
+ },
25154
+ "publication:#/$defs/publicationPolicies:required:privacy": {
25155
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
25156
+ },
25157
+ "publication:#/$defs/publicationPolicies:required:terms": {
25158
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
25159
+ },
25160
+ "publication:#/$defs/publicationPolicies:type": {
25161
+ "code": "SCHEMA_TYPE_INVALID"
25162
+ },
24788
25163
  "publication:#/$defs/publicationProfile:additionalProperties": {
24789
25164
  "code": "REQUEST_FIELD_UNKNOWN"
24790
25165
  },
@@ -26834,8 +27209,8 @@
26834
27209
  "theme-contract:#/allOf/2/else:not": {
26835
27210
  "code": "SCHEMA_NEGATED_RULE_MATCHED"
26836
27211
  },
26837
- "theme-contract:#/allOf/2/if/properties/contractVersion:const": {
26838
- "code": "SCHEMA_CONSTANT_INVALID"
27212
+ "theme-contract:#/allOf/2/if/properties/contractVersion:enum": {
27213
+ "code": "SCHEMA_ENUM_INVALID"
26839
27214
  },
26840
27215
  "theme-contract:#/allOf/2/if:required:contractVersion": {
26841
27216
  "code": "SCHEMA_REQUIRED_FIELD_MISSING"
@@ -26912,6 +27287,24 @@
26912
27287
  "theme-contract:#/allOf/2/then/allOf/5/then/properties/composition:required:profile": {
26913
27288
  "code": "SCHEMA_REQUIRED_FIELD_MISSING"
26914
27289
  },
27290
+ "theme-contract:#/allOf/2/then/allOf/6/if/properties/contractVersion:const": {
27291
+ "code": "SCHEMA_CONSTANT_INVALID"
27292
+ },
27293
+ "theme-contract:#/allOf/2/then/allOf/6/if:required:contractVersion": {
27294
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
27295
+ },
27296
+ "theme-contract:#/allOf/2/then/allOf/6/then/properties/templateRange:enum": {
27297
+ "code": "SCHEMA_ENUM_INVALID"
27298
+ },
27299
+ "theme-contract:#/allOf/2/then/allOf/7/if/properties/contractVersion:const": {
27300
+ "code": "SCHEMA_CONSTANT_INVALID"
27301
+ },
27302
+ "theme-contract:#/allOf/2/then/allOf/7/if:required:contractVersion": {
27303
+ "code": "SCHEMA_REQUIRED_FIELD_MISSING"
27304
+ },
27305
+ "theme-contract:#/allOf/2/then/allOf/7/then/properties/templateRange:const": {
27306
+ "code": "SCHEMA_CONSTANT_INVALID"
27307
+ },
26915
27308
  "theme-contract:#/allOf/2/then/properties/templateRange:enum": {
26916
27309
  "code": "SCHEMA_ENUM_INVALID"
26917
27310
  },
@@ -26924,8 +27317,8 @@
26924
27317
  "theme-contract:#/allOf/3/if:required:themeId": {
26925
27318
  "code": "SCHEMA_REQUIRED_FIELD_MISSING"
26926
27319
  },
26927
- "theme-contract:#/allOf/3/then/properties/contractVersion:const": {
26928
- "code": "SCHEMA_CONSTANT_INVALID"
27320
+ "theme-contract:#/allOf/3/then/properties/contractVersion:enum": {
27321
+ "code": "SCHEMA_ENUM_INVALID"
26929
27322
  },
26930
27323
  "theme-contract:#/properties/assets:maxItems": {
26931
27324
  "code": "SCHEMA_ARRAY_TOO_LONG"
@@ -27880,6 +28273,8 @@
27880
28273
  "adapter-capability:#/$defs/providerRequestTemplate/properties/fixedHeaders:minItems": "ZERO_LOWER_BOUND_REJECTS_NO_INSTANCE",
27881
28274
  "adapter-capability:#/$defs/unsignedDecimal:format": "FORMAT_REDUNDANT_WITH_SIBLING_RULES",
27882
28275
  "adapter-capability:#/$defs/urn:format": "FORMAT_REDUNDANT_WITH_SIBLING_RULES",
28276
+ "analytics-config:#/$defs/isoCountry:format": "FORMAT_REDUNDANT_WITH_SIBLING_RULES",
28277
+ "analytics-config:#/$defs/urn:format": "FORMAT_REDUNDANT_WITH_SIBLING_RULES",
27883
28278
  "appearance:#/$defs/isoCountry:format": "FORMAT_REDUNDANT_WITH_SIBLING_RULES",
27884
28279
  "appearance:#/$defs/urn:format": "FORMAT_REDUNDANT_WITH_SIBLING_RULES",
27885
28280
  "appearance:#/properties/fontAssetRefs:minItems": "ZERO_LOWER_BOUND_REJECTS_NO_INSTANCE",