@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,223 @@
|
|
|
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
|
+
* Dynamic plugin activation (AGL-417). Apps never import @aglyn/plugins-*;
|
|
18
|
+
* they hand this loader a GENERATED manifest of `() => import(...)` thunks
|
|
19
|
+
* (see tools/scripts/generate-plugin-manifests.mjs) and activate plugins at
|
|
20
|
+
* runtime from `org.enabledPlugins` (AGL-416). Loading is cached per
|
|
21
|
+
* entry+surface and registration per entry+surface+use, and `ensure` returns
|
|
22
|
+
* a stable promise per (ids, surfaces, use) so React `use()` can suspend on
|
|
23
|
+
* it during SSR — the canvas never renders before its components are
|
|
24
|
+
* registered (the blank-canvas invariant, AGL-52).
|
|
25
|
+
*/ // From the leaf module, not the API route registry that re-exports it: this
|
|
26
|
+
// loader is on every published page, and the registry is server-only.
|
|
27
|
+
import { setRegisteringPluginId } from "../app-utils/registering-plugin.js";
|
|
28
|
+
import { plugins } from "../aglyn.js";
|
|
29
|
+
/** Whether an earlier registration already covers this use context. */ function covers(done, use) {
|
|
30
|
+
if (!done) return false;
|
|
31
|
+
if (done.all) return true;
|
|
32
|
+
// An unbounded ask is never covered by a narrow one: the plugin was handed
|
|
33
|
+
// a list, so it registered a list.
|
|
34
|
+
if (!(use == null ? void 0 : use.componentIds)) return false;
|
|
35
|
+
return use.componentIds.every((id)=>done.componentIds.has(id));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A use context as a cache key.
|
|
39
|
+
*
|
|
40
|
+
* Absent is its own key, and a different one from an empty list: a surface
|
|
41
|
+
* that cannot say what it uses asks for everything, where one that places no
|
|
42
|
+
* component asks for nothing.
|
|
43
|
+
*/ function keyForUse(use) {
|
|
44
|
+
return (use == null ? void 0 : use.componentIds) ? `c:${[
|
|
45
|
+
...use.componentIds
|
|
46
|
+
].sort().join(',')}` : '*';
|
|
47
|
+
}
|
|
48
|
+
export function createPluginLoader(manifest) {
|
|
49
|
+
const loads = new Map();
|
|
50
|
+
const registered = new Map();
|
|
51
|
+
const bootstrapped = new Set();
|
|
52
|
+
const ensures = new Map();
|
|
53
|
+
const prefixToId = new Map();
|
|
54
|
+
for (const entry of manifest){
|
|
55
|
+
var _entry_apiPrefixes;
|
|
56
|
+
for (const prefix of (_entry_apiPrefixes = entry.apiPrefixes) != null ? _entry_apiPrefixes : [])prefixToId.set(prefix, entry.id);
|
|
57
|
+
}
|
|
58
|
+
/** The module `surface` registers from, loaded once per module. */ const loadOnce = (entry, surface)=>{
|
|
59
|
+
var _entry_loads;
|
|
60
|
+
const own = (_entry_loads = entry.loads) == null ? void 0 : _entry_loads[surface];
|
|
61
|
+
const key = own ? `${entry.id}:${surface}` : entry.id;
|
|
62
|
+
let promise = loads.get(key);
|
|
63
|
+
if (!promise) {
|
|
64
|
+
promise = own ? own() : entry.load();
|
|
65
|
+
loads.set(key, promise);
|
|
66
|
+
}
|
|
67
|
+
return promise;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Fetches what `surfaces` register from, and hands back the registration
|
|
71
|
+
* itself as a step to run later.
|
|
72
|
+
*
|
|
73
|
+
* The two are separated because registration is now AWAITED (AGL-3141): a
|
|
74
|
+
* plugin that imports the components the surface uses returns a promise,
|
|
75
|
+
* and a register fn that yields would otherwise overlap another plugin's —
|
|
76
|
+
* leaving `setRegisteringPluginId` naming the wrong owner for whatever the
|
|
77
|
+
* first one registers after it resumes. Loading still runs for every plugin
|
|
78
|
+
* at once, which is where the time is; only the registrations are ordered.
|
|
79
|
+
*/ const prepare = async (entry, surfaces)=>{
|
|
80
|
+
const wanted = surfaces.filter((surface)=>entry.register[surface]);
|
|
81
|
+
if (!wanted.length) return async ()=>undefined;
|
|
82
|
+
// Dev-mode load metrics (AGL-436): slow plugins show up in the
|
|
83
|
+
// console instead of hiding inside the gate's total.
|
|
84
|
+
const startedAt = Date.now();
|
|
85
|
+
const modules = await Promise.all(wanted.map((surface)=>loadOnce(entry, surface)));
|
|
86
|
+
const loadMs = Date.now() - startedAt;
|
|
87
|
+
return async (use)=>{
|
|
88
|
+
for (const [index, surface] of wanted.entries()){
|
|
89
|
+
var _ref, _ref1;
|
|
90
|
+
const mod = modules[index];
|
|
91
|
+
const key = `${entry.id}:${surface}`;
|
|
92
|
+
const done = registered.get(key);
|
|
93
|
+
if (covers(done, use)) continue;
|
|
94
|
+
registered.set(key, {
|
|
95
|
+
all: (done == null ? void 0 : done.all) || !(use == null ? void 0 : use.componentIds),
|
|
96
|
+
componentIds: new Set([
|
|
97
|
+
...(_ref = done == null ? void 0 : done.componentIds) != null ? _ref : [],
|
|
98
|
+
...(_ref1 = use == null ? void 0 : use.componentIds) != null ? _ref1 : []
|
|
99
|
+
])
|
|
100
|
+
});
|
|
101
|
+
const fnName = entry.register[surface];
|
|
102
|
+
const fn = mod[fnName];
|
|
103
|
+
if (typeof fn !== 'function') {
|
|
104
|
+
// A manifest/plugin drift bug — surface loudly, don't crash the app.
|
|
105
|
+
console.error(`plugin ${entry.id}: missing register fn ${fnName}`);
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
// Mark ownership while the register fn runs so registerPluginApiRoute
|
|
109
|
+
// records exact path→plugin attribution for the per-org gate.
|
|
110
|
+
setRegisteringPluginId(entry.id);
|
|
111
|
+
try {
|
|
112
|
+
await fn(use);
|
|
113
|
+
} finally{
|
|
114
|
+
setRegisteringPluginId(undefined);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
118
|
+
console.debug(`[plugin-loader] ${entry.id} [${wanted.join(',')}] ` + `load ${loadMs}ms, total ${Date.now() - startedAt}ms`);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Bootstrap phase (AGL-429, Strapi register→bootstrap parity): after
|
|
124
|
+
* EVERY plugin in an ensure batch has registered a surface, each loaded
|
|
125
|
+
* module's optional `bootstrap<Surface>()` export runs (manifest order,
|
|
126
|
+
* once per plugin+surface) — the sanctioned place for cross-plugin
|
|
127
|
+
* wiring, because by then the other plugins' registrations are in the
|
|
128
|
+
* registries. Plugins loaded by a LATER ensure bootstrap in that batch;
|
|
129
|
+
* wiring must therefore tolerate registrations that arrive afterwards
|
|
130
|
+
* (prefer lazy list*() reads over captured snapshots).
|
|
131
|
+
*/ const bootstrap = async (targets, surfaces)=>{
|
|
132
|
+
for (const entry of targets){
|
|
133
|
+
const wanted = surfaces.filter((surface)=>entry.register[surface]);
|
|
134
|
+
if (!wanted.length) continue;
|
|
135
|
+
for (const surface of wanted){
|
|
136
|
+
const mod = await loadOnce(entry, surface);
|
|
137
|
+
const key = `${entry.id}:${surface}`;
|
|
138
|
+
if (bootstrapped.has(key)) continue;
|
|
139
|
+
bootstrapped.add(key);
|
|
140
|
+
const fnName = `bootstrap${surface[0].toUpperCase()}${surface.slice(1)}`;
|
|
141
|
+
const fn = mod[fnName];
|
|
142
|
+
if (typeof fn !== 'function') continue;
|
|
143
|
+
setRegisteringPluginId(entry.id);
|
|
144
|
+
try {
|
|
145
|
+
;
|
|
146
|
+
fn();
|
|
147
|
+
} catch (error) {
|
|
148
|
+
// A broken bootstrap must not take the surface down.
|
|
149
|
+
console.error(`plugin ${entry.id}: ${fnName} failed`, error);
|
|
150
|
+
} finally{
|
|
151
|
+
setRegisteringPluginId(undefined);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* After a batch settles, any target still WAITING is stuck: a dependency it
|
|
158
|
+
* declared was never activated, so its register fn never ran and its
|
|
159
|
+
* besigner category is empty (AGL-759). Before the reverse-dependency fix
|
|
160
|
+
* this was silent — say so now, naming the bundle and what it waited on, so
|
|
161
|
+
* the failure is a console line rather than a mysteriously empty drawer.
|
|
162
|
+
*/ const warnStuck = (targets)=>{
|
|
163
|
+
const targetIds = new Set(targets.map((entry)=>entry.id));
|
|
164
|
+
for (const { id, waitingOn } of plugins.getStuckDependencies()){
|
|
165
|
+
if (!targetIds.has(id)) continue;
|
|
166
|
+
console.warn(`[plugin-loader] ${id} is stuck WAITING on ` + `${waitingOn.join(', ') || 'an unregistered dependency'} — its ` + 'components never registered, so its besigner category will be ' + 'empty. Check that the dependency is in the manifest and activated ' + '(AGL-759).');
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
const ensure = (ids, surfaces, use)=>{
|
|
170
|
+
// The use context is part of the key, not just of the bookkeeping: a
|
|
171
|
+
// second page that places components the first did not must get its own
|
|
172
|
+
// run, or it would be handed the first page's settled promise and render
|
|
173
|
+
// its extra elements against nothing (AGL-52).
|
|
174
|
+
const key = `${[
|
|
175
|
+
...ids
|
|
176
|
+
].sort().join(',')}|${[
|
|
177
|
+
...surfaces
|
|
178
|
+
].sort().join(',')}` + `|${keyForUse(use)}`;
|
|
179
|
+
let promise = ensures.get(key);
|
|
180
|
+
if (!promise) {
|
|
181
|
+
const targets = manifest.filter((entry)=>entry.alwaysOn || ids.includes(entry.id));
|
|
182
|
+
const run = async ()=>{
|
|
183
|
+
const steps = await Promise.all(targets.map((entry)=>prepare(entry, surfaces)));
|
|
184
|
+
for (const step of steps)await step(use);
|
|
185
|
+
await bootstrap(targets, surfaces);
|
|
186
|
+
warnStuck(targets);
|
|
187
|
+
};
|
|
188
|
+
promise = run();
|
|
189
|
+
// Stamp React's thenable contract (`status`/`value`/`reason`) onto the
|
|
190
|
+
// cached promise once it settles (AGL-1541). `use()` can only unwrap a
|
|
191
|
+
// thenable SYNCHRONOUSLY when it carries a status; a bare native
|
|
192
|
+
// promise — even a resolved one — suspends every first `use()` per
|
|
193
|
+
// render. On the server that suspension pushed the ENTIRE page out of
|
|
194
|
+
// the streamed shell into a late Suspense segment whose reveal and
|
|
195
|
+
// hydration retry both ride on `requestAnimationFrame`, which never
|
|
196
|
+
// fires in hidden/occluded/prerendered tabs — pages that never
|
|
197
|
+
// hydrate, analytics that never fire. With the stamp, any render after
|
|
198
|
+
// the first settle (every warm request; every client render after the
|
|
199
|
+
// chunks load) unwraps inline and never enters that path.
|
|
200
|
+
const tracked = promise;
|
|
201
|
+
tracked.then(()=>{
|
|
202
|
+
tracked.status = 'fulfilled';
|
|
203
|
+
tracked.value = undefined;
|
|
204
|
+
}, (reason)=>{
|
|
205
|
+
tracked.status = 'rejected';
|
|
206
|
+
tracked.reason = reason;
|
|
207
|
+
});
|
|
208
|
+
ensures.set(key, promise);
|
|
209
|
+
}
|
|
210
|
+
return promise;
|
|
211
|
+
};
|
|
212
|
+
return {
|
|
213
|
+
ensure,
|
|
214
|
+
ensureAll: (surfaces)=>ensure(manifest.map((entry)=>entry.id), surfaces),
|
|
215
|
+
pluginIdForApiPath: (path)=>{
|
|
216
|
+
var _path_replace_split_;
|
|
217
|
+
const prefix = (_path_replace_split_ = path.replace(/^\/+/, '').split('/')[0]) != null ? _path_replace_split_ : '';
|
|
218
|
+
return prefixToId.get(prefix);
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
//# sourceMappingURL=plugin-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../libs/aglyn/src/lib/plugin-manager/plugin-loader.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Dynamic plugin activation (AGL-417). Apps never import @aglyn/plugins-*;\n * they hand this loader a GENERATED manifest of `() => import(...)` thunks\n * (see tools/scripts/generate-plugin-manifests.mjs) and activate plugins at\n * runtime from `org.enabledPlugins` (AGL-416). Loading is cached per\n * entry+surface and registration per entry+surface+use, and `ensure` returns\n * a stable promise per (ids, surfaces, use) so React `use()` can suspend on\n * it during SSR — the canvas never renders before its components are\n * registered (the blank-canvas invariant, AGL-52).\n */\n\nexport interface PluginLoadEntry {\n /** Stable plugin id — matches FIRST_PARTY_PLUGINS / org.enabledPlugins. */\n id: string\n /** Loaded regardless of the org switchboard (base components). */\n alwaysOn?: boolean\n /** `/api/<prefix>/...` paths this plugin's handlers own (server gate). */\n apiPrefixes?: string[]\n /** surface → exported register-fn name on the loaded module. */\n register: Partial<Record<string, string>>\n load: () => Promise<Record<string, unknown>>\n /**\n * The module a surface loads from, when it is not `load`'s (AGL-3116).\n *\n * A package entry imported with `import()` is a namespace the loader reads\n * by name, so the bundler keeps every export it has: a site surface loaded\n * from the package root carried the console registrar, its nav objects and\n * its lazy pages onto every published page that used the plugin. A surface\n * with a module of its own carries only what that module exports.\n */\n loads?: Partial<Record<string, () => Promise<Record<string, unknown>>>>\n /**\n * What this plugin declares it contributes, and where (AGL-3142).\n *\n * The loader never reads it: `ensure` is told which plugins to activate and\n * activates them. It rides on the entry because the manifest is the one list\n * of plugins an app holds, and an app that loads by presence has to answer\n * \"which of these belongs on this screen\" before it names any ids — from\n * data, not by running a plugin, which is the cost being avoided.\n *\n * Written into a manifest whose app reads it and left off the others: the\n * published page decides presence from the nodes it places, so the tenant\n * manifest would carry a declaration nothing there consults.\n */\n contributes?: PluginContributions\n}\n\nexport type PluginLoadManifest = readonly PluginLoadEntry[]\n\nexport interface PluginLoader {\n /**\n * Loads + registers the given plugins' surfaces. `ids` may include unknown\n * ids (marketplace realm plugins — ignored here); manifest entries marked\n * alwaysOn activate regardless of `ids`.\n *\n * `use` is what the surface actually uses (AGL-3141), carried unchanged to\n * every register function: the page computes it, the loader carries it, a\n * plugin reads it or ignores it. Omitting it asks for everything, which is\n * what a surface that cannot narrow must do.\n *\n * A surface registers once per plugin per use context. A second page that\n * places a component the first did not still reaches the plugin, so the\n * element it added has a component to render (AGL-52); one whose use is\n * already covered costs nothing.\n */\n ensure(\n ids: readonly string[],\n surfaces: readonly string[],\n use?: PluginUse,\n ): Promise<void>\n /** Every manifest plugin, for `ensureAll` semantics (server dispatchers). */\n ensureAll(surfaces: readonly string[]): Promise<void>\n /** The plugin owning an api path ('bookings/slots' → 'bookings'). */\n pluginIdForApiPath(path: string): string | undefined\n}\n\n/**\n * A register function as the loader calls it: handed the surface's use\n * context, and awaited, because a plugin that imports what the surface uses\n * returns a promise.\n */\ntype PluginRegisterFn = (use?: PluginUse) => void | Promise<void>\n\n/** What one plugin+surface has already registered for. */\ninterface RegisteredFor {\n /** It registered with no use context, so it registered all of itself. */\n all: boolean\n /** The component ids it has been handed so far. */\n componentIds: Set<string>\n}\n\n// From the leaf module, not the API route registry that re-exports it: this\n// loader is on every published page, and the registry is server-only.\nimport { setRegisteringPluginId } from '../app-utils/registering-plugin'\nimport type { PluginContributions, PluginUse } from './plugin-contributions'\nimport { plugins } from '../aglyn'\n\n/** Whether an earlier registration already covers this use context. */\nfunction covers(done: RegisteredFor | undefined, use?: PluginUse): boolean {\n if (!done) return false\n if (done.all) return true\n // An unbounded ask is never covered by a narrow one: the plugin was handed\n // a list, so it registered a list.\n if (!use?.componentIds) return false\n return use.componentIds.every((id) => done.componentIds.has(id))\n}\n\n/**\n * A use context as a cache key.\n *\n * Absent is its own key, and a different one from an empty list: a surface\n * that cannot say what it uses asks for everything, where one that places no\n * component asks for nothing.\n */\nfunction keyForUse(use?: PluginUse): string {\n return use?.componentIds ? `c:${[...use.componentIds].sort().join(',')}` : '*'\n}\n\nexport function createPluginLoader(manifest: PluginLoadManifest): PluginLoader {\n const loads = new Map<string, Promise<Record<string, unknown>>>()\n const registered = new Map<string, RegisteredFor>()\n const bootstrapped = new Set<string>()\n const ensures = new Map<string, Promise<void>>()\n const prefixToId = new Map<string, string>()\n for (const entry of manifest) {\n for (const prefix of entry.apiPrefixes ?? []) prefixToId.set(prefix, entry.id)\n }\n\n /** The module `surface` registers from, loaded once per module. */\n const loadOnce = (entry: PluginLoadEntry, surface: string) => {\n const own = entry.loads?.[surface]\n const key = own ? `${entry.id}:${surface}` : entry.id\n let promise = loads.get(key)\n if (!promise) {\n promise = own ? own() : entry.load()\n loads.set(key, promise)\n }\n return promise\n }\n\n /**\n * Fetches what `surfaces` register from, and hands back the registration\n * itself as a step to run later.\n *\n * The two are separated because registration is now AWAITED (AGL-3141): a\n * plugin that imports the components the surface uses returns a promise,\n * and a register fn that yields would otherwise overlap another plugin's —\n * leaving `setRegisteringPluginId` naming the wrong owner for whatever the\n * first one registers after it resumes. Loading still runs for every plugin\n * at once, which is where the time is; only the registrations are ordered.\n */\n const prepare = async (\n entry: PluginLoadEntry,\n surfaces: readonly string[],\n ): Promise<(use?: PluginUse) => Promise<void>> => {\n const wanted = surfaces.filter((surface) => entry.register[surface])\n if (!wanted.length) return async () => undefined\n // Dev-mode load metrics (AGL-436): slow plugins show up in the\n // console instead of hiding inside the gate's total.\n const startedAt = Date.now()\n const modules = await Promise.all(\n wanted.map((surface) => loadOnce(entry, surface)),\n )\n const loadMs = Date.now() - startedAt\n return async (use?: PluginUse) => {\n for (const [index, surface] of wanted.entries()) {\n const mod = modules[index]\n const key = `${entry.id}:${surface}`\n const done = registered.get(key)\n if (covers(done, use)) continue\n registered.set(key, {\n all: done?.all || !use?.componentIds,\n componentIds: new Set([\n ...(done?.componentIds ?? []),\n ...(use?.componentIds ?? []),\n ]),\n })\n const fnName = entry.register[surface] as string\n const fn = mod[fnName]\n if (typeof fn !== 'function') {\n // A manifest/plugin drift bug — surface loudly, don't crash the app.\n console.error(`plugin ${entry.id}: missing register fn ${fnName}`)\n continue\n }\n // Mark ownership while the register fn runs so registerPluginApiRoute\n // records exact path→plugin attribution for the per-org gate.\n setRegisteringPluginId(entry.id)\n try {\n await (fn as PluginRegisterFn)(use)\n } finally {\n setRegisteringPluginId(undefined)\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n console.debug(\n `[plugin-loader] ${entry.id} [${wanted.join(',')}] ` +\n `load ${loadMs}ms, total ${Date.now() - startedAt}ms`,\n )\n }\n }\n }\n\n /**\n * Bootstrap phase (AGL-429, Strapi register→bootstrap parity): after\n * EVERY plugin in an ensure batch has registered a surface, each loaded\n * module's optional `bootstrap<Surface>()` export runs (manifest order,\n * once per plugin+surface) — the sanctioned place for cross-plugin\n * wiring, because by then the other plugins' registrations are in the\n * registries. Plugins loaded by a LATER ensure bootstrap in that batch;\n * wiring must therefore tolerate registrations that arrive afterwards\n * (prefer lazy list*() reads over captured snapshots).\n */\n const bootstrap = async (\n targets: readonly PluginLoadEntry[],\n surfaces: readonly string[],\n ): Promise<void> => {\n for (const entry of targets) {\n const wanted = surfaces.filter((surface) => entry.register[surface])\n if (!wanted.length) continue\n for (const surface of wanted) {\n const mod = await loadOnce(entry, surface)\n const key = `${entry.id}:${surface}`\n if (bootstrapped.has(key)) continue\n bootstrapped.add(key)\n const fnName = `bootstrap${surface[0].toUpperCase()}${surface.slice(1)}`\n const fn = mod[fnName]\n if (typeof fn !== 'function') continue\n setRegisteringPluginId(entry.id)\n try {\n ;(fn as () => void)()\n } catch (error) {\n // A broken bootstrap must not take the surface down.\n console.error(`plugin ${entry.id}: ${fnName} failed`, error)\n } finally {\n setRegisteringPluginId(undefined)\n }\n }\n }\n }\n\n /**\n * After a batch settles, any target still WAITING is stuck: a dependency it\n * declared was never activated, so its register fn never ran and its\n * besigner category is empty (AGL-759). Before the reverse-dependency fix\n * this was silent — say so now, naming the bundle and what it waited on, so\n * the failure is a console line rather than a mysteriously empty drawer.\n */\n const warnStuck = (targets: readonly PluginLoadEntry[]): void => {\n const targetIds = new Set(targets.map((entry) => entry.id))\n for (const { id, waitingOn } of plugins.getStuckDependencies()) {\n if (!targetIds.has(id)) continue\n console.warn(\n `[plugin-loader] ${id} is stuck WAITING on ` +\n `${waitingOn.join(', ') || 'an unregistered dependency'} — its ` +\n 'components never registered, so its besigner category will be ' +\n 'empty. Check that the dependency is in the manifest and activated ' +\n '(AGL-759).',\n )\n }\n }\n\n const ensure = (\n ids: readonly string[],\n surfaces: readonly string[],\n use?: PluginUse,\n ): Promise<void> => {\n // The use context is part of the key, not just of the bookkeeping: a\n // second page that places components the first did not must get its own\n // run, or it would be handed the first page's settled promise and render\n // its extra elements against nothing (AGL-52).\n const key =\n `${[...ids].sort().join(',')}|${[...surfaces].sort().join(',')}` +\n `|${keyForUse(use)}`\n let promise = ensures.get(key)\n if (!promise) {\n const targets = manifest.filter(\n (entry) => entry.alwaysOn || ids.includes(entry.id),\n )\n const run = async (): Promise<void> => {\n const steps = await Promise.all(\n targets.map((entry) => prepare(entry, surfaces)),\n )\n for (const step of steps) await step(use)\n await bootstrap(targets, surfaces)\n warnStuck(targets)\n }\n promise = run()\n // Stamp React's thenable contract (`status`/`value`/`reason`) onto the\n // cached promise once it settles (AGL-1541). `use()` can only unwrap a\n // thenable SYNCHRONOUSLY when it carries a status; a bare native\n // promise — even a resolved one — suspends every first `use()` per\n // render. On the server that suspension pushed the ENTIRE page out of\n // the streamed shell into a late Suspense segment whose reveal and\n // hydration retry both ride on `requestAnimationFrame`, which never\n // fires in hidden/occluded/prerendered tabs — pages that never\n // hydrate, analytics that never fire. With the stamp, any render after\n // the first settle (every warm request; every client render after the\n // chunks load) unwraps inline and never enters that path.\n const tracked = promise as Promise<void> & {\n status?: 'fulfilled' | 'rejected'\n value?: void\n reason?: unknown\n }\n tracked.then(\n () => {\n tracked.status = 'fulfilled'\n tracked.value = undefined\n },\n (reason) => {\n tracked.status = 'rejected'\n tracked.reason = reason\n },\n )\n ensures.set(key, promise)\n }\n return promise\n }\n\n return {\n ensure,\n ensureAll: (surfaces) =>\n ensure(\n manifest.map((entry) => entry.id),\n surfaces,\n ),\n pluginIdForApiPath: (path) => {\n const prefix = path.replace(/^\\/+/, '').split('/')[0] ?? ''\n return prefixToId.get(prefix)\n },\n }\n}\n"],"names":["setRegisteringPluginId","plugins","covers","done","use","all","componentIds","every","id","has","keyForUse","sort","join","createPluginLoader","manifest","loads","Map","registered","bootstrapped","Set","ensures","prefixToId","entry","prefix","apiPrefixes","set","loadOnce","surface","own","key","promise","get","load","prepare","surfaces","wanted","filter","register","length","undefined","startedAt","Date","now","modules","Promise","map","loadMs","index","entries","mod","fnName","fn","console","error","process","env","NODE_ENV","debug","bootstrap","targets","add","toUpperCase","slice","warnStuck","targetIds","waitingOn","getStuckDependencies","warn","ensure","ids","alwaysOn","includes","run","steps","step","tracked","then","status","value","reason","ensureAll","pluginIdForApiPath","path","replace","split"],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
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
|
+
import type { MdiIconProps } from '../types/nodes';
|
|
18
|
+
import type { Aglyn } from '../aglyn';
|
|
19
|
+
export declare enum PluginStatus {
|
|
20
|
+
WAITING = "waiting",
|
|
21
|
+
LOADING = "loading",
|
|
22
|
+
LOADED = "loaded",
|
|
23
|
+
UNLOADING = "unloading"
|
|
24
|
+
}
|
|
25
|
+
import type { PluginId } from '../foundation';
|
|
26
|
+
export type { PluginId };
|
|
27
|
+
export type PluginStatusById = Record<PluginId, PluginStatus>;
|
|
28
|
+
export type PluginsById = Record<PluginId, Plugin>;
|
|
29
|
+
export type PluginDependencies = Record<PluginId, true>;
|
|
30
|
+
export type Dependents = Record<PluginId, true>;
|
|
31
|
+
export type PluginDependents = Record<PluginId, Dependents>;
|
|
32
|
+
export interface Plugin {
|
|
33
|
+
$id?: PluginId;
|
|
34
|
+
displayName?: string;
|
|
35
|
+
title?: string;
|
|
36
|
+
subtitle?: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
icon?: MdiIconProps;
|
|
39
|
+
dependencies?: PluginDependencies;
|
|
40
|
+
load?(...args: any[]): void;
|
|
41
|
+
destroy?(...args: any[]): void;
|
|
42
|
+
}
|
|
43
|
+
export declare class PluginManager {
|
|
44
|
+
protected aglyn?: Aglyn;
|
|
45
|
+
dependencies: PluginsById;
|
|
46
|
+
dependencyStatusById: PluginStatusById;
|
|
47
|
+
dependencyDependentsById: PluginDependents;
|
|
48
|
+
constructor(aglyn?: Aglyn);
|
|
49
|
+
getDependency(dependencyId: PluginId): Plugin | undefined;
|
|
50
|
+
getDependencyDependents(dependencyId: PluginId): Dependents | undefined;
|
|
51
|
+
getDependencyStatus(dependencyId: PluginId): PluginStatus | undefined;
|
|
52
|
+
hasDependency(dependencyId: PluginId): boolean;
|
|
53
|
+
isDependencyWaiting(dependencyId: PluginId): boolean;
|
|
54
|
+
isDependencyLoading(dependencyId: PluginId): boolean;
|
|
55
|
+
isDependencyLoaded(dependencyId: PluginId): boolean;
|
|
56
|
+
isDependencyUnloading(dependencyId: PluginId): boolean;
|
|
57
|
+
areAllDependenciesLoaded(dependentId: PluginId): boolean;
|
|
58
|
+
addDependency(dependency: Plugin): void;
|
|
59
|
+
addDependencies(dependencies?: Array<Plugin>): void;
|
|
60
|
+
destroyDependencies(): void;
|
|
61
|
+
removeDependency($id: PluginId): void;
|
|
62
|
+
loadDependency($id: PluginId): void;
|
|
63
|
+
unloadDependency($id: PluginId): void;
|
|
64
|
+
getDependencyCopy(dependencyId: PluginId): Readonly<Plugin> | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Every registered dependency still parked in WAITING, paired with the
|
|
67
|
+
* dependencies it is waiting on that have not loaded (AGL-759).
|
|
68
|
+
*
|
|
69
|
+
* A bundle lands here when a dependency it declared never reached LOADED.
|
|
70
|
+
* With the reverse-dependency edge fixed, a bundle that registers before
|
|
71
|
+
* its dependency is recovered as soon as the dependency finishes — so the
|
|
72
|
+
* only thing left in this list once a batch has settled is a bundle whose
|
|
73
|
+
* dependency was never activated at all (a manifest/enablement gap). That
|
|
74
|
+
* used to present as an empty besigner drawer with no error: the bundle's
|
|
75
|
+
* components simply never registered. Callers report this at a settle
|
|
76
|
+
* point (the plugin loader, after an `ensure`) so the gap says so instead.
|
|
77
|
+
*/
|
|
78
|
+
getStuckDependencies(): Array<{
|
|
79
|
+
id: PluginId;
|
|
80
|
+
waitingOn: PluginId[];
|
|
81
|
+
}>;
|
|
82
|
+
private handleSettingDependencyProperties;
|
|
83
|
+
private handleSettingDependencyDependents;
|
|
84
|
+
private handleRemovingDependencyDependents;
|
|
85
|
+
private handleRemovingDependencyProperties;
|
|
86
|
+
private handleLoadingDependencyDependents;
|
|
87
|
+
private handleLoadingDependency;
|
|
88
|
+
private handleUnloadingDependencyDependents;
|
|
89
|
+
private handleUnloadingDependency;
|
|
90
|
+
private handleAddingDependencyAndDependents;
|
|
91
|
+
private handleLoadingDependencyAndDependents;
|
|
92
|
+
private handleUnloadingDependencyAndDependents;
|
|
93
|
+
private handleRemovingDependencyAndDependents;
|
|
94
|
+
}
|
|
95
|
+
export default PluginManager;
|