@aglyn/aglyn 1.0.0-beta.217 → 1.0.0-beta.219

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 (348) hide show
  1. package/package.json +14 -14
  2. package/src/lib/app-utils/actions.d.ts +25 -374
  3. package/src/lib/app-utils/actions.js +101 -561
  4. package/src/lib/app-utils/actions.js.map +1 -1
  5. package/src/lib/app-utils/activity-presenter.d.ts +3 -3
  6. package/src/lib/app-utils/activity-presenter.js +36 -52
  7. package/src/lib/app-utils/activity-presenter.js.map +1 -1
  8. package/src/lib/app-utils/admin-audit-index.js +2 -2
  9. package/src/lib/app-utils/admin-audit-index.js.map +1 -1
  10. package/src/lib/app-utils/analytics-events.d.ts +11 -2
  11. package/src/lib/app-utils/analytics-events.js +11 -2
  12. package/src/lib/app-utils/analytics-events.js.map +1 -1
  13. package/src/lib/app-utils/analytics-provider.d.ts +182 -0
  14. package/src/lib/app-utils/analytics-provider.js +133 -0
  15. package/src/lib/app-utils/analytics-provider.js.map +1 -0
  16. package/src/lib/app-utils/api-plugins.d.ts +46 -0
  17. package/src/lib/app-utils/api-plugins.js +19 -0
  18. package/src/lib/app-utils/api-plugins.js.map +1 -1
  19. package/src/lib/app-utils/{marketplace-overrides.d.ts → artifact-overrides.d.ts} +9 -6
  20. package/src/lib/app-utils/{marketplace-overrides.js → artifact-overrides.js} +10 -7
  21. package/src/lib/app-utils/artifact-overrides.js.map +1 -0
  22. package/src/lib/app-utils/{marketplace-provenance.d.ts → artifact-provenance.d.ts} +12 -10
  23. package/src/lib/app-utils/{marketplace-provenance.js → artifact-provenance.js} +9 -7
  24. package/src/lib/app-utils/artifact-provenance.js.map +1 -0
  25. package/src/lib/app-utils/assist-credits.js +2 -1
  26. package/src/lib/app-utils/assist-credits.js.map +1 -1
  27. package/src/lib/app-utils/binding-token-catalog.d.ts +5 -13
  28. package/src/lib/app-utils/binding-token-catalog.js +17 -41
  29. package/src/lib/app-utils/binding-token-catalog.js.map +1 -1
  30. package/src/lib/app-utils/binding-tokens.js +1 -1
  31. package/src/lib/app-utils/binding-tokens.js.map +1 -1
  32. package/src/lib/app-utils/brand-support-line.d.ts +36 -0
  33. package/src/lib/app-utils/brand-support-line.js +38 -0
  34. package/src/lib/app-utils/brand-support-line.js.map +1 -0
  35. package/src/lib/app-utils/campaign-touch.d.ts +5 -5
  36. package/src/lib/app-utils/campaign-touch.js +8 -8
  37. package/src/lib/app-utils/campaign-touch.js.map +1 -1
  38. package/src/lib/app-utils/collection-entries.d.ts +2 -2
  39. package/src/lib/app-utils/collection-entries.js.map +1 -1
  40. package/src/lib/app-utils/consent-group-change.d.ts +4 -0
  41. package/src/lib/app-utils/consent-group-change.js.map +1 -1
  42. package/src/lib/app-utils/console-record-links.d.ts +10 -89
  43. package/src/lib/app-utils/console-record-links.js +3 -107
  44. package/src/lib/app-utils/console-record-links.js.map +1 -1
  45. package/src/lib/app-utils/console-routes.d.ts +16 -7
  46. package/src/lib/app-utils/console-routes.js +9 -3
  47. package/src/lib/app-utils/console-routes.js.map +1 -1
  48. package/src/lib/app-utils/contacts.d.ts +23 -1
  49. package/src/lib/app-utils/contacts.js +21 -5
  50. package/src/lib/app-utils/contacts.js.map +1 -1
  51. package/src/lib/app-utils/cross-pool-desync.d.ts +39 -0
  52. package/src/lib/app-utils/cross-pool-desync.js +47 -0
  53. package/src/lib/app-utils/cross-pool-desync.js.map +1 -0
  54. package/src/lib/app-utils/csv-upload.d.ts +29 -0
  55. package/src/lib/app-utils/csv-upload.js +29 -0
  56. package/src/lib/app-utils/csv-upload.js.map +1 -0
  57. package/src/lib/app-utils/dataset-models.d.ts +5 -5
  58. package/src/lib/app-utils/dataset-models.js +19 -2
  59. package/src/lib/app-utils/dataset-models.js.map +1 -1
  60. package/src/lib/app-utils/datasets.d.ts +65 -11
  61. package/src/lib/app-utils/datasets.js +74 -11
  62. package/src/lib/app-utils/datasets.js.map +1 -1
  63. package/src/lib/app-utils/docs-deflection.d.ts +6 -6
  64. package/src/lib/app-utils/docs-deflection.js.map +1 -1
  65. package/src/lib/app-utils/docs-help.generated.d.ts +12 -6
  66. package/src/lib/app-utils/docs-help.generated.js +21 -6
  67. package/src/lib/app-utils/docs-help.generated.js.map +1 -1
  68. package/src/lib/app-utils/docs-index.generated.d.ts +2 -2
  69. package/src/lib/app-utils/docs-index.generated.js +514 -318
  70. package/src/lib/app-utils/docs-index.generated.js.map +1 -1
  71. package/src/lib/app-utils/docs-retrieval.d.ts +3 -3
  72. package/src/lib/app-utils/docs-retrieval.js +14 -10
  73. package/src/lib/app-utils/docs-retrieval.js.map +1 -1
  74. package/src/lib/app-utils/duplicate-resource.d.ts +4 -1
  75. package/src/lib/app-utils/duplicate-resource.js +7 -4
  76. package/src/lib/app-utils/duplicate-resource.js.map +1 -1
  77. package/src/lib/app-utils/dynamic-list-rule.d.ts +1 -1
  78. package/src/lib/app-utils/dynamic-list-rule.js.map +1 -1
  79. package/src/lib/app-utils/element-ui.d.ts +1 -1
  80. package/src/lib/app-utils/element-ui.js +1 -1
  81. package/src/lib/app-utils/element-ui.js.map +1 -1
  82. package/src/lib/app-utils/email-starter-policy.js +3 -3
  83. package/src/lib/app-utils/email-starter-policy.js.map +1 -1
  84. package/src/lib/app-utils/entity-picker-context.d.ts +10 -5
  85. package/src/lib/app-utils/entity-picker-context.js.map +1 -1
  86. package/src/lib/app-utils/error-beacon.d.ts +75 -6
  87. package/src/lib/app-utils/error-beacon.js +160 -21
  88. package/src/lib/app-utils/error-beacon.js.map +1 -1
  89. package/src/lib/app-utils/expand-repeatables.d.ts +10 -10
  90. package/src/lib/app-utils/expand-repeatables.js +10 -10
  91. package/src/lib/app-utils/expand-repeatables.js.map +1 -1
  92. package/src/lib/app-utils/host-events.d.ts +82 -0
  93. package/src/lib/app-utils/host-events.js +62 -0
  94. package/src/lib/app-utils/host-events.js.map +1 -0
  95. package/src/lib/app-utils/lockdown.d.ts +33 -1
  96. package/src/lib/app-utils/lockdown.js +45 -4
  97. package/src/lib/app-utils/lockdown.js.map +1 -1
  98. package/src/lib/app-utils/margin-utilization.d.ts +4 -69
  99. package/src/lib/app-utils/margin-utilization.js +82 -69
  100. package/src/lib/app-utils/margin-utilization.js.map +1 -1
  101. package/src/lib/app-utils/node-definition-sanitizer.d.ts +16 -16
  102. package/src/lib/app-utils/node-definition-sanitizer.js +24 -20
  103. package/src/lib/app-utils/node-definition-sanitizer.js.map +1 -1
  104. package/src/lib/app-utils/node-interactions.d.ts +7 -7
  105. package/src/lib/app-utils/node-interactions.js.map +1 -1
  106. package/src/lib/app-utils/notifications.d.ts +78 -47
  107. package/src/lib/app-utils/notifications.js +63 -44
  108. package/src/lib/app-utils/notifications.js.map +1 -1
  109. package/src/lib/app-utils/payments-configured.d.ts +8 -21
  110. package/src/lib/app-utils/payments-configured.js +8 -23
  111. package/src/lib/app-utils/payments-configured.js.map +1 -1
  112. package/src/lib/app-utils/plan-entitlements.d.ts +43 -128
  113. package/src/lib/app-utils/plan-entitlements.js +145 -304
  114. package/src/lib/app-utils/plan-entitlements.js.map +1 -1
  115. package/src/lib/app-utils/platform-brand.d.ts +10 -0
  116. package/src/lib/app-utils/platform-brand.js +14 -3
  117. package/src/lib/app-utils/platform-brand.js.map +1 -1
  118. package/src/lib/app-utils/plugin-api-rate-limit.d.ts +7 -1
  119. package/src/lib/app-utils/plugin-api-rate-limit.js +11 -3
  120. package/src/lib/app-utils/plugin-api-rate-limit.js.map +1 -1
  121. package/src/lib/app-utils/plugin-bundle-checks.js +2 -2
  122. package/src/lib/app-utils/plugin-bundle-checks.js.map +1 -1
  123. package/src/lib/app-utils/plugin-host-events.generated.d.ts +12 -0
  124. package/src/lib/app-utils/plugin-host-events.generated.js +169 -0
  125. package/src/lib/app-utils/plugin-host-events.generated.js.map +1 -0
  126. package/src/lib/app-utils/plugin-release-flags.generated.d.ts +12 -0
  127. package/src/lib/app-utils/plugin-release-flags.generated.js +106 -0
  128. package/src/lib/app-utils/plugin-release-flags.generated.js.map +1 -0
  129. package/src/lib/app-utils/realm-host-surface.generated.js +2 -0
  130. package/src/lib/app-utils/realm-host-surface.generated.js.map +1 -1
  131. package/src/lib/app-utils/release-flags.d.ts +14 -5
  132. package/src/lib/app-utils/release-flags.js +21 -125
  133. package/src/lib/app-utils/release-flags.js.map +1 -1
  134. package/src/lib/app-utils/repeat-sources.d.ts +9 -0
  135. package/src/lib/app-utils/repeat-sources.js.map +1 -1
  136. package/src/lib/app-utils/retained-refusals.d.ts +73 -0
  137. package/src/lib/app-utils/retained-refusals.js +186 -0
  138. package/src/lib/app-utils/retained-refusals.js.map +1 -0
  139. package/src/lib/app-utils/scope-tokens.d.ts +27 -0
  140. package/src/lib/app-utils/scope-tokens.js +61 -0
  141. package/src/lib/app-utils/scope-tokens.js.map +1 -1
  142. package/src/lib/app-utils/screen-link-context.js +3 -3
  143. package/src/lib/app-utils/screen-link-context.js.map +1 -1
  144. package/src/lib/app-utils/screen-route.d.ts +15 -0
  145. package/src/lib/app-utils/screen-route.js +21 -1
  146. package/src/lib/app-utils/screen-route.js.map +1 -1
  147. package/src/lib/app-utils/seo-audit.d.ts +132 -0
  148. package/src/lib/app-utils/seo-audit.js +246 -0
  149. package/src/lib/app-utils/seo-audit.js.map +1 -0
  150. package/src/lib/app-utils/seo-keywords.d.ts +48 -0
  151. package/src/lib/app-utils/seo-keywords.js +60 -0
  152. package/src/lib/app-utils/seo-keywords.js.map +1 -0
  153. package/src/lib/app-utils/seo-page-facts.d.ts +66 -0
  154. package/src/lib/app-utils/seo-page-facts.js +155 -0
  155. package/src/lib/app-utils/seo-page-facts.js.map +1 -0
  156. package/src/lib/app-utils/seo-site-scan.d.ts +126 -0
  157. package/src/lib/app-utils/seo-site-scan.js +162 -0
  158. package/src/lib/app-utils/seo-site-scan.js.map +1 -0
  159. package/src/lib/app-utils/seo-title-variables.js +1 -1
  160. package/src/lib/app-utils/seo-title-variables.js.map +1 -1
  161. package/src/lib/app-utils/server.d.ts +6 -9
  162. package/src/lib/app-utils/server.js +17 -27
  163. package/src/lib/app-utils/server.js.map +1 -1
  164. package/src/lib/app-utils/site-interactions.d.ts +501 -0
  165. package/src/lib/app-utils/site-interactions.js +554 -0
  166. package/src/lib/app-utils/site-interactions.js.map +1 -0
  167. package/src/lib/app-utils/{marketplace-theme.d.ts → site-theme.d.ts} +13 -2
  168. package/src/lib/app-utils/{marketplace-theme.js → site-theme.js} +5 -2
  169. package/src/lib/app-utils/site-theme.js.map +1 -0
  170. package/src/lib/app-utils/sitemap.d.ts +4 -3
  171. package/src/lib/app-utils/sitemap.js +9 -7
  172. package/src/lib/app-utils/sitemap.js.map +1 -1
  173. package/src/lib/app-utils/stale-build-error.d.ts +51 -0
  174. package/src/lib/app-utils/stale-build-error.js +100 -1
  175. package/src/lib/app-utils/stale-build-error.js.map +1 -1
  176. package/src/lib/app-utils/starter-templates.d.ts +20 -0
  177. package/src/lib/app-utils/starter-templates.js +49 -0
  178. package/src/lib/app-utils/starter-templates.js.map +1 -1
  179. package/src/lib/app-utils/tax-jurisdiction-figures.d.ts +118 -0
  180. package/src/lib/app-utils/tax-jurisdiction-figures.js +123 -0
  181. package/src/lib/app-utils/tax-jurisdiction-figures.js.map +1 -0
  182. package/src/lib/app-utils/theme-library.d.ts +10 -3
  183. package/src/lib/app-utils/theme-library.js +13 -4
  184. package/src/lib/app-utils/theme-library.js.map +1 -1
  185. package/src/lib/app-utils/{campaign-attribution.d.ts → utm-attribution.d.ts} +11 -6
  186. package/src/lib/app-utils/{campaign-attribution.js → utm-attribution.js} +13 -8
  187. package/src/lib/app-utils/utm-attribution.js.map +1 -0
  188. package/src/lib/app-utils/{campaign-forwarding.d.ts → utm-forwarding.d.ts} +14 -14
  189. package/src/lib/app-utils/{campaign-forwarding.js → utm-forwarding.js} +26 -26
  190. package/src/lib/app-utils/utm-forwarding.js.map +1 -0
  191. package/src/lib/app-utils/video-object.js +6 -5
  192. package/src/lib/app-utils/video-object.js.map +1 -1
  193. package/src/lib/app-utils/visitor-consent.d.ts +41 -164
  194. package/src/lib/app-utils/visitor-consent.js +66 -277
  195. package/src/lib/app-utils/visitor-consent.js.map +1 -1
  196. package/src/lib/app-utils/web-vitals-rum.d.ts +7 -7
  197. package/src/lib/app-utils/web-vitals-rum.js +31 -63
  198. package/src/lib/app-utils/web-vitals-rum.js.map +1 -1
  199. package/src/lib/app-utils/where-used.d.ts +11 -6
  200. package/src/lib/app-utils/where-used.js +3 -8
  201. package/src/lib/app-utils/where-used.js.map +1 -1
  202. package/src/lib/canvas-manager/canvas-manager.js +3 -3
  203. package/src/lib/canvas-manager/canvas-manager.js.map +1 -1
  204. package/src/lib/foundation/definitions/components.types.d.ts +1 -1
  205. package/src/lib/foundation/definitions/components.types.js +1 -1
  206. package/src/lib/foundation/definitions/components.types.js.map +1 -1
  207. package/src/lib/foundation/definitions/org-billing.types.d.ts +18 -135
  208. package/src/lib/foundation/definitions/org-billing.types.js.map +1 -1
  209. package/src/lib/foundation/definitions/organization.types.d.ts +6 -3
  210. package/src/lib/foundation/definitions/organization.types.js.map +1 -1
  211. package/src/lib/foundation/definitions/platform.types.d.ts +27 -5
  212. package/src/lib/foundation/definitions/platform.types.js.map +1 -1
  213. package/src/lib/foundation/definitions/write-deny-coverage.util.d.ts +16 -0
  214. package/src/lib/foundation/definitions/write-deny-coverage.util.js +20 -0
  215. package/src/lib/foundation/definitions/write-deny-coverage.util.js.map +1 -1
  216. package/src/lib/foundation/index.d.ts +1 -1
  217. package/src/lib/foundation/index.js.map +1 -1
  218. package/src/lib/plugin-manager/besigner-documents.d.ts +96 -0
  219. package/src/lib/plugin-manager/besigner-documents.js +61 -0
  220. package/src/lib/plugin-manager/besigner-documents.js.map +1 -0
  221. package/src/lib/plugin-manager/computed-variables.d.ts +71 -0
  222. package/src/lib/plugin-manager/computed-variables.js +74 -0
  223. package/src/lib/plugin-manager/computed-variables.js.map +1 -0
  224. package/src/lib/plugin-manager/custom-fields.d.ts +29 -2
  225. package/src/lib/plugin-manager/custom-fields.js +47 -1
  226. package/src/lib/plugin-manager/custom-fields.js.map +1 -1
  227. package/src/lib/plugin-manager/feature-plugins.d.ts +292 -20
  228. package/src/lib/plugin-manager/feature-plugins.js +105 -17
  229. package/src/lib/plugin-manager/feature-plugins.js.map +1 -1
  230. package/src/lib/plugin-manager/first-party-plugins.generated.d.ts +123 -0
  231. package/src/lib/plugin-manager/first-party-plugins.generated.js +785 -14
  232. package/src/lib/plugin-manager/first-party-plugins.generated.js.map +1 -1
  233. package/src/lib/plugin-manager/plugin-activity-actions.d.ts +12 -0
  234. package/src/lib/plugin-manager/plugin-activity-actions.js +25 -0
  235. package/src/lib/plugin-manager/plugin-activity-actions.js.map +1 -1
  236. package/src/lib/plugin-manager/plugin-contributions.d.ts +1 -1
  237. package/src/lib/plugin-manager/plugin-contributions.js.map +1 -1
  238. package/src/lib/plugin-manager/plugin-declarations-repair.d.ts +36 -0
  239. package/src/lib/plugin-manager/plugin-declarations-repair.js +64 -0
  240. package/src/lib/plugin-manager/plugin-declarations-repair.js.map +1 -0
  241. package/src/lib/plugin-manager/plugin-dependents.d.ts +101 -0
  242. package/src/lib/plugin-manager/plugin-dependents.js +75 -0
  243. package/src/lib/plugin-manager/plugin-dependents.js.map +1 -0
  244. package/src/lib/plugin-manager/plugin-distribution.d.ts +55 -0
  245. package/src/lib/plugin-manager/plugin-distribution.js +45 -0
  246. package/src/lib/plugin-manager/plugin-distribution.js.map +1 -0
  247. package/src/lib/plugin-manager/plugin-host-collections.d.ts +17 -0
  248. package/src/lib/plugin-manager/plugin-host-collections.js +6 -0
  249. package/src/lib/plugin-manager/plugin-host-collections.js.map +1 -1
  250. package/src/lib/plugin-manager/plugin-host-resources.d.ts +133 -0
  251. package/src/lib/plugin-manager/plugin-host-resources.js +52 -0
  252. package/src/lib/plugin-manager/plugin-host-resources.js.map +1 -0
  253. package/src/lib/plugin-manager/plugin-org-erasure.d.ts +28 -2
  254. package/src/lib/plugin-manager/plugin-org-erasure.js +61 -2
  255. package/src/lib/plugin-manager/plugin-org-erasure.js.map +1 -1
  256. package/src/lib/plugin-manager/plugin-plan-entitlements.d.ts +123 -0
  257. package/src/lib/plugin-manager/plugin-plan-entitlements.js +101 -0
  258. package/src/lib/plugin-manager/plugin-plan-entitlements.js.map +1 -0
  259. package/src/lib/plugin-manager/plugin-record-index.d.ts +95 -0
  260. package/src/lib/plugin-manager/plugin-record-index.js +51 -0
  261. package/src/lib/plugin-manager/plugin-record-index.js.map +1 -0
  262. package/src/lib/plugin-manager/plugin-record-written.d.ts +58 -0
  263. package/src/lib/plugin-manager/plugin-record-written.js +42 -0
  264. package/src/lib/plugin-manager/plugin-record-written.js.map +1 -0
  265. package/src/lib/plugin-manager/plugin-revenue-sources.d.ts +213 -0
  266. package/src/lib/plugin-manager/plugin-revenue-sources.js +194 -0
  267. package/src/lib/plugin-manager/plugin-revenue-sources.js.map +1 -0
  268. package/src/lib/plugin-manager/plugin-site-bundle.d.ts +145 -0
  269. package/src/lib/plugin-manager/plugin-site-bundle.js +78 -0
  270. package/src/lib/plugin-manager/plugin-site-bundle.js.map +1 -0
  271. package/src/lib/plugin-manager/plugin-site-cache.d.ts +12 -0
  272. package/src/lib/plugin-manager/plugin-site-cache.js.map +1 -1
  273. package/src/lib/plugin-manager/plugin-site-export.d.ts +81 -0
  274. package/src/lib/plugin-manager/plugin-site-export.js +40 -0
  275. package/src/lib/plugin-manager/plugin-site-export.js.map +1 -0
  276. package/src/lib/plugin-manager/plugin-sitemap-sections.d.ts +88 -0
  277. package/src/lib/plugin-manager/plugin-sitemap-sections.js +29 -0
  278. package/src/lib/plugin-manager/plugin-sitemap-sections.js.map +1 -0
  279. package/src/lib/plugin-manager/plugin-tax-profile.d.ts +20 -4
  280. package/src/lib/plugin-manager/plugin-tax-profile.js.map +1 -1
  281. package/src/lib/plugin-manager/plugin-tax-return-sources.d.ts +255 -0
  282. package/src/lib/plugin-manager/plugin-tax-return-sources.js +191 -0
  283. package/src/lib/plugin-manager/plugin-tax-return-sources.js.map +1 -0
  284. package/src/lib/plugin-manager/plugin-template-sources.d.ts +75 -0
  285. package/src/lib/plugin-manager/plugin-template-sources.js +37 -0
  286. package/src/lib/plugin-manager/plugin-template-sources.js.map +1 -0
  287. package/src/lib/plugin-manager/plugin-usage-axes.d.ts +107 -0
  288. package/src/lib/plugin-manager/plugin-usage-axes.js +107 -0
  289. package/src/lib/plugin-manager/plugin-usage-axes.js.map +1 -0
  290. package/src/lib/plugin-manager/plugin-zones.d.ts +4 -5
  291. package/src/lib/plugin-manager/plugin-zones.js.map +1 -1
  292. package/src/lib/plugin-manager/realm-host-aglyn.generated.js +2 -0
  293. package/src/lib/plugin-manager/realm-host-aglyn.generated.js.map +1 -1
  294. package/src/lib/plugin-manager/record-captured-contact.d.ts +1 -14
  295. package/src/lib/plugin-manager/record-captured-contact.js +10 -32
  296. package/src/lib/plugin-manager/record-captured-contact.js.map +1 -1
  297. package/src/lib/plugin-manager/repeat-rows.d.ts +124 -0
  298. package/src/lib/plugin-manager/repeat-rows.js +108 -0
  299. package/src/lib/plugin-manager/repeat-rows.js.map +1 -0
  300. package/src/lib/plugin-manager/submission-record-target.d.ts +144 -0
  301. package/src/lib/plugin-manager/submission-record-target.js +125 -0
  302. package/src/lib/plugin-manager/submission-record-target.js.map +1 -0
  303. package/src/lib/plugin-manager/video-embed-provider.d.ts +108 -0
  304. package/src/lib/plugin-manager/video-embed-provider.js +165 -0
  305. package/src/lib/plugin-manager/video-embed-provider.js.map +1 -0
  306. package/src/lib/types/nodes.d.ts +2 -2
  307. package/src/lib/types/nodes.js.map +1 -1
  308. package/src/lib/app-utils/campaign-attribution.js.map +0 -1
  309. package/src/lib/app-utils/campaign-forwarding.js.map +0 -1
  310. package/src/lib/app-utils/contact-holder.d.ts +0 -68
  311. package/src/lib/app-utils/contact-holder.js +0 -129
  312. package/src/lib/app-utils/contact-holder.js.map +0 -1
  313. package/src/lib/app-utils/contact-merge.d.ts +0 -136
  314. package/src/lib/app-utils/contact-merge.js +0 -412
  315. package/src/lib/app-utils/contact-merge.js.map +0 -1
  316. package/src/lib/app-utils/crm-csv.d.ts +0 -239
  317. package/src/lib/app-utils/crm-csv.js +0 -467
  318. package/src/lib/app-utils/crm-csv.js.map +0 -1
  319. package/src/lib/app-utils/crm-digest.d.ts +0 -185
  320. package/src/lib/app-utils/crm-digest.js +0 -272
  321. package/src/lib/app-utils/crm-digest.js.map +0 -1
  322. package/src/lib/app-utils/form-dataset-binding.d.ts +0 -50
  323. package/src/lib/app-utils/form-dataset-binding.js +0 -74
  324. package/src/lib/app-utils/form-dataset-binding.js.map +0 -1
  325. package/src/lib/app-utils/list-import.d.ts +0 -158
  326. package/src/lib/app-utils/list-import.js +0 -332
  327. package/src/lib/app-utils/list-import.js.map +0 -1
  328. package/src/lib/app-utils/marketplace-listing-visibility.d.ts +0 -122
  329. package/src/lib/app-utils/marketplace-listing-visibility.js +0 -147
  330. package/src/lib/app-utils/marketplace-listing-visibility.js.map +0 -1
  331. package/src/lib/app-utils/marketplace-overrides.js.map +0 -1
  332. package/src/lib/app-utils/marketplace-provenance.js.map +0 -1
  333. package/src/lib/app-utils/marketplace-theme.js.map +0 -1
  334. package/src/lib/app-utils/marketplace-update-state.d.ts +0 -119
  335. package/src/lib/app-utils/marketplace-update-state.js +0 -132
  336. package/src/lib/app-utils/marketplace-update-state.js.map +0 -1
  337. package/src/lib/app-utils/publisher-agreement.d.ts +0 -289
  338. package/src/lib/app-utils/publisher-agreement.js +0 -321
  339. package/src/lib/app-utils/publisher-agreement.js.map +0 -1
  340. package/src/lib/app-utils/wistia-embed.d.ts +0 -104
  341. package/src/lib/app-utils/wistia-embed.js +0 -138
  342. package/src/lib/app-utils/wistia-embed.js.map +0 -1
  343. package/src/lib/app-utils/workflows.d.ts +0 -136
  344. package/src/lib/app-utils/workflows.js +0 -346
  345. package/src/lib/app-utils/workflows.js.map +0 -1
  346. package/src/lib/plugin-manager/commerce-zone-props.d.ts +0 -172
  347. package/src/lib/plugin-manager/commerce-zone-props.js +0 -31
  348. package/src/lib/plugin-manager/commerce-zone-props.js.map +0 -1
@@ -297,7 +297,7 @@ export declare enum FieldComponentType {
297
297
  /**
298
298
  * Select listing the model fields of the nearest ancestor node's chosen
299
299
  * dataset (AGL-556): the editor resolves options from
300
- * EntityPickerContext.datasetFields using the ancestor's `datasetId`
300
+ * EntityPickerContext.entityFields using the ancestor's `datasetId`
301
301
  * (or legacy `datasetName` matched by label) and persists the stable
302
302
  * model fieldId — field renames never break the mapping.
303
303
  */
@@ -128,7 +128,7 @@ export var FieldComponentType = /*#__PURE__*/ function(FieldComponentType) {
128
128
  /**
129
129
  * Select listing the model fields of the nearest ancestor node's chosen
130
130
  * dataset (AGL-556): the editor resolves options from
131
- * EntityPickerContext.datasetFields using the ancestor's `datasetId`
131
+ * EntityPickerContext.entityFields using the ancestor's `datasetId`
132
132
  * (or legacy `datasetName` matched by label) and persists the stable
133
133
  * model fieldId — field renames never break the mapping.
134
134
  */ FieldComponentType["DATASET_FIELD_SELECT"] = "dataset-field-select";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../libs/aglyn/src/lib/foundation/definitions/components.types.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 type {\n ConditionDefinition,\n DataType,\n Validator,\n} from '@data-driven-forms/react-form-renderer'\nimport type {\n FieldActions,\n ResolvePropsFunction,\n} from '@data-driven-forms/react-form-renderer/common-types'\nimport type { SvgIconProps } from '@mui/material'\nimport type { MuiStyledOptions } from '@mui/system/createStyled'\nimport type { CANVAS_ROOT_ELEMENT_ID } from '../constants/canvas'\nimport type { ComponentCategory } from '../constants/components'\nimport type { FEATURE_FLAG, RICH_TEXT_COMMANDS } from '../constants/shared'\nimport type { AGLYN_OF, SYMBOL_TYPE } from '../constants/symbol'\n\nexport enum LinealDirectiveFlag {\n LIMIT_TO = 'limitedTo',\n DISALLOW = 'forbid',\n}\n\nexport type BundleId = string\nexport type PluginId = string\nexport type ComponentId = string\nexport type PresetId = string\nexport type NodeId = string\n\nexport type ComponentsLinealOrder = [\n directiveType: LinealDirectiveFlag,\n directiveDefinition:\n | Array<ComponentId>\n | { plugins?: Array<PluginId>; components: Array<ComponentId> }\n | { plugins: Array<PluginId>; components?: Array<ComponentId> },\n]\n\nexport type AglynNodeItemDenormalized<P = JSX.AnyProps> = AglynNodeSchema<P> & {\n nodes?: AglynNodeItemDenormalized[]\n}\n\nexport type AglynNodesList = Array<AglynNodeItemDenormalized>\n\nexport type AglynNodeHierarchy<$ID extends NodeId = NodeId> = [\n root: CANVAS_ROOT_ELEMENT_ID,\n ...nodes: [...ancestors: NodeId[], element: $ID],\n]\n\nexport interface AglynExoticComponent<PROPS = any, REF = any>\n extends JSX.ForwardRefExoticComponent<\n JSX.PropsWithoutRef<PROPS> & JSX.RefAttributes<REF>\n > {\n [AGLYN_OF]?: SYMBOL_TYPE\n aglyn?: boolean\n schema?: AglynComponentSchema<PROPS>\n}\n\nexport interface AglynComponentSchema<P = any> {\n $id: ComponentId\n pluginId?: BundleId\n kind?: 'element' | 'plaintext' | 'markdown'\n\n displayName: string\n title?: string\n subtitle?: string\n description?: string\n\n /**\n * Icon props for display around besigner\n */\n icon?: SvgIconProps\n /**\n * Options to be passed to styled(Component, \\{...styledOptions\\})\n */\n styledOptions?: MuiStyledOptions\n\n /**\n * Define a limitation for nodes allowed as direct descendents\n */\n restrictChildren?: ComponentsLinealOrder\n /**\n * Define a limitation for nodes allowed to be direct ancestors\n */\n restrictParent?: ComponentsLinealOrder\n\n /**\n * Filter props\n */\n resolveProps?: JSX.ResolveProps<AglynNodeItemDenormalized<P>>\n\n /**\n * Attribute fields to modify the contextual properties\n * New version\n */\n attributes?: AglynAttributeSchema[]\n\n /**\n * Which groups of formatting the inline rich-text toolbar offers for this\n * component (AGL-2557). Read only where `flags.richTextEditable` is on.\n *\n * Omitted means every group, which is what leaves Typography exactly as it\n * was. Naming a subset narrows the toolbar AND the commit: a surface that\n * offers neither lists nor links is phrasing-only, and the sanitizer holds\n * it to that whatever an author pastes in.\n */\n richTextCommands?: RICH_TEXT_COMMANDS[]\n\n /**\n * Feature flags\n */\n flags?: {\n /**\n * Disable the use of emotion styled\n */\n emotion?: FEATURE_FLAG\n /**\n * Can the nodes of this component type be cloned?\n */\n cloning?: FEATURE_FLAG\n /**\n * Allow dragging nodes of this component type\n */\n dragging?: FEATURE_FLAG\n /**\n * Allow dropping nodes inside nodes of this component type\n */\n dropping?: FEATURE_FLAG\n /**\n * Allow editing element attributes of this component type\n */\n editing?: FEATURE_FLAG\n /**\n * Allow removing nodes of this component type\n */\n removing?: FEATURE_FLAG\n /**\n * Describe nodes of this component type to be self-closing\n */\n selfClosing?: FEATURE_FLAG\n /**\n * Component renders its `children` prop as text content the editor may\n * edit directly (Attributes \"Text\" field, inline canvas editing).\n */\n textEditable?: FEATURE_FLAG\n /**\n * Component also accepts basic rich text (AGL-54): sanitized HTML in the\n * `html` prop with `children` as the plain-text fallback.\n */\n richTextEditable?: FEATURE_FLAG\n /**\n * Component reads its children POSITIONALLY (AGL-1237), so the renderer\n * must hand it one React child per node child instead of the single\n * `<Branch>` element it normally passes.\n *\n * MUI's Accordion does `const [summary, ...rest] = Children.toArray(children)`,\n * and `toArray` does not traverse into an element — so with the default\n * wrapping the summary swallowed the whole subtree and the Collapse got\n * nothing. Every accordion on every published site expanded to reveal an\n * empty panel while its content rendered unconditionally inside the\n * summary's `<h3>`.\n *\n * Opt in only for components with this contract; the wrapper is what\n * keeps the Branch/Stem/Leaf seam swappable for everything else.\n */\n positionalChildren?: FEATURE_FLAG\n }\n\n /**\n * Preset items are the available items to add to the canvas\n */\n presets?: AglynNodePresetSchema[]\n}\n\nexport type NodePresetData = Omit<AglynNodeSchema, '$id' | 'nodes'> & {\n $id?: NodeId\n nodes?: NodePresetData[]\n}\n\nexport type AglynNodePresetSchema = {\n $id: PresetId\n label: string\n componentId?: ComponentId\n pluginId?: BundleId\n description?: string\n icon?: SvgIconProps\n category?: string | ComponentCategory\n data: NodePresetData\n}\n\nexport enum FieldComponentType {\n /**\n * Per-breakpoint span editor (AGL-2486): a small row of breakpoint\n * controls (All / xs / sm / md / lg / xl), each offering a column count\n * plus MUI's `auto` and `grow` keywords. The persisted prop is still ONE\n * string in the syntax the Grid element already parses (`\"6\"`, `\"auto\"`,\n * `\"xs:12 md:6\"`) — this is an input affordance, not a shape change, so\n * renderers and existing documents stay untouched. A value the row cannot\n * model (a `{{token}}`, an unknown breakpoint) falls back to free text\n * rather than being clobbered.\n */\n BREAKPOINT_SPAN = 'breakpoint-span',\n BUTTON = 'button',\n BUTTON_GROUP = 'button-group',\n CHECKBOX = 'checkbox',\n COLOR_PICKER = 'color-picker',\n /**\n * Border editor (AGL-2486): a thickness box plus a plain-English line-style\n * picker (solid / dashed / dotted / double / no line). The persisted prop is\n * still ONE CSS shorthand string (`\"1px solid\"`, `\"none\"`, `\"\"`), so\n * renderers and existing documents stay untouched. A value the pair cannot\n * model (`thin solid`, `1px solid #f00`, a binding token) falls back to free\n * text rather than being clobbered, and flips back the moment the text is a\n * plain `<width> <style>` again.\n */\n CSS_BORDER = 'css-border',\n /**\n * CSS length editor (AGL-1219): a number box plus a unit picker sharing\n * the styles panel's unit list. The persisted prop is still ONE CSS\n * string (`\"920px\"`, `\"100%\"`, `\"auto\"`, `\"\"`) — this is an input\n * affordance, not a shape change, so renderers stay untouched. Values\n * the picker can't model (`calc(…)`, a binding token) fall back to free\n * text rather than being clobbered.\n */\n CSS_DIMENSION = 'css-dimension',\n /**\n * Background fill editor (AGL-1331): a fill-type switch (default / solid\n * / linear / radial) over an angle box and a colour-stop list, each stop\n * bindable to a palette token or a literal. The persisted prop is ONE CSS\n * string under `backgroundImage` — a solid fill writes the explicit\n * keyword `none` and leaves `backgroundColor` to do the job, while the\n * default choice writes nothing at all (AGL-1338: the two differ on a\n * component instance, where absence means \"keep the component's fill\") —\n * so renderers stay untouched. Values\n * the editor cannot model (`conic-gradient`, `to bottom right`, a stacked\n * image list) fall back to free text rather than being clobbered.\n */\n CSS_GRADIENT = 'css-gradient',\n /**\n * Row-and-column grid editor for the Table element (AGL-2543).\n *\n * The persisted prop is still ONE string — pipe-delimited rows with the\n * markdown divider carrying per-column alignment — so the renderer and\n * existing documents stay untouched, and a comparison table already\n * authored inside a Markdown element pastes straight in. This is the\n * affordance that makes the element no-code: without it an author edits\n * pipe syntax, which is the audience the besigner exists to spare.\n */\n DATA_TABLE = 'data-table',\n DATE_PICKER = 'date-picker',\n DUAL_LIST_SELECT = 'dual-list-select',\n FIELD_ARRAY = 'field-array',\n ICON_PICKER = 'icon-picker',\n /**\n * markdown-lite document editor (AGL-1616): the WYSIWYG the console\n * already ships for blog entries and marketplace listings, rendered as the\n * attribute's field. The persisted prop is still ONE markdown-lite string,\n * so every renderer stays untouched — this is an input affordance, not a\n * shape change. Declared by an attribute whose value is a whole document\n * rather than a line of text; a plain TEXTAREA meant the Privacy Policy\n * body was edited as a 13 KB raw paste (AGL-1594).\n */\n MARKDOWN = 'markdown',\n INPUT_ADDON_BUTTON_GROUP = 'input-addon-button-group',\n INPUT_ADDON_GROUP = 'input-addon-group',\n PLAIN_TEXT = 'plain-text',\n /**\n * Named-preset picker with a raw escape hatch (AGL-2486): the theme's own\n * answers first, then plain-English presets that PREVIEW themselves, then\n * Custom…. The persisted prop is whatever the property already stored — a\n * number where a bare number is a theme multiple, a CSS string otherwise —\n * and a stored value matching no preset opens the field in its custom state\n * holding that value rather than dropping it.\n */\n PRESET_CHOICE = 'preset-choice',\n RADIO = 'radio',\n /**\n * Select listing the host's screens; the editor resolves the options from\n * the host routing map at render time and writes the chosen screen id.\n */\n SCREEN_SELECT = 'screen-select',\n /**\n * Select listing the canvas's other elements (AGL-557): the editor\n * resolves options from the live canvas at edit time and persists the\n * node id — e.g. the form's reveal-on-submit target.\n */\n NODE_SELECT = 'node-select',\n /**\n * Id-based entity pickers (AGL-343/344): the editor resolves options\n * from EntityPickerContext at edit time and persists the entity id —\n * renames never break the reference.\n */\n /**\n * Select listing the plugins installed for this site (AGL-1030): the editor\n * resolves options from the install set the console publishes and persists\n * the listing id. A picker rather than a typed document id — the same reason\n * every other reference in the designer is one, and here it also removes the\n * \"is this installed?\" question by construction.\n */\n PLUGIN_SELECT = 'plugin-select',\n /**\n * A placed plugin's declared settings, rendered as real fields (AGL-1049).\n * Reads the sibling plugin selection to know which manifest to offer.\n */\n PLUGIN_SETTINGS = 'plugin-settings',\n PRODUCT_SELECT = 'product-select',\n COLLECTION_SELECT = 'collection-select',\n CATEGORY_SELECT = 'category-select',\n DATASET_SELECT = 'dataset-select',\n /**\n * Select listing the model fields of the nearest ancestor node's chosen\n * dataset (AGL-556): the editor resolves options from\n * EntityPickerContext.datasetFields using the ancestor's `datasetId`\n * (or legacy `datasetName` matched by label) and persists the stable\n * model fieldId — field renames never break the mapping.\n */\n DATASET_FIELD_SELECT = 'dataset-field-select',\n /**\n * Select listing the host's form entities (`docs/specs/reusable-forms.md`\n * §2c): the editor resolves options from EntityPickerContext.forms and\n * persists the form id. The same id-first reasoning as every picker in this\n * family, and here it is load-bearing rather than convenient — the string\n * it replaces was the form's whole identity, so a rename split the\n * submission history it named.\n */\n FORM_SELECT = 'form-select',\n SELECT = 'select',\n SLIDER = 'slider',\n SUB_FORM = 'sub-form',\n SWITCH = 'switch',\n TAB_ITEM = 'tab-item',\n TABS = 'tabs',\n TEXT_FIELD = 'text-field',\n TEXTAREA = 'textarea',\n /**\n * Theme-scale combo box (AGL-2486): offers the THEME's own scale for a\n * property — `theme.typography` for font size and weight,\n * `theme.zIndex` for stacking — while still accepting any raw value\n * (`18px`, `1.25rem`, `700`, `1400`), because arbitrary values are\n * legitimate. The persisted value is a theme token PATH\n * (`h4.fontSize`, `fontWeightBold`, `appBar`), which MUI's sx system\n * resolves against the active theme exactly as it resolves\n * `color: 'primary.main'` — so the element keeps following the theme\n * instead of freezing the number it had when it was styled.\n */\n THEME_SCALE = 'theme-scale',\n TIME_PICKER = 'time-picker',\n TOGGLE_BUTTON = 'toggle-button',\n WIZARD = 'wizard',\n}\n\nexport enum FieldValidatorType {\n EXACT_LENGTH = 'exact-length',\n MAX_LENGTH = 'max-length',\n MAX_NUMBER_VALUE = 'max-number-value',\n MIN_ITEMS = 'min-items',\n MIN_LENGTH = 'min-length',\n MIN_NUMBER_VALUE = 'min-number-value',\n PATTERN = 'pattern',\n REQUIRED = 'required',\n URL = 'url',\n}\n\nexport type FieldDataType =\n | 'boolean'\n | 'float'\n | 'integer'\n | 'number'\n | 'string'\n\nexport interface AglynAttributeSchema extends Dictionary<any> {\n name: string\n dataType?: DataType\n component: string | FieldComponentType\n validate?: Validator[]\n condition?: ConditionDefinition | ConditionDefinition[]\n initializeOnMount?: boolean\n initialValue?: unknown\n clearedValue?: unknown\n clearOnUnmount?: boolean\n actions?: FieldActions\n resolveProps?: ResolvePropsFunction\n description?: string\n}\n\nexport interface AglynNodeSchema<P = JSX.AnyProps> {\n $id: NodeId\n componentId: ComponentId\n pluginId?: BundleId\n parentId?: NodeId\n sx?: JSX.SxProps\n props?: P\n nodes?: NodeId[] | AglynNodeSchema[]\n}\n"],"names":["LinealDirectiveFlag","FieldComponentType","FieldValidatorType"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAkBD,OAAO,IAAA,AAAKA,6CAAAA;;;WAAAA;MAGX;AAwKD,OAAO,IAAA,AAAKC,4CAAAA;IACV;;;;;;;;;GASC;;;;;IAMD;;;;;;;;GAQC;IAED;;;;;;;GAOC;IAED;;;;;;;;;;;GAWC;IAED;;;;;;;;;GASC;;;;;IAMD;;;;;;;;GAQC;;;;IAKD;;;;;;;GAOC;;IAGD;;;GAGC;IAED;;;;GAIC;IAED;;;;GAIC,GACD;;;;;;GAMC;IAED;;;GAGC;;;;;IAMD;;;;;;GAMC;IAED;;;;;;;GAOC;;;;;;;;;IAUD;;;;;;;;;;GAUC;;;;WA1JSA;MA+JX;AAED,OAAO,IAAA,AAAKC,4CAAAA;;;;;;;;;;WAAAA;MAUX"}
1
+ {"version":3,"sources":["../../../../../../../libs/aglyn/src/lib/foundation/definitions/components.types.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 type {\n ConditionDefinition,\n DataType,\n Validator,\n} from '@data-driven-forms/react-form-renderer'\nimport type {\n FieldActions,\n ResolvePropsFunction,\n} from '@data-driven-forms/react-form-renderer/common-types'\nimport type { SvgIconProps } from '@mui/material'\nimport type { MuiStyledOptions } from '@mui/system/createStyled'\nimport type { CANVAS_ROOT_ELEMENT_ID } from '../constants/canvas'\nimport type { ComponentCategory } from '../constants/components'\nimport type { FEATURE_FLAG, RICH_TEXT_COMMANDS } from '../constants/shared'\nimport type { AGLYN_OF, SYMBOL_TYPE } from '../constants/symbol'\n\nexport enum LinealDirectiveFlag {\n LIMIT_TO = 'limitedTo',\n DISALLOW = 'forbid',\n}\n\nexport type BundleId = string\nexport type PluginId = string\nexport type ComponentId = string\nexport type PresetId = string\nexport type NodeId = string\n\nexport type ComponentsLinealOrder = [\n directiveType: LinealDirectiveFlag,\n directiveDefinition:\n | Array<ComponentId>\n | { plugins?: Array<PluginId>; components: Array<ComponentId> }\n | { plugins: Array<PluginId>; components?: Array<ComponentId> },\n]\n\nexport type AglynNodeItemDenormalized<P = JSX.AnyProps> = AglynNodeSchema<P> & {\n nodes?: AglynNodeItemDenormalized[]\n}\n\nexport type AglynNodesList = Array<AglynNodeItemDenormalized>\n\nexport type AglynNodeHierarchy<$ID extends NodeId = NodeId> = [\n root: CANVAS_ROOT_ELEMENT_ID,\n ...nodes: [...ancestors: NodeId[], element: $ID],\n]\n\nexport interface AglynExoticComponent<PROPS = any, REF = any>\n extends JSX.ForwardRefExoticComponent<\n JSX.PropsWithoutRef<PROPS> & JSX.RefAttributes<REF>\n > {\n [AGLYN_OF]?: SYMBOL_TYPE\n aglyn?: boolean\n schema?: AglynComponentSchema<PROPS>\n}\n\nexport interface AglynComponentSchema<P = any> {\n $id: ComponentId\n pluginId?: BundleId\n kind?: 'element' | 'plaintext' | 'markdown'\n\n displayName: string\n title?: string\n subtitle?: string\n description?: string\n\n /**\n * Icon props for display around besigner\n */\n icon?: SvgIconProps\n /**\n * Options to be passed to styled(Component, \\{...styledOptions\\})\n */\n styledOptions?: MuiStyledOptions\n\n /**\n * Define a limitation for nodes allowed as direct descendents\n */\n restrictChildren?: ComponentsLinealOrder\n /**\n * Define a limitation for nodes allowed to be direct ancestors\n */\n restrictParent?: ComponentsLinealOrder\n\n /**\n * Filter props\n */\n resolveProps?: JSX.ResolveProps<AglynNodeItemDenormalized<P>>\n\n /**\n * Attribute fields to modify the contextual properties\n * New version\n */\n attributes?: AglynAttributeSchema[]\n\n /**\n * Which groups of formatting the inline rich-text toolbar offers for this\n * component (AGL-2557). Read only where `flags.richTextEditable` is on.\n *\n * Omitted means every group, which is what leaves Typography exactly as it\n * was. Naming a subset narrows the toolbar AND the commit: a surface that\n * offers neither lists nor links is phrasing-only, and the sanitizer holds\n * it to that whatever an author pastes in.\n */\n richTextCommands?: RICH_TEXT_COMMANDS[]\n\n /**\n * Feature flags\n */\n flags?: {\n /**\n * Disable the use of emotion styled\n */\n emotion?: FEATURE_FLAG\n /**\n * Can the nodes of this component type be cloned?\n */\n cloning?: FEATURE_FLAG\n /**\n * Allow dragging nodes of this component type\n */\n dragging?: FEATURE_FLAG\n /**\n * Allow dropping nodes inside nodes of this component type\n */\n dropping?: FEATURE_FLAG\n /**\n * Allow editing element attributes of this component type\n */\n editing?: FEATURE_FLAG\n /**\n * Allow removing nodes of this component type\n */\n removing?: FEATURE_FLAG\n /**\n * Describe nodes of this component type to be self-closing\n */\n selfClosing?: FEATURE_FLAG\n /**\n * Component renders its `children` prop as text content the editor may\n * edit directly (Attributes \"Text\" field, inline canvas editing).\n */\n textEditable?: FEATURE_FLAG\n /**\n * Component also accepts basic rich text (AGL-54): sanitized HTML in the\n * `html` prop with `children` as the plain-text fallback.\n */\n richTextEditable?: FEATURE_FLAG\n /**\n * Component reads its children POSITIONALLY (AGL-1237), so the renderer\n * must hand it one React child per node child instead of the single\n * `<Branch>` element it normally passes.\n *\n * MUI's Accordion does `const [summary, ...rest] = Children.toArray(children)`,\n * and `toArray` does not traverse into an element — so with the default\n * wrapping the summary swallowed the whole subtree and the Collapse got\n * nothing. Every accordion on every published site expanded to reveal an\n * empty panel while its content rendered unconditionally inside the\n * summary's `<h3>`.\n *\n * Opt in only for components with this contract; the wrapper is what\n * keeps the Branch/Stem/Leaf seam swappable for everything else.\n */\n positionalChildren?: FEATURE_FLAG\n }\n\n /**\n * Preset items are the available items to add to the canvas\n */\n presets?: AglynNodePresetSchema[]\n}\n\nexport type NodePresetData = Omit<AglynNodeSchema, '$id' | 'nodes'> & {\n $id?: NodeId\n nodes?: NodePresetData[]\n}\n\nexport type AglynNodePresetSchema = {\n $id: PresetId\n label: string\n componentId?: ComponentId\n pluginId?: BundleId\n description?: string\n icon?: SvgIconProps\n category?: string | ComponentCategory\n data: NodePresetData\n}\n\nexport enum FieldComponentType {\n /**\n * Per-breakpoint span editor (AGL-2486): a small row of breakpoint\n * controls (All / xs / sm / md / lg / xl), each offering a column count\n * plus MUI's `auto` and `grow` keywords. The persisted prop is still ONE\n * string in the syntax the Grid element already parses (`\"6\"`, `\"auto\"`,\n * `\"xs:12 md:6\"`) — this is an input affordance, not a shape change, so\n * renderers and existing documents stay untouched. A value the row cannot\n * model (a `{{token}}`, an unknown breakpoint) falls back to free text\n * rather than being clobbered.\n */\n BREAKPOINT_SPAN = 'breakpoint-span',\n BUTTON = 'button',\n BUTTON_GROUP = 'button-group',\n CHECKBOX = 'checkbox',\n COLOR_PICKER = 'color-picker',\n /**\n * Border editor (AGL-2486): a thickness box plus a plain-English line-style\n * picker (solid / dashed / dotted / double / no line). The persisted prop is\n * still ONE CSS shorthand string (`\"1px solid\"`, `\"none\"`, `\"\"`), so\n * renderers and existing documents stay untouched. A value the pair cannot\n * model (`thin solid`, `1px solid #f00`, a binding token) falls back to free\n * text rather than being clobbered, and flips back the moment the text is a\n * plain `<width> <style>` again.\n */\n CSS_BORDER = 'css-border',\n /**\n * CSS length editor (AGL-1219): a number box plus a unit picker sharing\n * the styles panel's unit list. The persisted prop is still ONE CSS\n * string (`\"920px\"`, `\"100%\"`, `\"auto\"`, `\"\"`) — this is an input\n * affordance, not a shape change, so renderers stay untouched. Values\n * the picker can't model (`calc(…)`, a binding token) fall back to free\n * text rather than being clobbered.\n */\n CSS_DIMENSION = 'css-dimension',\n /**\n * Background fill editor (AGL-1331): a fill-type switch (default / solid\n * / linear / radial) over an angle box and a colour-stop list, each stop\n * bindable to a palette token or a literal. The persisted prop is ONE CSS\n * string under `backgroundImage` — a solid fill writes the explicit\n * keyword `none` and leaves `backgroundColor` to do the job, while the\n * default choice writes nothing at all (AGL-1338: the two differ on a\n * component instance, where absence means \"keep the component's fill\") —\n * so renderers stay untouched. Values\n * the editor cannot model (`conic-gradient`, `to bottom right`, a stacked\n * image list) fall back to free text rather than being clobbered.\n */\n CSS_GRADIENT = 'css-gradient',\n /**\n * Row-and-column grid editor for the Table element (AGL-2543).\n *\n * The persisted prop is still ONE string — pipe-delimited rows with the\n * markdown divider carrying per-column alignment — so the renderer and\n * existing documents stay untouched, and a comparison table already\n * authored inside a Markdown element pastes straight in. This is the\n * affordance that makes the element no-code: without it an author edits\n * pipe syntax, which is the audience the besigner exists to spare.\n */\n DATA_TABLE = 'data-table',\n DATE_PICKER = 'date-picker',\n DUAL_LIST_SELECT = 'dual-list-select',\n FIELD_ARRAY = 'field-array',\n ICON_PICKER = 'icon-picker',\n /**\n * markdown-lite document editor (AGL-1616): the WYSIWYG the console\n * already ships for blog entries and marketplace listings, rendered as the\n * attribute's field. The persisted prop is still ONE markdown-lite string,\n * so every renderer stays untouched — this is an input affordance, not a\n * shape change. Declared by an attribute whose value is a whole document\n * rather than a line of text; a plain TEXTAREA meant the Privacy Policy\n * body was edited as a 13 KB raw paste (AGL-1594).\n */\n MARKDOWN = 'markdown',\n INPUT_ADDON_BUTTON_GROUP = 'input-addon-button-group',\n INPUT_ADDON_GROUP = 'input-addon-group',\n PLAIN_TEXT = 'plain-text',\n /**\n * Named-preset picker with a raw escape hatch (AGL-2486): the theme's own\n * answers first, then plain-English presets that PREVIEW themselves, then\n * Custom…. The persisted prop is whatever the property already stored — a\n * number where a bare number is a theme multiple, a CSS string otherwise —\n * and a stored value matching no preset opens the field in its custom state\n * holding that value rather than dropping it.\n */\n PRESET_CHOICE = 'preset-choice',\n RADIO = 'radio',\n /**\n * Select listing the host's screens; the editor resolves the options from\n * the host routing map at render time and writes the chosen screen id.\n */\n SCREEN_SELECT = 'screen-select',\n /**\n * Select listing the canvas's other elements (AGL-557): the editor\n * resolves options from the live canvas at edit time and persists the\n * node id — e.g. the form's reveal-on-submit target.\n */\n NODE_SELECT = 'node-select',\n /**\n * Id-based entity pickers (AGL-343/344): the editor resolves options\n * from EntityPickerContext at edit time and persists the entity id —\n * renames never break the reference.\n */\n /**\n * Select listing the plugins installed for this site (AGL-1030): the editor\n * resolves options from the install set the console publishes and persists\n * the listing id. A picker rather than a typed document id — the same reason\n * every other reference in the designer is one, and here it also removes the\n * \"is this installed?\" question by construction.\n */\n PLUGIN_SELECT = 'plugin-select',\n /**\n * A placed plugin's declared settings, rendered as real fields (AGL-1049).\n * Reads the sibling plugin selection to know which manifest to offer.\n */\n PLUGIN_SETTINGS = 'plugin-settings',\n PRODUCT_SELECT = 'product-select',\n COLLECTION_SELECT = 'collection-select',\n CATEGORY_SELECT = 'category-select',\n DATASET_SELECT = 'dataset-select',\n /**\n * Select listing the model fields of the nearest ancestor node's chosen\n * dataset (AGL-556): the editor resolves options from\n * EntityPickerContext.entityFields using the ancestor's `datasetId`\n * (or legacy `datasetName` matched by label) and persists the stable\n * model fieldId — field renames never break the mapping.\n */\n DATASET_FIELD_SELECT = 'dataset-field-select',\n /**\n * Select listing the host's form entities (`docs/specs/reusable-forms.md`\n * §2c): the editor resolves options from EntityPickerContext.forms and\n * persists the form id. The same id-first reasoning as every picker in this\n * family, and here it is load-bearing rather than convenient — the string\n * it replaces was the form's whole identity, so a rename split the\n * submission history it named.\n */\n FORM_SELECT = 'form-select',\n SELECT = 'select',\n SLIDER = 'slider',\n SUB_FORM = 'sub-form',\n SWITCH = 'switch',\n TAB_ITEM = 'tab-item',\n TABS = 'tabs',\n TEXT_FIELD = 'text-field',\n TEXTAREA = 'textarea',\n /**\n * Theme-scale combo box (AGL-2486): offers the THEME's own scale for a\n * property — `theme.typography` for font size and weight,\n * `theme.zIndex` for stacking — while still accepting any raw value\n * (`18px`, `1.25rem`, `700`, `1400`), because arbitrary values are\n * legitimate. The persisted value is a theme token PATH\n * (`h4.fontSize`, `fontWeightBold`, `appBar`), which MUI's sx system\n * resolves against the active theme exactly as it resolves\n * `color: 'primary.main'` — so the element keeps following the theme\n * instead of freezing the number it had when it was styled.\n */\n THEME_SCALE = 'theme-scale',\n TIME_PICKER = 'time-picker',\n TOGGLE_BUTTON = 'toggle-button',\n WIZARD = 'wizard',\n}\n\nexport enum FieldValidatorType {\n EXACT_LENGTH = 'exact-length',\n MAX_LENGTH = 'max-length',\n MAX_NUMBER_VALUE = 'max-number-value',\n MIN_ITEMS = 'min-items',\n MIN_LENGTH = 'min-length',\n MIN_NUMBER_VALUE = 'min-number-value',\n PATTERN = 'pattern',\n REQUIRED = 'required',\n URL = 'url',\n}\n\nexport type FieldDataType =\n | 'boolean'\n | 'float'\n | 'integer'\n | 'number'\n | 'string'\n\nexport interface AglynAttributeSchema extends Dictionary<any> {\n name: string\n dataType?: DataType\n component: string | FieldComponentType\n validate?: Validator[]\n condition?: ConditionDefinition | ConditionDefinition[]\n initializeOnMount?: boolean\n initialValue?: unknown\n clearedValue?: unknown\n clearOnUnmount?: boolean\n actions?: FieldActions\n resolveProps?: ResolvePropsFunction\n description?: string\n}\n\nexport interface AglynNodeSchema<P = JSX.AnyProps> {\n $id: NodeId\n componentId: ComponentId\n pluginId?: BundleId\n parentId?: NodeId\n sx?: JSX.SxProps\n props?: P\n nodes?: NodeId[] | AglynNodeSchema[]\n}\n"],"names":["LinealDirectiveFlag","FieldComponentType","FieldValidatorType"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAkBD,OAAO,IAAA,AAAKA,6CAAAA;;;WAAAA;MAGX;AAwKD,OAAO,IAAA,AAAKC,4CAAAA;IACV;;;;;;;;;GASC;;;;;IAMD;;;;;;;;GAQC;IAED;;;;;;;GAOC;IAED;;;;;;;;;;;GAWC;IAED;;;;;;;;;GASC;;;;;IAMD;;;;;;;;GAQC;;;;IAKD;;;;;;;GAOC;;IAGD;;;GAGC;IAED;;;;GAIC;IAED;;;;GAIC,GACD;;;;;;GAMC;IAED;;;GAGC;;;;;IAMD;;;;;;GAMC;IAED;;;;;;;GAOC;;;;;;;;;IAUD;;;;;;;;;;GAUC;;;;WA1JSA;MA+JX;AAED,OAAO,IAAA,AAAKC,4CAAAA;;;;;;;;;;WAAAA;MAUX"}
@@ -115,8 +115,6 @@ export interface CoreOrgFeatureFlags {
115
115
  removeBranding?: boolean;
116
116
  /** Schedule a version to publish at a date/time (tier above versioning). */
117
117
  scheduledPublishing?: boolean;
118
- /** Sell listings on the marketplace marketplace (AGL-46). */
119
- marketplaceSelling?: boolean;
120
118
  /** AI copy assist in the besigner (AGL-89). */
121
119
  aiAssist?: boolean;
122
120
  /**
@@ -228,20 +226,14 @@ export interface CoreOrgFeatureFlags {
228
226
  commerce?: boolean;
229
227
  /** Console point-of-sale mode (AGL-312). */
230
228
  pos?: boolean;
231
- /** Recurring storefront subscription products (AGL-303). */
232
- storefrontSubscriptions?: boolean;
233
229
  /** Entitlement-gated screens/sections/video paywalls (AGL-309). */
234
230
  contentGating?: boolean;
235
- /** Gift cards & store credit (AGL-322). */
236
- giftCards?: boolean;
237
231
  /** Verified-buyer product reviews (AGL-324). */
238
232
  productReviews?: boolean;
239
233
  /** Abandoned checkout recovery emails (AGL-323). */
240
234
  abandonedCart?: boolean;
241
235
  /** Dropship supplier routing on paid orders (AGL-289). */
242
236
  dropshipRouting?: boolean;
243
- /** Commerce analytics dashboard (AGL-327). */
244
- commerceAnalytics?: boolean;
245
237
  /**
246
238
  * White-label the platform (White-Label Phase 1): replace the Aglyn brand
247
239
  * — product name, logo, colors, support URL, transactional email from-name
@@ -272,11 +264,11 @@ export interface CoreOrgFeatureFlags {
272
264
  * {@link CoreOrgFeatureFlags} is the platform's own set — what
273
265
  * `PLAN_ENTITLEMENTS` declares for every plan, and what
274
266
  * `Required<CoreOrgFeatureFlags>` keeps exhaustive.
275
- * {@link PluginEntitlementFeatures} is the plugin half (AGL-3124): empty
276
- * until a plugin declares a gate of its own into it with `declare module`,
277
- * and resolved from that plugin's `registerPluginEntitlements` defaults
278
- * rather than from a row in a core plan table — which is why a plugin's gate
279
- * joins HERE and not above. Every reader keeps reading `OrgFeatureFlags`, and
267
+ * {@link PluginEntitlementFeatures} is the plugin half (AGL-3124): a plugin
268
+ * declares a gate of its own into it with `declare module`, and its answer
269
+ * per plan comes from that plugin's `plan-entitlements` declaration or its
270
+ * `registerPluginEntitlements` defaults rather than from a row core writes —
271
+ * which is why a plugin's gate joins HERE and not above. Every reader keeps reading `OrgFeatureFlags`, and
280
272
  * `keyof OrgFeatureFlags` admits a plugin's key the moment it is declared.
281
273
  */
282
274
  export interface OrgFeatureFlags extends CoreOrgFeatureFlags, PluginEntitlementFeatures {
@@ -463,8 +455,6 @@ export interface CoreOrgEntitlements {
463
455
  /** Hard per-site collaborator cap incl. addons (see `membersPerHost`). */
464
456
  maxMembersPerHost?: number;
465
457
  bandwidthGb?: number;
466
- /** Form submissions accepted per calendar month (Forms & Lead Capture). */
467
- formSubmissionsPerMonth?: number;
468
458
  /**
469
459
  * Saved form DEFINITIONS per host — documents under
470
460
  * `hosts/{hostId}/forms`, the entity a submission's `formId` points at.
@@ -488,8 +478,6 @@ export interface CoreOrgEntitlements {
488
478
  functionsPerHost?: number;
489
479
  /** Workflow builder cap (AGL-99/101). */
490
480
  workflowsPerHost?: number;
491
- /** Event-triggered workflow runs per calendar month (AGL-165). */
492
- workflowRunsPerMonth?: number;
493
481
  /** Bookable services per host (AGL-159). */
494
482
  servicesPerHost?: number;
495
483
  /** Redirect rules per host (AGL-154). */
@@ -505,48 +493,6 @@ export interface CoreOrgEntitlements {
505
493
  * and activities are not counted — see `CRM_ACTIVITIES_PER_RECORD_CEILING`.
506
494
  */
507
495
  contactsPerHost?: number;
508
- /**
509
- * One-to-one emails a workspace may send from CRM records per UTC day —
510
- * the message a rep writes to one person from their contact page, as
511
- * against a campaign (`emailSendsPerMonth`) or transactional mail.
512
- *
513
- * A HARD cap on every tier and a daily one, because it is the only send
514
- * class a person can produce by hand at volume: a campaign is one act over
515
- * a metered audience, and a receipt follows an order somebody paid for,
516
- * but a rep with a template and a list can put a thousand messages onto
517
- * the platform's sending reputation in an afternoon. The day boundary is
518
- * what makes the cap a pace rather than a wall — tomorrow the count is
519
- * zero again — and the number is sized so that every tier holds its
520
- * margin with the whole day spent, which is the arithmetic the Drive
521
- * pricing decision of 2026-09-05 records. `checkCrmEmailQuota` reads it;
522
- * the counter it is enforced against is `orgs/{orgId}/crmEmailUsage/{day}`.
523
- *
524
- * Every send still counts on the org's `emailSends` cost meter, like any
525
- * other message the provider charged for. 0 on Free, which has no CRM,
526
- * and finite on every paid tier, Enterprise's 2,000 included.
527
- *
528
- * ## This ladder and `emailSendsPerMonth` are NOT the same ladder
529
- *
530
- * They answer to different principles, deliberately, and a tier's two
531
- * numbers are not expected to look like each other. `emailSendsPerMonth`
532
- * is sized against SHARED-DOMAIN REPUTATION: campaign mail is bulk on a
533
- * pool every tier without its own verified sending domain rides under
534
- * `p=reject`, so what one workspace sends is a cost every other workspace
535
- * pays. This one is sized against COGS SHARE: one-to-one mail is a per-tier
536
- * margin question, which is why it is a daily pace rather than a monthly
537
- * band.
538
- *
539
- * The two are far apart at the entry tier — a band of 0 beside a real daily
540
- * allowance — and that reads as an inconsistency until the principles are
541
- * named. It is not one. One-to-one mail is addressed to a single person,
542
- * usually inside a relationship the recipient started, and it reaches the
543
- * provider through a per-user pace limit, both suppression lists, a
544
- * `declined` consent basis as a hard stop, and an atomic daily reservation.
545
- * Complaint rates on it are structurally unlike bulk. Reconciling the two
546
- * ladders would price a reply to one customer as though it carried a
547
- * campaign's reputation risk.
548
- */
549
- crmEmailsPerDay?: number;
550
496
  /**
551
497
  * CAMPAIGN emails sendable per calendar month (AGL-161), and campaign
552
498
  * emails only (AGL-1438).
@@ -567,47 +513,6 @@ export interface CoreOrgEntitlements {
567
513
  * are not meant to track each other.
568
514
  */
569
515
  emailSendsPerMonth?: number;
570
- /**
571
- * Aglyn Assist credits per calendar month — the band assist spends against.
572
- *
573
- * A CREDIT IS A UNIT OF MODEL COST, not a message. One assist action can
574
- * cost two orders of magnitude more than another: a question is a few
575
- * thousand tokens, while generating a screen carries the node tree, the
576
- * component catalog and the theme tokens in, structured markup out, and
577
- * iterates. A message allowance would price those the same, so one
578
- * workspace's ten screen builds would outspend another's thousand questions
579
- * and both would read as "within allowance".
580
- *
581
- * The unit is defined by `ASSIST_CREDIT_COST_USD` and the conversion lives
582
- * in `assist-credits.ts`. Only that module turns credits into dollars;
583
- * everything a customer sees counts credits, because the dollar figure
584
- * behind them is our provider bill and not a price.
585
- *
586
- * ## HOW THE BAND IS SIZED, and why it is not a share of the price
587
- *
588
- * A credit is a dollar of provider spend at `ASSIST_CREDIT_COST_USD`, so
589
- * the band IS a liability figure: the plan's whole assist give is
590
- * `assistCreditsPerMonth / 1000` dollars. Credits past it are not a give —
591
- * since AGL-2653 they are SOLD at `extraAssistCreditsUsdPer1k`, unless the
592
- * org's `assistOverage.hardCap` asks `reserveAssistMessage` to refuse at
593
- * the band instead. Sizing it as a share of the subscription price says
594
- * nothing about whether the tier can afford it, because the price is also
595
- * carrying storage, bandwidth, form submissions, dataset storage, API
596
- * requests, contacts and email.
597
- *
598
- * So each band is sized against what those SEVEN other terms leave. Every
599
- * paid band takes between a quarter and a third of that remainder, which
600
- * keeps the tier's worst case positive and keeps the ladder's shape: the
601
- * margin each tier holds at 100% of every band stays in proportion to what
602
- * it held before assist was sold at all. `tier-margin-floor.spec.ts` is the
603
- * model, and it pins both the rule and the resulting figures.
604
- *
605
- * 0 on Free and Starter, which carry no `aiAssist` and no band. The Aglyn
606
- * AI add-on (AGL-2896) adds `AI_ADDON_CREDITS_PER_MONTH[plan]` to this
607
- * band in `resolveOrgEntitlements` — one pool, widened, rather than a
608
- * second meter — so Starter with the add-on carries a band after all.
609
- */
610
- assistCreditsPerMonth?: number;
611
516
  /** Action runs per calendar month (AGL-148). */
612
517
  actionRunsPerMonth?: number;
613
518
  /** Included customer REST API requests per calendar month (AGL-634);
@@ -639,13 +544,6 @@ export interface CoreOrgEntitlements {
639
544
  transactionFeePhysicalPct?: number;
640
545
  /** Platform fee % on digital storefront sales (Connect app fee). */
641
546
  transactionFeeDigitalPct?: number;
642
- /**
643
- * Platform take rate % on the org's MARKETPLACE listing sales (AGL-46,
644
- * resolved from entitlements per AGL-1543): 20 on paid plans, 30 on
645
- * free. Distinct from the storefront `transactionFee*Pct` above — this
646
- * is Aglyn's cut of a marketplace sale, priced off the SELLER org.
647
- */
648
- marketplaceFeePct?: number;
649
547
  features?: OrgFeatureFlags;
650
548
  /**
651
549
  * A staff PLAN COMP (AGL-3034) — see `OrgPlanComp`. Not a quota: the
@@ -660,10 +558,10 @@ export interface CoreOrgEntitlements {
660
558
  *
661
559
  * {@link CoreOrgEntitlements} is what `PLAN_ENTITLEMENTS` declares per plan
662
560
  * and what `ResolvedOrgEntitlements` keeps exhaustive.
663
- * {@link PluginEntitlementQuotas} is the plugin half: empty until a plugin
664
- * declares a key of its own into it with `declare module` and registers it
665
- * with `registerPluginEntitlementKeys`, and resolved from that plugin's seat
666
- * add-on declaration rather than from a row in a core plan table. So
561
+ * {@link PluginEntitlementQuotas} is the plugin half: a plugin declares a
562
+ * key of its own into it with `declare module`, and its figure per plan comes
563
+ * from that plugin's `plan-entitlements` declaration, compiled into
564
+ * `PLAN_ENTITLEMENTS` (AGL-3080), widened by any seat add-on it declares. So
667
565
  * `resolveOrgEntitlements` carries a plugin's band, and `keyof
668
566
  * OrgEntitlements` admits its key, without this file naming the plugin's
669
567
  * domain.
@@ -1275,6 +1173,15 @@ export interface AglynOrgBilling extends AglynDocument {
1275
1173
  /** Staff suspension (AGL-202): set = all the org's sites serve 503. */
1276
1174
  suspendedAt?: ITimestamp | null;
1277
1175
  suspendedReason?: string;
1176
+ /**
1177
+ * Whether the suspension above is IN FORCE, stored so the staff
1178
+ * Organizations list can filter by it with an equality (AGL-3416). `false`
1179
+ * on every unsuspended org; written beside the `suspended*` family by the
1180
+ * lockdown core and cleared on a lapsed timed lock by
1181
+ * `settleLapsedSuspensions`. Never an enforcement input: every enforcing
1182
+ * reader asks the family itself.
1183
+ */
1184
+ suspended?: boolean;
1278
1185
  /**
1279
1186
  * GDPR erasure request (AGL-206): hard deletion happens ONLY via `eraseOrg`
1280
1187
  * after a 7-day hold from this stamp — reached by the
@@ -1291,12 +1198,6 @@ export interface AglynOrgBilling extends AglynDocument {
1291
1198
  crm?: OrgCrmSettings;
1292
1199
  createdAt?: ITimestamp;
1293
1200
  updatedAt?: ITimestamp;
1294
- /**
1295
- * The workspace's email capture address (AGL-2657) — see `OrgCrmInbound`.
1296
- * Server-owned and member-readable: the token IS the address, so a client
1297
- * that could write it could point another workspace's mail here.
1298
- */
1299
- crmInbound?: OrgCrmInbound;
1300
1201
  }
1301
1202
  /**
1302
1203
  * What the CRM lets an organization decide for every site at once
@@ -1339,24 +1240,6 @@ export interface OrgCrmHostSettings {
1339
1240
  */
1340
1241
  defaultOwnerUid?: string;
1341
1242
  }
1342
- /**
1343
- * The workspace's email capture address, as the org document carries it
1344
- * (AGL-2657): `crm+<token>@<capture domain>`.
1345
- *
1346
- * One token per organization, minted lazily by `crm/inbound-address` the
1347
- * first time a member asks for the address, and replaced by the same route
1348
- * on a rotation. Every site of the organization shares it: a captured
1349
- * message is filed on the record that matches its correspondent, and the
1350
- * record says which site it belongs to, so the address need not.
1351
- */
1352
- export interface OrgCrmInbound {
1353
- /** The url-safe secret in the local part; `crm+<token>@…`. */
1354
- token: string;
1355
- /** When the first token was minted, epoch ms. */
1356
- createdAtMs: number;
1357
- /** When the token was last replaced, epoch ms; absent until it has been. */
1358
- rotatedAtMs?: number;
1359
- }
1360
1243
  /**
1361
1244
  * One assignment rule (AGL-2618): `when` every named condition holds for a
1362
1245
  * capture, `assign` the record this way. A condition left out is not a