@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,833 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import type { AglynNodeSchema, NodeId } from '../foundation';
18
+ import { type CollectionEntryDateFormat } from './collection-entry-date';
19
+ import { type ContentAuthorLink, type ContentAuthorRecord } from './content-authors';
20
+ export * from './collection-entry-date';
21
+ /**
22
+ * Persisted component id of the "Collection entries" repeater block
23
+ * (plugins-mui). Like `layoutSlot`, the id lives here so the tenant compose
24
+ * pipeline can find the block without importing the component bundle.
25
+ */
26
+ export declare const COLLECTION_ENTRIES_COMPONENT_ID = "collectionEntries";
27
+ /** Persisted component id of the markdown "Entry body" block (plugins-mui). */
28
+ export declare const COLLECTION_ENTRY_BODY_COMPONENT_ID = "collectionEntryBody";
29
+ /**
30
+ * Persisted component id of the "Related posts" block (plugins-mui,
31
+ * AGL-582). The compose pipeline stamps the related entries onto the node,
32
+ * so the id lives here like the entries/body blocks.
33
+ */
34
+ export declare const COLLECTION_RELATED_COMPONENT_ID = "collectionRelated";
35
+ /** Persisted component id of the share-bar block (plugins-mui, AGL-582). */
36
+ export declare const COLLECTION_SHARE_COMPONENT_ID = "collectionShare";
37
+ /** Persisted component id of the entry-meta block (plugins-mui, AGL-582). */
38
+ export declare const COLLECTION_ENTRY_META_COMPONENT_ID = "collectionEntryMeta";
39
+ /**
40
+ * Persisted component id of the author card that closes an article
41
+ * (plugins-mui, AGL-2486).
42
+ *
43
+ * Entry Meta prints the byline — a NAME, on one line, beside the date. The
44
+ * author record it now resolves against carries a portrait, a bio, a job
45
+ * title and a url, and none of those have anywhere to render: a template that
46
+ * wanted the card the article frame draws had to type the name and the blurb
47
+ * as literal text, which then said "The Aglyn Team" under a post somebody
48
+ * else wrote and went stale the moment the author record was edited. The id
49
+ * lives here, with the other collection blocks, so the compose pipeline can
50
+ * fill the card without importing the bundle.
51
+ */
52
+ export declare const COLLECTION_ENTRY_AUTHOR_COMPONENT_ID = "collectionEntryAuthor";
53
+ /**
54
+ * Persisted component id of the "Category Pills" block (plugins-mui,
55
+ * AGL-1321). Like the entries repeater, the id lives here so the tenant
56
+ * compose pipeline can stamp the block's links without importing the bundle.
57
+ */
58
+ export declare const COLLECTION_CATEGORIES_COMPONENT_ID = "collectionCategories";
59
+ /**
60
+ * Persisted component id of the standalone "Collection Search" block
61
+ * (plugins-mui, AGL-1516).
62
+ *
63
+ * The Collection Entries block grew its own search box first, and it renders
64
+ * INSIDE that block — first child of the block's own stack. Figma 494:1220
65
+ * puts the field in the listing's toolbar row instead, beside the RSS button
66
+ * with the category pills opposite it, and no amount of authoring can lift a
67
+ * block's own child out of it. The pills cannot move the other way either:
68
+ * every child of an entries block is cloned once per entry.
69
+ *
70
+ * So the field became a block an author can put where the frame draws it.
71
+ * Suggestion-panel only, by construction rather than by omission — a
72
+ * standalone box has no clones to hide, so `filter` is a thing it genuinely
73
+ * cannot do, and the one behaviour it does have is the toolbar behaviour the
74
+ * frame asks for.
75
+ */
76
+ export declare const COLLECTION_SEARCH_COMPONENT_ID = "collectionSearch";
77
+ /**
78
+ * Reserved list sub-paths (AGL-620 `page`, AGL-1321 `category`). Both are
79
+ * only reserved as the HEAD of a longer path, so an entry legitimately
80
+ * slugged `page` or `category` keeps serving at `/{collection}/{entry}`.
81
+ */
82
+ export declare const COLLECTION_PAGE_ROUTE_SEGMENT = "page";
83
+ export declare const COLLECTION_CATEGORY_ROUTE_SEGMENT = "category";
84
+ /** Namespaces cloned template ids per container/entry (cf. `rep__`). */
85
+ export declare const COLLECTION_ENTRIES_NODE_ID_PREFIX = "centry__";
86
+ /** Hard bound on entries a single block renders, before `entriesLimit`. */
87
+ export declare const COLLECTION_ENTRIES_MAX = 100;
88
+ /**
89
+ * Hard bound on the entries one READ of a collection returns (AGL-1516) — the
90
+ * `.limit()` the tenant's live-entries query carries.
91
+ *
92
+ * Named here, beside the render bound it has always silently matched, because
93
+ * a search index has to know the difference. The render bound is a choice
94
+ * about a block; this one is a choice about the DATA, and a set that reaches
95
+ * it is a set nobody has seen all of. Two 100s that happened to agree meant
96
+ * `entries.length === 100` could be read either as "this collection has 100
97
+ * entries" or "this read stopped at 100", and the honest empty state turns on
98
+ * exactly that distinction.
99
+ */
100
+ export declare const COLLECTION_SOURCE_MAX = 100;
101
+ /**
102
+ * Whether a collection source is a COMPLETE read or a bounded one
103
+ * (AGL-1516) — true when the read came back holding its own limit, which is
104
+ * the only signal a limited query without a count leaves behind.
105
+ *
106
+ * Deliberately errs toward "bounded": a collection of exactly
107
+ * {@link COLLECTION_SOURCE_MAX} entries answers true and gets described one
108
+ * notch more cautiously than it needed. Overstating what a search covered is
109
+ * the failure that renders as a confident "nothing matched".
110
+ */
111
+ export declare function collectionSourceReachedBound(entries: readonly unknown[] | undefined): boolean;
112
+ /**
113
+ * Whether the read behind a collection source was a bounded one (AGL-1516),
114
+ * asking the READER first and only then falling back to counting.
115
+ *
116
+ * The count is a proxy, and it under-reports in two ways that both landed
117
+ * after `collectionSourceReachedBound` was written:
118
+ *
119
+ * 1. The query takes `status in ['published', 'scheduled']` and the loader
120
+ * then drops what is not live yet — a future `publishAt`, or since AGL-471
121
+ * a due schedule the plan does not carry. A read that came back holding
122
+ * its full 100 docs can therefore hand over 96 entries, and 96 does not
123
+ * look like a ceiling. A blog with a scheduling queue is exactly the site
124
+ * that hits this.
125
+ * 2. A category route filters `entries` before compose ever sees them, so the
126
+ * "raw set" the entries block is careful to measure is already narrowed.
127
+ *
128
+ * Both make the flag read FALSE on a read that really did stop at its bound,
129
+ * and false is the direction that produces the confident "nothing matched"
130
+ * this signal exists to prevent. So `reachedBound` is threaded down from the
131
+ * query that owns the fact, and the count survives only as the fallback for a
132
+ * source that predates it — a payload cached before this shipped, or a caller
133
+ * that assembles a source by hand.
134
+ */
135
+ export declare function collectionSourceIsBounded(source: Pick<CollectionEntriesSource, 'entries' | 'reachedBound'> | undefined): boolean;
136
+ /** Default entries per page for a paginated collection list (AGL-620). */
137
+ export declare const COLLECTION_LIST_PAGE_SIZE = 10;
138
+ /**
139
+ * Total pages for `total` entries at `perPage` per page — at least 1 so an
140
+ * empty collection still has a page 1 (AGL-620).
141
+ */
142
+ export declare function collectionTotalPages(total: number, perPage: number): number;
143
+ /** Default/most related posts a Related posts block renders (AGL-582). */
144
+ export declare const COLLECTION_RELATED_DEFAULT_LIMIT = 3;
145
+ export declare const COLLECTION_RELATED_MAX = 12;
146
+ /** Most categories a collection's taxonomy holds (AGL-582). */
147
+ export declare const COLLECTION_CATEGORIES_MAX = 50;
148
+ /**
149
+ * One taxonomy category on a COLLECTION doc (AGL-582): `id` is the stable
150
+ * slug-like key entries reference (`categoryId`), generated once from the
151
+ * initial name and never changed; `name` is the display label and freely
152
+ * renameable. Stored as an array to preserve author-defined ordering.
153
+ */
154
+ export interface CollectionCategory {
155
+ id: string;
156
+ name: string;
157
+ /**
158
+ * What this category's listing is about, for the `<meta name="description">`
159
+ * of `/{collection}/category/{slug}`.
160
+ *
161
+ * Without one every filtered listing on a site inherits the list template
162
+ * screen's description — six `/blog/category/*` URLs all described as "the
163
+ * blog", which is the same duplicate-result problem the composed category
164
+ * TITLE was introduced to solve (AGL-1321), one tag over. Optional, and the
165
+ * template's description remains the fallback: a category nobody has
166
+ * described is better summarized by the list it filters than by nothing.
167
+ */
168
+ description?: string;
169
+ }
170
+ /**
171
+ * How many LIVE entries one content collection may hold (AGL-2266).
172
+ *
173
+ * `hosts/{hostId}/collections/{cid}/entries/{eid}` had a DEDICATED rules block
174
+ * re-granting `create` to any editor, client-direct — deliberately, because the
175
+ * name-based exclusions on the host catch-all must not reach entries — so it
176
+ * was the one quota-governed shape under a host with no quota at all. A free
177
+ * org could mint unbounded Firestore documents from the browser.
178
+ *
179
+ * This is a flat PLATFORM cap, not a plan dimension. AGL-1387 declined
180
+ * `collectionsPerHost` and this does not re-open it: nothing here is priced,
181
+ * no `OrgEntitlements` key is added, and every plan gets the same number. It is
182
+ * the `WEBHOOK_MAX_PER_HOST` (AGL-1360) / `NON_PAGE_SCREEN_MAX_PER_HOST`
183
+ * (AGL-1399) shape, which both issues invented for exactly this: uncapped
184
+ * infrastructure behind a $0 subscription.
185
+ *
186
+ * ## Per COLLECTION, paired with {@link COLLECTIONS_MAX_PER_HOST}
187
+ *
188
+ * A per-HOST entry cap would need a count across every collection the host
189
+ * holds, which is a collection-group read the entry documents carry no `hostId`
190
+ * to scope. Per collection is one `count()` on the collection the create is
191
+ * addressed to — the same read every other cap on `/api/hosts/resources`
192
+ * already pays — and the host is bounded by the PRODUCT of the two numbers,
193
+ * which is why the sibling cap had to land in the same change. One of the two
194
+ * alone bounds nothing: unbounded collections each holding 10,000 entries is
195
+ * the same unbounded store, spelled differently.
196
+ *
197
+ * ## Why 10,000
198
+ *
199
+ * A blog publishing daily reaches it after twenty-seven years; the largest
200
+ * content collection in production holds double digits. The failure mode of a
201
+ * flat cap set too low is blocking real authoring with an error the price list
202
+ * cannot explain, so it is sized to the heaviest plausible library rather than
203
+ * to today's data. It also bounds the cost of the console's own listing, which
204
+ * reads entries with `limit(200)` and would otherwise page through a store with
205
+ * no ceiling.
206
+ */
207
+ export declare const ENTRIES_MAX_PER_COLLECTION = 10000;
208
+ /**
209
+ * How many LIVE content collections one host may hold (AGL-2266).
210
+ *
211
+ * The other half of the entry bound above, and the reason it means anything.
212
+ * Collection creation was already server-owned — the rules deny client `create`
213
+ * and `/api/hosts/collections` claims the slug transactionally (AGL-978) — so
214
+ * the collection had a WRITER with authority and simply no number to enforce.
215
+ *
216
+ * Again a platform cap and not `collectionsPerHost`: AGL-1387 decided
217
+ * collections are not a thing customers are charged for, and that decision is
218
+ * untouched. 100 is far past any real site's taxonomy — production's busiest
219
+ * host has a handful — and short enough that the entries ceiling above
220
+ * multiplies out to a bounded store rather than an unbounded one.
221
+ */
222
+ export declare const COLLECTIONS_MAX_PER_HOST = 100;
223
+ /**
224
+ * One published content-collection entry as the compose pipeline sees it
225
+ * (AGL-551). Mirrors the tenant's `CollectionEntrySummary` without the
226
+ * Firestore dependency so the expansion stays pure.
227
+ */
228
+ export interface CollectionEntryRecord {
229
+ $id?: string;
230
+ title?: string;
231
+ slug?: string;
232
+ excerpt?: string;
233
+ /**
234
+ * Per-entry byline (AGL-686); falls back to the site as author.
235
+ *
236
+ * Since AGL-2486 this is either the legacy free-typed string or the NAME of
237
+ * the author record `authorId` points at, denormalized by the tenant runtime
238
+ * so the byline block, the `{{entry.author}}` token and the RSS feed all
239
+ * keep reading one field.
240
+ */
241
+ authorName?: string;
242
+ /**
243
+ * Reference into `hosts/{hostId}/authors` (AGL-2486) — the custom author
244
+ * this entry publishes under. Absent on every entry written before it, and
245
+ * on any entry whose editor chose a one-off byline instead of a record.
246
+ */
247
+ authorId?: string;
248
+ /**
249
+ * The resolved author record, attached by the tenant runtime alongside the
250
+ * `authorName` it denormalizes (`get-collection-content.ts`). Carries the
251
+ * portrait, which is why the byline can show the author's own face rather
252
+ * than the site's mark — see {@link expandCollectionEntryMeta}.
253
+ */
254
+ author?: ContentAuthorRecord | null;
255
+ body?: string;
256
+ coverImage?: string;
257
+ /**
258
+ * The entry's featured video (AGL-2956), stored in the shape
259
+ * {@link coverImage} is: a `media:{scope}/{id}` reference or a URL, a Wistia
260
+ * media link included. Raw here for the reason every image field in this
261
+ * file is raw — the resolver needs the rendering host, which this record
262
+ * does not carry.
263
+ *
264
+ * An entry of a video collection is an article whose featured video sits
265
+ * where a post's cover image would, which is what makes its page a watch
266
+ * page. `{{entry.coverVideo}}` binds it into a template's Video element, and
267
+ * the built-in entry page plays it with no template at all.
268
+ */
269
+ coverVideo?: string;
270
+ /** Search-result title override (AGL-582); falls back to `title`. */
271
+ seoTitle?: string;
272
+ /** Meta description override (AGL-582); falls back to `excerpt`. */
273
+ seoDescription?: string;
274
+ /**
275
+ * Stable reference into the collection's `categories` taxonomy
276
+ * (AGL-582): the ID survives renames, so display names resolve at
277
+ * render via {@link resolveEntryCategoryName}.
278
+ */
279
+ categoryId?: string;
280
+ /**
281
+ * Legacy free-typed bucket (AGL-582), e.g. "Engineering". Still READ
282
+ * as a fallback everywhere; the editor writes `categoryId` going
283
+ * forward.
284
+ */
285
+ category?: string;
286
+ /** Free-form labels (AGL-582), e.g. ["nextjs", "seo"]. */
287
+ tags?: string[];
288
+ publishedAt?: {
289
+ seconds: number;
290
+ } | null;
291
+ /**
292
+ * The collection this entry came OUT of, stamped where the read happened
293
+ * (AGL-2518).
294
+ *
295
+ * Absent everywhere the routed collection already answers the question,
296
+ * which is every listing the platform had until now: a `/blog` page renders
297
+ * blog entries, so `entry.url` is built from the one slug the route
298
+ * resolved and no entry needs to carry its own.
299
+ *
300
+ * The author page breaks that assumption — it lists a blog post, a
301
+ * changelog note and a press release side by side, and building all three
302
+ * URLs from a single routed slug would produce two links to pages that do
303
+ * not exist. So the reader that mixes collections stamps each entry with
304
+ * where it came from, and {@link collectionEntryTokens} prefers it. Every
305
+ * other caller keeps passing one slug and keeps behaving identically.
306
+ */
307
+ collectionSlug?: string;
308
+ /**
309
+ * The display name of {@link collectionSlug} — "Changelog", not
310
+ * "changelog" — so a card on a mixed listing can label which section a
311
+ * post belongs to. Stamped by the same reader, for the same reason.
312
+ */
313
+ collectionName?: string;
314
+ }
315
+ /** A collection's published entries, keyed for expansion by its slug. */
316
+ export interface CollectionEntriesSource {
317
+ slug: string;
318
+ entries: CollectionEntryRecord[];
319
+ /** The collection's category taxonomy (AGL-582), for name resolution. */
320
+ categories?: CollectionCategory[];
321
+ /**
322
+ * Whether the READ that produced `entries` came back holding its own
323
+ * `.limit()` (AGL-1516) — a fact recorded where the query ran, because by
324
+ * the time `entries` gets here it has been through a liveness filter and
325
+ * possibly a route's category filter, and its length no longer answers the
326
+ * question. See {@link collectionSourceIsBounded}.
327
+ */
328
+ reachedBound?: boolean;
329
+ /**
330
+ * The page the ROUTE asked for (AGL-1321), set only for the collection the
331
+ * URL resolved. Fills in a block that declares `perPage` but no `page` —
332
+ * which is every block a designer can author, since design time cannot
333
+ * know which page a visitor is on. A block that names its own `page` still
334
+ * wins: that is a deliberately pinned window, not a paginated list.
335
+ */
336
+ page?: number;
337
+ }
338
+ /**
339
+ * Display name of an entry's category (AGL-582): the `categoryId` lookup
340
+ * into the collection's taxonomy wins; the legacy free-typed
341
+ * `entry.category` string is the fallback so existing data keeps
342
+ * rendering. An ID referencing a deleted category resolves to nothing —
343
+ * by design the entry simply shows no category.
344
+ */
345
+ export declare function resolveEntryCategoryName(entry: Pick<CollectionEntryRecord, 'categoryId' | 'category'>, categories?: readonly CollectionCategory[]): string | undefined;
346
+ /**
347
+ * The values an Entry Meta block shows, in the exact spellings the
348
+ * `{{entry.date}}` / `{{entry.author}}` / `{{entry.category}}` /
349
+ * `{{entry.tags}}` tokens produce (AGL-1385, author added AGL-1459).
350
+ *
351
+ * Extracted so the token map and {@link expandCollectionEntryMeta} cannot
352
+ * drift: the same entry has to read the same way whether the author bound the
353
+ * tokens by hand or let the server fill the block in.
354
+ */
355
+ export declare function collectionEntryMetaValues(entry: CollectionEntryRecord, categories?: readonly CollectionCategory[], dateFormat?: CollectionEntryDateFormat): {
356
+ date: string;
357
+ author: string;
358
+ category: string;
359
+ tags: string;
360
+ };
361
+ /**
362
+ * The values an Entry Author card shows (AGL-2486) — the fields of the
363
+ * resolved author RECORD, in the spellings the `{{entry.author*}}` tokens
364
+ * produce.
365
+ *
366
+ * Extracted for the reason {@link collectionEntryMetaValues} was: the card,
367
+ * the token map and {@link expandCollectionEntryAuthor} have to agree, and
368
+ * three copies of "name, falling back to the legacy string" would not.
369
+ *
370
+ * `image` stays RAW — a `media:` reference or a plain url, whichever the
371
+ * author saved — because the resolver that turns one into a fetchable src
372
+ * needs the rendering host and this function has no host (`resolveMediaSrc`,
373
+ * AGL-1215). Every other consumer of an image field in this file does the
374
+ * same.
375
+ */
376
+ export declare function collectionEntryAuthorValues(entry: CollectionEntryRecord): {
377
+ name: string;
378
+ bio: string;
379
+ image: string;
380
+ url: string;
381
+ pageUrl: string;
382
+ links: ContentAuthorLink[];
383
+ };
384
+ /**
385
+ * The `{{entry.*}}` token map for one entry (AGL-105/551): substituted
386
+ * globally on entry-template screens and per-clone inside the Collection
387
+ * entries block. `entry.url` resolves to the entry's auto-route so links
388
+ * (`Read more`, titles) work without hardcoding the collection slug.
389
+ */
390
+ export declare function collectionEntryTokens(entry: CollectionEntryRecord, collectionSlug: string, categories?: CollectionCategory[]): Record<string, string>;
391
+ /**
392
+ * Category/tag membership check (AGL-582), shared by the Collection entries
393
+ * filter props and the query-less list surfaces. Matching is trimmed and
394
+ * case-insensitive — editors type these by hand. A category filter matches
395
+ * either the entry's stable `categoryId` or its RESOLVED display name (id
396
+ * lookup first, legacy string fallback), so filters written against either
397
+ * spelling keep working across the taxonomy migration.
398
+ */
399
+ export declare function entryMatchesFilter(entry: CollectionEntryRecord, filter: {
400
+ category?: string;
401
+ tag?: string;
402
+ }, categories?: CollectionCategory[]): boolean;
403
+ /**
404
+ * URL form of a category id or display name (AGL-1321): lowercase, runs of
405
+ * non-alphanumerics collapsed to a single `-`, no leading/trailing dash.
406
+ *
407
+ * Deliberately lossy and idempotent, so the same category addresses the same
408
+ * URL whether the author typed the taxonomy id, the display name, or the URL
409
+ * segment itself. `Open source` → `open-source` → `open-source`.
410
+ */
411
+ export declare function collectionCategorySlug(value: string | undefined): string;
412
+ /**
413
+ * The taxonomy category a URL segment addresses (AGL-1321), matched on the
414
+ * stable `id` OR the slugified display name — an author linking
415
+ * `/blog/category/open-source` should not have to know which of the two the
416
+ * data happens to store, and an `id` that survives a rename is exactly why
417
+ * the taxonomy has one. `undefined` = the segment names no known category;
418
+ * the caller renders an empty listing rather than crashing.
419
+ */
420
+ export declare function resolveCollectionCategoryBySlug(categories: readonly CollectionCategory[] | undefined, slug: string | undefined): CollectionCategory | undefined;
421
+ /**
422
+ * The canonical URL of a collection listing (AGL-1321). ONE builder, because
423
+ * the pills, the pager, the `<link rel="canonical">`, the JSON-LD and the
424
+ * sitemap must all agree on the shape or the filter quietly becomes a
425
+ * duplicate-content generator.
426
+ *
427
+ * The unfiltered page-1 listing is the bare `/{collection}` — there is no
428
+ * `/{collection}/category/all` and no `?category=all`, so "All" cannot become
429
+ * a second address for the page that already exists.
430
+ */
431
+ export declare function collectionListUrl(options: {
432
+ collectionSlug: string;
433
+ categorySlug?: string | null;
434
+ page?: number | null;
435
+ }): string;
436
+ /** Where a listing's pager can go from here (AGL-1386). */
437
+ export interface CollectionPaginationLinks {
438
+ /** 1-based current page; 1 when the listing is unpaginated. */
439
+ page: number;
440
+ /** Total pages in the CURRENT (possibly category-filtered) set. */
441
+ totalPages: number;
442
+ /** The previous page's URL, or `''` on the first page. */
443
+ prevUrl: string;
444
+ /** The next page's URL, or `''` on the last page. */
445
+ nextUrl: string;
446
+ }
447
+ /**
448
+ * Everything a pager needs for one listing (AGL-1386): which page it is on,
449
+ * how many there are, and where prev/next go — through
450
+ * {@link collectionListUrl}, so both links stay inside the category they are
451
+ * paging rather than dumping the reader back onto the unfiltered list.
452
+ *
453
+ * **The edges resolve to the empty string, never to a URL.** No previous page
454
+ * means `prevUrl` is `''`; no next page means `nextUrl` is `''`. That is what
455
+ * lets an authored template bind these unconditionally: one static list screen
456
+ * serves the bare listing, every `/page/{n}`, and every
457
+ * `/category/{slug}` — and there is no runtime conditional to hide a link
458
+ * with. A link whose href resolves to `''` renders as an inert placeholder of
459
+ * the same element (AGL-1268/1357), which is the correct pager on page 1 of 1.
460
+ *
461
+ * ONE computation, because it has two consumers that must agree: the built-in
462
+ * fallback pager's nodes and the `{{pagination.*}}` tokens an authored
463
+ * template binds. A second derivation is how a fallback and a template start
464
+ * disagreeing about which page they are on.
465
+ */
466
+ export declare function collectionPaginationLinks(options: {
467
+ collectionSlug: string;
468
+ categorySlug?: string | null;
469
+ /** 1-based current page; anything unusable reads as page 1. */
470
+ page?: number | null;
471
+ /** Total pages; anything unusable reads as a single page. */
472
+ totalPages?: number | null;
473
+ }): CollectionPaginationLinks;
474
+ /** A content-collection path resolved to what it addresses (AGL-1321). */
475
+ export interface CollectionRoute {
476
+ collectionSlug: string;
477
+ /** Set only for `/{collection}/{entry}`. */
478
+ entrySlug?: string;
479
+ /** Set only for `/{collection}/category/{slug}[/page/{n}]`. */
480
+ categorySlug?: string;
481
+ /** 1-based list page; always 1 for entry routes. */
482
+ page: number;
483
+ }
484
+ /**
485
+ * Parses a non-screen path against the content-collection route shapes
486
+ * (AGL-81/620/1321), or `null` when it is none of them and the caller should
487
+ * fall through to the 404 chain:
488
+ *
489
+ * ```
490
+ * /{collection} list, page 1, all categories
491
+ * /{collection}/{entry} one entry
492
+ * /{collection}/page/{n} list page n
493
+ * /{collection}/category/{slug} filtered list, page 1
494
+ * /{collection}/category/{slug}/page/{n} filtered list, page n
495
+ * ```
496
+ *
497
+ * Pure, and shared by the tenant loader and its tests, because the route
498
+ * table IS the ISR cache key here: the tenant catch-all caches by PATH, so a
499
+ * listing variant that lives in the path gets its own cache entry for free,
500
+ * while one that lived in a query string would share `/blog`'s entry and
501
+ * serve one category's HTML for another.
502
+ */
503
+ export declare function parseCollectionRoute(segments: readonly string[]): CollectionRoute | null;
504
+ /**
505
+ * Does this entry belong to the category a URL segment addresses (AGL-1321)?
506
+ *
507
+ * Every spelling the route could plausibly mean is slugified into one set and
508
+ * checked against both of the entry's own spellings — the stable `categoryId`
509
+ * and the RESOLVED display name. So `/blog/category/open-source` answers for
510
+ * a taxonomy whose id is `opensource`, for one whose id is opaque but whose
511
+ * name is "Open source", and for a legacy free-typed entry that predates the
512
+ * taxonomy entirely. `entryMatchesFilter` cannot stand in: it compares raw
513
+ * trimmed strings, so it would miss every multi-word category name.
514
+ */
515
+ export declare function entryMatchesCategoryRoute(entry: CollectionEntryRecord, route: {
516
+ slug: string;
517
+ category?: CollectionCategory;
518
+ }, categories?: readonly CollectionCategory[]): boolean;
519
+ /** One category pill as stamped onto a Category Pills block (AGL-1321). */
520
+ export interface CollectionCategoryLink {
521
+ label: string;
522
+ href: string;
523
+ /** The pill for the listing currently being rendered. */
524
+ active: boolean;
525
+ }
526
+ /** Label the unfiltered pill carries when the author never named one. */
527
+ export declare const COLLECTION_ALL_PILL_DEFAULT = "All";
528
+ /**
529
+ * The value that persists "no All pill" (AGL-1336).
530
+ *
531
+ * The attribute documented "clear it to omit that pill" and could not do it:
532
+ * the attributes form strips an emptied text field's KEY (ddf maps an
533
+ * emptied field to its `clearedValue`, final-form's default parse turns
534
+ * `''` into `undefined`, and `updateNodeProps` replaces the props object),
535
+ * so the absent key took {@link COLLECTION_ALL_PILL_DEFAULT} and the pill
536
+ * came straight back. `''` is therefore not a value this field can hold —
537
+ * the same AGL-1191 trap that made the App Bar's "Default" unpersistable.
538
+ *
539
+ * So the field carries this as its `clearedValue`: clearing the box writes
540
+ * the word `none`, which survives the round trip and is honoured here.
541
+ * Deliberately a readable word rather than a magic character — an author who
542
+ * reopens the panel sees `none` in the All-label box and can read what it
543
+ * did. Removing the prop entirely (the ✕ affordance) still means "unset",
544
+ * and restores the default.
545
+ */
546
+ export declare const COLLECTION_ALL_PILL_NONE = "none";
547
+ /**
548
+ * What the unfiltered pill should be labelled, or `''` to omit it — the ONE
549
+ * place the {@link COLLECTION_ALL_PILL_NONE} sentinel is interpreted
550
+ * (AGL-1336). Matched case-insensitively on the trimmed value, because the
551
+ * sentinel is typed by a human only when they are re-entering it by hand.
552
+ *
553
+ * `undefined` is UNSET and takes the default. `null` is CLEARED and omits —
554
+ * it reaches here only from a hand-edited or imported document, but the two
555
+ * are different questions and must not collapse into one answer.
556
+ */
557
+ export declare function resolveCollectionAllLabel(value?: string | null): string;
558
+ /**
559
+ * The pill row for a collection (AGL-1321): "All" pointing at the canonical
560
+ * unfiltered listing, then one pill per taxonomy category.
561
+ *
562
+ * Each pill addresses its category by the STABLE id where there is one, so a
563
+ * rename moves the label without breaking the link. Active state is decided
564
+ * through the same resolver the route used, not by string equality, because
565
+ * the URL may legitimately have named the category by either spelling.
566
+ */
567
+ export declare function buildCollectionCategoryLinks(options: {
568
+ collectionSlug: string;
569
+ categories?: readonly CollectionCategory[];
570
+ activeCategorySlug?: string;
571
+ /**
572
+ * Label for the unfiltered pill. Absent takes the default; `''` or the
573
+ * {@link COLLECTION_ALL_PILL_NONE} sentinel omits the pill.
574
+ */
575
+ allLabel?: string | null;
576
+ }): CollectionCategoryLink[];
577
+ /**
578
+ * The matchable text a search box holds for a set of entries (AGL-1516),
579
+ * built ONCE for both blocks that carry one — the entries block's in-place
580
+ * filter and the standalone toolbar box (AGL-1516, Figma 494:1220).
581
+ *
582
+ * Shared rather than copied for the same reason
583
+ * {@link COLLECTION_SEARCH_FUSE_OPTIONS} is: the two boxes can sit on the
584
+ * same page, over the same collection, and a reader who sees a suggestion in
585
+ * one and a miss in the other has been told the site is broken. Two builders
586
+ * is how the row's date, chip and link drift apart.
587
+ *
588
+ * The row's link, date and category are resolved HERE, where the entry still
589
+ * exists — a component only holds rendered markup by the time it runs, and
590
+ * the suggestion panel draws its rows from this index rather than from the
591
+ * clones. Through the same three resolvers Related posts uses (AGL-1926 for
592
+ * the date especially): a suggestion for a post is the same post as the card
593
+ * below it and must not be able to disagree with it about its date.
594
+ */
595
+ export declare function buildCollectionSearchIndex(entries: readonly CollectionEntryRecord[], collectionSlug: string, categories?: readonly CollectionCategory[]): CollectionEntrySearchItem[];
596
+ /**
597
+ * Does this tree render the collection `collectionSlug` away from the
598
+ * collection's own routes?
599
+ *
600
+ * The content twin of {@link nodesPlaceForm}, and it exists for the same
601
+ * reason: an entry edit changes every page that renders the collection, and
602
+ * those pages are found by SEARCHING node trees rather than by matching a
603
+ * pointer. A collection's own addresses are derivable from its slug; a rail
604
+ * on the home page is not derivable from anything.
605
+ *
606
+ * Matches only an EXPLICIT `collectionSlug`. A block that names none inherits
607
+ * the routed collection — which means it renders nothing at all off-route
608
+ * (`scanCollectionBlocks` adds no slug, so the block is left untouched) and
609
+ * renders the routed collection on-route, where the collection's own list and
610
+ * entry addresses already reach it. Treating an unbound block as a dependent
611
+ * of every collection on the site would make every entry save drop every page
612
+ * that carries one.
613
+ *
614
+ * The comparison is against the slug rather than the document id because that
615
+ * is what the binding stores, and what `scanCollectionBlocks` resolves. A
616
+ * collection whose slug was just changed is a different question, and one the
617
+ * slug change itself has to answer.
618
+ */
619
+ export declare function nodesRenderCollection(nodes: Record<NodeId, AglynNodeSchema | undefined> | undefined | null, collectionSlug: string): boolean;
620
+ /**
621
+ * Collection entries blocks (AGL-551): a `collectionEntries` container
622
+ * treats its children as the item template and renders them once per
623
+ * published entry, with `{{entry.*}}` tokens in cloned string props replaced
624
+ * per entry — the content-collection sibling of {@link expandRepeatables}.
625
+ *
626
+ * - The block's collection resolves from its `collectionSlug` prop, falling
627
+ * back to `defaultSlug` (the routed collection on list-template screens).
628
+ * - Clone ids are namespaced `centry__{containerId}__{index}__…` so repeats
629
+ * never collide; run AFTER grafting and BEFORE binding resolution.
630
+ * - Rows are bounded by `props.entriesLimit` and
631
+ * {@link COLLECTION_ENTRIES_MAX}.
632
+ * - `props.firstPageOnly` renders zero rows past page 1 of the ROUTED
633
+ * listing (AGL-1871), so a lead card does not repeat down the pagination.
634
+ * - An UNKNOWN collection leaves the node untouched (fail-open: a renamed
635
+ * collection must never take a screen down). A known collection with no
636
+ * matching entries renders zero rows — never the unsubstituted template.
637
+ * - Inputs are never mutated; template nodes stay in the map unreferenced.
638
+ */
639
+ export declare function expandCollectionEntries<N extends AglynNodeSchema = AglynNodeSchema>(nodes: Record<NodeId, N>, sourcesBySlug: Record<string, CollectionEntriesSource | undefined>, defaultSlug?: string): Record<NodeId, N>;
640
+ /**
641
+ * Category Pills blocks (AGL-1321): stamps each `collectionCategories` node
642
+ * with its collection's pill row as a serializable `items` prop the component
643
+ * renders as real anchors — the same server-stamped shape Related posts uses,
644
+ * and for the same reason: the block owns its markup, so there is no template
645
+ * to clone.
646
+ *
647
+ * `activeCategorySlug` marks a pill only on the ROUTED collection. A pills
648
+ * block pointing at some other collection is not what this URL filters, so
649
+ * marking one of its pills current would be a lie in the HTML.
650
+ *
651
+ * A collection with no taxonomy leaves its block untouched, so the component's
652
+ * besigner affordance / empty site render applies. Inputs are never mutated.
653
+ */
654
+ export declare function expandCollectionCategories<N extends AglynNodeSchema = AglynNodeSchema>(nodes: Record<NodeId, N>, sourcesBySlug: Record<string, CollectionEntriesSource | undefined>, defaultSlug?: string, activeCategorySlug?: string): Record<NodeId, N>;
655
+ /**
656
+ * Collection Search blocks (AGL-1516): stamps each `collectionSearch` node
657
+ * with its collection's search index, the size of the set that index was
658
+ * drawn from, and whether that set was a bounded read — the same
659
+ * server-stamped shape Category Pills and Related posts use, and for the same
660
+ * reason: the block owns its markup, so there is no template to clone.
661
+ *
662
+ * Indexes the WHOLE source rather than a page window. The entries block's box
663
+ * searches the entries that block rendered because it filters them in place;
664
+ * a toolbar box filters nothing and suggests, so scoping it to one page of a
665
+ * listing would be an arbitrary cut nobody asked for. What it can honestly
666
+ * cover is the set the page's listing is drawn from — which on a category
667
+ * route is that category, because `source.entries` arrives filtered.
668
+ *
669
+ * Clones are SKIPPED by their `centry__` prefix: a search box inside an entry
670
+ * template would otherwise be stamped once per card. Nodes are never mutated,
671
+ * and a collection with no entries leaves its block untouched, so the
672
+ * component's besigner affordance and its empty site render both stand.
673
+ */
674
+ export declare function expandCollectionSearch<N extends AglynNodeSchema = AglynNodeSchema>(nodes: Record<NodeId, N>, sourcesBySlug: Record<string, CollectionEntriesSource | undefined>, defaultSlug?: string): Record<NodeId, N>;
675
+ /**
676
+ * Entry Meta blocks (AGL-1385): stamps each `collectionEntryMeta` node with
677
+ * the routed entry's date, category and tags — the same server-stamped shape
678
+ * Category Pills and Related posts already use.
679
+ *
680
+ * MEASURED on the live marketing blog, which is what this fixes. The block was
681
+ * on `blogEntryTmpl` carrying props `{showDate: true, showCategory: true,
682
+ * showTags: true}` and NOTHING else, and rendered as an empty `<div>` at height
683
+ * 0 — while the very same entry's `<pubDate>` and `Guides` category appeared in
684
+ * its feed item, its JSON-LD, and a heading two nodes above it. So the data was
685
+ * never missing; the block simply had nothing bound to it.
686
+ *
687
+ * The design is what made that reachable. Every other collection block sources
688
+ * itself; this one required the author to type `{{entry.date}}` into a text
689
+ * field. Only the PRESET seeds those tokens — drag the bare component out of
690
+ * the palette and you get three switches labelled "Show date / Show category /
691
+ * Show tags", all defaulting to on, gating values that can never exist. That is
692
+ * an affordance promising something the component cannot deliver, so this is a
693
+ * defect in the block and not in anyone's content, and it hits every collection
694
+ * that uses it, not just blog.
695
+ *
696
+ * Deliberately narrow:
697
+ *
698
+ * - An AUTHORED value always wins. Only an absent or blank prop is filled, so
699
+ * a hand-typed byline, a pinned string, or a `{{entry.*}}` token still
700
+ * awaiting substitution is never overwritten. (Blank counts as unset
701
+ * because a cleared text field cannot persist `''` anyway — AGL-1336. The
702
+ * way to hide a value is the switch that exists for it.)
703
+ * - Nodes cloned per entry by {@link expandCollectionEntries} are SKIPPED by
704
+ * their `centry__` id prefix. Their tokens resolve per clone; stamping the
705
+ * routed entry into them would date every card in a listing the same.
706
+ * - Without a routed entry — a list route, a plain screen — nothing is
707
+ * stamped, so the besigner affordance and the empty site render stand.
708
+ *
709
+ * `dateFormat` (AGL-1459) is answered here, where the timestamp still exists,
710
+ * and is the ONE exception to "an authored value always wins" — narrowly, and
711
+ * only for the literal `{{entry.date}}` binding. That binding is what the
712
+ * block's own preset seeds, so a format that filled blanks only would do
713
+ * nothing on the exact surface it was built for. The token is not a hand-typed
714
+ * override; it NAMES the value being reformatted. A literal string an author
715
+ * typed still wins, unchanged.
716
+ *
717
+ * Inputs are never mutated.
718
+ */
719
+ export declare function expandCollectionEntryMeta<N extends AglynNodeSchema = AglynNodeSchema>(nodes: Record<NodeId, N>, entry: CollectionEntryRecord | null | undefined, categories?: readonly CollectionCategory[]): Record<NodeId, N>;
720
+ /**
721
+ * Fill Entry Author cards from the routed entry's author record (AGL-2486),
722
+ * on the same terms {@link expandCollectionEntryMeta} fills the byline:
723
+ *
724
+ * - an authored value always wins, and a blank one is a blank, not a
725
+ * request for the default — the way to hide a field is its Show switch;
726
+ * - per-entry clones (`centry__`) are skipped, so a listing's cards keep
727
+ * resolving their own tokens rather than every card naming the routed
728
+ * entry's author;
729
+ * - without a routed entry nothing is stamped, which leaves the besigner's
730
+ * placeholder card visible on the canvas.
731
+ *
732
+ * Inputs are never mutated.
733
+ */
734
+ export declare function expandCollectionEntryAuthor<N extends AglynNodeSchema = AglynNodeSchema>(nodes: Record<NodeId, N>, entry: CollectionEntryRecord | null | undefined): Record<NodeId, N>;
735
+ /**
736
+ * The ONE matcher configuration behind every entry search in the product
737
+ * (AGL-1516/AGL-1525) — the block's toolbar box, its suggestion panel, and
738
+ * the site-wide results page the panel links to.
739
+ *
740
+ * Shared rather than copied because the two halves are joined by a link the
741
+ * reader clicks: the panel's "View all results" hands its query to /search,
742
+ * and if the results page matched more strictly it would answer a visible
743
+ * suggestion with "no results". A typo the panel forgave — "platfrom" — is
744
+ * exactly the query most likely to make that trip.
745
+ *
746
+ * The shape is the icon picker's (use-mdi-icons-fuzzy), tuned once for prose
747
+ * and MEASURED before shipping: the title names the post and the excerpt
748
+ * merely describes it, so they are weighted 0.7/0.3; the default location
749
+ * scoring buries a legitimate mid-sentence hit in a sentence-long excerpt,
750
+ * and the default 0.6 threshold matches "media" against every post on letter
751
+ * soup, so location is ignored and the threshold tightened to 0.3.
752
+ *
753
+ * A plain object, not a Fuse instance: `libs/aglyn` is dependency-light by
754
+ * design, and each consumer already imports Fuse from the vendor bundle.
755
+ */
756
+ export declare const COLLECTION_SEARCH_FUSE_OPTIONS: {
757
+ keys: {
758
+ name: string;
759
+ weight: number;
760
+ }[];
761
+ includeScore: boolean;
762
+ shouldSort: boolean;
763
+ ignoreLocation: boolean;
764
+ threshold: number;
765
+ };
766
+ /**
767
+ * One entry of a Collection Entries search index (AGL-1516): the fields the
768
+ * block's client-side search box matches against, index-aligned with the
769
+ * entry clones the block rendered. Stamped by {@link expandCollectionEntries}
770
+ * only when the block's `search` prop is on; never set by hand.
771
+ */
772
+ export interface CollectionEntrySearchItem {
773
+ title: string;
774
+ excerpt: string;
775
+ /**
776
+ * Entry permalink (AGL-1525). The `filter` mode never needs it — it hides
777
+ * and shows clones that already carry their own links — but a suggestion
778
+ * row IS the link, and the panel is drawn from the index, not from the
779
+ * clones. Optional because a page cached before this shipped has an index
780
+ * without it; the panel degrades to plain text rather than to a dead link.
781
+ */
782
+ url?: string;
783
+ /** Published date, through {@link formatCollectionEntryDate} (AGL-1525). */
784
+ date?: string;
785
+ /** Category display name for the suggestion row's chip (AGL-1525). */
786
+ category?: string;
787
+ }
788
+ /** One related post as stamped onto a Related posts block (AGL-582). */
789
+ export interface CollectionRelatedItem {
790
+ title: string;
791
+ url: string;
792
+ date?: string;
793
+ excerpt?: string;
794
+ /** Per-entry byline (AGL-686); falls back to the site as author. */
795
+ authorName?: string;
796
+ category?: string;
797
+ /**
798
+ * The entry's cover, as STORED (AGL-1457) — a `media:` reference, a legacy
799
+ * URL, or a hotlink. Left unresolved on purpose: the block resolves it at
800
+ * render through `resolveMediaSrc`, exactly as the Image element does, so
801
+ * one reference keeps working across sites and CDN route changes.
802
+ */
803
+ coverImage?: string;
804
+ /**
805
+ * The author's description of that cover (AGL-2418). Travels WITH
806
+ * `coverImage`, and absent means "fall back to the title" rather than
807
+ * "silent" — on this block the cover is the link's own content.
808
+ */
809
+ coverImageAlt?: string;
810
+ }
811
+ /**
812
+ * Related-post selection (AGL-582): other entries of the same collection
813
+ * that share the current entry's category or at least one tag, newest
814
+ * first. Pure so the compose stage and tests share one implementation. An
815
+ * entry with no category and no tags relates to nothing — the caller
816
+ * renders nothing rather than guessing.
817
+ *
818
+ * Two entries share a category when their stable `categoryId`s are equal
819
+ * (survives renames AND deletions) or their RESOLVED display names match
820
+ * case-insensitively — so a legacy free-typed entry still relates to a
821
+ * migrated `categoryId` entry whose taxonomy name spells the same.
822
+ */
823
+ export declare function selectRelatedEntries(entries: CollectionEntryRecord[], current: CollectionEntryRecord, limit?: number, categories?: CollectionCategory[]): CollectionEntryRecord[];
824
+ /**
825
+ * Related posts blocks (AGL-582): stamps each `collectionRelated` node with
826
+ * the current entry's related posts as a serializable `entries` prop the
827
+ * component renders directly (no template cloning — the block owns its
828
+ * markup). Runs only on entry renders; without an entry context the nodes
829
+ * stay untouched, so the component's sample cards (editing surfaces) or its
830
+ * empty site render apply. Inputs are never mutated.
831
+ */
832
+ export declare function expandCollectionRelated<N extends AglynNodeSchema = AglynNodeSchema>(nodes: Record<NodeId, N>, source: CollectionEntriesSource | undefined, currentEntry: CollectionEntryRecord | null | undefined): Record<NodeId, N>;
833
+ export default expandCollectionEntries;