@aglyn/aglyn 1.0.0-beta.220 → 1.0.0-beta.222
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +15 -11
- package/src/lib/app-utils/agent-openapi.js +1 -1
- package/src/lib/app-utils/agent-openapi.js.map +1 -1
- package/src/lib/app-utils/analytics-events.d.ts +3 -2
- package/src/lib/app-utils/analytics-events.js +3 -2
- package/src/lib/app-utils/analytics-events.js.map +1 -1
- package/src/lib/app-utils/api-plugins.d.ts +30 -0
- package/src/lib/app-utils/api-plugins.js +24 -1
- package/src/lib/app-utils/api-plugins.js.map +1 -1
- package/src/lib/app-utils/author-html.d.ts +1 -1
- package/src/lib/app-utils/author-html.js.map +1 -1
- package/src/lib/app-utils/bandwidth-cap.d.ts +12 -1
- package/src/lib/app-utils/bandwidth-cap.js +17 -1
- package/src/lib/app-utils/bandwidth-cap.js.map +1 -1
- package/src/lib/app-utils/compose-reusable-components.d.ts +19 -0
- package/src/lib/app-utils/compose-reusable-components.js +116 -26
- package/src/lib/app-utils/compose-reusable-components.js.map +1 -1
- package/src/lib/app-utils/console-routes.d.ts +4 -0
- package/src/lib/app-utils/console-routes.js +3 -0
- package/src/lib/app-utils/console-routes.js.map +1 -1
- package/src/lib/app-utils/contacts.d.ts +71 -0
- package/src/lib/app-utils/contacts.js +55 -0
- package/src/lib/app-utils/contacts.js.map +1 -1
- package/src/lib/app-utils/contexts.d.ts +1 -0
- package/src/lib/app-utils/contexts.js +1 -0
- package/src/lib/app-utils/contexts.js.map +1 -1
- package/src/lib/app-utils/crm-email-templates.js +21 -4
- package/src/lib/app-utils/crm-email-templates.js.map +1 -1
- package/src/lib/app-utils/crm-kinds.d.ts +2 -0
- package/src/lib/app-utils/crm-kinds.js +1 -0
- package/src/lib/app-utils/crm-kinds.js.map +1 -1
- package/src/lib/app-utils/crm.d.ts +1199 -67
- package/src/lib/app-utils/crm.js +1951 -310
- package/src/lib/app-utils/crm.js.map +1 -1
- package/src/lib/app-utils/csv-import.d.ts +10 -38
- package/src/lib/app-utils/csv-import.js +17 -42
- package/src/lib/app-utils/csv-import.js.map +1 -1
- package/src/lib/app-utils/csv.d.ts +32 -11
- package/src/lib/app-utils/csv.js +43 -5
- package/src/lib/app-utils/csv.js.map +1 -1
- package/src/lib/app-utils/default-site.d.ts +116 -0
- package/src/lib/app-utils/default-site.js +1024 -0
- package/src/lib/app-utils/default-site.js.map +1 -0
- package/src/lib/app-utils/docs-help.generated.d.ts +23 -23
- package/src/lib/app-utils/docs-help.generated.js +47 -10
- package/src/lib/app-utils/docs-help.generated.js.map +1 -1
- package/src/lib/app-utils/docs-index.generated.js +746 -151
- package/src/lib/app-utils/docs-index.generated.js.map +1 -1
- package/src/lib/app-utils/draft-placeholders.d.ts +76 -0
- package/src/lib/app-utils/draft-placeholders.js +115 -0
- package/src/lib/app-utils/draft-placeholders.js.map +1 -0
- package/src/lib/app-utils/entity-picker-context.d.ts +19 -15
- package/src/lib/app-utils/entity-picker-context.js +4 -4
- package/src/lib/app-utils/entity-picker-context.js.map +1 -1
- package/src/lib/app-utils/expand-repeatables.d.ts +66 -10
- package/src/lib/app-utils/expand-repeatables.js +88 -14
- package/src/lib/app-utils/expand-repeatables.js.map +1 -1
- package/src/lib/app-utils/forms.d.ts +33 -22
- package/src/lib/app-utils/forms.js +47 -28
- package/src/lib/app-utils/forms.js.map +1 -1
- package/src/lib/app-utils/full-use-cost.d.ts +277 -0
- package/src/lib/app-utils/full-use-cost.js +421 -0
- package/src/lib/app-utils/full-use-cost.js.map +1 -0
- package/src/lib/app-utils/health-report.js +33 -0
- package/src/lib/app-utils/health-report.js.map +1 -1
- package/src/lib/app-utils/leaving-notice.d.ts +96 -0
- package/src/lib/app-utils/leaving-notice.js +157 -0
- package/src/lib/app-utils/leaving-notice.js.map +1 -0
- package/src/lib/app-utils/llms-txt.d.ts +20 -0
- package/src/lib/app-utils/llms-txt.js +7 -1
- package/src/lib/app-utils/llms-txt.js.map +1 -1
- package/src/lib/app-utils/media-asset-facts.d.ts +16 -1
- package/src/lib/app-utils/media-asset-facts.js +40 -13
- package/src/lib/app-utils/media-asset-facts.js.map +1 -1
- package/src/lib/app-utils/media-bandwidth.d.ts +52 -0
- package/src/lib/app-utils/media-bandwidth.js +94 -0
- package/src/lib/app-utils/media-bandwidth.js.map +1 -0
- package/src/lib/app-utils/media-ref.d.ts +241 -33
- package/src/lib/app-utils/media-ref.js +324 -43
- package/src/lib/app-utils/media-ref.js.map +1 -1
- package/src/lib/app-utils/media-src.d.ts +8 -8
- package/src/lib/app-utils/media-src.js +27 -11
- package/src/lib/app-utils/media-src.js.map +1 -1
- package/src/lib/app-utils/media-takedown-reach.d.ts +4 -1
- package/src/lib/app-utils/media-takedown-reach.js +6 -3
- package/src/lib/app-utils/media-takedown-reach.js.map +1 -1
- package/src/lib/app-utils/notifications.d.ts +1 -1
- package/src/lib/app-utils/notifications.js +2 -0
- package/src/lib/app-utils/notifications.js.map +1 -1
- package/src/lib/app-utils/operator-alerts.js +17 -0
- package/src/lib/app-utils/operator-alerts.js.map +1 -1
- package/src/lib/app-utils/organizations.d.ts +51 -2
- package/src/lib/app-utils/organizations.js +56 -3
- package/src/lib/app-utils/organizations.js.map +1 -1
- package/src/lib/app-utils/page-record-sources.d.ts +87 -0
- package/src/lib/app-utils/page-record-sources.js +53 -0
- package/src/lib/app-utils/page-record-sources.js.map +1 -0
- package/src/lib/app-utils/paid-media-source.d.ts +3 -7
- package/src/lib/app-utils/paid-media-source.js +5 -19
- package/src/lib/app-utils/paid-media-source.js.map +1 -1
- package/src/lib/app-utils/person-erasure.d.ts +5 -2
- package/src/lib/app-utils/person-erasure.js.map +1 -1
- package/src/lib/app-utils/picklists.d.ts +187 -0
- package/src/lib/app-utils/picklists.js +320 -0
- package/src/lib/app-utils/picklists.js.map +1 -0
- package/src/lib/app-utils/plan-entitlements.d.ts +220 -50
- package/src/lib/app-utils/plan-entitlements.js +309 -115
- package/src/lib/app-utils/plan-entitlements.js.map +1 -1
- package/src/lib/app-utils/realm-host-surface.generated.js +2 -0
- package/src/lib/app-utils/realm-host-surface.generated.js.map +1 -1
- package/src/lib/app-utils/release-flags.d.ts +1 -1
- package/src/lib/app-utils/release-flags.js +11 -0
- package/src/lib/app-utils/release-flags.js.map +1 -1
- package/src/lib/app-utils/rendered-widths.d.ts +121 -0
- package/src/lib/app-utils/rendered-widths.js +211 -0
- package/src/lib/app-utils/rendered-widths.js.map +1 -0
- package/src/lib/app-utils/repeat-sources.d.ts +2 -1
- package/src/lib/app-utils/repeat-sources.js.map +1 -1
- package/src/lib/app-utils/screen-link-context-value.d.ts +7 -0
- package/src/lib/app-utils/screen-link-context-value.js.map +1 -1
- package/src/lib/app-utils/screen-link-context.js +14 -2
- package/src/lib/app-utils/screen-link-context.js.map +1 -1
- package/src/lib/app-utils/screen-route.d.ts +157 -36
- package/src/lib/app-utils/screen-route.js +191 -41
- package/src/lib/app-utils/screen-route.js.map +1 -1
- package/src/lib/app-utils/seo-audit.d.ts +11 -1
- package/src/lib/app-utils/seo-audit.js +33 -13
- package/src/lib/app-utils/seo-audit.js.map +1 -1
- package/src/lib/app-utils/seo-keywords.d.ts +11 -0
- package/src/lib/app-utils/seo-keywords.js +19 -5
- package/src/lib/app-utils/seo-keywords.js.map +1 -1
- package/src/lib/app-utils/seo-page-facts.d.ts +47 -4
- package/src/lib/app-utils/seo-page-facts.js +136 -31
- package/src/lib/app-utils/seo-page-facts.js.map +1 -1
- package/src/lib/app-utils/seo-site-scan.d.ts +42 -4
- package/src/lib/app-utils/seo-site-scan.js +113 -12
- package/src/lib/app-utils/seo-site-scan.js.map +1 -1
- package/src/lib/app-utils/server.d.ts +5 -4
- package/src/lib/app-utils/server.js +14 -5
- package/src/lib/app-utils/server.js.map +1 -1
- package/src/lib/app-utils/site-icon-set.d.ts +195 -0
- package/src/lib/app-utils/site-icon-set.js +351 -0
- package/src/lib/app-utils/site-icon-set.js.map +1 -0
- package/src/lib/app-utils/site-interactions.d.ts +101 -4
- package/src/lib/app-utils/site-interactions.js +120 -4
- package/src/lib/app-utils/site-interactions.js.map +1 -1
- package/src/lib/app-utils/starter-template-nodes.d.ts +7 -0
- package/src/lib/app-utils/starter-template-nodes.js +3 -0
- package/src/lib/app-utils/starter-template-nodes.js.map +1 -1
- package/src/lib/app-utils/starter-templates.d.ts +5 -19
- package/src/lib/app-utils/starter-templates.js +5 -49
- package/src/lib/app-utils/starter-templates.js.map +1 -1
- package/src/lib/app-utils/transfer-launcher-context.d.ts +136 -0
- package/src/lib/app-utils/transfer-launcher-context.js +23 -0
- package/src/lib/app-utils/transfer-launcher-context.js.map +1 -0
- package/src/lib/app-utils/transfer-resume-import.d.ts +39 -0
- package/src/lib/app-utils/transfer-resume-import.js +128 -0
- package/src/lib/app-utils/transfer-resume-import.js.map +1 -0
- package/src/lib/app-utils/upgrade-proposal.d.ts +66 -0
- package/src/lib/app-utils/upgrade-proposal.js +95 -0
- package/src/lib/app-utils/upgrade-proposal.js.map +1 -0
- package/src/lib/app-utils/utc-month.d.ts +33 -0
- package/src/lib/app-utils/utc-month.js +35 -0
- package/src/lib/app-utils/utc-month.js.map +1 -0
- package/src/lib/app-utils/visitor-record-ceiling.d.ts +4 -4
- package/src/lib/app-utils/visitor-record-ceiling.js +4 -4
- package/src/lib/app-utils/visitor-record-ceiling.js.map +1 -1
- package/src/lib/app-utils/wire-nodes.d.ts +39 -19
- package/src/lib/app-utils/wire-nodes.js +120 -34
- package/src/lib/app-utils/wire-nodes.js.map +1 -1
- package/src/lib/data-transfer/access.d.ts +74 -0
- package/src/lib/data-transfer/access.js +93 -0
- package/src/lib/data-transfer/access.js.map +1 -0
- package/src/lib/data-transfer/derive.d.ts +246 -0
- package/src/lib/data-transfer/derive.js +1007 -0
- package/src/lib/data-transfer/derive.js.map +1 -0
- package/src/lib/data-transfer/export-file.d.ts +46 -0
- package/src/lib/data-transfer/export-file.js +146 -0
- package/src/lib/data-transfer/export-file.js.map +1 -0
- package/src/lib/data-transfer/field-catalog.d.ts +134 -0
- package/src/lib/data-transfer/field-catalog.js +278 -0
- package/src/lib/data-transfer/field-catalog.js.map +1 -0
- package/src/lib/data-transfer/header-match.d.ts +129 -0
- package/src/lib/data-transfer/header-match.js +367 -0
- package/src/lib/data-transfer/header-match.js.map +1 -0
- package/src/lib/data-transfer/index.d.ts +34 -0
- package/src/lib/data-transfer/index.js +40 -0
- package/src/lib/data-transfer/index.js.map +1 -0
- package/src/lib/data-transfer/job.d.ts +190 -0
- package/src/lib/data-transfer/job.js +229 -0
- package/src/lib/data-transfer/job.js.map +1 -0
- package/src/lib/data-transfer/lookup.d.ts +45 -0
- package/src/lib/data-transfer/lookup.js +71 -0
- package/src/lib/data-transfer/lookup.js.map +1 -0
- package/src/lib/data-transfer/match.d.ts +99 -0
- package/src/lib/data-transfer/match.js +244 -0
- package/src/lib/data-transfer/match.js.map +1 -0
- package/src/lib/data-transfer/package-plan.d.ts +205 -0
- package/src/lib/data-transfer/package-plan.js +475 -0
- package/src/lib/data-transfer/package-plan.js.map +1 -0
- package/src/lib/data-transfer/package.d.ts +181 -0
- package/src/lib/data-transfer/package.js +426 -0
- package/src/lib/data-transfer/package.js.map +1 -0
- package/src/lib/data-transfer/picklist-map.d.ts +139 -0
- package/src/lib/data-transfer/picklist-map.js +271 -0
- package/src/lib/data-transfer/picklist-map.js.map +1 -0
- package/src/lib/data-transfer/plan.d.ts +176 -0
- package/src/lib/data-transfer/plan.js +451 -0
- package/src/lib/data-transfer/plan.js.map +1 -0
- package/src/lib/data-transfer/policy.d.ts +170 -0
- package/src/lib/data-transfer/policy.js +378 -0
- package/src/lib/data-transfer/policy.js.map +1 -0
- package/src/lib/data-transfer/resource.d.ts +211 -0
- package/src/lib/data-transfer/resource.js +241 -0
- package/src/lib/data-transfer/resource.js.map +1 -0
- package/src/lib/data-transfer/review.d.ts +70 -0
- package/src/lib/data-transfer/review.js +233 -0
- package/src/lib/data-transfer/review.js.map +1 -0
- package/src/lib/data-transfer/similarity.d.ts +40 -0
- package/src/lib/data-transfer/similarity.js +106 -0
- package/src/lib/data-transfer/similarity.js.map +1 -0
- package/src/lib/data-transfer/site-package.d.ts +365 -0
- package/src/lib/data-transfer/site-package.js +1077 -0
- package/src/lib/data-transfer/site-package.js.map +1 -0
- package/src/lib/data-transfer/source.d.ts +74 -0
- package/src/lib/data-transfer/source.js +293 -0
- package/src/lib/data-transfer/source.js.map +1 -0
- package/src/lib/data-transfer/transfer-api.d.ts +898 -0
- package/src/lib/data-transfer/transfer-api.js +107 -0
- package/src/lib/data-transfer/transfer-api.js.map +1 -0
- package/src/lib/foundation/definitions/org-billing.types.d.ts +31 -0
- package/src/lib/foundation/definitions/org-billing.types.js.map +1 -1
- package/src/lib/foundation/definitions/organization.types.d.ts +42 -1
- package/src/lib/foundation/definitions/organization.types.js.map +1 -1
- package/src/lib/foundation/definitions/platform.types.d.ts +6 -4
- package/src/lib/foundation/definitions/platform.types.js.map +1 -1
- package/src/lib/foundation/index.d.ts +1 -1
- package/src/lib/foundation/index.js.map +1 -1
- package/src/lib/plugin-manager/feature-plugins.d.ts +91 -2
- package/src/lib/plugin-manager/feature-plugins.js +48 -3
- package/src/lib/plugin-manager/feature-plugins.js.map +1 -1
- package/src/lib/plugin-manager/first-party-plugins.generated.d.ts +56 -0
- package/src/lib/plugin-manager/first-party-plugins.generated.js +1132 -27
- package/src/lib/plugin-manager/first-party-plugins.generated.js.map +1 -1
- package/src/lib/plugin-manager/index.d.ts +0 -1
- package/src/lib/plugin-manager/index.js +0 -1
- package/src/lib/plugin-manager/index.js.map +1 -1
- package/src/lib/plugin-manager/interaction-recipes.d.ts +142 -0
- package/src/lib/plugin-manager/interaction-recipes.js +104 -0
- package/src/lib/plugin-manager/interaction-recipes.js.map +1 -0
- package/src/lib/plugin-manager/interaction-step-checks.d.ts +66 -0
- package/src/lib/plugin-manager/interaction-step-checks.js +86 -0
- package/src/lib/plugin-manager/interaction-step-checks.js.map +1 -0
- package/src/lib/plugin-manager/plugin-artifact-types.d.ts +235 -0
- package/src/lib/plugin-manager/plugin-artifact-types.js +99 -0
- package/src/lib/plugin-manager/plugin-artifact-types.js.map +1 -0
- package/src/lib/plugin-manager/plugin-contact-capture.d.ts +8 -0
- package/src/lib/plugin-manager/plugin-contact-capture.js.map +1 -1
- package/src/lib/plugin-manager/plugin-conversion-credit.d.ts +216 -0
- package/src/lib/plugin-manager/plugin-conversion-credit.js +91 -0
- package/src/lib/plugin-manager/plugin-conversion-credit.js.map +1 -0
- package/src/lib/plugin-manager/plugin-entity-pickers.d.ts +83 -0
- package/src/lib/plugin-manager/plugin-entity-pickers.js +87 -0
- package/src/lib/plugin-manager/plugin-entity-pickers.js.map +1 -0
- package/src/lib/plugin-manager/plugin-host-resources.d.ts +6 -0
- package/src/lib/plugin-manager/plugin-host-resources.js +6 -1
- package/src/lib/plugin-manager/plugin-host-resources.js.map +1 -1
- package/src/lib/plugin-manager/plugin-intake-gates.d.ts +75 -0
- package/src/lib/plugin-manager/plugin-intake-gates.js +49 -0
- package/src/lib/plugin-manager/plugin-intake-gates.js.map +1 -0
- package/src/lib/plugin-manager/plugin-jobs.d.ts +5 -5
- package/src/lib/plugin-manager/plugin-jobs.js +7 -7
- package/src/lib/plugin-manager/plugin-jobs.js.map +1 -1
- package/src/lib/plugin-manager/plugin-live-paths.d.ts +70 -0
- package/src/lib/plugin-manager/plugin-live-paths.js +66 -0
- package/src/lib/plugin-manager/plugin-live-paths.js.map +1 -0
- package/src/lib/plugin-manager/plugin-org-erasure.d.ts +3 -2
- package/src/lib/plugin-manager/plugin-org-erasure.js +30 -5
- package/src/lib/plugin-manager/plugin-org-erasure.js.map +1 -1
- package/src/lib/plugin-manager/plugin-person-erasure.d.ts +68 -9
- package/src/lib/plugin-manager/plugin-person-erasure.js +196 -51
- package/src/lib/plugin-manager/plugin-person-erasure.js.map +1 -1
- package/src/lib/plugin-manager/plugin-person-records.d.ts +275 -0
- package/src/lib/plugin-manager/plugin-person-records.js +107 -0
- package/src/lib/plugin-manager/plugin-person-records.js.map +1 -0
- package/src/lib/plugin-manager/plugin-record-counts.d.ts +76 -0
- package/src/lib/plugin-manager/plugin-record-counts.js +49 -0
- package/src/lib/plugin-manager/plugin-record-counts.js.map +1 -0
- package/src/lib/plugin-manager/plugin-record-email-state.d.ts +26 -0
- package/src/lib/plugin-manager/plugin-record-email-state.js +16 -0
- package/src/lib/plugin-manager/plugin-record-email-state.js.map +1 -1
- package/src/lib/plugin-manager/plugin-record-index.d.ts +10 -0
- package/src/lib/plugin-manager/plugin-record-index.js.map +1 -1
- package/src/lib/plugin-manager/plugin-record-lists.d.ts +86 -6
- package/src/lib/plugin-manager/plugin-record-lists.js +42 -5
- package/src/lib/plugin-manager/plugin-record-lists.js.map +1 -1
- package/src/lib/plugin-manager/plugin-record-origin.d.ts +79 -0
- package/src/lib/plugin-manager/plugin-record-origin.js +46 -0
- package/src/lib/plugin-manager/plugin-record-origin.js.map +1 -0
- package/src/lib/plugin-manager/plugin-record-pages.d.ts +37 -0
- package/src/lib/plugin-manager/plugin-record-pages.js +52 -0
- package/src/lib/plugin-manager/plugin-record-pages.js.map +1 -0
- package/src/lib/plugin-manager/plugin-record-timeline.d.ts +60 -0
- package/src/lib/plugin-manager/plugin-record-timeline.js +16 -0
- package/src/lib/plugin-manager/plugin-record-timeline.js.map +1 -1
- package/src/lib/plugin-manager/plugin-resource-drafts.d.ts +5 -5
- package/src/lib/plugin-manager/plugin-resource-drafts.js.map +1 -1
- package/src/lib/plugin-manager/plugin-revocations.d.ts +64 -0
- package/src/lib/plugin-manager/plugin-revocations.js +47 -0
- package/src/lib/plugin-manager/plugin-revocations.js.map +1 -0
- package/src/lib/plugin-manager/plugin-send-tallies.d.ts +69 -0
- package/src/lib/plugin-manager/plugin-send-tallies.js +45 -0
- package/src/lib/plugin-manager/plugin-send-tallies.js.map +1 -0
- package/src/lib/plugin-manager/plugin-server-steps.d.ts +170 -0
- package/src/lib/plugin-manager/plugin-server-steps.js +116 -0
- package/src/lib/plugin-manager/plugin-server-steps.js.map +1 -0
- package/src/lib/plugin-manager/plugin-site-bundle.d.ts +40 -0
- package/src/lib/plugin-manager/plugin-site-bundle.js +4 -0
- package/src/lib/plugin-manager/plugin-site-bundle.js.map +1 -1
- package/src/lib/plugin-manager/plugin-site-export.d.ts +57 -1
- package/src/lib/plugin-manager/plugin-site-export.js +23 -10
- package/src/lib/plugin-manager/plugin-site-export.js.map +1 -1
- package/src/lib/plugin-manager/plugin-sitemap-readers.d.ts +146 -0
- package/src/lib/plugin-manager/plugin-sitemap-readers.js +110 -0
- package/src/lib/plugin-manager/plugin-sitemap-readers.js.map +1 -0
- package/src/lib/plugin-manager/plugin-transfer-resources.d.ts +714 -0
- package/src/lib/plugin-manager/plugin-transfer-resources.js +443 -0
- package/src/lib/plugin-manager/plugin-transfer-resources.js.map +1 -0
- package/src/lib/plugin-manager/plugin-usage-axes.d.ts +54 -5
- package/src/lib/plugin-manager/plugin-usage-axes.js +11 -3
- package/src/lib/plugin-manager/plugin-usage-axes.js.map +1 -1
- package/src/lib/plugin-manager/plugin-user-erasure.js +9 -1
- package/src/lib/plugin-manager/plugin-user-erasure.js.map +1 -1
- package/src/lib/plugin-manager/plugin-visitor-doors.d.ts +104 -0
- package/src/lib/plugin-manager/plugin-visitor-doors.js +108 -0
- package/src/lib/plugin-manager/plugin-visitor-doors.js.map +1 -0
- package/src/lib/plugin-manager/realm-host-aglyn.generated.js +2 -0
- package/src/lib/plugin-manager/realm-host-aglyn.generated.js.map +1 -1
- package/src/lib/plugin-manager/repeat-rows.d.ts +5 -6
- package/src/lib/plugin-manager/repeat-rows.js.map +1 -1
- package/src/lib/app-utils/actions.d.ts +0 -310
- package/src/lib/app-utils/actions.js +0 -506
- package/src/lib/app-utils/actions.js.map +0 -1
- package/src/lib/app-utils/automation-placeholders.d.ts +0 -72
- package/src/lib/app-utils/automation-placeholders.js +0 -207
- package/src/lib/app-utils/automation-placeholders.js.map +0 -1
- package/src/lib/app-utils/dataset-models.d.ts +0 -339
- package/src/lib/app-utils/dataset-models.js +0 -722
- package/src/lib/app-utils/dataset-models.js.map +0 -1
- package/src/lib/app-utils/datasets.d.ts +0 -171
- package/src/lib/app-utils/datasets.js +0 -227
- package/src/lib/app-utils/datasets.js.map +0 -1
- package/src/lib/app-utils/form-abuse-ceiling.d.ts +0 -146
- package/src/lib/app-utils/form-abuse-ceiling.js +0 -158
- package/src/lib/app-utils/form-abuse-ceiling.js.map +0 -1
- package/src/lib/plugin-manager/order-fulfilment.d.ts +0 -142
- package/src/lib/plugin-manager/order-fulfilment.js +0 -104
- package/src/lib/plugin-manager/order-fulfilment.js.map +0 -1
|
@@ -17,6 +17,7 @@ import { _ as _extends } from "@swc/helpers/_/_extends";
|
|
|
17
17
|
*/ import { HOST_ERROR_SCREEN_SLOTS } from "../foundation/index.js";
|
|
18
18
|
import { collectionListUrl } from "./collection-entries.js";
|
|
19
19
|
import { ENTRY_PREVIEW_ROUTE_SEGMENT } from "./entry-preview-link.js";
|
|
20
|
+
import { LEAVING_NOTICE_ROUTE_SEGMENT } from "./leaving-notice.js";
|
|
20
21
|
import { PLATFORM_BRAND_NAME } from "./platform-brand.js";
|
|
21
22
|
import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, parseEntryLinkValue } from "./screen-link-value.js";
|
|
22
23
|
/**
|
|
@@ -77,8 +78,11 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
|
|
|
77
78
|
* would reach the preview page and 404 rather than render a screen. The
|
|
78
79
|
* bare `/aglyn-preview` would in fact still serve — the preview route's
|
|
79
80
|
* catch-all is required, not optional — and it is reserved anyway for the
|
|
80
|
-
* reason given below about child paths: a child
|
|
81
|
-
* parent
|
|
81
|
+
* reason given below about child paths: a child's path is composed from
|
|
82
|
+
* its parent's slug, and this rule refuses that slug.
|
|
83
|
+
* - `_aglyn` — the platform's own pages on every site, the leaving notice
|
|
84
|
+
* at `/_aglyn/leaving` first (AGL-3452). The middleware rewrites that path
|
|
85
|
+
* to an api route before the catch-all could see it.
|
|
82
86
|
*
|
|
83
87
|
* NOT reserved, and deliberately so, because measuring found them fine:
|
|
84
88
|
* `401`, `403`, `503` (`/401` returns 200 through the catch-all — two of the
|
|
@@ -96,7 +100,8 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
|
|
|
96
100
|
ENTRY_PREVIEW_ROUTE_SEGMENT,
|
|
97
101
|
'api',
|
|
98
102
|
'_next',
|
|
99
|
-
'_static'
|
|
103
|
+
'_static',
|
|
104
|
+
LEAVING_NOTICE_ROUTE_SEGMENT
|
|
100
105
|
];
|
|
101
106
|
/**
|
|
102
107
|
* The reserved segment a routing-map path would collide with, or `undefined`
|
|
@@ -106,10 +111,10 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
|
|
|
106
111
|
* Reads the FIRST segment only. For `api`/`_next`/`_static` that is exactly
|
|
107
112
|
* right — the middleware excludes the whole subtree, so `api/docs` is as dead
|
|
108
113
|
* as `api`. For `404`/`500`/`search` it over-refuses in principle (`/404/why`
|
|
109
|
-
* would serve), and that is deliberate: a child path
|
|
110
|
-
* PARENT
|
|
111
|
-
*
|
|
112
|
-
* be a second list to keep correct.
|
|
114
|
+
* would serve), and that is deliberate: a child path is composed from its
|
|
115
|
+
* PARENT's slug, the parent would have to hold `404`, and this same rule
|
|
116
|
+
* refuses that slug wherever one is typed. A second list to express a case
|
|
117
|
+
* that cannot arise would be a second list to keep correct.
|
|
113
118
|
*
|
|
114
119
|
* Takes a composed routing-map path (`about`, `company/about`, `'/'`), not a
|
|
115
120
|
* raw slug field — `'/'` is the home screen and is never reserved.
|
|
@@ -163,40 +168,136 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
|
|
|
163
168
|
* It names the alternative, because a `/` in this field almost always means
|
|
164
169
|
* "nest me" and the hierarchy is what actually composes the longer path.
|
|
165
170
|
*/ export const SCREEN_SLUG_PATH_SEPARATOR_MESSAGE = 'A slug is one path segment — remove the "/" and nest the page under a ' + 'parent page instead';
|
|
171
|
+
/**
|
|
172
|
+
* `kind` of a page GROUP (AGL-3463): a folder in the Pages list that holds
|
|
173
|
+
* pages and is not one.
|
|
174
|
+
*
|
|
175
|
+
* A group has no slug, no versions and no address. It is never routed, never
|
|
176
|
+
* published or scheduled, and it contributes NOTHING to its descendants'
|
|
177
|
+
* paths — a page inside a group composes exactly as if it sat at the group's
|
|
178
|
+
* own level, so moving a page into or out of a group at that level leaves its
|
|
179
|
+
* URL untouched. A group nested in a group behaves the same way.
|
|
180
|
+
*
|
|
181
|
+
* It has to be a declared kind rather than "a parent with no slug", because a
|
|
182
|
+
* slugless parent already means something: an unpublished page, and
|
|
183
|
+
* {@link composeScreenRoutePath} refuses every path beneath one. Pages under
|
|
184
|
+
* a slugless parent keep the addresses they already have, but no page there
|
|
185
|
+
* can be published, which is the opposite of what a folder is for.
|
|
186
|
+
*
|
|
187
|
+
* A group is not a page, so it is in {@link screenClaimsToBeAPage}'s list and
|
|
188
|
+
* spends none of the plan's page allowance. That is safe for the reasons the
|
|
189
|
+
* other non-page kinds are: `kind` is stamped at create by
|
|
190
|
+
* /api/hosts/resources and frozen against the client by the rules, no route
|
|
191
|
+
* converts a group into anything else, and the serve path refuses a non-page
|
|
192
|
+
* claim — so a group can never be laundered into a page it did not pay for,
|
|
193
|
+
* and the flat {@link NON_PAGE_SCREEN_MAX_PER_HOST} bounds how many exist.
|
|
194
|
+
*/ export const SCREEN_KIND_GROUP = 'group';
|
|
195
|
+
/**
|
|
196
|
+
* The {@link ScreenRouteNode} of a screen document: the three fields path
|
|
197
|
+
* composition reads, and nothing else. Every surface that composes paths
|
|
198
|
+
* builds its map through this, because a map built from `{ slug, parentId }`
|
|
199
|
+
* alone silently reads a group as an unpublished page and unroutes every page
|
|
200
|
+
* inside it (AGL-3463).
|
|
201
|
+
*/ export function toScreenRouteNode(screen) {
|
|
202
|
+
const node = {};
|
|
203
|
+
if (typeof screen.slug === 'string') node.slug = screen.slug;
|
|
204
|
+
if (typeof screen.parentId === 'string' && screen.parentId) {
|
|
205
|
+
node.parentId = screen.parentId;
|
|
206
|
+
}
|
|
207
|
+
if (typeof screen.kind === 'string') node.kind = screen.kind;
|
|
208
|
+
return node;
|
|
209
|
+
}
|
|
210
|
+
/** Is this screen a page group ({@link SCREEN_KIND_GROUP})? */ export function isScreenGroup(screen) {
|
|
211
|
+
return (screen == null ? void 0 : screen.kind) === SCREEN_KIND_GROUP;
|
|
212
|
+
}
|
|
166
213
|
/** Defensive cap: parent chains deeper than this are treated as invalid. */ const MAX_SCREEN_DEPTH = 32;
|
|
167
214
|
/**
|
|
168
215
|
* Composes a screen's routing-map path from its own slug plus its ancestor
|
|
169
216
|
* chain: parent `company` + own `about` → `company/about`. Root (`'/'`)
|
|
170
217
|
* segments contribute nothing, so children of the home screen sit at the
|
|
171
|
-
* top level
|
|
172
|
-
*
|
|
173
|
-
*
|
|
218
|
+
* top level, and GROUP ancestors contribute nothing either (AGL-3463) — they
|
|
219
|
+
* are passed through as if the screen sat at the group's own level.
|
|
220
|
+
*
|
|
221
|
+
* Returns `undefined` when the screen is itself a group, when it (or any
|
|
222
|
+
* non-group ancestor) has no slug, when its own slug is `'/'` while it has a
|
|
223
|
+
* non-group ancestor, or when the chain has a cycle / exceeds
|
|
224
|
+
* {@link MAX_SCREEN_DEPTH}.
|
|
174
225
|
*/ export function composeScreenRoutePath(screenId, screensById) {
|
|
226
|
+
// A group is never an address, whatever else its document says.
|
|
227
|
+
if (isScreenGroup(screensById[screenId])) return undefined;
|
|
175
228
|
const segments = [];
|
|
176
229
|
const visited = new Set();
|
|
177
230
|
let currentId = screenId;
|
|
231
|
+
let isHomePage = false;
|
|
178
232
|
while(currentId){
|
|
179
233
|
if (visited.has(currentId) || visited.size >= MAX_SCREEN_DEPTH) {
|
|
180
234
|
return undefined;
|
|
181
235
|
}
|
|
182
236
|
visited.add(currentId);
|
|
183
237
|
const screen = screensById[currentId];
|
|
238
|
+
if (isScreenGroup(screen)) {
|
|
239
|
+
// No segment, and no slug required: a group does not gate the pages
|
|
240
|
+
// inside it. Its own slug, if a stray one exists, is ignored.
|
|
241
|
+
currentId = screen == null ? void 0 : screen.parentId;
|
|
242
|
+
continue;
|
|
243
|
+
}
|
|
184
244
|
if (!(screen == null ? void 0 : screen.slug)) return undefined;
|
|
245
|
+
// The home screen's segment is empty (children of home sit at the top
|
|
246
|
+
// level), but a screen can't itself be the home page AND sit under
|
|
247
|
+
// another page. Groups above it are fine — they are not levels.
|
|
248
|
+
if (isHomePage) return undefined;
|
|
185
249
|
if (screen.slug === SCREEN_ROOT_PATH) {
|
|
186
|
-
|
|
187
|
-
// level), but a screen can't itself be the home page AND have a parent.
|
|
188
|
-
if (currentId === screenId && screen.parentId) return undefined;
|
|
250
|
+
if (currentId === screenId) isHomePage = true;
|
|
189
251
|
} else {
|
|
190
252
|
segments.unshift(screen.slug);
|
|
191
253
|
}
|
|
192
254
|
currentId = screen.parentId;
|
|
193
255
|
}
|
|
194
|
-
if (!segments.length)
|
|
195
|
-
var _screensById_screenId;
|
|
196
|
-
return ((_screensById_screenId = screensById[screenId]) == null ? void 0 : _screensById_screenId.slug) === SCREEN_ROOT_PATH ? SCREEN_ROOT_PATH : undefined;
|
|
197
|
-
}
|
|
256
|
+
if (!segments.length) return isHomePage ? SCREEN_ROOT_PATH : undefined;
|
|
198
257
|
return segments.join('/');
|
|
199
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* The nearest ancestor that is NOT a group — the screen whose level a page
|
|
261
|
+
* actually composes its path at — or `undefined` for the top level
|
|
262
|
+
* (AGL-3463). Two placements with the same answer compose the same path,
|
|
263
|
+
* which is what makes moving a page into or out of a group at that level a
|
|
264
|
+
* move that cannot change its URL.
|
|
265
|
+
*/ export function screenRouteParentId(screenId, screensById) {
|
|
266
|
+
var _screensById_screenId;
|
|
267
|
+
const visited = new Set([
|
|
268
|
+
screenId
|
|
269
|
+
]);
|
|
270
|
+
let currentId = (_screensById_screenId = screensById[screenId]) == null ? void 0 : _screensById_screenId.parentId;
|
|
271
|
+
while(currentId && !visited.has(currentId)){
|
|
272
|
+
visited.add(currentId);
|
|
273
|
+
const screen = screensById[currentId];
|
|
274
|
+
if (!isScreenGroup(screen)) return currentId;
|
|
275
|
+
currentId = screen == null ? void 0 : screen.parentId;
|
|
276
|
+
}
|
|
277
|
+
return undefined;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Where each child of a group goes when the group is deleted: one level up,
|
|
281
|
+
* under the group's own parent (AGL-3463). A child id → its next `parentId`
|
|
282
|
+
* (`undefined` for the top level).
|
|
283
|
+
*
|
|
284
|
+
* Only DIRECT children move; grandchildren ride along under them. Because a
|
|
285
|
+
* group contributes nothing to a path, the children's composed paths are the
|
|
286
|
+
* same before and after, so deleting a group never touches the routing map.
|
|
287
|
+
* Answers `{}` for a screen that is not a group — deleting a page is a
|
|
288
|
+
* different act with a different consequence for what sits under it.
|
|
289
|
+
*/ export function screenGroupDissolveMoves(groupId, screensById) {
|
|
290
|
+
const group = screensById[groupId];
|
|
291
|
+
if (!isScreenGroup(group)) return {};
|
|
292
|
+
const nextParentId = group == null ? void 0 : group.parentId;
|
|
293
|
+
const moves = {};
|
|
294
|
+
for (const [id, screen] of Object.entries(screensById)){
|
|
295
|
+
if (id !== groupId && (screen == null ? void 0 : screen.parentId) === groupId) {
|
|
296
|
+
moves[id] = nextParentId;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
return moves;
|
|
300
|
+
}
|
|
200
301
|
/**
|
|
201
302
|
* All screens whose parent chain passes through `screenId` (children,
|
|
202
303
|
* grandchildren, …). Used to cascade routing-map rewrites when a screen's
|
|
@@ -234,30 +335,78 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
|
|
|
234
335
|
return collectScreenDescendantIds(screenId, screensById).includes(nextParentId);
|
|
235
336
|
}
|
|
236
337
|
/**
|
|
237
|
-
* Routing-map entries for a screen plus
|
|
238
|
-
* candidate screens map
|
|
239
|
-
*
|
|
240
|
-
*
|
|
338
|
+
* Routing-map entries to SET for a screen plus its descendants under a
|
|
339
|
+
* candidate screens map. Callers apply the result in one write so slug and
|
|
340
|
+
* parent changes cascade atomically.
|
|
341
|
+
*
|
|
342
|
+
* ## It never removes a route (AGL-3463)
|
|
343
|
+
*
|
|
344
|
+
* The answer holds paths only — no removals, ever. The routing map is the
|
|
345
|
+
* whole of what makes a page reachable, so a removal computed here would take
|
|
346
|
+
* a live page off the site as a side effect of a move, a rename or an
|
|
347
|
+
* unpublish of something ABOVE it, with nobody having asked for that page to
|
|
348
|
+
* go. Each of these therefore keeps the route it has:
|
|
349
|
+
*
|
|
350
|
+
* - a live screen whose chain no longer composes — moved under a page with
|
|
351
|
+
* no slug, or its parent's slug cleared — keeps serving where it is;
|
|
352
|
+
* - a DETACHED descendant (see
|
|
353
|
+
* {@link BuildScreenRouteEntriesOptions.currentById}) stays where it is
|
|
354
|
+
* when its ancestors change again;
|
|
355
|
+
* - a group, which never composes a path, is never written.
|
|
356
|
+
*
|
|
357
|
+
* Taking a page off the site is a separate act on that page alone
|
|
358
|
+
* (`unpublishScreenRoute`), so the only page that can stop resolving is the
|
|
359
|
+
* one somebody pointed at.
|
|
241
360
|
*
|
|
242
361
|
* See {@link BuildScreenRouteEntriesOptions.publish} for the difference
|
|
243
362
|
* between publishing a screen and merely moving one.
|
|
244
|
-
*/ export function buildScreenRouteEntries(screenId, screensById, routingMap, options
|
|
245
|
-
const { publish = true } = options;
|
|
363
|
+
*/ export function buildScreenRouteEntries(screenId, screensById, routingMap, options) {
|
|
364
|
+
const { publish = true, currentById } = options;
|
|
246
365
|
const entries = {};
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
366
|
+
const routedPath = (id)=>{
|
|
367
|
+
const path = routingMap == null ? void 0 : routingMap[id];
|
|
368
|
+
return typeof path === 'string' && path ? path : undefined;
|
|
369
|
+
};
|
|
370
|
+
// The named screen: rewritten when it is live, registered when this is its
|
|
371
|
+
// publish, and left exactly as it is when its new chain does not compose.
|
|
372
|
+
const ownPath = composeScreenRoutePath(screenId, screensById);
|
|
373
|
+
if (ownPath && (routedPath(screenId) !== undefined || publish)) {
|
|
374
|
+
entries[screenId] = ownPath;
|
|
375
|
+
}
|
|
376
|
+
for (const id of collectScreenDescendantIds(screenId, screensById)){
|
|
377
|
+
const live = routedPath(id);
|
|
378
|
+
// A draft below a published parent stays a draft.
|
|
379
|
+
if (live === undefined) continue;
|
|
380
|
+
// Detached: its address is not the one its chain composes today.
|
|
381
|
+
if (composeScreenRoutePath(id, currentById) !== live) continue;
|
|
253
382
|
const path = composeScreenRoutePath(id, screensById);
|
|
254
|
-
if (path)
|
|
255
|
-
// A move rewrites what is live; it never puts something new there.
|
|
256
|
-
if (routed || publish) entries[id] = path;
|
|
257
|
-
} else if (routed) entries[id] = null;
|
|
383
|
+
if (path) entries[id] = path;
|
|
258
384
|
}
|
|
259
385
|
return entries;
|
|
260
386
|
}
|
|
387
|
+
/**
|
|
388
|
+
* Every descendant of `screenId` with a routing entry, ordered by address
|
|
389
|
+
* (AGL-3463) — the pages that STAY LIVE when `screenId` is unpublished or
|
|
390
|
+
* deleted, because neither act ever removes more than the one entry
|
|
391
|
+
* ({@link buildScreenRouteEntries}).
|
|
392
|
+
*
|
|
393
|
+
* The unpublish and delete confirmations list these, so whoever takes a
|
|
394
|
+
* parent down knows which pages below it keep serving and can take them
|
|
395
|
+
* down separately if that is what they meant. Groups are walked through and
|
|
396
|
+
* never listed: a group is not a page.
|
|
397
|
+
*/ export function liveScreenDescendants(screenId, screensById, routingMap) {
|
|
398
|
+
const live = [];
|
|
399
|
+
for (const id of collectScreenDescendantIds(screenId, screensById)){
|
|
400
|
+
const path = routingMap == null ? void 0 : routingMap[id];
|
|
401
|
+
if (typeof path !== 'string' || !path) continue;
|
|
402
|
+
if (isScreenGroup(screensById[id])) continue;
|
|
403
|
+
live.push({
|
|
404
|
+
id,
|
|
405
|
+
path
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
return live.sort((a, b)=>a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
|
|
409
|
+
}
|
|
261
410
|
/**
|
|
262
411
|
* Looks up which screen currently owns a routing path, for sibling-slug
|
|
263
412
|
* uniqueness checks before publishing.
|
|
@@ -490,13 +639,14 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
|
|
|
490
639
|
* document, which has no URL and is rendered only by the campaign sender,
|
|
491
640
|
* straight off the doc), `kind: 'template'` (a collection entry template,
|
|
492
641
|
* which composes `/{collection}/{entry}` and has no address of its own —
|
|
493
|
-
* AGL-1400)
|
|
494
|
-
* error slots, rendered on paths that matched nothing — AGL-2092)
|
|
495
|
-
*
|
|
496
|
-
*
|
|
497
|
-
*
|
|
498
|
-
*
|
|
499
|
-
*
|
|
642
|
+
* AGL-1400), `kind: 'error'` (a screen assigned to one of the host's four
|
|
643
|
+
* error slots, rendered on paths that matched nothing — AGL-2092) and
|
|
644
|
+
* `kind: 'group'` (a folder of pages with no address, slug or content of its
|
|
645
|
+
* own — AGL-3463). All five are also the exclusions `countBillableScreens`
|
|
646
|
+
* subtracts before enforcing `screensPerHost`, and since AGL-1400 they are the
|
|
647
|
+
* WHOLE of that subtraction: the count reads no other collection.
|
|
648
|
+
*
|
|
649
|
+
* Adding the fourth and fifth needed no edit to `billableScreenIds` and no edit to
|
|
500
650
|
* `nonPageScreenIds`, which is the property AGL-1439 wrote them for: the
|
|
501
651
|
* routing-map override applies to a new non-page `kind` by default, and the
|
|
502
652
|
* flat infrastructure cap is the complement, so there is no second list to
|
|
@@ -531,7 +681,7 @@ import { formatCollectionLinkValue, formatEntryLinkValue, formatFeedLinkValue, p
|
|
|
531
681
|
* pipeline picks it up), which is why the map cannot be the arbiter for it.
|
|
532
682
|
*/ export function screenClaimsToBeAPage(screen) {
|
|
533
683
|
if (!screen) return false;
|
|
534
|
-
return screen.deletedAt == null && screen.kind !== SCREEN_KIND_EMAIL && screen.kind !== SCREEN_KIND_TEMPLATE && screen.kind !== SCREEN_KIND_ERROR;
|
|
684
|
+
return screen.deletedAt == null && screen.kind !== SCREEN_KIND_EMAIL && screen.kind !== SCREEN_KIND_TEMPLATE && screen.kind !== SCREEN_KIND_ERROR && screen.kind !== SCREEN_KIND_GROUP;
|
|
535
685
|
}
|
|
536
686
|
/**
|
|
537
687
|
* WHICH screens spend the plan's screen allowance (AGL-1173).
|