@riverbankcms/sdk 0.144.0 → 0.146.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 (228) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{PreviewEditorSidebar-CQZNnFiM.mjs → PreviewEditorSidebar-kg2r2Fyi.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-DCNxnmI0.mjs → PreviewEditorUI-sWMLp5dT.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-Cg51xq1w.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-BJolUbr1.mjs → SdkPreviewModeRuntime-h2ti3Hch.mjs} +688 -519
  6. package/dist/{SiteChromeCustomizeContext-CKgEpoxi.mjs → SiteChromeCustomizeContext-DEACFH9m.mjs} +3381 -2017
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +5643 -66
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +513 -6
  9. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
  10. package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
  11. package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
  12. package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
  13. package/dist/_dts/api/src/bookingConfig.d.ts +8 -1
  14. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +10 -26
  15. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
  16. package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
  17. package/dist/_dts/api/src/communications.d.ts +32 -24
  18. package/dist/_dts/api/src/contentRuntime.d.ts +3 -5
  19. package/dist/_dts/api/src/endpoints.d.ts +316 -134
  20. package/dist/_dts/api/src/event-visibility.d.ts +20 -0
  21. package/dist/_dts/api/src/eventManagementContracts.d.ts +56 -3
  22. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
  23. package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
  24. package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
  25. package/dist/_dts/api/src/index.d.ts +7 -1
  26. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  27. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  28. package/dist/_dts/api/src/launchReadiness.d.ts +22 -2
  29. package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
  30. package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
  31. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +30 -11
  32. package/dist/_dts/api/src/occurrenceScheduling.d.ts +10 -0
  33. package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
  34. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
  35. package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
  36. package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
  37. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
  38. package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
  39. package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
  40. package/dist/_dts/api/src/sdk-event-upsert.d.ts +40 -1
  41. package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
  42. package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
  43. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
  44. package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
  45. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
  46. package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
  47. package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
  48. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
  49. package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
  50. package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
  51. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +4 -38
  52. package/dist/_dts/api/src/siteOnboarding.d.ts +75 -9
  53. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
  54. package/dist/_dts/api/src/types.d.ts +8 -1
  55. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
  56. package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
  57. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  58. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -0
  59. package/dist/_dts/blocks/src/index.d.ts +3 -1
  60. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +10 -0
  61. package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
  62. package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
  63. package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
  64. package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
  65. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -1
  66. package/dist/_dts/blocks/src/server.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
  68. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
  69. package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
  70. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
  71. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
  72. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
  74. package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
  75. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
  76. package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
  77. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
  78. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
  79. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
  80. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
  81. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
  82. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
  83. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
  84. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
  85. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +2 -1
  86. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +23 -7
  87. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +36 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
  90. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
  91. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
  93. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  94. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -1
  95. package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
  96. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  97. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  98. package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
  99. package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
  100. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -3
  101. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  102. package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
  103. package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
  104. package/dist/_dts/core/src/editor-state.d.ts +2 -1
  105. package/dist/_dts/core/src/index.d.ts +2 -0
  106. package/dist/_dts/core/src/mailing-list-submission.d.ts +3 -1
  107. package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
  108. package/dist/_dts/core/src/public-profile.d.ts +12 -1
  109. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +711 -242
  110. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
  111. package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
  112. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -2
  113. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  114. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
  115. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
  116. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
  117. package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
  118. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
  119. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -3
  120. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
  121. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  122. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
  123. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -1
  124. package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
  125. package/dist/_dts/sdk/src/client/types.d.ts +1 -1
  126. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  127. package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
  128. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
  129. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
  130. package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
  131. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -8
  132. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +4 -4
  133. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -4
  134. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +7 -2
  135. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
  136. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
  137. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
  138. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +6 -2
  139. package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
  140. package/dist/_dts/sdk/src/version.d.ts +1 -1
  141. package/dist/_dts/surfaces/src/index.d.ts +10 -0
  142. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  143. package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
  144. package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
  145. package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
  146. package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
  147. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
  148. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
  149. package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
  150. package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
  151. package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
  152. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
  153. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
  154. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
  155. package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
  156. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
  157. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
  158. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
  159. package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
  160. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
  161. package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
  162. package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
  163. package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
  164. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
  165. package/dist/client/{BookingConsentAgreement-DoAILrkN.mjs → BookingConsentAgreement-BQKL045f.mjs} +2 -2
  166. package/dist/client/CheckboxChoice--W2n6yKs.mjs +24 -0
  167. package/dist/client/{DiscountCodeDisclosure-X528hUTf.mjs → DiscountCodeDisclosure-CsOtjFY7.mjs} +1 -1
  168. package/dist/client/{EventCombined.client-DSBVwq5m.mjs → EventCombined.client-BdRjVbhH.mjs} +6 -6
  169. package/dist/client/{EventListing.client-DmFAX7Vb.mjs → EventListing.client-DBxC6xOU.mjs} +2 -2
  170. package/dist/client/{LeafletStaticMap-BAqXdfhq.mjs → LeafletStaticMap-mHEJKrTs.mjs} +1 -1
  171. package/dist/client/{ThemedButton-BwNFVwi4.mjs → ThemedButton-CE5KYT6z.mjs} +1 -1
  172. package/dist/client/{accordion-DRhMdkbd.mjs → accordion-BEQNSptH.mjs} +1 -1
  173. package/dist/client/{bookingForm-iJ_nCsNF.mjs → bookingForm-AMr-s5vw.mjs} +168 -95
  174. package/dist/client/bookings.mjs +239 -110
  175. package/dist/client/{carousel-D8zuffZr.mjs → carousel-Bbt_QgJy.mjs} +1 -1
  176. package/dist/client/{cart-DeMGJViN.mjs → cart-CnWi30zJ.mjs} +3 -3
  177. package/dist/client/{checkout-DXc06Km2.mjs → checkout-f3nkWgd4.mjs} +3 -3
  178. package/dist/client/client.mjs +3222 -1612
  179. package/dist/client/{context-CDLCfDep.mjs → context-Bc8T6pCe.mjs} +1 -1
  180. package/dist/client/{dates-ClFx7Epy.mjs → dates-DUsCEzLb.mjs} +2 -3
  181. package/dist/client/{eventCalendar-BaGpnOGN.mjs → eventCalendar-CKwgXui5.mjs} +9 -9
  182. package/dist/client/{eventCombined-ywONOx2m.mjs → eventCombined-CBAOSTGR.mjs} +4 -4
  183. package/dist/client/{eventDetails-B2LlOTYY.mjs → eventDetails-Dh-_WiBD.mjs} +4 -4
  184. package/dist/client/{eventListing-CMgxWpqP.mjs → eventListing-CA3frIH5.mjs} +4 -4
  185. package/dist/client/{eventRegistration-BarLDNHR.mjs → eventRegistration-BHtsgdcg.mjs} +21 -22
  186. package/dist/client/{form-BjqKaBJ7.mjs → form-C2h3YAcg.mjs} +135 -104
  187. package/dist/client/{headerSection-CP4XDwz1.mjs → headerSection-lwMuMTH9.mjs} +3 -3
  188. package/dist/client/hooks.mjs +1023 -148
  189. package/dist/client/{locationMap-C5gW-d-w.mjs → locationMap-DJ2bLODV.mjs} +3 -3
  190. package/dist/client/{newsletterForm-afXlVSA0.mjs → newsletterForm-8Pu5K32g.mjs} +225 -102
  191. package/dist/client/{pricing-Bl1CAl28.mjs → pricing-HHx3IgBz.mjs} +1 -1
  192. package/dist/client/{productDetail-CvQ3jWQe.mjs → productDetail-C_1odnAf.mjs} +3 -3
  193. package/dist/client/{productList-U874PGO7.mjs → productList-CtCv-Nmx.mjs} +3 -3
  194. package/dist/client/{propsDecoder-DPXtCZWP.mjs → propsDecoder-Dcgsncxb.mjs} +111 -55
  195. package/dist/client/rendering/client.mjs +1389 -722
  196. package/dist/client/rendering/islands.mjs +17 -17
  197. package/dist/client/rendering.mjs +3136 -1400
  198. package/dist/client/{routeIslandApiConfig-NGYiUWXu.mjs → routeIslandApiConfig-CWLP7wu3.mjs} +1 -1
  199. package/dist/client/{scrollToBlock-0-C3DVhK.mjs → scrollToBlock-BNgaEUpo.mjs} +1 -1
  200. package/dist/client/{shop-BXjXhM9P.mjs → shop-DQXrQ8kJ.mjs} +7 -7
  201. package/dist/client/{shop-commerce-BZ6UlWJ7.mjs → shop-commerce-B88zmWWo.mjs} +6 -6
  202. package/dist/client/{shop-commerce-store-DlSBXb3D.mjs → shop-commerce-store-DtSfkKuX.mjs} +1 -1
  203. package/dist/client/{shopShared-kkEOiLPA.mjs → shopShared-cuaONpkJ.mjs} +4 -4
  204. package/dist/client/{useEventFilters-zvnnE1ro.mjs → useEventFilters-Bukew6Gb.mjs} +6 -6
  205. package/dist/preview-next/before-render.mjs +500 -165
  206. package/dist/preview-next/client/runtime.mjs +4 -4
  207. package/dist/preview-next/editor-base.css +11 -0
  208. package/dist/preview-next/keepAlive.mjs +460 -165
  209. package/dist/preview-next/middleware.mjs +461 -165
  210. package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-h5IgbSp4.mjs} +485 -165
  211. package/dist/{sdk-runtime-DFJlQt3q.mjs → sdk-runtime-DTc1uIXn.mjs} +2 -2
  212. package/dist/{separator-o8GHb1xh.mjs → separator-BpHS1KZK.mjs} +1 -1
  213. package/dist/server/components.mjs +3088 -1307
  214. package/dist/server/config-validation.mjs +927 -109
  215. package/dist/server/config.mjs +927 -109
  216. package/dist/server/data.mjs +939 -110
  217. package/dist/server/index.mjs +513 -169
  218. package/dist/server/next.mjs +2874 -1195
  219. package/dist/server/page-converter.mjs +420 -79
  220. package/dist/server/prebuild.mjs +1 -1
  221. package/dist/server/rendering/server.mjs +3071 -1289
  222. package/dist/server/rendering.mjs +3169 -1350
  223. package/dist/server/routing.mjs +1085 -159
  224. package/dist/server/server.mjs +1042 -291
  225. package/dist/server/theme-bridge.mjs +1658 -137
  226. package/dist/server/theme.mjs +6 -4
  227. package/dist/styles/index.css +186 -65
  228. package/package.json +2 -1
@@ -1,3 +1,4 @@
1
+ import { z } from "zod";
1
2
  import * as fs from "fs";
2
3
  import * as path from "path";
3
4
  import * as crypto$1 from "crypto";
@@ -18,6 +19,75 @@ function encodePublicProductCategorySelector(selector) {
18
19
  }
19
20
  }
20
21
  //#endregion
22
+ //#region ../api/src/defineEndpointDefinitions.ts
23
+ /**
24
+ * Validates extracted endpoint descriptors while preserving each literal path,
25
+ * method, and parameter contract for the typed URL builders.
26
+ */
27
+ function defineEndpointDefinitions(definitions) {
28
+ return definitions;
29
+ }
30
+ //#endregion
31
+ //#region ../api/src/publicNewsletterEndpointDefinitions.ts
32
+ const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
33
+ subscribeNewsletter: {
34
+ path: "/public/sites/{siteId}/newsletter/subscribe",
35
+ method: "POST",
36
+ tags: ["public-newsletter-{siteId}"],
37
+ auth: "public",
38
+ responseKind: "json"
39
+ },
40
+ confirmNewsletter: {
41
+ path: "/public/sites/{siteId}/newsletter/confirm/{token}",
42
+ method: "GET",
43
+ tags: ["public-newsletter-{siteId}"],
44
+ auth: "public",
45
+ responseKind: "text"
46
+ },
47
+ unsubscribeNewsletter: {
48
+ path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
49
+ method: "GET",
50
+ tags: ["public-newsletter-{siteId}"],
51
+ auth: "public",
52
+ responseKind: "text"
53
+ },
54
+ unsubscribeNewsletterPost: {
55
+ path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
56
+ method: "POST",
57
+ tags: ["public-newsletter-{siteId}"],
58
+ auth: "public",
59
+ responseKind: "text"
60
+ },
61
+ confirmNewsletterPost: {
62
+ path: "/public/sites/{siteId}/newsletter/confirm/{token}",
63
+ method: "POST",
64
+ tags: ["public-newsletter-{siteId}"],
65
+ auth: "public",
66
+ responseKind: "text"
67
+ },
68
+ getNewsletterPreferences: {
69
+ path: "/public/sites/{siteId}/newsletter/preferences/{token}",
70
+ method: "GET",
71
+ tags: ["public-newsletter-{siteId}"],
72
+ auth: "public",
73
+ responseKind: "text"
74
+ },
75
+ saveNewsletterPreferences: {
76
+ path: "/public/sites/{siteId}/newsletter/preferences/{token}",
77
+ method: "POST",
78
+ tags: ["public-newsletter-{siteId}"],
79
+ auth: "public",
80
+ responseKind: "text"
81
+ },
82
+ getNewsletterArchive: {
83
+ path: "/public/sites/{siteId}/newsletter/archive/{token}",
84
+ method: "GET",
85
+ tags: ["public-newsletter-{siteId}"],
86
+ auth: "public",
87
+ responseKind: "text"
88
+ }
89
+ });
90
+ //#endregion
21
91
  //#region ../api/src/apiEndpointTypes.ts
22
92
  function allowedDemoMutationPolicy() {
23
93
  return {
@@ -109,17 +179,85 @@ const SDK_ENTRY_READ_ENDPOINTS = {
109
179
  }
110
180
  };
111
181
  //#endregion
112
- //#region ../api/src/defineEndpointDefinitions.ts
113
- /**
114
- * Validates extracted endpoint descriptors while preserving each literal path,
115
- * method, and parameter contract for the typed URL builders.
116
- */
117
- function defineEndpointDefinitions(definitions) {
118
- return definitions;
119
- }
120
- //#endregion
121
182
  //#region ../api/src/appointmentEndpointDefinitions.ts
122
183
  const APPOINTMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
184
+ ...defineEndpointDefinitions({
185
+ listGroupedAppointmentServices: {
186
+ path: "/sites/{siteId}/bookings/services/grouped",
187
+ method: "GET",
188
+ auth: "user",
189
+ responseKind: "json",
190
+ errors: ["server:internal_error"]
191
+ },
192
+ reorderAppointmentServices: {
193
+ path: "/sites/{siteId}/bookings/services/order",
194
+ method: "PUT",
195
+ auth: "user",
196
+ responseKind: "json",
197
+ errors: [
198
+ "validation:invalid_input",
199
+ "auth:forbidden",
200
+ "resource:not_found",
201
+ "resource:conflict",
202
+ "server:internal_error"
203
+ ]
204
+ },
205
+ listAppointmentServiceCategories: {
206
+ path: "/sites/{siteId}/bookings/service-categories",
207
+ method: "GET",
208
+ auth: "user",
209
+ responseKind: "json",
210
+ errors: ["server:internal_error"]
211
+ },
212
+ createAppointmentServiceCategory: {
213
+ path: "/sites/{siteId}/bookings/service-categories",
214
+ method: "POST",
215
+ auth: "user",
216
+ responseKind: "json",
217
+ errors: [
218
+ "validation:invalid_input",
219
+ "auth:forbidden",
220
+ "resource:conflict",
221
+ "server:internal_error"
222
+ ]
223
+ },
224
+ updateAppointmentServiceCategory: {
225
+ path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
226
+ method: "PUT",
227
+ auth: "user",
228
+ responseKind: "json",
229
+ errors: [
230
+ "validation:invalid_input",
231
+ "auth:forbidden",
232
+ "resource:not_found",
233
+ "resource:conflict",
234
+ "server:internal_error"
235
+ ]
236
+ },
237
+ deleteAppointmentServiceCategory: {
238
+ path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
239
+ method: "DELETE",
240
+ auth: "user",
241
+ responseKind: "json",
242
+ errors: [
243
+ "auth:forbidden",
244
+ "resource:not_found",
245
+ "server:internal_error"
246
+ ]
247
+ },
248
+ reorderAppointmentServiceCategories: {
249
+ path: "/sites/{siteId}/bookings/service-categories/order",
250
+ method: "PUT",
251
+ auth: "user",
252
+ responseKind: "json",
253
+ errors: [
254
+ "validation:invalid_input",
255
+ "auth:forbidden",
256
+ "resource:conflict",
257
+ "server:internal_error"
258
+ ]
259
+ }
260
+ }),
123
261
  listAppointmentResources: {
124
262
  path: "/sites/{siteId}/bookings/resources",
125
263
  method: "GET",
@@ -830,6 +968,13 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
830
968
  errors: [],
831
969
  responseKind: "blob"
832
970
  },
971
+ exportEventOfferingRegistrationsCsv: {
972
+ path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}/registrations/export.csv",
973
+ method: "GET",
974
+ auth: "user",
975
+ errors: [],
976
+ responseKind: "blob"
977
+ },
833
978
  updateEventSeriesRegistration: {
834
979
  path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
835
980
  method: "PATCH",
@@ -840,6 +985,19 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
840
985
  "resource:not_found",
841
986
  "server:internal_error"
842
987
  ]
988
+ },
989
+ saveEventSeriesRegistrationAnswers: {
990
+ path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}/answers",
991
+ method: "PUT",
992
+ auth: "user",
993
+ responseKind: "json",
994
+ errors: [
995
+ "validation:invalid_input",
996
+ "auth:forbidden",
997
+ "resource:not_found",
998
+ "resource:conflict",
999
+ "server:internal_error"
1000
+ ]
843
1001
  }
844
1002
  });
845
1003
  //#endregion
@@ -1260,46 +1418,185 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1260
1418
  responseKind: "json",
1261
1419
  demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1262
1420
  },
1263
- testSendNewsletterCampaign: {
1264
- path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
1421
+ scheduleNewsletterCampaign: {
1422
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/schedule",
1265
1423
  method: "POST",
1266
1424
  tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1267
1425
  auth: "user",
1268
1426
  responseKind: "json",
1269
1427
  demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1270
1428
  },
1271
- listNewsletterSendJobs: {
1272
- path: "/sites/{siteId}/newsletter/jobs",
1273
- method: "GET",
1429
+ unscheduleNewsletterCampaign: {
1430
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/unschedule",
1431
+ method: "POST",
1274
1432
  tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1275
1433
  auth: "user",
1434
+ responseKind: "json",
1435
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1436
+ },
1437
+ stopNewsletterCampaign: {
1438
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/stop",
1439
+ method: "POST",
1440
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1441
+ auth: "user",
1442
+ responseKind: "json",
1443
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1444
+ },
1445
+ testSendNewsletterCampaign: {
1446
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
1447
+ method: "POST",
1448
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1449
+ auth: "user",
1450
+ responseKind: "json",
1451
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1452
+ }
1453
+ });
1454
+ //#endregion
1455
+ //#region ../api/src/sdkEventEndpointDefinitions.ts
1456
+ /**
1457
+ * The SDK's Event graph: the Events themselves and the occurrences of one run.
1458
+ * Extracted from `endpoints.ts` so this family can be read, and added to, on
1459
+ * its own. New entries here must declare `errors`; the
1460
+ * require-api-endpoint-errors lint enforces that here as in endpoints.ts.
1461
+ */
1462
+ const SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1463
+ sdkListEvents: {
1464
+ path: "/sdk/{siteId}/events",
1465
+ method: "GET",
1466
+ auth: "service",
1276
1467
  responseKind: "json"
1277
1468
  },
1278
- retryNewsletterSendJob: {
1279
- path: "/sites/{siteId}/newsletter/jobs/{jobId}/retry",
1469
+ sdkUpsertEvent: {
1470
+ path: "/sdk/{siteId}/events",
1280
1471
  method: "POST",
1472
+ auth: "service",
1473
+ responseKind: "json",
1281
1474
  errors: [
1282
1475
  "validation:invalid_input",
1283
1476
  "resource:not_found",
1284
- "auth:forbidden",
1477
+ "resource:conflict",
1478
+ "billing:plan_limit_exceeded",
1285
1479
  "server:internal_error"
1286
- ],
1287
- tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1288
- auth: "user",
1480
+ ]
1481
+ },
1482
+ sdkGetEvent: {
1483
+ path: "/sdk/{siteId}/events/{identifier}",
1484
+ method: "GET",
1485
+ auth: "service",
1289
1486
  responseKind: "json"
1290
1487
  },
1291
- cancelNewsletterSendJob: {
1292
- path: "/sites/{siteId}/newsletter/jobs/{jobId}/cancel",
1488
+ sdkDeleteEvent: {
1489
+ path: "/sdk/{siteId}/events/{identifier}",
1490
+ method: "DELETE",
1491
+ auth: "service",
1492
+ responseKind: "json",
1493
+ errors: [
1494
+ "resource:not_found",
1495
+ "resource:conflict",
1496
+ "server:internal_error"
1497
+ ]
1498
+ },
1499
+ sdkTakeEventOffline: {
1500
+ path: "/sdk/{siteId}/events/{identifier}/lifecycle",
1293
1501
  method: "POST",
1502
+ auth: "service",
1503
+ responseKind: "json",
1294
1504
  errors: [
1505
+ "resource:not_found",
1295
1506
  "validation:invalid_input",
1507
+ "resource:conflict",
1508
+ "server:internal_error"
1509
+ ]
1510
+ },
1511
+ sdkListEventOccurrences: {
1512
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
1513
+ method: "GET",
1514
+ auth: "service",
1515
+ responseKind: "json",
1516
+ errors: [
1296
1517
  "resource:not_found",
1297
- "auth:forbidden",
1518
+ "validation:invalid_input",
1298
1519
  "server:internal_error"
1299
- ],
1300
- tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1301
- auth: "user",
1302
- responseKind: "json"
1520
+ ]
1521
+ },
1522
+ sdkAddEventOccurrence: {
1523
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
1524
+ method: "POST",
1525
+ auth: "service",
1526
+ responseKind: "json",
1527
+ errors: [
1528
+ "resource:not_found",
1529
+ "validation:invalid_input",
1530
+ "resource:conflict",
1531
+ "server:internal_error"
1532
+ ]
1533
+ },
1534
+ sdkUpdateEventOccurrence: {
1535
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
1536
+ method: "PATCH",
1537
+ auth: "service",
1538
+ responseKind: "json",
1539
+ errors: [
1540
+ "resource:not_found",
1541
+ "validation:invalid_input",
1542
+ "resource:conflict",
1543
+ "server:internal_error"
1544
+ ]
1545
+ },
1546
+ sdkCancelEventOccurrence: {
1547
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel",
1548
+ method: "POST",
1549
+ auth: "service",
1550
+ responseKind: "json",
1551
+ errors: [
1552
+ "resource:not_found",
1553
+ "resource:conflict",
1554
+ "server:internal_error"
1555
+ ]
1556
+ },
1557
+ sdkDeleteEventOccurrence: {
1558
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
1559
+ method: "DELETE",
1560
+ auth: "service",
1561
+ responseKind: "json",
1562
+ errors: [
1563
+ "resource:not_found",
1564
+ "resource:conflict",
1565
+ "server:internal_error"
1566
+ ]
1567
+ }
1568
+ });
1569
+ //#endregion
1570
+ //#region ../api/src/sdkPageDesignEndpointDefinitions.ts
1571
+ /**
1572
+ * SDK management endpoints for a page's draft design (issue 1497), spread into
1573
+ * `ENDPOINT_DEFINITIONS` like the other endpoint-definition modules. New
1574
+ * entries here must declare `errors`, which the require-api-endpoint-errors
1575
+ * lint enforces.
1576
+ */
1577
+ const SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1578
+ sdkGetPageDesign: {
1579
+ path: "/sdk/{siteId}/pages/{identifier}/design",
1580
+ method: "GET",
1581
+ auth: "service",
1582
+ responseKind: "json",
1583
+ errors: [
1584
+ "resource:not_found",
1585
+ "validation:invalid_input",
1586
+ "server:internal_error"
1587
+ ]
1588
+ },
1589
+ sdkSavePageDesign: {
1590
+ path: "/sdk/{siteId}/pages/{identifier}/design",
1591
+ method: "POST",
1592
+ auth: "service",
1593
+ responseKind: "json",
1594
+ errors: [
1595
+ "resource:not_found",
1596
+ "validation:invalid_input",
1597
+ "resource:conflict",
1598
+ "server:internal_error"
1599
+ ]
1303
1600
  }
1304
1601
  });
1305
1602
  const PUBLIC_CONTENT_FRESHNESS_SECONDS = 3600;
@@ -1600,6 +1897,45 @@ const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1600
1897
  }
1601
1898
  });
1602
1899
  //#endregion
1900
+ //#region ../api/src/siteManagementEndpointDefinitions.ts
1901
+ const SITE_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1902
+ createSite: {
1903
+ path: "/sites/manage",
1904
+ method: "POST",
1905
+ tags: ["site"],
1906
+ auth: "user",
1907
+ responseKind: "json"
1908
+ },
1909
+ updateSite: {
1910
+ path: "/sites/manage",
1911
+ method: "PUT",
1912
+ tags: ["site"],
1913
+ auth: "user",
1914
+ responseKind: "json"
1915
+ },
1916
+ changeSiteAddress: {
1917
+ path: "/sites/{siteId}/address",
1918
+ method: "PUT",
1919
+ auth: "user",
1920
+ responseKind: "json",
1921
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
1922
+ },
1923
+ getSiteAddressAvailability: {
1924
+ path: "/sites/{siteId}/address/availability",
1925
+ method: "GET",
1926
+ auth: "user",
1927
+ responseKind: "json"
1928
+ },
1929
+ deleteSite: {
1930
+ path: "/sites/{siteId}",
1931
+ method: "DELETE",
1932
+ tags: ["site", "site-{siteId}"],
1933
+ auth: "user",
1934
+ responseKind: "json",
1935
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1936
+ }
1937
+ });
1938
+ //#endregion
1603
1939
  //#region ../api/src/eventManagementEndpointDefinitions.ts
1604
1940
  const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1605
1941
  listEvents: {
@@ -1647,6 +1983,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1647
1983
  "server:internal_error"
1648
1984
  ]
1649
1985
  },
1986
+ /**
1987
+ * The web address of an event's own page. A course page belongs to the
1988
+ * event itself, so its address is written here rather than through a run.
1989
+ */
1990
+ updateEventAddress: {
1991
+ path: "/sites/{siteId}/bookings/events/{eventId}/address",
1992
+ method: "PATCH",
1993
+ tags: [
1994
+ "site-{siteId}",
1995
+ "event-series-{siteId}",
1996
+ TAG_TEMPLATES.siteRoutableContent,
1997
+ TAG_TEMPLATES.siteRedirects
1998
+ ],
1999
+ auth: "user",
2000
+ responseKind: "json",
2001
+ errors: [
2002
+ "validation:invalid_input",
2003
+ "resource:not_found",
2004
+ "resource:conflict",
2005
+ "server:internal_error"
2006
+ ]
2007
+ },
1650
2008
  createWholeSeriesRun: {
1651
2009
  path: "/sites/{siteId}/bookings/events/{eventId}/runs",
1652
2010
  method: "POST",
@@ -1673,6 +2031,20 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1673
2031
  "server:internal_error"
1674
2032
  ]
1675
2033
  },
2034
+ updateCourseBookingSettings: {
2035
+ path: "/sites/{siteId}/bookings/events/{eventId}/booking-settings",
2036
+ method: "PATCH",
2037
+ tags: ["site-{siteId}", "event-series-{siteId}"],
2038
+ auth: "user",
2039
+ responseKind: "json",
2040
+ errors: [
2041
+ "validation:invalid_input",
2042
+ "auth:forbidden",
2043
+ "resource:not_found",
2044
+ "resource:conflict",
2045
+ "server:internal_error"
2046
+ ]
2047
+ },
1676
2048
  cancelWholeSeriesRun: {
1677
2049
  path: "/sites/{siteId}/bookings/events/{eventId}/runs/{runId}/cancellation",
1678
2050
  method: "POST",
@@ -1685,6 +2057,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1685
2057
  "resource:conflict",
1686
2058
  "server:internal_error"
1687
2059
  ]
2060
+ },
2061
+ /**
2062
+ * The Content tab's one write: the short introduction, image and
2063
+ * description of an event's page, published without its layout.
2064
+ */
2065
+ saveEventPageWords: {
2066
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
2067
+ method: "PUT",
2068
+ tags: [
2069
+ TAG_TEMPLATES.siteCollection,
2070
+ TAG_TEMPLATES.siteRoutableContent,
2071
+ TAG_TEMPLATES.pageSurfaceById
2072
+ ],
2073
+ auth: "user",
2074
+ responseKind: "json",
2075
+ errors: [
2076
+ "auth:forbidden",
2077
+ "validation:invalid_input",
2078
+ "resource:not_found",
2079
+ "resource:conflict",
2080
+ "server:internal_error"
2081
+ ]
1688
2082
  }
1689
2083
  });
1690
2084
  //#endregion
@@ -2117,13 +2511,51 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
2117
2511
  responseKind: "json"
2118
2512
  }
2119
2513
  });
2514
+ //#endregion
2515
+ //#region ../api/src/clientErrorReporting.ts
2516
+ const CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ reportClientError: {
2517
+ path: "/client/error-report",
2518
+ method: "POST",
2519
+ auth: "user",
2520
+ errors: [],
2521
+ responseKind: "json"
2522
+ } });
2523
+ const CLIENT_ERROR_REPORT_LIMITS = {
2524
+ pathname: 1024,
2525
+ name: 120,
2526
+ message: 2e3,
2527
+ stack: 8e3,
2528
+ digest: 128,
2529
+ componentStack: 8e3,
2530
+ sourceLocation: 1024
2531
+ };
2532
+ const clientErrorEventSchema = z.enum([
2533
+ "dashboard:route-error",
2534
+ "dashboard:app-error",
2535
+ "client:error-boundary",
2536
+ "client:window-error",
2537
+ "client:unhandled-rejection"
2538
+ ]);
2539
+ z.object({
2540
+ event: clientErrorEventSchema,
2541
+ pathname: z.string().startsWith("/").max(CLIENT_ERROR_REPORT_LIMITS.pathname),
2542
+ name: z.string().max(CLIENT_ERROR_REPORT_LIMITS.name),
2543
+ message: z.string().max(CLIENT_ERROR_REPORT_LIMITS.message),
2544
+ stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
2545
+ digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
2546
+ componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
2547
+ sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
2548
+ }).strict();
2120
2549
  const API_ENDPOINTS$1 = {
2550
+ ...CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS,
2551
+ ...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
2121
2552
  ...ACCOUNT_ENDPOINT_DEFINITIONS,
2122
2553
  ...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
2123
2554
  ...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
2124
2555
  ...GIFTING_ENDPOINT_DEFINITIONS,
2125
2556
  ...PUBLIC_READ_ENDPOINT_DEFINITIONS,
2126
2557
  ...BILLING_ENDPOINT_DEFINITIONS,
2558
+ ...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS,
2127
2559
  aiContentUpdateChat: {
2128
2560
  path: "/ai/content-update-chat",
2129
2561
  method: "POST",
@@ -2650,13 +3082,6 @@ const API_ENDPOINTS$1 = {
2650
3082
  auth: "user",
2651
3083
  responseKind: "json"
2652
3084
  },
2653
- createSite: {
2654
- path: "/sites/manage",
2655
- method: "POST",
2656
- tags: ["site"],
2657
- auth: "user",
2658
- responseKind: "json"
2659
- },
2660
3085
  createSiteManual: {
2661
3086
  path: "/sites/manual",
2662
3087
  method: "POST",
@@ -2664,21 +3089,6 @@ const API_ENDPOINTS$1 = {
2664
3089
  auth: "user",
2665
3090
  responseKind: "json"
2666
3091
  },
2667
- updateSite: {
2668
- path: "/sites/manage",
2669
- method: "PUT",
2670
- tags: ["site"],
2671
- auth: "user",
2672
- responseKind: "json"
2673
- },
2674
- deleteSite: {
2675
- path: "/sites/{siteId}",
2676
- method: "DELETE",
2677
- tags: ["site", "site-{siteId}"],
2678
- auth: "user",
2679
- responseKind: "json",
2680
- demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
2681
- },
2682
3092
  listSiteMembers: {
2683
3093
  path: "/sites/{siteId}/members",
2684
3094
  method: "GET",
@@ -5252,41 +5662,6 @@ const API_ENDPOINTS$1 = {
5252
5662
  "server:internal_error"
5253
5663
  ]
5254
5664
  },
5255
- subscribeNewsletter: {
5256
- path: "/public/sites/{siteId}/newsletter/subscribe",
5257
- method: "POST",
5258
- tags: ["public-newsletter-{siteId}"],
5259
- auth: "public",
5260
- responseKind: "json"
5261
- },
5262
- confirmNewsletter: {
5263
- path: "/public/sites/{siteId}/newsletter/confirm/{token}",
5264
- method: "GET",
5265
- tags: ["public-newsletter-{siteId}"],
5266
- auth: "public",
5267
- responseKind: "text"
5268
- },
5269
- unsubscribeNewsletter: {
5270
- path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
5271
- method: "GET",
5272
- tags: ["public-newsletter-{siteId}"],
5273
- auth: "public",
5274
- responseKind: "text"
5275
- },
5276
- unsubscribeNewsletterPost: {
5277
- path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
5278
- method: "POST",
5279
- tags: ["public-newsletter-{siteId}"],
5280
- auth: "public",
5281
- responseKind: "text"
5282
- },
5283
- getNewsletterArchive: {
5284
- path: "/public/sites/{siteId}/newsletter/archive/{token}",
5285
- method: "GET",
5286
- tags: ["public-newsletter-{siteId}"],
5287
- auth: "public",
5288
- responseKind: "text"
5289
- },
5290
5665
  listSiteContentTypes: {
5291
5666
  path: "/sites/{siteId}/content-types",
5292
5667
  method: "GET",
@@ -6946,6 +7321,7 @@ const API_ENDPOINTS$1 = {
6946
7321
  auth: "service",
6947
7322
  responseKind: "json"
6948
7323
  },
7324
+ ...SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS,
6949
7325
  sdkUpsertPageBlock: {
6950
7326
  path: "/sdk/{siteId}/pages/{identifier}/blocks",
6951
7327
  method: "POST",
@@ -7068,87 +7444,7 @@ const API_ENDPOINTS$1 = {
7068
7444
  auth: "service",
7069
7445
  responseKind: "json"
7070
7446
  },
7071
- sdkListEvents: {
7072
- path: "/sdk/{siteId}/events",
7073
- method: "GET",
7074
- auth: "service",
7075
- responseKind: "json"
7076
- },
7077
- sdkUpsertEvent: {
7078
- path: "/sdk/{siteId}/events",
7079
- method: "POST",
7080
- auth: "service",
7081
- responseKind: "json"
7082
- },
7083
- sdkGetEvent: {
7084
- path: "/sdk/{siteId}/events/{identifier}",
7085
- method: "GET",
7086
- auth: "service",
7087
- responseKind: "json"
7088
- },
7089
- sdkDeleteEvent: {
7090
- path: "/sdk/{siteId}/events/{identifier}",
7091
- method: "DELETE",
7092
- auth: "service",
7093
- responseKind: "json"
7094
- },
7095
- sdkListEventOccurrences: {
7096
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
7097
- method: "GET",
7098
- auth: "service",
7099
- responseKind: "json",
7100
- errors: [
7101
- "resource:not_found",
7102
- "validation:invalid_input",
7103
- "server:internal_error"
7104
- ]
7105
- },
7106
- sdkAddEventOccurrence: {
7107
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
7108
- method: "POST",
7109
- auth: "service",
7110
- responseKind: "json",
7111
- errors: [
7112
- "resource:not_found",
7113
- "validation:invalid_input",
7114
- "resource:conflict",
7115
- "server:internal_error"
7116
- ]
7117
- },
7118
- sdkUpdateEventOccurrence: {
7119
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
7120
- method: "PATCH",
7121
- auth: "service",
7122
- responseKind: "json",
7123
- errors: [
7124
- "resource:not_found",
7125
- "validation:invalid_input",
7126
- "resource:conflict",
7127
- "server:internal_error"
7128
- ]
7129
- },
7130
- sdkCancelEventOccurrence: {
7131
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel",
7132
- method: "POST",
7133
- auth: "service",
7134
- responseKind: "json",
7135
- errors: [
7136
- "resource:not_found",
7137
- "resource:conflict",
7138
- "server:internal_error"
7139
- ]
7140
- },
7141
- sdkDeleteEventOccurrence: {
7142
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
7143
- method: "DELETE",
7144
- auth: "service",
7145
- responseKind: "json",
7146
- errors: [
7147
- "resource:not_found",
7148
- "resource:conflict",
7149
- "server:internal_error"
7150
- ]
7151
- },
7447
+ ...SDK_EVENT_ENDPOINT_DEFINITIONS,
7152
7448
  sdkUpsertEntry: {
7153
7449
  path: "/sdk/{siteId}/entries",
7154
7450
  method: "POST",
@@ -7642,6 +7938,46 @@ const API_ENDPOINTS$1 = {
7642
7938
  //#region ../surfaces/src/index.ts
7643
7939
  const SURFACE_IDS = ["core", "macadamia"];
7644
7940
  const DEFAULT_SURFACE_ID = "core";
7941
+ /**
7942
+ * Root hosts for each surface, keyed by deployment tier. The tier-keyed shape
7943
+ * makes it impossible to mis-order entries: callers like
7944
+ * `buildSurfaceAwareDashboardOriginForSurfaceId` look up by tier directly
7945
+ * rather than relying on positional alignment between arrays.
7946
+ */
7947
+ const SURFACE_ROOT_HOSTS = {
7948
+ core: {
7949
+ local: "localhost",
7950
+ prod: "riverbankcms.com"
7951
+ },
7952
+ macadamia: {
7953
+ local: "macadamia.localhost",
7954
+ prod: "macadamia.studio"
7955
+ }
7956
+ };
7957
+ const SURFACE_SITE_ROOT_HOSTS = {
7958
+ core: {
7959
+ local: "localhost",
7960
+ prod: "riverbanksites.com"
7961
+ },
7962
+ macadamia: {
7963
+ local: "macadamia.localhost",
7964
+ prod: "macadamia.studio"
7965
+ }
7966
+ };
7967
+ const SURFACE_SITE_ROOT_HOST_ALIASES = { core: { prod: ["preview.riverbanksites.com"] } };
7968
+ function surfaceHostTableValues(table) {
7969
+ return Object.values(table).flatMap((byTier) => Object.values(byTier).flat());
7970
+ }
7971
+ function siteSlugLabelUnderRoot(host, siteRootHost) {
7972
+ if (!host.endsWith(`.${siteRootHost}`)) return [];
7973
+ return host.slice(0, host.length - siteRootHost.length - 1).split(".").slice(-1);
7974
+ }
7975
+ function deriveSurfaceOwnedSiteSlugs() {
7976
+ const siteRootHosts = [...surfaceHostTableValues(SURFACE_SITE_ROOT_HOSTS), ...surfaceHostTableValues(SURFACE_SITE_ROOT_HOST_ALIASES)];
7977
+ const labels = [...surfaceHostTableValues(SURFACE_ROOT_HOSTS), ...siteRootHosts].flatMap((host) => siteRootHosts.flatMap((root) => siteSlugLabelUnderRoot(host, root)));
7978
+ return [...new Set(labels)].sort();
7979
+ }
7980
+ deriveSurfaceOwnedSiteSlugs();
7645
7981
  [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
7646
7982
  //#endregion
7647
7983
  //#region ../api/src/url.ts
@@ -8254,7 +8590,7 @@ var SimpleCache = class {
8254
8590
  * 1. This constant
8255
8591
  * 2. The "version" field in package.json
8256
8592
  */
8257
- const SDK_VERSION = "0.144.0";
8593
+ const SDK_VERSION = "0.146.0";
8258
8594
  //#endregion
8259
8595
  //#region src/client/error.ts
8260
8596
  let _Symbol$for;
@@ -8684,7 +9020,15 @@ function buildEndpointURL(baseURL, endpoint) {
8684
9020
  }
8685
9021
  //#endregion
8686
9022
  //#region src/client/runtimeCacheKeys.ts
8687
- const DEFAULT_PUBLISHED_RUNTIME_CACHE_PAYLOAD_SCHEMA_VERSION = 1;
9023
+ /**
9024
+ * Bump when a cached payload's shape changes incompatibly, so readers skip
9025
+ * entries written in the old shape until publish or a live success rewrites
9026
+ * them.
9027
+ *
9028
+ * - 2: pages carry intent-only `runtimeJoins` in place of compiled
9029
+ * `runtimeBoundaries` (issue 1422).
9030
+ */
9031
+ const DEFAULT_PUBLISHED_RUNTIME_CACHE_PAYLOAD_SCHEMA_VERSION = 2;
8688
9032
  function toNonEmptyString(value) {
8689
9033
  if (value === null || value === void 0) return null;
8690
9034
  if (typeof value !== "string" && typeof value !== "number" && typeof value !== "boolean") return null;
@@ -9907,7 +10251,7 @@ function createRiverbankClientWithDeps(deps, config) {
9907
10251
  const result = await reader({
9908
10252
  cacheKey: plan.cacheKey,
9909
10253
  endpoint: plan.endpoint,
9910
- payloadSchemaVersion: 1
10254
+ payloadSchemaVersion: 2
9911
10255
  });
9912
10256
  if (result.kind === "miss") return {
9913
10257
  kind: "miss",
@@ -9956,7 +10300,7 @@ function createRiverbankClientWithDeps(deps, config) {
9956
10300
  siteId: plan.siteId ?? getRuntimePayloadSiteId(payload),
9957
10301
  freshTtlSec: plan.freshTtlSec,
9958
10302
  staleTtlSec: plan.staleTtlSec,
9959
- payloadSchemaVersion: 1,
10303
+ payloadSchemaVersion: 2,
9960
10304
  writeReason: "live_success"
9961
10305
  });
9962
10306
  } catch {}