@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,186 @@
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
+ * Who runs *this* deployment, and where its notices go (AGL-2016).
18
+ *
19
+ * the rule for the self-host path: *"the self hosted owner should probably
20
+ * not have to edit the source to update aglyn branded items urls or personal
21
+ * identification items, should probably move these to env vars"*. This module
22
+ * is that, for the one class of value where getting it wrong is not cosmetic —
23
+ * the identity a legal notice is addressed to.
24
+ *
25
+ * ## The defect this exists to close
26
+ *
27
+ * `ABUSE_REPORT_CONTACT_EMAIL` was `'support@aglyn.com'`, a bare literal, and
28
+ * it rendered on the **public, unauthenticated** abuse-report form that every
29
+ * deployment ships. So a self-hoster running their own Firebase published a
30
+ * DMCA/abuse intake instructing third-party reporters to send statutory
31
+ * notices to **Aglyn** — about content Aglyn does not host, cannot see and
32
+ * cannot remove.
33
+ *
34
+ * That is wrong in both directions at once. The reporter's notice goes to a
35
+ * desk with no ability to act on it while their clock runs, and Aglyn is made
36
+ * to look like it holds a takedown duty for a site it does not operate.
37
+ * §512's obligations attach to the entity that actually hosts and controls the
38
+ * material, which on a self-host install is the operator and nobody else.
39
+ *
40
+ * ## Why the default is EMPTY, and not our address
41
+ *
42
+ * AGL-2016 originally proposed our address as the default "so Aglyn's own
43
+ * deployment is unchanged". That is the wrong default *for this value*, and
44
+ * the distinction is worth stating because the sibling fixes went the other
45
+ * way and were right to.
46
+ *
47
+ * `TENANT_PRODUCTION_ROOT` (AGL-2022) defaults to `aglyn.app`, and an operator
48
+ * who does not set it gets links that are merely *wrong* — visibly, on the
49
+ * first click, in their own console. A contact address that defaults to ours
50
+ * fails **silently and off-site**: nothing in the operator's product looks
51
+ * broken, and the only party who learns is a copyright holder whose notice
52
+ * landed with a stranger. A wrong default that is invisible to the person who
53
+ * could fix it is not a default, it is a trap.
54
+ *
55
+ * So: absent is a first-class state, exactly as AGL-2021 established for the
56
+ * Texas registration identifiers, and for the same reason — an explicit
57
+ * "not configured" beats a blank that reads as an address, and beats a
58
+ * plausible-looking value that reads as fact. The cost is that Aglyn's own
59
+ * deployment must now configure these like any other operator. That is the
60
+ * point: it is what makes this configuration rather than a rename.
61
+ *
62
+ * ## Why `NEXT_PUBLIC_`, and why dot notation is load-bearing
63
+ *
64
+ * Every value here is printed to the public — that is what it is *for* — so
65
+ * `NEXT_PUBLIC_` carries no disclosure risk, unlike AGL-2021's staff-gated
66
+ * identifiers, which are deliberately server-only.
67
+ *
68
+ * Next inlines `NEXT_PUBLIC_*` into the browser bundle by textually
69
+ * substituting `process.env.NAME`. The **bracket** form is never substituted
70
+ * and reads `undefined` in the browser. AGL-2037 is that bug live in
71
+ * `tenant-dns.ts`; AGL-2022's `tenant-links.ts` is the corrected reference.
72
+ * Every read below is dot notation on purpose — do not "tidy" it to brackets,
73
+ * and do not introduce a parallel server-only `OPERATOR_*` name: AGL-733 is
74
+ * the record of what happens when one value acquires two env names.
75
+ *
76
+ * Note the build-time consequence for self-hosters: `NEXT_PUBLIC_*` is baked
77
+ * in when the image is built, so these must be set *before* `docker compose
78
+ * build`, not merely before `up`. `docs/SELF_HOSTING.md` says so.
79
+ *
80
+ * ## Empty vs whitespace
81
+ *
82
+ * `' '` is the shape a half-finished `.env` actually takes and it satisfies
83
+ * a truthiness check. Every read is trimmed and treated as absent, so a
84
+ * half-finished file cannot produce a mailto with nothing behind it.
85
+ */ /** The entity operating this deployment, as far as configuration knows. */ /**
86
+ * What a surface prints where an operator address would go when the
87
+ * deployment has not configured one.
88
+ *
89
+ * NOT an empty string, and NOT a plausible placeholder. A blank in a contact
90
+ * slot reads as "nobody filled it in yet" — harmless on a settings screen,
91
+ * actively misleading on a page whose entire job is to tell a copyright
92
+ * holder where to send a statutory notice. Same argument, same shape, as
93
+ * AGL-2021's `TX_REGISTRATION_UNSET`: say what is true and name the fix.
94
+ */ export const OPERATOR_CONTACT_UNSET = 'not configured — this deployment has published no contact address';
95
+ /**
96
+ * The lede an unconfigured intake shows instead of naming an operator.
97
+ *
98
+ * Deliberately tells the reporter to stop and go elsewhere. A form that
99
+ * silently routes a legal notice to the wrong entity is worse than a form
100
+ * that admits it is unconfigured, because the first one consumes the
101
+ * reporter's time and their statutory clock before failing.
102
+ */ export const OPERATOR_UNCONFIGURED_NOTICE = 'This deployment has not published who operates it or where notices should ' + 'be sent. It is self-hosted software; the operator of this site — not the ' + 'authors of the software — is responsible for its content. Contact the ' + 'operator through whatever channel you already have for them. Reports sent ' + 'through this form are stored for the operator of this site only.';
103
+ const clean = (value)=>{
104
+ const text = typeof value === 'string' ? value.trim() : '';
105
+ return text.length ? text : null;
106
+ };
107
+ /** `true` only for an explicit, unambiguous opt-in. */ const flag = (value)=>typeof value === 'string' && value.trim().toLowerCase() === 'true';
108
+ /**
109
+ * Resolve the operator from configuration.
110
+ *
111
+ * A function rather than module-scope constants, deliberately. Module-scope
112
+ * capture is what forced AGL-2022's spec into `jest.resetModules()` gymnastics
113
+ * to prove it read configuration at all — and a guard that cannot cheaply
114
+ * re-read config tends to end up only testing the default, which is exactly
115
+ * the failure this issue is about. Reading per call also means a test that
116
+ * sets the env and one that does not can sit next to each other in one file
117
+ * and prove the asymmetry.
118
+ *
119
+ * Next's build-time substitution is unaffected: `process.env.NEXT_PUBLIC_*` is
120
+ * replaced textually wherever it appears, function bodies included.
121
+ */ export function operatorIdentity() {
122
+ var _clean;
123
+ var _clean1;
124
+ const name = clean(process.env.NEXT_PUBLIC_OPERATOR_NAME);
125
+ const supportEmail = clean(process.env.NEXT_PUBLIC_OPERATOR_SUPPORT_EMAIL);
126
+ const legalEmail = (_clean = clean(process.env.NEXT_PUBLIC_OPERATOR_LEGAL_EMAIL)) != null ? _clean : supportEmail;
127
+ const legalOrigin = (_clean1 = clean(process.env.NEXT_PUBLIC_OPERATOR_LEGAL_ORIGIN)) == null ? void 0 : _clean1.replace(/\/+$/, '');
128
+ return {
129
+ name,
130
+ supportEmail,
131
+ legalEmail,
132
+ legalOrigin: legalOrigin != null ? legalOrigin : null,
133
+ configured: Boolean(name) && Boolean(supportEmail)
134
+ };
135
+ }
136
+ /**
137
+ * The operator's designated agent, or `null` when they have not designated
138
+ * one — which is the correct answer for every deployment except one that has
139
+ * actually filed.
140
+ *
141
+ * `name` and `address` are both required because a designation without a
142
+ * physical address is not a designation; the Copyright Office directory
143
+ * record carries both, and a notice sender is entitled to either.
144
+ *
145
+ * `registered` is separately gated on an explicit `true`. An operator who
146
+ * fills in an agent block so their form has a name on it has *not* thereby
147
+ * claimed a Copyright Office registration, and the product must not upgrade
148
+ * their configuration into a legal assertion on their behalf.
149
+ */ export function operatorDmcaAgent() {
150
+ const name = clean(process.env.NEXT_PUBLIC_OPERATOR_DMCA_AGENT_NAME);
151
+ const address = clean(process.env.NEXT_PUBLIC_OPERATOR_DMCA_AGENT_ADDRESS);
152
+ if (!name || !address) return null;
153
+ return {
154
+ name,
155
+ address,
156
+ email: clean(process.env.NEXT_PUBLIC_OPERATOR_DMCA_AGENT_EMAIL),
157
+ phone: clean(process.env.NEXT_PUBLIC_OPERATOR_DMCA_AGENT_PHONE),
158
+ registered: flag(process.env.NEXT_PUBLIC_OPERATOR_DMCA_AGENT_REGISTERED)
159
+ };
160
+ }
161
+ /**
162
+ * The address a contact line should print, or {@link OPERATOR_CONTACT_UNSET}.
163
+ *
164
+ * `kind: 'legal'` prefers the legal mailbox; everything else takes support.
165
+ * Returns the marker rather than `null` so a caller cannot accidentally
166
+ * interpolate `null` into copy — `String(null)` is `'null'`, which reads as a
167
+ * value.
168
+ */ export function operatorContactLine(kind = 'support') {
169
+ const identity = operatorIdentity();
170
+ const address = kind === 'legal' ? identity.legalEmail : identity.supportEmail;
171
+ return {
172
+ address,
173
+ text: address != null ? address : OPERATOR_CONTACT_UNSET
174
+ };
175
+ }
176
+ /**
177
+ * How the intake should name whoever runs this deployment, in running prose.
178
+ *
179
+ * `'the operator of this site'` when unconfigured — true on every deployment,
180
+ * including ours, and it never names the wrong company.
181
+ */ export function operatorDisplayName() {
182
+ var _operatorIdentity_name;
183
+ return (_operatorIdentity_name = operatorIdentity().name) != null ? _operatorIdentity_name : 'the operator of this site';
184
+ }
185
+
186
+ //# sourceMappingURL=operator-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/operator-identity.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 * Who runs *this* deployment, and where its notices go (AGL-2016).\n *\n * the rule for the self-host path: *\"the self hosted owner should probably\n * not have to edit the source to update aglyn branded items urls or personal\n * identification items, should probably move these to env vars\"*. This module\n * is that, for the one class of value where getting it wrong is not cosmetic —\n * the identity a legal notice is addressed to.\n *\n * ## The defect this exists to close\n *\n * `ABUSE_REPORT_CONTACT_EMAIL` was `'support@aglyn.com'`, a bare literal, and\n * it rendered on the **public, unauthenticated** abuse-report form that every\n * deployment ships. So a self-hoster running their own Firebase published a\n * DMCA/abuse intake instructing third-party reporters to send statutory\n * notices to **Aglyn** — about content Aglyn does not host, cannot see and\n * cannot remove.\n *\n * That is wrong in both directions at once. The reporter's notice goes to a\n * desk with no ability to act on it while their clock runs, and Aglyn is made\n * to look like it holds a takedown duty for a site it does not operate.\n * §512's obligations attach to the entity that actually hosts and controls the\n * material, which on a self-host install is the operator and nobody else.\n *\n * ## Why the default is EMPTY, and not our address\n *\n * AGL-2016 originally proposed our address as the default \"so Aglyn's own\n * deployment is unchanged\". That is the wrong default *for this value*, and\n * the distinction is worth stating because the sibling fixes went the other\n * way and were right to.\n *\n * `TENANT_PRODUCTION_ROOT` (AGL-2022) defaults to `aglyn.app`, and an operator\n * who does not set it gets links that are merely *wrong* — visibly, on the\n * first click, in their own console. A contact address that defaults to ours\n * fails **silently and off-site**: nothing in the operator's product looks\n * broken, and the only party who learns is a copyright holder whose notice\n * landed with a stranger. A wrong default that is invisible to the person who\n * could fix it is not a default, it is a trap.\n *\n * So: absent is a first-class state, exactly as AGL-2021 established for the\n * Texas registration identifiers, and for the same reason — an explicit\n * \"not configured\" beats a blank that reads as an address, and beats a\n * plausible-looking value that reads as fact. The cost is that Aglyn's own\n * deployment must now configure these like any other operator. That is the\n * point: it is what makes this configuration rather than a rename.\n *\n * ## Why `NEXT_PUBLIC_`, and why dot notation is load-bearing\n *\n * Every value here is printed to the public — that is what it is *for* — so\n * `NEXT_PUBLIC_` carries no disclosure risk, unlike AGL-2021's staff-gated\n * identifiers, which are deliberately server-only.\n *\n * Next inlines `NEXT_PUBLIC_*` into the browser bundle by textually\n * substituting `process.env.NAME`. The **bracket** form is never substituted\n * and reads `undefined` in the browser. AGL-2037 is that bug live in\n * `tenant-dns.ts`; AGL-2022's `tenant-links.ts` is the corrected reference.\n * Every read below is dot notation on purpose — do not \"tidy\" it to brackets,\n * and do not introduce a parallel server-only `OPERATOR_*` name: AGL-733 is\n * the record of what happens when one value acquires two env names.\n *\n * Note the build-time consequence for self-hosters: `NEXT_PUBLIC_*` is baked\n * in when the image is built, so these must be set *before* `docker compose\n * build`, not merely before `up`. `docs/SELF_HOSTING.md` says so.\n *\n * ## Empty vs whitespace\n *\n * `' '` is the shape a half-finished `.env` actually takes and it satisfies\n * a truthiness check. Every read is trimmed and treated as absent, so a\n * half-finished file cannot produce a mailto with nothing behind it.\n */\n\n/** The entity operating this deployment, as far as configuration knows. */\nexport interface OperatorIdentity {\n /** Legal/display name of the operator, e.g. `Aglyn LLC`. */\n name: string | null\n /** Where support and abuse correspondence goes. */\n supportEmail: string | null\n /**\n * Where legal notices go. Falls back to {@link OperatorIdentity.supportEmail}\n * when unset, because an operator with one mailbox is the common case and a\n * missing legal address must not silently become *no* address.\n */\n legalEmail: string | null\n /** Origin serving the operator's published legal pages, no trailing slash. */\n legalOrigin: string | null\n /**\n * True when this deployment has published enough to be addressed at all —\n * a name AND a way to reach it. Anything less renders the honest\n * unconfigured state rather than a half-identity.\n */\n configured: boolean\n}\n\n/**\n * The operator's §512 designated agent, when — and only when — the operator\n * has actually designated one.\n *\n * Separate from {@link OperatorIdentity} on purpose. Having a support address\n * is not having a designated agent: the designation is a filing with the U.S.\n * Copyright Office, it costs money, it must be renewed every three years, and\n * it is what a service provider's safe harbour under 17 U.S.C. §512(c) hangs\n * on. Aglyn has made that filing. A self-hoster who has merely set a support\n * address has not, and is not covered by ours.\n *\n * So the designation is never inferred from the presence of an address. It\n * renders only from its own configuration, and the *claim of registration* —\n * the sentence that is legally load-bearing and legally false if borrowed —\n * requires a further explicit opt-in. See {@link operatorDmcaAgent}.\n */\nexport interface OperatorDmcaAgent {\n /** Name of the designated agent (a person or a department). */\n name: string\n /** Physical address, as filed. Newlines permitted. */\n address: string\n /** Address notices are accepted at. */\n email: string | null\n /** Phone, as filed. */\n phone: string | null\n /**\n * Whether the operator asserts the designation is **registered with the\n * U.S. Copyright Office**. Only this makes the product state it.\n */\n registered: boolean\n}\n\n/**\n * What a surface prints where an operator address would go when the\n * deployment has not configured one.\n *\n * NOT an empty string, and NOT a plausible placeholder. A blank in a contact\n * slot reads as \"nobody filled it in yet\" — harmless on a settings screen,\n * actively misleading on a page whose entire job is to tell a copyright\n * holder where to send a statutory notice. Same argument, same shape, as\n * AGL-2021's `TX_REGISTRATION_UNSET`: say what is true and name the fix.\n */\nexport const OPERATOR_CONTACT_UNSET =\n 'not configured — this deployment has published no contact address'\n\n/**\n * The lede an unconfigured intake shows instead of naming an operator.\n *\n * Deliberately tells the reporter to stop and go elsewhere. A form that\n * silently routes a legal notice to the wrong entity is worse than a form\n * that admits it is unconfigured, because the first one consumes the\n * reporter's time and their statutory clock before failing.\n */\nexport const OPERATOR_UNCONFIGURED_NOTICE =\n 'This deployment has not published who operates it or where notices should ' +\n 'be sent. It is self-hosted software; the operator of this site — not the ' +\n 'authors of the software — is responsible for its content. Contact the ' +\n 'operator through whatever channel you already have for them. Reports sent ' +\n 'through this form are stored for the operator of this site only.'\n\nconst clean = (value: unknown): string | null => {\n const text = typeof value === 'string' ? value.trim() : ''\n return text.length ? text : null\n}\n\n/** `true` only for an explicit, unambiguous opt-in. */\nconst flag = (value: unknown): boolean =>\n typeof value === 'string' && value.trim().toLowerCase() === 'true'\n\n/**\n * Resolve the operator from configuration.\n *\n * A function rather than module-scope constants, deliberately. Module-scope\n * capture is what forced AGL-2022's spec into `jest.resetModules()` gymnastics\n * to prove it read configuration at all — and a guard that cannot cheaply\n * re-read config tends to end up only testing the default, which is exactly\n * the failure this issue is about. Reading per call also means a test that\n * sets the env and one that does not can sit next to each other in one file\n * and prove the asymmetry.\n *\n * Next's build-time substitution is unaffected: `process.env.NEXT_PUBLIC_*` is\n * replaced textually wherever it appears, function bodies included.\n */\nexport function operatorIdentity(): OperatorIdentity {\n const name = clean(process.env.NEXT_PUBLIC_OPERATOR_NAME)\n const supportEmail = clean(process.env.NEXT_PUBLIC_OPERATOR_SUPPORT_EMAIL)\n const legalEmail =\n clean(process.env.NEXT_PUBLIC_OPERATOR_LEGAL_EMAIL) ?? supportEmail\n const legalOrigin = clean(\n process.env.NEXT_PUBLIC_OPERATOR_LEGAL_ORIGIN,\n )?.replace(/\\/+$/, '')\n return {\n name,\n supportEmail,\n legalEmail,\n legalOrigin: legalOrigin ?? null,\n configured: Boolean(name) && Boolean(supportEmail),\n }\n}\n\n/**\n * The operator's designated agent, or `null` when they have not designated\n * one — which is the correct answer for every deployment except one that has\n * actually filed.\n *\n * `name` and `address` are both required because a designation without a\n * physical address is not a designation; the Copyright Office directory\n * record carries both, and a notice sender is entitled to either.\n *\n * `registered` is separately gated on an explicit `true`. An operator who\n * fills in an agent block so their form has a name on it has *not* thereby\n * claimed a Copyright Office registration, and the product must not upgrade\n * their configuration into a legal assertion on their behalf.\n */\nexport function operatorDmcaAgent(): OperatorDmcaAgent | null {\n const name = clean(process.env.NEXT_PUBLIC_OPERATOR_DMCA_AGENT_NAME)\n const address = clean(process.env.NEXT_PUBLIC_OPERATOR_DMCA_AGENT_ADDRESS)\n if (!name || !address) return null\n return {\n name,\n address,\n email: clean(process.env.NEXT_PUBLIC_OPERATOR_DMCA_AGENT_EMAIL),\n phone: clean(process.env.NEXT_PUBLIC_OPERATOR_DMCA_AGENT_PHONE),\n registered: flag(process.env.NEXT_PUBLIC_OPERATOR_DMCA_AGENT_REGISTERED),\n }\n}\n\n/**\n * The address a contact line should print, or {@link OPERATOR_CONTACT_UNSET}.\n *\n * `kind: 'legal'` prefers the legal mailbox; everything else takes support.\n * Returns the marker rather than `null` so a caller cannot accidentally\n * interpolate `null` into copy — `String(null)` is `'null'`, which reads as a\n * value.\n */\nexport function operatorContactLine(kind: 'support' | 'legal' = 'support'): {\n address: string | null\n text: string\n} {\n const identity = operatorIdentity()\n const address =\n kind === 'legal' ? identity.legalEmail : identity.supportEmail\n return { address, text: address ?? OPERATOR_CONTACT_UNSET }\n}\n\n/**\n * How the intake should name whoever runs this deployment, in running prose.\n *\n * `'the operator of this site'` when unconfigured — true on every deployment,\n * including ours, and it never names the wrong company.\n */\nexport function operatorDisplayName(): string {\n return operatorIdentity().name ?? 'the operator of this site'\n}\n"],"names":["OPERATOR_CONTACT_UNSET","OPERATOR_UNCONFIGURED_NOTICE","clean","value","text","trim","length","flag","toLowerCase","operatorIdentity","name","process","env","NEXT_PUBLIC_OPERATOR_NAME","supportEmail","NEXT_PUBLIC_OPERATOR_SUPPORT_EMAIL","legalEmail","NEXT_PUBLIC_OPERATOR_LEGAL_EMAIL","legalOrigin","NEXT_PUBLIC_OPERATOR_LEGAL_ORIGIN","replace","configured","Boolean","operatorDmcaAgent","NEXT_PUBLIC_OPERATOR_DMCA_AGENT_NAME","address","NEXT_PUBLIC_OPERATOR_DMCA_AGENT_ADDRESS","email","NEXT_PUBLIC_OPERATOR_DMCA_AGENT_EMAIL","phone","NEXT_PUBLIC_OPERATOR_DMCA_AGENT_PHONE","registered","NEXT_PUBLIC_OPERATOR_DMCA_AGENT_REGISTERED","operatorContactLine","kind","identity","operatorDisplayName"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEC,GAED,yEAAyE,GAsDzE;;;;;;;;;CASC,GACD,OAAO,MAAMA,yBACX,oEAAmE;AAErE;;;;;;;CAOC,GACD,OAAO,MAAMC,+BACX,+EACA,8EACA,2EACA,+EACA,mEAAkE;AAEpE,MAAMC,QAAQ,CAACC;IACb,MAAMC,OAAO,OAAOD,UAAU,WAAWA,MAAME,IAAI,KAAK;IACxD,OAAOD,KAAKE,MAAM,GAAGF,OAAO;AAC9B;AAEA,qDAAqD,GACrD,MAAMG,OAAO,CAACJ,QACZ,OAAOA,UAAU,YAAYA,MAAME,IAAI,GAAGG,WAAW,OAAO;AAE9D;;;;;;;;;;;;;CAaC,GACD,OAAO,SAASC;QAIZP;QACkBA;IAJpB,MAAMQ,OAAOR,MAAMS,QAAQC,GAAG,CAACC,yBAAyB;IACxD,MAAMC,eAAeZ,MAAMS,QAAQC,GAAG,CAACG,kCAAkC;IACzE,MAAMC,cACJd,SAAAA,MAAMS,QAAQC,GAAG,CAACK,gCAAgC,aAAlDf,SAAuDY;IACzD,MAAMI,eAAchB,UAAAA,MAClBS,QAAQC,GAAG,CAACO,iCAAiC,sBAD3BjB,QAEjBkB,OAAO,CAAC,QAAQ;IACnB,OAAO;QACLV;QACAI;QACAE;QACAE,WAAW,EAAEA,sBAAAA,cAAe;QAC5BG,YAAYC,QAAQZ,SAASY,QAAQR;IACvC;AACF;AAEA;;;;;;;;;;;;;CAaC,GACD,OAAO,SAASS;IACd,MAAMb,OAAOR,MAAMS,QAAQC,GAAG,CAACY,oCAAoC;IACnE,MAAMC,UAAUvB,MAAMS,QAAQC,GAAG,CAACc,uCAAuC;IACzE,IAAI,CAAChB,QAAQ,CAACe,SAAS,OAAO;IAC9B,OAAO;QACLf;QACAe;QACAE,OAAOzB,MAAMS,QAAQC,GAAG,CAACgB,qCAAqC;QAC9DC,OAAO3B,MAAMS,QAAQC,GAAG,CAACkB,qCAAqC;QAC9DC,YAAYxB,KAAKI,QAAQC,GAAG,CAACoB,0CAA0C;IACzE;AACF;AAEA;;;;;;;CAOC,GACD,OAAO,SAASC,oBAAoBC,OAA4B,SAAS;IAIvE,MAAMC,WAAW1B;IACjB,MAAMgB,UACJS,SAAS,UAAUC,SAASnB,UAAU,GAAGmB,SAASrB,YAAY;IAChE,OAAO;QAAEW;QAASrB,IAAI,EAAEqB,kBAAAA,UAAWzB;IAAuB;AAC5D;AAEA;;;;;CAKC,GACD,OAAO,SAASoC;QACP3B;IAAP,QAAOA,yBAAAA,mBAAmBC,IAAI,YAAvBD,yBAA2B;AACpC"}
@@ -0,0 +1,231 @@
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
+ import type { OrgSeatAddons, OrgSubscription } from '../foundation/definitions/org-billing.types';
18
+ /**
19
+ * Where the commercial keys live now that they are off the org doc (AGL-1028).
20
+ *
21
+ * `orgs/{orgId}` has to stay readable by any member — it carries `plan` and
22
+ * `entitlements`, which every console surface gates features on, so denying it
23
+ * locks a site collaborator out of the site they were invited to. Firestore has
24
+ * no field-level reads, so the only way to narrow "readable" is to move the
25
+ * fields somewhere with its own rule. This subcollection is that somewhere, and
26
+ * it is gated on `canManageOrg()`.
27
+ *
28
+ * What did NOT move, and why. AGL-1028 originally listed `seatAddons` and all
29
+ * of `subscription` as movers; measuring the readers changed that:
30
+ *
31
+ * - `plan` / `entitlements` — the whole reason the org doc stays readable.
32
+ * - `seatAddons` — NOT a commercial secret, an ENTITLEMENT INPUT.
33
+ * `resolveOrgEntitlements` stacks it on top of the plan: `seatAddons.hosts`
34
+ * raises `hostLimit`, `posRegisters` raises `posRegisters`, `eventCalendar`
35
+ * switches a feature on. It resolves at 29 call sites including the tenant
36
+ * runtime and non-manager console components — none of which can read a
37
+ * manager-gated doc. Moving it would silently drop every paying org to base
38
+ * plan limits for exactly the users the org doc stays readable for.
39
+ * - `subscription.status`, as the derived `billingStatus` mirror — same reason.
40
+ * `resolveEffectivePlan` downgrades a paid plan to free on a dead
41
+ * subscription, and `resolvePurchasedAddons` stops counting add-ons on one.
42
+ * Entitlement resolution therefore needs the status word, so the status word
43
+ * cannot be manager-gated. The rest of `subscription` — price ids, amounts,
44
+ * interval, period end, custom enterprise pricing — moves.
45
+ * - `suspendedAt` / `suspendedReason` — the tenant runtime reads suspension on
46
+ * EVERY published page render, off an org doc it already fetches for plan and
47
+ * branding. Moving it would add a Firestore read to the hot path AGL-1152 is
48
+ * trying to shrink, and would hide nothing: the org doc stays member-readable
49
+ * regardless. "Your sites are offline" is also something every member needs
50
+ * to see, unlike a Stripe customer id.
51
+ *
52
+ * So what a scoped collaborator can still see is their plan, their capacity and
53
+ * a status word — the things they need — and what they lose is the Stripe
54
+ * customer id, price ids, amounts, billing interval, renewal date and any
55
+ * negotiated enterprise rate.
56
+ */
57
+ export declare const ORG_BILLING_SUBCOLLECTION = "billing";
58
+ /**
59
+ * Single document id, not one doc per concern. The reads are always "all of
60
+ * it" (the billing page, the webhook, the staff MRR roll-up), so splitting it
61
+ * would only buy extra round trips.
62
+ */
63
+ export declare const ORG_BILLING_DOC_ID = "stripe";
64
+ /**
65
+ * Reverse index `stripeCustomers/{stripeCustomerId} -> { orgId }`, written by
66
+ * the webhook alongside the billing doc.
67
+ *
68
+ * It exists because the webhook has to answer "which org is this Stripe
69
+ * customer?" on `invoice.payment_failed`, and it did that with
70
+ * `.where('stripeCustomerId', '==', …)` on the orgs collection. Once the field
71
+ * moves into a subcollection that query cannot work: the alternative is a
72
+ * collection-group query, which needs a collection-group index that the
73
+ * emulator will never ask for and production will (AGL-1028). A mapping doc is
74
+ * an O(1) `get`, needs no index, and stops the webhook scanning `orgs` at all.
75
+ *
76
+ * Admin-SDK only — nothing client-side has any business reading it.
77
+ */
78
+ export declare const STRIPE_CUSTOMER_INDEX_COLLECTION = "stripeCustomers";
79
+ /**
80
+ * The keys that moved off `orgs/{orgId}` and into the billing doc.
81
+ *
82
+ * `seatAddons` is deliberately NOT here — see the note above; it is an
83
+ * entitlement input, not a commercial secret.
84
+ */
85
+ export declare const ORG_BILLING_MOVED_KEYS: readonly ["stripeCustomerId", "subscription"];
86
+ export type OrgBillingMovedKey = (typeof ORG_BILLING_MOVED_KEYS)[number];
87
+ /**
88
+ * The TEST-mode Stripe customer id, stored beside the live one (AGL-2486).
89
+ *
90
+ * `stripeCustomerId` held ONE id with no notion of Stripe livemode, so an org
91
+ * that had been through live checkout could never be exercised in test mode
92
+ * and vice versa: every billing call answered
93
+ *
94
+ * No such customer: 'cus_…'; a similar object exists in live mode, but a
95
+ * test mode key was used to make this request.
96
+ *
97
+ * — a raw 502 out of `/api/billing/checkout`, `/invoices` and `/addons`. For a
98
+ * team running both modes against ONE Firestore that is permanent, and it made
99
+ * the test-mode path we need before September 1 unusable on any real org.
100
+ *
101
+ * Worse than the 502, and the reason this is a stored-shape change rather than
102
+ * a better error message: a test-mode run that COMPLETED would write its test
103
+ * customer into the single slot and destroy the live linkage — silently, with
104
+ * every subsequent live invoice scattering onto a customer the Billing page no
105
+ * longer queries.
106
+ *
107
+ * ## Why a second field and not a mode-keyed map
108
+ *
109
+ * The live id stays at `stripeCustomerId`, untouched. That makes the migration
110
+ * EMPTY — every value production holds today was written by a `sk_live_`
111
+ * deployment and is already in the right slot — and it makes the change a
112
+ * NO-OP in live mode by construction: the live path reads the same field name
113
+ * it always read. Only test mode, which is 100% broken today, behaves
114
+ * differently. A `{live,test}` map would have required rewriting every
115
+ * existing document to gain nothing.
116
+ *
117
+ * The `stripeCustomers` reverse index needs NO equivalent treatment: it is
118
+ * keyed BY the customer id, and Stripe customer ids are unique across modes, so
119
+ * a test and a live entry are simply two documents that both resolve to the
120
+ * same org. That is why this fix is contained.
121
+ *
122
+ * Physical field names are an implementation detail of `org-billing.ts` — read
123
+ * and write through `readOrgBilling`/`writeOrgBilling`, which project the
124
+ * deployment's mode onto the logical `stripeCustomerId` key. Nothing else
125
+ * should name this constant.
126
+ */
127
+ export declare const STRIPE_CUSTOMER_ID_TEST_FIELD = "stripeCustomerIdTest";
128
+ /** The manager-gated document's shape. */
129
+ export interface OrgBillingDoc {
130
+ stripeCustomerId?: string | null;
131
+ /**
132
+ * The test-mode twin. Present on the stored document only; the accessors
133
+ * collapse the pair to `stripeCustomerId` for every reader.
134
+ */
135
+ stripeCustomerIdTest?: string | null;
136
+ subscription?: OrgSubscription | null;
137
+ }
138
+ /**
139
+ * `seatAddons` stays on the org doc, so this is the shape of what the org doc
140
+ * still carries commercially. Named for clarity at the call sites that have to
141
+ * keep the two apart.
142
+ */
143
+ export interface OrgInlineBilling {
144
+ seatAddons?: OrgSeatAddons | null;
145
+ billingStatus?: string | null;
146
+ }
147
+ /**
148
+ * The non-sensitive mirror that STAYS on the org doc.
149
+ *
150
+ * The AGL-275 dunning banner keys on `subscription.status === 'past_due'` and
151
+ * is shown to every member on purpose — a contractor who cannot see the invoice
152
+ * still benefits from knowing the workspace is about to lapse. Putting
153
+ * `subscription` behind `canManageOrg()` would have silently switched that
154
+ * banner off for non-managers, so the webhook mirrors the status string (and
155
+ * nothing else: no amounts, no price ids, no customer id) back onto the org doc
156
+ * for the banner to read.
157
+ */
158
+ export type OrgBillingStatus = string;
159
+ /**
160
+ * Picks the moved keys off an org-shaped object, dropping `undefined` so a
161
+ * partial update never writes holes over good data.
162
+ *
163
+ * `null` is preserved deliberately — the webhook uses it to mean "Stripe says
164
+ * this is gone", which is a real value and not an absence.
165
+ */
166
+ export declare function pickOrgBillingFields(source: Partial<Record<OrgBillingMovedKey, unknown>> | null | undefined): Partial<OrgBillingDoc>;
167
+ /**
168
+ * The status string to mirror onto the org doc for the dunning banner.
169
+ *
170
+ * Returns `null` when there is no subscription at all, which the banner treats
171
+ * the same as a healthy one — a pre-billing workspace is not in dunning.
172
+ */
173
+ export declare function orgBillingStatusFrom(billing: Partial<OrgBillingDoc> | null | undefined): OrgBillingStatus | null;
174
+ /**
175
+ * True when a subscription STATUS word means the subscription is live.
176
+ *
177
+ * The status-string half of the predicate, for the call sites that hold a
178
+ * Stripe subscription object rather than an org billing document — the
179
+ * `subscriptions?customer=…&status=all` list responses in
180
+ * `/api/billing/subscription`, `/api/billing/addons` and
181
+ * `/api/admin/org-discount`, and the webhook status word that
182
+ * `metered-backfill` decides on. Those cannot be typed as an `OrgBillingDoc`
183
+ * without lying, and wrapping them in one just to unwrap it again is a cast
184
+ * that hides the shape. Same list, one entry point per shape.
185
+ */
186
+ export declare function isLiveSubscriptionStatus(status: unknown): boolean;
187
+ /**
188
+ * True when this org already has a live subscription and must not be sold or
189
+ * provisioned a second one (AGL-1697, AGL-1714).
190
+ *
191
+ * Lives here rather than at the call site because the failure mode of the
192
+ * copies is asymmetric in the expensive direction: if one call site's list ever
193
+ * narrows relative to another's, a subscribed org gets sold a second
194
+ * subscription and both bill. AGL-1715 repointed the older inline copies at
195
+ * this predicate (or at `isLiveSubscriptionStatus` where the value in hand is
196
+ * a Stripe object): the Billing page, `/api/billing/checkout`,
197
+ * `/api/billing/subscription`, `/api/billing/addons`,
198
+ * `/api/admin/org-discount` and `utils/server/metered-backfill`.
199
+ */
200
+ export declare function isOrgSubscriptionLive(billing: Partial<OrgBillingDoc> | null | undefined): boolean;
201
+ /**
202
+ * True when an org record still carries the moved keys inline — i.e. it has not
203
+ * been through the backfill yet. Used by the read path to decide whether the
204
+ * org doc is a trustworthy fallback, and by the backfill to skip work it has
205
+ * already done.
206
+ */
207
+ export declare function hasInlineOrgBilling(source: Partial<Record<OrgBillingMovedKey, unknown>> | null | undefined): boolean;
208
+ /**
209
+ * Merge the manager-gated billing doc over an org doc WITHOUT letting the
210
+ * billing doc's identity win (AGL-1991).
211
+ *
212
+ * The billing page merges `orgs/{orgId}/billing/stripe` over `orgs/{orgId}` so
213
+ * that every `org.subscription…` reference keeps working after AGL-1028 moved
214
+ * those keys. The trap: the console's `useConfirmedDoc` stamps the DOCUMENT ID
215
+ * into the payload it hands back (`{ $id: id, ...payload }`), so the billing
216
+ * doc arrives carrying `$id === ORG_BILLING_DOC_ID` — the literal string
217
+ * `'stripe'`. A plain spread puts that second, so the merged object's `$id`
218
+ * silently became `'stripe'` and every child deriving its org id from it read
219
+ * `orgs/stripe/…`, which is not an org and is denied by the rules.
220
+ *
221
+ * That is why this is a helper and not an inline `$id:` re-assert at the call
222
+ * site: `useConfirmedDoc` stamping `$id` makes ANY merge of two documents
223
+ * identity-swapping, so the safe merge belongs somewhere it can be reused and
224
+ * named rather than re-derived correctly each time.
225
+ *
226
+ * The org doc's `$id` wins unconditionally — including when it is absent, in
227
+ * which case the result carries no `$id` at all rather than inheriting the
228
+ * billing doc's. A missing org id must read as "unknown", never as a
229
+ * confidently wrong path.
230
+ */
231
+ export declare function mergeOrgBillingOverOrg<TOrg extends Record<string, unknown>, TBilling extends Record<string, unknown>>(orgDoc: TOrg | null | undefined, orgBilling: TBilling | null | undefined): TOrg & Partial<TBilling>;