@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.
- package/package.json +14 -14
- package/src/lib/app-utils/actions.d.ts +25 -374
- package/src/lib/app-utils/actions.js +101 -561
- package/src/lib/app-utils/actions.js.map +1 -1
- package/src/lib/app-utils/activity-presenter.d.ts +3 -3
- package/src/lib/app-utils/activity-presenter.js +36 -52
- package/src/lib/app-utils/activity-presenter.js.map +1 -1
- package/src/lib/app-utils/admin-audit-index.js +2 -2
- package/src/lib/app-utils/admin-audit-index.js.map +1 -1
- package/src/lib/app-utils/analytics-events.d.ts +11 -2
- package/src/lib/app-utils/analytics-events.js +11 -2
- package/src/lib/app-utils/analytics-events.js.map +1 -1
- package/src/lib/app-utils/analytics-provider.d.ts +182 -0
- package/src/lib/app-utils/analytics-provider.js +133 -0
- package/src/lib/app-utils/analytics-provider.js.map +1 -0
- package/src/lib/app-utils/api-plugins.d.ts +46 -0
- package/src/lib/app-utils/api-plugins.js +19 -0
- package/src/lib/app-utils/api-plugins.js.map +1 -1
- package/src/lib/app-utils/{marketplace-overrides.d.ts → artifact-overrides.d.ts} +9 -6
- package/src/lib/app-utils/{marketplace-overrides.js → artifact-overrides.js} +10 -7
- package/src/lib/app-utils/artifact-overrides.js.map +1 -0
- package/src/lib/app-utils/{marketplace-provenance.d.ts → artifact-provenance.d.ts} +12 -10
- package/src/lib/app-utils/{marketplace-provenance.js → artifact-provenance.js} +9 -7
- package/src/lib/app-utils/artifact-provenance.js.map +1 -0
- package/src/lib/app-utils/assist-credits.js +2 -1
- package/src/lib/app-utils/assist-credits.js.map +1 -1
- package/src/lib/app-utils/binding-token-catalog.d.ts +5 -13
- package/src/lib/app-utils/binding-token-catalog.js +17 -41
- package/src/lib/app-utils/binding-token-catalog.js.map +1 -1
- package/src/lib/app-utils/binding-tokens.js +1 -1
- package/src/lib/app-utils/binding-tokens.js.map +1 -1
- package/src/lib/app-utils/brand-support-line.d.ts +36 -0
- package/src/lib/app-utils/brand-support-line.js +38 -0
- package/src/lib/app-utils/brand-support-line.js.map +1 -0
- package/src/lib/app-utils/campaign-touch.d.ts +5 -5
- package/src/lib/app-utils/campaign-touch.js +8 -8
- package/src/lib/app-utils/campaign-touch.js.map +1 -1
- package/src/lib/app-utils/collection-entries.d.ts +2 -2
- package/src/lib/app-utils/collection-entries.js.map +1 -1
- package/src/lib/app-utils/consent-group-change.d.ts +4 -0
- package/src/lib/app-utils/consent-group-change.js.map +1 -1
- package/src/lib/app-utils/console-record-links.d.ts +10 -89
- package/src/lib/app-utils/console-record-links.js +3 -107
- package/src/lib/app-utils/console-record-links.js.map +1 -1
- package/src/lib/app-utils/console-routes.d.ts +16 -7
- package/src/lib/app-utils/console-routes.js +9 -3
- package/src/lib/app-utils/console-routes.js.map +1 -1
- package/src/lib/app-utils/contacts.d.ts +23 -1
- package/src/lib/app-utils/contacts.js +21 -5
- package/src/lib/app-utils/contacts.js.map +1 -1
- package/src/lib/app-utils/cross-pool-desync.d.ts +39 -0
- package/src/lib/app-utils/cross-pool-desync.js +47 -0
- package/src/lib/app-utils/cross-pool-desync.js.map +1 -0
- package/src/lib/app-utils/csv-upload.d.ts +29 -0
- package/src/lib/app-utils/csv-upload.js +29 -0
- package/src/lib/app-utils/csv-upload.js.map +1 -0
- package/src/lib/app-utils/dataset-models.d.ts +5 -5
- package/src/lib/app-utils/dataset-models.js +19 -2
- package/src/lib/app-utils/dataset-models.js.map +1 -1
- package/src/lib/app-utils/datasets.d.ts +65 -11
- package/src/lib/app-utils/datasets.js +74 -11
- package/src/lib/app-utils/datasets.js.map +1 -1
- package/src/lib/app-utils/docs-deflection.d.ts +6 -6
- package/src/lib/app-utils/docs-deflection.js.map +1 -1
- package/src/lib/app-utils/docs-help.generated.d.ts +12 -6
- package/src/lib/app-utils/docs-help.generated.js +21 -6
- package/src/lib/app-utils/docs-help.generated.js.map +1 -1
- package/src/lib/app-utils/docs-index.generated.d.ts +2 -2
- package/src/lib/app-utils/docs-index.generated.js +514 -318
- package/src/lib/app-utils/docs-index.generated.js.map +1 -1
- package/src/lib/app-utils/docs-retrieval.d.ts +3 -3
- package/src/lib/app-utils/docs-retrieval.js +14 -10
- package/src/lib/app-utils/docs-retrieval.js.map +1 -1
- package/src/lib/app-utils/duplicate-resource.d.ts +4 -1
- package/src/lib/app-utils/duplicate-resource.js +7 -4
- package/src/lib/app-utils/duplicate-resource.js.map +1 -1
- package/src/lib/app-utils/dynamic-list-rule.d.ts +1 -1
- package/src/lib/app-utils/dynamic-list-rule.js.map +1 -1
- package/src/lib/app-utils/element-ui.d.ts +1 -1
- package/src/lib/app-utils/element-ui.js +1 -1
- package/src/lib/app-utils/element-ui.js.map +1 -1
- package/src/lib/app-utils/email-starter-policy.js +3 -3
- package/src/lib/app-utils/email-starter-policy.js.map +1 -1
- package/src/lib/app-utils/entity-picker-context.d.ts +10 -5
- package/src/lib/app-utils/entity-picker-context.js.map +1 -1
- package/src/lib/app-utils/error-beacon.d.ts +75 -6
- package/src/lib/app-utils/error-beacon.js +160 -21
- package/src/lib/app-utils/error-beacon.js.map +1 -1
- package/src/lib/app-utils/expand-repeatables.d.ts +10 -10
- package/src/lib/app-utils/expand-repeatables.js +10 -10
- package/src/lib/app-utils/expand-repeatables.js.map +1 -1
- package/src/lib/app-utils/host-events.d.ts +82 -0
- package/src/lib/app-utils/host-events.js +62 -0
- package/src/lib/app-utils/host-events.js.map +1 -0
- package/src/lib/app-utils/lockdown.d.ts +33 -1
- package/src/lib/app-utils/lockdown.js +45 -4
- package/src/lib/app-utils/lockdown.js.map +1 -1
- package/src/lib/app-utils/margin-utilization.d.ts +4 -69
- package/src/lib/app-utils/margin-utilization.js +82 -69
- package/src/lib/app-utils/margin-utilization.js.map +1 -1
- package/src/lib/app-utils/node-definition-sanitizer.d.ts +16 -16
- package/src/lib/app-utils/node-definition-sanitizer.js +24 -20
- package/src/lib/app-utils/node-definition-sanitizer.js.map +1 -1
- package/src/lib/app-utils/node-interactions.d.ts +7 -7
- package/src/lib/app-utils/node-interactions.js.map +1 -1
- package/src/lib/app-utils/notifications.d.ts +78 -47
- package/src/lib/app-utils/notifications.js +63 -44
- package/src/lib/app-utils/notifications.js.map +1 -1
- package/src/lib/app-utils/payments-configured.d.ts +8 -21
- package/src/lib/app-utils/payments-configured.js +8 -23
- package/src/lib/app-utils/payments-configured.js.map +1 -1
- package/src/lib/app-utils/plan-entitlements.d.ts +43 -128
- package/src/lib/app-utils/plan-entitlements.js +145 -304
- package/src/lib/app-utils/plan-entitlements.js.map +1 -1
- package/src/lib/app-utils/platform-brand.d.ts +10 -0
- package/src/lib/app-utils/platform-brand.js +14 -3
- package/src/lib/app-utils/platform-brand.js.map +1 -1
- package/src/lib/app-utils/plugin-api-rate-limit.d.ts +7 -1
- package/src/lib/app-utils/plugin-api-rate-limit.js +11 -3
- package/src/lib/app-utils/plugin-api-rate-limit.js.map +1 -1
- package/src/lib/app-utils/plugin-bundle-checks.js +2 -2
- package/src/lib/app-utils/plugin-bundle-checks.js.map +1 -1
- package/src/lib/app-utils/plugin-host-events.generated.d.ts +12 -0
- package/src/lib/app-utils/plugin-host-events.generated.js +169 -0
- package/src/lib/app-utils/plugin-host-events.generated.js.map +1 -0
- package/src/lib/app-utils/plugin-release-flags.generated.d.ts +12 -0
- package/src/lib/app-utils/plugin-release-flags.generated.js +106 -0
- package/src/lib/app-utils/plugin-release-flags.generated.js.map +1 -0
- package/src/lib/app-utils/realm-host-surface.generated.js +2 -0
- package/src/lib/app-utils/realm-host-surface.generated.js.map +1 -1
- package/src/lib/app-utils/release-flags.d.ts +14 -5
- package/src/lib/app-utils/release-flags.js +21 -125
- package/src/lib/app-utils/release-flags.js.map +1 -1
- package/src/lib/app-utils/repeat-sources.d.ts +9 -0
- package/src/lib/app-utils/repeat-sources.js.map +1 -1
- package/src/lib/app-utils/retained-refusals.d.ts +73 -0
- package/src/lib/app-utils/retained-refusals.js +186 -0
- package/src/lib/app-utils/retained-refusals.js.map +1 -0
- package/src/lib/app-utils/scope-tokens.d.ts +27 -0
- package/src/lib/app-utils/scope-tokens.js +61 -0
- package/src/lib/app-utils/scope-tokens.js.map +1 -1
- package/src/lib/app-utils/screen-link-context.js +3 -3
- package/src/lib/app-utils/screen-link-context.js.map +1 -1
- package/src/lib/app-utils/screen-route.d.ts +15 -0
- package/src/lib/app-utils/screen-route.js +21 -1
- package/src/lib/app-utils/screen-route.js.map +1 -1
- package/src/lib/app-utils/seo-audit.d.ts +132 -0
- package/src/lib/app-utils/seo-audit.js +246 -0
- package/src/lib/app-utils/seo-audit.js.map +1 -0
- package/src/lib/app-utils/seo-keywords.d.ts +48 -0
- package/src/lib/app-utils/seo-keywords.js +60 -0
- package/src/lib/app-utils/seo-keywords.js.map +1 -0
- package/src/lib/app-utils/seo-page-facts.d.ts +66 -0
- package/src/lib/app-utils/seo-page-facts.js +155 -0
- package/src/lib/app-utils/seo-page-facts.js.map +1 -0
- package/src/lib/app-utils/seo-site-scan.d.ts +126 -0
- package/src/lib/app-utils/seo-site-scan.js +162 -0
- package/src/lib/app-utils/seo-site-scan.js.map +1 -0
- package/src/lib/app-utils/seo-title-variables.js +1 -1
- package/src/lib/app-utils/seo-title-variables.js.map +1 -1
- package/src/lib/app-utils/server.d.ts +6 -9
- package/src/lib/app-utils/server.js +17 -27
- package/src/lib/app-utils/server.js.map +1 -1
- package/src/lib/app-utils/site-interactions.d.ts +501 -0
- package/src/lib/app-utils/site-interactions.js +554 -0
- package/src/lib/app-utils/site-interactions.js.map +1 -0
- package/src/lib/app-utils/{marketplace-theme.d.ts → site-theme.d.ts} +13 -2
- package/src/lib/app-utils/{marketplace-theme.js → site-theme.js} +5 -2
- package/src/lib/app-utils/site-theme.js.map +1 -0
- package/src/lib/app-utils/sitemap.d.ts +4 -3
- package/src/lib/app-utils/sitemap.js +9 -7
- package/src/lib/app-utils/sitemap.js.map +1 -1
- package/src/lib/app-utils/stale-build-error.d.ts +51 -0
- package/src/lib/app-utils/stale-build-error.js +100 -1
- package/src/lib/app-utils/stale-build-error.js.map +1 -1
- package/src/lib/app-utils/starter-templates.d.ts +20 -0
- package/src/lib/app-utils/starter-templates.js +49 -0
- package/src/lib/app-utils/starter-templates.js.map +1 -1
- package/src/lib/app-utils/tax-jurisdiction-figures.d.ts +118 -0
- package/src/lib/app-utils/tax-jurisdiction-figures.js +123 -0
- package/src/lib/app-utils/tax-jurisdiction-figures.js.map +1 -0
- package/src/lib/app-utils/theme-library.d.ts +10 -3
- package/src/lib/app-utils/theme-library.js +13 -4
- package/src/lib/app-utils/theme-library.js.map +1 -1
- package/src/lib/app-utils/{campaign-attribution.d.ts → utm-attribution.d.ts} +11 -6
- package/src/lib/app-utils/{campaign-attribution.js → utm-attribution.js} +13 -8
- package/src/lib/app-utils/utm-attribution.js.map +1 -0
- package/src/lib/app-utils/{campaign-forwarding.d.ts → utm-forwarding.d.ts} +14 -14
- package/src/lib/app-utils/{campaign-forwarding.js → utm-forwarding.js} +26 -26
- package/src/lib/app-utils/utm-forwarding.js.map +1 -0
- package/src/lib/app-utils/video-object.js +6 -5
- package/src/lib/app-utils/video-object.js.map +1 -1
- package/src/lib/app-utils/visitor-consent.d.ts +41 -164
- package/src/lib/app-utils/visitor-consent.js +66 -277
- package/src/lib/app-utils/visitor-consent.js.map +1 -1
- package/src/lib/app-utils/web-vitals-rum.d.ts +7 -7
- package/src/lib/app-utils/web-vitals-rum.js +31 -63
- package/src/lib/app-utils/web-vitals-rum.js.map +1 -1
- package/src/lib/app-utils/where-used.d.ts +11 -6
- package/src/lib/app-utils/where-used.js +3 -8
- package/src/lib/app-utils/where-used.js.map +1 -1
- package/src/lib/canvas-manager/canvas-manager.js +3 -3
- package/src/lib/canvas-manager/canvas-manager.js.map +1 -1
- package/src/lib/foundation/definitions/components.types.d.ts +1 -1
- package/src/lib/foundation/definitions/components.types.js +1 -1
- package/src/lib/foundation/definitions/components.types.js.map +1 -1
- package/src/lib/foundation/definitions/org-billing.types.d.ts +18 -135
- package/src/lib/foundation/definitions/org-billing.types.js.map +1 -1
- package/src/lib/foundation/definitions/organization.types.d.ts +6 -3
- package/src/lib/foundation/definitions/organization.types.js.map +1 -1
- package/src/lib/foundation/definitions/platform.types.d.ts +27 -5
- package/src/lib/foundation/definitions/platform.types.js.map +1 -1
- package/src/lib/foundation/definitions/write-deny-coverage.util.d.ts +16 -0
- package/src/lib/foundation/definitions/write-deny-coverage.util.js +20 -0
- package/src/lib/foundation/definitions/write-deny-coverage.util.js.map +1 -1
- package/src/lib/foundation/index.d.ts +1 -1
- package/src/lib/foundation/index.js.map +1 -1
- package/src/lib/plugin-manager/besigner-documents.d.ts +96 -0
- package/src/lib/plugin-manager/besigner-documents.js +61 -0
- package/src/lib/plugin-manager/besigner-documents.js.map +1 -0
- package/src/lib/plugin-manager/computed-variables.d.ts +71 -0
- package/src/lib/plugin-manager/computed-variables.js +74 -0
- package/src/lib/plugin-manager/computed-variables.js.map +1 -0
- package/src/lib/plugin-manager/custom-fields.d.ts +29 -2
- package/src/lib/plugin-manager/custom-fields.js +47 -1
- package/src/lib/plugin-manager/custom-fields.js.map +1 -1
- package/src/lib/plugin-manager/feature-plugins.d.ts +292 -20
- package/src/lib/plugin-manager/feature-plugins.js +105 -17
- package/src/lib/plugin-manager/feature-plugins.js.map +1 -1
- package/src/lib/plugin-manager/first-party-plugins.generated.d.ts +123 -0
- package/src/lib/plugin-manager/first-party-plugins.generated.js +785 -14
- package/src/lib/plugin-manager/first-party-plugins.generated.js.map +1 -1
- package/src/lib/plugin-manager/plugin-activity-actions.d.ts +12 -0
- package/src/lib/plugin-manager/plugin-activity-actions.js +25 -0
- package/src/lib/plugin-manager/plugin-activity-actions.js.map +1 -1
- package/src/lib/plugin-manager/plugin-contributions.d.ts +1 -1
- package/src/lib/plugin-manager/plugin-contributions.js.map +1 -1
- package/src/lib/plugin-manager/plugin-declarations-repair.d.ts +36 -0
- package/src/lib/plugin-manager/plugin-declarations-repair.js +64 -0
- package/src/lib/plugin-manager/plugin-declarations-repair.js.map +1 -0
- package/src/lib/plugin-manager/plugin-dependents.d.ts +101 -0
- package/src/lib/plugin-manager/plugin-dependents.js +75 -0
- package/src/lib/plugin-manager/plugin-dependents.js.map +1 -0
- package/src/lib/plugin-manager/plugin-distribution.d.ts +55 -0
- package/src/lib/plugin-manager/plugin-distribution.js +45 -0
- package/src/lib/plugin-manager/plugin-distribution.js.map +1 -0
- package/src/lib/plugin-manager/plugin-host-collections.d.ts +17 -0
- package/src/lib/plugin-manager/plugin-host-collections.js +6 -0
- package/src/lib/plugin-manager/plugin-host-collections.js.map +1 -1
- package/src/lib/plugin-manager/plugin-host-resources.d.ts +133 -0
- package/src/lib/plugin-manager/plugin-host-resources.js +52 -0
- package/src/lib/plugin-manager/plugin-host-resources.js.map +1 -0
- package/src/lib/plugin-manager/plugin-org-erasure.d.ts +28 -2
- package/src/lib/plugin-manager/plugin-org-erasure.js +61 -2
- package/src/lib/plugin-manager/plugin-org-erasure.js.map +1 -1
- package/src/lib/plugin-manager/plugin-plan-entitlements.d.ts +123 -0
- package/src/lib/plugin-manager/plugin-plan-entitlements.js +101 -0
- package/src/lib/plugin-manager/plugin-plan-entitlements.js.map +1 -0
- package/src/lib/plugin-manager/plugin-record-index.d.ts +95 -0
- package/src/lib/plugin-manager/plugin-record-index.js +51 -0
- package/src/lib/plugin-manager/plugin-record-index.js.map +1 -0
- package/src/lib/plugin-manager/plugin-record-written.d.ts +58 -0
- package/src/lib/plugin-manager/plugin-record-written.js +42 -0
- package/src/lib/plugin-manager/plugin-record-written.js.map +1 -0
- package/src/lib/plugin-manager/plugin-revenue-sources.d.ts +213 -0
- package/src/lib/plugin-manager/plugin-revenue-sources.js +194 -0
- package/src/lib/plugin-manager/plugin-revenue-sources.js.map +1 -0
- package/src/lib/plugin-manager/plugin-site-bundle.d.ts +145 -0
- package/src/lib/plugin-manager/plugin-site-bundle.js +78 -0
- package/src/lib/plugin-manager/plugin-site-bundle.js.map +1 -0
- package/src/lib/plugin-manager/plugin-site-cache.d.ts +12 -0
- package/src/lib/plugin-manager/plugin-site-cache.js.map +1 -1
- package/src/lib/plugin-manager/plugin-site-export.d.ts +81 -0
- package/src/lib/plugin-manager/plugin-site-export.js +40 -0
- package/src/lib/plugin-manager/plugin-site-export.js.map +1 -0
- package/src/lib/plugin-manager/plugin-sitemap-sections.d.ts +88 -0
- package/src/lib/plugin-manager/plugin-sitemap-sections.js +29 -0
- package/src/lib/plugin-manager/plugin-sitemap-sections.js.map +1 -0
- package/src/lib/plugin-manager/plugin-tax-profile.d.ts +20 -4
- package/src/lib/plugin-manager/plugin-tax-profile.js.map +1 -1
- package/src/lib/plugin-manager/plugin-tax-return-sources.d.ts +255 -0
- package/src/lib/plugin-manager/plugin-tax-return-sources.js +191 -0
- package/src/lib/plugin-manager/plugin-tax-return-sources.js.map +1 -0
- package/src/lib/plugin-manager/plugin-template-sources.d.ts +75 -0
- package/src/lib/plugin-manager/plugin-template-sources.js +37 -0
- package/src/lib/plugin-manager/plugin-template-sources.js.map +1 -0
- package/src/lib/plugin-manager/plugin-usage-axes.d.ts +107 -0
- package/src/lib/plugin-manager/plugin-usage-axes.js +107 -0
- package/src/lib/plugin-manager/plugin-usage-axes.js.map +1 -0
- package/src/lib/plugin-manager/plugin-zones.d.ts +4 -5
- package/src/lib/plugin-manager/plugin-zones.js.map +1 -1
- package/src/lib/plugin-manager/realm-host-aglyn.generated.js +2 -0
- package/src/lib/plugin-manager/realm-host-aglyn.generated.js.map +1 -1
- package/src/lib/plugin-manager/record-captured-contact.d.ts +1 -14
- package/src/lib/plugin-manager/record-captured-contact.js +10 -32
- package/src/lib/plugin-manager/record-captured-contact.js.map +1 -1
- package/src/lib/plugin-manager/repeat-rows.d.ts +124 -0
- package/src/lib/plugin-manager/repeat-rows.js +108 -0
- package/src/lib/plugin-manager/repeat-rows.js.map +1 -0
- package/src/lib/plugin-manager/submission-record-target.d.ts +144 -0
- package/src/lib/plugin-manager/submission-record-target.js +125 -0
- package/src/lib/plugin-manager/submission-record-target.js.map +1 -0
- package/src/lib/plugin-manager/video-embed-provider.d.ts +108 -0
- package/src/lib/plugin-manager/video-embed-provider.js +165 -0
- package/src/lib/plugin-manager/video-embed-provider.js.map +1 -0
- package/src/lib/types/nodes.d.ts +2 -2
- package/src/lib/types/nodes.js.map +1 -1
- package/src/lib/app-utils/campaign-attribution.js.map +0 -1
- package/src/lib/app-utils/campaign-forwarding.js.map +0 -1
- package/src/lib/app-utils/contact-holder.d.ts +0 -68
- package/src/lib/app-utils/contact-holder.js +0 -129
- package/src/lib/app-utils/contact-holder.js.map +0 -1
- package/src/lib/app-utils/contact-merge.d.ts +0 -136
- package/src/lib/app-utils/contact-merge.js +0 -412
- package/src/lib/app-utils/contact-merge.js.map +0 -1
- package/src/lib/app-utils/crm-csv.d.ts +0 -239
- package/src/lib/app-utils/crm-csv.js +0 -467
- package/src/lib/app-utils/crm-csv.js.map +0 -1
- package/src/lib/app-utils/crm-digest.d.ts +0 -185
- package/src/lib/app-utils/crm-digest.js +0 -272
- package/src/lib/app-utils/crm-digest.js.map +0 -1
- package/src/lib/app-utils/form-dataset-binding.d.ts +0 -50
- package/src/lib/app-utils/form-dataset-binding.js +0 -74
- package/src/lib/app-utils/form-dataset-binding.js.map +0 -1
- package/src/lib/app-utils/list-import.d.ts +0 -158
- package/src/lib/app-utils/list-import.js +0 -332
- package/src/lib/app-utils/list-import.js.map +0 -1
- package/src/lib/app-utils/marketplace-listing-visibility.d.ts +0 -122
- package/src/lib/app-utils/marketplace-listing-visibility.js +0 -147
- package/src/lib/app-utils/marketplace-listing-visibility.js.map +0 -1
- package/src/lib/app-utils/marketplace-overrides.js.map +0 -1
- package/src/lib/app-utils/marketplace-provenance.js.map +0 -1
- package/src/lib/app-utils/marketplace-theme.js.map +0 -1
- package/src/lib/app-utils/marketplace-update-state.d.ts +0 -119
- package/src/lib/app-utils/marketplace-update-state.js +0 -132
- package/src/lib/app-utils/marketplace-update-state.js.map +0 -1
- package/src/lib/app-utils/publisher-agreement.d.ts +0 -289
- package/src/lib/app-utils/publisher-agreement.js +0 -321
- package/src/lib/app-utils/publisher-agreement.js.map +0 -1
- package/src/lib/app-utils/wistia-embed.d.ts +0 -104
- package/src/lib/app-utils/wistia-embed.js +0 -138
- package/src/lib/app-utils/wistia-embed.js.map +0 -1
- package/src/lib/app-utils/workflows.d.ts +0 -136
- package/src/lib/app-utils/workflows.js +0 -346
- package/src/lib/app-utils/workflows.js.map +0 -1
- package/src/lib/plugin-manager/commerce-zone-props.d.ts +0 -172
- package/src/lib/plugin-manager/commerce-zone-props.js +0 -31
- 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.
|
|
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.
|
|
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):
|
|
276
|
-
*
|
|
277
|
-
*
|
|
278
|
-
* rather than from a row
|
|
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:
|
|
664
|
-
*
|
|
665
|
-
*
|
|
666
|
-
*
|
|
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
|