@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,698 @@
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 PluginLockdownFeatureDeclaration } from '../plugin-manager/plugin-entitlements';
18
+ export type LockdownScope = 'platform' | 'org' | 'host' | 'domain' | 'user' | 'feature';
19
+ /**
20
+ * FEATURE scope (AGL-1510): kill one capability platform-wide while
21
+ * everything else keeps serving. The launch set maps one-to-one onto the
22
+ * incident shapes the issue names — bot wave → `signups`, malware report →
23
+ * `uploads`, billing bug → `checkout`, malicious listing →
24
+ * `marketplace-installs`. A plugin that can be switched off in an incident
25
+ * declares its own lever through `registerPluginEntitlements` (AGL-2940):
26
+ * the label, the staff-bypass rule, the visitor notice and the API paths it
27
+ * gates all arrive with the declaration, and the staff checklist, the
28
+ * writer and the dispatcher read the two sets as one.
29
+ *
30
+ * Precedence COMPOSES rather than ranks: a platform lock implies every
31
+ * feature (the feature verdict helpers check platform first), while a
32
+ * feature lock implies nothing about the platform/org/host/user scopes —
33
+ * feature states never enter `resolveLockdown`.
34
+ */
35
+ export type CoreLockdownFeatureKey = 'signups' | 'uploads' | 'checkout' | 'marketplace-installs';
36
+ /**
37
+ * A lever's wire identity: one of the core four, or a key a plugin
38
+ * declared. A string rather than a union because the set is only complete
39
+ * once every declaring plugin has registered, which no type can know.
40
+ */
41
+ export type LockdownFeatureKey = CoreLockdownFeatureKey | (string & {});
42
+ /**
43
+ * Every lever, core first and then the plugin declarations in catalog
44
+ * order — the list the staff checklist renders and the writer validates
45
+ * against. Read live rather than snapshotted: plugin declarations arrive
46
+ * at module scope, which can run after any constant here was evaluated.
47
+ */
48
+ export declare function listLockdownFeatures(): PluginLockdownFeatureDeclaration[];
49
+ /** The keys of {@link listLockdownFeatures}, in the same order. */
50
+ export declare function listLockdownFeatureKeys(): LockdownFeatureKey[];
51
+ /** One lever's declaration — core or plugin — or `undefined`. */
52
+ export declare function lockdownFeatureDeclaration(key: unknown): PluginLockdownFeatureDeclaration | undefined;
53
+ export declare function isLockdownFeatureKey(value: unknown): value is LockdownFeatureKey;
54
+ /** Staff-surface label; the key stays the wire/API identity. */
55
+ export declare function lockdownFeatureLabel(key: LockdownFeatureKey): string;
56
+ /**
57
+ * Whether a verified staff claim passes this feature's lock. A key nothing
58
+ * declared answers `false`: an undeclared lever has no bypass argument on
59
+ * record, and the safe reading of "no argument" is "no bypass".
60
+ */
61
+ export declare function lockdownFeatureStaffBypass(key: LockdownFeatureKey): boolean;
62
+ /**
63
+ * HOW HARD the lock bites (AGL-1511).
64
+ *
65
+ * - `full` — the shipped AGL-1501 behaviour: nothing serves. Sites 503,
66
+ * sessions refuse, every API call gets the 423.
67
+ * - `read-only` — reads keep serving, WRITES refuse. The right shape for the
68
+ * most common maintenance need (a schema migration, a data repair, a
69
+ * suspected-corruption investigation): the customer's site stays up and
70
+ * earning, visitors browse normally, and nothing races the repair.
71
+ *
72
+ * ABSENT MEANS `full`. Every lockdown written before this field existed is a
73
+ * full lock, and a lock whose strictness cannot be read must be treated as
74
+ * the stricter one — so `full` is both the default and the fail-safe. The
75
+ * writer stores `mode` only for read-only locks, which keeps every existing
76
+ * carrier document byte-identical and needs no migration.
77
+ */
78
+ export type LockdownMode = 'full' | 'read-only';
79
+ export declare const LOCKDOWN_MODES: LockdownMode[];
80
+ export declare function isLockdownMode(value: unknown): value is LockdownMode;
81
+ /** The mode of a state, with the absent-means-`full` default applied. */
82
+ export declare function lockdownMode(state: {
83
+ mode?: LockdownMode;
84
+ } | null | undefined): LockdownMode;
85
+ export declare function isReadOnlyLockdown(state: {
86
+ mode?: LockdownMode;
87
+ } | null | undefined): boolean;
88
+ /**
89
+ * WHAT HAPPENS WHEN WE CANNOT READ THE LOCK (AGL-1621).
90
+ *
91
+ * Lockdown fails OPEN: if the carrier read throws, the verdict is "not
92
+ * locked". That is the right posture for availability — a Firestore blip
93
+ * must not weld every customer site shut — and the wrong one for a legal or
94
+ * abuse takedown, where the whole point is that the content stops being
95
+ * served and STAYS stopped. A DMCA notice is not satisfied by "we served it
96
+ * because our database was down".
97
+ *
98
+ * So the two needs are split on their own axis rather than either one being
99
+ * bent to fit the other:
100
+ *
101
+ * - `standard` — today's behaviour, unchanged. An unreadable lock is not
102
+ * enforced. Maintenance windows, billing suspensions, precautionary
103
+ * holds, incident response: everything whose cost of over-refusing is
104
+ * higher than its cost of under-refusing.
105
+ * - `takedown` — holds through an infrastructure failure. Legal orders,
106
+ * abuse/CSAM removals, domain hijack disputes: the cost of serving is
107
+ * higher than the cost of an outage on that one subject.
108
+ *
109
+ * ## Why this is its own field and not read off `scope` or `reason`
110
+ *
111
+ * NOT `scope`: every one of the six scopes carries both classes. A `host`
112
+ * lock is a maintenance window on Tuesday and a court-ordered removal on
113
+ * Wednesday; the scope says WHAT is locked, never why it must hold.
114
+ *
115
+ * NOT `reason`: `reason` is already spoken for as the VISITOR-FACING
116
+ * classifier — it selects the notice copy in `lockdownNotice`. Deriving
117
+ * fail-closed from `reason === 'security'` would both couple what the
118
+ * public is told to how the system behaves under failure, and be exactly
119
+ * the inference this field exists to avoid: most `security` locks are
120
+ * precautionary holds during an investigation, and those must keep failing
121
+ * open. A lock that becomes fail-closed because of a heuristic is a lock
122
+ * that takes a site down for an unrelated reason.
123
+ *
124
+ * ABSENT MEANS `standard`, and that direction is the safety property. Every
125
+ * lock written before this field existed, every lock an operator did not
126
+ * classify, and every doc whose value this build cannot interpret is
127
+ * fail-OPEN — the behaviour shipped today. Getting this backwards during a
128
+ * Firestore incident is the platform-wide outage the split exists to
129
+ * prevent, so only the exact string `takedown` opts in. Same posture and
130
+ * same storage discipline as `mode` above: the writer stores the field only
131
+ * for takedowns, so every existing carrier document stays byte-identical
132
+ * and no migration is needed.
133
+ */
134
+ export type LockdownEnforcement = 'standard' | 'takedown';
135
+ export declare const LOCKDOWN_ENFORCEMENTS: LockdownEnforcement[];
136
+ export declare function isLockdownEnforcement(value: unknown): value is LockdownEnforcement;
137
+ /** Staff-surface labels; the key stays the wire/API identity. */
138
+ export declare const LOCKDOWN_ENFORCEMENT_LABELS: Record<LockdownEnforcement, string>;
139
+ /**
140
+ * The enforcement class of a state, with the absent-means-`standard`
141
+ * default applied. Read through this, never bare — an unrecognised value
142
+ * must land on the fail-open default rather than on a truthiness test that
143
+ * would make any junk string fail closed.
144
+ */
145
+ export declare function lockdownEnforcement(state: {
146
+ enforcement?: LockdownEnforcement;
147
+ } | null | undefined): LockdownEnforcement;
148
+ /**
149
+ * Is this the class that must survive an unreadable carrier? The ONE
150
+ * predicate the fail-closed path reduces to, so "what is a takedown" has a
151
+ * single definition rather than one per reader.
152
+ */
153
+ export declare function isTakedownLockdown(state: {
154
+ enforcement?: LockdownEnforcement;
155
+ } | null | undefined): boolean;
156
+ /**
157
+ * What a request is trying to DO, which is the only thing a read-only lock
158
+ * discriminates on.
159
+ *
160
+ * `write` is the default everywhere it is not stated, and that direction is
161
+ * deliberate: an enforcement point that forgot to declare its intent refuses
162
+ * during a migration rather than letting an unaudited write through. The
163
+ * cost of the safe default is an over-refused read; the cost of the unsafe
164
+ * one is the corruption the whole mode exists to prevent.
165
+ */
166
+ export type LockdownIntent = 'read' | 'write';
167
+ /**
168
+ * HTTP method → intent. The safe-method set from RFC 9110 minus TRACE (which
169
+ * nothing here serves): a method not on this list mutates until proven
170
+ * otherwise.
171
+ *
172
+ * A route whose POST is really a query (`where-used`, `plugin-impact`,
173
+ * validators) states `intent: 'read'` explicitly rather than being guessed at
174
+ * from a path.
175
+ */
176
+ export declare function lockdownIntentForMethod(method: string | null | undefined): LockdownIntent;
177
+ /**
178
+ * Does this state refuse a request of this intent? The ONE predicate every
179
+ * chokepoint's discrimination reduces to — a full lock refuses everything, a
180
+ * read-only lock refuses writes only.
181
+ *
182
+ * Note what is NOT here: the staff bypass. That lives above every read in the
183
+ * server verdict helper and must not acquire a second, mode-shaped copy
184
+ * — "staff bypass unless…" is how an un-panic invariant stops being one.
185
+ */
186
+ export declare function lockdownBlocks(state: {
187
+ mode?: LockdownMode;
188
+ } | null | undefined, intent: LockdownIntent): boolean;
189
+ export type LockdownReasonCode = 'security' | 'billing' | 'maintenance' | 'manual';
190
+ export declare const LOCKDOWN_REASON_CODES: LockdownReasonCode[];
191
+ export declare function isLockdownReasonCode(value: unknown): value is LockdownReasonCode;
192
+ /** The one shape every enforcement point consumes. */
193
+ export interface LockdownState {
194
+ scope: LockdownScope;
195
+ /** Set only when `scope === 'feature'` — which capability is locked. */
196
+ feature?: LockdownFeatureKey;
197
+ /**
198
+ * Set only on a feature lock placed for ONE workspace (AGL-2927): the
199
+ * org it pauses the capability for. Absent on the platform-wide feature
200
+ * lock, which implies every workspace.
201
+ */
202
+ orgId?: string;
203
+ /** Absent = `full` (AGL-1511). Read through `lockdownMode`, never bare. */
204
+ mode?: LockdownMode;
205
+ /**
206
+ * Absent = `standard`, i.e. fail-open (AGL-1621). Read through
207
+ * `lockdownEnforcement`/`isTakedownLockdown`, never bare.
208
+ */
209
+ enforcement?: LockdownEnforcement;
210
+ reason: LockdownReasonCode;
211
+ /**
212
+ * Visitor/user-facing notice text (bounded at write time). Anything staff
213
+ * types here is SHOWN to locked-out users — internal rationale belongs in
214
+ * the audit row, not this field.
215
+ */
216
+ message?: string;
217
+ atMs?: number;
218
+ /**
219
+ * Optional expiry (maintenance windows end). Once `untilMs` passes the
220
+ * lockdown is simply inactive — access restores with NO staff action and
221
+ * no write.
222
+ */
223
+ untilMs?: number;
224
+ actorUid?: string;
225
+ }
226
+ /**
227
+ * `lockdowns/{id}` — the carrier for the two scopes that had none.
228
+ * Doc ids are scope-encoded so a lookup is a single `get`:
229
+ * `platform` and `user--{uid}`. Plain-number timestamps on purpose: the
230
+ * collection is Admin-SDK-only and converter-free, so a partial write can
231
+ * never run a converter that "defaults" a sibling field away (the
232
+ * withConverter-on-partial-writes bug class).
233
+ */
234
+ export declare const LOCKDOWNS_COLLECTION = "lockdowns";
235
+ export declare const PLATFORM_LOCKDOWN_DOC_ID = "platform";
236
+ export declare const userLockdownDocId: (uid: string) => string;
237
+ /** `feature--{key}` — same collection, same rules, same audited writer. */
238
+ export declare const featureLockdownDocId: (feature: LockdownFeatureKey) => string;
239
+ /**
240
+ * `feature--{key}--org--{orgId}` — the same capability switched off for ONE
241
+ * workspace (AGL-2927). The carrier the staff org page's AI pause writes:
242
+ * a spend stop that touches neither the org's entitlements nor its plan, so
243
+ * lifting it restores exactly what the customer bought. Read only by the
244
+ * doors that carry that feature key and name the org, and never implied by
245
+ * the platform-wide document's absence.
246
+ */
247
+ export declare const orgFeatureLockdownDocId: (feature: LockdownFeatureKey, orgId: string) => string;
248
+ /**
249
+ * `domain--{hostname}` — the DOMAIN scope's carrier (AGL-1513).
250
+ *
251
+ * ## Keyed on the hostname, deliberately not on the host id
252
+ *
253
+ * Every other narrow scope keys on the thing it locks: a user by uid, a host
254
+ * by host id. A domain lock cannot, because the incidents it exists for are
255
+ * exactly the ones where the domain moves. A hijacked or disputed domain gets
256
+ * detached and re-attached — to another site, or to another org — and a lock
257
+ * keyed on `hosts/{id}` would be left guarding whichever site the name has
258
+ * since left. Keying on the NAME means the lock follows the name, survives
259
+ * detach/re-attach, and can be placed on a domain that is not currently
260
+ * attached to anything at all, which is the state a dispute is usually
261
+ * resolved in.
262
+ *
263
+ * The hostname is lowercased and used verbatim; the caller is responsible for
264
+ * having validated it as a hostname, and the writer does. Firestore document
265
+ * ids may contain dots, so `example.com` needs no escaping — and the `domain--`
266
+ * prefix keeps the key space disjoint from `user--`/`feature--` in the shared
267
+ * collection.
268
+ */
269
+ export declare const domainLockdownDocId: (hostname: string) => string;
270
+ /** The DNS limit; also what keeps the document id bounded. */
271
+ export declare const LOCKABLE_DOMAIN_MAX = 253;
272
+ /**
273
+ * Whether `value` is a name the DOMAIN scope will accept (AGL-1513).
274
+ *
275
+ * Shared by the writer and anything that builds the doc id, so "what is a
276
+ * lockable name" has one definition. Two refusals matter:
277
+ *
278
+ * - **Not hostname-shaped.** The id is derived from this string, and it
279
+ * arrives from a staff form; `isDocumentId`-style discipline starts by
280
+ * not minting a document for junk in the first place.
281
+ * - **Inside the platform apex.** `{sub}.aglyn.app` is OUR name, and the
282
+ * tenant resolves that space by `subdomain` and never consults the domain
283
+ * scope for it — so a lock placed there would write a document that no
284
+ * reader ever looks at. Refusing is the difference between "you cannot do
285
+ * that" and a control that silently does nothing, which is the worse of
286
+ * the two by a distance. Taking a platform subdomain down is the HOST
287
+ * scope's job.
288
+ */
289
+ export declare function isLockableDomain(value: unknown): value is string;
290
+ export interface LockdownDoc {
291
+ scope: LockdownScope;
292
+ /** Present on `feature--{key}` docs only. */
293
+ feature?: LockdownFeatureKey;
294
+ /** Present on `feature--{key}--org--{orgId}` docs only (AGL-2927). */
295
+ orgId?: string;
296
+ /** Written only for read-only locks; absent = `full`. */
297
+ mode?: LockdownMode;
298
+ /** Written only for takedowns; absent = `standard` (fail open). */
299
+ enforcement?: LockdownEnforcement;
300
+ reason: LockdownReasonCode;
301
+ message?: string;
302
+ atMs?: number;
303
+ untilMs?: number;
304
+ actorUid?: string;
305
+ }
306
+ /** Staff-typed notice text is user-facing; keep it bounded and plain. */
307
+ export declare const LOCKDOWN_MESSAGE_MAX = 500;
308
+ /**
309
+ * Tolerant epoch-ms reader: Firestore `Timestamp`, `{ seconds }` JSON, a
310
+ * number of ms, or an ISO string — the org carrier's `suspendedAt` arrives
311
+ * in all of these shapes depending on which cache serialized it.
312
+ */
313
+ export declare function toEpochMs(value: unknown): number | undefined;
314
+ /**
315
+ * Active now? Expiry passing deactivates without any write.
316
+ *
317
+ * Typed on the only field it reads rather than on `LockdownState`, so the
318
+ * sibling levers built on the same field family — asset quarantine
319
+ * (AGL-1512) — share this definition of "expired" instead of restating it.
320
+ * A second copy is how two panic levers end up disagreeing about whether a
321
+ * window that closed one millisecond ago is still in force.
322
+ */
323
+ export declare function isLockdownActive(state: {
324
+ untilMs?: number;
325
+ } | null | undefined, nowMs: number): boolean;
326
+ /**
327
+ * ACCOUNT CREATION ITSELF (AGL-1531) — the decision a Firebase Auth
328
+ * `beforeUserCreated` blocking function makes.
329
+ *
330
+ * The signups feature lock already refuses the SESSION (the mint in
331
+ * /api/auth/session), the acceptance recorder and the signup-page doors, so
332
+ * a wave's accounts are unusable. They are still CREATED: account creation
333
+ * is client -> Firebase Auth and no Aglyn server sits in front of it. The
334
+ * only thing that does is a blocking function, which is why this decision
335
+ * exists as its own function rather than as another `isLockdownActive` call
336
+ * at a route.
337
+ *
338
+ * ==== EVERYTHING BELOW, TO THE #endregion MARKER, IS COPIED VERBATIM INTO
339
+ * ==== cloud/functions/src/signups-lock.ts.
340
+ *
341
+ * `cloud/functions` is a plain npm package outside the nx workspace — it can
342
+ * import firebase-admin and firebase-functions and nothing else, so it
343
+ * cannot import this library. The copy is therefore byte-for-byte and
344
+ * apps/console/specs/signups-creation-lock-wiring.spec.ts fails if the two
345
+ * regions ever differ by a character. That makes the tests below tests of
346
+ * the code that actually deploys, rather than of a lookalike.
347
+ *
348
+ * The region imports nothing, for that reason.
349
+ */
350
+ /**
351
+ * FAIL OPEN WHEN THE LOCK CANNOT BE READ; KEEP HOLDING ONE ALREADY SEEN.
352
+ *
353
+ * This repo's postures are deliberately not uniform — rate limiting fails
354
+ * soft, CSRF fails closed, and `getFeatureLockdown` fails OPEN because an
355
+ * unreachable Firestore is an outage rather than a feature lockdown. This
356
+ * gate sits with the last of those, and the split below is what makes that
357
+ * safe rather than merely convenient.
358
+ *
359
+ * ## Not knowing is answered by admitting
360
+ *
361
+ * An unreadable lock means the platform does not KNOW whether staff pulled
362
+ * the lever. Refusing on "do not know" is not a cautious answer here, it is
363
+ * a total one: this is the only thing standing in front of Firebase Auth
364
+ * account creation, so one refusal turns away every stranger at once, with a
365
+ * generic error they cannot act on and no reason to come back. And the
366
+ * condition that produces it is ordinary rather than exceptional — where
367
+ * signup traffic is light the instance is cold for nearly every attempt, so
368
+ * "the first Firestore read costs more than the budget" is the common case,
369
+ * not the rare one.
370
+ *
371
+ * The error in the other direction is bounded. An account created while
372
+ * Firestore is unreadable cannot finish signing up anyway — the profile, the
373
+ * legal-acceptance record and the workspace all live in Firestore — so
374
+ * admitting costs some orphan Auth records for the length of the read
375
+ * outage, and those are enumerable and removable afterwards. One side's
376
+ * mistake is a handful of empty records; the other side's is the whole
377
+ * funnel, silently, for as long as reads are slow.
378
+ *
379
+ * ## A lever actually seen is a fact, and it survives
380
+ *
381
+ * Every read that COMPLETES is recorded below, and a read that then fails is
382
+ * answered from that record instead of from nothing. So the objection
383
+ * fail-open usually earns — a bot wave makes reads fail and thereby releases
384
+ * the brake aimed at the wave — needs the wave to land on an instance that
385
+ * has never once read the lock; every instance that has keeps refusing for
386
+ * the whole outage. Lifting the lever is itself a Firestore write, so
387
+ * nothing can lift it during that outage either, and a lock's own `untilMs`
388
+ * is still honored against the clock, so a dead-man expiry cannot become
389
+ * un-liftable by being remembered.
390
+ *
391
+ * This is STRICTER than the tenant takedown ledger (AGL-1621), which
392
+ * remembers only locks classified `takedown` and lets a `standard` one
393
+ * release during an outage. That trade is right where it sits, because
394
+ * holding a remembered lock there keeps every visitor off a customer's whole
395
+ * site. Holding one here refuses new signups, which is the cheap direction,
396
+ * so no `enforcement` field is consulted at all and any active lock is
397
+ * remembered.
398
+ *
399
+ * ## What it does not do, stated rather than implied
400
+ *
401
+ * An instance that has never completed a read has nothing to remember, so a
402
+ * lever pulled DURING a total Firestore outage does not reach a cold one.
403
+ * Closing that gap needs a carrier more available than Firestore, which is a
404
+ * different and much larger change; pretending otherwise here would be worse
405
+ * than naming it. The escape hatch that needs no deploy is unchanged:
406
+ * unregister the `beforeCreate` trigger in Identity Platform, which the
407
+ * staff lockdown page reports the state of.
408
+ */
409
+ export type SignupsCreationVerdict =
410
+ /**
411
+ * `unreadable` marks an admission made BLIND: the read did not complete
412
+ * and nothing this instance remembers said the lever was pulled. Carried
413
+ * so the caller can log it — the two admissions are the same outcome for
414
+ * the person signing up and a very different one for an operator.
415
+ */
416
+ {
417
+ refused: false;
418
+ unreadable?: true;
419
+ }
420
+ /**
421
+ * `locked` = a read completed and found the lever pulled. `held` = a read
422
+ * failed and an earlier one had found it pulled.
423
+ */
424
+ | {
425
+ refused: true;
426
+ cause: 'locked' | 'held';
427
+ };
428
+ /**
429
+ * How long the blocking function waits on the lock read before deciding
430
+ * without it.
431
+ *
432
+ * Blocking functions sit on the account-creation critical path and Identity
433
+ * Platform gives them a bounded window, so an unbounded `get()` would hand
434
+ * the decision to the platform's own timeout — which refuses, after burning
435
+ * the whole budget and with no log saying why. Bounding it keeps the verdict
436
+ * here, where it can be reasoned about and recorded.
437
+ */
438
+ export declare const SIGNUPS_CREATION_LOCK_READ_TIMEOUT_MS = 2500;
439
+ /**
440
+ * Forget it. Not part of any panic path — this exists for process
441
+ * boundaries and for tests, where one case's lock would otherwise become the
442
+ * next case's refusal.
443
+ */
444
+ export declare function resetSignupsLockMemory(): void;
445
+ /**
446
+ * Refuse this account creation?
447
+ *
448
+ * `readLock` returns the `lockdowns/feature--signups` document, or null when
449
+ * it does not exist. It is injected rather than imported so this decision —
450
+ * including its fail-open and timeout behavior — is testable without a
451
+ * Firestore, and so the same characters run in the function and in the test.
452
+ *
453
+ * NOT parameterized by provider, by email, or by tenant. Email/password,
454
+ * Google and SSO all reach Firebase Auth account creation, and a lock that
455
+ * discriminated between them would be a lock on one gate of three. The
456
+ * caller passes no identity at all, so no future edit can quietly add a
457
+ * carve-out here.
458
+ */
459
+ export declare function signupsCreationVerdict(readLock: () => Promise<{
460
+ untilMs?: number;
461
+ } | null | undefined>, nowMs: number, timeoutMs?: number): Promise<SignupsCreationVerdict>;
462
+ /**
463
+ * Precedence: platform > org > host > domain > user. The widest active scope wins so
464
+ * the notice a visitor sees names the real cause (a platform maintenance
465
+ * window should not read as "this account is suspended").
466
+ *
467
+ * STRICTNESS OUTRANKS WIDTH (AGL-1511). Once locks have a mode, "widest
468
+ * wins" alone is a security hole: a platform-wide read-only maintenance
469
+ * window would outrank — and therefore SOFTEN — a full security takedown on
470
+ * one org, quietly readmitting every visitor to the site staff just took
471
+ * down. So an active `full` lock is chosen first (in scope order among the
472
+ * full ones), and the widest read-only lock only wins when no full lock is
473
+ * active at all. A lock can never be relaxed by a wider, gentler one.
474
+ */
475
+ export declare function resolveLockdown(states: {
476
+ platform?: LockdownState | null;
477
+ org?: LockdownState | null;
478
+ host?: LockdownState | null;
479
+ /**
480
+ * AGL-1513. Narrower than `host`: it locks ONE attached name while the
481
+ * same site keeps serving on its other addresses, so it must never
482
+ * outrank a host takedown. It sits above `user` for the same reason
483
+ * `host` does — it is a property of the site being addressed, not of
484
+ * whoever is looking at it.
485
+ */
486
+ domain?: LockdownState | null;
487
+ user?: LockdownState | null;
488
+ }, nowMs: number): LockdownState | null;
489
+ /**
490
+ * Org carrier → state. `suspendedAt` alone (every pre-lockdown suspension)
491
+ * normalizes to `manual` with no public message — the legacy free-text
492
+ * `suspendedReason` was written for staff eyes and must not leak into the
493
+ * visitor notice.
494
+ */
495
+ export declare function normalizeOrgLockdown(org: {
496
+ suspendedAt?: unknown;
497
+ suspendedReasonCode?: unknown;
498
+ suspendedMessage?: unknown;
499
+ suspendedUntilMs?: unknown;
500
+ suspendedMode?: unknown;
501
+ suspendedEnforcement?: unknown;
502
+ } | null | undefined): LockdownState | null;
503
+ /**
504
+ * Host carrier → state. Same field family as the org, on the host doc.
505
+ * `host.maintenance` is NOT consulted here — that is the customer's own
506
+ * switch and keeps its shipped AGL-131 path.
507
+ */
508
+ export declare function normalizeHostLockdown(host: {
509
+ suspendedAt?: unknown;
510
+ suspendedReasonCode?: unknown;
511
+ suspendedMessage?: unknown;
512
+ suspendedUntilMs?: unknown;
513
+ suspendedMode?: unknown;
514
+ suspendedEnforcement?: unknown;
515
+ } | null | undefined): LockdownState | null;
516
+ /** `lockdowns/{id}` doc → state; refuses malformed docs rather than guess. */
517
+ export declare function normalizeLockdownDoc(doc: Partial<LockdownDoc> | null | undefined, scope: LockdownScope): LockdownState | null;
518
+ /**
519
+ * `Retry-After` seconds for a 503, when the lockdown has a known end.
520
+ * Clamped to at least 60 so a window expiring mid-request cannot emit 0.
521
+ */
522
+ export declare function lockdownRetryAfterSeconds(state: LockdownState, nowMs: number): number | undefined;
523
+ export interface LockdownNotice {
524
+ title: string;
525
+ body: string;
526
+ /** Shown as the action line; undefined = no contact line (maintenance). */
527
+ contact?: string;
528
+ }
529
+ /**
530
+ * The address on the visitor-facing 503, from operator configuration
531
+ * (AGL-2016).
532
+ *
533
+ * Was a `'support@aglyn.com'` literal read by eleven call sites below. A
534
+ * self-hosted site that went into lockdown therefore told *its* visitors to
535
+ * write to **Aglyn** about an account Aglyn has no record of and cannot
536
+ * restore. Unlike the abuse form this is not a legal misroute, but it is the
537
+ * same class of wrong answer: the only party who can lift the lock is the
538
+ * operator who set it.
539
+ *
540
+ * Returns `null` when unconfigured, which the notice treats as "no contact
541
+ * line" — the same shape `maintenance` already uses. A lockdown notice with a
542
+ * dangling "contact " and nothing after it would be worse than one that
543
+ * simply does not offer a channel the deployment does not have.
544
+ */
545
+ export declare function lockdownSupportEmail(): string | null;
546
+ /**
547
+ * Per-reason visitor copy — plain and non-alarming. A staff-typed `message`
548
+ * replaces the body; the title and contact line stay per-reason so staff
549
+ * cannot accidentally strip the "how do I get out of this" affordance.
550
+ */
551
+ export declare function lockdownNotice(state: LockdownState): LockdownNotice;
552
+ /**
553
+ * The surfaces on a customer's LIVE SITE that a read-only lock refuses
554
+ * (AGL-1511). These are the ones whose reader is a visitor, not our
555
+ * customer — someone who has never heard of a workspace, a lockdown or a
556
+ * maintenance window and is simply trying to buy something or send a
557
+ * message.
558
+ */
559
+ export type LockdownPausedSurface = 'form' | 'checkout' | 'cart' | 'generic';
560
+ /**
561
+ * VISITOR copy for a read-only refusal on a tenant site (AGL-1511).
562
+ *
563
+ * The issue's central product call: a customer's site staying up and earning
564
+ * is the entire reason this mode exists instead of full lockdown, so a
565
+ * visitor-facing write gets a polite inline pause, never a page-level 503.
566
+ * That decision only pays off if the words match it — a visitor shown
567
+ * "Temporarily unavailable" on a page that plainly loaded concludes the shop
568
+ * is broken and leaves, which costs the customer the sale the mode was
569
+ * protecting.
570
+ *
571
+ * So: no mention of maintenance windows, workspaces or accounts (none of
572
+ * which are the visitor's), no support address (support is the SITE
573
+ * owner's, not ours, and pointing a stranger at aglyn.com is worse than
574
+ * silent), an explicit "nothing you typed is lost", and — for checkout — the
575
+ * same hard rule the feature copy carries: this must never read as a
576
+ * declined card. A staff-typed `message` is deliberately NOT honoured here;
577
+ * it is written for the account holder and would land in front of strangers.
578
+ */
579
+ export declare function lockdownPausedNotice(surface: LockdownPausedSurface): LockdownNotice;
580
+ /**
581
+ * The wire shape of the 423 refusal body (`lockdownJsonResponse`). Declared
582
+ * here, beside the copy that fills it, so the client parser below and the
583
+ * server writer agree by construction rather than by comment.
584
+ */
585
+ export interface LockdownRefusalBody {
586
+ error?: unknown;
587
+ scope?: unknown;
588
+ feature?: unknown;
589
+ mode?: unknown;
590
+ reason?: unknown;
591
+ title?: unknown;
592
+ message?: unknown;
593
+ contact?: unknown;
594
+ untilMs?: unknown;
595
+ }
596
+ /** A 423 body, parsed into something a client surface can render. */
597
+ export interface LockdownRefusalNotice {
598
+ title: string;
599
+ message: string;
600
+ contact?: string;
601
+ scope?: LockdownScope;
602
+ feature?: LockdownFeatureKey;
603
+ /**
604
+ * `read-only` when the server refused a WRITE but is still serving reads
605
+ * (AGL-1511). Absent on every refusal from a full lock, and on any older
606
+ * deploy — a client must treat absence as "no claim", never as "full".
607
+ */
608
+ mode?: LockdownMode;
609
+ untilMs?: number;
610
+ /**
611
+ * The expiry as a human, LOCAL-time line — `undefined` when the lock has
612
+ * no expiry, which is most of them. Never a raw epoch number.
613
+ */
614
+ until?: string;
615
+ }
616
+ /**
617
+ * The generic-but-honest fallback: what a client says when the server said
618
+ * Locked but the body told it nothing else. It must still be TRUE — "this is
619
+ * paused", never "something went wrong" (the failure this whole affordance
620
+ * exists to stop), and never the word `undefined`.
621
+ */
622
+ export declare const LOCKDOWN_REFUSAL_FALLBACK_TITLE = "Temporarily unavailable";
623
+ export declare const LOCKDOWN_REFUSAL_FALLBACK_MESSAGE: string;
624
+ /**
625
+ * The expiry as a client-side, LOCAL-time line (AGL-1532). A UTC string is
626
+ * correct and unreadable; a customer wants to know when to come back on
627
+ * their own clock.
628
+ */
629
+ export declare function formatLockdownUntil(untilMs: number): string | undefined;
630
+ /**
631
+ * Parse a fetch response's status + parsed JSON body into a renderable
632
+ * lockdown notice, or `null` when this was not a lockdown refusal
633
+ * (AGL-1532).
634
+ *
635
+ * ONE parser, used by every client call site a feature lock can refuse —
636
+ * billing checkout, marketplace installs and purchases, the AI-assist
637
+ * drawer. Three copies of this parsing is the second-implementation shape
638
+ * that lets one surface drift back to "checkout failed" while the others
639
+ * stay honest.
640
+ *
641
+ * Three rules, each of which a spec pins:
642
+ *
643
+ * 1. **Only 423.** A 500 — a real, unexplained failure — returns `null` so
644
+ * the caller keeps its generic error toast. Dressing a genuine fault as
645
+ * a deliberate pause is a worse lie than the one being fixed.
646
+ * 2. **A 423 always yields a notice.** The server said Locked; that is the
647
+ * honest thing to render even if the body is malformed, truncated by a
648
+ * proxy, or from an older deploy. Missing fields degrade to the shared
649
+ * per-feature copy when the body names a known feature, and to the
650
+ * generic-but-honest fallback otherwise.
651
+ * 3. **No duplicated expiry.** The default server copy already ends with a
652
+ * UTC "Expected back by …" sentence; that exact suffix is stripped and
653
+ * restated as `until` in the reader's local time. A staff-typed custom
654
+ * message never carries the suffix, so nothing is stripped from it.
655
+ */
656
+ export declare function parseLockdownRefusal(status: number, body: unknown): LockdownRefusalNotice | null;
657
+ /**
658
+ * The notice as ONE line, for surfaces whose only affordance is a snackbar
659
+ * (AGL-1532). The title is prefixed only when the message does not already
660
+ * open with it — the checkout copy leads with its own title, and "Checkout
661
+ * is temporarily unavailable — Checkout is temporarily unavailable — this is
662
+ * not a payment failure" helps nobody.
663
+ */
664
+ export declare function lockdownRefusalText(notice: LockdownRefusalNotice): string;
665
+ /**
666
+ * Which VISITOR surface a tenant plugin-API path belongs to, for read-only
667
+ * pause copy (AGL-1511).
668
+ *
669
+ * The tenant dispatcher refuses every mutating method under a read-only lock
670
+ * regardless of path — this only chooses the WORDS, and it exists because
671
+ * the checkout sentence has a requirement no generic copy can carry: it must
672
+ * never read as a declined card. Anything unrecognised gets the neutral
673
+ * generic pause rather than a guess; being vague at a stranger is cheap,
674
+ * being wrong about their money is not.
675
+ */
676
+ export declare function lockdownPausedSurfaceForPluginApiPath(path: string): LockdownPausedSurface;
677
+ /**
678
+ * Which feature keys gate a plugin-API dispatcher path (AGL-1510, plural
679
+ * since AGL-1545). Lives here (pure, beside the catalog) so the dispatcher's
680
+ * wiring is one call and the mapping is unit-testable without a route
681
+ * harness.
682
+ *
683
+ * Every lever declares the paths it gates: exact paths, and prefixes matched
684
+ * on a SEGMENT boundary, so `ai/generate` gates `ai/generate/section` and
685
+ * never `ai/generated-report`. A path several levers name is gated by all
686
+ * of them, each keeping its own staff-bypass rule when composed —
687
+ * `marketplace/checkout` carries both `checkout` and `marketplace-installs`
688
+ * (AGL-1545): it creates NEW Stripe checkout sessions exactly like the
689
+ * billing route, and it is also the front door of a paid install, so a
690
+ * malicious-listing incident must stop buyers PAYING for the artifact under
691
+ * investigation, not merely refuse the install after the money moved.
692
+ *
693
+ * A plugin's lever gates its paths by existing (AGL-2903): a door
694
+ * registered under a declared prefix is gated before anyone remembers to
695
+ * wire it, which is the reason the mapping is declared beside the lever
696
+ * rather than beside the route.
697
+ */
698
+ export declare function lockdownFeaturesForPluginApiPath(path: string): LockdownFeatureKey[];