@aglyn/aglyn 1.0.0-beta.143

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 (963) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +11 -0
  3. package/package.json +66 -0
  4. package/src/index.d.ts +25 -0
  5. package/src/index.js +26 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/aglyn.d.ts +31 -0
  8. package/src/lib/aglyn.js +114 -0
  9. package/src/lib/aglyn.js.map +1 -0
  10. package/src/lib/app-utils/abuse-report.d.ts +193 -0
  11. package/src/lib/app-utils/abuse-report.js +321 -0
  12. package/src/lib/app-utils/abuse-report.js.map +1 -0
  13. package/src/lib/app-utils/accept-negotiation.d.ts +129 -0
  14. package/src/lib/app-utils/accept-negotiation.js +266 -0
  15. package/src/lib/app-utils/accept-negotiation.js.map +1 -0
  16. package/src/lib/app-utils/account-emails.d.ts +263 -0
  17. package/src/lib/app-utils/account-emails.js +264 -0
  18. package/src/lib/app-utils/account-emails.js.map +1 -0
  19. package/src/lib/app-utils/actions.d.ts +717 -0
  20. package/src/lib/app-utils/actions.js +1031 -0
  21. package/src/lib/app-utils/actions.js.map +1 -0
  22. package/src/lib/app-utils/activity-presenter.d.ts +152 -0
  23. package/src/lib/app-utils/activity-presenter.js +326 -0
  24. package/src/lib/app-utils/activity-presenter.js.map +1 -0
  25. package/src/lib/app-utils/advertising-tag-mounts.d.ts +133 -0
  26. package/src/lib/app-utils/advertising-tag-mounts.js +118 -0
  27. package/src/lib/app-utils/advertising-tag-mounts.js.map +1 -0
  28. package/src/lib/app-utils/advertising-tags.d.ts +307 -0
  29. package/src/lib/app-utils/advertising-tags.js +525 -0
  30. package/src/lib/app-utils/advertising-tags.js.map +1 -0
  31. package/src/lib/app-utils/agent-api-catalog.d.ts +94 -0
  32. package/src/lib/app-utils/agent-api-catalog.js +106 -0
  33. package/src/lib/app-utils/agent-api-catalog.js.map +1 -0
  34. package/src/lib/app-utils/agent-openapi.d.ts +103 -0
  35. package/src/lib/app-utils/agent-openapi.js +1128 -0
  36. package/src/lib/app-utils/agent-openapi.js.map +1 -0
  37. package/src/lib/app-utils/analytics-beacon.d.ts +154 -0
  38. package/src/lib/app-utils/analytics-beacon.js +152 -0
  39. package/src/lib/app-utils/analytics-beacon.js.map +1 -0
  40. package/src/lib/app-utils/analytics-environment.d.ts +133 -0
  41. package/src/lib/app-utils/analytics-environment.js +152 -0
  42. package/src/lib/app-utils/analytics-environment.js.map +1 -0
  43. package/src/lib/app-utils/analytics-events.d.ts +744 -0
  44. package/src/lib/app-utils/analytics-events.js +650 -0
  45. package/src/lib/app-utils/analytics-events.js.map +1 -0
  46. package/src/lib/app-utils/analytics-link-clicks.d.ts +102 -0
  47. package/src/lib/app-utils/analytics-link-clicks.js +267 -0
  48. package/src/lib/app-utils/analytics-link-clicks.js.map +1 -0
  49. package/src/lib/app-utils/analytics-path-key.d.ts +46 -0
  50. package/src/lib/app-utils/analytics-path-key.js +46 -0
  51. package/src/lib/app-utils/analytics-path-key.js.map +1 -0
  52. package/src/lib/app-utils/api-adapter.d.ts +47 -0
  53. package/src/lib/app-utils/api-adapter.js +367 -0
  54. package/src/lib/app-utils/api-adapter.js.map +1 -0
  55. package/src/lib/app-utils/api-idempotency.d.ts +169 -0
  56. package/src/lib/app-utils/api-idempotency.js +213 -0
  57. package/src/lib/app-utils/api-idempotency.js.map +1 -0
  58. package/src/lib/app-utils/api-plugins.d.ts +210 -0
  59. package/src/lib/app-utils/api-plugins.js +221 -0
  60. package/src/lib/app-utils/api-plugins.js.map +1 -0
  61. package/src/lib/app-utils/assist-credits.d.ts +482 -0
  62. package/src/lib/app-utils/assist-credits.js +509 -0
  63. package/src/lib/app-utils/assist-credits.js.map +1 -0
  64. package/src/lib/app-utils/attribution-attribute.d.ts +34 -0
  65. package/src/lib/app-utils/attribution-attribute.js +34 -0
  66. package/src/lib/app-utils/attribution-attribute.js.map +1 -0
  67. package/src/lib/app-utils/attribution-guard.d.ts +130 -0
  68. package/src/lib/app-utils/attribution-guard.js +410 -0
  69. package/src/lib/app-utils/attribution-guard.js.map +1 -0
  70. package/src/lib/app-utils/author-css.d.ts +123 -0
  71. package/src/lib/app-utils/author-css.js +275 -0
  72. package/src/lib/app-utils/author-css.js.map +1 -0
  73. package/src/lib/app-utils/author-html-markdown.d.ts +31 -0
  74. package/src/lib/app-utils/author-html-markdown.js +497 -0
  75. package/src/lib/app-utils/author-html-markdown.js.map +1 -0
  76. package/src/lib/app-utils/author-html.d.ts +135 -0
  77. package/src/lib/app-utils/author-html.js +1037 -0
  78. package/src/lib/app-utils/author-html.js.map +1 -0
  79. package/src/lib/app-utils/automation-placeholders.d.ts +72 -0
  80. package/src/lib/app-utils/automation-placeholders.js +207 -0
  81. package/src/lib/app-utils/automation-placeholders.js.map +1 -0
  82. package/src/lib/app-utils/bandwidth-cap.d.ts +183 -0
  83. package/src/lib/app-utils/bandwidth-cap.js +193 -0
  84. package/src/lib/app-utils/bandwidth-cap.js.map +1 -0
  85. package/src/lib/app-utils/binding-token-catalog.d.ts +82 -0
  86. package/src/lib/app-utils/binding-token-catalog.js +293 -0
  87. package/src/lib/app-utils/binding-token-catalog.js.map +1 -0
  88. package/src/lib/app-utils/binding-tokens.d.ts +157 -0
  89. package/src/lib/app-utils/binding-tokens.js +251 -0
  90. package/src/lib/app-utils/binding-tokens.js.map +1 -0
  91. package/src/lib/app-utils/breadcrumb-json-ld.d.ts +57 -0
  92. package/src/lib/app-utils/breadcrumb-json-ld.js +67 -0
  93. package/src/lib/app-utils/breadcrumb-json-ld.js.map +1 -0
  94. package/src/lib/app-utils/campaign-attribution.d.ts +117 -0
  95. package/src/lib/app-utils/campaign-attribution.js +162 -0
  96. package/src/lib/app-utils/campaign-attribution.js.map +1 -0
  97. package/src/lib/app-utils/campaign-forwarding.d.ts +220 -0
  98. package/src/lib/app-utils/campaign-forwarding.js +332 -0
  99. package/src/lib/app-utils/campaign-forwarding.js.map +1 -0
  100. package/src/lib/app-utils/campaign-membership.d.ts +109 -0
  101. package/src/lib/app-utils/campaign-membership.js +176 -0
  102. package/src/lib/app-utils/campaign-membership.js.map +1 -0
  103. package/src/lib/app-utils/campaign-touch.d.ts +206 -0
  104. package/src/lib/app-utils/campaign-touch.js +326 -0
  105. package/src/lib/app-utils/campaign-touch.js.map +1 -0
  106. package/src/lib/app-utils/child-contract-compose.d.ts +28 -0
  107. package/src/lib/app-utils/child-contract-compose.js +140 -0
  108. package/src/lib/app-utils/child-contract-compose.js.map +1 -0
  109. package/src/lib/app-utils/child-contract.d.ts +129 -0
  110. package/src/lib/app-utils/child-contract.js +153 -0
  111. package/src/lib/app-utils/child-contract.js.map +1 -0
  112. package/src/lib/app-utils/collection-delete.d.ts +113 -0
  113. package/src/lib/app-utils/collection-delete.js +120 -0
  114. package/src/lib/app-utils/collection-delete.js.map +1 -0
  115. package/src/lib/app-utils/collection-entries.d.ts +833 -0
  116. package/src/lib/app-utils/collection-entries.js +1285 -0
  117. package/src/lib/app-utils/collection-entries.js.map +1 -0
  118. package/src/lib/app-utils/collection-entry-date.d.ts +129 -0
  119. package/src/lib/app-utils/collection-entry-date.js +183 -0
  120. package/src/lib/app-utils/collection-entry-date.js.map +1 -0
  121. package/src/lib/app-utils/collection-kind.d.ts +55 -0
  122. package/src/lib/app-utils/collection-kind.js +69 -0
  123. package/src/lib/app-utils/collection-kind.js.map +1 -0
  124. package/src/lib/app-utils/collection-slug.d.ts +79 -0
  125. package/src/lib/app-utils/collection-slug.js +70 -0
  126. package/src/lib/app-utils/collection-slug.js.map +1 -0
  127. package/src/lib/app-utils/compose-layout-nodes.d.ts +147 -0
  128. package/src/lib/app-utils/compose-layout-nodes.js +261 -0
  129. package/src/lib/app-utils/compose-layout-nodes.js.map +1 -0
  130. package/src/lib/app-utils/compose-layout-props.d.ts +71 -0
  131. package/src/lib/app-utils/compose-layout-props.js +61 -0
  132. package/src/lib/app-utils/compose-layout-props.js.map +1 -0
  133. package/src/lib/app-utils/compose-reusable-components.d.ts +504 -0
  134. package/src/lib/app-utils/compose-reusable-components.js +1366 -0
  135. package/src/lib/app-utils/compose-reusable-components.js.map +1 -0
  136. package/src/lib/app-utils/compress.d.ts +35 -0
  137. package/src/lib/app-utils/compress.js +38 -0
  138. package/src/lib/app-utils/compress.js.map +1 -0
  139. package/src/lib/app-utils/consent-banner-ui.d.ts +226 -0
  140. package/src/lib/app-utils/consent-banner-ui.js +583 -0
  141. package/src/lib/app-utils/consent-banner-ui.js.map +1 -0
  142. package/src/lib/app-utils/consent-groups.d.ts +189 -0
  143. package/src/lib/app-utils/consent-groups.js +219 -0
  144. package/src/lib/app-utils/consent-groups.js.map +1 -0
  145. package/src/lib/app-utils/consent-preferences-dialog.d.ts +58 -0
  146. package/src/lib/app-utils/consent-preferences-dialog.js +106 -0
  147. package/src/lib/app-utils/consent-preferences-dialog.js.map +1 -0
  148. package/src/lib/app-utils/console-record-links.d.ts +163 -0
  149. package/src/lib/app-utils/console-record-links.js +178 -0
  150. package/src/lib/app-utils/console-record-links.js.map +1 -0
  151. package/src/lib/app-utils/console-routes.d.ts +658 -0
  152. package/src/lib/app-utils/console-routes.js +489 -0
  153. package/src/lib/app-utils/console-routes.js.map +1 -0
  154. package/src/lib/app-utils/console-widget-slot-context.d.ts +46 -0
  155. package/src/lib/app-utils/console-widget-slot-context.js +23 -0
  156. package/src/lib/app-utils/console-widget-slot-context.js.map +1 -0
  157. package/src/lib/app-utils/contact-custom-fields.d.ts +191 -0
  158. package/src/lib/app-utils/contact-custom-fields.js +349 -0
  159. package/src/lib/app-utils/contact-custom-fields.js.map +1 -0
  160. package/src/lib/app-utils/contact-holder.d.ts +52 -0
  161. package/src/lib/app-utils/contact-holder.js +98 -0
  162. package/src/lib/app-utils/contact-holder.js.map +1 -0
  163. package/src/lib/app-utils/contact-merge.d.ts +136 -0
  164. package/src/lib/app-utils/contact-merge.js +379 -0
  165. package/src/lib/app-utils/contact-merge.js.map +1 -0
  166. package/src/lib/app-utils/contacts.d.ts +554 -0
  167. package/src/lib/app-utils/contacts.js +401 -0
  168. package/src/lib/app-utils/contacts.js.map +1 -0
  169. package/src/lib/app-utils/content-author-profile.d.ts +68 -0
  170. package/src/lib/app-utils/content-author-profile.js +118 -0
  171. package/src/lib/app-utils/content-author-profile.js.map +1 -0
  172. package/src/lib/app-utils/content-authors.d.ts +662 -0
  173. package/src/lib/app-utils/content-authors.js +771 -0
  174. package/src/lib/app-utils/content-authors.js.map +1 -0
  175. package/src/lib/app-utils/content-schema-type.d.ts +81 -0
  176. package/src/lib/app-utils/content-schema-type.js +87 -0
  177. package/src/lib/app-utils/content-schema-type.js.map +1 -0
  178. package/src/lib/app-utils/contexts.d.ts +35 -0
  179. package/src/lib/app-utils/contexts.js +35 -0
  180. package/src/lib/app-utils/contexts.js.map +1 -0
  181. package/src/lib/app-utils/create-resource-uid.d.ts +18 -0
  182. package/src/lib/app-utils/create-resource-uid.js +23 -0
  183. package/src/lib/app-utils/create-resource-uid.js.map +1 -0
  184. package/src/lib/app-utils/crm-booking.d.ts +75 -0
  185. package/src/lib/app-utils/crm-booking.js +133 -0
  186. package/src/lib/app-utils/crm-booking.js.map +1 -0
  187. package/src/lib/app-utils/crm-csv.d.ts +232 -0
  188. package/src/lib/app-utils/crm-csv.js +432 -0
  189. package/src/lib/app-utils/crm-csv.js.map +1 -0
  190. package/src/lib/app-utils/crm-digest.d.ts +179 -0
  191. package/src/lib/app-utils/crm-digest.js +271 -0
  192. package/src/lib/app-utils/crm-digest.js.map +1 -0
  193. package/src/lib/app-utils/crm-email-templates.d.ts +172 -0
  194. package/src/lib/app-utils/crm-email-templates.js +382 -0
  195. package/src/lib/app-utils/crm-email-templates.js.map +1 -0
  196. package/src/lib/app-utils/crm-inbound.d.ts +245 -0
  197. package/src/lib/app-utils/crm-inbound.js +407 -0
  198. package/src/lib/app-utils/crm-inbound.js.map +1 -0
  199. package/src/lib/app-utils/crm-kinds.d.ts +73 -0
  200. package/src/lib/app-utils/crm-kinds.js +92 -0
  201. package/src/lib/app-utils/crm-kinds.js.map +1 -0
  202. package/src/lib/app-utils/crm-next-activity.d.ts +107 -0
  203. package/src/lib/app-utils/crm-next-activity.js +140 -0
  204. package/src/lib/app-utils/crm-next-activity.js.map +1 -0
  205. package/src/lib/app-utils/crm-reports.d.ts +479 -0
  206. package/src/lib/app-utils/crm-reports.js +680 -0
  207. package/src/lib/app-utils/crm-reports.js.map +1 -0
  208. package/src/lib/app-utils/crm-task-reminders.d.ts +129 -0
  209. package/src/lib/app-utils/crm-task-reminders.js +139 -0
  210. package/src/lib/app-utils/crm-task-reminders.js.map +1 -0
  211. package/src/lib/app-utils/crm.d.ts +1546 -0
  212. package/src/lib/app-utils/crm.js +1814 -0
  213. package/src/lib/app-utils/crm.js.map +1 -0
  214. package/src/lib/app-utils/csp-report.d.ts +84 -0
  215. package/src/lib/app-utils/csp-report.js +177 -0
  216. package/src/lib/app-utils/csp-report.js.map +1 -0
  217. package/src/lib/app-utils/csv-import.d.ts +192 -0
  218. package/src/lib/app-utils/csv-import.js +279 -0
  219. package/src/lib/app-utils/csv-import.js.map +1 -0
  220. package/src/lib/app-utils/dataset-csv.d.ts +109 -0
  221. package/src/lib/app-utils/dataset-csv.js +235 -0
  222. package/src/lib/app-utils/dataset-csv.js.map +1 -0
  223. package/src/lib/app-utils/dataset-models.d.ts +194 -0
  224. package/src/lib/app-utils/dataset-models.js +409 -0
  225. package/src/lib/app-utils/dataset-models.js.map +1 -0
  226. package/src/lib/app-utils/dataset-query.d.ts +57 -0
  227. package/src/lib/app-utils/dataset-query.js +126 -0
  228. package/src/lib/app-utils/dataset-query.js.map +1 -0
  229. package/src/lib/app-utils/datasets.d.ts +136 -0
  230. package/src/lib/app-utils/datasets.js +177 -0
  231. package/src/lib/app-utils/datasets.js.map +1 -0
  232. package/src/lib/app-utils/decompress.d.ts +36 -0
  233. package/src/lib/app-utils/decompress.js +32 -0
  234. package/src/lib/app-utils/decompress.js.map +1 -0
  235. package/src/lib/app-utils/dedicated-sending-domain.d.ts +47 -0
  236. package/src/lib/app-utils/dedicated-sending-domain.js +114 -0
  237. package/src/lib/app-utils/dedicated-sending-domain.js.map +1 -0
  238. package/src/lib/app-utils/deferred-image.d.ts +86 -0
  239. package/src/lib/app-utils/deferred-image.js +83 -0
  240. package/src/lib/app-utils/deferred-image.js.map +1 -0
  241. package/src/lib/app-utils/definition-canvas-tree.d.ts +61 -0
  242. package/src/lib/app-utils/definition-canvas-tree.js +126 -0
  243. package/src/lib/app-utils/definition-canvas-tree.js.map +1 -0
  244. package/src/lib/app-utils/deployment-shape.d.ts +167 -0
  245. package/src/lib/app-utils/deployment-shape.js +238 -0
  246. package/src/lib/app-utils/deployment-shape.js.map +1 -0
  247. package/src/lib/app-utils/detect-template-placeholders.d.ts +30 -0
  248. package/src/lib/app-utils/detect-template-placeholders.js +53 -0
  249. package/src/lib/app-utils/detect-template-placeholders.js.map +1 -0
  250. package/src/lib/app-utils/dmca-counter-notice.d.ts +185 -0
  251. package/src/lib/app-utils/dmca-counter-notice.js +277 -0
  252. package/src/lib/app-utils/dmca-counter-notice.js.map +1 -0
  253. package/src/lib/app-utils/docs-deflection.d.ts +156 -0
  254. package/src/lib/app-utils/docs-deflection.js +547 -0
  255. package/src/lib/app-utils/docs-deflection.js.map +1 -0
  256. package/src/lib/app-utils/docs-help.d.ts +57 -0
  257. package/src/lib/app-utils/docs-help.generated.d.ts +303 -0
  258. package/src/lib/app-utils/docs-help.generated.js +867 -0
  259. package/src/lib/app-utils/docs-help.generated.js.map +1 -0
  260. package/src/lib/app-utils/docs-help.js +46 -0
  261. package/src/lib/app-utils/docs-help.js.map +1 -0
  262. package/src/lib/app-utils/docs-index.generated.d.ts +29 -0
  263. package/src/lib/app-utils/docs-index.generated.js +8388 -0
  264. package/src/lib/app-utils/docs-index.generated.js.map +1 -0
  265. package/src/lib/app-utils/docs-retrieval.d.ts +67 -0
  266. package/src/lib/app-utils/docs-retrieval.js +188 -0
  267. package/src/lib/app-utils/docs-retrieval.js.map +1 -0
  268. package/src/lib/app-utils/document-landmark.d.ts +50 -0
  269. package/src/lib/app-utils/document-landmark.js +100 -0
  270. package/src/lib/app-utils/document-landmark.js.map +1 -0
  271. package/src/lib/app-utils/duplicate-resource.d.ts +101 -0
  272. package/src/lib/app-utils/duplicate-resource.js +206 -0
  273. package/src/lib/app-utils/duplicate-resource.js.map +1 -0
  274. package/src/lib/app-utils/dynamic-list-rule.d.ts +471 -0
  275. package/src/lib/app-utils/dynamic-list-rule.js +914 -0
  276. package/src/lib/app-utils/dynamic-list-rule.js.map +1 -0
  277. package/src/lib/app-utils/element-animation.d.ts +200 -0
  278. package/src/lib/app-utils/element-animation.js +233 -0
  279. package/src/lib/app-utils/element-animation.js.map +1 -0
  280. package/src/lib/app-utils/element-hidden-style.d.ts +46 -0
  281. package/src/lib/app-utils/element-hidden-style.js +48 -0
  282. package/src/lib/app-utils/element-hidden-style.js.map +1 -0
  283. package/src/lib/app-utils/element-ui.d.ts +243 -0
  284. package/src/lib/app-utils/element-ui.js +459 -0
  285. package/src/lib/app-utils/element-ui.js.map +1 -0
  286. package/src/lib/app-utils/email-starter-policy.d.ts +160 -0
  287. package/src/lib/app-utils/email-starter-policy.js +327 -0
  288. package/src/lib/app-utils/email-starter-policy.js.map +1 -0
  289. package/src/lib/app-utils/email-topics.d.ts +310 -0
  290. package/src/lib/app-utils/email-topics.js +336 -0
  291. package/src/lib/app-utils/email-topics.js.map +1 -0
  292. package/src/lib/app-utils/enabled-plugins-context.d.ts +100 -0
  293. package/src/lib/app-utils/enabled-plugins-context.js +113 -0
  294. package/src/lib/app-utils/enabled-plugins-context.js.map +1 -0
  295. package/src/lib/app-utils/ensure-canvas-root.d.ts +38 -0
  296. package/src/lib/app-utils/ensure-canvas-root.js +61 -0
  297. package/src/lib/app-utils/ensure-canvas-root.js.map +1 -0
  298. package/src/lib/app-utils/entity-picker-context.d.ts +199 -0
  299. package/src/lib/app-utils/entity-picker-context.js +93 -0
  300. package/src/lib/app-utils/entity-picker-context.js.map +1 -0
  301. package/src/lib/app-utils/error-beacon.d.ts +107 -0
  302. package/src/lib/app-utils/error-beacon.js +296 -0
  303. package/src/lib/app-utils/error-beacon.js.map +1 -0
  304. package/src/lib/app-utils/expand-repeatables.d.ts +172 -0
  305. package/src/lib/app-utils/expand-repeatables.js +299 -0
  306. package/src/lib/app-utils/expand-repeatables.js.map +1 -0
  307. package/src/lib/app-utils/foreign-script.d.ts +82 -0
  308. package/src/lib/app-utils/foreign-script.js +102 -0
  309. package/src/lib/app-utils/foreign-script.js.map +1 -0
  310. package/src/lib/app-utils/form-abuse-ceiling.d.ts +146 -0
  311. package/src/lib/app-utils/form-abuse-ceiling.js +158 -0
  312. package/src/lib/app-utils/form-abuse-ceiling.js.map +1 -0
  313. package/src/lib/app-utils/form-contract.d.ts +198 -0
  314. package/src/lib/app-utils/form-contract.js +282 -0
  315. package/src/lib/app-utils/form-contract.js.map +1 -0
  316. package/src/lib/app-utils/form-dataset-binding.d.ts +50 -0
  317. package/src/lib/app-utils/form-dataset-binding.js +74 -0
  318. package/src/lib/app-utils/form-dataset-binding.js.map +1 -0
  319. package/src/lib/app-utils/forms.d.ts +727 -0
  320. package/src/lib/app-utils/forms.js +777 -0
  321. package/src/lib/app-utils/forms.js.map +1 -0
  322. package/src/lib/app-utils/functions.d.ts +188 -0
  323. package/src/lib/app-utils/functions.js +529 -0
  324. package/src/lib/app-utils/functions.js.map +1 -0
  325. package/src/lib/app-utils/guarded-version-save.d.ts +91 -0
  326. package/src/lib/app-utils/guarded-version-save.js +131 -0
  327. package/src/lib/app-utils/guarded-version-save.js.map +1 -0
  328. package/src/lib/app-utils/health-report.d.ts +1766 -0
  329. package/src/lib/app-utils/health-report.js +2072 -0
  330. package/src/lib/app-utils/health-report.js.map +1 -0
  331. package/src/lib/app-utils/host-naming.d.ts +135 -0
  332. package/src/lib/app-utils/host-naming.js +188 -0
  333. package/src/lib/app-utils/host-naming.js.map +1 -0
  334. package/src/lib/app-utils/host-permissions.d.ts +76 -0
  335. package/src/lib/app-utils/host-permissions.js +119 -0
  336. package/src/lib/app-utils/host-permissions.js.map +1 -0
  337. package/src/lib/app-utils/host-tokens.d.ts +228 -0
  338. package/src/lib/app-utils/host-tokens.js +304 -0
  339. package/src/lib/app-utils/host-tokens.js.map +1 -0
  340. package/src/lib/app-utils/idp-profile.d.ts +83 -0
  341. package/src/lib/app-utils/idp-profile.js +268 -0
  342. package/src/lib/app-utils/idp-profile.js.map +1 -0
  343. package/src/lib/app-utils/image-upload-types.d.ts +49 -0
  344. package/src/lib/app-utils/image-upload-types.js +86 -0
  345. package/src/lib/app-utils/image-upload-types.js.map +1 -0
  346. package/src/lib/app-utils/index.d.ts +18 -0
  347. package/src/lib/app-utils/index.js +23 -0
  348. package/src/lib/app-utils/index.js.map +1 -0
  349. package/src/lib/app-utils/internal-traffic.d.ts +197 -0
  350. package/src/lib/app-utils/internal-traffic.js +288 -0
  351. package/src/lib/app-utils/internal-traffic.js.map +1 -0
  352. package/src/lib/app-utils/lineal-order.d.ts +62 -0
  353. package/src/lib/app-utils/lineal-order.js +65 -0
  354. package/src/lib/app-utils/lineal-order.js.map +1 -0
  355. package/src/lib/app-utils/link-references.d.ts +36 -0
  356. package/src/lib/app-utils/link-references.js +89 -0
  357. package/src/lib/app-utils/link-references.js.map +1 -0
  358. package/src/lib/app-utils/link-target-search-context.d.ts +123 -0
  359. package/src/lib/app-utils/link-target-search-context.js +221 -0
  360. package/src/lib/app-utils/link-target-search-context.js.map +1 -0
  361. package/src/lib/app-utils/list-assignment-policy.d.ts +169 -0
  362. package/src/lib/app-utils/list-assignment-policy.js +170 -0
  363. package/src/lib/app-utils/list-assignment-policy.js.map +1 -0
  364. package/src/lib/app-utils/list-import.d.ts +158 -0
  365. package/src/lib/app-utils/list-import.js +332 -0
  366. package/src/lib/app-utils/list-import.js.map +1 -0
  367. package/src/lib/app-utils/llms-txt.d.ts +104 -0
  368. package/src/lib/app-utils/llms-txt.js +144 -0
  369. package/src/lib/app-utils/llms-txt.js.map +1 -0
  370. package/src/lib/app-utils/local-storage-budget.d.ts +75 -0
  371. package/src/lib/app-utils/local-storage-budget.js +153 -0
  372. package/src/lib/app-utils/local-storage-budget.js.map +1 -0
  373. package/src/lib/app-utils/lockdown.d.ts +698 -0
  374. package/src/lib/app-utils/lockdown.js +929 -0
  375. package/src/lib/app-utils/lockdown.js.map +1 -0
  376. package/src/lib/app-utils/margin-utilization.d.ts +267 -0
  377. package/src/lib/app-utils/margin-utilization.js +351 -0
  378. package/src/lib/app-utils/margin-utilization.js.map +1 -0
  379. package/src/lib/app-utils/markdown-lite.d.ts +297 -0
  380. package/src/lib/app-utils/markdown-lite.js +705 -0
  381. package/src/lib/app-utils/markdown-lite.js.map +1 -0
  382. package/src/lib/app-utils/marketing-consent.d.ts +704 -0
  383. package/src/lib/app-utils/marketing-consent.js +783 -0
  384. package/src/lib/app-utils/marketing-consent.js.map +1 -0
  385. package/src/lib/app-utils/marketplace-listing-visibility.d.ts +120 -0
  386. package/src/lib/app-utils/marketplace-listing-visibility.js +139 -0
  387. package/src/lib/app-utils/marketplace-listing-visibility.js.map +1 -0
  388. package/src/lib/app-utils/marketplace-overrides.d.ts +271 -0
  389. package/src/lib/app-utils/marketplace-overrides.js +462 -0
  390. package/src/lib/app-utils/marketplace-overrides.js.map +1 -0
  391. package/src/lib/app-utils/marketplace-provenance.d.ts +150 -0
  392. package/src/lib/app-utils/marketplace-provenance.js +136 -0
  393. package/src/lib/app-utils/marketplace-provenance.js.map +1 -0
  394. package/src/lib/app-utils/marketplace-theme.d.ts +237 -0
  395. package/src/lib/app-utils/marketplace-theme.js +525 -0
  396. package/src/lib/app-utils/marketplace-theme.js.map +1 -0
  397. package/src/lib/app-utils/marketplace-update-state.d.ts +119 -0
  398. package/src/lib/app-utils/marketplace-update-state.js +132 -0
  399. package/src/lib/app-utils/marketplace-update-state.js.map +1 -0
  400. package/src/lib/app-utils/marketplace-verification.d.ts +95 -0
  401. package/src/lib/app-utils/marketplace-verification.js +81 -0
  402. package/src/lib/app-utils/marketplace-verification.js.map +1 -0
  403. package/src/lib/app-utils/measure-node-map.d.ts +76 -0
  404. package/src/lib/app-utils/measure-node-map.js +111 -0
  405. package/src/lib/app-utils/measure-node-map.js.map +1 -0
  406. package/src/lib/app-utils/media-alt.d.ts +55 -0
  407. package/src/lib/app-utils/media-alt.js +58 -0
  408. package/src/lib/app-utils/media-alt.js.map +1 -0
  409. package/src/lib/app-utils/media-asset-facts.d.ts +125 -0
  410. package/src/lib/app-utils/media-asset-facts.js +467 -0
  411. package/src/lib/app-utils/media-asset-facts.js.map +1 -0
  412. package/src/lib/app-utils/media-cdn-scope.d.ts +65 -0
  413. package/src/lib/app-utils/media-cdn-scope.js +75 -0
  414. package/src/lib/app-utils/media-cdn-scope.js.map +1 -0
  415. package/src/lib/app-utils/media-folders.d.ts +161 -0
  416. package/src/lib/app-utils/media-folders.js +230 -0
  417. package/src/lib/app-utils/media-folders.js.map +1 -0
  418. package/src/lib/app-utils/media-metadata.d.ts +277 -0
  419. package/src/lib/app-utils/media-metadata.js +388 -0
  420. package/src/lib/app-utils/media-metadata.js.map +1 -0
  421. package/src/lib/app-utils/media-picker-context.d.ts +93 -0
  422. package/src/lib/app-utils/media-picker-context.js +26 -0
  423. package/src/lib/app-utils/media-picker-context.js.map +1 -0
  424. package/src/lib/app-utils/media-quarantine.d.ts +247 -0
  425. package/src/lib/app-utils/media-quarantine.js +323 -0
  426. package/src/lib/app-utils/media-quarantine.js.map +1 -0
  427. package/src/lib/app-utils/media-ref.d.ts +661 -0
  428. package/src/lib/app-utils/media-ref.js +1055 -0
  429. package/src/lib/app-utils/media-ref.js.map +1 -0
  430. package/src/lib/app-utils/media-takedown-reach.d.ts +126 -0
  431. package/src/lib/app-utils/media-takedown-reach.js +143 -0
  432. package/src/lib/app-utils/media-takedown-reach.js.map +1 -0
  433. package/src/lib/app-utils/member-email-aliases.d.ts +180 -0
  434. package/src/lib/app-utils/member-email-aliases.js +217 -0
  435. package/src/lib/app-utils/member-email-aliases.js.map +1 -0
  436. package/src/lib/app-utils/merge-node-sx.d.ts +47 -0
  437. package/src/lib/app-utils/merge-node-sx.js +123 -0
  438. package/src/lib/app-utils/merge-node-sx.js.map +1 -0
  439. package/src/lib/app-utils/name-match.d.ts +155 -0
  440. package/src/lib/app-utils/name-match.js +175 -0
  441. package/src/lib/app-utils/name-match.js.map +1 -0
  442. package/src/lib/app-utils/name-search.d.ts +117 -0
  443. package/src/lib/app-utils/name-search.js +145 -0
  444. package/src/lib/app-utils/name-search.js.map +1 -0
  445. package/src/lib/app-utils/node-capabilities.d.ts +85 -0
  446. package/src/lib/app-utils/node-capabilities.js +88 -0
  447. package/src/lib/app-utils/node-capabilities.js.map +1 -0
  448. package/src/lib/app-utils/node-definition-sanitizer.d.ts +164 -0
  449. package/src/lib/app-utils/node-definition-sanitizer.js +402 -0
  450. package/src/lib/app-utils/node-definition-sanitizer.js.map +1 -0
  451. package/src/lib/app-utils/node-identity.d.ts +47 -0
  452. package/src/lib/app-utils/node-identity.js +50 -0
  453. package/src/lib/app-utils/node-identity.js.map +1 -0
  454. package/src/lib/app-utils/node-interactions.d.ts +102 -0
  455. package/src/lib/app-utils/node-interactions.js +192 -0
  456. package/src/lib/app-utils/node-interactions.js.map +1 -0
  457. package/src/lib/app-utils/node-url-policy.d.ts +54 -0
  458. package/src/lib/app-utils/node-url-policy.js +72 -0
  459. package/src/lib/app-utils/node-url-policy.js.map +1 -0
  460. package/src/lib/app-utils/notifications.d.ts +71 -0
  461. package/src/lib/app-utils/notifications.js +101 -0
  462. package/src/lib/app-utils/notifications.js.map +1 -0
  463. package/src/lib/app-utils/onboarding-deep-link.d.ts +120 -0
  464. package/src/lib/app-utils/onboarding-deep-link.js +142 -0
  465. package/src/lib/app-utils/onboarding-deep-link.js.map +1 -0
  466. package/src/lib/app-utils/operator-identity.d.ts +207 -0
  467. package/src/lib/app-utils/operator-identity.js +186 -0
  468. package/src/lib/app-utils/operator-identity.js.map +1 -0
  469. package/src/lib/app-utils/org-billing-doc.d.ts +231 -0
  470. package/src/lib/app-utils/org-billing-doc.js +238 -0
  471. package/src/lib/app-utils/org-billing-doc.js.map +1 -0
  472. package/src/lib/app-utils/org-override-reason.d.ts +100 -0
  473. package/src/lib/app-utils/org-override-reason.js +116 -0
  474. package/src/lib/app-utils/org-override-reason.js.map +1 -0
  475. package/src/lib/app-utils/org-permissions.d.ts +194 -0
  476. package/src/lib/app-utils/org-permissions.js +357 -0
  477. package/src/lib/app-utils/org-permissions.js.map +1 -0
  478. package/src/lib/app-utils/org-roles.d.ts +72 -0
  479. package/src/lib/app-utils/org-roles.js +131 -0
  480. package/src/lib/app-utils/org-roles.js.map +1 -0
  481. package/src/lib/app-utils/organizations.d.ts +407 -0
  482. package/src/lib/app-utils/organizations.js +511 -0
  483. package/src/lib/app-utils/organizations.js.map +1 -0
  484. package/src/lib/app-utils/page-header-actions-context.d.ts +83 -0
  485. package/src/lib/app-utils/page-header-actions-context.js +58 -0
  486. package/src/lib/app-utils/page-header-actions-context.js.map +1 -0
  487. package/src/lib/app-utils/page-header-record-context.d.ts +80 -0
  488. package/src/lib/app-utils/page-header-record-context.js +64 -0
  489. package/src/lib/app-utils/page-header-record-context.js.map +1 -0
  490. package/src/lib/app-utils/page-markdown.d.ts +103 -0
  491. package/src/lib/app-utils/page-markdown.js +385 -0
  492. package/src/lib/app-utils/page-markdown.js.map +1 -0
  493. package/src/lib/app-utils/paid-media-source.d.ts +90 -0
  494. package/src/lib/app-utils/paid-media-source.js +184 -0
  495. package/src/lib/app-utils/paid-media-source.js.map +1 -0
  496. package/src/lib/app-utils/palette-sx.d.ts +34 -0
  497. package/src/lib/app-utils/palette-sx.js +150 -0
  498. package/src/lib/app-utils/palette-sx.js.map +1 -0
  499. package/src/lib/app-utils/password-policy.d.ts +47 -0
  500. package/src/lib/app-utils/password-policy.js +46 -0
  501. package/src/lib/app-utils/password-policy.js.map +1 -0
  502. package/src/lib/app-utils/payments-configured.d.ts +84 -0
  503. package/src/lib/app-utils/payments-configured.js +88 -0
  504. package/src/lib/app-utils/payments-configured.js.map +1 -0
  505. package/src/lib/app-utils/person-erasure.d.ts +126 -0
  506. package/src/lib/app-utils/person-erasure.js +121 -0
  507. package/src/lib/app-utils/person-erasure.js.map +1 -0
  508. package/src/lib/app-utils/person-key.d.ts +32 -0
  509. package/src/lib/app-utils/person-key.js +62 -0
  510. package/src/lib/app-utils/person-key.js.map +1 -0
  511. package/src/lib/app-utils/plan-entitlements.d.ts +2756 -0
  512. package/src/lib/app-utils/plan-entitlements.js +4085 -0
  513. package/src/lib/app-utils/plan-entitlements.js.map +1 -0
  514. package/src/lib/app-utils/platform-ad-conversions.d.ts +122 -0
  515. package/src/lib/app-utils/platform-ad-conversions.js +174 -0
  516. package/src/lib/app-utils/platform-ad-conversions.js.map +1 -0
  517. package/src/lib/app-utils/platform-advertising-tags.d.ts +139 -0
  518. package/src/lib/app-utils/platform-advertising-tags.js +203 -0
  519. package/src/lib/app-utils/platform-advertising-tags.js.map +1 -0
  520. package/src/lib/app-utils/platform-brand.d.ts +151 -0
  521. package/src/lib/app-utils/platform-brand.js +175 -0
  522. package/src/lib/app-utils/platform-brand.js.map +1 -0
  523. package/src/lib/app-utils/platform-consent-default.d.ts +142 -0
  524. package/src/lib/app-utils/platform-consent-default.js +295 -0
  525. package/src/lib/app-utils/platform-consent-default.js.map +1 -0
  526. package/src/lib/app-utils/platform-marketing-consent.d.ts +151 -0
  527. package/src/lib/app-utils/platform-marketing-consent.js +182 -0
  528. package/src/lib/app-utils/platform-marketing-consent.js.map +1 -0
  529. package/src/lib/app-utils/platform-marketing-host.d.ts +33 -0
  530. package/src/lib/app-utils/platform-marketing-host.js +97 -0
  531. package/src/lib/app-utils/platform-marketing-host.js.map +1 -0
  532. package/src/lib/app-utils/platform-visitor-consent.d.ts +252 -0
  533. package/src/lib/app-utils/platform-visitor-consent.js +533 -0
  534. package/src/lib/app-utils/platform-visitor-consent.js.map +1 -0
  535. package/src/lib/app-utils/plugin-api-cross-origin.d.ts +61 -0
  536. package/src/lib/app-utils/plugin-api-cross-origin.js +202 -0
  537. package/src/lib/app-utils/plugin-api-cross-origin.js.map +1 -0
  538. package/src/lib/app-utils/plugin-api-rate-limit.d.ts +192 -0
  539. package/src/lib/app-utils/plugin-api-rate-limit.js +270 -0
  540. package/src/lib/app-utils/plugin-api-rate-limit.js.map +1 -0
  541. package/src/lib/app-utils/plugin-artifact-path.d.ts +32 -0
  542. package/src/lib/app-utils/plugin-artifact-path.js +33 -0
  543. package/src/lib/app-utils/plugin-artifact-path.js.map +1 -0
  544. package/src/lib/app-utils/plugin-bundle-checks.d.ts +148 -0
  545. package/src/lib/app-utils/plugin-bundle-checks.js +989 -0
  546. package/src/lib/app-utils/plugin-bundle-checks.js.map +1 -0
  547. package/src/lib/app-utils/plugin-manifest.d.ts +516 -0
  548. package/src/lib/app-utils/plugin-manifest.js +687 -0
  549. package/src/lib/app-utils/plugin-manifest.js.map +1 -0
  550. package/src/lib/app-utils/published-legal-pages.d.ts +71 -0
  551. package/src/lib/app-utils/published-legal-pages.js +90 -0
  552. package/src/lib/app-utils/published-legal-pages.js.map +1 -0
  553. package/src/lib/app-utils/publisher-agreement.d.ts +254 -0
  554. package/src/lib/app-utils/publisher-agreement.js +274 -0
  555. package/src/lib/app-utils/publisher-agreement.js.map +1 -0
  556. package/src/lib/app-utils/publisher-attestation.d.ts +99 -0
  557. package/src/lib/app-utils/publisher-attestation.js +158 -0
  558. package/src/lib/app-utils/publisher-attestation.js.map +1 -0
  559. package/src/lib/app-utils/recipient-email-render.d.ts +216 -0
  560. package/src/lib/app-utils/recipient-email-render.js +221 -0
  561. package/src/lib/app-utils/recipient-email-render.js.map +1 -0
  562. package/src/lib/app-utils/redispatch-caught-error.d.ts +38 -0
  563. package/src/lib/app-utils/redispatch-caught-error.js +46 -0
  564. package/src/lib/app-utils/redispatch-caught-error.js.map +1 -0
  565. package/src/lib/app-utils/registering-plugin.d.ts +19 -0
  566. package/src/lib/app-utils/registering-plugin.js +38 -0
  567. package/src/lib/app-utils/registering-plugin.js.map +1 -0
  568. package/src/lib/app-utils/release-flags.d.ts +283 -0
  569. package/src/lib/app-utils/release-flags.js +518 -0
  570. package/src/lib/app-utils/release-flags.js.map +1 -0
  571. package/src/lib/app-utils/repair-canvas-nodes.d.ts +130 -0
  572. package/src/lib/app-utils/repair-canvas-nodes.js +298 -0
  573. package/src/lib/app-utils/repair-canvas-nodes.js.map +1 -0
  574. package/src/lib/app-utils/repeat-infringer.d.ts +166 -0
  575. package/src/lib/app-utils/repeat-infringer.js +188 -0
  576. package/src/lib/app-utils/repeat-infringer.js.map +1 -0
  577. package/src/lib/app-utils/repeat-sources.d.ts +115 -0
  578. package/src/lib/app-utils/repeat-sources.js +86 -0
  579. package/src/lib/app-utils/repeat-sources.js.map +1 -0
  580. package/src/lib/app-utils/request-geo.d.ts +114 -0
  581. package/src/lib/app-utils/request-geo.js +247 -0
  582. package/src/lib/app-utils/request-geo.js.map +1 -0
  583. package/src/lib/app-utils/request-ip.d.ts +213 -0
  584. package/src/lib/app-utils/request-ip.js +344 -0
  585. package/src/lib/app-utils/request-ip.js.map +1 -0
  586. package/src/lib/app-utils/resolve-named-tokens.d.ts +26 -0
  587. package/src/lib/app-utils/resolve-named-tokens.js +59 -0
  588. package/src/lib/app-utils/resolve-named-tokens.js.map +1 -0
  589. package/src/lib/app-utils/responsive-typography-sx.d.ts +77 -0
  590. package/src/lib/app-utils/responsive-typography-sx.js +122 -0
  591. package/src/lib/app-utils/responsive-typography-sx.js.map +1 -0
  592. package/src/lib/app-utils/reusable-component-keys.d.ts +135 -0
  593. package/src/lib/app-utils/reusable-component-keys.js +140 -0
  594. package/src/lib/app-utils/reusable-component-keys.js.map +1 -0
  595. package/src/lib/app-utils/reusable-prop-values.d.ts +199 -0
  596. package/src/lib/app-utils/reusable-prop-values.js +494 -0
  597. package/src/lib/app-utils/reusable-prop-values.js.map +1 -0
  598. package/src/lib/app-utils/safe-json-ld.d.ts +29 -0
  599. package/src/lib/app-utils/safe-json-ld.js +37 -0
  600. package/src/lib/app-utils/safe-json-ld.js.map +1 -0
  601. package/src/lib/app-utils/sanitize-svg.d.ts +55 -0
  602. package/src/lib/app-utils/sanitize-svg.js +460 -0
  603. package/src/lib/app-utils/sanitize-svg.js.map +1 -0
  604. package/src/lib/app-utils/scheme-sx.d.ts +84 -0
  605. package/src/lib/app-utils/scheme-sx.js +148 -0
  606. package/src/lib/app-utils/scheme-sx.js.map +1 -0
  607. package/src/lib/app-utils/scope-tokens.d.ts +249 -0
  608. package/src/lib/app-utils/scope-tokens.js +331 -0
  609. package/src/lib/app-utils/scope-tokens.js.map +1 -0
  610. package/src/lib/app-utils/screen-link-context-value.d.ts +57 -0
  611. package/src/lib/app-utils/screen-link-context-value.js +43 -0
  612. package/src/lib/app-utils/screen-link-context-value.js.map +1 -0
  613. package/src/lib/app-utils/screen-link-context.d.ts +185 -0
  614. package/src/lib/app-utils/screen-link-context.js +304 -0
  615. package/src/lib/app-utils/screen-link-context.js.map +1 -0
  616. package/src/lib/app-utils/screen-link-value.d.ts +269 -0
  617. package/src/lib/app-utils/screen-link-value.js +384 -0
  618. package/src/lib/app-utils/screen-link-value.js.map +1 -0
  619. package/src/lib/app-utils/screen-route.d.ts +669 -0
  620. package/src/lib/app-utils/screen-route.js +751 -0
  621. package/src/lib/app-utils/screen-route.js.map +1 -0
  622. package/src/lib/app-utils/screen-seo-fields.d.ts +37 -0
  623. package/src/lib/app-utils/screen-seo-fields.js +42 -0
  624. package/src/lib/app-utils/screen-seo-fields.js.map +1 -0
  625. package/src/lib/app-utils/search-indexing.d.ts +162 -0
  626. package/src/lib/app-utils/search-indexing.js +207 -0
  627. package/src/lib/app-utils/search-indexing.js.map +1 -0
  628. package/src/lib/app-utils/seo-listing-fields.d.ts +70 -0
  629. package/src/lib/app-utils/seo-listing-fields.js +75 -0
  630. package/src/lib/app-utils/seo-listing-fields.js.map +1 -0
  631. package/src/lib/app-utils/seo-locale.d.ts +119 -0
  632. package/src/lib/app-utils/seo-locale.js +133 -0
  633. package/src/lib/app-utils/seo-locale.js.map +1 -0
  634. package/src/lib/app-utils/seo-title-variables.d.ts +149 -0
  635. package/src/lib/app-utils/seo-title-variables.js +190 -0
  636. package/src/lib/app-utils/seo-title-variables.js.map +1 -0
  637. package/src/lib/app-utils/seo-title.d.ts +70 -0
  638. package/src/lib/app-utils/seo-title.js +117 -0
  639. package/src/lib/app-utils/seo-title.js.map +1 -0
  640. package/src/lib/app-utils/server.d.ts +174 -0
  641. package/src/lib/app-utils/server.js +314 -0
  642. package/src/lib/app-utils/server.js.map +1 -0
  643. package/src/lib/app-utils/site-context.d.ts +106 -0
  644. package/src/lib/app-utils/site-context.js +100 -0
  645. package/src/lib/app-utils/site-context.js.map +1 -0
  646. package/src/lib/app-utils/sitemap.d.ts +117 -0
  647. package/src/lib/app-utils/sitemap.js +183 -0
  648. package/src/lib/app-utils/sitemap.js.map +1 -0
  649. package/src/lib/app-utils/social-image.d.ts +112 -0
  650. package/src/lib/app-utils/social-image.js +191 -0
  651. package/src/lib/app-utils/social-image.js.map +1 -0
  652. package/src/lib/app-utils/starter-templates.d.ts +99 -0
  653. package/src/lib/app-utils/starter-templates.js +579 -0
  654. package/src/lib/app-utils/starter-templates.js.map +1 -0
  655. package/src/lib/app-utils/stored-nodes.d.ts +120 -0
  656. package/src/lib/app-utils/stored-nodes.js +174 -0
  657. package/src/lib/app-utils/stored-nodes.js.map +1 -0
  658. package/src/lib/app-utils/strip-undefined.d.ts +59 -0
  659. package/src/lib/app-utils/strip-undefined.js +95 -0
  660. package/src/lib/app-utils/strip-undefined.js.map +1 -0
  661. package/src/lib/app-utils/stripe-deployment-mode.d.ts +47 -0
  662. package/src/lib/app-utils/stripe-deployment-mode.js +70 -0
  663. package/src/lib/app-utils/stripe-deployment-mode.js.map +1 -0
  664. package/src/lib/app-utils/support-tiers.d.ts +108 -0
  665. package/src/lib/app-utils/support-tiers.js +201 -0
  666. package/src/lib/app-utils/support-tiers.js.map +1 -0
  667. package/src/lib/app-utils/timezone-geo-hint.d.ts +36 -0
  668. package/src/lib/app-utils/timezone-geo-hint.js +180 -0
  669. package/src/lib/app-utils/timezone-geo-hint.js.map +1 -0
  670. package/src/lib/app-utils/upload-cors.d.ts +155 -0
  671. package/src/lib/app-utils/upload-cors.js +254 -0
  672. package/src/lib/app-utils/upload-cors.js.map +1 -0
  673. package/src/lib/app-utils/upload-inspection.d.ts +159 -0
  674. package/src/lib/app-utils/upload-inspection.js +539 -0
  675. package/src/lib/app-utils/upload-inspection.js.map +1 -0
  676. package/src/lib/app-utils/url-slug.d.ts +40 -0
  677. package/src/lib/app-utils/url-slug.js +42 -0
  678. package/src/lib/app-utils/url-slug.js.map +1 -0
  679. package/src/lib/app-utils/usage-budget.d.ts +429 -0
  680. package/src/lib/app-utils/usage-budget.js +421 -0
  681. package/src/lib/app-utils/usage-budget.js.map +1 -0
  682. package/src/lib/app-utils/variables.d.ts +96 -0
  683. package/src/lib/app-utils/variables.js +233 -0
  684. package/src/lib/app-utils/variables.js.map +1 -0
  685. package/src/lib/app-utils/video-asset-facts.d.ts +61 -0
  686. package/src/lib/app-utils/video-asset-facts.js +70 -0
  687. package/src/lib/app-utils/video-asset-facts.js.map +1 -0
  688. package/src/lib/app-utils/video-object.d.ts +89 -0
  689. package/src/lib/app-utils/video-object.js +245 -0
  690. package/src/lib/app-utils/video-object.js.map +1 -0
  691. package/src/lib/app-utils/visitor-consent.d.ts +757 -0
  692. package/src/lib/app-utils/visitor-consent.js +981 -0
  693. package/src/lib/app-utils/visitor-consent.js.map +1 -0
  694. package/src/lib/app-utils/visitor-record-ceiling.d.ts +223 -0
  695. package/src/lib/app-utils/visitor-record-ceiling.js +215 -0
  696. package/src/lib/app-utils/visitor-record-ceiling.js.map +1 -0
  697. package/src/lib/app-utils/web-vitals-rum.d.ts +53 -0
  698. package/src/lib/app-utils/web-vitals-rum.js +278 -0
  699. package/src/lib/app-utils/web-vitals-rum.js.map +1 -0
  700. package/src/lib/app-utils/webhook-delivery.d.ts +324 -0
  701. package/src/lib/app-utils/webhook-delivery.js +413 -0
  702. package/src/lib/app-utils/webhook-delivery.js.map +1 -0
  703. package/src/lib/app-utils/where-used.d.ts +57 -0
  704. package/src/lib/app-utils/where-used.js +59 -0
  705. package/src/lib/app-utils/where-used.js.map +1 -0
  706. package/src/lib/app-utils/wistia-embed.d.ts +86 -0
  707. package/src/lib/app-utils/wistia-embed.js +119 -0
  708. package/src/lib/app-utils/wistia-embed.js.map +1 -0
  709. package/src/lib/app-utils/workflows.d.ts +136 -0
  710. package/src/lib/app-utils/workflows.js +346 -0
  711. package/src/lib/app-utils/workflows.js.map +1 -0
  712. package/src/lib/canvas-manager/canvas-manager-tree.d.ts +109 -0
  713. package/src/lib/canvas-manager/canvas-manager-tree.js +139 -0
  714. package/src/lib/canvas-manager/canvas-manager-tree.js.map +1 -0
  715. package/src/lib/canvas-manager/canvas-manager.d.ts +549 -0
  716. package/src/lib/canvas-manager/canvas-manager.js +1311 -0
  717. package/src/lib/canvas-manager/canvas-manager.js.map +1 -0
  718. package/src/lib/canvas-manager/index.d.ts +20 -0
  719. package/src/lib/canvas-manager/index.js +21 -0
  720. package/src/lib/canvas-manager/index.js.map +1 -0
  721. package/src/lib/canvas-manager/stores/index.d.ts +17 -0
  722. package/src/lib/canvas-manager/stores/index.js +18 -0
  723. package/src/lib/canvas-manager/stores/index.js.map +1 -0
  724. package/src/lib/canvas-manager/stores/node.store.d.ts +30 -0
  725. package/src/lib/canvas-manager/stores/node.store.js +45 -0
  726. package/src/lib/canvas-manager/stores/node.store.js.map +1 -0
  727. package/src/lib/components-manager/components-manager.d.ts +56 -0
  728. package/src/lib/components-manager/components-manager.js +191 -0
  729. package/src/lib/components-manager/components-manager.js.map +1 -0
  730. package/src/lib/components-manager/index.d.ts +18 -0
  731. package/src/lib/components-manager/index.js +19 -0
  732. package/src/lib/components-manager/index.js.map +1 -0
  733. package/src/lib/emit-manager/emit-manager.d.ts +56 -0
  734. package/src/lib/emit-manager/emit-manager.js +60 -0
  735. package/src/lib/emit-manager/emit-manager.js.map +1 -0
  736. package/src/lib/emit-manager/index.d.ts +18 -0
  737. package/src/lib/emit-manager/index.js +19 -0
  738. package/src/lib/emit-manager/index.js.map +1 -0
  739. package/src/lib/foundation/constants/_internal.d.ts +18 -0
  740. package/src/lib/foundation/constants/_internal.js +62 -0
  741. package/src/lib/foundation/constants/_internal.js.map +1 -0
  742. package/src/lib/foundation/constants/app.d.ts +23 -0
  743. package/src/lib/foundation/constants/app.js +25 -0
  744. package/src/lib/foundation/constants/app.js.map +1 -0
  745. package/src/lib/foundation/constants/canvas.d.ts +18 -0
  746. package/src/lib/foundation/constants/canvas.js +18 -0
  747. package/src/lib/foundation/constants/canvas.js.map +1 -0
  748. package/src/lib/foundation/constants/components.d.ts +54 -0
  749. package/src/lib/foundation/constants/components.js +61 -0
  750. package/src/lib/foundation/constants/components.js.map +1 -0
  751. package/src/lib/foundation/constants/shared.d.ts +50 -0
  752. package/src/lib/foundation/constants/shared.js +49 -0
  753. package/src/lib/foundation/constants/shared.js.map +1 -0
  754. package/src/lib/foundation/constants/symbol.d.ts +63 -0
  755. package/src/lib/foundation/constants/symbol.js +75 -0
  756. package/src/lib/foundation/constants/symbol.js.map +1 -0
  757. package/src/lib/foundation/definitions/components.types.d.ts +372 -0
  758. package/src/lib/foundation/definitions/components.types.js +180 -0
  759. package/src/lib/foundation/definitions/components.types.js.map +1 -0
  760. package/src/lib/foundation/definitions/contact.types.d.ts +73 -0
  761. package/src/lib/foundation/definitions/contact.types.js +107 -0
  762. package/src/lib/foundation/definitions/contact.types.js.map +1 -0
  763. package/src/lib/foundation/definitions/host-content-collections.d.ts +137 -0
  764. package/src/lib/foundation/definitions/host-content-collections.js +219 -0
  765. package/src/lib/foundation/definitions/host-content-collections.js.map +1 -0
  766. package/src/lib/foundation/definitions/org-billing.types.d.ts +1361 -0
  767. package/src/lib/foundation/definitions/org-billing.types.js +77 -0
  768. package/src/lib/foundation/definitions/org-billing.types.js.map +1 -0
  769. package/src/lib/foundation/definitions/organization.types.d.ts +307 -0
  770. package/src/lib/foundation/definitions/organization.types.js +42 -0
  771. package/src/lib/foundation/definitions/organization.types.js.map +1 -0
  772. package/src/lib/foundation/definitions/platform.types.d.ts +1326 -0
  773. package/src/lib/foundation/definitions/platform.types.js +124 -0
  774. package/src/lib/foundation/definitions/platform.types.js.map +1 -0
  775. package/src/lib/foundation/definitions/property-kinds.d.ts +189 -0
  776. package/src/lib/foundation/definitions/property-kinds.js +565 -0
  777. package/src/lib/foundation/definitions/property-kinds.js.map +1 -0
  778. package/src/lib/foundation/definitions/shared.d.ts +23 -0
  779. package/src/lib/foundation/definitions/shared.js +18 -0
  780. package/src/lib/foundation/definitions/shared.js.map +1 -0
  781. package/src/lib/foundation/definitions/write-deny-coverage.util.d.ts +249 -0
  782. package/src/lib/foundation/definitions/write-deny-coverage.util.js +499 -0
  783. package/src/lib/foundation/definitions/write-deny-coverage.util.js.map +1 -0
  784. package/src/lib/foundation/index.d.ts +32 -0
  785. package/src/lib/foundation/index.js +67 -0
  786. package/src/lib/foundation/index.js.map +1 -0
  787. package/src/lib/lifecycle.d.ts +24 -0
  788. package/src/lib/lifecycle.js +39 -0
  789. package/src/lib/lifecycle.js.map +1 -0
  790. package/src/lib/mst/common.d.ts +17 -0
  791. package/src/lib/mst/common.js +23 -0
  792. package/src/lib/mst/common.js.map +1 -0
  793. package/src/lib/mst/index.d.ts +19 -0
  794. package/src/lib/mst/index.js +20 -0
  795. package/src/lib/mst/index.js.map +1 -0
  796. package/src/lib/mst/json.d.ts +22 -0
  797. package/src/lib/mst/json.js +23 -0
  798. package/src/lib/mst/json.js.map +1 -0
  799. package/src/lib/mst/types.d.ts +20 -0
  800. package/src/lib/mst/types.js +18 -0
  801. package/src/lib/mst/types.js.map +1 -0
  802. package/src/lib/plugin-manager/billing-webhook-hooks.d.ts +77 -0
  803. package/src/lib/plugin-manager/billing-webhook-hooks.js +55 -0
  804. package/src/lib/plugin-manager/billing-webhook-hooks.js.map +1 -0
  805. package/src/lib/plugin-manager/commerce-zone-props.d.ts +172 -0
  806. package/src/lib/plugin-manager/commerce-zone-props.js +31 -0
  807. package/src/lib/plugin-manager/commerce-zone-props.js.map +1 -0
  808. package/src/lib/plugin-manager/custom-fields.d.ts +60 -0
  809. package/src/lib/plugin-manager/custom-fields.js +39 -0
  810. package/src/lib/plugin-manager/custom-fields.js.map +1 -0
  811. package/src/lib/plugin-manager/editor-sessions.d.ts +109 -0
  812. package/src/lib/plugin-manager/editor-sessions.js +137 -0
  813. package/src/lib/plugin-manager/editor-sessions.js.map +1 -0
  814. package/src/lib/plugin-manager/enabled-plugins.d.ts +438 -0
  815. package/src/lib/plugin-manager/enabled-plugins.js +403 -0
  816. package/src/lib/plugin-manager/enabled-plugins.js.map +1 -0
  817. package/src/lib/plugin-manager/feature-plugins.d.ts +1314 -0
  818. package/src/lib/plugin-manager/feature-plugins.js +609 -0
  819. package/src/lib/plugin-manager/feature-plugins.js.map +1 -0
  820. package/src/lib/plugin-manager/first-party-plugins.generated.d.ts +11 -0
  821. package/src/lib/plugin-manager/first-party-plugins.generated.js +149 -0
  822. package/src/lib/plugin-manager/first-party-plugins.generated.js.map +1 -0
  823. package/src/lib/plugin-manager/index.d.ts +42 -0
  824. package/src/lib/plugin-manager/index.js +46 -0
  825. package/src/lib/plugin-manager/index.js.map +1 -0
  826. package/src/lib/plugin-manager/install-presets.d.ts +93 -0
  827. package/src/lib/plugin-manager/install-presets.js +86 -0
  828. package/src/lib/plugin-manager/install-presets.js.map +1 -0
  829. package/src/lib/plugin-manager/media-delivery-provider.d.ts +124 -0
  830. package/src/lib/plugin-manager/media-delivery-provider.js +53 -0
  831. package/src/lib/plugin-manager/media-delivery-provider.js.map +1 -0
  832. package/src/lib/plugin-manager/order-fulfilment.d.ts +142 -0
  833. package/src/lib/plugin-manager/order-fulfilment.js +104 -0
  834. package/src/lib/plugin-manager/order-fulfilment.js.map +1 -0
  835. package/src/lib/plugin-manager/plugin-activity-actions.d.ts +122 -0
  836. package/src/lib/plugin-manager/plugin-activity-actions.js +140 -0
  837. package/src/lib/plugin-manager/plugin-activity-actions.js.map +1 -0
  838. package/src/lib/plugin-manager/plugin-bridge.d.ts +98 -0
  839. package/src/lib/plugin-manager/plugin-bridge.js +154 -0
  840. package/src/lib/plugin-manager/plugin-bridge.js.map +1 -0
  841. package/src/lib/plugin-manager/plugin-config.d.ts +148 -0
  842. package/src/lib/plugin-manager/plugin-config.js +228 -0
  843. package/src/lib/plugin-manager/plugin-config.js.map +1 -0
  844. package/src/lib/plugin-manager/plugin-console-crons.d.ts +139 -0
  845. package/src/lib/plugin-manager/plugin-console-crons.js +177 -0
  846. package/src/lib/plugin-manager/plugin-console-crons.js.map +1 -0
  847. package/src/lib/plugin-manager/plugin-contact-capture.d.ts +220 -0
  848. package/src/lib/plugin-manager/plugin-contact-capture.js +89 -0
  849. package/src/lib/plugin-manager/plugin-contact-capture.js.map +1 -0
  850. package/src/lib/plugin-manager/plugin-contributions.d.ts +244 -0
  851. package/src/lib/plugin-manager/plugin-contributions.js +283 -0
  852. package/src/lib/plugin-manager/plugin-contributions.js.map +1 -0
  853. package/src/lib/plugin-manager/plugin-entitlement-keys.d.ts +169 -0
  854. package/src/lib/plugin-manager/plugin-entitlement-keys.js +84 -0
  855. package/src/lib/plugin-manager/plugin-entitlement-keys.js.map +1 -0
  856. package/src/lib/plugin-manager/plugin-entitlements.d.ts +181 -0
  857. package/src/lib/plugin-manager/plugin-entitlements.js +188 -0
  858. package/src/lib/plugin-manager/plugin-entitlements.js.map +1 -0
  859. package/src/lib/plugin-manager/plugin-events.d.ts +145 -0
  860. package/src/lib/plugin-manager/plugin-events.js +79 -0
  861. package/src/lib/plugin-manager/plugin-events.js.map +1 -0
  862. package/src/lib/plugin-manager/plugin-figures.d.ts +251 -0
  863. package/src/lib/plugin-manager/plugin-figures.js +252 -0
  864. package/src/lib/plugin-manager/plugin-figures.js.map +1 -0
  865. package/src/lib/plugin-manager/plugin-host-collections.d.ts +146 -0
  866. package/src/lib/plugin-manager/plugin-host-collections.js +116 -0
  867. package/src/lib/plugin-manager/plugin-host-collections.js.map +1 -0
  868. package/src/lib/plugin-manager/plugin-jobs.d.ts +130 -0
  869. package/src/lib/plugin-manager/plugin-jobs.js +182 -0
  870. package/src/lib/plugin-manager/plugin-jobs.js.map +1 -0
  871. package/src/lib/plugin-manager/plugin-loader.d.ts +86 -0
  872. package/src/lib/plugin-manager/plugin-loader.js +223 -0
  873. package/src/lib/plugin-manager/plugin-loader.js.map +1 -0
  874. package/src/lib/plugin-manager/plugin-manager.d.ts +95 -0
  875. package/src/lib/plugin-manager/plugin-manager.js +343 -0
  876. package/src/lib/plugin-manager/plugin-manager.js.map +1 -0
  877. package/src/lib/plugin-manager/plugin-metered-lines.d.ts +97 -0
  878. package/src/lib/plugin-manager/plugin-metered-lines.js +123 -0
  879. package/src/lib/plugin-manager/plugin-metered-lines.js.map +1 -0
  880. package/src/lib/plugin-manager/plugin-org-erasure.d.ts +52 -0
  881. package/src/lib/plugin-manager/plugin-org-erasure.js +100 -0
  882. package/src/lib/plugin-manager/plugin-org-erasure.js.map +1 -0
  883. package/src/lib/plugin-manager/plugin-permissions.d.ts +69 -0
  884. package/src/lib/plugin-manager/plugin-permissions.js +77 -0
  885. package/src/lib/plugin-manager/plugin-permissions.js.map +1 -0
  886. package/src/lib/plugin-manager/plugin-person-erasure.d.ts +58 -0
  887. package/src/lib/plugin-manager/plugin-person-erasure.js +109 -0
  888. package/src/lib/plugin-manager/plugin-person-erasure.js.map +1 -0
  889. package/src/lib/plugin-manager/plugin-record-cards.d.ts +99 -0
  890. package/src/lib/plugin-manager/plugin-record-cards.js +59 -0
  891. package/src/lib/plugin-manager/plugin-record-cards.js.map +1 -0
  892. package/src/lib/plugin-manager/plugin-record-facts.d.ts +111 -0
  893. package/src/lib/plugin-manager/plugin-record-facts.js +51 -0
  894. package/src/lib/plugin-manager/plugin-record-facts.js.map +1 -0
  895. package/src/lib/plugin-manager/plugin-record-routes.d.ts +129 -0
  896. package/src/lib/plugin-manager/plugin-record-routes.js +93 -0
  897. package/src/lib/plugin-manager/plugin-record-routes.js.map +1 -0
  898. package/src/lib/plugin-manager/plugin-record-timeline.d.ts +147 -0
  899. package/src/lib/plugin-manager/plugin-record-timeline.js +39 -0
  900. package/src/lib/plugin-manager/plugin-record-timeline.js.map +1 -0
  901. package/src/lib/plugin-manager/plugin-resource-drafts.d.ts +137 -0
  902. package/src/lib/plugin-manager/plugin-resource-drafts.js +51 -0
  903. package/src/lib/plugin-manager/plugin-resource-drafts.js.map +1 -0
  904. package/src/lib/plugin-manager/plugin-services.d.ts +94 -0
  905. package/src/lib/plugin-manager/plugin-services.js +153 -0
  906. package/src/lib/plugin-manager/plugin-services.js.map +1 -0
  907. package/src/lib/plugin-manager/plugin-styles-ui.d.ts +71 -0
  908. package/src/lib/plugin-manager/plugin-styles-ui.js +80 -0
  909. package/src/lib/plugin-manager/plugin-styles-ui.js.map +1 -0
  910. package/src/lib/plugin-manager/plugin-styles.d.ts +176 -0
  911. package/src/lib/plugin-manager/plugin-styles.js +186 -0
  912. package/src/lib/plugin-manager/plugin-styles.js.map +1 -0
  913. package/src/lib/plugin-manager/plugin-subprocessors.d.ts +135 -0
  914. package/src/lib/plugin-manager/plugin-subprocessors.js +129 -0
  915. package/src/lib/plugin-manager/plugin-subprocessors.js.map +1 -0
  916. package/src/lib/plugin-manager/plugin-tax-profile.d.ts +84 -0
  917. package/src/lib/plugin-manager/plugin-tax-profile.js +39 -0
  918. package/src/lib/plugin-manager/plugin-tax-profile.js.map +1 -0
  919. package/src/lib/plugin-manager/plugin-user-erasure.d.ts +53 -0
  920. package/src/lib/plugin-manager/plugin-user-erasure.js +84 -0
  921. package/src/lib/plugin-manager/plugin-user-erasure.js.map +1 -0
  922. package/src/lib/plugin-manager/plugin-zones.d.ts +121 -0
  923. package/src/lib/plugin-manager/plugin-zones.js +74 -0
  924. package/src/lib/plugin-manager/plugin-zones.js.map +1 -0
  925. package/src/lib/plugin-manager/realm-plugins.d.ts +112 -0
  926. package/src/lib/plugin-manager/realm-plugins.js +196 -0
  927. package/src/lib/plugin-manager/realm-plugins.js.map +1 -0
  928. package/src/lib/plugin-manager/realm-server.d.ts +54 -0
  929. package/src/lib/plugin-manager/realm-server.js +88 -0
  930. package/src/lib/plugin-manager/realm-server.js.map +1 -0
  931. package/src/lib/plugin-manager/record-zone-props.d.ts +126 -0
  932. package/src/lib/plugin-manager/record-zone-props.js +31 -0
  933. package/src/lib/plugin-manager/record-zone-props.js.map +1 -0
  934. package/src/lib/plugin-manager/site-page-hooks.d.ts +102 -0
  935. package/src/lib/plugin-manager/site-page-hooks.js +114 -0
  936. package/src/lib/plugin-manager/site-page-hooks.js.map +1 -0
  937. package/src/lib/plugin-manager/site-runtime.d.ts +57 -0
  938. package/src/lib/plugin-manager/site-runtime.js +25 -0
  939. package/src/lib/plugin-manager/site-runtime.js.map +1 -0
  940. package/src/lib/plugin-manager/usage-alert-contributors.d.ts +115 -0
  941. package/src/lib/plugin-manager/usage-alert-contributors.js +106 -0
  942. package/src/lib/plugin-manager/usage-alert-contributors.js.map +1 -0
  943. package/src/lib/types/ast.d.ts +199 -0
  944. package/src/lib/types/ast.js +20 -0
  945. package/src/lib/types/ast.js.map +1 -0
  946. package/src/lib/types/index.d.ts +20 -0
  947. package/src/lib/types/index.js +21 -0
  948. package/src/lib/types/index.js.map +1 -0
  949. package/src/lib/types/nodes.d.ts +608 -0
  950. package/src/lib/types/nodes.js +28 -0
  951. package/src/lib/types/nodes.js.map +1 -0
  952. package/src/lib/types/routing.d.ts +17 -0
  953. package/src/lib/types/routing.js +18 -0
  954. package/src/lib/types/routing.js.map +1 -0
  955. package/src/lib/types/screen.d.ts +23 -0
  956. package/src/lib/types/screen.js +18 -0
  957. package/src/lib/types/screen.js.map +1 -0
  958. package/src/lib/utils.d.ts +25 -0
  959. package/src/lib/utils.js +42 -0
  960. package/src/lib/utils.js.map +1 -0
  961. package/src/server.d.ts +37 -0
  962. package/src/server.js +55 -0
  963. package/src/server.js.map +1 -0
@@ -0,0 +1,140 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */ /**
17
+ * The compose-time half of the drop/render agreement (AGL-1389).
18
+ *
19
+ * A guard that only inspects a component function misses this entirely, and
20
+ * the miss is not hypothetical: `reusableInstance` renders `{children}` — it
21
+ * looks perfect — and destroyed every node dropped into it anyway, because
22
+ * {@link composeReusableComponentNodes} REPLACES the instance's child list
23
+ * with the grafted definition subtree before any renderer sees the tree
24
+ * (`nodes: [prefixId(definition.rootId)]`). Reading the component alone would
25
+ * have cleared it.
26
+ *
27
+ * So the child a node holds is checked where every render surface gets its
28
+ * tree from: after compose. Pure data in, pure data out — no React, no
29
+ * providers, no canvas singleton, and therefore no exemptions.
30
+ */ import { NODE_ROOT_ID } from "../canvas-manager/canvas-manager.js";
31
+ import { composeLayoutAndScreenNodes } from "./compose-layout-nodes.js";
32
+ import { composeReusableComponentNodes } from "./compose-reusable-components.js";
33
+ const SUBJECT_ID = 'child-contract-subject';
34
+ const SENTINEL_ID = 'child-contract-sentinel';
35
+ const DEFINITION_ID = 'child-contract-definition';
36
+ /**
37
+ * A minimal screen: root → one node of `componentId` → one sentinel child.
38
+ *
39
+ * `props.refId` is set on every subject, not only on instances: it is what
40
+ * makes the reusable graft actually fire, and a probe that quietly skipped
41
+ * the expansion would report "children survive" about a code path it never
42
+ * entered.
43
+ */ function probeScreen(componentId) {
44
+ return {
45
+ [NODE_ROOT_ID]: {
46
+ $id: NODE_ROOT_ID,
47
+ parentId: null,
48
+ componentId: 'div',
49
+ nodes: [
50
+ SUBJECT_ID
51
+ ]
52
+ },
53
+ [SUBJECT_ID]: {
54
+ $id: SUBJECT_ID,
55
+ parentId: NODE_ROOT_ID,
56
+ componentId,
57
+ props: {
58
+ refId: DEFINITION_ID
59
+ },
60
+ nodes: [
61
+ SENTINEL_ID
62
+ ]
63
+ },
64
+ [SENTINEL_ID]: {
65
+ $id: SENTINEL_ID,
66
+ parentId: SUBJECT_ID,
67
+ componentId: 'muiTypography',
68
+ props: {
69
+ children: 'sentinel'
70
+ },
71
+ nodes: []
72
+ }
73
+ };
74
+ }
75
+ /** A one-node definition for the graft to resolve `refId` against. */ function probeDefinition() {
76
+ return {
77
+ rootId: 'def-root',
78
+ nodes: {
79
+ 'def-root': {
80
+ $id: 'def-root',
81
+ parentId: null,
82
+ componentId: 'muiStack',
83
+ nodes: []
84
+ }
85
+ }
86
+ };
87
+ }
88
+ /** A layout whose slot the screen's top-level nodes are grafted into. */ function probeLayout() {
89
+ return {
90
+ [NODE_ROOT_ID]: {
91
+ $id: NODE_ROOT_ID,
92
+ parentId: null,
93
+ componentId: 'div',
94
+ nodes: [
95
+ 'slot'
96
+ ]
97
+ },
98
+ slot: {
99
+ $id: 'slot',
100
+ parentId: NODE_ROOT_ID,
101
+ componentId: 'layoutSlot',
102
+ nodes: []
103
+ }
104
+ };
105
+ }
106
+ /** Whether the sentinel is still in the map AND still the subject's child. */ function sentinelSurvives(composed) {
107
+ var _composed_SUBJECT_ID;
108
+ if (!(composed == null ? void 0 : composed[SENTINEL_ID])) return false;
109
+ const children = (_composed_SUBJECT_ID = composed[SUBJECT_ID]) == null ? void 0 : _composed_SUBJECT_ID.nodes;
110
+ return Array.isArray(children) && children.includes(SENTINEL_ID);
111
+ }
112
+ /**
113
+ * Every component id whose children a compose pass destroys, as
114
+ * reviewer-facing lines (empty = the contract holds).
115
+ *
116
+ * Call it with the ids the editor accepts a drop into
117
+ * (`listAcceptingComponentIds`), which is exactly the set for which "the
118
+ * author put a node here" must survive to a render surface. Ids the editor
119
+ * already refuses are not probed — a component that cannot receive a drop is
120
+ * free to rewrite its own child list, which is what `reusableInstance` and
121
+ * `layoutSlot` do for a living.
122
+ */ export function auditComposeChildSurvival(acceptingComponentIds) {
123
+ const problems = [];
124
+ for (const componentId of acceptingComponentIds){
125
+ if (!componentId) continue;
126
+ const grafted = composeReusableComponentNodes(probeScreen(componentId), {
127
+ [DEFINITION_ID]: probeDefinition()
128
+ });
129
+ if (!sentinelSurvives(grafted)) {
130
+ problems.push(`${componentId} accepts a drop, but composeReusableComponentNodes ` + 'destroys the node dropped into it — the author would see it in ' + 'the hierarchy and the published page would not have it. Declare ' + 'flags.dropping: FEATURE_FLAG.DISABLED, or stop rewriting its ' + 'child list (AGL-1389)');
131
+ }
132
+ const laidOut = composeLayoutAndScreenNodes(probeLayout(), probeScreen(componentId));
133
+ if (!sentinelSurvives(laidOut)) {
134
+ problems.push(`${componentId} accepts a drop, but composeLayoutAndScreenNodes ` + 'destroys the node dropped into it — the author would see it in ' + 'the hierarchy and the published page would not have it. Declare ' + 'flags.dropping: FEATURE_FLAG.DISABLED, or stop rewriting its ' + 'child list (AGL-1389)');
135
+ }
136
+ }
137
+ return problems.sort();
138
+ }
139
+
140
+ //# sourceMappingURL=child-contract-compose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/child-contract-compose.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * The compose-time half of the drop/render agreement (AGL-1389).\n *\n * A guard that only inspects a component function misses this entirely, and\n * the miss is not hypothetical: `reusableInstance` renders `{children}` — it\n * looks perfect — and destroyed every node dropped into it anyway, because\n * {@link composeReusableComponentNodes} REPLACES the instance's child list\n * with the grafted definition subtree before any renderer sees the tree\n * (`nodes: [prefixId(definition.rootId)]`). Reading the component alone would\n * have cleared it.\n *\n * So the child a node holds is checked where every render surface gets its\n * tree from: after compose. Pure data in, pure data out — no React, no\n * providers, no canvas singleton, and therefore no exemptions.\n */\n\nimport { NODE_ROOT_ID } from '../canvas-manager/canvas-manager'\nimport type { AglynNodeSchema, NodeId } from '../foundation'\nimport { composeLayoutAndScreenNodes } from './compose-layout-nodes'\nimport {\n composeReusableComponentNodes,\n type ReusableComponentTree,\n} from './compose-reusable-components'\n\nconst SUBJECT_ID = 'child-contract-subject'\nconst SENTINEL_ID = 'child-contract-sentinel'\nconst DEFINITION_ID = 'child-contract-definition'\n\ntype Nodes = Record<NodeId, AglynNodeSchema>\n\n/**\n * A minimal screen: root → one node of `componentId` → one sentinel child.\n *\n * `props.refId` is set on every subject, not only on instances: it is what\n * makes the reusable graft actually fire, and a probe that quietly skipped\n * the expansion would report \"children survive\" about a code path it never\n * entered.\n */\nfunction probeScreen(componentId: string): Nodes {\n return {\n [NODE_ROOT_ID]: {\n $id: NODE_ROOT_ID,\n parentId: null,\n componentId: 'div',\n nodes: [SUBJECT_ID],\n },\n [SUBJECT_ID]: {\n $id: SUBJECT_ID,\n parentId: NODE_ROOT_ID,\n componentId,\n props: { refId: DEFINITION_ID },\n nodes: [SENTINEL_ID],\n },\n [SENTINEL_ID]: {\n $id: SENTINEL_ID,\n parentId: SUBJECT_ID,\n componentId: 'muiTypography',\n props: { children: 'sentinel' },\n nodes: [],\n },\n } as unknown as Nodes\n}\n\n/** A one-node definition for the graft to resolve `refId` against. */\nfunction probeDefinition(): ReusableComponentTree {\n return {\n rootId: 'def-root',\n nodes: {\n 'def-root': {\n $id: 'def-root',\n parentId: null,\n componentId: 'muiStack',\n nodes: [],\n },\n } as unknown as ReusableComponentTree['nodes'],\n }\n}\n\n/** A layout whose slot the screen's top-level nodes are grafted into. */\nfunction probeLayout(): Nodes {\n return {\n [NODE_ROOT_ID]: {\n $id: NODE_ROOT_ID,\n parentId: null,\n componentId: 'div',\n nodes: ['slot'],\n },\n slot: {\n $id: 'slot',\n parentId: NODE_ROOT_ID,\n componentId: 'layoutSlot',\n nodes: [],\n },\n } as unknown as Nodes\n}\n\n/** Whether the sentinel is still in the map AND still the subject's child. */\nfunction sentinelSurvives(composed: Nodes): boolean {\n if (!composed?.[SENTINEL_ID]) return false\n const children = composed[SUBJECT_ID]?.nodes\n return Array.isArray(children) && (children as NodeId[]).includes(SENTINEL_ID)\n}\n\n/**\n * Every component id whose children a compose pass destroys, as\n * reviewer-facing lines (empty = the contract holds).\n *\n * Call it with the ids the editor accepts a drop into\n * (`listAcceptingComponentIds`), which is exactly the set for which \"the\n * author put a node here\" must survive to a render surface. Ids the editor\n * already refuses are not probed — a component that cannot receive a drop is\n * free to rewrite its own child list, which is what `reusableInstance` and\n * `layoutSlot` do for a living.\n */\nexport function auditComposeChildSurvival(\n acceptingComponentIds: readonly string[],\n): string[] {\n const problems: string[] = []\n for (const componentId of acceptingComponentIds) {\n if (!componentId) continue\n\n const grafted = composeReusableComponentNodes(probeScreen(componentId), {\n [DEFINITION_ID]: probeDefinition(),\n }) as Nodes\n if (!sentinelSurvives(grafted)) {\n problems.push(\n `${componentId} accepts a drop, but composeReusableComponentNodes ` +\n 'destroys the node dropped into it — the author would see it in ' +\n 'the hierarchy and the published page would not have it. Declare ' +\n 'flags.dropping: FEATURE_FLAG.DISABLED, or stop rewriting its ' +\n 'child list (AGL-1389)',\n )\n }\n\n const laidOut = composeLayoutAndScreenNodes(\n probeLayout(),\n probeScreen(componentId),\n ) as Nodes\n if (!sentinelSurvives(laidOut)) {\n problems.push(\n `${componentId} accepts a drop, but composeLayoutAndScreenNodes ` +\n 'destroys the node dropped into it — the author would see it in ' +\n 'the hierarchy and the published page would not have it. Declare ' +\n 'flags.dropping: FEATURE_FLAG.DISABLED, or stop rewriting its ' +\n 'child list (AGL-1389)',\n )\n }\n }\n return problems.sort()\n}\n"],"names":["NODE_ROOT_ID","composeLayoutAndScreenNodes","composeReusableComponentNodes","SUBJECT_ID","SENTINEL_ID","DEFINITION_ID","probeScreen","componentId","$id","parentId","nodes","props","refId","children","probeDefinition","rootId","probeLayout","slot","sentinelSurvives","composed","Array","isArray","includes","auditComposeChildSurvival","acceptingComponentIds","problems","grafted","push","laidOut","sort"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED;;;;;;;;;;;;;;CAcC,GAED,SAASA,YAAY,QAAQ,sCAAkC;AAE/D,SAASC,2BAA2B,QAAQ,4BAAwB;AACpE,SACEC,6BAA6B,QAExB,mCAA+B;AAEtC,MAAMC,aAAa;AACnB,MAAMC,cAAc;AACpB,MAAMC,gBAAgB;AAItB;;;;;;;CAOC,GACD,SAASC,YAAYC,WAAmB;IACtC,OAAO;QACL,CAACP,aAAa,EAAE;YACdQ,KAAKR;YACLS,UAAU;YACVF,aAAa;YACbG,OAAO;gBAACP;aAAW;QACrB;QACA,CAACA,WAAW,EAAE;YACZK,KAAKL;YACLM,UAAUT;YACVO;YACAI,OAAO;gBAAEC,OAAOP;YAAc;YAC9BK,OAAO;gBAACN;aAAY;QACtB;QACA,CAACA,YAAY,EAAE;YACbI,KAAKJ;YACLK,UAAUN;YACVI,aAAa;YACbI,OAAO;gBAAEE,UAAU;YAAW;YAC9BH,OAAO,EAAE;QACX;IACF;AACF;AAEA,oEAAoE,GACpE,SAASI;IACP,OAAO;QACLC,QAAQ;QACRL,OAAO;YACL,YAAY;gBACVF,KAAK;gBACLC,UAAU;gBACVF,aAAa;gBACbG,OAAO,EAAE;YACX;QACF;IACF;AACF;AAEA,uEAAuE,GACvE,SAASM;IACP,OAAO;QACL,CAAChB,aAAa,EAAE;YACdQ,KAAKR;YACLS,UAAU;YACVF,aAAa;YACbG,OAAO;gBAAC;aAAO;QACjB;QACAO,MAAM;YACJT,KAAK;YACLC,UAAUT;YACVO,aAAa;YACbG,OAAO,EAAE;QACX;IACF;AACF;AAEA,4EAA4E,GAC5E,SAASQ,iBAAiBC,QAAe;QAEtBA;IADjB,IAAI,EAACA,4BAAAA,QAAU,CAACf,YAAY,GAAE,OAAO;IACrC,MAAMS,YAAWM,uBAAAA,QAAQ,CAAChB,WAAW,qBAApBgB,qBAAsBT,KAAK;IAC5C,OAAOU,MAAMC,OAAO,CAACR,aAAa,AAACA,SAAsBS,QAAQ,CAAClB;AACpE;AAEA;;;;;;;;;;CAUC,GACD,OAAO,SAASmB,0BACdC,qBAAwC;IAExC,MAAMC,WAAqB,EAAE;IAC7B,KAAK,MAAMlB,eAAeiB,sBAAuB;QAC/C,IAAI,CAACjB,aAAa;QAElB,MAAMmB,UAAUxB,8BAA8BI,YAAYC,cAAc;YACtE,CAACF,cAAc,EAAES;QACnB;QACA,IAAI,CAACI,iBAAiBQ,UAAU;YAC9BD,SAASE,IAAI,CACX,GAAGpB,YAAY,mDAAmD,CAAC,GACjE,oEACA,qEACA,kEACA;QAEN;QAEA,MAAMqB,UAAU3B,4BACde,eACAV,YAAYC;QAEd,IAAI,CAACW,iBAAiBU,UAAU;YAC9BH,SAASE,IAAI,CACX,GAAGpB,YAAY,iDAAiD,CAAC,GAC/D,oEACA,qEACA,kEACA;QAEN;IACF;IACA,OAAOkB,SAASI,IAAI;AACtB"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * The drop/render agreement (AGL-1389).
19
+ *
20
+ * A component that accepts a drop in the hierarchy and discards the node at
21
+ * render is silent data loss: the author sees the node in the tree, the
22
+ * published page does not have it, and nothing warns — so the work reads as
23
+ * *never done* rather than broken. Three /press screenshots shipped in a page
24
+ * payload for weeks that way (AGL-1388).
25
+ *
26
+ * That was found by reading all 82 registered schemas by hand, one at a time.
27
+ * This module is the repeatable half: the predicate the editor actually gates
28
+ * drops on, plus an audit that turns "someone added a component and never
29
+ * thought about children" into a red test.
30
+ *
31
+ * Deliberately NOT a render sweep. Rendering every schema with a sentinel
32
+ * child fails for components that legitimately hide children behind state
33
+ * (a collapsed Accordion, a closed Drawer, a `lazyPanels` TabPanel) and for
34
+ * every one needing a provider or the canvas singleton — so it would need an
35
+ * exemption list, and an exemption list that grows silently is worth less
36
+ * than no test. See {@link auditChildContract} for what is enforced instead.
37
+ */
38
+ import { FEATURE_FLAG } from '../foundation/constants/shared';
39
+ /**
40
+ * The slice of a component schema this contract reads. Structural on purpose:
41
+ * `ComponentSchema` (types/nodes) and `AglynComponentSchema` (foundation) are
42
+ * two spellings of the same thing and bundles are typed with both.
43
+ */
44
+ export interface ChildContractSchema {
45
+ $id?: string;
46
+ displayName?: string;
47
+ restrictChildren?: unknown;
48
+ flags?: {
49
+ dropping?: FEATURE_FLAG;
50
+ selfClosing?: FEATURE_FLAG;
51
+ textEditable?: FEATURE_FLAG;
52
+ };
53
+ }
54
+ /** One registry entry — matches `MUI_BUNDLE` / `FeatureBundleEntry`. */
55
+ export interface ChildContractEntry {
56
+ schema: ChildContractSchema;
57
+ }
58
+ /**
59
+ * True only when a feature flag is explicitly present and carries the ENABLED
60
+ * bit. An absent (undefined) flag reads as false: components that declare no
61
+ * flags at all (Stack, Section, the document root) must not be mistaken for
62
+ * self-closing leaves.
63
+ */
64
+ export declare function isLeafFlagEnabled(flag?: FEATURE_FLAG): boolean;
65
+ /**
66
+ * The mirror, for the flags whose interesting value is the switched-OFF one.
67
+ * An absent flag reads as false, so a component that declares no flags keeps
68
+ * the permissive default.
69
+ */
70
+ export declare function isFlagDisabled(flag?: FEATURE_FLAG): boolean;
71
+ /**
72
+ * Whether the editor will let a node be dropped into a node of this component
73
+ * — the ONE rule every author-facing entry point shares (the Insert menu and
74
+ * paste via `resolveInsertTarget`, canvas drag-and-drop via the dnd manager's
75
+ * `computedDrop`, and the drop indicator), read through
76
+ * `CanvasManager.nodeAcceptsChildren`.
77
+ *
78
+ * Four ways a schema declares it has nowhere to put a dropped node:
79
+ *
80
+ * - `flags.selfClosing` — an image, an icon, a divider.
81
+ * - `flags.textEditable` — the component renders `children` as editable text,
82
+ * so an element dropped in would be destroyed by the next text edit.
83
+ * - `flags.dropping: DISABLED` — neither of the above, but still no slot
84
+ * (AGL-1388): Markdown renders its parsed `content` prop and nothing else;
85
+ * a Reusable Component instance has its child list REPLACED by the grafted
86
+ * definition at compose time; List Item Text hands `children` to MUI, which
87
+ * reads it only as a fallback for a missing `primary`.
88
+ * - an empty `restrictChildren` allowlist — see above.
89
+ *
90
+ * Anything else accepts children, which is why the audit below exists: the
91
+ * permissive answer is the DEFAULT, so a component nobody thought about is
92
+ * indistinguishable from a container until something asks.
93
+ *
94
+ * An unregistered / missing schema accepts children, matching the canvas.
95
+ */
96
+ export declare function schemaAcceptsChildren(schema: ChildContractSchema | null | undefined): boolean;
97
+ /**
98
+ * A bundle's declared containers: the component ids whose author has
99
+ * confirmed the component renders the nodes dropped into it.
100
+ *
101
+ * Not an exemption list — the inverse. Exemptions are the entries a guard
102
+ * agrees to skip, so they accumulate quietly and the guard shrinks. This list
103
+ * is the set the guard is ABOUT: a new component defaults to accepting
104
+ * children, so it lands here or the test is red, and the only way to make it
105
+ * green is to answer the question ("does it render `children`?") one way or
106
+ * the other. Nothing can be added by accident.
107
+ */
108
+ export type DeclaredContainers = readonly string[];
109
+ /**
110
+ * Every disagreement between a bundle's schemas and its declared container
111
+ * list, as reviewer-facing lines (empty = the contract holds).
112
+ *
113
+ * Both directions matter:
114
+ *
115
+ * - An undeclared container is the AGL-1388 shape arriving again — a
116
+ * component the editor will accept a drop into that nobody has confirmed
117
+ * renders one.
118
+ * - A declared id that no longer accepts a drop, or is no longer registered,
119
+ * is a stale entry. Left alone the list would slowly become a wish, and a
120
+ * guard checked against a wish passes over anything.
121
+ *
122
+ * Returns strings rather than throwing so the caller is a one-line
123
+ * `expect(...).toEqual([])` whose failure output names every offender at once
124
+ * — the whole point being that the next person does not repeat the 82-schema
125
+ * hand audit.
126
+ */
127
+ export declare function auditChildContract(entries: readonly ChildContractEntry[], declared: DeclaredContainers): string[];
128
+ /** The ids in a bundle the editor will accept a drop into, sorted. */
129
+ export declare function listAcceptingComponentIds(entries: readonly ChildContractEntry[]): string[];
@@ -0,0 +1,153 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */ /**
17
+ * The drop/render agreement (AGL-1389).
18
+ *
19
+ * A component that accepts a drop in the hierarchy and discards the node at
20
+ * render is silent data loss: the author sees the node in the tree, the
21
+ * published page does not have it, and nothing warns — so the work reads as
22
+ * *never done* rather than broken. Three /press screenshots shipped in a page
23
+ * payload for weeks that way (AGL-1388).
24
+ *
25
+ * That was found by reading all 82 registered schemas by hand, one at a time.
26
+ * This module is the repeatable half: the predicate the editor actually gates
27
+ * drops on, plus an audit that turns "someone added a component and never
28
+ * thought about children" into a red test.
29
+ *
30
+ * Deliberately NOT a render sweep. Rendering every schema with a sentinel
31
+ * child fails for components that legitimately hide children behind state
32
+ * (a collapsed Accordion, a closed Drawer, a `lazyPanels` TabPanel) and for
33
+ * every one needing a provider or the canvas singleton — so it would need an
34
+ * exemption list, and an exemption list that grows silently is worth less
35
+ * than no test. See {@link auditChildContract} for what is enforced instead.
36
+ */ import { FEATURE_FLAG } from "../foundation/constants/shared.js";
37
+ /**
38
+ * True only when a feature flag is explicitly present and carries the ENABLED
39
+ * bit. An absent (undefined) flag reads as false: components that declare no
40
+ * flags at all (Stack, Section, the document root) must not be mistaken for
41
+ * self-closing leaves.
42
+ */ export function isLeafFlagEnabled(flag) {
43
+ return typeof flag === 'number' && (flag & FEATURE_FLAG.ENABLED) !== 0;
44
+ }
45
+ /**
46
+ * The mirror, for the flags whose interesting value is the switched-OFF one.
47
+ * An absent flag reads as false, so a component that declares no flags keeps
48
+ * the permissive default.
49
+ */ export function isFlagDisabled(flag) {
50
+ return typeof flag === 'number' && (flag & FEATURE_FLAG.DISABLED) !== 0;
51
+ }
52
+ /**
53
+ * A `restrictChildren` that allows NOTHING — `[LIMIT_TO, { components: [] }]`,
54
+ * the Layout Slot's spelling of "my children come from somewhere else".
55
+ *
56
+ * Read here as a fourth way to say "no canvas child slot", alongside the three
57
+ * flags: the dnd manager's `confirmValidLinealRelationship` already refuses
58
+ * every candidate against an empty allowlist, so a schema that says this and
59
+ * nothing else was already unreachable by drop — the hierarchy just hadn't
60
+ * been told. Deliberately narrow: an empty DISALLOW list forbids nothing, and
61
+ * an allowlist naming plugins (rather than components) still admits those.
62
+ */ function restrictsChildrenToNothing(restrict) {
63
+ if (!Array.isArray(restrict) || restrict.length < 2) return false;
64
+ const [directive, definition] = restrict;
65
+ if (directive !== 'limitedTo') return false;
66
+ if (Array.isArray(definition)) return definition.length === 0;
67
+ if (!definition || typeof definition !== 'object') return false;
68
+ const { components, plugins } = definition;
69
+ if (Array.isArray(plugins) && plugins.length > 0) return false;
70
+ return Array.isArray(components) && components.length === 0;
71
+ }
72
+ /**
73
+ * Whether the editor will let a node be dropped into a node of this component
74
+ * — the ONE rule every author-facing entry point shares (the Insert menu and
75
+ * paste via `resolveInsertTarget`, canvas drag-and-drop via the dnd manager's
76
+ * `computedDrop`, and the drop indicator), read through
77
+ * `CanvasManager.nodeAcceptsChildren`.
78
+ *
79
+ * Four ways a schema declares it has nowhere to put a dropped node:
80
+ *
81
+ * - `flags.selfClosing` — an image, an icon, a divider.
82
+ * - `flags.textEditable` — the component renders `children` as editable text,
83
+ * so an element dropped in would be destroyed by the next text edit.
84
+ * - `flags.dropping: DISABLED` — neither of the above, but still no slot
85
+ * (AGL-1388): Markdown renders its parsed `content` prop and nothing else;
86
+ * a Reusable Component instance has its child list REPLACED by the grafted
87
+ * definition at compose time; List Item Text hands `children` to MUI, which
88
+ * reads it only as a fallback for a missing `primary`.
89
+ * - an empty `restrictChildren` allowlist — see above.
90
+ *
91
+ * Anything else accepts children, which is why the audit below exists: the
92
+ * permissive answer is the DEFAULT, so a component nobody thought about is
93
+ * indistinguishable from a container until something asks.
94
+ *
95
+ * An unregistered / missing schema accepts children, matching the canvas.
96
+ */ export function schemaAcceptsChildren(schema) {
97
+ if (!schema) return true;
98
+ const flags = schema.flags;
99
+ if (isFlagDisabled(flags == null ? void 0 : flags.dropping)) return false;
100
+ if (isLeafFlagEnabled(flags == null ? void 0 : flags.selfClosing)) return false;
101
+ if (isLeafFlagEnabled(flags == null ? void 0 : flags.textEditable)) return false;
102
+ return !restrictsChildrenToNothing(schema.restrictChildren);
103
+ }
104
+ /**
105
+ * Every disagreement between a bundle's schemas and its declared container
106
+ * list, as reviewer-facing lines (empty = the contract holds).
107
+ *
108
+ * Both directions matter:
109
+ *
110
+ * - An undeclared container is the AGL-1388 shape arriving again — a
111
+ * component the editor will accept a drop into that nobody has confirmed
112
+ * renders one.
113
+ * - A declared id that no longer accepts a drop, or is no longer registered,
114
+ * is a stale entry. Left alone the list would slowly become a wish, and a
115
+ * guard checked against a wish passes over anything.
116
+ *
117
+ * Returns strings rather than throwing so the caller is a one-line
118
+ * `expect(...).toEqual([])` whose failure output names every offender at once
119
+ * — the whole point being that the next person does not repeat the 82-schema
120
+ * hand audit.
121
+ */ export function auditChildContract(entries, declared) {
122
+ const problems = [];
123
+ const declaredSet = new Set(declared);
124
+ const registered = new Set();
125
+ for (const entry of entries){
126
+ const schema = entry == null ? void 0 : entry.schema;
127
+ const id = schema == null ? void 0 : schema.$id;
128
+ if (!id) {
129
+ var _ref;
130
+ problems.push(`a schema in this bundle has no $id (${(_ref = schema == null ? void 0 : schema.displayName) != null ? _ref : 'unnamed'}) — it cannot be held to the drop/render agreement`);
131
+ continue;
132
+ }
133
+ registered.add(id);
134
+ const accepts = schemaAcceptsChildren(schema);
135
+ if (accepts && !declaredSet.has(id)) {
136
+ problems.push(`${id} accepts a drop but is not a declared container — either it ` + 'renders its children (add it to the list) or it does not, and ' + 'then it must SAY so: flags.selfClosing, flags.textEditable, ' + 'flags.dropping: FEATURE_FLAG.DISABLED, or an empty ' + 'restrictChildren allowlist (AGL-1389)');
137
+ }
138
+ if (!accepts && declaredSet.has(id)) {
139
+ problems.push(`${id} is a declared container but the editor now refuses drops ` + 'into it — drop it from the list, or remove whatever flag closed ' + 'it (AGL-1389)');
140
+ }
141
+ }
142
+ for (const id of declaredSet){
143
+ if (!registered.has(id)) {
144
+ problems.push(`${id} is a declared container but is not registered in this ` + 'bundle — remove the stale entry (AGL-1389)');
145
+ }
146
+ }
147
+ return problems.sort();
148
+ }
149
+ /** The ids in a bundle the editor will accept a drop into, sorted. */ export function listAcceptingComponentIds(entries) {
150
+ return entries.filter((entry)=>schemaAcceptsChildren(entry == null ? void 0 : entry.schema)).map((entry)=>entry.schema.$id).filter(Boolean).sort();
151
+ }
152
+
153
+ //# sourceMappingURL=child-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/child-contract.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * The drop/render agreement (AGL-1389).\n *\n * A component that accepts a drop in the hierarchy and discards the node at\n * render is silent data loss: the author sees the node in the tree, the\n * published page does not have it, and nothing warns — so the work reads as\n * *never done* rather than broken. Three /press screenshots shipped in a page\n * payload for weeks that way (AGL-1388).\n *\n * That was found by reading all 82 registered schemas by hand, one at a time.\n * This module is the repeatable half: the predicate the editor actually gates\n * drops on, plus an audit that turns \"someone added a component and never\n * thought about children\" into a red test.\n *\n * Deliberately NOT a render sweep. Rendering every schema with a sentinel\n * child fails for components that legitimately hide children behind state\n * (a collapsed Accordion, a closed Drawer, a `lazyPanels` TabPanel) and for\n * every one needing a provider or the canvas singleton — so it would need an\n * exemption list, and an exemption list that grows silently is worth less\n * than no test. See {@link auditChildContract} for what is enforced instead.\n */\n\nimport { FEATURE_FLAG } from '../foundation/constants/shared'\n\n/**\n * The slice of a component schema this contract reads. Structural on purpose:\n * `ComponentSchema` (types/nodes) and `AglynComponentSchema` (foundation) are\n * two spellings of the same thing and bundles are typed with both.\n */\nexport interface ChildContractSchema {\n $id?: string\n displayName?: string\n restrictChildren?: unknown\n flags?: {\n dropping?: FEATURE_FLAG\n selfClosing?: FEATURE_FLAG\n textEditable?: FEATURE_FLAG\n }\n}\n\n/** One registry entry — matches `MUI_BUNDLE` / `FeatureBundleEntry`. */\nexport interface ChildContractEntry {\n schema: ChildContractSchema\n}\n\n/**\n * True only when a feature flag is explicitly present and carries the ENABLED\n * bit. An absent (undefined) flag reads as false: components that declare no\n * flags at all (Stack, Section, the document root) must not be mistaken for\n * self-closing leaves.\n */\nexport function isLeafFlagEnabled(flag?: FEATURE_FLAG): boolean {\n return typeof flag === 'number' && (flag & FEATURE_FLAG.ENABLED) !== 0\n}\n\n/**\n * The mirror, for the flags whose interesting value is the switched-OFF one.\n * An absent flag reads as false, so a component that declares no flags keeps\n * the permissive default.\n */\nexport function isFlagDisabled(flag?: FEATURE_FLAG): boolean {\n return typeof flag === 'number' && (flag & FEATURE_FLAG.DISABLED) !== 0\n}\n\n/**\n * A `restrictChildren` that allows NOTHING — `[LIMIT_TO, { components: [] }]`,\n * the Layout Slot's spelling of \"my children come from somewhere else\".\n *\n * Read here as a fourth way to say \"no canvas child slot\", alongside the three\n * flags: the dnd manager's `confirmValidLinealRelationship` already refuses\n * every candidate against an empty allowlist, so a schema that says this and\n * nothing else was already unreachable by drop — the hierarchy just hadn't\n * been told. Deliberately narrow: an empty DISALLOW list forbids nothing, and\n * an allowlist naming plugins (rather than components) still admits those.\n */\nfunction restrictsChildrenToNothing(restrict: unknown): boolean {\n if (!Array.isArray(restrict) || restrict.length < 2) return false\n const [directive, definition] = restrict as [unknown, unknown]\n if (directive !== 'limitedTo') return false\n if (Array.isArray(definition)) return definition.length === 0\n if (!definition || typeof definition !== 'object') return false\n const { components, plugins } = definition as {\n components?: unknown\n plugins?: unknown\n }\n if (Array.isArray(plugins) && plugins.length > 0) return false\n return Array.isArray(components) && components.length === 0\n}\n\n/**\n * Whether the editor will let a node be dropped into a node of this component\n * — the ONE rule every author-facing entry point shares (the Insert menu and\n * paste via `resolveInsertTarget`, canvas drag-and-drop via the dnd manager's\n * `computedDrop`, and the drop indicator), read through\n * `CanvasManager.nodeAcceptsChildren`.\n *\n * Four ways a schema declares it has nowhere to put a dropped node:\n *\n * - `flags.selfClosing` — an image, an icon, a divider.\n * - `flags.textEditable` — the component renders `children` as editable text,\n * so an element dropped in would be destroyed by the next text edit.\n * - `flags.dropping: DISABLED` — neither of the above, but still no slot\n * (AGL-1388): Markdown renders its parsed `content` prop and nothing else;\n * a Reusable Component instance has its child list REPLACED by the grafted\n * definition at compose time; List Item Text hands `children` to MUI, which\n * reads it only as a fallback for a missing `primary`.\n * - an empty `restrictChildren` allowlist — see above.\n *\n * Anything else accepts children, which is why the audit below exists: the\n * permissive answer is the DEFAULT, so a component nobody thought about is\n * indistinguishable from a container until something asks.\n *\n * An unregistered / missing schema accepts children, matching the canvas.\n */\nexport function schemaAcceptsChildren(\n schema: ChildContractSchema | null | undefined,\n): boolean {\n if (!schema) return true\n const flags = schema.flags\n if (isFlagDisabled(flags?.dropping)) return false\n if (isLeafFlagEnabled(flags?.selfClosing)) return false\n if (isLeafFlagEnabled(flags?.textEditable)) return false\n return !restrictsChildrenToNothing(schema.restrictChildren)\n}\n\n/**\n * A bundle's declared containers: the component ids whose author has\n * confirmed the component renders the nodes dropped into it.\n *\n * Not an exemption list — the inverse. Exemptions are the entries a guard\n * agrees to skip, so they accumulate quietly and the guard shrinks. This list\n * is the set the guard is ABOUT: a new component defaults to accepting\n * children, so it lands here or the test is red, and the only way to make it\n * green is to answer the question (\"does it render `children`?\") one way or\n * the other. Nothing can be added by accident.\n */\nexport type DeclaredContainers = readonly string[]\n\n/**\n * Every disagreement between a bundle's schemas and its declared container\n * list, as reviewer-facing lines (empty = the contract holds).\n *\n * Both directions matter:\n *\n * - An undeclared container is the AGL-1388 shape arriving again — a\n * component the editor will accept a drop into that nobody has confirmed\n * renders one.\n * - A declared id that no longer accepts a drop, or is no longer registered,\n * is a stale entry. Left alone the list would slowly become a wish, and a\n * guard checked against a wish passes over anything.\n *\n * Returns strings rather than throwing so the caller is a one-line\n * `expect(...).toEqual([])` whose failure output names every offender at once\n * — the whole point being that the next person does not repeat the 82-schema\n * hand audit.\n */\nexport function auditChildContract(\n entries: readonly ChildContractEntry[],\n declared: DeclaredContainers,\n): string[] {\n const problems: string[] = []\n const declaredSet = new Set(declared)\n const registered = new Set<string>()\n\n for (const entry of entries) {\n const schema = entry?.schema\n const id = schema?.$id\n if (!id) {\n problems.push(\n `a schema in this bundle has no $id (${\n schema?.displayName ?? 'unnamed'\n }) — it cannot be held to the drop/render agreement`,\n )\n continue\n }\n registered.add(id)\n const accepts = schemaAcceptsChildren(schema)\n if (accepts && !declaredSet.has(id)) {\n problems.push(\n `${id} accepts a drop but is not a declared container — either it ` +\n 'renders its children (add it to the list) or it does not, and ' +\n 'then it must SAY so: flags.selfClosing, flags.textEditable, ' +\n 'flags.dropping: FEATURE_FLAG.DISABLED, or an empty ' +\n 'restrictChildren allowlist (AGL-1389)',\n )\n }\n if (!accepts && declaredSet.has(id)) {\n problems.push(\n `${id} is a declared container but the editor now refuses drops ` +\n 'into it — drop it from the list, or remove whatever flag closed ' +\n 'it (AGL-1389)',\n )\n }\n }\n\n for (const id of declaredSet) {\n if (!registered.has(id)) {\n problems.push(\n `${id} is a declared container but is not registered in this ` +\n 'bundle — remove the stale entry (AGL-1389)',\n )\n }\n }\n\n return problems.sort()\n}\n\n/** The ids in a bundle the editor will accept a drop into, sorted. */\nexport function listAcceptingComponentIds(\n entries: readonly ChildContractEntry[],\n): string[] {\n return entries\n .filter((entry) => schemaAcceptsChildren(entry?.schema))\n .map((entry) => entry.schema.$id as string)\n .filter(Boolean)\n .sort()\n}\n"],"names":["FEATURE_FLAG","isLeafFlagEnabled","flag","ENABLED","isFlagDisabled","DISABLED","restrictsChildrenToNothing","restrict","Array","isArray","length","directive","definition","components","plugins","schemaAcceptsChildren","schema","flags","dropping","selfClosing","textEditable","restrictChildren","auditChildContract","entries","declared","problems","declaredSet","Set","registered","entry","id","$id","push","displayName","add","accepts","has","sort","listAcceptingComponentIds","filter","map","Boolean"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED;;;;;;;;;;;;;;;;;;;;CAoBC,GAED,SAASA,YAAY,QAAQ,oCAAgC;AAuB7D;;;;;CAKC,GACD,OAAO,SAASC,kBAAkBC,IAAmB;IACnD,OAAO,OAAOA,SAAS,YAAY,AAACA,CAAAA,OAAOF,aAAaG,OAAO,AAAD,MAAO;AACvE;AAEA;;;;CAIC,GACD,OAAO,SAASC,eAAeF,IAAmB;IAChD,OAAO,OAAOA,SAAS,YAAY,AAACA,CAAAA,OAAOF,aAAaK,QAAQ,AAAD,MAAO;AACxE;AAEA;;;;;;;;;;CAUC,GACD,SAASC,2BAA2BC,QAAiB;IACnD,IAAI,CAACC,MAAMC,OAAO,CAACF,aAAaA,SAASG,MAAM,GAAG,GAAG,OAAO;IAC5D,MAAM,CAACC,WAAWC,WAAW,GAAGL;IAChC,IAAII,cAAc,aAAa,OAAO;IACtC,IAAIH,MAAMC,OAAO,CAACG,aAAa,OAAOA,WAAWF,MAAM,KAAK;IAC5D,IAAI,CAACE,cAAc,OAAOA,eAAe,UAAU,OAAO;IAC1D,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAE,GAAGF;IAIhC,IAAIJ,MAAMC,OAAO,CAACK,YAAYA,QAAQJ,MAAM,GAAG,GAAG,OAAO;IACzD,OAAOF,MAAMC,OAAO,CAACI,eAAeA,WAAWH,MAAM,KAAK;AAC5D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;CAwBC,GACD,OAAO,SAASK,sBACdC,MAA8C;IAE9C,IAAI,CAACA,QAAQ,OAAO;IACpB,MAAMC,QAAQD,OAAOC,KAAK;IAC1B,IAAIb,eAAea,yBAAAA,MAAOC,QAAQ,GAAG,OAAO;IAC5C,IAAIjB,kBAAkBgB,yBAAAA,MAAOE,WAAW,GAAG,OAAO;IAClD,IAAIlB,kBAAkBgB,yBAAAA,MAAOG,YAAY,GAAG,OAAO;IACnD,OAAO,CAACd,2BAA2BU,OAAOK,gBAAgB;AAC5D;AAeA;;;;;;;;;;;;;;;;;CAiBC,GACD,OAAO,SAASC,mBACdC,OAAsC,EACtCC,QAA4B;IAE5B,MAAMC,WAAqB,EAAE;IAC7B,MAAMC,cAAc,IAAIC,IAAIH;IAC5B,MAAMI,aAAa,IAAID;IAEvB,KAAK,MAAME,SAASN,QAAS;QAC3B,MAAMP,SAASa,yBAAAA,MAAOb,MAAM;QAC5B,MAAMc,KAAKd,0BAAAA,OAAQe,GAAG;QACtB,IAAI,CAACD,IAAI;;YACPL,SAASO,IAAI,CACX,CAAC,oCAAoC,UACnChB,0BAAAA,OAAQiB,WAAW,mBAAI,UACxB,kDAAkD,CAAC;YAEtD;QACF;QACAL,WAAWM,GAAG,CAACJ;QACf,MAAMK,UAAUpB,sBAAsBC;QACtC,IAAImB,WAAW,CAACT,YAAYU,GAAG,CAACN,KAAK;YACnCL,SAASO,IAAI,CACX,GAAGF,GAAG,4DAA4D,CAAC,GACjE,mEACA,iEACA,wDACA;QAEN;QACA,IAAI,CAACK,WAAWT,YAAYU,GAAG,CAACN,KAAK;YACnCL,SAASO,IAAI,CACX,GAAGF,GAAG,0DAA0D,CAAC,GAC/D,qEACA;QAEN;IACF;IAEA,KAAK,MAAMA,MAAMJ,YAAa;QAC5B,IAAI,CAACE,WAAWQ,GAAG,CAACN,KAAK;YACvBL,SAASO,IAAI,CACX,GAAGF,GAAG,uDAAuD,CAAC,GAC5D;QAEN;IACF;IAEA,OAAOL,SAASY,IAAI;AACtB;AAEA,oEAAoE,GACpE,OAAO,SAASC,0BACdf,OAAsC;IAEtC,OAAOA,QACJgB,MAAM,CAAC,CAACV,QAAUd,sBAAsBc,yBAAAA,MAAOb,MAAM,GACrDwB,GAAG,CAAC,CAACX,QAAUA,MAAMb,MAAM,CAACe,GAAG,EAC/BQ,MAAM,CAACE,SACPJ,IAAI;AACT"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Whether a collection may be deleted, and what to say when it may not
19
+ * (AGL-1324).
20
+ *
21
+ * A collection could be created and never deleted: "New collection" existed,
22
+ * no delete affordance did anywhere, so a mis-created collection was
23
+ * permanent — a one-way door in an ordinary authoring flow for a no-code
24
+ * product.
25
+ *
26
+ * The delete itself is the easy half; `/api/resources/erase` already
27
+ * recursiveDeletes a collection subtree for the commerce catalog card. This
28
+ * file is the hard half: deciding when it must NOT happen. It is pure and
29
+ * lives beside `collection-kind` / `collection-slug` for the same reason
30
+ * `eraseScopeDenial` lives beside its route — a destructive decision that
31
+ * cannot be unit-tested is the shape of control this project exists to
32
+ * avoid — and because BOTH sides need it: the console dialog to show the
33
+ * blockers before the button is armed, and the route to enforce them.
34
+ *
35
+ * ## Why blocking, not cascading
36
+ *
37
+ * Both blockers refuse. The alternative — delete the collection and take its
38
+ * entries and its published routes with it — makes destroying a live page a
39
+ * side effect of tidying up a list, and no consent given to the second act
40
+ * was given to the first. This repo already settled that argument for
41
+ * account erasure (`userErasureBlockers`): blocking is recoverable, a
42
+ * cascade is not. Emptying a collection is two clicks; un-deleting a
43
+ * published page is a restore from an export.
44
+ */
45
+ /** What a template binding drives — which public route it publishes. */
46
+ export type CollectionTemplateRole = 'list' | 'entry';
47
+ /** A screen as far as this decision cares: does it exist, and what's it called. */
48
+ export interface CollectionTemplateScreen {
49
+ displayName?: string;
50
+ /**
51
+ * Soft-deleted screens render nothing, so a binding to one is stale and
52
+ * must not block — otherwise deleting a screen makes its collection
53
+ * permanently undeletable, which is the bug this file exists to fix,
54
+ * one level up.
55
+ */
56
+ deletedAt?: unknown;
57
+ }
58
+ export interface CollectionTemplateBinding {
59
+ role: CollectionTemplateRole;
60
+ screenId: string;
61
+ /** The screen's name; falls back to the id when it has none. */
62
+ screenName: string;
63
+ }
64
+ /** The collection fields that point at a template screen. */
65
+ export interface CollectionTemplateSource {
66
+ listScreenId?: unknown;
67
+ entryScreenId?: unknown;
68
+ /** Superseded AGL-105 pointer; still honoured as the entry fallback. */
69
+ templateScreenId?: unknown;
70
+ }
71
+ /**
72
+ * The LIVE template bindings on a collection — the screens that would be
73
+ * left publishing an empty route if it were deleted.
74
+ *
75
+ * `screens` is required rather than defaulted because the sole reason a
76
+ * binding is dropped here is that its screen is gone, and an empty map means
77
+ * "every screen is gone". Defaulting it would make the safe-looking call the
78
+ * one that silently answers "nothing depends on this". Callers pass the
79
+ * screens they read: the route fetches exactly the bound ids, the console
80
+ * already holds the host's screen list.
81
+ *
82
+ * Mirrors `resolveCollectionTemplateScreenId` in tenant-runtime: the list
83
+ * route uses `listScreenId` only, the entry route uses `entryScreenId` with
84
+ * `templateScreenId` as the legacy fallback. Deduped by screen id, because
85
+ * one screen serving both routes is one thing to detach, not two.
86
+ */
87
+ export declare function collectionTemplateBindings(data: CollectionTemplateSource | undefined | null, screens: Readonly<Record<string, CollectionTemplateScreen | undefined>>): CollectionTemplateBinding[];
88
+ /** Why a delete was refused, for callers that need more than the sentence. */
89
+ export type CollectionDeleteBlocker = 'template-bound' | 'has-entries';
90
+ export interface CollectionDeleteInput {
91
+ /** The collection's name, so the message names what it is refusing. */
92
+ displayName: string;
93
+ /** How many entries still live under it. */
94
+ entryCount: number;
95
+ /** Live template bindings — see {@link collectionTemplateBindings}. */
96
+ bindings: readonly CollectionTemplateBinding[];
97
+ }
98
+ export interface CollectionDeleteDenial {
99
+ error: string;
100
+ /** 409: the request is well-formed, the resource's state refuses it. */
101
+ status: 409;
102
+ blockers: CollectionDeleteBlocker[];
103
+ }
104
+ /**
105
+ * Null when the collection may be deleted; otherwise the response to return.
106
+ *
107
+ * Both blockers are reported at once. Fixing one and being told about the
108
+ * other is two trips through a destructive dialog to learn a fact that was
109
+ * knowable on the first — and the second refusal, arriving after the user
110
+ * has already detached a template, reads as the product changing its mind.
111
+ */
112
+ export declare function collectionDeleteDenial(input: CollectionDeleteInput): CollectionDeleteDenial | null;
113
+ export default collectionDeleteDenial;