@gradial/aci 0.1.52-rc.3 → 0.1.52-rc.34-e2e.1
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 +80 -0
- package/README.md +86 -5
- package/dist/astro/error-page.js +1 -0
- package/dist/astro/index.js +4 -0
- package/dist/astro/page.d.ts +5 -2
- package/dist/astro/page.js +35 -23
- package/dist/astro/preview.js +2 -17
- package/dist/audience-data-models.d.ts +308 -194
- package/dist/audience-data-models.js +314 -51
- package/dist/cli/compile-registry.d.mts +5 -1
- package/dist/cli/compile-registry.mjs +31 -46
- package/dist/cli/mintlify-render.mjs +8 -0
- package/dist/cli/validate-content.d.mts +31 -1
- package/dist/cli/validate-content.mjs +50 -12
- package/dist/collect/aci.js +1 -1
- package/dist/collect/aci.js.sha256 +1 -1
- package/dist/collect/api.d.ts +6 -7
- package/dist/collect/api.js +21 -8
- package/dist/collect/assignments.d.ts +7 -9
- package/dist/collect/assignments.js +23 -32
- package/dist/collect/batcher.d.ts +9 -7
- package/dist/collect/batcher.js +6 -5
- package/dist/collect/consent/envelope.d.ts +7 -1
- package/dist/collect/consent/envelope.js +3 -1
- package/dist/collect/consent/mapping.d.ts +2 -0
- package/dist/collect/consent/mapping.js +1 -0
- package/dist/collect/consenthold.d.ts +38 -0
- package/dist/collect/consenthold.js +82 -0
- package/dist/collect/declarative.js +7 -5
- package/dist/collect/gapbuffer.d.ts +13 -4
- package/dist/collect/gapbuffer.js +21 -10
- package/dist/collect/index.js +67 -20
- package/dist/collect/pageviews.d.ts +11 -11
- package/dist/collect/pageviews.js +27 -22
- package/dist/consent-banner/index.d.ts +17 -0
- package/dist/consent-banner/index.js +23 -0
- package/dist/content/index.d.ts +2 -1
- package/dist/content/index.js +4 -1
- package/dist/content/provider.d.ts +16 -2
- package/dist/content/provider.js +5 -1
- package/dist/content/resolve-slots.d.ts +33 -4
- package/dist/content/resolve-slots.js +127 -19
- package/dist/content/types.d.ts +7 -1
- package/dist/edge/expression-capabilities.v1.d.ts +106 -0
- package/dist/edge/expression-capabilities.v1.js +165 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.js +0 -1
- package/dist/internal/domain/edge/compose.d.ts +24 -0
- package/dist/internal/domain/edge/compose.js +89 -0
- package/dist/internal/domain/edge/identity.d.ts +5 -0
- package/dist/internal/domain/edge/identity.js +50 -14
- package/dist/internal/domain/edge/index.d.ts +2 -0
- package/dist/internal/domain/edge/index.js +2 -0
- package/dist/internal/domain/edge/mimic_token.d.ts +14 -0
- package/dist/internal/domain/edge/mimic_token.js +125 -0
- package/dist/internal/domain/edge/personalization-core.d.ts +61 -22
- package/dist/internal/domain/edge/personalization-core.js +789 -198
- package/dist/internal/domain/edge/personalization_index.d.ts +17 -0
- package/dist/internal/domain/edge/personalization_index.js +56 -0
- package/dist/internal/domain/edge/record/codec.d.ts +6 -32
- package/dist/internal/domain/edge/record/codec.js +86 -168
- package/dist/internal/domain/edge/resolve.js +76 -39
- package/dist/internal/domain/edge/testdata/flat_only_validator_v1.d.ts +10 -0
- package/dist/internal/domain/edge/testdata/flat_only_validator_v1.js +253 -0
- package/dist/internal/domain/edge/types.d.ts +93 -41
- package/dist/internal/domain/edge/types.js +3 -3
- package/dist/internal/domain/edge/variant_key.d.ts +3 -0
- package/dist/internal/domain/edge/variant_key.js +44 -0
- package/dist/internal/platform/collectionstore/errors.d.ts +24 -0
- package/dist/internal/platform/collectionstore/errors.js +48 -0
- package/dist/mimic/core.d.ts +2 -0
- package/dist/mimic/core.js +31 -0
- package/dist/mintlify/blocks.d.ts +6 -0
- package/dist/mintlify/blocks.js +201 -0
- package/dist/mintlify/config.d.ts +3 -0
- package/dist/mintlify/config.js +77 -0
- package/dist/mintlify/index.d.ts +3 -0
- package/dist/mintlify/index.js +2 -0
- package/dist/mintlify/json.d.ts +8 -0
- package/dist/mintlify/json.js +37 -0
- package/dist/mintlify/materialize.d.ts +14 -0
- package/dist/mintlify/materialize.js +254 -0
- package/dist/mintlify/types.d.ts +74 -0
- package/dist/mintlify/types.js +1 -0
- package/dist/mintlify/validate.d.ts +7 -0
- package/dist/mintlify/validate.js +256 -0
- package/dist/next/assignments-navigation.d.ts +4 -0
- package/dist/next/assignments-navigation.js +18 -0
- package/dist/next/assignments-script.d.ts +3 -2
- package/dist/next/assignments-script.js +5 -5
- package/dist/next/error-pages.d.ts +4 -0
- package/dist/next/error-pages.js +4 -0
- package/dist/next/error-seat-payload.d.ts +2 -1
- package/dist/next/error-seat-payload.js +14 -24
- package/dist/next/error-seat.js +7 -2
- package/dist/next/hosted-page-target.d.ts +7 -0
- package/dist/next/hosted-page-target.js +39 -0
- package/dist/next/index.d.ts +1 -1
- package/dist/next/index.js +3 -1
- package/dist/next/page.d.ts +29 -6
- package/dist/next/page.js +47 -25
- package/dist/next/release-context.d.ts +29 -0
- package/dist/next/release-context.js +55 -0
- package/dist/next/render.d.ts +1 -1
- package/dist/next/render.js +15 -5
- package/dist/next/server.d.ts +8 -0
- package/dist/next/server.js +44 -3
- package/dist/next/vercel-edge-projection-v1.d.ts +0 -9
- package/dist/next/vercel-edge-projection-v1.js +9 -539
- package/dist/preview/core.d.ts +1 -0
- package/dist/preview/core.js +27 -0
- package/dist/react/VideoPlayer.d.ts +3 -3
- package/dist/react/VideoPlayer.js +2 -2
- package/dist/react/index.d.ts +4 -4
- package/dist/react/index.js +2 -3
- package/dist/registry.d.ts +4 -2
- package/dist/testing/conformance/checks.d.ts +2 -2
- package/dist/testing/conformance/checks.js +2 -0
- package/dist/testing/conformance/index.d.ts +1 -0
- package/dist/testing/conformance/index.js +1 -0
- package/dist/testing/conformance/next-stubs.d.ts +6 -0
- package/dist/testing/conformance/next-stubs.js +9 -0
- package/dist/testing/conformance/preset.d.ts +3 -2
- package/dist/testing/conformance/preset.js +15 -8
- package/dist/testing/conformance/root-identity.d.ts +31 -0
- package/dist/testing/conformance/root-identity.js +361 -0
- package/dist/testing/conformance/stubs/next-image.d.ts +7 -0
- package/dist/testing/conformance/stubs/next-image.js +5 -0
- package/dist/testing/conformance/stubs/next-link.d.ts +7 -0
- package/dist/testing/conformance/stubs/next-link.js +4 -0
- package/dist/testing/conformance/types.d.ts +5 -2
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +4 -3
- package/dist/types/block-ref.d.ts +2 -0
- package/dist/types/block-ref.js +3 -2
- package/dist/types/component.d.ts +9 -0
- package/dist/types/config.d.ts +0 -1
- package/dist/types/image.d.ts +54 -17
- package/dist/types/image.js +102 -18
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.js +0 -1
- package/dist/types/media.d.ts +14 -6
- package/dist/types/page.d.ts +0 -1
- package/dist/types/video.d.ts +7 -3
- package/migrations/conformance-registry.md +22 -0
- package/package.json +21 -7
- package/src/cli/compile-registry.mjs +30 -42
- package/src/cli/mintlify-render.mjs +9 -0
- package/src/cli/validate-content.mjs +52 -13
- package/src/types/block-ref.test.ts +60 -0
- package/src/types/block-ref.ts +4 -2
- package/src/types/component.ts +10 -0
- package/src/types/config.ts +0 -1
- package/src/types/image.ts +133 -29
- package/src/types/index.ts +0 -1
- package/src/types/page.ts +0 -1
- package/src/types/video.ts +1 -1
- package/templates/astro/starter-content/src/components/chrome/Footer.astro +5 -3
- package/templates/astro/starter-content/src/components/chrome/Header.astro +5 -3
- package/templates/astro/starter-content/src/components/elements/Button.astro +5 -2
- package/templates/astro/starter-content/src/components/elements/ButtonBlock.astro +5 -3
- package/templates/astro/starter-content/src/components/sections/ContainerSection.astro +4 -3
- package/templates/astro/starter-content/src/components/sections/FeatureCard.astro +4 -3
- package/templates/astro/starter-content/src/components/sections/FeatureGrid.astro +4 -3
- package/templates/astro/starter-content/src/components/sections/HomeHero.astro +5 -3
- package/templates/astro/starter-content/src/components/sections/PersonalizationChoice.astro +4 -3
- package/templates/astro/starter-content/src/components/sections/StatsBar.astro +4 -3
- package/templates/astro/starter-content/src/fixtures/atomicBlocks.ts +7 -6
- package/templates/astro/starter-content/src/fixtures/composition.ts +3 -2
- package/templates/astro/starter-content/src/fixtures/sections.ts +3 -3
- package/templates/astro/starter-content/src/stories/CompositionStoryFrame.astro +7 -2
- package/templates/astro/template/.aci.yaml.tmpl +0 -1
- package/templates/astro/template/package.json.tmpl +5 -5
- package/templates/astro/template/src/layouts/SiteLayout.astro +2 -2
- package/templates/common/.agents/skills/aci/SKILL.md +58 -1
- package/templates/common/.agents/skills/authoring/SKILL.md +203 -43
- package/templates/common/.agents/skills/authoring/references/block-registry.md +19 -3
- package/templates/common/.agents/skills/authoring/references/block-slots.md +3 -0
- package/templates/common/.agents/skills/authoring/references/contracts.md +9 -30
- package/templates/common/.agents/skills/authoring/references/repo-structure.md +5 -4
- package/templates/common/.agents/skills/authoring/references/sdk-server-functions.md +3 -3
- package/templates/common/.agents/skills/dam-delivery/SKILL.md +217 -0
- package/templates/common/.agents/skills/dam-delivery/references/permalink-grammar.md +167 -0
- package/templates/common/.agents/skills/migration/references/canon-migration.md +18 -67
- package/templates/common/.agents/skills/migration/references/selector-map.md +1 -1
- package/templates/common/.content/fragments/navbar/_index.json +24 -0
- package/templates/common/.content/fragments/site-footer/_index.json +61 -0
- package/templates/common/.content/pages/404/_index.json +4 -2
- package/templates/common/.content/pages/{home/_index.json → _index.json} +10 -1
- package/templates/common/.content/pages/error/_index.json +4 -2
- package/templates/common/.content/schemas/site.schema.json +11 -1
- package/templates/common/.content/templates/error.json +24 -0
- package/templates/common/.content/templates/home.json +28 -0
- package/templates/common/.content/templates/site.json +8 -0
- package/templates/common/.content/templates/standard.json +24 -0
- package/templates/common/.nvmrc +1 -1
- package/templates/common/starter-content/.content/.rules-baseline.json +8 -0
- package/templates/common/starter-content/.content/config/site.json +1 -1
- package/templates/common/starter-content/.content/content-rules/no-public-resource-paths.json +6 -0
- package/templates/common/starter-content/.content/dam/README.md +74 -0
- package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_home_hero → 000000000000000000000000101}/asset.json +1 -1
- package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_about_hero → 000000000000000000000000101}/governance.json +2 -1
- package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_about_hero → 000000000000000000000000102}/asset.json +1 -1
- package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_home_hero → 000000000000000000000000102}/governance.json +2 -1
- package/templates/common/starter-content/.content/fragments/navbar/_index.json +23 -20
- package/templates/common/starter-content/.content/fragments/site-footer/_index.json +59 -56
- package/templates/common/starter-content/.content/pages/404/_index.json +2 -2
- package/templates/common/starter-content/.content/pages/{home/_index.json → _index.json} +23 -3
- package/templates/common/starter-content/.content/pages/about/_index.json +5 -2
- package/templates/common/starter-content/.content/pages/error/_index.json +2 -2
- package/templates/common/starter-content/.content/patterns/components/button.json +55 -0
- package/templates/common/starter-content/.content/patterns/components/container.json +67 -0
- package/templates/common/starter-content/.content/patterns/components/feature_card.json +30 -0
- package/templates/common/starter-content/.content/patterns/components/feature_grid.json +59 -0
- package/templates/common/starter-content/.content/patterns/components/home_hero.json +151 -0
- package/templates/common/starter-content/.content/patterns/components/personalization_choice.json +42 -0
- package/templates/common/starter-content/.content/patterns/components/site-footer.json +203 -0
- package/templates/common/starter-content/.content/patterns/components/site-navigation.json +115 -0
- package/templates/common/starter-content/.content/patterns/components/stats_bar.json +45 -0
- package/templates/common/starter-content/.content/schemas/site.schema.json +11 -1
- package/templates/nextjs/starter-content/src/components/chrome/Footer.tsx +4 -3
- package/templates/nextjs/starter-content/src/components/chrome/Header.tsx +4 -3
- package/templates/nextjs/starter-content/src/components/elements/Button.tsx +4 -3
- package/templates/nextjs/starter-content/src/components/elements/ButtonBlock.tsx +4 -3
- package/templates/nextjs/starter-content/src/components/sections/ContainerSection.tsx +4 -2
- package/templates/nextjs/starter-content/src/components/sections/FeatureCard.tsx +4 -3
- package/templates/nextjs/starter-content/src/components/sections/FeatureGrid.tsx +4 -2
- package/templates/nextjs/starter-content/src/components/sections/HomeHero.tsx +4 -3
- package/templates/nextjs/starter-content/src/components/sections/PersonalizationChoice.tsx +4 -2
- package/templates/nextjs/starter-content/src/components/sections/StatsBar.tsx +4 -3
- package/templates/nextjs/template/.aci.yaml +9 -0
- package/templates/nextjs/template/.aci.yaml.tmpl +0 -1
- package/templates/nextjs/template/package.json.tmpl +4 -3
- package/templates/nextjs/template/src/app/_components/c15t-bridge.ts +30 -0
- package/templates/nextjs/template/src/app/_components/c15t-consent-ui.tsx +37 -0
- package/templates/nextjs/template/src/app/_components/consent-manager.css +63 -0
- package/templates/nextjs/template/src/app/_components/consent-manager.tsx +76 -0
- package/templates/nextjs/template/src/app/fonts/inter/OFL.txt +93 -0
- package/templates/nextjs/template/src/app/fonts/inter/inter-latin.woff2 +0 -0
- package/templates/nextjs/template/src/app/fonts/space-grotesk/OFL.txt +93 -0
- package/templates/nextjs/template/src/app/fonts/space-grotesk/space-grotesk-latin.woff2 +0 -0
- package/templates/nextjs/template/src/app/layout.tsx +12 -7
- package/templates/nextjs/template/tests/conformance.test.ts.tmpl +1 -0
- package/dist/define-layout.d.ts +0 -6
- package/dist/define-layout.js +0 -14
- package/dist/edge/personalization-core.d.ts +0 -11
- package/dist/edge/personalization-core.js +0 -269
- package/dist/next/collect-route.d.ts +0 -19
- package/dist/next/collect-route.js +0 -459
- package/dist/next/envelope-digest.d.ts +0 -21
- package/dist/next/envelope-digest.js +0 -58
- package/dist/next/middleware.d.ts +0 -40
- package/dist/next/middleware.js +0 -475
- package/dist/next/personalization-host.d.ts +0 -134
- package/dist/next/personalization-host.js +0 -270
- package/dist/next/root-layout.d.ts +0 -4
- package/dist/next/root-layout.js +0 -5
- package/dist/next/vercel-collect-sdk-route.d.ts +0 -27
- package/dist/next/vercel-collect-sdk-route.js +0 -181
- package/dist/next/vercel-personalization.d.ts +0 -4
- package/dist/next/vercel-personalization.js +0 -4
- package/dist/next/vercel-s3-personalization.d.ts +0 -79
- package/dist/next/vercel-s3-personalization.js +0 -570
- package/dist/types/layout.d.ts +0 -24
- package/src/types/layout.ts +0 -29
- package/templates/astro/starter-content/src/render/RenderPage.astro +0 -67
- package/templates/astro/template/src/cms/contracts/layouts/index.ts +0 -18
- package/templates/nextjs/starter-content/src/components/elements/AtomicBlock.tsx +0 -13
- package/templates/nextjs/template/src/cms/contracts/layouts/index.ts +0 -16
- /package/dist/{types/layout.js → cli/mintlify-render.d.mts} +0 -0
- /package/templates/common/.content/overlays/audience/preference-blue/pages/{home/_index.json → _index.json} +0 -0
- /package/templates/common/.content/overlays/audience/preference-red/pages/{home/_index.json → _index.json} +0 -0
- /package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_home_hero → 000000000000000000000000101}/editorial.json +0 -0
- /package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_home_hero → 000000000000000000000000101}/versions/v0001.json +0 -0
- /package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_about_hero → 000000000000000000000000102}/editorial.json +0 -0
- /package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_about_hero → 000000000000000000000000102}/versions/v0001.json +0 -0
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
"$type": "page",
|
|
3
3
|
"id": "meridian-home",
|
|
4
4
|
"status": "published",
|
|
5
|
-
"layout": "default",
|
|
6
5
|
"metadata": {
|
|
7
6
|
"title": "Meridian — Global Satellite Internet",
|
|
8
7
|
"description": "Connect from anywhere on Earth. Low-latency satellite internet for homes, businesses, and beyond.",
|
|
@@ -11,6 +10,7 @@
|
|
|
11
10
|
"regions": {
|
|
12
11
|
"main": [
|
|
13
12
|
{
|
|
13
|
+
"$type": "component",
|
|
14
14
|
"id": "hero",
|
|
15
15
|
"component": "home_hero",
|
|
16
16
|
"props": {
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
|
+
"$type": "component",
|
|
30
31
|
"id": "why-meridian",
|
|
31
32
|
"component": "feature_grid",
|
|
32
33
|
"props": {
|
|
@@ -34,6 +35,7 @@
|
|
|
34
35
|
"subtitle": "Engineered for the edges of the world.",
|
|
35
36
|
"features": [
|
|
36
37
|
{
|
|
38
|
+
"$type": "component",
|
|
37
39
|
"id": "global-coverage",
|
|
38
40
|
"component": "feature_card",
|
|
39
41
|
"props": {
|
|
@@ -43,6 +45,7 @@
|
|
|
43
45
|
}
|
|
44
46
|
},
|
|
45
47
|
{
|
|
48
|
+
"$type": "component",
|
|
46
49
|
"id": "low-latency",
|
|
47
50
|
"component": "feature_card",
|
|
48
51
|
"props": {
|
|
@@ -52,6 +55,7 @@
|
|
|
52
55
|
}
|
|
53
56
|
},
|
|
54
57
|
{
|
|
58
|
+
"$type": "component",
|
|
55
59
|
"id": "easy-setup",
|
|
56
60
|
"component": "feature_card",
|
|
57
61
|
"props": {
|
|
@@ -64,6 +68,7 @@
|
|
|
64
68
|
}
|
|
65
69
|
},
|
|
66
70
|
{
|
|
71
|
+
"$type": "component",
|
|
67
72
|
"id": "personalization-choice",
|
|
68
73
|
"component": "personalization_choice",
|
|
69
74
|
"props": {
|
|
@@ -75,6 +80,7 @@
|
|
|
75
80
|
}
|
|
76
81
|
},
|
|
77
82
|
{
|
|
83
|
+
"$type": "component",
|
|
78
84
|
"id": "stats",
|
|
79
85
|
"component": "stats_bar",
|
|
80
86
|
"props": {
|
|
@@ -87,6 +93,7 @@
|
|
|
87
93
|
}
|
|
88
94
|
},
|
|
89
95
|
{
|
|
96
|
+
"$type": "component",
|
|
90
97
|
"id": "cta",
|
|
91
98
|
"component": "container",
|
|
92
99
|
"props": {
|
|
@@ -94,6 +101,7 @@
|
|
|
94
101
|
"className": "items-center justify-center text-center",
|
|
95
102
|
"content": [
|
|
96
103
|
{
|
|
104
|
+
"$type": "component",
|
|
97
105
|
"id": "cta-primary",
|
|
98
106
|
"component": "button",
|
|
99
107
|
"props": {
|
|
@@ -105,6 +113,7 @@
|
|
|
105
113
|
}
|
|
106
114
|
},
|
|
107
115
|
{
|
|
116
|
+
"$type": "component",
|
|
108
117
|
"id": "cta-secondary",
|
|
109
118
|
"component": "button",
|
|
110
119
|
"props": {
|
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
"$type": "page",
|
|
3
3
|
"id": "meridian-error",
|
|
4
4
|
"status": "published",
|
|
5
|
-
"layout": "default",
|
|
6
5
|
"metadata": {
|
|
7
6
|
"title": "Something went wrong — Meridian",
|
|
8
7
|
"description": "An unexpected error occurred while serving this page.",
|
|
9
|
-
"sitemap": {
|
|
8
|
+
"sitemap": {
|
|
9
|
+
"visible": false
|
|
10
|
+
}
|
|
10
11
|
},
|
|
11
12
|
"regions": {
|
|
12
13
|
"main": [
|
|
13
14
|
{
|
|
15
|
+
"$type": "component",
|
|
14
16
|
"id": "error-hero",
|
|
15
17
|
"component": "home_hero",
|
|
16
18
|
"props": {
|
|
@@ -27,7 +27,17 @@
|
|
|
27
27
|
},
|
|
28
28
|
"overlayResolution": {
|
|
29
29
|
"type": "array",
|
|
30
|
-
"items": {
|
|
30
|
+
"items": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"minLength": 1,
|
|
33
|
+
"pattern": "^[^;=/\u0009-\u000d\u0020\u0085\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]+$",
|
|
34
|
+
"not": {
|
|
35
|
+
"anyOf": [
|
|
36
|
+
{ "enum": [".", "..", "experiment", "experimentArm"] },
|
|
37
|
+
{ "pattern": "^experiment\\." }
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
31
41
|
},
|
|
32
42
|
"brandHref": { "type": "string" },
|
|
33
43
|
"brandLogo": {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$type": "pageTemplate",
|
|
3
|
+
"name": "error",
|
|
4
|
+
"description": "Error pages are a single hero that points visitors back home.",
|
|
5
|
+
"routes": ["/404", "/error"],
|
|
6
|
+
"regions": [
|
|
7
|
+
{
|
|
8
|
+
"name": "header",
|
|
9
|
+
"defaults": ["navbar"],
|
|
10
|
+
"sequence": [{ "id": "navbar", "fragment": ["navbar"] }]
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "main",
|
|
14
|
+
"sequence": [
|
|
15
|
+
{ "id": "hero", "component": "home_hero" }
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "footer",
|
|
20
|
+
"defaults": ["site-footer"],
|
|
21
|
+
"sequence": [{ "id": "site-footer", "fragment": ["site-footer"] }]
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$type": "pageTemplate",
|
|
3
|
+
"name": "home",
|
|
4
|
+
"description": "The home page: a hero, the feature grid, the personalization choice, the stats bar, and the closing call-to-action container, in that order.",
|
|
5
|
+
"routes": ["/"],
|
|
6
|
+
"regions": [
|
|
7
|
+
{
|
|
8
|
+
"name": "header",
|
|
9
|
+
"defaults": ["navbar"],
|
|
10
|
+
"sequence": [{ "id": "navbar", "fragment": ["navbar"] }]
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "main",
|
|
14
|
+
"sequence": [
|
|
15
|
+
{ "id": "hero", "component": "home_hero", "lock": "structure" },
|
|
16
|
+
{ "id": "features", "component": "feature_grid" },
|
|
17
|
+
{ "id": "choice", "component": "personalization_choice" },
|
|
18
|
+
{ "id": "stats", "component": "stats_bar" },
|
|
19
|
+
{ "id": "cta", "component": "container" }
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "footer",
|
|
24
|
+
"defaults": ["site-footer"],
|
|
25
|
+
"sequence": [{ "id": "site-footer", "fragment": ["site-footer"] }]
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$type": "pageTemplate",
|
|
3
|
+
"name": "standard",
|
|
4
|
+
"description": "Interior pages declare this template: a hero first, then any blocks the page needs.",
|
|
5
|
+
"regions": [
|
|
6
|
+
{
|
|
7
|
+
"name": "header",
|
|
8
|
+
"defaults": ["navbar"],
|
|
9
|
+
"sequence": [{ "id": "navbar", "fragment": ["navbar"] }]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "main",
|
|
13
|
+
"closed": false,
|
|
14
|
+
"sequence": [
|
|
15
|
+
{ "id": "hero", "component": "home_hero" }
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "footer",
|
|
20
|
+
"defaults": ["site-footer"],
|
|
21
|
+
"sequence": [{ "id": "site-footer", "fragment": ["site-footer"] }]
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
package/templates/common/.nvmrc
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
24
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Seed DAM assets
|
|
2
|
+
|
|
3
|
+
This folder is a local, file-based copy of two DAM assets. The sample pages
|
|
4
|
+
reference them so the starter renders images without a running DAM service.
|
|
5
|
+
Copy one of the seed folders to mock a new asset for a page.
|
|
6
|
+
|
|
7
|
+
## How a page references an asset
|
|
8
|
+
|
|
9
|
+
A component prop holds a `dam.assetRef` object. The home page hero uses it:
|
|
10
|
+
|
|
11
|
+
```json
|
|
12
|
+
"image": {
|
|
13
|
+
"$type": "dam.assetRef",
|
|
14
|
+
"assetId": "000000000000000000000000101",
|
|
15
|
+
"alt": "Light abstract hero background with satellite constellation"
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
- `assetId` — must match the `assetId` in one `asset.json` under `folders/`
|
|
20
|
+
- `alt` — optional; omit it to use the `altText` from `editorial.json`
|
|
21
|
+
- `version` — optional; omit it to use the newest approved version
|
|
22
|
+
|
|
23
|
+
The component schema (see `patterns/components/home_hero.json`) declares the
|
|
24
|
+
prop as `gradial.image`, not `dam.assetRef`. That is expected. The content
|
|
25
|
+
build resolves the ref and writes the `gradial.image` shape, with `sources`
|
|
26
|
+
filled in, into the compiled page. You author the ref; the build materializes
|
|
27
|
+
the image.
|
|
28
|
+
|
|
29
|
+
## What one seed asset contains
|
|
30
|
+
|
|
31
|
+
Each asset is one folder under `folders/<group>/<assetId>/` plus one
|
|
32
|
+
content-addressed blob under `blobs/`. The local build scans every
|
|
33
|
+
`asset.json` under `folders/`, so the group name (`seed`) does not matter
|
|
34
|
+
for rendering. `aci content push` does use it: the path under `folders/`
|
|
35
|
+
becomes the folder path in the remote DAM.
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
folders/seed/<assetId>/asset.json dam.asset: id and audit fields
|
|
39
|
+
folders/seed/<assetId>/editorial.json dam.editorial: title, altText, tags
|
|
40
|
+
folders/seed/<assetId>/governance.json dam.governance: asset status and per-version approval
|
|
41
|
+
folders/seed/<assetId>/versions/v0001.json dam.assetVersion: blob key, sha256, mime, dimensions
|
|
42
|
+
blobs/sha256/<aa>/<bb>/<sha256> the raw image bytes
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Add a new mocked asset
|
|
46
|
+
|
|
47
|
+
This is a step-by-step procedure.
|
|
48
|
+
|
|
49
|
+
1. Pick an asset ID. Use 27 base62 characters. The seed IDs pad a small
|
|
50
|
+
number with leading zeros, for example `000000000000000000000000103`.
|
|
51
|
+
2. Compute the SHA-256 of the image file. Copy the file to
|
|
52
|
+
`blobs/sha256/<first 2 hex>/<next 2 hex>/<full sha256>` with no extension.
|
|
53
|
+
3. Copy `folders/seed/000000000000000000000000101/` to a new folder named
|
|
54
|
+
after the new asset ID.
|
|
55
|
+
4. In `asset.json`, set `assetId` to the new ID.
|
|
56
|
+
5. In `versions/v0001.json`, set `blob.sha256`, `blob.key`, `blob.byteSize`,
|
|
57
|
+
`blob.mime`, `blob.originalFilename`, and `technical.dimensions`.
|
|
58
|
+
6. In `editorial.json`, set `altText`. The build fails on an empty alt text
|
|
59
|
+
when the page ref does not supply its own `alt`.
|
|
60
|
+
7. In `governance.json`, keep `asset.status` as `active` and the version
|
|
61
|
+
`status` as `approved`. The build applies the same eligibility gate as
|
|
62
|
+
production and rejects a draft, embargoed, or restricted version.
|
|
63
|
+
8. Reference the new ID from a page prop with `"$type": "dam.assetRef"`.
|
|
64
|
+
|
|
65
|
+
## Serving bytes locally
|
|
66
|
+
|
|
67
|
+
The content build only needs the metadata files to compile a page. To serve
|
|
68
|
+
the image bytes from the local object store, run from the repo root:
|
|
69
|
+
|
|
70
|
+
```sh
|
|
71
|
+
scripts/seed-local-dam-minio.sh packages/sdk/templates/common/starter-content/.content
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
The script uploads every blob referenced by a `versions/*.json` file.
|
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$type": "fragment",
|
|
3
3
|
"fragmentId": "navbar",
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
4
|
+
"block": {
|
|
5
|
+
"$type": "component",
|
|
6
|
+
"component": "site-navigation",
|
|
7
|
+
"props": {
|
|
8
|
+
"brandHref": "/",
|
|
9
|
+
"brandLabel": "Meridian",
|
|
10
|
+
"brandLogo": {
|
|
11
|
+
"src": "/assets/meridian-logo.svg",
|
|
12
|
+
"alt": "Meridian"
|
|
13
|
+
},
|
|
14
|
+
"navigation": [
|
|
15
|
+
{ "id": "home", "label": "Home", "href": "/" },
|
|
16
|
+
{ "id": "plans", "label": "Plans", "href": "/plans/" },
|
|
17
|
+
{ "id": "devices", "label": "Devices", "href": "/devices/" },
|
|
18
|
+
{ "id": "business", "label": "Business", "href": "/business/" },
|
|
19
|
+
{ "id": "blog", "label": "Blog", "href": "/blog/" },
|
|
20
|
+
{ "id": "about", "label": "About", "href": "/about/" }
|
|
21
|
+
],
|
|
22
|
+
"utilities": [
|
|
23
|
+
{ "id": "sign-in", "label": "Sign in", "href": "/sign-in/", "variant": "ghost" },
|
|
24
|
+
{ "id": "contact-sales", "label": "Contact sales", "href": "/contact-sales/", "variant": "primary" }
|
|
25
|
+
]
|
|
26
|
+
}
|
|
24
27
|
}
|
|
25
28
|
}
|
|
@@ -1,62 +1,65 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$type": "fragment",
|
|
3
3
|
"fragmentId": "site-footer",
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
{
|
|
14
|
-
"id": "products",
|
|
15
|
-
"title": "Products",
|
|
16
|
-
"links": [
|
|
17
|
-
{ "id": "plans", "label": "Plans", "href": "/plans/" },
|
|
18
|
-
{ "id": "devices", "label": "Devices", "href": "/devices/" },
|
|
19
|
-
{ "id": "coverage", "label": "Coverage", "href": "/coverage/" }
|
|
20
|
-
]
|
|
4
|
+
"block": {
|
|
5
|
+
"$type": "component",
|
|
6
|
+
"component": "site-footer",
|
|
7
|
+
"props": {
|
|
8
|
+
"brandHref": "/",
|
|
9
|
+
"brandLabel": "Meridian",
|
|
10
|
+
"brandLogo": {
|
|
11
|
+
"src": "/assets/meridian-logo.svg",
|
|
12
|
+
"alt": "Meridian"
|
|
21
13
|
},
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
14
|
+
"columns": [
|
|
15
|
+
{
|
|
16
|
+
"id": "products",
|
|
17
|
+
"title": "Products",
|
|
18
|
+
"links": [
|
|
19
|
+
{ "id": "plans", "label": "Plans", "href": "/plans/" },
|
|
20
|
+
{ "id": "devices", "label": "Devices", "href": "/devices/" },
|
|
21
|
+
{ "id": "coverage", "label": "Coverage", "href": "/coverage/" }
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "solutions",
|
|
26
|
+
"title": "Solutions",
|
|
27
|
+
"links": [
|
|
28
|
+
{ "id": "business", "label": "Business", "href": "/business/" },
|
|
29
|
+
{ "id": "maritime", "label": "Maritime", "href": "/business/maritime/" },
|
|
30
|
+
{ "id": "aerospace", "label": "Aerospace", "href": "/business/aerospace/" }
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "resources",
|
|
35
|
+
"title": "Resources",
|
|
36
|
+
"links": [
|
|
37
|
+
{ "id": "blog", "label": "Blog", "href": "/blog/" },
|
|
38
|
+
{ "id": "documentation", "label": "Documentation", "href": "/docs/" },
|
|
39
|
+
{ "id": "support", "label": "Support", "href": "/support/" }
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "company",
|
|
44
|
+
"title": "Company",
|
|
45
|
+
"links": [
|
|
46
|
+
{ "id": "about", "label": "About us", "href": "/about/" },
|
|
47
|
+
{ "id": "careers", "label": "Careers", "href": "/careers/" },
|
|
48
|
+
{ "id": "contact", "label": "Contact", "href": "/contact/" }
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"social": [
|
|
53
|
+
{ "id": "x", "label": "X", "href": "https://x.com/meridian", "icon": "X" },
|
|
54
|
+
{ "id": "linkedin", "label": "LinkedIn", "href": "https://www.linkedin.com/company/meridian", "icon": "in" },
|
|
55
|
+
{ "id": "youtube", "label": "YouTube", "href": "https://www.youtube.com/meridian", "icon": "YT" }
|
|
56
|
+
],
|
|
57
|
+
"legalLinks": [
|
|
58
|
+
{ "id": "terms", "label": "Terms of Service", "href": "/terms/" },
|
|
59
|
+
{ "id": "privacy", "label": "Privacy Policy", "href": "/privacy/" },
|
|
60
|
+
{ "id": "security", "label": "Security", "href": "/security/" }
|
|
61
|
+
],
|
|
62
|
+
"copyright": "Copyright (c) 2026 Meridian Satellite Networks, Inc. All rights reserved."
|
|
63
|
+
}
|
|
61
64
|
}
|
|
62
65
|
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
"$type": "page",
|
|
3
3
|
"id": "meridian-not-found",
|
|
4
4
|
"status": "published",
|
|
5
|
-
"layout": "default",
|
|
6
5
|
"metadata": {
|
|
7
6
|
"title": "Page not found — Meridian",
|
|
8
7
|
"description": "The page you are looking for does not exist.",
|
|
@@ -11,6 +10,7 @@
|
|
|
11
10
|
"regions": {
|
|
12
11
|
"main": [
|
|
13
12
|
{
|
|
13
|
+
"$type": "component",
|
|
14
14
|
"id": "not-found-hero",
|
|
15
15
|
"component": "home_hero",
|
|
16
16
|
"props": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"ctaHref": "/",
|
|
22
22
|
"image": {
|
|
23
23
|
"$type": "dam.assetRef",
|
|
24
|
-
"assetId": "
|
|
24
|
+
"assetId": "000000000000000000000000101",
|
|
25
25
|
"alt": "Light abstract background with satellite constellation"
|
|
26
26
|
}
|
|
27
27
|
}
|