@kywi-software/core 0.13.0 → 0.15.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 (508) hide show
  1. package/AGENT-PATTERNS.md +153 -17
  2. package/README.md +38 -12
  3. package/dist/admin/chrome.d.ts.map +1 -1
  4. package/dist/admin/chrome.js +57 -8
  5. package/dist/admin/chrome.js.map +1 -1
  6. package/dist/admin/field-components.d.ts.map +1 -1
  7. package/dist/admin/field-components.js +27 -1
  8. package/dist/admin/field-components.js.map +1 -1
  9. package/dist/admin/form-helpers.d.ts.map +1 -1
  10. package/dist/admin/form-helpers.js +6 -1
  11. package/dist/admin/form-helpers.js.map +1 -1
  12. package/dist/admin/index.d.ts +1 -1
  13. package/dist/admin/index.d.ts.map +1 -1
  14. package/dist/admin/index.js +1 -1
  15. package/dist/admin/index.js.map +1 -1
  16. package/dist/admin/layout-editor/chrome-env.d.ts +35 -0
  17. package/dist/admin/layout-editor/chrome-env.d.ts.map +1 -0
  18. package/dist/admin/layout-editor/chrome-env.js +13 -0
  19. package/dist/admin/layout-editor/chrome-env.js.map +1 -0
  20. package/dist/admin/layout-editor/component-actions.d.ts +58 -7
  21. package/dist/admin/layout-editor/component-actions.d.ts.map +1 -1
  22. package/dist/admin/layout-editor/component-actions.js +131 -5
  23. package/dist/admin/layout-editor/component-actions.js.map +1 -1
  24. package/dist/admin/layout-editor/component-fork.d.ts +4 -4
  25. package/dist/admin/layout-editor/component-fork.d.ts.map +1 -1
  26. package/dist/admin/layout-editor/component-fork.js +76 -10
  27. package/dist/admin/layout-editor/component-fork.js.map +1 -1
  28. package/dist/admin/layout-editor/component-picker-field.d.ts +17 -3
  29. package/dist/admin/layout-editor/component-picker-field.d.ts.map +1 -1
  30. package/dist/admin/layout-editor/component-picker-field.js +5 -2
  31. package/dist/admin/layout-editor/component-picker-field.js.map +1 -1
  32. package/dist/admin/layout-editor/drag-feedback.d.ts +25 -1
  33. package/dist/admin/layout-editor/drag-feedback.d.ts.map +1 -1
  34. package/dist/admin/layout-editor/drag-feedback.js +9 -0
  35. package/dist/admin/layout-editor/drag-feedback.js.map +1 -1
  36. package/dist/admin/layout-editor/drag-utils.d.ts +103 -5
  37. package/dist/admin/layout-editor/drag-utils.d.ts.map +1 -1
  38. package/dist/admin/layout-editor/drag-utils.js +131 -4
  39. package/dist/admin/layout-editor/drag-utils.js.map +1 -1
  40. package/dist/admin/layout-editor/editor-canvas.d.ts +11 -0
  41. package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
  42. package/dist/admin/layout-editor/editor-canvas.js +134 -20
  43. package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
  44. package/dist/admin/layout-editor/editor-dialog.d.ts +58 -3
  45. package/dist/admin/layout-editor/editor-dialog.d.ts.map +1 -1
  46. package/dist/admin/layout-editor/editor-dialog.js +71 -9
  47. package/dist/admin/layout-editor/editor-dialog.js.map +1 -1
  48. package/dist/admin/layout-editor/editor-state.d.ts +119 -0
  49. package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
  50. package/dist/admin/layout-editor/editor-state.js +188 -6
  51. package/dist/admin/layout-editor/editor-state.js.map +1 -1
  52. package/dist/admin/layout-editor/editor-toolbar.d.ts +10 -1
  53. package/dist/admin/layout-editor/editor-toolbar.d.ts.map +1 -1
  54. package/dist/admin/layout-editor/editor-toolbar.js +2 -2
  55. package/dist/admin/layout-editor/editor-toolbar.js.map +1 -1
  56. package/dist/admin/layout-editor/editor.css +216 -8
  57. package/dist/admin/layout-editor/inline-text.d.ts +15 -1
  58. package/dist/admin/layout-editor/inline-text.d.ts.map +1 -1
  59. package/dist/admin/layout-editor/inline-text.js +30 -2
  60. package/dist/admin/layout-editor/inline-text.js.map +1 -1
  61. package/dist/admin/layout-editor/layout-editor.d.ts +21 -16
  62. package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
  63. package/dist/admin/layout-editor/layout-editor.js +40 -17
  64. package/dist/admin/layout-editor/layout-editor.js.map +1 -1
  65. package/dist/admin/layout-editor/linked-component-notes.d.ts +88 -0
  66. package/dist/admin/layout-editor/linked-component-notes.d.ts.map +1 -0
  67. package/dist/admin/layout-editor/linked-component-notes.js +88 -0
  68. package/dist/admin/layout-editor/linked-component-notes.js.map +1 -0
  69. package/dist/admin/layout-editor/module-overlay.d.ts +23 -4
  70. package/dist/admin/layout-editor/module-overlay.d.ts.map +1 -1
  71. package/dist/admin/layout-editor/module-overlay.js +56 -10
  72. package/dist/admin/layout-editor/module-overlay.js.map +1 -1
  73. package/dist/admin/layout-editor/module-variant-container-config.d.ts.map +1 -1
  74. package/dist/admin/layout-editor/module-variant-container-config.js +9 -2
  75. package/dist/admin/layout-editor/module-variant-container-config.js.map +1 -1
  76. package/dist/admin/layout-editor/module-variant-container-panel.d.ts +75 -0
  77. package/dist/admin/layout-editor/module-variant-container-panel.d.ts.map +1 -0
  78. package/dist/admin/layout-editor/module-variant-container-panel.js +29 -0
  79. package/dist/admin/layout-editor/module-variant-container-panel.js.map +1 -0
  80. package/dist/admin/layout-editor/node-lookup.d.ts.map +1 -1
  81. package/dist/admin/layout-editor/node-lookup.js +33 -3
  82. package/dist/admin/layout-editor/node-lookup.js.map +1 -1
  83. package/dist/admin/layout-editor/overlay-shell.d.ts.map +1 -1
  84. package/dist/admin/layout-editor/overlay-shell.js +19 -4
  85. package/dist/admin/layout-editor/overlay-shell.js.map +1 -1
  86. package/dist/admin/layout-editor/props-panel.d.ts +28 -11
  87. package/dist/admin/layout-editor/props-panel.d.ts.map +1 -1
  88. package/dist/admin/layout-editor/props-panel.js +75 -125
  89. package/dist/admin/layout-editor/props-panel.js.map +1 -1
  90. package/dist/admin/layout-editor/section-variant-container-config.d.ts.map +1 -1
  91. package/dist/admin/layout-editor/section-variant-container-config.js +11 -2
  92. package/dist/admin/layout-editor/section-variant-container-config.js.map +1 -1
  93. package/dist/admin/layout-editor/use-chrome-flip.d.ts +99 -11
  94. package/dist/admin/layout-editor/use-chrome-flip.d.ts.map +1 -1
  95. package/dist/admin/layout-editor/use-chrome-flip.js +268 -97
  96. package/dist/admin/layout-editor/use-chrome-flip.js.map +1 -1
  97. package/dist/admin/layout-editor/use-component-connect.d.ts +13 -0
  98. package/dist/admin/layout-editor/use-component-connect.d.ts.map +1 -1
  99. package/dist/admin/layout-editor/use-component-connect.js +116 -20
  100. package/dist/admin/layout-editor/use-component-connect.js.map +1 -1
  101. package/dist/admin/layout-editor/use-component-fork.d.ts +49 -19
  102. package/dist/admin/layout-editor/use-component-fork.d.ts.map +1 -1
  103. package/dist/admin/layout-editor/use-component-fork.js +28 -19
  104. package/dist/admin/layout-editor/use-component-fork.js.map +1 -1
  105. package/dist/admin/layout-editor/use-component-library.d.ts +4 -4
  106. package/dist/admin/layout-editor/use-component-library.d.ts.map +1 -1
  107. package/dist/admin/layout-editor/use-component-library.js +1 -1
  108. package/dist/admin/layout-editor/use-component-library.js.map +1 -1
  109. package/dist/admin/layout-editor/use-editor-dnd.d.ts +10 -0
  110. package/dist/admin/layout-editor/use-editor-dnd.d.ts.map +1 -1
  111. package/dist/admin/layout-editor/use-editor-dnd.js +234 -14
  112. package/dist/admin/layout-editor/use-editor-dnd.js.map +1 -1
  113. package/dist/admin/layout-editor/variant-container-config.d.ts.map +1 -1
  114. package/dist/admin/layout-editor/variant-container-config.js +1 -1
  115. package/dist/admin/layout-editor/variant-container-config.js.map +1 -1
  116. package/dist/admin/layout-editor/variant-editor.d.ts +16 -15
  117. package/dist/admin/layout-editor/variant-editor.d.ts.map +1 -1
  118. package/dist/admin/layout-editor/variant-editor.js +16 -5
  119. package/dist/admin/layout-editor/variant-editor.js.map +1 -1
  120. package/dist/admin/primitives.d.ts.map +1 -1
  121. package/dist/admin/primitives.js +1 -1
  122. package/dist/admin/primitives.js.map +1 -1
  123. package/dist/admin/registry.d.ts +24 -2
  124. package/dist/admin/registry.d.ts.map +1 -1
  125. package/dist/admin/registry.js +27 -0
  126. package/dist/admin/registry.js.map +1 -1
  127. package/dist/admin/server.d.ts +10 -1
  128. package/dist/admin/server.d.ts.map +1 -1
  129. package/dist/admin/server.js +4 -1
  130. package/dist/admin/server.js.map +1 -1
  131. package/dist/admin/site-switcher.d.ts +16 -3
  132. package/dist/admin/site-switcher.d.ts.map +1 -1
  133. package/dist/admin/site-switcher.js +18 -3
  134. package/dist/admin/site-switcher.js.map +1 -1
  135. package/dist/admin/styles/admin.css +0 -3
  136. package/dist/admin/surface-matcher.d.ts +6 -2
  137. package/dist/admin/surface-matcher.d.ts.map +1 -1
  138. package/dist/admin/surface-matcher.js +42 -5
  139. package/dist/admin/surface-matcher.js.map +1 -1
  140. package/dist/admin/surfaces/account/account-password.d.ts +3 -0
  141. package/dist/admin/surfaces/account/account-password.d.ts.map +1 -0
  142. package/dist/admin/surfaces/account/account-password.js +58 -0
  143. package/dist/admin/surfaces/account/account-password.js.map +1 -0
  144. package/dist/admin/surfaces/components/components-data.d.ts +31 -11
  145. package/dist/admin/surfaces/components/components-data.d.ts.map +1 -1
  146. package/dist/admin/surfaces/components/components-data.js +17 -4
  147. package/dist/admin/surfaces/components/components-data.js.map +1 -1
  148. package/dist/admin/surfaces/components/components-list.d.ts.map +1 -1
  149. package/dist/admin/surfaces/components/components-list.js +20 -7
  150. package/dist/admin/surfaces/components/components-list.js.map +1 -1
  151. package/dist/admin/surfaces/components/definition-canvas.d.ts +11 -3
  152. package/dist/admin/surfaces/components/definition-canvas.d.ts.map +1 -1
  153. package/dist/admin/surfaces/components/definition-canvas.js +138 -17
  154. package/dist/admin/surfaces/components/definition-canvas.js.map +1 -1
  155. package/dist/admin/surfaces/dashboard/dashboard-index.d.ts.map +1 -1
  156. package/dist/admin/surfaces/dashboard/dashboard-index.js +2 -2
  157. package/dist/admin/surfaces/dashboard/dashboard-index.js.map +1 -1
  158. package/dist/admin/surfaces/layouts/layout-editor-client.d.ts.map +1 -1
  159. package/dist/admin/surfaces/layouts/layout-editor-client.js +12 -11
  160. package/dist/admin/surfaces/layouts/layout-editor-client.js.map +1 -1
  161. package/dist/admin/surfaces/login.d.ts.map +1 -1
  162. package/dist/admin/surfaces/login.js +13 -1
  163. package/dist/admin/surfaces/login.js.map +1 -1
  164. package/dist/admin/surfaces/menus/menu-editor.d.ts.map +1 -1
  165. package/dist/admin/surfaces/menus/menu-editor.js +17 -4
  166. package/dist/admin/surfaces/menus/menu-editor.js.map +1 -1
  167. package/dist/admin/surfaces/menus/menu-tree.d.ts +18 -4
  168. package/dist/admin/surfaces/menus/menu-tree.d.ts.map +1 -1
  169. package/dist/admin/surfaces/menus/menu-tree.js +18 -3
  170. package/dist/admin/surfaces/menus/menu-tree.js.map +1 -1
  171. package/dist/admin/surfaces/menus/menus-data.d.ts +18 -0
  172. package/dist/admin/surfaces/menus/menus-data.d.ts.map +1 -1
  173. package/dist/admin/surfaces/menus/menus-data.js +4 -0
  174. package/dist/admin/surfaces/menus/menus-data.js.map +1 -1
  175. package/dist/admin/surfaces/menus/menus-list.d.ts.map +1 -1
  176. package/dist/admin/surfaces/menus/menus-list.js +2 -12
  177. package/dist/admin/surfaces/menus/menus-list.js.map +1 -1
  178. package/dist/admin/surfaces/settings/admin-features.d.ts.map +1 -1
  179. package/dist/admin/surfaces/settings/admin-features.js +12 -1
  180. package/dist/admin/surfaces/settings/admin-features.js.map +1 -1
  181. package/dist/admin/surfaces/users/users-data.d.ts +16 -0
  182. package/dist/admin/surfaces/users/users-data.d.ts.map +1 -1
  183. package/dist/admin/surfaces/users/users-data.js +19 -0
  184. package/dist/admin/surfaces/users/users-data.js.map +1 -1
  185. package/dist/admin/surfaces/users/users-detail.d.ts.map +1 -1
  186. package/dist/admin/surfaces/users/users-detail.js +87 -6
  187. package/dist/admin/surfaces/users/users-detail.js.map +1 -1
  188. package/dist/admin/surfaces/users/users-new.d.ts.map +1 -1
  189. package/dist/admin/surfaces/users/users-new.js +9 -5
  190. package/dist/admin/surfaces/users/users-new.js.map +1 -1
  191. package/dist/admin/user-form.d.ts +13 -2
  192. package/dist/admin/user-form.d.ts.map +1 -1
  193. package/dist/admin/user-form.js +3 -2
  194. package/dist/admin/user-form.js.map +1 -1
  195. package/dist/api/admin-features-routes.js +2 -2
  196. package/dist/api/admin-features-routes.js.map +1 -1
  197. package/dist/api/audience-preview-routes.d.ts +7 -0
  198. package/dist/api/audience-preview-routes.d.ts.map +1 -1
  199. package/dist/api/audience-preview-routes.js +4 -4
  200. package/dist/api/audience-preview-routes.js.map +1 -1
  201. package/dist/api/audience-routes.d.ts +7 -0
  202. package/dist/api/audience-routes.d.ts.map +1 -1
  203. package/dist/api/audience-routes.js +21 -15
  204. package/dist/api/audience-routes.js.map +1 -1
  205. package/dist/api/audience-runtime-routes.d.ts +6 -0
  206. package/dist/api/audience-runtime-routes.d.ts.map +1 -1
  207. package/dist/api/audience-runtime-routes.js +38 -3
  208. package/dist/api/audience-runtime-routes.js.map +1 -1
  209. package/dist/api/auth-routes.d.ts.map +1 -1
  210. package/dist/api/auth-routes.js +33 -4
  211. package/dist/api/auth-routes.js.map +1 -1
  212. package/dist/api/auth.d.ts +1 -0
  213. package/dist/api/auth.d.ts.map +1 -1
  214. package/dist/api/auth.js +43 -3
  215. package/dist/api/auth.js.map +1 -1
  216. package/dist/api/bulk-routes.d.ts.map +1 -1
  217. package/dist/api/bulk-routes.js +7 -7
  218. package/dist/api/bulk-routes.js.map +1 -1
  219. package/dist/api/category-routes.js +3 -3
  220. package/dist/api/category-routes.js.map +1 -1
  221. package/dist/api/comment-routes.js +8 -8
  222. package/dist/api/comment-routes.js.map +1 -1
  223. package/dist/api/component-routes.d.ts +25 -0
  224. package/dist/api/component-routes.d.ts.map +1 -1
  225. package/dist/api/component-routes.js +41 -16
  226. package/dist/api/component-routes.js.map +1 -1
  227. package/dist/api/content-routes.js +13 -13
  228. package/dist/api/content-routes.js.map +1 -1
  229. package/dist/api/dashboard-routes.js +1 -1
  230. package/dist/api/dashboard-routes.js.map +1 -1
  231. package/dist/api/experiment-routes.d.ts +7 -0
  232. package/dist/api/experiment-routes.d.ts.map +1 -1
  233. package/dist/api/experiment-routes.js +8 -8
  234. package/dist/api/experiment-routes.js.map +1 -1
  235. package/dist/api/experiment-runtime-routes.d.ts +6 -0
  236. package/dist/api/experiment-runtime-routes.d.ts.map +1 -1
  237. package/dist/api/experiment-runtime-routes.js +47 -11
  238. package/dist/api/experiment-runtime-routes.js.map +1 -1
  239. package/dist/api/feed-routes.d.ts +2 -2
  240. package/dist/api/feed-routes.js +3 -3
  241. package/dist/api/feed-routes.js.map +1 -1
  242. package/dist/api/form-routes.js +4 -4
  243. package/dist/api/form-routes.js.map +1 -1
  244. package/dist/api/graphql/resolvers.d.ts +1 -1
  245. package/dist/api/graphql/resolvers.d.ts.map +1 -1
  246. package/dist/api/graphql/resolvers.js +68 -33
  247. package/dist/api/graphql/resolvers.js.map +1 -1
  248. package/dist/api/group-routes.js +6 -6
  249. package/dist/api/group-routes.js.map +1 -1
  250. package/dist/api/index.d.ts +10 -0
  251. package/dist/api/index.d.ts.map +1 -1
  252. package/dist/api/index.js +97 -7
  253. package/dist/api/index.js.map +1 -1
  254. package/dist/api/layout-routes.d.ts.map +1 -1
  255. package/dist/api/layout-routes.js +27 -3
  256. package/dist/api/layout-routes.js.map +1 -1
  257. package/dist/api/media-routes.d.ts.map +1 -1
  258. package/dist/api/media-routes.js +50 -26
  259. package/dist/api/media-routes.js.map +1 -1
  260. package/dist/api/menu-routes.d.ts +9 -1
  261. package/dist/api/menu-routes.d.ts.map +1 -1
  262. package/dist/api/menu-routes.js +44 -10
  263. package/dist/api/menu-routes.js.map +1 -1
  264. package/dist/api/nav-routes.d.ts +6 -0
  265. package/dist/api/nav-routes.d.ts.map +1 -1
  266. package/dist/api/nav-routes.js +24 -3
  267. package/dist/api/nav-routes.js.map +1 -1
  268. package/dist/api/openapi.d.ts.map +1 -1
  269. package/dist/api/openapi.js +68 -33
  270. package/dist/api/openapi.js.map +1 -1
  271. package/dist/api/password-gate.d.ts +23 -0
  272. package/dist/api/password-gate.d.ts.map +1 -0
  273. package/dist/api/password-gate.js +41 -0
  274. package/dist/api/password-gate.js.map +1 -0
  275. package/dist/api/password-reset-routes.d.ts.map +1 -1
  276. package/dist/api/password-reset-routes.js +13 -6
  277. package/dist/api/password-reset-routes.js.map +1 -1
  278. package/dist/api/search-routes.js +2 -2
  279. package/dist/api/search-routes.js.map +1 -1
  280. package/dist/api/section-template-routes.d.ts.map +1 -1
  281. package/dist/api/section-template-routes.js +35 -18
  282. package/dist/api/section-template-routes.js.map +1 -1
  283. package/dist/api/site-admin-routes.d.ts +10 -1
  284. package/dist/api/site-admin-routes.d.ts.map +1 -1
  285. package/dist/api/site-admin-routes.js +21 -1
  286. package/dist/api/site-admin-routes.js.map +1 -1
  287. package/dist/api/site-context.d.ts +35 -5
  288. package/dist/api/site-context.d.ts.map +1 -1
  289. package/dist/api/site-context.js +21 -6
  290. package/dist/api/site-context.js.map +1 -1
  291. package/dist/api/tag-routes.js +3 -3
  292. package/dist/api/tag-routes.js.map +1 -1
  293. package/dist/api/translation-routes.js +5 -5
  294. package/dist/api/translation-routes.js.map +1 -1
  295. package/dist/api/user-routes.d.ts +4 -0
  296. package/dist/api/user-routes.d.ts.map +1 -1
  297. package/dist/api/user-routes.js +240 -17
  298. package/dist/api/user-routes.js.map +1 -1
  299. package/dist/api/webhook-routes.js +5 -5
  300. package/dist/api/webhook-routes.js.map +1 -1
  301. package/dist/api/workflow-routes.js +8 -8
  302. package/dist/api/workflow-routes.js.map +1 -1
  303. package/dist/audiences/collectors/identity.d.ts +14 -1
  304. package/dist/audiences/collectors/identity.d.ts.map +1 -1
  305. package/dist/audiences/collectors/identity.js +16 -3
  306. package/dist/audiences/collectors/identity.js.map +1 -1
  307. package/dist/audiences/collectors/index.d.ts +12 -2
  308. package/dist/audiences/collectors/index.d.ts.map +1 -1
  309. package/dist/audiences/collectors/index.js +16 -5
  310. package/dist/audiences/collectors/index.js.map +1 -1
  311. package/dist/audiences/collectors/pinned-audience.d.ts +28 -2
  312. package/dist/audiences/collectors/pinned-audience.d.ts.map +1 -1
  313. package/dist/audiences/collectors/pinned-audience.js +35 -5
  314. package/dist/audiences/collectors/pinned-audience.js.map +1 -1
  315. package/dist/audiences/collectors/utm.d.ts +15 -1
  316. package/dist/audiences/collectors/utm.d.ts.map +1 -1
  317. package/dist/audiences/collectors/utm.js +16 -2
  318. package/dist/audiences/collectors/utm.js.map +1 -1
  319. package/dist/audiences/consent-config.d.ts +21 -0
  320. package/dist/audiences/consent-config.d.ts.map +1 -0
  321. package/dist/audiences/consent-config.js +15 -0
  322. package/dist/audiences/consent-config.js.map +1 -0
  323. package/dist/audiences/consent-startup.d.ts +39 -0
  324. package/dist/audiences/consent-startup.d.ts.map +1 -0
  325. package/dist/audiences/consent-startup.js +105 -0
  326. package/dist/audiences/consent-startup.js.map +1 -0
  327. package/dist/audiences/consent.d.ts +192 -0
  328. package/dist/audiences/consent.d.ts.map +1 -0
  329. package/dist/audiences/consent.js +322 -0
  330. package/dist/audiences/consent.js.map +1 -0
  331. package/dist/audiences/engine.d.ts +7 -0
  332. package/dist/audiences/engine.d.ts.map +1 -1
  333. package/dist/audiences/engine.js +6 -2
  334. package/dist/audiences/engine.js.map +1 -1
  335. package/dist/audiences/index.d.ts +3 -0
  336. package/dist/audiences/index.d.ts.map +1 -1
  337. package/dist/audiences/index.js +6 -0
  338. package/dist/audiences/index.js.map +1 -1
  339. package/dist/audiences/server-eval.d.ts +13 -1
  340. package/dist/audiences/server-eval.d.ts.map +1 -1
  341. package/dist/audiences/server-eval.js +18 -2
  342. package/dist/audiences/server-eval.js.map +1 -1
  343. package/dist/audiences/ssr.d.ts +18 -1
  344. package/dist/audiences/ssr.d.ts.map +1 -1
  345. package/dist/audiences/ssr.js +18 -1
  346. package/dist/audiences/ssr.js.map +1 -1
  347. package/dist/audiences/utm-persistence.d.ts +20 -7
  348. package/dist/audiences/utm-persistence.d.ts.map +1 -1
  349. package/dist/audiences/utm-persistence.js +20 -7
  350. package/dist/audiences/utm-persistence.js.map +1 -1
  351. package/dist/auth/roles.d.ts +11 -0
  352. package/dist/auth/roles.d.ts.map +1 -1
  353. package/dist/auth/roles.js +13 -0
  354. package/dist/auth/roles.js.map +1 -1
  355. package/dist/auth/tokens.d.ts +7 -0
  356. package/dist/auth/tokens.d.ts.map +1 -1
  357. package/dist/auth/tokens.js +24 -2
  358. package/dist/auth/tokens.js.map +1 -1
  359. package/dist/config/types.d.ts +50 -0
  360. package/dist/config/types.d.ts.map +1 -1
  361. package/dist/config/types.js.map +1 -1
  362. package/dist/config/validate.d.ts.map +1 -1
  363. package/dist/config/validate.js +3 -0
  364. package/dist/config/validate.js.map +1 -1
  365. package/dist/db/apply-snapshot.d.ts +18 -0
  366. package/dist/db/apply-snapshot.d.ts.map +1 -1
  367. package/dist/db/apply-snapshot.js +41 -16
  368. package/dist/db/apply-snapshot.js.map +1 -1
  369. package/dist/db/component-instance-queries.d.ts +79 -19
  370. package/dist/db/component-instance-queries.d.ts.map +1 -1
  371. package/dist/db/component-instance-queries.js +266 -83
  372. package/dist/db/component-instance-queries.js.map +1 -1
  373. package/dist/db/component-queries.d.ts +1 -16
  374. package/dist/db/component-queries.d.ts.map +1 -1
  375. package/dist/db/component-queries.js +7 -56
  376. package/dist/db/component-queries.js.map +1 -1
  377. package/dist/db/content-queries.d.ts.map +1 -1
  378. package/dist/db/content-queries.js +1 -2
  379. package/dist/db/content-queries.js.map +1 -1
  380. package/dist/db/extension-queries.d.ts +2 -2
  381. package/dist/db/feed-queries.d.ts +3 -3
  382. package/dist/db/index.d.ts +1 -0
  383. package/dist/db/index.d.ts.map +1 -1
  384. package/dist/db/index.js +1 -0
  385. package/dist/db/index.js.map +1 -1
  386. package/dist/db/layout-queries.d.ts +2 -1
  387. package/dist/db/layout-queries.d.ts.map +1 -1
  388. package/dist/db/layout-queries.js +3 -3
  389. package/dist/db/layout-queries.js.map +1 -1
  390. package/dist/db/menu-queries.d.ts +69 -5
  391. package/dist/db/menu-queries.d.ts.map +1 -1
  392. package/dist/db/menu-queries.js +120 -13
  393. package/dist/db/menu-queries.js.map +1 -1
  394. package/dist/db/section-template-queries.d.ts +62 -0
  395. package/dist/db/section-template-queries.d.ts.map +1 -0
  396. package/dist/db/section-template-queries.js +178 -0
  397. package/dist/db/section-template-queries.js.map +1 -0
  398. package/dist/db/site-plugin-queries.d.ts +2 -2
  399. package/dist/db/tree-queries.d.ts.map +1 -1
  400. package/dist/db/tree-queries.js +5 -0
  401. package/dist/db/tree-queries.js.map +1 -1
  402. package/dist/db/user-queries.d.ts +28 -1
  403. package/dist/db/user-queries.d.ts.map +1 -1
  404. package/dist/db/user-queries.js +49 -1
  405. package/dist/db/user-queries.js.map +1 -1
  406. package/dist/db/webhook-queries.d.ts +3 -3
  407. package/dist/db/workflow-queries.d.ts.map +1 -1
  408. package/dist/db/workflow-queries.js +5 -20
  409. package/dist/db/workflow-queries.js.map +1 -1
  410. package/dist/experiments/runtime.d.ts +21 -3
  411. package/dist/experiments/runtime.d.ts.map +1 -1
  412. package/dist/experiments/runtime.js +21 -3
  413. package/dist/experiments/runtime.js.map +1 -1
  414. package/dist/host/index.d.ts +1 -0
  415. package/dist/host/index.d.ts.map +1 -1
  416. package/dist/host/index.js +12 -0
  417. package/dist/host/index.js.map +1 -1
  418. package/dist/layout/component-refs.d.ts +90 -2
  419. package/dist/layout/component-refs.d.ts.map +1 -1
  420. package/dist/layout/component-refs.js +293 -16
  421. package/dist/layout/component-refs.js.map +1 -1
  422. package/dist/layout/index.d.ts +4 -3
  423. package/dist/layout/index.d.ts.map +1 -1
  424. package/dist/layout/index.js +3 -2
  425. package/dist/layout/index.js.map +1 -1
  426. package/dist/layout/legacy-variant-container.d.ts +123 -0
  427. package/dist/layout/legacy-variant-container.d.ts.map +1 -0
  428. package/dist/layout/legacy-variant-container.js +397 -0
  429. package/dist/layout/legacy-variant-container.js.map +1 -0
  430. package/dist/layout/module-permissions.d.ts.map +1 -1
  431. package/dist/layout/module-permissions.js +25 -1
  432. package/dist/layout/module-permissions.js.map +1 -1
  433. package/dist/layout/modules-extended.d.ts +28 -1
  434. package/dist/layout/modules-extended.d.ts.map +1 -1
  435. package/dist/layout/modules-extended.js +73 -1
  436. package/dist/layout/modules-extended.js.map +1 -1
  437. package/dist/layout/modules.d.ts.map +1 -1
  438. package/dist/layout/modules.js +9 -1
  439. package/dist/layout/modules.js.map +1 -1
  440. package/dist/layout/personalization.d.ts +83 -0
  441. package/dist/layout/personalization.d.ts.map +1 -1
  442. package/dist/layout/personalization.js +250 -4
  443. package/dist/layout/personalization.js.map +1 -1
  444. package/dist/layout/registry.d.ts.map +1 -1
  445. package/dist/layout/registry.js +20 -0
  446. package/dist/layout/registry.js.map +1 -1
  447. package/dist/layout/renderer.d.ts +29 -2
  448. package/dist/layout/renderer.d.ts.map +1 -1
  449. package/dist/layout/renderer.js +23 -6
  450. package/dist/layout/renderer.js.map +1 -1
  451. package/dist/layout/types.d.ts +17 -0
  452. package/dist/layout/types.d.ts.map +1 -1
  453. package/dist/layout/types.js +7 -0
  454. package/dist/layout/types.js.map +1 -1
  455. package/dist/media/inline-risk.d.ts +26 -0
  456. package/dist/media/inline-risk.d.ts.map +1 -0
  457. package/dist/media/inline-risk.js +142 -0
  458. package/dist/media/inline-risk.js.map +1 -0
  459. package/dist/nav/builder.d.ts.map +1 -1
  460. package/dist/nav/builder.js +15 -3
  461. package/dist/nav/builder.js.map +1 -1
  462. package/dist/nav/index.d.ts +1 -1
  463. package/dist/nav/index.d.ts.map +1 -1
  464. package/dist/nav/index.js +1 -1
  465. package/dist/nav/index.js.map +1 -1
  466. package/dist/nav/menu-resolver.d.ts +11 -0
  467. package/dist/nav/menu-resolver.d.ts.map +1 -1
  468. package/dist/nav/menu-resolver.js +49 -9
  469. package/dist/nav/menu-resolver.js.map +1 -1
  470. package/dist/nav/paths.d.ts +37 -0
  471. package/dist/nav/paths.d.ts.map +1 -0
  472. package/dist/nav/paths.js +48 -0
  473. package/dist/nav/paths.js.map +1 -0
  474. package/dist/nav/types.d.ts +6 -0
  475. package/dist/nav/types.d.ts.map +1 -1
  476. package/dist/nav/url-resolver.d.ts +1 -5
  477. package/dist/nav/url-resolver.d.ts.map +1 -1
  478. package/dist/nav/url-resolver.js +6 -12
  479. package/dist/nav/url-resolver.js.map +1 -1
  480. package/dist/schema/base.d.ts +41 -4
  481. package/dist/schema/base.d.ts.map +1 -1
  482. package/dist/schema/base.js +23 -4
  483. package/dist/schema/base.js.map +1 -1
  484. package/dist/schema/components.d.ts +90 -9
  485. package/dist/schema/components.d.ts.map +1 -1
  486. package/dist/schema/components.js +113 -22
  487. package/dist/schema/components.js.map +1 -1
  488. package/dist/schema/mysql-tables.d.ts +5775 -48
  489. package/dist/schema/mysql-tables.d.ts.map +1 -1
  490. package/dist/schema/mysql-tables.js +621 -46
  491. package/dist/schema/mysql-tables.js.map +1 -1
  492. package/dist/scope/kywi-form.d.ts +11 -0
  493. package/dist/scope/kywi-form.d.ts.map +1 -1
  494. package/dist/scope/kywi-form.js +11 -1
  495. package/dist/scope/kywi-form.js.map +1 -1
  496. package/dist/scope/kywi-wizard-form.d.ts.map +1 -1
  497. package/dist/scope/kywi-wizard-form.js +76 -2
  498. package/dist/scope/kywi-wizard-form.js.map +1 -1
  499. package/dist/scope/sticky-offset.d.ts +34 -13
  500. package/dist/scope/sticky-offset.d.ts.map +1 -1
  501. package/dist/scope/sticky-offset.js +236 -43
  502. package/dist/scope/sticky-offset.js.map +1 -1
  503. package/dist/site/styles.css +61 -15
  504. package/dist/versioning/scheduler.d.ts +28 -0
  505. package/dist/versioning/scheduler.d.ts.map +1 -1
  506. package/dist/versioning/scheduler.js +50 -3
  507. package/dist/versioning/scheduler.js.map +1 -1
  508. package/package.json +7 -2
@@ -69,7 +69,7 @@ export function registerWorkflowRoutes(router, ctx) {
69
69
  return notFound('Content not found');
70
70
  // #73: this route is keyed by content id (no request-derived site), so
71
71
  // authorize against the loaded row's own site before any transition/revision.
72
- const siteDenied = assertSiteAccess(auth.user, existing.siteId);
72
+ const siteDenied = assertSiteAccess(auth.user, existing.siteId, ctx.config.auth);
73
73
  if (siteDenied)
74
74
  return siteDenied;
75
75
  const currentStatus = existing.status;
@@ -175,7 +175,7 @@ export function registerWorkflowRoutes(router, ctx) {
175
175
  const target = await getContentById(db, customTable, params.id);
176
176
  if (!target)
177
177
  return notFound('Content not found');
178
- const siteDenied = assertSiteAccess(auth.user, target.siteId);
178
+ const siteDenied = assertSiteAccess(auth.user, target.siteId, ctx.config.auth);
179
179
  if (siteDenied)
180
180
  return siteDenied;
181
181
  const result = await transitionContentStatus(db, {
@@ -215,7 +215,7 @@ export function registerWorkflowRoutes(router, ctx) {
215
215
  const target = await getContentById(db, customTable, params.id);
216
216
  if (!target)
217
217
  return notFound('Content not found');
218
- const siteDenied = assertSiteAccess(auth.user, target.siteId);
218
+ const siteDenied = assertSiteAccess(auth.user, target.siteId, ctx.config.auth);
219
219
  if (siteDenied)
220
220
  return siteDenied;
221
221
  const changeNote = reason !== undefined ? `Rejected: ${reason}` : 'Rejected';
@@ -253,7 +253,7 @@ export function registerWorkflowRoutes(router, ctx) {
253
253
  const siteId = await toSiteUuid(db, url.searchParams.get('siteId'), ctx.config);
254
254
  if (!siteId)
255
255
  return jsonError('BAD_REQUEST', 'No site ID available', 400);
256
- const siteDenied = assertSiteAccess(auth.user, siteId);
256
+ const siteDenied = assertSiteAccess(auth.user, siteId, ctx.config.auth);
257
257
  if (siteDenied)
258
258
  return siteDenied;
259
259
  const revisions = await listPendingRevisions(db, siteId);
@@ -296,7 +296,7 @@ export function registerWorkflowRoutes(router, ctx) {
296
296
  const target = await getContentById(db, customTable, params.id);
297
297
  if (!target)
298
298
  return notFound('Content not found');
299
- const siteDenied = assertSiteAccess(auth.user, target.siteId);
299
+ const siteDenied = assertSiteAccess(auth.user, target.siteId, ctx.config.auth);
300
300
  if (siteDenied)
301
301
  return siteDenied;
302
302
  let result;
@@ -351,7 +351,7 @@ export function registerWorkflowRoutes(router, ctx) {
351
351
  const target = await getContentById(db, customTable, params.id);
352
352
  if (!target)
353
353
  return notFound('Content not found');
354
- const siteDenied = assertSiteAccess(auth.user, target.siteId);
354
+ const siteDenied = assertSiteAccess(auth.user, target.siteId, ctx.config.auth);
355
355
  if (siteDenied)
356
356
  return siteDenied;
357
357
  const result = await rejectPendingRevision(db, {
@@ -377,7 +377,7 @@ export function registerWorkflowRoutes(router, ctx) {
377
377
  const siteId = await toSiteUuid(db, url.searchParams.get('siteId'), ctx.config);
378
378
  if (!siteId)
379
379
  return jsonError('BAD_REQUEST', 'No site ID available', 400);
380
- const siteDenied = assertSiteAccess(auth.user, siteId);
380
+ const siteDenied = assertSiteAccess(auth.user, siteId, ctx.config.auth);
381
381
  if (siteDenied)
382
382
  return siteDenied;
383
383
  const rows = await db
@@ -398,7 +398,7 @@ export function registerWorkflowRoutes(router, ctx) {
398
398
  const siteId = await toSiteUuid(db, url.searchParams.get('siteId'), ctx.config);
399
399
  if (!siteId)
400
400
  return jsonError('BAD_REQUEST', 'No site ID available', 400);
401
- const siteDenied = assertSiteAccess(auth.user, siteId);
401
+ const siteDenied = assertSiteAccess(auth.user, siteId, ctx.config.auth);
402
402
  if (siteDenied)
403
403
  return siteDenied;
404
404
  const rows = await db
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-routes.js","sourceRoot":"","sources":["../../src/api/workflow-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-routes.js","sourceRoot":"","sources":["../../src/api/workflow-routes.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,20 @@
1
+ import { type ConsentGateOptions } from '../consent.js';
1
2
  export interface IdentitySignals {
2
3
  visitorId: string;
3
4
  isKnown: boolean;
4
5
  maLeadId: string | null;
5
6
  }
6
- export declare function collectIdentity(cookies: Map<string, string>): IdentitySignals;
7
+ /**
8
+ * Read the visitor's stored identity — the `kywi_visitor` id and the
9
+ * adapter-pushed `kywi_known` flag.
10
+ *
11
+ * Both are `personalization` cookies, so both are treated as ABSENT unless the
12
+ * visitor consents (kywi-cms#91): a visitor who rejects must stop being
13
+ * recognised, not merely stop accumulating new cookies. An empty `visitorId` is
14
+ * already the "no identity yet" value every caller handles — the request still
15
+ * resolves and renders, anonymously.
16
+ */
17
+ export declare function collectIdentity(cookies: Map<string, string>, gate?: ConsentGateOptions & {
18
+ cookieHeader?: string | null;
19
+ }): IdentitySignals;
7
20
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/audiences/collectors/identity.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CAa7E"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/audiences/collectors/identity.ts"],"names":[],"mappings":"AACA,OAAO,EAA8C,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEnG,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,IAAI,GAAE,kBAAkB,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC/D,eAAe,CAejB"}
@@ -1,7 +1,20 @@
1
1
  import { COOKIE_NAMES } from '../cookies.js';
2
- export function collectIdentity(cookies) {
3
- const visitorId = cookies.get(COOKIE_NAMES.VISITOR) ?? '';
4
- const knownRaw = cookies.get(COOKIE_NAMES.KNOWN);
2
+ import { cookieAllowed, readConsentFromCookieHeader } from '../consent.js';
3
+ /**
4
+ * Read the visitor's stored identity — the `kywi_visitor` id and the
5
+ * adapter-pushed `kywi_known` flag.
6
+ *
7
+ * Both are `personalization` cookies, so both are treated as ABSENT unless the
8
+ * visitor consents (kywi-cms#91): a visitor who rejects must stop being
9
+ * recognised, not merely stop accumulating new cookies. An empty `visitorId` is
10
+ * already the "no identity yet" value every caller handles — the request still
11
+ * resolves and renders, anonymously.
12
+ */
13
+ export function collectIdentity(cookies, gate = {}) {
14
+ const consent = readConsentFromCookieHeader(gate.cookieHeader);
15
+ const mayRead = (name) => cookieAllowed(name, consent, gate);
16
+ const visitorId = (mayRead(COOKIE_NAMES.VISITOR) ? cookies.get(COOKIE_NAMES.VISITOR) : undefined) ?? '';
17
+ const knownRaw = mayRead(COOKIE_NAMES.KNOWN) ? cookies.get(COOKIE_NAMES.KNOWN) : undefined;
5
18
  let isKnown = false;
6
19
  let maLeadId = null;
7
20
  if (knownRaw) {
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/audiences/collectors/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAQ5C,MAAM,UAAU,eAAe,CAAC,OAA4B;IAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAChD,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,QAAQ,GAAkB,IAAI,CAAA;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA0B,CAAA;YAC1D,OAAO,GAAG,IAAI,CAAA;YACd,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAA;QAClC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/audiences/collectors/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,2BAA2B,EAA2B,MAAM,eAAe,CAAA;AAQnG;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,OAA4B,EAC5B,OAA8D,EAAE;IAEhE,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IACpE,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IACvG,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1F,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,QAAQ,GAAkB,IAAI,CAAA;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA0B,CAAA;YAC1D,OAAO,GAAG,IAAI,CAAA;YACd,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAA;QAClC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AACzC,CAAC"}
@@ -2,7 +2,17 @@ export { collectUtm, type UtmSignals } from './utm.js';
2
2
  export { collectReferrer, classifyReferrer, type ReferrerSignals, type ReferrerSourceType } from './referrer.js';
3
3
  export { collectIdentity, type IdentitySignals } from './identity.js';
4
4
  export { collectOptOut } from './opt-out.js';
5
- export { collectPinnedAudience } from './pinned-audience.js';
5
+ export { collectPinnedAudience, parseAudiencePin, buildAudiencePinValue, type AudiencePin, } from './pinned-audience.js';
6
6
  import type { VisitorSignals } from '../types.js';
7
- export declare function runServerCollectors(req: Request): Partial<VisitorSignals>;
7
+ import type { ConsentGateOptions } from '../consent.js';
8
+ /**
9
+ * Collect every server-resolvable signal off the request.
10
+ *
11
+ * The personalization-category cookies (`kywi_utm`, `kywi_visitor`,
12
+ * `kywi_known`) are read only for a consenting visitor — pass `requireConsent:
13
+ * false` to turn that off for a site whose consent lives in external tooling
14
+ * (kywi-cms#91). Un-stored signals (this URL's `utm_*` params, the referrer) are
15
+ * always collected: they are the request itself, not tracking carried into it.
16
+ */
17
+ export declare function runServerCollectors(req: Request, gate?: ConsentGateOptions): Partial<VisitorSignals>;
8
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/audiences/collectors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAChH,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAOjD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAYzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/audiences/collectors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAChH,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,WAAW,GACjB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAMjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,OAAO,EACZ,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAczB"}
@@ -2,17 +2,28 @@ export { collectUtm } from './utm.js';
2
2
  export { collectReferrer, classifyReferrer } from './referrer.js';
3
3
  export { collectIdentity } from './identity.js';
4
4
  export { collectOptOut } from './opt-out.js';
5
- export { collectPinnedAudience } from './pinned-audience.js';
5
+ export { collectPinnedAudience, parseAudiencePin, buildAudiencePinValue, } from './pinned-audience.js';
6
6
  import { parseCookies } from '../cookies.js';
7
7
  import { collectUtm } from './utm.js';
8
8
  import { collectReferrer } from './referrer.js';
9
9
  import { collectIdentity } from './identity.js';
10
10
  import { collectOptOut } from './opt-out.js';
11
- export function runServerCollectors(req) {
12
- const cookies = parseCookies(req.headers.get('cookie') ?? '');
13
- const utm = collectUtm(req, cookies);
11
+ /**
12
+ * Collect every server-resolvable signal off the request.
13
+ *
14
+ * The personalization-category cookies (`kywi_utm`, `kywi_visitor`,
15
+ * `kywi_known`) are read only for a consenting visitor — pass `requireConsent:
16
+ * false` to turn that off for a site whose consent lives in external tooling
17
+ * (kywi-cms#91). Un-stored signals (this URL's `utm_*` params, the referrer) are
18
+ * always collected: they are the request itself, not tracking carried into it.
19
+ */
20
+ export function runServerCollectors(req, gate = {}) {
21
+ const cookieHeader = req.headers.get('cookie');
22
+ const cookies = parseCookies(cookieHeader ?? '');
23
+ const readGate = { ...gate, cookieHeader };
24
+ const utm = collectUtm(req, cookies, readGate);
14
25
  const referrer = collectReferrer(req, utm.medium);
15
- const identity = collectIdentity(cookies);
26
+ const identity = collectIdentity(cookies, readGate);
16
27
  const isOptedOut = collectOptOut(cookies);
17
28
  return {
18
29
  utm,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/audiences/collectors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAiD,MAAM,eAAe,CAAA;AAChH,OAAO,EAAE,eAAe,EAAwB,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7D,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACzC,OAAO;QACL,GAAG;QACH,QAAQ;QACR,QAAQ;QACR,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE;KACtF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/audiences/collectors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAiD,MAAM,eAAe,CAAA;AAChH,OAAO,EAAE,eAAe,EAAwB,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,GAEtB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAG5C;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAY,EACZ,OAA2B,EAAE;IAE7B,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,IAAI,EAAE,CAAC,CAAA;IAChD,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,CAAA;IAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACnD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACzC,OAAO;QACL,GAAG;QACH,QAAQ;QACR,QAAQ;QACR,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE;KACtF,CAAA;AACH,CAAC"}
@@ -1,4 +1,27 @@
1
+ import { type ConsentGateOptions } from '../consent.js';
1
2
  import type { Audience } from '../types.js';
3
+ /**
4
+ * The `kywi_audience` cookie's value, which records HOW the pin was made.
5
+ *
6
+ * Two writes share this cookie and they carry different consent weight
7
+ * (kywi-cms#91): the runtime automatically remembering what it resolved is
8
+ * `personalization` tracking, while an audience the visitor picked by hand in
9
+ * the transparency panel is an `essential` preference. The cookie has to say
10
+ * which, or the read side cannot apply the right rule and a hand-picked audience
11
+ * would be stored and then silently ignored.
12
+ */
13
+ export interface AudiencePin {
14
+ id: string;
15
+ /** The visitor chose this deliberately, so it is an `essential` preference. */
16
+ viaSwitcher: boolean;
17
+ }
18
+ /** Encode a pin for the `kywi_audience` cookie. */
19
+ export declare function buildAudiencePinValue(id: string, viaSwitcher: boolean): string;
20
+ /**
21
+ * Decode a `kywi_audience` cookie value. A bare id — every cookie written before
22
+ * kywi-cms#91, and every boot pin since — reads as a non-switcher pin.
23
+ */
24
+ export declare function parseAudiencePin(raw: string | undefined | null): AudiencePin | null;
2
25
  /**
3
26
  * Read the client-pinned audience (`kywi_audience` cookie).
4
27
  *
@@ -11,7 +34,10 @@ import type { Audience } from '../types.js';
11
34
  * and deletes it), so the id is untrusted input: it is only honoured when it
12
35
  * names a *currently-active* audience for this render. A stale, forged, or
13
36
  * archived id is treated as absent — the caller falls through to signal-derived
14
- * resolution and the render never errors.
37
+ * resolution and the render never errors. So is a pin the visitor has not
38
+ * consented to being remembered by.
15
39
  */
16
- export declare function collectPinnedAudience(cookies: Map<string, string>, activeAudiences: Audience[]): string | null;
40
+ export declare function collectPinnedAudience(cookies: Map<string, string>, activeAudiences: Audience[], gate?: ConsentGateOptions & {
41
+ cookieHeader?: string | null;
42
+ }): string | null;
17
43
  //# sourceMappingURL=pinned-audience.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pinned-audience.d.ts","sourceRoot":"","sources":["../../../src/audiences/collectors/pinned-audience.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,eAAe,EAAE,QAAQ,EAAE,GAC1B,MAAM,GAAG,IAAI,CAIf"}
1
+ {"version":3,"file":"pinned-audience.d.ts","sourceRoot":"","sources":["../../../src/audiences/collectors/pinned-audience.ts"],"names":[],"mappings":"AACA,OAAO,EAA8C,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACnG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,+EAA+E;IAC/E,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,mDAAmD;AACnD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,CAK9E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAOnF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,eAAe,EAAE,QAAQ,EAAE,EAC3B,IAAI,GAAE,kBAAkB,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC/D,MAAM,GAAG,IAAI,CAYf"}
@@ -1,4 +1,25 @@
1
1
  import { COOKIE_NAMES } from '../cookies.js';
2
+ import { cookieAllowedByHeader, SWITCHER_PIN_PREFIX } from '../consent.js';
3
+ /** Encode a pin for the `kywi_audience` cookie. */
4
+ export function buildAudiencePinValue(id, viaSwitcher) {
5
+ // A plain id stays a plain id: the un-prefixed form is what every version
6
+ // before kywi-cms#91 wrote, and keeping it means an existing cookie survives
7
+ // the upgrade reading exactly as it always did (as a boot pin).
8
+ return viaSwitcher ? `${SWITCHER_PIN_PREFIX}${id}` : id;
9
+ }
10
+ /**
11
+ * Decode a `kywi_audience` cookie value. A bare id — every cookie written before
12
+ * kywi-cms#91, and every boot pin since — reads as a non-switcher pin.
13
+ */
14
+ export function parseAudiencePin(raw) {
15
+ if (!raw)
16
+ return null;
17
+ if (raw.startsWith(SWITCHER_PIN_PREFIX)) {
18
+ const id = raw.slice(SWITCHER_PIN_PREFIX.length);
19
+ return id ? { id, viaSwitcher: true } : null;
20
+ }
21
+ return { id: raw, viaSwitcher: false };
22
+ }
2
23
  /**
3
24
  * Read the client-pinned audience (`kywi_audience` cookie).
4
25
  *
@@ -11,12 +32,21 @@ import { COOKIE_NAMES } from '../cookies.js';
11
32
  * and deletes it), so the id is untrusted input: it is only honoured when it
12
33
  * names a *currently-active* audience for this render. A stale, forged, or
13
34
  * archived id is treated as absent — the caller falls through to signal-derived
14
- * resolution and the render never errors.
35
+ * resolution and the render never errors. So is a pin the visitor has not
36
+ * consented to being remembered by.
15
37
  */
16
- export function collectPinnedAudience(cookies, activeAudiences) {
17
- const pinned = cookies.get(COOKIE_NAMES.AUDIENCE);
18
- if (!pinned)
38
+ export function collectPinnedAudience(cookies, activeAudiences, gate = {}) {
39
+ const pin = parseAudiencePin(cookies.get(COOKIE_NAMES.AUDIENCE));
40
+ if (!pin)
41
+ return null;
42
+ // An automatic pin is `personalization`: a visitor who rejects stops being
43
+ // resolved from tracking they no longer consent to. A pin they set by hand is
44
+ // `essential` and is honoured either way — refusing to act on the switcher
45
+ // they just used would make the panel lie about what its buttons do
46
+ // (kywi-cms#91).
47
+ if (!pin.viaSwitcher && !cookieAllowedByHeader(COOKIE_NAMES.AUDIENCE, gate.cookieHeader, gate)) {
19
48
  return null;
20
- return activeAudiences.some((a) => a.id === pinned) ? pinned : null;
49
+ }
50
+ return activeAudiences.some((a) => a.id === pin.id) ? pin.id : null;
21
51
  }
22
52
  //# sourceMappingURL=pinned-audience.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pinned-audience.js","sourceRoot":"","sources":["../../../src/audiences/collectors/pinned-audience.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAG5C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAA4B,EAC5B,eAA2B;IAE3B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IACjD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;AACrE,CAAC"}
1
+ {"version":3,"file":"pinned-audience.js","sourceRoot":"","sources":["../../../src/audiences/collectors/pinned-audience.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAA2B,MAAM,eAAe,CAAA;AAmBnG,mDAAmD;AACnD,MAAM,UAAU,qBAAqB,CAAC,EAAU,EAAE,WAAoB;IACpE,0EAA0E;IAC1E,6EAA6E;IAC7E,gEAAgE;IAChE,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,mBAAmB,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAA8B;IAC7D,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,IAAI,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QAChD,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9C,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;AACxC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAA4B,EAC5B,eAA2B,EAC3B,OAA8D,EAAE;IAEhE,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;IAChE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,oEAAoE;IACpE,iBAAiB;IACjB,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC;QAC/F,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACrE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type ConsentGateOptions } from '../consent.js';
1
2
  export interface UtmSignals {
2
3
  source: string | null;
3
4
  medium: string | null;
@@ -5,5 +6,18 @@ export interface UtmSignals {
5
6
  term: string | null;
6
7
  content: string | null;
7
8
  }
8
- export declare function collectUtm(req: Request, cookies: Map<string, string>): UtmSignals;
9
+ /**
10
+ * Resolve the visitor's UTM attribution: this request's `utm_*` query params,
11
+ * falling back to the persisted `kywi_utm` cookie.
12
+ *
13
+ * The cookie fallback is IGNORED unless the visitor consents to personalization
14
+ * (kywi-cms#91). Blocking the write alone would not be enough — a visitor who
15
+ * accepted last month and rejects today still carries the cookie, and reading it
16
+ * would keep them in a campaign audience they just opted out of. The URL's own
17
+ * `utm_*` params are always honoured: they are this request's content, not
18
+ * stored tracking.
19
+ */
20
+ export declare function collectUtm(req: Request, cookies: Map<string, string>, gate?: ConsentGateOptions & {
21
+ cookieHeader?: string | null;
22
+ }): UtmSignals;
9
23
  //# sourceMappingURL=utm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utm.d.ts","sourceRoot":"","sources":["../../../src/audiences/collectors/utm.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,UAAU,CAcjF"}
1
+ {"version":3,"file":"utm.d.ts","sourceRoot":"","sources":["../../../src/audiences/collectors/utm.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAE9E,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,IAAI,GAAE,kBAAkB,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC/D,UAAU,CAgBZ"}
@@ -1,8 +1,22 @@
1
1
  import { COOKIE_NAMES } from '../cookies.js';
2
- export function collectUtm(req, cookies) {
2
+ import { cookieAllowedByHeader } from '../consent.js';
3
+ /**
4
+ * Resolve the visitor's UTM attribution: this request's `utm_*` query params,
5
+ * falling back to the persisted `kywi_utm` cookie.
6
+ *
7
+ * The cookie fallback is IGNORED unless the visitor consents to personalization
8
+ * (kywi-cms#91). Blocking the write alone would not be enough — a visitor who
9
+ * accepted last month and rejects today still carries the cookie, and reading it
10
+ * would keep them in a campaign audience they just opted out of. The URL's own
11
+ * `utm_*` params are always honoured: they are this request's content, not
12
+ * stored tracking.
13
+ */
14
+ export function collectUtm(req, cookies, gate = {}) {
3
15
  const url = new URL(req.url);
4
16
  let cookieUtm = {};
5
- const raw = cookies.get(COOKIE_NAMES.UTM);
17
+ const raw = cookieAllowedByHeader(COOKIE_NAMES.UTM, gate.cookieHeader ?? req.headers.get('cookie'), gate)
18
+ ? cookies.get(COOKIE_NAMES.UTM)
19
+ : undefined;
6
20
  if (raw) {
7
21
  try {
8
22
  cookieUtm = JSON.parse(raw);
@@ -1 +1 @@
1
- {"version":3,"file":"utm.js","sourceRoot":"","sources":["../../../src/audiences/collectors/utm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAU5C,MAAM,UAAU,UAAU,CAAC,GAAY,EAAE,OAA4B;IACnE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,SAAS,GAAwB,EAAE,CAAA;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IACzC,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC;YAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACnF,CAAC;IACD,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI;QACtE,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI;QACtE,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI;QAC5E,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI;QAChE,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI;KAC1E,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"utm.js","sourceRoot":"","sources":["../../../src/audiences/collectors/utm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAA2B,MAAM,eAAe,CAAA;AAU9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CACxB,GAAY,EACZ,OAA4B,EAC5B,OAA8D,EAAE;IAEhE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,SAAS,GAAwB,EAAE,CAAA;IACvC,MAAM,GAAG,GAAG,qBAAqB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;QACvG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;QAC/B,CAAC,CAAC,SAAS,CAAA;IACb,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC;YAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACnF,CAAC;IACD,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI;QACtE,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI;QACtE,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI;QAC5E,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI;QAChE,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI;KAC1E,CAAA;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Resolve `theme.personalization.requireConsent` from a `KywiConfig`
3
+ * (kywi-cms#91).
4
+ *
5
+ * Kept out of `./consent.ts` because that module must import nothing at all —
6
+ * it is pulled into Next.js edge middleware. This file's only import is a TYPE,
7
+ * which erases at compile time, but it lives next door rather than inside the
8
+ * gate so the edge entry stays obviously dependency-free.
9
+ */
10
+ import type { KywiConfig } from '../config/types.js';
11
+ /**
12
+ * Does this site require consent before personalization cookies are written?
13
+ *
14
+ * **True unless a theme explicitly opts out.** The flag lives on the theme, so
15
+ * it resolves the same way `clientRuntimeEnabled` / `transparencyNoticeEnabled`
16
+ * do in the reference app: the named site's theme, falling back to the first
17
+ * site's theme and then the first theme declared. A site with no theme at all
18
+ * requires consent — the safe answer is the default answer.
19
+ */
20
+ export declare function personalizationRequiresConsent(config: KywiConfig, siteId?: string): boolean;
21
+ //# sourceMappingURL=consent-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consent-config.d.ts","sourceRoot":"","sources":["../../src/audiences/consent-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAEpD;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAI3F"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Does this site require consent before personalization cookies are written?
3
+ *
4
+ * **True unless a theme explicitly opts out.** The flag lives on the theme, so
5
+ * it resolves the same way `clientRuntimeEnabled` / `transparencyNoticeEnabled`
6
+ * do in the reference app: the named site's theme, falling back to the first
7
+ * site's theme and then the first theme declared. A site with no theme at all
8
+ * requires consent — the safe answer is the default answer.
9
+ */
10
+ export function personalizationRequiresConsent(config, siteId) {
11
+ const site = (siteId ? config.sites.find((s) => s.id === siteId) : undefined) ?? config.sites[0];
12
+ const theme = config.themes.find((t) => t.name === site?.theme) ?? config.themes[0];
13
+ return theme?.personalization?.requireConsent !== false;
14
+ }
15
+ //# sourceMappingURL=consent-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consent-config.js","sourceRoot":"","sources":["../../src/audiences/consent-config.ts"],"names":[],"mappings":"AAWA;;;;;;;;GAQG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAkB,EAAE,MAAe;IAChF,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChG,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACnF,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,KAAK,KAAK,CAAA;AACzD,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { KywiDb } from '../db/client.js';
2
+ /** The env var mirroring `theme.personalization.requireConsent` for edge middleware. */
3
+ export declare const REQUIRE_CONSENT_ENV = "KYWI_REQUIRE_CONSENT";
4
+ /** How `middleware.ts` reads the mirror: anything but the literal "false" is true. */
5
+ export declare function requireConsentFromEnv(env?: Record<string, string | undefined>): boolean;
6
+ /**
7
+ * Fail startup when the config flag and its edge mirror disagree.
8
+ *
9
+ * Deliberately a throw and not a warning: the two halves of one setting pointing
10
+ * opposite ways is never intentional, and the resulting behaviour (cookies
11
+ * written by the edge that the API then declines to read, or vice versa) is
12
+ * exactly the kind of bug that survives to production because nothing is
13
+ * visibly broken.
14
+ */
15
+ export declare function assertConsentEnvAgreement(requireConsentFromConfig: boolean, env?: Record<string, string | undefined>): void;
16
+ /**
17
+ * Build the once-only "consent required, but nothing asks for it" check.
18
+ *
19
+ * Returns a function safe to call on every request: it runs at most once, never
20
+ * awaits (the first request does not pay for it), and swallows every error. A
21
+ * warning that could break a page, or add latency to the hot path, would not be
22
+ * worth having.
23
+ *
24
+ * The check is a `::text LIKE` prefilter — the same shape
25
+ * `checkAudienceDeletionSafety` uses — looking for anything that mentions the
26
+ * module type at all. Over-matching is fine here: a false negative (staying
27
+ * quiet) is the safe direction for an advisory warning.
28
+ *
29
+ * It reads BOTH places a module can be placed: `kywi_content.layout` and
30
+ * `kywi_section_templates.definition`. A banner composed from a blueprint is a
31
+ * banner, and scanning pages alone told a site that builds every page that way
32
+ * that consent could never be granted — while the banner was on screen.
33
+ */
34
+ export declare function createConsentBannerCheck(deps: {
35
+ db: KywiDb;
36
+ requireConsent: boolean;
37
+ warn?: (message: string) => void;
38
+ }): () => void;
39
+ //# sourceMappingURL=consent-startup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consent-startup.d.ts","sourceRoot":"","sources":["../../src/audiences/consent-startup.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,wFAAwF;AACxF,eAAO,MAAM,mBAAmB,yBAAyB,CAAA;AAEzD,sFAAsF;AACtF,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,OAAO,CAEpG;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,wBAAwB,EAAE,OAAO,EACjC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,IAAI,CAcN;AASD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC,GAAG,MAAM,IAAI,CA8Bb"}