@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,661 @@
|
|
|
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
|
+
export declare const MEDIA_CDN_ROUTE = "/api/media/cdn";
|
|
18
|
+
/**
|
|
19
|
+
* The WebP variant widths generated at upload (AGL-175), and the widths a
|
|
20
|
+
* renderer may advertise in a `srcSet`.
|
|
21
|
+
*
|
|
22
|
+
* Here rather than beside the handler for the reason above: `serveMediaCdn`
|
|
23
|
+
* lives in a server-only lib that a plugin component cannot import, and the
|
|
24
|
+
* renderer needs the same list. It was duplicated as a bare `[320, 640, 1280]`
|
|
25
|
+
* literal in `libs/plugins/mui/.../image.tsx`, so a width added to the
|
|
26
|
+
* generator never reached the markup.
|
|
27
|
+
*
|
|
28
|
+
* ⚠️ 1920 EXISTS SO THE LARGEST CANDIDATE IS STILL A VARIANT (2026-08-26).
|
|
29
|
+
*
|
|
30
|
+
* The srcSet used to top out with the BARE url labelled `1920w` — the only
|
|
31
|
+
* candidate that is never WebP. With `sizes="100vw"` any retina desktop needs
|
|
32
|
+
* more effective pixels than 1280w offers, so that bare candidate is the one
|
|
33
|
+
* most desktop visitors actually download. Measured on aglyn.com's own
|
|
34
|
+
* assets: 335 KB / 305 KB / 164 KB PNG originals against 4 KB / 4 KB / 5 KB
|
|
35
|
+
* WebP at `?w=320` — and ~94% of a media serve is bandwidth (AGL-1442).
|
|
36
|
+
*
|
|
37
|
+
* `mediaVariantWidthsFor` names every width below the source, and for a JPEG
|
|
38
|
+
* or PNG the rest as WebP at the source's own width; `serveMediaCdn` serves
|
|
39
|
+
* the original for a width an asset does not have, so a missing variant
|
|
40
|
+
* degrades to exactly the bytes it served before.
|
|
41
|
+
*
|
|
42
|
+
* ⛔ EXISTING ASSETS KEEP THE VARIANTS THEY WERE UPLOADED WITH until a backfill
|
|
43
|
+
* runs — no regression, and no saving on them either. The backfill is a
|
|
44
|
+
* `sharp` pass over the corpus, a script and not a patch (AGL-1442 S7).
|
|
45
|
+
*/
|
|
46
|
+
export declare const MEDIA_CDN_VARIANT_WIDTHS: readonly [320, 640, 1280, 1920];
|
|
47
|
+
/**
|
|
48
|
+
* The variant width a surface asks for when it can only ask for ONE.
|
|
49
|
+
*
|
|
50
|
+
* An `<img>` hands the browser {@link MEDIA_CDN_VARIANT_WIDTHS} and lets it
|
|
51
|
+
* choose. A `<video poster>` attribute and a `thumbnailUrl` in structured data
|
|
52
|
+
* each take a single url, so they have to name a width — and it has to be the
|
|
53
|
+
* SAME width, or a crawler fetching the thumbnail gets different bytes from
|
|
54
|
+
* the visitor looking at the poster. 1280 is the widest variant below a 1920
|
|
55
|
+
* original's own width.
|
|
56
|
+
*/
|
|
57
|
+
export declare const MEDIA_CDN_POSTER_WIDTH = 1280;
|
|
58
|
+
/**
|
|
59
|
+
* Scheme of a stored media reference. Chosen so `startsWith` is a decision:
|
|
60
|
+
* no URL, path, or `{{binding}}` an author can type begins with it, and it
|
|
61
|
+
* is not a registered URL scheme, so a browser handed one by mistake fails
|
|
62
|
+
* loudly rather than fetching something.
|
|
63
|
+
*/
|
|
64
|
+
export declare const MEDIA_REF_PREFIX = "media:";
|
|
65
|
+
/**
|
|
66
|
+
* What separates the media id from the optional content pin (AGL-2685).
|
|
67
|
+
*
|
|
68
|
+
* `@` because it cannot occur in either half: {@link SEGMENT_SOURCE} is
|
|
69
|
+
* `[A-Za-z0-9_-]`, so the FIRST `@` after the media id is unambiguously the
|
|
70
|
+
* boundary, and a reference written before pins existed contains none.
|
|
71
|
+
*/
|
|
72
|
+
export declare const MEDIA_REF_HASH_SEPARATOR = "@";
|
|
73
|
+
/** A parsed reference. `scope` is the CDN scope segment, unencoded. */
|
|
74
|
+
export interface MediaRef {
|
|
75
|
+
/** `{hostId}`, `org:{orgId}`, or `org:{orgId}:{hostId}`. */
|
|
76
|
+
scope: string;
|
|
77
|
+
mediaId: string;
|
|
78
|
+
/**
|
|
79
|
+
* The content pin, when the reference carries one (AGL-2685). Absent on
|
|
80
|
+
* every reference written before pins existed, which is the majority and
|
|
81
|
+
* stays correct forever.
|
|
82
|
+
*/
|
|
83
|
+
contentHash?: string;
|
|
84
|
+
}
|
|
85
|
+
/** Whether a scope segment is one the CDN would accept. */
|
|
86
|
+
export declare function isMediaCdnScope(scope: string): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Mints the stored form. Returns undefined rather than emitting junk.
|
|
89
|
+
*
|
|
90
|
+
* A `contentHash` that does not fit the segment grammar is DROPPED rather
|
|
91
|
+
* than refused: the pin is an optimisation, and returning undefined for it
|
|
92
|
+
* would turn a bad hash into no reference at all — an image that stops
|
|
93
|
+
* rendering because a cache hint was malformed.
|
|
94
|
+
*/
|
|
95
|
+
export declare function formatMediaRef(scope: string | undefined | null, mediaId: string | undefined | null, contentHash?: string | undefined | null): string | undefined;
|
|
96
|
+
/** Whether a persisted value is a media reference rather than a URL. */
|
|
97
|
+
export declare function isMediaRef(value: unknown): value is string;
|
|
98
|
+
/** Reads a stored reference apart; null when it isn't a well-formed one. */
|
|
99
|
+
export declare function parseMediaRef(value: unknown): MediaRef | null;
|
|
100
|
+
/**
|
|
101
|
+
* Whether a value is a media-library CDN **path** — exactly what the media
|
|
102
|
+
* picker writes (AGL-2286).
|
|
103
|
+
*
|
|
104
|
+
* `MediaUrlField`'s `onPick` hands back `media.cdnPath`, which is
|
|
105
|
+
* `/api/media/cdn/{scope}/{mediaId}` and is never absolute. Several save
|
|
106
|
+
* routes validated their URL field with a bare `^https://` test and so
|
|
107
|
+
* refused every asset their own Browse button could produce. AGL-2247 fixed
|
|
108
|
+
* that for the white-label branding profile with a private regex inside
|
|
109
|
+
* `apps/console/app/api/_lib/branding-url.ts`; this is that predicate
|
|
110
|
+
* promoted to the module that already owns the grammar, because the org
|
|
111
|
+
* profile logo and the member avatar had the same defect and live in a lib
|
|
112
|
+
* `apps/console` cannot be imported from.
|
|
113
|
+
*
|
|
114
|
+
* Deliberately NOT {@link isMediaCdnUrl}, which asks a different question
|
|
115
|
+
* with `includes()` and would answer yes to `https://evil.example/x/api/media/cdn/a/b`.
|
|
116
|
+
* A validator needs the strict form, so this mirrors {@link parseMediaRef}
|
|
117
|
+
* exactly — same first-slash boundary, same `isMediaCdnScope` and `SEGMENT`
|
|
118
|
+
* checks — rather than re-deriving a regex that could drift from the route
|
|
119
|
+
* the path is about to be served by.
|
|
120
|
+
*/
|
|
121
|
+
export declare function isMediaCdnPath(value: unknown): value is string;
|
|
122
|
+
/**
|
|
123
|
+
* Rewrites an org scope so it names the site doing the rendering — the
|
|
124
|
+
* scope-segment twin of `hostQualifiedCdnPath` (AGL-1043).
|
|
125
|
+
*
|
|
126
|
+
* `org:{orgId}` serves ORG-WIDE assets only; an asset restricted to
|
|
127
|
+
* particular sites has to be asked for through `org:{orgId}:{hostId}`,
|
|
128
|
+
* because the CDN is unauthenticated and the URL is the only thing it can
|
|
129
|
+
* decide from. The qualified form is a superset — it also serves org-wide
|
|
130
|
+
* assets, since `visibleToHost` is true for `['org']` — so qualifying
|
|
131
|
+
* whenever a host is known is always safe and never needs `visibleTo`.
|
|
132
|
+
*
|
|
133
|
+
* It REPLACES an existing qualification rather than refusing to touch one.
|
|
134
|
+
* A baked-in host is the picker's best guess made where no site context
|
|
135
|
+
* existed; the site actually rendering the node is the better answer, and
|
|
136
|
+
* this is what lets one reference work in a reusable component or layout
|
|
137
|
+
* shared across several sites — the case a single stored URL can never
|
|
138
|
+
* cover.
|
|
139
|
+
*/
|
|
140
|
+
export declare function hostQualifiedScope(scope: string, hostId: string | undefined | null): string;
|
|
141
|
+
export interface ResolveMediaSrcOptions {
|
|
142
|
+
/**
|
|
143
|
+
* Host doc id of the site being rendered. The tenant page has it on
|
|
144
|
+
* `SiteContext`; the besigner canvas and Preview do not, and pass nothing
|
|
145
|
+
* — which is exactly why the picker bakes its best guess into the stored
|
|
146
|
+
* scope (see {@link mediaNodeSrc}).
|
|
147
|
+
*/
|
|
148
|
+
hostId?: string | null;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* The render-time resolver every surface shares. Precedence, in order:
|
|
152
|
+
*
|
|
153
|
+
* 1. a **media reference** → the CDN URL for it, host-qualified if we know
|
|
154
|
+
* which site is asking;
|
|
155
|
+
* 2. any other non-empty string → **itself, untouched**. That is the whole
|
|
156
|
+
* back-compat story and it needs no migration to be correct: nodes
|
|
157
|
+
* holding a raw `https://firebasestorage.googleapis.com/…` URL, nodes
|
|
158
|
+
* holding an `/api/media/cdn/…` path written by the first pass,
|
|
159
|
+
* and an author-typed external URL for a hotlinked image are all just
|
|
160
|
+
* passed through;
|
|
161
|
+
* 3. empty/absent → undefined, so the caller shows its placeholder.
|
|
162
|
+
*
|
|
163
|
+
* A value that opens with `media:` but does not parse resolves to undefined
|
|
164
|
+
* rather than reaching an `<img src>`. There is no correct URL to emit for
|
|
165
|
+
* it, and a placeholder in the editor is a report; `src="media:junk"` is a
|
|
166
|
+
* console error nobody reads.
|
|
167
|
+
*/
|
|
168
|
+
export declare function resolveMediaSrc(value: string | undefined | null, options?: ResolveMediaSrcOptions): string | undefined;
|
|
169
|
+
/**
|
|
170
|
+
* {@link resolveMediaSrc}, with an absolute FIRST-PARTY CDN URL folded back
|
|
171
|
+
* to the site-relative path that names the same bytes (AGL-1726).
|
|
172
|
+
*
|
|
173
|
+
* The resolver's pass-through branch is right for what it was written for —
|
|
174
|
+
* a raw storage URL and an author's hotlink are values we must not touch.
|
|
175
|
+
* But a stored `https://{subdomain}.aglyn.app/api/media/cdn/…` is neither.
|
|
176
|
+
* It is OUR route, addressed the long way round, and on a white-label
|
|
177
|
+
* storefront served from the customer's own domain it is:
|
|
178
|
+
*
|
|
179
|
+
* 1. a **brand leak** — the platform subdomain appears in page source and in
|
|
180
|
+
* every visitor's request, on a site whose owner pays not to see it;
|
|
181
|
+
* 2. **cross-origin**, so `img-src 'self'` would blank it (this is the
|
|
182
|
+
* AGL-1726 measurement, and fixing it unblocks that flip);
|
|
183
|
+
* 3. a dependency on `aglyn.app` resolving, on a page that otherwise has no
|
|
184
|
+
* reason to need it.
|
|
185
|
+
*
|
|
186
|
+
* Dropping the origin is safe because `serveMediaCdn` decides from the URL
|
|
187
|
+
* and the document, never from the `Host` header — "the cache key IS the
|
|
188
|
+
* URL, one host's answer can never reach another" — and BOTH apps mount the
|
|
189
|
+
* route, so the console canvas and the tenant page each serve their own.
|
|
190
|
+
*
|
|
191
|
+
* ## Why this is a separate function and not a change to `resolveMediaSrc`
|
|
192
|
+
*
|
|
193
|
+
* Two consumers need the absolute form and would be harmed by folding this
|
|
194
|
+
* into the shared resolver:
|
|
195
|
+
*
|
|
196
|
+
* - {@link absoluteMediaSrc}'s out-of-band readers (`og:image`, the PWA
|
|
197
|
+
* manifest, JSON-LD, an inbox). They re-absolutize against a stated
|
|
198
|
+
* origin, so a value that no longer carries one returns undefined
|
|
199
|
+
* wherever that origin is unknown.
|
|
200
|
+
* - `resolveEmailMediaSrc` in `shared-util-email`, a deliberate COPY of
|
|
201
|
+
* `resolveMediaSrc` pinned by `apps/console/specs/email-media-src-drift.spec.ts`.
|
|
202
|
+
* It cannot import this module (`scope:shared` is a leaf), so any change
|
|
203
|
+
* to the authority has to be mirrored by hand — and a mirror of
|
|
204
|
+
* {@link isFirstPartyHost}, which reads two environment variables, is the
|
|
205
|
+
* AGL-2195 trap re-armed.
|
|
206
|
+
*
|
|
207
|
+
* So: the render-time resolver keeps its contract, and a surface that puts
|
|
208
|
+
* the result straight into an `<img src>` on a page asks for this instead.
|
|
209
|
+
*/
|
|
210
|
+
export declare function siteRelativeMediaSrc(value: string | undefined | null, options?: ResolveMediaSrcOptions): string | undefined;
|
|
211
|
+
/**
|
|
212
|
+
* {@link resolveMediaSrc}, then made ABSOLUTE against a stated origin.
|
|
213
|
+
*
|
|
214
|
+
* Two of the three stored generations — a `media:` reference and the AGL-175
|
|
215
|
+
* relative CDN path — resolve site-RELATIVE, which is right for an `<img>` on
|
|
216
|
+
* a page and wrong for every consumer that reads the URL out of band: a
|
|
217
|
+
* crawler fetching `og:image` (AGL-1337), an inbox rendering a campaign
|
|
218
|
+
* (AGL-1224), an installer fetching a PWA manifest icon (AGL-1407). None of
|
|
219
|
+
* them has a page to resolve against, and the tenant app declares no
|
|
220
|
+
* `metadataBase`, so Next resolves nothing for us either.
|
|
221
|
+
*
|
|
222
|
+
* With no origin a relative value returns **undefined** rather than a
|
|
223
|
+
* relative URL — the rule the canonical and the RSS feed already follow
|
|
224
|
+
* (AGL-1160/AGL-1272): never interpolate an unknown origin, and never emit a
|
|
225
|
+
* URL that is well-formed but wrong. An absolute value is unaffected, so the
|
|
226
|
+
* author-typed external URL and the raw storage URL never depend on knowing
|
|
227
|
+
* the origin at all.
|
|
228
|
+
*
|
|
229
|
+
* A protocol-relative `//host/x.png` only lacks a scheme; it is given `https:`
|
|
230
|
+
* rather than an origin, which would corrupt it.
|
|
231
|
+
*/
|
|
232
|
+
export declare function absoluteMediaSrc(value: string | undefined | null, options?: ResolveMediaSrcOptions & {
|
|
233
|
+
origin?: string | null;
|
|
234
|
+
}): string | undefined;
|
|
235
|
+
/**
|
|
236
|
+
* Whether a resolved URL is served by our CDN, and therefore carries the
|
|
237
|
+
* generated WebP variants selected by `?w=`. Widths without a variant fall
|
|
238
|
+
* back to the original server-side, so a static srcSet is safe for any
|
|
239
|
+
* CDN-form URL — including the legacy stored paths, which is why this asks
|
|
240
|
+
* about the RESOLVED url rather than about the stored value.
|
|
241
|
+
*/
|
|
242
|
+
export declare function isMediaCdnUrl(url: string | undefined | null): boolean;
|
|
243
|
+
/**
|
|
244
|
+
* One resolved URL at a chosen variant width (AGL-2741).
|
|
245
|
+
*
|
|
246
|
+
* `image.tsx` hands the browser the whole candidate list and lets it choose,
|
|
247
|
+
* which is right for an `<img>` and impossible everywhere else: a
|
|
248
|
+
* `<video poster>` attribute takes ONE url and no `srcset`, and so does a
|
|
249
|
+
* `thumbnailUrl` in structured data. Those callers still want the WebP variant
|
|
250
|
+
* rather than the 335 KB PNG original, and they have to name the width
|
|
251
|
+
* themselves.
|
|
252
|
+
*
|
|
253
|
+
* The width is only appended when the resolved url is a CDN one. A hotlinked
|
|
254
|
+
* image has no variants and no handler behind it, so a `?w=` there would be a
|
|
255
|
+
* query string on somebody else's server; a width the asset has no variant for
|
|
256
|
+
* falls back to the original server-side, so this is safe on any CDN-form url
|
|
257
|
+
* and on an asset whose variants were never generated.
|
|
258
|
+
*
|
|
259
|
+
* Shared rather than restated at each call site because a poster attribute and
|
|
260
|
+
* the `thumbnailUrl` describing it must name the SAME bytes — two spellings of
|
|
261
|
+
* "resolve the poster" is how those drift apart.
|
|
262
|
+
*
|
|
263
|
+
* The width MERGES into a query the url already carries (AGL-2958). A film's
|
|
264
|
+
* captured frame is `?poster=1` on the film's own url and a signed private
|
|
265
|
+
* asset carries `exp`/`sig`, and both are values an image or poster field can
|
|
266
|
+
* hold. A bare `?w=` append turns the first into `?poster=1?w=640`, which the
|
|
267
|
+
* CDN reads as a `poster` of `1?w=640` — not a request for the still, and no
|
|
268
|
+
* width either — so it answers with the master film. `image.tsx` builds every
|
|
269
|
+
* `srcSet` candidate through here for the same reason.
|
|
270
|
+
*/
|
|
271
|
+
export declare function mediaVariantSrc(value: unknown, options: ResolveMediaSrcOptions & {
|
|
272
|
+
width: number;
|
|
273
|
+
}): string | undefined;
|
|
274
|
+
/**
|
|
275
|
+
* The whole candidate list for an `<img>`: every width in
|
|
276
|
+
* {@link MEDIA_CDN_VARIANT_WIDTHS} as a `?w=` url, or `undefined` for a url
|
|
277
|
+
* that is not ours and therefore has no variants to offer.
|
|
278
|
+
*
|
|
279
|
+
* Takes the RESOLVED url, like {@link isMediaCdnUrl} and for the same reason:
|
|
280
|
+
* a `media:` reference and a legacy stored path both keep their WebP variants,
|
|
281
|
+
* while a hotlinked image gets nothing rather than a `?w=` on somebody else's
|
|
282
|
+
* server. Each candidate goes through {@link mediaVariantSrc} so the width
|
|
283
|
+
* MERGES into a query the url already carries (AGL-2958) instead of being
|
|
284
|
+
* appended after one.
|
|
285
|
+
*
|
|
286
|
+
* Shared rather than restated because three surfaces render a library image —
|
|
287
|
+
* the Image element, a Markdown body and a collection entry's body — and the
|
|
288
|
+
* two body renderers shipped with no `srcSet` at all for exactly as long as
|
|
289
|
+
* this list lived inside `image.tsx` (AGL-3149). A fourth copy is how the
|
|
290
|
+
* next one drifts.
|
|
291
|
+
*
|
|
292
|
+
* ⚠️ `srcSet` alone is not a delivery-only change. With `w` descriptors the
|
|
293
|
+
* browser derives the image's density-corrected intrinsic size from `sizes`,
|
|
294
|
+
* so an `<img>` carrying this list and no intrinsic `width`/`height` pair
|
|
295
|
+
* renders at `sizes` rather than at its own size — measured, a 320px asset in
|
|
296
|
+
* a 712px column jumped to 668px. Hand it the pair, or hand it an explicit CSS
|
|
297
|
+
* width, but do not hand it this list alone.
|
|
298
|
+
*/
|
|
299
|
+
export declare function mediaCdnSrcSet(src: string | undefined | null): string | undefined;
|
|
300
|
+
/**
|
|
301
|
+
* Every sizing attribute an image inside authored PROSE should carry, given
|
|
302
|
+
* what the composition could learn about the asset (AGL-3149).
|
|
303
|
+
*
|
|
304
|
+
* A body image differs from an Image element in the one way that matters here:
|
|
305
|
+
* nobody sets its CSS width. It is laid out by `max-width: 100%` and its own
|
|
306
|
+
* intrinsic size, so the attributes below are what decide both its box and its
|
|
307
|
+
* bytes, and they only work as a set:
|
|
308
|
+
*
|
|
309
|
+
* - `width`/`height` map to presentational-hint CSS `width`, which
|
|
310
|
+
* `max-width: 100%` then caps — so the rendered width is
|
|
311
|
+
* `min(natural, column)`. That is the growth the issue asked for, and it is
|
|
312
|
+
* also what stops `sizes` deciding the size (see {@link mediaCdnSrcSet}).
|
|
313
|
+
* The renderer MUST pair them with `height: auto`, or the height hint
|
|
314
|
+
* survives the width cap and the picture is squashed.
|
|
315
|
+
* - `sizes` is then only a delivery hint, and it is derived from the pair
|
|
316
|
+
* rather than from the column: an image narrower than the column renders at
|
|
317
|
+
* its own width, so describing the column would fetch a candidate several
|
|
318
|
+
* times larger than the slot. Measured, a 320px asset under a fixed
|
|
319
|
+
* `sizes="712px"` fetched `?w=1280`; under its own width it fetches `?w=320`.
|
|
320
|
+
*
|
|
321
|
+
* WITHOUT a pair this returns the resolved `src` and NOTHING else — today's
|
|
322
|
+
* markup exactly. That is deliberate: `srcSet` without the pair would upscale
|
|
323
|
+
* every image narrower than the column, so an asset the facts read cannot
|
|
324
|
+
* answer for (a hotlink, an SVG the upload could not measure, one past the
|
|
325
|
+
* composition's cap) must come out unchanged rather than half-improved.
|
|
326
|
+
*/
|
|
327
|
+
export declare function mediaBodyImageAttributes(options: {
|
|
328
|
+
/** The target as the body wrote it: a `media:` reference or a plain url. */
|
|
329
|
+
src: unknown;
|
|
330
|
+
hostId?: string;
|
|
331
|
+
/** The asset's pixel pair, when the composition could read one. */
|
|
332
|
+
size?: {
|
|
333
|
+
width: number;
|
|
334
|
+
height: number;
|
|
335
|
+
} | undefined;
|
|
336
|
+
}): {
|
|
337
|
+
src: string | undefined;
|
|
338
|
+
srcSet?: string;
|
|
339
|
+
sizes?: string;
|
|
340
|
+
width?: number;
|
|
341
|
+
height?: number;
|
|
342
|
+
};
|
|
343
|
+
export declare function isFirstPartyHost(hostname: string): boolean;
|
|
344
|
+
/**
|
|
345
|
+
* Whether a stored image `src` names media WE serve (AGL-1701).
|
|
346
|
+
*
|
|
347
|
+
* The predicate an authoring surface validates against when the person
|
|
348
|
+
* supplying the value is not the person who will render it. A marketplace
|
|
349
|
+
* publisher types a listing logo; every OTHER org's users load it. An `<img>`
|
|
350
|
+
* on a host the publisher controls is a beacon — it discloses each viewer's
|
|
351
|
+
* IP, user-agent and a `Referer` naming the console and the org, on every
|
|
352
|
+
* render, to a recipient who appears on no subprocessor register. That is a
|
|
353
|
+
* disclosure question, and the answer is not to name the host in a policy;
|
|
354
|
+
* it is to stop accepting the host.
|
|
355
|
+
*
|
|
356
|
+
* Three accepted forms, in descending order of how much we like them:
|
|
357
|
+
*
|
|
358
|
+
* 1. a `media:` reference — names the asset, survives a move or a replace;
|
|
359
|
+
* 2. a root-relative path under {@link MEDIA_CDN_ROUTE} — same-origin, so
|
|
360
|
+
* `img-src 'self'` covers it with no allowlist entry at all;
|
|
361
|
+
* 3. an absolute `https:` URL on a first-party host. Two sub-cases, and both
|
|
362
|
+
* are what the DAM picker actually emits today: `mediaSrc` prefixes
|
|
363
|
+
* `window.location.origin` onto `cdnPath` because a listing renders
|
|
364
|
+
* somewhere other than the console, and it falls back to the raw storage
|
|
365
|
+
* download URL when the org has no CDN entitlement.
|
|
366
|
+
*
|
|
367
|
+
* `http:` is refused in every form, and so is protocol-relative `//host` —
|
|
368
|
+
* which `new URL` would resolve against a base we do not have here, and which
|
|
369
|
+
* on a page is simply the same egress with the scheme borrowed.
|
|
370
|
+
*
|
|
371
|
+
* KNOWN GAP, stated rather than papered over: an org with a white-label
|
|
372
|
+
* `customConsoleDomain` would have `mediaSrc` emit that domain, which this
|
|
373
|
+
* refuses. Inert today — AGL-743 leaves the claim `pending` and nothing
|
|
374
|
+
* routes on it — and the fix when it does route is to resolve the claim here,
|
|
375
|
+
* not to widen the apex list.
|
|
376
|
+
*/
|
|
377
|
+
export declare function isFirstPartyMediaSrc(value: unknown): value is string;
|
|
378
|
+
/**
|
|
379
|
+
* Reads a reference back out of a CDN path — how the picker mints one from
|
|
380
|
+
* the `cdnPath` the server already wrote on the media doc, so nothing new
|
|
381
|
+
* has to be plumbed through the media APIs.
|
|
382
|
+
*
|
|
383
|
+
* A content-hashed path (`…/{mediaId}/{hash}`) yields the reference for the
|
|
384
|
+
* asset it names, and the hash is discarded: a reference names the ASSET, so
|
|
385
|
+
* that a replace reaches it (AGL-2798).
|
|
386
|
+
*/
|
|
387
|
+
export declare function mediaRefFromCdnPath(cdnPath: string | undefined | null): string | undefined;
|
|
388
|
+
/**
|
|
389
|
+
* Matches every stored reference to ONE asset, whatever scope form it
|
|
390
|
+
* carries — host library, bare org, or host-qualified org.
|
|
391
|
+
*
|
|
392
|
+
* The where-used scan (AGL-833/AGL-1045) answers "what breaks if I move,
|
|
393
|
+
* restrict or delete this?" by looking for the asset's URL inside serialized
|
|
394
|
+
* documents. A reference contains neither the storage URL nor the CDN path,
|
|
395
|
+
* so without this it would report an asset as used nowhere — and the scope
|
|
396
|
+
* confirmation that quotes those results would tell an author it is safe to
|
|
397
|
+
* restrict an asset that is on a live page. Enumerating the org's hosts to
|
|
398
|
+
* build one needle per site would work and would silently under-report the
|
|
399
|
+
* moment a scan skipped a host; one pattern cannot.
|
|
400
|
+
*
|
|
401
|
+
* Deliberately not anchored to a quote: it must find a reference wherever it
|
|
402
|
+
* was serialized. The trailing guard stops `med1` matching `med12`.
|
|
403
|
+
*
|
|
404
|
+
* It matches a PINNED reference too (AGL-2685) and must keep doing so: `@` is
|
|
405
|
+
* outside `[A-Za-z0-9_-]`, so `media:h/med1@abc` satisfies the trailing guard
|
|
406
|
+
* on its own. Had it not, the where-used scan would have started reporting
|
|
407
|
+
* live assets as used nowhere the day pins shipped — a scan whose every error
|
|
408
|
+
* already points at "safe to delete".
|
|
409
|
+
*
|
|
410
|
+
* It matches the same asset spelled as a CDN PATH as well (AGL-2969), in the
|
|
411
|
+
* same scope forms. The scan's needles include the document's own `cdnPath`,
|
|
412
|
+
* but that is the bare org form, and two writers store the path with the site
|
|
413
|
+
* in its scope: a plugin page's picker, for an asset shared with one site
|
|
414
|
+
* (`hostQualifiedCdnPath`), and an entry cover filled from a film's frame
|
|
415
|
+
* (`mediaPosterSrc`, qualified for every org film). A query, a content-hash
|
|
416
|
+
* segment and an origin in front all leave the match intact, and the same
|
|
417
|
+
* trailing guard applies.
|
|
418
|
+
*/
|
|
419
|
+
export declare function mediaRefPattern(mediaId: string): RegExp;
|
|
420
|
+
/**
|
|
421
|
+
* What the media picker writes into a node prop.
|
|
422
|
+
*
|
|
423
|
+
* The reference is derived from `cdnPath`, and that is load-bearing rather
|
|
424
|
+
* than convenient: `cdnPath` is only minted for orgs entitled to `mediaCdn`
|
|
425
|
+
* and is deleted for private assets (`mediaCdnPathUpdate`). Since the CDN
|
|
426
|
+
* handler itself checks neither, minting a reference from an id we happen to
|
|
427
|
+
* know would hand every free-tier org paid delivery. Deriving it means the
|
|
428
|
+
* entitlement gate keeps working with no second copy of the rule — and a
|
|
429
|
+
* free-tier org degrades to the raw storage URL, which is exactly what it
|
|
430
|
+
* got before the CDN-path pass.
|
|
431
|
+
*
|
|
432
|
+
* `media.cdnPath` is expected to be already host-qualified by the picker
|
|
433
|
+
* dialog (AGL-1043). That qualification is preserved in the stored scope so
|
|
434
|
+
* the besigner canvas, which has no site context, can still fetch a
|
|
435
|
+
* restricted asset; {@link resolveMediaSrc} overrides it wherever the real
|
|
436
|
+
* rendering host IS known.
|
|
437
|
+
*
|
|
438
|
+
* No content pin is written, even when `media.contentHash` is present
|
|
439
|
+
* (AGL-2798). A pin changes no URL a reference renders, so writing one would
|
|
440
|
+
* put a value into the document that nothing reads, and hand the next reader
|
|
441
|
+
* a reason to turn it back into the year-long URL no replace can reach. The
|
|
442
|
+
* field stays in the accepted shape because callers hand over the whole media
|
|
443
|
+
* document.
|
|
444
|
+
*/
|
|
445
|
+
export declare function mediaNodeSrc(media: {
|
|
446
|
+
url?: string | null;
|
|
447
|
+
cdnPath?: string | null;
|
|
448
|
+
contentHash?: string | null;
|
|
449
|
+
}): string | undefined;
|
|
450
|
+
/**
|
|
451
|
+
* The derived objects a VIDEO asset carries, and how a caller asks for one
|
|
452
|
+
* (AGL-2742 / AGL-2743).
|
|
453
|
+
*
|
|
454
|
+
* ## Why these are query parameters on the asset's own URL
|
|
455
|
+
*
|
|
456
|
+
* The alternative was a second media document — a poster with its own id,
|
|
457
|
+
* pointed at from the video's. It was refused for the reason the whole
|
|
458
|
+
* `media:` scheme exists: a reference names an ASSET so that replacing its
|
|
459
|
+
* bytes propagates everywhere without re-linking. Two documents are two
|
|
460
|
+
* lifecycles that can diverge, and the first replace of a video would leave
|
|
461
|
+
* the old poster live under an id no reader knows is stale. One id, one
|
|
462
|
+
* delete, one replace — and a DAM grid that shows the film rather than the
|
|
463
|
+
* film plus a mystery still.
|
|
464
|
+
*
|
|
465
|
+
* The parameters mirror `?w=`, which has selected a derived object since
|
|
466
|
+
* AGL-175. Nothing about the reference itself changes: the same stored
|
|
467
|
+
* `media:{scope}/{id}` yields the master, the poster and every rendition,
|
|
468
|
+
* because which representation you want is a rendering decision and the
|
|
469
|
+
* document records only which asset.
|
|
470
|
+
*/
|
|
471
|
+
export declare const MEDIA_CDN_POSTER_PARAM = "poster";
|
|
472
|
+
/** Selects a video rendition by key. See {@link isMediaRenditionKey}. */
|
|
473
|
+
export declare const MEDIA_CDN_RENDITION_PARAM = "r";
|
|
474
|
+
/**
|
|
475
|
+
* The `?r=` value meaning "the best delivery copy you have" (AGL-2753).
|
|
476
|
+
*
|
|
477
|
+
* A key names ONE encoding, which a caller can only ask for if it knows the
|
|
478
|
+
* asset has it. Nothing that renders a page knows that: renditions are
|
|
479
|
+
* produced out of band by `tools/scripts/generate-video-renditions.mjs`,
|
|
480
|
+
* minutes or days after the upload, and a published page is cached HTML that
|
|
481
|
+
* neither regenerates when an encoding lands nor varies on a visitor's
|
|
482
|
+
* `Accept`. So a placement made today can never name a rendition made
|
|
483
|
+
* tomorrow, and the encodings would be produced and never served.
|
|
484
|
+
*
|
|
485
|
+
* This sentinel moves the choice to the one place that already holds the
|
|
486
|
+
* document: `serveMediaCdn` reads it on every asset request anyway. The page
|
|
487
|
+
* emits one URL that says what it WANTS rather than what exists, and an asset
|
|
488
|
+
* with no renditions answers it with the master — the same degradation an
|
|
489
|
+
* unknown `?r=` has always had, reached deliberately instead of by accident.
|
|
490
|
+
*
|
|
491
|
+
* ⚠️ Sentinel and key share a namespace, so {@link parseMediaRendition}
|
|
492
|
+
* refuses a stored entry keyed `auto`. Without that refusal a producer could
|
|
493
|
+
* mint one and make the sentinel unreachable — the negotiated form silently
|
|
494
|
+
* pinned to whichever encoding happened to claim the name.
|
|
495
|
+
*/
|
|
496
|
+
export declare const MEDIA_CDN_RENDITION_AUTO = "auto";
|
|
497
|
+
/**
|
|
498
|
+
* Object-path suffix for a video's poster still. The width variants sit
|
|
499
|
+
* under it as `{objectPath}__poster__w{n}.webp`, which is exactly what
|
|
500
|
+
* `generateMediaVariants` produces when handed `{objectPath}__poster` — the
|
|
501
|
+
* poster reuses the image variant generator whole rather than teaching it
|
|
502
|
+
* about video.
|
|
503
|
+
*/
|
|
504
|
+
export declare const MEDIA_POSTER_OBJECT_SUFFIX = "__poster";
|
|
505
|
+
/** Object-path prefix for a rendition: `{objectPath}__r{key}.{ext}`. */
|
|
506
|
+
export declare const MEDIA_RENDITION_OBJECT_PREFIX = "__r";
|
|
507
|
+
/** Whether a value may be used as a rendition key, minted or received. */
|
|
508
|
+
export declare function isMediaRenditionKey(value: unknown): value is string;
|
|
509
|
+
/**
|
|
510
|
+
* One encoded delivery copy of a video, as recorded on the media document.
|
|
511
|
+
*
|
|
512
|
+
* Richer than the image variants' bare `number[]`, and the difference is not
|
|
513
|
+
* incidental. An image variant is fully described by its width because every
|
|
514
|
+
* one of them is WebP at quality 80 — the width IS the identity. A rendition
|
|
515
|
+
* is a (resolution, container, codec) triple, and the whole point of having
|
|
516
|
+
* more than one is to offer a browser a choice between codecs at the SAME
|
|
517
|
+
* resolution. A `number[]` cannot express that, so the array carries the
|
|
518
|
+
* facts a `<source>` element needs instead of forcing the renderer to
|
|
519
|
+
* reconstruct them from a naming convention.
|
|
520
|
+
*/
|
|
521
|
+
export interface MediaVideoRendition {
|
|
522
|
+
/** Selector, unique per asset. Fits {@link isMediaRenditionKey}. */
|
|
523
|
+
key: string;
|
|
524
|
+
/** What the CDN serves it as, and what a `<source type>` should say. */
|
|
525
|
+
contentType: string;
|
|
526
|
+
/** Object-path extension, so the path is derivable from the doc alone. */
|
|
527
|
+
ext: string;
|
|
528
|
+
width: number;
|
|
529
|
+
height: number;
|
|
530
|
+
sizeBytes: number;
|
|
531
|
+
}
|
|
532
|
+
/**
|
|
533
|
+
* Read one stored rendition entry, or null.
|
|
534
|
+
*
|
|
535
|
+
* ⚠️ This is a SECURITY gate, not a convenience. `key` and `ext` are
|
|
536
|
+
* interpolated into a Cloud Storage object path by
|
|
537
|
+
* {@link mediaRenditionObjectPath}, and the media document they come from is
|
|
538
|
+
* writable by anyone with editor rights on the scope. An entry carrying
|
|
539
|
+
* `key: '../../../adminAudit-archive/x'` would otherwise walk straight out of
|
|
540
|
+
* the asset's prefix on an admin-SDK bucket read — the same class of hole
|
|
541
|
+
* `mediaStoragePathInScope` closes for `storagePath` (AGL-1881), reached by a
|
|
542
|
+
* different field.
|
|
543
|
+
*
|
|
544
|
+
* The two grammars admit no `/`, no `.` and no `..`, so a validated entry
|
|
545
|
+
* cannot leave the object it belongs to whatever the document says.
|
|
546
|
+
*/
|
|
547
|
+
export declare function parseMediaRendition(value: unknown): MediaVideoRendition | null;
|
|
548
|
+
/**
|
|
549
|
+
* Every VALID rendition on a document, in stored order.
|
|
550
|
+
*
|
|
551
|
+
* Order is the document's, and it is meaningful: a renderer emits one
|
|
552
|
+
* `<source>` per entry and a browser takes the FIRST it can decode, so the
|
|
553
|
+
* producer writes the most efficient codec first. Dropping an invalid entry
|
|
554
|
+
* rather than refusing the list keeps one malformed row from costing an asset
|
|
555
|
+
* every rendition it has.
|
|
556
|
+
*/
|
|
557
|
+
export declare function parseMediaRenditions(value: unknown): MediaVideoRendition[];
|
|
558
|
+
/** Storage object path of an asset's poster still. */
|
|
559
|
+
export declare function mediaPosterObjectPath(objectPath: string): string;
|
|
560
|
+
/**
|
|
561
|
+
* Storage object path of one rendition. The `.` before the extension is the
|
|
562
|
+
* only one in the suffix, so a path is unambiguous even when a key contains
|
|
563
|
+
* digits that look like a width.
|
|
564
|
+
*/
|
|
565
|
+
export declare function mediaRenditionObjectPath(objectPath: string, rendition: {
|
|
566
|
+
key: string;
|
|
567
|
+
ext: string;
|
|
568
|
+
}): string;
|
|
569
|
+
/**
|
|
570
|
+
* The poster URL for a stored media reference, or undefined when the value
|
|
571
|
+
* cannot have one.
|
|
572
|
+
*
|
|
573
|
+
* `width` narrows to a generated poster variant. An asset with no variant at
|
|
574
|
+
* that width still answers — `serveMediaCdn` falls back to the full poster,
|
|
575
|
+
* the same degradation `?w=` has always had — so a renderer may advertise
|
|
576
|
+
* the standard {@link MEDIA_CDN_VARIANT_WIDTHS} in a `srcSet` without
|
|
577
|
+
* consulting the document.
|
|
578
|
+
*
|
|
579
|
+
* ⚠️ Returning a URL is NOT a promise that a poster exists. Nothing here can
|
|
580
|
+
* read a media document, and a video uploaded before AGL-2742 — or by a
|
|
581
|
+
* browser that could not decode it — has none.
|
|
582
|
+
*
|
|
583
|
+
* That case answers **404**, deliberately and not as a gap: `serveMediaCdn`
|
|
584
|
+
* refuses a poster it does not have rather than falling back to the master,
|
|
585
|
+
* because answering a request for a 40 KB still with 60 MB of `video/mp4` is
|
|
586
|
+
* the exact cost this exists to remove. So a `<video poster>` built from this
|
|
587
|
+
* degrades to a `<video>` with no poster, which is what every video on the
|
|
588
|
+
* platform did before AGL-2742 — which is why this is allowed to answer
|
|
589
|
+
* without knowing. A caller putting the URL somewhere a 404 is NOT free (an
|
|
590
|
+
* `<img>`, an `og:image`) must read `poster` off the document first.
|
|
591
|
+
*/
|
|
592
|
+
export declare function mediaPosterSrc(value: string | undefined | null, options?: ResolveMediaSrcOptions & {
|
|
593
|
+
width?: number;
|
|
594
|
+
}): string | undefined;
|
|
595
|
+
/**
|
|
596
|
+
* The URL of one rendition. Undefined for a key that does not fit the
|
|
597
|
+
* grammar, so a malformed key never reaches a `<source src>` — an empty
|
|
598
|
+
* `src` makes a browser re-request the PAGE, which is a far more expensive
|
|
599
|
+
* mistake than a missing source element.
|
|
600
|
+
*/
|
|
601
|
+
export declare function mediaRenditionSrc(value: string | undefined | null, key: string, options?: ResolveMediaSrcOptions): string | undefined;
|
|
602
|
+
/**
|
|
603
|
+
* The URL a player should actually load for a video (AGL-2753).
|
|
604
|
+
*
|
|
605
|
+
* This is {@link resolveMediaSrc} plus one query parameter, and the parameter
|
|
606
|
+
* is the entire feature: it asks the CDN for the best delivery copy it has
|
|
607
|
+
* rather than naming one, so a rendition encoded LONG after the video was
|
|
608
|
+
* placed on a page reaches that page with no re-pick, no node backfill and no
|
|
609
|
+
* document read on the render path. See {@link MEDIA_CDN_RENDITION_AUTO} for
|
|
610
|
+
* why the choice has to live at the CDN.
|
|
611
|
+
*
|
|
612
|
+
* ⚠️ Unlike {@link mediaPosterSrc} this NEVER returns undefined for a value
|
|
613
|
+
* that resolved. A poster may legitimately have no URL — the element simply
|
|
614
|
+
* renders without one — but a video with no URL is a dead player, so anything
|
|
615
|
+
* this cannot improve is passed through exactly as `resolveMediaSrc` left it.
|
|
616
|
+
* An author-typed hotlink and a raw Storage URL therefore come back untouched:
|
|
617
|
+
* they are not this platform's objects and have no renditions to ask for.
|
|
618
|
+
*
|
|
619
|
+
* Safe on an asset that has none. `?r=` degrades to the master by design —
|
|
620
|
+
* "the same video in more bytes" — which is precisely what every video served
|
|
621
|
+
* before this existed, so a page that adopts this URL cannot regress.
|
|
622
|
+
*/
|
|
623
|
+
export declare function videoDeliverySrc(value: string | undefined | null, options?: ResolveMediaSrcOptions): string | undefined;
|
|
624
|
+
/**
|
|
625
|
+
* The still a Video element should show, from the two places one can come
|
|
626
|
+
* from (AGL-2749).
|
|
627
|
+
*
|
|
628
|
+
* A video placement has two candidate posters and they are not equal:
|
|
629
|
+
*
|
|
630
|
+
* 1. **The author's own**, a media reference or a URL in the element's
|
|
631
|
+
* `poster` field. It wins outright wherever it is set — an author who went
|
|
632
|
+
* and chose a frame meant that frame, and a generated one silently
|
|
633
|
+
* replacing it would make re-picking the SOURCE a destructive edit.
|
|
634
|
+
* 2. **The one the DAM generated at upload** ({@link mediaPosterSrc}), which
|
|
635
|
+
* is not a separate asset at all: it is `?poster=1` on the video's own
|
|
636
|
+
* reference.
|
|
637
|
+
*
|
|
638
|
+
* ⚠️ `generated` is REQUIRED for the second, and it is the whole reason this
|
|
639
|
+
* function exists rather than a `??` at each call site. `mediaPosterSrc`
|
|
640
|
+
* answers for any CDN-form reference and its own documentation says plainly
|
|
641
|
+
* that a URL is **not a promise a poster exists** — a video uploaded before
|
|
642
|
+
* AGL-2742, or one the uploader's browser could not decode, answers 404. That
|
|
643
|
+
* degrades harmlessly behind `<video poster>` and NOT harmlessly in an
|
|
644
|
+
* `<img>` (a broken image) or in a `thumbnailUrl` (a rich result pointing at
|
|
645
|
+
* nothing). So the caller has to have read `poster` off the media document —
|
|
646
|
+
* which the pick does, once, and carries on the node.
|
|
647
|
+
*
|
|
648
|
+
* `width` narrows both candidates to a variant, for the surfaces that take one
|
|
649
|
+
* url and no `srcset`. Omit it to get the full-size still, which is what an
|
|
650
|
+
* `<img>` wants as its `src` beside a `srcSet` of widths.
|
|
651
|
+
*/
|
|
652
|
+
export declare function videoPosterSrc(options: ResolveMediaSrcOptions & {
|
|
653
|
+
/** The element's own `poster` field — a reference, a URL, or nothing. */
|
|
654
|
+
poster?: unknown;
|
|
655
|
+
/** The element's `src`, which the generated poster derives from. */
|
|
656
|
+
src?: unknown;
|
|
657
|
+
/** Whether the media document records a generated poster. */
|
|
658
|
+
generated?: unknown;
|
|
659
|
+
/** Narrow to a variant width; omit for the full-size still. */
|
|
660
|
+
width?: number;
|
|
661
|
+
}): string | undefined;
|