@gradial/aci 0.1.40 → 0.1.42

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 (95) hide show
  1. package/dist/astro/index.d.ts +1 -1
  2. package/dist/astro/index.js +1 -1
  3. package/dist/astro/page.d.ts +6 -0
  4. package/dist/astro/page.js +3 -2
  5. package/dist/cli/compile-registry.d.mts +2 -0
  6. package/dist/cli/compile-registry.mjs +759 -0
  7. package/dist/cli/materialize-template.d.mts +19 -0
  8. package/dist/cli/materialize-template.mjs +128 -0
  9. package/dist/cli/validate-content.d.mts +2 -0
  10. package/dist/cli/validate-content.mjs +426 -0
  11. package/dist/cli/verify-next-cdn-routes.d.mts +2 -0
  12. package/dist/cli/verify-next-cdn-routes.mjs +47 -0
  13. package/dist/collect/assignments.d.ts +65 -0
  14. package/dist/collect/assignments.js +138 -0
  15. package/dist/collect/batcher.d.ts +21 -0
  16. package/dist/collect/batcher.js +10 -0
  17. package/dist/collect/declarative.d.ts +1 -1
  18. package/dist/collect/declarative.js +7 -1
  19. package/dist/collect/index.js +30 -4
  20. package/dist/collect/pageviews.d.ts +15 -3
  21. package/dist/collect/pageviews.js +28 -13
  22. package/dist/collect/transport.d.ts +2 -0
  23. package/dist/collect/transport.js +32 -0
  24. package/dist/content/personalization.d.ts +35 -0
  25. package/dist/content/personalization.js +57 -0
  26. package/dist/content/types.d.ts +7 -1
  27. package/dist/edge/personalization-core.d.ts +11 -0
  28. package/dist/edge/personalization-core.js +265 -0
  29. package/dist/next/assignments-script.d.ts +14 -0
  30. package/dist/next/assignments-script.js +17 -0
  31. package/dist/next/collect-route.d.ts +19 -0
  32. package/dist/next/collect-route.js +351 -0
  33. package/dist/next/index.d.ts +1 -0
  34. package/dist/next/index.js +1 -0
  35. package/dist/next/middleware.d.ts +15 -1
  36. package/dist/next/middleware.js +71 -27
  37. package/dist/next/page.js +2 -1
  38. package/dist/next/personalization-host.d.ts +118 -0
  39. package/dist/next/personalization-host.js +276 -0
  40. package/dist/next/server.js +6 -6
  41. package/dist/next/vercel-personalization.d.ts +3 -0
  42. package/dist/next/vercel-personalization.js +3 -0
  43. package/dist/next/vercel-s3-personalization.d.ts +58 -0
  44. package/dist/next/vercel-s3-personalization.js +220 -0
  45. package/dist/providers/s3.d.ts +1 -1
  46. package/dist/providers/s3.js +1 -1
  47. package/dist/react/VideoPlayer.d.ts +4 -4
  48. package/dist/react/index.d.ts +4 -4
  49. package/dist/types/page.d.ts +1 -1
  50. package/package.json +24 -16
  51. package/src/cli/validate-content.mjs +0 -0
  52. package/src/cli/verify-next-cdn-routes.mjs +5 -4
  53. package/src/types/page.ts +1 -1
  54. package/templates/astro/starter-content/src/cms/contracts/components/index.ts +2 -0
  55. package/templates/astro/starter-content/src/cms/contracts/components/personalizationChoice.contract.ts +17 -0
  56. package/templates/astro/starter-content/src/cms/registry.ts +3 -0
  57. package/templates/astro/starter-content/src/components/sections/PersonalizationChoice.astro +41 -0
  58. package/templates/astro/starter-content/src/render/RenderPage.astro +3 -2
  59. package/templates/astro/template/src/layouts/SiteLayout.astro +3 -1
  60. package/templates/astro/template/src/pages/[...slug].astro +1 -0
  61. package/templates/common/.content/audiences/preference-blue/_index.json +11 -0
  62. package/templates/common/.content/audiences/preference-red/_index.json +11 -0
  63. package/templates/common/.content/overlays/audience/preference-blue/pages/home/_index.json +13 -0
  64. package/templates/common/.content/overlays/audience/preference-red/pages/home/_index.json +13 -0
  65. package/templates/common/.content/pages/home/_index.json +114 -4
  66. package/templates/common/.content/segments/preference-blue/_index.json +20 -0
  67. package/templates/common/.content/segments/preference-red/_index.json +20 -0
  68. package/templates/common/contracts/components/index.ts +21 -1
  69. package/templates/common/contracts/components/personalizationChoice.contract.ts +17 -0
  70. package/templates/nextjs/starter-content/src/cms/contracts/components/index.ts +3 -1
  71. package/templates/nextjs/starter-content/src/cms/contracts/components/personalizationChoice.contract.ts +17 -0
  72. package/templates/nextjs/starter-content/src/cms/registry.ts +3 -0
  73. package/templates/nextjs/starter-content/src/components/sections/PersonalizationChoice.tsx +53 -0
  74. package/templates/nextjs/starter-content/src/middleware.ts +11 -0
  75. package/templates/nextjs/template/src/app/collect/route.ts +18 -0
  76. package/templates/nextjs/template/src/middleware.ts +6 -2
  77. package/templates/astro/template/.aci.yaml +0 -28
  78. package/templates/common/.content/.gradial-dam/blobs/sha256/7f/bf/7fbfc7fe230ff12688c496f660119e41d9725c4504d82e310c15665c73c09292 +0 -0
  79. package/templates/common/.content/.gradial-dam/blobs/sha256/a0/f5/a0f506689de9b15a7055f70103a3f02cd3ba105771ae2de6754df2ede1210d3a +0 -0
  80. package/templates/common/.content/.gradial-dam/blobs/sha256/dd/b7/ddb7e9642be08317bcd4b2bd26b58ba8d0d34dd7239e03e684a4f3634fa3845b +0 -0
  81. package/templates/common/.content/.gradial-dam/blobs/sha256/fb/32/fb3260e8286ea8231ea1c77b9c0be92d6edd9026565731eb14cfdcfd6b1b75b3 +0 -0
  82. package/templates/common/.content/config/robots.txt +0 -2
  83. package/templates/common/.content/config/site.json +0 -197
  84. package/templates/common/.content/dam/folders/seed/ast_site_about_hero/asset.json +0 -9
  85. package/templates/common/.content/dam/folders/seed/ast_site_about_hero/editorial.json +0 -14
  86. package/templates/common/.content/dam/folders/seed/ast_site_about_hero/governance.json +0 -23
  87. package/templates/common/.content/dam/folders/seed/ast_site_about_hero/versions/v0001.json +0 -37
  88. package/templates/common/.content/dam/folders/seed/ast_site_home_hero/asset.json +0 -9
  89. package/templates/common/.content/dam/folders/seed/ast_site_home_hero/editorial.json +0 -14
  90. package/templates/common/.content/dam/folders/seed/ast_site_home_hero/governance.json +0 -23
  91. package/templates/common/.content/dam/folders/seed/ast_site_home_hero/versions/v0001.json +0 -37
  92. package/templates/common/.content/fragments/navbar/_index.json +0 -25
  93. package/templates/common/.content/fragments/site-footer/_index.json +0 -62
  94. package/templates/common/.content/pages/about/_index.json +0 -51
  95. package/templates/nextjs/template/.aci.yaml +0 -26
@@ -39,7 +39,7 @@ export { getPageData, type PageData, type AstroGlobal, type GetPageDataOptions,
39
39
  export { createRegistry, registryLookup } from '../registry.js';
40
40
  export type { Registry, RegistryEntry, AnyComponent } from '../registry.js';
41
41
  export type { BlockRef } from '../types/block-ref.js';
42
- export { collectScriptTagHTML, collectTagAttributes, COLLECT_SCRIPT_SRC, type CollectTagAttributes, type PersonalizationSiteConfig, type SitePersonalizationConfig, } from '../content/personalization.js';
42
+ export { collectScriptTagHTML, collectTagAttributes, COLLECT_SCRIPT_SRC, assignmentsScriptTagHTML, assignmentsScriptJSON, ASSIGNMENTS_TAG_VERSION, type CollectTagAttributes, type PersonalizationSiteConfig, type SitePersonalizationConfig, type AssignmentsPayloadSource, type ExperimentAssignmentContext, } from '../content/personalization.js';
43
43
  export interface RenderableBlock {
44
44
  Component: AnyComponent | undefined;
45
45
  props: Record<string, unknown>;
@@ -46,7 +46,7 @@ export { createRegistry, registryLookup } from '../registry.js';
46
46
  // tag with data attributes), so the kit layout emits the contract tag via
47
47
  // this snippet builder (design/04; design/09 Task 9b).
48
48
  // ---------------------------------------------------------------------------
49
- export { collectScriptTagHTML, collectTagAttributes, COLLECT_SCRIPT_SRC, } from '../content/personalization.js';
49
+ export { collectScriptTagHTML, collectTagAttributes, COLLECT_SCRIPT_SRC, assignmentsScriptTagHTML, assignmentsScriptJSON, ASSIGNMENTS_TAG_VERSION, } from '../content/personalization.js';
50
50
  export function createRenderChildren(registry) {
51
51
  function renderChildren(blocks) {
52
52
  return blocks.map((block) => {
@@ -66,6 +66,12 @@ export interface PageData {
66
66
  * personalization is disabled or when in preview mode.
67
67
  */
68
68
  collectTag: string;
69
+ /**
70
+ * Pre-rendered data-aci-assignments script tag HTML. Empty string when
71
+ * the page payload carries no experiments block (base pages, previews) —
72
+ * the SDK's assignments collector reads this tag to emit exposures.
73
+ */
74
+ assignmentsTag: string;
69
75
  }
70
76
  export interface GetPageDataOptions {
71
77
  /** Path to compiled content root. Defaults to ACI_CONTENT_ROOT env or '.aci/compiled'. */
@@ -33,7 +33,7 @@
33
33
  import { normalizeRoute } from '../content/routes.js';
34
34
  import { routeMetadataForContent } from '../content/provider.js';
35
35
  import { resolveSlots } from '../content/resolve-slots.js';
36
- import { collectScriptTagHTML } from '../content/personalization.js';
36
+ import { assignmentsScriptTagHTML, collectScriptTagHTML } from '../content/personalization.js';
37
37
  import { getPendingRenderInputFromHeaders } from '../runtime/page.js';
38
38
  // ---------------------------------------------------------------------------
39
39
  // Implementation
@@ -96,7 +96,8 @@ export async function getPageData(astro, _options) {
96
96
  // Collect tag: suppress in preview mode (authoring surface, not visitor traffic)
97
97
  const isPreview = astro.url.searchParams.has('preview_token');
98
98
  const collectTag = isPreview ? '' : collectScriptTagHTML(siteConfig);
99
- return { route, siteConfig, page, meta, layout, slots, collectTag };
99
+ const assignmentsTag = isPreview ? '' : assignmentsScriptTagHTML(page);
100
+ return { route, siteConfig, page, meta, layout, slots, collectTag, assignmentsTag };
100
101
  }
101
102
  // ---------------------------------------------------------------------------
102
103
  // Internal helpers
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};