@kywi-software/core 0.14.0 → 0.15.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 (633) hide show
  1. package/AGENT-PATTERNS.md +200 -17
  2. package/README.md +38 -12
  3. package/dist/admin/audience-editor.d.ts +2 -0
  4. package/dist/admin/audience-editor.d.ts.map +1 -1
  5. package/dist/admin/audience-editor.js +4 -2
  6. package/dist/admin/audience-editor.js.map +1 -1
  7. package/dist/admin/chrome.d.ts.map +1 -1
  8. package/dist/admin/chrome.js +6 -7
  9. package/dist/admin/chrome.js.map +1 -1
  10. package/dist/admin/condition-builder.d.ts.map +1 -1
  11. package/dist/admin/condition-builder.js +16 -3
  12. package/dist/admin/condition-builder.js.map +1 -1
  13. package/dist/admin/field-components.d.ts.map +1 -1
  14. package/dist/admin/field-components.js +27 -1
  15. package/dist/admin/field-components.js.map +1 -1
  16. package/dist/admin/form-helpers.d.ts.map +1 -1
  17. package/dist/admin/form-helpers.js +6 -1
  18. package/dist/admin/form-helpers.js.map +1 -1
  19. package/dist/admin/layout-editor/chrome-env.d.ts +35 -0
  20. package/dist/admin/layout-editor/chrome-env.d.ts.map +1 -0
  21. package/dist/admin/layout-editor/chrome-env.js +13 -0
  22. package/dist/admin/layout-editor/chrome-env.js.map +1 -0
  23. package/dist/admin/layout-editor/component-actions.d.ts +58 -7
  24. package/dist/admin/layout-editor/component-actions.d.ts.map +1 -1
  25. package/dist/admin/layout-editor/component-actions.js +131 -5
  26. package/dist/admin/layout-editor/component-actions.js.map +1 -1
  27. package/dist/admin/layout-editor/component-fork.d.ts +4 -4
  28. package/dist/admin/layout-editor/component-fork.d.ts.map +1 -1
  29. package/dist/admin/layout-editor/component-fork.js +76 -10
  30. package/dist/admin/layout-editor/component-fork.js.map +1 -1
  31. package/dist/admin/layout-editor/component-picker-field.d.ts +17 -3
  32. package/dist/admin/layout-editor/component-picker-field.d.ts.map +1 -1
  33. package/dist/admin/layout-editor/component-picker-field.js +5 -2
  34. package/dist/admin/layout-editor/component-picker-field.js.map +1 -1
  35. package/dist/admin/layout-editor/drag-feedback.d.ts +25 -1
  36. package/dist/admin/layout-editor/drag-feedback.d.ts.map +1 -1
  37. package/dist/admin/layout-editor/drag-feedback.js +9 -0
  38. package/dist/admin/layout-editor/drag-feedback.js.map +1 -1
  39. package/dist/admin/layout-editor/drag-utils.d.ts +103 -5
  40. package/dist/admin/layout-editor/drag-utils.d.ts.map +1 -1
  41. package/dist/admin/layout-editor/drag-utils.js +131 -4
  42. package/dist/admin/layout-editor/drag-utils.js.map +1 -1
  43. package/dist/admin/layout-editor/editor-canvas.d.ts +11 -0
  44. package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
  45. package/dist/admin/layout-editor/editor-canvas.js +134 -20
  46. package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
  47. package/dist/admin/layout-editor/editor-dialog.d.ts +58 -3
  48. package/dist/admin/layout-editor/editor-dialog.d.ts.map +1 -1
  49. package/dist/admin/layout-editor/editor-dialog.js +71 -9
  50. package/dist/admin/layout-editor/editor-dialog.js.map +1 -1
  51. package/dist/admin/layout-editor/editor-state.d.ts +119 -0
  52. package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
  53. package/dist/admin/layout-editor/editor-state.js +188 -6
  54. package/dist/admin/layout-editor/editor-state.js.map +1 -1
  55. package/dist/admin/layout-editor/editor-toolbar.d.ts +10 -1
  56. package/dist/admin/layout-editor/editor-toolbar.d.ts.map +1 -1
  57. package/dist/admin/layout-editor/editor-toolbar.js +2 -2
  58. package/dist/admin/layout-editor/editor-toolbar.js.map +1 -1
  59. package/dist/admin/layout-editor/editor.css +216 -8
  60. package/dist/admin/layout-editor/inline-text.d.ts +15 -1
  61. package/dist/admin/layout-editor/inline-text.d.ts.map +1 -1
  62. package/dist/admin/layout-editor/inline-text.js +30 -2
  63. package/dist/admin/layout-editor/inline-text.js.map +1 -1
  64. package/dist/admin/layout-editor/layout-editor.d.ts +21 -16
  65. package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
  66. package/dist/admin/layout-editor/layout-editor.js +40 -17
  67. package/dist/admin/layout-editor/layout-editor.js.map +1 -1
  68. package/dist/admin/layout-editor/linked-component-notes.d.ts +88 -0
  69. package/dist/admin/layout-editor/linked-component-notes.d.ts.map +1 -0
  70. package/dist/admin/layout-editor/linked-component-notes.js +88 -0
  71. package/dist/admin/layout-editor/linked-component-notes.js.map +1 -0
  72. package/dist/admin/layout-editor/module-overlay.d.ts +23 -4
  73. package/dist/admin/layout-editor/module-overlay.d.ts.map +1 -1
  74. package/dist/admin/layout-editor/module-overlay.js +56 -10
  75. package/dist/admin/layout-editor/module-overlay.js.map +1 -1
  76. package/dist/admin/layout-editor/module-variant-container-config.d.ts.map +1 -1
  77. package/dist/admin/layout-editor/module-variant-container-config.js +9 -2
  78. package/dist/admin/layout-editor/module-variant-container-config.js.map +1 -1
  79. package/dist/admin/layout-editor/module-variant-container-panel.d.ts +75 -0
  80. package/dist/admin/layout-editor/module-variant-container-panel.d.ts.map +1 -0
  81. package/dist/admin/layout-editor/module-variant-container-panel.js +29 -0
  82. package/dist/admin/layout-editor/module-variant-container-panel.js.map +1 -0
  83. package/dist/admin/layout-editor/node-lookup.d.ts.map +1 -1
  84. package/dist/admin/layout-editor/node-lookup.js +33 -3
  85. package/dist/admin/layout-editor/node-lookup.js.map +1 -1
  86. package/dist/admin/layout-editor/overlay-shell.d.ts.map +1 -1
  87. package/dist/admin/layout-editor/overlay-shell.js +19 -4
  88. package/dist/admin/layout-editor/overlay-shell.js.map +1 -1
  89. package/dist/admin/layout-editor/props-panel.d.ts +28 -11
  90. package/dist/admin/layout-editor/props-panel.d.ts.map +1 -1
  91. package/dist/admin/layout-editor/props-panel.js +75 -125
  92. package/dist/admin/layout-editor/props-panel.js.map +1 -1
  93. package/dist/admin/layout-editor/section-variant-container-config.d.ts.map +1 -1
  94. package/dist/admin/layout-editor/section-variant-container-config.js +11 -2
  95. package/dist/admin/layout-editor/section-variant-container-config.js.map +1 -1
  96. package/dist/admin/layout-editor/use-chrome-flip.d.ts +99 -11
  97. package/dist/admin/layout-editor/use-chrome-flip.d.ts.map +1 -1
  98. package/dist/admin/layout-editor/use-chrome-flip.js +268 -97
  99. package/dist/admin/layout-editor/use-chrome-flip.js.map +1 -1
  100. package/dist/admin/layout-editor/use-component-connect.d.ts +13 -0
  101. package/dist/admin/layout-editor/use-component-connect.d.ts.map +1 -1
  102. package/dist/admin/layout-editor/use-component-connect.js +116 -20
  103. package/dist/admin/layout-editor/use-component-connect.js.map +1 -1
  104. package/dist/admin/layout-editor/use-component-fork.d.ts +49 -19
  105. package/dist/admin/layout-editor/use-component-fork.d.ts.map +1 -1
  106. package/dist/admin/layout-editor/use-component-fork.js +28 -19
  107. package/dist/admin/layout-editor/use-component-fork.js.map +1 -1
  108. package/dist/admin/layout-editor/use-component-library.d.ts +4 -4
  109. package/dist/admin/layout-editor/use-component-library.d.ts.map +1 -1
  110. package/dist/admin/layout-editor/use-component-library.js +1 -1
  111. package/dist/admin/layout-editor/use-component-library.js.map +1 -1
  112. package/dist/admin/layout-editor/use-editor-dnd.d.ts +10 -0
  113. package/dist/admin/layout-editor/use-editor-dnd.d.ts.map +1 -1
  114. package/dist/admin/layout-editor/use-editor-dnd.js +234 -14
  115. package/dist/admin/layout-editor/use-editor-dnd.js.map +1 -1
  116. package/dist/admin/layout-editor/variant-container-config.d.ts.map +1 -1
  117. package/dist/admin/layout-editor/variant-container-config.js +1 -1
  118. package/dist/admin/layout-editor/variant-container-config.js.map +1 -1
  119. package/dist/admin/layout-editor/variant-editor.d.ts +16 -15
  120. package/dist/admin/layout-editor/variant-editor.d.ts.map +1 -1
  121. package/dist/admin/layout-editor/variant-editor.js +16 -5
  122. package/dist/admin/layout-editor/variant-editor.js.map +1 -1
  123. package/dist/admin/primitives.d.ts.map +1 -1
  124. package/dist/admin/primitives.js +1 -1
  125. package/dist/admin/primitives.js.map +1 -1
  126. package/dist/admin/registry.d.ts +12 -0
  127. package/dist/admin/registry.d.ts.map +1 -1
  128. package/dist/admin/registry.js +12 -0
  129. package/dist/admin/registry.js.map +1 -1
  130. package/dist/admin/rule-tester.d.ts +1 -0
  131. package/dist/admin/rule-tester.d.ts.map +1 -1
  132. package/dist/admin/rule-tester.js +7 -4
  133. package/dist/admin/rule-tester.js.map +1 -1
  134. package/dist/admin/server.d.ts +10 -1
  135. package/dist/admin/server.d.ts.map +1 -1
  136. package/dist/admin/server.js +4 -1
  137. package/dist/admin/server.js.map +1 -1
  138. package/dist/admin/signal-options.d.ts +17 -0
  139. package/dist/admin/signal-options.d.ts.map +1 -1
  140. package/dist/admin/signal-options.js +28 -0
  141. package/dist/admin/signal-options.js.map +1 -1
  142. package/dist/admin/site-switcher.d.ts +16 -3
  143. package/dist/admin/site-switcher.d.ts.map +1 -1
  144. package/dist/admin/site-switcher.js +18 -3
  145. package/dist/admin/site-switcher.js.map +1 -1
  146. package/dist/admin/styles/admin.css +0 -3
  147. package/dist/admin/surface-matcher.d.ts +6 -2
  148. package/dist/admin/surface-matcher.d.ts.map +1 -1
  149. package/dist/admin/surface-matcher.js +42 -5
  150. package/dist/admin/surface-matcher.js.map +1 -1
  151. package/dist/admin/surfaces/audiences/audiences-data.d.ts +5 -0
  152. package/dist/admin/surfaces/audiences/audiences-data.d.ts.map +1 -1
  153. package/dist/admin/surfaces/audiences/audiences-data.js +3 -0
  154. package/dist/admin/surfaces/audiences/audiences-data.js.map +1 -1
  155. package/dist/admin/surfaces/components/components-data.d.ts +31 -11
  156. package/dist/admin/surfaces/components/components-data.d.ts.map +1 -1
  157. package/dist/admin/surfaces/components/components-data.js +17 -4
  158. package/dist/admin/surfaces/components/components-data.js.map +1 -1
  159. package/dist/admin/surfaces/components/components-list.d.ts.map +1 -1
  160. package/dist/admin/surfaces/components/components-list.js +20 -7
  161. package/dist/admin/surfaces/components/components-list.js.map +1 -1
  162. package/dist/admin/surfaces/components/definition-canvas.d.ts +11 -3
  163. package/dist/admin/surfaces/components/definition-canvas.d.ts.map +1 -1
  164. package/dist/admin/surfaces/components/definition-canvas.js +138 -17
  165. package/dist/admin/surfaces/components/definition-canvas.js.map +1 -1
  166. package/dist/admin/surfaces/dashboard/dashboard-index.d.ts.map +1 -1
  167. package/dist/admin/surfaces/dashboard/dashboard-index.js +2 -2
  168. package/dist/admin/surfaces/dashboard/dashboard-index.js.map +1 -1
  169. package/dist/admin/surfaces/layouts/layout-editor-client.d.ts.map +1 -1
  170. package/dist/admin/surfaces/layouts/layout-editor-client.js +12 -11
  171. package/dist/admin/surfaces/layouts/layout-editor-client.js.map +1 -1
  172. package/dist/admin/surfaces/menus/menu-editor.d.ts.map +1 -1
  173. package/dist/admin/surfaces/menus/menu-editor.js +17 -4
  174. package/dist/admin/surfaces/menus/menu-editor.js.map +1 -1
  175. package/dist/admin/surfaces/menus/menu-tree.d.ts +18 -4
  176. package/dist/admin/surfaces/menus/menu-tree.d.ts.map +1 -1
  177. package/dist/admin/surfaces/menus/menu-tree.js +18 -3
  178. package/dist/admin/surfaces/menus/menu-tree.js.map +1 -1
  179. package/dist/admin/surfaces/menus/menus-data.d.ts +18 -0
  180. package/dist/admin/surfaces/menus/menus-data.d.ts.map +1 -1
  181. package/dist/admin/surfaces/menus/menus-data.js +4 -0
  182. package/dist/admin/surfaces/menus/menus-data.js.map +1 -1
  183. package/dist/admin/surfaces/menus/menus-list.d.ts.map +1 -1
  184. package/dist/admin/surfaces/menus/menus-list.js +2 -12
  185. package/dist/admin/surfaces/menus/menus-list.js.map +1 -1
  186. package/dist/admin/surfaces/users/users-data.d.ts +14 -0
  187. package/dist/admin/surfaces/users/users-data.d.ts.map +1 -1
  188. package/dist/admin/surfaces/users/users-data.js +19 -0
  189. package/dist/admin/surfaces/users/users-data.js.map +1 -1
  190. package/dist/admin/surfaces/users/users-detail.d.ts.map +1 -1
  191. package/dist/admin/surfaces/users/users-detail.js +40 -4
  192. package/dist/admin/surfaces/users/users-detail.js.map +1 -1
  193. package/dist/admin/surfaces/users/users-new.d.ts.map +1 -1
  194. package/dist/admin/surfaces/users/users-new.js +8 -5
  195. package/dist/admin/surfaces/users/users-new.js.map +1 -1
  196. package/dist/admin/user-form.d.ts +10 -1
  197. package/dist/admin/user-form.d.ts.map +1 -1
  198. package/dist/admin/user-form.js +2 -2
  199. package/dist/admin/user-form.js.map +1 -1
  200. package/dist/api/admin-features-routes.js +2 -2
  201. package/dist/api/admin-features-routes.js.map +1 -1
  202. package/dist/api/api-key-routes.js +2 -2
  203. package/dist/api/api-key-routes.js.map +1 -1
  204. package/dist/api/audience-preview-routes.d.ts +7 -0
  205. package/dist/api/audience-preview-routes.d.ts.map +1 -1
  206. package/dist/api/audience-preview-routes.js +4 -4
  207. package/dist/api/audience-preview-routes.js.map +1 -1
  208. package/dist/api/audience-routes.d.ts +7 -0
  209. package/dist/api/audience-routes.d.ts.map +1 -1
  210. package/dist/api/audience-routes.js +31 -19
  211. package/dist/api/audience-routes.js.map +1 -1
  212. package/dist/api/audience-runtime-routes.d.ts +23 -0
  213. package/dist/api/audience-runtime-routes.d.ts.map +1 -1
  214. package/dist/api/audience-runtime-routes.js +511 -25
  215. package/dist/api/audience-runtime-routes.js.map +1 -1
  216. package/dist/api/auth-routes.d.ts.map +1 -1
  217. package/dist/api/auth-routes.js +10 -4
  218. package/dist/api/auth-routes.js.map +1 -1
  219. package/dist/api/auth.d.ts +1 -0
  220. package/dist/api/auth.d.ts.map +1 -1
  221. package/dist/api/auth.js +43 -3
  222. package/dist/api/auth.js.map +1 -1
  223. package/dist/api/ax-routes.d.ts.map +1 -1
  224. package/dist/api/ax-routes.js +7 -3
  225. package/dist/api/ax-routes.js.map +1 -1
  226. package/dist/api/bulk-routes.d.ts.map +1 -1
  227. package/dist/api/bulk-routes.js +7 -7
  228. package/dist/api/bulk-routes.js.map +1 -1
  229. package/dist/api/category-routes.js +6 -6
  230. package/dist/api/category-routes.js.map +1 -1
  231. package/dist/api/changeset-routes.js +2 -2
  232. package/dist/api/changeset-routes.js.map +1 -1
  233. package/dist/api/comment-routes.js +12 -12
  234. package/dist/api/comment-routes.js.map +1 -1
  235. package/dist/api/component-routes.d.ts +25 -0
  236. package/dist/api/component-routes.d.ts.map +1 -1
  237. package/dist/api/component-routes.js +44 -19
  238. package/dist/api/component-routes.js.map +1 -1
  239. package/dist/api/config-routes.js +4 -4
  240. package/dist/api/config-routes.js.map +1 -1
  241. package/dist/api/content-permission-routes.js +2 -2
  242. package/dist/api/content-permission-routes.js.map +1 -1
  243. package/dist/api/content-routes.d.ts.map +1 -1
  244. package/dist/api/content-routes.js +21 -16
  245. package/dist/api/content-routes.js.map +1 -1
  246. package/dist/api/content-type-routes.js +3 -3
  247. package/dist/api/content-type-routes.js.map +1 -1
  248. package/dist/api/dashboard-routes.js +1 -1
  249. package/dist/api/dashboard-routes.js.map +1 -1
  250. package/dist/api/experiment-routes.d.ts +7 -0
  251. package/dist/api/experiment-routes.d.ts.map +1 -1
  252. package/dist/api/experiment-routes.js +10 -10
  253. package/dist/api/experiment-routes.js.map +1 -1
  254. package/dist/api/experiment-runtime-routes.d.ts +6 -0
  255. package/dist/api/experiment-runtime-routes.d.ts.map +1 -1
  256. package/dist/api/experiment-runtime-routes.js +47 -11
  257. package/dist/api/experiment-runtime-routes.js.map +1 -1
  258. package/dist/api/extension-routes.js +4 -4
  259. package/dist/api/extension-routes.js.map +1 -1
  260. package/dist/api/feed-routes.d.ts +2 -2
  261. package/dist/api/feed-routes.js +5 -5
  262. package/dist/api/feed-routes.js.map +1 -1
  263. package/dist/api/form-routes.js +6 -6
  264. package/dist/api/form-routes.js.map +1 -1
  265. package/dist/api/graphql/resolvers.d.ts +1 -1
  266. package/dist/api/graphql/resolvers.d.ts.map +1 -1
  267. package/dist/api/graphql/resolvers.js +68 -33
  268. package/dist/api/graphql/resolvers.js.map +1 -1
  269. package/dist/api/group-routes.js +9 -9
  270. package/dist/api/group-routes.js.map +1 -1
  271. package/dist/api/index.d.ts +1 -0
  272. package/dist/api/index.d.ts.map +1 -1
  273. package/dist/api/index.js +43 -7
  274. package/dist/api/index.js.map +1 -1
  275. package/dist/api/layout-routes.d.ts +19 -1
  276. package/dist/api/layout-routes.d.ts.map +1 -1
  277. package/dist/api/layout-routes.js +92 -8
  278. package/dist/api/layout-routes.js.map +1 -1
  279. package/dist/api/layout-write-guard.d.ts +3 -2
  280. package/dist/api/layout-write-guard.d.ts.map +1 -1
  281. package/dist/api/layout-write-guard.js +12 -4
  282. package/dist/api/layout-write-guard.js.map +1 -1
  283. package/dist/api/media-routes.d.ts.map +1 -1
  284. package/dist/api/media-routes.js +100 -35
  285. package/dist/api/media-routes.js.map +1 -1
  286. package/dist/api/menu-routes.d.ts +9 -1
  287. package/dist/api/menu-routes.d.ts.map +1 -1
  288. package/dist/api/menu-routes.js +46 -12
  289. package/dist/api/menu-routes.js.map +1 -1
  290. package/dist/api/nav-routes.d.ts +6 -0
  291. package/dist/api/nav-routes.d.ts.map +1 -1
  292. package/dist/api/nav-routes.js +25 -4
  293. package/dist/api/nav-routes.js.map +1 -1
  294. package/dist/api/oauth-routes.js +2 -2
  295. package/dist/api/oauth-routes.js.map +1 -1
  296. package/dist/api/openapi.d.ts.map +1 -1
  297. package/dist/api/openapi.js +82 -34
  298. package/dist/api/openapi.js.map +1 -1
  299. package/dist/api/pagination.d.ts +10 -0
  300. package/dist/api/pagination.d.ts.map +1 -1
  301. package/dist/api/pagination.js +7 -1
  302. package/dist/api/pagination.js.map +1 -1
  303. package/dist/api/response.d.ts +29 -0
  304. package/dist/api/response.d.ts.map +1 -1
  305. package/dist/api/response.js +23 -3
  306. package/dist/api/response.js.map +1 -1
  307. package/dist/api/search-routes.d.ts.map +1 -1
  308. package/dist/api/search-routes.js +19 -5
  309. package/dist/api/search-routes.js.map +1 -1
  310. package/dist/api/section-template-routes.d.ts.map +1 -1
  311. package/dist/api/section-template-routes.js +37 -20
  312. package/dist/api/section-template-routes.js.map +1 -1
  313. package/dist/api/site-admin-routes.d.ts +10 -1
  314. package/dist/api/site-admin-routes.d.ts.map +1 -1
  315. package/dist/api/site-admin-routes.js +21 -1
  316. package/dist/api/site-admin-routes.js.map +1 -1
  317. package/dist/api/site-context.d.ts +35 -5
  318. package/dist/api/site-context.d.ts.map +1 -1
  319. package/dist/api/site-context.js +21 -6
  320. package/dist/api/site-context.js.map +1 -1
  321. package/dist/api/site-routes.js +2 -2
  322. package/dist/api/site-routes.js.map +1 -1
  323. package/dist/api/tag-routes.d.ts.map +1 -1
  324. package/dist/api/tag-routes.js +5 -5
  325. package/dist/api/tag-routes.js.map +1 -1
  326. package/dist/api/translation-routes.js +5 -5
  327. package/dist/api/translation-routes.js.map +1 -1
  328. package/dist/api/user-routes.d.ts.map +1 -1
  329. package/dist/api/user-routes.js +136 -21
  330. package/dist/api/user-routes.js.map +1 -1
  331. package/dist/api/version-routes.js +2 -2
  332. package/dist/api/version-routes.js.map +1 -1
  333. package/dist/api/webhook-routes.js +8 -8
  334. package/dist/api/webhook-routes.js.map +1 -1
  335. package/dist/api/workflow-routes.d.ts.map +1 -1
  336. package/dist/api/workflow-routes.js +23 -14
  337. package/dist/api/workflow-routes.js.map +1 -1
  338. package/dist/audiences/collectors/identity.d.ts +14 -1
  339. package/dist/audiences/collectors/identity.d.ts.map +1 -1
  340. package/dist/audiences/collectors/identity.js +16 -3
  341. package/dist/audiences/collectors/identity.js.map +1 -1
  342. package/dist/audiences/collectors/index.d.ts +16 -2
  343. package/dist/audiences/collectors/index.d.ts.map +1 -1
  344. package/dist/audiences/collectors/index.js +29 -5
  345. package/dist/audiences/collectors/index.js.map +1 -1
  346. package/dist/audiences/collectors/pinned-audience.d.ts +28 -2
  347. package/dist/audiences/collectors/pinned-audience.d.ts.map +1 -1
  348. package/dist/audiences/collectors/pinned-audience.js +35 -5
  349. package/dist/audiences/collectors/pinned-audience.js.map +1 -1
  350. package/dist/audiences/collectors/selfid.d.ts +25 -0
  351. package/dist/audiences/collectors/selfid.d.ts.map +1 -0
  352. package/dist/audiences/collectors/selfid.js +46 -0
  353. package/dist/audiences/collectors/selfid.js.map +1 -0
  354. package/dist/audiences/collectors/session.d.ts +41 -0
  355. package/dist/audiences/collectors/session.d.ts.map +1 -0
  356. package/dist/audiences/collectors/session.js +50 -0
  357. package/dist/audiences/collectors/session.js.map +1 -0
  358. package/dist/audiences/collectors/utm.d.ts +15 -1
  359. package/dist/audiences/collectors/utm.d.ts.map +1 -1
  360. package/dist/audiences/collectors/utm.js +16 -2
  361. package/dist/audiences/collectors/utm.js.map +1 -1
  362. package/dist/audiences/consent-config.d.ts +21 -0
  363. package/dist/audiences/consent-config.d.ts.map +1 -0
  364. package/dist/audiences/consent-config.js +15 -0
  365. package/dist/audiences/consent-config.js.map +1 -0
  366. package/dist/audiences/consent-startup.d.ts +39 -0
  367. package/dist/audiences/consent-startup.d.ts.map +1 -0
  368. package/dist/audiences/consent-startup.js +105 -0
  369. package/dist/audiences/consent-startup.js.map +1 -0
  370. package/dist/audiences/consent.d.ts +205 -0
  371. package/dist/audiences/consent.d.ts.map +1 -0
  372. package/dist/audiences/consent.js +335 -0
  373. package/dist/audiences/consent.js.map +1 -0
  374. package/dist/audiences/cookies.d.ts +21 -0
  375. package/dist/audiences/cookies.d.ts.map +1 -1
  376. package/dist/audiences/cookies.js +26 -0
  377. package/dist/audiences/cookies.js.map +1 -1
  378. package/dist/audiences/engine.d.ts +7 -0
  379. package/dist/audiences/engine.d.ts.map +1 -1
  380. package/dist/audiences/engine.js +7 -2
  381. package/dist/audiences/engine.js.map +1 -1
  382. package/dist/audiences/entry-page.d.ts +89 -0
  383. package/dist/audiences/entry-page.d.ts.map +1 -0
  384. package/dist/audiences/entry-page.js +116 -0
  385. package/dist/audiences/entry-page.js.map +1 -0
  386. package/dist/audiences/evaluator/instant-match.d.ts.map +1 -1
  387. package/dist/audiences/evaluator/instant-match.js +7 -0
  388. package/dist/audiences/evaluator/instant-match.js.map +1 -1
  389. package/dist/audiences/index.d.ts +6 -2
  390. package/dist/audiences/index.d.ts.map +1 -1
  391. package/dist/audiences/index.js +12 -2
  392. package/dist/audiences/index.js.map +1 -1
  393. package/dist/audiences/queries.d.ts +16 -0
  394. package/dist/audiences/queries.d.ts.map +1 -1
  395. package/dist/audiences/queries.js +28 -1
  396. package/dist/audiences/queries.js.map +1 -1
  397. package/dist/audiences/schema.d.ts +17 -0
  398. package/dist/audiences/schema.d.ts.map +1 -1
  399. package/dist/audiences/schema.js +7 -0
  400. package/dist/audiences/schema.js.map +1 -1
  401. package/dist/audiences/server-eval.d.ts +32 -1
  402. package/dist/audiences/server-eval.d.ts.map +1 -1
  403. package/dist/audiences/server-eval.js +35 -3
  404. package/dist/audiences/server-eval.js.map +1 -1
  405. package/dist/audiences/ssr.d.ts +18 -1
  406. package/dist/audiences/ssr.d.ts.map +1 -1
  407. package/dist/audiences/ssr.js +18 -1
  408. package/dist/audiences/ssr.js.map +1 -1
  409. package/dist/audiences/types.d.ts +22 -1
  410. package/dist/audiences/types.d.ts.map +1 -1
  411. package/dist/audiences/types.js +1 -0
  412. package/dist/audiences/types.js.map +1 -1
  413. package/dist/audiences/utm-persistence.d.ts +20 -7
  414. package/dist/audiences/utm-persistence.d.ts.map +1 -1
  415. package/dist/audiences/utm-persistence.js +20 -7
  416. package/dist/audiences/utm-persistence.js.map +1 -1
  417. package/dist/auth/roles.d.ts +11 -0
  418. package/dist/auth/roles.d.ts.map +1 -1
  419. package/dist/auth/roles.js +13 -0
  420. package/dist/auth/roles.js.map +1 -1
  421. package/dist/auth/tokens.d.ts +7 -0
  422. package/dist/auth/tokens.d.ts.map +1 -1
  423. package/dist/auth/tokens.js +24 -2
  424. package/dist/auth/tokens.js.map +1 -1
  425. package/dist/ax/content-source.d.ts +10 -2
  426. package/dist/ax/content-source.d.ts.map +1 -1
  427. package/dist/ax/content-source.js +81 -5
  428. package/dist/ax/content-source.js.map +1 -1
  429. package/dist/ax/effective-body.d.ts +28 -0
  430. package/dist/ax/effective-body.d.ts.map +1 -0
  431. package/dist/ax/effective-body.js +47 -0
  432. package/dist/ax/effective-body.js.map +1 -0
  433. package/dist/ax/index.d.ts +3 -1
  434. package/dist/ax/index.d.ts.map +1 -1
  435. package/dist/ax/index.js +2 -0
  436. package/dist/ax/index.js.map +1 -1
  437. package/dist/ax/jsonld.d.ts +31 -1
  438. package/dist/ax/jsonld.d.ts.map +1 -1
  439. package/dist/ax/jsonld.js +35 -22
  440. package/dist/ax/jsonld.js.map +1 -1
  441. package/dist/ax/layout-to-html.d.ts +127 -0
  442. package/dist/ax/layout-to-html.d.ts.map +1 -0
  443. package/dist/ax/layout-to-html.js +545 -0
  444. package/dist/ax/layout-to-html.js.map +1 -0
  445. package/dist/ax/llms-full-txt.d.ts +3 -1
  446. package/dist/ax/llms-full-txt.d.ts.map +1 -1
  447. package/dist/ax/llms-full-txt.js +5 -2
  448. package/dist/ax/llms-full-txt.js.map +1 -1
  449. package/dist/ax/page-markdown.d.ts +10 -2
  450. package/dist/ax/page-markdown.d.ts.map +1 -1
  451. package/dist/ax/page-markdown.js +16 -3
  452. package/dist/ax/page-markdown.js.map +1 -1
  453. package/dist/ax/summary.d.ts +4 -0
  454. package/dist/ax/summary.d.ts.map +1 -1
  455. package/dist/ax/summary.js +6 -1
  456. package/dist/ax/summary.js.map +1 -1
  457. package/dist/ax/types.d.ts +24 -0
  458. package/dist/ax/types.d.ts.map +1 -1
  459. package/dist/cache/content-invalidation.d.ts.map +1 -1
  460. package/dist/cache/content-invalidation.js +11 -0
  461. package/dist/cache/content-invalidation.js.map +1 -1
  462. package/dist/config/types.d.ts +43 -0
  463. package/dist/config/types.d.ts.map +1 -1
  464. package/dist/config/types.js.map +1 -1
  465. package/dist/config/validate.d.ts.map +1 -1
  466. package/dist/config/validate.js +3 -0
  467. package/dist/config/validate.js.map +1 -1
  468. package/dist/db/apply-snapshot.d.ts +25 -0
  469. package/dist/db/apply-snapshot.d.ts.map +1 -1
  470. package/dist/db/apply-snapshot.js +48 -16
  471. package/dist/db/apply-snapshot.js.map +1 -1
  472. package/dist/db/ax-queries.d.ts +6 -0
  473. package/dist/db/ax-queries.d.ts.map +1 -1
  474. package/dist/db/ax-queries.js +6 -0
  475. package/dist/db/ax-queries.js.map +1 -1
  476. package/dist/db/component-instance-queries.d.ts +79 -19
  477. package/dist/db/component-instance-queries.d.ts.map +1 -1
  478. package/dist/db/component-instance-queries.js +266 -83
  479. package/dist/db/component-instance-queries.js.map +1 -1
  480. package/dist/db/component-queries.d.ts +1 -16
  481. package/dist/db/component-queries.d.ts.map +1 -1
  482. package/dist/db/component-queries.js +7 -56
  483. package/dist/db/component-queries.js.map +1 -1
  484. package/dist/db/content-queries.d.ts.map +1 -1
  485. package/dist/db/content-queries.js +9 -2
  486. package/dist/db/content-queries.js.map +1 -1
  487. package/dist/db/extension-queries.d.ts +2 -2
  488. package/dist/db/feed-queries.d.ts +3 -3
  489. package/dist/db/index.d.ts +1 -0
  490. package/dist/db/index.d.ts.map +1 -1
  491. package/dist/db/index.js +1 -0
  492. package/dist/db/index.js.map +1 -1
  493. package/dist/db/layout-queries.d.ts +21 -3
  494. package/dist/db/layout-queries.d.ts.map +1 -1
  495. package/dist/db/layout-queries.js +14 -6
  496. package/dist/db/layout-queries.js.map +1 -1
  497. package/dist/db/menu-queries.d.ts +69 -5
  498. package/dist/db/menu-queries.d.ts.map +1 -1
  499. package/dist/db/menu-queries.js +120 -13
  500. package/dist/db/menu-queries.js.map +1 -1
  501. package/dist/db/search-queries.d.ts.map +1 -1
  502. package/dist/db/search-queries.js +24 -1
  503. package/dist/db/search-queries.js.map +1 -1
  504. package/dist/db/section-template-queries.d.ts +62 -0
  505. package/dist/db/section-template-queries.d.ts.map +1 -0
  506. package/dist/db/section-template-queries.js +178 -0
  507. package/dist/db/section-template-queries.js.map +1 -0
  508. package/dist/db/site-plugin-queries.d.ts +2 -2
  509. package/dist/db/tree-queries.d.ts.map +1 -1
  510. package/dist/db/tree-queries.js +5 -0
  511. package/dist/db/tree-queries.js.map +1 -1
  512. package/dist/db/webhook-queries.d.ts +3 -3
  513. package/dist/db/workflow-queries.d.ts.map +1 -1
  514. package/dist/db/workflow-queries.js +5 -20
  515. package/dist/db/workflow-queries.js.map +1 -1
  516. package/dist/experiments/runtime.d.ts +21 -3
  517. package/dist/experiments/runtime.d.ts.map +1 -1
  518. package/dist/experiments/runtime.js +21 -3
  519. package/dist/experiments/runtime.js.map +1 -1
  520. package/dist/hooks/ax-invalidation.d.ts.map +1 -1
  521. package/dist/hooks/ax-invalidation.js +4 -0
  522. package/dist/hooks/ax-invalidation.js.map +1 -1
  523. package/dist/layout/component-refs.d.ts +90 -2
  524. package/dist/layout/component-refs.d.ts.map +1 -1
  525. package/dist/layout/component-refs.js +293 -16
  526. package/dist/layout/component-refs.js.map +1 -1
  527. package/dist/layout/index.d.ts +7 -4
  528. package/dist/layout/index.d.ts.map +1 -1
  529. package/dist/layout/index.js +6 -3
  530. package/dist/layout/index.js.map +1 -1
  531. package/dist/layout/legacy-variant-container.d.ts +123 -0
  532. package/dist/layout/legacy-variant-container.d.ts.map +1 -0
  533. package/dist/layout/legacy-variant-container.js +397 -0
  534. package/dist/layout/legacy-variant-container.js.map +1 -0
  535. package/dist/layout/module-permissions.d.ts.map +1 -1
  536. package/dist/layout/module-permissions.js +26 -38
  537. package/dist/layout/module-permissions.js.map +1 -1
  538. package/dist/layout/modules-extended.d.ts +28 -1
  539. package/dist/layout/modules-extended.d.ts.map +1 -1
  540. package/dist/layout/modules-extended.js +73 -1
  541. package/dist/layout/modules-extended.js.map +1 -1
  542. package/dist/layout/modules.d.ts.map +1 -1
  543. package/dist/layout/modules.js +9 -1
  544. package/dist/layout/modules.js.map +1 -1
  545. package/dist/layout/personalization.d.ts +83 -0
  546. package/dist/layout/personalization.d.ts.map +1 -1
  547. package/dist/layout/personalization.js +250 -4
  548. package/dist/layout/personalization.js.map +1 -1
  549. package/dist/layout/registry.d.ts.map +1 -1
  550. package/dist/layout/registry.js +20 -0
  551. package/dist/layout/registry.js.map +1 -1
  552. package/dist/layout/renderer.d.ts +29 -2
  553. package/dist/layout/renderer.d.ts.map +1 -1
  554. package/dist/layout/renderer.js +23 -6
  555. package/dist/layout/renderer.js.map +1 -1
  556. package/dist/layout/seed-defaults.d.ts +45 -0
  557. package/dist/layout/seed-defaults.d.ts.map +1 -0
  558. package/dist/layout/seed-defaults.js +75 -0
  559. package/dist/layout/seed-defaults.js.map +1 -0
  560. package/dist/layout/types.d.ts +17 -0
  561. package/dist/layout/types.d.ts.map +1 -1
  562. package/dist/layout/types.js +7 -0
  563. package/dist/layout/types.js.map +1 -1
  564. package/dist/layout/walk.d.ts +14 -0
  565. package/dist/layout/walk.d.ts.map +1 -0
  566. package/dist/layout/walk.js +49 -0
  567. package/dist/layout/walk.js.map +1 -0
  568. package/dist/media/index.d.ts +1 -1
  569. package/dist/media/index.d.ts.map +1 -1
  570. package/dist/media/index.js +1 -1
  571. package/dist/media/index.js.map +1 -1
  572. package/dist/media/inline-risk.d.ts +26 -0
  573. package/dist/media/inline-risk.d.ts.map +1 -0
  574. package/dist/media/inline-risk.js +142 -0
  575. package/dist/media/inline-risk.js.map +1 -0
  576. package/dist/media/upload-allowlist.d.ts +23 -0
  577. package/dist/media/upload-allowlist.d.ts.map +1 -1
  578. package/dist/media/upload-allowlist.js +29 -0
  579. package/dist/media/upload-allowlist.js.map +1 -1
  580. package/dist/nav/builder.d.ts.map +1 -1
  581. package/dist/nav/builder.js +15 -3
  582. package/dist/nav/builder.js.map +1 -1
  583. package/dist/nav/index.d.ts +1 -1
  584. package/dist/nav/index.d.ts.map +1 -1
  585. package/dist/nav/index.js +1 -1
  586. package/dist/nav/index.js.map +1 -1
  587. package/dist/nav/menu-resolver.d.ts +11 -0
  588. package/dist/nav/menu-resolver.d.ts.map +1 -1
  589. package/dist/nav/menu-resolver.js +49 -9
  590. package/dist/nav/menu-resolver.js.map +1 -1
  591. package/dist/nav/paths.d.ts +37 -0
  592. package/dist/nav/paths.d.ts.map +1 -0
  593. package/dist/nav/paths.js +48 -0
  594. package/dist/nav/paths.js.map +1 -0
  595. package/dist/nav/types.d.ts +6 -0
  596. package/dist/nav/types.d.ts.map +1 -1
  597. package/dist/nav/url-resolver.d.ts +1 -5
  598. package/dist/nav/url-resolver.d.ts.map +1 -1
  599. package/dist/nav/url-resolver.js +6 -12
  600. package/dist/nav/url-resolver.js.map +1 -1
  601. package/dist/schema/base.d.ts +24 -4
  602. package/dist/schema/base.d.ts.map +1 -1
  603. package/dist/schema/base.js +17 -4
  604. package/dist/schema/base.js.map +1 -1
  605. package/dist/schema/components.d.ts +90 -9
  606. package/dist/schema/components.d.ts.map +1 -1
  607. package/dist/schema/components.js +113 -22
  608. package/dist/schema/components.js.map +1 -1
  609. package/dist/schema/mysql-tables.d.ts +5775 -48
  610. package/dist/schema/mysql-tables.d.ts.map +1 -1
  611. package/dist/schema/mysql-tables.js +622 -46
  612. package/dist/schema/mysql-tables.js.map +1 -1
  613. package/dist/scope/jsonld.d.ts +18 -3
  614. package/dist/scope/jsonld.d.ts.map +1 -1
  615. package/dist/scope/jsonld.js +6 -4
  616. package/dist/scope/jsonld.js.map +1 -1
  617. package/dist/scope/kywi-form.d.ts +11 -0
  618. package/dist/scope/kywi-form.d.ts.map +1 -1
  619. package/dist/scope/kywi-form.js +11 -1
  620. package/dist/scope/kywi-form.js.map +1 -1
  621. package/dist/scope/kywi-wizard-form.d.ts.map +1 -1
  622. package/dist/scope/kywi-wizard-form.js +76 -2
  623. package/dist/scope/kywi-wizard-form.js.map +1 -1
  624. package/dist/scope/sticky-offset.d.ts +34 -13
  625. package/dist/scope/sticky-offset.d.ts.map +1 -1
  626. package/dist/scope/sticky-offset.js +236 -43
  627. package/dist/scope/sticky-offset.js.map +1 -1
  628. package/dist/site/styles.css +61 -15
  629. package/dist/versioning/scheduler.d.ts +28 -0
  630. package/dist/versioning/scheduler.d.ts.map +1 -1
  631. package/dist/versioning/scheduler.js +50 -3
  632. package/dist/versioning/scheduler.js.map +1 -1
  633. package/package.json +12 -2
@@ -1,25 +1,30 @@
1
- import { eq, and, inArray, notInArray, sql } from 'drizzle-orm';
2
- import { kywiComponents, kywiComponentInstances } from '../schema/components.js';
3
- import { kywiContent } from '../schema/base.js';
1
+ import { eq, and, or, isNull, inArray, notInArray, sql } from 'drizzle-orm';
2
+ import { kywiComponents, kywiComponentInstances, BLUEPRINT_CONTENT_TYPE } from '../schema/components.js';
3
+ import { kywiContent, kywiSectionTemplates } from '../schema/base.js';
4
4
  import { validateLayoutDocument } from '../layout/types.js';
5
5
  import { newlyIntroducedAdminOnlyTypes } from '../layout/module-permissions.js';
6
6
  import { getComponentById } from './component-queries.js';
7
7
  import { hasMinRole } from '../auth/roles.js';
8
8
  import { collectComponentRefs, diffComponentRefs, componentDetachSource, detachComponentFromLayout, } from '../layout/component-refs.js';
9
9
  /**
10
- * The instance index for linked components (kywi-cms#147).
10
+ * The instance index for linked components (kywi-cms#147, #156).
11
11
  *
12
12
  * `kywi_component_instances` is a derived cache of the `componentId` links that
13
13
  * live inside layout JSONB. It exists so the library's usage counts, the save
14
14
  * fork's blast-radius wording, and the delete gate are single indexed reads
15
15
  * instead of a parse of every layout in the site.
16
16
  *
17
+ * A layout document lives in one of two HOLDERS — a page (`kywi_content.layout`)
18
+ * or a blueprint (`kywi_section_templates.definition`) — and since #156 both are
19
+ * indexed. See {@link ComponentInstanceHolder}.
20
+ *
17
21
  * Two rules keep it honest:
18
- * - it is written in the SAME transaction as the layout it describes
19
- * (`setContentLayout`), so a saved layout and its index rows commit together;
20
- * - nothing that REWRITES a page trusts it. `detachComponentEverywhere`
21
- * re-scans layouts, so even a drifted index can never leave a page holding a
22
- * link to a deleted component.
22
+ * - it is written in the SAME transaction as the document it describes
23
+ * (`setContentLayout` for a page, `setSectionTemplateDefinition` for a
24
+ * blueprint), so a saved layout and its index rows commit together;
25
+ * - nothing that REWRITES a document trusts it. `detachComponentEverywhere`
26
+ * re-scans layouts, so even a drifted index can never leave a page or a
27
+ * blueprint holding a link to a deleted component.
23
28
  */
24
29
  /**
25
30
  * Run `fn` inside a DB transaction when the client supports one, otherwise run
@@ -78,7 +83,36 @@ export async function buildAddedComponentLookup(db, incoming, stored, siteId) {
78
83
  return (componentId) => byId.get(componentId) ?? null;
79
84
  }
80
85
  /**
81
- * Bring the index rows for one content document in line with its new layout.
86
+ * The `WHERE` that isolates one holder's rows.
87
+ *
88
+ * Both holder columns are nullable, so a predicate on the wrong one would match
89
+ * nothing (or, worse, every row of the other kind if the id happened to
90
+ * collide). This is the single place that mapping is made.
91
+ */
92
+ function holderScope(holder) {
93
+ return holder.kind === 'content'
94
+ ? eq(kywiComponentInstances.contentId, holder.contentId)
95
+ : eq(kywiComponentInstances.blueprintId, holder.blueprintId);
96
+ }
97
+ /** The holder columns of a row, in insertable form. */
98
+ function holderColumns(holder) {
99
+ return holder.kind === 'content'
100
+ ? {
101
+ holderKind: 'content',
102
+ contentId: holder.contentId,
103
+ blueprintId: null,
104
+ contentType: holder.contentType,
105
+ }
106
+ : {
107
+ holderKind: 'blueprint',
108
+ contentId: null,
109
+ blueprintId: holder.blueprintId,
110
+ contentType: BLUEPRINT_CONTENT_TYPE,
111
+ };
112
+ }
113
+ /**
114
+ * Bring the index rows for ONE HOLDER — a page or a blueprint — in line with
115
+ * its new layout document.
82
116
  *
83
117
  * Only the difference is written: moving a linked node around a page is not a
84
118
  * change of placement, so a save that reshuffles a layout writes nothing here.
@@ -89,20 +123,21 @@ export async function buildAddedComponentLookup(db, incoming, stored, siteId) {
89
123
  */
90
124
  export async function syncComponentInstances(db, params) {
91
125
  const { added, removed } = diffComponentRefs(params.before, params.after);
126
+ const scope = holderScope(params.holder);
92
127
  for (const ref of removed) {
93
128
  await db
94
129
  .delete(kywiComponentInstances)
95
- .where(and(eq(kywiComponentInstances.contentId, params.contentId), eq(kywiComponentInstances.componentId, ref.componentId), eq(kywiComponentInstances.nodeId, ref.nodeId)));
130
+ .where(and(scope, eq(kywiComponentInstances.componentId, ref.componentId), eq(kywiComponentInstances.nodeId, ref.nodeId)));
96
131
  }
97
132
  const insertable = await filterToExistingComponents(db, params.siteId, added);
98
133
  if (insertable.length > 0) {
134
+ const holder = holderColumns(params.holder);
99
135
  await db
100
136
  .insert(kywiComponentInstances)
101
137
  .values(insertable.map(ref => ({
102
138
  componentId: ref.componentId,
103
139
  siteId: params.siteId,
104
- contentId: params.contentId,
105
- contentType: params.contentType,
140
+ ...holder,
106
141
  nodeId: ref.nodeId,
107
142
  })))
108
143
  .onConflictDoNothing();
@@ -122,34 +157,64 @@ async function filterToExistingComponents(db, siteId, refs) {
122
157
  const known = new Set(rows.map(row => row.id));
123
158
  return candidates.filter(ref => known.has(ref.componentId));
124
159
  }
160
+ const EMPTY_USAGE = {
161
+ instances: 0,
162
+ pages: 0,
163
+ items: [],
164
+ trashedInstances: 0,
165
+ trashedPages: 0,
166
+ blueprints: 0,
167
+ blueprintInstances: 0,
168
+ blueprintItems: [],
169
+ };
125
170
  /**
126
- * Where a component is placed, with the page titles the confirm dialogs name.
127
- * One indexed read plus a join — the shape both the admin library and the save
128
- * fork consume.
171
+ * Where a component is placed, with the page titles and blueprint names the
172
+ * confirm dialogs name. One indexed read plus two joins — the shape both the
173
+ * admin library and the save fork consume.
129
174
  *
130
- * Trashed documents are partitioned out of the headline numbers rather than
131
- * dropped: see {@link ComponentUsage.trashedInstances}.
175
+ * Trashed pages and blueprints are each partitioned out of the headline numbers
176
+ * rather than dropped: see {@link ComponentUsage.trashedInstances} and
177
+ * {@link ComponentUsage.blueprints}.
132
178
  */
133
179
  export async function getComponentUsage(db, componentId, siteId) {
134
- if (!isIndexableComponentId(componentId)) {
135
- return { instances: 0, pages: 0, items: [], trashedInstances: 0, trashedPages: 0 };
136
- }
180
+ if (!isIndexableComponentId(componentId))
181
+ return { ...EMPTY_USAGE };
137
182
  const rows = await db
138
183
  .select({
139
184
  contentId: kywiComponentInstances.contentId,
185
+ blueprintId: kywiComponentInstances.blueprintId,
140
186
  contentType: kywiComponentInstances.contentType,
141
187
  nodeId: kywiComponentInstances.nodeId,
142
188
  title: kywiContent.title,
143
189
  deletedAt: kywiContent.deletedAt,
190
+ blueprintName: kywiSectionTemplates.name,
144
191
  })
145
192
  .from(kywiComponentInstances)
146
193
  .leftJoin(kywiContent, eq(kywiContent.id, kywiComponentInstances.contentId))
194
+ .leftJoin(kywiSectionTemplates, eq(kywiSectionTemplates.id, kywiComponentInstances.blueprintId))
147
195
  .where(and(eq(kywiComponentInstances.componentId, componentId), eq(kywiComponentInstances.siteId, siteId)));
148
196
  const byContent = new Map();
149
197
  const trashedByContent = new Set();
198
+ const byBlueprint = new Map();
150
199
  let instances = 0;
151
200
  let trashedInstances = 0;
201
+ let blueprintInstances = 0;
152
202
  for (const row of rows) {
203
+ // A blueprint row (kywi-cms#156): counted, but never as a page. The CHECK on
204
+ // the table guarantees exactly one holder column is set, so this partition
205
+ // is total — a row is a page's or a blueprint's, never neither.
206
+ if (row.blueprintId) {
207
+ blueprintInstances++;
208
+ if (!byBlueprint.has(row.blueprintId)) {
209
+ byBlueprint.set(row.blueprintId, {
210
+ blueprintId: row.blueprintId,
211
+ name: row.blueprintName ?? null,
212
+ });
213
+ }
214
+ continue;
215
+ }
216
+ if (!row.contentId)
217
+ continue;
153
218
  if (row.deletedAt) {
154
219
  trashedInstances++;
155
220
  trashedByContent.add(row.contentId);
@@ -169,30 +234,39 @@ export async function getComponentUsage(db, componentId, siteId) {
169
234
  });
170
235
  }
171
236
  const items = [...byContent.values()];
237
+ const blueprintItems = [...byBlueprint.values()];
172
238
  return {
173
239
  instances,
174
240
  pages: items.length,
175
241
  items,
176
242
  trashedInstances,
177
243
  trashedPages: trashedByContent.size,
244
+ blueprints: blueprintItems.length,
245
+ blueprintInstances,
246
+ blueprintItems,
178
247
  };
179
248
  }
180
249
  /**
181
250
  * Per-component placement counts for a whole site — one grouped read, so the
182
251
  * library list doesn't fan out into a usage query per row.
183
252
  *
184
- * The live/trashed split matches {@link getComponentUsage} exactly, so the
185
- * number in the library list is the same number the component's own usage
253
+ * The live/trashed/blueprint split matches {@link getComponentUsage} exactly, so
254
+ * the number in the library list is the same number the component's own usage
186
255
  * dialog shows.
187
256
  */
188
257
  export async function listComponentUsageCounts(db, siteId) {
189
- const live = sql `${kywiContent.deletedAt} is null`;
258
+ // A page row that is live. The `content_id is not null` half is what keeps a
259
+ // blueprint row out of the page counts: its `deleted_at` is NULL too (there is
260
+ // no joined content row at all), so `deleted_at is null` alone would count it
261
+ // as a live page — the exact mistake the partition exists to avoid.
262
+ const livePage = sql `${kywiComponentInstances.contentId} is not null and ${kywiContent.deletedAt} is null`;
190
263
  const rows = await db
191
264
  .select({
192
265
  componentId: kywiComponentInstances.componentId,
193
- instances: sql `count(*) filter (where ${live})::int`,
194
- pages: sql `count(distinct ${kywiComponentInstances.contentId}) filter (where ${live})::int`,
266
+ instances: sql `count(*) filter (where ${livePage})::int`,
267
+ pages: sql `count(distinct ${kywiComponentInstances.contentId}) filter (where ${livePage})::int`,
195
268
  trashedInstances: sql `count(*) filter (where ${kywiContent.deletedAt} is not null)::int`,
269
+ blueprints: sql `count(distinct ${kywiComponentInstances.blueprintId})::int`,
196
270
  })
197
271
  .from(kywiComponentInstances)
198
272
  .leftJoin(kywiContent, eq(kywiContent.id, kywiComponentInstances.contentId))
@@ -203,6 +277,7 @@ export async function listComponentUsageCounts(db, siteId) {
203
277
  instances: Number(row.instances),
204
278
  pages: Number(row.pages),
205
279
  trashedInstances: Number(row.trashedInstances ?? 0),
280
+ blueprints: Number(row.blueprints ?? 0),
206
281
  }));
207
282
  }
208
283
  /**
@@ -243,51 +318,52 @@ export async function listComponentUsageCounts(db, siteId) {
243
318
  * overwritten (it waits, then the detach sees its result).
244
319
  */
245
320
  export async function detachComponentEverywhere(db, component, options) {
246
- if (!isIndexableComponentId(component.id))
247
- return { pages: 0, instances: 0, skipped: [] };
321
+ if (!isIndexableComponentId(component.id)) {
322
+ return { pages: 0, blueprints: 0, instances: 0, skipped: [] };
323
+ }
248
324
  const source = componentDetachSource(component);
249
325
  // siteAdmin and above may introduce admin-only modules anyway, so the
250
326
  // differential check is only meaningful (and only paid for) below that.
251
327
  const checkAdminOnly = !hasMinRole(options.actorRole, 'siteAdmin');
252
328
  return runInTransaction(db, async (tx) => {
253
- const candidates = await tx
254
- .select({
255
- id: kywiContent.id,
256
- siteId: kywiContent.siteId,
257
- contentTypeName: kywiContent.contentTypeName,
258
- layout: kywiContent.layout,
259
- })
260
- .from(kywiContent)
261
- .where(and(eq(kywiContent.siteId, component.siteId), sql `${kywiContent.layout}::text like ${`%${component.id}%`}`))
262
- .for('update');
263
329
  let pages = 0;
330
+ let blueprints = 0;
264
331
  let instances = 0;
265
332
  const skipped = [];
266
- for (const row of candidates) {
267
- const before = (row.layout ?? null);
268
- if (!before)
269
- continue;
333
+ /**
334
+ * Detach one holder's document and write it back, applying both per-holder
335
+ * guards. Returns how many placements were materialised — 0 when the
336
+ * document did not actually hold the link (a `LIKE` false positive), or when
337
+ * a guard skipped it.
338
+ *
339
+ * One implementation for pages and blueprints (kywi-cms#156). The guards are
340
+ * the reason: "the rewritten document must validate" and "the rewrite must
341
+ * not introduce a module this caller could not place by hand" are properties
342
+ * of the DOCUMENT, not of the table it lives in, and a second copy of them
343
+ * would be a second thing to keep in step.
344
+ */
345
+ const detachHolder = async (before, holderSiteId, holder, write) => {
270
346
  const { layout: after, detached } = detachComponentFromLayout(before, component.id, source);
271
347
  if (detached === 0)
272
- continue;
348
+ return 0;
273
349
  const skip = async (reason, detail) => {
274
- skipped.push({ contentId: row.id, contentType: row.contentTypeName, reason, detail });
350
+ skipped.push({
351
+ contentId: holder.kind === 'content' ? holder.contentId : holder.blueprintId,
352
+ contentType: holder.kind === 'content' ? holder.contentType : BLUEPRINT_CONTENT_TYPE,
353
+ holderKind: holder.kind,
354
+ reason,
355
+ detail,
356
+ });
275
357
  // This document keeps its link, so make sure the index says so: the
276
358
  // sweep below spares it, but only rows that already exist. Re-deriving
277
359
  // from the untouched layout is idempotent and guarantees the count the
278
- // delete gate reads includes this page.
279
- await syncComponentInstances(tx, {
280
- siteId: row.siteId,
281
- contentId: row.id,
282
- contentType: row.contentTypeName,
283
- before: null,
284
- after: before,
285
- });
360
+ // delete gate reads includes this holder.
361
+ await syncComponentInstances(tx, { siteId: holderSiteId, holder, before: null, after: before });
286
362
  };
287
363
  const validation = validateLayoutDocument(after);
288
364
  if (!validation.success) {
289
365
  await skip('invalidLayout', validation.error);
290
- continue;
366
+ return 0;
291
367
  }
292
368
  if (checkAdminOnly) {
293
369
  // Resolve through any link the rewrite ADDS, exactly as the layout PUT
@@ -302,35 +378,93 @@ export async function detachComponentEverywhere(db, component, options) {
302
378
  const offending = newlyIntroducedAdminOnlyTypes(after, before, lookup);
303
379
  if (offending.length > 0) {
304
380
  await skip('adminOnlyModule', `Your role may not add these module types: ${offending.join(', ')}`);
305
- continue;
381
+ return 0;
306
382
  }
307
383
  }
308
- await tx
309
- .update(kywiContent)
310
- .set({ layout: after, updatedAt: new Date() })
311
- .where(eq(kywiContent.id, row.id));
312
- await syncComponentInstances(tx, {
313
- siteId: row.siteId,
314
- contentId: row.id,
315
- contentType: row.contentTypeName,
316
- before,
317
- after,
384
+ await write(after);
385
+ await syncComponentInstances(tx, { siteId: holderSiteId, holder, before, after });
386
+ return detached;
387
+ };
388
+ // ── Pages ────────────────────────────────────────────────────────────────
389
+ const candidates = await tx
390
+ .select({
391
+ id: kywiContent.id,
392
+ siteId: kywiContent.siteId,
393
+ contentTypeName: kywiContent.contentTypeName,
394
+ layout: kywiContent.layout,
395
+ })
396
+ .from(kywiContent)
397
+ .where(and(eq(kywiContent.siteId, component.siteId), sql `${kywiContent.layout}::text like ${`%${component.id}%`}`))
398
+ .for('update');
399
+ for (const row of candidates) {
400
+ const before = (row.layout ?? null);
401
+ if (!before)
402
+ continue;
403
+ const detached = await detachHolder(before, row.siteId, { kind: 'content', contentId: row.id, contentType: row.contentTypeName }, async (after) => {
404
+ await tx
405
+ .update(kywiContent)
406
+ .set({ layout: after, updatedAt: new Date() })
407
+ .where(eq(kywiContent.id, row.id));
318
408
  });
409
+ if (detached === 0)
410
+ continue;
319
411
  pages++;
320
412
  instances += detached;
321
413
  }
322
- // Anything the scan didn't cover (a row for content whose layout no longer
323
- // holds the link at all) would keep inflating this component's count and
324
- // block its delete. The link is gone from every document we rewrote, so
325
- // sweep the rest except the documents we skipped, which really do still
326
- // hold it and whose rows are what keeps the delete gate honest.
327
- const skippedIds = skipped.map(s => s.contentId);
414
+ // ── Blueprints (kywi-cms#156) ────────────────────────────────────────────
415
+ //
416
+ // A saved layout holding the link is exactly as much of a problem as a page
417
+ // holding it: leave it and the blueprint renders the node's fallback copy
418
+ // forever, and every page stamped out of it afterwards carries a link to a
419
+ // component that no longer exists. Same scan, same guards, same reporting.
420
+ const blueprintCandidates = await tx
421
+ .select({
422
+ id: kywiSectionTemplates.id,
423
+ siteId: kywiSectionTemplates.siteId,
424
+ definition: kywiSectionTemplates.definition,
425
+ })
426
+ .from(kywiSectionTemplates)
427
+ .where(and(eq(kywiSectionTemplates.siteId, component.siteId), sql `${kywiSectionTemplates.definition}::text like ${`%${component.id}%`}`))
428
+ .for('update');
429
+ for (const row of blueprintCandidates) {
430
+ const before = (row.definition ?? null);
431
+ if (!before)
432
+ continue;
433
+ const detached = await detachHolder(before, row.siteId, { kind: 'blueprint', blueprintId: row.id }, async (after) => {
434
+ await tx
435
+ .update(kywiSectionTemplates)
436
+ .set({ definition: after, updatedAt: new Date() })
437
+ .where(eq(kywiSectionTemplates.id, row.id));
438
+ });
439
+ if (detached === 0)
440
+ continue;
441
+ blueprints++;
442
+ instances += detached;
443
+ }
444
+ // Anything the scans didn't cover (a row for a holder whose document no
445
+ // longer holds the link at all) would keep inflating this component's count
446
+ // and block its delete. The link is gone from every document we rewrote, so
447
+ // sweep the rest — except the holders we skipped, which really do still hold
448
+ // it and whose rows are what keeps the delete gate honest.
449
+ //
450
+ // Each guard is written `is null OR not in (…)` rather than a bare
451
+ // `notInArray`: a blueprint row's `content_id` is NULL, and `NULL NOT IN
452
+ // (…)` is NULL, not true — so a bare predicate would silently spare every
453
+ // row of the other holder kind from the sweep.
454
+ const skippedContentIds = skipped.filter(s => s.holderKind === 'content').map(s => s.contentId);
455
+ const skippedBlueprintIds = skipped.filter(s => s.holderKind === 'blueprint').map(s => s.contentId);
456
+ const spare = [
457
+ ...(skippedContentIds.length > 0
458
+ ? [or(isNull(kywiComponentInstances.contentId), notInArray(kywiComponentInstances.contentId, skippedContentIds))]
459
+ : []),
460
+ ...(skippedBlueprintIds.length > 0
461
+ ? [or(isNull(kywiComponentInstances.blueprintId), notInArray(kywiComponentInstances.blueprintId, skippedBlueprintIds))]
462
+ : []),
463
+ ];
328
464
  await tx
329
465
  .delete(kywiComponentInstances)
330
- .where(skippedIds.length === 0
331
- ? eq(kywiComponentInstances.componentId, component.id)
332
- : and(eq(kywiComponentInstances.componentId, component.id), notInArray(kywiComponentInstances.contentId, skippedIds)));
333
- return { pages, instances, skipped };
466
+ .where(and(eq(kywiComponentInstances.componentId, component.id), ...spare));
467
+ return { pages, blueprints, instances, skipped };
334
468
  });
335
469
  }
336
470
  /**
@@ -342,9 +476,12 @@ export async function detachComponentEverywhere(db, component, options) {
342
476
  * It is idempotent (it clears the scope it is about to rebuild) and doubles as
343
477
  * the repair path if the index is ever suspected of drift.
344
478
  *
479
+ * Both holders are rebuilt: pages (`kywi_content.layout`) and blueprints
480
+ * (`kywi_section_templates.definition`, kywi-cms#156).
481
+ *
345
482
  * Only documents whose layout mentions a known component id are parsed, so the
346
- * cost is one indexed-free scan plus a parse of the pages that actually use
347
- * components — not a parse of every layout in the database.
483
+ * cost is one index-free scan per holder table plus a parse of the documents
484
+ * that actually use components — not a parse of every layout in the database.
348
485
  */
349
486
  export async function reindexComponentInstances(db, siteId) {
350
487
  const componentRows = await db
@@ -355,8 +492,9 @@ export async function reindexComponentInstances(db, siteId) {
355
492
  await tx
356
493
  .delete(kywiComponentInstances)
357
494
  .where(siteId === undefined ? undefined : eq(kywiComponentInstances.siteId, siteId));
358
- if (componentRows.length === 0)
359
- return { documentsScanned: 0, instances: 0 };
495
+ if (componentRows.length === 0) {
496
+ return { documentsScanned: 0, blueprintsScanned: 0, instances: 0 };
497
+ }
360
498
  // Which component ids are legitimate for a given site (per-site components).
361
499
  const siteComponents = new Map();
362
500
  for (const row of componentRows) {
@@ -364,7 +502,11 @@ export async function reindexComponentInstances(db, siteId) {
364
502
  set.add(row.id);
365
503
  siteComponents.set(row.siteId, set);
366
504
  }
367
- const mentionsAnyComponent = sql.join(componentRows.map(row => sql `${kywiContent.layout}::text like ${`%${row.id}%`}`), sql ` or `);
505
+ /** The `::text LIKE` candidate filter, over whichever jsonb column holds a layout. */
506
+ const mentionsAnyComponent = (column) => sql.join(componentRows.map(row => sql `${column}::text like ${`%${row.id}%`}`), sql ` or `);
507
+ const values = [];
508
+ // ── Pages ────────────────────────────────────────────────────────────────
509
+ const pageMentions = mentionsAnyComponent(kywiContent.layout);
368
510
  const documents = await tx
369
511
  .select({
370
512
  id: kywiContent.id,
@@ -374,9 +516,8 @@ export async function reindexComponentInstances(db, siteId) {
374
516
  })
375
517
  .from(kywiContent)
376
518
  .where(siteId === undefined
377
- ? sql `(${mentionsAnyComponent})`
378
- : and(eq(kywiContent.siteId, siteId), sql `(${mentionsAnyComponent})`));
379
- const values = [];
519
+ ? sql `(${pageMentions})`
520
+ : and(eq(kywiContent.siteId, siteId), sql `(${pageMentions})`));
380
521
  for (const doc of documents) {
381
522
  const known = siteComponents.get(doc.siteId);
382
523
  if (!known)
@@ -387,19 +528,61 @@ export async function reindexComponentInstances(db, siteId) {
387
528
  values.push({
388
529
  componentId: ref.componentId,
389
530
  siteId: doc.siteId,
531
+ holderKind: 'content',
390
532
  contentId: doc.id,
533
+ blueprintId: null,
391
534
  contentType: doc.contentTypeName,
392
535
  nodeId: ref.nodeId,
393
536
  });
394
537
  }
395
538
  }
539
+ // ── Blueprints (kywi-cms#156) ────────────────────────────────────────────
540
+ //
541
+ // The same scan over `kywi_section_templates.definition`. This is what makes
542
+ // #156 self-completing on an upgrade: `holder_kind`/`blueprint_id` ship with
543
+ // no blueprint rows at all, while existing installs already have saved
544
+ // layouts full of links, so without this every blueprint count would read
545
+ // zero until each blueprint happened to be re-saved.
546
+ const blueprintMentions = mentionsAnyComponent(kywiSectionTemplates.definition);
547
+ const blueprints = await tx
548
+ .select({
549
+ id: kywiSectionTemplates.id,
550
+ siteId: kywiSectionTemplates.siteId,
551
+ definition: kywiSectionTemplates.definition,
552
+ })
553
+ .from(kywiSectionTemplates)
554
+ .where(siteId === undefined
555
+ ? sql `(${blueprintMentions})`
556
+ : and(eq(kywiSectionTemplates.siteId, siteId), sql `(${blueprintMentions})`));
557
+ for (const blueprint of blueprints) {
558
+ const known = siteComponents.get(blueprint.siteId);
559
+ if (!known)
560
+ continue;
561
+ for (const ref of collectComponentRefs((blueprint.definition ?? null))) {
562
+ if (!known.has(ref.componentId))
563
+ continue;
564
+ values.push({
565
+ componentId: ref.componentId,
566
+ siteId: blueprint.siteId,
567
+ holderKind: 'blueprint',
568
+ contentId: null,
569
+ blueprintId: blueprint.id,
570
+ contentType: BLUEPRINT_CONTENT_TYPE,
571
+ nodeId: ref.nodeId,
572
+ });
573
+ }
574
+ }
396
575
  // Chunked so a site with thousands of placements doesn't build one
397
576
  // multi-megabyte INSERT (and blow past the driver's parameter limit).
398
577
  const CHUNK = 500;
399
578
  for (let i = 0; i < values.length; i += CHUNK) {
400
579
  await tx.insert(kywiComponentInstances).values(values.slice(i, i + CHUNK)).onConflictDoNothing();
401
580
  }
402
- return { documentsScanned: documents.length, instances: values.length };
581
+ return {
582
+ documentsScanned: documents.length,
583
+ blueprintsScanned: blueprints.length,
584
+ instances: values.length,
585
+ };
403
586
  });
404
587
  }
405
588
  //# sourceMappingURL=component-instance-queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-instance-queries.js","sourceRoot":"","sources":["../../src/db/component-instance-queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-instance-queries.js","sourceRoot":"","sources":["../../src/db/component-instance-queries.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import type { KywiComponentRow } from '../schema/components.js';
2
- import type { KywiSectionTemplateRow } from '../schema/base.js';
3
2
  import type { KywiDb, PartialUndefined } from './client.js';
4
3
  import type { ModuleNode } from '../layout/types.js';
5
4
  export declare function createComponent(db: KywiDb, data: {
@@ -31,19 +30,5 @@ export declare function resolveModuleProps(node: ModuleNode, component: KywiComp
31
30
  * into the node and removing the componentId link.
32
31
  */
33
32
  export declare function disconnectFromComponent(node: ModuleNode, component: KywiComponentRow): ModuleNode;
34
- export declare function createSectionTemplate(db: KywiDb, data: {
35
- siteId: string;
36
- name: string;
37
- category?: string;
38
- definition: Record<string, unknown>;
39
- createdBy?: string;
40
- }): Promise<KywiSectionTemplateRow>;
41
- export declare function getSectionTemplateById(db: KywiDb, id: string, siteId?: string): Promise<KywiSectionTemplateRow | null>;
42
- export declare function listSectionTemplates(db: KywiDb, siteId: string, category?: string): Promise<KywiSectionTemplateRow[]>;
43
- export declare function updateSectionTemplate(db: KywiDb, id: string, data: PartialUndefined<{
44
- name: string;
45
- category: string;
46
- definition: Record<string, unknown>;
47
- }>, siteId?: string): Promise<KywiSectionTemplateRow | null>;
48
- export declare function deleteSectionTemplate(db: KywiDb, id: string, siteId?: string): Promise<boolean>;
33
+ export { createSectionTemplate, setSectionTemplateDefinition, updateSectionTemplate, deleteSectionTemplate, getSectionTemplateById, listSectionTemplates, } from './section-template-queries.js';
49
34
  //# sourceMappingURL=component-queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-queries.d.ts","sourceRoot":"","sources":["../../src/db/component-queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-queries.d.ts","sourceRoot":"","sources":["../../src/db/component-queries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAIpD,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B,GACA,OAAO,CAAC,gBAAgB,CAAC,CAc3B;AAMD,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,gBAAgB,CAAC;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAC,EACF,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CASlC;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ/F;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CASlC;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAW7B;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,gBAAgB,GAAG,IAAI,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIzB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,gBAAgB,GAC1B,UAAU,CASZ;AAQD,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,+BAA+B,CAAA"}