@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,203 @@
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
+ * Which advertising tags may load on AGLYN'S OWN NON-TENANT SURFACES — the
18
+ * console (`app.aglyn.com`, `auth.aglyn.com`) and the docs site
19
+ * (`docs.aglyn.com`).
20
+ *
21
+ * ## Why this exists beside `advertising-tags.ts` rather than inside it
22
+ *
23
+ * {@link resolveAdvertisingTags} answers the same question for a TENANT page,
24
+ * and every one of its inputs is a host document: the surface discriminator is
25
+ * `isPlatformMarketingHost`, the configuration is `analytics.adTags`, and the
26
+ * consent record is keyed per host id. None of those exist here. The console
27
+ * and the docs are not sites anybody published; they are Aglyn's own
28
+ * properties, so their ids come from build configuration and their consent
29
+ * comes from the platform record.
30
+ *
31
+ * What is deliberately NOT duplicated is the vendor registry. Both resolvers
32
+ * read {@link ADVERTISING_VENDORS}, so a vendor is described — loaded, torn
33
+ * down, and its cookies named — exactly once. A second registry is how a
34
+ * vendor comes to be revocable on one surface and resident forever on
35
+ * another.
36
+ *
37
+ * ## Configuration, and why nothing is hardcoded
38
+ *
39
+ * ⛔ No default id, for any vendor. `analyticsMayEmit()` is true for ANY
40
+ * production build, self-hosted ones included, so a hardcoded pixel id would
41
+ * have every operator's console building retargeting audiences in Aglyn's ad
42
+ * accounts out of their users. Unset means unset and nothing loads — the same
43
+ * rule `platform-ad-conversions.ts` and the docs site's `DOCS_*` values are
44
+ * built on, and the one this file follows rather than reinvents.
45
+ *
46
+ * A self-host operator's own advertising tags are their business: setting
47
+ * these variables to their own ids is how they run them, and leaving them
48
+ * unset is how they run none.
49
+ *
50
+ * ⚠️ `process.env.NAME` is inlined at BUILD time by Next and never the bracket
51
+ * form, so every read below is written out literally. They are fixed when the
52
+ * image is built rather than when it starts; changing ad accounts is a
53
+ * rebuild.
54
+ */ import { ADVERTISING_VENDORS } from "./advertising-tags.js";
55
+ import { analyticsEnvironmentForcesInternal, analyticsMayEmit, readAnalyticsEnvironment } from "./analytics-environment.js";
56
+ import { readInternalTrafficOverride } from "./internal-traffic.js";
57
+ import { GTM_CONTAINER_ID_PATTERN } from "./visitor-consent.js";
58
+ /**
59
+ * The build-configured account id for each vendor this surface can mount,
60
+ * keyed by {@link AdvertisingVendor.id}.
61
+ *
62
+ * Read at CALL time rather than captured in a module constant, so a spec can
63
+ * drive every branch — the alternative is a constant that can only ever be
64
+ * observed in one state, which is the shape of a check that cannot fail.
65
+ * `readAnalyticsEnvironment` is written the same way and for the same reason.
66
+ */ export function readPlatformAdTagIds() {
67
+ return {
68
+ meta: process.env.NEXT_PUBLIC_META_PIXEL_ID || '',
69
+ // The SAME variable the conversion reporter reads. One `AW-` account id
70
+ // per deployment: a build that fired conversions into one advertiser and
71
+ // built audiences in another would split a funnel that has to be joined,
72
+ // and the second variable is the one that would go stale.
73
+ 'google-ads': process.env.NEXT_PUBLIC_ADS_CONVERSION_ID || '',
74
+ linkedin: process.env.NEXT_PUBLIC_LINKEDIN_PARTNER_ID || ''
75
+ };
76
+ }
77
+ /** The build-configured Google Tag Manager container, or an empty string. */ export function readPlatformGtmContainerId() {
78
+ return process.env.NEXT_PUBLIC_GTM_CONTAINER_ID || '';
79
+ }
80
+ /**
81
+ * Which advertising tags may exist on this surface, for this visitor, right
82
+ * now.
83
+ *
84
+ * Pure, and empty is the answer to every question it cannot answer — a build
85
+ * that may not emit, a visitor who has not granted, an unconfigured vendor, a
86
+ * malformed id.
87
+ *
88
+ * `advertisingGranted` is PASSED IN rather than read here, and that is the
89
+ * whole of the arrangement this module is for. Each surface resolves consent
90
+ * through the machinery it already has — the console through
91
+ * `platformAdvertisingAllowed()` over its own posture-resolved record, the
92
+ * docs site through the registrable-domain mirror of that same record — and
93
+ * neither gets a second reading of a cookie from inside an analytics helper.
94
+ * One resolver per surface, asked by the mount rather than re-implemented in
95
+ * it.
96
+ *
97
+ * `analyticsMayEmit` is checked HERE and not left to the caller, because it is
98
+ * the one condition that is a property of the BUILD rather than of the
99
+ * visitor: `next dev` and any Vercel preview build resolve these ids exactly
100
+ * as production does, and without this a preview deploy would build real
101
+ * retargeting audiences out of our own engineers (AGL-2067).
102
+ */ export function resolvePlatformAdvertisingTags(advertisingGranted, ids = readPlatformAdTagIds(), env = readAnalyticsEnvironment(), internal = readInternalTrafficOverride()) {
103
+ if (advertisingGranted !== true) return [];
104
+ if (analyticsMayEmit(env) === false) return [];
105
+ // The same clause the tenant resolver calls condition 6 (AGL-3188), which
106
+ // this surface never had. A GA4 data filter is PROPERTY-scoped: it drops
107
+ // `traffic_type: internal` from the GA4 property and has no reach into an
108
+ // `AW-` destination, which is a separate product reached by separate
109
+ // requests. Measured on `auth.aglyn.com`: a pinned browser's pageview sent
110
+ // `tt=internal` to `g/collect` and, in the same document, an unmarked
111
+ // `ccm/collect` to `AW-18401436785`. Excluding ourselves from the reports
112
+ // while still training the bidding on ourselves is the worse half, because
113
+ // it is the half nobody can see in a report.
114
+ //
115
+ // Structural, not suppression: a resident tag fires on its own and the
116
+ // first automatic event writes a `_gcl_*` cookie, so the tag must not be
117
+ // MOUNTED rather than mounted and silenced.
118
+ if (internal === true) return [];
119
+ // A non-production build emitting because someone turned the hatch on is
120
+ // ours by definition, and must not hand a preview the real `AW-` id.
121
+ if (analyticsEnvironmentForcesInternal(env) === true) return [];
122
+ const tags = [];
123
+ for (const vendor of ADVERTISING_VENDORS){
124
+ var _ids_vendor_id;
125
+ // Sweep-only: nothing to mount, and no `accountIdPattern` to test with.
126
+ // Skipped explicitly rather than left to fail a pattern check, so a stray
127
+ // configured value cannot conjure a script.
128
+ if (vendor.sweepOnly || !vendor.accountIdPattern) continue;
129
+ const accountId = String((_ids_vendor_id = ids[vendor.id]) != null ? _ids_vendor_id : '');
130
+ // Strict format check, exactly as the tenant resolver applies: the id
131
+ // lands inside an inline script (the AGL-138 concern), and a half-set
132
+ // variable must read as absent rather than as an id.
133
+ if (vendor.accountIdPattern.test(accountId)) {
134
+ tags.push({
135
+ vendor,
136
+ accountId
137
+ });
138
+ }
139
+ }
140
+ return tags;
141
+ }
142
+ /**
143
+ * The Google Tag Manager container this surface may load, or null.
144
+ *
145
+ * ## Why the gate here is ANALYTICS and never advertising
146
+ *
147
+ * A container is not a tag — it is a LOADER, and what it loads is decided in
148
+ * Google's UI by whoever owns it, not here. The tenant runtime already settled
149
+ * the rule this follows: a container cannot have a WEAKER gate than GA,
150
+ * because it is the likeliest thing on a page to carry an advertising tag, and
151
+ * it cannot have a stronger one either or a container-only surface would never
152
+ * load at all. So it rides the analytics grant, and the advertising signals
153
+ * the visitor did or did not give reach its tags through Consent Mode v2 —
154
+ * which is why `PLATFORM_CONSENT_DEFAULT_COMMANDS` has to be declared before
155
+ * `gtm.js` is requested and not after.
156
+ *
157
+ * ⚠️ A container's CONTENTS are not visible from this repository, and what is
158
+ * in one is a disclosure obligation as much as a technical one: a tag added in
159
+ * Google's UI appears in no inventory here and no spec can see it. That is a
160
+ * reason to know what a container holds before configuring one on a surface,
161
+ * not a reason for this function to be looser.
162
+ *
163
+ * ⛔ NO `<noscript>` iframe accompanies this anywhere, deliberately, and it is
164
+ * the one piece of Google's standard snippet always omitted. That iframe fires
165
+ * the container with no JavaScript — so no consent defaults, no gate, nothing
166
+ * to suppress it. It is a consent bypass with a fallback's reputation. A
167
+ * visitor with JavaScript off gets no container, which is the correct answer.
168
+ */ export function resolvePlatformGtmContainerId(analyticsGranted, containerId = readPlatformGtmContainerId(), env = readAnalyticsEnvironment(), internal = readInternalTrafficOverride()) {
169
+ if (analyticsGranted !== true) return null;
170
+ if (analyticsMayEmit(env) === false) return null;
171
+ // The container takes the gate too (AGL-3188). What it loads is decided in
172
+ // Google's UI and is invisible to every spec here, so it has to be assumed
173
+ // to carry advertising tags — and a container's tags reach `AW-` and Meta
174
+ // destinations no GA4 filter can touch.
175
+ if (internal === true) return null;
176
+ if (analyticsEnvironmentForcesInternal(env) === true) return null;
177
+ const candidate = String(containerId != null ? containerId : '').trim();
178
+ // Strict format check, same reason as the account ids above: the container
179
+ // id lands inside an inline script.
180
+ return GTM_CONTAINER_ID_PATTERN.test(candidate) ? candidate : null;
181
+ }
182
+ /**
183
+ * The inline boot for a Google Tag Manager container.
184
+ *
185
+ * The consent-mode declaration is NOT part of this string. Every surface that
186
+ * calls it declares `PLATFORM_CONSENT_DEFAULT_COMMANDS` earlier and by its own
187
+ * route — the console pushes them onto `dataLayer` before the Firebase SDK
188
+ * boots gtag, the docs site emits them from its `ssrTemplate` ahead of every
189
+ * plugin tag — and re-declaring a default mid-page re-DENIES what the first
190
+ * one granted until an update lands. One declaration per document, made by
191
+ * whoever is first.
192
+ *
193
+ * The `gtag` shim is defined anyway, because it is cheap and because
194
+ * `dataLayer.push` of a plain array is the classic silent no-op if anything
195
+ * downstream reaches for the function form.
196
+ */ export function platformGtmBootSnippet() {
197
+ return 'window.dataLayer=window.dataLayer||[];' + 'function gtag(){dataLayer.push(arguments);}' + "dataLayer.push({'gtm.start':new Date().getTime(),event:'gtm.js'});";
198
+ }
199
+ /** The container library URL for `containerId`. */ export function platformGtmScriptSrc(containerId) {
200
+ return `https://www.googletagmanager.com/gtm.js?id=${containerId}`;
201
+ }
202
+
203
+ //# sourceMappingURL=platform-advertising-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/platform-advertising-tags.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 * Which advertising tags may load on AGLYN'S OWN NON-TENANT SURFACES — the\n * console (`app.aglyn.com`, `auth.aglyn.com`) and the docs site\n * (`docs.aglyn.com`).\n *\n * ## Why this exists beside `advertising-tags.ts` rather than inside it\n *\n * {@link resolveAdvertisingTags} answers the same question for a TENANT page,\n * and every one of its inputs is a host document: the surface discriminator is\n * `isPlatformMarketingHost`, the configuration is `analytics.adTags`, and the\n * consent record is keyed per host id. None of those exist here. The console\n * and the docs are not sites anybody published; they are Aglyn's own\n * properties, so their ids come from build configuration and their consent\n * comes from the platform record.\n *\n * What is deliberately NOT duplicated is the vendor registry. Both resolvers\n * read {@link ADVERTISING_VENDORS}, so a vendor is described — loaded, torn\n * down, and its cookies named — exactly once. A second registry is how a\n * vendor comes to be revocable on one surface and resident forever on\n * another.\n *\n * ## Configuration, and why nothing is hardcoded\n *\n * ⛔ No default id, for any vendor. `analyticsMayEmit()` is true for ANY\n * production build, self-hosted ones included, so a hardcoded pixel id would\n * have every operator's console building retargeting audiences in Aglyn's ad\n * accounts out of their users. Unset means unset and nothing loads — the same\n * rule `platform-ad-conversions.ts` and the docs site's `DOCS_*` values are\n * built on, and the one this file follows rather than reinvents.\n *\n * A self-host operator's own advertising tags are their business: setting\n * these variables to their own ids is how they run them, and leaving them\n * unset is how they run none.\n *\n * ⚠️ `process.env.NAME` is inlined at BUILD time by Next and never the bracket\n * form, so every read below is written out literally. They are fixed when the\n * image is built rather than when it starts; changing ad accounts is a\n * rebuild.\n */\n\nimport {\n ADVERTISING_VENDORS,\n type ResolvedAdvertisingTag,\n} from './advertising-tags'\nimport {\n analyticsEnvironmentForcesInternal,\n analyticsMayEmit,\n type AnalyticsEnvironment,\n readAnalyticsEnvironment,\n} from './analytics-environment'\nimport { readInternalTrafficOverride } from './internal-traffic'\nimport { GTM_CONTAINER_ID_PATTERN } from './visitor-consent'\n\n/**\n * The build-configured account id for each vendor this surface can mount,\n * keyed by {@link AdvertisingVendor.id}.\n *\n * Read at CALL time rather than captured in a module constant, so a spec can\n * drive every branch — the alternative is a constant that can only ever be\n * observed in one state, which is the shape of a check that cannot fail.\n * `readAnalyticsEnvironment` is written the same way and for the same reason.\n */\nexport function readPlatformAdTagIds(): Record<string, string> {\n return {\n meta: process.env.NEXT_PUBLIC_META_PIXEL_ID || '',\n // The SAME variable the conversion reporter reads. One `AW-` account id\n // per deployment: a build that fired conversions into one advertiser and\n // built audiences in another would split a funnel that has to be joined,\n // and the second variable is the one that would go stale.\n 'google-ads': process.env.NEXT_PUBLIC_ADS_CONVERSION_ID || '',\n linkedin: process.env.NEXT_PUBLIC_LINKEDIN_PARTNER_ID || '',\n }\n}\n\n/** The build-configured Google Tag Manager container, or an empty string. */\nexport function readPlatformGtmContainerId(): string {\n return process.env.NEXT_PUBLIC_GTM_CONTAINER_ID || ''\n}\n\n/**\n * Which advertising tags may exist on this surface, for this visitor, right\n * now.\n *\n * Pure, and empty is the answer to every question it cannot answer — a build\n * that may not emit, a visitor who has not granted, an unconfigured vendor, a\n * malformed id.\n *\n * `advertisingGranted` is PASSED IN rather than read here, and that is the\n * whole of the arrangement this module is for. Each surface resolves consent\n * through the machinery it already has — the console through\n * `platformAdvertisingAllowed()` over its own posture-resolved record, the\n * docs site through the registrable-domain mirror of that same record — and\n * neither gets a second reading of a cookie from inside an analytics helper.\n * One resolver per surface, asked by the mount rather than re-implemented in\n * it.\n *\n * `analyticsMayEmit` is checked HERE and not left to the caller, because it is\n * the one condition that is a property of the BUILD rather than of the\n * visitor: `next dev` and any Vercel preview build resolve these ids exactly\n * as production does, and without this a preview deploy would build real\n * retargeting audiences out of our own engineers (AGL-2067).\n */\nexport function resolvePlatformAdvertisingTags(\n advertisingGranted: boolean,\n ids: Record<string, string> = readPlatformAdTagIds(),\n env: AnalyticsEnvironment = readAnalyticsEnvironment(),\n internal: boolean = readInternalTrafficOverride(),\n): ResolvedAdvertisingTag[] {\n if (advertisingGranted !== true) return []\n if (analyticsMayEmit(env) === false) return []\n // The same clause the tenant resolver calls condition 6 (AGL-3188), which\n // this surface never had. A GA4 data filter is PROPERTY-scoped: it drops\n // `traffic_type: internal` from the GA4 property and has no reach into an\n // `AW-` destination, which is a separate product reached by separate\n // requests. Measured on `auth.aglyn.com`: a pinned browser's pageview sent\n // `tt=internal` to `g/collect` and, in the same document, an unmarked\n // `ccm/collect` to `AW-18401436785`. Excluding ourselves from the reports\n // while still training the bidding on ourselves is the worse half, because\n // it is the half nobody can see in a report.\n //\n // Structural, not suppression: a resident tag fires on its own and the\n // first automatic event writes a `_gcl_*` cookie, so the tag must not be\n // MOUNTED rather than mounted and silenced.\n if (internal === true) return []\n // A non-production build emitting because someone turned the hatch on is\n // ours by definition, and must not hand a preview the real `AW-` id.\n if (analyticsEnvironmentForcesInternal(env) === true) return []\n const tags: ResolvedAdvertisingTag[] = []\n for (const vendor of ADVERTISING_VENDORS) {\n // Sweep-only: nothing to mount, and no `accountIdPattern` to test with.\n // Skipped explicitly rather than left to fail a pattern check, so a stray\n // configured value cannot conjure a script.\n if (vendor.sweepOnly || !vendor.accountIdPattern) continue\n const accountId = String(ids[vendor.id] ?? '')\n // Strict format check, exactly as the tenant resolver applies: the id\n // lands inside an inline script (the AGL-138 concern), and a half-set\n // variable must read as absent rather than as an id.\n if (vendor.accountIdPattern.test(accountId)) {\n tags.push({ vendor, accountId })\n }\n }\n return tags\n}\n\n/**\n * The Google Tag Manager container this surface may load, or null.\n *\n * ## Why the gate here is ANALYTICS and never advertising\n *\n * A container is not a tag — it is a LOADER, and what it loads is decided in\n * Google's UI by whoever owns it, not here. The tenant runtime already settled\n * the rule this follows: a container cannot have a WEAKER gate than GA,\n * because it is the likeliest thing on a page to carry an advertising tag, and\n * it cannot have a stronger one either or a container-only surface would never\n * load at all. So it rides the analytics grant, and the advertising signals\n * the visitor did or did not give reach its tags through Consent Mode v2 —\n * which is why `PLATFORM_CONSENT_DEFAULT_COMMANDS` has to be declared before\n * `gtm.js` is requested and not after.\n *\n * ⚠️ A container's CONTENTS are not visible from this repository, and what is\n * in one is a disclosure obligation as much as a technical one: a tag added in\n * Google's UI appears in no inventory here and no spec can see it. That is a\n * reason to know what a container holds before configuring one on a surface,\n * not a reason for this function to be looser.\n *\n * ⛔ NO `<noscript>` iframe accompanies this anywhere, deliberately, and it is\n * the one piece of Google's standard snippet always omitted. That iframe fires\n * the container with no JavaScript — so no consent defaults, no gate, nothing\n * to suppress it. It is a consent bypass with a fallback's reputation. A\n * visitor with JavaScript off gets no container, which is the correct answer.\n */\nexport function resolvePlatformGtmContainerId(\n analyticsGranted: boolean,\n containerId: string = readPlatformGtmContainerId(),\n env: AnalyticsEnvironment = readAnalyticsEnvironment(),\n internal: boolean = readInternalTrafficOverride(),\n): string | null {\n if (analyticsGranted !== true) return null\n if (analyticsMayEmit(env) === false) return null\n // The container takes the gate too (AGL-3188). What it loads is decided in\n // Google's UI and is invisible to every spec here, so it has to be assumed\n // to carry advertising tags — and a container's tags reach `AW-` and Meta\n // destinations no GA4 filter can touch.\n if (internal === true) return null\n if (analyticsEnvironmentForcesInternal(env) === true) return null\n const candidate = String(containerId ?? '').trim()\n // Strict format check, same reason as the account ids above: the container\n // id lands inside an inline script.\n return GTM_CONTAINER_ID_PATTERN.test(candidate) ? candidate : null\n}\n\n/**\n * The inline boot for a Google Tag Manager container.\n *\n * The consent-mode declaration is NOT part of this string. Every surface that\n * calls it declares `PLATFORM_CONSENT_DEFAULT_COMMANDS` earlier and by its own\n * route — the console pushes them onto `dataLayer` before the Firebase SDK\n * boots gtag, the docs site emits them from its `ssrTemplate` ahead of every\n * plugin tag — and re-declaring a default mid-page re-DENIES what the first\n * one granted until an update lands. One declaration per document, made by\n * whoever is first.\n *\n * The `gtag` shim is defined anyway, because it is cheap and because\n * `dataLayer.push` of a plain array is the classic silent no-op if anything\n * downstream reaches for the function form.\n */\nexport function platformGtmBootSnippet(): string {\n return (\n 'window.dataLayer=window.dataLayer||[];' +\n 'function gtag(){dataLayer.push(arguments);}' +\n \"dataLayer.push({'gtm.start':new Date().getTime(),event:'gtm.js'});\"\n )\n}\n\n/** The container library URL for `containerId`. */\nexport function platformGtmScriptSrc(containerId: string): string {\n return `https://www.googletagmanager.com/gtm.js?id=${containerId}`\n}\n"],"names":["ADVERTISING_VENDORS","analyticsEnvironmentForcesInternal","analyticsMayEmit","readAnalyticsEnvironment","readInternalTrafficOverride","GTM_CONTAINER_ID_PATTERN","readPlatformAdTagIds","meta","process","env","NEXT_PUBLIC_META_PIXEL_ID","NEXT_PUBLIC_ADS_CONVERSION_ID","linkedin","NEXT_PUBLIC_LINKEDIN_PARTNER_ID","readPlatformGtmContainerId","NEXT_PUBLIC_GTM_CONTAINER_ID","resolvePlatformAdvertisingTags","advertisingGranted","ids","internal","tags","vendor","sweepOnly","accountIdPattern","accountId","String","id","test","push","resolvePlatformGtmContainerId","analyticsGranted","containerId","candidate","trim","platformGtmBootSnippet","platformGtmScriptSrc"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCC,GAED,SACEA,mBAAmB,QAEd,wBAAoB;AAC3B,SACEC,kCAAkC,EAClCC,gBAAgB,EAEhBC,wBAAwB,QACnB,6BAAyB;AAChC,SAASC,2BAA2B,QAAQ,wBAAoB;AAChE,SAASC,wBAAwB,QAAQ,uBAAmB;AAE5D;;;;;;;;CAQC,GACD,OAAO,SAASC;IACd,OAAO;QACLC,MAAMC,QAAQC,GAAG,CAACC,yBAAyB,IAAI;QAC/C,wEAAwE;QACxE,yEAAyE;QACzE,yEAAyE;QACzE,0DAA0D;QAC1D,cAAcF,QAAQC,GAAG,CAACE,6BAA6B,IAAI;QAC3DC,UAAUJ,QAAQC,GAAG,CAACI,+BAA+B,IAAI;IAC3D;AACF;AAEA,2EAA2E,GAC3E,OAAO,SAASC;IACd,OAAON,QAAQC,GAAG,CAACM,4BAA4B,IAAI;AACrD;AAEA;;;;;;;;;;;;;;;;;;;;;;CAsBC,GACD,OAAO,SAASC,+BACdC,kBAA2B,EAC3BC,MAA8BZ,sBAAsB,EACpDG,MAA4BN,0BAA0B,EACtDgB,WAAoBf,6BAA6B;IAEjD,IAAIa,uBAAuB,MAAM,OAAO,EAAE;IAC1C,IAAIf,iBAAiBO,SAAS,OAAO,OAAO,EAAE;IAC9C,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,qEAAqE;IACrE,2EAA2E;IAC3E,sEAAsE;IACtE,0EAA0E;IAC1E,2EAA2E;IAC3E,6CAA6C;IAC7C,EAAE;IACF,uEAAuE;IACvE,yEAAyE;IACzE,4CAA4C;IAC5C,IAAIU,aAAa,MAAM,OAAO,EAAE;IAChC,yEAAyE;IACzE,qEAAqE;IACrE,IAAIlB,mCAAmCQ,SAAS,MAAM,OAAO,EAAE;IAC/D,MAAMW,OAAiC,EAAE;IACzC,KAAK,MAAMC,UAAUrB,oBAAqB;YAKfkB;QAJzB,wEAAwE;QACxE,0EAA0E;QAC1E,4CAA4C;QAC5C,IAAIG,OAAOC,SAAS,IAAI,CAACD,OAAOE,gBAAgB,EAAE;QAClD,MAAMC,YAAYC,QAAOP,iBAAAA,GAAG,CAACG,OAAOK,EAAE,CAAC,YAAdR,iBAAkB;QAC3C,sEAAsE;QACtE,sEAAsE;QACtE,qDAAqD;QACrD,IAAIG,OAAOE,gBAAgB,CAACI,IAAI,CAACH,YAAY;YAC3CJ,KAAKQ,IAAI,CAAC;gBAAEP;gBAAQG;YAAU;QAChC;IACF;IACA,OAAOJ;AACT;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BC,GACD,OAAO,SAASS,8BACdC,gBAAyB,EACzBC,cAAsBjB,4BAA4B,EAClDL,MAA4BN,0BAA0B,EACtDgB,WAAoBf,6BAA6B;IAEjD,IAAI0B,qBAAqB,MAAM,OAAO;IACtC,IAAI5B,iBAAiBO,SAAS,OAAO,OAAO;IAC5C,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,wCAAwC;IACxC,IAAIU,aAAa,MAAM,OAAO;IAC9B,IAAIlB,mCAAmCQ,SAAS,MAAM,OAAO;IAC7D,MAAMuB,YAAYP,OAAOM,sBAAAA,cAAe,IAAIE,IAAI;IAChD,2EAA2E;IAC3E,oCAAoC;IACpC,OAAO5B,yBAAyBsB,IAAI,CAACK,aAAaA,YAAY;AAChE;AAEA;;;;;;;;;;;;;;CAcC,GACD,OAAO,SAASE;IACd,OACE,2CACA,gDACA;AAEJ;AAEA,iDAAiD,GACjD,OAAO,SAASC,qBAAqBJ,WAAmB;IACtD,OAAO,CAAC,2CAA2C,EAAEA,aAAa;AACpE"}
@@ -0,0 +1,151 @@
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 product name, as shown to end users.
19
+ *
20
+ * This is the browser-tab affix, the PWA name, the WebAuthn relying-party name
21
+ * the OS credential prompt displays, the `<meta name="generator">` and
22
+ * `x-powered-by` on published sites, and the platform default `productName` /
23
+ * `fromName` every non-white-label org's surfaces resolve to.
24
+ */
25
+ export declare const PLATFORM_BRAND_NAME: string;
26
+ /**
27
+ * The legal entity operating the software's own cloud, for copy that needs a
28
+ * company rather than a product (`BRAND.ORG_NAME_LEGAL`).
29
+ *
30
+ * NOT the same thing as `operatorIdentity().name`, and the distinction matters.
31
+ * This is a *brand* string with a visible default; that one is the identity a
32
+ * statutory notice is addressed to and refuses to default. An operator who
33
+ * sets only this has renamed the product, not published who they are.
34
+ */
35
+ export declare const PLATFORM_BRAND_LEGAL_NAME: string;
36
+ /**
37
+ * Where a "need help?" line points.
38
+ *
39
+ * Falls through the operator's OWN support address before it falls back to
40
+ * ours, deliberately: an operator who followed the runbook has already set
41
+ * `NEXT_PUBLIC_OPERATOR_SUPPORT_EMAIL`, and making them discover a second
42
+ * variable to stop pointing their customers at Aglyn's support desk — which
43
+ * cannot help those customers with anything — is a trap dressed as a default.
44
+ *
45
+ * Read here rather than imported from `operator-identity.ts` so this module
46
+ * stays dependency-free and safe to import from anywhere, including the places
47
+ * that cannot take the operator module's weight.
48
+ */
49
+ export declare const PLATFORM_SUPPORT_URL: string;
50
+ /** True when this deployment still answers to Aglyn's own brand. */
51
+ export declare const isAglynOperatedBrand: () => boolean;
52
+ /**
53
+ * Where the platform's own front door is — the marketing home, not the help
54
+ * desk.
55
+ *
56
+ * ## Why this is not `PLATFORM_SUPPORT_URL`
57
+ *
58
+ * The "Made with …" badge on a published free-tier site used to link to
59
+ * `supportUrl`, and on this deployment `supportUrl` falls through to
60
+ * `mailto:` + the operator support address. So the one link the platform gets
61
+ * on every free customer's site — its only organic acquisition surface —
62
+ * opened the visitor's mail client addressed to our support desk. A visitor
63
+ * who liked the site and clicked to find out what built it got a blank email,
64
+ * and support got the misdirected replies.
65
+ *
66
+ * They are genuinely different destinations. `supportUrl` answers "I am a
67
+ * customer and something is wrong"; this answers "what is this, and can I have
68
+ * one". Keeping one value for both guarantees one of them is wrong.
69
+ *
70
+ * ## Why it is null rather than aglyn.com off-brand
71
+ *
72
+ * A self-hosted deployment that renamed the product but set no home URL has
73
+ * nowhere honest to send that visitor: "Made with Foo" pointing at aglyn.com
74
+ * advertises the wrong company on Foo's customers' sites. The badge already
75
+ * renders as a plain label when it has no destination (AGL-2428), which is the
76
+ * correct outcome — so the Aglyn default applies only while this really is the
77
+ * Aglyn-operated brand.
78
+ */
79
+ export declare const PLATFORM_HOME_URL: string | null;
80
+ /**
81
+ * The platform's own logo MARK — the compact, square, no-wordmark form — as a
82
+ * URL an `<img>` on a PUBLISHED SITE can load.
83
+ *
84
+ * Site-relative on purpose: every app that renders it serves
85
+ * `public/_static/…` from its own origin, so one path works on
86
+ * `{sub}.aglyn.app` and on a customer's custom domain alike without knowing
87
+ * either. The white variant is the one that survives the badge's dark pill and
88
+ * an org's `primaryColor` behind it.
89
+ *
90
+ * Null unless this is the Aglyn-operated brand, for the same reason as
91
+ * {@link PLATFORM_HOME_URL}: a renamed deployment must not stamp our mark on
92
+ * its customers' sites. Such an operator sets `NEXT_PUBLIC_PLATFORM_MARK_URL`
93
+ * to their own, or gets a text-only badge.
94
+ */
95
+ export declare const PLATFORM_MARK_URL: string | null;
96
+ /**
97
+ * A branding profile with every field present — what a branded surface
98
+ * renders. Image/color/domain fields are nullable (Aglyn's own surfaces
99
+ * bake those in rather than carry a URL); the remaining text fields always
100
+ * have a value so callers never string-concatenate `undefined`.
101
+ *
102
+ * `supportUrl` is nullable too, and it is the one field where null carries a
103
+ * decision rather than an absence — see {@link resolveBrandingProfile}. A
104
+ * caller must render NOTHING for it, never a placeholder and never a
105
+ * substitute.
106
+ */
107
+ export interface ResolvedBrandingProfile {
108
+ productName: string;
109
+ logoUrl: string | null;
110
+ faviconUrl: string | null;
111
+ primaryColor: string | null;
112
+ supportUrl: string | null;
113
+ /**
114
+ * The brand's own FRONT DOOR — where "Made with <product>" sends a visitor
115
+ * who wants to know what built the site they are looking at.
116
+ *
117
+ * Deliberately separate from {@link ResolvedBrandingProfile.supportUrl},
118
+ * which the badge used to borrow: a help-desk address is the wrong answer to
119
+ * "what is this", and on this deployment it resolves to a `mailto:`, so the
120
+ * badge opened a blank email instead of a web page.
121
+ *
122
+ * Nullable for the same reason `supportUrl` is — a brand with nowhere to
123
+ * send that visitor gets a plain label, never a substitute destination.
124
+ */
125
+ homeUrl: string | null;
126
+ fromName: string;
127
+ emailLogoUrl: string | null;
128
+ customConsoleDomain: string | null;
129
+ }
130
+ /**
131
+ * The PLATFORM (non-white-label) brand — the fallback every surface gets when
132
+ * an org lacks the `whiteLabel` entitlement, and the gap-filler for a partial
133
+ * agency profile.
134
+ *
135
+ * It lives beside the literals it is assembled from rather than beside the
136
+ * entitlement gate that hands it out, and that placement is load-bearing
137
+ * rather than tidying. A published tenant page renders the attribution badge
138
+ * from this constant and reads nothing else out of `plan-entitlements.ts`;
139
+ * defining it there put that module's whole plan, quota and entitlement table
140
+ * — the single largest first-party module a visitor could reach — into the
141
+ * first load of every anonymous visitor to every customer site.
142
+ * `plan-entitlements.ts` re-exports it, so every existing caller is unchanged.
143
+ *
144
+ * The name says the PLATFORM's brand rather than Aglyn's because on a
145
+ * self-host install that assertion stops being true: which platform this is,
146
+ * is configuration. `resolveBrandingProfile` is the single resolver EVERY
147
+ * branded surface routes through — console chrome, published-site badge and
148
+ * title, transactional email — and this is its fallback, so all of them get a
149
+ * self-host brand without extending the white-label machinery at all.
150
+ */
151
+ export declare const PLATFORM_BRANDING_PROFILE: ResolvedBrandingProfile;
@@ -0,0 +1,175 @@
1
+ var _clean, _clean1, _clean2, _clean3;
2
+ /**
3
+ * @license
4
+ * Copyright 2026 Aglyn LLC
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */ /**
18
+ * What this deployment calls itself (AGL-2153).
19
+ *
20
+ * the rule for the self-host path: *"the self hosted owner should not have
21
+ * to edit the source to update aglyn branded items urls or personal
22
+ * identification items, should move these to env vars"*. AGL-2016 did that for
23
+ * the values where getting it wrong misroutes a legal notice. This is the
24
+ * other half — the product name itself, which was a bare `'Aglyn'` literal in
25
+ * nine places.
26
+ *
27
+ * ## Why one module rather than nine reads
28
+ *
29
+ * The literals were not merely duplicated, they were duplicated across a
30
+ * boundary: `PLATFORM_GENERATOR_NAME` exists here AND as a hand-copied
31
+ * constant in `apps/tenant/middleware.ts`, because the edge bundle cannot
32
+ * import this lib. A single source they both read is what stops the copy from
33
+ * drifting into a deployment that half-renames itself.
34
+ *
35
+ * ## Why a default at all, when operator-identity.ts refuses to have one
36
+ *
37
+ * `operator-identity.ts` sets out the rule and it is the right one: a value
38
+ * whose wrongness is invisible to the operator and visible only off-site must
39
+ * not be guessed. The brand is the opposite case. An operator who does not set
40
+ * it sees "Aglyn" in their own browser tab on their own first page load, in
41
+ * their own console. That is a default they can see and correct, which is a
42
+ * default rather than a trap — the same test AGL-2022 applied to the tenant
43
+ * apex.
44
+ *
45
+ * ## Why `NEXT_PUBLIC_`, and why dot notation is load-bearing
46
+ *
47
+ * The brand is printed to the public — that is what it is for — so
48
+ * `NEXT_PUBLIC_` carries no disclosure risk. Next inlines `NEXT_PUBLIC_*` into
49
+ * the browser bundle by textually substituting `process.env.NAME`; the
50
+ * **bracket** form is never substituted and reads `undefined` in the browser
51
+ * (AGL-2037). Every read below is dot notation on purpose.
52
+ *
53
+ * Build-time consequence for self-hosters: these are baked in when the image
54
+ * is built, so they must be set *before* `docker compose build`, not merely
55
+ * before `up`. `docs/SELF_HOSTING.md` says so.
56
+ */ /** A non-empty trimmed string, else undefined — `' '` is a half-finished `.env`. */ const clean = (value)=>{
57
+ const text = typeof value === 'string' ? value.trim() : '';
58
+ return text.length ? text : undefined;
59
+ };
60
+ /**
61
+ * The product name, as shown to end users.
62
+ *
63
+ * This is the browser-tab affix, the PWA name, the WebAuthn relying-party name
64
+ * the OS credential prompt displays, the `<meta name="generator">` and
65
+ * `x-powered-by` on published sites, and the platform default `productName` /
66
+ * `fromName` every non-white-label org's surfaces resolve to.
67
+ */ export const PLATFORM_BRAND_NAME = (_clean = clean(process.env.NEXT_PUBLIC_PLATFORM_BRAND_NAME)) != null ? _clean : 'Aglyn';
68
+ /**
69
+ * The legal entity operating the software's own cloud, for copy that needs a
70
+ * company rather than a product (`BRAND.ORG_NAME_LEGAL`).
71
+ *
72
+ * NOT the same thing as `operatorIdentity().name`, and the distinction matters.
73
+ * This is a *brand* string with a visible default; that one is the identity a
74
+ * statutory notice is addressed to and refuses to default. An operator who
75
+ * sets only this has renamed the product, not published who they are.
76
+ */ export const PLATFORM_BRAND_LEGAL_NAME = (_clean1 = clean(process.env.NEXT_PUBLIC_PLATFORM_BRAND_LEGAL_NAME)) != null ? _clean1 : `${PLATFORM_BRAND_NAME} LLC`;
77
+ /**
78
+ * Where a "need help?" line points.
79
+ *
80
+ * Falls through the operator's OWN support address before it falls back to
81
+ * ours, deliberately: an operator who followed the runbook has already set
82
+ * `NEXT_PUBLIC_OPERATOR_SUPPORT_EMAIL`, and making them discover a second
83
+ * variable to stop pointing their customers at Aglyn's support desk — which
84
+ * cannot help those customers with anything — is a trap dressed as a default.
85
+ *
86
+ * Read here rather than imported from `operator-identity.ts` so this module
87
+ * stays dependency-free and safe to import from anywhere, including the places
88
+ * that cannot take the operator module's weight.
89
+ */ export const PLATFORM_SUPPORT_URL = (()=>{
90
+ const configured = clean(process.env.NEXT_PUBLIC_PLATFORM_SUPPORT_URL);
91
+ if (configured) return configured;
92
+ const operatorEmail = clean(process.env.NEXT_PUBLIC_OPERATOR_SUPPORT_EMAIL);
93
+ if (operatorEmail) return `mailto:${operatorEmail}`;
94
+ return 'https://aglyn.com/support';
95
+ })();
96
+ /** True when this deployment still answers to Aglyn's own brand. */ export const isAglynOperatedBrand = ()=>PLATFORM_BRAND_NAME === 'Aglyn';
97
+ /**
98
+ * Where the platform's own front door is — the marketing home, not the help
99
+ * desk.
100
+ *
101
+ * ## Why this is not `PLATFORM_SUPPORT_URL`
102
+ *
103
+ * The "Made with …" badge on a published free-tier site used to link to
104
+ * `supportUrl`, and on this deployment `supportUrl` falls through to
105
+ * `mailto:` + the operator support address. So the one link the platform gets
106
+ * on every free customer's site — its only organic acquisition surface —
107
+ * opened the visitor's mail client addressed to our support desk. A visitor
108
+ * who liked the site and clicked to find out what built it got a blank email,
109
+ * and support got the misdirected replies.
110
+ *
111
+ * They are genuinely different destinations. `supportUrl` answers "I am a
112
+ * customer and something is wrong"; this answers "what is this, and can I have
113
+ * one". Keeping one value for both guarantees one of them is wrong.
114
+ *
115
+ * ## Why it is null rather than aglyn.com off-brand
116
+ *
117
+ * A self-hosted deployment that renamed the product but set no home URL has
118
+ * nowhere honest to send that visitor: "Made with Foo" pointing at aglyn.com
119
+ * advertises the wrong company on Foo's customers' sites. The badge already
120
+ * renders as a plain label when it has no destination (AGL-2428), which is the
121
+ * correct outcome — so the Aglyn default applies only while this really is the
122
+ * Aglyn-operated brand.
123
+ */ export const PLATFORM_HOME_URL = (_clean2 = clean(process.env.NEXT_PUBLIC_PLATFORM_HOME_URL)) != null ? _clean2 : isAglynOperatedBrand() ? 'https://aglyn.com' : null;
124
+ /**
125
+ * The platform's own logo MARK — the compact, square, no-wordmark form — as a
126
+ * URL an `<img>` on a PUBLISHED SITE can load.
127
+ *
128
+ * Site-relative on purpose: every app that renders it serves
129
+ * `public/_static/…` from its own origin, so one path works on
130
+ * `{sub}.aglyn.app` and on a customer's custom domain alike without knowing
131
+ * either. The white variant is the one that survives the badge's dark pill and
132
+ * an org's `primaryColor` behind it.
133
+ *
134
+ * Null unless this is the Aglyn-operated brand, for the same reason as
135
+ * {@link PLATFORM_HOME_URL}: a renamed deployment must not stamp our mark on
136
+ * its customers' sites. Such an operator sets `NEXT_PUBLIC_PLATFORM_MARK_URL`
137
+ * to their own, or gets a text-only badge.
138
+ */ export const PLATFORM_MARK_URL = (_clean3 = clean(process.env.NEXT_PUBLIC_PLATFORM_MARK_URL)) != null ? _clean3 : isAglynOperatedBrand() ? '/_static/images/brand/aglyn-logo-mark-white.svg' : null;
139
+ /**
140
+ * The PLATFORM (non-white-label) brand — the fallback every surface gets when
141
+ * an org lacks the `whiteLabel` entitlement, and the gap-filler for a partial
142
+ * agency profile.
143
+ *
144
+ * It lives beside the literals it is assembled from rather than beside the
145
+ * entitlement gate that hands it out, and that placement is load-bearing
146
+ * rather than tidying. A published tenant page renders the attribution badge
147
+ * from this constant and reads nothing else out of `plan-entitlements.ts`;
148
+ * defining it there put that module's whole plan, quota and entitlement table
149
+ * — the single largest first-party module a visitor could reach — into the
150
+ * first load of every anonymous visitor to every customer site.
151
+ * `plan-entitlements.ts` re-exports it, so every existing caller is unchanged.
152
+ *
153
+ * The name says the PLATFORM's brand rather than Aglyn's because on a
154
+ * self-host install that assertion stops being true: which platform this is,
155
+ * is configuration. `resolveBrandingProfile` is the single resolver EVERY
156
+ * branded surface routes through — console chrome, published-site badge and
157
+ * title, transactional email — and this is its fallback, so all of them get a
158
+ * self-host brand without extending the white-label machinery at all.
159
+ */ export const PLATFORM_BRANDING_PROFILE = {
160
+ productName: PLATFORM_BRAND_NAME,
161
+ // The platform's own surfaces still bake their logo in — this is here for
162
+ // the surfaces that CANNOT, which is every surface rendered on somebody
163
+ // else's site. The free-tier attribution badge is the one that exists
164
+ // today, and it carried no mark at all while this was null.
165
+ logoUrl: PLATFORM_MARK_URL,
166
+ faviconUrl: null,
167
+ primaryColor: null,
168
+ supportUrl: PLATFORM_SUPPORT_URL,
169
+ homeUrl: PLATFORM_HOME_URL,
170
+ fromName: PLATFORM_BRAND_NAME,
171
+ emailLogoUrl: null,
172
+ customConsoleDomain: null
173
+ };
174
+
175
+ //# sourceMappingURL=platform-brand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/platform-brand.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 * What this deployment calls itself (AGL-2153).\n *\n * the rule for the self-host path: *\"the self hosted owner should not have\n * to edit the source to update aglyn branded items urls or personal\n * identification items, should move these to env vars\"*. AGL-2016 did that for\n * the values where getting it wrong misroutes a legal notice. This is the\n * other half — the product name itself, which was a bare `'Aglyn'` literal in\n * nine places.\n *\n * ## Why one module rather than nine reads\n *\n * The literals were not merely duplicated, they were duplicated across a\n * boundary: `PLATFORM_GENERATOR_NAME` exists here AND as a hand-copied\n * constant in `apps/tenant/middleware.ts`, because the edge bundle cannot\n * import this lib. A single source they both read is what stops the copy from\n * drifting into a deployment that half-renames itself.\n *\n * ## Why a default at all, when operator-identity.ts refuses to have one\n *\n * `operator-identity.ts` sets out the rule and it is the right one: a value\n * whose wrongness is invisible to the operator and visible only off-site must\n * not be guessed. The brand is the opposite case. An operator who does not set\n * it sees \"Aglyn\" in their own browser tab on their own first page load, in\n * their own console. That is a default they can see and correct, which is a\n * default rather than a trap — the same test AGL-2022 applied to the tenant\n * apex.\n *\n * ## Why `NEXT_PUBLIC_`, and why dot notation is load-bearing\n *\n * The brand is printed to the public — that is what it is for — so\n * `NEXT_PUBLIC_` carries no disclosure risk. Next inlines `NEXT_PUBLIC_*` into\n * the browser bundle by textually substituting `process.env.NAME`; the\n * **bracket** form is never substituted and reads `undefined` in the browser\n * (AGL-2037). Every read below is dot notation on purpose.\n *\n * Build-time consequence for self-hosters: these are baked in when the image\n * is built, so they must be set *before* `docker compose build`, not merely\n * before `up`. `docs/SELF_HOSTING.md` says so.\n */\n\n/** A non-empty trimmed string, else undefined — `' '` is a half-finished `.env`. */\nconst clean = (value: unknown): string | undefined => {\n const text = typeof value === 'string' ? value.trim() : ''\n return text.length ? text : undefined\n}\n\n/**\n * The product name, as shown to end users.\n *\n * This is the browser-tab affix, the PWA name, the WebAuthn relying-party name\n * the OS credential prompt displays, the `<meta name=\"generator\">` and\n * `x-powered-by` on published sites, and the platform default `productName` /\n * `fromName` every non-white-label org's surfaces resolve to.\n */\nexport const PLATFORM_BRAND_NAME =\n clean(process.env.NEXT_PUBLIC_PLATFORM_BRAND_NAME) ?? 'Aglyn'\n\n/**\n * The legal entity operating the software's own cloud, for copy that needs a\n * company rather than a product (`BRAND.ORG_NAME_LEGAL`).\n *\n * NOT the same thing as `operatorIdentity().name`, and the distinction matters.\n * This is a *brand* string with a visible default; that one is the identity a\n * statutory notice is addressed to and refuses to default. An operator who\n * sets only this has renamed the product, not published who they are.\n */\nexport const PLATFORM_BRAND_LEGAL_NAME =\n clean(process.env.NEXT_PUBLIC_PLATFORM_BRAND_LEGAL_NAME) ??\n `${PLATFORM_BRAND_NAME} LLC`\n\n/**\n * Where a \"need help?\" line points.\n *\n * Falls through the operator's OWN support address before it falls back to\n * ours, deliberately: an operator who followed the runbook has already set\n * `NEXT_PUBLIC_OPERATOR_SUPPORT_EMAIL`, and making them discover a second\n * variable to stop pointing their customers at Aglyn's support desk — which\n * cannot help those customers with anything — is a trap dressed as a default.\n *\n * Read here rather than imported from `operator-identity.ts` so this module\n * stays dependency-free and safe to import from anywhere, including the places\n * that cannot take the operator module's weight.\n */\nexport const PLATFORM_SUPPORT_URL: string = (() => {\n const configured = clean(process.env.NEXT_PUBLIC_PLATFORM_SUPPORT_URL)\n if (configured) return configured\n const operatorEmail = clean(process.env.NEXT_PUBLIC_OPERATOR_SUPPORT_EMAIL)\n if (operatorEmail) return `mailto:${operatorEmail}`\n return 'https://aglyn.com/support'\n})()\n\n/** True when this deployment still answers to Aglyn's own brand. */\nexport const isAglynOperatedBrand = (): boolean =>\n PLATFORM_BRAND_NAME === 'Aglyn'\n\n/**\n * Where the platform's own front door is — the marketing home, not the help\n * desk.\n *\n * ## Why this is not `PLATFORM_SUPPORT_URL`\n *\n * The \"Made with …\" badge on a published free-tier site used to link to\n * `supportUrl`, and on this deployment `supportUrl` falls through to\n * `mailto:` + the operator support address. So the one link the platform gets\n * on every free customer's site — its only organic acquisition surface —\n * opened the visitor's mail client addressed to our support desk. A visitor\n * who liked the site and clicked to find out what built it got a blank email,\n * and support got the misdirected replies.\n *\n * They are genuinely different destinations. `supportUrl` answers \"I am a\n * customer and something is wrong\"; this answers \"what is this, and can I have\n * one\". Keeping one value for both guarantees one of them is wrong.\n *\n * ## Why it is null rather than aglyn.com off-brand\n *\n * A self-hosted deployment that renamed the product but set no home URL has\n * nowhere honest to send that visitor: \"Made with Foo\" pointing at aglyn.com\n * advertises the wrong company on Foo's customers' sites. The badge already\n * renders as a plain label when it has no destination (AGL-2428), which is the\n * correct outcome — so the Aglyn default applies only while this really is the\n * Aglyn-operated brand.\n */\nexport const PLATFORM_HOME_URL: string | null =\n clean(process.env.NEXT_PUBLIC_PLATFORM_HOME_URL) ??\n (isAglynOperatedBrand() ? 'https://aglyn.com' : null)\n\n/**\n * The platform's own logo MARK — the compact, square, no-wordmark form — as a\n * URL an `<img>` on a PUBLISHED SITE can load.\n *\n * Site-relative on purpose: every app that renders it serves\n * `public/_static/…` from its own origin, so one path works on\n * `{sub}.aglyn.app` and on a customer's custom domain alike without knowing\n * either. The white variant is the one that survives the badge's dark pill and\n * an org's `primaryColor` behind it.\n *\n * Null unless this is the Aglyn-operated brand, for the same reason as\n * {@link PLATFORM_HOME_URL}: a renamed deployment must not stamp our mark on\n * its customers' sites. Such an operator sets `NEXT_PUBLIC_PLATFORM_MARK_URL`\n * to their own, or gets a text-only badge.\n */\nexport const PLATFORM_MARK_URL: string | null =\n clean(process.env.NEXT_PUBLIC_PLATFORM_MARK_URL) ??\n (isAglynOperatedBrand()\n ? '/_static/images/brand/aglyn-logo-mark-white.svg'\n : null)\n\n/**\n * A branding profile with every field present — what a branded surface\n * renders. Image/color/domain fields are nullable (Aglyn's own surfaces\n * bake those in rather than carry a URL); the remaining text fields always\n * have a value so callers never string-concatenate `undefined`.\n *\n * `supportUrl` is nullable too, and it is the one field where null carries a\n * decision rather than an absence — see {@link resolveBrandingProfile}. A\n * caller must render NOTHING for it, never a placeholder and never a\n * substitute.\n */\nexport interface ResolvedBrandingProfile {\n productName: string\n logoUrl: string | null\n faviconUrl: string | null\n primaryColor: string | null\n supportUrl: string | null\n /**\n * The brand's own FRONT DOOR — where \"Made with <product>\" sends a visitor\n * who wants to know what built the site they are looking at.\n *\n * Deliberately separate from {@link ResolvedBrandingProfile.supportUrl},\n * which the badge used to borrow: a help-desk address is the wrong answer to\n * \"what is this\", and on this deployment it resolves to a `mailto:`, so the\n * badge opened a blank email instead of a web page.\n *\n * Nullable for the same reason `supportUrl` is — a brand with nowhere to\n * send that visitor gets a plain label, never a substitute destination.\n */\n homeUrl: string | null\n fromName: string\n emailLogoUrl: string | null\n customConsoleDomain: string | null\n}\n\n/**\n * The PLATFORM (non-white-label) brand — the fallback every surface gets when\n * an org lacks the `whiteLabel` entitlement, and the gap-filler for a partial\n * agency profile.\n *\n * It lives beside the literals it is assembled from rather than beside the\n * entitlement gate that hands it out, and that placement is load-bearing\n * rather than tidying. A published tenant page renders the attribution badge\n * from this constant and reads nothing else out of `plan-entitlements.ts`;\n * defining it there put that module's whole plan, quota and entitlement table\n * — the single largest first-party module a visitor could reach — into the\n * first load of every anonymous visitor to every customer site.\n * `plan-entitlements.ts` re-exports it, so every existing caller is unchanged.\n *\n * The name says the PLATFORM's brand rather than Aglyn's because on a\n * self-host install that assertion stops being true: which platform this is,\n * is configuration. `resolveBrandingProfile` is the single resolver EVERY\n * branded surface routes through — console chrome, published-site badge and\n * title, transactional email — and this is its fallback, so all of them get a\n * self-host brand without extending the white-label machinery at all.\n */\nexport const PLATFORM_BRANDING_PROFILE: ResolvedBrandingProfile = {\n productName: PLATFORM_BRAND_NAME,\n // The platform's own surfaces still bake their logo in — this is here for\n // the surfaces that CANNOT, which is every surface rendered on somebody\n // else's site. The free-tier attribution badge is the one that exists\n // today, and it carried no mark at all while this was null.\n logoUrl: PLATFORM_MARK_URL,\n faviconUrl: null,\n primaryColor: null,\n supportUrl: PLATFORM_SUPPORT_URL,\n homeUrl: PLATFORM_HOME_URL,\n fromName: PLATFORM_BRAND_NAME,\n emailLogoUrl: null,\n customConsoleDomain: null,\n}\n"],"names":["clean","value","text","trim","length","undefined","PLATFORM_BRAND_NAME","process","env","NEXT_PUBLIC_PLATFORM_BRAND_NAME","PLATFORM_BRAND_LEGAL_NAME","NEXT_PUBLIC_PLATFORM_BRAND_LEGAL_NAME","PLATFORM_SUPPORT_URL","configured","NEXT_PUBLIC_PLATFORM_SUPPORT_URL","operatorEmail","NEXT_PUBLIC_OPERATOR_SUPPORT_EMAIL","isAglynOperatedBrand","PLATFORM_HOME_URL","NEXT_PUBLIC_PLATFORM_HOME_URL","PLATFORM_MARK_URL","NEXT_PUBLIC_PLATFORM_MARK_URL","PLATFORM_BRANDING_PROFILE","productName","logoUrl","faviconUrl","primaryColor","supportUrl","homeUrl","fromName","emailLogoUrl","customConsoleDomain"],"mappings":"IAyEEA,QAYAA,SAwDAA,SAmBAA;AAhKF;;;;;;;;;;;;;;;CAeC,GAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCC,GAED,oFAAoF,GACpF,MAAMA,QAAQ,CAACC;IACb,MAAMC,OAAO,OAAOD,UAAU,WAAWA,MAAME,IAAI,KAAK;IACxD,OAAOD,KAAKE,MAAM,GAAGF,OAAOG;AAC9B;AAEA;;;;;;;CAOC,GACD,OAAO,MAAMC,uBACXN,SAAAA,MAAMO,QAAQC,GAAG,CAACC,+BAA+B,aAAjDT,SAAsD,QAAO;AAE/D;;;;;;;;CAQC,GACD,OAAO,MAAMU,6BACXV,UAAAA,MAAMO,QAAQC,GAAG,CAACG,qCAAqC,aAAvDX,UACA,GAAGM,oBAAoB,IAAI,CAAC,CAAA;AAE9B;;;;;;;;;;;;CAYC,GACD,OAAO,MAAMM,uBAA+B,AAAC,CAAA;IAC3C,MAAMC,aAAab,MAAMO,QAAQC,GAAG,CAACM,gCAAgC;IACrE,IAAID,YAAY,OAAOA;IACvB,MAAME,gBAAgBf,MAAMO,QAAQC,GAAG,CAACQ,kCAAkC;IAC1E,IAAID,eAAe,OAAO,CAAC,OAAO,EAAEA,eAAe;IACnD,OAAO;AACT,CAAA,IAAI;AAEJ,kEAAkE,GAClE,OAAO,MAAME,uBAAuB,IAClCX,wBAAwB,QAAO;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BC,GACD,OAAO,MAAMY,qBACXlB,UAAAA,MAAMO,QAAQC,GAAG,CAACW,6BAA6B,aAA/CnB,UACCiB,yBAAyB,sBAAsB,KAAK;AAEvD;;;;;;;;;;;;;;CAcC,GACD,OAAO,MAAMG,qBACXpB,UAAAA,MAAMO,QAAQC,GAAG,CAACa,6BAA6B,aAA/CrB,UACCiB,yBACG,oDACA,KAAK;AAqCX;;;;;;;;;;;;;;;;;;;;CAoBC,GACD,OAAO,MAAMK,4BAAqD;IAChEC,aAAajB;IACb,0EAA0E;IAC1E,wEAAwE;IACxE,sEAAsE;IACtE,4DAA4D;IAC5DkB,SAASJ;IACTK,YAAY;IACZC,cAAc;IACdC,YAAYf;IACZgB,SAASV;IACTW,UAAUvB;IACVwB,cAAc;IACdC,qBAAqB;AACvB,EAAC"}