@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,123 @@
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 CSS-spec URL guaranteed never to load, used as the replacement.
19
+ *
20
+ * Substituting this rather than deleting the declaration keeps the CSS
21
+ * grammar valid in every position `url()` is valid — `background: url(x)
22
+ * no-repeat` stays a well-formed shorthand — so a refused URL costs the
23
+ * author one image and never corrupts the rest of their stylesheet.
24
+ */
25
+ export declare const INERT_CSS_URL = "about:invalid";
26
+ /**
27
+ * Whether a `url()` target must be replaced with {@link INERT_CSS_URL}.
28
+ *
29
+ * The actor analysis behind the narrow rule, because it is the whole reason
30
+ * this is not `isFirstPartyMediaSrc` (AGL-1701):
31
+ *
32
+ * - In AGL-1701 the URL came from a **marketplace publisher** and was
33
+ * rendered to **other orgs' users**. Aglyn put a stranger's host in front
34
+ * of people who had no dealing with that publisher, so Aglyn introduced
35
+ * the recipient and restricting the input was right.
36
+ * - Here the URL comes from the **site owner**, rendered to **the site
37
+ * owner's own visitors**, on the site owner's own domain. The site owner
38
+ * is the controller for those visitors and Aglyn is the processor; they
39
+ * are choosing a recipient for data they already control, which is what a
40
+ * controller does when they add a font, a pixel or a hotlinked image.
41
+ * Aglyn did not introduce the recipient and should not silently veto it.
42
+ *
43
+ * Same shape of finding, opposite answer, because the actor and the victim
44
+ * are in a different relationship. What survives is the scheme rule, which
45
+ * protects the visitor without taking the host decision away from the owner.
46
+ */
47
+ export declare function isRefusedAuthorCssUrl(target: string): boolean;
48
+ /**
49
+ * Whether an author-typed image `src` must not be rendered at all.
50
+ *
51
+ * The {@link isRefusedAuthorCssUrl} scheme rule applied to a plain `<img
52
+ * src>` sink rather than a CSS `url()` token. Same actor pair — the site
53
+ * owner supplies the URL, their own visitors fetch it — so the same
54
+ * decision: never the host, only the scheme. `http:` and every unknown
55
+ * scheme are refused (the AGL-1713 rule); `https:`, `data:`, `blob:`,
56
+ * protocol-relative and the site-relative forms the media picker stores
57
+ * (`/api/media/cdn/…`) all render.
58
+ *
59
+ * A refused `media:` reference is CORRECT here, not collateral: this
60
+ * helper is for the sinks that emit the stored string RAW, where a media
61
+ * reference would render as the literal `src="media:…"` — a request for a
62
+ * relative path that cannot resolve. Sinks that resolve references first
63
+ * (`resolveMediaSrc` callers) have no use for this function.
64
+ *
65
+ * For AGL-1725's inventory: the free-text sinks that render the stored
66
+ * value verbatim — the events cover, the marketing popup image — are the
67
+ * callers; each was an `http:`-accepting egress no other guard reached.
68
+ */
69
+ export declare function isRefusedAuthorImageSrc(src: string): boolean;
70
+ /**
71
+ * Rewrites every refused `url()` in an author stylesheet to
72
+ * {@link INERT_CSS_URL}, leaving the rest of the CSS byte-identical.
73
+ *
74
+ * Returns the input BY IDENTITY when nothing is refused, which is the
75
+ * overwhelmingly common case and lets callers on a render path skip work.
76
+ */
77
+ export declare function sanitizeAuthorCss(css: string): string;
78
+ /**
79
+ * The third-party hosts a stylesheet's `url()` tokens would make a
80
+ * visitor's browser contact (AGL-1737).
81
+ *
82
+ * This is the WARN half of AGL-1725's warn-and-disclose decision, for the
83
+ * Styles panel: the scheme filter above ships, the host is deliberately not
84
+ * restricted, and that decision is only honest if the author is told what
85
+ * the `url()` they typed will do. This helper feeds a passive caption in
86
+ * the panel — it never blocks, rewrites, or validates anything.
87
+ *
88
+ * What is collected: the hostname of every `https:` (and protocol-relative,
89
+ * which resolves against the https document) `url()` target that is not one
90
+ * of OUR hosts — `isFirstPartyHost` is the same first-party set `media-ref`
91
+ * keeps in sync with `security-origins.js`. What is deliberately not:
92
+ *
93
+ * - refused schemes (`http:`, `javascript:`, …) — {@link sanitizeAuthorCss}
94
+ * rewrites them to {@link INERT_CSS_URL} at render, so they contact
95
+ * nobody and naming them as an egress would be false;
96
+ * - `data:` / `blob:` / relative forms — no request leaves the machine, or
97
+ * it stays on the author's own origin.
98
+ *
99
+ * Hostnames are lowercased, deduped, and returned in first-appearance
100
+ * order, ready to be named back to the author verbatim.
101
+ */
102
+ export declare function collectThirdPartyAuthorCssUrlHosts(css: string): string[];
103
+ /**
104
+ * {@link collectThirdPartyAuthorCssUrlHosts} over an `sx` object — the
105
+ * shape the Styles panel's builder and JSON tabs hold (AGL-1737). Walks
106
+ * arrays and nested records exactly as {@link sanitizeAuthorSx} does and
107
+ * unions the hosts found in string leaves, preserving first-appearance
108
+ * order across the whole document.
109
+ */
110
+ export declare function collectThirdPartyAuthorSxUrlHosts(sx: unknown): string[];
111
+ /**
112
+ * {@link sanitizeAuthorCss} over an `sx` object from the Styles panel.
113
+ *
114
+ * Walks arrays (MUI's composition form), nested records (selectors, media
115
+ * queries, breakpoint slices) and scrubs string leaves. Non-string,
116
+ * non-walkable values — numbers, functions, null — pass through untouched.
117
+ *
118
+ * Identity is preserved for any subtree that did not change, so a node whose
119
+ * styles hold no `url()` at all (nearly all of them) gets its own object
120
+ * back and nothing downstream re-renders. That matches the contract
121
+ * `resolvePaletteVarsSx` already states on the same render path.
122
+ */
123
+ export declare function sanitizeAuthorSx<T>(sx: T): T;
@@ -0,0 +1,275 @@
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
+ * Scheme rules for `url()` inside AUTHOR-WRITTEN CSS (AGL-1725).
18
+ *
19
+ * Two surfaces on a published tenant site put author CSS into the visitor's
20
+ * document verbatim, and neither is reachable by any control we had:
21
+ *
22
+ * 1. the `css` attribute of the Custom HTML component, emitted as a raw
23
+ * `<style>` block (`custom-html.tsx`) — DOMPurify there is applied to the
24
+ * `html` attribute ONLY and never sees this string;
25
+ * 2. `node.sx` from the Styles panel, where `backgroundImage` is a
26
+ * first-class field and the Custom CSS tab is free-solo, so any property
27
+ * and any value can be typed.
28
+ *
29
+ * `aglyn/no-remote-image-service` cannot see either — it scans OUR source for
30
+ * host literals, and these arrive at runtime from Firestore. No input
31
+ * validator sees them either: they are free-text CSS, not a URL field.
32
+ *
33
+ * ## What this module does and, deliberately, does not do
34
+ *
35
+ * It does **not** restrict which HOST an author may reach over `https:`.
36
+ * That is the AGL-1701 remedy, and it does not transfer here — see the note
37
+ * on {@link isRefusedAuthorCssUrl}. Hotlinking is an advertised authoring
38
+ * feature (`image.tsx` tells authors to "paste the URL of an image hosted
39
+ * somewhere else"), the author is the site owner, and the report-only
40
+ * `img-src` shipped for AGL-1703 now measures the practice for the first
41
+ * time. Restricting a host list before the first measurement would break
42
+ * live customer sites silently to prevent something nobody has counted.
43
+ *
44
+ * It **does** refuse a scheme that cannot be defended at any volume:
45
+ * anything that is not `https:`, `data:`, `blob:` or same-document.
46
+ * `http:` is the case that matters — mixed passive content on an HTTPS page
47
+ * is already blocked or auto-upgraded by every current browser, so the
48
+ * author gains nothing from it, while the request discloses what the visitor
49
+ * is reading to every observer on the path rather than only to the host the
50
+ * author chose. AGL-1701 found two other paths accepting `http:`
51
+ * (`markdown-lite.ts`, `collection-fallback-nodes.ts`); this is the same
52
+ * rule reaching the two CSS surfaces.
53
+ */ import { isFirstPartyHost } from "./media-ref.js";
54
+ /**
55
+ * The CSS-spec URL guaranteed never to load, used as the replacement.
56
+ *
57
+ * Substituting this rather than deleting the declaration keeps the CSS
58
+ * grammar valid in every position `url()` is valid — `background: url(x)
59
+ * no-repeat` stays a well-formed shorthand — so a refused URL costs the
60
+ * author one image and never corrupts the rest of their stylesheet.
61
+ */ export const INERT_CSS_URL = 'about:invalid';
62
+ /**
63
+ * Schemes an author's `url()` may name.
64
+ *
65
+ * `data:` and `blob:` are in because they are inert: the bytes are already
66
+ * in the document and no request leaves the machine. `https:` is in because
67
+ * restricting it is a product decision this module does not take.
68
+ */ const ALLOWED_CSS_URL_SCHEMES = [
69
+ 'https:',
70
+ 'data:',
71
+ 'blob:'
72
+ ];
73
+ /**
74
+ * Matches one `url(...)` token, quoted or bare, capturing the target.
75
+ *
76
+ * Bare targets cannot contain `)` unescaped per the CSS grammar, so the
77
+ * negated class is right for them; quoted targets may, so they are matched
78
+ * to their closing quote. A bare target using a CSS escape (`url(\68 ttps:`)
79
+ * is NOT decoded here and will therefore be refused — fail-closed on an
80
+ * encoding nobody writes by hand, which costs an author who could simply
81
+ * type the URL nothing.
82
+ */ const CSS_URL_TOKEN = /url\(\s*(?:"([^"]*)"|'([^']*)'|([^)\s'"]*))\s*\)/gi;
83
+ /**
84
+ * Whether a `url()` target must be replaced with {@link INERT_CSS_URL}.
85
+ *
86
+ * The actor analysis behind the narrow rule, because it is the whole reason
87
+ * this is not `isFirstPartyMediaSrc` (AGL-1701):
88
+ *
89
+ * - In AGL-1701 the URL came from a **marketplace publisher** and was
90
+ * rendered to **other orgs' users**. Aglyn put a stranger's host in front
91
+ * of people who had no dealing with that publisher, so Aglyn introduced
92
+ * the recipient and restricting the input was right.
93
+ * - Here the URL comes from the **site owner**, rendered to **the site
94
+ * owner's own visitors**, on the site owner's own domain. The site owner
95
+ * is the controller for those visitors and Aglyn is the processor; they
96
+ * are choosing a recipient for data they already control, which is what a
97
+ * controller does when they add a font, a pixel or a hotlinked image.
98
+ * Aglyn did not introduce the recipient and should not silently veto it.
99
+ *
100
+ * Same shape of finding, opposite answer, because the actor and the victim
101
+ * are in a different relationship. What survives is the scheme rule, which
102
+ * protects the visitor without taking the host decision away from the owner.
103
+ */ export function isRefusedAuthorCssUrl(target) {
104
+ const trimmed = target.trim();
105
+ // An empty url() names nothing and issues no request.
106
+ if (!trimmed) return false;
107
+ // Protocol-relative: resolves against the document, which is https on a
108
+ // published site, so it can never become the mixed-content case.
109
+ if (trimmed.startsWith('//')) return false;
110
+ // Same-document / same-origin forms.
111
+ if (trimmed.startsWith('/') || trimmed.startsWith('#') || trimmed.startsWith('./') || trimmed.startsWith('../')) {
112
+ return false;
113
+ }
114
+ // A scheme is everything before the first `:`, but only when that `:`
115
+ // precedes any path, query or fragment delimiter — otherwise `a:b` inside
116
+ // a relative path would read as a scheme.
117
+ const colon = trimmed.indexOf(':');
118
+ if (colon <= 0) return false;
119
+ const beforeColon = trimmed.slice(0, colon);
120
+ if (/[/?#]/.test(beforeColon)) return false;
121
+ return !ALLOWED_CSS_URL_SCHEMES.includes(`${beforeColon.toLowerCase()}:`);
122
+ }
123
+ /**
124
+ * Whether an author-typed image `src` must not be rendered at all.
125
+ *
126
+ * The {@link isRefusedAuthorCssUrl} scheme rule applied to a plain `<img
127
+ * src>` sink rather than a CSS `url()` token. Same actor pair — the site
128
+ * owner supplies the URL, their own visitors fetch it — so the same
129
+ * decision: never the host, only the scheme. `http:` and every unknown
130
+ * scheme are refused (the AGL-1713 rule); `https:`, `data:`, `blob:`,
131
+ * protocol-relative and the site-relative forms the media picker stores
132
+ * (`/api/media/cdn/…`) all render.
133
+ *
134
+ * A refused `media:` reference is CORRECT here, not collateral: this
135
+ * helper is for the sinks that emit the stored string RAW, where a media
136
+ * reference would render as the literal `src="media:…"` — a request for a
137
+ * relative path that cannot resolve. Sinks that resolve references first
138
+ * (`resolveMediaSrc` callers) have no use for this function.
139
+ *
140
+ * For AGL-1725's inventory: the free-text sinks that render the stored
141
+ * value verbatim — the events cover, the marketing popup image — are the
142
+ * callers; each was an `http:`-accepting egress no other guard reached.
143
+ */ export function isRefusedAuthorImageSrc(src) {
144
+ return isRefusedAuthorCssUrl(src);
145
+ }
146
+ /**
147
+ * Rewrites every refused `url()` in an author stylesheet to
148
+ * {@link INERT_CSS_URL}, leaving the rest of the CSS byte-identical.
149
+ *
150
+ * Returns the input BY IDENTITY when nothing is refused, which is the
151
+ * overwhelmingly common case and lets callers on a render path skip work.
152
+ */ export function sanitizeAuthorCss(css) {
153
+ if (!css || !css.includes('url(')) return css;
154
+ let changed = false;
155
+ const next = css.replace(CSS_URL_TOKEN, (match, quoted, single, bare)=>{
156
+ var _ref, _ref1;
157
+ const target = (_ref = (_ref1 = quoted != null ? quoted : single) != null ? _ref1 : bare) != null ? _ref : '';
158
+ if (!isRefusedAuthorCssUrl(target)) return match;
159
+ changed = true;
160
+ return `url(${INERT_CSS_URL})`;
161
+ });
162
+ return changed ? next : css;
163
+ }
164
+ /**
165
+ * The third-party hosts a stylesheet's `url()` tokens would make a
166
+ * visitor's browser contact (AGL-1737).
167
+ *
168
+ * This is the WARN half of AGL-1725's warn-and-disclose decision, for the
169
+ * Styles panel: the scheme filter above ships, the host is deliberately not
170
+ * restricted, and that decision is only honest if the author is told what
171
+ * the `url()` they typed will do. This helper feeds a passive caption in
172
+ * the panel — it never blocks, rewrites, or validates anything.
173
+ *
174
+ * What is collected: the hostname of every `https:` (and protocol-relative,
175
+ * which resolves against the https document) `url()` target that is not one
176
+ * of OUR hosts — `isFirstPartyHost` is the same first-party set `media-ref`
177
+ * keeps in sync with `security-origins.js`. What is deliberately not:
178
+ *
179
+ * - refused schemes (`http:`, `javascript:`, …) — {@link sanitizeAuthorCss}
180
+ * rewrites them to {@link INERT_CSS_URL} at render, so they contact
181
+ * nobody and naming them as an egress would be false;
182
+ * - `data:` / `blob:` / relative forms — no request leaves the machine, or
183
+ * it stays on the author's own origin.
184
+ *
185
+ * Hostnames are lowercased, deduped, and returned in first-appearance
186
+ * order, ready to be named back to the author verbatim.
187
+ */ export function collectThirdPartyAuthorCssUrlHosts(css) {
188
+ if (!css || !css.includes('url(')) return [];
189
+ const hosts = [];
190
+ const seen = new Set();
191
+ for (const match of css.matchAll(CSS_URL_TOKEN)){
192
+ var _ref, _ref1, _match_;
193
+ const target = ((_ref = (_ref1 = (_match_ = match[1]) != null ? _match_ : match[2]) != null ? _ref1 : match[3]) != null ? _ref : '').trim();
194
+ if (!target || isRefusedAuthorCssUrl(target)) continue;
195
+ let hostname;
196
+ try {
197
+ // Protocol-relative inherits the published page's https.
198
+ hostname = new URL(target.startsWith('//') ? `https:${target}` : target).hostname;
199
+ } catch (unused) {
200
+ continue; // relative path — same-origin, no third party
201
+ }
202
+ // `data:`/`blob:` parse with an empty hostname; nothing to name.
203
+ if (!hostname) continue;
204
+ const lower = hostname.toLowerCase();
205
+ if (isFirstPartyHost(lower) || seen.has(lower)) continue;
206
+ seen.add(lower);
207
+ hosts.push(lower);
208
+ }
209
+ return hosts;
210
+ }
211
+ /**
212
+ * {@link collectThirdPartyAuthorCssUrlHosts} over an `sx` object — the
213
+ * shape the Styles panel's builder and JSON tabs hold (AGL-1737). Walks
214
+ * arrays and nested records exactly as {@link sanitizeAuthorSx} does and
215
+ * unions the hosts found in string leaves, preserving first-appearance
216
+ * order across the whole document.
217
+ */ export function collectThirdPartyAuthorSxUrlHosts(sx) {
218
+ const hosts = [];
219
+ const seen = new Set();
220
+ const visit = (value)=>{
221
+ if (typeof value === 'string') {
222
+ for (const hostname of collectThirdPartyAuthorCssUrlHosts(value)){
223
+ if (seen.has(hostname)) continue;
224
+ seen.add(hostname);
225
+ hosts.push(hostname);
226
+ }
227
+ return;
228
+ }
229
+ if (!value || typeof value !== 'object') return;
230
+ if (Array.isArray(value)) {
231
+ for (const entry of value)visit(entry);
232
+ return;
233
+ }
234
+ for (const key of Object.keys(value)){
235
+ visit(value[key]);
236
+ }
237
+ };
238
+ visit(sx);
239
+ return hosts;
240
+ }
241
+ /**
242
+ * {@link sanitizeAuthorCss} over an `sx` object from the Styles panel.
243
+ *
244
+ * Walks arrays (MUI's composition form), nested records (selectors, media
245
+ * queries, breakpoint slices) and scrubs string leaves. Non-string,
246
+ * non-walkable values — numbers, functions, null — pass through untouched.
247
+ *
248
+ * Identity is preserved for any subtree that did not change, so a node whose
249
+ * styles hold no `url()` at all (nearly all of them) gets its own object
250
+ * back and nothing downstream re-renders. That matches the contract
251
+ * `resolvePaletteVarsSx` already states on the same render path.
252
+ */ export function sanitizeAuthorSx(sx) {
253
+ if (typeof sx === 'string') return sanitizeAuthorCss(sx);
254
+ if (!sx || typeof sx !== 'object') return sx;
255
+ if (Array.isArray(sx)) {
256
+ let changed = false;
257
+ const next = sx.map((entry)=>{
258
+ const value = sanitizeAuthorSx(entry);
259
+ if (value !== entry) changed = true;
260
+ return value;
261
+ });
262
+ return changed ? next : sx;
263
+ }
264
+ let changed = false;
265
+ const next = {};
266
+ for (const key of Object.keys(sx)){
267
+ const entry = sx[key];
268
+ const value = sanitizeAuthorSx(entry);
269
+ if (value !== entry) changed = true;
270
+ next[key] = value;
271
+ }
272
+ return changed ? next : sx;
273
+ }
274
+
275
+ //# sourceMappingURL=author-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/author-css.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 * Scheme rules for `url()` inside AUTHOR-WRITTEN CSS (AGL-1725).\n *\n * Two surfaces on a published tenant site put author CSS into the visitor's\n * document verbatim, and neither is reachable by any control we had:\n *\n * 1. the `css` attribute of the Custom HTML component, emitted as a raw\n * `<style>` block (`custom-html.tsx`) — DOMPurify there is applied to the\n * `html` attribute ONLY and never sees this string;\n * 2. `node.sx` from the Styles panel, where `backgroundImage` is a\n * first-class field and the Custom CSS tab is free-solo, so any property\n * and any value can be typed.\n *\n * `aglyn/no-remote-image-service` cannot see either — it scans OUR source for\n * host literals, and these arrive at runtime from Firestore. No input\n * validator sees them either: they are free-text CSS, not a URL field.\n *\n * ## What this module does and, deliberately, does not do\n *\n * It does **not** restrict which HOST an author may reach over `https:`.\n * That is the AGL-1701 remedy, and it does not transfer here — see the note\n * on {@link isRefusedAuthorCssUrl}. Hotlinking is an advertised authoring\n * feature (`image.tsx` tells authors to \"paste the URL of an image hosted\n * somewhere else\"), the author is the site owner, and the report-only\n * `img-src` shipped for AGL-1703 now measures the practice for the first\n * time. Restricting a host list before the first measurement would break\n * live customer sites silently to prevent something nobody has counted.\n *\n * It **does** refuse a scheme that cannot be defended at any volume:\n * anything that is not `https:`, `data:`, `blob:` or same-document.\n * `http:` is the case that matters — mixed passive content on an HTTPS page\n * is already blocked or auto-upgraded by every current browser, so the\n * author gains nothing from it, while the request discloses what the visitor\n * is reading to every observer on the path rather than only to the host the\n * author chose. AGL-1701 found two other paths accepting `http:`\n * (`markdown-lite.ts`, `collection-fallback-nodes.ts`); this is the same\n * rule reaching the two CSS surfaces.\n */\n\nimport { isFirstPartyHost } from './media-ref'\n\n/**\n * The CSS-spec URL guaranteed never to load, used as the replacement.\n *\n * Substituting this rather than deleting the declaration keeps the CSS\n * grammar valid in every position `url()` is valid — `background: url(x)\n * no-repeat` stays a well-formed shorthand — so a refused URL costs the\n * author one image and never corrupts the rest of their stylesheet.\n */\nexport const INERT_CSS_URL = 'about:invalid'\n\n/**\n * Schemes an author's `url()` may name.\n *\n * `data:` and `blob:` are in because they are inert: the bytes are already\n * in the document and no request leaves the machine. `https:` is in because\n * restricting it is a product decision this module does not take.\n */\nconst ALLOWED_CSS_URL_SCHEMES = ['https:', 'data:', 'blob:']\n\n/**\n * Matches one `url(...)` token, quoted or bare, capturing the target.\n *\n * Bare targets cannot contain `)` unescaped per the CSS grammar, so the\n * negated class is right for them; quoted targets may, so they are matched\n * to their closing quote. A bare target using a CSS escape (`url(\\68 ttps:`)\n * is NOT decoded here and will therefore be refused — fail-closed on an\n * encoding nobody writes by hand, which costs an author who could simply\n * type the URL nothing.\n */\nconst CSS_URL_TOKEN = /url\\(\\s*(?:\"([^\"]*)\"|'([^']*)'|([^)\\s'\"]*))\\s*\\)/gi\n\n/**\n * Whether a `url()` target must be replaced with {@link INERT_CSS_URL}.\n *\n * The actor analysis behind the narrow rule, because it is the whole reason\n * this is not `isFirstPartyMediaSrc` (AGL-1701):\n *\n * - In AGL-1701 the URL came from a **marketplace publisher** and was\n * rendered to **other orgs' users**. Aglyn put a stranger's host in front\n * of people who had no dealing with that publisher, so Aglyn introduced\n * the recipient and restricting the input was right.\n * - Here the URL comes from the **site owner**, rendered to **the site\n * owner's own visitors**, on the site owner's own domain. The site owner\n * is the controller for those visitors and Aglyn is the processor; they\n * are choosing a recipient for data they already control, which is what a\n * controller does when they add a font, a pixel or a hotlinked image.\n * Aglyn did not introduce the recipient and should not silently veto it.\n *\n * Same shape of finding, opposite answer, because the actor and the victim\n * are in a different relationship. What survives is the scheme rule, which\n * protects the visitor without taking the host decision away from the owner.\n */\nexport function isRefusedAuthorCssUrl(target: string): boolean {\n const trimmed = target.trim()\n // An empty url() names nothing and issues no request.\n if (!trimmed) return false\n // Protocol-relative: resolves against the document, which is https on a\n // published site, so it can never become the mixed-content case.\n if (trimmed.startsWith('//')) return false\n // Same-document / same-origin forms.\n if (\n trimmed.startsWith('/') ||\n trimmed.startsWith('#') ||\n trimmed.startsWith('./') ||\n trimmed.startsWith('../')\n ) {\n return false\n }\n // A scheme is everything before the first `:`, but only when that `:`\n // precedes any path, query or fragment delimiter — otherwise `a:b` inside\n // a relative path would read as a scheme.\n const colon = trimmed.indexOf(':')\n if (colon <= 0) return false\n const beforeColon = trimmed.slice(0, colon)\n if (/[/?#]/.test(beforeColon)) return false\n return !ALLOWED_CSS_URL_SCHEMES.includes(`${beforeColon.toLowerCase()}:`)\n}\n\n/**\n * Whether an author-typed image `src` must not be rendered at all.\n *\n * The {@link isRefusedAuthorCssUrl} scheme rule applied to a plain `<img\n * src>` sink rather than a CSS `url()` token. Same actor pair — the site\n * owner supplies the URL, their own visitors fetch it — so the same\n * decision: never the host, only the scheme. `http:` and every unknown\n * scheme are refused (the AGL-1713 rule); `https:`, `data:`, `blob:`,\n * protocol-relative and the site-relative forms the media picker stores\n * (`/api/media/cdn/…`) all render.\n *\n * A refused `media:` reference is CORRECT here, not collateral: this\n * helper is for the sinks that emit the stored string RAW, where a media\n * reference would render as the literal `src=\"media:…\"` — a request for a\n * relative path that cannot resolve. Sinks that resolve references first\n * (`resolveMediaSrc` callers) have no use for this function.\n *\n * For AGL-1725's inventory: the free-text sinks that render the stored\n * value verbatim — the events cover, the marketing popup image — are the\n * callers; each was an `http:`-accepting egress no other guard reached.\n */\nexport function isRefusedAuthorImageSrc(src: string): boolean {\n return isRefusedAuthorCssUrl(src)\n}\n\n/**\n * Rewrites every refused `url()` in an author stylesheet to\n * {@link INERT_CSS_URL}, leaving the rest of the CSS byte-identical.\n *\n * Returns the input BY IDENTITY when nothing is refused, which is the\n * overwhelmingly common case and lets callers on a render path skip work.\n */\nexport function sanitizeAuthorCss(css: string): string {\n if (!css || !css.includes('url(')) return css\n let changed = false\n const next = css.replace(\n CSS_URL_TOKEN,\n (match, quoted: string, single: string, bare: string) => {\n const target = quoted ?? single ?? bare ?? ''\n if (!isRefusedAuthorCssUrl(target)) return match\n changed = true\n return `url(${INERT_CSS_URL})`\n },\n )\n return changed ? next : css\n}\n\n/**\n * The third-party hosts a stylesheet's `url()` tokens would make a\n * visitor's browser contact (AGL-1737).\n *\n * This is the WARN half of AGL-1725's warn-and-disclose decision, for the\n * Styles panel: the scheme filter above ships, the host is deliberately not\n * restricted, and that decision is only honest if the author is told what\n * the `url()` they typed will do. This helper feeds a passive caption in\n * the panel — it never blocks, rewrites, or validates anything.\n *\n * What is collected: the hostname of every `https:` (and protocol-relative,\n * which resolves against the https document) `url()` target that is not one\n * of OUR hosts — `isFirstPartyHost` is the same first-party set `media-ref`\n * keeps in sync with `security-origins.js`. What is deliberately not:\n *\n * - refused schemes (`http:`, `javascript:`, …) — {@link sanitizeAuthorCss}\n * rewrites them to {@link INERT_CSS_URL} at render, so they contact\n * nobody and naming them as an egress would be false;\n * - `data:` / `blob:` / relative forms — no request leaves the machine, or\n * it stays on the author's own origin.\n *\n * Hostnames are lowercased, deduped, and returned in first-appearance\n * order, ready to be named back to the author verbatim.\n */\nexport function collectThirdPartyAuthorCssUrlHosts(css: string): string[] {\n if (!css || !css.includes('url(')) return []\n const hosts: string[] = []\n const seen = new Set<string>()\n for (const match of css.matchAll(CSS_URL_TOKEN)) {\n const target = (match[1] ?? match[2] ?? match[3] ?? '').trim()\n if (!target || isRefusedAuthorCssUrl(target)) continue\n let hostname: string\n try {\n // Protocol-relative inherits the published page's https.\n hostname = new URL(\n target.startsWith('//') ? `https:${target}` : target,\n ).hostname\n } catch {\n continue // relative path — same-origin, no third party\n }\n // `data:`/`blob:` parse with an empty hostname; nothing to name.\n if (!hostname) continue\n const lower = hostname.toLowerCase()\n if (isFirstPartyHost(lower) || seen.has(lower)) continue\n seen.add(lower)\n hosts.push(lower)\n }\n return hosts\n}\n\n/**\n * {@link collectThirdPartyAuthorCssUrlHosts} over an `sx` object — the\n * shape the Styles panel's builder and JSON tabs hold (AGL-1737). Walks\n * arrays and nested records exactly as {@link sanitizeAuthorSx} does and\n * unions the hosts found in string leaves, preserving first-appearance\n * order across the whole document.\n */\nexport function collectThirdPartyAuthorSxUrlHosts(sx: unknown): string[] {\n const hosts: string[] = []\n const seen = new Set<string>()\n const visit = (value: unknown): void => {\n if (typeof value === 'string') {\n for (const hostname of collectThirdPartyAuthorCssUrlHosts(value)) {\n if (seen.has(hostname)) continue\n seen.add(hostname)\n hosts.push(hostname)\n }\n return\n }\n if (!value || typeof value !== 'object') return\n if (Array.isArray(value)) {\n for (const entry of value) visit(entry)\n return\n }\n for (const key of Object.keys(value as Record<string, unknown>)) {\n visit((value as Record<string, unknown>)[key])\n }\n }\n visit(sx)\n return hosts\n}\n\n/**\n * {@link sanitizeAuthorCss} over an `sx` object from the Styles panel.\n *\n * Walks arrays (MUI's composition form), nested records (selectors, media\n * queries, breakpoint slices) and scrubs string leaves. Non-string,\n * non-walkable values — numbers, functions, null — pass through untouched.\n *\n * Identity is preserved for any subtree that did not change, so a node whose\n * styles hold no `url()` at all (nearly all of them) gets its own object\n * back and nothing downstream re-renders. That matches the contract\n * `resolvePaletteVarsSx` already states on the same render path.\n */\nexport function sanitizeAuthorSx<T>(sx: T): T {\n if (typeof sx === 'string') return sanitizeAuthorCss(sx) as unknown as T\n if (!sx || typeof sx !== 'object') return sx\n if (Array.isArray(sx)) {\n let changed = false\n const next = sx.map((entry) => {\n const value = sanitizeAuthorSx(entry)\n if (value !== entry) changed = true\n return value\n })\n return (changed ? next : sx) as unknown as T\n }\n let changed = false\n const next: Record<string, unknown> = {}\n for (const key of Object.keys(sx as Record<string, unknown>)) {\n const entry = (sx as Record<string, unknown>)[key]\n const value = sanitizeAuthorSx(entry)\n if (value !== entry) changed = true\n next[key] = value\n }\n return (changed ? next : sx) as unknown as T\n}\n"],"names":["isFirstPartyHost","INERT_CSS_URL","ALLOWED_CSS_URL_SCHEMES","CSS_URL_TOKEN","isRefusedAuthorCssUrl","target","trimmed","trim","startsWith","colon","indexOf","beforeColon","slice","test","includes","toLowerCase","isRefusedAuthorImageSrc","src","sanitizeAuthorCss","css","changed","next","replace","match","quoted","single","bare","collectThirdPartyAuthorCssUrlHosts","hosts","seen","Set","matchAll","hostname","URL","lower","has","add","push","collectThirdPartyAuthorSxUrlHosts","sx","visit","value","Array","isArray","entry","key","Object","keys","sanitizeAuthorSx","map"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCC,GAED,SAASA,gBAAgB,QAAQ,iBAAa;AAE9C;;;;;;;CAOC,GACD,OAAO,MAAMC,gBAAgB,gBAAe;AAE5C;;;;;;CAMC,GACD,MAAMC,0BAA0B;IAAC;IAAU;IAAS;CAAQ;AAE5D;;;;;;;;;CASC,GACD,MAAMC,gBAAgB;AAEtB;;;;;;;;;;;;;;;;;;;;CAoBC,GACD,OAAO,SAASC,sBAAsBC,MAAc;IAClD,MAAMC,UAAUD,OAAOE,IAAI;IAC3B,sDAAsD;IACtD,IAAI,CAACD,SAAS,OAAO;IACrB,wEAAwE;IACxE,iEAAiE;IACjE,IAAIA,QAAQE,UAAU,CAAC,OAAO,OAAO;IACrC,qCAAqC;IACrC,IACEF,QAAQE,UAAU,CAAC,QACnBF,QAAQE,UAAU,CAAC,QACnBF,QAAQE,UAAU,CAAC,SACnBF,QAAQE,UAAU,CAAC,QACnB;QACA,OAAO;IACT;IACA,sEAAsE;IACtE,0EAA0E;IAC1E,0CAA0C;IAC1C,MAAMC,QAAQH,QAAQI,OAAO,CAAC;IAC9B,IAAID,SAAS,GAAG,OAAO;IACvB,MAAME,cAAcL,QAAQM,KAAK,CAAC,GAAGH;IACrC,IAAI,QAAQI,IAAI,CAACF,cAAc,OAAO;IACtC,OAAO,CAACT,wBAAwBY,QAAQ,CAAC,GAAGH,YAAYI,WAAW,GAAG,CAAC,CAAC;AAC1E;AAEA;;;;;;;;;;;;;;;;;;;;CAoBC,GACD,OAAO,SAASC,wBAAwBC,GAAW;IACjD,OAAOb,sBAAsBa;AAC/B;AAEA;;;;;;CAMC,GACD,OAAO,SAASC,kBAAkBC,GAAW;IAC3C,IAAI,CAACA,OAAO,CAACA,IAAIL,QAAQ,CAAC,SAAS,OAAOK;IAC1C,IAAIC,UAAU;IACd,MAAMC,OAAOF,IAAIG,OAAO,CACtBnB,eACA,CAACoB,OAAOC,QAAgBC,QAAgBC;YACvBF,MAAAA;QAAf,MAAMnB,UAASmB,QAAAA,QAAAA,iBAAAA,SAAUC,kBAAVD,QAAoBE,gBAApBF,OAA4B;QAC3C,IAAI,CAACpB,sBAAsBC,SAAS,OAAOkB;QAC3CH,UAAU;QACV,OAAO,CAAC,IAAI,EAAEnB,cAAc,CAAC,CAAC;IAChC;IAEF,OAAOmB,UAAUC,OAAOF;AAC1B;AAEA;;;;;;;;;;;;;;;;;;;;;;;CAuBC,GACD,OAAO,SAASQ,mCAAmCR,GAAW;IAC5D,IAAI,CAACA,OAAO,CAACA,IAAIL,QAAQ,CAAC,SAAS,OAAO,EAAE;IAC5C,MAAMc,QAAkB,EAAE;IAC1B,MAAMC,OAAO,IAAIC;IACjB,KAAK,MAAMP,SAASJ,IAAIY,QAAQ,CAAC5B,eAAgB;YAC/BoB,MAAAA,OAAAA;QAAhB,MAAMlB,SAAS,EAACkB,QAAAA,SAAAA,UAAAA,KAAK,CAAC,EAAE,YAARA,UAAYA,KAAK,CAAC,EAAE,YAApBA,QAAwBA,KAAK,CAAC,EAAE,YAAhCA,OAAoC,IAAIhB,IAAI;QAC5D,IAAI,CAACF,UAAUD,sBAAsBC,SAAS;QAC9C,IAAI2B;QACJ,IAAI;YACF,yDAAyD;YACzDA,WAAW,IAAIC,IACb5B,OAAOG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAEH,QAAQ,GAAGA,QAC9C2B,QAAQ;QACZ,EAAE,eAAM;YACN,UAAS,8CAA8C;QACzD;QACA,iEAAiE;QACjE,IAAI,CAACA,UAAU;QACf,MAAME,QAAQF,SAASjB,WAAW;QAClC,IAAIf,iBAAiBkC,UAAUL,KAAKM,GAAG,CAACD,QAAQ;QAChDL,KAAKO,GAAG,CAACF;QACTN,MAAMS,IAAI,CAACH;IACb;IACA,OAAON;AACT;AAEA;;;;;;CAMC,GACD,OAAO,SAASU,kCAAkCC,EAAW;IAC3D,MAAMX,QAAkB,EAAE;IAC1B,MAAMC,OAAO,IAAIC;IACjB,MAAMU,QAAQ,CAACC;QACb,IAAI,OAAOA,UAAU,UAAU;YAC7B,KAAK,MAAMT,YAAYL,mCAAmCc,OAAQ;gBAChE,IAAIZ,KAAKM,GAAG,CAACH,WAAW;gBACxBH,KAAKO,GAAG,CAACJ;gBACTJ,MAAMS,IAAI,CAACL;YACb;YACA;QACF;QACA,IAAI,CAACS,SAAS,OAAOA,UAAU,UAAU;QACzC,IAAIC,MAAMC,OAAO,CAACF,QAAQ;YACxB,KAAK,MAAMG,SAASH,MAAOD,MAAMI;YACjC;QACF;QACA,KAAK,MAAMC,OAAOC,OAAOC,IAAI,CAACN,OAAmC;YAC/DD,MAAM,AAACC,KAAiC,CAACI,IAAI;QAC/C;IACF;IACAL,MAAMD;IACN,OAAOX;AACT;AAEA;;;;;;;;;;;CAWC,GACD,OAAO,SAASoB,iBAAoBT,EAAK;IACvC,IAAI,OAAOA,OAAO,UAAU,OAAOrB,kBAAkBqB;IACrD,IAAI,CAACA,MAAM,OAAOA,OAAO,UAAU,OAAOA;IAC1C,IAAIG,MAAMC,OAAO,CAACJ,KAAK;QACrB,IAAInB,UAAU;QACd,MAAMC,OAAOkB,GAAGU,GAAG,CAAC,CAACL;YACnB,MAAMH,QAAQO,iBAAiBJ;YAC/B,IAAIH,UAAUG,OAAOxB,UAAU;YAC/B,OAAOqB;QACT;QACA,OAAQrB,UAAUC,OAAOkB;IAC3B;IACA,IAAInB,UAAU;IACd,MAAMC,OAAgC,CAAC;IACvC,KAAK,MAAMwB,OAAOC,OAAOC,IAAI,CAACR,IAAgC;QAC5D,MAAMK,QAAQ,AAACL,EAA8B,CAACM,IAAI;QAClD,MAAMJ,QAAQO,iBAAiBJ;QAC/B,IAAIH,UAAUG,OAAOxB,UAAU;QAC/BC,IAAI,CAACwB,IAAI,GAAGJ;IACd;IACA,OAAQrB,UAAUC,OAAOkB;AAC3B"}
@@ -0,0 +1,31 @@
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
+ /** Where relative URLs resolve, matching `PageMarkdownContext`. */
18
+ export interface AuthorHtmlMarkdownContext {
19
+ origin?: string | null;
20
+ hostId?: string;
21
+ }
22
+ /** Author HTML as Markdown blocks — headings, lists, links, code and all. */
23
+ export declare function authorHtmlToMarkdown(html: string, context?: AuthorHtmlMarkdownContext): string;
24
+ /**
25
+ * A control's rich label as ONE line of Markdown.
26
+ *
27
+ * Block structure is deliberately flattened: a button whose label is a heading
28
+ * is not a heading, and emitting one would put a `#` in the middle of a
29
+ * sentence for every rich-mode label on the site.
30
+ */
31
+ export declare function inlineAuthorHtmlToMarkdown(html: string, context?: AuthorHtmlMarkdownContext): string;