@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,117 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /** Where a site's sitemap index lives; what `robots.txt` advertises. */
18
+ export declare const SITEMAP_INDEX_PATH = "/sitemap.xml";
19
+ /**
20
+ * URLs per child sitemap.
21
+ *
22
+ * An order of magnitude under the protocol's 50,000 because the cap that
23
+ * binds first here is not the protocol's but Firestore's: a page of this file
24
+ * is a page of a query, and 5,000 keeps one crawler fetch to 5,000 document
25
+ * reads and a few hundred KB of XML. Raising it trades read cost for fewer
26
+ * files, and nothing in the format cares which side of that trade we take.
27
+ */
28
+ export declare const SITEMAP_URLS_PER_FILE = 5000;
29
+ /**
30
+ * A ceiling on how many pages one section may advertise, so a runaway
31
+ * collection cannot produce an index with tens of thousands of entries — the
32
+ * index has its own 50,000 limit, and a sweep that large is a bug long before
33
+ * it is a sitemap. 100 pages is 500,000 URLs in one section.
34
+ */
35
+ export declare const SITEMAP_MAX_PAGES_PER_SECTION = 100;
36
+ /** The fixed sections; a content collection adds one of its own. */
37
+ export declare const SITEMAP_SECTION_PAGES = "pages";
38
+ export declare const SITEMAP_SECTION_PRODUCTS = "products";
39
+ export declare const SITEMAP_SECTION_CATALOG = "catalog";
40
+ /**
41
+ * Author pages (AGL-2518) — `/author/{slug}`, one per author record.
42
+ *
43
+ * A fixed section rather than a per-collection one, because there is one
44
+ * author page per PERSON and it spans every collection they wrote in. A
45
+ * `content-…` section per collection would submit the same author several
46
+ * times over, at addresses that no longer exist.
47
+ */
48
+ export declare const SITEMAP_SECTION_AUTHORS = "authors";
49
+ /** The sitemap section a content collection's URLs live in. */
50
+ export declare function contentSitemapSection(collectionSlug: string): string;
51
+ /** The collection a `content-…` section names, or `undefined` for the rest. */
52
+ export declare function contentSitemapSectionSlug(section: string): string | undefined;
53
+ /**
54
+ * A child sitemap's path.
55
+ *
56
+ * The page is ALWAYS its own segment, including page 1. A one-file section is
57
+ * the common case and could have been the bare `/sitemaps/{section}.xml`, but
58
+ * then the page number would have to be encoded into the section name for
59
+ * every other page — and `content-blog-2` is ambiguous between page 2 of the
60
+ * collection `blog` and page 1 of the collection `blog-2`, which is a real
61
+ * slug someone can create. A separate segment cannot be ambiguous, and
62
+ * nothing but the index ever writes these URLs.
63
+ */
64
+ export declare function sitemapSectionPath(section: string, page: number): string;
65
+ /** The section and page a path addresses, or `undefined` if it addresses none. */
66
+ export declare function parseSitemapSectionPath(pathname: string): {
67
+ section: string;
68
+ page: number;
69
+ } | undefined;
70
+ /**
71
+ * How many files a section of `urlCount` URLs needs. Zero URLs means zero
72
+ * files — a section with nothing in it is left out of the index rather than
73
+ * advertised as an empty document a crawler has to fetch to discover is empty.
74
+ */
75
+ export declare function sitemapPageCount(urlCount: number): number;
76
+ /** XML text escaping — a slug or a query string may carry any of these. */
77
+ export declare function escapeSitemapXml(value: string): string;
78
+ /**
79
+ * One address in a sitemap document. A bare string is an address with no
80
+ * known modification date; the object form carries a `lastmod` when the
81
+ * builder could derive one.
82
+ */
83
+ export type SitemapLocation = string | {
84
+ loc: string;
85
+ lastmod?: string;
86
+ };
87
+ /**
88
+ * A `<lastmod>` value from whatever timestamp shape a document carries
89
+ * (AGL-2647): a Firestore `Timestamp` (`toMillis()`), the `{seconds}` object
90
+ * a serialized one decays into, epoch milliseconds, or an ISO string.
91
+ *
92
+ * The DAY only, in UTC. `YYYY-MM-DD` is a complete W3C datetime, and a date a
93
+ * crawler can compare is worth more than a time it cannot: a value that moved
94
+ * with every render would be a `lastmod` crawlers learn to discount, and the
95
+ * whole point of the element is to be believed.
96
+ *
97
+ * `undefined` for anything that does not decode, and the caller omits the
98
+ * element. Never "now": an invented date claims a change that did not
99
+ * happen, and a sitemap whose dates are consistently wrong is read as having
100
+ * none at all.
101
+ */
102
+ export declare function sitemapLastmod(value: unknown): string | undefined;
103
+ /** The `lastmod` a location carries, if any. */
104
+ export declare function sitemapLocationLastmod(location: SitemapLocation): string | undefined;
105
+ /**
106
+ * The newest of some `lastmod` values, or `undefined` when none is known.
107
+ *
108
+ * What a listing page and an index entry are dated by: a listing changed when
109
+ * its newest entry did, and a child sitemap changed when its newest URL did.
110
+ * Comparison is on the string, which is sound because every value is the
111
+ * fixed-width `YYYY-MM-DD` {@link sitemapLastmod} produces.
112
+ */
113
+ export declare function newestSitemapLastmod(lastmods: Iterable<string | undefined>): string | undefined;
114
+ /** A `<urlset>` document. */
115
+ export declare function sitemapUrlsetXml(urls: readonly SitemapLocation[]): string;
116
+ /** A `<sitemapindex>` document — the children of `/sitemap.xml`. */
117
+ export declare function sitemapIndexXml(locs: readonly SitemapLocation[]): string;
@@ -0,0 +1,183 @@
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
+ * Sitemap addressing and XML (AGL-2520).
18
+ *
19
+ * A site publishes ONE sitemap index at `/sitemap.xml` and a child sitemap per
20
+ * section — pages, products, the catalog, and one per content collection —
21
+ * each of which pages further at {@link SITEMAP_URLS_PER_FILE}.
22
+ *
23
+ * The split is what makes the sitemap survive a site growing. The protocol
24
+ * caps a single sitemap at 50,000 URLs and 50MB, and a flat file has no
25
+ * answer once a site crosses either: the URLs past the cap are simply not
26
+ * submitted, silently. It also makes the sweep behind each file bounded —
27
+ * a crawler asking for `/sitemaps/content-blog/2.xml` reads one page of one
28
+ * collection's entries instead of the whole site.
29
+ *
30
+ * These are pure functions on purpose: the tenant route handler that answers
31
+ * these URLs and the middleware that routes them to it must agree on the
32
+ * shape exactly, and so must the tests.
33
+ */ import { toEpochMs } from "./lockdown.js";
34
+ /** Where a site's sitemap index lives; what `robots.txt` advertises. */ export const SITEMAP_INDEX_PATH = '/sitemap.xml';
35
+ /**
36
+ * URLs per child sitemap.
37
+ *
38
+ * An order of magnitude under the protocol's 50,000 because the cap that
39
+ * binds first here is not the protocol's but Firestore's: a page of this file
40
+ * is a page of a query, and 5,000 keeps one crawler fetch to 5,000 document
41
+ * reads and a few hundred KB of XML. Raising it trades read cost for fewer
42
+ * files, and nothing in the format cares which side of that trade we take.
43
+ */ export const SITEMAP_URLS_PER_FILE = 5000;
44
+ /**
45
+ * A ceiling on how many pages one section may advertise, so a runaway
46
+ * collection cannot produce an index with tens of thousands of entries — the
47
+ * index has its own 50,000 limit, and a sweep that large is a bug long before
48
+ * it is a sitemap. 100 pages is 500,000 URLs in one section.
49
+ */ export const SITEMAP_MAX_PAGES_PER_SECTION = 100;
50
+ /** The fixed sections; a content collection adds one of its own. */ export const SITEMAP_SECTION_PAGES = 'pages';
51
+ export const SITEMAP_SECTION_PRODUCTS = 'products';
52
+ export const SITEMAP_SECTION_CATALOG = 'catalog';
53
+ /**
54
+ * Author pages (AGL-2518) — `/author/{slug}`, one per author record.
55
+ *
56
+ * A fixed section rather than a per-collection one, because there is one
57
+ * author page per PERSON and it spans every collection they wrote in. A
58
+ * `content-…` section per collection would submit the same author several
59
+ * times over, at addresses that no longer exist.
60
+ */ export const SITEMAP_SECTION_AUTHORS = 'authors';
61
+ /**
62
+ * The prefix a content collection's section carries.
63
+ *
64
+ * It exists so a collection slugged `products` cannot claim the commerce
65
+ * section, and it cannot itself collide: stripping happens ONCE, so a
66
+ * collection actually slugged `content-products` addresses
67
+ * `content-content-products` and stays distinct from `content-products`,
68
+ * which is the collection slugged `products`.
69
+ */ const CONTENT_SECTION_PREFIX = 'content-';
70
+ /** The sitemap section a content collection's URLs live in. */ export function contentSitemapSection(collectionSlug) {
71
+ return `${CONTENT_SECTION_PREFIX}${collectionSlug}`;
72
+ }
73
+ /** The collection a `content-…` section names, or `undefined` for the rest. */ export function contentSitemapSectionSlug(section) {
74
+ if (!section.startsWith(CONTENT_SECTION_PREFIX)) return undefined;
75
+ const slug = section.slice(CONTENT_SECTION_PREFIX.length);
76
+ return slug || undefined;
77
+ }
78
+ /**
79
+ * A child sitemap's path.
80
+ *
81
+ * The page is ALWAYS its own segment, including page 1. A one-file section is
82
+ * the common case and could have been the bare `/sitemaps/{section}.xml`, but
83
+ * then the page number would have to be encoded into the section name for
84
+ * every other page — and `content-blog-2` is ambiguous between page 2 of the
85
+ * collection `blog` and page 1 of the collection `blog-2`, which is a real
86
+ * slug someone can create. A separate segment cannot be ambiguous, and
87
+ * nothing but the index ever writes these URLs.
88
+ */ export function sitemapSectionPath(section, page) {
89
+ return `/sitemaps/${section}/${Math.max(1, Math.floor(page))}.xml`;
90
+ }
91
+ /** Matches {@link sitemapSectionPath}; the one parser, shared with the middleware. */ const SITEMAP_SECTION_PATH = /^\/sitemaps\/([^/]+)\/([0-9]+)\.xml$/;
92
+ /** The section and page a path addresses, or `undefined` if it addresses none. */ export function parseSitemapSectionPath(pathname) {
93
+ const match = SITEMAP_SECTION_PATH.exec(pathname);
94
+ if (!match) return undefined;
95
+ const page = Number(match[2]);
96
+ if (!Number.isFinite(page) || page < 1) return undefined;
97
+ return {
98
+ section: decodeURIComponent(match[1]),
99
+ page
100
+ };
101
+ }
102
+ /**
103
+ * How many files a section of `urlCount` URLs needs. Zero URLs means zero
104
+ * files — a section with nothing in it is left out of the index rather than
105
+ * advertised as an empty document a crawler has to fetch to discover is empty.
106
+ */ export function sitemapPageCount(urlCount) {
107
+ if (!Number.isFinite(urlCount) || urlCount <= 0) return 0;
108
+ return Math.min(SITEMAP_MAX_PAGES_PER_SECTION, Math.ceil(urlCount / SITEMAP_URLS_PER_FILE));
109
+ }
110
+ /** XML text escaping — a slug or a query string may carry any of these. */ export function escapeSitemapXml(value) {
111
+ return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
112
+ }
113
+ /**
114
+ * A `<lastmod>` value from whatever timestamp shape a document carries
115
+ * (AGL-2647): a Firestore `Timestamp` (`toMillis()`), the `{seconds}` object
116
+ * a serialized one decays into, epoch milliseconds, or an ISO string.
117
+ *
118
+ * The DAY only, in UTC. `YYYY-MM-DD` is a complete W3C datetime, and a date a
119
+ * crawler can compare is worth more than a time it cannot: a value that moved
120
+ * with every render would be a `lastmod` crawlers learn to discount, and the
121
+ * whole point of the element is to be believed.
122
+ *
123
+ * `undefined` for anything that does not decode, and the caller omits the
124
+ * element. Never "now": an invented date claims a change that did not
125
+ * happen, and a sitemap whose dates are consistently wrong is read as having
126
+ * none at all.
127
+ */ export function sitemapLastmod(value) {
128
+ const ms = toEpochMs(value);
129
+ if (ms === undefined || ms <= 0) return undefined;
130
+ return new Date(ms).toISOString().slice(0, 10);
131
+ }
132
+ /** The `lastmod` a location carries, if any. */ export function sitemapLocationLastmod(location) {
133
+ return typeof location === 'string' ? undefined : location.lastmod;
134
+ }
135
+ /**
136
+ * The newest of some `lastmod` values, or `undefined` when none is known.
137
+ *
138
+ * What a listing page and an index entry are dated by: a listing changed when
139
+ * its newest entry did, and a child sitemap changed when its newest URL did.
140
+ * Comparison is on the string, which is sound because every value is the
141
+ * fixed-width `YYYY-MM-DD` {@link sitemapLastmod} produces.
142
+ */ export function newestSitemapLastmod(lastmods) {
143
+ let newest;
144
+ for (const lastmod of lastmods){
145
+ if (lastmod && (!newest || lastmod > newest)) newest = lastmod;
146
+ }
147
+ return newest;
148
+ }
149
+ /**
150
+ * De-duplicated (AGL-582): a collection slug can shadow a screen path, and
151
+ * the same URL twice in one sitemap is a submission of a duplicate, not a
152
+ * stronger signal. The FIRST occurrence keeps its date — the routing order
153
+ * that decides which page a shadowed URL serves is the order the builders
154
+ * emit in, so the first source is the one whose date describes the page.
155
+ */ function uniqueSitemapLocations(locations) {
156
+ const byLoc = new Map();
157
+ for (const location of locations){
158
+ const entry = typeof location === 'string' ? {
159
+ loc: location
160
+ } : location;
161
+ if (!byLoc.has(entry.loc)) {
162
+ byLoc.set(entry.loc, {
163
+ loc: entry.loc,
164
+ lastmod: entry.lastmod
165
+ });
166
+ }
167
+ }
168
+ return [
169
+ ...byLoc.values()
170
+ ];
171
+ }
172
+ /** `<url>` or `<sitemap>`; the `<lastmod>` child only when a date is known. */ function sitemapLocationXml(tag, { loc, lastmod }) {
173
+ const date = lastmod ? `<lastmod>${escapeSitemapXml(lastmod)}</lastmod>` : '';
174
+ return ` <${tag}><loc>${escapeSitemapXml(loc)}</loc>${date}</${tag}>`;
175
+ }
176
+ /** A `<urlset>` document. */ export function sitemapUrlsetXml(urls) {
177
+ return '<?xml version="1.0" encoding="UTF-8"?>\n' + '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n' + uniqueSitemapLocations(urls).map((item)=>sitemapLocationXml('url', item)).join('\n') + '\n</urlset>\n';
178
+ }
179
+ /** A `<sitemapindex>` document — the children of `/sitemap.xml`. */ export function sitemapIndexXml(locs) {
180
+ return '<?xml version="1.0" encoding="UTF-8"?>\n' + '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n' + uniqueSitemapLocations(locs).map((item)=>sitemapLocationXml('sitemap', item)).join('\n') + '\n</sitemapindex>\n';
181
+ }
182
+
183
+ //# sourceMappingURL=sitemap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/sitemap.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 * Sitemap addressing and XML (AGL-2520).\n *\n * A site publishes ONE sitemap index at `/sitemap.xml` and a child sitemap per\n * section — pages, products, the catalog, and one per content collection —\n * each of which pages further at {@link SITEMAP_URLS_PER_FILE}.\n *\n * The split is what makes the sitemap survive a site growing. The protocol\n * caps a single sitemap at 50,000 URLs and 50MB, and a flat file has no\n * answer once a site crosses either: the URLs past the cap are simply not\n * submitted, silently. It also makes the sweep behind each file bounded —\n * a crawler asking for `/sitemaps/content-blog/2.xml` reads one page of one\n * collection's entries instead of the whole site.\n *\n * These are pure functions on purpose: the tenant route handler that answers\n * these URLs and the middleware that routes them to it must agree on the\n * shape exactly, and so must the tests.\n */\n\nimport { toEpochMs } from './lockdown'\n\n/** Where a site's sitemap index lives; what `robots.txt` advertises. */\nexport const SITEMAP_INDEX_PATH = '/sitemap.xml'\n\n/**\n * URLs per child sitemap.\n *\n * An order of magnitude under the protocol's 50,000 because the cap that\n * binds first here is not the protocol's but Firestore's: a page of this file\n * is a page of a query, and 5,000 keeps one crawler fetch to 5,000 document\n * reads and a few hundred KB of XML. Raising it trades read cost for fewer\n * files, and nothing in the format cares which side of that trade we take.\n */\nexport const SITEMAP_URLS_PER_FILE = 5000\n\n/**\n * A ceiling on how many pages one section may advertise, so a runaway\n * collection cannot produce an index with tens of thousands of entries — the\n * index has its own 50,000 limit, and a sweep that large is a bug long before\n * it is a sitemap. 100 pages is 500,000 URLs in one section.\n */\nexport const SITEMAP_MAX_PAGES_PER_SECTION = 100\n\n/** The fixed sections; a content collection adds one of its own. */\nexport const SITEMAP_SECTION_PAGES = 'pages'\nexport const SITEMAP_SECTION_PRODUCTS = 'products'\nexport const SITEMAP_SECTION_CATALOG = 'catalog'\n/**\n * Author pages (AGL-2518) — `/author/{slug}`, one per author record.\n *\n * A fixed section rather than a per-collection one, because there is one\n * author page per PERSON and it spans every collection they wrote in. A\n * `content-…` section per collection would submit the same author several\n * times over, at addresses that no longer exist.\n */\nexport const SITEMAP_SECTION_AUTHORS = 'authors'\n\n/**\n * The prefix a content collection's section carries.\n *\n * It exists so a collection slugged `products` cannot claim the commerce\n * section, and it cannot itself collide: stripping happens ONCE, so a\n * collection actually slugged `content-products` addresses\n * `content-content-products` and stays distinct from `content-products`,\n * which is the collection slugged `products`.\n */\nconst CONTENT_SECTION_PREFIX = 'content-'\n\n/** The sitemap section a content collection's URLs live in. */\nexport function contentSitemapSection(collectionSlug: string): string {\n return `${CONTENT_SECTION_PREFIX}${collectionSlug}`\n}\n\n/** The collection a `content-…` section names, or `undefined` for the rest. */\nexport function contentSitemapSectionSlug(\n section: string,\n): string | undefined {\n if (!section.startsWith(CONTENT_SECTION_PREFIX)) return undefined\n const slug = section.slice(CONTENT_SECTION_PREFIX.length)\n return slug || undefined\n}\n\n/**\n * A child sitemap's path.\n *\n * The page is ALWAYS its own segment, including page 1. A one-file section is\n * the common case and could have been the bare `/sitemaps/{section}.xml`, but\n * then the page number would have to be encoded into the section name for\n * every other page — and `content-blog-2` is ambiguous between page 2 of the\n * collection `blog` and page 1 of the collection `blog-2`, which is a real\n * slug someone can create. A separate segment cannot be ambiguous, and\n * nothing but the index ever writes these URLs.\n */\nexport function sitemapSectionPath(section: string, page: number): string {\n return `/sitemaps/${section}/${Math.max(1, Math.floor(page))}.xml`\n}\n\n/** Matches {@link sitemapSectionPath}; the one parser, shared with the middleware. */\nconst SITEMAP_SECTION_PATH = /^\\/sitemaps\\/([^/]+)\\/([0-9]+)\\.xml$/\n\n/** The section and page a path addresses, or `undefined` if it addresses none. */\nexport function parseSitemapSectionPath(\n pathname: string,\n): { section: string; page: number } | undefined {\n const match = SITEMAP_SECTION_PATH.exec(pathname)\n if (!match) return undefined\n const page = Number(match[2])\n if (!Number.isFinite(page) || page < 1) return undefined\n return { section: decodeURIComponent(match[1]), page }\n}\n\n/**\n * How many files a section of `urlCount` URLs needs. Zero URLs means zero\n * files — a section with nothing in it is left out of the index rather than\n * advertised as an empty document a crawler has to fetch to discover is empty.\n */\nexport function sitemapPageCount(urlCount: number): number {\n if (!Number.isFinite(urlCount) || urlCount <= 0) return 0\n return Math.min(\n SITEMAP_MAX_PAGES_PER_SECTION,\n Math.ceil(urlCount / SITEMAP_URLS_PER_FILE),\n )\n}\n\n/** XML text escaping — a slug or a query string may carry any of these. */\nexport function escapeSitemapXml(value: string): string {\n return value\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n}\n\n/**\n * One address in a sitemap document. A bare string is an address with no\n * known modification date; the object form carries a `lastmod` when the\n * builder could derive one.\n */\nexport type SitemapLocation = string | { loc: string; lastmod?: string }\n\n/**\n * A `<lastmod>` value from whatever timestamp shape a document carries\n * (AGL-2647): a Firestore `Timestamp` (`toMillis()`), the `{seconds}` object\n * a serialized one decays into, epoch milliseconds, or an ISO string.\n *\n * The DAY only, in UTC. `YYYY-MM-DD` is a complete W3C datetime, and a date a\n * crawler can compare is worth more than a time it cannot: a value that moved\n * with every render would be a `lastmod` crawlers learn to discount, and the\n * whole point of the element is to be believed.\n *\n * `undefined` for anything that does not decode, and the caller omits the\n * element. Never \"now\": an invented date claims a change that did not\n * happen, and a sitemap whose dates are consistently wrong is read as having\n * none at all.\n */\nexport function sitemapLastmod(value: unknown): string | undefined {\n const ms = toEpochMs(value)\n if (ms === undefined || ms <= 0) return undefined\n return new Date(ms).toISOString().slice(0, 10)\n}\n\n/** The `lastmod` a location carries, if any. */\nexport function sitemapLocationLastmod(\n location: SitemapLocation,\n): string | undefined {\n return typeof location === 'string' ? undefined : location.lastmod\n}\n\n/**\n * The newest of some `lastmod` values, or `undefined` when none is known.\n *\n * What a listing page and an index entry are dated by: a listing changed when\n * its newest entry did, and a child sitemap changed when its newest URL did.\n * Comparison is on the string, which is sound because every value is the\n * fixed-width `YYYY-MM-DD` {@link sitemapLastmod} produces.\n */\nexport function newestSitemapLastmod(\n lastmods: Iterable<string | undefined>,\n): string | undefined {\n let newest: string | undefined\n for (const lastmod of lastmods) {\n if (lastmod && (!newest || lastmod > newest)) newest = lastmod\n }\n return newest\n}\n\n/**\n * De-duplicated (AGL-582): a collection slug can shadow a screen path, and\n * the same URL twice in one sitemap is a submission of a duplicate, not a\n * stronger signal. The FIRST occurrence keeps its date — the routing order\n * that decides which page a shadowed URL serves is the order the builders\n * emit in, so the first source is the one whose date describes the page.\n */\nfunction uniqueSitemapLocations(\n locations: readonly SitemapLocation[],\n): Array<{ loc: string; lastmod?: string }> {\n const byLoc = new Map<string, { loc: string; lastmod?: string }>()\n for (const location of locations) {\n const entry = typeof location === 'string' ? { loc: location } : location\n if (!byLoc.has(entry.loc)) {\n byLoc.set(entry.loc, { loc: entry.loc, lastmod: entry.lastmod })\n }\n }\n return [...byLoc.values()]\n}\n\n/** `<url>` or `<sitemap>`; the `<lastmod>` child only when a date is known. */\nfunction sitemapLocationXml(\n tag: 'url' | 'sitemap',\n { loc, lastmod }: { loc: string; lastmod?: string },\n): string {\n const date = lastmod ? `<lastmod>${escapeSitemapXml(lastmod)}</lastmod>` : ''\n return ` <${tag}><loc>${escapeSitemapXml(loc)}</loc>${date}</${tag}>`\n}\n\n/** A `<urlset>` document. */\nexport function sitemapUrlsetXml(urls: readonly SitemapLocation[]): string {\n return (\n '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n' +\n '<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\\n' +\n uniqueSitemapLocations(urls)\n .map((item) => sitemapLocationXml('url', item))\n .join('\\n') +\n '\\n</urlset>\\n'\n )\n}\n\n/** A `<sitemapindex>` document — the children of `/sitemap.xml`. */\nexport function sitemapIndexXml(locs: readonly SitemapLocation[]): string {\n return (\n '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n' +\n '<sitemapindex xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\\n' +\n uniqueSitemapLocations(locs)\n .map((item) => sitemapLocationXml('sitemap', item))\n .join('\\n') +\n '\\n</sitemapindex>\\n'\n )\n}\n"],"names":["toEpochMs","SITEMAP_INDEX_PATH","SITEMAP_URLS_PER_FILE","SITEMAP_MAX_PAGES_PER_SECTION","SITEMAP_SECTION_PAGES","SITEMAP_SECTION_PRODUCTS","SITEMAP_SECTION_CATALOG","SITEMAP_SECTION_AUTHORS","CONTENT_SECTION_PREFIX","contentSitemapSection","collectionSlug","contentSitemapSectionSlug","section","startsWith","undefined","slug","slice","length","sitemapSectionPath","page","Math","max","floor","SITEMAP_SECTION_PATH","parseSitemapSectionPath","pathname","match","exec","Number","isFinite","decodeURIComponent","sitemapPageCount","urlCount","min","ceil","escapeSitemapXml","value","replace","sitemapLastmod","ms","Date","toISOString","sitemapLocationLastmod","location","lastmod","newestSitemapLastmod","lastmods","newest","uniqueSitemapLocations","locations","byLoc","Map","entry","loc","has","set","values","sitemapLocationXml","tag","date","sitemapUrlsetXml","urls","map","item","join","sitemapIndexXml","locs"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED;;;;;;;;;;;;;;;;;CAiBC,GAED,SAASA,SAAS,QAAQ,gBAAY;AAEtC,sEAAsE,GACtE,OAAO,MAAMC,qBAAqB,eAAc;AAEhD;;;;;;;;CAQC,GACD,OAAO,MAAMC,wBAAwB,KAAI;AAEzC;;;;;CAKC,GACD,OAAO,MAAMC,gCAAgC,IAAG;AAEhD,kEAAkE,GAClE,OAAO,MAAMC,wBAAwB,QAAO;AAC5C,OAAO,MAAMC,2BAA2B,WAAU;AAClD,OAAO,MAAMC,0BAA0B,UAAS;AAChD;;;;;;;CAOC,GACD,OAAO,MAAMC,0BAA0B,UAAS;AAEhD;;;;;;;;CAQC,GACD,MAAMC,yBAAyB;AAE/B,6DAA6D,GAC7D,OAAO,SAASC,sBAAsBC,cAAsB;IAC1D,OAAO,GAAGF,yBAAyBE,gBAAgB;AACrD;AAEA,6EAA6E,GAC7E,OAAO,SAASC,0BACdC,OAAe;IAEf,IAAI,CAACA,QAAQC,UAAU,CAACL,yBAAyB,OAAOM;IACxD,MAAMC,OAAOH,QAAQI,KAAK,CAACR,uBAAuBS,MAAM;IACxD,OAAOF,QAAQD;AACjB;AAEA;;;;;;;;;;CAUC,GACD,OAAO,SAASI,mBAAmBN,OAAe,EAAEO,IAAY;IAC9D,OAAO,CAAC,UAAU,EAAEP,QAAQ,CAAC,EAAEQ,KAAKC,GAAG,CAAC,GAAGD,KAAKE,KAAK,CAACH,OAAO,IAAI,CAAC;AACpE;AAEA,oFAAoF,GACpF,MAAMI,uBAAuB;AAE7B,gFAAgF,GAChF,OAAO,SAASC,wBACdC,QAAgB;IAEhB,MAAMC,QAAQH,qBAAqBI,IAAI,CAACF;IACxC,IAAI,CAACC,OAAO,OAAOZ;IACnB,MAAMK,OAAOS,OAAOF,KAAK,CAAC,EAAE;IAC5B,IAAI,CAACE,OAAOC,QAAQ,CAACV,SAASA,OAAO,GAAG,OAAOL;IAC/C,OAAO;QAAEF,SAASkB,mBAAmBJ,KAAK,CAAC,EAAE;QAAGP;IAAK;AACvD;AAEA;;;;CAIC,GACD,OAAO,SAASY,iBAAiBC,QAAgB;IAC/C,IAAI,CAACJ,OAAOC,QAAQ,CAACG,aAAaA,YAAY,GAAG,OAAO;IACxD,OAAOZ,KAAKa,GAAG,CACb9B,+BACAiB,KAAKc,IAAI,CAACF,WAAW9B;AAEzB;AAEA,yEAAyE,GACzE,OAAO,SAASiC,iBAAiBC,KAAa;IAC5C,OAAOA,MACJC,OAAO,CAAC,MAAM,SACdA,OAAO,CAAC,MAAM,QACdA,OAAO,CAAC,MAAM,QACdA,OAAO,CAAC,MAAM;AACnB;AASA;;;;;;;;;;;;;;CAcC,GACD,OAAO,SAASC,eAAeF,KAAc;IAC3C,MAAMG,KAAKvC,UAAUoC;IACrB,IAAIG,OAAOzB,aAAayB,MAAM,GAAG,OAAOzB;IACxC,OAAO,IAAI0B,KAAKD,IAAIE,WAAW,GAAGzB,KAAK,CAAC,GAAG;AAC7C;AAEA,8CAA8C,GAC9C,OAAO,SAAS0B,uBACdC,QAAyB;IAEzB,OAAO,OAAOA,aAAa,WAAW7B,YAAY6B,SAASC,OAAO;AACpE;AAEA;;;;;;;CAOC,GACD,OAAO,SAASC,qBACdC,QAAsC;IAEtC,IAAIC;IACJ,KAAK,MAAMH,WAAWE,SAAU;QAC9B,IAAIF,WAAY,CAAA,CAACG,UAAUH,UAAUG,MAAK,GAAIA,SAASH;IACzD;IACA,OAAOG;AACT;AAEA;;;;;;CAMC,GACD,SAASC,uBACPC,SAAqC;IAErC,MAAMC,QAAQ,IAAIC;IAClB,KAAK,MAAMR,YAAYM,UAAW;QAChC,MAAMG,QAAQ,OAAOT,aAAa,WAAW;YAAEU,KAAKV;QAAS,IAAIA;QACjE,IAAI,CAACO,MAAMI,GAAG,CAACF,MAAMC,GAAG,GAAG;YACzBH,MAAMK,GAAG,CAACH,MAAMC,GAAG,EAAE;gBAAEA,KAAKD,MAAMC,GAAG;gBAAET,SAASQ,MAAMR,OAAO;YAAC;QAChE;IACF;IACA,OAAO;WAAIM,MAAMM,MAAM;KAAG;AAC5B;AAEA,6EAA6E,GAC7E,SAASC,mBACPC,GAAsB,EACtB,EAAEL,GAAG,EAAET,OAAO,EAAqC;IAEnD,MAAMe,OAAOf,UAAU,CAAC,SAAS,EAAET,iBAAiBS,SAAS,UAAU,CAAC,GAAG;IAC3E,OAAO,CAAC,GAAG,EAAEc,IAAI,MAAM,EAAEvB,iBAAiBkB,KAAK,MAAM,EAAEM,KAAK,EAAE,EAAED,IAAI,CAAC,CAAC;AACxE;AAEA,2BAA2B,GAC3B,OAAO,SAASE,iBAAiBC,IAAgC;IAC/D,OACE,6CACA,mEACAb,uBAAuBa,MACpBC,GAAG,CAAC,CAACC,OAASN,mBAAmB,OAAOM,OACxCC,IAAI,CAAC,QACR;AAEJ;AAEA,kEAAkE,GAClE,OAAO,SAASC,gBAAgBC,IAAgC;IAC9D,OACE,6CACA,yEACAlB,uBAAuBkB,MACpBJ,GAAG,CAAC,CAACC,OAASN,mBAAmB,WAAWM,OAC5CC,IAAI,CAAC,QACR;AAEJ"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * One candidate in the precedence list — the persisted shape of a social
19
+ * image on a host, a screen, or a template.
20
+ */
21
+ export interface SocialImageSource {
22
+ /** A `media:` reference, a CDN path, or an author-supplied absolute URL. */
23
+ image?: string | null;
24
+ /**
25
+ * Pixel dimensions copied from the media record at pick time: the fallback
26
+ * when `assetFacts` records no usable pair for `image`.
27
+ */
28
+ imageWidth?: number | null;
29
+ imageHeight?: number | null;
30
+ /**
31
+ * What the card SHOWS, for `og:image:alt` (AGL-2417). Defaulted from the
32
+ * chosen asset's own alt at pick time and overridable per surface. Read off
33
+ * the same source as `image`, never mixed across the precedence list.
34
+ */
35
+ imageAlt?: string | null;
36
+ }
37
+ /**
38
+ * What the head emits. `width`/`height` are present only as a valid pair, and
39
+ * `alt` only when the winning source actually carries one.
40
+ *
41
+ * Next's OpenGraph/Twitter image DESCRIPTOR accepts exactly these keys, and
42
+ * both tenant branches already spread this object into `images: [ … ]` — so
43
+ * `og:image:alt` and `twitter:image:alt` start being emitted with no change
44
+ * at either emit site.
45
+ */
46
+ export interface ResolvedSocialImage {
47
+ url: string;
48
+ width?: number;
49
+ height?: number;
50
+ alt?: string;
51
+ }
52
+ /** The host fields the resolver needs: scope qualification and origin. */
53
+ export interface SocialImageHost {
54
+ $id?: string | null;
55
+ cname?: string | null;
56
+ subdomain?: string | null;
57
+ }
58
+ /**
59
+ * What each library asset a card may name records NOW (AGL-2850): the pixel
60
+ * pair on its DAM document, keyed by the reference exactly as a source stores
61
+ * it (`media:{scope}/{mediaId}`, pinned or not).
62
+ *
63
+ * Built on the server from the batch the page's composition reads. A
64
+ * reference with no entry is one that read did not answer for, and its card
65
+ * keeps the pair stored beside it.
66
+ */
67
+ export type SocialImageAssetFacts = Readonly<Record<string, {
68
+ width?: number | null;
69
+ height?: number | null;
70
+ }>>;
71
+ /**
72
+ * Resolves the social card image for a page.
73
+ *
74
+ * `sources` is the precedence list, most specific first — the tenant head
75
+ * passes `[entryCover, screen.seo, host.seo]` for a collection page and
76
+ * `[screen.seo, host.seo]` for a screen. The FIRST source carrying a
77
+ * non-empty `image` wins outright, together with its own dimensions.
78
+ *
79
+ * An empty string is a cleared field, not a value: it is how both pickers
80
+ * express "no image of my own" (the console writes it directly to Firestore
81
+ * rather than through the attributes form stack, which maps `''` to
82
+ * `undefined` and would make clearing impossible — AGL-1191). So clearing a
83
+ * screen's image means the host default applies again. There is deliberately
84
+ * no way for a screen to suppress the host default: the default exists so
85
+ * that every page has a card, and a page that wants none is not a case
86
+ * anyone has asked for. If one appears, add an explicit sentinel here — do
87
+ * not overload `''`, which cannot survive the form stack.
88
+ */
89
+ export declare function resolveSocialImage(options: {
90
+ sources: Array<SocialImageSource | null | undefined>;
91
+ host?: SocialImageHost | null | undefined;
92
+ /**
93
+ * The origin to absolutize a site-relative URL against, for a surface that
94
+ * is not a tenant site and therefore has no host record to derive one from
95
+ * (AGL-876: the console's marketplace listing card).
96
+ *
97
+ * Takes precedence over the host, so a caller that has both is stating the
98
+ * origin it actually serves from rather than the one the host doc names.
99
+ * With neither, a relative URL still resolves to `undefined` — the rule in
100
+ * `absolutize` is unchanged, this only widens where the origin may come
101
+ * from.
102
+ */
103
+ origin?: string | null;
104
+ /**
105
+ * What the named assets' DAM documents record now (AGL-2850). The winning
106
+ * source's pair comes from here when its own reference has a usable one,
107
+ * and from the copy stored beside the reference otherwise. A surface that
108
+ * read no documents omits it and emits the stored copy, as every surface
109
+ * did before.
110
+ */
111
+ assetFacts?: SocialImageAssetFacts | null;
112
+ }): ResolvedSocialImage | undefined;
@@ -0,0 +1,191 @@
1
+ import { _ as _extends } from "@swc/helpers/_/_extends";
2
+ /**
3
+ * @license
4
+ * Copyright 2026 Aglyn LLC
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */ /**
18
+ * The social card image (AGL-1337).
19
+ *
20
+ * ## The gap this closes
21
+ *
22
+ * `buildMetadata` already read `screen.seo.image || host.seo.image`, and the
23
+ * collection branch already read `entry.coverImage` — but nothing in the
24
+ * console could WRITE either screen or host field, so on a site whose pages
25
+ * are screens rather than collection entries every share fell back to
26
+ * `twitter:card: summary`: the small, image-less card. Meanwhile 44 designed
27
+ * 1200×630 assets sat in the DAM with nowhere to be bound.
28
+ *
29
+ * ## Why one function rather than a branch each
30
+ *
31
+ * There were already two half-answers in one file — the content branch took
32
+ * the entry cover, the screen branch took the screen/host fields — and
33
+ * neither did the two things a crawler actually requires:
34
+ *
35
+ * 1. **The URL must be absolute.** A picked asset is stored as
36
+ * `media:{scope}/{mediaId}` and resolves to the site-RELATIVE path
37
+ * `/api/media/cdn/{scope}/{mediaId}`. A browser has a page to resolve that
38
+ * against; a crawler fetching `og:image` out of band does not. This is the
39
+ * same problem `resolveEmailMediaSrc` solves for inboxes, and the tenant
40
+ * app declares no `metadataBase`, so Next resolves nothing for us either.
41
+ * Worse, before this the stored value was passed through UNTOUCHED, so a
42
+ * `media:` reference reached `og:image` as the literal string `media:…`.
43
+ * 2. **`og:image:width`/`height` were emitted nowhere at all.** Both branches
44
+ * passed a bare string, and Next only emits the dimension tags for an
45
+ * object entry. Crawlers that pre-render a card without fetching the bytes
46
+ * need them to reserve the right box.
47
+ *
48
+ * So both branches call this, and the resolution order is a LIST rather than
49
+ * a chain of `||` at each call site: whoever adds a third surface inherits
50
+ * the absolute-URL and dimension handling instead of writing a third copy
51
+ * that forgets one of them.
52
+ *
53
+ * ## Where the dimensions come from (AGL-2850)
54
+ *
55
+ * Each picker copies {@link AglynHostMedia.width}/`height` — auto-captured at
56
+ * upload (AGL-173) — beside the reference it writes, and that copy is the
57
+ * FALLBACK. A replace (AGL-2732) keeps an asset's id and URL and rewrites its
58
+ * pair. It cannot reach the copies stored beside the references to it, so a
59
+ * card replaced with a picture of another shape went on declaring the old
60
+ * shape to the crawlers that lay a card out before fetching its image, while
61
+ * its URL served the new bytes (AGL-2798).
62
+ *
63
+ * So the page's composition reads the document of each asset a card may name
64
+ * (a screen's and the host's `seo.image`, an entry's cover, an author's
65
+ * pictures) and hands their pairs here as `assetFacts`
66
+ * (`libs/tenant/runtime/src/lib/social-image-facts.ts`). The winning source
67
+ * takes its asset's pair when the document records a usable one, and its
68
+ * stored copy when it does not: an SVG the upload could not measure, a file
69
+ * older than AGL-173, an asset the CDN would not serve to this site, a failed
70
+ * read. Each of those renders the card every page rendered before.
71
+ *
72
+ * This reverses the tradeoff this note used to record. The pair was stored so
73
+ * that `generateMetadata`, on the ISR render path under a cold-start budget
74
+ * (AGL-1152), never read a media document for a number that changes only when
75
+ * someone replaces the asset. The composition already reads the documents of
76
+ * the images and films a page places, in one projected batch, so the card's
77
+ * documents join that read instead of adding one. The page that composes
78
+ * nothing, a password-protected screen, reads its card's documents on its own
79
+ * in one projected read.
80
+ *
81
+ * The pair travels WITH its image and is never mixed across sources — taking
82
+ * a screen's image and the host's dimensions would describe a card that does
83
+ * not exist, which is worse than emitting no dimensions at all. A current pair
84
+ * is looked up by the winning source's own reference, so it cannot cross
85
+ * sources either.
86
+ *
87
+ * ## `og:image:alt` (AGL-2417)
88
+ *
89
+ * `imageAlt` is stored and carried by exactly the same rule, and for a
90
+ * stronger version of the same reason. Until this, NO tenant page emitted an
91
+ * alt at all: the type had nowhere to hold one, so every shared card
92
+ * announced itself to a screen reader as an undescribed image.
93
+ *
94
+ * The alt is captured at PICK time from the chosen DAM asset
95
+ * (`inheritedMediaAlt`, AGL-1896) and is editable per surface, rather than
96
+ * looked up at render — the cold-start argument above applies unchanged, and
97
+ * a per-surface override is what lets "our logo" become "the Q3 report cover"
98
+ * on the one page where that is what the card shows.
99
+ *
100
+ * Defaulting at pick time on ONE of the three storage sites would NOT have
101
+ * been enough, and this is the objection worth recording: the resolver picks
102
+ * whichever source wins for a given page, so an alt stored only on the host
103
+ * default would be emitted beside a SCREEN's image — a description of a
104
+ * picture the card does not show, which is worse than no description. It is
105
+ * therefore stored beside the reference at all three sites and read off the
106
+ * SAME source the URL came from, exactly as the dimensions are.
107
+ */ import { hostPublicOrigin } from "./host-naming.js";
108
+ import { MEDIA_ALT_MAX_LENGTH } from "./media-metadata.js";
109
+ import { absoluteMediaSrc } from "./media-ref.js";
110
+ /**
111
+ * The alt, trimmed, or nothing.
112
+ *
113
+ * Blank is never emitted. `og:image:alt=""` is a positive assertion that the
114
+ * image conveys nothing — the decorative case — and a share card is by
115
+ * definition not decorative, so an empty string here would be a worse claim
116
+ * than the absent tag it replaced. It is also capped at the same length the
117
+ * DAM saves through, so an alt that reaches a card is one the library would
118
+ * also have stored.
119
+ */ function alt(source) {
120
+ const value = typeof source.imageAlt === 'string' ? source.imageAlt.trim() : '';
121
+ return value ? {
122
+ alt: value.slice(0, MEDIA_ALT_MAX_LENGTH)
123
+ } : {};
124
+ }
125
+ /**
126
+ * A dimension pair is emitted only when BOTH sides are positive integers.
127
+ * Half a pair tells a crawler nothing and invites it to infer the other.
128
+ */ function dimensions(source) {
129
+ const width = Number(source.imageWidth);
130
+ const height = Number(source.imageHeight);
131
+ if (!Number.isFinite(width) || !Number.isFinite(height)) return {};
132
+ if (width <= 0 || height <= 0) return {};
133
+ return {
134
+ width: Math.round(width),
135
+ height: Math.round(height)
136
+ };
137
+ }
138
+ /**
139
+ * The pair a card emits: its asset's current one when `assetFacts` records a
140
+ * usable pair for the winning source's OWN reference, and otherwise the copy
141
+ * stored beside that reference. Both pass through {@link dimensions}, so the
142
+ * two cannot disagree about what a usable pair is.
143
+ */ function currentDimensions(source, assetFacts) {
144
+ var _source_image;
145
+ const image = (_source_image = source.image) != null ? _source_image : '';
146
+ const recorded = assetFacts && Object.prototype.hasOwnProperty.call(assetFacts, image) ? assetFacts[image] : undefined;
147
+ const current = recorded ? dimensions({
148
+ imageWidth: recorded.width,
149
+ imageHeight: recorded.height
150
+ }) : {};
151
+ return current.width === undefined ? dimensions(source) : current;
152
+ }
153
+ /**
154
+ * Resolves the social card image for a page.
155
+ *
156
+ * `sources` is the precedence list, most specific first — the tenant head
157
+ * passes `[entryCover, screen.seo, host.seo]` for a collection page and
158
+ * `[screen.seo, host.seo]` for a screen. The FIRST source carrying a
159
+ * non-empty `image` wins outright, together with its own dimensions.
160
+ *
161
+ * An empty string is a cleared field, not a value: it is how both pickers
162
+ * express "no image of my own" (the console writes it directly to Firestore
163
+ * rather than through the attributes form stack, which maps `''` to
164
+ * `undefined` and would make clearing impossible — AGL-1191). So clearing a
165
+ * screen's image means the host default applies again. There is deliberately
166
+ * no way for a screen to suppress the host default: the default exists so
167
+ * that every page has a card, and a page that wants none is not a case
168
+ * anyone has asked for. If one appears, add an explicit sentinel here — do
169
+ * not overload `''`, which cannot survive the form stack.
170
+ */ export function resolveSocialImage(options) {
171
+ const { sources, host, origin, assetFacts } = options;
172
+ const source = sources.find((candidate)=>Boolean(candidate == null ? void 0 : candidate.image));
173
+ if (!(source == null ? void 0 : source.image)) return undefined;
174
+ // A `media:` reference becomes the site-relative CDN path, host-qualified
175
+ // so a restricted org asset resolves for the site actually rendering, and is
176
+ // then absolutized because a crawler reads `og:image` out of band; any other
177
+ // string passes through untouched (back-compat with the raw storage URLs the
178
+ // content and favicon pickers have always written). Both halves live in
179
+ // `media-ref.ts` (AGL-1407) so the manifest and the inbox share this rule
180
+ // rather than each keeping a copy that can drift.
181
+ const url = absoluteMediaSrc(source.image, {
182
+ hostId: host == null ? void 0 : host.$id,
183
+ origin: origin || hostPublicOrigin(host)
184
+ });
185
+ if (!url) return undefined;
186
+ return _extends({
187
+ url
188
+ }, currentDimensions(source, assetFacts), alt(source));
189
+ }
190
+
191
+ //# sourceMappingURL=social-image.js.map