@withpotter/lib 0.13.0-next.101
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/dist/__fixtures__/demo-content-server.json +484 -0
- package/dist/accessibility-context.d.ts +27 -0
- package/dist/accessibility-context.js +107 -0
- package/dist/accessibility-context.js.map +1 -0
- package/dist/active-workspace.d.ts +45 -0
- package/dist/active-workspace.js +34 -0
- package/dist/active-workspace.js.map +1 -0
- package/dist/admin-account-officer-api.d.ts +13 -0
- package/dist/admin-account-officer-api.js +12 -0
- package/dist/admin-account-officer-api.js.map +1 -0
- package/dist/admin-account-types.d.ts +122 -0
- package/dist/admin-account-types.js +1 -0
- package/dist/admin-account-types.js.map +1 -0
- package/dist/admin-adoption-api.d.ts +35 -0
- package/dist/admin-adoption-api.js +16 -0
- package/dist/admin-adoption-api.js.map +1 -0
- package/dist/admin-api.d.ts +1219 -0
- package/dist/admin-api.js +325 -0
- package/dist/admin-api.js.map +1 -0
- package/dist/admin-case-api.d.ts +32 -0
- package/dist/admin-case-api.js +63 -0
- package/dist/admin-case-api.js.map +1 -0
- package/dist/admin-case-types.d.ts +166 -0
- package/dist/admin-case-types.js +1 -0
- package/dist/admin-case-types.js.map +1 -0
- package/dist/admin-compliance-api.d.ts +31 -0
- package/dist/admin-compliance-api.js +20 -0
- package/dist/admin-compliance-api.js.map +1 -0
- package/dist/admin-country-api.d.ts +28 -0
- package/dist/admin-country-api.js +9 -0
- package/dist/admin-country-api.js.map +1 -0
- package/dist/admin-currency-types.d.ts +138 -0
- package/dist/admin-currency-types.js +1 -0
- package/dist/admin-currency-types.js.map +1 -0
- package/dist/admin-feedback-api.d.ts +215 -0
- package/dist/admin-feedback-api.js +63 -0
- package/dist/admin-feedback-api.js.map +1 -0
- package/dist/admin-inbox-seen.d.ts +22 -0
- package/dist/admin-inbox-seen.js +47 -0
- package/dist/admin-inbox-seen.js.map +1 -0
- package/dist/admin-ledger-api.d.ts +85 -0
- package/dist/admin-ledger-api.js +30 -0
- package/dist/admin-ledger-api.js.map +1 -0
- package/dist/admin-money-api.d.ts +127 -0
- package/dist/admin-money-api.js +125 -0
- package/dist/admin-money-api.js.map +1 -0
- package/dist/admin-newsletter-contacts-api.d.ts +70 -0
- package/dist/admin-newsletter-contacts-api.js +20 -0
- package/dist/admin-newsletter-contacts-api.js.map +1 -0
- package/dist/admin-newsletter-deliveries-api.d.ts +47 -0
- package/dist/admin-newsletter-deliveries-api.js +16 -0
- package/dist/admin-newsletter-deliveries-api.js.map +1 -0
- package/dist/admin-newsletters-api.d.ts +118 -0
- package/dist/admin-newsletters-api.js +47 -0
- package/dist/admin-newsletters-api.js.map +1 -0
- package/dist/admin-pos-api.d.ts +16 -0
- package/dist/admin-pos-api.js +35 -0
- package/dist/admin-pos-api.js.map +1 -0
- package/dist/admin-pos-query.d.ts +43 -0
- package/dist/admin-pos-query.js +55 -0
- package/dist/admin-pos-query.js.map +1 -0
- package/dist/admin-pos-types.d.ts +122 -0
- package/dist/admin-pos-types.js +1 -0
- package/dist/admin-pos-types.js.map +1 -0
- package/dist/admin-pricing-api.d.ts +88 -0
- package/dist/admin-pricing-api.js +66 -0
- package/dist/admin-pricing-api.js.map +1 -0
- package/dist/admin-readiness-api.d.ts +25 -0
- package/dist/admin-readiness-api.js +39 -0
- package/dist/admin-readiness-api.js.map +1 -0
- package/dist/admin-sales-api.d.ts +124 -0
- package/dist/admin-sales-api.js +41 -0
- package/dist/admin-sales-api.js.map +1 -0
- package/dist/admin-saved-replies-api.d.ts +35 -0
- package/dist/admin-saved-replies-api.js +70 -0
- package/dist/admin-saved-replies-api.js.map +1 -0
- package/dist/admin-service-operations-api.d.ts +142 -0
- package/dist/admin-service-operations-api.js +52 -0
- package/dist/admin-service-operations-api.js.map +1 -0
- package/dist/admin-signatures-api.d.ts +57 -0
- package/dist/admin-signatures-api.js +15 -0
- package/dist/admin-signatures-api.js.map +1 -0
- package/dist/admin-support-analytics-api.d.ts +36 -0
- package/dist/admin-support-analytics-api.js +71 -0
- package/dist/admin-support-analytics-api.js.map +1 -0
- package/dist/admin-tenant-setup-types.d.ts +85 -0
- package/dist/admin-tenant-setup-types.js +1 -0
- package/dist/admin-tenant-setup-types.js.map +1 -0
- package/dist/admin-tenants-query.d.ts +14 -0
- package/dist/admin-tenants-query.js +17 -0
- package/dist/admin-tenants-query.js.map +1 -0
- package/dist/analytics/PostHogProvider.d.ts +25 -0
- package/dist/analytics/PostHogProvider.js +44 -0
- package/dist/analytics/PostHogProvider.js.map +1 -0
- package/dist/analytics/index.d.ts +1 -0
- package/dist/analytics/index.js +11 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics.d.ts +1 -0
- package/dist/analytics.js +1 -0
- package/dist/api/abandoned-cart.d.ts +18 -0
- package/dist/api/abandoned-cart.js +68 -0
- package/dist/api/abandoned-cart.js.map +1 -0
- package/dist/api/accounts.d.ts +176 -0
- package/dist/api/accounts.js +194 -0
- package/dist/api/accounts.js.map +1 -0
- package/dist/api/analytics-patterns.d.ts +18 -0
- package/dist/api/analytics-patterns.js +52 -0
- package/dist/api/analytics-patterns.js.map +1 -0
- package/dist/api/analytics.d.ts +143 -0
- package/dist/api/analytics.js +379 -0
- package/dist/api/analytics.js.map +1 -0
- package/dist/api/assignee-prefs.d.ts +7 -0
- package/dist/api/assignee-prefs.js +17 -0
- package/dist/api/assignee-prefs.js.map +1 -0
- package/dist/api/automations.d.ts +73 -0
- package/dist/api/automations.js +102 -0
- package/dist/api/automations.js.map +1 -0
- package/dist/api/behaviors.d.ts +15 -0
- package/dist/api/behaviors.js +15 -0
- package/dist/api/behaviors.js.map +1 -0
- package/dist/api/bio.d.ts +7 -0
- package/dist/api/bio.js +17 -0
- package/dist/api/bio.js.map +1 -0
- package/dist/api/booking-calendar.d.ts +14 -0
- package/dist/api/booking-calendar.js +33 -0
- package/dist/api/booking-calendar.js.map +1 -0
- package/dist/api/bookings.d.ts +199 -0
- package/dist/api/bookings.js +284 -0
- package/dist/api/bookings.js.map +1 -0
- package/dist/api/business-devices.d.ts +108 -0
- package/dist/api/business-devices.js +139 -0
- package/dist/api/business-devices.js.map +1 -0
- package/dist/api/business-locations.d.ts +26 -0
- package/dist/api/business-locations.js +39 -0
- package/dist/api/business-locations.js.map +1 -0
- package/dist/api/cache-bus.d.ts +56 -0
- package/dist/api/cache-bus.js +18 -0
- package/dist/api/cache-bus.js.map +1 -0
- package/dist/api/calendar-sync.d.ts +49 -0
- package/dist/api/calendar-sync.js +50 -0
- package/dist/api/calendar-sync.js.map +1 -0
- package/dist/api/campaign-initiatives.d.ts +115 -0
- package/dist/api/campaign-initiatives.js +42 -0
- package/dist/api/campaign-initiatives.js.map +1 -0
- package/dist/api/campaigns.d.ts +89 -0
- package/dist/api/campaigns.js +100 -0
- package/dist/api/campaigns.js.map +1 -0
- package/dist/api/capabilities.d.ts +12 -0
- package/dist/api/capabilities.js +16 -0
- package/dist/api/capabilities.js.map +1 -0
- package/dist/api/commerce.d.ts +19 -0
- package/dist/api/commerce.js +31 -0
- package/dist/api/commerce.js.map +1 -0
- package/dist/api/communications.d.ts +166 -0
- package/dist/api/communications.js +141 -0
- package/dist/api/communications.js.map +1 -0
- package/dist/api/connect.d.ts +72 -0
- package/dist/api/connect.js +50 -0
- package/dist/api/connect.js.map +1 -0
- package/dist/api/content.d.ts +146 -0
- package/dist/api/content.js +187 -0
- package/dist/api/content.js.map +1 -0
- package/dist/api/conversations.d.ts +79 -0
- package/dist/api/conversations.js +41 -0
- package/dist/api/conversations.js.map +1 -0
- package/dist/api/core.d.ts +62 -0
- package/dist/api/core.js +223 -0
- package/dist/api/core.js.map +1 -0
- package/dist/api/credentials.d.ts +65 -0
- package/dist/api/credentials.js +48 -0
- package/dist/api/credentials.js.map +1 -0
- package/dist/api/credits.d.ts +96 -0
- package/dist/api/credits.js +24 -0
- package/dist/api/credits.js.map +1 -0
- package/dist/api/crm-analytics.d.ts +10 -0
- package/dist/api/crm-analytics.js +22 -0
- package/dist/api/crm-analytics.js.map +1 -0
- package/dist/api/crm-segments.d.ts +14 -0
- package/dist/api/crm-segments.js +42 -0
- package/dist/api/crm-segments.js.map +1 -0
- package/dist/api/deliveries.d.ts +99 -0
- package/dist/api/deliveries.js +37 -0
- package/dist/api/deliveries.js.map +1 -0
- package/dist/api/demo-content.d.ts +104 -0
- package/dist/api/demo-content.js +36 -0
- package/dist/api/demo-content.js.map +1 -0
- package/dist/api/device-shifts.d.ts +56 -0
- package/dist/api/device-shifts.js +50 -0
- package/dist/api/device-shifts.js.map +1 -0
- package/dist/api/devices.d.ts +6 -0
- package/dist/api/devices.js +10 -0
- package/dist/api/devices.js.map +1 -0
- package/dist/api/digital-files.d.ts +22 -0
- package/dist/api/digital-files.js +55 -0
- package/dist/api/digital-files.js.map +1 -0
- package/dist/api/discounts.d.ts +29 -0
- package/dist/api/discounts.js +46 -0
- package/dist/api/discounts.js.map +1 -0
- package/dist/api/disputes.d.ts +47 -0
- package/dist/api/disputes.js +42 -0
- package/dist/api/disputes.js.map +1 -0
- package/dist/api/feature-locked.d.ts +11 -0
- package/dist/api/feature-locked.js +18 -0
- package/dist/api/feature-locked.js.map +1 -0
- package/dist/api/feedback-prompts.d.ts +45 -0
- package/dist/api/feedback-prompts.js +85 -0
- package/dist/api/feedback-prompts.js.map +1 -0
- package/dist/api/feedback.d.ts +254 -0
- package/dist/api/feedback.js +108 -0
- package/dist/api/feedback.js.map +1 -0
- package/dist/api/finance.d.ts +199 -0
- package/dist/api/finance.js +203 -0
- package/dist/api/finance.js.map +1 -0
- package/dist/api/gallery.d.ts +30 -0
- package/dist/api/gallery.js +48 -0
- package/dist/api/gallery.js.map +1 -0
- package/dist/api/geo.d.ts +18 -0
- package/dist/api/geo.js +19 -0
- package/dist/api/geo.js.map +1 -0
- package/dist/api/giftcards.d.ts +63 -0
- package/dist/api/giftcards.js +63 -0
- package/dist/api/giftcards.js.map +1 -0
- package/dist/api/hardware-orders.d.ts +40 -0
- package/dist/api/hardware-orders.js +37 -0
- package/dist/api/hardware-orders.js.map +1 -0
- package/dist/api/index.d.ts +71 -0
- package/dist/api/index.js +78 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/inquiries.d.ts +92 -0
- package/dist/api/inquiries.js +129 -0
- package/dist/api/inquiries.js.map +1 -0
- package/dist/api/inventory.d.ts +133 -0
- package/dist/api/inventory.js +203 -0
- package/dist/api/inventory.js.map +1 -0
- package/dist/api/invite-body.d.ts +19 -0
- package/dist/api/invite-body.js +8 -0
- package/dist/api/invite-body.js.map +1 -0
- package/dist/api/invoices.d.ts +19 -0
- package/dist/api/invoices.js +80 -0
- package/dist/api/invoices.js.map +1 -0
- package/dist/api/locations.d.ts +15 -0
- package/dist/api/locations.js +30 -0
- package/dist/api/locations.js.map +1 -0
- package/dist/api/loyalty.d.ts +68 -0
- package/dist/api/loyalty.js +112 -0
- package/dist/api/loyalty.js.map +1 -0
- package/dist/api/marketing-consent.d.ts +36 -0
- package/dist/api/marketing-consent.js +11 -0
- package/dist/api/marketing-consent.js.map +1 -0
- package/dist/api/marketing-suppressions.d.ts +81 -0
- package/dist/api/marketing-suppressions.js +65 -0
- package/dist/api/marketing-suppressions.js.map +1 -0
- package/dist/api/members.d.ts +79 -0
- package/dist/api/members.js +148 -0
- package/dist/api/members.js.map +1 -0
- package/dist/api/merchant-notifications.d.ts +27 -0
- package/dist/api/merchant-notifications.js +41 -0
- package/dist/api/merchant-notifications.js.map +1 -0
- package/dist/api/merchant-referrals.d.ts +23 -0
- package/dist/api/merchant-referrals.js +10 -0
- package/dist/api/merchant-referrals.js.map +1 -0
- package/dist/api/merchant-subscriptions.d.ts +117 -0
- package/dist/api/merchant-subscriptions.js +113 -0
- package/dist/api/merchant-subscriptions.js.map +1 -0
- package/dist/api/misc.d.ts +4 -0
- package/dist/api/misc.js +24 -0
- package/dist/api/misc.js.map +1 -0
- package/dist/api/odoo.d.ts +102 -0
- package/dist/api/odoo.js +36 -0
- package/dist/api/odoo.js.map +1 -0
- package/dist/api/onboarding.d.ts +48 -0
- package/dist/api/onboarding.js +78 -0
- package/dist/api/onboarding.js.map +1 -0
- package/dist/api/orders.d.ts +153 -0
- package/dist/api/orders.js +303 -0
- package/dist/api/orders.js.map +1 -0
- package/dist/api/organizations.d.ts +14 -0
- package/dist/api/organizations.js +19 -0
- package/dist/api/organizations.js.map +1 -0
- package/dist/api/packages.d.ts +16 -0
- package/dist/api/packages.js +25 -0
- package/dist/api/packages.js.map +1 -0
- package/dist/api/pages.d.ts +79 -0
- package/dist/api/pages.js +125 -0
- package/dist/api/pages.js.map +1 -0
- package/dist/api/payables.d.ts +34 -0
- package/dist/api/payables.js +70 -0
- package/dist/api/payables.js.map +1 -0
- package/dist/api/plan-refusal.d.ts +21 -0
- package/dist/api/plan-refusal.js +28 -0
- package/dist/api/plan-refusal.js.map +1 -0
- package/dist/api/pos.d.ts +66 -0
- package/dist/api/pos.js +115 -0
- package/dist/api/pos.js.map +1 -0
- package/dist/api/potter.d.ts +114 -0
- package/dist/api/potter.js +88 -0
- package/dist/api/potter.js.map +1 -0
- package/dist/api/push.d.ts +25 -0
- package/dist/api/push.js +23 -0
- package/dist/api/push.js.map +1 -0
- package/dist/api/referrals.d.ts +10 -0
- package/dist/api/referrals.js +16 -0
- package/dist/api/referrals.js.map +1 -0
- package/dist/api/resource-categories.d.ts +35 -0
- package/dist/api/resource-categories.js +76 -0
- package/dist/api/resource-categories.js.map +1 -0
- package/dist/api/resources.d.ts +54 -0
- package/dist/api/resources.js +92 -0
- package/dist/api/resources.js.map +1 -0
- package/dist/api/reviews.d.ts +18 -0
- package/dist/api/reviews.js +46 -0
- package/dist/api/reviews.js.map +1 -0
- package/dist/api/riders.d.ts +70 -0
- package/dist/api/riders.js +24 -0
- package/dist/api/riders.js.map +1 -0
- package/dist/api/role-permissions.d.ts +25 -0
- package/dist/api/role-permissions.js +47 -0
- package/dist/api/role-permissions.js.map +1 -0
- package/dist/api/sales-channels.d.ts +234 -0
- package/dist/api/sales-channels.js +119 -0
- package/dist/api/sales-channels.js.map +1 -0
- package/dist/api/service-missing.d.ts +10 -0
- package/dist/api/service-missing.js +19 -0
- package/dist/api/service-missing.js.map +1 -0
- package/dist/api/session-refresh.d.ts +18 -0
- package/dist/api/session-refresh.js +37 -0
- package/dist/api/session-refresh.js.map +1 -0
- package/dist/api/session-scope.d.ts +35 -0
- package/dist/api/session-scope.js +53 -0
- package/dist/api/session-scope.js.map +1 -0
- package/dist/api/settlements.d.ts +106 -0
- package/dist/api/settlements.js +114 -0
- package/dist/api/settlements.js.map +1 -0
- package/dist/api/share-links.d.ts +46 -0
- package/dist/api/share-links.js +25 -0
- package/dist/api/share-links.js.map +1 -0
- package/dist/api/shift-notes.d.ts +19 -0
- package/dist/api/shift-notes.js +13 -0
- package/dist/api/shift-notes.js.map +1 -0
- package/dist/api/shipping.d.ts +42 -0
- package/dist/api/shipping.js +53 -0
- package/dist/api/shipping.js.map +1 -0
- package/dist/api/social-sources.d.ts +58 -0
- package/dist/api/social-sources.js +23 -0
- package/dist/api/social-sources.js.map +1 -0
- package/dist/api/tabs.d.ts +14 -0
- package/dist/api/tabs.js +39 -0
- package/dist/api/tabs.js.map +1 -0
- package/dist/api/team.d.ts +112 -0
- package/dist/api/team.js +144 -0
- package/dist/api/team.js.map +1 -0
- package/dist/api/template-settings.d.ts +26 -0
- package/dist/api/template-settings.js +36 -0
- package/dist/api/template-settings.js.map +1 -0
- package/dist/api/templates.d.ts +21 -0
- package/dist/api/templates.js +25 -0
- package/dist/api/templates.js.map +1 -0
- package/dist/api/tenant-slug.d.ts +13 -0
- package/dist/api/tenant-slug.js +18 -0
- package/dist/api/tenant-slug.js.map +1 -0
- package/dist/api/tenant.d.ts +33 -0
- package/dist/api/tenant.js +51 -0
- package/dist/api/tenant.js.map +1 -0
- package/dist/api/types/analytics-attribution.d.ts +43 -0
- package/dist/api/types/analytics-attribution.js +1 -0
- package/dist/api/types/analytics-attribution.js.map +1 -0
- package/dist/api/types/analytics.d.ts +465 -0
- package/dist/api/types/analytics.js +1 -0
- package/dist/api/types/analytics.js.map +1 -0
- package/dist/api/types/auth.d.ts +206 -0
- package/dist/api/types/auth.js +7 -0
- package/dist/api/types/auth.js.map +1 -0
- package/dist/api/types/automation-flow.d.ts +199 -0
- package/dist/api/types/automation-flow.js +1 -0
- package/dist/api/types/automation-flow.js.map +1 -0
- package/dist/api/types/bookings.d.ts +226 -0
- package/dist/api/types/bookings.js +1 -0
- package/dist/api/types/bookings.js.map +1 -0
- package/dist/api/types/campaigns.d.ts +262 -0
- package/dist/api/types/campaigns.js +1 -0
- package/dist/api/types/campaigns.js.map +1 -0
- package/dist/api/types/catalog.d.ts +273 -0
- package/dist/api/types/catalog.js +1 -0
- package/dist/api/types/catalog.js.map +1 -0
- package/dist/api/types/collections.d.ts +189 -0
- package/dist/api/types/collections.js +1 -0
- package/dist/api/types/collections.js.map +1 -0
- package/dist/api/types/crm.d.ts +264 -0
- package/dist/api/types/crm.js +1 -0
- package/dist/api/types/crm.js.map +1 -0
- package/dist/api/types/customers.d.ts +269 -0
- package/dist/api/types/customers.js +1 -0
- package/dist/api/types/customers.js.map +1 -0
- package/dist/api/types/devices.d.ts +390 -0
- package/dist/api/types/devices.js +1 -0
- package/dist/api/types/devices.js.map +1 -0
- package/dist/api/types/discounts.d.ts +237 -0
- package/dist/api/types/discounts.js +1 -0
- package/dist/api/types/discounts.js.map +1 -0
- package/dist/api/types/filters.d.ts +258 -0
- package/dist/api/types/filters.js +1 -0
- package/dist/api/types/filters.js.map +1 -0
- package/dist/api/types/index.d.ts +31 -0
- package/dist/api/types/index.js +25 -0
- package/dist/api/types/index.js.map +1 -0
- package/dist/api/types/inquiries.d.ts +266 -0
- package/dist/api/types/inquiries.js +1 -0
- package/dist/api/types/inquiries.js.map +1 -0
- package/dist/api/types/locations.d.ts +208 -0
- package/dist/api/types/locations.js +1 -0
- package/dist/api/types/locations.js.map +1 -0
- package/dist/api/types/onboarding.d.ts +311 -0
- package/dist/api/types/onboarding.js +1 -0
- package/dist/api/types/onboarding.js.map +1 -0
- package/dist/api/types/operations.d.ts +136 -0
- package/dist/api/types/operations.js +1 -0
- package/dist/api/types/operations.js.map +1 -0
- package/dist/api/types/orders.d.ts +242 -0
- package/dist/api/types/orders.js +1 -0
- package/dist/api/types/orders.js.map +1 -0
- package/dist/api/types/payables.d.ts +140 -0
- package/dist/api/types/payables.js +1 -0
- package/dist/api/types/payables.js.map +1 -0
- package/dist/api/types/pos.d.ts +121 -0
- package/dist/api/types/pos.js +5 -0
- package/dist/api/types/pos.js.map +1 -0
- package/dist/api/types/record-analytics.d.ts +95 -0
- package/dist/api/types/record-analytics.js +1 -0
- package/dist/api/types/record-analytics.js.map +1 -0
- package/dist/api/types/sales-patterns.d.ts +58 -0
- package/dist/api/types/sales-patterns.js +1 -0
- package/dist/api/types/sales-patterns.js.map +1 -0
- package/dist/api/types/tabs.d.ts +210 -0
- package/dist/api/types/tabs.js +1 -0
- package/dist/api/types/tabs.js.map +1 -0
- package/dist/api/types/templates.d.ts +398 -0
- package/dist/api/types/templates.js +1 -0
- package/dist/api/types/templates.js.map +1 -0
- package/dist/api/types/waitlist.d.ts +324 -0
- package/dist/api/types/waitlist.js +1 -0
- package/dist/api/types/waitlist.js.map +1 -0
- package/dist/api/types.d.ts +1 -0
- package/dist/api/types.js +1 -0
- package/dist/api/unserved-routes.d.ts +4 -0
- package/dist/api/unserved-routes.js +15 -0
- package/dist/api/unserved-routes.js.map +1 -0
- package/dist/api/waitlist.d.ts +80 -0
- package/dist/api/waitlist.js +85 -0
- package/dist/api/waitlist.js.map +1 -0
- package/dist/api.d.ts +1 -0
- package/dist/api.js +1 -0
- package/dist/app-name.d.ts +29 -0
- package/dist/app-name.js +11 -0
- package/dist/app-name.js.map +1 -0
- package/dist/arrival.d.ts +48 -0
- package/dist/arrival.js +34 -0
- package/dist/arrival.js.map +1 -0
- package/dist/auth-context.d.ts +90 -0
- package/dist/auth-context.js +732 -0
- package/dist/auth-context.js.map +1 -0
- package/dist/auth-session.d.ts +1 -0
- package/dist/auth-session.js +25 -0
- package/dist/auth-session.js.map +1 -0
- package/dist/bank-phone.d.ts +2 -0
- package/dist/bank-phone.js +12 -0
- package/dist/bank-phone.js.map +1 -0
- package/dist/behavior-config-types.d.ts +49 -0
- package/dist/behavior-config-types.js +1 -0
- package/dist/behavior-config-types.js.map +1 -0
- package/dist/behavior-context.d.ts +15 -0
- package/dist/behavior-context.js +38 -0
- package/dist/behavior-context.js.map +1 -0
- package/dist/behavior-fields.d.ts +41 -0
- package/dist/behavior-fields.js +20 -0
- package/dist/behavior-fields.js.map +1 -0
- package/dist/blog/__fixtures__/paste-hygiene.d.ts +7 -0
- package/dist/blog/__fixtures__/paste-hygiene.js +36 -0
- package/dist/blog/__fixtures__/paste-hygiene.js.map +1 -0
- package/dist/blog/density.d.ts +65 -0
- package/dist/blog/density.js +126 -0
- package/dist/blog/density.js.map +1 -0
- package/dist/blog/paste-hygiene.d.ts +3 -0
- package/dist/blog/paste-hygiene.js +168 -0
- package/dist/blog/paste-hygiene.js.map +1 -0
- package/dist/booking-location-label.d.ts +10 -0
- package/dist/booking-location-label.js +24 -0
- package/dist/booking-location-label.js.map +1 -0
- package/dist/booking-meeting-link.d.ts +48 -0
- package/dist/booking-meeting-link.js +40 -0
- package/dist/booking-meeting-link.js.map +1 -0
- package/dist/box-channels.d.ts +22 -0
- package/dist/box-channels.js +16 -0
- package/dist/box-channels.js.map +1 -0
- package/dist/box-delivery.d.ts +10 -0
- package/dist/box-delivery.js +5 -0
- package/dist/box-delivery.js.map +1 -0
- package/dist/box-inbox.d.ts +11 -0
- package/dist/box-inbox.js +5 -0
- package/dist/box-inbox.js.map +1 -0
- package/dist/box-letting.d.ts +14 -0
- package/dist/box-letting.js +7 -0
- package/dist/box-letting.js.map +1 -0
- package/dist/box-mark-paths.d.ts +28 -0
- package/dist/box-mark-paths.js +23 -0
- package/dist/box-mark-paths.js.map +1 -0
- package/dist/box-media.d.ts +9 -0
- package/dist/box-media.js +5 -0
- package/dist/box-media.js.map +1 -0
- package/dist/box-products.d.ts +16 -0
- package/dist/box-products.js +9 -0
- package/dist/box-products.js.map +1 -0
- package/dist/box-splits.d.ts +12 -0
- package/dist/box-splits.js +5 -0
- package/dist/box-splits.js.map +1 -0
- package/dist/brand.d.ts +26 -0
- package/dist/brand.js +22 -0
- package/dist/brand.js.map +1 -0
- package/dist/business-categories.d.ts +50 -0
- package/dist/business-categories.js +378 -0
- package/dist/business-categories.js.map +1 -0
- package/dist/business-intents.d.ts +31 -0
- package/dist/business-intents.js +142 -0
- package/dist/business-intents.js.map +1 -0
- package/dist/capability-context.d.ts +63 -0
- package/dist/capability-context.js +84 -0
- package/dist/capability-context.js.map +1 -0
- package/dist/carriers.d.ts +83 -0
- package/dist/carriers.js +124 -0
- package/dist/carriers.js.map +1 -0
- package/dist/commerce-build/api.d.ts +29 -0
- package/dist/commerce-build/api.js +152 -0
- package/dist/commerce-build/api.js.map +1 -0
- package/dist/commerce-build/contracts-profile.d.ts +83 -0
- package/dist/commerce-build/contracts-profile.js +1 -0
- package/dist/commerce-build/contracts-profile.js.map +1 -0
- package/dist/commerce-build/contracts-spec.d.ts +217 -0
- package/dist/commerce-build/contracts-spec.js +1 -0
- package/dist/commerce-build/contracts-spec.js.map +1 -0
- package/dist/commerce-build/contracts.d.ts +2 -0
- package/dist/commerce-build/contracts.js +1 -0
- package/dist/commerce-build/contracts.js.map +1 -0
- package/dist/commerce-build/launch-state.d.ts +20 -0
- package/dist/commerce-build/launch-state.js +72 -0
- package/dist/commerce-build/launch-state.js.map +1 -0
- package/dist/commerce-build/profile-utils.d.ts +5 -0
- package/dist/commerce-build/profile-utils.js +14 -0
- package/dist/commerce-build/profile-utils.js.map +1 -0
- package/dist/commerce-build/setup-flow.d.ts +10 -0
- package/dist/commerce-build/setup-flow.js +24 -0
- package/dist/commerce-build/setup-flow.js.map +1 -0
- package/dist/commerce-build/setup-session.d.ts +26 -0
- package/dist/commerce-build/setup-session.js +70 -0
- package/dist/commerce-build/setup-session.js.map +1 -0
- package/dist/commerce-build/turn-streaming.d.ts +21 -0
- package/dist/commerce-build/turn-streaming.js +113 -0
- package/dist/commerce-build/turn-streaming.js.map +1 -0
- package/dist/commerce-build/workspace-components.d.ts +23 -0
- package/dist/commerce-build/workspace-components.js +66 -0
- package/dist/commerce-build/workspace-components.js.map +1 -0
- package/dist/commerce-build/workspace-config.d.ts +7 -0
- package/dist/commerce-build/workspace-config.js +74 -0
- package/dist/commerce-build/workspace-config.js.map +1 -0
- package/dist/companion/config.d.ts +31 -0
- package/dist/companion/config.js +59 -0
- package/dist/companion/config.js.map +1 -0
- package/dist/connect/catalog.d.ts +32 -0
- package/dist/connect/catalog.js +268 -0
- package/dist/connect/catalog.js.map +1 -0
- package/dist/connect/fixtures/commands.d.ts +8 -0
- package/dist/connect/fixtures/commands.js +146 -0
- package/dist/connect/fixtures/commands.js.map +1 -0
- package/dist/connect/fixtures/connections.d.ts +21 -0
- package/dist/connect/fixtures/connections.js +370 -0
- package/dist/connect/fixtures/connections.js.map +1 -0
- package/dist/connect/fixtures/identities.d.ts +10 -0
- package/dist/connect/fixtures/identities.js +61 -0
- package/dist/connect/fixtures/identities.js.map +1 -0
- package/dist/connect/fixtures/index.d.ts +11 -0
- package/dist/connect/fixtures/index.js +11 -0
- package/dist/connect/fixtures/index.js.map +1 -0
- package/dist/connect/fixtures/usage.d.ts +2 -0
- package/dist/connect/fixtures/usage.js +21 -0
- package/dist/connect/fixtures/usage.js.map +1 -0
- package/dist/connect/fixtures.d.ts +1 -0
- package/dist/connect/fixtures.js +1 -0
- package/dist/connect/from-notifications.d.ts +3 -0
- package/dist/connect/from-notifications.js +78 -0
- package/dist/connect/from-notifications.js.map +1 -0
- package/dist/connect/identity.d.ts +67 -0
- package/dist/connect/identity.js +24 -0
- package/dist/connect/identity.js.map +1 -0
- package/dist/connect/index.d.ts +13 -0
- package/dist/connect/index.js +22 -0
- package/dist/connect/index.js.map +1 -0
- package/dist/connect/next-up.d.ts +18 -0
- package/dist/connect/next-up.js +45 -0
- package/dist/connect/next-up.js.map +1 -0
- package/dist/connect/types.d.ts +354 -0
- package/dist/connect/types.js +68 -0
- package/dist/connect/types.js.map +1 -0
- package/dist/connect/use-connect.d.ts +51 -0
- package/dist/connect/use-connect.js +85 -0
- package/dist/connect/use-connect.js.map +1 -0
- package/dist/connect.d.ts +1 -0
- package/dist/connect.js +1 -0
- package/dist/converted-tag.d.ts +7 -0
- package/dist/converted-tag.js +9 -0
- package/dist/converted-tag.js.map +1 -0
- package/dist/countries.d.ts +65 -0
- package/dist/countries.js +374 -0
- package/dist/countries.js.map +1 -0
- package/dist/country-regions.d.ts +12 -0
- package/dist/country-regions.js +36 -0
- package/dist/country-regions.js.map +1 -0
- package/dist/csv.d.ts +28 -0
- package/dist/csv.js +91 -0
- package/dist/csv.js.map +1 -0
- package/dist/currency.d.ts +5 -0
- package/dist/currency.js +25 -0
- package/dist/currency.js.map +1 -0
- package/dist/customer-helpers.d.ts +30 -0
- package/dist/customer-helpers.js +66 -0
- package/dist/customer-helpers.js.map +1 -0
- package/dist/customer-stage.d.ts +125 -0
- package/dist/customer-stage.js +113 -0
- package/dist/customer-stage.js.map +1 -0
- package/dist/dashboard-destinations.d.ts +5 -0
- package/dist/dashboard-destinations.js +29 -0
- package/dist/dashboard-destinations.js.map +1 -0
- package/dist/demo-content-mock.d.ts +22 -0
- package/dist/demo-content-mock.js +70 -0
- package/dist/demo-content-mock.js.map +1 -0
- package/dist/demo-content-poller.d.ts +33 -0
- package/dist/demo-content-poller.js +80 -0
- package/dist/demo-content-poller.js.map +1 -0
- package/dist/demo-content.d.ts +43 -0
- package/dist/demo-content.js +78 -0
- package/dist/demo-content.js.map +1 -0
- package/dist/describe-activity.d.ts +44 -0
- package/dist/describe-activity.js +16 -0
- package/dist/describe-activity.js.map +1 -0
- package/dist/describe-invite.d.ts +19 -0
- package/dist/describe-invite.js +46 -0
- package/dist/describe-invite.js.map +1 -0
- package/dist/design-schema.d.ts +76 -0
- package/dist/design-schema.js +47 -0
- package/dist/design-schema.js.map +1 -0
- package/dist/destination-alias.d.ts +43 -0
- package/dist/destination-alias.js +146 -0
- package/dist/destination-alias.js.map +1 -0
- package/dist/document-numbering.d.ts +40 -0
- package/dist/document-numbering.js +48 -0
- package/dist/document-numbering.js.map +1 -0
- package/dist/document-title.d.ts +22 -0
- package/dist/document-title.js +85 -0
- package/dist/document-title.js.map +1 -0
- package/dist/editor/row-ops.d.ts +39 -0
- package/dist/editor/row-ops.js +25 -0
- package/dist/editor/row-ops.js.map +1 -0
- package/dist/editor-agent/apply-proposal.d.ts +12 -0
- package/dist/editor-agent/apply-proposal.js +44 -0
- package/dist/editor-agent/apply-proposal.js.map +1 -0
- package/dist/editor-agent/contracts.d.ts +174 -0
- package/dist/editor-agent/contracts.js +1 -0
- package/dist/editor-agent/contracts.js.map +1 -0
- package/dist/editor-agent/converse.d.ts +34 -0
- package/dist/editor-agent/converse.js +141 -0
- package/dist/editor-agent/converse.js.map +1 -0
- package/dist/editor-agent/flag.d.ts +12 -0
- package/dist/editor-agent/flag.js +19 -0
- package/dist/editor-agent/flag.js.map +1 -0
- package/dist/editor-agent/template-document.d.ts +52 -0
- package/dist/editor-agent/template-document.js +50 -0
- package/dist/editor-agent/template-document.js.map +1 -0
- package/dist/editor-agent/use-converse.d.ts +30 -0
- package/dist/editor-agent/use-converse.js +130 -0
- package/dist/editor-agent/use-converse.js.map +1 -0
- package/dist/effective-module-labels.d.ts +17 -0
- package/dist/effective-module-labels.js +14 -0
- package/dist/effective-module-labels.js.map +1 -0
- package/dist/embedded-frame.d.ts +30 -0
- package/dist/embedded-frame.js +23 -0
- package/dist/embedded-frame.js.map +1 -0
- package/dist/empty-state-copy.d.ts +27 -0
- package/dist/empty-state-copy.js +167 -0
- package/dist/empty-state-copy.js.map +1 -0
- package/dist/end-session.d.ts +23 -0
- package/dist/end-session.js +30 -0
- package/dist/end-session.js.map +1 -0
- package/dist/file-intake.d.ts +65 -0
- package/dist/file-intake.js +162 -0
- package/dist/file-intake.js.map +1 -0
- package/dist/first-run.d.ts +5 -0
- package/dist/first-run.js +13 -0
- package/dist/first-run.js.map +1 -0
- package/dist/form-answers.d.ts +57 -0
- package/dist/form-answers.js +79 -0
- package/dist/form-answers.js.map +1 -0
- package/dist/form-draft.d.ts +30 -0
- package/dist/form-draft.js +73 -0
- package/dist/form-draft.js.map +1 -0
- package/dist/format.d.ts +29 -0
- package/dist/format.js +21 -0
- package/dist/format.js.map +1 -0
- package/dist/fulfilment-nav.d.ts +79 -0
- package/dist/fulfilment-nav.js +18 -0
- package/dist/fulfilment-nav.js.map +1 -0
- package/dist/go-live-gate.d.ts +55 -0
- package/dist/go-live-gate.js +17 -0
- package/dist/go-live-gate.js.map +1 -0
- package/dist/group-activity.d.ts +37 -0
- package/dist/group-activity.js +43 -0
- package/dist/group-activity.js.map +1 -0
- package/dist/haptic.d.ts +5 -0
- package/dist/haptic.js +16 -0
- package/dist/haptic.js.map +1 -0
- package/dist/help-topics.d.ts +77 -0
- package/dist/help-topics.js +308 -0
- package/dist/help-topics.js.map +1 -0
- package/dist/icon-resolver.d.ts +45 -0
- package/dist/icon-resolver.js +40 -0
- package/dist/icon-resolver.js.map +1 -0
- package/dist/icons/commerce.d.ts +9 -0
- package/dist/icons/commerce.js +168 -0
- package/dist/icons/commerce.js.map +1 -0
- package/dist/icons/core.d.ts +9 -0
- package/dist/icons/core.js +173 -0
- package/dist/icons/core.js.map +1 -0
- package/dist/icons/making.d.ts +9 -0
- package/dist/icons/making.js +209 -0
- package/dist/icons/making.js.map +1 -0
- package/dist/icons/places.d.ts +9 -0
- package/dist/icons/places.js +232 -0
- package/dist/icons/places.js.map +1 -0
- package/dist/icons/world.d.ts +9 -0
- package/dist/icons/world.js +87 -0
- package/dist/icons/world.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/industry-configs/beauty.d.ts +2 -0
- package/dist/industry-configs/beauty.js +152 -0
- package/dist/industry-configs/beauty.js.map +1 -0
- package/dist/industry-configs/creative.d.ts +2 -0
- package/dist/industry-configs/creative.js +131 -0
- package/dist/industry-configs/creative.js.map +1 -0
- package/dist/industry-configs/default.d.ts +2 -0
- package/dist/industry-configs/default.js +77 -0
- package/dist/industry-configs/default.js.map +1 -0
- package/dist/industry-configs/education.d.ts +2 -0
- package/dist/industry-configs/education.js +137 -0
- package/dist/industry-configs/education.js.map +1 -0
- package/dist/industry-configs/events.d.ts +2 -0
- package/dist/industry-configs/events.js +118 -0
- package/dist/industry-configs/events.js.map +1 -0
- package/dist/industry-configs/fashion.d.ts +2 -0
- package/dist/industry-configs/fashion.js +128 -0
- package/dist/industry-configs/fashion.js.map +1 -0
- package/dist/industry-configs/fitness.d.ts +2 -0
- package/dist/industry-configs/fitness.js +128 -0
- package/dist/industry-configs/fitness.js.map +1 -0
- package/dist/industry-configs/food.d.ts +2 -0
- package/dist/industry-configs/food.js +138 -0
- package/dist/industry-configs/food.js.map +1 -0
- package/dist/industry-configs/hospitality.d.ts +2 -0
- package/dist/industry-configs/hospitality.js +157 -0
- package/dist/industry-configs/hospitality.js.map +1 -0
- package/dist/industry-configs/index.d.ts +25 -0
- package/dist/industry-configs/index.js +77 -0
- package/dist/industry-configs/index.js.map +1 -0
- package/dist/industry-configs/professional.d.ts +2 -0
- package/dist/industry-configs/professional.js +129 -0
- package/dist/industry-configs/professional.js.map +1 -0
- package/dist/industry-configs/realestate.d.ts +2 -0
- package/dist/industry-configs/realestate.js +146 -0
- package/dist/industry-configs/realestate.js.map +1 -0
- package/dist/industry-configs/retail.d.ts +2 -0
- package/dist/industry-configs/retail.js +108 -0
- package/dist/industry-configs/retail.js.map +1 -0
- package/dist/industry-configs/services.d.ts +2 -0
- package/dist/industry-configs/services.js +120 -0
- package/dist/industry-configs/services.js.map +1 -0
- package/dist/industry-configs/technology.d.ts +2 -0
- package/dist/industry-configs/technology.js +120 -0
- package/dist/industry-configs/technology.js.map +1 -0
- package/dist/industry-configs/types.d.ts +99 -0
- package/dist/industry-configs/types.js +1 -0
- package/dist/industry-configs/types.js.map +1 -0
- package/dist/industry-configs/wellness.d.ts +2 -0
- package/dist/industry-configs/wellness.js +112 -0
- package/dist/industry-configs/wellness.js.map +1 -0
- package/dist/industry-configs.d.ts +1 -0
- package/dist/industry-configs.js +1 -0
- package/dist/intents/analytics-labels.d.ts +70 -0
- package/dist/intents/analytics-labels.js +39 -0
- package/dist/intents/analytics-labels.js.map +1 -0
- package/dist/intents/archetype-flow.d.ts +146 -0
- package/dist/intents/archetype-flow.js +185 -0
- package/dist/intents/archetype-flow.js.map +1 -0
- package/dist/intents/booking-query-style.d.ts +32 -0
- package/dist/intents/booking-query-style.js +22 -0
- package/dist/intents/booking-query-style.js.map +1 -0
- package/dist/intents/capture-leads.config.d.ts +31 -0
- package/dist/intents/capture-leads.config.js +231 -0
- package/dist/intents/capture-leads.config.js.map +1 -0
- package/dist/intents/catalog-stock.d.ts +43 -0
- package/dist/intents/catalog-stock.js +43 -0
- package/dist/intents/catalog-stock.js.map +1 -0
- package/dist/intents/collapse-shared-nav.d.ts +95 -0
- package/dist/intents/collapse-shared-nav.js +171 -0
- package/dist/intents/collapse-shared-nav.js.map +1 -0
- package/dist/intents/default-commerce.config.d.ts +6 -0
- package/dist/intents/default-commerce.config.js +281 -0
- package/dist/intents/default-commerce.config.js.map +1 -0
- package/dist/intents/digital-products.config.d.ts +2 -0
- package/dist/intents/digital-products.config.js +239 -0
- package/dist/intents/digital-products.config.js.map +1 -0
- package/dist/intents/dine-in.config.d.ts +15 -0
- package/dist/intents/dine-in.config.js +331 -0
- package/dist/intents/dine-in.config.js.map +1 -0
- package/dist/intents/event-tickets.config.d.ts +2 -0
- package/dist/intents/event-tickets.config.js +368 -0
- package/dist/intents/event-tickets.config.js.map +1 -0
- package/dist/intents/food-orders.config.d.ts +2 -0
- package/dist/intents/food-orders.config.js +299 -0
- package/dist/intents/food-orders.config.js.map +1 -0
- package/dist/intents/icon-map.d.ts +15 -0
- package/dist/intents/icon-map.js +104 -0
- package/dist/intents/icon-map.js.map +1 -0
- package/dist/intents/index.d.ts +12 -0
- package/dist/intents/index.js +50 -0
- package/dist/intents/index.js.map +1 -0
- package/dist/intents/infer-intents.d.ts +10 -0
- package/dist/intents/infer-intents.js +23 -0
- package/dist/intents/infer-intents.js.map +1 -0
- package/dist/intents/intent-chips.d.ts +47 -0
- package/dist/intents/intent-chips.js +38 -0
- package/dist/intents/intent-chips.js.map +1 -0
- package/dist/intents/intent-nav.d.ts +95 -0
- package/dist/intents/intent-nav.js +423 -0
- package/dist/intents/intent-nav.js.map +1 -0
- package/dist/intents/intent-scope.d.ts +52 -0
- package/dist/intents/intent-scope.js +19 -0
- package/dist/intents/intent-scope.js.map +1 -0
- package/dist/intents/nav-coverage.d.ts +71 -0
- package/dist/intents/nav-coverage.js +132 -0
- package/dist/intents/nav-coverage.js.map +1 -0
- package/dist/intents/operating-shell.d.ts +45 -0
- package/dist/intents/operating-shell.js +142 -0
- package/dist/intents/operating-shell.js.map +1 -0
- package/dist/intents/order-display.d.ts +21 -0
- package/dist/intents/order-display.js +110 -0
- package/dist/intents/order-display.js.map +1 -0
- package/dist/intents/order-intent.d.ts +18 -0
- package/dist/intents/order-intent.js +14 -0
- package/dist/intents/order-intent.js.map +1 -0
- package/dist/intents/order-progress.d.ts +81 -0
- package/dist/intents/order-progress.js +91 -0
- package/dist/intents/order-progress.js.map +1 -0
- package/dist/intents/order-sections.d.ts +173 -0
- package/dist/intents/order-sections.js +188 -0
- package/dist/intents/order-sections.js.map +1 -0
- package/dist/intents/order-stats.d.ts +24 -0
- package/dist/intents/order-stats.js +16 -0
- package/dist/intents/order-stats.js.map +1 -0
- package/dist/intents/order-transitions.d.ts +19 -0
- package/dist/intents/order-transitions.js +66 -0
- package/dist/intents/order-transitions.js.map +1 -0
- package/dist/intents/product-editor-config.d.ts +23 -0
- package/dist/intents/product-editor-config.js +13 -0
- package/dist/intents/product-editor-config.js.map +1 -0
- package/dist/intents/product-intent.d.ts +38 -0
- package/dist/intents/product-intent.js +19 -0
- package/dist/intents/product-intent.js.map +1 -0
- package/dist/intents/registry.d.ts +32 -0
- package/dist/intents/registry.js +41 -0
- package/dist/intents/registry.js.map +1 -0
- package/dist/intents/rent-property.config.d.ts +2 -0
- package/dist/intents/rent-property.config.js +284 -0
- package/dist/intents/rent-property.config.js.map +1 -0
- package/dist/intents/resolve-stats.d.ts +7 -0
- package/dist/intents/resolve-stats.js +29 -0
- package/dist/intents/resolve-stats.js.map +1 -0
- package/dist/intents/resolve-tenant-intents.d.ts +11 -0
- package/dist/intents/resolve-tenant-intents.js +61 -0
- package/dist/intents/resolve-tenant-intents.js.map +1 -0
- package/dist/intents/resolvers.d.ts +52 -0
- package/dist/intents/resolvers.js +177 -0
- package/dist/intents/resolvers.js.map +1 -0
- package/dist/intents/row-identity.d.ts +62 -0
- package/dist/intents/row-identity.js +25 -0
- package/dist/intents/row-identity.js.map +1 -0
- package/dist/intents/sales-verb.d.ts +8 -0
- package/dist/intents/sales-verb.js +12 -0
- package/dist/intents/sales-verb.js.map +1 -0
- package/dist/intents/scoped-config.d.ts +12 -0
- package/dist/intents/scoped-config.js +17 -0
- package/dist/intents/scoped-config.js.map +1 -0
- package/dist/intents/screen-title.d.ts +27 -0
- package/dist/intents/screen-title.js +59 -0
- package/dist/intents/screen-title.js.map +1 -0
- package/dist/intents/section-registry.d.ts +48 -0
- package/dist/intents/section-registry.js +33 -0
- package/dist/intents/section-registry.js.map +1 -0
- package/dist/intents/sell-products.config.d.ts +2 -0
- package/dist/intents/sell-products.config.js +275 -0
- package/dist/intents/sell-products.config.js.map +1 -0
- package/dist/intents/send-invoices.config.d.ts +16 -0
- package/dist/intents/send-invoices.config.js +223 -0
- package/dist/intents/send-invoices.config.js.map +1 -0
- package/dist/intents/subscriptions.config.d.ts +2 -0
- package/dist/intents/subscriptions.config.js +260 -0
- package/dist/intents/subscriptions.config.js.map +1 -0
- package/dist/intents/take-bookings.config.d.ts +2 -0
- package/dist/intents/take-bookings.config.js +298 -0
- package/dist/intents/take-bookings.config.js.map +1 -0
- package/dist/intents/types.d.ts +246 -0
- package/dist/intents/types.js +1 -0
- package/dist/intents/types.js.map +1 -0
- package/dist/intents/use-active-intent.d.ts +27 -0
- package/dist/intents/use-active-intent.js +74 -0
- package/dist/intents/use-active-intent.js.map +1 -0
- package/dist/intents/use-destination-label.d.ts +18 -0
- package/dist/intents/use-destination-label.js +45 -0
- package/dist/intents/use-destination-label.js.map +1 -0
- package/dist/intents/use-entity-label.d.ts +32 -0
- package/dist/intents/use-entity-label.js +75 -0
- package/dist/intents/use-entity-label.js.map +1 -0
- package/dist/intents/use-intent-config.d.ts +20 -0
- package/dist/intents/use-intent-config.js +91 -0
- package/dist/intents/use-intent-config.js.map +1 -0
- package/dist/intents/use-intent-nav-rows.d.ts +26 -0
- package/dist/intents/use-intent-nav-rows.js +49 -0
- package/dist/intents/use-intent-nav-rows.js.map +1 -0
- package/dist/intents/use-resource-label.d.ts +10 -0
- package/dist/intents/use-resource-label.js +9 -0
- package/dist/intents/use-resource-label.js.map +1 -0
- package/dist/intents/use-row-noun.d.ts +19 -0
- package/dist/intents/use-row-noun.js +13 -0
- package/dist/intents/use-row-noun.js.map +1 -0
- package/dist/intents/use-screen-title.d.ts +9 -0
- package/dist/intents/use-screen-title.js +25 -0
- package/dist/intents/use-screen-title.js.map +1 -0
- package/dist/intents/what-it-adds.d.ts +70 -0
- package/dist/intents/what-it-adds.js +29 -0
- package/dist/intents/what-it-adds.js.map +1 -0
- package/dist/intents/workflow-shape.d.ts +66 -0
- package/dist/intents/workflow-shape.js +151 -0
- package/dist/intents/workflow-shape.js.map +1 -0
- package/dist/intents.d.ts +1 -0
- package/dist/intents.js +1 -0
- package/dist/invite-refusal.d.ts +37 -0
- package/dist/invite-refusal.js +26 -0
- package/dist/invite-refusal.js.map +1 -0
- package/dist/invoice-brand.d.ts +28 -0
- package/dist/invoice-brand.js +33 -0
- package/dist/invoice-brand.js.map +1 -0
- package/dist/ios-navigation-context.d.ts +11 -0
- package/dist/ios-navigation-context.js +52 -0
- package/dist/ios-navigation-context.js.map +1 -0
- package/dist/legal-links.d.ts +10 -0
- package/dist/legal-links.js +7 -0
- package/dist/legal-links.js.map +1 -0
- package/dist/letting-policy.d.ts +85 -0
- package/dist/letting-policy.js +47 -0
- package/dist/letting-policy.js.map +1 -0
- package/dist/list-page-size.d.ts +24 -0
- package/dist/list-page-size.js +5 -0
- package/dist/list-page-size.js.map +1 -0
- package/dist/live-events/sse-frames.d.ts +15 -0
- package/dist/live-events/sse-frames.js +37 -0
- package/dist/live-events/sse-frames.js.map +1 -0
- package/dist/location-options.d.ts +16 -0
- package/dist/location-options.js +94 -0
- package/dist/location-options.js.map +1 -0
- package/dist/location-scope-context.d.ts +47 -0
- package/dist/location-scope-context.js +85 -0
- package/dist/location-scope-context.js.map +1 -0
- package/dist/media-service.d.ts +97 -0
- package/dist/media-service.js +282 -0
- package/dist/media-service.js.map +1 -0
- package/dist/media-utils.d.ts +51 -0
- package/dist/media-utils.js +85 -0
- package/dist/media-utils.js.map +1 -0
- package/dist/member-presence.d.ts +40 -0
- package/dist/member-presence.js +77 -0
- package/dist/member-presence.js.map +1 -0
- package/dist/member-subscription-enrollment.d.ts +16 -0
- package/dist/member-subscription-enrollment.js +32 -0
- package/dist/member-subscription-enrollment.js.map +1 -0
- package/dist/membership-freshness.d.ts +31 -0
- package/dist/membership-freshness.js +21 -0
- package/dist/membership-freshness.js.map +1 -0
- package/dist/mobile-header-context.d.ts +32 -0
- package/dist/mobile-header-context.js +59 -0
- package/dist/mobile-header-context.js.map +1 -0
- package/dist/mobile-routes.d.ts +81 -0
- package/dist/mobile-routes.js +406 -0
- package/dist/mobile-routes.js.map +1 -0
- package/dist/mobile-tab-config.d.ts +18 -0
- package/dist/mobile-tab-config.js +43 -0
- package/dist/mobile-tab-config.js.map +1 -0
- package/dist/money-coming-soon.d.ts +16 -0
- package/dist/money-coming-soon.js +22 -0
- package/dist/money-coming-soon.js.map +1 -0
- package/dist/money-minor.d.ts +17 -0
- package/dist/money-minor.js +53 -0
- package/dist/money-minor.js.map +1 -0
- package/dist/money-visibility.d.ts +38 -0
- package/dist/money-visibility.js +13 -0
- package/dist/money-visibility.js.map +1 -0
- package/dist/motion.d.ts +160 -0
- package/dist/motion.js +130 -0
- package/dist/motion.js.map +1 -0
- package/dist/nav-pending.d.ts +42 -0
- package/dist/nav-pending.js +84 -0
- package/dist/nav-pending.js.map +1 -0
- package/dist/navigation-groups.d.ts +52 -0
- package/dist/navigation-groups.js +64 -0
- package/dist/navigation-groups.js.map +1 -0
- package/dist/onboarding-draft.d.ts +23 -0
- package/dist/onboarding-draft.js +35 -0
- package/dist/onboarding-draft.js.map +1 -0
- package/dist/operating-model/index.d.ts +4 -0
- package/dist/operating-model/index.js +13 -0
- package/dist/operating-model/index.js.map +1 -0
- package/dist/operating-model/order-display.d.ts +10 -0
- package/dist/operating-model/order-display.js +24 -0
- package/dist/operating-model/order-display.js.map +1 -0
- package/dist/operating-model/resolver.d.ts +9 -0
- package/dist/operating-model/resolver.js +110 -0
- package/dist/operating-model/resolver.js.map +1 -0
- package/dist/operating-model/types.d.ts +36 -0
- package/dist/operating-model/types.js +1 -0
- package/dist/operating-model/types.js.map +1 -0
- package/dist/operating-model/use-operating-model.d.ts +7 -0
- package/dist/operating-model/use-operating-model.js +65 -0
- package/dist/operating-model/use-operating-model.js.map +1 -0
- package/dist/operating-model.d.ts +1 -0
- package/dist/operating-model.js +1 -0
- package/dist/order-config.d.ts +30 -0
- package/dist/order-config.js +56 -0
- package/dist/order-config.js.map +1 -0
- package/dist/order-discounts.d.ts +25 -0
- package/dist/order-discounts.js +27 -0
- package/dist/order-discounts.js.map +1 -0
- package/dist/order-shipping.d.ts +33 -0
- package/dist/order-shipping.js +49 -0
- package/dist/order-shipping.js.map +1 -0
- package/dist/order-tax.d.ts +28 -0
- package/dist/order-tax.js +21 -0
- package/dist/order-tax.js.map +1 -0
- package/dist/page-intros.d.ts +78 -0
- package/dist/page-intros.js +164 -0
- package/dist/page-intros.js.map +1 -0
- package/dist/page-transition.d.ts +20 -0
- package/dist/page-transition.js +19 -0
- package/dist/page-transition.js.map +1 -0
- package/dist/pages-api-response.d.ts +8 -0
- package/dist/pages-api-response.js +18 -0
- package/dist/pages-api-response.js.map +1 -0
- package/dist/payment-method-label.d.ts +6 -0
- package/dist/payment-method-label.js +14 -0
- package/dist/payment-method-label.js.map +1 -0
- package/dist/permission-aliases.d.ts +18 -0
- package/dist/permission-aliases.js +20 -0
- package/dist/permission-aliases.js.map +1 -0
- package/dist/permission-catalog-fallback.d.ts +17 -0
- package/dist/permission-catalog-fallback.js +147 -0
- package/dist/permission-catalog-fallback.js.map +1 -0
- package/dist/permission-change.d.ts +42 -0
- package/dist/permission-change.js +33 -0
- package/dist/permission-change.js.map +1 -0
- package/dist/phone.d.ts +16 -0
- package/dist/phone.js +20 -0
- package/dist/phone.js.map +1 -0
- package/dist/plan-access.d.ts +39 -0
- package/dist/plan-access.js +57 -0
- package/dist/plan-access.js.map +1 -0
- package/dist/plan-card-api.d.ts +34 -0
- package/dist/plan-card-api.js +30 -0
- package/dist/plan-card-api.js.map +1 -0
- package/dist/plan-price.d.ts +34 -0
- package/dist/plan-price.js +57 -0
- package/dist/plan-price.js.map +1 -0
- package/dist/post-login-target.d.ts +24 -0
- package/dist/post-login-target.js +12 -0
- package/dist/post-login-target.js.map +1 -0
- package/dist/potter-mark-paths.d.ts +21 -0
- package/dist/potter-mark-paths.js +9 -0
- package/dist/potter-mark-paths.js.map +1 -0
- package/dist/pricing-plans-types.d.ts +143 -0
- package/dist/pricing-plans-types.js +1 -0
- package/dist/pricing-plans-types.js.map +1 -0
- package/dist/product-assignees.d.ts +1 -0
- package/dist/product-assignees.js +18 -0
- package/dist/product-assignees.js.map +1 -0
- package/dist/product-collection-sync.d.ts +12 -0
- package/dist/product-collection-sync.js +97 -0
- package/dist/product-collection-sync.js.map +1 -0
- package/dist/product-cost.d.ts +12 -0
- package/dist/product-cost.js +24 -0
- package/dist/product-cost.js.map +1 -0
- package/dist/product-insights-api.d.ts +38 -0
- package/dist/product-insights-api.js +51 -0
- package/dist/product-insights-api.js.map +1 -0
- package/dist/product-types.d.ts +311 -0
- package/dist/product-types.js +38 -0
- package/dist/product-types.js.map +1 -0
- package/dist/promised-day.d.ts +33 -0
- package/dist/promised-day.js +38 -0
- package/dist/promised-day.js.map +1 -0
- package/dist/proposals-api.d.ts +96 -0
- package/dist/proposals-api.js +41 -0
- package/dist/proposals-api.js.map +1 -0
- package/dist/proxy-allowlist.d.ts +15 -0
- package/dist/proxy-allowlist.js +153 -0
- package/dist/proxy-allowlist.js.map +1 -0
- package/dist/public-config-loader.d.ts +27 -0
- package/dist/public-config-loader.js +12 -0
- package/dist/public-config-loader.js.map +1 -0
- package/dist/public-config-provider.d.ts +16 -0
- package/dist/public-config-provider.js +14 -0
- package/dist/public-config-provider.js.map +1 -0
- package/dist/resolve-enabled-behaviors.d.ts +55 -0
- package/dist/resolve-enabled-behaviors.js +134 -0
- package/dist/resolve-enabled-behaviors.js.map +1 -0
- package/dist/resource-types.d.ts +198 -0
- package/dist/resource-types.js +96 -0
- package/dist/resource-types.js.map +1 -0
- package/dist/resume-screen.d.ts +31 -0
- package/dist/resume-screen.js +25 -0
- package/dist/resume-screen.js.map +1 -0
- package/dist/rider-display.d.ts +37 -0
- package/dist/rider-display.js +110 -0
- package/dist/rider-display.js.map +1 -0
- package/dist/rider-view.d.ts +37 -0
- package/dist/rider-view.js +47 -0
- package/dist/rider-view.js.map +1 -0
- package/dist/roster-label.d.ts +27 -0
- package/dist/roster-label.js +8 -0
- package/dist/roster-label.js.map +1 -0
- package/dist/route-pattern.d.ts +11 -0
- package/dist/route-pattern.js +20 -0
- package/dist/route-pattern.js.map +1 -0
- package/dist/route-permission.d.ts +60 -0
- package/dist/route-permission.js +48 -0
- package/dist/route-permission.js.map +1 -0
- package/dist/runtime-config.d.ts +33 -0
- package/dist/runtime-config.js +23 -0
- package/dist/runtime-config.js.map +1 -0
- package/dist/schema-validation.d.ts +172 -0
- package/dist/schema-validation.js +252 -0
- package/dist/schema-validation.js.map +1 -0
- package/dist/service-areas.d.ts +30 -0
- package/dist/service-areas.js +24 -0
- package/dist/service-areas.js.map +1 -0
- package/dist/service-operations-api.d.ts +78 -0
- package/dist/service-operations-api.js +37 -0
- package/dist/service-operations-api.js.map +1 -0
- package/dist/settings-relevance.d.ts +64 -0
- package/dist/settings-relevance.js +25 -0
- package/dist/settings-relevance.js.map +1 -0
- package/dist/singularise.d.ts +16 -0
- package/dist/singularise.js +37 -0
- package/dist/singularise.js.map +1 -0
- package/dist/site-address.d.ts +14 -0
- package/dist/site-address.js +28 -0
- package/dist/site-address.js.map +1 -0
- package/dist/slug.d.ts +26 -0
- package/dist/slug.js +15 -0
- package/dist/slug.js.map +1 -0
- package/dist/sound.d.ts +14 -0
- package/dist/sound.js +166 -0
- package/dist/sound.js.map +1 -0
- package/dist/staff-arrival.d.ts +3 -0
- package/dist/staff-arrival.js +11 -0
- package/dist/staff-arrival.js.map +1 -0
- package/dist/staff-home.d.ts +58 -0
- package/dist/staff-home.js +90 -0
- package/dist/staff-home.js.map +1 -0
- package/dist/staff-landing.d.ts +1 -0
- package/dist/staff-landing.js +15 -0
- package/dist/staff-landing.js.map +1 -0
- package/dist/stat-card-types.d.ts +19 -0
- package/dist/stat-card-types.js +1 -0
- package/dist/stat-card-types.js.map +1 -0
- package/dist/stock-levels.d.ts +32 -0
- package/dist/stock-levels.js +17 -0
- package/dist/stock-levels.js.map +1 -0
- package/dist/stored-token.d.ts +1 -0
- package/dist/stored-token.js +11 -0
- package/dist/stored-token.js.map +1 -0
- package/dist/storefront-url.d.ts +31 -0
- package/dist/storefront-url.js +40 -0
- package/dist/storefront-url.js.map +1 -0
- package/dist/storefront.d.ts +64 -0
- package/dist/storefront.js +51 -0
- package/dist/storefront.js.map +1 -0
- package/dist/subscription-billing-api.d.ts +115 -0
- package/dist/subscription-billing-api.js +27 -0
- package/dist/subscription-billing-api.js.map +1 -0
- package/dist/subscription-billing-model.d.ts +26 -0
- package/dist/subscription-billing-model.js +58 -0
- package/dist/subscription-billing-model.js.map +1 -0
- package/dist/support-case-subject.d.ts +10 -0
- package/dist/support-case-subject.js +13 -0
- package/dist/support-case-subject.js.map +1 -0
- package/dist/support-inbox.d.ts +6 -0
- package/dist/support-inbox.js +5 -0
- package/dist/support-inbox.js.map +1 -0
- package/dist/support.d.ts +7 -0
- package/dist/support.js +16 -0
- package/dist/support.js.map +1 -0
- package/dist/team-page.d.ts +9 -0
- package/dist/team-page.js +5 -0
- package/dist/team-page.js.map +1 -0
- package/dist/team-roles.d.ts +140 -0
- package/dist/team-roles.js +247 -0
- package/dist/team-roles.js.map +1 -0
- package/dist/team-successors.d.ts +20 -0
- package/dist/team-successors.js +13 -0
- package/dist/team-successors.js.map +1 -0
- package/dist/template-asset-url.d.ts +11 -0
- package/dist/template-asset-url.js +8 -0
- package/dist/template-asset-url.js.map +1 -0
- package/dist/template-capabilities.d.ts +2 -0
- package/dist/template-capabilities.js +71 -0
- package/dist/template-capabilities.js.map +1 -0
- package/dist/template-context.d.ts +111 -0
- package/dist/template-context.js +1278 -0
- package/dist/template-context.js.map +1 -0
- package/dist/template-filter.d.ts +29 -0
- package/dist/template-filter.js +41 -0
- package/dist/template-filter.js.map +1 -0
- package/dist/template-preview/preview-author-patch.d.ts +24 -0
- package/dist/template-preview/preview-author-patch.js +78 -0
- package/dist/template-preview/preview-author-patch.js.map +1 -0
- package/dist/template-preview/use-template-document.d.ts +38 -0
- package/dist/template-preview/use-template-document.js +45 -0
- package/dist/template-preview/use-template-document.js.map +1 -0
- package/dist/template-requirements.d.ts +38 -0
- package/dist/template-requirements.js +13 -0
- package/dist/template-requirements.js.map +1 -0
- package/dist/template-types.d.ts +317 -0
- package/dist/template-types.js +1 -0
- package/dist/template-types.js.map +1 -0
- package/dist/templates.d.ts +22 -0
- package/dist/templates.js +1 -0
- package/dist/templates.js.map +1 -0
- package/dist/theme-context.d.ts +58 -0
- package/dist/theme-context.js +283 -0
- package/dist/theme-context.js.map +1 -0
- package/dist/theme-policy.d.ts +41 -0
- package/dist/theme-policy.js +32 -0
- package/dist/theme-policy.js.map +1 -0
- package/dist/ticket-access.d.ts +20 -0
- package/dist/ticket-access.js +39 -0
- package/dist/ticket-access.js.map +1 -0
- package/dist/timeline-copy.d.ts +65 -0
- package/dist/timeline-copy.js +150 -0
- package/dist/timeline-copy.js.map +1 -0
- package/dist/url-params.d.ts +23 -0
- package/dist/url-params.js +43 -0
- package/dist/url-params.js.map +1 -0
- package/dist/use-behaviors.d.ts +13 -0
- package/dist/use-behaviors.js +41 -0
- package/dist/use-behaviors.js.map +1 -0
- package/dist/use-business-locations.d.ts +35 -0
- package/dist/use-business-locations.js +71 -0
- package/dist/use-business-locations.js.map +1 -0
- package/dist/use-currency.d.ts +12 -0
- package/dist/use-currency.js +16 -0
- package/dist/use-currency.js.map +1 -0
- package/dist/use-empty-state-copy.d.ts +12 -0
- package/dist/use-empty-state-copy.js +13 -0
- package/dist/use-empty-state-copy.js.map +1 -0
- package/dist/use-geo-cities.d.ts +1 -0
- package/dist/use-geo-cities.js +42 -0
- package/dist/use-geo-cities.js.map +1 -0
- package/dist/use-has-hardware.d.ts +13 -0
- package/dist/use-has-hardware.js +14 -0
- package/dist/use-has-hardware.js.map +1 -0
- package/dist/use-industry-key.d.ts +10 -0
- package/dist/use-industry-key.js +16 -0
- package/dist/use-industry-key.js.map +1 -0
- package/dist/use-item-links.d.ts +20 -0
- package/dist/use-item-links.js +30 -0
- package/dist/use-item-links.js.map +1 -0
- package/dist/use-job-roles.d.ts +21 -0
- package/dist/use-job-roles.js +76 -0
- package/dist/use-job-roles.js.map +1 -0
- package/dist/use-merchant-plan.d.ts +36 -0
- package/dist/use-merchant-plan.js +78 -0
- package/dist/use-merchant-plan.js.map +1 -0
- package/dist/use-module-label.d.ts +12 -0
- package/dist/use-module-label.js +13 -0
- package/dist/use-module-label.js.map +1 -0
- package/dist/use-money-visibility.d.ts +14 -0
- package/dist/use-money-visibility.js +13 -0
- package/dist/use-money-visibility.js.map +1 -0
- package/dist/use-nav-groups.d.ts +27 -0
- package/dist/use-nav-groups.js +141 -0
- package/dist/use-nav-groups.js.map +1 -0
- package/dist/use-pathname.d.ts +15 -0
- package/dist/use-pathname.js +29 -0
- package/dist/use-pathname.js.map +1 -0
- package/dist/use-permissions.d.ts +43 -0
- package/dist/use-permissions.js +158 -0
- package/dist/use-permissions.js.map +1 -0
- package/dist/use-platform-modules.d.ts +49 -0
- package/dist/use-platform-modules.js +416 -0
- package/dist/use-platform-modules.js.map +1 -0
- package/dist/use-staff-home.d.ts +9 -0
- package/dist/use-staff-home.js +24 -0
- package/dist/use-staff-home.js.map +1 -0
- package/dist/use-workspace-invite.d.ts +37 -0
- package/dist/use-workspace-invite.js +69 -0
- package/dist/use-workspace-invite.js.map +1 -0
- package/dist/utils.d.ts +53 -0
- package/dist/utils.js +161 -0
- package/dist/utils.js.map +1 -0
- package/dist/wallet-format.d.ts +8 -0
- package/dist/wallet-format.js +36 -0
- package/dist/wallet-format.js.map +1 -0
- package/dist/wallet-settlement.d.ts +14 -0
- package/dist/wallet-settlement.js +5 -0
- package/dist/wallet-settlement.js.map +1 -0
- package/dist/web-url.d.ts +1 -0
- package/dist/web-url.js +50 -0
- package/dist/web-url.js.map +1 -0
- package/dist/whats-new.d.ts +59 -0
- package/dist/whats-new.js +77 -0
- package/dist/whats-new.js.map +1 -0
- package/dist/workspace-recents.d.ts +30 -0
- package/dist/workspace-recents.js +37 -0
- package/dist/workspace-recents.js.map +1 -0
- package/dist/workspace-slug.d.ts +1 -0
- package/dist/workspace-slug.js +15 -0
- package/dist/workspace-slug.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Store,
|
|
3
|
+
CalendarClock,
|
|
4
|
+
House,
|
|
5
|
+
CookingPot,
|
|
6
|
+
ChefHat,
|
|
7
|
+
BadgeCheck,
|
|
8
|
+
FileDown,
|
|
9
|
+
TicketCheck,
|
|
10
|
+
FileSignature,
|
|
11
|
+
MailPlus,
|
|
12
|
+
Package
|
|
13
|
+
} from "lucide-react";
|
|
14
|
+
import { getAllIntentConfigs } from "./intents";
|
|
15
|
+
import { resolveBehaviorsFromIntents } from "./resolve-enabled-behaviors";
|
|
16
|
+
const PRESENTATION = {
|
|
17
|
+
"sell-products": {
|
|
18
|
+
label: "Retail",
|
|
19
|
+
setupLabel: "Products & retail",
|
|
20
|
+
setupDescription: "Online shops, boutiques, makers",
|
|
21
|
+
shortLabel: "Retail",
|
|
22
|
+
verbPhrase: "sells products",
|
|
23
|
+
description: "Physical goods, fashion, retail items",
|
|
24
|
+
icon: Store,
|
|
25
|
+
color: "#F59E0B"
|
|
26
|
+
},
|
|
27
|
+
"take-bookings": {
|
|
28
|
+
label: "Services",
|
|
29
|
+
setupLabel: "Services & appointments",
|
|
30
|
+
setupDescription: "Medical, wellness, consultants",
|
|
31
|
+
shortLabel: "Services",
|
|
32
|
+
verbPhrase: "takes bookings",
|
|
33
|
+
description: "Services, consultations, sessions",
|
|
34
|
+
icon: CalendarClock,
|
|
35
|
+
color: "#E91E8C"
|
|
36
|
+
},
|
|
37
|
+
"rent-property": {
|
|
38
|
+
label: "Property & rentals",
|
|
39
|
+
setupLabel: "Property & rentals",
|
|
40
|
+
setupDescription: "Short-lets, venues, vacation homes",
|
|
41
|
+
shortLabel: "Property & rentals",
|
|
42
|
+
verbPhrase: "rents out property",
|
|
43
|
+
description: "Short-lets, vacation rentals, venues",
|
|
44
|
+
icon: House,
|
|
45
|
+
color: "#8B5CF6"
|
|
46
|
+
},
|
|
47
|
+
"food-orders": {
|
|
48
|
+
label: "Food & delivery",
|
|
49
|
+
setupLabel: "Food & delivery",
|
|
50
|
+
setupDescription: "Restaurants, cafes, food businesses",
|
|
51
|
+
shortLabel: "Food & delivery",
|
|
52
|
+
verbPhrase: "takes food orders",
|
|
53
|
+
description: "Restaurants, cafes, food delivery",
|
|
54
|
+
icon: CookingPot,
|
|
55
|
+
color: "#FF6B35"
|
|
56
|
+
},
|
|
57
|
+
"dine-in": {
|
|
58
|
+
label: "Restaurant",
|
|
59
|
+
setupLabel: "Restaurant & hospitality",
|
|
60
|
+
setupDescription: "Dine-in, tables, running tabs",
|
|
61
|
+
shortLabel: "Restaurant",
|
|
62
|
+
verbPhrase: "runs a dine-in service",
|
|
63
|
+
description: "Tables, running tabs, settle the bill",
|
|
64
|
+
icon: ChefHat,
|
|
65
|
+
color: "#0E8F80"
|
|
66
|
+
},
|
|
67
|
+
subscriptions: {
|
|
68
|
+
label: "Memberships",
|
|
69
|
+
setupLabel: "Memberships & community",
|
|
70
|
+
setupDescription: "Clubs, communities, recurring plans",
|
|
71
|
+
shortLabel: "Memberships",
|
|
72
|
+
verbPhrase: "offers memberships",
|
|
73
|
+
description: "Recurring plans, membership access",
|
|
74
|
+
icon: BadgeCheck,
|
|
75
|
+
color: "#10B981"
|
|
76
|
+
},
|
|
77
|
+
"digital-products": {
|
|
78
|
+
label: "Digital products",
|
|
79
|
+
setupLabel: "Creators & digital products",
|
|
80
|
+
setupDescription: "Streamers, educators, downloads",
|
|
81
|
+
shortLabel: "Digital products",
|
|
82
|
+
verbPhrase: "sells digital products",
|
|
83
|
+
description: "Downloads, files, digital content",
|
|
84
|
+
icon: FileDown,
|
|
85
|
+
color: "#3B82F6"
|
|
86
|
+
},
|
|
87
|
+
"event-tickets": {
|
|
88
|
+
label: "Events",
|
|
89
|
+
setupLabel: "Events & experiences",
|
|
90
|
+
setupDescription: "Shows, conferences, workshops",
|
|
91
|
+
shortLabel: "Events",
|
|
92
|
+
verbPhrase: "sells event tickets",
|
|
93
|
+
description: "Events, shows, conferences",
|
|
94
|
+
icon: TicketCheck,
|
|
95
|
+
color: "#6366F1"
|
|
96
|
+
},
|
|
97
|
+
"send-invoices": {
|
|
98
|
+
label: "Invoicing",
|
|
99
|
+
setupLabel: "Invoicing & professional services",
|
|
100
|
+
setupDescription: "Agencies, freelancers, contractors",
|
|
101
|
+
shortLabel: "Invoicing",
|
|
102
|
+
verbPhrase: "bills clients",
|
|
103
|
+
description: "Services, freelance, agencies",
|
|
104
|
+
icon: FileSignature,
|
|
105
|
+
color: "#0EA5E9"
|
|
106
|
+
},
|
|
107
|
+
// Registered in the intent registry but missing here, so it fell through to
|
|
108
|
+
// the grey Package fallback: the one archetype where nothing is bought showed
|
|
109
|
+
// up unstyled and unnamed next to nine that were.
|
|
110
|
+
"capture-leads": {
|
|
111
|
+
label: "Enquiries",
|
|
112
|
+
setupLabel: "Enquiries & leads",
|
|
113
|
+
setupDescription: "Quotes, applications, consultations",
|
|
114
|
+
shortLabel: "Enquiries",
|
|
115
|
+
verbPhrase: "takes enquiries",
|
|
116
|
+
description: "Viewings, quotes, admissions, consultations",
|
|
117
|
+
icon: MailPlus,
|
|
118
|
+
color: "#D97706"
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
const DEFAULT_COLOR = "#6B7280";
|
|
122
|
+
const INTENT_CARDS = getAllIntentConfigs().map(
|
|
123
|
+
(config) => {
|
|
124
|
+
const presentation = PRESENTATION[config.key];
|
|
125
|
+
return {
|
|
126
|
+
id: config.key,
|
|
127
|
+
label: presentation?.label ?? config.label,
|
|
128
|
+
setupLabel: presentation?.setupLabel,
|
|
129
|
+
setupDescription: presentation?.setupDescription,
|
|
130
|
+
shortLabel: presentation?.shortLabel ?? config.label,
|
|
131
|
+
verbPhrase: presentation?.verbPhrase ?? config.label.toLowerCase(),
|
|
132
|
+
description: presentation?.description ?? config.description,
|
|
133
|
+
icon: presentation?.icon ?? Package,
|
|
134
|
+
color: presentation?.color ?? DEFAULT_COLOR,
|
|
135
|
+
behaviors: resolveBehaviorsFromIntents([config.key])
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
export {
|
|
140
|
+
INTENT_CARDS
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=business-intents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/business-intents.ts"],"sourcesContent":["import {\n Store,\n CalendarClock,\n House,\n CookingPot,\n ChefHat,\n BadgeCheck,\n FileDown,\n TicketCheck,\n FileSignature,\n MailPlus,\n Package,\n} from 'lucide-react';\nimport { getAllIntentConfigs } from './intents';\nimport { resolveBehaviorsFromIntents } from './resolve-enabled-behaviors';\n\n/**\n * The money-models a merchant picks from — shared by every surface that asks\n * \"how do you make money?\" (signup, onboarding / add-business, the quick\n * create-business modal, and the mobile screens).\n *\n * MEMBERSHIP COMES FROM THE INTENT REGISTRY, not a hand-kept array. Two lists\n * of the same nine things drift: register an archetype and it would appear in\n * Settings → Features but silently not at signup, so nobody could ever choose\n * it. Behaviors are read from the same resolver the dashboard and storefront\n * use, so a card can't promise a capability the app won't switch on.\n *\n * What IS hand-written here is voice. The registry labels are navigation nouns\n * (\"Take Bookings\"); onboarding asks a question and wants a sentence (\"Take\n * bookings or appointments\"). Presentation below, truth above.\n */\nexport interface IntentCard {\n id: string;\n label: string;\n /** Setup-specific profile wording; the underlying intent remains capability-based. */\n setupLabel?: string;\n setupDescription?: string;\n /** A bare noun for prose and lists, where the onboarding sentence stutters. */\n shortLabel: string;\n /** Third-person verb phrase, for stating the business back in a sentence. */\n verbPhrase: string;\n description: string;\n icon: React.ElementType;\n color: string;\n behaviors: string[];\n}\n\ninterface IntentPresentation {\n label: string;\n setupLabel?: string;\n setupDescription?: string;\n shortLabel: string;\n verbPhrase: string;\n description: string;\n icon: React.ElementType;\n color: string;\n}\n\nconst PRESENTATION: Record<string, IntentPresentation> = {\n 'sell-products': {\n label: 'Retail',\n setupLabel: 'Products & retail',\n setupDescription: 'Online shops, boutiques, makers',\n shortLabel: 'Retail',\n verbPhrase: 'sells products',\n description: 'Physical goods, fashion, retail items',\n icon: Store,\n color: '#F59E0B',\n },\n 'take-bookings': {\n label: 'Services',\n setupLabel: 'Services & appointments',\n setupDescription: 'Medical, wellness, consultants',\n shortLabel: 'Services',\n verbPhrase: 'takes bookings',\n description: 'Services, consultations, sessions',\n icon: CalendarClock,\n color: '#E91E8C',\n },\n 'rent-property': {\n label: 'Property & rentals',\n setupLabel: 'Property & rentals',\n setupDescription: 'Short-lets, venues, vacation homes',\n shortLabel: 'Property & rentals',\n verbPhrase: 'rents out property',\n description: 'Short-lets, vacation rentals, venues',\n icon: House,\n color: '#8B5CF6',\n },\n 'food-orders': {\n label: 'Food & delivery',\n setupLabel: 'Food & delivery',\n setupDescription: 'Restaurants, cafes, food businesses',\n shortLabel: 'Food & delivery',\n verbPhrase: 'takes food orders',\n description: 'Restaurants, cafes, food delivery',\n icon: CookingPot,\n color: '#FF6B35',\n },\n 'dine-in': {\n label: 'Restaurant',\n setupLabel: 'Restaurant & hospitality',\n setupDescription: 'Dine-in, tables, running tabs',\n shortLabel: 'Restaurant',\n verbPhrase: 'runs a dine-in service',\n description: 'Tables, running tabs, settle the bill',\n icon: ChefHat,\n color: '#0E8F80',\n },\n subscriptions: {\n label: 'Memberships',\n setupLabel: 'Memberships & community',\n setupDescription: 'Clubs, communities, recurring plans',\n shortLabel: 'Memberships',\n verbPhrase: 'offers memberships',\n description: 'Recurring plans, membership access',\n icon: BadgeCheck,\n color: '#10B981',\n },\n 'digital-products': {\n label: 'Digital products',\n setupLabel: 'Creators & digital products',\n setupDescription: 'Streamers, educators, downloads',\n shortLabel: 'Digital products',\n verbPhrase: 'sells digital products',\n description: 'Downloads, files, digital content',\n icon: FileDown,\n color: '#3B82F6',\n },\n 'event-tickets': {\n label: 'Events',\n setupLabel: 'Events & experiences',\n setupDescription: 'Shows, conferences, workshops',\n shortLabel: 'Events',\n verbPhrase: 'sells event tickets',\n description: 'Events, shows, conferences',\n icon: TicketCheck,\n color: '#6366F1',\n },\n 'send-invoices': {\n label: 'Invoicing',\n setupLabel: 'Invoicing & professional services',\n setupDescription: 'Agencies, freelancers, contractors',\n shortLabel: 'Invoicing',\n verbPhrase: 'bills clients',\n description: 'Services, freelance, agencies',\n icon: FileSignature,\n color: '#0EA5E9',\n },\n // Registered in the intent registry but missing here, so it fell through to\n // the grey Package fallback: the one archetype where nothing is bought showed\n // up unstyled and unnamed next to nine that were.\n 'capture-leads': {\n label: 'Enquiries',\n setupLabel: 'Enquiries & leads',\n setupDescription: 'Quotes, applications, consultations',\n shortLabel: 'Enquiries',\n verbPhrase: 'takes enquiries',\n description: 'Viewings, quotes, admissions, consultations',\n icon: MailPlus,\n color: '#D97706',\n },\n};\n\n/** Neutral fallback so a newly registered archetype still shows up, unstyled\n * rather than missing, until someone writes its onboarding sentence. */\nconst DEFAULT_COLOR = '#6B7280';\n\nexport const INTENT_CARDS: IntentCard[] = getAllIntentConfigs().map(\n (config) => {\n const presentation = PRESENTATION[config.key];\n return {\n id: config.key,\n label: presentation?.label ?? config.label,\n setupLabel: presentation?.setupLabel,\n setupDescription: presentation?.setupDescription,\n shortLabel: presentation?.shortLabel ?? config.label,\n verbPhrase: presentation?.verbPhrase ?? config.label.toLowerCase(),\n description: presentation?.description ?? config.description,\n icon: presentation?.icon ?? Package,\n color: presentation?.color ?? DEFAULT_COLOR,\n behaviors: resolveBehaviorsFromIntents([config.key]),\n };\n },\n);\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Parse a raw capability string into a set. Returns `null` when the input is
|
|
4
|
+
* `null`/`undefined` (capabilities unknown → callers should treat as permissive);
|
|
5
|
+
* an explicit empty string yields an empty set (known, but nothing entitled).
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseCapabilities(raw?: string | null): Set<string> | null;
|
|
8
|
+
export interface CapabilitySet {
|
|
9
|
+
/**
|
|
10
|
+
* Whether the box published a capability list. `false` means the box has not
|
|
11
|
+
* been re-activated with a capability-aware box-cli, so `has()` is permissive.
|
|
12
|
+
*/
|
|
13
|
+
known: boolean;
|
|
14
|
+
/** Resolved capability keys (sorted). Empty when `known` is `false`. */
|
|
15
|
+
keys: string[];
|
|
16
|
+
/**
|
|
17
|
+
* Whether a capability key is entitled. Permissive (`true`) when the set is
|
|
18
|
+
* unknown, so un-migrated boxes keep their full nav/data surface.
|
|
19
|
+
*/
|
|
20
|
+
has(key: string): boolean;
|
|
21
|
+
/** Whether **every** given key is entitled (permissive when unknown). */
|
|
22
|
+
hasAll(keys: string[]): boolean;
|
|
23
|
+
/** Whether **any** given key is entitled (permissive when unknown). */
|
|
24
|
+
hasAny(keys: string[]): boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Provide an explicit capability set. Optional — `useCapabilities()` falls back
|
|
28
|
+
* to the `NEXT_PUBLIC_BOX_CAPABILITIES` env value when no provider is mounted, so
|
|
29
|
+
* nav/data/route gating works without any app-shell wiring. Pass `value` to
|
|
30
|
+
* override (e.g. in tests or a server-driven set); pass `null` to force the
|
|
31
|
+
* permissive "unknown" state.
|
|
32
|
+
*/
|
|
33
|
+
export declare function CapabilityProvider({ value, children, }: {
|
|
34
|
+
value?: string | string[] | null;
|
|
35
|
+
children: ReactNode;
|
|
36
|
+
}): import("react").JSX.Element;
|
|
37
|
+
/**
|
|
38
|
+
* Read the box's capability set. Uses the nearest `CapabilityProvider` when one
|
|
39
|
+
* is mounted, otherwise the build-time env value. Always returns a usable set —
|
|
40
|
+
* never throws — so callers can gate unconditionally.
|
|
41
|
+
*/
|
|
42
|
+
export declare function useCapabilities(): CapabilitySet;
|
|
43
|
+
/**
|
|
44
|
+
* Dashboard route prefix → capability key(s) required to view it. Longest prefix
|
|
45
|
+
* wins. Routes not listed (overview, settings, account, workspaces) have no
|
|
46
|
+
* capability gate. Keep aligned with the nav `moduleCapabilities` map in
|
|
47
|
+
* `use-platform-modules`.
|
|
48
|
+
*/
|
|
49
|
+
export declare const ROUTE_CAPABILITIES: Array<{
|
|
50
|
+
prefix: string;
|
|
51
|
+
capability: string | string[];
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Resolve the capability key(s) a dashboard route requires, or `null` when the
|
|
55
|
+
* route is ungated (core). Matches by longest prefix so nested routes inherit
|
|
56
|
+
* their section's gate.
|
|
57
|
+
*/
|
|
58
|
+
export declare function routeCapability(pathname: string): string | string[] | null;
|
|
59
|
+
/**
|
|
60
|
+
* Whether the box is entitled to view a given dashboard route. Permissive for
|
|
61
|
+
* ungated routes and for boxes with an unknown capability set.
|
|
62
|
+
*/
|
|
63
|
+
export declare function useRouteAllowed(pathname: string): boolean;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import {
|
|
4
|
+
createContext,
|
|
5
|
+
useContext,
|
|
6
|
+
useMemo
|
|
7
|
+
} from "react";
|
|
8
|
+
const RAW_ENV = process.env.NEXT_PUBLIC_BOX_CAPABILITIES;
|
|
9
|
+
function parseCapabilities(raw) {
|
|
10
|
+
if (raw == null) return null;
|
|
11
|
+
const keys = raw.split(",").map((s) => s.trim()).filter(Boolean);
|
|
12
|
+
return new Set(keys);
|
|
13
|
+
}
|
|
14
|
+
function buildCapabilitySet(caps) {
|
|
15
|
+
const has = (key) => caps === null ? true : caps.has(key);
|
|
16
|
+
return {
|
|
17
|
+
known: caps !== null,
|
|
18
|
+
keys: caps === null ? [] : [...caps].sort(),
|
|
19
|
+
has,
|
|
20
|
+
hasAll: (keys) => keys.every(has),
|
|
21
|
+
hasAny: (keys) => caps === null ? true : keys.some((k) => caps.has(k))
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const ENV_CAPABILITIES = buildCapabilitySet(parseCapabilities(RAW_ENV));
|
|
25
|
+
const CapabilityContext = createContext(null);
|
|
26
|
+
function CapabilityProvider({
|
|
27
|
+
value,
|
|
28
|
+
children
|
|
29
|
+
}) {
|
|
30
|
+
const set = useMemo(() => {
|
|
31
|
+
if (value === void 0) return ENV_CAPABILITIES;
|
|
32
|
+
const raw = Array.isArray(value) ? value.join(",") : value;
|
|
33
|
+
return buildCapabilitySet(parseCapabilities(raw));
|
|
34
|
+
}, [value]);
|
|
35
|
+
return /* @__PURE__ */ jsx(CapabilityContext.Provider, { value: set, children });
|
|
36
|
+
}
|
|
37
|
+
function useCapabilities() {
|
|
38
|
+
return useContext(CapabilityContext) ?? ENV_CAPABILITIES;
|
|
39
|
+
}
|
|
40
|
+
const ROUTE_CAPABILITIES = [
|
|
41
|
+
{ prefix: "/dashboard/analytics", capability: "analytics" },
|
|
42
|
+
{ prefix: "/dashboard/bookings", capability: "bookings" },
|
|
43
|
+
{ prefix: "/dashboard/resources", capability: "bookings" },
|
|
44
|
+
{ prefix: "/dashboard/invoices", capability: "invoices" },
|
|
45
|
+
{ prefix: "/dashboard/subscriptions", capability: "subscriptions" },
|
|
46
|
+
{ prefix: "/dashboard/reviews", capability: "reviews" },
|
|
47
|
+
{ prefix: "/dashboard/loyalty", capability: "loyalty" },
|
|
48
|
+
{ prefix: "/dashboard/customers", capability: "customers" },
|
|
49
|
+
{ prefix: "/dashboard/orders", capability: "orders" },
|
|
50
|
+
{ prefix: "/dashboard/catalog", capability: "catalog" },
|
|
51
|
+
{ prefix: "/dashboard/collections", capability: "catalog" },
|
|
52
|
+
{ prefix: "/dashboard/discounts", capability: "discounts" },
|
|
53
|
+
{ prefix: "/dashboard/giftcards", capability: "giftcards" },
|
|
54
|
+
{ prefix: "/dashboard/blog", capability: "blog" },
|
|
55
|
+
{
|
|
56
|
+
prefix: "/dashboard/finance",
|
|
57
|
+
capability: ["settlements", "payments", "invoices"]
|
|
58
|
+
}
|
|
59
|
+
];
|
|
60
|
+
function routeCapability(pathname) {
|
|
61
|
+
let match = null;
|
|
62
|
+
for (const entry of ROUTE_CAPABILITIES) {
|
|
63
|
+
if (pathname === entry.prefix || pathname.startsWith(`${entry.prefix}/`)) {
|
|
64
|
+
if (!match || entry.prefix.length > match.prefix.length) match = entry;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return match ? match.capability : null;
|
|
68
|
+
}
|
|
69
|
+
function useRouteAllowed(pathname) {
|
|
70
|
+
const capabilities = useCapabilities();
|
|
71
|
+
const required = routeCapability(pathname);
|
|
72
|
+
if (!required) return true;
|
|
73
|
+
const gates = Array.isArray(required) ? required : [required];
|
|
74
|
+
return capabilities.hasAny(gates);
|
|
75
|
+
}
|
|
76
|
+
export {
|
|
77
|
+
CapabilityProvider,
|
|
78
|
+
ROUTE_CAPABILITIES,
|
|
79
|
+
parseCapabilities,
|
|
80
|
+
routeCapability,
|
|
81
|
+
useCapabilities,
|
|
82
|
+
useRouteAllowed
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=capability-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/capability-context.tsx"],"sourcesContent":["'use client';\n\nimport {\n createContext,\n useContext,\n useMemo,\n type ReactNode,\n} from 'react';\n\n/**\n * Capability gating for the dashboard.\n *\n * A **capability** is a stable, UI-facing key (e.g. `bookings`, `analytics`,\n * `subscriptions`) that says whether the box is entitled to a given surface.\n * `box activate` resolves the set from the license's entitled engine packages\n * and writes it to the console build as `NEXT_PUBLIC_BOX_CAPABILITIES`\n * (comma-separated). This module is the console-side *consumer* of that list —\n * it never owns the key→engine map (that lives in box-cli, the single emitter).\n *\n * Backward-compatibility contract: a box that was activated by an older box-cli\n * has **no** `NEXT_PUBLIC_BOX_CAPABILITIES` value. In that case the set is\n * \"unknown\" and `has()` is **permissive** (returns `true` for every key) so the\n * dashboard behaves exactly as it did before capability gating existed. Gating\n * only takes effect once a box re-activates with a capability-aware box-cli.\n */\n\n/** Raw build-time env value. `NEXT_PUBLIC_*` is inlined by Next at build. */\nconst RAW_ENV: string | undefined = process.env.NEXT_PUBLIC_BOX_CAPABILITIES;\n\n/**\n * Parse a raw capability string into a set. Returns `null` when the input is\n * `null`/`undefined` (capabilities unknown → callers should treat as permissive);\n * an explicit empty string yields an empty set (known, but nothing entitled).\n */\nexport function parseCapabilities(raw?: string | null): Set<string> | null {\n if (raw == null) return null;\n const keys = raw\n .split(',')\n .map((s) => s.trim())\n .filter(Boolean);\n return new Set(keys);\n}\n\nexport interface CapabilitySet {\n /**\n * Whether the box published a capability list. `false` means the box has not\n * been re-activated with a capability-aware box-cli, so `has()` is permissive.\n */\n known: boolean;\n /** Resolved capability keys (sorted). Empty when `known` is `false`. */\n keys: string[];\n /**\n * Whether a capability key is entitled. Permissive (`true`) when the set is\n * unknown, so un-migrated boxes keep their full nav/data surface.\n */\n has(key: string): boolean;\n /** Whether **every** given key is entitled (permissive when unknown). */\n hasAll(keys: string[]): boolean;\n /** Whether **any** given key is entitled (permissive when unknown). */\n hasAny(keys: string[]): boolean;\n}\n\nfunction buildCapabilitySet(caps: Set<string> | null): CapabilitySet {\n const has = (key: string) => (caps === null ? true : caps.has(key));\n return {\n known: caps !== null,\n keys: caps === null ? [] : [...caps].sort(),\n has,\n hasAll: (keys) => keys.every(has),\n hasAny: (keys) => (caps === null ? true : keys.some((k) => caps.has(k))),\n };\n}\n\n/** Capability set derived from the build-time env — the provider-less default. */\nconst ENV_CAPABILITIES = buildCapabilitySet(parseCapabilities(RAW_ENV));\n\nconst CapabilityContext = createContext<CapabilitySet | null>(null);\n\n/**\n * Provide an explicit capability set. Optional — `useCapabilities()` falls back\n * to the `NEXT_PUBLIC_BOX_CAPABILITIES` env value when no provider is mounted, so\n * nav/data/route gating works without any app-shell wiring. Pass `value` to\n * override (e.g. in tests or a server-driven set); pass `null` to force the\n * permissive \"unknown\" state.\n */\nexport function CapabilityProvider({\n value,\n children,\n}: {\n value?: string | string[] | null;\n children: ReactNode;\n}) {\n const set = useMemo(() => {\n if (value === undefined) return ENV_CAPABILITIES;\n const raw = Array.isArray(value) ? value.join(',') : value;\n return buildCapabilitySet(parseCapabilities(raw));\n }, [value]);\n return (\n <CapabilityContext.Provider value={set}>\n {children}\n </CapabilityContext.Provider>\n );\n}\n\n/**\n * Read the box's capability set. Uses the nearest `CapabilityProvider` when one\n * is mounted, otherwise the build-time env value. Always returns a usable set —\n * never throws — so callers can gate unconditionally.\n */\nexport function useCapabilities(): CapabilitySet {\n return useContext(CapabilityContext) ?? ENV_CAPABILITIES;\n}\n\n/**\n * Dashboard route prefix → capability key(s) required to view it. Longest prefix\n * wins. Routes not listed (overview, settings, account, workspaces) have no\n * capability gate. Keep aligned with the nav `moduleCapabilities` map in\n * `use-platform-modules`.\n */\nexport const ROUTE_CAPABILITIES: Array<{\n prefix: string;\n capability: string | string[];\n}> = [\n { prefix: '/dashboard/analytics', capability: 'analytics' },\n { prefix: '/dashboard/bookings', capability: 'bookings' },\n { prefix: '/dashboard/resources', capability: 'bookings' },\n { prefix: '/dashboard/invoices', capability: 'invoices' },\n { prefix: '/dashboard/subscriptions', capability: 'subscriptions' },\n { prefix: '/dashboard/reviews', capability: 'reviews' },\n { prefix: '/dashboard/loyalty', capability: 'loyalty' },\n { prefix: '/dashboard/customers', capability: 'customers' },\n { prefix: '/dashboard/orders', capability: 'orders' },\n { prefix: '/dashboard/catalog', capability: 'catalog' },\n { prefix: '/dashboard/collections', capability: 'catalog' },\n { prefix: '/dashboard/discounts', capability: 'discounts' },\n { prefix: '/dashboard/giftcards', capability: 'giftcards' },\n { prefix: '/dashboard/blog', capability: 'blog' },\n {\n prefix: '/dashboard/finance',\n capability: ['settlements', 'payments', 'invoices'],\n },\n];\n\n/**\n * Resolve the capability key(s) a dashboard route requires, or `null` when the\n * route is ungated (core). Matches by longest prefix so nested routes inherit\n * their section's gate.\n */\nexport function routeCapability(pathname: string): string | string[] | null {\n let match: { prefix: string; capability: string | string[] } | null = null;\n for (const entry of ROUTE_CAPABILITIES) {\n if (pathname === entry.prefix || pathname.startsWith(`${entry.prefix}/`)) {\n if (!match || entry.prefix.length > match.prefix.length) match = entry;\n }\n }\n return match ? match.capability : null;\n}\n\n/**\n * Whether the box is entitled to view a given dashboard route. Permissive for\n * ungated routes and for boxes with an unknown capability set.\n */\nexport function useRouteAllowed(pathname: string): boolean {\n const capabilities = useCapabilities();\n const required = routeCapability(pathname);\n if (!required) return true;\n const gates = Array.isArray(required) ? required : [required];\n return capabilities.hasAny(gates);\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The couriers a merchant hands a parcel to, and where their codes lead.
|
|
3
|
+
*
|
|
4
|
+
* Box does not track parcels. There is no carrier integration and there is
|
|
5
|
+
* not going to be one: it is a per-carrier, per-country treadmill that would
|
|
6
|
+
* make us responsible for a package we never touch. What we can do completely
|
|
7
|
+
* is record the handover and point the customer at the one page that knows.
|
|
8
|
+
*
|
|
9
|
+
* So a tracking number's whole job is to become a link. Asking the merchant to
|
|
10
|
+
* paste that link themselves was asking them to do work we can do from the
|
|
11
|
+
* code and the carrier's name, which is why `trackingUrl` used to be a fourth
|
|
12
|
+
* text box that was almost always left empty.
|
|
13
|
+
*
|
|
14
|
+
* This list is a convenience, never a gate. `OTHER_CARRIER` keeps the free-text
|
|
15
|
+
* path open for the courier nobody has heard of and the one that starts
|
|
16
|
+
* operating next month.
|
|
17
|
+
*/
|
|
18
|
+
export interface Carrier {
|
|
19
|
+
/** Stable key. Not shown. */
|
|
20
|
+
id: string;
|
|
21
|
+
/** What the merchant calls them, and what lands in `order.carrier`. */
|
|
22
|
+
name: string;
|
|
23
|
+
/**
|
|
24
|
+
* Builds the page that knows where the parcel is.
|
|
25
|
+
*
|
|
26
|
+
* Undefined where the carrier has no public lookup — plenty of couriers
|
|
27
|
+
* answer on WhatsApp and nowhere else. A carrier without one is not lesser;
|
|
28
|
+
* it just means the code stays a code and is shown rather than linked.
|
|
29
|
+
*/
|
|
30
|
+
trackingUrl?: (code: string) => string;
|
|
31
|
+
/**
|
|
32
|
+
* A mark for the picker, served from `public/`.
|
|
33
|
+
*
|
|
34
|
+
* Sourced from each carrier's own site (favicon / touch icon), normalised
|
|
35
|
+
* to 64px PNG and served from `public/couriers/`. Local rather than
|
|
36
|
+
* hotlinked, so the grid does not depend on a third party being up and no
|
|
37
|
+
* request leaves the page to render a picker.
|
|
38
|
+
*
|
|
39
|
+
* Still optional, and two carriers still have none: DHL and Aramex publish
|
|
40
|
+
* nothing above 16px, which is unusable at this size. They keep the
|
|
41
|
+
* monogram — as does any local courier a merchant adds through "Another",
|
|
42
|
+
* who will never have a logo either. The fallback is permanent, not a
|
|
43
|
+
* placeholder.
|
|
44
|
+
*/
|
|
45
|
+
logo?: string;
|
|
46
|
+
/**
|
|
47
|
+
* The tile's colour when there is no logo. A courier a merchant reaches for
|
|
48
|
+
* daily should be findable by shape and colour before the name is read.
|
|
49
|
+
*/
|
|
50
|
+
tint?: string;
|
|
51
|
+
}
|
|
52
|
+
/** The sentinel the picker uses for "not on this list". */
|
|
53
|
+
export declare const OTHER_CARRIER = "other";
|
|
54
|
+
/**
|
|
55
|
+
* Ordered roughly by how often a Nigerian merchant reaches for them, since
|
|
56
|
+
* that is who is standing at the counter. The international four are last
|
|
57
|
+
* because a shop that exports uses exactly those and nothing else.
|
|
58
|
+
*
|
|
59
|
+
* The on-demand names — Chowdeck, Glovo, Bolt Food, Gokada, MAX.ng, Errandlr —
|
|
60
|
+
* are here because a restaurant or a shop sending same-day is not calling DHL,
|
|
61
|
+
* and a list that omits them is a list that sends every one of those merchants
|
|
62
|
+
* to "Another courier" to type a name the software already knows. None of them
|
|
63
|
+
* carries a `trackingUrl`: they are tracked in their own app and the merchant
|
|
64
|
+
* is told by phone, which is precisely why that field is optional.
|
|
65
|
+
*/
|
|
66
|
+
export declare const CARRIERS: Carrier[];
|
|
67
|
+
/**
|
|
68
|
+
* Finds a carrier by the name stored on the order.
|
|
69
|
+
*
|
|
70
|
+
* Matched on name rather than id because `order.carrier` is a free-text column
|
|
71
|
+
* and always has been — orders written before this list existed hold "GIG" or
|
|
72
|
+
* "dhl" typed by hand, and those should still light up as links. Anything that
|
|
73
|
+
* does not match is simply a carrier we do not know, which is allowed.
|
|
74
|
+
*/
|
|
75
|
+
export declare function findCarrier(name: string | null | undefined): Carrier | null;
|
|
76
|
+
/**
|
|
77
|
+
* The page that knows where this parcel is, or null.
|
|
78
|
+
*
|
|
79
|
+
* A URL the merchant typed themselves always wins: they were looking at the
|
|
80
|
+
* carrier's site when they pasted it, and a template we guessed from a name
|
|
81
|
+
* has no business overruling that.
|
|
82
|
+
*/
|
|
83
|
+
export declare function resolveTrackingUrl(carrier: string | null | undefined, code: string | null | undefined, explicitUrl?: string | null): string | null;
|
package/dist/carriers.js
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
const OTHER_CARRIER = "other";
|
|
2
|
+
const CARRIERS = [
|
|
3
|
+
{
|
|
4
|
+
id: "gig",
|
|
5
|
+
logo: "/couriers/gig.png",
|
|
6
|
+
tint: "#0B7A3B",
|
|
7
|
+
name: "GIG Logistics",
|
|
8
|
+
trackingUrl: (code) => `https://giglogistics.com/tracking?waybill=${encodeURIComponent(code)}`
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
id: "kwik",
|
|
12
|
+
logo: "/couriers/kwik.png",
|
|
13
|
+
tint: "#E8462C",
|
|
14
|
+
name: "Kwik Delivery",
|
|
15
|
+
trackingUrl: (code) => `https://kwik.delivery/track/${encodeURIComponent(code)}`
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: "sendbox",
|
|
19
|
+
logo: "/couriers/sendbox.png",
|
|
20
|
+
tint: "#1B54F0",
|
|
21
|
+
name: "Sendbox",
|
|
22
|
+
trackingUrl: (code) => `https://sendbox.co/tracking?code=${encodeURIComponent(code)}`
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: "fez",
|
|
26
|
+
logo: "/couriers/fez.png",
|
|
27
|
+
tint: "#7A3BE8",
|
|
28
|
+
name: "Fez Delivery",
|
|
29
|
+
trackingUrl: (code) => `https://fezdelivery.co/track?order=${encodeURIComponent(code)}`
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: "nipost",
|
|
33
|
+
logo: "/couriers/nipost.png",
|
|
34
|
+
tint: "#0F7B6C",
|
|
35
|
+
name: "NIPOST",
|
|
36
|
+
trackingUrl: (code) => `https://www.nipost.gov.ng/TrackNTrace?id=${encodeURIComponent(code)}`
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "chowdeck",
|
|
40
|
+
logo: "/couriers/chowdeck.png",
|
|
41
|
+
tint: "#0F9D58",
|
|
42
|
+
name: "Chowdeck"
|
|
43
|
+
// No public waybill lookup: the rider is tracked in Chowdeck's own app and
|
|
44
|
+
// the merchant is told by phone. `trackingUrl` is optional for exactly this.
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: "glovo",
|
|
48
|
+
logo: "/couriers/glovo.png",
|
|
49
|
+
tint: "#F5C518",
|
|
50
|
+
name: "Glovo"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: "boltfood",
|
|
54
|
+
logo: "/couriers/boltfood.png",
|
|
55
|
+
tint: "#34D186",
|
|
56
|
+
name: "Bolt Food"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: "gokada",
|
|
60
|
+
logo: "/couriers/gokada.png",
|
|
61
|
+
tint: "#E8342C",
|
|
62
|
+
name: "Gokada"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
id: "maxng",
|
|
66
|
+
logo: "/couriers/maxng.png",
|
|
67
|
+
tint: "#1B1B1B",
|
|
68
|
+
name: "MAX.ng"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: "errandlr",
|
|
72
|
+
logo: "/couriers/errandlr.png",
|
|
73
|
+
tint: "#2B59FF",
|
|
74
|
+
name: "Errandlr"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
id: "dhl",
|
|
78
|
+
tint: "#D40511",
|
|
79
|
+
name: "DHL",
|
|
80
|
+
trackingUrl: (code) => `https://www.dhl.com/ng-en/home/tracking.html?tracking-id=${encodeURIComponent(code)}`
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: "fedex",
|
|
84
|
+
logo: "/couriers/fedex.png",
|
|
85
|
+
tint: "#4D148C",
|
|
86
|
+
name: "FedEx",
|
|
87
|
+
trackingUrl: (code) => `https://www.fedex.com/fedextrack/?trknbr=${encodeURIComponent(code)}`
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
id: "ups",
|
|
91
|
+
logo: "/couriers/ups.png",
|
|
92
|
+
tint: "#5A3A1B",
|
|
93
|
+
name: "UPS",
|
|
94
|
+
trackingUrl: (code) => `https://www.ups.com/track?tracknum=${encodeURIComponent(code)}`
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
id: "aramex",
|
|
98
|
+
name: "Aramex",
|
|
99
|
+
trackingUrl: (code) => `https://www.aramex.com/track/results?ShipmentNumber=${encodeURIComponent(code)}`
|
|
100
|
+
}
|
|
101
|
+
];
|
|
102
|
+
function findCarrier(name) {
|
|
103
|
+
if (!name) return null;
|
|
104
|
+
const needle = name.trim().toLowerCase();
|
|
105
|
+
return CARRIERS.find((c) => c.name.toLowerCase() === needle || c.id === needle) ?? // "GIG" against "GIG Logistics", "DHL Express" against "DHL". A merchant
|
|
106
|
+
// typing the short name is the common case, so a prefix match on either
|
|
107
|
+
// side is worth more than exactness here.
|
|
108
|
+
CARRIERS.find(
|
|
109
|
+
(c) => c.name.toLowerCase().startsWith(needle) || needle.startsWith(c.name.toLowerCase())
|
|
110
|
+
) ?? null;
|
|
111
|
+
}
|
|
112
|
+
function resolveTrackingUrl(carrier, code, explicitUrl) {
|
|
113
|
+
if (explicitUrl) return explicitUrl;
|
|
114
|
+
if (!code) return null;
|
|
115
|
+
const match = findCarrier(carrier);
|
|
116
|
+
return match?.trackingUrl?.(code.trim()) ?? null;
|
|
117
|
+
}
|
|
118
|
+
export {
|
|
119
|
+
CARRIERS,
|
|
120
|
+
OTHER_CARRIER,
|
|
121
|
+
findCarrier,
|
|
122
|
+
resolveTrackingUrl
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=carriers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/carriers.ts"],"sourcesContent":["/**\n * The couriers a merchant hands a parcel to, and where their codes lead.\n *\n * Box does not track parcels. There is no carrier integration and there is\n * not going to be one: it is a per-carrier, per-country treadmill that would\n * make us responsible for a package we never touch. What we can do completely\n * is record the handover and point the customer at the one page that knows.\n *\n * So a tracking number's whole job is to become a link. Asking the merchant to\n * paste that link themselves was asking them to do work we can do from the\n * code and the carrier's name, which is why `trackingUrl` used to be a fourth\n * text box that was almost always left empty.\n *\n * This list is a convenience, never a gate. `OTHER_CARRIER` keeps the free-text\n * path open for the courier nobody has heard of and the one that starts\n * operating next month.\n */\n\nexport interface Carrier {\n /** Stable key. Not shown. */\n id: string;\n /** What the merchant calls them, and what lands in `order.carrier`. */\n name: string;\n /**\n * Builds the page that knows where the parcel is.\n *\n * Undefined where the carrier has no public lookup — plenty of couriers\n * answer on WhatsApp and nowhere else. A carrier without one is not lesser;\n * it just means the code stays a code and is shown rather than linked.\n */\n trackingUrl?: (code: string) => string;\n /**\n * A mark for the picker, served from `public/`.\n *\n * Sourced from each carrier's own site (favicon / touch icon), normalised\n * to 64px PNG and served from `public/couriers/`. Local rather than\n * hotlinked, so the grid does not depend on a third party being up and no\n * request leaves the page to render a picker.\n *\n * Still optional, and two carriers still have none: DHL and Aramex publish\n * nothing above 16px, which is unusable at this size. They keep the\n * monogram — as does any local courier a merchant adds through \"Another\",\n * who will never have a logo either. The fallback is permanent, not a\n * placeholder.\n */\n logo?: string;\n /**\n * The tile's colour when there is no logo. A courier a merchant reaches for\n * daily should be findable by shape and colour before the name is read.\n */\n tint?: string;\n}\n\n/** The sentinel the picker uses for \"not on this list\". */\nexport const OTHER_CARRIER = 'other';\n\n/**\n * Ordered roughly by how often a Nigerian merchant reaches for them, since\n * that is who is standing at the counter. The international four are last\n * because a shop that exports uses exactly those and nothing else.\n *\n * The on-demand names — Chowdeck, Glovo, Bolt Food, Gokada, MAX.ng, Errandlr —\n * are here because a restaurant or a shop sending same-day is not calling DHL,\n * and a list that omits them is a list that sends every one of those merchants\n * to \"Another courier\" to type a name the software already knows. None of them\n * carries a `trackingUrl`: they are tracked in their own app and the merchant\n * is told by phone, which is precisely why that field is optional.\n */\nexport const CARRIERS: Carrier[] = [\n {\n id: 'gig',\n logo: '/couriers/gig.png',\n tint: '#0B7A3B',\n name: 'GIG Logistics',\n trackingUrl: (code) =>\n `https://giglogistics.com/tracking?waybill=${encodeURIComponent(code)}`,\n },\n {\n id: 'kwik',\n logo: '/couriers/kwik.png',\n tint: '#E8462C',\n name: 'Kwik Delivery',\n trackingUrl: (code) =>\n `https://kwik.delivery/track/${encodeURIComponent(code)}`,\n },\n {\n id: 'sendbox',\n logo: '/couriers/sendbox.png',\n tint: '#1B54F0',\n name: 'Sendbox',\n trackingUrl: (code) =>\n `https://sendbox.co/tracking?code=${encodeURIComponent(code)}`,\n },\n {\n id: 'fez',\n logo: '/couriers/fez.png',\n tint: '#7A3BE8',\n name: 'Fez Delivery',\n trackingUrl: (code) =>\n `https://fezdelivery.co/track?order=${encodeURIComponent(code)}`,\n },\n {\n id: 'nipost',\n logo: '/couriers/nipost.png',\n tint: '#0F7B6C',\n name: 'NIPOST',\n trackingUrl: (code) =>\n `https://www.nipost.gov.ng/TrackNTrace?id=${encodeURIComponent(code)}`,\n },\n {\n id: 'chowdeck',\n logo: '/couriers/chowdeck.png',\n tint: '#0F9D58',\n name: 'Chowdeck',\n // No public waybill lookup: the rider is tracked in Chowdeck's own app and\n // the merchant is told by phone. `trackingUrl` is optional for exactly this.\n },\n {\n id: 'glovo',\n logo: '/couriers/glovo.png',\n tint: '#F5C518',\n name: 'Glovo',\n },\n {\n id: 'boltfood',\n logo: '/couriers/boltfood.png',\n tint: '#34D186',\n name: 'Bolt Food',\n },\n {\n id: 'gokada',\n logo: '/couriers/gokada.png',\n tint: '#E8342C',\n name: 'Gokada',\n },\n {\n id: 'maxng',\n logo: '/couriers/maxng.png',\n tint: '#1B1B1B',\n name: 'MAX.ng',\n },\n {\n id: 'errandlr',\n logo: '/couriers/errandlr.png',\n tint: '#2B59FF',\n name: 'Errandlr',\n },\n {\n id: 'dhl',\n tint: '#D40511',\n name: 'DHL',\n trackingUrl: (code) =>\n `https://www.dhl.com/ng-en/home/tracking.html?tracking-id=${encodeURIComponent(code)}`,\n },\n {\n id: 'fedex',\n logo: '/couriers/fedex.png',\n tint: '#4D148C',\n name: 'FedEx',\n trackingUrl: (code) =>\n `https://www.fedex.com/fedextrack/?trknbr=${encodeURIComponent(code)}`,\n },\n {\n id: 'ups',\n logo: '/couriers/ups.png',\n tint: '#5A3A1B',\n name: 'UPS',\n trackingUrl: (code) =>\n `https://www.ups.com/track?tracknum=${encodeURIComponent(code)}`,\n },\n {\n id: 'aramex',\n name: 'Aramex',\n trackingUrl: (code) =>\n `https://www.aramex.com/track/results?ShipmentNumber=${encodeURIComponent(code)}`,\n },\n];\n\n/**\n * Finds a carrier by the name stored on the order.\n *\n * Matched on name rather than id because `order.carrier` is a free-text column\n * and always has been — orders written before this list existed hold \"GIG\" or\n * \"dhl\" typed by hand, and those should still light up as links. Anything that\n * does not match is simply a carrier we do not know, which is allowed.\n */\nexport function findCarrier(name: string | null | undefined): Carrier | null {\n if (!name) return null;\n const needle = name.trim().toLowerCase();\n return (\n CARRIERS.find((c) => c.name.toLowerCase() === needle || c.id === needle) ??\n // \"GIG\" against \"GIG Logistics\", \"DHL Express\" against \"DHL\". A merchant\n // typing the short name is the common case, so a prefix match on either\n // side is worth more than exactness here.\n CARRIERS.find(\n (c) =>\n c.name.toLowerCase().startsWith(needle) ||\n needle.startsWith(c.name.toLowerCase()),\n ) ??\n null\n );\n}\n\n/**\n * The page that knows where this parcel is, or null.\n *\n * A URL the merchant typed themselves always wins: they were looking at the\n * carrier's site when they pasted it, and a template we guessed from a name\n * has no business overruling that.\n */\nexport function resolveTrackingUrl(\n carrier: string | null | undefined,\n code: string | null | undefined,\n explicitUrl?: string | null,\n): string | null {\n if (explicitUrl) return explicitUrl;\n if (!code) return null;\n const match = findCarrier(carrier);\n return match?.trackingUrl?.(code.trim()) ?? null;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { BuildReadinessV1, BusinessProfileRevisionView, CommerceDeploymentView, CommerceLaunchView, CapabilityPlanV1, CommerceCompileResult, CommerceBuildView, CommerceSpecV1, LaunchProposalReceipt, PreviewJobView, SourceEvidence, SourceKind, VerificationJobView } from './contracts';
|
|
2
|
+
export interface StartCommerceBuildInput {
|
|
3
|
+
description: string;
|
|
4
|
+
websiteUrl?: string;
|
|
5
|
+
files: File[];
|
|
6
|
+
images: File[];
|
|
7
|
+
}
|
|
8
|
+
export { CommerceBuildRequestError, parseCommerceBuildSseFrame, streamCommerceBuildTurn, type CommerceBuildTurnResult, } from './turn-streaming';
|
|
9
|
+
export declare function buildStartCommerceBuildFormData(input: StartCommerceBuildInput): FormData;
|
|
10
|
+
export declare function createCommerceBuild(tenantSlug: string, input: StartCommerceBuildInput): Promise<CommerceBuildView>;
|
|
11
|
+
export declare function getCommerceBuild(tenantSlug: string, buildId: string): Promise<CommerceBuildView>;
|
|
12
|
+
export declare function getCurrentCommerceBuild(tenantSlug: string): Promise<CommerceBuildView | null>;
|
|
13
|
+
export declare function acceptCommerceBuildProfile(tenantSlug: string, buildId: string, profileRevision: number): Promise<CommerceBuildView>;
|
|
14
|
+
export declare function compileCommerceBuild(tenantSlug: string, buildId: string, profileRevision: number): Promise<CommerceCompileResult>;
|
|
15
|
+
export declare function createCommerceBuildPreview(tenantSlug: string, buildId: string, specRevision: number): Promise<PreviewJobView>;
|
|
16
|
+
export declare function verifyCommerceBuild(tenantSlug: string, buildId: string, previewId: string): Promise<VerificationJobView>;
|
|
17
|
+
export declare function proposeCommerceBuildLaunch(tenantSlug: string, buildId: string, input: {
|
|
18
|
+
specRevision: number;
|
|
19
|
+
readinessRevision: number;
|
|
20
|
+
}): Promise<LaunchProposalReceipt>;
|
|
21
|
+
export declare function resolveCurrentProfile(build: CommerceBuildView | null | undefined): BusinessProfileRevisionView | null;
|
|
22
|
+
export declare function resolveCurrentSpec(build: CommerceBuildView | null | undefined): CommerceSpecV1 | null;
|
|
23
|
+
export declare function resolveCurrentPlan(build: CommerceBuildView | null | undefined): CapabilityPlanV1 | null;
|
|
24
|
+
export declare function resolveCurrentPreview(build: CommerceBuildView | null | undefined): PreviewJobView | null;
|
|
25
|
+
export declare function resolveCurrentReadiness(build: CommerceBuildView | null | undefined): BuildReadinessV1 | null;
|
|
26
|
+
export declare function resolveCurrentVerification(build: CommerceBuildView | null | undefined): VerificationJobView | null;
|
|
27
|
+
export declare function resolveCurrentLaunch(build: CommerceBuildView | null | undefined): CommerceLaunchView | null;
|
|
28
|
+
export declare function resolveCurrentDeployment(build: CommerceBuildView | null | undefined): CommerceDeploymentView | null;
|
|
29
|
+
export declare function countEvidenceByKind(evidence: SourceEvidence[]): Record<SourceKind, number>;
|