@riverbankcms/sdk 0.91.0 → 0.93.0

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.
Files changed (118) hide show
  1. package/dist/{PreviewEditorSidebar-3TT47WCF.mjs → PreviewEditorSidebar-D3PAF7NW.mjs} +3 -3
  2. package/dist/{PreviewEditorUI-ORCLLUNZ.mjs → PreviewEditorUI-G5JVJEIJ.mjs} +3 -3
  3. package/dist/SdkPreviewModeRuntime-NHTLRNQD.mjs +8 -0
  4. package/dist/_dts/api/src/bookingConfig.d.ts +13 -1
  5. package/dist/_dts/api/src/bookingOperations.d.ts +1 -0
  6. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +6 -6
  7. package/dist/_dts/api/src/common/envelope.d.ts +10 -0
  8. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +4 -4
  9. package/dist/_dts/api/src/index.d.ts +2 -2
  10. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +6 -0
  11. package/dist/_dts/api/src/request.d.ts +1 -1
  12. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +32 -0
  13. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +12 -1
  14. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +12 -0
  15. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +4 -1
  16. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +44 -0
  17. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +8 -0
  18. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +8 -1
  19. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
  20. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -0
  21. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +4 -0
  22. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +40 -0
  23. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
  24. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +29 -0
  25. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +1 -0
  26. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/components.d.ts +6 -0
  27. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +8 -0
  28. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +8 -0
  29. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +1 -0
  30. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +1 -0
  32. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +9 -0
  33. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +14 -14
  34. package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +1 -1
  35. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +5 -15
  36. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +46 -0
  37. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +43 -36
  38. package/dist/_dts/content-model/src/entry-slots/types.d.ts +110 -2
  39. package/dist/_dts/core/src/branded.d.ts +3 -0
  40. package/dist/_dts/core/src/event-pricing.d.ts +18 -1
  41. package/dist/_dts/core/src/money-input.d.ts +34 -4
  42. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +70 -0
  43. package/dist/_dts/media-core/src/fileAssetCompatibility.d.ts +1 -1
  44. package/dist/_dts/media-core/src/filePersistence.d.ts +5 -1
  45. package/dist/_dts/media-core/src/fileStorage.d.ts +1 -0
  46. package/dist/_dts/media-core/src/fileUploadFinalization.d.ts +29 -1
  47. package/dist/_dts/media-core/src/index.d.ts +1 -0
  48. package/dist/_dts/media-core/src/legacyMediaValue.d.ts +11 -0
  49. package/dist/_dts/media-core/src/videoPrep.d.ts +15 -6
  50. package/dist/_dts/media-core/src/videoSlotPolicy.d.ts +5 -5
  51. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +2 -1
  52. package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +2 -0
  53. package/dist/_dts/sdk/src/cli/commands/push/execute/localMediaReporting.d.ts +23 -0
  54. package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +54 -0
  55. package/dist/_dts/sdk/src/cli/commands/push/scopes/mediaPrep.d.ts +7 -2
  56. package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +6 -0
  57. package/dist/_dts/sdk/src/cli/media/local-sync.d.ts +35 -0
  58. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +23 -1
  59. package/dist/_dts/sdk/src/version.d.ts +1 -1
  60. package/dist/{chunk-GDT2QGIL.mjs → chunk-A63UXN3P.mjs} +21 -19
  61. package/dist/{chunk-U5YM4AWE.mjs → chunk-AJZGT6YG.mjs} +1 -1
  62. package/dist/{chunk-AFPMCLS7.mjs → chunk-AQ6RT6LZ.mjs} +2 -2
  63. package/dist/{chunk-ZA2S7H34.mjs → chunk-NT76QGIJ.mjs} +98 -1
  64. package/dist/{chunk-RQUZYSES.mjs → chunk-PCNCETBI.mjs} +1196 -426
  65. package/dist/{chunk-S3YHJWEU.mjs → chunk-XIK2HYI3.mjs} +7 -7
  66. package/dist/cli/index.mjs +749 -166
  67. package/dist/client/{accordion-AFX37652.mjs → accordion-RNQIPG55.mjs} +2 -2
  68. package/dist/client/{bookingForm-32V5QCOW.mjs → bookingForm-HYEEVRLP.mjs} +89 -14
  69. package/dist/client/bookings.mjs +243 -17
  70. package/dist/client/{carousel-TJGQJ7ER.mjs → carousel-W7DQ3YPU.mjs} +3 -3
  71. package/dist/client/{cart-JUU2JEW4.mjs → cart-PXJ3SXXO.mjs} +7 -7
  72. package/dist/client/{checkout-RD6BTFX4.mjs → checkout-X3JYSOXI.mjs} +7 -7
  73. package/dist/client/{chunk-MLBNVN4H.mjs → chunk-6SYGVVWA.mjs} +67 -4
  74. package/dist/client/{chunk-E6VIWZUG.mjs → chunk-DUOHLWLF.mjs} +3 -3
  75. package/dist/client/{chunk-6QZIBNGV.mjs → chunk-IXDSXF2D.mjs} +154 -16
  76. package/dist/client/{chunk-CKXEUWWA.mjs → chunk-J6TMMMXW.mjs} +3 -3
  77. package/dist/client/{chunk-PMNAV6LO.mjs → chunk-JNE6UI6U.mjs} +7 -6
  78. package/dist/client/{chunk-ISAUXU5R.mjs → chunk-OLAOAZEO.mjs} +1 -1
  79. package/dist/client/{chunk-RWYFG625.mjs → chunk-PCHACQEB.mjs} +30 -2
  80. package/dist/client/{chunk-FMZZHAIR.mjs → chunk-PICR3NTQ.mjs} +52 -5
  81. package/dist/client/{chunk-6RN62XBV.mjs → chunk-Q47XGAGS.mjs} +1 -1
  82. package/dist/client/{chunk-WHZQDPBZ.mjs → chunk-TNGL2WJF.mjs} +1 -0
  83. package/dist/client/{chunk-C4LP6BPG.mjs → chunk-WERRJXNJ.mjs} +1 -1
  84. package/dist/client/{chunk-RMOFBBNA.mjs → chunk-YYVGSYBO.mjs} +6 -6
  85. package/dist/client/client.mjs +641 -54
  86. package/dist/client/{courseRegistration-X63QAIVV.mjs → courseRegistration-QZ67PVHO.mjs} +111 -11
  87. package/dist/client/{eventCalendar-5T24GCZL.mjs → eventCalendar-V3BDHQNT.mjs} +9 -9
  88. package/dist/client/{eventCombined-AZVTF22X.mjs → eventCombined-XYFRN2RG.mjs} +9 -9
  89. package/dist/client/{eventDetails-7GPFNLGF.mjs → eventDetails-TFE5TWKV.mjs} +9 -9
  90. package/dist/client/{eventListing-QEUMTMUM.mjs → eventListing-IQ6AGWZ6.mjs} +9 -9
  91. package/dist/client/{eventRegistration-P2EDKCQZ.mjs → eventRegistration-WGJVFKQJ.mjs} +9 -9
  92. package/dist/client/{form-NUJ7H4IN.mjs → form-6UZY6RUA.mjs} +3 -3
  93. package/dist/client/{headerSection-JB7LECPL.mjs → headerSection-RSFXY6V3.mjs} +3 -3
  94. package/dist/client/hooks.mjs +57 -5
  95. package/dist/client/{locationMap-UEYWUCSW.mjs → locationMap-24FH67I4.mjs} +3 -3
  96. package/dist/client/{newsletterForm-S2YZQ2X7.mjs → newsletterForm-QVL3MLTN.mjs} +3 -3
  97. package/dist/client/{productDetail-H5MADGG7.mjs → productDetail-ZDYN3G4T.mjs} +7 -7
  98. package/dist/client/{productList-DK7YON7H.mjs → productList-4BMJLQHZ.mjs} +7 -7
  99. package/dist/client/rendering/client.mjs +503 -36
  100. package/dist/client/rendering/islands.mjs +19 -19
  101. package/dist/client/rendering.mjs +583 -39
  102. package/dist/client/{shop-6PA7RDRJ.mjs → shop-U5C634FF.mjs} +7 -7
  103. package/dist/preview-next/client/runtime.mjs +5 -5
  104. package/dist/{sdk-runtime-JP5347OB.mjs → sdk-runtime-VGV46WVB.mjs} +6 -6
  105. package/dist/server/components.mjs +287 -68
  106. package/dist/server/config-validation.mjs +58 -5
  107. package/dist/server/config.mjs +58 -5
  108. package/dist/server/data.mjs +57 -5
  109. package/dist/server/index.mjs +104 -29
  110. package/dist/server/next.mjs +347 -85
  111. package/dist/server/page-converter.mjs +22 -5
  112. package/dist/server/prebuild.mjs +1 -1
  113. package/dist/server/rendering/server.mjs +287 -68
  114. package/dist/server/rendering.mjs +287 -68
  115. package/dist/server/routing.mjs +131 -67
  116. package/dist/server/server.mjs +189 -94
  117. package/package.json +1 -1
  118. package/dist/SdkPreviewModeRuntime-GMCDQPZZ.mjs +0 -8
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSidebarChromeModel, resolvePreviewEditorGuidanceModel, previewWidgetOverrides, canInspectSiteStyle, mapContentSchemaToFormFields, PreviewFormProvider, usePreviewBlockCustomizeSelectionOptional, BlockEditor, canApplySiteStyle, useBlockCustomizeControls, MAX_QUICK_MANIFEST_FIELDS } from './chunk-GDT2QGIL.mjs';
3
- import { useEntryController, useEditorUiStoreInstance, useUISelector, resolvePreviewSidebarTab, unsafeAsEditorBlockId, Tabs, TabsList, TabsTrigger, Button, X, TabsContent, useEditorUiStore, deriveRouteMetadataPresentation, resolvePageRouteSlug, createManifestValidation, createStoreBackend, ManifestForm, previewAssistantEnabled, Collapsible, CollapsibleTrigger, ChevronRight, CollapsibleContent, ContentFieldsForm, usePreviewDesignCoordinator, useSiteChromeCustomizeOptional, resolveStyleConfiguratorInitialSnapshot, createStyleConfiguratorState, isPreviewingChange, createOptimisticActionRunner, syncStyleConfiguratorState, getCuratedSiteStyle, planSiteStylePreviewChange, openRow, previewSiteStyle, applyResolvedSelections, previewButtonPersonality, previewHeaderLayout, previewHeaderStyle, planSiteChromeLookSelection, previewFooterLook, buildSiteChromeLookModels, planSiteChromeFooterLayoutSelection, previewPaletteVariant, previewTypographyPreset, setTypographyBodyFontOverride, setTypographyHeadingFontOverride, clearTypographyFontOverrides, paletteOverridesSchema, setPaletteOverrides, toggleRow, cancelPreview, dismissWarnings, dismissNotices, deriveStyleConfiguratorCapabilities, buildApplySiteStyleSelectionBody, markApplyFailed, selectionSnapshotFromApplySiteStyleSelectionResponse, styleConfiguratorHistoryEntryForPersistedSelection, markApplySaved, unwrapResponse, markApplySaving, findButtonPersonality, findPaletteVariant, findTypographyPreset, getHeaderLayout, getHeaderStyle, getFooterLayout, findFooterLook, cycleSiteChromeLookId, resolveContentTitle, foldSubroute, SUBROUTE_KINDS, Smartphone, Tablet, Monitor, Maximize2, cn, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuItem, listEntryPageContentSlots, ContentSpinner, Callout, CalloutDescription, curatedSiteStyles, ChevronLeft, cycleableSiteChromeOptions, requireEntriesForCuratedChoices, buttonPersonalities, typographyPresets, paletteVariants, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, FormRenderer, evaluateTypographyFontSlot, Separator, Surface, ColorPicker, Input } from './chunk-RQUZYSES.mjs';
4
- import { usePreviewAuth, getDashboardUrl } from './chunk-ZA2S7H34.mjs';
2
+ import { resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSidebarChromeModel, resolvePreviewEditorGuidanceModel, previewWidgetOverrides, canInspectSiteStyle, mapContentSchemaToFormFields, PreviewFormProvider, usePreviewBlockCustomizeSelectionOptional, BlockEditor, canApplySiteStyle, useBlockCustomizeControls, MAX_QUICK_MANIFEST_FIELDS } from './chunk-A63UXN3P.mjs';
3
+ import { useEntryController, useEditorUiStoreInstance, useUISelector, resolvePreviewSidebarTab, unsafeAsEditorBlockId, Tabs, TabsList, TabsTrigger, Button, X, TabsContent, useEditorUiStore, deriveRouteMetadataPresentation, resolvePageRouteSlug, createManifestValidation, createStoreBackend, ManifestForm, previewAssistantEnabled, Collapsible, CollapsibleTrigger, ChevronRight, CollapsibleContent, ContentFieldsForm, usePreviewDesignCoordinator, useSiteChromeCustomizeOptional, resolveStyleConfiguratorInitialSnapshot, createStyleConfiguratorState, isPreviewingChange, createOptimisticActionRunner, syncStyleConfiguratorState, getCuratedSiteStyle, planSiteStylePreviewChange, openRow, previewSiteStyle, applyResolvedSelections, previewButtonPersonality, previewHeaderLayout, previewHeaderStyle, planSiteChromeLookSelection, previewFooterLook, buildSiteChromeLookModels, planSiteChromeFooterLayoutSelection, previewPaletteVariant, previewTypographyPreset, setTypographyBodyFontOverride, setTypographyHeadingFontOverride, clearTypographyFontOverrides, paletteOverridesSchema, setPaletteOverrides, toggleRow, cancelPreview, dismissWarnings, dismissNotices, deriveStyleConfiguratorCapabilities, buildApplySiteStyleSelectionBody, markApplyFailed, selectionSnapshotFromApplySiteStyleSelectionResponse, styleConfiguratorHistoryEntryForPersistedSelection, markApplySaved, markApplySaving, findButtonPersonality, findPaletteVariant, findTypographyPreset, getHeaderLayout, getHeaderStyle, getFooterLayout, findFooterLook, cycleSiteChromeLookId, resolveContentTitle, foldSubroute, SUBROUTE_KINDS, Smartphone, Tablet, Monitor, Maximize2, cn, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuItem, listEntryPageContentSlots, ContentSpinner, Callout, CalloutDescription, curatedSiteStyles, ChevronLeft, cycleableSiteChromeOptions, requireEntriesForCuratedChoices, buttonPersonalities, typographyPresets, paletteVariants, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, FormRenderer, evaluateTypographyFontSlot, Separator, Surface, ColorPicker, Input } from './chunk-PCNCETBI.mjs';
4
+ import { usePreviewAuth, getDashboardUrl, unwrapResponse } from './chunk-NT76QGIJ.mjs';
5
5
  import './chunk-R7POPVJR.mjs';
6
6
  import { useMemo, useRef, useCallback, useEffect, useState, useTransition, useLayoutEffect, useSyncExternalStore, useId } from 'react';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { resolvePreviewChromeSurface, usePreviewPageDesignEditorState, PREVIEW_CHROME_PORTAL_CLASS_NAME, PREVIEW_CHROME_THEME_CLASS_NAME, applyPreviewChromeSurfaceToElement, setPreviewSidebarTab } from './chunk-AFPMCLS7.mjs';
3
- import { useEntryEditorController, useEditorUiStore, useMultiAutosave, usePreviewDesignHistoryOrder, useSiteChromeCustomizeOptional, selectPreviewDesignHistoryDomain, EditorChrome, previewDesignHistoryDomainForCommand, classifyHistoryShortcut, previewAssistantEnabled, unwrapResponse, cn, Dialog, Button, Palette, DialogContent, DialogHeader, DialogTitle, DialogDescription, TriangleAlert, Pencil, Sparkles, useEditorUiStoreInstance } from './chunk-RQUZYSES.mjs';
4
- import { usePreviewAuth } from './chunk-ZA2S7H34.mjs';
2
+ import { resolvePreviewChromeSurface, usePreviewPageDesignEditorState, PREVIEW_CHROME_PORTAL_CLASS_NAME, PREVIEW_CHROME_THEME_CLASS_NAME, applyPreviewChromeSurfaceToElement, setPreviewSidebarTab } from './chunk-AQ6RT6LZ.mjs';
3
+ import { useEntryEditorController, useEditorUiStore, useMultiAutosave, usePreviewDesignHistoryOrder, useSiteChromeCustomizeOptional, selectPreviewDesignHistoryDomain, EditorChrome, previewDesignHistoryDomainForCommand, classifyHistoryShortcut, previewAssistantEnabled, cn, Dialog, Button, Palette, DialogContent, DialogHeader, DialogTitle, DialogDescription, TriangleAlert, Pencil, Sparkles, useEditorUiStoreInstance } from './chunk-PCNCETBI.mjs';
4
+ import { usePreviewAuth, unwrapResponse } from './chunk-NT76QGIJ.mjs';
5
5
  import './chunk-R7POPVJR.mjs';
6
6
  import { useState, useMemo, useCallback, useEffect, useTransition } from 'react';
7
7
  import { createPortal } from 'react-dom';
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ export { SdkPreviewModeRuntime } from './chunk-XIK2HYI3.mjs';
3
+ import './chunk-AJZGT6YG.mjs';
4
+ import './chunk-A63UXN3P.mjs';
5
+ import './chunk-AQ6RT6LZ.mjs';
6
+ import './chunk-PCNCETBI.mjs';
7
+ import './chunk-NT76QGIJ.mjs';
8
+ import './chunk-R7POPVJR.mjs';
@@ -74,7 +74,7 @@ export type PublicBookingPaymentTermsAvailability = {
74
74
  };
75
75
  export type BookingPaymentDefaults = Record<BookingPaymentArchetype, BookingPaymentTermsConfig>;
76
76
  export type BookingPricingRequirement = "none" | "required";
77
- export type BookingPricingStrategy = "free" | "single" | "tiered";
77
+ export type BookingPricingStrategy = "free" | "single" | "tiered" | "sliding_scale";
78
78
  export type BookingPricingAttendanceScope = "in_person" | "online" | "both";
79
79
  export type BookingPricingOption = {
80
80
  id: string;
@@ -105,6 +105,9 @@ export type BookingPricing = {
105
105
  pricingStrategy: BookingPricingStrategy;
106
106
  currency: string;
107
107
  singlePriceAmount: number | null;
108
+ slidingMinAmount: number | null;
109
+ slidingMaxAmount: number | null;
110
+ slidingSuggestedAmount: number | null;
108
111
  paymentTerms: BookingPaymentTermsConfig;
109
112
  options: readonly BookingPricingOption[];
110
113
  };
@@ -113,6 +116,9 @@ export type BookingPricingInput = {
113
116
  pricingStrategy: BookingPricingStrategy;
114
117
  currency: string;
115
118
  singlePriceAmount?: number | null;
119
+ slidingMinAmount?: number | null;
120
+ slidingMaxAmount?: number | null;
121
+ slidingSuggestedAmount?: number | null;
116
122
  paymentTerms?: BookingPaymentTermsConfig;
117
123
  options?: readonly BookingPricingOptionInput[];
118
124
  };
@@ -203,6 +209,9 @@ export type EventSeriesRecord = {
203
209
  requiresPayment: boolean;
204
210
  priceAmount: number | null;
205
211
  priceCurrency: string | null;
212
+ slidingMinAmount: number | null;
213
+ slidingMaxAmount: number | null;
214
+ slidingSuggestedAmount: number | null;
206
215
  acceptsPasses: boolean;
207
216
  acceptsMemberships: boolean;
208
217
  paymentTerms: BookingPaymentTermsConfig;
@@ -247,6 +256,9 @@ export type CreateEventSeriesRequest = {
247
256
  paymentOptionsSource?: BookingPaymentOptionsSource;
248
257
  requiresPayment?: boolean;
249
258
  priceAmount?: number | null;
259
+ slidingMinAmount?: number | null;
260
+ slidingMaxAmount?: number | null;
261
+ slidingSuggestedAmount?: number | null;
250
262
  acceptsPasses?: boolean;
251
263
  acceptsMemberships?: boolean;
252
264
  waitlistMode?: WaitlistOverride;
@@ -494,6 +494,7 @@ export type PublicCreateBookingAppointmentRequest = {
494
494
  customFields: Record<string, unknown>;
495
495
  timezone?: string;
496
496
  discountCode?: string;
497
+ selectedSlidingAmount?: number;
497
498
  selectedCollectionOptionKind?: "upfront" | "deferred_manual" | "instalment_plan" | "flexible_balance";
498
499
  altchaSolution?: string | null;
499
500
  successUrl?: string;
@@ -1,18 +1,18 @@
1
1
  import { type RefundCodeClassification } from './customerMembershipOutcomes';
2
- export declare const STANDARD_LINE_ITEM_REFUND_INVALID_CODES: readonly ["missing_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required"];
2
+ export declare const STANDARD_LINE_ITEM_REFUND_INVALID_CODES: readonly ["missing_amount", "invalid_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required"];
3
3
  export type StandardLineItemRefundInvalidCode = (typeof STANDARD_LINE_ITEM_REFUND_INVALID_CODES)[number];
4
- export declare const EVENT_ATTENDEE_REFUND_INVALID_CODES: readonly ["manual_booking_not_refundable", "missing_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required"];
4
+ export declare const EVENT_ATTENDEE_REFUND_INVALID_CODES: readonly ["manual_booking_not_refundable", "missing_amount", "invalid_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required"];
5
5
  export type EventAttendeeRefundInvalidCode = (typeof EVENT_ATTENDEE_REFUND_INVALID_CODES)[number];
6
- export declare const CUSTOMER_PASS_REFUND_INVALID_CODES: readonly ["credit_refunds_disabled", "not_refundable", "amount_exceeds_remaining", "pass_revoke_requires_full_refund"];
6
+ export declare const CUSTOMER_PASS_REFUND_INVALID_CODES: readonly ["credit_refunds_disabled", "not_refundable", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund"];
7
7
  export type CustomerPassRefundInvalidCode = (typeof CUSTOMER_PASS_REFUND_INVALID_CODES)[number];
8
- export declare const CUSTOMER_PASS_REFUND_FAILED_CODES: readonly ["not_found", "credit_refunds_disabled", "payment_intent_lookup_failed", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining"];
8
+ export declare const CUSTOMER_PASS_REFUND_FAILED_CODES: readonly ["not_found", "credit_refunds_disabled", "payment_intent_lookup_failed", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining"];
9
9
  export type CustomerPassRefundFailedCode = (typeof CUSTOMER_PASS_REFUND_FAILED_CODES)[number];
10
10
  export declare const CUSTOMER_PASS_REFUND_SKIPPED_CODES: readonly ["not_refundable"];
11
11
  export type CustomerPassRefundSkippedCode = (typeof CUSTOMER_PASS_REFUND_SKIPPED_CODES)[number];
12
12
  export type CustomerPassRefundErrorCode = CustomerPassRefundFailedCode | CustomerPassRefundSkippedCode;
13
- export declare const EVENT_ATTENDEE_REFUND_FAILED_CODES: readonly ["not_found", "refund_not_allowed", "manual_booking_not_refundable", "missing_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining"];
13
+ export declare const EVENT_ATTENDEE_REFUND_FAILED_CODES: readonly ["not_found", "refund_not_allowed", "manual_booking_not_refundable", "missing_amount", "invalid_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining"];
14
14
  export type EventAttendeeRefundFailedCode = (typeof EVENT_ATTENDEE_REFUND_FAILED_CODES)[number];
15
- export declare const COURSE_ENROLLMENT_REFUND_FAILED_CODES: readonly ["not_found", "missing_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining"];
15
+ export declare const COURSE_ENROLLMENT_REFUND_FAILED_CODES: readonly ["not_found", "missing_amount", "invalid_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining"];
16
16
  export type CourseEnrollmentRefundFailedCode = (typeof COURSE_ENROLLMENT_REFUND_FAILED_CODES)[number];
17
17
  export declare function isCustomerPassRefundFailedCode(code: string): code is CustomerPassRefundFailedCode;
18
18
  export declare function isEventAttendeeRefundFailedCode(code: string): code is EventAttendeeRefundFailedCode;
@@ -25,6 +25,8 @@ export interface ApiResponse<TData> {
25
25
  meta: ResponseMeta;
26
26
  }
27
27
  export type ApiErrorCode = 'auth:unauthenticated' | 'auth:token_expired' | 'auth:token_invalid' | 'auth:forbidden' | 'auth:mfa_required' | 'auth:sudo_required' | 'auth:insufficient_permissions' | 'auth:impersonation_restricted' | 'validation:invalid_input' | 'validation:missing_field' | 'validation:invalid_format' | 'validation:payload_too_large' | 'resource:not_found' | 'resource:already_exists' | 'resource:conflict' | 'resource:gone' | 'rate_limit:exceeded' | 'billing:payment_required' | 'billing:plan_limit_exceeded' | 'billing:pass_redemption_failed' | 'server:internal_error' | 'server:unavailable' | 'external:service_error' | 'external:registrar_orphaned_contact_profile' | 'network:connection_error' | 'network:timeout' | 'network:dns_error';
28
+ export declare const API_ERROR_CODES: readonly ["auth:unauthenticated", "auth:token_expired", "auth:token_invalid", "auth:forbidden", "auth:mfa_required", "auth:sudo_required", "auth:insufficient_permissions", "auth:impersonation_restricted", "validation:invalid_input", "validation:missing_field", "validation:invalid_format", "validation:payload_too_large", "resource:not_found", "resource:already_exists", "resource:conflict", "resource:gone", "rate_limit:exceeded", "billing:payment_required", "billing:plan_limit_exceeded", "billing:pass_redemption_failed", "server:internal_error", "server:unavailable", "external:service_error", "external:registrar_orphaned_contact_profile", "network:connection_error", "network:timeout", "network:dns_error"];
29
+ export declare function isApiErrorCode(value: unknown): value is ApiErrorCode;
28
30
  export interface FieldError {
29
31
  field: string;
30
32
  code: string;
@@ -44,6 +46,14 @@ export interface ApiError {
44
46
  export type ApiResult<TData> = ApiResponse<TData> | ApiError;
45
47
  export declare function isApiError(result: ApiResult<unknown>): result is ApiError;
46
48
  export declare function isApiSuccess<T>(result: ApiResult<T>): result is ApiResponse<T>;
49
+ export type ApiEnvelopeErrorDetails = {
50
+ rawCode: string | null;
51
+ code: ApiErrorCode | null;
52
+ message: string | null;
53
+ status: number | null;
54
+ fieldErrors: FieldError[] | null;
55
+ };
56
+ export declare function extractApiEnvelopeErrorDetails(body: unknown): ApiEnvelopeErrorDetails;
47
57
  /**
48
58
  * Error class for API failures that can be thrown from unwrapResponse.
49
59
  * Preserves all error metadata from the envelope.
@@ -2,14 +2,14 @@ export declare const CUSTOMER_MEMBERSHIP_CANCELLATION_RESULT_KINDS: readonly ["a
2
2
  export type CustomerMembershipCancellationResultKind = (typeof CUSTOMER_MEMBERSHIP_CANCELLATION_RESULT_KINDS)[number];
3
3
  export declare const CANONICAL_REFUND_CONFLICT_CODES: readonly ["already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress"];
4
4
  export type CanonicalRefundConflictCode = (typeof CANONICAL_REFUND_CONFLICT_CODES)[number];
5
- export declare const CANONICAL_REFUND_PLANNER_ERROR_CODES: readonly ["already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed"];
5
+ export declare const CANONICAL_REFUND_PLANNER_ERROR_CODES: readonly ["already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed"];
6
6
  export type CanonicalRefundPlannerErrorCode = (typeof CANONICAL_REFUND_PLANNER_ERROR_CODES)[number];
7
- export declare const CANONICAL_ADMIN_REFUND_FAILURE_CODES: readonly ["already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining"];
7
+ export declare const CANONICAL_ADMIN_REFUND_FAILURE_CODES: readonly ["already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining"];
8
8
  export type CanonicalAdminRefundFailureCode = (typeof CANONICAL_ADMIN_REFUND_FAILURE_CODES)[number];
9
9
  export type CustomerMembershipPaymentRefundConflictCode = CanonicalRefundConflictCode;
10
- export declare const CUSTOMER_MEMBERSHIP_PAYMENT_REFUND_INVALID_CODES: readonly ["stripe_not_connected", "credit_refunds_disabled", "not_refundable", "amount_exceeds_remaining"];
10
+ export declare const CUSTOMER_MEMBERSHIP_PAYMENT_REFUND_INVALID_CODES: readonly ["stripe_not_connected", "credit_refunds_disabled", "not_refundable", "invalid_amount", "amount_exceeds_remaining"];
11
11
  export type CustomerMembershipPaymentRefundInvalidCode = (typeof CUSTOMER_MEMBERSHIP_PAYMENT_REFUND_INVALID_CODES)[number];
12
- export declare const CUSTOMER_MEMBERSHIP_PAYMENT_REFUND_FAILED_CODES: readonly ["not_found", "stripe_not_connected", "credit_refunds_disabled", "invoice_not_found", "invoice_lookup_failed", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context"];
12
+ export declare const CUSTOMER_MEMBERSHIP_PAYMENT_REFUND_FAILED_CODES: readonly ["not_found", "stripe_not_connected", "credit_refunds_disabled", "invoice_not_found", "invoice_lookup_failed", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context"];
13
13
  export type CustomerMembershipPaymentRefundFailedCode = (typeof CUSTOMER_MEMBERSHIP_PAYMENT_REFUND_FAILED_CODES)[number];
14
14
  export declare const CUSTOMER_MEMBERSHIP_PAYMENT_REFUND_SKIPPED_CODES: readonly ["not_refundable"];
15
15
  export type CustomerMembershipPaymentRefundSkippedCode = (typeof CUSTOMER_MEMBERSHIP_PAYMENT_REFUND_SKIPPED_CODES)[number];
@@ -17,7 +17,7 @@ export { parseMailchimpAudienceId, parseMailchimpConnectionId, } from "./mailchi
17
17
  export type { GeneratedIconSetApplyRequest, GeneratedIconSetApplyResponse, GeneratedIconSetCandidate, GeneratedIconSetGenerateRequest, GeneratedIconSetGenerateResponse, GeneratedIconRenderAsset, GeneratedIconRenderAssetRef, GeneratedIconRenderAssetsRequest, GeneratedIconRenderAssetsResponse, SiteIconStyleGuidePayload, SiteIconStyleGuideResponse, SiteIconStyleStrokeRule, SiteIconStyleGuideUpdateRequest, } from "./siteIcons";
18
18
  export { DEFAULT_LAUNCH_READINESS_INPUT, deriveLaunchReadiness, } from "./launchReadiness";
19
19
  export { getDashboardBaseUrl, getDashboardUrl, getAbsoluteDashboardUrl, getCmsApiUrl, resolveApiBaseUrl, normalizeDashboardOrigin, deriveCmsApiUrlFromDashboardUrl, } from "./url";
20
- export { unwrapResponse, ApiEnvelopeError } from "./common/envelope";
20
+ export { API_ERROR_CODES, ApiEnvelopeError, extractApiEnvelopeErrorDetails, isApiErrorCode, unwrapResponse, } from "./common/envelope";
21
21
  export { createAuthenticatedApiClient, createInternalAPIClient, createServerAPIClient, createBearerAPIClient, ApiRequestError, } from "./request";
22
22
  export { normalizeCmsApiKey } from "./env";
23
23
  export * from "./bookingRefundOutcomes";
@@ -108,7 +108,7 @@ export { getSiteMembers, inviteSiteMember, linkCurrentUserPractitioner, updateSi
108
108
  export { listAccountDomains, searchDomainsRequest, registerDomainRequest, assignDomainToSiteRequest, removeDomainRequest, retryDomainConfigRequest, getDomainDnsRequest, verifyDomainDnsRequest, retryNameserversRequest, updateRegisteredDomainContactRequest, setRegisteredDomainPrivacyRequest, setRegisteredDomainAutoRenewRequest, retryVercelRequest, retryResendRequest, } from "./domains";
109
109
  export { startImpersonation, stopImpersonation, assignAdminRole, revokeAdminRole, adminChangePlan, listAdminInvites, createAdminInvite, revokeAdminInvite, createAdminUser, adminDeleteSite, adminDeleteUser, listAllowedDomains, addAllowedDomain, deleteAllowedDomain, listGscPropertiesAdmin, setGscPersistEnabled, startGscVerification, confirmGscVerification, runGscIngestionForSite, getPriceOverride, upsertPriceOverride, deletePriceOverride, } from "./admin";
110
110
  export { enrollTotpFactor, verifyTotpFactor, activateTotpFactor, deleteMfaFactor, rotateBackupCodes, getBackupCodesOverview, enrollPhoneFactor, challengePhoneFactor, verifyPhoneFactor, acceptAdminInvite, } from "./auth";
111
- export type { ApiResult, ApiResponse, ApiError, ApiErrorCode, FieldError, ResponseMeta, } from "./common/envelope";
111
+ export type { ApiResult, ApiResponse, ApiError, ApiErrorCode, ApiEnvelopeErrorDetails, FieldError, ResponseMeta, } from "./common/envelope";
112
112
  export type { JsonPrimitive, JsonValue } from "./types";
113
113
  export type { PublicEventLoaderParams, PublicRouteCandidate, PublicEventPriceDisplay, PublicCoursePriceDisplay, PublicEventScheduleScope, PublicEventSurfaceScope, } from "./types";
114
114
  export type { APIEndpoint, APIEndpoints, PageBlockDesignSyncWarning, AiAPIEndpoints, LaunchReadinessAPIEndpoints, SiteMembersAPIEndpoints, SeoAPIEndpoints, RedirectsAPIEndpoints, AvailabilityAPIEndpoints, CalendarAPIEndpoints, ContentTypesAPIEndpoints, MediaAPIEndpoints, RiverbankSiteConfig, RiverbankSiteConfigInput, SdkWorkflowConfig, SdkWorkflowEntryDraftUpdatedCondition, SdkWorkflowEntryDraftUpdatedTrigger, SdkWorkflowManualTrigger, SdkWorkflowTrigger, SdkWorkflowConfirmation, GetEndpoint, HTTPMethod, APICallParamsStrict, CreateManualSiteRequest, CreateManualSiteResponse, ApiKeyRecord, PageRecord, NavigationMenuRecord, NavigationItemRecord, NavigationMenuWithItems, AccessPolicyContract, EntitledCustomerAccessScopeContract, AccessPolicyTag, CartLinkLabelConfig, CartLinkPayload, LinkPayload, InternalLinkRoutablePayload, NavigationLinkInput, RoutableContentItem, CreateMediaAssetBody, FileKindContract, FileKindTag, FileUseContract, FileUseTag, ImageFileFormat, MediaAssetResponse, MediaClassifyJobResponse, MediaJobSummaryResponse, MediaLabelSummary, MediaSettingsResponse, RenderableFileKindTag, StorageClass, UploadIntentContract, UploadIntentTag, BookingSettings, AppointmentStaffChangeNotificationSettings, AppointmentStaffNotificationSetupHealth, AppointmentStaffReminderSettings, BookingNotificationRule, BookingNotificationSettings, BookingNotificationUpdateKind, TeamMemberProfilePagePolicyMode, TeamMemberProfilePageSettings, BookingVerticalConfig, BookingCurrencyEditState, BookingSettingsEditorSnapshot, BookingSettingsResponse, BookingWaitlistSettings, BookingModuleToggles, BookingReminderOverrides, BookingDefaultImage, AppointmentFollowUpScopeIds, AppointmentFollowUpScopeMode, AppointmentFollowUpSettings, WaitlistMode, WaitlistOverride, EventBookingPolicyMode, EventBookingPolicy, EventBookingPolicies, UpdateBookingSettingsRequest, RefundEventAttendeeRequest, EventAttendeeRefundResult, RefundEventAttendeeResponse, RefundCourseEnrollmentRequest, CourseEnrollmentRefundResult, RefundCourseEnrollmentResponse, TransferEventAttendeeRequest, EventAttendeeTransferResult, TransferEventAttendeeResponse, DiscardTeamMemberProfileDraftResponse, PublishTeamMemberProfileRequest, PublishTeamMemberProfileResponse, CancelScheduledTeamMemberProfileResponse, ScheduleTeamMemberProfileRequest, ScheduleTeamMemberProfileResponse, TeamMemberProfileContentResponse, UnpublishTeamMemberProfileResponse, UpdateTeamMemberProfileContentRequest, UpdateTeamMemberProfilePolicyRequest, UpdateTeamMemberProfilePolicyResponse, UpdateTeamMemberProfileRouteMetadataRequest, UpdateTeamMemberProfileRouteMetadataResponse, OpsEventOccurrenceSummary, OpsOccurrenceAttendee, OpsListUpcomingEventOccurrencesResponse, OpsOccurrenceAttendeesResponse, OpsValidateEventTicketRequest, OpsValidateEventTicketResponse, OpsEventAttendeeCheckinUpdate, OpsUpdateEventAttendeeCheckinRequest, OpsUpdateEventAttendeeCheckinResponse, OpsEventAttendeeDetailsResponse, OpsCancelEventAttendeeRequest, OpsCancelEventAttendeeResult, OpsCancelEventAttendeeResponse, OpsRefundEventAttendeeResponse, EventAttendeeRefundHistoryItem, ListEventAttendeeRefundsResponse, CourseEnrollmentRefundHistoryItem, ListCourseEnrollmentRefundsResponse, EventAttendeeTransferHistoryItem, ListEventAttendeeTransfersResponse, EmailTemplateType, EmailTemplate, EmailTemplateInput, EventEmailTemplateType, EventEmailTemplate, GetEventSeriesEmailTemplatesResponse, UpdateEventSeriesEmailTemplatesRequest, UpdateEventSeriesEmailTemplatesResponse, GetEmailSettingsResponse, UpdateEmailSettingsRequest, UpdateEmailSettingsResponse, SendTestEmailRequest, SendTestEmailResponse, PreviewEmailTemplateRequest, PreviewEmailTemplateResponse, AvailabilityScheduleSettings, ServiceSpecificAvailabilityScheduleSettings, ListAvailabilityRulesResponse, WeeklyAvailabilityWindowInput, SetWeeklyAvailabilityRequest, SetWeeklyAvailabilityResponse, SetWeeklyAvailabilityIssue, AppointmentBlackout, CreateBlackoutRequest, ListBlackoutsResponse, CreateBlackoutResponse, DeleteBlackoutResponse, TimeSlot, GetAvailableSlotsQuery, GetAvailableSlotsResponse, CreateAppointmentRequest, CreateAppointmentResponse, BookingQuestionFormSummary, BookingQuestionRequirementScope, BookingRequirementConfigRequest, BookingRequirementConfigResponse, BookingRequirementTargetType, BookingQuestionsRequirementConfig, BookingRequirementValidityPolicy, ConsentRequirementConfig, PublicCreateBookingAppointmentRequest, AppointmentRecord, AppointmentStatus, BookingCustomerRecord, BookingSessionUpdateMeRequest, CourseStatus, MutableCourseStatus, CourseSessionInput, CreateCourseRequest, UpdateCourseRequest, DeleteCourseResponse, DeleteCourseProgramResponse, DuplicateCourseRequest, DuplicateCourseResponse, CourseSeriesRecord, CourseRecord, CreateCourseResponse, UpdateCourseResponse, CourseEnrollmentStatus, CourseEnrollmentPaymentMethod, CourseEnrollmentPaymentStatus, CourseEnrollmentRecord, CourseEnrollmentWithCustomer, ListCourseEnrollmentsResponse, CourseParticipantMessageStatus, GetParticipantMessageRecipientsRequest, ListParticipantMessageHistoryRequest, ParticipantMessageEmailReadiness, ParticipantMessageHistoryEntry, ParticipantMessageHistoryResponse, ParticipantMessageExcludedRecipientPreview, ParticipantMessageRecipientPreview, ParticipantMessageRecipientSummary, ParticipantMessageRecipientsResponse, ParticipantMessageSendResponse, ParticipantMessageTarget, ParticipantRecipientExclusionReason, SendParticipantMessageRequest, TestParticipantMessageRequest, TestParticipantMessageResponse, AddCourseEnrollmentRequest, AddCourseEnrollmentResponse, UpdateCourseEnrollmentRequest, UpdateCourseEnrollmentResponse, BookingCustomerWithCounts, BookingCustomerListItem, CustomerAggregateCoverage, CustomerAggregateSnapshot, CustomerBookingActivitySummary, CustomerFinancialCoverage, CustomerFinancialValue, CustomerLifecycleFlagCode, CustomerLifecycleSegmentCode, CustomerLifecycleSummary, CustomerWaitlistStatus, CustomerWaitlistSummary, CustomerSortColumn, CustomerFilter, ListBookingCustomersRequest, ListBookingCustomersResponse, CreateBookingCustomerRequest, CreateBookingCustomerResponse, CustomerContactChange, CustomerContactField, CustomerProfileRectificationSourceContext, CustomerProfileRectificationSourceSurface, RectifyBookingCustomerProfileRequest, RectifyBookingCustomerProfileResponse, BookingParticipantIdentityForRectification, ParticipantIdentityRectificationSourceContext, ParticipantIdentityRectificationSourceSurface, RectifyBookingParticipantIdentityRequest, RectifyBookingParticipantIdentityResponse, CustomerPassRecord, CustomerPassStatus, ListCustomerPassesResponse, SiteCustomerRecord, SiteCustomerPassRecord, ListSiteCustomerPassesRequest, ListSiteCustomerPassesResponse, CustomerPassRefundResult, CustomerPassRefundRecord, AdjustCustomerPassDetailsRequest, AdjustCustomerPassDetailsResponse, RefundCustomerPassRequest, RefundCustomerPassResponse, ListCustomerPassRefundsResponse, CustomerMembershipRecord, ListCustomerMembershipsResponse, CustomerMembershipStatus, SiteCustomerMembershipRecord, ListSiteCustomerMembershipsRequest, ListSiteCustomerMembershipsResponse, BookingPaymentKind, BookingPaymentStatus, BookingPaymentsView, BookingPaymentListItem, ListBookingPaymentsRequest, ListBookingPaymentsResponse, MoneyPeriodPreset, MoneyItemKind, MoneyPaymentsView, MoneyTimeSeriesGranularity, MoneyBreakdownDimension, MoneyNonCashUsageKind, MoneyReportIncompleteReason, MoneyFilterQuery, MoneyComparisonMetric, MoneyDateRange, MoneyReportSummary, MoneyTimeSeriesBucket, MoneyBreakdownRow, MoneyBreakdownSection, MoneyNonCashUsageRow, MoneyNonCashUsageSection, GetMoneyReportRequest, GetMoneyReportResponse, MoneyPaymentListItem, ListMoneyPaymentsRequest, ListMoneyPaymentsResponse, BookingActivityCategory, BookingActivityType, BookingActivityCursor, BookingActivityListItem, ListBookingActivityRequest, ListBookingActivityResponse, BookingLedgerKind, BookingLedgerDateBasis, BookingLedgerPeriodPreset, BookingLedgerCancellationMode, ExportBookingLedgerCsvRequest, DiscountCodeType, DiscountPerEmailLimit, DiscountMembershipDuration, DiscountEventScopeMode, DiscountScopeMode, ProductScopeMode, DiscountCodeRecord, DiscountCodeScopeIds, DiscountCodeDetails, AutoAppliedDiscountPreview, EventAutoApplyDiscountPreview, CreateDiscountCodeRequest, UpdateDiscountCodeRequest, ListDiscountCodesResponse, DiscountCodeResponse, DeleteDiscountCodeResponse, DiscountRedemptionStatus, DiscountRedemptionListItem, ListDiscountRedemptionsRequest, ListDiscountRedemptionsResponse, MembershipPaymentForRefund, ListCustomerMembershipPaymentsResponse, CancelCustomerMembershipAtPeriodEndResult, CustomerMembershipPaymentRefundResult, CustomerMembershipPaymentRefundRecord, RefundCustomerMembershipPaymentRequest, RefundCustomerMembershipPaymentResponse, ListCustomerMembershipPaymentRefundsResponse, CustomerAttendanceRecord, CustomerAttendancePayment, CustomerAttendanceLivePayment, CustomerAttendanceArchivedPayment, CustomerAttendancePaymentMethod, CustomerAttendancePaymentStatus, ListCustomerAttendancesRequest, ListCustomerAttendancesResponse, BookingCustomerCreditSummary, BookingCustomerCreditTransactionListItem, GetCustomerCreditResponse, AccountRevokeSessionsBody, AccountRevokeSessionsResponse, AccountUpdatePasswordBody, AccountUpdatePasswordResponse, AuthFieldKey, AuthSubmissionErrorReason, AuthSubmissionSuccess, AuthSubmissionError, AuthSubmissionResult, ReauthSubmissionResult, DomainAvailability, SiteDomainRecord, SiteDomainContactPayload, RegistrarLifecycleState, RegistrarLifecycleMutationOutcome, RegistrarLifecycleMutationOperation, RegistrarLifecycleMutationBase, RegistrarLifecycleMutationResponse, ExposedRegistrarLifecycleMutationResponse, RegistrarLifecycleResponse, RegistrarBooleanMutationRequest, RegistrarRenewalCostEstimate, RegistrarProviderName, RegistrarRenewalRiskReason, RegistrarRenewalManualReviewReason, RegistrarRenewalManualReviewReasonWithoutExpiry, RegistrarRenewalManualReviewReasonWithExpiry, RegistrarRenewalFailedReason, RegistrarRenewalPosture, RegistrarAccountBalance, RegistrarRenewalPostureResponse, LookupSiteDomainRequest, LookupSiteDomainResponse, RegisterSiteDomainRequest, RegisterSiteDomainResponse, AddCustomDomainRequest, AddCustomDomainResponse, SetHomepageRequest, SetHomepageResponse, ContentRouteRecord, SeoOverviewResponse, SeoOverviewQuery, SeoOverviewTimePoint, SeoRangePreset, PerformanceOverviewResponse, PerformanceOverviewQuery, PerformanceRangePreset, SeoSearchPagesQuery, SeoSearchPagesResponse, SeoSearchQueriesQuery, SeoSearchQueriesResponse, SeoSearchSummary, ContentEntryRecord, ContentEntrySummary, FormSummary, ContentEntryDetail, ScheduledContentEntryOrPageResponse, BookingsEventSeriesContentEditorResponse, PublishedContentEntryPreview, PublishedContentEntryPreviewResponse, PublishedPostPreview, PublishedPostPreviewResponse, ContentEntryListStage, ContentEntryListItem, ListPublishedEntriesResponse, ContentTypeTemplateSummary, PublicContentTypeFieldMeta, PublicContentTypeMeta, ListPublishedEntriesMeta, ContentTemplateSummary, ContentTemplateBlockSummary, ContentTemplateAddonSummary, ContentAddonDefinition, ContentTemplateDetailsResponse, UpdateContentTemplateBlockRequest, ApplyContentTemplateAddonRequest, StartImpersonationRequest, StartImpersonationResponse, StopImpersonationRequest, StopImpersonationResponse, UpsertAdminRoleRequest, RevokeAdminRoleRequest, AdminRoleMutationResponse, AdminProfileRole, DTOType, MfaFactorSummary, MfaOverviewPayload, MfaOverviewResponse, MfaTotpActivateRequest, MfaTotpEnrollResponse, MfaTotpVerifyRequest, MfaTotpVerifyResponse, MfaPhoneEnrollRequest, MfaPhoneEnrollResponse, MfaPhoneChallengeRequest, MfaPhoneChallengeResponse, MfaPhoneVerifyRequest, MfaBackupCodeSummary, MfaBackupCodesOverview, MfaBackupCodesOverviewResponse, MfaBackupCodesRotateResponse, CreateAdminInviteRequest, CreateAdminInviteResponse, CreateAdminUserRequest, CreateAdminUserResponse, ListAdminInvitesResponse, RevokeAdminInviteResponse, CreateAllowedDomainRequest, CreateAllowedDomainResponse, ListAllowedDomainsResponse, DeleteAllowedDomainResponse, AcceptAdminInviteRequest, AcceptAdminInviteResponse, AdminInvite, AllowedEmailDomain, AdminChangePlanRequest, AdminChangePlanResponse, ChangePlanRequest, ChangePlanResponse, BillingPriceOverride, AdminGetPriceOverrideQuery, AdminGetPriceOverrideResponse, AdminUpsertPriceOverrideRequest, AdminUpsertPriceOverrideResponse, AdminDeletePriceOverrideRequest, AdminDeletePriceOverrideResponse, DomainSearchResultResponse, AcceptedManagedDomainAddOnPricing, AnalyticsPreset, AnalyticsReportQuery, AnalyticsSeriesPoint, AnalyticsTopPage, AnalyticsReferrer, AnalyticsTotals, AnalyticsReportResponse, RegisterDomainRequestPayload, RegisterDomainResponse, DomainConfigResult, OperationalStaffSurfaces, SiteRole, StaffOperationalCapability, SiteMember, SiteMemberProfile, SiteInvitation, SiteAccessSummary, SitePlanSummaryResponse, ListSiteMembersResponse, InviteSiteMemberRequest, InviteSiteMemberResponse, UpdateSiteMemberRoleRequest, UpdateSiteMemberRoleResponse, RemoveSiteMemberResponse, RevokeSiteInvitationResponse, ResendSiteInvitationResponse, TransferSiteOwnershipRequest, TransferSiteOwnershipResponse, AcceptSiteInvitationRequest, AcceptSiteInvitationResponse, DevToolsImpersonationResponse, DevToolsSeedResponse, DowngradeRole, RoleDowngradeActualRole, SiteRoleDowngradeState, DevToolsGetSiteRoleDowngradeQuery, DevToolsSetSiteRoleDowngradeRequest, SitePagePayload, SiteBySlugResponse, BlockWithContentResponse, ContentDataResponse, BackupAccessImportResult, BackupImportResponse, PreviewKeyRecord, ApiKeyAccessLogRecord, ListSiteApiKeysResponse, CreateSiteApiKeyRequest, CreateSiteApiKeyResponse, RevokeSiteApiKeyResponse, GetSitePreviewKeyResponse, CreateSitePreviewKeyResponse, GetSiteApiKeyAccessLogsResponse, ApiKeyAccessLogsPagination, ManagementKeyRecord, ListManagementKeysResponse, CreateManagementKeyRequest, CreateManagementKeyResponse, RevokeManagementKeyRequest, RevokeManagementKeyResponse, EventPreset, EventOnlineDetails, EventOnlineDetailsInput, StaffAssignmentMode, EventSeriesRecord, CreateEventSeriesRequest, UpdateEventSeriesRequest, EventAttendeeRecord, BookingBeforeYouComeDeliveryIssue, BookingBeforeYouComeReadiness, BookingEventSeriesAttendeeGuest, BookingEventSeriesAttendee, BookingPaymentIssueReason, BookingPaymentAttentionSummary, EventOccurrenceRecord, EventOccurrenceOverrides, EventOccurrenceStatus, EventOccurrenceDeletionEligibility, EventOccurrenceListRecord, UpdateOccurrenceRequest, VenueRecord, VenueLocation, CreateVenueRequest, UpdateVenueRequest, DeleteVenueResponse, GeocodeVenueRequest, GeocodeVenueResponse, AiPlaygroundApplyRequest, AiPlaygroundApplyResponse, BillingStatusResponse, BillingCheckoutRequest, BillingCheckoutResponse, BillingSummaryResponse, BillingSummaryComponent, BillingSummaryComponentKind, BillingSummaryComponentSource, BillingSummaryBasePlanComponent, BillingSummarySiteComponent, BillingSummaryAddOnComponent, SiteBillingCostResponse, SitePurpose, AiBrandGuidelinesExample, SiteAiBrandGuidelinesPayload, SiteAiBrandGuidelinesResponse, SiteAiProfileEntityType, SiteAiProfileLocationMode, SiteAiProfilePayload, SiteAiProfileResponse, SiteBusinessAddressPayload, SiteBusinessAddressResponse, SiteContentSamplingStats, SiteContentSampledItem, AiBrandGuidelinesGenerationContextResponse, AiBrandGuidelinesGenerateRequest, AiBrandGuidelinesGenerateResponse, DeleteAccountRequest, DeleteAccountResponse, FontRecord, ExportBackupRequest, BackupPreviewRequest, BackupPreviewResponse, CreateBackupUploadUrlRequest, CreateBackupUploadUrlResponse, DeleteBackupUploadRequest, DeleteBackupUploadResponse, ImportBackupAsNewSiteRequest, ImportBackupAsNewSiteResponse, AdminSiteCostResponse, AdminUpdateSiteCostRequest, BulkOperationResult, SchedulePreviewRequest, SchedulePreviewResponse, AffectedOccurrence, ModifiedOccurrence, RegenerationSummary, AiGenerateSiteEntityType, AiGenerateSitePrimaryCta, AiGenerateSiteRequest, AiGenerateSiteResponse, AiSiteWizardIntakeTriageRequest, AiSiteWizardIntakeTriageResponse, AiSiteWizardTelemetryEvent, AiSiteWizardTelemetryRequest, AiSiteWizardTelemetryResponse, PublicOnboardingAttempt, PublicOnboardingAttemptPayload, PublicOnboardingLogoUploadRequest, PublicOnboardingLogoUploadResponse, PublicOnboardingLogoUploadUrlRequest, PublicOnboardingLogoUploadUrlResponse, PublicOnboardingAttemptStatus, PublicOnboardingSurfaceId, SiteGenerationScope, SiteGenerationFeatureKey, SiteWizardResumeSnapshot, SiteGenerationIntakePayload, SiteGenerationIntakeResponse, CalendarConnectionStatus, CalendarStatusResponse, DebugArtifact, DebugArtifacts, PageBlock, PageConverterOutput, PageConversionSuccess, PageConversionAttempt, PageConversionFailure, PageConversionResult, PageConvertResponse, PageConvertJobStatus, PageConvertJob, PageConvertJobEventType, PageConvertJobEvent, PageConvertJobsCreateRequest, PageConvertJobsCreateResponse, PageConvertJobsListResponse, PageConvertJobGetResponse, PageConvertJobRunResponse, PageConvertJobEventsResponse, NewsletterSettingsRecord, NewsletterSubscriberRecord, NewsletterListRecord, GetNewsletterSettingsResponse, UpdateNewsletterSettingsRequest, UpdateNewsletterSettingsResponse, ListNewsletterTagsResponse, ListNewsletterSubscribersResponse, UpsertNewsletterSubscriberRequest, UpsertNewsletterSubscriberResponse, ImportNewsletterSubscribersCsvResponse, ExportNewsletterSubscribersCsvResponse, GetNewsletterSubscriberResponse, UpdateNewsletterSubscriberRequest, UpdateNewsletterSubscriberResponse, DeleteNewsletterSubscriberResponse, AnonymizeNewsletterSubscriberResponse, ExportNewsletterSubscriberDataResponse, ListNewsletterListsResponse, CreateNewsletterListRequest, CreateNewsletterListResponse, UpdateNewsletterListRequest, UpdateNewsletterListResponse, DeleteNewsletterListResponse, ListNewsletterListMembersResponse, UpdateNewsletterListMembershipsRequest, UpdateNewsletterListMembershipsResponse, NewsletterTemplateRecord, ListNewsletterTemplatesResponse, CreateNewsletterTemplateRequest, CreateNewsletterTemplateResponse, GetNewsletterTemplateResponse, UpdateNewsletterTemplateRequest, UpdateNewsletterTemplateResponse, DeleteNewsletterTemplateResponse, PreviewNewsletterTemplateRequest, PreviewNewsletterTemplateResponse, NewsletterCampaignRecord, ListNewsletterCampaignsResponse, CreateNewsletterCampaignRequest, CreateNewsletterCampaignResponse, GetNewsletterCampaignResponse, UpdateNewsletterCampaignRequest, UpdateNewsletterCampaignResponse, DeleteNewsletterCampaignResponse, NewsletterCampaignRecipientsSummary, GetNewsletterCampaignRecipientsSummaryResponse, NewsletterCampaignStats, GetNewsletterCampaignStatsResponse, NewsletterSendJobRecord, NewsletterSendJobStatus, ListNewsletterSendJobsQuery, ListNewsletterSendJobsResponse, RetryNewsletterSendJobResponse, CancelNewsletterSendJobResponse, SiteLogActor, SiteContentActivityLogEntry, SiteFormSubmissionActivityLogEntry, SiteActivityLogEntry, ListSiteActivityLogsResponse, SiteEmailLogEntry, ListSiteEmailLogsResponse, SiteEmailEventLogEntry, ListSiteEmailEventLogsResponse, SitePublicErrorLogEntry, ListSitePublicErrorLogsResponse, } from "./types";
@@ -305,6 +305,7 @@ export type PublicExperienceAPIEndpoints = {
305
305
  enrollInCourse: APIEndpoint<{
306
306
  courseId: string;
307
307
  pricingOptionId?: string;
308
+ selectedSlidingAmount?: number;
308
309
  email: string;
309
310
  name: string;
310
311
  phone?: string;
@@ -394,6 +395,7 @@ export type PublicExperienceAPIEndpoints = {
394
395
  createCourseCheckout: APIEndpoint<{
395
396
  courseId: string;
396
397
  pricingOptionId?: string;
398
+ selectedSlidingAmount?: number;
397
399
  email: string;
398
400
  name: string;
399
401
  phone?: string;
@@ -579,6 +581,7 @@ export type PublicExperienceAPIEndpoints = {
579
581
  type: "event_ticket";
580
582
  occurrenceId: string;
581
583
  ticketTypeId?: string;
584
+ selectedSlidingAmount?: number;
582
585
  ticketCount: number;
583
586
  attendeeInfo: {
584
587
  email: string;
@@ -597,6 +600,7 @@ export type PublicExperienceAPIEndpoints = {
597
600
  type: "course_enrollment";
598
601
  courseId: string;
599
602
  pricingOptionId?: string;
603
+ selectedSlidingAmount?: number;
600
604
  attendeeInfo: {
601
605
  email: string;
602
606
  name: string;
@@ -782,6 +786,7 @@ export type PublicExperienceAPIEndpoints = {
782
786
  registerForEvent: APIEndpoint<{
783
787
  occurrenceId: string;
784
788
  attendanceMode?: EventAttendanceMode;
789
+ selectedSlidingAmount?: number;
785
790
  email: string;
786
791
  name: string;
787
792
  ticketsCount?: number;
@@ -841,6 +846,7 @@ export type PublicExperienceAPIEndpoints = {
841
846
  email: string;
842
847
  ticketsCount?: number;
843
848
  ticketTypeId?: string;
849
+ selectedSlidingAmount?: number;
844
850
  }, {
845
851
  siteId: string;
846
852
  }, {
@@ -2,7 +2,7 @@ import type { SupabaseClient } from "@supabase/supabase-js";
2
2
  import type { AuthHeaders } from "./token";
3
3
  import type * as ApiTypes from "./types";
4
4
  import { type CmsApiBaseUrl } from "./url";
5
- import type { ApiErrorCode, ApiResult } from "./common/envelope";
5
+ import { type ApiErrorCode, type ApiResult } from "./common/envelope";
6
6
  export type { APICallParamsStrict, APIEndpoints, GetEndpoint, ApiAuthRequirement, ApiResponseKind, HTTPMethod, } from "./types";
7
7
  /**
8
8
  * Set the SDK version to be included in API request headers
@@ -80,6 +80,14 @@ export declare const proofBlockIslandCodecs: {
80
80
  title: string;
81
81
  description?: string;
82
82
  durationMinutes?: number;
83
+ pricing?: Readonly<{
84
+ pricingStrategy: "free" | "single" | "tiered" | "sliding_scale";
85
+ currency: string;
86
+ singlePriceAmount?: number | null;
87
+ slidingMinAmount?: number | null;
88
+ slidingMaxAmount?: number | null;
89
+ slidingSuggestedAmount?: number | null;
90
+ }>;
83
91
  priceAmount?: number | null;
84
92
  priceCurrency?: string | null;
85
93
  paymentTerms?: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
@@ -165,6 +173,14 @@ export declare const proofBlockIslandCodecs: {
165
173
  title: string;
166
174
  description?: string;
167
175
  durationMinutes?: number;
176
+ pricing?: Readonly<{
177
+ pricingStrategy: "free" | "single" | "tiered" | "sliding_scale";
178
+ currency: string;
179
+ singlePriceAmount?: number | null;
180
+ slidingMinAmount?: number | null;
181
+ slidingMaxAmount?: number | null;
182
+ slidingSuggestedAmount?: number | null;
183
+ }>;
168
184
  priceAmount?: number | null;
169
185
  priceCurrency?: string | null;
170
186
  paymentTerms?: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
@@ -1134,6 +1150,14 @@ export declare const runtimeIslandCodecs: {
1134
1150
  title: string;
1135
1151
  description?: string;
1136
1152
  durationMinutes?: number;
1153
+ pricing?: Readonly<{
1154
+ pricingStrategy: "free" | "single" | "tiered" | "sliding_scale";
1155
+ currency: string;
1156
+ singlePriceAmount?: number | null;
1157
+ slidingMinAmount?: number | null;
1158
+ slidingMaxAmount?: number | null;
1159
+ slidingSuggestedAmount?: number | null;
1160
+ }>;
1137
1161
  priceAmount?: number | null;
1138
1162
  priceCurrency?: string | null;
1139
1163
  paymentTerms?: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
@@ -1219,6 +1243,14 @@ export declare const runtimeIslandCodecs: {
1219
1243
  title: string;
1220
1244
  description?: string;
1221
1245
  durationMinutes?: number;
1246
+ pricing?: Readonly<{
1247
+ pricingStrategy: "free" | "single" | "tiered" | "sliding_scale";
1248
+ currency: string;
1249
+ singlePriceAmount?: number | null;
1250
+ slidingMinAmount?: number | null;
1251
+ slidingMaxAmount?: number | null;
1252
+ slidingSuggestedAmount?: number | null;
1253
+ }>;
1222
1254
  priceAmount?: number | null;
1223
1255
  priceCurrency?: string | null;
1224
1256
  paymentTerms?: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
@@ -11,6 +11,11 @@ export type CoursePriceDisplay = Readonly<{
11
11
  kind: 'from';
12
12
  amount: number;
13
13
  currency: string;
14
+ }> | Readonly<{
15
+ kind: 'range';
16
+ minAmount: number;
17
+ maxAmount: number;
18
+ currency: string;
14
19
  }> | Readonly<{
15
20
  kind: 'unavailable';
16
21
  currency: string;
@@ -21,6 +26,12 @@ export type ResolvedCoursePricingState = Readonly<{
21
26
  selectableOptions: readonly CoursePricingOption[];
22
27
  requiresSelection: boolean;
23
28
  selectedOption: CoursePricingOption | null;
29
+ slidingScale: Readonly<{
30
+ minAmount: number;
31
+ maxAmount: number;
32
+ suggestedAmount: number | null;
33
+ }> | null;
34
+ selectedSlidingAmount: number | null;
24
35
  selectedPriceAmount: number | null;
25
36
  selectedRequiresPayment: boolean;
26
37
  hasPaidSelection: boolean;
@@ -32,7 +43,7 @@ type CourseCurrencyFormatOptions = Readonly<{
32
43
  maximumFractionDigits?: number;
33
44
  }>;
34
45
  export declare function getSelectableCoursePricingOptions(course: Pick<PublicCourse, 'pricing'>, nowInput?: PlanningDateInput): readonly CoursePricingOption[];
35
- export declare function resolveCoursePricingState(course: Pick<PublicCourse, 'pricing' | 'priceCents' | 'currency'>, selectedPricingOptionId?: string | null, nowInput?: PlanningDateInput): ResolvedCoursePricingState;
46
+ export declare function resolveCoursePricingState(course: Pick<PublicCourse, 'pricing' | 'priceCents' | 'currency'>, selectedPricingOptionId?: string | null, selectedSlidingAmountOrNowInput?: number | null | PlanningDateInput, nowInput?: PlanningDateInput): ResolvedCoursePricingState;
36
47
  export declare function formatCoursePriceDisplay(display: CoursePriceDisplay, locale?: string): string;
37
48
  export declare function formatCourseCurrencyAmount(amount: number, currency: string, options?: CourseCurrencyFormatOptions): string;
38
49
  export declare function formatCoursePriceAmount(amount: number, currency: string, locale?: string): string;
@@ -48,11 +48,15 @@ export declare const coursePricingSchema: z.ZodObject<{
48
48
  }>;
49
49
  pricingStrategy: z.ZodEnum<{
50
50
  single: "single";
51
+ sliding_scale: "sliding_scale";
51
52
  free: "free";
52
53
  tiered: "tiered";
53
54
  }>;
54
55
  currency: z.ZodString;
55
56
  singlePriceAmount: z.ZodNullable<z.ZodNumber>;
57
+ slidingMinAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
58
+ slidingMaxAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
59
+ slidingSuggestedAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
56
60
  paymentTerms: z.ZodObject<{
57
61
  allowedOptions: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
58
62
  kind: z.ZodLiteral<"upfront">;
@@ -155,11 +159,15 @@ export declare const publicCourseSchema: z.ZodObject<{
155
159
  }>;
156
160
  pricingStrategy: z.ZodEnum<{
157
161
  single: "single";
162
+ sliding_scale: "sliding_scale";
158
163
  free: "free";
159
164
  tiered: "tiered";
160
165
  }>;
161
166
  currency: z.ZodString;
162
167
  singlePriceAmount: z.ZodNullable<z.ZodNumber>;
168
+ slidingMinAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
169
+ slidingMaxAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
170
+ slidingSuggestedAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
163
171
  paymentTerms: z.ZodObject<{
164
172
  allowedOptions: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
165
173
  kind: z.ZodLiteral<"upfront">;
@@ -351,11 +359,15 @@ export declare const publicCoursesArraySchema: z.ZodArray<z.ZodObject<{
351
359
  }>;
352
360
  pricingStrategy: z.ZodEnum<{
353
361
  single: "single";
362
+ sliding_scale: "sliding_scale";
354
363
  free: "free";
355
364
  tiered: "tiered";
356
365
  }>;
357
366
  currency: z.ZodString;
358
367
  singlePriceAmount: z.ZodNullable<z.ZodNumber>;
368
+ slidingMinAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
369
+ slidingMaxAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
370
+ slidingSuggestedAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
359
371
  paymentTerms: z.ZodObject<{
360
372
  allowedOptions: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
361
373
  kind: z.ZodLiteral<"upfront">;
@@ -40,9 +40,12 @@ export type CoursePricingOption = {
40
40
  };
41
41
  export type CoursePricing = {
42
42
  bookingRequirement: 'none' | 'required';
43
- pricingStrategy: 'free' | 'single' | 'tiered';
43
+ pricingStrategy: 'free' | 'single' | 'tiered' | 'sliding_scale';
44
44
  currency: string;
45
45
  singlePriceAmount: number | null;
46
+ slidingMinAmount?: number | null;
47
+ slidingMaxAmount?: number | null;
48
+ slidingSuggestedAmount?: number | null;
46
49
  paymentTerms: BlockBookingPaymentTerms;
47
50
  options: readonly CoursePricingOption[];
48
51
  };
@@ -305,6 +305,18 @@ export declare const publicEventPricingSchema: z.ZodDiscriminatedUnion<[z.ZodObj
305
305
  kind: z.ZodLiteral<"unavailable">;
306
306
  currency: z.ZodString;
307
307
  }, z.core.$strip>]>;
308
+ }, z.core.$strip>, z.ZodObject<{
309
+ kind: z.ZodLiteral<"sliding_scale">;
310
+ minAmount: z.ZodNumber;
311
+ maxAmount: z.ZodNumber;
312
+ suggestedAmount: z.ZodNullable<z.ZodNumber>;
313
+ currency: z.ZodString;
314
+ display: z.ZodObject<{
315
+ kind: z.ZodLiteral<"range">;
316
+ minAmount: z.ZodNumber;
317
+ maxAmount: z.ZodNumber;
318
+ currency: z.ZodString;
319
+ }, z.core.$strip>;
308
320
  }, z.core.$strip>, z.ZodObject<{
309
321
  kind: z.ZodLiteral<"course">;
310
322
  display: z.ZodObject<{
@@ -788,6 +800,18 @@ export declare const publicEventSchema: z.ZodObject<{
788
800
  kind: z.ZodLiteral<"unavailable">;
789
801
  currency: z.ZodString;
790
802
  }, z.core.$strip>]>;
803
+ }, z.core.$strip>, z.ZodObject<{
804
+ kind: z.ZodLiteral<"sliding_scale">;
805
+ minAmount: z.ZodNumber;
806
+ maxAmount: z.ZodNumber;
807
+ suggestedAmount: z.ZodNullable<z.ZodNumber>;
808
+ currency: z.ZodString;
809
+ display: z.ZodObject<{
810
+ kind: z.ZodLiteral<"range">;
811
+ minAmount: z.ZodNumber;
812
+ maxAmount: z.ZodNumber;
813
+ currency: z.ZodString;
814
+ }, z.core.$strip>;
791
815
  }, z.core.$strip>, z.ZodObject<{
792
816
  kind: z.ZodLiteral<"course">;
793
817
  display: z.ZodObject<{
@@ -894,11 +918,15 @@ export declare const publicEventSchema: z.ZodObject<{
894
918
  }>;
895
919
  pricingStrategy: z.ZodEnum<{
896
920
  single: "single";
921
+ sliding_scale: "sliding_scale";
897
922
  free: "free";
898
923
  tiered: "tiered";
899
924
  }>;
900
925
  currency: z.ZodString;
901
926
  singlePriceAmount: z.ZodNullable<z.ZodNumber>;
927
+ slidingMinAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
928
+ slidingMaxAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
929
+ slidingSuggestedAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
902
930
  paymentTerms: z.ZodObject<{
903
931
  allowedOptions: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
904
932
  kind: z.ZodLiteral<"upfront">;
@@ -1432,6 +1460,18 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodObject<{
1432
1460
  kind: z.ZodLiteral<"unavailable">;
1433
1461
  currency: z.ZodString;
1434
1462
  }, z.core.$strip>]>;
1463
+ }, z.core.$strip>, z.ZodObject<{
1464
+ kind: z.ZodLiteral<"sliding_scale">;
1465
+ minAmount: z.ZodNumber;
1466
+ maxAmount: z.ZodNumber;
1467
+ suggestedAmount: z.ZodNullable<z.ZodNumber>;
1468
+ currency: z.ZodString;
1469
+ display: z.ZodObject<{
1470
+ kind: z.ZodLiteral<"range">;
1471
+ minAmount: z.ZodNumber;
1472
+ maxAmount: z.ZodNumber;
1473
+ currency: z.ZodString;
1474
+ }, z.core.$strip>;
1435
1475
  }, z.core.$strip>, z.ZodObject<{
1436
1476
  kind: z.ZodLiteral<"course">;
1437
1477
  display: z.ZodObject<{
@@ -1538,11 +1578,15 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodObject<{
1538
1578
  }>;
1539
1579
  pricingStrategy: z.ZodEnum<{
1540
1580
  single: "single";
1581
+ sliding_scale: "sliding_scale";
1541
1582
  free: "free";
1542
1583
  tiered: "tiered";
1543
1584
  }>;
1544
1585
  currency: z.ZodString;
1545
1586
  singlePriceAmount: z.ZodNullable<z.ZodNumber>;
1587
+ slidingMinAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1588
+ slidingMaxAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1589
+ slidingSuggestedAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1546
1590
  paymentTerms: z.ZodObject<{
1547
1591
  allowedOptions: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
1548
1592
  kind: z.ZodLiteral<"upfront">;
@@ -189,6 +189,7 @@ export type RichTextFieldValidationPlan = PlanBase<"richText", "object", ObjectC
189
189
  }>;
190
190
  export type MediaFieldValidationPlan = PlanBase<"media", "object", ObjectConstraint> & Readonly<{
191
191
  fieldType: "media" | "file";
192
+ legacyStringType: string;
192
193
  }>;
193
194
  export type LinkFieldValidationPlan = PlanBase<"link", "object", ObjectConstraint> & Readonly<{
194
195
  fieldType: "link";
@@ -210,6 +211,11 @@ export type PassthroughFieldValidationPlan = PlanBase<"passthrough", "unknown",
210
211
  fieldType: "presetOrCustom" | "contentTypeSelect" | "entryPicker";
211
212
  }>;
212
213
  export type FieldValidationPlan = StringFieldValidationPlan | NumberFieldValidationPlan | BooleanFieldValidationPlan | RichTextFieldValidationPlan | MediaFieldValidationPlan | LinkFieldValidationPlan | SelectFieldValidationPlan | RepeaterFieldValidationPlan | GroupFieldValidationPlan | PassthroughFieldValidationPlan;
214
+ export type FieldPresence = Readonly<{
215
+ kind: "required";
216
+ }> | Readonly<{
217
+ kind: "optional";
218
+ }>;
213
219
  export type RepeatedItemValidationPlan = Readonly<{
214
220
  typeId: string;
215
221
  fields: readonly FieldValidationPlan[];
@@ -225,6 +231,8 @@ export declare function normalizeFieldInput(plan: FieldValidationPlan, value: un
225
231
  export declare function normalizeStoredContentValues(plans: readonly FieldValidationPlan[], content: unknown, options?: FieldValidationOptions): Record<string, unknown>;
226
232
  export declare function validateFieldValue(plan: FieldValidationPlan, value: unknown, options?: FieldValidationOptions): FieldValidationIssue[];
227
233
  export declare function fieldPlanToZod(plan: FieldValidationPlan, options?: FieldValidationOptions): z.ZodTypeAny;
234
+ export declare function fieldPresenceForPlan(plan: Pick<FieldValidationPlan, "required">): FieldPresence;
235
+ export declare function fieldPlanToObjectPropertyZod(plan: FieldValidationPlan, options?: FieldValidationOptions): z.ZodTypeAny;
228
236
  export declare function resolveFieldValidationDescriptor(plans: readonly FieldValidationPlan[], path: FieldPath): FieldValidationDescriptor | null;
229
237
  export declare function validateManifestValues(fields: readonly FieldDefinition[], values: Record<string, unknown>, options?: FieldValidationOptions): FieldValidationIssue[];
230
238
  export declare function validateManifestContentForPush(fields: readonly FieldDefinition[], values: Record<string, unknown>, options?: FieldValidationOptions): ManifestContentValidationResult;