@aglyn/aglyn 1.0.0-beta.143
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +11 -0
- package/package.json +66 -0
- package/src/index.d.ts +25 -0
- package/src/index.js +26 -0
- package/src/index.js.map +1 -0
- package/src/lib/aglyn.d.ts +31 -0
- package/src/lib/aglyn.js +114 -0
- package/src/lib/aglyn.js.map +1 -0
- package/src/lib/app-utils/abuse-report.d.ts +193 -0
- package/src/lib/app-utils/abuse-report.js +321 -0
- package/src/lib/app-utils/abuse-report.js.map +1 -0
- package/src/lib/app-utils/accept-negotiation.d.ts +129 -0
- package/src/lib/app-utils/accept-negotiation.js +266 -0
- package/src/lib/app-utils/accept-negotiation.js.map +1 -0
- package/src/lib/app-utils/account-emails.d.ts +263 -0
- package/src/lib/app-utils/account-emails.js +264 -0
- package/src/lib/app-utils/account-emails.js.map +1 -0
- package/src/lib/app-utils/actions.d.ts +717 -0
- package/src/lib/app-utils/actions.js +1031 -0
- package/src/lib/app-utils/actions.js.map +1 -0
- package/src/lib/app-utils/activity-presenter.d.ts +152 -0
- package/src/lib/app-utils/activity-presenter.js +326 -0
- package/src/lib/app-utils/activity-presenter.js.map +1 -0
- package/src/lib/app-utils/advertising-tag-mounts.d.ts +133 -0
- package/src/lib/app-utils/advertising-tag-mounts.js +118 -0
- package/src/lib/app-utils/advertising-tag-mounts.js.map +1 -0
- package/src/lib/app-utils/advertising-tags.d.ts +307 -0
- package/src/lib/app-utils/advertising-tags.js +525 -0
- package/src/lib/app-utils/advertising-tags.js.map +1 -0
- package/src/lib/app-utils/agent-api-catalog.d.ts +94 -0
- package/src/lib/app-utils/agent-api-catalog.js +106 -0
- package/src/lib/app-utils/agent-api-catalog.js.map +1 -0
- package/src/lib/app-utils/agent-openapi.d.ts +103 -0
- package/src/lib/app-utils/agent-openapi.js +1128 -0
- package/src/lib/app-utils/agent-openapi.js.map +1 -0
- package/src/lib/app-utils/analytics-beacon.d.ts +154 -0
- package/src/lib/app-utils/analytics-beacon.js +152 -0
- package/src/lib/app-utils/analytics-beacon.js.map +1 -0
- package/src/lib/app-utils/analytics-environment.d.ts +133 -0
- package/src/lib/app-utils/analytics-environment.js +152 -0
- package/src/lib/app-utils/analytics-environment.js.map +1 -0
- package/src/lib/app-utils/analytics-events.d.ts +744 -0
- package/src/lib/app-utils/analytics-events.js +650 -0
- package/src/lib/app-utils/analytics-events.js.map +1 -0
- package/src/lib/app-utils/analytics-link-clicks.d.ts +102 -0
- package/src/lib/app-utils/analytics-link-clicks.js +267 -0
- package/src/lib/app-utils/analytics-link-clicks.js.map +1 -0
- package/src/lib/app-utils/analytics-path-key.d.ts +46 -0
- package/src/lib/app-utils/analytics-path-key.js +46 -0
- package/src/lib/app-utils/analytics-path-key.js.map +1 -0
- package/src/lib/app-utils/api-adapter.d.ts +47 -0
- package/src/lib/app-utils/api-adapter.js +367 -0
- package/src/lib/app-utils/api-adapter.js.map +1 -0
- package/src/lib/app-utils/api-idempotency.d.ts +169 -0
- package/src/lib/app-utils/api-idempotency.js +213 -0
- package/src/lib/app-utils/api-idempotency.js.map +1 -0
- package/src/lib/app-utils/api-plugins.d.ts +210 -0
- package/src/lib/app-utils/api-plugins.js +221 -0
- package/src/lib/app-utils/api-plugins.js.map +1 -0
- package/src/lib/app-utils/assist-credits.d.ts +482 -0
- package/src/lib/app-utils/assist-credits.js +509 -0
- package/src/lib/app-utils/assist-credits.js.map +1 -0
- package/src/lib/app-utils/attribution-attribute.d.ts +34 -0
- package/src/lib/app-utils/attribution-attribute.js +34 -0
- package/src/lib/app-utils/attribution-attribute.js.map +1 -0
- package/src/lib/app-utils/attribution-guard.d.ts +130 -0
- package/src/lib/app-utils/attribution-guard.js +410 -0
- package/src/lib/app-utils/attribution-guard.js.map +1 -0
- package/src/lib/app-utils/author-css.d.ts +123 -0
- package/src/lib/app-utils/author-css.js +275 -0
- package/src/lib/app-utils/author-css.js.map +1 -0
- package/src/lib/app-utils/author-html-markdown.d.ts +31 -0
- package/src/lib/app-utils/author-html-markdown.js +497 -0
- package/src/lib/app-utils/author-html-markdown.js.map +1 -0
- package/src/lib/app-utils/author-html.d.ts +135 -0
- package/src/lib/app-utils/author-html.js +1037 -0
- package/src/lib/app-utils/author-html.js.map +1 -0
- package/src/lib/app-utils/automation-placeholders.d.ts +72 -0
- package/src/lib/app-utils/automation-placeholders.js +207 -0
- package/src/lib/app-utils/automation-placeholders.js.map +1 -0
- package/src/lib/app-utils/bandwidth-cap.d.ts +183 -0
- package/src/lib/app-utils/bandwidth-cap.js +193 -0
- package/src/lib/app-utils/bandwidth-cap.js.map +1 -0
- package/src/lib/app-utils/binding-token-catalog.d.ts +82 -0
- package/src/lib/app-utils/binding-token-catalog.js +293 -0
- package/src/lib/app-utils/binding-token-catalog.js.map +1 -0
- package/src/lib/app-utils/binding-tokens.d.ts +157 -0
- package/src/lib/app-utils/binding-tokens.js +251 -0
- package/src/lib/app-utils/binding-tokens.js.map +1 -0
- package/src/lib/app-utils/breadcrumb-json-ld.d.ts +57 -0
- package/src/lib/app-utils/breadcrumb-json-ld.js +67 -0
- package/src/lib/app-utils/breadcrumb-json-ld.js.map +1 -0
- package/src/lib/app-utils/campaign-attribution.d.ts +117 -0
- package/src/lib/app-utils/campaign-attribution.js +162 -0
- package/src/lib/app-utils/campaign-attribution.js.map +1 -0
- package/src/lib/app-utils/campaign-forwarding.d.ts +220 -0
- package/src/lib/app-utils/campaign-forwarding.js +332 -0
- package/src/lib/app-utils/campaign-forwarding.js.map +1 -0
- package/src/lib/app-utils/campaign-membership.d.ts +109 -0
- package/src/lib/app-utils/campaign-membership.js +176 -0
- package/src/lib/app-utils/campaign-membership.js.map +1 -0
- package/src/lib/app-utils/campaign-touch.d.ts +206 -0
- package/src/lib/app-utils/campaign-touch.js +326 -0
- package/src/lib/app-utils/campaign-touch.js.map +1 -0
- package/src/lib/app-utils/child-contract-compose.d.ts +28 -0
- package/src/lib/app-utils/child-contract-compose.js +140 -0
- package/src/lib/app-utils/child-contract-compose.js.map +1 -0
- package/src/lib/app-utils/child-contract.d.ts +129 -0
- package/src/lib/app-utils/child-contract.js +153 -0
- package/src/lib/app-utils/child-contract.js.map +1 -0
- package/src/lib/app-utils/collection-delete.d.ts +113 -0
- package/src/lib/app-utils/collection-delete.js +120 -0
- package/src/lib/app-utils/collection-delete.js.map +1 -0
- package/src/lib/app-utils/collection-entries.d.ts +833 -0
- package/src/lib/app-utils/collection-entries.js +1285 -0
- package/src/lib/app-utils/collection-entries.js.map +1 -0
- package/src/lib/app-utils/collection-entry-date.d.ts +129 -0
- package/src/lib/app-utils/collection-entry-date.js +183 -0
- package/src/lib/app-utils/collection-entry-date.js.map +1 -0
- package/src/lib/app-utils/collection-kind.d.ts +55 -0
- package/src/lib/app-utils/collection-kind.js +69 -0
- package/src/lib/app-utils/collection-kind.js.map +1 -0
- package/src/lib/app-utils/collection-slug.d.ts +79 -0
- package/src/lib/app-utils/collection-slug.js +70 -0
- package/src/lib/app-utils/collection-slug.js.map +1 -0
- package/src/lib/app-utils/compose-layout-nodes.d.ts +147 -0
- package/src/lib/app-utils/compose-layout-nodes.js +261 -0
- package/src/lib/app-utils/compose-layout-nodes.js.map +1 -0
- package/src/lib/app-utils/compose-layout-props.d.ts +71 -0
- package/src/lib/app-utils/compose-layout-props.js +61 -0
- package/src/lib/app-utils/compose-layout-props.js.map +1 -0
- package/src/lib/app-utils/compose-reusable-components.d.ts +504 -0
- package/src/lib/app-utils/compose-reusable-components.js +1366 -0
- package/src/lib/app-utils/compose-reusable-components.js.map +1 -0
- package/src/lib/app-utils/compress.d.ts +35 -0
- package/src/lib/app-utils/compress.js +38 -0
- package/src/lib/app-utils/compress.js.map +1 -0
- package/src/lib/app-utils/consent-banner-ui.d.ts +226 -0
- package/src/lib/app-utils/consent-banner-ui.js +583 -0
- package/src/lib/app-utils/consent-banner-ui.js.map +1 -0
- package/src/lib/app-utils/consent-groups.d.ts +189 -0
- package/src/lib/app-utils/consent-groups.js +219 -0
- package/src/lib/app-utils/consent-groups.js.map +1 -0
- package/src/lib/app-utils/consent-preferences-dialog.d.ts +58 -0
- package/src/lib/app-utils/consent-preferences-dialog.js +106 -0
- package/src/lib/app-utils/consent-preferences-dialog.js.map +1 -0
- package/src/lib/app-utils/console-record-links.d.ts +163 -0
- package/src/lib/app-utils/console-record-links.js +178 -0
- package/src/lib/app-utils/console-record-links.js.map +1 -0
- package/src/lib/app-utils/console-routes.d.ts +658 -0
- package/src/lib/app-utils/console-routes.js +489 -0
- package/src/lib/app-utils/console-routes.js.map +1 -0
- package/src/lib/app-utils/console-widget-slot-context.d.ts +46 -0
- package/src/lib/app-utils/console-widget-slot-context.js +23 -0
- package/src/lib/app-utils/console-widget-slot-context.js.map +1 -0
- package/src/lib/app-utils/contact-custom-fields.d.ts +191 -0
- package/src/lib/app-utils/contact-custom-fields.js +349 -0
- package/src/lib/app-utils/contact-custom-fields.js.map +1 -0
- package/src/lib/app-utils/contact-holder.d.ts +52 -0
- package/src/lib/app-utils/contact-holder.js +98 -0
- package/src/lib/app-utils/contact-holder.js.map +1 -0
- package/src/lib/app-utils/contact-merge.d.ts +136 -0
- package/src/lib/app-utils/contact-merge.js +379 -0
- package/src/lib/app-utils/contact-merge.js.map +1 -0
- package/src/lib/app-utils/contacts.d.ts +554 -0
- package/src/lib/app-utils/contacts.js +401 -0
- package/src/lib/app-utils/contacts.js.map +1 -0
- package/src/lib/app-utils/content-author-profile.d.ts +68 -0
- package/src/lib/app-utils/content-author-profile.js +118 -0
- package/src/lib/app-utils/content-author-profile.js.map +1 -0
- package/src/lib/app-utils/content-authors.d.ts +662 -0
- package/src/lib/app-utils/content-authors.js +771 -0
- package/src/lib/app-utils/content-authors.js.map +1 -0
- package/src/lib/app-utils/content-schema-type.d.ts +81 -0
- package/src/lib/app-utils/content-schema-type.js +87 -0
- package/src/lib/app-utils/content-schema-type.js.map +1 -0
- package/src/lib/app-utils/contexts.d.ts +35 -0
- package/src/lib/app-utils/contexts.js +35 -0
- package/src/lib/app-utils/contexts.js.map +1 -0
- package/src/lib/app-utils/create-resource-uid.d.ts +18 -0
- package/src/lib/app-utils/create-resource-uid.js +23 -0
- package/src/lib/app-utils/create-resource-uid.js.map +1 -0
- package/src/lib/app-utils/crm-booking.d.ts +75 -0
- package/src/lib/app-utils/crm-booking.js +133 -0
- package/src/lib/app-utils/crm-booking.js.map +1 -0
- package/src/lib/app-utils/crm-csv.d.ts +232 -0
- package/src/lib/app-utils/crm-csv.js +432 -0
- package/src/lib/app-utils/crm-csv.js.map +1 -0
- package/src/lib/app-utils/crm-digest.d.ts +179 -0
- package/src/lib/app-utils/crm-digest.js +271 -0
- package/src/lib/app-utils/crm-digest.js.map +1 -0
- package/src/lib/app-utils/crm-email-templates.d.ts +172 -0
- package/src/lib/app-utils/crm-email-templates.js +382 -0
- package/src/lib/app-utils/crm-email-templates.js.map +1 -0
- package/src/lib/app-utils/crm-inbound.d.ts +245 -0
- package/src/lib/app-utils/crm-inbound.js +407 -0
- package/src/lib/app-utils/crm-inbound.js.map +1 -0
- package/src/lib/app-utils/crm-kinds.d.ts +73 -0
- package/src/lib/app-utils/crm-kinds.js +92 -0
- package/src/lib/app-utils/crm-kinds.js.map +1 -0
- package/src/lib/app-utils/crm-next-activity.d.ts +107 -0
- package/src/lib/app-utils/crm-next-activity.js +140 -0
- package/src/lib/app-utils/crm-next-activity.js.map +1 -0
- package/src/lib/app-utils/crm-reports.d.ts +479 -0
- package/src/lib/app-utils/crm-reports.js +680 -0
- package/src/lib/app-utils/crm-reports.js.map +1 -0
- package/src/lib/app-utils/crm-task-reminders.d.ts +129 -0
- package/src/lib/app-utils/crm-task-reminders.js +139 -0
- package/src/lib/app-utils/crm-task-reminders.js.map +1 -0
- package/src/lib/app-utils/crm.d.ts +1546 -0
- package/src/lib/app-utils/crm.js +1814 -0
- package/src/lib/app-utils/crm.js.map +1 -0
- package/src/lib/app-utils/csp-report.d.ts +84 -0
- package/src/lib/app-utils/csp-report.js +177 -0
- package/src/lib/app-utils/csp-report.js.map +1 -0
- package/src/lib/app-utils/csv-import.d.ts +192 -0
- package/src/lib/app-utils/csv-import.js +279 -0
- package/src/lib/app-utils/csv-import.js.map +1 -0
- package/src/lib/app-utils/dataset-csv.d.ts +109 -0
- package/src/lib/app-utils/dataset-csv.js +235 -0
- package/src/lib/app-utils/dataset-csv.js.map +1 -0
- package/src/lib/app-utils/dataset-models.d.ts +194 -0
- package/src/lib/app-utils/dataset-models.js +409 -0
- package/src/lib/app-utils/dataset-models.js.map +1 -0
- package/src/lib/app-utils/dataset-query.d.ts +57 -0
- package/src/lib/app-utils/dataset-query.js +126 -0
- package/src/lib/app-utils/dataset-query.js.map +1 -0
- package/src/lib/app-utils/datasets.d.ts +136 -0
- package/src/lib/app-utils/datasets.js +177 -0
- package/src/lib/app-utils/datasets.js.map +1 -0
- package/src/lib/app-utils/decompress.d.ts +36 -0
- package/src/lib/app-utils/decompress.js +32 -0
- package/src/lib/app-utils/decompress.js.map +1 -0
- package/src/lib/app-utils/dedicated-sending-domain.d.ts +47 -0
- package/src/lib/app-utils/dedicated-sending-domain.js +114 -0
- package/src/lib/app-utils/dedicated-sending-domain.js.map +1 -0
- package/src/lib/app-utils/deferred-image.d.ts +86 -0
- package/src/lib/app-utils/deferred-image.js +83 -0
- package/src/lib/app-utils/deferred-image.js.map +1 -0
- package/src/lib/app-utils/definition-canvas-tree.d.ts +61 -0
- package/src/lib/app-utils/definition-canvas-tree.js +126 -0
- package/src/lib/app-utils/definition-canvas-tree.js.map +1 -0
- package/src/lib/app-utils/deployment-shape.d.ts +167 -0
- package/src/lib/app-utils/deployment-shape.js +238 -0
- package/src/lib/app-utils/deployment-shape.js.map +1 -0
- package/src/lib/app-utils/detect-template-placeholders.d.ts +30 -0
- package/src/lib/app-utils/detect-template-placeholders.js +53 -0
- package/src/lib/app-utils/detect-template-placeholders.js.map +1 -0
- package/src/lib/app-utils/dmca-counter-notice.d.ts +185 -0
- package/src/lib/app-utils/dmca-counter-notice.js +277 -0
- package/src/lib/app-utils/dmca-counter-notice.js.map +1 -0
- package/src/lib/app-utils/docs-deflection.d.ts +156 -0
- package/src/lib/app-utils/docs-deflection.js +547 -0
- package/src/lib/app-utils/docs-deflection.js.map +1 -0
- package/src/lib/app-utils/docs-help.d.ts +57 -0
- package/src/lib/app-utils/docs-help.generated.d.ts +303 -0
- package/src/lib/app-utils/docs-help.generated.js +867 -0
- package/src/lib/app-utils/docs-help.generated.js.map +1 -0
- package/src/lib/app-utils/docs-help.js +46 -0
- package/src/lib/app-utils/docs-help.js.map +1 -0
- package/src/lib/app-utils/docs-index.generated.d.ts +29 -0
- package/src/lib/app-utils/docs-index.generated.js +8388 -0
- package/src/lib/app-utils/docs-index.generated.js.map +1 -0
- package/src/lib/app-utils/docs-retrieval.d.ts +67 -0
- package/src/lib/app-utils/docs-retrieval.js +188 -0
- package/src/lib/app-utils/docs-retrieval.js.map +1 -0
- package/src/lib/app-utils/document-landmark.d.ts +50 -0
- package/src/lib/app-utils/document-landmark.js +100 -0
- package/src/lib/app-utils/document-landmark.js.map +1 -0
- package/src/lib/app-utils/duplicate-resource.d.ts +101 -0
- package/src/lib/app-utils/duplicate-resource.js +206 -0
- package/src/lib/app-utils/duplicate-resource.js.map +1 -0
- package/src/lib/app-utils/dynamic-list-rule.d.ts +471 -0
- package/src/lib/app-utils/dynamic-list-rule.js +914 -0
- package/src/lib/app-utils/dynamic-list-rule.js.map +1 -0
- package/src/lib/app-utils/element-animation.d.ts +200 -0
- package/src/lib/app-utils/element-animation.js +233 -0
- package/src/lib/app-utils/element-animation.js.map +1 -0
- package/src/lib/app-utils/element-hidden-style.d.ts +46 -0
- package/src/lib/app-utils/element-hidden-style.js +48 -0
- package/src/lib/app-utils/element-hidden-style.js.map +1 -0
- package/src/lib/app-utils/element-ui.d.ts +243 -0
- package/src/lib/app-utils/element-ui.js +459 -0
- package/src/lib/app-utils/element-ui.js.map +1 -0
- package/src/lib/app-utils/email-starter-policy.d.ts +160 -0
- package/src/lib/app-utils/email-starter-policy.js +327 -0
- package/src/lib/app-utils/email-starter-policy.js.map +1 -0
- package/src/lib/app-utils/email-topics.d.ts +310 -0
- package/src/lib/app-utils/email-topics.js +336 -0
- package/src/lib/app-utils/email-topics.js.map +1 -0
- package/src/lib/app-utils/enabled-plugins-context.d.ts +100 -0
- package/src/lib/app-utils/enabled-plugins-context.js +113 -0
- package/src/lib/app-utils/enabled-plugins-context.js.map +1 -0
- package/src/lib/app-utils/ensure-canvas-root.d.ts +38 -0
- package/src/lib/app-utils/ensure-canvas-root.js +61 -0
- package/src/lib/app-utils/ensure-canvas-root.js.map +1 -0
- package/src/lib/app-utils/entity-picker-context.d.ts +199 -0
- package/src/lib/app-utils/entity-picker-context.js +93 -0
- package/src/lib/app-utils/entity-picker-context.js.map +1 -0
- package/src/lib/app-utils/error-beacon.d.ts +107 -0
- package/src/lib/app-utils/error-beacon.js +296 -0
- package/src/lib/app-utils/error-beacon.js.map +1 -0
- package/src/lib/app-utils/expand-repeatables.d.ts +172 -0
- package/src/lib/app-utils/expand-repeatables.js +299 -0
- package/src/lib/app-utils/expand-repeatables.js.map +1 -0
- package/src/lib/app-utils/foreign-script.d.ts +82 -0
- package/src/lib/app-utils/foreign-script.js +102 -0
- package/src/lib/app-utils/foreign-script.js.map +1 -0
- package/src/lib/app-utils/form-abuse-ceiling.d.ts +146 -0
- package/src/lib/app-utils/form-abuse-ceiling.js +158 -0
- package/src/lib/app-utils/form-abuse-ceiling.js.map +1 -0
- package/src/lib/app-utils/form-contract.d.ts +198 -0
- package/src/lib/app-utils/form-contract.js +282 -0
- package/src/lib/app-utils/form-contract.js.map +1 -0
- package/src/lib/app-utils/form-dataset-binding.d.ts +50 -0
- package/src/lib/app-utils/form-dataset-binding.js +74 -0
- package/src/lib/app-utils/form-dataset-binding.js.map +1 -0
- package/src/lib/app-utils/forms.d.ts +727 -0
- package/src/lib/app-utils/forms.js +777 -0
- package/src/lib/app-utils/forms.js.map +1 -0
- package/src/lib/app-utils/functions.d.ts +188 -0
- package/src/lib/app-utils/functions.js +529 -0
- package/src/lib/app-utils/functions.js.map +1 -0
- package/src/lib/app-utils/guarded-version-save.d.ts +91 -0
- package/src/lib/app-utils/guarded-version-save.js +131 -0
- package/src/lib/app-utils/guarded-version-save.js.map +1 -0
- package/src/lib/app-utils/health-report.d.ts +1766 -0
- package/src/lib/app-utils/health-report.js +2072 -0
- package/src/lib/app-utils/health-report.js.map +1 -0
- package/src/lib/app-utils/host-naming.d.ts +135 -0
- package/src/lib/app-utils/host-naming.js +188 -0
- package/src/lib/app-utils/host-naming.js.map +1 -0
- package/src/lib/app-utils/host-permissions.d.ts +76 -0
- package/src/lib/app-utils/host-permissions.js +119 -0
- package/src/lib/app-utils/host-permissions.js.map +1 -0
- package/src/lib/app-utils/host-tokens.d.ts +228 -0
- package/src/lib/app-utils/host-tokens.js +304 -0
- package/src/lib/app-utils/host-tokens.js.map +1 -0
- package/src/lib/app-utils/idp-profile.d.ts +83 -0
- package/src/lib/app-utils/idp-profile.js +268 -0
- package/src/lib/app-utils/idp-profile.js.map +1 -0
- package/src/lib/app-utils/image-upload-types.d.ts +49 -0
- package/src/lib/app-utils/image-upload-types.js +86 -0
- package/src/lib/app-utils/image-upload-types.js.map +1 -0
- package/src/lib/app-utils/index.d.ts +18 -0
- package/src/lib/app-utils/index.js +23 -0
- package/src/lib/app-utils/index.js.map +1 -0
- package/src/lib/app-utils/internal-traffic.d.ts +197 -0
- package/src/lib/app-utils/internal-traffic.js +288 -0
- package/src/lib/app-utils/internal-traffic.js.map +1 -0
- package/src/lib/app-utils/lineal-order.d.ts +62 -0
- package/src/lib/app-utils/lineal-order.js +65 -0
- package/src/lib/app-utils/lineal-order.js.map +1 -0
- package/src/lib/app-utils/link-references.d.ts +36 -0
- package/src/lib/app-utils/link-references.js +89 -0
- package/src/lib/app-utils/link-references.js.map +1 -0
- package/src/lib/app-utils/link-target-search-context.d.ts +123 -0
- package/src/lib/app-utils/link-target-search-context.js +221 -0
- package/src/lib/app-utils/link-target-search-context.js.map +1 -0
- package/src/lib/app-utils/list-assignment-policy.d.ts +169 -0
- package/src/lib/app-utils/list-assignment-policy.js +170 -0
- package/src/lib/app-utils/list-assignment-policy.js.map +1 -0
- package/src/lib/app-utils/list-import.d.ts +158 -0
- package/src/lib/app-utils/list-import.js +332 -0
- package/src/lib/app-utils/list-import.js.map +1 -0
- package/src/lib/app-utils/llms-txt.d.ts +104 -0
- package/src/lib/app-utils/llms-txt.js +144 -0
- package/src/lib/app-utils/llms-txt.js.map +1 -0
- package/src/lib/app-utils/local-storage-budget.d.ts +75 -0
- package/src/lib/app-utils/local-storage-budget.js +153 -0
- package/src/lib/app-utils/local-storage-budget.js.map +1 -0
- package/src/lib/app-utils/lockdown.d.ts +698 -0
- package/src/lib/app-utils/lockdown.js +929 -0
- package/src/lib/app-utils/lockdown.js.map +1 -0
- package/src/lib/app-utils/margin-utilization.d.ts +267 -0
- package/src/lib/app-utils/margin-utilization.js +351 -0
- package/src/lib/app-utils/margin-utilization.js.map +1 -0
- package/src/lib/app-utils/markdown-lite.d.ts +297 -0
- package/src/lib/app-utils/markdown-lite.js +705 -0
- package/src/lib/app-utils/markdown-lite.js.map +1 -0
- package/src/lib/app-utils/marketing-consent.d.ts +704 -0
- package/src/lib/app-utils/marketing-consent.js +783 -0
- package/src/lib/app-utils/marketing-consent.js.map +1 -0
- package/src/lib/app-utils/marketplace-listing-visibility.d.ts +120 -0
- package/src/lib/app-utils/marketplace-listing-visibility.js +139 -0
- package/src/lib/app-utils/marketplace-listing-visibility.js.map +1 -0
- package/src/lib/app-utils/marketplace-overrides.d.ts +271 -0
- package/src/lib/app-utils/marketplace-overrides.js +462 -0
- package/src/lib/app-utils/marketplace-overrides.js.map +1 -0
- package/src/lib/app-utils/marketplace-provenance.d.ts +150 -0
- package/src/lib/app-utils/marketplace-provenance.js +136 -0
- package/src/lib/app-utils/marketplace-provenance.js.map +1 -0
- package/src/lib/app-utils/marketplace-theme.d.ts +237 -0
- package/src/lib/app-utils/marketplace-theme.js +525 -0
- package/src/lib/app-utils/marketplace-theme.js.map +1 -0
- package/src/lib/app-utils/marketplace-update-state.d.ts +119 -0
- package/src/lib/app-utils/marketplace-update-state.js +132 -0
- package/src/lib/app-utils/marketplace-update-state.js.map +1 -0
- package/src/lib/app-utils/marketplace-verification.d.ts +95 -0
- package/src/lib/app-utils/marketplace-verification.js +81 -0
- package/src/lib/app-utils/marketplace-verification.js.map +1 -0
- package/src/lib/app-utils/measure-node-map.d.ts +76 -0
- package/src/lib/app-utils/measure-node-map.js +111 -0
- package/src/lib/app-utils/measure-node-map.js.map +1 -0
- package/src/lib/app-utils/media-alt.d.ts +55 -0
- package/src/lib/app-utils/media-alt.js +58 -0
- package/src/lib/app-utils/media-alt.js.map +1 -0
- package/src/lib/app-utils/media-asset-facts.d.ts +125 -0
- package/src/lib/app-utils/media-asset-facts.js +467 -0
- package/src/lib/app-utils/media-asset-facts.js.map +1 -0
- package/src/lib/app-utils/media-cdn-scope.d.ts +65 -0
- package/src/lib/app-utils/media-cdn-scope.js +75 -0
- package/src/lib/app-utils/media-cdn-scope.js.map +1 -0
- package/src/lib/app-utils/media-folders.d.ts +161 -0
- package/src/lib/app-utils/media-folders.js +230 -0
- package/src/lib/app-utils/media-folders.js.map +1 -0
- package/src/lib/app-utils/media-metadata.d.ts +277 -0
- package/src/lib/app-utils/media-metadata.js +388 -0
- package/src/lib/app-utils/media-metadata.js.map +1 -0
- package/src/lib/app-utils/media-picker-context.d.ts +93 -0
- package/src/lib/app-utils/media-picker-context.js +26 -0
- package/src/lib/app-utils/media-picker-context.js.map +1 -0
- package/src/lib/app-utils/media-quarantine.d.ts +247 -0
- package/src/lib/app-utils/media-quarantine.js +323 -0
- package/src/lib/app-utils/media-quarantine.js.map +1 -0
- package/src/lib/app-utils/media-ref.d.ts +661 -0
- package/src/lib/app-utils/media-ref.js +1055 -0
- package/src/lib/app-utils/media-ref.js.map +1 -0
- package/src/lib/app-utils/media-takedown-reach.d.ts +126 -0
- package/src/lib/app-utils/media-takedown-reach.js +143 -0
- package/src/lib/app-utils/media-takedown-reach.js.map +1 -0
- package/src/lib/app-utils/member-email-aliases.d.ts +180 -0
- package/src/lib/app-utils/member-email-aliases.js +217 -0
- package/src/lib/app-utils/member-email-aliases.js.map +1 -0
- package/src/lib/app-utils/merge-node-sx.d.ts +47 -0
- package/src/lib/app-utils/merge-node-sx.js +123 -0
- package/src/lib/app-utils/merge-node-sx.js.map +1 -0
- package/src/lib/app-utils/name-match.d.ts +155 -0
- package/src/lib/app-utils/name-match.js +175 -0
- package/src/lib/app-utils/name-match.js.map +1 -0
- package/src/lib/app-utils/name-search.d.ts +117 -0
- package/src/lib/app-utils/name-search.js +145 -0
- package/src/lib/app-utils/name-search.js.map +1 -0
- package/src/lib/app-utils/node-capabilities.d.ts +85 -0
- package/src/lib/app-utils/node-capabilities.js +88 -0
- package/src/lib/app-utils/node-capabilities.js.map +1 -0
- package/src/lib/app-utils/node-definition-sanitizer.d.ts +164 -0
- package/src/lib/app-utils/node-definition-sanitizer.js +402 -0
- package/src/lib/app-utils/node-definition-sanitizer.js.map +1 -0
- package/src/lib/app-utils/node-identity.d.ts +47 -0
- package/src/lib/app-utils/node-identity.js +50 -0
- package/src/lib/app-utils/node-identity.js.map +1 -0
- package/src/lib/app-utils/node-interactions.d.ts +102 -0
- package/src/lib/app-utils/node-interactions.js +192 -0
- package/src/lib/app-utils/node-interactions.js.map +1 -0
- package/src/lib/app-utils/node-url-policy.d.ts +54 -0
- package/src/lib/app-utils/node-url-policy.js +72 -0
- package/src/lib/app-utils/node-url-policy.js.map +1 -0
- package/src/lib/app-utils/notifications.d.ts +71 -0
- package/src/lib/app-utils/notifications.js +101 -0
- package/src/lib/app-utils/notifications.js.map +1 -0
- package/src/lib/app-utils/onboarding-deep-link.d.ts +120 -0
- package/src/lib/app-utils/onboarding-deep-link.js +142 -0
- package/src/lib/app-utils/onboarding-deep-link.js.map +1 -0
- package/src/lib/app-utils/operator-identity.d.ts +207 -0
- package/src/lib/app-utils/operator-identity.js +186 -0
- package/src/lib/app-utils/operator-identity.js.map +1 -0
- package/src/lib/app-utils/org-billing-doc.d.ts +231 -0
- package/src/lib/app-utils/org-billing-doc.js +238 -0
- package/src/lib/app-utils/org-billing-doc.js.map +1 -0
- package/src/lib/app-utils/org-override-reason.d.ts +100 -0
- package/src/lib/app-utils/org-override-reason.js +116 -0
- package/src/lib/app-utils/org-override-reason.js.map +1 -0
- package/src/lib/app-utils/org-permissions.d.ts +194 -0
- package/src/lib/app-utils/org-permissions.js +357 -0
- package/src/lib/app-utils/org-permissions.js.map +1 -0
- package/src/lib/app-utils/org-roles.d.ts +72 -0
- package/src/lib/app-utils/org-roles.js +131 -0
- package/src/lib/app-utils/org-roles.js.map +1 -0
- package/src/lib/app-utils/organizations.d.ts +407 -0
- package/src/lib/app-utils/organizations.js +511 -0
- package/src/lib/app-utils/organizations.js.map +1 -0
- package/src/lib/app-utils/page-header-actions-context.d.ts +83 -0
- package/src/lib/app-utils/page-header-actions-context.js +58 -0
- package/src/lib/app-utils/page-header-actions-context.js.map +1 -0
- package/src/lib/app-utils/page-header-record-context.d.ts +80 -0
- package/src/lib/app-utils/page-header-record-context.js +64 -0
- package/src/lib/app-utils/page-header-record-context.js.map +1 -0
- package/src/lib/app-utils/page-markdown.d.ts +103 -0
- package/src/lib/app-utils/page-markdown.js +385 -0
- package/src/lib/app-utils/page-markdown.js.map +1 -0
- package/src/lib/app-utils/paid-media-source.d.ts +90 -0
- package/src/lib/app-utils/paid-media-source.js +184 -0
- package/src/lib/app-utils/paid-media-source.js.map +1 -0
- package/src/lib/app-utils/palette-sx.d.ts +34 -0
- package/src/lib/app-utils/palette-sx.js +150 -0
- package/src/lib/app-utils/palette-sx.js.map +1 -0
- package/src/lib/app-utils/password-policy.d.ts +47 -0
- package/src/lib/app-utils/password-policy.js +46 -0
- package/src/lib/app-utils/password-policy.js.map +1 -0
- package/src/lib/app-utils/payments-configured.d.ts +84 -0
- package/src/lib/app-utils/payments-configured.js +88 -0
- package/src/lib/app-utils/payments-configured.js.map +1 -0
- package/src/lib/app-utils/person-erasure.d.ts +126 -0
- package/src/lib/app-utils/person-erasure.js +121 -0
- package/src/lib/app-utils/person-erasure.js.map +1 -0
- package/src/lib/app-utils/person-key.d.ts +32 -0
- package/src/lib/app-utils/person-key.js +62 -0
- package/src/lib/app-utils/person-key.js.map +1 -0
- package/src/lib/app-utils/plan-entitlements.d.ts +2756 -0
- package/src/lib/app-utils/plan-entitlements.js +4085 -0
- package/src/lib/app-utils/plan-entitlements.js.map +1 -0
- package/src/lib/app-utils/platform-ad-conversions.d.ts +122 -0
- package/src/lib/app-utils/platform-ad-conversions.js +174 -0
- package/src/lib/app-utils/platform-ad-conversions.js.map +1 -0
- package/src/lib/app-utils/platform-advertising-tags.d.ts +139 -0
- package/src/lib/app-utils/platform-advertising-tags.js +203 -0
- package/src/lib/app-utils/platform-advertising-tags.js.map +1 -0
- package/src/lib/app-utils/platform-brand.d.ts +151 -0
- package/src/lib/app-utils/platform-brand.js +175 -0
- package/src/lib/app-utils/platform-brand.js.map +1 -0
- package/src/lib/app-utils/platform-consent-default.d.ts +142 -0
- package/src/lib/app-utils/platform-consent-default.js +295 -0
- package/src/lib/app-utils/platform-consent-default.js.map +1 -0
- package/src/lib/app-utils/platform-marketing-consent.d.ts +151 -0
- package/src/lib/app-utils/platform-marketing-consent.js +182 -0
- package/src/lib/app-utils/platform-marketing-consent.js.map +1 -0
- package/src/lib/app-utils/platform-marketing-host.d.ts +33 -0
- package/src/lib/app-utils/platform-marketing-host.js +97 -0
- package/src/lib/app-utils/platform-marketing-host.js.map +1 -0
- package/src/lib/app-utils/platform-visitor-consent.d.ts +252 -0
- package/src/lib/app-utils/platform-visitor-consent.js +533 -0
- package/src/lib/app-utils/platform-visitor-consent.js.map +1 -0
- package/src/lib/app-utils/plugin-api-cross-origin.d.ts +61 -0
- package/src/lib/app-utils/plugin-api-cross-origin.js +202 -0
- package/src/lib/app-utils/plugin-api-cross-origin.js.map +1 -0
- package/src/lib/app-utils/plugin-api-rate-limit.d.ts +192 -0
- package/src/lib/app-utils/plugin-api-rate-limit.js +270 -0
- package/src/lib/app-utils/plugin-api-rate-limit.js.map +1 -0
- package/src/lib/app-utils/plugin-artifact-path.d.ts +32 -0
- package/src/lib/app-utils/plugin-artifact-path.js +33 -0
- package/src/lib/app-utils/plugin-artifact-path.js.map +1 -0
- package/src/lib/app-utils/plugin-bundle-checks.d.ts +148 -0
- package/src/lib/app-utils/plugin-bundle-checks.js +989 -0
- package/src/lib/app-utils/plugin-bundle-checks.js.map +1 -0
- package/src/lib/app-utils/plugin-manifest.d.ts +516 -0
- package/src/lib/app-utils/plugin-manifest.js +687 -0
- package/src/lib/app-utils/plugin-manifest.js.map +1 -0
- package/src/lib/app-utils/published-legal-pages.d.ts +71 -0
- package/src/lib/app-utils/published-legal-pages.js +90 -0
- package/src/lib/app-utils/published-legal-pages.js.map +1 -0
- package/src/lib/app-utils/publisher-agreement.d.ts +254 -0
- package/src/lib/app-utils/publisher-agreement.js +274 -0
- package/src/lib/app-utils/publisher-agreement.js.map +1 -0
- package/src/lib/app-utils/publisher-attestation.d.ts +99 -0
- package/src/lib/app-utils/publisher-attestation.js +158 -0
- package/src/lib/app-utils/publisher-attestation.js.map +1 -0
- package/src/lib/app-utils/recipient-email-render.d.ts +216 -0
- package/src/lib/app-utils/recipient-email-render.js +221 -0
- package/src/lib/app-utils/recipient-email-render.js.map +1 -0
- package/src/lib/app-utils/redispatch-caught-error.d.ts +38 -0
- package/src/lib/app-utils/redispatch-caught-error.js +46 -0
- package/src/lib/app-utils/redispatch-caught-error.js.map +1 -0
- package/src/lib/app-utils/registering-plugin.d.ts +19 -0
- package/src/lib/app-utils/registering-plugin.js +38 -0
- package/src/lib/app-utils/registering-plugin.js.map +1 -0
- package/src/lib/app-utils/release-flags.d.ts +283 -0
- package/src/lib/app-utils/release-flags.js +518 -0
- package/src/lib/app-utils/release-flags.js.map +1 -0
- package/src/lib/app-utils/repair-canvas-nodes.d.ts +130 -0
- package/src/lib/app-utils/repair-canvas-nodes.js +298 -0
- package/src/lib/app-utils/repair-canvas-nodes.js.map +1 -0
- package/src/lib/app-utils/repeat-infringer.d.ts +166 -0
- package/src/lib/app-utils/repeat-infringer.js +188 -0
- package/src/lib/app-utils/repeat-infringer.js.map +1 -0
- package/src/lib/app-utils/repeat-sources.d.ts +115 -0
- package/src/lib/app-utils/repeat-sources.js +86 -0
- package/src/lib/app-utils/repeat-sources.js.map +1 -0
- package/src/lib/app-utils/request-geo.d.ts +114 -0
- package/src/lib/app-utils/request-geo.js +247 -0
- package/src/lib/app-utils/request-geo.js.map +1 -0
- package/src/lib/app-utils/request-ip.d.ts +213 -0
- package/src/lib/app-utils/request-ip.js +344 -0
- package/src/lib/app-utils/request-ip.js.map +1 -0
- package/src/lib/app-utils/resolve-named-tokens.d.ts +26 -0
- package/src/lib/app-utils/resolve-named-tokens.js +59 -0
- package/src/lib/app-utils/resolve-named-tokens.js.map +1 -0
- package/src/lib/app-utils/responsive-typography-sx.d.ts +77 -0
- package/src/lib/app-utils/responsive-typography-sx.js +122 -0
- package/src/lib/app-utils/responsive-typography-sx.js.map +1 -0
- package/src/lib/app-utils/reusable-component-keys.d.ts +135 -0
- package/src/lib/app-utils/reusable-component-keys.js +140 -0
- package/src/lib/app-utils/reusable-component-keys.js.map +1 -0
- package/src/lib/app-utils/reusable-prop-values.d.ts +199 -0
- package/src/lib/app-utils/reusable-prop-values.js +494 -0
- package/src/lib/app-utils/reusable-prop-values.js.map +1 -0
- package/src/lib/app-utils/safe-json-ld.d.ts +29 -0
- package/src/lib/app-utils/safe-json-ld.js +37 -0
- package/src/lib/app-utils/safe-json-ld.js.map +1 -0
- package/src/lib/app-utils/sanitize-svg.d.ts +55 -0
- package/src/lib/app-utils/sanitize-svg.js +460 -0
- package/src/lib/app-utils/sanitize-svg.js.map +1 -0
- package/src/lib/app-utils/scheme-sx.d.ts +84 -0
- package/src/lib/app-utils/scheme-sx.js +148 -0
- package/src/lib/app-utils/scheme-sx.js.map +1 -0
- package/src/lib/app-utils/scope-tokens.d.ts +249 -0
- package/src/lib/app-utils/scope-tokens.js +331 -0
- package/src/lib/app-utils/scope-tokens.js.map +1 -0
- package/src/lib/app-utils/screen-link-context-value.d.ts +57 -0
- package/src/lib/app-utils/screen-link-context-value.js +43 -0
- package/src/lib/app-utils/screen-link-context-value.js.map +1 -0
- package/src/lib/app-utils/screen-link-context.d.ts +185 -0
- package/src/lib/app-utils/screen-link-context.js +304 -0
- package/src/lib/app-utils/screen-link-context.js.map +1 -0
- package/src/lib/app-utils/screen-link-value.d.ts +269 -0
- package/src/lib/app-utils/screen-link-value.js +384 -0
- package/src/lib/app-utils/screen-link-value.js.map +1 -0
- package/src/lib/app-utils/screen-route.d.ts +669 -0
- package/src/lib/app-utils/screen-route.js +751 -0
- package/src/lib/app-utils/screen-route.js.map +1 -0
- package/src/lib/app-utils/screen-seo-fields.d.ts +37 -0
- package/src/lib/app-utils/screen-seo-fields.js +42 -0
- package/src/lib/app-utils/screen-seo-fields.js.map +1 -0
- package/src/lib/app-utils/search-indexing.d.ts +162 -0
- package/src/lib/app-utils/search-indexing.js +207 -0
- package/src/lib/app-utils/search-indexing.js.map +1 -0
- package/src/lib/app-utils/seo-listing-fields.d.ts +70 -0
- package/src/lib/app-utils/seo-listing-fields.js +75 -0
- package/src/lib/app-utils/seo-listing-fields.js.map +1 -0
- package/src/lib/app-utils/seo-locale.d.ts +119 -0
- package/src/lib/app-utils/seo-locale.js +133 -0
- package/src/lib/app-utils/seo-locale.js.map +1 -0
- package/src/lib/app-utils/seo-title-variables.d.ts +149 -0
- package/src/lib/app-utils/seo-title-variables.js +190 -0
- package/src/lib/app-utils/seo-title-variables.js.map +1 -0
- package/src/lib/app-utils/seo-title.d.ts +70 -0
- package/src/lib/app-utils/seo-title.js +117 -0
- package/src/lib/app-utils/seo-title.js.map +1 -0
- package/src/lib/app-utils/server.d.ts +174 -0
- package/src/lib/app-utils/server.js +314 -0
- package/src/lib/app-utils/server.js.map +1 -0
- package/src/lib/app-utils/site-context.d.ts +106 -0
- package/src/lib/app-utils/site-context.js +100 -0
- package/src/lib/app-utils/site-context.js.map +1 -0
- package/src/lib/app-utils/sitemap.d.ts +117 -0
- package/src/lib/app-utils/sitemap.js +183 -0
- package/src/lib/app-utils/sitemap.js.map +1 -0
- package/src/lib/app-utils/social-image.d.ts +112 -0
- package/src/lib/app-utils/social-image.js +191 -0
- package/src/lib/app-utils/social-image.js.map +1 -0
- package/src/lib/app-utils/starter-templates.d.ts +99 -0
- package/src/lib/app-utils/starter-templates.js +579 -0
- package/src/lib/app-utils/starter-templates.js.map +1 -0
- package/src/lib/app-utils/stored-nodes.d.ts +120 -0
- package/src/lib/app-utils/stored-nodes.js +174 -0
- package/src/lib/app-utils/stored-nodes.js.map +1 -0
- package/src/lib/app-utils/strip-undefined.d.ts +59 -0
- package/src/lib/app-utils/strip-undefined.js +95 -0
- package/src/lib/app-utils/strip-undefined.js.map +1 -0
- package/src/lib/app-utils/stripe-deployment-mode.d.ts +47 -0
- package/src/lib/app-utils/stripe-deployment-mode.js +70 -0
- package/src/lib/app-utils/stripe-deployment-mode.js.map +1 -0
- package/src/lib/app-utils/support-tiers.d.ts +108 -0
- package/src/lib/app-utils/support-tiers.js +201 -0
- package/src/lib/app-utils/support-tiers.js.map +1 -0
- package/src/lib/app-utils/timezone-geo-hint.d.ts +36 -0
- package/src/lib/app-utils/timezone-geo-hint.js +180 -0
- package/src/lib/app-utils/timezone-geo-hint.js.map +1 -0
- package/src/lib/app-utils/upload-cors.d.ts +155 -0
- package/src/lib/app-utils/upload-cors.js +254 -0
- package/src/lib/app-utils/upload-cors.js.map +1 -0
- package/src/lib/app-utils/upload-inspection.d.ts +159 -0
- package/src/lib/app-utils/upload-inspection.js +539 -0
- package/src/lib/app-utils/upload-inspection.js.map +1 -0
- package/src/lib/app-utils/url-slug.d.ts +40 -0
- package/src/lib/app-utils/url-slug.js +42 -0
- package/src/lib/app-utils/url-slug.js.map +1 -0
- package/src/lib/app-utils/usage-budget.d.ts +429 -0
- package/src/lib/app-utils/usage-budget.js +421 -0
- package/src/lib/app-utils/usage-budget.js.map +1 -0
- package/src/lib/app-utils/variables.d.ts +96 -0
- package/src/lib/app-utils/variables.js +233 -0
- package/src/lib/app-utils/variables.js.map +1 -0
- package/src/lib/app-utils/video-asset-facts.d.ts +61 -0
- package/src/lib/app-utils/video-asset-facts.js +70 -0
- package/src/lib/app-utils/video-asset-facts.js.map +1 -0
- package/src/lib/app-utils/video-object.d.ts +89 -0
- package/src/lib/app-utils/video-object.js +245 -0
- package/src/lib/app-utils/video-object.js.map +1 -0
- package/src/lib/app-utils/visitor-consent.d.ts +757 -0
- package/src/lib/app-utils/visitor-consent.js +981 -0
- package/src/lib/app-utils/visitor-consent.js.map +1 -0
- package/src/lib/app-utils/visitor-record-ceiling.d.ts +223 -0
- package/src/lib/app-utils/visitor-record-ceiling.js +215 -0
- package/src/lib/app-utils/visitor-record-ceiling.js.map +1 -0
- package/src/lib/app-utils/web-vitals-rum.d.ts +53 -0
- package/src/lib/app-utils/web-vitals-rum.js +278 -0
- package/src/lib/app-utils/web-vitals-rum.js.map +1 -0
- package/src/lib/app-utils/webhook-delivery.d.ts +324 -0
- package/src/lib/app-utils/webhook-delivery.js +413 -0
- package/src/lib/app-utils/webhook-delivery.js.map +1 -0
- package/src/lib/app-utils/where-used.d.ts +57 -0
- package/src/lib/app-utils/where-used.js +59 -0
- package/src/lib/app-utils/where-used.js.map +1 -0
- package/src/lib/app-utils/wistia-embed.d.ts +86 -0
- package/src/lib/app-utils/wistia-embed.js +119 -0
- package/src/lib/app-utils/wistia-embed.js.map +1 -0
- package/src/lib/app-utils/workflows.d.ts +136 -0
- package/src/lib/app-utils/workflows.js +346 -0
- package/src/lib/app-utils/workflows.js.map +1 -0
- package/src/lib/canvas-manager/canvas-manager-tree.d.ts +109 -0
- package/src/lib/canvas-manager/canvas-manager-tree.js +139 -0
- package/src/lib/canvas-manager/canvas-manager-tree.js.map +1 -0
- package/src/lib/canvas-manager/canvas-manager.d.ts +549 -0
- package/src/lib/canvas-manager/canvas-manager.js +1311 -0
- package/src/lib/canvas-manager/canvas-manager.js.map +1 -0
- package/src/lib/canvas-manager/index.d.ts +20 -0
- package/src/lib/canvas-manager/index.js +21 -0
- package/src/lib/canvas-manager/index.js.map +1 -0
- package/src/lib/canvas-manager/stores/index.d.ts +17 -0
- package/src/lib/canvas-manager/stores/index.js +18 -0
- package/src/lib/canvas-manager/stores/index.js.map +1 -0
- package/src/lib/canvas-manager/stores/node.store.d.ts +30 -0
- package/src/lib/canvas-manager/stores/node.store.js +45 -0
- package/src/lib/canvas-manager/stores/node.store.js.map +1 -0
- package/src/lib/components-manager/components-manager.d.ts +56 -0
- package/src/lib/components-manager/components-manager.js +191 -0
- package/src/lib/components-manager/components-manager.js.map +1 -0
- package/src/lib/components-manager/index.d.ts +18 -0
- package/src/lib/components-manager/index.js +19 -0
- package/src/lib/components-manager/index.js.map +1 -0
- package/src/lib/emit-manager/emit-manager.d.ts +56 -0
- package/src/lib/emit-manager/emit-manager.js +60 -0
- package/src/lib/emit-manager/emit-manager.js.map +1 -0
- package/src/lib/emit-manager/index.d.ts +18 -0
- package/src/lib/emit-manager/index.js +19 -0
- package/src/lib/emit-manager/index.js.map +1 -0
- package/src/lib/foundation/constants/_internal.d.ts +18 -0
- package/src/lib/foundation/constants/_internal.js +62 -0
- package/src/lib/foundation/constants/_internal.js.map +1 -0
- package/src/lib/foundation/constants/app.d.ts +23 -0
- package/src/lib/foundation/constants/app.js +25 -0
- package/src/lib/foundation/constants/app.js.map +1 -0
- package/src/lib/foundation/constants/canvas.d.ts +18 -0
- package/src/lib/foundation/constants/canvas.js +18 -0
- package/src/lib/foundation/constants/canvas.js.map +1 -0
- package/src/lib/foundation/constants/components.d.ts +54 -0
- package/src/lib/foundation/constants/components.js +61 -0
- package/src/lib/foundation/constants/components.js.map +1 -0
- package/src/lib/foundation/constants/shared.d.ts +50 -0
- package/src/lib/foundation/constants/shared.js +49 -0
- package/src/lib/foundation/constants/shared.js.map +1 -0
- package/src/lib/foundation/constants/symbol.d.ts +63 -0
- package/src/lib/foundation/constants/symbol.js +75 -0
- package/src/lib/foundation/constants/symbol.js.map +1 -0
- package/src/lib/foundation/definitions/components.types.d.ts +372 -0
- package/src/lib/foundation/definitions/components.types.js +180 -0
- package/src/lib/foundation/definitions/components.types.js.map +1 -0
- package/src/lib/foundation/definitions/contact.types.d.ts +73 -0
- package/src/lib/foundation/definitions/contact.types.js +107 -0
- package/src/lib/foundation/definitions/contact.types.js.map +1 -0
- package/src/lib/foundation/definitions/host-content-collections.d.ts +137 -0
- package/src/lib/foundation/definitions/host-content-collections.js +219 -0
- package/src/lib/foundation/definitions/host-content-collections.js.map +1 -0
- package/src/lib/foundation/definitions/org-billing.types.d.ts +1361 -0
- package/src/lib/foundation/definitions/org-billing.types.js +77 -0
- package/src/lib/foundation/definitions/org-billing.types.js.map +1 -0
- package/src/lib/foundation/definitions/organization.types.d.ts +307 -0
- package/src/lib/foundation/definitions/organization.types.js +42 -0
- package/src/lib/foundation/definitions/organization.types.js.map +1 -0
- package/src/lib/foundation/definitions/platform.types.d.ts +1326 -0
- package/src/lib/foundation/definitions/platform.types.js +124 -0
- package/src/lib/foundation/definitions/platform.types.js.map +1 -0
- package/src/lib/foundation/definitions/property-kinds.d.ts +189 -0
- package/src/lib/foundation/definitions/property-kinds.js +565 -0
- package/src/lib/foundation/definitions/property-kinds.js.map +1 -0
- package/src/lib/foundation/definitions/shared.d.ts +23 -0
- package/src/lib/foundation/definitions/shared.js +18 -0
- package/src/lib/foundation/definitions/shared.js.map +1 -0
- package/src/lib/foundation/definitions/write-deny-coverage.util.d.ts +249 -0
- package/src/lib/foundation/definitions/write-deny-coverage.util.js +499 -0
- package/src/lib/foundation/definitions/write-deny-coverage.util.js.map +1 -0
- package/src/lib/foundation/index.d.ts +32 -0
- package/src/lib/foundation/index.js +67 -0
- package/src/lib/foundation/index.js.map +1 -0
- package/src/lib/lifecycle.d.ts +24 -0
- package/src/lib/lifecycle.js +39 -0
- package/src/lib/lifecycle.js.map +1 -0
- package/src/lib/mst/common.d.ts +17 -0
- package/src/lib/mst/common.js +23 -0
- package/src/lib/mst/common.js.map +1 -0
- package/src/lib/mst/index.d.ts +19 -0
- package/src/lib/mst/index.js +20 -0
- package/src/lib/mst/index.js.map +1 -0
- package/src/lib/mst/json.d.ts +22 -0
- package/src/lib/mst/json.js +23 -0
- package/src/lib/mst/json.js.map +1 -0
- package/src/lib/mst/types.d.ts +20 -0
- package/src/lib/mst/types.js +18 -0
- package/src/lib/mst/types.js.map +1 -0
- package/src/lib/plugin-manager/billing-webhook-hooks.d.ts +77 -0
- package/src/lib/plugin-manager/billing-webhook-hooks.js +55 -0
- package/src/lib/plugin-manager/billing-webhook-hooks.js.map +1 -0
- package/src/lib/plugin-manager/commerce-zone-props.d.ts +172 -0
- package/src/lib/plugin-manager/commerce-zone-props.js +31 -0
- package/src/lib/plugin-manager/commerce-zone-props.js.map +1 -0
- package/src/lib/plugin-manager/custom-fields.d.ts +60 -0
- package/src/lib/plugin-manager/custom-fields.js +39 -0
- package/src/lib/plugin-manager/custom-fields.js.map +1 -0
- package/src/lib/plugin-manager/editor-sessions.d.ts +109 -0
- package/src/lib/plugin-manager/editor-sessions.js +137 -0
- package/src/lib/plugin-manager/editor-sessions.js.map +1 -0
- package/src/lib/plugin-manager/enabled-plugins.d.ts +438 -0
- package/src/lib/plugin-manager/enabled-plugins.js +403 -0
- package/src/lib/plugin-manager/enabled-plugins.js.map +1 -0
- package/src/lib/plugin-manager/feature-plugins.d.ts +1314 -0
- package/src/lib/plugin-manager/feature-plugins.js +609 -0
- package/src/lib/plugin-manager/feature-plugins.js.map +1 -0
- package/src/lib/plugin-manager/first-party-plugins.generated.d.ts +11 -0
- package/src/lib/plugin-manager/first-party-plugins.generated.js +149 -0
- package/src/lib/plugin-manager/first-party-plugins.generated.js.map +1 -0
- package/src/lib/plugin-manager/index.d.ts +42 -0
- package/src/lib/plugin-manager/index.js +46 -0
- package/src/lib/plugin-manager/index.js.map +1 -0
- package/src/lib/plugin-manager/install-presets.d.ts +93 -0
- package/src/lib/plugin-manager/install-presets.js +86 -0
- package/src/lib/plugin-manager/install-presets.js.map +1 -0
- package/src/lib/plugin-manager/media-delivery-provider.d.ts +124 -0
- package/src/lib/plugin-manager/media-delivery-provider.js +53 -0
- package/src/lib/plugin-manager/media-delivery-provider.js.map +1 -0
- package/src/lib/plugin-manager/order-fulfilment.d.ts +142 -0
- package/src/lib/plugin-manager/order-fulfilment.js +104 -0
- package/src/lib/plugin-manager/order-fulfilment.js.map +1 -0
- package/src/lib/plugin-manager/plugin-activity-actions.d.ts +122 -0
- package/src/lib/plugin-manager/plugin-activity-actions.js +140 -0
- package/src/lib/plugin-manager/plugin-activity-actions.js.map +1 -0
- package/src/lib/plugin-manager/plugin-bridge.d.ts +98 -0
- package/src/lib/plugin-manager/plugin-bridge.js +154 -0
- package/src/lib/plugin-manager/plugin-bridge.js.map +1 -0
- package/src/lib/plugin-manager/plugin-config.d.ts +148 -0
- package/src/lib/plugin-manager/plugin-config.js +228 -0
- package/src/lib/plugin-manager/plugin-config.js.map +1 -0
- package/src/lib/plugin-manager/plugin-console-crons.d.ts +139 -0
- package/src/lib/plugin-manager/plugin-console-crons.js +177 -0
- package/src/lib/plugin-manager/plugin-console-crons.js.map +1 -0
- package/src/lib/plugin-manager/plugin-contact-capture.d.ts +220 -0
- package/src/lib/plugin-manager/plugin-contact-capture.js +89 -0
- package/src/lib/plugin-manager/plugin-contact-capture.js.map +1 -0
- package/src/lib/plugin-manager/plugin-contributions.d.ts +244 -0
- package/src/lib/plugin-manager/plugin-contributions.js +283 -0
- package/src/lib/plugin-manager/plugin-contributions.js.map +1 -0
- package/src/lib/plugin-manager/plugin-entitlement-keys.d.ts +169 -0
- package/src/lib/plugin-manager/plugin-entitlement-keys.js +84 -0
- package/src/lib/plugin-manager/plugin-entitlement-keys.js.map +1 -0
- package/src/lib/plugin-manager/plugin-entitlements.d.ts +181 -0
- package/src/lib/plugin-manager/plugin-entitlements.js +188 -0
- package/src/lib/plugin-manager/plugin-entitlements.js.map +1 -0
- package/src/lib/plugin-manager/plugin-events.d.ts +145 -0
- package/src/lib/plugin-manager/plugin-events.js +79 -0
- package/src/lib/plugin-manager/plugin-events.js.map +1 -0
- package/src/lib/plugin-manager/plugin-figures.d.ts +251 -0
- package/src/lib/plugin-manager/plugin-figures.js +252 -0
- package/src/lib/plugin-manager/plugin-figures.js.map +1 -0
- package/src/lib/plugin-manager/plugin-host-collections.d.ts +146 -0
- package/src/lib/plugin-manager/plugin-host-collections.js +116 -0
- package/src/lib/plugin-manager/plugin-host-collections.js.map +1 -0
- package/src/lib/plugin-manager/plugin-jobs.d.ts +130 -0
- package/src/lib/plugin-manager/plugin-jobs.js +182 -0
- package/src/lib/plugin-manager/plugin-jobs.js.map +1 -0
- package/src/lib/plugin-manager/plugin-loader.d.ts +86 -0
- package/src/lib/plugin-manager/plugin-loader.js +223 -0
- package/src/lib/plugin-manager/plugin-loader.js.map +1 -0
- package/src/lib/plugin-manager/plugin-manager.d.ts +95 -0
- package/src/lib/plugin-manager/plugin-manager.js +343 -0
- package/src/lib/plugin-manager/plugin-manager.js.map +1 -0
- package/src/lib/plugin-manager/plugin-metered-lines.d.ts +97 -0
- package/src/lib/plugin-manager/plugin-metered-lines.js +123 -0
- package/src/lib/plugin-manager/plugin-metered-lines.js.map +1 -0
- package/src/lib/plugin-manager/plugin-org-erasure.d.ts +52 -0
- package/src/lib/plugin-manager/plugin-org-erasure.js +100 -0
- package/src/lib/plugin-manager/plugin-org-erasure.js.map +1 -0
- package/src/lib/plugin-manager/plugin-permissions.d.ts +69 -0
- package/src/lib/plugin-manager/plugin-permissions.js +77 -0
- package/src/lib/plugin-manager/plugin-permissions.js.map +1 -0
- package/src/lib/plugin-manager/plugin-person-erasure.d.ts +58 -0
- package/src/lib/plugin-manager/plugin-person-erasure.js +109 -0
- package/src/lib/plugin-manager/plugin-person-erasure.js.map +1 -0
- package/src/lib/plugin-manager/plugin-record-cards.d.ts +99 -0
- package/src/lib/plugin-manager/plugin-record-cards.js +59 -0
- package/src/lib/plugin-manager/plugin-record-cards.js.map +1 -0
- package/src/lib/plugin-manager/plugin-record-facts.d.ts +111 -0
- package/src/lib/plugin-manager/plugin-record-facts.js +51 -0
- package/src/lib/plugin-manager/plugin-record-facts.js.map +1 -0
- package/src/lib/plugin-manager/plugin-record-routes.d.ts +129 -0
- package/src/lib/plugin-manager/plugin-record-routes.js +93 -0
- package/src/lib/plugin-manager/plugin-record-routes.js.map +1 -0
- package/src/lib/plugin-manager/plugin-record-timeline.d.ts +147 -0
- package/src/lib/plugin-manager/plugin-record-timeline.js +39 -0
- package/src/lib/plugin-manager/plugin-record-timeline.js.map +1 -0
- package/src/lib/plugin-manager/plugin-resource-drafts.d.ts +137 -0
- package/src/lib/plugin-manager/plugin-resource-drafts.js +51 -0
- package/src/lib/plugin-manager/plugin-resource-drafts.js.map +1 -0
- package/src/lib/plugin-manager/plugin-services.d.ts +94 -0
- package/src/lib/plugin-manager/plugin-services.js +153 -0
- package/src/lib/plugin-manager/plugin-services.js.map +1 -0
- package/src/lib/plugin-manager/plugin-styles-ui.d.ts +71 -0
- package/src/lib/plugin-manager/plugin-styles-ui.js +80 -0
- package/src/lib/plugin-manager/plugin-styles-ui.js.map +1 -0
- package/src/lib/plugin-manager/plugin-styles.d.ts +176 -0
- package/src/lib/plugin-manager/plugin-styles.js +186 -0
- package/src/lib/plugin-manager/plugin-styles.js.map +1 -0
- package/src/lib/plugin-manager/plugin-subprocessors.d.ts +135 -0
- package/src/lib/plugin-manager/plugin-subprocessors.js +129 -0
- package/src/lib/plugin-manager/plugin-subprocessors.js.map +1 -0
- package/src/lib/plugin-manager/plugin-tax-profile.d.ts +84 -0
- package/src/lib/plugin-manager/plugin-tax-profile.js +39 -0
- package/src/lib/plugin-manager/plugin-tax-profile.js.map +1 -0
- package/src/lib/plugin-manager/plugin-user-erasure.d.ts +53 -0
- package/src/lib/plugin-manager/plugin-user-erasure.js +84 -0
- package/src/lib/plugin-manager/plugin-user-erasure.js.map +1 -0
- package/src/lib/plugin-manager/plugin-zones.d.ts +121 -0
- package/src/lib/plugin-manager/plugin-zones.js +74 -0
- package/src/lib/plugin-manager/plugin-zones.js.map +1 -0
- package/src/lib/plugin-manager/realm-plugins.d.ts +112 -0
- package/src/lib/plugin-manager/realm-plugins.js +196 -0
- package/src/lib/plugin-manager/realm-plugins.js.map +1 -0
- package/src/lib/plugin-manager/realm-server.d.ts +54 -0
- package/src/lib/plugin-manager/realm-server.js +88 -0
- package/src/lib/plugin-manager/realm-server.js.map +1 -0
- package/src/lib/plugin-manager/record-zone-props.d.ts +126 -0
- package/src/lib/plugin-manager/record-zone-props.js +31 -0
- package/src/lib/plugin-manager/record-zone-props.js.map +1 -0
- package/src/lib/plugin-manager/site-page-hooks.d.ts +102 -0
- package/src/lib/plugin-manager/site-page-hooks.js +114 -0
- package/src/lib/plugin-manager/site-page-hooks.js.map +1 -0
- package/src/lib/plugin-manager/site-runtime.d.ts +57 -0
- package/src/lib/plugin-manager/site-runtime.js +25 -0
- package/src/lib/plugin-manager/site-runtime.js.map +1 -0
- package/src/lib/plugin-manager/usage-alert-contributors.d.ts +115 -0
- package/src/lib/plugin-manager/usage-alert-contributors.js +106 -0
- package/src/lib/plugin-manager/usage-alert-contributors.js.map +1 -0
- package/src/lib/types/ast.d.ts +199 -0
- package/src/lib/types/ast.js +20 -0
- package/src/lib/types/ast.js.map +1 -0
- package/src/lib/types/index.d.ts +20 -0
- package/src/lib/types/index.js +21 -0
- package/src/lib/types/index.js.map +1 -0
- package/src/lib/types/nodes.d.ts +608 -0
- package/src/lib/types/nodes.js +28 -0
- package/src/lib/types/nodes.js.map +1 -0
- package/src/lib/types/routing.d.ts +17 -0
- package/src/lib/types/routing.js +18 -0
- package/src/lib/types/routing.js.map +1 -0
- package/src/lib/types/screen.d.ts +23 -0
- package/src/lib/types/screen.js +18 -0
- package/src/lib/types/screen.js.map +1 -0
- package/src/lib/utils.d.ts +25 -0
- package/src/lib/utils.js +42 -0
- package/src/lib/utils.js.map +1 -0
- package/src/server.d.ts +37 -0
- package/src/server.js +55 -0
- package/src/server.js.map +1 -0
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Contacts CRM v1 (AGL-197): one contact per normalized email per host,
|
|
19
|
+
* fed by the four existing capture silos (forms, members, orders,
|
|
20
|
+
* bookings). Pure data module — the admin-SDK upsert lives in
|
|
21
|
+
* `@aglyn/tenant-data-admin` (`upsertHostContact`) and the console reads
|
|
22
|
+
* client-side under the host-admin rules.
|
|
23
|
+
*/
|
|
24
|
+
import type { AglynPostalAddress } from '../foundation';
|
|
25
|
+
import type { ContactCustomValue, ContactLifecycleStage } from './crm';
|
|
26
|
+
import { type MarketingBasis } from './marketing-consent';
|
|
27
|
+
export type ContactSource = 'form' | 'member' | 'order' | 'booking' | 'newsletter' | 'api' | 'manual' | 'import' | 'account';
|
|
28
|
+
/**
|
|
29
|
+
* How a capture source reads on screen.
|
|
30
|
+
*
|
|
31
|
+
* Typed `Record<ContactSource, string>` so a source added to the union cannot
|
|
32
|
+
* ship without a label, and kept beside the union rather than in the console
|
|
33
|
+
* that first needed it: the contacts filter, the campaign audience and the
|
|
34
|
+
* dynamic-list rule editor all name the same six sources, and three copies of
|
|
35
|
+
* this map is three places for `order` to stop reading as "Customer".
|
|
36
|
+
*/
|
|
37
|
+
export declare const CONTACT_SOURCE_LABELS: Record<ContactSource, string>;
|
|
38
|
+
export interface ContactInteraction {
|
|
39
|
+
type: ContactSource;
|
|
40
|
+
/** Source doc id (formSubmissions/siteMembers/orders/bookings). */
|
|
41
|
+
refId?: string;
|
|
42
|
+
/** Epoch millis — Timestamps don't serialize into arrays cleanly. */
|
|
43
|
+
atMs: number;
|
|
44
|
+
summary?: string;
|
|
45
|
+
/**
|
|
46
|
+
* WHICH SITE this interaction happened on.
|
|
47
|
+
*
|
|
48
|
+
* A contact document is shared by every site in the org — one human who
|
|
49
|
+
* touched two sites is one person, and splitting them into two rows would
|
|
50
|
+
* bill the org twice for the same address and lose the dedupe that makes a
|
|
51
|
+
* multi-brand account worth having. But the HISTORY on that shared row is
|
|
52
|
+
* not shared: a booking made on one client's site is that client's, and a
|
|
53
|
+
* timeline that cannot be split by site shows an agency's client the other
|
|
54
|
+
* clients' activity.
|
|
55
|
+
*
|
|
56
|
+
* Optional because a row written before this field existed carries none,
|
|
57
|
+
* and an interaction whose site is unknown must read as unattributed rather
|
|
58
|
+
* than be assigned to whoever is looking. Nothing may infer it from the
|
|
59
|
+
* contact's own capture attribution: `capturedByHostIds` says which sites
|
|
60
|
+
* met this person, not which of them produced any particular visit.
|
|
61
|
+
*/
|
|
62
|
+
hostId?: string;
|
|
63
|
+
/**
|
|
64
|
+
* THE ENTRY POINT: the form this capture came in through.
|
|
65
|
+
*
|
|
66
|
+
* `sources` answers "what KIND of surface met this person" and is what the
|
|
67
|
+
* console's capture filter reads; it cannot answer "which form", because
|
|
68
|
+
* every form on the site sets the same `form` flag. The id rather than the
|
|
69
|
+
* name, for the reason the submission carries the id: a form's caption is
|
|
70
|
+
* editable and a stored name splits the moment somebody renames it.
|
|
71
|
+
*
|
|
72
|
+
* Beside {@link refId} rather than derived from it. The submission the
|
|
73
|
+
* interaction names does carry the form, but reading it back would be a
|
|
74
|
+
* document read per row of a timeline the console renders straight out of
|
|
75
|
+
* the contact.
|
|
76
|
+
*/
|
|
77
|
+
formId?: string;
|
|
78
|
+
/**
|
|
79
|
+
* THE ENTRY POINT: the page the person was on when this happened.
|
|
80
|
+
*
|
|
81
|
+
* The same `path` the submission stores. It belongs on the interaction and
|
|
82
|
+
* not on the contact, because a person who came in through the pricing page
|
|
83
|
+
* and returned through a blog post has two entry points and one row —
|
|
84
|
+
* a single field at the top would keep whichever capture wrote last.
|
|
85
|
+
*/
|
|
86
|
+
path?: string;
|
|
87
|
+
}
|
|
88
|
+
/** `orgs/{orgId}/contacts/{contactId}` doc shape. */
|
|
89
|
+
export interface HostContact {
|
|
90
|
+
/** Normalized (trimmed, lowercased) email — the dedupe key. */
|
|
91
|
+
email: string;
|
|
92
|
+
name?: string;
|
|
93
|
+
sources: Partial<Record<ContactSource, true>>;
|
|
94
|
+
/** Newest-first, capped — the profile timeline. */
|
|
95
|
+
interactions: ContactInteraction[];
|
|
96
|
+
tags?: string[];
|
|
97
|
+
notes?: string;
|
|
98
|
+
/**
|
|
99
|
+
* Every site that has captured this person, in no order.
|
|
100
|
+
*
|
|
101
|
+
* An ARRAY and a top-level field, because this is the one attribution that
|
|
102
|
+
* has to survive being a QUERY: "everyone captured on A, B or C" is an
|
|
103
|
+
* audience, and `array-contains-any` is what answers it. The per-interaction
|
|
104
|
+
* host says which visit belonged to whom; this says which sites have a
|
|
105
|
+
* relationship at all, and only the second shape can be filtered on in
|
|
106
|
+
* Firestore.
|
|
107
|
+
*
|
|
108
|
+
* Grows by `arrayUnion` on every capture, including the ones that merge
|
|
109
|
+
* onto an existing row — which is exactly what the create-only `hostId`
|
|
110
|
+
* beside it could never do.
|
|
111
|
+
*/
|
|
112
|
+
capturedByHostIds?: string[];
|
|
113
|
+
/**
|
|
114
|
+
* Every form this person has come in through, in no order (AGL-2612).
|
|
115
|
+
*
|
|
116
|
+
* The entry point proper is `interactions[].formId` inside the capturing
|
|
117
|
+
* holder's facet, and that stays the record: which form produced which
|
|
118
|
+
* visit is one holder's business. But Firestore cannot select documents
|
|
119
|
+
* by a field of an array ELEMENT, and a facet path is per group, so
|
|
120
|
+
* "everyone who filled in this form" — the question the form's own page
|
|
121
|
+
* asks of the Contacts list — has to be a top-level array an
|
|
122
|
+
* `array-contains` can hit, exactly as `capturedByHostIds` is for sites
|
|
123
|
+
* and `companyIds` is for companies. A form id is minted under one site,
|
|
124
|
+
* so a query on it is one site's captures by construction.
|
|
125
|
+
*
|
|
126
|
+
* Grows by `arrayUnion` on every form capture, create or merge, bounded at
|
|
127
|
+
* {@link CONTACT_FORM_IDS_CAP}: a person who has filled in more forms than
|
|
128
|
+
* that keeps the first twenty and the timeline keeps the rest. The facet is
|
|
129
|
+
* the truth and this is its index — a reader answering "which form" reads
|
|
130
|
+
* the interaction; only a QUERY reads this.
|
|
131
|
+
*/
|
|
132
|
+
formIds?: string[];
|
|
133
|
+
/** E.164, mirrored from the last facet write that set one. */
|
|
134
|
+
phone?: string;
|
|
135
|
+
/** The company name as typed, mirrored the same way. */
|
|
136
|
+
companyName?: string;
|
|
137
|
+
/**
|
|
138
|
+
* The OTHER addresses this person answers to (AGL-2625).
|
|
139
|
+
*
|
|
140
|
+
* A contact is keyed on one email, so one human with a work address and a
|
|
141
|
+
* personal one is two documents until somebody merges them. The merge keeps
|
|
142
|
+
* the survivor's `email` as the identity and records the merged record's
|
|
143
|
+
* address here, so a later capture on it — a form filled in from the
|
|
144
|
+
* personal account — resolves to this row rather than minting the second
|
|
145
|
+
* document again. `emailIndex` (see {@link CONTACT_EMAIL_INDEX_COLLECTION})
|
|
146
|
+
* is the lookup; this array is the record of why an entry there points
|
|
147
|
+
* where it does, and what the record page shows as "also".
|
|
148
|
+
*
|
|
149
|
+
* Shared identity like `email`, not a facet field: which addresses are one
|
|
150
|
+
* person is a fact about the person, and a holder that did not perform the
|
|
151
|
+
* merge still needs its capture on the alternate address to land on the
|
|
152
|
+
* shared row. Bounded at {@link CONTACT_ALTERNATE_EMAILS_CAP}.
|
|
153
|
+
*/
|
|
154
|
+
alternateEmails?: string[];
|
|
155
|
+
/**
|
|
156
|
+
* When the earliest OPEN task filed against this person is due, epoch
|
|
157
|
+
* ms, or `null` when none is (AGL-2661) — see `CrmDeal.nextTaskAtMs` in
|
|
158
|
+
* `crm.ts` for the rule. On the SHARED row rather than a facet, because a
|
|
159
|
+
* task lives at the organization level and names the contact, not a
|
|
160
|
+
* holder's view of them.
|
|
161
|
+
*/
|
|
162
|
+
nextTaskAtMs?: number | null;
|
|
163
|
+
}
|
|
164
|
+
/** Timeline cap: keeps the doc small; older interactions age out. */
|
|
165
|
+
export declare const CONTACT_INTERACTIONS_CAP = 50;
|
|
166
|
+
/** The field holding {@link HostContact.alternateEmails}. */
|
|
167
|
+
export declare const CONTACT_ALTERNATE_EMAILS_FIELD = "alternateEmails";
|
|
168
|
+
/**
|
|
169
|
+
* The most alternate addresses one contact carries. Ten is past any real
|
|
170
|
+
* person's mailbox count, and it bounds the index writes one merge fans out.
|
|
171
|
+
*/
|
|
172
|
+
export declare const CONTACT_ALTERNATE_EMAILS_CAP = 10;
|
|
173
|
+
/**
|
|
174
|
+
* `orgs/{orgId}/emailIndex/{personKey}` → `{ email, contactId }` (AGL-2625).
|
|
175
|
+
*
|
|
176
|
+
* The address-to-contact lookup the capture door consults BEFORE the
|
|
177
|
+
* per-document `email ==` query, so an address recorded as an alternate on a
|
|
178
|
+
* merged row resolves to the survivor. Keyed by `personKey` — the sha256 of
|
|
179
|
+
* the normalized address — so a document id never carries the address
|
|
180
|
+
* itself, the same derivation a lead and a list membership use.
|
|
181
|
+
*
|
|
182
|
+
* WRITTEN LAZILY, never backfilled: the query on `email` stays as the
|
|
183
|
+
* fallback, and a contact that has no entry gets one on the next write that
|
|
184
|
+
* finds it. A row the index has never seen therefore costs one extra read
|
|
185
|
+
* once, and nothing needs to run over the existing collection.
|
|
186
|
+
*
|
|
187
|
+
* Server-written only; the rules close it to every client.
|
|
188
|
+
*/
|
|
189
|
+
export declare const CONTACT_EMAIL_INDEX_COLLECTION = "emailIndex";
|
|
190
|
+
/**
|
|
191
|
+
* Every address a contact answers to — the primary first, then the
|
|
192
|
+
* alternates — normalized and deduplicated, so an index writer and a lead
|
|
193
|
+
* lookup walk one list.
|
|
194
|
+
*/
|
|
195
|
+
export declare function contactEmails(contact: Record<string, unknown> | null | undefined): string[];
|
|
196
|
+
/** The top-level field naming every form a contact came in through — see `HostContact.formIds`. */
|
|
197
|
+
export declare const CONTACT_FORM_IDS_FIELD = "formIds";
|
|
198
|
+
/**
|
|
199
|
+
* How many forms the {@link CONTACT_FORM_IDS_FIELD} mirror holds.
|
|
200
|
+
*
|
|
201
|
+
* The same figure as the tag cap: enough that no real person reaches it,
|
|
202
|
+
* small enough that the array never becomes the document. Past it the
|
|
203
|
+
* capture stops adding rather than dropping the oldest, because the mirror
|
|
204
|
+
* is an index of the facet's timeline and an index that silently forgets an
|
|
205
|
+
* entry the timeline still holds would answer a form's contact list wrongly
|
|
206
|
+
* in the one direction nobody would notice.
|
|
207
|
+
*/
|
|
208
|
+
export declare const CONTACT_FORM_IDS_CAP = 20;
|
|
209
|
+
/** Normalized dedupe key, or null when the input isn't a usable email. */
|
|
210
|
+
export declare function normalizeContactEmail(input: unknown): string | null;
|
|
211
|
+
/**
|
|
212
|
+
* First usable email in a free-form form-submission fields map — forms
|
|
213
|
+
* don't guarantee a canonical email field, so prefer keys that look like
|
|
214
|
+
* email fields before falling back to any email-shaped value.
|
|
215
|
+
*/
|
|
216
|
+
export declare function extractEmailFromFields(fields: Record<string, unknown> | null | undefined): string | null;
|
|
217
|
+
/**
|
|
218
|
+
* Merges a new interaction into a contact: source flag set, interaction
|
|
219
|
+
* prepended, timeline capped. Pure — the caller persists the result.
|
|
220
|
+
*/
|
|
221
|
+
export declare function mergeContactInteraction(existing: Pick<HostContact, 'sources' | 'interactions'> & {
|
|
222
|
+
name?: string;
|
|
223
|
+
}, update: {
|
|
224
|
+
source: ContactSource;
|
|
225
|
+
interaction: ContactInteraction;
|
|
226
|
+
name?: string;
|
|
227
|
+
}): Pick<HostContact, 'sources' | 'interactions'> & {
|
|
228
|
+
name?: string;
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* THE PER-HOLDER FACET on a shared contact document.
|
|
232
|
+
*
|
|
233
|
+
* ## What is shared and what is not
|
|
234
|
+
*
|
|
235
|
+
* One human who touched two sites is ONE document. That is not a compromise:
|
|
236
|
+
* it is the dedupe the shared address book exists for, it is what keeps a
|
|
237
|
+
* bounce and a suppression describing one person, and it is what makes a
|
|
238
|
+
* multi-brand account bill once for one human instead of once per site. A
|
|
239
|
+
* document per host would push an agency toward twelve separate accounts and
|
|
240
|
+
* throw the whole advantage away.
|
|
241
|
+
*
|
|
242
|
+
* But almost nothing ON that document is legitimately shared.
|
|
243
|
+
*
|
|
244
|
+
* - **SHARED IDENTITY** — `email`, and the canonical `name`. One human, one
|
|
245
|
+
* identity. This is the only part two unrelated businesses may both see,
|
|
246
|
+
* and it is the minimum that makes them one row.
|
|
247
|
+
* - **PER-HOLDER FACET** — everything in this interface. A note, a tag, a
|
|
248
|
+
* call log and a lifetime value are the HOLDER's own business records.
|
|
249
|
+
* Host A's note about a customer is Host A's; a competitor sharing the
|
|
250
|
+
* platform must not read it, and while these lived at the top of the
|
|
251
|
+
* document every site in the org could.
|
|
252
|
+
* - **CONSENT AND VISIBILITY** — per declared group, decided by
|
|
253
|
+
* `marketing-consent.ts` and by `visibleTo`.
|
|
254
|
+
*
|
|
255
|
+
* ## Keyed by GROUP, not by host
|
|
256
|
+
*
|
|
257
|
+
* A business that declared three sites to be one sender is one CRM: a note
|
|
258
|
+
* written on the shop belongs beside the booking made on the booking page,
|
|
259
|
+
* because one team keeps both. Across groups, never — and an undeclared site
|
|
260
|
+
* is a group of one, so the agency case is isolated with nothing configured.
|
|
261
|
+
*
|
|
262
|
+
* ## Commercial figures are per-facet, and that is not a billing change
|
|
263
|
+
*
|
|
264
|
+
* `ltvCents` and `ordersCount` answer "what is this person worth to ME". Two
|
|
265
|
+
* unrelated merchants who both sell to one person have two different answers
|
|
266
|
+
* and neither is entitled to the other's. Billing counts DOCUMENTS, and there
|
|
267
|
+
* is still one document, so a person held by two hosts stays one billable
|
|
268
|
+
* contact.
|
|
269
|
+
*/
|
|
270
|
+
export interface ContactFacet {
|
|
271
|
+
/**
|
|
272
|
+
* This holder's display name for the person, overriding the canonical one.
|
|
273
|
+
*
|
|
274
|
+
* The canonical `name` is shared and mutable, so without this a rename on
|
|
275
|
+
* one site changes what an unrelated business sees in its own CRM — two
|
|
276
|
+
* companies that do not know each other exist editing each other's records.
|
|
277
|
+
* The override is written by whoever edits the name from their own console;
|
|
278
|
+
* the canonical field stays as the identity of last resort, for a holder
|
|
279
|
+
* that has never set one.
|
|
280
|
+
*/
|
|
281
|
+
name?: string;
|
|
282
|
+
/** Which capture surfaces THIS holder saw the person through. */
|
|
283
|
+
sources: Partial<Record<ContactSource, true>>;
|
|
284
|
+
/** THIS holder's timeline, newest-first and capped. */
|
|
285
|
+
interactions: ContactInteraction[];
|
|
286
|
+
/** THIS holder's tags. */
|
|
287
|
+
tags?: string[];
|
|
288
|
+
/** THIS holder's notes. */
|
|
289
|
+
notes?: string;
|
|
290
|
+
/**
|
|
291
|
+
* The campaigns THIS holder has filed the person under.
|
|
292
|
+
*
|
|
293
|
+
* A label on the CRM record, not an audience: who a campaign's mail reaches
|
|
294
|
+
* is decided by the campaign's lists and by each send's own picker, and
|
|
295
|
+
* nothing in the send path reads this. It answers "who did we put in the
|
|
296
|
+
* spring push", which is a question about the holder's own working set.
|
|
297
|
+
*
|
|
298
|
+
* Per-holder for the reason the notes are: two unrelated businesses sharing
|
|
299
|
+
* one row must not read each other's segmentation of a person they both
|
|
300
|
+
* know. See `campaign-membership.ts` for the field and the path.
|
|
301
|
+
*/
|
|
302
|
+
campaignIds?: string[];
|
|
303
|
+
/** Gross of fees and refunds — see `upsertHostContact`. */
|
|
304
|
+
ltvCents?: number;
|
|
305
|
+
ordersCount?: number;
|
|
306
|
+
lastPurchaseAtMs?: number;
|
|
307
|
+
firstPurchaseAtMs?: number;
|
|
308
|
+
refundedCents?: number;
|
|
309
|
+
refundedOrdersCount?: number;
|
|
310
|
+
lastRefundAtMs?: number;
|
|
311
|
+
/** E.164 — `normalizePhone` before writing. */
|
|
312
|
+
phone?: string;
|
|
313
|
+
jobTitle?: string;
|
|
314
|
+
/** `orgs/{orgId}/companies/{companyId}`, in this holder's scope. */
|
|
315
|
+
companyId?: string;
|
|
316
|
+
/**
|
|
317
|
+
* The company's name as this holder knows it.
|
|
318
|
+
*
|
|
319
|
+
* Free text, so a person can be filed under a company before one exists
|
|
320
|
+
* as a record; the company picker that later sets `companyId` writes the
|
|
321
|
+
* picked company's name here too, so the row reads the same whether the
|
|
322
|
+
* link was made or the name typed. The top-level `companyName` on the
|
|
323
|
+
* document is the search echo of this value — see `HostContact`.
|
|
324
|
+
*/
|
|
325
|
+
companyName?: string;
|
|
326
|
+
address?: AglynPostalAddress | null;
|
|
327
|
+
/** The team member responsible for the relationship. */
|
|
328
|
+
ownerUid?: string;
|
|
329
|
+
lifecycleStage?: ContactLifecycleStage;
|
|
330
|
+
/** Custom field values, keyed by `ContactFieldDefinition.key`. */
|
|
331
|
+
custom?: Record<string, ContactCustomValue>;
|
|
332
|
+
/**
|
|
333
|
+
* When this person last OPENED or CLICKED a campaign sent by one of this
|
|
334
|
+
* holder's sites, epoch ms (AGL-2616).
|
|
335
|
+
*
|
|
336
|
+
* Stamped by the delivery webhook, forward-only, on the first open and the
|
|
337
|
+
* first click of each message — the same bound the per-person rollup on
|
|
338
|
+
* `emailDeliveries/{key}` keeps, so a reader opening one newsletter six
|
|
339
|
+
* times is one write. Per-holder because it answers "is this person still
|
|
340
|
+
* reading OUR mail": the address-level rollup counts every sender's mail
|
|
341
|
+
* and a sibling business's, and a re-engagement audience built on that
|
|
342
|
+
* would mail people who are reading somebody else.
|
|
343
|
+
*
|
|
344
|
+
* Absent until the first engagement after the stamp shipped; a message
|
|
345
|
+
* opened before then advanced the address-level rollup and nothing here.
|
|
346
|
+
*/
|
|
347
|
+
lastEmailEngagementAtMs?: number;
|
|
348
|
+
/**
|
|
349
|
+
* The org-library files THIS holder has attached to the person
|
|
350
|
+
* (AGL-2662), by media document id.
|
|
351
|
+
*
|
|
352
|
+
* Per-holder for the reason every other field here is: an agency running
|
|
353
|
+
* two client brands has one contact document between them, and a signed
|
|
354
|
+
* contract one client filed is not the other client's to see. Ids rather
|
|
355
|
+
* than URLs so a file moved between folders keeps its attachment, and so
|
|
356
|
+
* a private asset is still served through the signed CDN door.
|
|
357
|
+
*/
|
|
358
|
+
mediaIds?: string[];
|
|
359
|
+
}
|
|
360
|
+
/** The map field holding the facets: `{ [groupId]: ContactFacet }`. */
|
|
361
|
+
export declare const CONTACT_FACETS_FIELD = "facets";
|
|
362
|
+
/**
|
|
363
|
+
* The facet one group holds, or an empty one.
|
|
364
|
+
*
|
|
365
|
+
* `map[groupId]` — a lookup, not a search, for the reason the consent map is
|
|
366
|
+
* shaped the same way: there is no expression of this form that returns
|
|
367
|
+
* another holder's notes.
|
|
368
|
+
*
|
|
369
|
+
* An absent facet reads EMPTY rather than falling back to the top-level
|
|
370
|
+
* fields. A fallback would hand every holder in the org the fields the
|
|
371
|
+
* pre-facet document carried at its top, which is the disclosure this shape
|
|
372
|
+
* exists to end; the migration moves them into the capturing group's facet
|
|
373
|
+
* instead.
|
|
374
|
+
*/
|
|
375
|
+
export declare function readContactFacet(contact: Record<string, unknown> | null | undefined, groupId: string): ContactFacet;
|
|
376
|
+
/** The dotted Firestore path to one field of one holder's facet. */
|
|
377
|
+
export declare function contactFacetPath(groupId: string, field: string): string;
|
|
378
|
+
/**
|
|
379
|
+
* The name a given holder should SEE for this person.
|
|
380
|
+
*
|
|
381
|
+
* Their own override first, the canonical identity second. Nothing falls
|
|
382
|
+
* through to another holder's override: that would be one business's edit
|
|
383
|
+
* showing up in another's CRM, which is the thing the override exists to
|
|
384
|
+
* prevent.
|
|
385
|
+
*/
|
|
386
|
+
export declare function contactDisplayName(contact: Record<string, unknown> | null | undefined, groupId: string): string;
|
|
387
|
+
/**
|
|
388
|
+
* Every group that holds this contact — the reference count behind a detach.
|
|
389
|
+
*
|
|
390
|
+
* Read from `visibleTo` rather than from the facet map, because `visibleTo`
|
|
391
|
+
* is what both enforcement layers actually evaluate: a holder that can still
|
|
392
|
+
* READ the row is still holding it whether or not they ever wrote a note. A
|
|
393
|
+
* count taken from the facets would drop a holder who has one and no facet
|
|
394
|
+
* and leave them able to see a document nothing believes they hold.
|
|
395
|
+
*/
|
|
396
|
+
export declare function contactHolderTokens(contact: Record<string, unknown> | null | undefined): string[];
|
|
397
|
+
/** What a holder letting go of a contact should do to the document. */
|
|
398
|
+
export type ContactDetach = {
|
|
399
|
+
/** Nobody else holds it. Delete the document. */
|
|
400
|
+
action: 'delete';
|
|
401
|
+
} | {
|
|
402
|
+
/** Other holders remain. Drop this one's half. */
|
|
403
|
+
action: 'detach';
|
|
404
|
+
/**
|
|
405
|
+
* Field-level removals, as a patch. Dotted paths so the OTHER holders'
|
|
406
|
+
* facets and consent entries are untouched — a nested write would
|
|
407
|
+
* replace the whole map and take every other holder's records with it.
|
|
408
|
+
*/
|
|
409
|
+
remove: string[];
|
|
410
|
+
/** Scope tokens to pull out of `visibleTo`. */
|
|
411
|
+
removeTokens: string[];
|
|
412
|
+
/** Host ids to pull out of the capture attribution. */
|
|
413
|
+
removeHostIds: string[];
|
|
414
|
+
};
|
|
415
|
+
/**
|
|
416
|
+
* DELETE IS A DETACH.
|
|
417
|
+
*
|
|
418
|
+
* One holder removing a contact from their own CRM must not destroy another
|
|
419
|
+
* holder's relationship with that person: they have their own notes, their
|
|
420
|
+
* own order history and their own consent, none of which the deleting holder
|
|
421
|
+
* ever had a claim on. So a delete drops the deleting group's facet, its
|
|
422
|
+
* consent entries, its capture attribution and its scope tokens — and the
|
|
423
|
+
* DOCUMENT dies only when the last holder lets go.
|
|
424
|
+
*
|
|
425
|
+
* ⛔ This is NOT the erasure path. A privacy erasure removes the person
|
|
426
|
+
* everywhere regardless of how many holders remain, and routing it through
|
|
427
|
+
* reference counting would turn a lawful erasure into a partial one — the same
|
|
428
|
+
* absent-versus-invisible defect this area keeps hitting, in the one place
|
|
429
|
+
* where getting it wrong is a legal failure rather than a bug. Erasure calls
|
|
430
|
+
* the document delete directly and must never consult this function.
|
|
431
|
+
*
|
|
432
|
+
* @param group the holder letting go, with every site it covers.
|
|
433
|
+
*/
|
|
434
|
+
export declare function planContactDetach(contact: Record<string, unknown> | null | undefined, group: {
|
|
435
|
+
groupId: string;
|
|
436
|
+
hostIds: readonly string[];
|
|
437
|
+
}): ContactDetach;
|
|
438
|
+
/**
|
|
439
|
+
* The interactions one group of sites may see on a shared contact.
|
|
440
|
+
*
|
|
441
|
+
* An interaction with NO host is shown to everyone: it predates the
|
|
442
|
+
* attribution, so hiding it would empty every existing timeline, and it is
|
|
443
|
+
* already visible to anyone who can read the row. An interaction that names a
|
|
444
|
+
* site is shown only to that site's own group — the agency case, where one
|
|
445
|
+
* client must not read another client's bookings off a person they both know.
|
|
446
|
+
*/
|
|
447
|
+
export declare function interactionsForGroup(interactions: readonly ContactInteraction[] | undefined, hostIds: readonly string[]): ContactInteraction[];
|
|
448
|
+
/** `orgs/{orgId}/contactSegments/{id}` — a saved audience filter. */
|
|
449
|
+
export interface ContactSegment {
|
|
450
|
+
name: string;
|
|
451
|
+
/** Match contacts sharing at least one tag (empty = any). */
|
|
452
|
+
tags?: string[];
|
|
453
|
+
/** Match contacts with at least one of these sources (empty = any). */
|
|
454
|
+
sources?: ContactSource[];
|
|
455
|
+
}
|
|
456
|
+
/** Segment matching (AGL-199): AND across filter kinds, OR within one. */
|
|
457
|
+
export declare function contactMatchesSegment(contact: Pick<HostContact, 'tags' | 'sources'>, segment: Pick<ContactSegment, 'tags' | 'sources'>): boolean;
|
|
458
|
+
/**
|
|
459
|
+
* Every field of a contact document the org view may read.
|
|
460
|
+
*
|
|
461
|
+
* Stated as a value so it can be asserted against — see the org-view spec,
|
|
462
|
+
* which seeds each facet field with a sentinel and proves none of them
|
|
463
|
+
* reaches a row.
|
|
464
|
+
*/
|
|
465
|
+
export declare const ORG_CONTACT_FIELDS: readonly ["email", "name", "capturedByHostIds", "marketingConsentByHost", "marketingConsent"];
|
|
466
|
+
/**
|
|
467
|
+
* What one site's relationship with one person amounts to, at org level.
|
|
468
|
+
*
|
|
469
|
+
* Consent is per (contact, host-or-group) and there is no expression that
|
|
470
|
+
* returns another controller's grant, so a row cannot carry one consent
|
|
471
|
+
* verdict. It carries one PER CAPTURING SITE, each naming the controller it
|
|
472
|
+
* was read for — a bare "consented" with nobody attached would be exactly the
|
|
473
|
+
* confusion the per-brand model was built to prevent.
|
|
474
|
+
*/
|
|
475
|
+
export interface OrgContactHostConsent {
|
|
476
|
+
/** The site this verdict answers about, and no other. */
|
|
477
|
+
hostId: string;
|
|
478
|
+
/** The controller the basis runs to — the declared group, or the site. */
|
|
479
|
+
groupId: string;
|
|
480
|
+
/**
|
|
481
|
+
* The group's disclosed name, or `null` for a site that pools with nobody.
|
|
482
|
+
*
|
|
483
|
+
* `null` is not "unknown": it is the group of one, where the site's own
|
|
484
|
+
* name is the disclosure and inventing a second would put a label in front
|
|
485
|
+
* of a reader that nothing else uses.
|
|
486
|
+
*/
|
|
487
|
+
groupName: string | null;
|
|
488
|
+
/** Whether the controller is a DECLARED group rather than the site alone. */
|
|
489
|
+
declared: boolean;
|
|
490
|
+
/** `granted` | `declined` | `unrecorded` — never collapsed to a boolean. */
|
|
491
|
+
basis: MarketingBasis;
|
|
492
|
+
}
|
|
493
|
+
/** One person, as the organization may see them across all of its sites. */
|
|
494
|
+
export interface OrgContactRow {
|
|
495
|
+
$id: string;
|
|
496
|
+
/** The dedupe key, and the reason two captures are one row. */
|
|
497
|
+
email: string;
|
|
498
|
+
/** The SHARED identity. Never a holder's own override. */
|
|
499
|
+
name: string;
|
|
500
|
+
/** Every site that has captured this person, sorted for a stable render. */
|
|
501
|
+
capturedByHostIds: string[];
|
|
502
|
+
/** One verdict per capturing site, in the same order. */
|
|
503
|
+
consent: OrgContactHostConsent[];
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Every site that has captured this person.
|
|
507
|
+
*
|
|
508
|
+
* Sorted, because the array is maintained by `arrayUnion` and therefore
|
|
509
|
+
* carries capture order, which is not an order anything should render: two
|
|
510
|
+
* readers of the same row would see the sites in different places on the
|
|
511
|
+
* screen depending on which site met the person first.
|
|
512
|
+
*/
|
|
513
|
+
export declare function contactCaptureHostIds(contact: Record<string, unknown> | null | undefined): string[];
|
|
514
|
+
/**
|
|
515
|
+
* One contact document, projected to what an ORG may see.
|
|
516
|
+
*
|
|
517
|
+
* @param org - the org document — the only input that can resolve a declared
|
|
518
|
+
* consent group, and required for that reason. Without it every site reads
|
|
519
|
+
* as a group of one, which understates the disclosure a person was given
|
|
520
|
+
* and is the safe direction to be wrong in.
|
|
521
|
+
*/
|
|
522
|
+
export declare function orgContactRow(contact: Record<string, unknown> | null | undefined, contactId: string, org: Record<string, unknown> | null | undefined): OrgContactRow;
|
|
523
|
+
/**
|
|
524
|
+
* How a basis reads on screen.
|
|
525
|
+
*
|
|
526
|
+
* Three labels because there are three states. "Opted in" and "No record" are
|
|
527
|
+
* not opposites and must never collapse into one negative: absence is the
|
|
528
|
+
* commonest case by far — a record captured before the checkbox existed — and
|
|
529
|
+
* showing it as a refusal would tell a merchant they may not mail somebody
|
|
530
|
+
* who never said so.
|
|
531
|
+
*/
|
|
532
|
+
export declare const MARKETING_BASIS_LABELS: Record<MarketingBasis, string>;
|
|
533
|
+
/**
|
|
534
|
+
* One consent verdict, WITH THE CONTROLLER IT RUNS TO, as one string.
|
|
535
|
+
*
|
|
536
|
+
* ⛔ There is no function here that returns a basis on its own, and that is
|
|
537
|
+
* the point. A basis is per (person, controller): the same person can be
|
|
538
|
+
* opted in to one brand in an org and opted out of another, so "consented"
|
|
539
|
+
* with nobody attached is not a shortened truth, it is a different and false
|
|
540
|
+
* claim — precisely the confusion the per-brand model was built to prevent.
|
|
541
|
+
* Joining the two into a single value is what stops a caller rendering half
|
|
542
|
+
* of it.
|
|
543
|
+
*
|
|
544
|
+
* The controller is the DECLARED GROUP when there is one, because that is who
|
|
545
|
+
* the person was told they would hear from, and the site otherwise. A group
|
|
546
|
+
* of one is named by the site, which is what the capture surface already
|
|
547
|
+
* showed them.
|
|
548
|
+
*
|
|
549
|
+
* @param siteName - how this site reads — the caller resolves it, since the
|
|
550
|
+
* contact document holds ids and not names. An empty one falls back to the
|
|
551
|
+
* id: a site whose name cannot be resolved must still be NAMED, because
|
|
552
|
+
* dropping it would understate which brands hold a relationship.
|
|
553
|
+
*/
|
|
554
|
+
export declare function orgContactConsentLabel(entry: OrgContactHostConsent, siteName?: string): string;
|