@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,72 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Org roles (AGL-120): named permission sets assigned to team members,
19
+ * with per-user overrides an admin can apply on top. Shared between the
20
+ * console UI and the server permission resolver so both read one table.
21
+ */
22
+ /** Keys are persisted in custom role docs — add new ones, never rename. */
23
+ export declare const ORG_ROLE_PERMISSION_KEYS: readonly ["createHosts", "editHosts", "editBilling", "publishToMarketplace", "installPlugins", "manageMembers"];
24
+ export type OrgPermissionKey = (typeof ORG_ROLE_PERMISSION_KEYS)[number];
25
+ export type OrgPermissionSet = Record<OrgPermissionKey, boolean>;
26
+ /**
27
+ * What `resolveRolePermissions` actually returns (AGL-2474): the legacy six
28
+ * PLUS whatever plugin-declared keys are registered. The six stay named so
29
+ * `permissions.createHosts` keeps its type; the index signature is what lets
30
+ * a caller read `permissions.managePos` at all. Consumers that only care
31
+ * about the built-in keys can keep using `OrgPermissionSet`.
32
+ */
33
+ export type ResolvedOrgPermissionSet = OrgPermissionSet & Record<string, boolean>;
34
+ export type OrgRoleTier = 'admin' | 'editor' | 'viewer';
35
+ /** Owner-defined role at `orgs/{orgId}/roles/{id}` (AGL-133/243). */
36
+ export interface OrgCustomRole {
37
+ name: string;
38
+ /**
39
+ * Keyed by the legacy six OR any plugin-declared key (AGL-2474) — the
40
+ * override loops below read both spaces out of this one map.
41
+ */
42
+ permissions?: Partial<Record<string, boolean>>;
43
+ }
44
+ /**
45
+ * Which built-in tier an ORG role resolves onto (AGL-2474).
46
+ *
47
+ * `owner` is NOT a tier, so `resolveRolePermissions('owner')` falls through to
48
+ * the viewer default — correct for an unknown string, catastrophic for the one
49
+ * role that owns the workspace. The server had its own copy of this table;
50
+ * sharing it is what lets the console resolve the same plugin-key defaults the
51
+ * API will enforce, instead of a second table that can drift from it.
52
+ */
53
+ export declare const ORG_ROLE_TIER: Record<string, OrgRoleTier>;
54
+ /** `ORG_ROLE_TIER` with least-privilege fallback for an unknown role. */
55
+ export declare function orgRoleTier(role: string | null | undefined): OrgRoleTier;
56
+ export declare const ORG_ROLE_TIER_LABELS: Record<OrgRoleTier, string>;
57
+ /** Built-in role permission sets; overrides win key-by-key. */
58
+ export declare const ORG_ROLE_TIER_PERMISSIONS: Record<OrgRoleTier, OrgPermissionSet>;
59
+ /**
60
+ * Effective permissions: the role's defaults (unknown/missing roles resolve
61
+ * as `viewer` — least privilege) with per-user overrides applied key-by-key.
62
+ * Only boolean override values count; anything else keeps the role default.
63
+ */
64
+ export declare function resolveRolePermissions(role: string | null | undefined, overrides?: Partial<Record<string, unknown>> | null,
65
+ /**
66
+ * Custom roles (AGL-133), keyed by role id (`orgs/{orgId}/roles`). A
67
+ * non-built-in role id resolves against this map — viewer base with the
68
+ * custom role's permissions applied; unknown ids stay plain viewer.
69
+ */
70
+ customRoles?: Record<string, OrgCustomRole | undefined> | null): ResolvedOrgPermissionSet;
71
+ /** True for the fixed admin/editor/viewer ids. */
72
+ export declare function isBuiltInRole(role: string | null | undefined): boolean;
@@ -0,0 +1,131 @@
1
+ import { _ as _extends } from "@swc/helpers/_/_extends";
2
+ /**
3
+ * @license
4
+ * Copyright 2026 Aglyn LLC
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */ import { listPluginPermissionKeys, pluginPermissionDefaults } from "../plugin-manager/plugin-permissions.js";
18
+ /**
19
+ * Org roles (AGL-120): named permission sets assigned to team members,
20
+ * with per-user overrides an admin can apply on top. Shared between the
21
+ * console UI and the server permission resolver so both read one table.
22
+ */ /** Keys are persisted in custom role docs — add new ones, never rename. */ export const ORG_ROLE_PERMISSION_KEYS = [
23
+ 'createHosts',
24
+ 'editHosts',
25
+ 'editBilling',
26
+ 'publishToMarketplace',
27
+ 'installPlugins',
28
+ 'manageMembers'
29
+ ];
30
+ /**
31
+ * Which built-in tier an ORG role resolves onto (AGL-2474).
32
+ *
33
+ * `owner` is NOT a tier, so `resolveRolePermissions('owner')` falls through to
34
+ * the viewer default — correct for an unknown string, catastrophic for the one
35
+ * role that owns the workspace. The server had its own copy of this table;
36
+ * sharing it is what lets the console resolve the same plugin-key defaults the
37
+ * API will enforce, instead of a second table that can drift from it.
38
+ */ export const ORG_ROLE_TIER = {
39
+ owner: 'admin',
40
+ admin: 'admin',
41
+ editor: 'editor',
42
+ viewer: 'viewer'
43
+ };
44
+ /** `ORG_ROLE_TIER` with least-privilege fallback for an unknown role. */ export function orgRoleTier(role) {
45
+ var _ORG_ROLE_TIER_;
46
+ return (_ORG_ROLE_TIER_ = ORG_ROLE_TIER[role != null ? role : '']) != null ? _ORG_ROLE_TIER_ : 'viewer';
47
+ }
48
+ export const ORG_ROLE_TIER_LABELS = {
49
+ admin: 'Admin',
50
+ editor: 'Editor',
51
+ viewer: 'Viewer'
52
+ };
53
+ /** Built-in role permission sets; overrides win key-by-key. */ export const ORG_ROLE_TIER_PERMISSIONS = {
54
+ admin: {
55
+ createHosts: true,
56
+ editHosts: true,
57
+ editBilling: true,
58
+ publishToMarketplace: true,
59
+ installPlugins: true,
60
+ manageMembers: true
61
+ },
62
+ editor: {
63
+ createHosts: false,
64
+ editHosts: true,
65
+ editBilling: false,
66
+ publishToMarketplace: true,
67
+ installPlugins: true,
68
+ manageMembers: false
69
+ },
70
+ viewer: {
71
+ createHosts: false,
72
+ editHosts: false,
73
+ editBilling: false,
74
+ publishToMarketplace: false,
75
+ installPlugins: false,
76
+ manageMembers: false
77
+ }
78
+ };
79
+ /**
80
+ * Effective permissions: the role's defaults (unknown/missing roles resolve
81
+ * as `viewer` — least privilege) with per-user overrides applied key-by-key.
82
+ * Only boolean override values count; anything else keeps the role default.
83
+ */ export function resolveRolePermissions(role, overrides, /**
84
+ * Custom roles (AGL-133), keyed by role id (`orgs/{orgId}/roles`). A
85
+ * non-built-in role id resolves against this map — viewer base with the
86
+ * custom role's permissions applied; unknown ids stay plain viewer.
87
+ */ customRoles) {
88
+ const builtIn = ORG_ROLE_TIER_PERMISSIONS[role != null ? role : ''];
89
+ // Plugin-declared keys (AGL-435): tier defaults ride under the built-in
90
+ // set; custom-role overrides below win key-by-key like any other key.
91
+ const tier = builtIn ? role != null ? role : 'viewer' : 'viewer';
92
+ let base = _extends({}, pluginPermissionDefaults(tier), builtIn != null ? builtIn : ORG_ROLE_TIER_PERMISSIONS.viewer);
93
+ // EVERY GRANTABLE KEY, not just the legacy six (AGL-2474). Iterating
94
+ // `ORG_ROLE_PERMISSION_KEYS` alone is what made every plugin-declared
95
+ // permission unenforceable: the key materialised into the resolved map from
96
+ // `pluginPermissionDefaults` above and then no override and no custom role
97
+ // could move it, so `managePos` could only ever be its tier default. Read
98
+ // per call — plugins register at module scope and a snapshot taken here
99
+ // could be empty depending on import order.
100
+ const grantableKeys = [
101
+ ...ORG_ROLE_PERMISSION_KEYS,
102
+ ...listPluginPermissionKeys()
103
+ ];
104
+ if (!builtIn) {
105
+ const custom = customRoles == null ? void 0 : customRoles[role != null ? role : ''];
106
+ if (custom) {
107
+ // Plugin tier defaults are re-laid under the viewer base (AGL-2474).
108
+ // Rebuilding from `ORG_ROLE_TIER_PERMISSIONS.viewer` alone dropped every
109
+ // plugin key off a custom-role member's map entirely — `managePos` came
110
+ // back `undefined`, not `false`, which reads as denied but is not the
111
+ // same thing, and contradicted this function's own docblock.
112
+ base = _extends({}, pluginPermissionDefaults('viewer'), ORG_ROLE_TIER_PERMISSIONS.viewer);
113
+ for (const key of grantableKeys){
114
+ var _custom_permissions;
115
+ const value = (_custom_permissions = custom.permissions) == null ? void 0 : _custom_permissions[key];
116
+ if (typeof value === 'boolean') base[key] = value;
117
+ }
118
+ }
119
+ }
120
+ const permissions = _extends({}, base);
121
+ for (const key of grantableKeys){
122
+ const value = overrides == null ? void 0 : overrides[key];
123
+ if (typeof value === 'boolean') permissions[key] = value;
124
+ }
125
+ return permissions;
126
+ }
127
+ /** True for the fixed admin/editor/viewer ids. */ export function isBuiltInRole(role) {
128
+ return (role != null ? role : '') in ORG_ROLE_TIER_PERMISSIONS;
129
+ }
130
+
131
+ //# sourceMappingURL=org-roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/org-roles.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n listPluginPermissionKeys,\n pluginPermissionDefaults,\n} from '../plugin-manager/plugin-permissions'\n\n/**\n * Org roles (AGL-120): named permission sets assigned to team members,\n * with per-user overrides an admin can apply on top. Shared between the\n * console UI and the server permission resolver so both read one table.\n */\n\n/** Keys are persisted in custom role docs — add new ones, never rename. */\nexport const ORG_ROLE_PERMISSION_KEYS = [\n 'createHosts',\n 'editHosts',\n 'editBilling',\n 'publishToMarketplace',\n 'installPlugins',\n 'manageMembers',\n] as const\n\nexport type OrgPermissionKey = (typeof ORG_ROLE_PERMISSION_KEYS)[number]\n\nexport type OrgPermissionSet = Record<OrgPermissionKey, boolean>\n\n/**\n * What `resolveRolePermissions` actually returns (AGL-2474): the legacy six\n * PLUS whatever plugin-declared keys are registered. The six stay named so\n * `permissions.createHosts` keeps its type; the index signature is what lets\n * a caller read `permissions.managePos` at all. Consumers that only care\n * about the built-in keys can keep using `OrgPermissionSet`.\n */\nexport type ResolvedOrgPermissionSet = OrgPermissionSet &\n Record<string, boolean>\n\nexport type OrgRoleTier = 'admin' | 'editor' | 'viewer'\n\n/** Owner-defined role at `orgs/{orgId}/roles/{id}` (AGL-133/243). */\nexport interface OrgCustomRole {\n name: string\n /**\n * Keyed by the legacy six OR any plugin-declared key (AGL-2474) — the\n * override loops below read both spaces out of this one map.\n */\n permissions?: Partial<Record<string, boolean>>\n}\n\n/**\n * Which built-in tier an ORG role resolves onto (AGL-2474).\n *\n * `owner` is NOT a tier, so `resolveRolePermissions('owner')` falls through to\n * the viewer default — correct for an unknown string, catastrophic for the one\n * role that owns the workspace. The server had its own copy of this table;\n * sharing it is what lets the console resolve the same plugin-key defaults the\n * API will enforce, instead of a second table that can drift from it.\n */\nexport const ORG_ROLE_TIER: Record<string, OrgRoleTier> = {\n owner: 'admin',\n admin: 'admin',\n editor: 'editor',\n viewer: 'viewer',\n}\n\n/** `ORG_ROLE_TIER` with least-privilege fallback for an unknown role. */\nexport function orgRoleTier(role: string | null | undefined): OrgRoleTier {\n return ORG_ROLE_TIER[role ?? ''] ?? 'viewer'\n}\n\nexport const ORG_ROLE_TIER_LABELS: Record<OrgRoleTier, string> = {\n admin: 'Admin',\n editor: 'Editor',\n viewer: 'Viewer',\n}\n\n/** Built-in role permission sets; overrides win key-by-key. */\nexport const ORG_ROLE_TIER_PERMISSIONS: Record<OrgRoleTier, OrgPermissionSet> =\n {\n admin: {\n createHosts: true,\n editHosts: true,\n editBilling: true,\n publishToMarketplace: true,\n installPlugins: true,\n manageMembers: true,\n },\n editor: {\n createHosts: false,\n editHosts: true,\n editBilling: false,\n publishToMarketplace: true,\n installPlugins: true,\n manageMembers: false,\n },\n viewer: {\n createHosts: false,\n editHosts: false,\n editBilling: false,\n publishToMarketplace: false,\n installPlugins: false,\n manageMembers: false,\n },\n }\n\n/**\n * Effective permissions: the role's defaults (unknown/missing roles resolve\n * as `viewer` — least privilege) with per-user overrides applied key-by-key.\n * Only boolean override values count; anything else keeps the role default.\n */\nexport function resolveRolePermissions(\n role: string | null | undefined,\n overrides?: Partial<Record<string, unknown>> | null,\n /**\n * Custom roles (AGL-133), keyed by role id (`orgs/{orgId}/roles`). A\n * non-built-in role id resolves against this map — viewer base with the\n * custom role's permissions applied; unknown ids stay plain viewer.\n */\n customRoles?: Record<string, OrgCustomRole | undefined> | null,\n): ResolvedOrgPermissionSet {\n const builtIn = ORG_ROLE_TIER_PERMISSIONS[(role ?? '') as OrgRoleTier]\n // Plugin-declared keys (AGL-435): tier defaults ride under the built-in\n // set; custom-role overrides below win key-by-key like any other key.\n const tier: OrgRoleTier = builtIn ? ((role ?? 'viewer') as OrgRoleTier) : 'viewer'\n let base: ResolvedOrgPermissionSet = {\n ...pluginPermissionDefaults(tier),\n ...(builtIn ?? ORG_ROLE_TIER_PERMISSIONS.viewer),\n }\n // EVERY GRANTABLE KEY, not just the legacy six (AGL-2474). Iterating\n // `ORG_ROLE_PERMISSION_KEYS` alone is what made every plugin-declared\n // permission unenforceable: the key materialised into the resolved map from\n // `pluginPermissionDefaults` above and then no override and no custom role\n // could move it, so `managePos` could only ever be its tier default. Read\n // per call — plugins register at module scope and a snapshot taken here\n // could be empty depending on import order.\n const grantableKeys: string[] = [\n ...ORG_ROLE_PERMISSION_KEYS,\n ...listPluginPermissionKeys(),\n ]\n if (!builtIn) {\n const custom = customRoles?.[role ?? '']\n if (custom) {\n // Plugin tier defaults are re-laid under the viewer base (AGL-2474).\n // Rebuilding from `ORG_ROLE_TIER_PERMISSIONS.viewer` alone dropped every\n // plugin key off a custom-role member's map entirely — `managePos` came\n // back `undefined`, not `false`, which reads as denied but is not the\n // same thing, and contradicted this function's own docblock.\n base = {\n ...pluginPermissionDefaults('viewer'),\n ...ORG_ROLE_TIER_PERMISSIONS.viewer,\n }\n for (const key of grantableKeys) {\n const value = custom.permissions?.[key]\n if (typeof value === 'boolean') base[key] = value\n }\n }\n }\n const permissions = { ...base }\n for (const key of grantableKeys) {\n const value = overrides?.[key]\n if (typeof value === 'boolean') permissions[key] = value\n }\n return permissions\n}\n\n/** True for the fixed admin/editor/viewer ids. */\nexport function isBuiltInRole(role: string | null | undefined): boolean {\n return (role ?? '') in ORG_ROLE_TIER_PERMISSIONS\n}\n"],"names":["listPluginPermissionKeys","pluginPermissionDefaults","ORG_ROLE_PERMISSION_KEYS","ORG_ROLE_TIER","owner","admin","editor","viewer","orgRoleTier","role","ORG_ROLE_TIER_LABELS","ORG_ROLE_TIER_PERMISSIONS","createHosts","editHosts","editBilling","publishToMarketplace","installPlugins","manageMembers","resolveRolePermissions","overrides","customRoles","builtIn","tier","base","grantableKeys","custom","key","value","permissions","isBuiltInRole"],"mappings":";AAAA;;;;;;;;;;;;;;;CAeC,GAED,SACEA,wBAAwB,EACxBC,wBAAwB,QACnB,0CAAsC;AAE7C;;;;CAIC,GAED,yEAAyE,GACzE,OAAO,MAAMC,2BAA2B;IACtC;IACA;IACA;IACA;IACA;IACA;CACD,CAAS;AA4BV;;;;;;;;CAQC,GACD,OAAO,MAAMC,gBAA6C;IACxDC,OAAO;IACPC,OAAO;IACPC,QAAQ;IACRC,QAAQ;AACV,EAAC;AAED,uEAAuE,GACvE,OAAO,SAASC,YAAYC,IAA+B;QAClDN;IAAP,QAAOA,kBAAAA,aAAa,CAACM,eAAAA,OAAQ,GAAG,YAAzBN,kBAA6B;AACtC;AAEA,OAAO,MAAMO,uBAAoD;IAC/DL,OAAO;IACPC,QAAQ;IACRC,QAAQ;AACV,EAAC;AAED,6DAA6D,GAC7D,OAAO,MAAMI,4BACX;IACEN,OAAO;QACLO,aAAa;QACbC,WAAW;QACXC,aAAa;QACbC,sBAAsB;QACtBC,gBAAgB;QAChBC,eAAe;IACjB;IACAX,QAAQ;QACNM,aAAa;QACbC,WAAW;QACXC,aAAa;QACbC,sBAAsB;QACtBC,gBAAgB;QAChBC,eAAe;IACjB;IACAV,QAAQ;QACNK,aAAa;QACbC,WAAW;QACXC,aAAa;QACbC,sBAAsB;QACtBC,gBAAgB;QAChBC,eAAe;IACjB;AACF,EAAC;AAEH;;;;CAIC,GACD,OAAO,SAASC,uBACdT,IAA+B,EAC/BU,SAAmD,EACnD;;;;GAIC,GACDC,WAA8D;IAE9D,MAAMC,UAAUV,yBAAyB,CAAEF,eAAAA,OAAQ,GAAmB;IACtE,wEAAwE;IACxE,sEAAsE;IACtE,MAAMa,OAAoBD,UAAYZ,eAAAA,OAAQ,WAA4B;IAC1E,IAAIc,OAAiC,aAChCtB,yBAAyBqB,OACxBD,kBAAAA,UAAWV,0BAA0BJ,MAAM;IAEjD,qEAAqE;IACrE,sEAAsE;IACtE,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,4CAA4C;IAC5C,MAAMiB,gBAA0B;WAC3BtB;WACAF;KACJ;IACD,IAAI,CAACqB,SAAS;QACZ,MAAMI,SAASL,+BAAAA,WAAa,CAACX,eAAAA,OAAQ,GAAG;QACxC,IAAIgB,QAAQ;YACV,qEAAqE;YACrE,yEAAyE;YACzE,wEAAwE;YACxE,sEAAsE;YACtE,6DAA6D;YAC7DF,OAAO,aACFtB,yBAAyB,WACzBU,0BAA0BJ,MAAM;YAErC,KAAK,MAAMmB,OAAOF,cAAe;oBACjBC;gBAAd,MAAME,SAAQF,sBAAAA,OAAOG,WAAW,qBAAlBH,mBAAoB,CAACC,IAAI;gBACvC,IAAI,OAAOC,UAAU,WAAWJ,IAAI,CAACG,IAAI,GAAGC;YAC9C;QACF;IACF;IACA,MAAMC,cAAc,aAAKL;IACzB,KAAK,MAAMG,OAAOF,cAAe;QAC/B,MAAMG,QAAQR,6BAAAA,SAAW,CAACO,IAAI;QAC9B,IAAI,OAAOC,UAAU,WAAWC,WAAW,CAACF,IAAI,GAAGC;IACrD;IACA,OAAOC;AACT;AAEA,gDAAgD,GAChD,OAAO,SAASC,cAAcpB,IAA+B;IAC3D,OAAO,CAACA,eAAAA,OAAQ,OAAOE;AACzB"}
@@ -0,0 +1,407 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Organization helpers (AGL-233): slug policy for workspace subdomains
19
+ * (`{slug}.aglyn.com`) and role math shared by the org APIs, the console
20
+ * UI, and the Firestore rules' mental model. See
21
+ * docs/MULTI_TENANT_FIRESTORE.md.
22
+ */
23
+ import type { AglynOrgMember, HostAccessRole, HostUid, OrgRole, ScopeToken, UserOrgMembership } from '../foundation';
24
+ /** Same lexical policy as host subdomains: 3–30 lowercase/digits/dashes. */
25
+ export declare const ORG_SLUG_PATTERN: RegExp;
26
+ export declare function isBlockedOrgSlug(slug: string): boolean;
27
+ export declare function isValidOrgSlug(slug: string): boolean;
28
+ /** Best-effort slug from an org name; '' when nothing usable remains. */
29
+ export declare function generateOrgSlug(name: string): string;
30
+ export declare const ORG_ROLES: readonly OrgRole[];
31
+ export declare function isOrgRole(value: unknown): value is OrgRole;
32
+ export declare function orgRoleAtLeast(role: OrgRole | null | undefined, minimum: OrgRole): boolean;
33
+ /** Org settings, members, invites, host creation: admin and owner. */
34
+ export declare function canManageOrg(role: OrgRole | null | undefined): boolean;
35
+ /**
36
+ * The member's effective role on one host, or null for no access.
37
+ * Owner/admin span every host; editor/viewer resolve through `allHosts`
38
+ * (mapped to their org role) or the per-host access map.
39
+ */
40
+ export declare function hostRoleFor(member: Partial<AglynOrgMember> | null | undefined, hostId: HostUid): HostAccessRole | null;
41
+ /**
42
+ * Host roles that may MUTATE content — the axis `canWriteHostContent()` in
43
+ * the security rules asks (AGL-2334).
44
+ *
45
+ * `author` is here and absent from `HOST_PUBLISH_ROLES` below: that single
46
+ * difference IS the "edit content but not publish" role. Kept as two named
47
+ * sets rather than two inline comparisons because they are read in three
48
+ * places that must not drift — this module, the ~20 server gates, and the
49
+ * rules — and because a new host role added to the union has to be a
50
+ * deliberate decision on BOTH lists rather than an omission from one.
51
+ */
52
+ export declare const HOST_CONTENT_WRITE_ROLES: readonly HostAccessRole[];
53
+ /**
54
+ * Host roles that may make content LIVE. Everything that registers a route,
55
+ * moves a live-version pointer, schedules either of those for later, or
56
+ * flips a collection entry to `published` asks this and not the set above.
57
+ *
58
+ * The list is short and it is the whole product decision: `author` is not on
59
+ * it. If a role is ever added here, the rules' `canPublishHostContent()` and
60
+ * the publish-surface field freezes below it must be updated in the same
61
+ * change — they are the enforcement, this is the server-side echo of it.
62
+ */
63
+ export declare const HOST_PUBLISH_ROLES: readonly HostAccessRole[];
64
+ /**
65
+ * Whether the member may mutate a host's content — admin, editor **or
66
+ * author** on it.
67
+ *
68
+ * An author is a content editor in every respect this predicate covers; what
69
+ * it deliberately does NOT cover is publication. Any caller that is really
70
+ * asking "may this person make something live" must call `canPublishHost`
71
+ * instead — this one answering `true` for an author is the point of the role,
72
+ * not a gap in it.
73
+ */
74
+ export declare function canWriteHost(member: Partial<AglynOrgMember> | null | undefined, hostId: HostUid): boolean;
75
+ /**
76
+ * Whether the member may PUBLISH on a host — register a route, move a live
77
+ * version pointer, schedule either for later, or publish a collection entry.
78
+ *
79
+ * Strictly narrower than `canWriteHost`: `author` edits and does not publish.
80
+ * This is the server-side echo of the rules, not the enforcement — publishing
81
+ * is a set of client-direct Firestore writes across five document shapes, so
82
+ * `cloud/firebase-firestore.rules` is where it is actually refused. Server
83
+ * routes that schedule or trigger a publish ask this so the console can say
84
+ * no with a message instead of surfacing a bare permission-denied.
85
+ */
86
+ export declare function canPublishHost(member: Partial<AglynOrgMember> | null | undefined, hostId: HostUid): boolean;
87
+ /**
88
+ * The same question asked of a bare `memberRoles` value rather than a member
89
+ * document — the shape every Admin-SDK route already has in hand after its
90
+ * `hosts/{hostId}` read, so it does not have to re-load the org membership.
91
+ *
92
+ * `String(role)` at the call sites keeps `undefined` out; an unknown value
93
+ * is simply not in the set, which fails CLOSED.
94
+ */
95
+ export declare function hostRoleCanWrite(role: unknown): boolean;
96
+ /** Publish-axis twin of `hostRoleCanWrite`; `author` is excluded. */
97
+ export declare function hostRoleCanPublish(role: unknown): boolean;
98
+ /**
99
+ * Whether a member's reach is the whole org rather than a list of sites.
100
+ *
101
+ * Owner and admin always are; editor/viewer are only when `allHosts` says
102
+ * so — **or** when the membership predates the flag entirely. A pre-
103
+ * `allHosts` doc carries neither the flag nor a `hostAccess` map, and
104
+ * reading that as "scoped, with access to nothing" would lock real members
105
+ * out of their own workspace. A site collaborator ALWAYS has a non-empty
106
+ * `hostAccess` (that is what `grantHostAccess` writes), so the absence of
107
+ * both is the legacy shape, not a scoped one.
108
+ *
109
+ * Single source of truth for `resolveOrgPermissions` (the server gate),
110
+ * `projectMemberScopeTokens` (the rules projection), and the rules'
111
+ * own `isOrgWideMember()` — three copies of this predicate that disagree
112
+ * is a privilege bug, not a style problem (AGL-1026, AGL-1038).
113
+ */
114
+ export declare function isOrgWideMember(member: Partial<AglynOrgMember> | null | undefined): boolean;
115
+ /**
116
+ * How many of these roster entries consume a **manager** seat (AGL-1113).
117
+ *
118
+ * `orgs/{orgId}/members` holds BOTH org managers and site-scoped
119
+ * collaborators — adding a collaborator to one site writes an org member doc
120
+ * with `allHosts:false` + `hostAccess`, so a raw `.count()` of the collection
121
+ * billed every collaborator as a manager. Collaborators are metered
122
+ * separately, per host, against `membersPerHost` at
123
+ * `hosts/{hostId}/members` — counting them here charged them twice and
124
+ * tripped the manager gate for orgs nowhere near their manager limit.
125
+ *
126
+ * Reuses `isOrgWideMember` rather than filtering on `allHosts` directly:
127
+ * owner/admin are managers whatever the flag says, and a pre-`allHosts` doc
128
+ * is a manager too. A Firestore `where('allHosts','==',true)` count gets both
129
+ * of those wrong, which is why callers pass entries in and count here.
130
+ *
131
+ * Accepts pending INVITES as well as members — an invite carries the same
132
+ * `role`/`allHosts`/`hostAccess` shape and reserves the seat it will become.
133
+ */
134
+ export declare function countManagerSeats(entries: ReadonlyArray<Partial<AglynOrgMember> | null | undefined>): number;
135
+ /**
136
+ * One roster row or pending invite, as the collaborator counter needs to see
137
+ * it (AGL-2068). Deliberately structural rather than `Partial<AglynOrgMember>`
138
+ * — an INVITE is not a member document, it is keyed by email and has no uid,
139
+ * and the whole point of this counter is that the two populations must be
140
+ * counted together or the cap is enforced against a fraction of itself.
141
+ */
142
+ export interface CollaboratorSeatEntry {
143
+ /** Member documents are keyed by uid; invites have none. */
144
+ uid?: string | null;
145
+ email?: string | null;
146
+ role?: unknown;
147
+ allHosts?: boolean;
148
+ hostAccess?: Record<string, unknown> | null;
149
+ }
150
+ /**
151
+ * Every principal consuming a COLLABORATOR seat on one host (AGL-2068).
152
+ *
153
+ * ## Why this exists at all
154
+ *
155
+ * `membersPerHost` was enforced on one of the four doors that admit a site
156
+ * collaborator, and that one door counted `hosts/{hostId}/members` — a
157
+ * DISPLAY roster only `/api/hosts/members` writes. The other three
158
+ * (`/api/orgs/invites` create, `/api/orgs/invites` accept, and the
159
+ * `hostAccess` branch of `/api/orgs/members`) land in `orgs/{id}/members` and
160
+ * the `hosts/{id}.memberRoles` projection, and were invisible to it. So the
161
+ * cap was both skipped on three paths and under-counted on the fourth, and a
162
+ * free org — `membersPerHost: 1` — could take on unlimited collaborators,
163
+ * each with full site access, on a plan that is never invoiced.
164
+ *
165
+ * verbatim: **"We need to make sure the free/hobby tier
166
+ * does hard cap so it always actually stays free."**
167
+ *
168
+ * ## What counts
169
+ *
170
+ * A SCOPED grant on `hostId`, and nothing else. An org-wide member
171
+ * (owner/admin, or `allHosts`) reaches every host but consumes a MANAGER
172
+ * seat — `countManagerSeats` is that side, and charging them here would bill
173
+ * one person twice and trip a cap they are not on. This is the same split
174
+ * AGL-1113 drew; it is now drawn from one place instead of three.
175
+ *
176
+ * Pending invites count, for the reason the manager gate counts them: an
177
+ * invite reserves the seat it will become, and a cap that only bites on
178
+ * acceptance can be walked past by mailing out N invites first.
179
+ */
180
+ export declare function collaboratorSeatKeys(entries: ReadonlyArray<CollaboratorSeatEntry | null | undefined>, hostId: string): Set<string>;
181
+ /**
182
+ * How many collaborator seats on `hostId` are spoken for by someone OTHER
183
+ * than `exclude` (AGL-2068).
184
+ *
185
+ * `exclude` is the principal the caller is about to admit, and dropping them
186
+ * is what makes this composable with `checkSeatQuota(…, used)`, whose
187
+ * contract is "usage BEFORE the resource being created". Without it the
188
+ * accept path refuses its own invite: at the moment acceptance is decided the
189
+ * invitee holds a pending invite AND is about to hold a membership, so they
190
+ * would be counted once or twice against a cap they are the subject of.
191
+ *
192
+ * Both identities are dropped, not whichever one is present. A person can be
193
+ * on the roster under a uid with no mirrored email and hold an invite under
194
+ * that address, and the seat is still one seat.
195
+ *
196
+ * ## `emails`, not `email` — an account holds several (AGL-2486)
197
+ *
198
+ * Since an invitation may be accepted at any CONFIRMED address on the account,
199
+ * the pending invite the accepter is about to consume can be keyed by an
200
+ * address that is not their primary. `exclude.email` alone is the primary, so
201
+ * that invite survived the exclusion and the person was counted against a cap
202
+ * they are the subject of — the exact double-count the paragraph above says
203
+ * this function exists to prevent, re-opened by widening the accept match.
204
+ *
205
+ * It fails CLOSED (a spurious "out of seats" refusal, never a free seat), and
206
+ * only for an org sitting exactly on its cap, which is why it survived review.
207
+ *
208
+ * `emails` takes every address PROVEN to belong to the principal being
209
+ * admitted. Passing an address that is not theirs would hand out a free seat,
210
+ * so callers must pass confirmed addresses for that uid and nothing else.
211
+ */
212
+ export declare function countCollaboratorSeats(entries: ReadonlyArray<CollaboratorSeatEntry | null | undefined>, hostId: string, exclude?: {
213
+ uid?: string | null;
214
+ email?: string | null;
215
+ /** Further addresses on the SAME account; see above. */
216
+ emails?: readonly (string | null | undefined)[] | null;
217
+ }): number;
218
+ /**
219
+ * Every principal consuming a MANAGER seat, as identities rather than rows.
220
+ *
221
+ * The org-wide half of `collaboratorSeatKeys`, drawn from the same entries and
222
+ * split on the same predicate, so the two counters partition one roster
223
+ * instead of overlapping on it.
224
+ *
225
+ * Deduplicating by identity is the difference from {@link countManagerSeats},
226
+ * and it is what makes this composable with an `exclude`: a person holding a
227
+ * pending invite AND the membership it became is one seat, and the row-wise
228
+ * counter reports two because it is handed the two collections separately and
229
+ * sums them.
230
+ */
231
+ export declare function managerSeatKeys(entries: ReadonlyArray<CollaboratorSeatEntry | null | undefined>): Set<string>;
232
+ /**
233
+ * How many manager seats are spoken for by someone OTHER than `exclude`.
234
+ *
235
+ * The manager twin of {@link countCollaboratorSeats}, and it exists for the
236
+ * same reason that one takes an `exclude`: `checkSeatQuota`'s contract is
237
+ * "usage BEFORE the resource being created", and on the invite-accept path the
238
+ * accepter holds a pending invite and is about to hold a membership at the
239
+ * same instant. Counted plainly they are charged once or twice for a seat they
240
+ * are the subject of, and an org on its last seat refuses its own invitation.
241
+ *
242
+ * Both identities are dropped, and `emails` carries the further addresses
243
+ * proven to belong to that account — an invitation may be accepted at any
244
+ * confirmed address, so the invite being consumed need not be keyed by the
245
+ * primary one. Passing an address that is not theirs would hand out a free
246
+ * seat, so callers must pass confirmed addresses for that uid and nothing
247
+ * else.
248
+ *
249
+ * Kept SEPARATE from {@link countManagerSeats} rather than replacing it: that
250
+ * one is row-wise and is what the billing and console surfaces count with, and
251
+ * quietly making it identity-wise would change every one of those totals.
252
+ */
253
+ export declare function countManagerSeatsExcluding(entries: ReadonlyArray<CollaboratorSeatEntry | null | undefined>, exclude?: {
254
+ uid?: string | null;
255
+ email?: string | null;
256
+ /** Further addresses on the SAME account; see above. */
257
+ emails?: readonly (string | null | undefined)[] | null;
258
+ }): number;
259
+ /**
260
+ * What KIND of user a console row represents (AGL-1114) — the distinction
261
+ * that decides which seat they consume, and the one the Team table could not
262
+ * express because a manager and a collaborator differ only by fields the
263
+ * table never showed.
264
+ *
265
+ * Deliberately NOT the same axis as `role`. A `role: 'editor'` is a manager
266
+ * when their reach is the whole org and a collaborator when it is two sites;
267
+ * reading the role alone is the mistake that let a collaborator look like
268
+ * team staff (see the org-leak and role-gate work).
269
+ *
270
+ * `siteMember` is the third kind and never appears in `orgs/{id}/members` at
271
+ * all: it is an end-user account on a PUBLISHED site (`siteMembers`), not a
272
+ * console user. It has no Firebase Auth record of any kind — a site member is
273
+ * a Firestore document under `hosts/{hostId}/siteMembers` with its own scrypt
274
+ * hash and its own session cookie — so no surface that lists AUTH accounts,
275
+ * the staff user directory included, can contain one. The label is here so the
276
+ * vocabulary is complete, for a surface that lists site accounts and needs a
277
+ * word for them. Free and uncounted on every plan (AGL-889).
278
+ */
279
+ export type ConsoleUserType = 'manager' | 'collaborator' | 'siteMember';
280
+ export declare const CONSOLE_USER_TYPE_LABELS: Record<ConsoleUserType, string>;
281
+ /** One line on what each kind is and what it costs — tooltip/legend copy. */
282
+ export declare const CONSOLE_USER_TYPE_HINTS: Record<ConsoleUserType, string>;
283
+ /**
284
+ * Classify an `orgs/{orgId}/members` entry (or a pending invite, same shape).
285
+ * Never returns `siteMember` — nothing in that collection is one; the value
286
+ * exists for surfaces that list published-site accounts and must label them —
287
+ * never for one that lists both, since the two populations do not share an
288
+ * identity system.
289
+ */
290
+ export declare function consoleUserType(member: Partial<AglynOrgMember> | null | undefined): Exclude<ConsoleUserType, 'siteMember'>;
291
+ /**
292
+ * Whether an account is governed by enterprise SSO (AGL-1128) — it lives in
293
+ * an org's GCIP tenant pool rather than the project pool, so its identity is
294
+ * owned by the customer's IdP.
295
+ *
296
+ * `tenantId` is the whole signal: Firebase sets it on the user whenever the
297
+ * account belongs to a tenant, and only SSO accounts do.
298
+ */
299
+ export declare function isSsoGovernedAccount(user: {
300
+ tenantId?: string | null;
301
+ } | null | undefined): boolean;
302
+ /**
303
+ * Whether the account may connect an additional consumer sign-in provider.
304
+ *
305
+ * **No, for any SSO-governed account.** The customer's IdP is the single gate
306
+ * they bought: they revoke there, enforce MFA there, offboard there. A linked
307
+ * personal Google account is a way in their IdP can never see or revoke —
308
+ * exactly what SSO is purchased to prevent.
309
+ *
310
+ * Deliberately NOT gated on `sso.enforced`. That flag exists so we never
311
+ * LOCK OUT an existing sign-in method; it is not a licence to hand out new
312
+ * bypasses meanwhile. Nothing here removes a provider an account already has,
313
+ * so this can never lock anyone out.
314
+ *
315
+ * This is the intent, not the boundary — the boundary is upstream, since a
316
+ * GCIP tenant only accepts providers enabled on that tenant. Both matter: the
317
+ * boundary is remote config that could drift, and a UI that offers a
318
+ * security-regressing action is wrong even when the action would fail.
319
+ */
320
+ export declare function canLinkSocialProvider(user: {
321
+ tenantId?: string | null;
322
+ } | null | undefined): boolean;
323
+ /**
324
+ * The same question as `isOrgWideMember`, asked of the `users/{uid}/orgs`
325
+ * reverse-index row instead of the member doc (AGL-1032).
326
+ *
327
+ * The console navigates from the index — it is what `useOrgScope` loads —
328
+ * and the index carries a MIRROR of the predicate, not the inputs to it, so
329
+ * this cannot recompute: `role: 'viewer'` on the index means "viewer",
330
+ * whether the member reaches every site or one.
331
+ *
332
+ * Reads a missing flag as org-wide, for the same reason `isOrgWideMember`
333
+ * reads a missing `allHosts` that way: rows written before the mirror
334
+ * existed have no flag, and hiding the workspace from a real member is a
335
+ * worse failure than showing org chrome to a collaborator whose reads the
336
+ * rules refuse anyway. Owner/admin are org-wide by role regardless of the
337
+ * mirror, so a stale row can never lock an admin out.
338
+ *
339
+ * Navigation only — never an access decision. AGL-1026 (rules) and the
340
+ * Admin-SDK scope checks are the boundary.
341
+ */
342
+ export declare function isOrgWideMembership(membership: Pick<UserOrgMembership, 'role' | 'orgWide'> | null | undefined): boolean;
343
+ /**
344
+ * The `scopeTokens` projection stamped onto member docs (AGL-1038) so the
345
+ * rules can intersect a caller's reach with a resource's `visibleTo` —
346
+ * rules have no `.map()`, so `hostAccess`'s keys cannot be turned into
347
+ * tokens at evaluation time and have to be denormalized here.
348
+ *
349
+ * Org-wide members get `['org']`; they own the org and read everything in
350
+ * it, scoped or not (the rules short-circuit on them anyway). A scoped
351
+ * collaborator gets `'org'` plus one token per granted host — `'org'`
352
+ * because an org-WIDE resource stays readable by any member, which is
353
+ * today's behavior and not something this project narrows.
354
+ *
355
+ * Not capped at `MAX_SCOPE_HOSTS`: the rules' `hasAny` has no 30-value
356
+ * limit, only the client `array-contains-any` query does, so a member of
357
+ * more than 30 sites is a listing problem for AGL-1044 to chunk, not a
358
+ * reason to under-grant here.
359
+ */
360
+ export declare function projectMemberScopeTokens(member: Partial<AglynOrgMember> | null | undefined): ScopeToken[];
361
+ /**
362
+ * A member's effective read set: the stored `scopeTokens` projection when it
363
+ * is there, recomputed from the membership when it is not.
364
+ *
365
+ * The fallback is the security-relevant half and it was written out by hand
366
+ * in four places (`use-scope-tokens`, `erase-scope`, the media sign route,
367
+ * and by omission in `resolveMediaScope`, which only ever recomputed). Four
368
+ * copies of "what may this member see" is the shape that eventually
369
+ * disagrees, and a copy that reads `member.scopeTokens` WITHOUT the
370
+ * `.length` guard silently grants nothing to a member the AGL-1040 backfill
371
+ * has not reached — or, written the other way round, grants everything.
372
+ *
373
+ * Recomputing is the safe fallback rather than a convenience: it produces
374
+ * exactly what `grantHostAccess` would have stamped, so an unstamped member
375
+ * doc behaves as its `hostAccess` says, never as "no access" and never as
376
+ * org-wide.
377
+ */
378
+ export declare function memberScopeTokens(member: Partial<AglynOrgMember> | null | undefined): ScopeToken[];
379
+ /**
380
+ * May this member see a resource carrying `visibleTo`? (AGL-1037/1038)
381
+ *
382
+ * The whole client-side/server-side authorization question in one place:
383
+ * org-wide members read everything they own; everyone else needs their read
384
+ * set to intersect the resource's scope. Absent/empty `visibleTo` is
385
+ * org-wide by the same rule the Firestore rules use, so an unbackfilled
386
+ * resource does not vanish.
387
+ *
388
+ * Every Admin-SDK path must call this (or `scopeAllows`, which wraps an
389
+ * already-resolved scope) — the Admin SDK bypasses rules entirely, so this
390
+ * IS the enforcement there, not a second opinion about it.
391
+ *
392
+ * NOT a membership check, and never a substitute for one: a `null` member
393
+ * "can see" an org-wide resource here, because the question this answers is
394
+ * "is this resource in scope for that reach", not "is this person in the
395
+ * org". Resolve membership first and refuse the caller if there is none —
396
+ * conflating the two is exactly how AGL-1026 exposed a whole org.
397
+ */
398
+ export declare function memberCanSee(member: Partial<AglynOrgMember> | null | undefined, visibleTo: readonly string[] | null | undefined): boolean;
399
+ /**
400
+ * The `memberRoles` projection stamped onto host docs so Firestore rules
401
+ * authorize host content with the single host-doc read they already do
402
+ * (docs/MULTI_TENANT_FIRESTORE.md §5). Recomputed by the membership API
403
+ * whenever a member changes; owner/admin appear on every host.
404
+ */
405
+ export declare function projectHostMemberRoles(members: ReadonlyArray<Partial<AglynOrgMember> & {
406
+ $id: string;
407
+ }>, hostId: HostUid): Record<string, HostAccessRole>;