@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,169 @@
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
+ * The TYPE half of a plugin's billing and access keys (AGL-3124).
19
+ *
20
+ * AGL-2940 built `registerPluginEntitlements`, and the registration migrated:
21
+ * a plugin declares its seat add-ons, its feature flags, its lockdown levers
22
+ * and its permissions, and the catalogs that used to be edited per key read
23
+ * the declarations. What did not migrate is the TYPE. `OrgEntitlements` and
24
+ * `OrgFeatureFlags` still spell out keys named after seven plugin domains, so
25
+ * a plugin can register a key the platform's own types have never heard of,
26
+ * and a key it cannot register is one the platform still has to be edited
27
+ * for.
28
+ *
29
+ * This module closes that half. The two interfaces below are EMPTY and are
30
+ * meant to be augmented: a plugin declares the type of each key it owns with
31
+ * `declare module`, and the core shapes compose from them rather than listing
32
+ * them. The registry beside them is the runtime twin — what a staff page, a
33
+ * migration or a support answer reads to say which plugin a key came from, and
34
+ * what refuses two plugins claiming one key before either can resolve it.
35
+ *
36
+ * ```ts
37
+ * // libs/plugins/cellar — the plugin's own module
38
+ * declare module '@aglyn/aglyn/plugin-manager/plugin-entitlement-keys' {
39
+ * interface PluginEntitlementQuotas {
40
+ * bottlesPerHost?: number
41
+ * }
42
+ * interface PluginEntitlementFeatures {
43
+ * cellarTastings?: boolean
44
+ * }
45
+ * }
46
+ * ```
47
+ *
48
+ * From then on `entitlements.bottlesPerHost` type-checks everywhere
49
+ * `OrgEntitlements` is read, and nothing in the core names a bottle.
50
+ *
51
+ * ## Why the interfaces are declared here and not beside the shapes
52
+ *
53
+ * The augmentation target has to be a module a plugin may import, and a plugin
54
+ * imports the plugin-manager seams by design. The billing types are on the
55
+ * package's public surface and are read through the foundation barrel, which a
56
+ * published page must never reach; the composition is a type-only edge in that
57
+ * direction, which TypeScript erases, so the shapes gain the plugin half
58
+ * without the graph gaining an edge.
59
+ *
60
+ * ## The NUMBERS stay where they are checked
61
+ *
62
+ * A key's price is not here and must not come here. A seat add-on's price is a
63
+ * row in `PLAN_PRICING`, read by the Stripe wiring and reconciled by
64
+ * `check-pricing-drift`; a declaration names the key and what the key MEANS,
65
+ * and nothing here restates a price. That is the same line
66
+ * `plugin-entitlements` draws, for the same reason: two places that both hold
67
+ * a number are two places that can disagree about what a customer is charged.
68
+ *
69
+ * ## One key, one owner
70
+ *
71
+ * A key is stored under an organization's entitlements and resolved into what
72
+ * that organization may do. Two plugins declaring one key would be two meanings for
73
+ * one stored value, so a key another plugin declared is refused naming both,
74
+ * and the whole registration is refused with it — half a plugin's keys landing
75
+ * would be worse than none.
76
+ */
77
+ /**
78
+ * Quota and limit keys plugins add to `OrgEntitlements`. Augment with
79
+ * `declare module`, declaring each key OPTIONAL — an entitlement is resolved
80
+ * and may be absent, exactly like every key the core declares.
81
+ */
82
+ export interface PluginEntitlementQuotas {
83
+ }
84
+ /** Feature flags plugins add to `OrgFeatureFlags`, on the same terms. */
85
+ export interface PluginEntitlementFeatures {
86
+ }
87
+ /**
88
+ * The two halves above as MAPPED types, for composing into a type alias
89
+ * rather than into an interface.
90
+ *
91
+ * Not a style choice. TypeScript hands an implicit string index signature to a
92
+ * mapped type and withholds it from an interface, and several readers pass a
93
+ * resolved entitlements or features object where a `Record<string, boolean>`
94
+ * or `Record<string, unknown>` is wanted — a quota line reading every number,
95
+ * a digest reading every gate. Intersecting `Required<CoreOrgFeatureFlags>`
96
+ * with the raw interface loses that index signature and those readers stop
97
+ * compiling, for a plugin half that is empty. Mapping it keeps them.
98
+ *
99
+ * An interface is still what a plugin AUGMENTS: `declare module` merges into
100
+ * an interface and not into a type alias, so the pair is the augmentation
101
+ * target and its composable form, and the mapping follows whatever is
102
+ * declared.
103
+ */
104
+ export type PluginOrgQuotas = {
105
+ [Key in keyof PluginEntitlementQuotas]: PluginEntitlementQuotas[Key];
106
+ };
107
+ /** See {@link PluginOrgQuotas}. */
108
+ export type PluginOrgFeatures = {
109
+ [Key in keyof PluginEntitlementFeatures]: PluginEntitlementFeatures[Key];
110
+ };
111
+ /**
112
+ * What a declared key is, which is what decides where it is read.
113
+ *
114
+ * There is deliberately no third kind for a plugin's SETTINGS block on the
115
+ * organization document. `org-write-deny-coverage.spec.ts` enumerates that
116
+ * document's fields by reading `org-billing.types.ts`'s source and checks each
117
+ * one against the Firestore write-deny rules, so a field declared from a
118
+ * plugin's own file would be a hole in a rules-coverage guard. A plugin's
119
+ * settings already have a home that is not a hole:
120
+ * `registerPluginConfigSchema` stores them at `pluginSettings/{pluginId}`,
121
+ * which is its own document under its own rule.
122
+ */
123
+ export type PluginEntitlementKeyKind =
124
+ /** A number in `OrgEntitlements`: a limit, a band, an allowance. */
125
+ 'quota'
126
+ /** A boolean in `OrgFeatureFlags`. */
127
+ | 'feature';
128
+ export interface PluginEntitlementKeyDeclaration {
129
+ /** The stored key, exactly as the org document spells it. */
130
+ key: string;
131
+ kind: PluginEntitlementKeyKind;
132
+ /** What a staff page and a support answer call it. */
133
+ label: string;
134
+ /**
135
+ * What the key means — for a quota, what it counts and what it does not.
136
+ * The confusions this platform has already had (a catalog cap read as a
137
+ * traffic cap, a daily pace read as a monthly band) all came from a key
138
+ * whose name said something narrower or wider than it meant.
139
+ */
140
+ description?: string;
141
+ }
142
+ export interface PluginEntitlementKeyRegistration {
143
+ pluginId: string;
144
+ keys: readonly PluginEntitlementKeyDeclaration[];
145
+ }
146
+ /** A declaration with the plugin that made it. */
147
+ export type ResolvedPluginEntitlementKey = PluginEntitlementKeyDeclaration & {
148
+ pluginId: string;
149
+ };
150
+ /**
151
+ * Declares the entitlement keys a plugin owns. The owner is the loader's
152
+ * marker when a register fn is running, else `registration.pluginId`; with
153
+ * neither the registration throws. Idempotent per plugin — re-registering
154
+ * replaces that plugin's declarations. A key another plugin declared refuses
155
+ * the whole registration, naming both.
156
+ */
157
+ export declare function registerPluginEntitlementKeys(registration: PluginEntitlementKeyRegistration): void;
158
+ /** Every declared key, with its owner, in registration order. */
159
+ export declare function listPluginEntitlementKeys(): ResolvedPluginEntitlementKey[];
160
+ /** One declared key, with its owner, or `null` when no plugin declares it. */
161
+ export declare function pluginEntitlementKey(key: string): ResolvedPluginEntitlementKey | null;
162
+ /** The plugin that declared a key, for attribution, or `undefined`. */
163
+ export declare function pluginIdForEntitlementKey(key: string): string | undefined;
164
+ /** The declared keys of one kind, with their owners, in registration order. */
165
+ export declare function listPluginEntitlementKeysOfKind(kind: PluginEntitlementKeyKind): ResolvedPluginEntitlementKey[];
166
+ /** Drops a plugin's declarations — what a bundle unloading calls. */
167
+ export declare function unregisterPluginEntitlementKeys(pluginId: string): void;
168
+ /** Test seam: forget every declaration. */
169
+ export declare function resetPluginEntitlementKeysForTests(): void;
@@ -0,0 +1,84 @@
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 { getRegisteringPluginId } from "../app-utils/registering-plugin.js";
18
+ const registrations = new Map();
19
+ function ownerOf(key) {
20
+ for (const entry of registrations.values()){
21
+ if (entry.keys.some((one)=>one.key === key)) return entry.pluginId;
22
+ }
23
+ return undefined;
24
+ }
25
+ /**
26
+ * Declares the entitlement keys a plugin owns. The owner is the loader's
27
+ * marker when a register fn is running, else `registration.pluginId`; with
28
+ * neither the registration throws. Idempotent per plugin — re-registering
29
+ * replaces that plugin's declarations. A key another plugin declared refuses
30
+ * the whole registration, naming both.
31
+ */ export function registerPluginEntitlementKeys(registration) {
32
+ var _ref, _getRegisteringPluginId;
33
+ const pluginId = ((_ref = (_getRegisteringPluginId = getRegisteringPluginId()) != null ? _getRegisteringPluginId : registration.pluginId) != null ? _ref : '').trim();
34
+ if (!pluginId) {
35
+ throw new Error('plugin entitlement keys registered with no owner: pass ' + '{ pluginId } when registering outside a plugin register fn');
36
+ }
37
+ const keys = registration.keys.map((declaration)=>{
38
+ var _ref;
39
+ var _declaration_key, _declaration_label;
40
+ const key = (_ref = (_declaration_key = declaration.key) == null ? void 0 : _declaration_key.trim()) != null ? _ref : '';
41
+ if (!key) throw new Error('a plugin entitlement key needs a key');
42
+ if (!((_declaration_label = declaration.label) == null ? void 0 : _declaration_label.trim())) {
43
+ throw new Error(`plugin entitlement key "${key}" needs a label`);
44
+ }
45
+ const owner = ownerOf(key);
46
+ if (owner && owner !== pluginId) {
47
+ throw new Error(`entitlement key "${key}" is already declared by "${owner}"; ` + `refused "${pluginId}"`);
48
+ }
49
+ return _extends({}, declaration, {
50
+ key
51
+ });
52
+ });
53
+ registrations.set(pluginId, {
54
+ pluginId,
55
+ keys
56
+ });
57
+ }
58
+ /** Every declared key, with its owner, in registration order. */ export function listPluginEntitlementKeys() {
59
+ return [
60
+ ...registrations.values()
61
+ ].flatMap((entry)=>entry.keys.map((one)=>_extends({}, one, {
62
+ pluginId: entry.pluginId
63
+ })));
64
+ }
65
+ /** One declared key, with its owner, or `null` when no plugin declares it. */ export function pluginEntitlementKey(key) {
66
+ var _listPluginEntitlementKeys_find;
67
+ const wanted = key.trim();
68
+ return (_listPluginEntitlementKeys_find = listPluginEntitlementKeys().find((one)=>one.key === wanted)) != null ? _listPluginEntitlementKeys_find : null;
69
+ }
70
+ /** The plugin that declared a key, for attribution, or `undefined`. */ export function pluginIdForEntitlementKey(key) {
71
+ var _pluginEntitlementKey;
72
+ return (_pluginEntitlementKey = pluginEntitlementKey(key)) == null ? void 0 : _pluginEntitlementKey.pluginId;
73
+ }
74
+ /** The declared keys of one kind, with their owners, in registration order. */ export function listPluginEntitlementKeysOfKind(kind) {
75
+ return listPluginEntitlementKeys().filter((one)=>one.kind === kind);
76
+ }
77
+ /** Drops a plugin's declarations — what a bundle unloading calls. */ export function unregisterPluginEntitlementKeys(pluginId) {
78
+ registrations.delete(pluginId.trim());
79
+ }
80
+ /** Test seam: forget every declaration. */ export function resetPluginEntitlementKeysForTests() {
81
+ registrations.clear();
82
+ }
83
+
84
+ //# sourceMappingURL=plugin-entitlement-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../libs/aglyn/src/lib/plugin-manager/plugin-entitlement-keys.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 { getRegisteringPluginId } from '../app-utils/registering-plugin'\n\n/**\n * The TYPE half of a plugin's billing and access keys (AGL-3124).\n *\n * AGL-2940 built `registerPluginEntitlements`, and the registration migrated:\n * a plugin declares its seat add-ons, its feature flags, its lockdown levers\n * and its permissions, and the catalogs that used to be edited per key read\n * the declarations. What did not migrate is the TYPE. `OrgEntitlements` and\n * `OrgFeatureFlags` still spell out keys named after seven plugin domains, so\n * a plugin can register a key the platform's own types have never heard of,\n * and a key it cannot register is one the platform still has to be edited\n * for.\n *\n * This module closes that half. The two interfaces below are EMPTY and are\n * meant to be augmented: a plugin declares the type of each key it owns with\n * `declare module`, and the core shapes compose from them rather than listing\n * them. The registry beside them is the runtime twin — what a staff page, a\n * migration or a support answer reads to say which plugin a key came from, and\n * what refuses two plugins claiming one key before either can resolve it.\n *\n * ```ts\n * // libs/plugins/cellar — the plugin's own module\n * declare module '@aglyn/aglyn/plugin-manager/plugin-entitlement-keys' {\n * interface PluginEntitlementQuotas {\n * bottlesPerHost?: number\n * }\n * interface PluginEntitlementFeatures {\n * cellarTastings?: boolean\n * }\n * }\n * ```\n *\n * From then on `entitlements.bottlesPerHost` type-checks everywhere\n * `OrgEntitlements` is read, and nothing in the core names a bottle.\n *\n * ## Why the interfaces are declared here and not beside the shapes\n *\n * The augmentation target has to be a module a plugin may import, and a plugin\n * imports the plugin-manager seams by design. The billing types are on the\n * package's public surface and are read through the foundation barrel, which a\n * published page must never reach; the composition is a type-only edge in that\n * direction, which TypeScript erases, so the shapes gain the plugin half\n * without the graph gaining an edge.\n *\n * ## The NUMBERS stay where they are checked\n *\n * A key's price is not here and must not come here. A seat add-on's price is a\n * row in `PLAN_PRICING`, read by the Stripe wiring and reconciled by\n * `check-pricing-drift`; a declaration names the key and what the key MEANS,\n * and nothing here restates a price. That is the same line\n * `plugin-entitlements` draws, for the same reason: two places that both hold\n * a number are two places that can disagree about what a customer is charged.\n *\n * ## One key, one owner\n *\n * A key is stored under an organization's entitlements and resolved into what\n * that organization may do. Two plugins declaring one key would be two meanings for\n * one stored value, so a key another plugin declared is refused naming both,\n * and the whole registration is refused with it — half a plugin's keys landing\n * would be worse than none.\n */\n\n/**\n * Quota and limit keys plugins add to `OrgEntitlements`. Augment with\n * `declare module`, declaring each key OPTIONAL — an entitlement is resolved\n * and may be absent, exactly like every key the core declares.\n */\nexport interface PluginEntitlementQuotas {}\n\n/** Feature flags plugins add to `OrgFeatureFlags`, on the same terms. */\nexport interface PluginEntitlementFeatures {}\n\n/**\n * The two halves above as MAPPED types, for composing into a type alias\n * rather than into an interface.\n *\n * Not a style choice. TypeScript hands an implicit string index signature to a\n * mapped type and withholds it from an interface, and several readers pass a\n * resolved entitlements or features object where a `Record<string, boolean>`\n * or `Record<string, unknown>` is wanted — a quota line reading every number,\n * a digest reading every gate. Intersecting `Required<CoreOrgFeatureFlags>`\n * with the raw interface loses that index signature and those readers stop\n * compiling, for a plugin half that is empty. Mapping it keeps them.\n *\n * An interface is still what a plugin AUGMENTS: `declare module` merges into\n * an interface and not into a type alias, so the pair is the augmentation\n * target and its composable form, and the mapping follows whatever is\n * declared.\n */\nexport type PluginOrgQuotas = {\n [Key in keyof PluginEntitlementQuotas]: PluginEntitlementQuotas[Key]\n}\n/** See {@link PluginOrgQuotas}. */\nexport type PluginOrgFeatures = {\n [Key in keyof PluginEntitlementFeatures]: PluginEntitlementFeatures[Key]\n}\n\n/**\n * What a declared key is, which is what decides where it is read.\n *\n * There is deliberately no third kind for a plugin's SETTINGS block on the\n * organization document. `org-write-deny-coverage.spec.ts` enumerates that\n * document's fields by reading `org-billing.types.ts`'s source and checks each\n * one against the Firestore write-deny rules, so a field declared from a\n * plugin's own file would be a hole in a rules-coverage guard. A plugin's\n * settings already have a home that is not a hole:\n * `registerPluginConfigSchema` stores them at `pluginSettings/{pluginId}`,\n * which is its own document under its own rule.\n */\nexport type PluginEntitlementKeyKind =\n /** A number in `OrgEntitlements`: a limit, a band, an allowance. */\n | 'quota'\n /** A boolean in `OrgFeatureFlags`. */\n | 'feature'\n\nexport interface PluginEntitlementKeyDeclaration {\n /** The stored key, exactly as the org document spells it. */\n key: string\n kind: PluginEntitlementKeyKind\n /** What a staff page and a support answer call it. */\n label: string\n /**\n * What the key means — for a quota, what it counts and what it does not.\n * The confusions this platform has already had (a catalog cap read as a\n * traffic cap, a daily pace read as a monthly band) all came from a key\n * whose name said something narrower or wider than it meant.\n */\n description?: string\n}\n\nexport interface PluginEntitlementKeyRegistration {\n pluginId: string\n keys: readonly PluginEntitlementKeyDeclaration[]\n}\n\n/** A declaration with the plugin that made it. */\nexport type ResolvedPluginEntitlementKey = PluginEntitlementKeyDeclaration & {\n pluginId: string\n}\n\nconst registrations = new Map<string, PluginEntitlementKeyRegistration>()\n\nfunction ownerOf(key: string): string | undefined {\n for (const entry of registrations.values()) {\n if (entry.keys.some((one) => one.key === key)) return entry.pluginId\n }\n return undefined\n}\n\n/**\n * Declares the entitlement keys a plugin owns. The owner is the loader's\n * marker when a register fn is running, else `registration.pluginId`; with\n * neither the registration throws. Idempotent per plugin — re-registering\n * replaces that plugin's declarations. A key another plugin declared refuses\n * the whole registration, naming both.\n */\nexport function registerPluginEntitlementKeys(\n registration: PluginEntitlementKeyRegistration,\n): void {\n const pluginId = (\n getRegisteringPluginId() ??\n registration.pluginId ??\n ''\n ).trim()\n if (!pluginId) {\n throw new Error(\n 'plugin entitlement keys registered with no owner: pass ' +\n '{ pluginId } when registering outside a plugin register fn',\n )\n }\n const keys = registration.keys.map((declaration) => {\n const key = declaration.key?.trim() ?? ''\n if (!key) throw new Error('a plugin entitlement key needs a key')\n if (!declaration.label?.trim()) {\n throw new Error(`plugin entitlement key \"${key}\" needs a label`)\n }\n const owner = ownerOf(key)\n if (owner && owner !== pluginId) {\n throw new Error(\n `entitlement key \"${key}\" is already declared by \"${owner}\"; ` +\n `refused \"${pluginId}\"`,\n )\n }\n return { ...declaration, key }\n })\n registrations.set(pluginId, { pluginId, keys })\n}\n\n/** Every declared key, with its owner, in registration order. */\nexport function listPluginEntitlementKeys(): ResolvedPluginEntitlementKey[] {\n return [...registrations.values()].flatMap((entry) =>\n entry.keys.map((one) => ({ ...one, pluginId: entry.pluginId })),\n )\n}\n\n/** One declared key, with its owner, or `null` when no plugin declares it. */\nexport function pluginEntitlementKey(\n key: string,\n): ResolvedPluginEntitlementKey | null {\n const wanted = key.trim()\n return (\n listPluginEntitlementKeys().find((one) => one.key === wanted) ?? null\n )\n}\n\n/** The plugin that declared a key, for attribution, or `undefined`. */\nexport function pluginIdForEntitlementKey(key: string): string | undefined {\n return pluginEntitlementKey(key)?.pluginId\n}\n\n/** The declared keys of one kind, with their owners, in registration order. */\nexport function listPluginEntitlementKeysOfKind(\n kind: PluginEntitlementKeyKind,\n): ResolvedPluginEntitlementKey[] {\n return listPluginEntitlementKeys().filter((one) => one.kind === kind)\n}\n\n/** Drops a plugin's declarations — what a bundle unloading calls. */\nexport function unregisterPluginEntitlementKeys(pluginId: string): void {\n registrations.delete(pluginId.trim())\n}\n\n/** Test seam: forget every declaration. */\nexport function resetPluginEntitlementKeysForTests(): void {\n registrations.clear()\n}\n"],"names":["getRegisteringPluginId","registrations","Map","ownerOf","key","entry","values","keys","some","one","pluginId","undefined","registerPluginEntitlementKeys","registration","trim","Error","map","declaration","label","owner","set","listPluginEntitlementKeys","flatMap","pluginEntitlementKey","wanted","find","pluginIdForEntitlementKey","listPluginEntitlementKeysOfKind","kind","filter","unregisterPluginEntitlementKeys","delete","resetPluginEntitlementKeysForTests","clear"],"mappings":";AAAA;;;;;;;;;;;;;;;CAeC,GAED,SAASA,sBAAsB,QAAQ,qCAAiC;AA6IxE,MAAMC,gBAAgB,IAAIC;AAE1B,SAASC,QAAQC,GAAW;IAC1B,KAAK,MAAMC,SAASJ,cAAcK,MAAM,GAAI;QAC1C,IAAID,MAAME,IAAI,CAACC,IAAI,CAAC,CAACC,MAAQA,IAAIL,GAAG,KAAKA,MAAM,OAAOC,MAAMK,QAAQ;IACtE;IACA,OAAOC;AACT;AAEA;;;;;;CAMC,GACD,OAAO,SAASC,8BACdC,YAA8C;QAG5Cb,MAAAA;IADF,MAAMU,WAAW,EACfV,QAAAA,0BAAAA,oCAAAA,0BACAa,aAAaH,QAAQ,YADrBV,OAEA,IACAc,IAAI;IACN,IAAI,CAACJ,UAAU;QACb,MAAM,IAAIK,MACR,4DACE;IAEN;IACA,MAAMR,OAAOM,aAAaN,IAAI,CAACS,GAAG,CAAC,CAACC;;YACtBA,kBAEPA;QAFL,MAAMb,eAAMa,mBAAAA,YAAYb,GAAG,qBAAfa,iBAAiBH,IAAI,qBAAM;QACvC,IAAI,CAACV,KAAK,MAAM,IAAIW,MAAM;QAC1B,IAAI,GAACE,qBAAAA,YAAYC,KAAK,qBAAjBD,mBAAmBH,IAAI,KAAI;YAC9B,MAAM,IAAIC,MAAM,CAAC,wBAAwB,EAAEX,IAAI,eAAe,CAAC;QACjE;QACA,MAAMe,QAAQhB,QAAQC;QACtB,IAAIe,SAASA,UAAUT,UAAU;YAC/B,MAAM,IAAIK,MACR,CAAC,iBAAiB,EAAEX,IAAI,0BAA0B,EAAEe,MAAM,GAAG,CAAC,GAC5D,CAAC,SAAS,EAAET,SAAS,CAAC,CAAC;QAE7B;QACA,OAAO,aAAKO;YAAab;;IAC3B;IACAH,cAAcmB,GAAG,CAACV,UAAU;QAAEA;QAAUH;IAAK;AAC/C;AAEA,+DAA+D,GAC/D,OAAO,SAASc;IACd,OAAO;WAAIpB,cAAcK,MAAM;KAAG,CAACgB,OAAO,CAAC,CAACjB,QAC1CA,MAAME,IAAI,CAACS,GAAG,CAAC,CAACP,MAAS,aAAKA;gBAAKC,UAAUL,MAAMK,QAAQ;;AAE/D;AAEA,4EAA4E,GAC5E,OAAO,SAASa,qBACdnB,GAAW;QAITiB;IAFF,MAAMG,SAASpB,IAAIU,IAAI;IACvB,QACEO,kCAAAA,4BAA4BI,IAAI,CAAC,CAAChB,MAAQA,IAAIL,GAAG,KAAKoB,mBAAtDH,kCAAiE;AAErE;AAEA,qEAAqE,GACrE,OAAO,SAASK,0BAA0BtB,GAAW;QAC5CmB;IAAP,QAAOA,wBAAAA,qBAAqBnB,yBAArBmB,sBAA2Bb,QAAQ;AAC5C;AAEA,6EAA6E,GAC7E,OAAO,SAASiB,gCACdC,IAA8B;IAE9B,OAAOP,4BAA4BQ,MAAM,CAAC,CAACpB,MAAQA,IAAImB,IAAI,KAAKA;AAClE;AAEA,mEAAmE,GACnE,OAAO,SAASE,gCAAgCpB,QAAgB;IAC9DT,cAAc8B,MAAM,CAACrB,SAASI,IAAI;AACpC;AAEA,yCAAyC,GACzC,OAAO,SAASkB;IACd/B,cAAcgC,KAAK;AACrB"}
@@ -0,0 +1,181 @@
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
+ * Plugin-declared billing and access keys (AGL-2940).
19
+ *
20
+ * A plugin that sells something, gates something, or can be switched off in
21
+ * an incident declares the KEYS here — a seat add-on, a feature flag, a
22
+ * lockdown lever, a permission — and the core catalogs that used to be
23
+ * edited for each one read the declarations instead:
24
+ *
25
+ * - `plan-entitlements` folds every registered seat add-on into
26
+ * `resolveOrgEntitlements` (a quota raised per unit, features switched on)
27
+ * and answers a registered feature's plan defaults;
28
+ * - `lockdown` lists a registered lever on the staff page, carries its label,
29
+ * its staff-bypass rule and its visitor notice, and maps the API paths it
30
+ * names onto it for the plugin dispatcher;
31
+ * - `plugin-permissions` receives the permissions with the owner filled in;
32
+ * - `org-permissions` folds every declared catalog key into the org
33
+ * permission catalog — the role editor, custom roles, per-member overrides
34
+ * and the rules stamp — and `host-permissions` decides the keys that
35
+ * declare host-role defaults for a site collaborator, per site.
36
+ *
37
+ * The NUMBERS stay where they are checked. A seat add-on's price is a row in
38
+ * `PLAN_PRICING`, read by the Stripe wiring and reconciled by
39
+ * `check-pricing-drift`; a declaration names the quota it widens and by how
40
+ * much per plan, and nothing here restates a price.
41
+ *
42
+ * Registration order is deterministic: the catalog order of
43
+ * `FIRST_PARTY_PLUGINS`, then any other id alphabetically. Plugin modules
44
+ * load in parallel, so the order they REGISTER in is whatever the network
45
+ * gave, and a list that followed it would put the staff lockdown checklist
46
+ * in a different order per session.
47
+ */
48
+ import type { HostAccessRole, OrgPlan, OrgRole } from '../foundation';
49
+ import { type PluginPermission } from './plugin-permissions';
50
+ export interface PluginSeatAddonDeclaration {
51
+ /** The `org.seatAddons` key the purchase is stored under (`aiAddon`). */
52
+ key: string;
53
+ label: string;
54
+ /**
55
+ * How many purchased units count. `1` for an org-wide add-on that is
56
+ * bought once, where a doubled webhook item or a hand edit above one is
57
+ * still one purchase; absent to count the stored quantity.
58
+ */
59
+ maxUnits?: number;
60
+ /**
61
+ * The quota each unit widens, per plan: the resolved entitlement named by
62
+ * `key` gains `perUnitByPlan[plan] × units`. A plan the add-on is not sold
63
+ * on declares 0.
64
+ */
65
+ quota?: {
66
+ key: string;
67
+ perUnitByPlan: Readonly<Record<OrgPlan, number>>;
68
+ };
69
+ /** Feature flags a purchased unit switches on. */
70
+ features?: readonly string[];
71
+ }
72
+ export interface PluginFeatureDeclaration {
73
+ /** The `OrgFeatureFlags` key. */
74
+ key: string;
75
+ label: string;
76
+ /**
77
+ * The plan defaults, when the key is not one the plan tables already
78
+ * carry. Absent means the plan tables decide, which is the case for every
79
+ * key that predates this registry.
80
+ */
81
+ defaultByPlan?: Readonly<Partial<Record<OrgPlan, boolean>>>;
82
+ }
83
+ export interface PluginLockdownFeatureDeclaration {
84
+ /** The lever's wire identity (`ai-generate`). */
85
+ key: string;
86
+ /** The staff checklist's label. */
87
+ label: string;
88
+ /**
89
+ * Whether a verified staff claim passes the lock. Granted where a staff
90
+ * action aids incident response — one real call proves a provider is back
91
+ * — and withheld where the staff action would BE the incident.
92
+ */
93
+ staffBypass: boolean;
94
+ /**
95
+ * What a visitor reads while the lever is pulled: what is paused AND what
96
+ * still works. The expected-back window is appended by the notice builder.
97
+ */
98
+ notice: {
99
+ title: string;
100
+ body: string;
101
+ };
102
+ /**
103
+ * Plugin API paths the lever gates at the dispatcher: exact paths, and
104
+ * prefixes matched on a segment boundary (`ai/generate` also gates
105
+ * `ai/generate/section`, never `ai/generated-report`).
106
+ */
107
+ apiPaths?: {
108
+ exact?: readonly string[];
109
+ prefixes?: readonly string[];
110
+ };
111
+ }
112
+ /**
113
+ * A key a plugin adds to the org permission CATALOG (AGL-2984): the granular
114
+ * map custom roles and per-member overrides are stored in, that
115
+ * `resolveOrgPermissions` layers and the rules stamp carries, and that the
116
+ * role editor lists. A declared key is stored, layered and resolved exactly
117
+ * like a core key; the declaration supplies what a core key's catalog entry
118
+ * and role table supply.
119
+ */
120
+ export interface PluginOrgPermissionDeclaration {
121
+ /** The dotted key a custom role and a per-member override store (`reviews.reply`). */
122
+ key: string;
123
+ /** The role editor's line for the key, and the word a refusal names. */
124
+ label: string;
125
+ /** What the key opens, under the label in the role editor. */
126
+ description: string;
127
+ /** Each org role's verdict when no custom role or per-member override sets the key. */
128
+ roleDefaults: Readonly<Record<OrgRole, boolean>>;
129
+ /**
130
+ * Each HOST role's verdict, for a key a site collaborator holds per site.
131
+ *
132
+ * A collaborator's membership carries no org standing to refine — it
133
+ * exists only to carry access to named sites — so a key with this field is
134
+ * decided for them on the site a request names: the host role they hold
135
+ * there, refined by the per-site toggle on their member document. A key
136
+ * without it is never held by a collaborator.
137
+ */
138
+ hostRoleDefaults?: Readonly<Record<HostAccessRole, boolean>>;
139
+ }
140
+ export interface PluginEntitlementRegistration {
141
+ pluginId: string;
142
+ seatAddons?: readonly PluginSeatAddonDeclaration[];
143
+ features?: readonly PluginFeatureDeclaration[];
144
+ lockdownFeatures?: readonly PluginLockdownFeatureDeclaration[];
145
+ /** Per-tier keys a plugin's own pages read (`registerPluginPermissions`). */
146
+ permissions?: readonly Omit<PluginPermission, 'pluginId'>[];
147
+ /** Keys added to the org permission catalog — see {@link PluginOrgPermissionDeclaration}. */
148
+ orgPermissions?: readonly PluginOrgPermissionDeclaration[];
149
+ }
150
+ /** Calls `listener` after every registration and reset; answers the unsubscribe. */
151
+ export declare function subscribePluginEntitlements(listener: () => void): () => void;
152
+ /**
153
+ * Idempotent per plugin — re-registration replaces that plugin's
154
+ * declarations. A seat add-on, lockdown or catalog permission key another
155
+ * plugin already owns refuses the whole registration: one key, one owner,
156
+ * or the two declarations disagree about what the key means.
157
+ */
158
+ export declare function registerPluginEntitlements(registration: PluginEntitlementRegistration): void;
159
+ /** Every declared catalog permission, in catalog order, with the plugin that declared it. */
160
+ export declare function listPluginOrgPermissions(): Array<PluginOrgPermissionDeclaration & {
161
+ pluginId: string;
162
+ }>;
163
+ /** Every declared seat add-on, in catalog order. */
164
+ export declare function listPluginSeatAddons(): PluginSeatAddonDeclaration[];
165
+ /** One declared seat add-on by its `seatAddons` key. */
166
+ export declare function pluginSeatAddon(key: string): PluginSeatAddonDeclaration | undefined;
167
+ /** Every declared feature, in catalog order. */
168
+ export declare function listPluginFeatures(): PluginFeatureDeclaration[];
169
+ /** Every declared lockdown lever, in catalog order. */
170
+ export declare function listPluginLockdownFeatures(): PluginLockdownFeatureDeclaration[];
171
+ /** One declared lockdown lever by key. */
172
+ export declare function pluginLockdownFeature(key: string): PluginLockdownFeatureDeclaration | undefined;
173
+ /** The plugin that declared a lockdown lever, for attribution. */
174
+ export declare function pluginIdForLockdownFeature(key: string): string | undefined;
175
+ /** Every registration, in catalog order. */
176
+ export declare function listPluginEntitlementRegistrations(): PluginEntitlementRegistration[];
177
+ /**
178
+ * Test seam: forget every registration. The per-tier permissions stay
179
+ * registered; the catalog permissions go with their registrations.
180
+ */
181
+ export declare function resetPluginEntitlementsForTests(): void;
@@ -0,0 +1,188 @@
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
+ * Plugin-declared billing and access keys (AGL-2940).
18
+ *
19
+ * A plugin that sells something, gates something, or can be switched off in
20
+ * an incident declares the KEYS here — a seat add-on, a feature flag, a
21
+ * lockdown lever, a permission — and the core catalogs that used to be
22
+ * edited for each one read the declarations instead:
23
+ *
24
+ * - `plan-entitlements` folds every registered seat add-on into
25
+ * `resolveOrgEntitlements` (a quota raised per unit, features switched on)
26
+ * and answers a registered feature's plan defaults;
27
+ * - `lockdown` lists a registered lever on the staff page, carries its label,
28
+ * its staff-bypass rule and its visitor notice, and maps the API paths it
29
+ * names onto it for the plugin dispatcher;
30
+ * - `plugin-permissions` receives the permissions with the owner filled in;
31
+ * - `org-permissions` folds every declared catalog key into the org
32
+ * permission catalog — the role editor, custom roles, per-member overrides
33
+ * and the rules stamp — and `host-permissions` decides the keys that
34
+ * declare host-role defaults for a site collaborator, per site.
35
+ *
36
+ * The NUMBERS stay where they are checked. A seat add-on's price is a row in
37
+ * `PLAN_PRICING`, read by the Stripe wiring and reconciled by
38
+ * `check-pricing-drift`; a declaration names the quota it widens and by how
39
+ * much per plan, and nothing here restates a price.
40
+ *
41
+ * Registration order is deterministic: the catalog order of
42
+ * `FIRST_PARTY_PLUGINS`, then any other id alphabetically. Plugin modules
43
+ * load in parallel, so the order they REGISTER in is whatever the network
44
+ * gave, and a list that followed it would put the staff lockdown checklist
45
+ * in a different order per session.
46
+ */ import { _ as _extends } from "@swc/helpers/_/_extends";
47
+ import { FIRST_PARTY_PLUGINS } from "./enabled-plugins.js";
48
+ import { registerPluginPermissions } from "./plugin-permissions.js";
49
+ const registrations = new Map();
50
+ /**
51
+ * Readers of the registrations that keep a derived view in step with them —
52
+ * the org permission catalog rebuilds itself on every registration and
53
+ * reset, because a plugin's declarations can register after a module that
54
+ * imported the catalog was evaluated.
55
+ */ const listeners = new Set();
56
+ /** Calls `listener` after every registration and reset; answers the unsubscribe. */ export function subscribePluginEntitlements(listener) {
57
+ listeners.add(listener);
58
+ return ()=>{
59
+ listeners.delete(listener);
60
+ };
61
+ }
62
+ function notifyListeners() {
63
+ for (const listener of [
64
+ ...listeners
65
+ ])listener();
66
+ }
67
+ const CATALOG_ORDER = new Map(FIRST_PARTY_PLUGINS.map((plugin, index)=>[
68
+ plugin.id,
69
+ index
70
+ ]));
71
+ function catalogRank(pluginId) {
72
+ var _CATALOG_ORDER_get;
73
+ return (_CATALOG_ORDER_get = CATALOG_ORDER.get(pluginId)) != null ? _CATALOG_ORDER_get : Number.MAX_SAFE_INTEGER;
74
+ }
75
+ function orderedRegistrations() {
76
+ return [
77
+ ...registrations.values()
78
+ ].sort((a, b)=>catalogRank(a.pluginId) - catalogRank(b.pluginId) || a.pluginId.localeCompare(b.pluginId));
79
+ }
80
+ function refuseStolenKeys(pluginId, kind, keys, ownerOf) {
81
+ for (const key of keys){
82
+ const owner = ownerOf(key);
83
+ if (owner && owner !== pluginId) {
84
+ throw new Error(`${kind} "${key}" is already declared by "${owner}"; refused "${pluginId}"`);
85
+ }
86
+ }
87
+ }
88
+ /**
89
+ * Idempotent per plugin — re-registration replaces that plugin's
90
+ * declarations. A seat add-on, lockdown or catalog permission key another
91
+ * plugin already owns refuses the whole registration: one key, one owner,
92
+ * or the two declarations disagree about what the key means.
93
+ */ export function registerPluginEntitlements(registration) {
94
+ var _registration_seatAddons, _registration_lockdownFeatures, _registration_orgPermissions;
95
+ var _registration_permissions;
96
+ const pluginId = registration.pluginId.trim();
97
+ if (!pluginId) throw new Error('plugin entitlements need a pluginId');
98
+ refuseStolenKeys(pluginId, 'seat add-on', ((_registration_seatAddons = registration.seatAddons) != null ? _registration_seatAddons : []).map((entry)=>entry.key), (key)=>pluginSeatAddonOwner(key));
99
+ refuseStolenKeys(pluginId, 'lockdown feature', ((_registration_lockdownFeatures = registration.lockdownFeatures) != null ? _registration_lockdownFeatures : []).map((entry)=>entry.key), (key)=>pluginLockdownFeatureOwner(key));
100
+ refuseStolenKeys(pluginId, 'org permission', ((_registration_orgPermissions = registration.orgPermissions) != null ? _registration_orgPermissions : []).map((entry)=>entry.key), (key)=>pluginOrgPermissionOwner(key));
101
+ registrations.set(pluginId, _extends({}, registration, {
102
+ pluginId
103
+ }));
104
+ if ((_registration_permissions = registration.permissions) == null ? void 0 : _registration_permissions.length) {
105
+ registerPluginPermissions(registration.permissions.map((permission)=>_extends({}, permission, {
106
+ pluginId
107
+ })));
108
+ }
109
+ notifyListeners();
110
+ }
111
+ function pluginSeatAddonOwner(key) {
112
+ for (const entry of registrations.values()){
113
+ var _entry_seatAddons;
114
+ if ((_entry_seatAddons = entry.seatAddons) == null ? void 0 : _entry_seatAddons.some((addon)=>addon.key === key)) return entry.pluginId;
115
+ }
116
+ return undefined;
117
+ }
118
+ function pluginLockdownFeatureOwner(key) {
119
+ for (const entry of registrations.values()){
120
+ var _entry_lockdownFeatures;
121
+ if ((_entry_lockdownFeatures = entry.lockdownFeatures) == null ? void 0 : _entry_lockdownFeatures.some((feature)=>feature.key === key)) {
122
+ return entry.pluginId;
123
+ }
124
+ }
125
+ return undefined;
126
+ }
127
+ function pluginOrgPermissionOwner(key) {
128
+ for (const entry of registrations.values()){
129
+ var _entry_orgPermissions;
130
+ if ((_entry_orgPermissions = entry.orgPermissions) == null ? void 0 : _entry_orgPermissions.some((permission)=>permission.key === key)) {
131
+ return entry.pluginId;
132
+ }
133
+ }
134
+ return undefined;
135
+ }
136
+ /** Every declared catalog permission, in catalog order, with the plugin that declared it. */ export function listPluginOrgPermissions() {
137
+ return orderedRegistrations().flatMap((entry)=>{
138
+ var _entry_orgPermissions;
139
+ return ((_entry_orgPermissions = entry.orgPermissions) != null ? _entry_orgPermissions : []).map((permission)=>_extends({}, permission, {
140
+ pluginId: entry.pluginId
141
+ }));
142
+ });
143
+ }
144
+ /** Every declared seat add-on, in catalog order. */ export function listPluginSeatAddons() {
145
+ return orderedRegistrations().flatMap((entry)=>{
146
+ var _entry_seatAddons;
147
+ return [
148
+ ...(_entry_seatAddons = entry.seatAddons) != null ? _entry_seatAddons : []
149
+ ];
150
+ });
151
+ }
152
+ /** One declared seat add-on by its `seatAddons` key. */ export function pluginSeatAddon(key) {
153
+ return listPluginSeatAddons().find((entry)=>entry.key === key);
154
+ }
155
+ /** Every declared feature, in catalog order. */ export function listPluginFeatures() {
156
+ return orderedRegistrations().flatMap((entry)=>{
157
+ var _entry_features;
158
+ return [
159
+ ...(_entry_features = entry.features) != null ? _entry_features : []
160
+ ];
161
+ });
162
+ }
163
+ /** Every declared lockdown lever, in catalog order. */ export function listPluginLockdownFeatures() {
164
+ return orderedRegistrations().flatMap((entry)=>{
165
+ var _entry_lockdownFeatures;
166
+ return [
167
+ ...(_entry_lockdownFeatures = entry.lockdownFeatures) != null ? _entry_lockdownFeatures : []
168
+ ];
169
+ });
170
+ }
171
+ /** One declared lockdown lever by key. */ export function pluginLockdownFeature(key) {
172
+ return listPluginLockdownFeatures().find((entry)=>entry.key === key);
173
+ }
174
+ /** The plugin that declared a lockdown lever, for attribution. */ export function pluginIdForLockdownFeature(key) {
175
+ return pluginLockdownFeatureOwner(key);
176
+ }
177
+ /** Every registration, in catalog order. */ export function listPluginEntitlementRegistrations() {
178
+ return orderedRegistrations();
179
+ }
180
+ /**
181
+ * Test seam: forget every registration. The per-tier permissions stay
182
+ * registered; the catalog permissions go with their registrations.
183
+ */ export function resetPluginEntitlementsForTests() {
184
+ registrations.clear();
185
+ notifyListeners();
186
+ }
187
+
188
+ //# sourceMappingURL=plugin-entitlements.js.map