@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,177 @@
|
|
|
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
|
+
* Reading CSP violation reports (AGL-523).
|
|
18
|
+
*
|
|
19
|
+
* The report-only policy has shipped since AGL-518 with **no reporting
|
|
20
|
+
* directive at all**, so every violation it detected went to the console of
|
|
21
|
+
* whoever happened to have devtools open and nowhere else. The evidence the
|
|
22
|
+
* issue wanted before flipping to enforcing — "confirm no legitimate script is
|
|
23
|
+
* being reported" — has therefore never existed, and the choice between
|
|
24
|
+
* `strict-dynamic` and `'self' https: blob:` is currently a guess.
|
|
25
|
+
*
|
|
26
|
+
* Pure, and separate from the route, because the interesting part is not the
|
|
27
|
+
* HTTP: it is deciding which reports are worth keeping.
|
|
28
|
+
*
|
|
29
|
+
* Lives in a lib rather than `apps/console/utils` since AGL-1703, which gave
|
|
30
|
+
* the tenant its own collector. The two ROUTES are different — the tenant's is
|
|
31
|
+
* driven by anonymous visitors to every published customer site, so it carries
|
|
32
|
+
* limiters the console's does not need — but normalizing two wire formats and
|
|
33
|
+
* throwing away extension noise is the same job on both, and a second copy of
|
|
34
|
+
* a parser that reads hostile input is a second thing to get wrong.
|
|
35
|
+
*
|
|
36
|
+
* ## Why filtering is the whole job
|
|
37
|
+
*
|
|
38
|
+
* A CSP endpoint that logs everything is worse than none. Browser extensions
|
|
39
|
+
* inject inline scripts into every page they touch, and each injection is a
|
|
40
|
+
* violation — so an unfiltered collector on a logged-in app produces a
|
|
41
|
+
* firehose of reports about code we do not ship and cannot fix. The signal
|
|
42
|
+
* (one of OUR scripts is unnonced) drowns, the flip decision stays unmade,
|
|
43
|
+
* and the log bill is real. Filtering at the edge, before anything is
|
|
44
|
+
* emitted, is what makes the data usable.
|
|
45
|
+
*/ // A violation from a scheme no deployment of ours serves is never ours to fix.
|
|
46
|
+
// The error beacon reads the same list off a stack's frames, so it lives in
|
|
47
|
+
// one place — see `FOREIGN_SCRIPT_SCHEMES`.
|
|
48
|
+
import { isForeignScriptUrl as isForeign } from "./foreign-script.js";
|
|
49
|
+
/** Trim a value that a hostile client controls, and that we log. */ const clamp = (value, max)=>typeof value === 'string' ? value.slice(0, max) : '';
|
|
50
|
+
/**
|
|
51
|
+
* The document URL reduced to its path.
|
|
52
|
+
*
|
|
53
|
+
* Query and fragment are dropped deliberately, for two reasons that point the
|
|
54
|
+
* same way: they can carry user data we have no business logging, and keeping
|
|
55
|
+
* them would split one recurring violation into a different line per visitor.
|
|
56
|
+
* The path is what identifies the surface, which is what a fix needs.
|
|
57
|
+
*/ export function documentPath(rawUrl) {
|
|
58
|
+
const value = clamp(rawUrl, 2048);
|
|
59
|
+
if (!value) return '';
|
|
60
|
+
try {
|
|
61
|
+
return new URL(value).pathname;
|
|
62
|
+
} catch (unused) {
|
|
63
|
+
// Not a URL. Keep something rather than dropping the report, but never
|
|
64
|
+
// echo an unbounded attacker-supplied string into the log.
|
|
65
|
+
return value.slice(0, 200);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Normalize every wire format into `CspViolation[]`.
|
|
70
|
+
*
|
|
71
|
+
* There are THREE, not two, and all three are live (AGL-1788, measured in real
|
|
72
|
+
* browsers against a real response rather than read from a spec):
|
|
73
|
+
*
|
|
74
|
+
* 1. **Legacy** — `{"csp-report": {...}}`, kebab-case keys,
|
|
75
|
+
* `application/csp-report`. What `report-uri` posts when the policy carries
|
|
76
|
+
* no `report-to`.
|
|
77
|
+
* 2. **Reporting API** — an ARRAY of `{type, body}` with camelCase keys,
|
|
78
|
+
* `application/reports+json`. What Chrome posts for `report-to`, batched.
|
|
79
|
+
* 3. **Safari's hybrid** — a SINGLE `{type, url, body}` with the camelCase
|
|
80
|
+
* body of (2) but the `application/csp-report` content type of (1). Safari
|
|
81
|
+
* switches to the modern body shape as soon as `report-to` is present in
|
|
82
|
+
* the policy, without adopting the array envelope.
|
|
83
|
+
*
|
|
84
|
+
* Shape (3) is why this comment exists. It parsed as neither of the other two
|
|
85
|
+
* — not an array, and no `csp-report` key — so it fell through to `[]`, and
|
|
86
|
+
* the console and tenant collectors silently discarded every report Safari
|
|
87
|
+
* sent for as long as the policy has carried both directives. A dropped report
|
|
88
|
+
* and a clean page are indistinguishable downstream, which is the same
|
|
89
|
+
* false all-clear AGL-518 shipped.
|
|
90
|
+
*/ export function parseCspReports(payload) {
|
|
91
|
+
if (!payload || typeof payload !== 'object') return [];
|
|
92
|
+
// Reporting API: an array of envelopes, possibly mixed with other report
|
|
93
|
+
// types (deprecation, intervention) that share the endpoint.
|
|
94
|
+
if (Array.isArray(payload)) {
|
|
95
|
+
return payload.filter(isViolationEnvelope).map((entry)=>fromModern(entry.body)).filter((violation)=>violation !== null);
|
|
96
|
+
}
|
|
97
|
+
const legacy = payload['csp-report'];
|
|
98
|
+
if (legacy && typeof legacy === 'object') {
|
|
99
|
+
const violation = fromLegacy(legacy);
|
|
100
|
+
return violation ? [
|
|
101
|
+
violation
|
|
102
|
+
] : [];
|
|
103
|
+
}
|
|
104
|
+
// Safari's single envelope. Checked AFTER `csp-report` so a legacy body that
|
|
105
|
+
// happens to carry a `body` key cannot be read with the wrong key set, and
|
|
106
|
+
// gated on `type` so this cannot swallow an unrelated object shape.
|
|
107
|
+
if (isViolationEnvelope(payload)) {
|
|
108
|
+
const violation = fromModern(payload.body);
|
|
109
|
+
return violation ? [
|
|
110
|
+
violation
|
|
111
|
+
] : [];
|
|
112
|
+
}
|
|
113
|
+
return [];
|
|
114
|
+
}
|
|
115
|
+
/** A Reporting API envelope that is specifically a CSP violation. */ const isViolationEnvelope = (entry)=>!!entry && typeof entry === 'object' && entry.type === 'csp-violation';
|
|
116
|
+
function fromModern(body) {
|
|
117
|
+
if (!body || typeof body !== 'object') return null;
|
|
118
|
+
const b = body;
|
|
119
|
+
return {
|
|
120
|
+
documentPath: documentPath(b['documentURL']),
|
|
121
|
+
effectiveDirective: clamp(b['effectiveDirective'], 64),
|
|
122
|
+
blockedUri: clamp(b['blockedURL'], 512),
|
|
123
|
+
sourceFile: clamp(b['sourceFile'], 512),
|
|
124
|
+
sample: clamp(b['sample'], 80),
|
|
125
|
+
lineNumber: typeof b['lineNumber'] === 'number' ? b['lineNumber'] : null,
|
|
126
|
+
disposition: clamp(b['disposition'], 16) || 'report'
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
function fromLegacy(body) {
|
|
130
|
+
if (!body || typeof body !== 'object') return null;
|
|
131
|
+
const b = body;
|
|
132
|
+
return {
|
|
133
|
+
documentPath: documentPath(b['document-uri']),
|
|
134
|
+
// `effective-directive` is the precise one but older browsers only send
|
|
135
|
+
// `violated-directive`, which carries the whole source list. Take the
|
|
136
|
+
// directive name off the front so both shapes group together.
|
|
137
|
+
effectiveDirective: clamp(b['effective-directive'], 64) || clamp(b['violated-directive'], 256).split(/\s+/)[0] || '',
|
|
138
|
+
blockedUri: clamp(b['blocked-uri'], 512),
|
|
139
|
+
sourceFile: clamp(b['source-file'], 512),
|
|
140
|
+
sample: clamp(b['script-sample'], 80),
|
|
141
|
+
lineNumber: typeof b['line-number'] === 'number' ? b['line-number'] : null,
|
|
142
|
+
disposition: clamp(b['disposition'], 16) || 'report'
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Is this violation about code we ship?
|
|
147
|
+
*
|
|
148
|
+
* The test is the SOURCE of the offending script, not what was blocked. An
|
|
149
|
+
* extension injecting an inline script reports `blocked-uri: inline` — exactly
|
|
150
|
+
* what one of our own unnonced scripts reports — and the only thing that
|
|
151
|
+
* separates them is `source-file` naming the extension. Filtering on
|
|
152
|
+
* `blocked-uri` alone would therefore throw away the signal and keep the noise,
|
|
153
|
+
* which is the failure mode worth being careful about.
|
|
154
|
+
*/ export function isActionableViolation(violation) {
|
|
155
|
+
if (!violation.effectiveDirective) return false;
|
|
156
|
+
if (isForeign(violation.sourceFile)) return false;
|
|
157
|
+
if (isForeign(violation.blockedUri)) return false;
|
|
158
|
+
// Safari reports some extension violations with the page as `source-file`
|
|
159
|
+
// and nothing blocked at all. Nothing to act on either way.
|
|
160
|
+
if (!violation.blockedUri && !violation.sample) return false;
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* A stable grouping key, so a recurring violation reads as one problem.
|
|
165
|
+
*
|
|
166
|
+
* Line numbers and samples are deliberately absent: a bundle rebuild moves
|
|
167
|
+
* every line, and the point of the key is that the same defect keeps the same
|
|
168
|
+
* identity across deploys.
|
|
169
|
+
*/ export function violationKey(violation) {
|
|
170
|
+
return [
|
|
171
|
+
violation.effectiveDirective,
|
|
172
|
+
violation.blockedUri,
|
|
173
|
+
violation.documentPath
|
|
174
|
+
].join('|');
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
//# sourceMappingURL=csp-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/csp-report.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\n/**\n * Reading CSP violation reports (AGL-523).\n *\n * The report-only policy has shipped since AGL-518 with **no reporting\n * directive at all**, so every violation it detected went to the console of\n * whoever happened to have devtools open and nowhere else. The evidence the\n * issue wanted before flipping to enforcing — \"confirm no legitimate script is\n * being reported\" — has therefore never existed, and the choice between\n * `strict-dynamic` and `'self' https: blob:` is currently a guess.\n *\n * Pure, and separate from the route, because the interesting part is not the\n * HTTP: it is deciding which reports are worth keeping.\n *\n * Lives in a lib rather than `apps/console/utils` since AGL-1703, which gave\n * the tenant its own collector. The two ROUTES are different — the tenant's is\n * driven by anonymous visitors to every published customer site, so it carries\n * limiters the console's does not need — but normalizing two wire formats and\n * throwing away extension noise is the same job on both, and a second copy of\n * a parser that reads hostile input is a second thing to get wrong.\n *\n * ## Why filtering is the whole job\n *\n * A CSP endpoint that logs everything is worse than none. Browser extensions\n * inject inline scripts into every page they touch, and each injection is a\n * violation — so an unfiltered collector on a logged-in app produces a\n * firehose of reports about code we do not ship and cannot fix. The signal\n * (one of OUR scripts is unnonced) drowns, the flip decision stays unmade,\n * and the log bill is real. Filtering at the edge, before anything is\n * emitted, is what makes the data usable.\n */\n\n// A violation from a scheme no deployment of ours serves is never ours to fix.\n// The error beacon reads the same list off a stack's frames, so it lives in\n// one place — see `FOREIGN_SCRIPT_SCHEMES`.\nimport { isForeignScriptUrl as isForeign } from './foreign-script'\n\n/** One violation, normalized across the two wire formats. */\nexport interface CspViolation {\n /** The page, PATH ONLY — see `documentPath`. */\n documentPath: string\n /** e.g. `script-src-elem`. */\n effectiveDirective: string\n /** What was blocked: a URL, or `inline` / `eval`. */\n blockedUri: string\n /** The script that triggered it, when the browser names one. */\n sourceFile: string\n /** Browser-capped excerpt of the offending inline script. */\n sample: string\n lineNumber: number | null\n /** `enforce` or `report`. */\n disposition: string\n}\n\n/** Trim a value that a hostile client controls, and that we log. */\nconst clamp = (value: unknown, max: number): string =>\n typeof value === 'string' ? value.slice(0, max) : ''\n\n/**\n * The document URL reduced to its path.\n *\n * Query and fragment are dropped deliberately, for two reasons that point the\n * same way: they can carry user data we have no business logging, and keeping\n * them would split one recurring violation into a different line per visitor.\n * The path is what identifies the surface, which is what a fix needs.\n */\nexport function documentPath(rawUrl: unknown): string {\n const value = clamp(rawUrl, 2048)\n if (!value) return ''\n try {\n return new URL(value).pathname\n } catch {\n // Not a URL. Keep something rather than dropping the report, but never\n // echo an unbounded attacker-supplied string into the log.\n return value.slice(0, 200)\n }\n}\n\n/**\n * Normalize every wire format into `CspViolation[]`.\n *\n * There are THREE, not two, and all three are live (AGL-1788, measured in real\n * browsers against a real response rather than read from a spec):\n *\n * 1. **Legacy** — `{\"csp-report\": {...}}`, kebab-case keys,\n * `application/csp-report`. What `report-uri` posts when the policy carries\n * no `report-to`.\n * 2. **Reporting API** — an ARRAY of `{type, body}` with camelCase keys,\n * `application/reports+json`. What Chrome posts for `report-to`, batched.\n * 3. **Safari's hybrid** — a SINGLE `{type, url, body}` with the camelCase\n * body of (2) but the `application/csp-report` content type of (1). Safari\n * switches to the modern body shape as soon as `report-to` is present in\n * the policy, without adopting the array envelope.\n *\n * Shape (3) is why this comment exists. It parsed as neither of the other two\n * — not an array, and no `csp-report` key — so it fell through to `[]`, and\n * the console and tenant collectors silently discarded every report Safari\n * sent for as long as the policy has carried both directives. A dropped report\n * and a clean page are indistinguishable downstream, which is the same\n * false all-clear AGL-518 shipped.\n */\nexport function parseCspReports(payload: unknown): CspViolation[] {\n if (!payload || typeof payload !== 'object') return []\n\n // Reporting API: an array of envelopes, possibly mixed with other report\n // types (deprecation, intervention) that share the endpoint.\n if (Array.isArray(payload)) {\n return payload\n .filter(isViolationEnvelope)\n .map((entry) => fromModern((entry as { body?: unknown }).body))\n .filter((violation): violation is CspViolation => violation !== null)\n }\n\n const legacy = (payload as { 'csp-report'?: unknown })['csp-report']\n if (legacy && typeof legacy === 'object') {\n const violation = fromLegacy(legacy)\n return violation ? [violation] : []\n }\n\n // Safari's single envelope. Checked AFTER `csp-report` so a legacy body that\n // happens to carry a `body` key cannot be read with the wrong key set, and\n // gated on `type` so this cannot swallow an unrelated object shape.\n if (isViolationEnvelope(payload)) {\n const violation = fromModern((payload as { body?: unknown }).body)\n return violation ? [violation] : []\n }\n return []\n}\n\n/** A Reporting API envelope that is specifically a CSP violation. */\nconst isViolationEnvelope = (entry: unknown): boolean =>\n !!entry &&\n typeof entry === 'object' &&\n (entry as { type?: unknown }).type === 'csp-violation'\n\nfunction fromModern(body: unknown): CspViolation | null {\n if (!body || typeof body !== 'object') return null\n const b = body as Record<string, unknown>\n return {\n documentPath: documentPath(b['documentURL']),\n effectiveDirective: clamp(b['effectiveDirective'], 64),\n blockedUri: clamp(b['blockedURL'], 512),\n sourceFile: clamp(b['sourceFile'], 512),\n sample: clamp(b['sample'], 80),\n lineNumber: typeof b['lineNumber'] === 'number' ? b['lineNumber'] : null,\n disposition: clamp(b['disposition'], 16) || 'report',\n }\n}\n\nfunction fromLegacy(body: unknown): CspViolation | null {\n if (!body || typeof body !== 'object') return null\n const b = body as Record<string, unknown>\n return {\n documentPath: documentPath(b['document-uri']),\n // `effective-directive` is the precise one but older browsers only send\n // `violated-directive`, which carries the whole source list. Take the\n // directive name off the front so both shapes group together.\n effectiveDirective:\n clamp(b['effective-directive'], 64) ||\n clamp(b['violated-directive'], 256).split(/\\s+/)[0] ||\n '',\n blockedUri: clamp(b['blocked-uri'], 512),\n sourceFile: clamp(b['source-file'], 512),\n sample: clamp(b['script-sample'], 80),\n lineNumber: typeof b['line-number'] === 'number' ? b['line-number'] : null,\n disposition: clamp(b['disposition'], 16) || 'report',\n }\n}\n\n/**\n * Is this violation about code we ship?\n *\n * The test is the SOURCE of the offending script, not what was blocked. An\n * extension injecting an inline script reports `blocked-uri: inline` — exactly\n * what one of our own unnonced scripts reports — and the only thing that\n * separates them is `source-file` naming the extension. Filtering on\n * `blocked-uri` alone would therefore throw away the signal and keep the noise,\n * which is the failure mode worth being careful about.\n */\nexport function isActionableViolation(violation: CspViolation): boolean {\n if (!violation.effectiveDirective) return false\n if (isForeign(violation.sourceFile)) return false\n if (isForeign(violation.blockedUri)) return false\n // Safari reports some extension violations with the page as `source-file`\n // and nothing blocked at all. Nothing to act on either way.\n if (!violation.blockedUri && !violation.sample) return false\n return true\n}\n\n/**\n * A stable grouping key, so a recurring violation reads as one problem.\n *\n * Line numbers and samples are deliberately absent: a bundle rebuild moves\n * every line, and the point of the key is that the same defect keeps the same\n * identity across deploys.\n */\nexport function violationKey(violation: CspViolation): string {\n return [\n violation.effectiveDirective,\n violation.blockedUri,\n violation.documentPath,\n ].join('|')\n}\n"],"names":["isForeignScriptUrl","isForeign","clamp","value","max","slice","documentPath","rawUrl","URL","pathname","parseCspReports","payload","Array","isArray","filter","isViolationEnvelope","map","entry","fromModern","body","violation","legacy","fromLegacy","type","b","effectiveDirective","blockedUri","sourceFile","sample","lineNumber","disposition","split","isActionableViolation","violationKey","join"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BC,GAED,+EAA+E;AAC/E,4EAA4E;AAC5E,4CAA4C;AAC5C,SAASA,sBAAsBC,SAAS,QAAQ,sBAAkB;AAmBlE,kEAAkE,GAClE,MAAMC,QAAQ,CAACC,OAAgBC,MAC7B,OAAOD,UAAU,WAAWA,MAAME,KAAK,CAAC,GAAGD,OAAO;AAEpD;;;;;;;CAOC,GACD,OAAO,SAASE,aAAaC,MAAe;IAC1C,MAAMJ,QAAQD,MAAMK,QAAQ;IAC5B,IAAI,CAACJ,OAAO,OAAO;IACnB,IAAI;QACF,OAAO,IAAIK,IAAIL,OAAOM,QAAQ;IAChC,EAAE,eAAM;QACN,uEAAuE;QACvE,2DAA2D;QAC3D,OAAON,MAAME,KAAK,CAAC,GAAG;IACxB;AACF;AAEA;;;;;;;;;;;;;;;;;;;;;;CAsBC,GACD,OAAO,SAASK,gBAAgBC,OAAgB;IAC9C,IAAI,CAACA,WAAW,OAAOA,YAAY,UAAU,OAAO,EAAE;IAEtD,yEAAyE;IACzE,6DAA6D;IAC7D,IAAIC,MAAMC,OAAO,CAACF,UAAU;QAC1B,OAAOA,QACJG,MAAM,CAACC,qBACPC,GAAG,CAAC,CAACC,QAAUC,WAAW,AAACD,MAA6BE,IAAI,GAC5DL,MAAM,CAAC,CAACM,YAAyCA,cAAc;IACpE;IAEA,MAAMC,SAAS,AAACV,OAAsC,CAAC,aAAa;IACpE,IAAIU,UAAU,OAAOA,WAAW,UAAU;QACxC,MAAMD,YAAYE,WAAWD;QAC7B,OAAOD,YAAY;YAACA;SAAU,GAAG,EAAE;IACrC;IAEA,6EAA6E;IAC7E,2EAA2E;IAC3E,oEAAoE;IACpE,IAAIL,oBAAoBJ,UAAU;QAChC,MAAMS,YAAYF,WAAW,AAACP,QAA+BQ,IAAI;QACjE,OAAOC,YAAY;YAACA;SAAU,GAAG,EAAE;IACrC;IACA,OAAO,EAAE;AACX;AAEA,mEAAmE,GACnE,MAAML,sBAAsB,CAACE,QAC3B,CAAC,CAACA,SACF,OAAOA,UAAU,YACjB,AAACA,MAA6BM,IAAI,KAAK;AAEzC,SAASL,WAAWC,IAAa;IAC/B,IAAI,CAACA,QAAQ,OAAOA,SAAS,UAAU,OAAO;IAC9C,MAAMK,IAAIL;IACV,OAAO;QACLb,cAAcA,aAAakB,CAAC,CAAC,cAAc;QAC3CC,oBAAoBvB,MAAMsB,CAAC,CAAC,qBAAqB,EAAE;QACnDE,YAAYxB,MAAMsB,CAAC,CAAC,aAAa,EAAE;QACnCG,YAAYzB,MAAMsB,CAAC,CAAC,aAAa,EAAE;QACnCI,QAAQ1B,MAAMsB,CAAC,CAAC,SAAS,EAAE;QAC3BK,YAAY,OAAOL,CAAC,CAAC,aAAa,KAAK,WAAWA,CAAC,CAAC,aAAa,GAAG;QACpEM,aAAa5B,MAAMsB,CAAC,CAAC,cAAc,EAAE,OAAO;IAC9C;AACF;AAEA,SAASF,WAAWH,IAAa;IAC/B,IAAI,CAACA,QAAQ,OAAOA,SAAS,UAAU,OAAO;IAC9C,MAAMK,IAAIL;IACV,OAAO;QACLb,cAAcA,aAAakB,CAAC,CAAC,eAAe;QAC5C,wEAAwE;QACxE,sEAAsE;QACtE,8DAA8D;QAC9DC,oBACEvB,MAAMsB,CAAC,CAAC,sBAAsB,EAAE,OAChCtB,MAAMsB,CAAC,CAAC,qBAAqB,EAAE,KAAKO,KAAK,CAAC,MAAM,CAAC,EAAE,IACnD;QACFL,YAAYxB,MAAMsB,CAAC,CAAC,cAAc,EAAE;QACpCG,YAAYzB,MAAMsB,CAAC,CAAC,cAAc,EAAE;QACpCI,QAAQ1B,MAAMsB,CAAC,CAAC,gBAAgB,EAAE;QAClCK,YAAY,OAAOL,CAAC,CAAC,cAAc,KAAK,WAAWA,CAAC,CAAC,cAAc,GAAG;QACtEM,aAAa5B,MAAMsB,CAAC,CAAC,cAAc,EAAE,OAAO;IAC9C;AACF;AAEA;;;;;;;;;CASC,GACD,OAAO,SAASQ,sBAAsBZ,SAAuB;IAC3D,IAAI,CAACA,UAAUK,kBAAkB,EAAE,OAAO;IAC1C,IAAIxB,UAAUmB,UAAUO,UAAU,GAAG,OAAO;IAC5C,IAAI1B,UAAUmB,UAAUM,UAAU,GAAG,OAAO;IAC5C,0EAA0E;IAC1E,4DAA4D;IAC5D,IAAI,CAACN,UAAUM,UAAU,IAAI,CAACN,UAAUQ,MAAM,EAAE,OAAO;IACvD,OAAO;AACT;AAEA;;;;;;CAMC,GACD,OAAO,SAASK,aAAab,SAAuB;IAClD,OAAO;QACLA,UAAUK,kBAAkB;QAC5BL,UAAUM,UAAU;QACpBN,UAAUd,YAAY;KACvB,CAAC4B,IAAI,CAAC;AACT"}
|
|
@@ -0,0 +1,192 @@
|
|
|
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
|
+
* READING A SPREADSHEET INTO A CRM COLLECTION — the part that does not care
|
|
19
|
+
* which collection (AGL-2621).
|
|
20
|
+
*
|
|
21
|
+
* The contact import (AGL-2602) settled how a file becomes records: a
|
|
22
|
+
* header row is matched against an alias table to PROPOSE a column → field
|
|
23
|
+
* mapping, the operator corrects it, one line is mapped to a raw row of
|
|
24
|
+
* verbatim strings, and the server judges each row and tallies what it did.
|
|
25
|
+
* A companies file goes through the same three stages with a different
|
|
26
|
+
* field list, so the stages live here, parametric over the field union, and
|
|
27
|
+
* the CRM plugin's contact and company importers each supply their vocabulary
|
|
28
|
+
* — the fields, their aliases, their labels — and nothing else.
|
|
29
|
+
*
|
|
30
|
+
* ## A custom target is `custom:<key>`
|
|
31
|
+
*
|
|
32
|
+
* A column may also map to a custom field the merchant defined, which has
|
|
33
|
+
* no standard name. The target is one string rather than a discriminated
|
|
34
|
+
* object because it is the VALUE of a select control and travels through a
|
|
35
|
+
* form; the prefix is what tells the two apart on the way back.
|
|
36
|
+
*
|
|
37
|
+
* ## The ceilings are shared numbers
|
|
38
|
+
*
|
|
39
|
+
* One file, one request and one preview are bounded the same way for every
|
|
40
|
+
* collection, because the bounds are about the browser's memory and a
|
|
41
|
+
* console request's budget, not about what the rows hold.
|
|
42
|
+
*/
|
|
43
|
+
/**
|
|
44
|
+
* The most rows one uploaded file may carry.
|
|
45
|
+
*
|
|
46
|
+
* A bound on the work one import represents and on the memory the browser
|
|
47
|
+
* holds while mapping it — five thousand rows of a wide export is already
|
|
48
|
+
* several megabytes of cells in a tab. A larger list is split and imported
|
|
49
|
+
* in pieces; the drawer says so on the file, before a single row is sent.
|
|
50
|
+
*/
|
|
51
|
+
export declare const CSV_IMPORT_MAX_ROWS = 5000;
|
|
52
|
+
/**
|
|
53
|
+
* Rows per request.
|
|
54
|
+
*
|
|
55
|
+
* Each row costs the server a lookup and a write, plus whatever a name it
|
|
56
|
+
* has not seen in this request costs to resolve; two hundred of those sit
|
|
57
|
+
* comfortably inside a console request's budget and give the progress bar
|
|
58
|
+
* twenty-five steps on the largest file the drawer accepts.
|
|
59
|
+
*/
|
|
60
|
+
export declare const CSV_IMPORT_CHUNK_SIZE = 200;
|
|
61
|
+
/**
|
|
62
|
+
* The most bytes one request may carry, checked before the body is judged.
|
|
63
|
+
*
|
|
64
|
+
* Two hundred rows of a wide export with long values is well under a
|
|
65
|
+
* megabyte; two megabytes is the line past which a request is not a chunk
|
|
66
|
+
* of a file but something else being pushed through this door.
|
|
67
|
+
*/
|
|
68
|
+
export declare const CSV_IMPORT_MAX_BODY_BYTES = 2000000;
|
|
69
|
+
/** How many mapped rows the drawer shows before the operator commits. */
|
|
70
|
+
export declare const CSV_IMPORT_PREVIEW_ROWS = 10;
|
|
71
|
+
/** The custom-field target id for a definition key. */
|
|
72
|
+
export declare function customImportTarget(key: string): `custom:${string}`;
|
|
73
|
+
/** The definition key a custom target names, or `null` for a standard field. */
|
|
74
|
+
export declare function customImportTargetKey(target: string): string | null;
|
|
75
|
+
/**
|
|
76
|
+
* Normalizes a header cell for alias matching.
|
|
77
|
+
*
|
|
78
|
+
* Underscores, dots and hyphens all become one space, so `e-mail`,
|
|
79
|
+
* `email_address` and `Email Address` compare as the words they are. The
|
|
80
|
+
* alias tables are written in the human spelling and pass through the same
|
|
81
|
+
* function, so a table stays readable and the comparison stays exact.
|
|
82
|
+
*/
|
|
83
|
+
export declare function importHeaderKey(value: unknown): string;
|
|
84
|
+
/** An alias table, normalized once through {@link importHeaderKey}. */
|
|
85
|
+
export declare function importAliasKeys<F extends string>(fields: readonly F[], aliases: Record<F, readonly string[]>): Record<F, ReadonlySet<string>>;
|
|
86
|
+
/**
|
|
87
|
+
* A proposed mapping from a file's header row.
|
|
88
|
+
*
|
|
89
|
+
* Custom fields win over standard aliases when a header matches a
|
|
90
|
+
* definition's label or key exactly — a merchant who defined a field called
|
|
91
|
+
* "Status" meant THEIR status, not our lifecycle stage. Each target is
|
|
92
|
+
* taken at most once, by the first column that claims it, so a file with two
|
|
93
|
+
* columns named "Email" maps the first and leaves the second for the
|
|
94
|
+
* operator to decide.
|
|
95
|
+
*/
|
|
96
|
+
export declare function guessImportMapping<F extends string>(columns: readonly string[], fields: readonly F[], aliasKeys: Record<F, ReadonlySet<string>>): Record<number, F>;
|
|
97
|
+
export declare function guessImportMapping<F extends string>(columns: readonly string[], fields: readonly F[], aliasKeys: Record<F, ReadonlySet<string>>, customFields: readonly {
|
|
98
|
+
key: string;
|
|
99
|
+
label: string;
|
|
100
|
+
}[]): Record<number, F | `custom:${string}`>;
|
|
101
|
+
/**
|
|
102
|
+
* One parsed line under a mapping: the cells the mapping selected, under the
|
|
103
|
+
* field they were mapped to, verbatim, with custom values gathered under
|
|
104
|
+
* `custom` by definition key. Empty cells are left absent.
|
|
105
|
+
*/
|
|
106
|
+
export declare function mapImportRow<F extends string>(cells: readonly string[], mapping: Record<number, F | `custom:${string}`>): Partial<Record<F, string>> & {
|
|
107
|
+
custom?: Record<string, string>;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* A tag cell as the tags it names.
|
|
111
|
+
*
|
|
112
|
+
* `|` or `,` separated — the CSV export writes `|`, most other products
|
|
113
|
+
* write `,` — lowercased and trimmed like a record's own tag field, so an
|
|
114
|
+
* imported `VIP` and a typed `vip` are one tag and not two.
|
|
115
|
+
*/
|
|
116
|
+
export declare function parseImportTags(value: unknown, max: number): string[];
|
|
117
|
+
/**
|
|
118
|
+
* A yes/no cell as a boolean, or `null` when it is neither.
|
|
119
|
+
*
|
|
120
|
+
* The affirmatives are the ones consent and checkbox columns actually
|
|
121
|
+
* carry; the negatives are listed so that an explicit `no` is a `false`
|
|
122
|
+
* rather than an unreadable value that gets reported as dropped.
|
|
123
|
+
*/
|
|
124
|
+
export declare function parseImportFlag(value: unknown): boolean | null;
|
|
125
|
+
/** A cell as trimmed text capped at `max`, or `undefined` when blank. */
|
|
126
|
+
export declare function importTextValue(value: unknown, max: number): string | undefined;
|
|
127
|
+
/** A cell the file carried that could not be read as the field it was mapped to. */
|
|
128
|
+
export interface ImportDroppedValue {
|
|
129
|
+
/** The standard field name, or `custom:<key>`. */
|
|
130
|
+
field: string;
|
|
131
|
+
value: string;
|
|
132
|
+
}
|
|
133
|
+
/** A CSV cell, quoted only when it has to be. */
|
|
134
|
+
export declare function csvCell(value: unknown): string;
|
|
135
|
+
/**
|
|
136
|
+
* A whole CSV — the header, then one line per row — through {@link csvCell}.
|
|
137
|
+
*
|
|
138
|
+
* The one serializer for every CSV the console writes: each CRM section's
|
|
139
|
+
* export, the skipped-rows file an import hands back and each report
|
|
140
|
+
* table's export.
|
|
141
|
+
* Quoting is decided in {@link csvCell} and nowhere else — a cell holding a
|
|
142
|
+
* comma, a quote or a line break is wrapped in quotes with its quotes
|
|
143
|
+
* doubled, no other cell is touched, and a `null` or `undefined` cell is
|
|
144
|
+
* empty rather than the word — so that a report's file and a contacts file
|
|
145
|
+
* open the same way in a spreadsheet.
|
|
146
|
+
*/
|
|
147
|
+
export declare function csvDocument(header: readonly unknown[], rows: readonly (readonly unknown[])[]): string;
|
|
148
|
+
/**
|
|
149
|
+
* The skipped rows as a file the operator can fix and re-import.
|
|
150
|
+
*
|
|
151
|
+
* The original columns verbatim plus a trailing `Skipped because` column,
|
|
152
|
+
* so the file round-trips: correct the cell, delete the last column or
|
|
153
|
+
* leave it unmapped, and import it again.
|
|
154
|
+
*/
|
|
155
|
+
export declare function importSkippedCsv<R extends string>(columns: readonly string[], entries: readonly {
|
|
156
|
+
cells: readonly string[];
|
|
157
|
+
reason: R;
|
|
158
|
+
}[], labels: Record<R, string>): string;
|
|
159
|
+
/**
|
|
160
|
+
* One row the server did not store, by its index in the request. Each
|
|
161
|
+
* collection names the row back to the operator in its own field — an
|
|
162
|
+
* address, a company name — beside these two.
|
|
163
|
+
*/
|
|
164
|
+
export interface ImportSkippedRow<R extends string> {
|
|
165
|
+
index: number;
|
|
166
|
+
reason: R;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* What one request did, in the shape every collection's import reports.
|
|
170
|
+
* The drawer sums these across a file; a collection with more to say
|
|
171
|
+
* extends the shape and folds its own field beside {@link mergeImportResults}.
|
|
172
|
+
*/
|
|
173
|
+
export interface ImportChunkResult<S extends ImportSkippedRow<string>> {
|
|
174
|
+
received: number;
|
|
175
|
+
created: number;
|
|
176
|
+
merged: number;
|
|
177
|
+
skipped: S[];
|
|
178
|
+
/** Unreadable cells, tallied by field. */
|
|
179
|
+
dropped: Record<string, number>;
|
|
180
|
+
/** Owner addresses that matched no member of the organization. */
|
|
181
|
+
ownersUnresolved: string[];
|
|
182
|
+
}
|
|
183
|
+
/** An empty tally, for the drawer to fold chunk results into. */
|
|
184
|
+
export declare function emptyImportResult<S extends ImportSkippedRow<string>>(): ImportChunkResult<S>;
|
|
185
|
+
/**
|
|
186
|
+
* Two results as one.
|
|
187
|
+
*
|
|
188
|
+
* `offset` is where the chunk started in the file, so a skipped row's index
|
|
189
|
+
* comes back as its position in the FILE rather than in the request — which
|
|
190
|
+
* is what the download of skipped rows has to look up.
|
|
191
|
+
*/
|
|
192
|
+
export declare function mergeImportResults<S extends ImportSkippedRow<string>>(total: ImportChunkResult<S>, chunk: Partial<ImportChunkResult<S>>, offset?: number): ImportChunkResult<S>;
|