@riverbankcms/sdk 0.139.0 → 0.140.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 (196) hide show
  1. package/README.md +1 -1
  2. package/dist/{PreviewEditorSidebar-BDeenhi3.mjs → PreviewEditorSidebar-CUyTzd5z.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-DSRhgjF5.mjs → PreviewEditorUI-Agkw4v5i.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-D2K8GLUG.mjs → PreviewQueryProvider-CN0ewic5.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-CL7wSnYu.mjs → SdkPreviewModeRuntime-DdbeAdS8.mjs} +22 -8
  6. package/dist/{SiteChromeCustomizeContext-BhDn-5ir.mjs → SiteChromeCustomizeContext-CqGOz-Kv.mjs} +2053 -1110
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +165 -165
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +212 -212
  9. package/dist/_dts/api/src/accessAdmin.d.ts +74 -104
  10. package/dist/_dts/api/src/aiEndpoints.d.ts +5 -1
  11. package/dist/_dts/api/src/authSubmission.d.ts +46 -0
  12. package/dist/_dts/api/src/billing.d.ts +8 -4
  13. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +23 -0
  14. package/dist/_dts/api/src/billingEndpointTypes.d.ts +26 -0
  15. package/dist/_dts/api/src/blocks.d.ts +2 -0
  16. package/dist/_dts/api/src/bookingRecords.d.ts +1 -2
  17. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +8 -1
  18. package/dist/_dts/api/src/communications.d.ts +0 -1
  19. package/dist/_dts/api/src/contentRuntime.d.ts +8 -3
  20. package/dist/_dts/api/src/endpoints.d.ts +93 -64
  21. package/dist/_dts/api/src/event-destination-policy.d.ts +2 -1
  22. package/dist/_dts/api/src/footerSettings.d.ts +9 -6
  23. package/dist/_dts/api/src/index.d.ts +5 -6
  24. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  25. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  26. package/dist/_dts/api/src/mailingListIntegration.d.ts +8 -2
  27. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
  28. package/dist/_dts/api/src/navigation/types.d.ts +1 -1
  29. package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +25 -0
  30. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +32 -32
  31. package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +8 -0
  32. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +1 -0
  33. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +11 -3
  34. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +3 -29
  35. package/dist/_dts/api/src/publicOnboardingAttemptEndpointDefinitions.d.ts +65 -0
  36. package/dist/_dts/api/src/saveOutcome.d.ts +20 -0
  37. package/dist/_dts/api/src/sdkContracts.d.ts +3 -22
  38. package/dist/_dts/api/src/sdkPushContracts.d.ts +18 -0
  39. package/dist/_dts/api/src/sdkThemeWire.d.ts +44 -44
  40. package/dist/_dts/api/src/settings/permissions.d.ts +12 -0
  41. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +9 -5
  42. package/dist/_dts/api/src/siteOnboarding.d.ts +2 -9
  43. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -4
  44. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -1
  45. package/dist/_dts/api/src/siteSettings.d.ts +20 -7
  46. package/dist/_dts/api/src/types.d.ts +77 -77
  47. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -37
  48. package/dist/_dts/billing/src/membership/index.d.ts +3 -0
  49. package/dist/_dts/billing/src/plans/types.d.ts +3 -0
  50. package/dist/_dts/billing/src/site-arrangements.d.ts +14 -3
  51. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +16 -4
  52. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +2 -0
  53. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +5 -0
  54. package/dist/_dts/blocks/src/portal/types.d.ts +2 -4
  55. package/dist/_dts/blocks/src/portal/waitlist-types.d.ts +35 -0
  56. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -0
  57. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
  58. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
  59. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -2
  60. package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +2 -1
  61. package/dist/_dts/blocks/src/system/data/types.d.ts +9 -0
  62. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  63. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -28
  64. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  65. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +7 -3
  66. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -2
  68. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +30 -6
  69. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +15 -3
  70. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +43 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +1 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +2 -0
  73. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +14 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +56 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -8
  76. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +8 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -7
  78. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +10 -2
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +18 -0
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.client.d.ts +1 -1
  81. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -6
  82. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +4 -2
  83. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +1 -0
  85. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +1 -0
  86. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -6
  87. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  88. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +2 -0
  89. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
  90. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +27 -4
  91. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -1
  92. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +3 -1
  93. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -0
  94. package/dist/_dts/core/src/branded.d.ts +0 -8
  95. package/dist/_dts/core/src/index.d.ts +1 -0
  96. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +1 -1
  97. package/dist/_dts/core/src/mailing-list-setup.d.ts +14 -1
  98. package/dist/_dts/core/src/mailing-list-submission.d.ts +7 -27
  99. package/dist/_dts/core/src/participants.d.ts +2 -29
  100. package/dist/_dts/core/src/public-experience.d.ts +4 -0
  101. package/dist/_dts/core/src/public-profile.d.ts +27 -1
  102. package/dist/_dts/core/src/site-route-target.d.ts +9 -2
  103. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +293 -606
  104. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListGlobalSettingsSummary.d.ts +10 -0
  105. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +3 -2
  106. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +3 -2
  107. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +3 -2
  108. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +19 -0
  109. package/dist/_dts/sdk/src/public-api/contracts.d.ts +14 -20
  110. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
  111. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
  112. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +7 -1
  113. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +1 -0
  114. package/dist/_dts/sdk/src/version.d.ts +1 -1
  115. package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
  116. package/dist/_dts/theme-core/src/cards/types.d.ts +21 -21
  117. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  118. package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +8 -2
  119. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -2
  120. package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
  121. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +54 -54
  122. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -4
  123. package/dist/_dts/theme-core/src/schema.d.ts +84 -84
  124. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +1 -1
  125. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  126. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +77 -0
  127. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  128. package/dist/_dts/theme-core/src/typography/generateTypographyCss.d.ts +2 -2
  129. package/dist/_dts/ui/src/lib/use-delayed-flag.d.ts +9 -0
  130. package/dist/_dts/ui/src/pending-button.d.ts +10 -0
  131. package/dist/client/{BookingConsentAgreement-CZvTDtsK.mjs → BookingConsentAgreement-CuKa82V4.mjs} +4 -4
  132. package/dist/client/{DiscountCodeDisclosure-D-DsLCMU.mjs → DiscountCodeDisclosure-BbYieKWB.mjs} +1 -1
  133. package/dist/client/{EventCombined.client-dWqgd5ZO.mjs → EventCombined.client-LTfR1Aby.mjs} +6 -6
  134. package/dist/client/{EventListing.client-BMRa9IYp.mjs → EventListing.client-DUHpYSuo.mjs} +2 -2
  135. package/dist/client/{LeafletStaticMap-D21W9kBZ.mjs → LeafletStaticMap-CHRupL6m.mjs} +1 -1
  136. package/dist/client/{accordion-FxF_ta47.mjs → accordion-6HiIFxNL.mjs} +1 -1
  137. package/dist/client/{bookingForm-YnwW4TGw.mjs → bookingForm-Dlmid43H.mjs} +7 -7
  138. package/dist/client/bookings.mjs +325 -140
  139. package/dist/client/{carousel-vng7fFT5.mjs → carousel-DmkZRRq_.mjs} +2 -2
  140. package/dist/client/{carousel.client-59G_WMr4.mjs → carousel.client-DQTjCVQT.mjs} +1 -1
  141. package/dist/client/{cart-DEPDsjNk.mjs → cart-CIC24330.mjs} +3 -3
  142. package/dist/client/{checkout-CZRWu9rW.mjs → checkout-D1Zw9imo.mjs} +3 -3
  143. package/dist/client/{checkoutUrls-BuseL0dw.mjs → checkoutUrls-FL6lRkrt.mjs} +1 -1
  144. package/dist/client/client.mjs +1717 -882
  145. package/dist/client/{colorStyles-CrxJrPjJ.mjs → colorStyles-3013aRAY.mjs} +3 -1
  146. package/dist/client/{context-DvU_WUmd.mjs → context-Cy1OayHx.mjs} +6 -19
  147. package/dist/client/{dates-wnPMiRl5.mjs → dates-aDcfoLHr.mjs} +2 -2
  148. package/dist/client/{eventCalendar-BA3Q5L15.mjs → eventCalendar-FQxMPAjf.mjs} +8 -8
  149. package/dist/client/{eventCombined-51wgR-1R.mjs → eventCombined-Dr3ac6Hb.mjs} +3 -3
  150. package/dist/client/{eventDetails-modaetpm.mjs → eventDetails-D-AzUHFQ.mjs} +4 -4
  151. package/dist/client/{eventListing-D8t2J3Kv.mjs → eventListing-B3XxBf3i.mjs} +3 -3
  152. package/dist/client/{eventRegistration-CYqtkCE_.mjs → eventRegistration-I6EaokFD.mjs} +500 -152
  153. package/dist/client/{form-CBKXN5In.mjs → form-BbWckVWY.mjs} +3 -3
  154. package/dist/client/{headerSection-DylDqNrs.mjs → headerSection-C9qU4Y7x.mjs} +2 -2
  155. package/dist/client/hooks.mjs +445 -180
  156. package/dist/client/{locationMap-CvWrG0vZ.mjs → locationMap-CLCShvlG.mjs} +3 -3
  157. package/dist/client/{media-BOHuueS5.mjs → media-DHpfFwd3.mjs} +1 -1
  158. package/dist/client/{newsletterForm-Btwk70zw.mjs → newsletterForm-Briukxzi.mjs} +130 -87
  159. package/dist/client/{pricing-Uzw-GQ6Y.mjs → pricing-Copadu-2.mjs} +1 -1
  160. package/dist/client/{productDetail-JLcUYKnd.mjs → productDetail-oujlRd-r.mjs} +3 -3
  161. package/dist/client/{productList-FM0cbUzj.mjs → productList-BRiIRUcd.mjs} +3 -3
  162. package/dist/client/{propsDecoder-DYzafZb2.mjs → propsDecoder-CB2KS_ko.mjs} +130 -24
  163. package/dist/client/rendering/client.mjs +911 -400
  164. package/dist/client/rendering/islands.mjs +19 -19
  165. package/dist/client/rendering.mjs +1696 -818
  166. package/dist/client/{scrollToBlock-CvXszexS.mjs → scrollToBlock-B1IS1_ua.mjs} +1 -1
  167. package/dist/client/{shop-BIcjvy5a.mjs → shop-Vn6yNFED.mjs} +6 -6
  168. package/dist/client/{shop-commerce-BZQsy7xw.mjs → shop-commerce-BVTqipYp.mjs} +7 -7
  169. package/dist/client/{shop-commerce-store-D5V7XAb5.mjs → shop-commerce-store-BVnJVy7v.mjs} +1 -1
  170. package/dist/client/{shopShared-DowkXevB.mjs → shopShared-COIeK77T.mjs} +4 -4
  171. package/dist/client/{useEventFilters-oMoTw_JE.mjs → useEventFilters-DzIUcS9n.mjs} +7 -7
  172. package/dist/preview-next/before-render.mjs +119 -64
  173. package/dist/preview-next/client/runtime.mjs +4 -4
  174. package/dist/preview-next/keepAlive.mjs +119 -64
  175. package/dist/preview-next/middleware.mjs +119 -64
  176. package/dist/{previewAuthStore-COUyAKaX.mjs → previewAuthStore-Gjb6r6vz.mjs} +119 -64
  177. package/dist/{sdk-runtime-D4k2LSGF.mjs → sdk-runtime-CnCLvZRv.mjs} +2 -2
  178. package/dist/{separator-UGtpag4Z.mjs → separator-DKDRJ1oH.mjs} +1 -1
  179. package/dist/server/components.mjs +787 -323
  180. package/dist/server/config-validation.mjs +328 -79
  181. package/dist/server/config.mjs +332 -83
  182. package/dist/server/data.mjs +441 -180
  183. package/dist/server/index.mjs +126 -66
  184. package/dist/server/next.mjs +1031 -595
  185. package/dist/server/page-converter.mjs +183 -74
  186. package/dist/server/prebuild.mjs +1 -1
  187. package/dist/server/rendering/server.mjs +1068 -592
  188. package/dist/server/rendering.mjs +802 -324
  189. package/dist/server/routing.mjs +506 -214
  190. package/dist/server/server.mjs +468 -244
  191. package/dist/server/theme-bridge.mjs +433 -100
  192. package/dist/server/theme.mjs +8 -2
  193. package/dist/styles/index.css +237 -43
  194. package/package.json +1 -1
  195. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +0 -29
  196. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +0 -13
@@ -1,6 +1,6 @@
1
- import type { LogoFacts } from "../../../theme-core/src/site-styles/index";
2
- import type { BillingPlanId } from "../../../billing/src/plans/types";
3
- import type { SiteVerticalBookingConfig } from "../../../core/src/index";
1
+ import type { LogoFacts } from '../../../theme-core/src/site-styles/index';
2
+ import type { BillingPlanId } from '../../../billing/src/plans/types';
3
+ import type { PublicExperience, SiteVerticalBookingConfig } from '../../../core/src/index';
4
4
  /**
5
5
  * Macadamia public-onboarding surface data.
6
6
  *
@@ -12,14 +12,14 @@ import type { SiteVerticalBookingConfig } from "../../../core/src/index";
12
12
  * Note: Do NOT use these API types as validation schemas. They document wire
13
13
  * contracts while the owning services validate and normalize inputs.
14
14
  */
15
- export type MacadamiaOnboardingSiteMode = "single_page" | "fuller_starter";
15
+ export type MacadamiaOnboardingSiteMode = 'single_page' | 'fuller_starter';
16
16
  export type MacadamiaOnboardingMappedPalette = {
17
- palette: Record<"primary" | "secondary" | "accent" | "background" | "surface" | "text", string>;
18
- mode: "light" | "dark";
17
+ palette: Record<'primary' | 'secondary' | 'accent' | 'background' | 'surface' | 'text', string>;
18
+ mode: 'light' | 'dark';
19
19
  };
20
20
  export type MacadamiaOnboardingLogoPaletteRecommendation = {
21
21
  title: string;
22
- palette: MacadamiaOnboardingMappedPalette["palette"];
22
+ palette: MacadamiaOnboardingMappedPalette['palette'];
23
23
  };
24
24
  export type MacadamiaOnboardingLogoAnalysis = {
25
25
  logoFacts: LogoFacts;
@@ -37,14 +37,14 @@ export type MacadamiaOnboardingVisualIdentity = {
37
37
  selectedPaletteKey: string | null;
38
38
  inspirationUrls: string[];
39
39
  };
40
- export type PublicOnboardingSurfaceId = "macadamia";
41
- export type MacadamiaOnboardingTeamMode = "solo" | "team";
42
- export type MacadamiaOnboardingOfferingKind = "classes" | "courses" | "workshops" | "retreats" | "performances" | "private_sessions";
43
- export type MacadamiaOnboardingStyleMood = "calm_grounding" | "warm_welcoming" | "modern_polished" | "natural_earthy" | "bright_uplifting" | "luxury_retreat";
44
- export type MacadamiaOnboardingFirstOfferingKind = "class" | "course" | "workshop" | "retreat" | "performance" | "private_session";
45
- export type MacadamiaOnboardingFirstOfferingDeliveryMode = "in_person" | "online" | "both";
46
- export type MacadamiaOnboardingFirstOfferingScheduleMode = "weekly" | "one_off";
47
- export type MacadamiaOnboardingWeekday = "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday";
40
+ export type PublicOnboardingSurfaceId = 'macadamia';
41
+ export type MacadamiaOnboardingTeamMode = 'solo' | 'team';
42
+ export type MacadamiaOnboardingOfferingKind = 'classes' | 'courses' | 'workshops' | 'retreats' | 'performances' | 'private_sessions';
43
+ export type MacadamiaOnboardingStyleMood = 'calm_grounding' | 'warm_welcoming' | 'modern_polished' | 'natural_earthy' | 'bright_uplifting' | 'luxury_retreat';
44
+ export type MacadamiaOnboardingFirstOfferingKind = 'class' | 'course' | 'workshop' | 'retreat' | 'performance' | 'private_session';
45
+ export type MacadamiaOnboardingFirstOfferingDeliveryMode = 'in_person' | 'online' | 'both';
46
+ export type MacadamiaOnboardingFirstOfferingScheduleMode = 'weekly' | 'one_off';
47
+ export type MacadamiaOnboardingWeekday = 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday';
48
48
  export type MacadamiaOnboardingEventSession = {
49
49
  clientId: string;
50
50
  startDate: string;
@@ -54,7 +54,7 @@ export type MacadamiaOnboardingEventSession = {
54
54
  isMultiDay: boolean;
55
55
  };
56
56
  export type MacadamiaOnboardingFirstOffering = {
57
- kind: "class";
57
+ kind: 'class';
58
58
  title: string;
59
59
  description: string | null;
60
60
  deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode;
@@ -63,21 +63,21 @@ export type MacadamiaOnboardingFirstOffering = {
63
63
  recurrenceRule: string;
64
64
  startTime: string;
65
65
  durationMinutes: number;
66
- priceType: "free" | "paid";
66
+ priceType: 'free' | 'paid';
67
67
  priceAmount: number | null;
68
68
  capacity: number | null;
69
69
  } | {
70
- kind: "course";
70
+ kind: 'course';
71
71
  title: string;
72
72
  description: string | null;
73
73
  deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode;
74
74
  location: string | null;
75
- priceType: "free" | "paid";
75
+ priceType: 'free' | 'paid';
76
76
  priceAmount: number | null;
77
77
  capacity: number | null;
78
78
  sessions: MacadamiaOnboardingEventSession[];
79
79
  } | {
80
- kind: "workshop" | "retreat" | "performance";
80
+ kind: 'workshop' | 'retreat' | 'performance';
81
81
  title: string;
82
82
  description: string | null;
83
83
  deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode;
@@ -86,21 +86,21 @@ export type MacadamiaOnboardingFirstOffering = {
86
86
  startDate: string;
87
87
  startTime: string;
88
88
  durationMinutes: number;
89
- priceType: "free" | "paid";
89
+ priceType: 'free' | 'paid';
90
90
  priceAmount: number | null;
91
91
  capacity: number | null;
92
92
  } | {
93
- kind: "private_session";
93
+ kind: 'private_session';
94
94
  title: string;
95
95
  description: string | null;
96
96
  deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode;
97
97
  location: string | null;
98
98
  durationMinutes: number;
99
- priceType: "free" | "paid";
99
+ priceType: 'free' | 'paid';
100
100
  priceAmount: number | null;
101
101
  };
102
102
  export type MacadamiaOnboardingDraftFirstOffering = {
103
- kind: "class";
103
+ kind: 'class';
104
104
  title: string;
105
105
  description: string | null;
106
106
  deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode | null;
@@ -109,21 +109,21 @@ export type MacadamiaOnboardingDraftFirstOffering = {
109
109
  recurrenceRule: string | null;
110
110
  startTime: string | null;
111
111
  durationMinutes: number | null;
112
- priceType: "free" | "paid" | null;
112
+ priceType: 'free' | 'paid' | null;
113
113
  priceAmount: number | null;
114
114
  capacity: number | null;
115
115
  } | {
116
- kind: "course";
116
+ kind: 'course';
117
117
  title: string;
118
118
  description: string | null;
119
119
  deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode | null;
120
120
  location: string | null;
121
- priceType: "free" | "paid" | null;
121
+ priceType: 'free' | 'paid' | null;
122
122
  priceAmount: number | null;
123
123
  capacity: number | null;
124
124
  sessions: MacadamiaOnboardingEventSession[];
125
125
  } | {
126
- kind: "workshop" | "retreat" | "performance";
126
+ kind: 'workshop' | 'retreat' | 'performance';
127
127
  title: string;
128
128
  description: string | null;
129
129
  deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode | null;
@@ -132,17 +132,17 @@ export type MacadamiaOnboardingDraftFirstOffering = {
132
132
  startDate: string | null;
133
133
  startTime: string | null;
134
134
  durationMinutes: number | null;
135
- priceType: "free" | "paid" | null;
135
+ priceType: 'free' | 'paid' | null;
136
136
  priceAmount: number | null;
137
137
  capacity: number | null;
138
138
  } | {
139
- kind: "private_session";
139
+ kind: 'private_session';
140
140
  title: string;
141
141
  description: string | null;
142
142
  deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode | null;
143
143
  location: string | null;
144
144
  durationMinutes: number | null;
145
- priceType: "free" | "paid" | null;
145
+ priceType: 'free' | 'paid' | null;
146
146
  priceAmount: number | null;
147
147
  };
148
148
  /**
@@ -156,7 +156,7 @@ export type MacadamiaOnboardingDraftFirstOffering = {
156
156
  * wizard (read as `website`), explicit `null` means the person has not chosen
157
157
  * yet, and a value is the chosen mode.
158
158
  */
159
- export type MacadamiaOnboardingPublicExperience = "website" | "hosted_booking";
159
+ export type MacadamiaOnboardingPublicExperience = PublicExperience;
160
160
  /** Plan the person arrived with from pricing. Stored only; no billing action. */
161
161
  export type MacadamiaOnboardingPlanPreference = BillingPlanId;
162
162
  export type MacadamiaOnboardingSurfaceData = {
@@ -26,6 +26,14 @@ export declare const PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS: {
26
26
  auth: "public";
27
27
  responseKind: "json";
28
28
  };
29
+ getPublicBookingServiceBySlug: {
30
+ path: "/public/bookings/services/by-slug/{slug}";
31
+ method: "GET";
32
+ revalidate: number;
33
+ tags: "riverbank:site:{siteId}:public-booking-services"[];
34
+ auth: "public";
35
+ responseKind: "json";
36
+ };
29
37
  getPublicBookingResourcesReference: {
30
38
  path: "/public/bookings/resources/reference";
31
39
  method: "GET";
@@ -121,6 +121,7 @@ export type PublicCommerceAPIEndpoints = {
121
121
  customerId: string;
122
122
  amountCents: number;
123
123
  currency: string;
124
+ claimedByEmail: string;
124
125
  }>;
125
126
  createShopCheckout: APIEndpoint<{
126
127
  productType: 'pass' | 'membership';
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * Merged into `PublicExperienceAPIEndpoints` by `../publicExperienceEndpoints`.
5
5
  */
6
- import type { APIEndpoint } from '../apiEndpointTypes';
7
6
  import type { EventRegistrationOptionsRequest, EventRegistrationOptionsResponse } from '../../../blocks/src/system/blocks/event-registration';
8
7
  import type { PublicWaitlistClaimResponse } from '../../../commerce/src/index';
8
+ import type { APIEndpoint } from '../apiEndpointTypes';
9
9
  import type { DirectCheckoutCollectionOptionKind, EventAttendanceMode } from '../bookingConfig';
10
10
  import type { EventTicketLineSummaryResponse, EventTicketSelectionRequest, PublicEventLoaderParams } from './sharedTypes';
11
11
  /**
@@ -15,9 +15,9 @@ import type { EventTicketLineSummaryResponse, EventTicketSelectionRequest, Publi
15
15
  * constituent shape) and surfaced here as the wire contract. Nothing restates
16
16
  * it: the dashboard projection and every block consumer import these names.
17
17
  */
18
- export type { PublicEvent, PublicEventBase, PublicWholeSeriesRun, PublicWholeSeriesRunLifecycle, PublicWholeSeriesRunVisibility, PublicRunSession, } from '../../../blocks/src/system/blocks/events/shared/types';
18
+ export type { PublicEvent, PublicEventBase, PublicRunSession, PublicWholeSeriesRun, PublicWholeSeriesRunLifecycle, PublicWholeSeriesRunVisibility, } from '../../../blocks/src/system/blocks/events/shared/types';
19
+ import type { CalendarWindowPage, CalendarWindowRequest } from '../../../blocks/src/contracts/index';
19
20
  import type { PublicEvent } from '../../../blocks/src/system/blocks/events/shared/types';
20
- import type { CalendarWindowRequest, CalendarWindowPage } from '../../../blocks/src/contracts/index';
21
21
  export type PublicEventAPIEndpoints = {
22
22
  listPublicEventCalendarWindow: APIEndpoint<never, {
23
23
  siteId: string;
@@ -118,6 +118,7 @@ export type PublicEventAPIEndpoints = {
118
118
  customerMembershipId?: string;
119
119
  bundleProductId?: string;
120
120
  claimToken?: string;
121
+ waitlistEntryId?: string;
121
122
  guests?: Array<{
122
123
  name: string;
123
124
  email?: string | null;
@@ -169,6 +170,7 @@ export type PublicEventAPIEndpoints = {
169
170
  kind: 'occurrence';
170
171
  attendeeId: string;
171
172
  };
173
+ registrationCommandId?: string;
172
174
  checkoutType?: 'event' | 'pass_bundle' | 'membership_bundle';
173
175
  productId?: string;
174
176
  discountCode?: string;
@@ -195,6 +197,7 @@ export type PublicEventAPIEndpoints = {
195
197
  phone?: string | null;
196
198
  }>;
197
199
  claimToken?: string;
200
+ waitlistEntryId?: string;
198
201
  discountCode?: string;
199
202
  collectionOptionKind: DirectCheckoutCollectionOptionKind;
200
203
  checkoutAttemptId: string;
@@ -211,6 +214,7 @@ export type PublicEventAPIEndpoints = {
211
214
  } | {
212
215
  scope: 'wholeSeries';
213
216
  registrationId: string;
217
+ checkoutAttemptId: string;
214
218
  checkoutUrl: string | null;
215
219
  sessionId: string | null;
216
220
  bypassed: boolean;
@@ -269,6 +273,10 @@ export type PublicEventAPIEndpoints = {
269
273
  }, string>;
270
274
  resolveWaitlistClaim: APIEndpoint<{
271
275
  claimToken: string;
276
+ waitlistEntryId?: never;
277
+ } | {
278
+ waitlistEntryId: string;
279
+ claimToken?: never;
272
280
  }, {
273
281
  siteId: string;
274
282
  }, PublicWaitlistClaimResponse>;
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import type { AutoAppliedDiscountPreview } from '../bookingRecords';
7
7
  import type { MailingListSignupSourceRef, MailingListVisitorSelection } from '../../../core/src/index';
8
+ import type { PublicEventLoaderParams } from '../../../blocks/src/system/blocks/events/shared/types';
8
9
  export type { MailingListSignupSourceRef } from '../../../core/src/index';
9
10
  export declare const PUBLIC_EVENT_TICKET_SELECTION_CONTRACT_VERSION: "public-event-ticket-selection.v2";
10
11
  export type EventTicketSelectionRequest = {
@@ -21,35 +22,8 @@ export type EventTicketLineSummaryResponse = {
21
22
  currency: string;
22
23
  };
23
24
  export type { PublicEventPriceDisplay, PublicEventPricing, } from '../../../core/src/index';
24
- /** Query parameters accepted by the public event list loaders. */
25
- export type PublicEventLoaderParams = {
26
- limit?: string;
27
- from?: string;
28
- to?: string;
29
- afterStartsAt?: string;
30
- afterId?: string;
31
- categoryIds?: string;
32
- venueId?: string;
33
- staffMemberId?: string;
34
- eventSurface?: string;
35
- eventPresets?: string;
36
- scheduleScope?: string;
37
- seriesId?: string;
38
- seriesIds?: string;
39
- runSeriesId?: string;
40
- seriesSlug?: string;
41
- includeOccurrenceId?: string;
42
- /**
43
- * What the read is asking for: `'occurrences'` (default) for a page of dates,
44
- * `'runs'` for one row per whole-series run regardless of date, or
45
- * `'catalogue'` for one representative occurrence per series. Catalogue
46
- * reads are complete when `limit` is omitted; cursors and explicit limits
47
- * apply after representative selection.
48
- */
49
- readIntent?: string;
50
- detailLevel?: string;
51
- readProfile?: string;
52
- };
25
+ /** Query parameters accepted by the public Event list loaders. */
26
+ export type { PublicEventLoaderParams } from '../../../blocks/src/system/blocks/events/shared/types';
53
27
  export type NewsletterSubscribeBody = {
54
28
  email: string;
55
29
  firstName?: string | null;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * The anonymous onboarding attempt, addressed by its opaque resume token.
3
+ *
4
+ * Every route here is reached before there is an account, so none of them can
5
+ * be scoped to a site or a user: the token is the whole credential. They are
6
+ * kept together so that stays obvious.
7
+ */
8
+ export declare const PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS: {
9
+ createPublicOnboardingAttempt: {
10
+ path: "/public/onboarding/attempts";
11
+ method: "POST";
12
+ auth: "public";
13
+ errors: never[];
14
+ responseKind: "json";
15
+ };
16
+ createPublicOnboardingLogoUploadUrl: {
17
+ path: "/public/onboarding/attempts/{attemptToken}/logo-upload-url";
18
+ method: "POST";
19
+ auth: "public";
20
+ errors: never[];
21
+ responseKind: "json";
22
+ };
23
+ uploadPublicOnboardingLogo: {
24
+ path: "/public/onboarding/attempts/{attemptToken}/logo";
25
+ method: "POST";
26
+ auth: "public";
27
+ errors: never[];
28
+ responseKind: "json";
29
+ };
30
+ getPublicOnboardingAttempt: {
31
+ path: "/public/onboarding/attempts/{attemptToken}";
32
+ method: "GET";
33
+ auth: "public";
34
+ errors: never[];
35
+ responseKind: "json";
36
+ };
37
+ getPublicOnboardingAttemptProgress: {
38
+ path: "/public/onboarding/attempts/{attemptToken}/status";
39
+ method: "GET";
40
+ auth: "public";
41
+ errors: never[];
42
+ responseKind: "json";
43
+ };
44
+ updatePublicOnboardingAttempt: {
45
+ path: "/public/onboarding/attempts/{attemptToken}";
46
+ method: "PATCH";
47
+ auth: "public";
48
+ errors: never[];
49
+ responseKind: "json";
50
+ };
51
+ runPublicOnboardingAttempt: {
52
+ path: "/public/onboarding/attempts/{attemptToken}/run";
53
+ method: "POST";
54
+ auth: "public";
55
+ errors: never[];
56
+ responseKind: "json";
57
+ };
58
+ resendPublicOnboardingAttemptConfirmation: {
59
+ path: "/public/onboarding/attempts/{attemptToken}/resend-confirmation";
60
+ method: "POST";
61
+ auth: "public";
62
+ errors: never[];
63
+ responseKind: "json";
64
+ };
65
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Endpoints whose success status does not mean the write happened.
3
+ *
4
+ * A revision-guarded write answers a lost race with 200 and a response that
5
+ * says so, because the client needs the authoritative document back in order
6
+ * to recover. That is a sound contract, but it means HTTP status is no longer
7
+ * the whole story: save plumbing that reads 2xx as "saved" will tell someone
8
+ * their changes are stored when they were rejected.
9
+ *
10
+ * Listing an endpoint here makes that impossible to overlook. Save helpers
11
+ * require callers of these endpoints to say how to read the outcome, and
12
+ * forbid the question everywhere else, so the answer cannot drift away from
13
+ * the contract.
14
+ *
15
+ * Add an endpoint here in the same change that gives its response a
16
+ * non-writing variant.
17
+ */
18
+ export type SaveOutcomeBearingEndpoint = 'updatePublicProfile' | 'updateFooterComposition';
19
+ /** Whether a completed request actually wrote what the caller sent. */
20
+ export type SaveOutcome = 'saved' | 'not-saved';
@@ -1,6 +1,6 @@
1
1
  import type { BlockContentSource, BlockContentSourceKind, FieldDefinition, FieldDefinitionInput, SdkCustomBlock, SdkCustomBlockInput, Theme } from '../../blocks/src/index';
2
2
  import type { ContentTypeSchema } from '../../content-model/src/index';
3
- import type { FooterCompositionV1, RichTextDoc } from '../../core/src/index';
3
+ import type { EventPreset, FooterCompositionV1, RichTextDoc } from '../../core/src/index';
4
4
  export type { SdkBlockAppearanceChoice, SdkBlockAppearanceOutcome, } from './sdkBlockUpsertContracts';
5
5
  import type { LinkPayload } from './navigation/types';
6
6
  import type { JsonValue } from './shared-contracts';
@@ -9,7 +9,6 @@ import type { ManagementMediaAsset } from './sdkMediaContracts';
9
9
  export type { ManagementMediaAsset, SdkMediaDeleteApplyResponse, SdkMediaDeletePreviewResponse, SdkMediaDownloadResponse, SdkMediaListResponse, } from './sdkMediaContracts';
10
10
  import type { SdkPullEventOccurrence } from './sdk-event-schedule';
11
11
  import type { SiteCommandApplicationResult } from '@riverbankcms/site-commands';
12
- import type { EventPreset } from '../../core/src/index';
13
12
  import type { SdkThemeWire } from './sdkThemeWire';
14
13
  import type { SdkCatalogButtonStyleControl } from './sdkThemeCatalogContracts';
15
14
  export type { SdkCatalogButtonRole, SdkCatalogButtonStyleControl, } from './sdkThemeCatalogContracts';
@@ -201,11 +200,7 @@ export interface RiverbankSiteConfigInput extends Omit<RiverbankSiteConfig, 'cus
201
200
  customBlocks?: SdkCustomBlockInput[];
202
201
  blockFieldExtensions?: SdkBlockFieldExtensionsInputMap;
203
202
  }
204
- export type PushSdkConfigRequest = {
205
- config: RiverbankSiteConfigInput;
206
- forceContentTypes?: boolean;
207
- mode?: 'apply' | 'preview';
208
- };
203
+ export type { PushSdkConfigRequest } from './sdkPushContracts';
209
204
  export type SyncCollectionResult = {
210
205
  created: number;
211
206
  updated: number;
@@ -243,21 +238,7 @@ export type SdkConfigSyncResult = {
243
238
  footerBlocks: SyncFooterBlocksResult;
244
239
  ignoredDocumentSections: IgnoredDocumentSyncSection[];
245
240
  };
246
- export type PushSdkConfigResponse = {
247
- success: true;
248
- mode: 'apply' | 'preview';
249
- message: string;
250
- /**
251
- * Legacy all-content-shaped sync payload retained for published CLIs that
252
- * still read document sync buckets such as `sync.pages.errors`.
253
- */
254
- sync: SdkContentSyncResult | null;
255
- /**
256
- * Schema/config-only push-config result. New clients should prefer this over
257
- * `sync` so document sections stay unrepresentable in the active contract.
258
- */
259
- configSync: SdkConfigSyncResult | null;
260
- };
241
+ export type { PushSdkConfigResponse } from './sdkPushContracts';
261
242
  export interface SdkBackfillPageResult {
262
243
  pagesUpdated: number;
263
244
  identifiersAssigned: Record<string, string>;
@@ -0,0 +1,18 @@
1
+ import type { MailingListProviderScope } from '../../core/src/index';
2
+ import type { RiverbankSiteConfigInput, SdkConfigSyncResult, SdkContentSyncResult } from './sdkContracts';
3
+ export type PushSdkConfigRequest = {
4
+ config: RiverbankSiteConfigInput;
5
+ forceContentTypes?: boolean;
6
+ mode?: 'apply' | 'preview';
7
+ expectedMailingListProviderScope?: MailingListProviderScope;
8
+ };
9
+ export type PushSdkConfigResponse = {
10
+ success: true;
11
+ mode: 'apply' | 'preview';
12
+ message: string;
13
+ /** Legacy document-sync result read by already-published CLI versions. */
14
+ sync: SdkContentSyncResult | null;
15
+ /** Canonical schema/config-only result for current clients. */
16
+ configSync: SdkConfigSyncResult | null;
17
+ mailingListProviderScope: MailingListProviderScope | null;
18
+ };