@antelopejs/dms-marketing 0.6.1 → 0.7.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.
Files changed (202) hide show
  1. package/README.md +2 -2
  2. package/dist/config.d.ts +3 -0
  3. package/dist/config.js +11 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/data-api/websites.d.ts +10 -4
  6. package/dist/data-api/websites.js +79 -3
  7. package/dist/data-api/websites.js.map +1 -1
  8. package/dist/db/models/funnels.model.d.ts +0 -1
  9. package/dist/db/models/funnels.model.js +0 -18
  10. package/dist/db/models/funnels.model.js.map +1 -1
  11. package/dist/db/models/page_snapshots.model.d.ts +2 -1
  12. package/dist/db/models/page_snapshots.model.js +6 -14
  13. package/dist/db/models/page_snapshots.model.js.map +1 -1
  14. package/dist/db/models/websites.model.d.ts +1 -1
  15. package/dist/db/models/websites.model.js +9 -29
  16. package/dist/db/models/websites.model.js.map +1 -1
  17. package/dist/db/tables/funnels.table.d.ts +0 -1
  18. package/dist/db/tables/funnels.table.js +0 -4
  19. package/dist/db/tables/funnels.table.js.map +1 -1
  20. package/dist/db/tables/page_snapshots.table.d.ts +1 -1
  21. package/dist/db/tables/page_snapshots.table.js +4 -4
  22. package/dist/db/tables/page_snapshots.table.js.map +1 -1
  23. package/dist/db/tables/websites.table.d.ts +2 -1
  24. package/dist/db/tables/websites.table.js +4 -4
  25. package/dist/db/tables/websites.table.js.map +1 -1
  26. package/dist/frontend-module.d.ts +6 -0
  27. package/dist/frontend-module.js +46 -0
  28. package/dist/frontend-module.js.map +1 -0
  29. package/dist/implementations/dms-marketing/index.js +0 -5
  30. package/dist/implementations/dms-marketing/index.js.map +1 -1
  31. package/dist/index.js +3 -13
  32. package/dist/index.js.map +1 -1
  33. package/dist/pages/acquisition/page.d.ts +1 -0
  34. package/dist/pages/acquisition/page.js +9 -4
  35. package/dist/pages/acquisition/page.js.map +1 -1
  36. package/dist/pages/blocks.d.ts +11 -2
  37. package/dist/pages/blocks.js +43 -5
  38. package/dist/pages/blocks.js.map +1 -1
  39. package/dist/pages/funnel/page.d.ts +1 -0
  40. package/dist/pages/funnel/page.js +1 -0
  41. package/dist/pages/funnel/page.js.map +1 -1
  42. package/dist/pages/funnels/page.d.ts +1 -0
  43. package/dist/pages/funnels/page.js +4 -2
  44. package/dist/pages/funnels/page.js.map +1 -1
  45. package/dist/pages/overview/page.d.ts +1 -0
  46. package/dist/pages/overview/page.js +5 -6
  47. package/dist/pages/overview/page.js.map +1 -1
  48. package/dist/pages/pages/page.d.ts +1 -0
  49. package/dist/pages/pages/page.js +1 -0
  50. package/dist/pages/pages/page.js.map +1 -1
  51. package/dist/pages/settings/form.js +1 -0
  52. package/dist/pages/settings/form.js.map +1 -1
  53. package/dist/pages/websites/page.d.ts +2 -3
  54. package/dist/pages/websites/page.js +63 -5
  55. package/dist/pages/websites/page.js.map +1 -1
  56. package/dist/routes/dashboard-tracking.js +5 -1
  57. package/dist/routes/dashboard-tracking.js.map +1 -1
  58. package/dist/routes/funnels.d.ts +2 -0
  59. package/dist/routes/funnels.js +6 -5
  60. package/dist/routes/funnels.js.map +1 -1
  61. package/dist/routes/public-endpoints.js +1 -1
  62. package/dist/routes/public-endpoints.js.map +1 -1
  63. package/dist/routes/snapshot.d.ts +1 -1
  64. package/dist/routes/snapshot.js +30 -13
  65. package/dist/routes/snapshot.js.map +1 -1
  66. package/dist/routes/stats.d.ts +10 -4
  67. package/dist/routes/stats.js +77 -23
  68. package/dist/routes/stats.js.map +1 -1
  69. package/dist/routes/websites.d.ts +5 -1
  70. package/dist/routes/websites.js +31 -13
  71. package/dist/routes/websites.js.map +1 -1
  72. package/dist/services/acquisition-report.d.ts +1 -0
  73. package/dist/services/acquisition-report.js +1 -0
  74. package/dist/services/acquisition-report.js.map +1 -1
  75. package/dist/services/collect.js +7 -2
  76. package/dist/services/collect.js.map +1 -1
  77. package/dist/services/dashboard-tracking.d.ts +7 -14
  78. package/dist/services/dashboard-tracking.js +42 -26
  79. package/dist/services/dashboard-tracking.js.map +1 -1
  80. package/dist/services/declarations.d.ts +0 -2
  81. package/dist/services/declarations.js +0 -11
  82. package/dist/services/declarations.js.map +1 -1
  83. package/dist/services/declared-funnel.js +11 -99
  84. package/dist/services/declared-funnel.js.map +1 -1
  85. package/dist/services/declared-snapshot.js +8 -37
  86. package/dist/services/declared-snapshot.js.map +1 -1
  87. package/dist/services/declared-website.js +5 -46
  88. package/dist/services/declared-website.js.map +1 -1
  89. package/dist/services/funnels-table.d.ts +3 -2
  90. package/dist/services/funnels-table.js +9 -9
  91. package/dist/services/funnels-table.js.map +1 -1
  92. package/dist/services/heatmap.d.ts +6 -0
  93. package/dist/services/heatmap.js +82 -17
  94. package/dist/services/heatmap.js.map +1 -1
  95. package/dist/services/index.d.ts +1 -0
  96. package/dist/services/index.js +1 -0
  97. package/dist/services/index.js.map +1 -1
  98. package/dist/services/prune.js +6 -1
  99. package/dist/services/prune.js.map +1 -1
  100. package/dist/services/realtime.d.ts +3 -0
  101. package/dist/services/realtime.js +49 -0
  102. package/dist/services/realtime.js.map +1 -0
  103. package/dist/services/request-body.d.ts +1 -0
  104. package/dist/services/request-body.js +18 -0
  105. package/dist/services/request-body.js.map +1 -1
  106. package/dist/services/sessionize.d.ts +1 -0
  107. package/dist/services/sessionize.js +9 -0
  108. package/dist/services/sessionize.js.map +1 -1
  109. package/dist/services/snapshots.d.ts +29 -1
  110. package/dist/services/snapshots.js +151 -26
  111. package/dist/services/snapshots.js.map +1 -1
  112. package/dist/services/tenant-website.d.ts +11 -0
  113. package/dist/services/tenant-website.js +27 -5
  114. package/dist/services/tenant-website.js.map +1 -1
  115. package/dist/services/website-report.d.ts +5 -0
  116. package/dist/services/website-report.js +13 -1
  117. package/dist/services/website-report.js.map +1 -1
  118. package/dist/services/workspace-scope.d.ts +31 -0
  119. package/dist/services/workspace-scope.js +72 -0
  120. package/dist/services/workspace-scope.js.map +1 -0
  121. package/dist/types/constants.d.ts +7 -0
  122. package/dist/types/constants.js +8 -1
  123. package/dist/types/constants.js.map +1 -1
  124. package/dist/types/events.d.ts +25 -25
  125. package/dist/types/snapshots.d.ts +29 -29
  126. package/dist/types/snapshots.js +1 -1
  127. package/dist/types/snapshots.js.map +1 -1
  128. package/dist/utils/funnel-steps-type.d.ts +13 -13
  129. package/frontend-vue/app/components/ChannelsCard.vue +19 -2
  130. package/frontend-vue/app/components/Context.vue +50 -376
  131. package/frontend-vue/app/components/FunnelBuilder.vue +28 -22
  132. package/frontend-vue/app/components/FunnelFigure.vue +15 -2
  133. package/frontend-vue/app/components/FunnelReport.vue +3 -0
  134. package/frontend-vue/app/components/FunnelTemplates.vue +15 -13
  135. package/frontend-vue/app/components/InstallGuide.vue +1 -1
  136. package/frontend-vue/app/components/PagePreview.vue +330 -74
  137. package/frontend-vue/app/components/PagesExplorer.vue +230 -85
  138. package/frontend-vue/app/components/TopListTabs.vue +51 -18
  139. package/frontend-vue/app/components/WebsiteCard.vue +394 -0
  140. package/frontend-vue/app/components/WebsiteCreate.vue +159 -0
  141. package/frontend-vue/app/components/WebsitePicker.vue +210 -0
  142. package/frontend-vue/app/components/WebsiteSettings.vue +539 -0
  143. package/frontend-vue/app/components/WorkspaceScope.vue +119 -0
  144. package/frontend-vue/app/composables/useContextWebsite.ts +105 -0
  145. package/frontend-vue/app/composables/useCopyDraft.ts +47 -0
  146. package/frontend-vue/app/composables/useMarketingApi.ts +92 -4
  147. package/frontend-vue/app/composables/useMarketingReads.ts +32 -23
  148. package/frontend-vue/app/composables/useMarketingRoutes.ts +25 -2
  149. package/frontend-vue/app/composables/useRecordCrumb.ts +17 -0
  150. package/frontend-vue/app/composables/useSnapshotFrame.ts +35 -1
  151. package/frontend-vue/app/utils/anchor-drift.ts +58 -0
  152. package/frontend-vue/app/utils/drift-dismissals.ts +20 -0
  153. package/frontend-vue/app/utils/fill-height.ts +141 -0
  154. package/frontend-vue/app/utils/format.ts +21 -2
  155. package/frontend-vue/app/utils/funnel-draft.ts +22 -0
  156. package/frontend-vue/app/utils/heatmap.ts +17 -0
  157. package/frontend-vue/app/utils/page-snapshot.ts +75 -0
  158. package/frontend-vue/app/utils/snapshot-options.ts +148 -0
  159. package/frontend-vue/app/utils/snapshotScrollRoot.ts +93 -0
  160. package/frontend-vue/app/utils/website-card.ts +93 -0
  161. package/frontend-vue/app/utils/website-purge.ts +95 -0
  162. package/frontend-vue/app/utils/website-settings.ts +121 -0
  163. package/frontend-vue/app/utils/website-state.ts +93 -0
  164. package/frontend-vue/app/utils/workspace-scope.ts +51 -0
  165. package/frontend-vue/i18n/locales/marketing-en-GB.json +112 -36
  166. package/frontend-vue/i18n/locales/marketing-fr-FR.json +112 -36
  167. package/frontend-vue/package.json +1 -1
  168. package/frontend-vue/tests/anchor-drift.test.ts +59 -0
  169. package/frontend-vue/tests/build-flags.test.ts +38 -0
  170. package/frontend-vue/tests/context-bar.test.ts +226 -0
  171. package/frontend-vue/tests/copy-draft.test.ts +64 -0
  172. package/frontend-vue/tests/drift-dismissals.test.ts +12 -0
  173. package/frontend-vue/tests/fill-height.test.ts +110 -0
  174. package/frontend-vue/tests/format.test.ts +14 -0
  175. package/frontend-vue/tests/funnel-draft.test.ts +37 -0
  176. package/frontend-vue/tests/heatmap.test.ts +25 -0
  177. package/frontend-vue/tests/install-guide.test.ts +25 -0
  178. package/frontend-vue/tests/marketing-reads.test.ts +20 -6
  179. package/frontend-vue/tests/page-snapshot.test.ts +62 -0
  180. package/frontend-vue/tests/record-crumb.test.ts +43 -0
  181. package/frontend-vue/tests/registration.test.ts +4 -1
  182. package/frontend-vue/tests/routes.test.ts +21 -0
  183. package/frontend-vue/tests/save-funnel.test.ts +47 -0
  184. package/frontend-vue/tests/server-parity.test.ts +3 -0
  185. package/frontend-vue/tests/snapshot-options.test.ts +148 -0
  186. package/frontend-vue/tests/snapshot-scroll-root.test.ts +84 -0
  187. package/frontend-vue/tests/stubs/frontend-module.ts +5 -1
  188. package/frontend-vue/tests/top-list-tabs.test.ts +158 -0
  189. package/frontend-vue/tests/website-card.test.ts +119 -0
  190. package/frontend-vue/tests/website-purge.test.ts +70 -0
  191. package/frontend-vue/tests/website-settings.test.ts +133 -0
  192. package/frontend-vue/tests/website-state.test.ts +96 -0
  193. package/frontend-vue/tests/workspace-scope-control.test.ts +113 -0
  194. package/frontend-vue/tests/workspace-scope.test.ts +55 -0
  195. package/package.json +8 -7
  196. package/skills/dms-marketing/SKILL.md +54 -12
  197. package/static/snapshot.js +539 -48
  198. package/static/tracker.js +154 -5
  199. package/dist/services/readiness.d.ts +0 -2
  200. package/dist/services/readiness.js +0 -15
  201. package/dist/services/readiness.js.map +0 -1
  202. package/frontend-vue/app/components/WebsitesGrid.vue +0 -812
@@ -58,12 +58,17 @@ export declare const HEATMAP_DIVISIONS_PER_AXIS = 50;
58
58
  export declare const SCROLL_DEPTH_SCALE = 100;
59
59
  export declare const MAX_ANCHORED_HEATMAP_CELLS = 2000;
60
60
  export declare const MAX_SNAPSHOT_BYTES: number;
61
+ export declare const MIN_SNAPSHOT_MAX_BYTES: number;
62
+ export declare const MAX_SNAPSHOT_MAX_BYTES: number;
63
+ export declare const MAX_SNAPSHOT_INFLATED_BYTES: number;
64
+ export declare const MAX_STORED_SNAPSHOT_CHARS: number;
61
65
  export declare const MAX_SNAPSHOTS_PER_WEBSITE = 1000;
62
66
  export declare const MAX_REPORTED_SNAPSHOT_BYTES: number;
63
67
  export declare const MAX_SNAPSHOT_VIEWPORT_PX = 10000;
64
68
  export declare const MAX_SNAPSHOT_DOCUMENT_PX = 200000;
65
69
  export declare const DEFAULT_SNAPSHOT_RETENTION_MS: number;
66
70
  export declare const SNAPSHOT_REFRESH_AGE_MS: number;
71
+ export declare const SNAPSHOT_CAPTURE_CACHE_TTL_MS: number;
67
72
  export declare const SNAPSHOT_PROMISE_TTL_MS: number;
68
73
  export declare const SNAPSHOT_CACHE_MAX_ENTRIES = 10000;
69
74
  export declare const VISITOR_ID_HEX_LENGTH = 32;
@@ -80,7 +85,9 @@ export declare const MAX_SNAPSHOTS_PER_WINDOW_PER_SOURCE = 3;
80
85
  export declare const TRACKER_CACHE_MAX_AGE_SECONDS = 3600;
81
86
  export declare const PAUSED_TRACKER_CACHE_MAX_AGE_SECONDS = 60;
82
87
  export declare const API_BASE_PATH = "/api/marketing";
88
+ export declare const WEBSITES_REALTIME_TOPIC = "marketing.websites";
83
89
  export declare const HTTP_BAD_REQUEST = 400;
84
90
  export declare const HTTP_FORBIDDEN = 403;
85
91
  export declare const HTTP_NOT_FOUND = 404;
86
92
  export declare const HTTP_CONFLICT = 409;
93
+ export declare const HTTP_PAYLOAD_TOO_LARGE = 413;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MAX_ENTRIES_PER_TOP_MAP = exports.RAW_COVERAGE_CACHE_TTL_MS = exports.FUNNEL_SUMMARY_CACHE_TTL_MS = exports.MIN_DECISION_CONVERSIONS = exports.MIN_DECISION_DAYS = exports.MIN_OUTCOMES_PER_CELL = exports.EXPERIMENT_SRM_P_THRESHOLD = exports.EXPERIMENT_SIGNIFICANCE_LEVEL = exports.ASSIGNMENT_HASH_HEX_CHARS = exports.EXPERIMENT_KEY_PATTERN = exports.MAX_EXPERIMENT_KEY_LENGTH = exports.MAX_EXPERIMENT_VARIATIONS = exports.MIN_EXPERIMENT_VARIATIONS = exports.DEFAULT_CONVERSION_WINDOW_HOURS = exports.MAX_CONVERSION_WINDOW_HOURS = exports.MAX_FUNNEL_STEP_VALUE_LENGTH = exports.MAX_FUNNEL_STEPS = exports.MIN_FUNNEL_STEPS = exports.MAX_COLLECT_BODY_BYTES = exports.MAX_CLICK_SELECTOR_LENGTH = exports.MAX_SCREEN_AND_LANGUAGE_CHARS = exports.MAX_EXTRA_DOMAINS = exports.MAX_DOMAIN_LENGTH = exports.MAX_NAME_LENGTH = exports.DECLARED_ID_PATTERN = exports.MAX_WEBSITE_ID_LENGTH = exports.MAX_EVENT_DATA_BYTES = exports.MAX_EVENT_NAME_LENGTH = exports.MAX_TITLE_LENGTH = exports.MAX_URL_LENGTH = exports.MAX_TRUSTED_CLIENT_CLOCK_SKEW_MS = exports.MAX_COLLECT_BATCH_SIZE = exports.DEFAULT_HEATMAP_SAMPLE_RATIO = exports.MAX_STATISTICS_RETENTION_DAYS = exports.DEFAULT_STATISTICS_RETENTION_MS = exports.DEFAULT_RAW_EVENTS_RETENTION_MS = exports.DEFAULT_SESSION_IDLE_TIMEOUT_MS = exports.DEFAULT_QUERY_PERIOD_DAYS = exports.MAX_QUERY_PERIOD_DAYS = exports.MS_PER_DAY = exports.MS_PER_HOUR = exports.SECONDS_PER_HOUR = exports.SECONDS_PER_MINUTE = exports.MS_PER_MINUTE = exports.MS_PER_SECOND = exports.FRONTEND_CONFIG_KEY = exports.FRONTEND_MODULE_NAME = exports.MARKETING_MODULE_PATH = exports.OVERVIEW_PAGE_ID = exports.MARKETING_MODULE_ID = void 0;
4
- exports.HTTP_CONFLICT = exports.HTTP_NOT_FOUND = exports.HTTP_FORBIDDEN = exports.HTTP_BAD_REQUEST = exports.API_BASE_PATH = exports.PAUSED_TRACKER_CACHE_MAX_AGE_SECONDS = exports.TRACKER_CACHE_MAX_AGE_SECONDS = exports.MAX_SNAPSHOTS_PER_WINDOW_PER_SOURCE = exports.RATE_LIMIT_MAX_SOURCES = exports.MAX_EVENTS_PER_WINDOW_PER_SOURCE = exports.COLLECT_RATE_LIMIT_WINDOW_MS = exports.DASHBOARD_AUTH_PATHS = exports.EXPERIMENT_DEFINITIONS_CACHE_TTL_MS = exports.WEBSITE_CACHE_TTL_MS = exports.MAX_CACHE_ENTRIES = exports.SESSION_CACHE_MAX_ENTRIES = exports.VISITOR_SECRET_BYTES = exports.VISITOR_ID_HEX_LENGTH = exports.SNAPSHOT_CACHE_MAX_ENTRIES = exports.SNAPSHOT_PROMISE_TTL_MS = exports.SNAPSHOT_REFRESH_AGE_MS = exports.DEFAULT_SNAPSHOT_RETENTION_MS = exports.MAX_SNAPSHOT_DOCUMENT_PX = exports.MAX_SNAPSHOT_VIEWPORT_PX = exports.MAX_REPORTED_SNAPSHOT_BYTES = exports.MAX_SNAPSHOTS_PER_WEBSITE = exports.MAX_SNAPSHOT_BYTES = exports.MAX_ANCHORED_HEATMAP_CELLS = exports.SCROLL_DEPTH_SCALE = exports.HEATMAP_DIVISIONS_PER_AXIS = exports.MAX_HEATMAP_EVENTS = exports.MAX_FUNNEL_EVENTS = exports.MAX_PAGES_LIST_LIMIT = exports.DEFAULT_PAGES_LIST_LIMIT = exports.TOP_MAPS_RETENTION_DAYS = exports.CAMPAIGN_KEY_SEPARATOR = void 0;
4
+ exports.HTTP_PAYLOAD_TOO_LARGE = exports.HTTP_CONFLICT = exports.HTTP_NOT_FOUND = exports.HTTP_FORBIDDEN = exports.HTTP_BAD_REQUEST = exports.WEBSITES_REALTIME_TOPIC = exports.API_BASE_PATH = exports.PAUSED_TRACKER_CACHE_MAX_AGE_SECONDS = exports.TRACKER_CACHE_MAX_AGE_SECONDS = exports.MAX_SNAPSHOTS_PER_WINDOW_PER_SOURCE = exports.RATE_LIMIT_MAX_SOURCES = exports.MAX_EVENTS_PER_WINDOW_PER_SOURCE = exports.COLLECT_RATE_LIMIT_WINDOW_MS = exports.DASHBOARD_AUTH_PATHS = exports.EXPERIMENT_DEFINITIONS_CACHE_TTL_MS = exports.WEBSITE_CACHE_TTL_MS = exports.MAX_CACHE_ENTRIES = exports.SESSION_CACHE_MAX_ENTRIES = exports.VISITOR_SECRET_BYTES = exports.VISITOR_ID_HEX_LENGTH = exports.SNAPSHOT_CACHE_MAX_ENTRIES = exports.SNAPSHOT_PROMISE_TTL_MS = exports.SNAPSHOT_CAPTURE_CACHE_TTL_MS = exports.SNAPSHOT_REFRESH_AGE_MS = exports.DEFAULT_SNAPSHOT_RETENTION_MS = exports.MAX_SNAPSHOT_DOCUMENT_PX = exports.MAX_SNAPSHOT_VIEWPORT_PX = exports.MAX_REPORTED_SNAPSHOT_BYTES = exports.MAX_SNAPSHOTS_PER_WEBSITE = exports.MAX_STORED_SNAPSHOT_CHARS = exports.MAX_SNAPSHOT_INFLATED_BYTES = exports.MAX_SNAPSHOT_MAX_BYTES = exports.MIN_SNAPSHOT_MAX_BYTES = exports.MAX_SNAPSHOT_BYTES = exports.MAX_ANCHORED_HEATMAP_CELLS = exports.SCROLL_DEPTH_SCALE = exports.HEATMAP_DIVISIONS_PER_AXIS = exports.MAX_HEATMAP_EVENTS = exports.MAX_FUNNEL_EVENTS = exports.MAX_PAGES_LIST_LIMIT = exports.DEFAULT_PAGES_LIST_LIMIT = exports.TOP_MAPS_RETENTION_DAYS = exports.CAMPAIGN_KEY_SEPARATOR = void 0;
5
5
  exports.MARKETING_MODULE_ID = "marketing";
6
6
  exports.OVERVIEW_PAGE_ID = "overview";
7
7
  exports.MARKETING_MODULE_PATH = `/modules/${exports.MARKETING_MODULE_ID}`;
@@ -64,12 +64,17 @@ exports.HEATMAP_DIVISIONS_PER_AXIS = 50;
64
64
  exports.SCROLL_DEPTH_SCALE = 100;
65
65
  exports.MAX_ANCHORED_HEATMAP_CELLS = 2000;
66
66
  exports.MAX_SNAPSHOT_BYTES = 1024 * 1024;
67
+ exports.MIN_SNAPSHOT_MAX_BYTES = 64 * 1024;
68
+ exports.MAX_SNAPSHOT_MAX_BYTES = 8 * 1024 * 1024;
69
+ exports.MAX_SNAPSHOT_INFLATED_BYTES = 32 * 1024 * 1024;
70
+ exports.MAX_STORED_SNAPSHOT_CHARS = 12 * 1024 * 1024;
67
71
  exports.MAX_SNAPSHOTS_PER_WEBSITE = 1000;
68
72
  exports.MAX_REPORTED_SNAPSHOT_BYTES = 256 * 1024 * 1024;
69
73
  exports.MAX_SNAPSHOT_VIEWPORT_PX = 10_000;
70
74
  exports.MAX_SNAPSHOT_DOCUMENT_PX = 200_000;
71
75
  exports.DEFAULT_SNAPSHOT_RETENTION_MS = 30 * exports.MS_PER_DAY;
72
76
  exports.SNAPSHOT_REFRESH_AGE_MS = exports.MS_PER_DAY;
77
+ exports.SNAPSHOT_CAPTURE_CACHE_TTL_MS = 5 * exports.MS_PER_MINUTE;
73
78
  exports.SNAPSHOT_PROMISE_TTL_MS = exports.MS_PER_MINUTE;
74
79
  exports.SNAPSHOT_CACHE_MAX_ENTRIES = 10_000;
75
80
  exports.VISITOR_ID_HEX_LENGTH = 32;
@@ -86,8 +91,10 @@ exports.MAX_SNAPSHOTS_PER_WINDOW_PER_SOURCE = 3;
86
91
  exports.TRACKER_CACHE_MAX_AGE_SECONDS = 3600;
87
92
  exports.PAUSED_TRACKER_CACHE_MAX_AGE_SECONDS = 60;
88
93
  exports.API_BASE_PATH = "/api/marketing";
94
+ exports.WEBSITES_REALTIME_TOPIC = "marketing.websites";
89
95
  exports.HTTP_BAD_REQUEST = 400;
90
96
  exports.HTTP_FORBIDDEN = 403;
91
97
  exports.HTTP_NOT_FOUND = 404;
92
98
  exports.HTTP_CONFLICT = 409;
99
+ exports.HTTP_PAYLOAD_TOO_LARGE = 413;
93
100
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/types/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/types/constants.ts"],"names":[],"mappings":"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"}
@@ -23,24 +23,24 @@ export declare const trackedEventSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
23
23
  kind: "pageview";
24
24
  url: string;
25
25
  at?: number | undefined;
26
- name?: undefined;
27
- referrer?: string | undefined;
28
26
  title?: string | undefined;
29
- screen?: string | undefined;
30
- language?: string | undefined;
27
+ name?: undefined;
31
28
  data?: {
32
29
  sample: number;
33
30
  } | undefined;
31
+ language?: string | undefined;
32
+ referrer?: string | undefined;
33
+ screen?: string | undefined;
34
34
  }, {
35
35
  kind: "pageview";
36
36
  url: string;
37
37
  at?: number | undefined;
38
+ title?: string | undefined;
38
39
  name?: unknown;
40
+ data?: unknown;
41
+ language?: string | undefined;
39
42
  referrer?: string | undefined;
40
- title?: string | undefined;
41
43
  screen?: string | undefined;
42
- language?: string | undefined;
43
- data?: unknown;
44
44
  }>, z.ZodObject<{
45
45
  url: z.ZodEffects<z.ZodString, string, string>;
46
46
  referrer: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
@@ -57,21 +57,21 @@ export declare const trackedEventSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
57
57
  url: string;
58
58
  name: string;
59
59
  at?: number | undefined;
60
- referrer?: string | undefined;
61
60
  title?: string | undefined;
62
- screen?: string | undefined;
63
- language?: string | undefined;
64
61
  data?: Record<string, unknown> | undefined;
62
+ language?: string | undefined;
63
+ referrer?: string | undefined;
64
+ screen?: string | undefined;
65
65
  }, {
66
66
  kind: "custom";
67
67
  url: string;
68
68
  name: string;
69
69
  at?: number | undefined;
70
- referrer?: string | undefined;
71
70
  title?: string | undefined;
72
- screen?: string | undefined;
73
- language?: string | undefined;
74
71
  data?: Record<string, unknown> | undefined;
72
+ language?: string | undefined;
73
+ referrer?: string | undefined;
74
+ screen?: string | undefined;
75
75
  }>, z.ZodObject<{
76
76
  url: z.ZodEffects<z.ZodString, string, string>;
77
77
  referrer: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
@@ -101,10 +101,10 @@ export declare const trackedEventSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
101
101
  variation: string;
102
102
  };
103
103
  at?: number | undefined;
104
- referrer?: string | undefined;
105
104
  title?: string | undefined;
106
- screen?: string | undefined;
107
105
  language?: string | undefined;
106
+ referrer?: string | undefined;
107
+ screen?: string | undefined;
108
108
  }, {
109
109
  kind: "exposure";
110
110
  url: string;
@@ -114,10 +114,10 @@ export declare const trackedEventSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
114
114
  variation: string;
115
115
  };
116
116
  at?: number | undefined;
117
- referrer?: string | undefined;
118
117
  title?: string | undefined;
119
- screen?: string | undefined;
120
118
  language?: string | undefined;
119
+ referrer?: string | undefined;
120
+ screen?: string | undefined;
121
121
  }>, z.ZodObject<{
122
122
  url: z.ZodEffects<z.ZodString, string, string>;
123
123
  referrer: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
@@ -170,11 +170,11 @@ export declare const trackedEventSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
170
170
  nth?: number | undefined;
171
171
  };
172
172
  at?: number | undefined;
173
+ title?: string | undefined;
173
174
  name?: undefined;
175
+ language?: string | undefined;
174
176
  referrer?: string | undefined;
175
- title?: string | undefined;
176
177
  screen?: string | undefined;
177
- language?: string | undefined;
178
178
  }, {
179
179
  kind: "click";
180
180
  url: string;
@@ -189,11 +189,11 @@ export declare const trackedEventSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
189
189
  nth?: number | undefined;
190
190
  };
191
191
  at?: number | undefined;
192
+ title?: string | undefined;
192
193
  name?: unknown;
194
+ language?: string | undefined;
193
195
  referrer?: string | undefined;
194
- title?: string | undefined;
195
196
  screen?: string | undefined;
196
- language?: string | undefined;
197
197
  }>, z.ZodObject<{
198
198
  url: z.ZodEffects<z.ZodString, string, string>;
199
199
  referrer: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
@@ -218,11 +218,11 @@ export declare const trackedEventSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
218
218
  depth: number;
219
219
  };
220
220
  at?: number | undefined;
221
+ title?: string | undefined;
221
222
  name?: undefined;
223
+ language?: string | undefined;
222
224
  referrer?: string | undefined;
223
- title?: string | undefined;
224
225
  screen?: string | undefined;
225
- language?: string | undefined;
226
226
  }, {
227
227
  kind: "scroll";
228
228
  url: string;
@@ -230,11 +230,11 @@ export declare const trackedEventSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
230
230
  depth: number;
231
231
  };
232
232
  at?: number | undefined;
233
+ title?: string | undefined;
233
234
  name?: unknown;
235
+ language?: string | undefined;
234
236
  referrer?: string | undefined;
235
- title?: string | undefined;
236
237
  screen?: string | undefined;
237
- language?: string | undefined;
238
238
  }>]>;
239
239
  export declare const collectRequestSchema: z.ZodObject<{
240
240
  website: z.ZodString;
@@ -12,11 +12,11 @@ export declare const snapshotRequestSchema: z.ZodUnion<[z.ZodObject<{
12
12
  width: z.ZodNumber;
13
13
  height: z.ZodNumber;
14
14
  }, "strip", z.ZodTypeAny, {
15
- width: number;
16
15
  height: number;
17
- }, {
18
16
  width: number;
17
+ }, {
19
18
  height: number;
19
+ width: number;
20
20
  }>;
21
21
  colorScheme: z.ZodOptional<z.ZodEnum<["light", "dark"]>>;
22
22
  token: z.ZodString;
@@ -25,40 +25,40 @@ export declare const snapshotRequestSchema: z.ZodUnion<[z.ZodObject<{
25
25
  width: z.ZodNumber;
26
26
  height: z.ZodNumber;
27
27
  }, "strip", z.ZodTypeAny, {
28
- width: number;
29
28
  height: number;
30
- }, {
31
29
  width: number;
30
+ }, {
32
31
  height: number;
32
+ width: number;
33
33
  }>;
34
34
  html: z.ZodString;
35
35
  }, "strip", z.ZodTypeAny, {
36
36
  url: string;
37
+ token: string;
38
+ html: string;
37
39
  website: string;
38
40
  viewport: {
39
- width: number;
40
41
  height: number;
42
+ width: number;
41
43
  };
42
- token: string;
43
44
  document: {
44
- width: number;
45
45
  height: number;
46
+ width: number;
46
47
  };
47
- html: string;
48
48
  colorScheme?: "light" | "dark" | undefined;
49
49
  }, {
50
50
  url: string;
51
+ token: string;
52
+ html: string;
51
53
  website: string;
52
54
  viewport: {
53
- width: number;
54
55
  height: number;
56
+ width: number;
55
57
  };
56
- token: string;
57
58
  document: {
58
- width: number;
59
59
  height: number;
60
+ width: number;
60
61
  };
61
- html: string;
62
62
  colorScheme?: "light" | "dark" | undefined;
63
63
  }>, z.ZodObject<{
64
64
  website: z.ZodString;
@@ -67,11 +67,11 @@ export declare const snapshotRequestSchema: z.ZodUnion<[z.ZodObject<{
67
67
  width: z.ZodNumber;
68
68
  height: z.ZodNumber;
69
69
  }, "strip", z.ZodTypeAny, {
70
- width: number;
71
70
  height: number;
72
- }, {
73
71
  width: number;
72
+ }, {
74
73
  height: number;
74
+ width: number;
75
75
  }>;
76
76
  colorScheme: z.ZodOptional<z.ZodEnum<["light", "dark"]>>;
77
77
  token: z.ZodString;
@@ -79,22 +79,22 @@ export declare const snapshotRequestSchema: z.ZodUnion<[z.ZodObject<{
79
79
  oversizeBytes: z.ZodNumber;
80
80
  }, "strip", z.ZodTypeAny, {
81
81
  url: string;
82
+ token: string;
82
83
  website: string;
83
84
  viewport: {
84
- width: number;
85
85
  height: number;
86
+ width: number;
86
87
  };
87
- token: string;
88
88
  oversizeBytes: number;
89
89
  colorScheme?: "light" | "dark" | undefined;
90
90
  }, {
91
91
  url: string;
92
+ token: string;
92
93
  website: string;
93
94
  viewport: {
94
- width: number;
95
95
  height: number;
96
+ width: number;
96
97
  };
97
- token: string;
98
98
  oversizeBytes: number;
99
99
  colorScheme?: "light" | "dark" | undefined;
100
100
  }>]>;
@@ -106,52 +106,52 @@ export declare const snapshotDeclarationSchema: z.ZodObject<Omit<{
106
106
  width: z.ZodNumber;
107
107
  height: z.ZodNumber;
108
108
  }, "strip", z.ZodTypeAny, {
109
- width: number;
110
109
  height: number;
111
- }, {
112
110
  width: number;
111
+ }, {
113
112
  height: number;
113
+ width: number;
114
114
  }>;
115
115
  colorScheme: z.ZodOptional<z.ZodEnum<["light", "dark"]>>;
116
116
  token: z.ZodString;
117
- }, "website" | "token"> & {
117
+ }, "token" | "website"> & {
118
118
  websiteId: z.ZodString;
119
119
  document: z.ZodObject<{
120
120
  width: z.ZodNumber;
121
121
  height: z.ZodNumber;
122
122
  }, "strip", z.ZodTypeAny, {
123
- width: number;
124
123
  height: number;
125
- }, {
126
124
  width: number;
125
+ }, {
127
126
  height: number;
127
+ width: number;
128
128
  }>;
129
129
  html: z.ZodString;
130
130
  }, "strip", z.ZodTypeAny, {
131
131
  url: string;
132
+ html: string;
132
133
  websiteId: string;
133
134
  viewport: {
134
- width: number;
135
135
  height: number;
136
+ width: number;
136
137
  };
137
138
  document: {
138
- width: number;
139
139
  height: number;
140
+ width: number;
140
141
  };
141
- html: string;
142
142
  colorScheme?: "light" | "dark" | undefined;
143
143
  }, {
144
144
  url: string;
145
+ html: string;
145
146
  websiteId: string;
146
147
  viewport: {
147
- width: number;
148
148
  height: number;
149
+ width: number;
149
150
  };
150
151
  document: {
151
- width: number;
152
152
  height: number;
153
+ width: number;
153
154
  };
154
- html: string;
155
155
  colorScheme?: "light" | "dark" | undefined;
156
156
  }>;
157
157
  export {};
@@ -34,7 +34,7 @@ const snapshotPageSchema = zod_1.z.object({
34
34
  exports.snapshotRequestSchema = zod_1.z.union([
35
35
  snapshotPageSchema.extend({
36
36
  document: dimensionSchema(constants_1.MAX_SNAPSHOT_DOCUMENT_PX),
37
- html: zod_1.z.string().min(1).max(constants_1.MAX_SNAPSHOT_BYTES),
37
+ html: zod_1.z.string().min(1).max(constants_1.MAX_SNAPSHOT_INFLATED_BYTES),
38
38
  }),
39
39
  snapshotPageSchema.extend({
40
40
  oversizeBytes: zod_1.z.number().int().positive().max(constants_1.MAX_REPORTED_SNAPSHOT_BYTES),
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/types/snapshots.ts"],"names":[],"mappings":";;;AA0BA,sCAKC;AAED,4CAEC;AAnCD,6BAAwB;AACxB,2CAOqB;AAErB,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAMxB,QAAA,gBAAgB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAIxE,MAAM,iBAAiB,GAAmC;IACxD,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,CACL,wBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,wBAAgB,CAAC,QAAQ,CAAC,KAAuB,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU,CAAC;AAI1D,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CACtC,OAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACzC,CAAC,CAAC;AAEL,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,iCAAqB,CAAC;IAErD,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,0BAAc,CAAC;IAC1C,QAAQ,EAAE,eAAe,CAAC,oCAAwB,CAAC;IACnD,WAAW,EAAE,OAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;IAEtD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC;CACxD,CAAC,CAAC;AAGU,QAAA,qBAAqB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC3C,kBAAkB,CAAC,MAAM,CAAC;QACxB,QAAQ,EAAE,eAAe,CAAC,oCAAwB,CAAC;QACnD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,8BAAkB,CAAC;KAChD,CAAC;IACF,kBAAkB,CAAC,MAAM,CAAC;QACxB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,uCAA2B,CAAC;KAC5E,CAAC;CACH,CAAC,CAAC;AAMU,QAAA,yBAAyB,GAAG,kBAAkB;KACxD,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KACpC,MAAM,CAAC;IACN,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC,oCAAwB,CAAC;IACnD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,8BAAkB,CAAC;CAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/types/snapshots.ts"],"names":[],"mappings":";;;AA2BA,sCAKC;AAED,4CAEC;AApCD,6BAAwB;AACxB,2CAQqB;AAErB,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAMxB,QAAA,gBAAgB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAIxE,MAAM,iBAAiB,GAAmC;IACxD,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,CACL,wBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,wBAAgB,CAAC,QAAQ,CAAC,KAAuB,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU,CAAC;AAI1D,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CACtC,OAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACzC,CAAC,CAAC;AAEL,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,iCAAqB,CAAC;IAErD,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,0BAAc,CAAC;IAC1C,QAAQ,EAAE,eAAe,CAAC,oCAAwB,CAAC;IACnD,WAAW,EAAE,OAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;IAEtD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC;CACxD,CAAC,CAAC;AAGU,QAAA,qBAAqB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC3C,kBAAkB,CAAC,MAAM,CAAC;QACxB,QAAQ,EAAE,eAAe,CAAC,oCAAwB,CAAC;QAEnD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,uCAA2B,CAAC;KACzD,CAAC;IACF,kBAAkB,CAAC,MAAM,CAAC;QACxB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,uCAA2B,CAAC;KAC5E,CAAC;CACH,CAAC,CAAC;AAMU,QAAA,yBAAyB,GAAG,kBAAkB;KACxD,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KACpC,MAAM,CAAC;IACN,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC,oCAAwB,CAAC;IACnD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,8BAAkB,CAAC;CAChD,CAAC,CAAC"}
@@ -4,16 +4,16 @@ declare const stepSchema: z.ZodEffects<z.ZodObject<{
4
4
  kind: z.ZodEnum<["url", "custom"]>;
5
5
  value: z.ZodString;
6
6
  }, "strip", z.ZodTypeAny, {
7
- kind: "url" | "custom";
7
+ kind: "custom" | "url";
8
8
  value: string;
9
9
  }, {
10
- kind: "url" | "custom";
10
+ kind: "custom" | "url";
11
11
  value: string;
12
12
  }>, {
13
- kind: "url" | "custom";
13
+ kind: "custom" | "url";
14
14
  value: string;
15
15
  }, {
16
- kind: "url" | "custom";
16
+ kind: "custom" | "url";
17
17
  value: string;
18
18
  }>;
19
19
  export type FunnelStepInput = z.output<typeof stepSchema>;
@@ -26,34 +26,34 @@ export declare class FunnelStepsType extends DataType {
26
26
  kind: z.ZodEnum<["url", "custom"]>;
27
27
  value: z.ZodString;
28
28
  }, "strip", z.ZodTypeAny, {
29
- kind: "url" | "custom";
29
+ kind: "custom" | "url";
30
30
  value: string;
31
31
  }, {
32
- kind: "url" | "custom";
32
+ kind: "custom" | "url";
33
33
  value: string;
34
34
  }>, {
35
- kind: "url" | "custom";
35
+ kind: "custom" | "url";
36
36
  value: string;
37
37
  }, {
38
- kind: "url" | "custom";
38
+ kind: "custom" | "url";
39
39
  value: string;
40
40
  }>, "many">]>, any, string | {
41
- kind: "url" | "custom";
41
+ kind: "custom" | "url";
42
42
  value: string;
43
43
  }[]>, z.ZodArray<z.ZodEffects<z.ZodObject<{
44
44
  kind: z.ZodEnum<["url", "custom"]>;
45
45
  value: z.ZodString;
46
46
  }, "strip", z.ZodTypeAny, {
47
- kind: "url" | "custom";
47
+ kind: "custom" | "url";
48
48
  value: string;
49
49
  }, {
50
- kind: "url" | "custom";
50
+ kind: "custom" | "url";
51
51
  value: string;
52
52
  }>, {
53
- kind: "url" | "custom";
53
+ kind: "custom" | "url";
54
54
  value: string;
55
55
  }, {
56
- kind: "url" | "custom";
56
+ kind: "custom" | "url";
57
57
  value: string;
58
58
  }>, "many">>;
59
59
  }
@@ -22,6 +22,8 @@ interface ChannelsResponse {
22
22
  items: ChannelRow[]
23
23
  /** The comparison days lost their channel split: no delta to show. */
24
24
  compareUnavailable?: boolean
25
+ /** Compared with a window that has rows: else no change column. */
26
+ compared?: boolean
25
27
  }
26
28
 
27
29
  const props = withDefaults(
@@ -34,6 +36,7 @@ const props = withDefaults(
34
36
  { periodScope: undefined, componentId: undefined, pageId: undefined },
35
37
  )
36
38
 
39
+ /** The channels the route always lists, each in its row: the skeleton's. */
37
40
  const SKELETON_ROWS = 6
38
41
  /** The key the campaigns table is mounted under on the page: its tab reads `?campaigns.tab=`. */
39
42
  const CAMPAIGNS_TAB_QUERY = 'campaigns.tab'
@@ -48,6 +51,12 @@ const { data, isLoading, error, refresh } = useChartFetch<ChannelsResponse>({
48
51
  })
49
52
 
50
53
  const rows = computed(() => data.value?.items ?? [])
54
+ /**
55
+ * The change column, while the period is compared (kept through a re-read):
56
+ * "No comparison" leaves it out rather than a column of dashes.
57
+ */
58
+ const compared = computed(() => data.value?.compared !== false)
59
+ const columns = computed(() => (compared.value ? 5 : 4))
51
60
  const maxShare = computed(() =>
52
61
  Math.max(1, ...rows.value.map((row) => row.share)),
53
62
  )
@@ -168,6 +177,7 @@ function showCampaigns(channel: string): void {
168
177
  {{ t('page.marketing.acquisition.channels.share') }}
169
178
  </th>
170
179
  <th
180
+ v-if="compared"
171
181
  scope="col"
172
182
  class="px-4 py-2 text-right font-normal"
173
183
  :title="t('page.marketing.acquisition.channels.vs_previous_hint')"
@@ -182,9 +192,16 @@ function showCampaigns(channel: string): void {
182
192
  :key="index"
183
193
  class="border-t border-default"
184
194
  >
185
- <td class="px-4 py-3" colspan="5">
195
+ <!-- A channel row's size: its icon well sets the height. -->
196
+ <td class="w-10 py-2.5 ps-4">
197
+ <USkeleton class="size-8 rounded-[9px]" />
198
+ </td>
199
+ <td class="px-2 py-2.5" :colspan="columns - 2">
186
200
  <USkeleton class="h-4 w-full" />
187
201
  </td>
202
+ <td class="px-4 py-2.5">
203
+ <USkeleton class="ms-auto h-4 w-12" />
204
+ </td>
188
205
  </tr>
189
206
  </tbody>
190
207
  <tbody v-else :class="isLoading ? 'opacity-60' : ''">
@@ -243,7 +260,7 @@ function showCampaigns(channel: string): void {
243
260
  >
244
261
  {{ formatPercentage(row.share / 100, locale, fractionDigits(1)) }}
245
262
  </td>
246
- <td class="px-4 py-2.5 text-right">
263
+ <td v-if="compared" class="px-4 py-2.5 text-right">
247
264
  <span
248
265
  class="rounded px-1.5 py-0.5 font-mono text-[11px] whitespace-nowrap tabular-nums"
249
266
  :class="deltaClass(row.delta)"