@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,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Box's answering route — the model, not the regex.
|
|
3
|
+
*
|
|
4
|
+
* `potter-answer.ts` is still here and still answers when this cannot: a
|
|
5
|
+
* keyword router over a help corpus that reaches four hand-written lookups. It
|
|
6
|
+
* could only ever answer sentences somebody had already thought of, which is
|
|
7
|
+
* why "which items are running low" matched and "am I about to run out of
|
|
8
|
+
* anything" did not.
|
|
9
|
+
*
|
|
10
|
+
* This calls `POST /potter/ask`, which decides which question a sentence IS,
|
|
11
|
+
* in whatever words it arrived in, and answers from the merchant's own rows
|
|
12
|
+
* through the same usecases the analytics screens read.
|
|
13
|
+
*/
|
|
14
|
+
export interface PotterTurn {
|
|
15
|
+
role: 'you' | 'potter';
|
|
16
|
+
text: string;
|
|
17
|
+
}
|
|
18
|
+
export interface PotterAnswer {
|
|
19
|
+
text: string;
|
|
20
|
+
/** Which lookups ran. Nothing renders this yet; it is here so an answer can
|
|
21
|
+
* be audited against the rows it claims to have read. */
|
|
22
|
+
toolsUsed: string[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* NULL MEANS "NOT AVAILABLE", NOT "NO ANSWER", and the caller must tell those
|
|
26
|
+
* apart. The route answers 503 wherever `ANTHROPIC_API_KEY` is unset — which is
|
|
27
|
+
* every local checkout and staging until the key is deployed — and a merchant
|
|
28
|
+
* must not see an error for a deployment state they cannot act on. The caller
|
|
29
|
+
* falls back to the local router, which is exactly what shipped before this
|
|
30
|
+
* existed.
|
|
31
|
+
*
|
|
32
|
+
* A thrown error is different and is NOT swallowed here: a 500 from a route
|
|
33
|
+
* that is configured is a real failure and the surface should say so.
|
|
34
|
+
*/
|
|
35
|
+
export declare const potterApi: {
|
|
36
|
+
/**
|
|
37
|
+
* `tenantSlug` IS NOT OPTIONAL IN PRACTICE, and leaving it off is what broke
|
|
38
|
+
* this route. `/potter/ask` reads `@TenantId()` behind `PermissionsGuard`,
|
|
39
|
+
* which throws `Tenant context required` — a 401 — when no workspace was
|
|
40
|
+
* named. `apiFetch` only sends `X-Tenant-Slug` when it is handed one, so
|
|
41
|
+
* every question from the browser took a 401, which is not 503 and so was
|
|
42
|
+
* rethrown rather than falling back. The surface said "I could not reach
|
|
43
|
+
* that just now. Try again in a moment.", which was untrue in the only way
|
|
44
|
+
* that matters: trying again could never work.
|
|
45
|
+
*/
|
|
46
|
+
ask(question: string, history?: PotterTurn[], tenantSlug?: string): Promise<PotterAnswer | null>;
|
|
47
|
+
};
|
|
48
|
+
/** One frame of a streamed turn, mirroring the API's own union. */
|
|
49
|
+
export type PotterStreamEvent = {
|
|
50
|
+
type: 'text';
|
|
51
|
+
text: string;
|
|
52
|
+
} | {
|
|
53
|
+
type: 'tool';
|
|
54
|
+
name: string;
|
|
55
|
+
} | {
|
|
56
|
+
type: 'done';
|
|
57
|
+
toolsUsed: string[];
|
|
58
|
+
} | {
|
|
59
|
+
type: 'error';
|
|
60
|
+
message: string;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* The same answer, read as it is written.
|
|
64
|
+
*
|
|
65
|
+
* NOT `EventSource`, and not because of a preference: it only speaks GET, and a
|
|
66
|
+
* question plus ten turns of history does not belong in a URL. So this posts and
|
|
67
|
+
* reads the body stream, which is a few lines of framing here and nothing at all
|
|
68
|
+
* on the server.
|
|
69
|
+
*
|
|
70
|
+
* SSE FRAMING IS LINE-ORIENTED AND A CHUNK IS NOT A FRAME. A read can end
|
|
71
|
+
* mid-event, so the tail of the buffer is kept until a blank line proves the
|
|
72
|
+
* frame is whole. Parsing per chunk instead is the bug that shows up only under
|
|
73
|
+
* load, when messages are long enough to split.
|
|
74
|
+
*
|
|
75
|
+
* FALSE MEANS "NOT AVAILABLE HERE", the same contract `ask` uses: an
|
|
76
|
+
* unconfigured environment cannot answer 503 once the headers are out, so it
|
|
77
|
+
* says so in an `error` frame instead, and both paths return the caller to the
|
|
78
|
+
* keyword router rather than to an error a merchant cannot act on.
|
|
79
|
+
*/
|
|
80
|
+
/**
|
|
81
|
+
* A RAW `fetch` HAS TO CARRY WHAT `apiFetch` WOULD HAVE CARRIED.
|
|
82
|
+
*
|
|
83
|
+
* This posted `Content-Type` and nothing else, and a body stream is the one
|
|
84
|
+
* thing `apiFetch` cannot return — so the route lost the four headers every
|
|
85
|
+
* other call in the app gets for free. Two of them were load-bearing:
|
|
86
|
+
* `X-CSRF-Token`, without which the api's global `CsrfGuard` refuses every
|
|
87
|
+
* POST, and `X-Tenant-Slug`, without which `PermissionsGuard` has no workspace
|
|
88
|
+
* to check a permission against. The stream therefore answered 403 on every
|
|
89
|
+
* environment since it shipped, silently, because a failed stream falls back
|
|
90
|
+
* to the whole-turn route and that route was broken the same way.
|
|
91
|
+
*
|
|
92
|
+
* They are read off the same helpers `apiFetch` uses rather than passed in, so
|
|
93
|
+
* the two paths cannot drift on where a token lives.
|
|
94
|
+
*/
|
|
95
|
+
export declare function askPotterStream(question: string, history: PotterTurn[], on: (event: PotterStreamEvent) => void, signal?: AbortSignal, tenantSlug?: string): Promise<boolean>;
|
|
96
|
+
/**
|
|
97
|
+
* Whole SSE events out of a buffer, and whatever is left over.
|
|
98
|
+
*
|
|
99
|
+
* SEPARATED FROM THE FETCH SO IT CAN BE TESTED, because this is the part that
|
|
100
|
+
* is quietly wrong in most hand-rolled SSE clients and the part that cannot be
|
|
101
|
+
* checked by looking at it. A chunk is not a frame: a read can end anywhere,
|
|
102
|
+
* including halfway through a JSON payload, so anything after the last blank
|
|
103
|
+
* line is held back rather than parsed. Parsing per chunk works perfectly until
|
|
104
|
+
* answers get long enough to split across reads — which is exactly when nobody
|
|
105
|
+
* is watching.
|
|
106
|
+
*
|
|
107
|
+
* A frame that is not JSON is dropped rather than thrown: that is a proxy or a
|
|
108
|
+
* gateway talking, not Box, and crashing a merchant's turn on somebody
|
|
109
|
+
* else's error page helps nobody.
|
|
110
|
+
*/
|
|
111
|
+
export declare function takeSseEvents(buffer: string): {
|
|
112
|
+
events: PotterStreamEvent[];
|
|
113
|
+
rest: string;
|
|
114
|
+
};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { apiFetch, getAccountId, getCsrfToken } from "./core";
|
|
2
|
+
const potterApi = {
|
|
3
|
+
/**
|
|
4
|
+
* `tenantSlug` IS NOT OPTIONAL IN PRACTICE, and leaving it off is what broke
|
|
5
|
+
* this route. `/potter/ask` reads `@TenantId()` behind `PermissionsGuard`,
|
|
6
|
+
* which throws `Tenant context required` — a 401 — when no workspace was
|
|
7
|
+
* named. `apiFetch` only sends `X-Tenant-Slug` when it is handed one, so
|
|
8
|
+
* every question from the browser took a 401, which is not 503 and so was
|
|
9
|
+
* rethrown rather than falling back. The surface said "I could not reach
|
|
10
|
+
* that just now. Try again in a moment.", which was untrue in the only way
|
|
11
|
+
* that matters: trying again could never work.
|
|
12
|
+
*/
|
|
13
|
+
async ask(question, history = [], tenantSlug) {
|
|
14
|
+
try {
|
|
15
|
+
return await apiFetch("/potter/ask", {
|
|
16
|
+
method: "POST",
|
|
17
|
+
tenantSlug,
|
|
18
|
+
body: JSON.stringify({ question, history })
|
|
19
|
+
});
|
|
20
|
+
} catch (err) {
|
|
21
|
+
const status = err?.status;
|
|
22
|
+
if (status === 503 || status === 404) return null;
|
|
23
|
+
throw err;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
async function askPotterStream(question, history, on, signal, tenantSlug) {
|
|
28
|
+
const headers = {
|
|
29
|
+
"Content-Type": "application/json"
|
|
30
|
+
};
|
|
31
|
+
if (tenantSlug) headers["X-Tenant-Slug"] = tenantSlug;
|
|
32
|
+
const accountId = getAccountId();
|
|
33
|
+
if (accountId) headers["x-account-id"] = accountId;
|
|
34
|
+
const csrfToken = getCsrfToken();
|
|
35
|
+
if (csrfToken) headers["X-CSRF-Token"] = csrfToken;
|
|
36
|
+
const res = await fetch("/api/proxy/potter/ask/stream", {
|
|
37
|
+
method: "POST",
|
|
38
|
+
headers,
|
|
39
|
+
credentials: "include",
|
|
40
|
+
body: JSON.stringify({ question, history }),
|
|
41
|
+
signal
|
|
42
|
+
});
|
|
43
|
+
if (res.status === 503 || res.status === 404 || !res.body) return false;
|
|
44
|
+
if (!res.ok) throw new Error(`Box answered ${res.status}`);
|
|
45
|
+
const reader = res.body.getReader();
|
|
46
|
+
const decoder = new TextDecoder();
|
|
47
|
+
let buffer = "";
|
|
48
|
+
let available = true;
|
|
49
|
+
for (; ; ) {
|
|
50
|
+
const { done, value } = await reader.read();
|
|
51
|
+
if (done) break;
|
|
52
|
+
const { events, rest } = takeSseEvents(
|
|
53
|
+
buffer + decoder.decode(value, { stream: true })
|
|
54
|
+
);
|
|
55
|
+
buffer = rest;
|
|
56
|
+
for (const event of events) {
|
|
57
|
+
if (event.type === "error" && event.message.includes("not configured")) {
|
|
58
|
+
available = false;
|
|
59
|
+
} else {
|
|
60
|
+
on(event);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return available;
|
|
65
|
+
}
|
|
66
|
+
function takeSseEvents(buffer) {
|
|
67
|
+
const events = [];
|
|
68
|
+
let rest = buffer;
|
|
69
|
+
for (; ; ) {
|
|
70
|
+
const cut = rest.indexOf("\n\n");
|
|
71
|
+
if (cut === -1) break;
|
|
72
|
+
const frame = rest.slice(0, cut);
|
|
73
|
+
rest = rest.slice(cut + 2);
|
|
74
|
+
const line = frame.split("\n").find((l) => l.startsWith("data:"));
|
|
75
|
+
if (!line) continue;
|
|
76
|
+
try {
|
|
77
|
+
events.push(JSON.parse(line.slice(5).trim()));
|
|
78
|
+
} catch {
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return { events, rest };
|
|
82
|
+
}
|
|
83
|
+
export {
|
|
84
|
+
askPotterStream,
|
|
85
|
+
potterApi,
|
|
86
|
+
takeSseEvents
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=potter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/api/potter.ts"],"sourcesContent":["import { apiFetch, getAccountId, getCsrfToken } from './core';\n\n/**\n * Box's answering route — the model, not the regex.\n *\n * `potter-answer.ts` is still here and still answers when this cannot: a\n * keyword router over a help corpus that reaches four hand-written lookups. It\n * could only ever answer sentences somebody had already thought of, which is\n * why \"which items are running low\" matched and \"am I about to run out of\n * anything\" did not.\n *\n * This calls `POST /potter/ask`, which decides which question a sentence IS,\n * in whatever words it arrived in, and answers from the merchant's own rows\n * through the same usecases the analytics screens read.\n */\n\nexport interface PotterTurn {\n role: 'you' | 'potter';\n text: string;\n}\n\nexport interface PotterAnswer {\n text: string;\n /** Which lookups ran. Nothing renders this yet; it is here so an answer can\n * be audited against the rows it claims to have read. */\n toolsUsed: string[];\n}\n\n/**\n * NULL MEANS \"NOT AVAILABLE\", NOT \"NO ANSWER\", and the caller must tell those\n * apart. The route answers 503 wherever `ANTHROPIC_API_KEY` is unset — which is\n * every local checkout and staging until the key is deployed — and a merchant\n * must not see an error for a deployment state they cannot act on. The caller\n * falls back to the local router, which is exactly what shipped before this\n * existed.\n *\n * A thrown error is different and is NOT swallowed here: a 500 from a route\n * that is configured is a real failure and the surface should say so.\n */\nexport const potterApi = {\n /**\n * `tenantSlug` IS NOT OPTIONAL IN PRACTICE, and leaving it off is what broke\n * this route. `/potter/ask` reads `@TenantId()` behind `PermissionsGuard`,\n * which throws `Tenant context required` — a 401 — when no workspace was\n * named. `apiFetch` only sends `X-Tenant-Slug` when it is handed one, so\n * every question from the browser took a 401, which is not 503 and so was\n * rethrown rather than falling back. The surface said \"I could not reach\n * that just now. Try again in a moment.\", which was untrue in the only way\n * that matters: trying again could never work.\n */\n async ask(\n question: string,\n history: PotterTurn[] = [],\n tenantSlug?: string,\n ): Promise<PotterAnswer | null> {\n try {\n return await apiFetch<PotterAnswer>('/potter/ask', {\n method: 'POST',\n tenantSlug,\n body: JSON.stringify({ question, history }),\n });\n } catch (err) {\n const status = (err as { status?: number } | null)?.status;\n // 503: not configured here. 404: the route is older than this client.\n if (status === 503 || status === 404) return null;\n throw err;\n }\n },\n};\n\n/** One frame of a streamed turn, mirroring the API's own union. */\nexport type PotterStreamEvent =\n | { type: 'text'; text: string }\n | { type: 'tool'; name: string }\n | { type: 'done'; toolsUsed: string[] }\n | { type: 'error'; message: string };\n\n/**\n * The same answer, read as it is written.\n *\n * NOT `EventSource`, and not because of a preference: it only speaks GET, and a\n * question plus ten turns of history does not belong in a URL. So this posts and\n * reads the body stream, which is a few lines of framing here and nothing at all\n * on the server.\n *\n * SSE FRAMING IS LINE-ORIENTED AND A CHUNK IS NOT A FRAME. A read can end\n * mid-event, so the tail of the buffer is kept until a blank line proves the\n * frame is whole. Parsing per chunk instead is the bug that shows up only under\n * load, when messages are long enough to split.\n *\n * FALSE MEANS \"NOT AVAILABLE HERE\", the same contract `ask` uses: an\n * unconfigured environment cannot answer 503 once the headers are out, so it\n * says so in an `error` frame instead, and both paths return the caller to the\n * keyword router rather than to an error a merchant cannot act on.\n */\n/**\n * A RAW `fetch` HAS TO CARRY WHAT `apiFetch` WOULD HAVE CARRIED.\n *\n * This posted `Content-Type` and nothing else, and a body stream is the one\n * thing `apiFetch` cannot return — so the route lost the four headers every\n * other call in the app gets for free. Two of them were load-bearing:\n * `X-CSRF-Token`, without which the api's global `CsrfGuard` refuses every\n * POST, and `X-Tenant-Slug`, without which `PermissionsGuard` has no workspace\n * to check a permission against. The stream therefore answered 403 on every\n * environment since it shipped, silently, because a failed stream falls back\n * to the whole-turn route and that route was broken the same way.\n *\n * They are read off the same helpers `apiFetch` uses rather than passed in, so\n * the two paths cannot drift on where a token lives.\n */\nexport async function askPotterStream(\n question: string,\n history: PotterTurn[],\n on: (event: PotterStreamEvent) => void,\n signal?: AbortSignal,\n tenantSlug?: string,\n): Promise<boolean> {\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n };\n if (tenantSlug) headers['X-Tenant-Slug'] = tenantSlug;\n const accountId = getAccountId();\n if (accountId) headers['x-account-id'] = accountId;\n const csrfToken = getCsrfToken();\n if (csrfToken) headers['X-CSRF-Token'] = csrfToken;\n\n const res = await fetch('/api/proxy/potter/ask/stream', {\n method: 'POST',\n headers,\n credentials: 'include',\n body: JSON.stringify({ question, history }),\n signal,\n });\n\n if (res.status === 503 || res.status === 404 || !res.body) return false;\n if (!res.ok) throw new Error(`Box answered ${res.status}`);\n\n const reader = res.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n let available = true;\n\n for (;;) {\n const { done, value } = await reader.read();\n if (done) break;\n\n const { events, rest } = takeSseEvents(\n buffer + decoder.decode(value, { stream: true }),\n );\n buffer = rest;\n\n for (const event of events) {\n /* An unconfigured environment says so in-band, because a 503 cannot be\n sent once the headers are out. Treated as \"not available\" rather than\n as a failure, so the caller falls back exactly as it would on a 503. */\n if (event.type === 'error' && event.message.includes('not configured')) {\n available = false;\n } else {\n on(event);\n }\n }\n }\n\n return available;\n}\n\n/**\n * Whole SSE events out of a buffer, and whatever is left over.\n *\n * SEPARATED FROM THE FETCH SO IT CAN BE TESTED, because this is the part that\n * is quietly wrong in most hand-rolled SSE clients and the part that cannot be\n * checked by looking at it. A chunk is not a frame: a read can end anywhere,\n * including halfway through a JSON payload, so anything after the last blank\n * line is held back rather than parsed. Parsing per chunk works perfectly until\n * answers get long enough to split across reads — which is exactly when nobody\n * is watching.\n *\n * A frame that is not JSON is dropped rather than thrown: that is a proxy or a\n * gateway talking, not Box, and crashing a merchant's turn on somebody\n * else's error page helps nobody.\n */\nexport function takeSseEvents(buffer: string): {\n events: PotterStreamEvent[];\n rest: string;\n} {\n const events: PotterStreamEvent[] = [];\n let rest = buffer;\n\n for (;;) {\n const cut = rest.indexOf('\\n\\n');\n if (cut === -1) break;\n\n const frame = rest.slice(0, cut);\n rest = rest.slice(cut + 2);\n\n const line = frame.split('\\n').find((l) => l.startsWith('data:'));\n if (!line) continue;\n\n try {\n events.push(JSON.parse(line.slice(5).trim()) as PotterStreamEvent);\n } catch {\n /* Not ours. See above. */\n }\n }\n\n return { events, rest };\n}\n"],"mappings":"AAAA,SAAS,UAAU,cAAc,oBAAoB;AAuC9C,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWvB,MAAM,IACJ,UACA,UAAwB,CAAC,GACzB,YAC8B;AAC9B,QAAI;AACF,aAAO,MAAM,SAAuB,eAAe;AAAA,QACjD,QAAQ;AAAA,QACR;AAAA,QACA,MAAM,KAAK,UAAU,EAAE,UAAU,QAAQ,CAAC;AAAA,MAC5C,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,YAAM,SAAU,KAAoC;AAEpD,UAAI,WAAW,OAAO,WAAW,IAAK,QAAO;AAC7C,YAAM;AAAA,IACR;AAAA,EACF;AACF;AA0CA,eAAsB,gBACpB,UACA,SACA,IACA,QACA,YACkB;AAClB,QAAM,UAAkC;AAAA,IACtC,gBAAgB;AAAA,EAClB;AACA,MAAI,WAAY,SAAQ,eAAe,IAAI;AAC3C,QAAM,YAAY,aAAa;AAC/B,MAAI,UAAW,SAAQ,cAAc,IAAI;AACzC,QAAM,YAAY,aAAa;AAC/B,MAAI,UAAW,SAAQ,cAAc,IAAI;AAEzC,QAAM,MAAM,MAAM,MAAM,gCAAgC;AAAA,IACtD,QAAQ;AAAA,IACR;AAAA,IACA,aAAa;AAAA,IACb,MAAM,KAAK,UAAU,EAAE,UAAU,QAAQ,CAAC;AAAA,IAC1C;AAAA,EACF,CAAC;AAED,MAAI,IAAI,WAAW,OAAO,IAAI,WAAW,OAAO,CAAC,IAAI,KAAM,QAAO;AAClE,MAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM,gBAAgB,IAAI,MAAM,EAAE;AAEzD,QAAM,SAAS,IAAI,KAAK,UAAU;AAClC,QAAM,UAAU,IAAI,YAAY;AAChC,MAAI,SAAS;AACb,MAAI,YAAY;AAEhB,aAAS;AACP,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,QAAI,KAAM;AAEV,UAAM,EAAE,QAAQ,KAAK,IAAI;AAAA,MACvB,SAAS,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC;AAAA,IACjD;AACA,aAAS;AAET,eAAW,SAAS,QAAQ;AAI1B,UAAI,MAAM,SAAS,WAAW,MAAM,QAAQ,SAAS,gBAAgB,GAAG;AACtE,oBAAY;AAAA,MACd,OAAO;AACL,WAAG,KAAK;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAiBO,SAAS,cAAc,QAG5B;AACA,QAAM,SAA8B,CAAC;AACrC,MAAI,OAAO;AAEX,aAAS;AACP,UAAM,MAAM,KAAK,QAAQ,MAAM;AAC/B,QAAI,QAAQ,GAAI;AAEhB,UAAM,QAAQ,KAAK,MAAM,GAAG,GAAG;AAC/B,WAAO,KAAK,MAAM,MAAM,CAAC;AAEzB,UAAM,OAAO,MAAM,MAAM,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,OAAO,CAAC;AAChE,QAAI,CAAC,KAAM;AAEX,QAAI;AACF,aAAO,KAAK,KAAK,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,CAAsB;AAAA,IACnE,QAAQ;AAAA,IAER;AAAA,EACF;AAEA,SAAO,EAAE,QAAQ,KAAK;AACxB;","names":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface PushPublicKey {
|
|
2
|
+
/** Null when the environment has no VAPID keys configured. */
|
|
3
|
+
publicKey: string | null;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Web Push registration.
|
|
7
|
+
*
|
|
8
|
+
* The browser owns the subscription object; this only tells the API where to
|
|
9
|
+
* send. `subscribe` is safe to call repeatedly — the API upserts on endpoint,
|
|
10
|
+
* because a browser re-permissioned after a reset returns the same endpoint
|
|
11
|
+
* with fresh keys and must not become a second row that buzzes the phone twice.
|
|
12
|
+
*/
|
|
13
|
+
export declare const pushApi: {
|
|
14
|
+
getPublicKey: (tenantSlug: string) => Promise<PushPublicKey>;
|
|
15
|
+
subscribe: (tenantSlug: string, subscription: PushSubscriptionJSON) => Promise<{
|
|
16
|
+
id: string;
|
|
17
|
+
}>;
|
|
18
|
+
unsubscribe: (tenantSlug: string, endpoint: string) => Promise<{
|
|
19
|
+
removed: number;
|
|
20
|
+
}>;
|
|
21
|
+
/** Proves the permission works, so turning it on is not an act of faith. */
|
|
22
|
+
sendTest: (tenantSlug: string) => Promise<{
|
|
23
|
+
delivered: number;
|
|
24
|
+
}>;
|
|
25
|
+
};
|
package/dist/api/push.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { apiFetch } from "./core";
|
|
2
|
+
const pushApi = {
|
|
3
|
+
getPublicKey: (tenantSlug) => apiFetch("/communications/push/public-key", { tenantSlug }),
|
|
4
|
+
subscribe: (tenantSlug, subscription) => apiFetch("/communications/push/subscribe", {
|
|
5
|
+
tenantSlug,
|
|
6
|
+
method: "POST",
|
|
7
|
+
body: JSON.stringify(subscription)
|
|
8
|
+
}),
|
|
9
|
+
unsubscribe: (tenantSlug, endpoint) => apiFetch("/communications/push/subscribe", {
|
|
10
|
+
tenantSlug,
|
|
11
|
+
method: "DELETE",
|
|
12
|
+
body: JSON.stringify({ endpoint })
|
|
13
|
+
}),
|
|
14
|
+
/** Proves the permission works, so turning it on is not an act of faith. */
|
|
15
|
+
sendTest: (tenantSlug) => apiFetch("/communications/push/test", {
|
|
16
|
+
tenantSlug,
|
|
17
|
+
method: "POST"
|
|
18
|
+
})
|
|
19
|
+
};
|
|
20
|
+
export {
|
|
21
|
+
pushApi
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=push.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/api/push.ts"],"sourcesContent":["import { apiFetch } from './core';\n\nexport interface PushPublicKey {\n /** Null when the environment has no VAPID keys configured. */\n publicKey: string | null;\n}\n\n/**\n * Web Push registration.\n *\n * The browser owns the subscription object; this only tells the API where to\n * send. `subscribe` is safe to call repeatedly — the API upserts on endpoint,\n * because a browser re-permissioned after a reset returns the same endpoint\n * with fresh keys and must not become a second row that buzzes the phone twice.\n */\nexport const pushApi = {\n getPublicKey: (tenantSlug: string) =>\n apiFetch<PushPublicKey>('/communications/push/public-key', { tenantSlug }),\n\n subscribe: (tenantSlug: string, subscription: PushSubscriptionJSON) =>\n apiFetch<{ id: string }>('/communications/push/subscribe', {\n tenantSlug,\n method: 'POST',\n body: JSON.stringify(subscription),\n }),\n\n unsubscribe: (tenantSlug: string, endpoint: string) =>\n apiFetch<{ removed: number }>('/communications/push/subscribe', {\n tenantSlug,\n method: 'DELETE',\n body: JSON.stringify({ endpoint }),\n }),\n\n /** Proves the permission works, so turning it on is not an act of faith. */\n sendTest: (tenantSlug: string) =>\n apiFetch<{ delivered: number }>('/communications/push/test', {\n tenantSlug,\n method: 'POST',\n }),\n};\n"],"mappings":"AAAA,SAAS,gBAAgB;AAelB,MAAM,UAAU;AAAA,EACrB,cAAc,CAAC,eACb,SAAwB,mCAAmC,EAAE,WAAW,CAAC;AAAA,EAE3E,WAAW,CAAC,YAAoB,iBAC9B,SAAyB,kCAAkC;AAAA,IACzD;AAAA,IACA,QAAQ;AAAA,IACR,MAAM,KAAK,UAAU,YAAY;AAAA,EACnC,CAAC;AAAA,EAEH,aAAa,CAAC,YAAoB,aAChC,SAA8B,kCAAkC;AAAA,IAC9D;AAAA,IACA,QAAQ;AAAA,IACR,MAAM,KAAK,UAAU,EAAE,SAAS,CAAC;AAAA,EACnC,CAAC;AAAA;AAAA,EAGH,UAAU,CAAC,eACT,SAAgC,6BAA6B;AAAA,IAC3D;AAAA,IACA,QAAQ;AAAA,EACV,CAAC;AACL;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReferralStatus, PaginatedReferrals, ReferralStats } from './types';
|
|
2
|
+
export declare const referralsApi: {
|
|
3
|
+
list: (tenantSlug: string, query?: {
|
|
4
|
+
status?: ReferralStatus;
|
|
5
|
+
referrerMemberId?: string;
|
|
6
|
+
page?: number;
|
|
7
|
+
limit?: number;
|
|
8
|
+
}) => Promise<PaginatedReferrals>;
|
|
9
|
+
getStats: (tenantSlug: string) => Promise<ReferralStats>;
|
|
10
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { apiFetch } from "./core";
|
|
2
|
+
const referralsApi = {
|
|
3
|
+
list: (tenantSlug, query) => apiFetch(
|
|
4
|
+
`/referrals?${new URLSearchParams(
|
|
5
|
+
Object.fromEntries(
|
|
6
|
+
Object.entries(query || {}).filter(([, v]) => v != null).map(([k, v]) => [k, String(v)])
|
|
7
|
+
)
|
|
8
|
+
)}`,
|
|
9
|
+
{ tenantSlug }
|
|
10
|
+
),
|
|
11
|
+
getStats: (tenantSlug) => apiFetch("/referrals/stats", { tenantSlug })
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
referralsApi
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=referrals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/api/referrals.ts"],"sourcesContent":["import { apiFetch } from './core';\nimport type {\n ReferralStatus,\n PaginatedReferrals,\n ReferralStats,\n} from './types';\n\nexport const referralsApi = {\n list: (\n tenantSlug: string,\n query?: {\n status?: ReferralStatus;\n referrerMemberId?: string;\n page?: number;\n limit?: number;\n },\n ) =>\n apiFetch<PaginatedReferrals>(\n `/referrals?${new URLSearchParams(\n Object.fromEntries(\n Object.entries(query || {})\n .filter(([, v]) => v != null)\n .map(([k, v]) => [k, String(v)]),\n ),\n )}`,\n { tenantSlug },\n ),\n\n getStats: (tenantSlug: string) =>\n apiFetch<ReferralStats>('/referrals/stats', { tenantSlug }),\n};\n\n// =============================================================================\n// DISCOUNTS API\n// =============================================================================\n"],"mappings":"AAAA,SAAS,gBAAgB;AAOlB,MAAM,eAAe;AAAA,EAC1B,MAAM,CACJ,YACA,UAOA;AAAA,IACE,cAAc,IAAI;AAAA,MAChB,OAAO;AAAA,QACL,OAAO,QAAQ,SAAS,CAAC,CAAC,EACvB,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,EAC3B,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AAAA,MACnC;AAAA,IACF,CAAC;AAAA,IACD,EAAE,WAAW;AAAA,EACf;AAAA,EAEF,UAAU,CAAC,eACT,SAAwB,oBAAoB,EAAE,WAAW,CAAC;AAC9D;","names":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export declare const resourceCategoriesApi: {
|
|
2
|
+
/**
|
|
3
|
+
* List all resource categories for the current tenant
|
|
4
|
+
*/
|
|
5
|
+
list: (tenantSlug: string, kind?: import("../resource-types").ResourceCategoryKind) => Promise<import("../resource-types").ResourceCategory[]>;
|
|
6
|
+
/**
|
|
7
|
+
* Which services ask for each group.
|
|
8
|
+
*
|
|
9
|
+
* The reverse of `getContentRequirements`, and the roster's question rather
|
|
10
|
+
* than the service editor's: a group nothing asks for is never offered to a
|
|
11
|
+
* customer, so the people in it can never be booked. A group with no entry in
|
|
12
|
+
* the response is the answer "nothing does".
|
|
13
|
+
*/
|
|
14
|
+
usage: (tenantSlug: string) => Promise<import("../resource-types").CategoryUsage[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Create a new resource category
|
|
17
|
+
*/
|
|
18
|
+
create: (tenantSlug: string, data: import("../resource-types").CreateResourceCategoryInput) => Promise<import("../resource-types").ResourceCategory>;
|
|
19
|
+
/**
|
|
20
|
+
* Update a resource category
|
|
21
|
+
*/
|
|
22
|
+
update: (tenantSlug: string, id: string, data: import("../resource-types").UpdateResourceCategoryInput) => Promise<import("../resource-types").ResourceCategory>;
|
|
23
|
+
/**
|
|
24
|
+
* Delete a resource category
|
|
25
|
+
*/
|
|
26
|
+
delete: (tenantSlug: string, id: string) => Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Set resource requirements for a product/service
|
|
29
|
+
*/
|
|
30
|
+
setContentRequirements: (tenantSlug: string, contentId: string, data: import("../resource-types").SetContentRequirementsInput) => Promise<import("../resource-types").ContentResourceRequirement[]>;
|
|
31
|
+
/**
|
|
32
|
+
* Get resource requirements for a product/service
|
|
33
|
+
*/
|
|
34
|
+
getContentRequirements: (tenantSlug: string, contentId: string) => Promise<import("../resource-types").ContentResourceRequirement[]>;
|
|
35
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { apiFetch } from "./core";
|
|
2
|
+
const resourceCategoriesApi = {
|
|
3
|
+
/**
|
|
4
|
+
* List all resource categories for the current tenant
|
|
5
|
+
*/
|
|
6
|
+
list: (tenantSlug, kind) => {
|
|
7
|
+
const query = kind ? `?kind=${kind}` : "";
|
|
8
|
+
return apiFetch(
|
|
9
|
+
`/resource-categories${query}`,
|
|
10
|
+
{ tenantSlug }
|
|
11
|
+
);
|
|
12
|
+
},
|
|
13
|
+
/**
|
|
14
|
+
* Which services ask for each group.
|
|
15
|
+
*
|
|
16
|
+
* The reverse of `getContentRequirements`, and the roster's question rather
|
|
17
|
+
* than the service editor's: a group nothing asks for is never offered to a
|
|
18
|
+
* customer, so the people in it can never be booked. A group with no entry in
|
|
19
|
+
* the response is the answer "nothing does".
|
|
20
|
+
*/
|
|
21
|
+
usage: (tenantSlug) => apiFetch(
|
|
22
|
+
"/resource-categories/usage",
|
|
23
|
+
{ tenantSlug }
|
|
24
|
+
),
|
|
25
|
+
/**
|
|
26
|
+
* Create a new resource category
|
|
27
|
+
*/
|
|
28
|
+
create: (tenantSlug, data) => apiFetch(
|
|
29
|
+
"/resource-categories",
|
|
30
|
+
{
|
|
31
|
+
method: "POST",
|
|
32
|
+
tenantSlug,
|
|
33
|
+
body: JSON.stringify(data)
|
|
34
|
+
}
|
|
35
|
+
),
|
|
36
|
+
/**
|
|
37
|
+
* Update a resource category
|
|
38
|
+
*/
|
|
39
|
+
update: (tenantSlug, id, data) => apiFetch(
|
|
40
|
+
`/resource-categories/${id}`,
|
|
41
|
+
{
|
|
42
|
+
method: "PUT",
|
|
43
|
+
tenantSlug,
|
|
44
|
+
body: JSON.stringify(data)
|
|
45
|
+
}
|
|
46
|
+
),
|
|
47
|
+
/**
|
|
48
|
+
* Delete a resource category
|
|
49
|
+
*/
|
|
50
|
+
delete: (tenantSlug, id) => apiFetch(`/resource-categories/${id}`, {
|
|
51
|
+
method: "DELETE",
|
|
52
|
+
tenantSlug
|
|
53
|
+
}),
|
|
54
|
+
/**
|
|
55
|
+
* Set resource requirements for a product/service
|
|
56
|
+
*/
|
|
57
|
+
setContentRequirements: (tenantSlug, contentId, data) => apiFetch(
|
|
58
|
+
`/resource-categories/content/${contentId}/requirements`,
|
|
59
|
+
{
|
|
60
|
+
method: "PUT",
|
|
61
|
+
tenantSlug,
|
|
62
|
+
body: JSON.stringify(data)
|
|
63
|
+
}
|
|
64
|
+
),
|
|
65
|
+
/**
|
|
66
|
+
* Get resource requirements for a product/service
|
|
67
|
+
*/
|
|
68
|
+
getContentRequirements: (tenantSlug, contentId) => apiFetch(
|
|
69
|
+
`/resource-categories/content/${contentId}/requirements`,
|
|
70
|
+
{ tenantSlug }
|
|
71
|
+
)
|
|
72
|
+
};
|
|
73
|
+
export {
|
|
74
|
+
resourceCategoriesApi
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=resource-categories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/api/resource-categories.ts"],"sourcesContent":["import { apiFetch } from './core';\n\n// ============================================\n// RESOURCE CATEGORIES API\n// ============================================\n\nexport const resourceCategoriesApi = {\n /**\n * List all resource categories for the current tenant\n */\n list: (\n tenantSlug: string,\n kind?: import('../resource-types').ResourceCategoryKind,\n ) => {\n const query = kind ? `?kind=${kind}` : '';\n return apiFetch<import('../resource-types').ResourceCategory[]>(\n `/resource-categories${query}`,\n { tenantSlug },\n );\n },\n\n /**\n * Which services ask for each group.\n *\n * The reverse of `getContentRequirements`, and the roster's question rather\n * than the service editor's: a group nothing asks for is never offered to a\n * customer, so the people in it can never be booked. A group with no entry in\n * the response is the answer \"nothing does\".\n */\n usage: (tenantSlug: string) =>\n apiFetch<import('../resource-types').CategoryUsage[]>(\n '/resource-categories/usage',\n { tenantSlug },\n ),\n\n /**\n * Create a new resource category\n */\n create: (\n tenantSlug: string,\n data: import('../resource-types').CreateResourceCategoryInput,\n ) =>\n apiFetch<import('../resource-types').ResourceCategory>(\n '/resource-categories',\n {\n method: 'POST',\n tenantSlug,\n body: JSON.stringify(data),\n },\n ),\n\n /**\n * Update a resource category\n */\n update: (\n tenantSlug: string,\n id: string,\n data: import('../resource-types').UpdateResourceCategoryInput,\n ) =>\n apiFetch<import('../resource-types').ResourceCategory>(\n `/resource-categories/${id}`,\n {\n method: 'PUT',\n tenantSlug,\n body: JSON.stringify(data),\n },\n ),\n\n /**\n * Delete a resource category\n */\n delete: (tenantSlug: string, id: string) =>\n apiFetch<void>(`/resource-categories/${id}`, {\n method: 'DELETE',\n tenantSlug,\n }),\n\n /**\n * Set resource requirements for a product/service\n */\n setContentRequirements: (\n tenantSlug: string,\n contentId: string,\n data: import('../resource-types').SetContentRequirementsInput,\n ) =>\n apiFetch<import('../resource-types').ContentResourceRequirement[]>(\n `/resource-categories/content/${contentId}/requirements`,\n {\n method: 'PUT',\n tenantSlug,\n body: JSON.stringify(data),\n },\n ),\n\n /**\n * Get resource requirements for a product/service\n */\n getContentRequirements: (tenantSlug: string, contentId: string) =>\n apiFetch<import('../resource-types').ContentResourceRequirement[]>(\n `/resource-categories/content/${contentId}/requirements`,\n { tenantSlug },\n ),\n};\n\n// ============================================\n// WAITLIST API\n// ============================================\n"],"mappings":"AAAA,SAAS,gBAAgB;AAMlB,MAAM,wBAAwB;AAAA;AAAA;AAAA;AAAA,EAInC,MAAM,CACJ,YACA,SACG;AACH,UAAM,QAAQ,OAAO,SAAS,IAAI,KAAK;AACvC,WAAO;AAAA,MACL,uBAAuB,KAAK;AAAA,MAC5B,EAAE,WAAW;AAAA,IACf;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,OAAO,CAAC,eACN;AAAA,IACE;AAAA,IACA,EAAE,WAAW;AAAA,EACf;AAAA;AAAA;AAAA;AAAA,EAKF,QAAQ,CACN,YACA,SAEA;AAAA,IACE;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR;AAAA,MACA,MAAM,KAAK,UAAU,IAAI;AAAA,IAC3B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKF,QAAQ,CACN,YACA,IACA,SAEA;AAAA,IACE,wBAAwB,EAAE;AAAA,IAC1B;AAAA,MACE,QAAQ;AAAA,MACR;AAAA,MACA,MAAM,KAAK,UAAU,IAAI;AAAA,IAC3B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKF,QAAQ,CAAC,YAAoB,OAC3B,SAAe,wBAAwB,EAAE,IAAI;AAAA,IAC3C,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,wBAAwB,CACtB,YACA,WACA,SAEA;AAAA,IACE,gCAAgC,SAAS;AAAA,IACzC;AAAA,MACE,QAAQ;AAAA,MACR;AAAA,MACA,MAAM,KAAK,UAAU,IAAI;AAAA,IAC3B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKF,wBAAwB,CAAC,YAAoB,cAC3C;AAAA,IACE,gCAAgC,SAAS;AAAA,IACzC,EAAE,WAAW;AAAA,EACf;AACJ;","names":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { ResourceItem } from './types';
|
|
2
|
+
export declare const resourcesApi: {
|
|
3
|
+
/**
|
|
4
|
+
* List all resources (therapists, rooms, etc.)
|
|
5
|
+
*/
|
|
6
|
+
list: (tenantSlug: string, type?: string) => Promise<{
|
|
7
|
+
data: ResourceItem[];
|
|
8
|
+
}>;
|
|
9
|
+
/**
|
|
10
|
+
* Get a single resource by ID
|
|
11
|
+
*/
|
|
12
|
+
get: (tenantSlug: string, id: string) => Promise<{
|
|
13
|
+
data: ResourceItem;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* Create a new resource
|
|
17
|
+
*/
|
|
18
|
+
create: (tenantSlug: string, data: import("../resource-types").CreateResourceInput) => Promise<import("../resource-types").Resource>;
|
|
19
|
+
/**
|
|
20
|
+
* Update a resource
|
|
21
|
+
*/
|
|
22
|
+
update: (tenantSlug: string, id: string, data: import("../resource-types").UpdateResourceInput) => Promise<import("../resource-types").Resource>;
|
|
23
|
+
/**
|
|
24
|
+
* Delete a resource (soft delete)
|
|
25
|
+
*/
|
|
26
|
+
delete: (tenantSlug: string, id: string) => Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Activate a resource
|
|
29
|
+
*/
|
|
30
|
+
activate: (tenantSlug: string, id: string) => Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Deactivate a resource
|
|
33
|
+
*/
|
|
34
|
+
deactivate: (tenantSlug: string, id: string) => Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Reorder resources
|
|
37
|
+
*/
|
|
38
|
+
reorder: (tenantSlug: string, orderedIds: string[]) => Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* List resources with full details (typed for dashboard resource management)
|
|
41
|
+
*/
|
|
42
|
+
listFull: (tenantSlug: string, params?: {
|
|
43
|
+
type?: string;
|
|
44
|
+
categoryId?: string;
|
|
45
|
+
search?: string;
|
|
46
|
+
}) => Promise<{
|
|
47
|
+
data: import("../resource-types").Resource[];
|
|
48
|
+
total: number;
|
|
49
|
+
}>;
|
|
50
|
+
/**
|
|
51
|
+
* Update only the schedule of a resource
|
|
52
|
+
*/
|
|
53
|
+
updateSchedule: (tenantSlug: string, id: string, schedule: import("../resource-types").WeeklySchedule) => Promise<import("../resource-types").Resource>;
|
|
54
|
+
};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { apiFetch } from "./core";
|
|
2
|
+
const resourcesApi = {
|
|
3
|
+
/**
|
|
4
|
+
* List all resources (therapists, rooms, etc.)
|
|
5
|
+
*/
|
|
6
|
+
list: (tenantSlug, type) => {
|
|
7
|
+
const query = type ? `?type=${type}` : "";
|
|
8
|
+
return apiFetch(`/bookings/resources${query}`, {
|
|
9
|
+
tenantSlug
|
|
10
|
+
});
|
|
11
|
+
},
|
|
12
|
+
/**
|
|
13
|
+
* Get a single resource by ID
|
|
14
|
+
*/
|
|
15
|
+
get: (tenantSlug, id) => apiFetch(`/bookings/resources/${id}`, {
|
|
16
|
+
tenantSlug
|
|
17
|
+
}),
|
|
18
|
+
/**
|
|
19
|
+
* Create a new resource
|
|
20
|
+
*/
|
|
21
|
+
create: (tenantSlug, data) => apiFetch("/bookings/resources", {
|
|
22
|
+
method: "POST",
|
|
23
|
+
tenantSlug,
|
|
24
|
+
body: JSON.stringify(data)
|
|
25
|
+
}),
|
|
26
|
+
/**
|
|
27
|
+
* Update a resource
|
|
28
|
+
*/
|
|
29
|
+
update: (tenantSlug, id, data) => apiFetch(
|
|
30
|
+
`/bookings/resources/${id}`,
|
|
31
|
+
{
|
|
32
|
+
method: "PUT",
|
|
33
|
+
tenantSlug,
|
|
34
|
+
body: JSON.stringify(data)
|
|
35
|
+
}
|
|
36
|
+
),
|
|
37
|
+
/**
|
|
38
|
+
* Delete a resource (soft delete)
|
|
39
|
+
*/
|
|
40
|
+
delete: (tenantSlug, id) => apiFetch(`/bookings/resources/${id}`, {
|
|
41
|
+
method: "DELETE",
|
|
42
|
+
tenantSlug
|
|
43
|
+
}),
|
|
44
|
+
/**
|
|
45
|
+
* Activate a resource
|
|
46
|
+
*/
|
|
47
|
+
activate: (tenantSlug, id) => apiFetch(`/bookings/resources/${id}/activate`, {
|
|
48
|
+
method: "PATCH",
|
|
49
|
+
tenantSlug
|
|
50
|
+
}),
|
|
51
|
+
/**
|
|
52
|
+
* Deactivate a resource
|
|
53
|
+
*/
|
|
54
|
+
deactivate: (tenantSlug, id) => apiFetch(`/bookings/resources/${id}/deactivate`, {
|
|
55
|
+
method: "PATCH",
|
|
56
|
+
tenantSlug
|
|
57
|
+
}),
|
|
58
|
+
/**
|
|
59
|
+
* Reorder resources
|
|
60
|
+
*/
|
|
61
|
+
reorder: (tenantSlug, orderedIds) => apiFetch("/bookings/resources/reorder", {
|
|
62
|
+
method: "POST",
|
|
63
|
+
tenantSlug,
|
|
64
|
+
body: JSON.stringify({ orderedIds })
|
|
65
|
+
}),
|
|
66
|
+
/**
|
|
67
|
+
* List resources with full details (typed for dashboard resource management)
|
|
68
|
+
*/
|
|
69
|
+
listFull: (tenantSlug, params) => {
|
|
70
|
+
const searchParams = new URLSearchParams();
|
|
71
|
+
if (params?.type) searchParams.set("type", params.type);
|
|
72
|
+
if (params?.categoryId) searchParams.set("categoryId", params.categoryId);
|
|
73
|
+
if (params?.search) searchParams.set("search", params.search);
|
|
74
|
+
const query = searchParams.toString() ? `?${searchParams.toString()}` : "";
|
|
75
|
+
return apiFetch(`/bookings/resources${query}`, { tenantSlug });
|
|
76
|
+
},
|
|
77
|
+
/**
|
|
78
|
+
* Update only the schedule of a resource
|
|
79
|
+
*/
|
|
80
|
+
updateSchedule: (tenantSlug, id, schedule) => apiFetch(
|
|
81
|
+
`/bookings/resources/${id}`,
|
|
82
|
+
{
|
|
83
|
+
method: "PUT",
|
|
84
|
+
tenantSlug,
|
|
85
|
+
body: JSON.stringify({ schedule })
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
};
|
|
89
|
+
export {
|
|
90
|
+
resourcesApi
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/api/resources.ts"],"sourcesContent":["import { apiFetch } from './core';\nimport type { ResourceItem } from './types';\n\nexport const resourcesApi = {\n /**\n * List all resources (therapists, rooms, etc.)\n */\n list: (tenantSlug: string, type?: string) => {\n const query = type ? `?type=${type}` : '';\n return apiFetch<{ data: ResourceItem[] }>(`/bookings/resources${query}`, {\n tenantSlug,\n });\n },\n\n /**\n * Get a single resource by ID\n */\n get: (tenantSlug: string, id: string) =>\n apiFetch<{ data: ResourceItem }>(`/bookings/resources/${id}`, {\n tenantSlug,\n }),\n\n /**\n * Create a new resource\n */\n create: (\n tenantSlug: string,\n data: import('../resource-types').CreateResourceInput,\n ) =>\n apiFetch<import('../resource-types').Resource>('/bookings/resources', {\n method: 'POST',\n tenantSlug,\n body: JSON.stringify(data),\n }),\n\n /**\n * Update a resource\n */\n update: (\n tenantSlug: string,\n id: string,\n data: import('../resource-types').UpdateResourceInput,\n ) =>\n apiFetch<import('../resource-types').Resource>(\n `/bookings/resources/${id}`,\n {\n method: 'PUT',\n tenantSlug,\n body: JSON.stringify(data),\n },\n ),\n\n /**\n * Delete a resource (soft delete)\n */\n delete: (tenantSlug: string, id: string) =>\n apiFetch<void>(`/bookings/resources/${id}`, {\n method: 'DELETE',\n tenantSlug,\n }),\n\n /**\n * Activate a resource\n */\n activate: (tenantSlug: string, id: string) =>\n apiFetch<void>(`/bookings/resources/${id}/activate`, {\n method: 'PATCH',\n tenantSlug,\n }),\n\n /**\n * Deactivate a resource\n */\n deactivate: (tenantSlug: string, id: string) =>\n apiFetch<void>(`/bookings/resources/${id}/deactivate`, {\n method: 'PATCH',\n tenantSlug,\n }),\n\n /**\n * Reorder resources\n */\n reorder: (tenantSlug: string, orderedIds: string[]) =>\n apiFetch<void>('/bookings/resources/reorder', {\n method: 'POST',\n tenantSlug,\n body: JSON.stringify({ orderedIds }),\n }),\n\n /**\n * List resources with full details (typed for dashboard resource management)\n */\n listFull: (\n tenantSlug: string,\n params?: { type?: string; categoryId?: string; search?: string },\n ) => {\n const searchParams = new URLSearchParams();\n if (params?.type) searchParams.set('type', params.type);\n if (params?.categoryId) searchParams.set('categoryId', params.categoryId);\n if (params?.search) searchParams.set('search', params.search);\n const query = searchParams.toString() ? `?${searchParams.toString()}` : '';\n return apiFetch<{\n data: import('../resource-types').Resource[];\n total: number;\n }>(`/bookings/resources${query}`, { tenantSlug });\n },\n\n /**\n * Update only the schedule of a resource\n */\n updateSchedule: (\n tenantSlug: string,\n id: string,\n schedule: import('../resource-types').WeeklySchedule,\n ) =>\n apiFetch<import('../resource-types').Resource>(\n `/bookings/resources/${id}`,\n {\n method: 'PUT',\n tenantSlug,\n body: JSON.stringify({ schedule }),\n },\n ),\n};\n\n// ============================================\n// RESOURCE CATEGORIES API\n// ============================================\n"],"mappings":"AAAA,SAAS,gBAAgB;AAGlB,MAAM,eAAe;AAAA;AAAA;AAAA;AAAA,EAI1B,MAAM,CAAC,YAAoB,SAAkB;AAC3C,UAAM,QAAQ,OAAO,SAAS,IAAI,KAAK;AACvC,WAAO,SAAmC,sBAAsB,KAAK,IAAI;AAAA,MACvE;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,KAAK,CAAC,YAAoB,OACxB,SAAiC,uBAAuB,EAAE,IAAI;AAAA,IAC5D;AAAA,EACF,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,QAAQ,CACN,YACA,SAEA,SAA+C,uBAAuB;AAAA,IACpE,QAAQ;AAAA,IACR;AAAA,IACA,MAAM,KAAK,UAAU,IAAI;AAAA,EAC3B,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,QAAQ,CACN,YACA,IACA,SAEA;AAAA,IACE,uBAAuB,EAAE;AAAA,IACzB;AAAA,MACE,QAAQ;AAAA,MACR;AAAA,MACA,MAAM,KAAK,UAAU,IAAI;AAAA,IAC3B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKF,QAAQ,CAAC,YAAoB,OAC3B,SAAe,uBAAuB,EAAE,IAAI;AAAA,IAC1C,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,UAAU,CAAC,YAAoB,OAC7B,SAAe,uBAAuB,EAAE,aAAa;AAAA,IACnD,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,YAAY,CAAC,YAAoB,OAC/B,SAAe,uBAAuB,EAAE,eAAe;AAAA,IACrD,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,SAAS,CAAC,YAAoB,eAC5B,SAAe,+BAA+B;AAAA,IAC5C,QAAQ;AAAA,IACR;AAAA,IACA,MAAM,KAAK,UAAU,EAAE,WAAW,CAAC;AAAA,EACrC,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,UAAU,CACR,YACA,WACG;AACH,UAAM,eAAe,IAAI,gBAAgB;AACzC,QAAI,QAAQ,KAAM,cAAa,IAAI,QAAQ,OAAO,IAAI;AACtD,QAAI,QAAQ,WAAY,cAAa,IAAI,cAAc,OAAO,UAAU;AACxE,QAAI,QAAQ,OAAQ,cAAa,IAAI,UAAU,OAAO,MAAM;AAC5D,UAAM,QAAQ,aAAa,SAAS,IAAI,IAAI,aAAa,SAAS,CAAC,KAAK;AACxE,WAAO,SAGJ,sBAAsB,KAAK,IAAI,EAAE,WAAW,CAAC;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgB,CACd,YACA,IACA,aAEA;AAAA,IACE,uBAAuB,EAAE;AAAA,IACzB;AAAA,MACE,QAAQ;AAAA,MACR;AAAA,MACA,MAAM,KAAK,UAAU,EAAE,SAAS,CAAC;AAAA,IACnC;AAAA,EACF;AACJ;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ReviewStatus, ReviewItem, ReviewsListResponse, ReviewsQuery, ReviewStats } from './types';
|
|
2
|
+
export declare const reviewsApi: {
|
|
3
|
+
/** List all reviews (admin) */
|
|
4
|
+
list: (tenantSlug: string, query?: ReviewsQuery) => Promise<ReviewsListResponse>;
|
|
5
|
+
/** Rating summary for a single content item (product) */
|
|
6
|
+
getStats: (tenantSlug: string, contentId: string) => Promise<ReviewStats>;
|
|
7
|
+
/** Get a single review */
|
|
8
|
+
get: (tenantSlug: string, reviewId: string) => Promise<ReviewItem>;
|
|
9
|
+
/** Moderate a review (approve, reject, flag) */
|
|
10
|
+
moderate: (tenantSlug: string, reviewId: string, data: {
|
|
11
|
+
status: ReviewStatus;
|
|
12
|
+
note?: string;
|
|
13
|
+
}) => Promise<ReviewItem>;
|
|
14
|
+
/** Add merchant response to a review */
|
|
15
|
+
respond: (tenantSlug: string, reviewId: string, response: string) => Promise<ReviewItem>;
|
|
16
|
+
/** Delete a review */
|
|
17
|
+
delete: (tenantSlug: string, reviewId: string) => Promise<void>;
|
|
18
|
+
};
|