@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
|
@@ -928,26 +928,51 @@ export declare const INFRA_COGS_PER_SITE_USD = 2;
|
|
|
928
928
|
* where the page's generator can read it.
|
|
929
929
|
*
|
|
930
930
|
* The console keeps importing it from `usage-metering` unchanged.
|
|
931
|
+
*
|
|
932
|
+
* It is the margin KEPT: cost + 30% after Stripe's processor fee, not before
|
|
933
|
+
* it (AGL-3476). A price of cost × 1.3 kept cost × 1.26 once 2.9% came off,
|
|
934
|
+
* so the published rates are set by {@link METERED_PRICE_MULTIPLE}, and this
|
|
935
|
+
* stays the figure every full-utilization rule is held to.
|
|
931
936
|
*/
|
|
932
937
|
export declare const METERED_MARKUP = 1.3;
|
|
933
938
|
/**
|
|
934
|
-
* What
|
|
935
|
-
*
|
|
936
|
-
*
|
|
937
|
-
*
|
|
938
|
-
|
|
939
|
+
* What a passed-through cost is multiplied by to reach its price, so that
|
|
940
|
+
* cost + 30% survives Stripe's percentage fee: 1.3 ÷ 0.971 ≈ 1.3388
|
|
941
|
+
* (AGL-3476). The fixed 30¢ is paid by the subscription charge the overage
|
|
942
|
+
* rides on, so only the percentage is grossed up.
|
|
943
|
+
*/
|
|
944
|
+
export declare const METERED_PRICE_MULTIPLE: number;
|
|
945
|
+
/**
|
|
946
|
+
* A published overage price: `costPerQuotedUnitUsd` × {@link
|
|
947
|
+
* METERED_PRICE_MULTIPLE}, rounded UP at the `decimals` it is quoted in, so
|
|
948
|
+
* the price the page prints and the invoice bills is the same round figure
|
|
949
|
+
* and never less than the rule. The product is settled to six places before
|
|
950
|
+
* the ceiling so a figure that is exact in decimal — or a pinned cost carried
|
|
951
|
+
* to eleven places, like the page-view pair — is not lifted a step by its
|
|
952
|
+
* tail.
|
|
953
|
+
*/
|
|
954
|
+
export declare function publishedMeteredPrice(costPerQuotedUnitUsd: number, decimals: number): number;
|
|
955
|
+
/**
|
|
956
|
+
* What the REQUESTS behind ONE page view cost once the platform is past its
|
|
957
|
+
* hosting plan's included request allowance, at the DEAREST region the CDN
|
|
958
|
+
* and functions bill, in USD per view (AGL-1879, AGL-3444): the CDN requests
|
|
959
|
+
* a cold load makes, and the one of them that reaches a function — the
|
|
960
|
+
* analytics beacon. A page view billed past a plan's band is priced at
|
|
961
|
+
* `(perPageView + this) × METERED_MARKUP` — $0.80 per 1,000 — and every
|
|
962
|
+
* `bandwidthGb` band is sized with it counted.
|
|
939
963
|
*
|
|
940
964
|
* ## Why a page view needs a second cost term
|
|
941
965
|
*
|
|
942
|
-
* `perPageView` prices what a view WEIGHS: the bytes it transfers
|
|
943
|
-
*
|
|
944
|
-
*
|
|
945
|
-
*
|
|
946
|
-
*
|
|
947
|
-
* (`tools/tenant-page-budget.json`, `wireCalibration.measuredAgainst`)
|
|
948
|
-
* allowance is about 175,000 views
|
|
949
|
-
*
|
|
950
|
-
*
|
|
966
|
+
* `perPageView` prices what a view WEIGHS: the bytes it transfers, plus the
|
|
967
|
+
* Firestore reads behind the render. A view also costs per REQUEST, which is
|
|
968
|
+
* not proportional to weight: Vercel Pro includes 10,000,000 CDN requests a
|
|
969
|
+
* month, then bills $2.00 to $3.20 per million by region, and a cold load of
|
|
970
|
+
* `aglyn.com/` makes 57 first-party requests to settle
|
|
971
|
+
* (`tools/tenant-page-budget.json`, `wireCalibration.measuredAgainst`) — so
|
|
972
|
+
* the allowance is about 175,000 views a month, platform-wide, and runs out
|
|
973
|
+
* long before the transfer allowance. One of those requests is the analytics
|
|
974
|
+
* beacon (`apps/tenant/app/api/analytics/collect`), which runs a function on
|
|
975
|
+
* every view and writes two counter documents.
|
|
951
976
|
*
|
|
952
977
|
* ## Why the dearest region
|
|
953
978
|
*
|
|
@@ -956,27 +981,29 @@ export declare const METERED_MARKUP = 1.3;
|
|
|
956
981
|
* São Paulo or Cape Town costs what those regions cost, and nothing about a
|
|
957
982
|
* plan can choose otherwise. The platform's rule is that no plan is under
|
|
958
983
|
* water at any utilization and that "at cost + 30%" is true of every billed
|
|
959
|
-
* unit, so
|
|
960
|
-
*
|
|
961
|
-
* million (here). Past the allowance a view then costs:
|
|
962
|
-
*
|
|
963
|
-
* | | weight | requests | cost / 1k | margin at $0.70 |
|
|
964
|
-
* |-----------------------------------|------------|-----------|-----------|-----------------|
|
|
965
|
-
* | the page as measured (748.5 KB) | $0.262148 | $0.182400 | $0.4445 | +36.5% |
|
|
966
|
-
* | the priced basis (1012.8 KB) | $0.354715 | $0.182400 | $0.5371 | +23.3% |
|
|
967
|
-
*
|
|
968
|
-
* — at least 30% over cost in every region, which is the claim `/pricing`
|
|
969
|
-
* makes.
|
|
984
|
+
* unit, so every Vercel-billed term of a page view is priced where Vercel is
|
|
985
|
+
* dearest.
|
|
970
986
|
*
|
|
971
987
|
* ## The figure
|
|
972
988
|
*
|
|
973
|
-
*
|
|
974
|
-
*
|
|
975
|
-
*
|
|
976
|
-
*
|
|
977
|
-
*
|
|
978
|
-
*
|
|
979
|
-
*
|
|
989
|
+
* Per view, past the allowance, at the dearest region:
|
|
990
|
+
*
|
|
991
|
+
* | | |
|
|
992
|
+
* |--------------------------------------------------------|--------------|
|
|
993
|
+
* | 57 CDN requests at $3.20 per million | $0.00018240 |
|
|
994
|
+
* | the beacon's function: 0.4 s billed as active CPU at | $0.00002922 |
|
|
995
|
+
* | $0.221/hr, 2 GB at $0.0183/GB-hr, $0.60 per million | |
|
|
996
|
+
* | the beacon's two counter writes at nam5's $0.18/100k | $0.00000360 |
|
|
997
|
+
* | the beacon's ~1 KB through the function at $0.43/GB | $0.00000044 |
|
|
998
|
+
* | **requests, measured** | $0.00021566 |
|
|
999
|
+
*
|
|
1000
|
+
* ($0.399028 weight + $0.215662) × 1.3 is $0.7991 per 1,000, rounded up to
|
|
1001
|
+
* $0.80, and this term is pinned so ($0.399028 + $0.216357) × 1.3 is exactly
|
|
1002
|
+
* $0.80 — "Our cost $0.615385 / You pay $0.80" — with the basis set ABOVE the
|
|
1003
|
+
* measurement as the weight basis is. "At cost + 30%" holds of the cost a
|
|
1004
|
+
* billed view incurs in the dearest region, and so in every other. The 0.4 s
|
|
1005
|
+
* is the one function duration on record (the form-submission route), billed
|
|
1006
|
+
* whole as CPU because nothing measured splits it from I/O wait.
|
|
980
1007
|
*
|
|
981
1008
|
* ## ⛔ Not in {@link ORG_COGS_UNIT_RATES_USD}, deliberately
|
|
982
1009
|
*
|
|
@@ -989,16 +1016,16 @@ export declare const METERED_MARKUP = 1.3;
|
|
|
989
1016
|
* ## The INCLUDED bands carry it too
|
|
990
1017
|
*
|
|
991
1018
|
* A view inside a plan's band makes the same requests as one past it, and
|
|
992
|
-
* once the platform is past the allowance
|
|
993
|
-
* the `bandwidthGb` bands are sized with this term counted: $0.
|
|
994
|
-
* included GB on top of $0.
|
|
1019
|
+
* once the platform is past the allowance they cost the same either way, so
|
|
1020
|
+
* the `bandwidthGb` bands are sized with this term counted: $0.224 per
|
|
1021
|
+
* included GB on top of $0.413 of weight. `tier-margin-floor.spec.ts`
|
|
995
1022
|
* multiplies it in and pins every tier at 100% of every band.
|
|
996
1023
|
*
|
|
997
1024
|
* Lives HERE, beside the markup, for the reason the markup does: the
|
|
998
1025
|
* `/pricing` generator publishes the cost column from it and cannot import
|
|
999
1026
|
* anything under `apps/console`.
|
|
1000
1027
|
*/
|
|
1001
|
-
export declare const PAGE_VIEW_CDN_REQUEST_COST_USD = 0.
|
|
1028
|
+
export declare const PAGE_VIEW_CDN_REQUEST_COST_USD = 0.00021635711;
|
|
1002
1029
|
/**
|
|
1003
1030
|
* Monthly unit costs for the meters the rollup already records (AGL-1134).
|
|
1004
1031
|
*
|
|
@@ -1031,14 +1058,18 @@ export declare const PAGE_VIEW_CDN_REQUEST_COST_USD = 0.00018374681;
|
|
|
1031
1058
|
* ## Every Vercel-billed input is priced at Vercel's dearest region
|
|
1032
1059
|
*
|
|
1033
1060
|
* The CDN and functions bill by region, from $0.15 to $0.35 per GB of
|
|
1034
|
-
* transfer, $2.00 to $3.20 per million requests, and $0.128 to
|
|
1035
|
-
* hour of active CPU (memory $0.0106 to $0.0183 per GB-hour), and
|
|
1036
|
-
* cannot choose where its visitors are. So the Vercel share of every
|
|
1037
|
-
* here is priced at the dearest region (AGL-3444): the transfer inside
|
|
1038
|
-
* `perPageView`, the function
|
|
1039
|
-
*
|
|
1040
|
-
*
|
|
1041
|
-
* are priced
|
|
1061
|
+
* transfer (a decimal GB), $2.00 to $3.20 per million requests, and $0.128 to
|
|
1062
|
+
* $0.221 per hour of active CPU (memory $0.0106 to $0.0183 per GB-hour), and
|
|
1063
|
+
* a plan cannot choose where its visitors are. So the Vercel share of every
|
|
1064
|
+
* rate here is priced at the dearest region (AGL-3444): the transfer inside
|
|
1065
|
+
* `perPageView`, the function, CDN request and transfer inside
|
|
1066
|
+
* `perFormSubmission` and `perApiRequest`, and the compute inside `perRun`.
|
|
1067
|
+
*
|
|
1068
|
+
* The GCP shares are priced at the database's own location. Production's
|
|
1069
|
+
* Firestore is `nam5` (read from the Admin API 2026-10-01), at $0.06 per
|
|
1070
|
+
* 100,000 reads, $0.18 per 100,000 writes and $0.18 per GiB-month — twice
|
|
1071
|
+
* the single-region figures — and every Firestore operation in this table is
|
|
1072
|
+
* priced there. Object storage is GCS US multi-region, `storagePerGbMonth`.
|
|
1042
1073
|
*
|
|
1043
1074
|
* Everything else here is a cost-model input ONLY. `dataStoragePerGbMonth`,
|
|
1044
1075
|
* `perApiRequest`, `perContactMonth` and `perEmailSend` price what an org
|
|
@@ -1050,8 +1081,9 @@ export declare const PAGE_VIEW_CDN_REQUEST_COST_USD = 0.00018374681;
|
|
|
1050
1081
|
* The first three were corrected 2026-08-09 (AGL-1280) — storage $0.03 →
|
|
1051
1082
|
* $0.026 and form submissions $0.0005 → $0.00005 — `perPageView` was
|
|
1052
1083
|
* re-pegged 2026-09-09 (AGL-2711), from $0.0001 to $0.00016153846, and the
|
|
1053
|
-
* last two were re-priced at Vercel's dearest region
|
|
1054
|
-
* (AGL-3444): page views $0.
|
|
1084
|
+
* last two were re-priced at Vercel's dearest region and Firestore's `nam5`
|
|
1085
|
+
* on 2026-10-01 (AGL-3444): page views $0.00039902751, form submissions
|
|
1086
|
+
* $0.000061538462.
|
|
1055
1087
|
* All three MUST be changed here and in `METERED_UNIT_RATES_USD` together. See that
|
|
1056
1088
|
* table for each figure's basis; it is the one a customer is billed against,
|
|
1057
1089
|
* so it is the one that carries the working.
|
|
@@ -1078,9 +1110,44 @@ export declare const ORG_COGS_UNIT_RATES_USD: {
|
|
|
1078
1110
|
*/
|
|
1079
1111
|
perPageView: number;
|
|
1080
1112
|
perFormSubmission: number;
|
|
1081
|
-
/**
|
|
1113
|
+
/**
|
|
1114
|
+
* Firestore-backed dataset bytes — nam5's $0.18 per GiB-month, an order
|
|
1115
|
+
* pricier than object storage.
|
|
1116
|
+
*/
|
|
1082
1117
|
dataStoragePerGbMonth: number;
|
|
1118
|
+
/**
|
|
1119
|
+
* One `/v1` request — $117 per million (AGL-3444).
|
|
1120
|
+
*
|
|
1121
|
+
* Every request is a function invocation behind a CDN request, and it reads
|
|
1122
|
+
* before it answers (`apps/console/utils/api-v1.ts`). The ledger for a
|
|
1123
|
+
* default list page — 25 records, read as 26 — at Vercel's dearest region
|
|
1124
|
+
* and nam5's list prices:
|
|
1125
|
+
*
|
|
1126
|
+
* - reads: the key, the rate-limit window, the org, the month's quota
|
|
1127
|
+
* counter, the site the resource sits under, and the page — 31, at
|
|
1128
|
+
* $0.06 per 100,000 = $0.0000186
|
|
1129
|
+
* - writes: the rate-limit window and the usage counter — 2, at $0.18 per
|
|
1130
|
+
* 100,000 = $0.0000036
|
|
1131
|
+
* - the function, 0.4 s billed as active CPU at $0.221/hr, 2 GB at
|
|
1132
|
+
* $0.0183/GB-hr, $0.60 per million invocations = $0.0000292
|
|
1133
|
+
* - the CDN request: $3.20 per million = $0.0000032
|
|
1134
|
+
* - the response, 25 records at 3 KB — the largest mean document size
|
|
1135
|
+
* measured on production across the collections `/v1` lists (leads,
|
|
1136
|
+
* 3.0 KB; records, contacts, media and the rest 1.0–1.5 KB) — plus 2 KB
|
|
1137
|
+
* of request and envelope, through Fast Data Transfer ($0.35 a GB) and
|
|
1138
|
+
* Fast Origin Transfer ($0.43 a GB), decimal GB = $0.0000615
|
|
1139
|
+
*
|
|
1140
|
+
* $0.0001161, carried up to $0.000117. A page of 100 — the most a client
|
|
1141
|
+
* may ask for — costs about three times that, so the figure is the default
|
|
1142
|
+
* request rather than the ceiling; see the 2026-10-01 decision entry.
|
|
1143
|
+
*/
|
|
1083
1144
|
perApiRequest: number;
|
|
1145
|
+
/**
|
|
1146
|
+
* One CRM record held for a month. An operator-tuned estimate (AGL-1134),
|
|
1147
|
+
* not built from a per-operation price: at `nam5`'s $0.06 per 100,000 it
|
|
1148
|
+
* covers about 333 reads a record a month, plus the record's storage at
|
|
1149
|
+
* $0.18 per GiB-month — well beyond what a record is read.
|
|
1150
|
+
*/
|
|
1084
1151
|
perContactMonth: number;
|
|
1085
1152
|
/**
|
|
1086
1153
|
* One delivered email, whatever produced it — $0.90 per 1,000.
|
|
@@ -2473,6 +2540,109 @@ export declare const ESTIMATED_PAGE_TRANSFER_BYTES: number;
|
|
|
2473
2540
|
export declare function pageViewsFromBandwidthGb(bandwidthGb: number): number;
|
|
2474
2541
|
/** @see pageViewsFromBandwidthGb — the same constant, the other way. */
|
|
2475
2542
|
export declare function bandwidthGbFromPageViews(pageViews: number): number;
|
|
2543
|
+
/**
|
|
2544
|
+
* What ONE DECIMAL GB of video, audio or a file costs to SERVE FROM ORIGIN, by
|
|
2545
|
+
* term, at the dearest region every Vercel term is billed in (AGL-3474).
|
|
2546
|
+
*
|
|
2547
|
+
* The media CDN serves every type the edge must never hold (AGL-1515) on
|
|
2548
|
+
* every request, from origin, so a GB of it pays both of Vercel's transfer
|
|
2549
|
+
* meters and Storage's egress — where a page's GB is mostly answered by the
|
|
2550
|
+
* edge. This is the basis {@link ORIGIN_MEDIA_BANDWIDTH_WEIGHT} is derived
|
|
2551
|
+
* from, and the figure the published "at cost + 30%" has to be true of.
|
|
2552
|
+
*
|
|
2553
|
+
* | term | basis | per decimal GB |
|
|
2554
|
+
* |---|---|---|
|
|
2555
|
+
* | `fastDataTransfer` | Vercel Fast Data Transfer, dearest region, decimal GB | $0.35 |
|
|
2556
|
+
* | `fastOriginTransfer` | Vercel Fast Origin Transfer, dearest region, decimal GB | $0.43 |
|
|
2557
|
+
* | `storageEgress` | GCS internet egress at list, $0.12 per GiB (0–1 TiB) | $0.111759 |
|
|
2558
|
+
* | `streamingMemory` | 2 GB (the function default) at $0.0183/GB-hour, held 1,600 s | $0.016267 |
|
|
2559
|
+
* | `streamingCpu` | 60 s of active CPU at $0.221/hour — an allowance, see below | $0.003683 |
|
|
2560
|
+
* | `requests` | 1,000 range requests × $0.0000070 | $0.007 |
|
|
2561
|
+
* | **total** | | **$0.918709** |
|
|
2562
|
+
*
|
|
2563
|
+
* Each request is a CDN request ($3.20 per million), a function invocation
|
|
2564
|
+
* ($0.60 per million), the media document's read ($0.0000006 at `nam5`), the
|
|
2565
|
+
* day document's counter write ($0.0000018) and two Storage Class B
|
|
2566
|
+
* operations, the metadata read and the object read ($0.0000004 each). The
|
|
2567
|
+
* lockdown, quarantine and rate-limit reads are cached across requests and
|
|
2568
|
+
* cost nothing a request.
|
|
2569
|
+
*
|
|
2570
|
+
* `streamingCpu` is the one unmeasured term. The bytes are copied, not
|
|
2571
|
+
* computed — piping a GB through Node is a few seconds of CPU — and the
|
|
2572
|
+
* minute allowed here is chosen to err high, as every other basis in this
|
|
2573
|
+
* file does.
|
|
2574
|
+
*
|
|
2575
|
+
* ## Storing the bytes is NOT here
|
|
2576
|
+
*
|
|
2577
|
+
* A file in the library is already metered as storage (`storagePerGbMonth`)
|
|
2578
|
+
* and billed past the plan's storage at cost + 30% after card fees; serving
|
|
2579
|
+
* it does not store it again. Adding storage here would charge for the same
|
|
2580
|
+
* bytes twice.
|
|
2581
|
+
*/
|
|
2582
|
+
export declare const ORIGIN_MEDIA_SERVE_COST_USD_PER_GB: {
|
|
2583
|
+
readonly fastDataTransfer: 0.35;
|
|
2584
|
+
readonly fastOriginTransfer: 0.43;
|
|
2585
|
+
readonly storageEgress: number;
|
|
2586
|
+
readonly streamingMemory: number;
|
|
2587
|
+
readonly streamingCpu: number;
|
|
2588
|
+
readonly requests: number;
|
|
2589
|
+
};
|
|
2590
|
+
/** {@link ORIGIN_MEDIA_SERVE_COST_USD_PER_GB}, summed: about $0.9187 a decimal GB. */
|
|
2591
|
+
export declare const ORIGIN_MEDIA_COST_USD_PER_GB: number;
|
|
2592
|
+
/**
|
|
2593
|
+
* The published page-view overage, per view: what a billed view costs us
|
|
2594
|
+
* (`perPageView` and the request term) at {@link METERED_PRICE_MULTIPLE},
|
|
2595
|
+
* rounded up to the cent per 1,000 it is quoted in — $0.83 per 1,000. The
|
|
2596
|
+
* same expression as the console's `METERED_BILLED_RATES_USD.perPageView`,
|
|
2597
|
+
* computed here because the weight below is, and a spec holds the two equal.
|
|
2598
|
+
*/
|
|
2599
|
+
export declare const PAGE_VIEW_PUBLISHED_PRICE_USD: number;
|
|
2600
|
+
/**
|
|
2601
|
+
* (a) THE OVERAGE: does counting origin media at `weight` bill a GB of it past
|
|
2602
|
+
* the band at cost + 30%, kept after Stripe's percentage fee?
|
|
2603
|
+
*
|
|
2604
|
+
* A counted GB is `weight` GB of page views at {@link PAGE_VIEW_PUBLISHED_PRICE_USD}.
|
|
2605
|
+
*/
|
|
2606
|
+
export declare function originMediaOverageHolds(weight: number): boolean;
|
|
2607
|
+
/**
|
|
2608
|
+
* (b) THE BAND: does counting origin media at `weight` keep a plan that spends
|
|
2609
|
+
* its whole bandwidth band on it inside what the band was sized on?
|
|
2610
|
+
*
|
|
2611
|
+
* Every `bandwidthGb` band is sized at the cost of the views one GiB buys —
|
|
2612
|
+
* their weight (`perPageView`) and their requests
|
|
2613
|
+
* (`PAGE_VIEW_CDN_REQUEST_COST_USD`), $0.63712 a GiB — and
|
|
2614
|
+
* `tier-margin-floor.spec.ts` holds every tier at 1.3× its full-use cost on
|
|
2615
|
+
* that figure. A GiB of origin media spends `weight` GiB of the band, so the
|
|
2616
|
+
* band holds while `weight` GiB of band costs at least one GiB of media.
|
|
2617
|
+
*/
|
|
2618
|
+
export declare function originMediaBandHolds(weight: number): boolean;
|
|
2619
|
+
/**
|
|
2620
|
+
* How many GB of bandwidth one GB of video, audio or a file served from origin
|
|
2621
|
+
* counts as (AGL-3474, decided by the account owner 2026-10-02): the smallest
|
|
2622
|
+
* weight, in tenths and never below 1, that satisfies BOTH
|
|
2623
|
+
* {@link originMediaOverageHolds} and {@link originMediaBandHolds}.
|
|
2624
|
+
*
|
|
2625
|
+
* One weight rather than a second meter or a second rate, because it moves
|
|
2626
|
+
* the band and the overage together: the Free wall, the abuse ceiling, the
|
|
2627
|
+
* meters, the alerts and the invoice all read media through
|
|
2628
|
+
* `pageViewsFromMediaBytes`, which applies it. At today's bases the overage
|
|
2629
|
+
* needs 1.54 and the band 1.55, so it is 1.6 — the published sentence names
|
|
2630
|
+
* it, and the docs and `/pricing` have to change before it does.
|
|
2631
|
+
*
|
|
2632
|
+
* Derived, never written down: a rate or a band basis that moves re-derives
|
|
2633
|
+
* it, and `media-bandwidth.spec.ts` pins the figure so that a move is a
|
|
2634
|
+
* decision with a red test attached rather than a silent re-price.
|
|
2635
|
+
*/
|
|
2636
|
+
export declare const ORIGIN_MEDIA_BANDWIDTH_WEIGHT: number;
|
|
2637
|
+
/**
|
|
2638
|
+
* The sentence every customer surface states the weight in — `/pricing`
|
|
2639
|
+
* beside the metered rates (`tools/marketing/build-pricing-tables.mts`), and
|
|
2640
|
+
* the bandwidth, billing and media docs, which
|
|
2641
|
+
* `media-bandwidth-weight-copy.spec.ts` holds to this exact text. Built from
|
|
2642
|
+
* the derived figure, so a weight that moves turns those red before it can
|
|
2643
|
+
* bill anyone.
|
|
2644
|
+
*/
|
|
2645
|
+
export declare const ORIGIN_MEDIA_BANDWIDTH_SENTENCE: string;
|
|
2476
2646
|
/**
|
|
2477
2647
|
* How far past a plan's own included bandwidth the abuse ceiling sits
|
|
2478
2648
|
* (AGL-2155). Three times the bandwidth the customer bought is not growth; it
|
|
@@ -2481,7 +2651,7 @@ export declare function bandwidthGbFromPageViews(pageViews: number): number;
|
|
|
2481
2651
|
* It is a CAP, not a price, and it is lower than {@link
|
|
2482
2652
|
* FORM_ABUSE_CEILING_MULTIPLE} because bandwidth is the largest cost line the
|
|
2483
2653
|
* platform carries and the one a stranger can spend on the customer's behalf.
|
|
2484
|
-
* Past the band every 1,000 views bills $0.
|
|
2654
|
+
* Past the band every 1,000 views bills $0.80 against at most $0.62 of real
|
|
2485
2655
|
* cost — the dearest region's — once the CDN's request allowance is spent
|
|
2486
2656
|
* ({@link PAGE_VIEW_CDN_REQUEST_COST_USD}), so the tail is not a loss — but a
|
|
2487
2657
|
* scraper, a hotlinked asset or a botnet still bills the account holder for
|
|
@@ -2498,10 +2668,10 @@ export declare const BANDWIDTH_ABUSE_CEILING_MULTIPLE = 3;
|
|
|
2498
2668
|
* Free includes 2 GB ≈ 2,071 views; 3× would be ~6,212, which a genuinely
|
|
2499
2669
|
* successful hobby site (a post that lands on Hacker News) reaches in an
|
|
2500
2670
|
* afternoon and would be a miserable first experience of the platform.
|
|
2501
|
-
* 100,000 views/month ≈ 96.6 GB ≈ **$
|
|
2671
|
+
* 100,000 views/month ≈ 96.6 GB ≈ **$62 of real COGS** at the dearest
|
|
2502
2672
|
* region (`METERED_UNIT_RATES_USD.perPageView` plus
|
|
2503
2673
|
* `PAGE_VIEW_CDN_REQUEST_COST_USD`) — well above the free band, and an order
|
|
2504
|
-
* of magnitude below the $
|
|
2674
|
+
* of magnitude below the $615 a million views costs. It is the number
|
|
2505
2675
|
* that makes "free stays free" true without making it stingy.
|
|
2506
2676
|
*/
|
|
2507
2677
|
export declare const BANDWIDTH_ABUSE_CEILING_FLOOR = 100000;
|