@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
@@ -6,6 +6,46 @@ import { jsx } from "react/jsx-runtime";
6
6
  //#region ../surfaces/src/index.ts
7
7
  const SURFACE_IDS = ["core", "macadamia"];
8
8
  const DEFAULT_SURFACE_ID = "core";
9
+ /**
10
+ * Root hosts for each surface, keyed by deployment tier. The tier-keyed shape
11
+ * makes it impossible to mis-order entries: callers like
12
+ * `buildSurfaceAwareDashboardOriginForSurfaceId` look up by tier directly
13
+ * rather than relying on positional alignment between arrays.
14
+ */
15
+ const SURFACE_ROOT_HOSTS = {
16
+ core: {
17
+ local: "localhost",
18
+ prod: "riverbankcms.com"
19
+ },
20
+ macadamia: {
21
+ local: "macadamia.localhost",
22
+ prod: "macadamia.studio"
23
+ }
24
+ };
25
+ const SURFACE_SITE_ROOT_HOSTS = {
26
+ core: {
27
+ local: "localhost",
28
+ prod: "riverbanksites.com"
29
+ },
30
+ macadamia: {
31
+ local: "macadamia.localhost",
32
+ prod: "macadamia.studio"
33
+ }
34
+ };
35
+ const SURFACE_SITE_ROOT_HOST_ALIASES = { core: { prod: ["preview.riverbanksites.com"] } };
36
+ function surfaceHostTableValues(table) {
37
+ return Object.values(table).flatMap((byTier) => Object.values(byTier).flat());
38
+ }
39
+ function siteSlugLabelUnderRoot(host, siteRootHost) {
40
+ if (!host.endsWith(`.${siteRootHost}`)) return [];
41
+ return host.slice(0, host.length - siteRootHost.length - 1).split(".").slice(-1);
42
+ }
43
+ function deriveSurfaceOwnedSiteSlugs() {
44
+ const siteRootHosts = [...surfaceHostTableValues(SURFACE_SITE_ROOT_HOSTS), ...surfaceHostTableValues(SURFACE_SITE_ROOT_HOST_ALIASES)];
45
+ const labels = [...surfaceHostTableValues(SURFACE_ROOT_HOSTS), ...siteRootHosts].flatMap((host) => siteRootHosts.flatMap((root) => siteSlugLabelUnderRoot(host, root)));
46
+ return [...new Set(labels)].sort();
47
+ }
48
+ deriveSurfaceOwnedSiteSlugs();
9
49
  [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
10
50
  //#endregion
11
51
  //#region ../preview-next/src/auth-contract.ts
@@ -29,6 +69,75 @@ function resolvePreviewRuntimeSession(input) {
29
69
  };
30
70
  }
31
71
  //#endregion
72
+ //#region ../api/src/defineEndpointDefinitions.ts
73
+ /**
74
+ * Validates extracted endpoint descriptors while preserving each literal path,
75
+ * method, and parameter contract for the typed URL builders.
76
+ */
77
+ function defineEndpointDefinitions(definitions) {
78
+ return definitions;
79
+ }
80
+ //#endregion
81
+ //#region ../api/src/publicNewsletterEndpointDefinitions.ts
82
+ const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
83
+ subscribeNewsletter: {
84
+ path: "/public/sites/{siteId}/newsletter/subscribe",
85
+ method: "POST",
86
+ tags: ["public-newsletter-{siteId}"],
87
+ auth: "public",
88
+ responseKind: "json"
89
+ },
90
+ confirmNewsletter: {
91
+ path: "/public/sites/{siteId}/newsletter/confirm/{token}",
92
+ method: "GET",
93
+ tags: ["public-newsletter-{siteId}"],
94
+ auth: "public",
95
+ responseKind: "text"
96
+ },
97
+ unsubscribeNewsletter: {
98
+ path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
99
+ method: "GET",
100
+ tags: ["public-newsletter-{siteId}"],
101
+ auth: "public",
102
+ responseKind: "text"
103
+ },
104
+ unsubscribeNewsletterPost: {
105
+ path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
106
+ method: "POST",
107
+ tags: ["public-newsletter-{siteId}"],
108
+ auth: "public",
109
+ responseKind: "text"
110
+ },
111
+ confirmNewsletterPost: {
112
+ path: "/public/sites/{siteId}/newsletter/confirm/{token}",
113
+ method: "POST",
114
+ tags: ["public-newsletter-{siteId}"],
115
+ auth: "public",
116
+ responseKind: "text"
117
+ },
118
+ getNewsletterPreferences: {
119
+ path: "/public/sites/{siteId}/newsletter/preferences/{token}",
120
+ method: "GET",
121
+ tags: ["public-newsletter-{siteId}"],
122
+ auth: "public",
123
+ responseKind: "text"
124
+ },
125
+ saveNewsletterPreferences: {
126
+ path: "/public/sites/{siteId}/newsletter/preferences/{token}",
127
+ method: "POST",
128
+ tags: ["public-newsletter-{siteId}"],
129
+ auth: "public",
130
+ responseKind: "text"
131
+ },
132
+ getNewsletterArchive: {
133
+ path: "/public/sites/{siteId}/newsletter/archive/{token}",
134
+ method: "GET",
135
+ tags: ["public-newsletter-{siteId}"],
136
+ auth: "public",
137
+ responseKind: "text"
138
+ }
139
+ });
140
+ //#endregion
32
141
  //#region ../api/src/apiEndpointTypes.ts
33
142
  function allowedDemoMutationPolicy() {
34
143
  return {
@@ -120,17 +229,85 @@ const SDK_ENTRY_READ_ENDPOINTS = {
120
229
  }
121
230
  };
122
231
  //#endregion
123
- //#region ../api/src/defineEndpointDefinitions.ts
124
- /**
125
- * Validates extracted endpoint descriptors while preserving each literal path,
126
- * method, and parameter contract for the typed URL builders.
127
- */
128
- function defineEndpointDefinitions(definitions) {
129
- return definitions;
130
- }
131
- //#endregion
132
232
  //#region ../api/src/appointmentEndpointDefinitions.ts
133
233
  const APPOINTMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
234
+ ...defineEndpointDefinitions({
235
+ listGroupedAppointmentServices: {
236
+ path: "/sites/{siteId}/bookings/services/grouped",
237
+ method: "GET",
238
+ auth: "user",
239
+ responseKind: "json",
240
+ errors: ["server:internal_error"]
241
+ },
242
+ reorderAppointmentServices: {
243
+ path: "/sites/{siteId}/bookings/services/order",
244
+ method: "PUT",
245
+ auth: "user",
246
+ responseKind: "json",
247
+ errors: [
248
+ "validation:invalid_input",
249
+ "auth:forbidden",
250
+ "resource:not_found",
251
+ "resource:conflict",
252
+ "server:internal_error"
253
+ ]
254
+ },
255
+ listAppointmentServiceCategories: {
256
+ path: "/sites/{siteId}/bookings/service-categories",
257
+ method: "GET",
258
+ auth: "user",
259
+ responseKind: "json",
260
+ errors: ["server:internal_error"]
261
+ },
262
+ createAppointmentServiceCategory: {
263
+ path: "/sites/{siteId}/bookings/service-categories",
264
+ method: "POST",
265
+ auth: "user",
266
+ responseKind: "json",
267
+ errors: [
268
+ "validation:invalid_input",
269
+ "auth:forbidden",
270
+ "resource:conflict",
271
+ "server:internal_error"
272
+ ]
273
+ },
274
+ updateAppointmentServiceCategory: {
275
+ path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
276
+ method: "PUT",
277
+ auth: "user",
278
+ responseKind: "json",
279
+ errors: [
280
+ "validation:invalid_input",
281
+ "auth:forbidden",
282
+ "resource:not_found",
283
+ "resource:conflict",
284
+ "server:internal_error"
285
+ ]
286
+ },
287
+ deleteAppointmentServiceCategory: {
288
+ path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
289
+ method: "DELETE",
290
+ auth: "user",
291
+ responseKind: "json",
292
+ errors: [
293
+ "auth:forbidden",
294
+ "resource:not_found",
295
+ "server:internal_error"
296
+ ]
297
+ },
298
+ reorderAppointmentServiceCategories: {
299
+ path: "/sites/{siteId}/bookings/service-categories/order",
300
+ method: "PUT",
301
+ auth: "user",
302
+ responseKind: "json",
303
+ errors: [
304
+ "validation:invalid_input",
305
+ "auth:forbidden",
306
+ "resource:conflict",
307
+ "server:internal_error"
308
+ ]
309
+ }
310
+ }),
134
311
  listAppointmentResources: {
135
312
  path: "/sites/{siteId}/bookings/resources",
136
313
  method: "GET",
@@ -841,6 +1018,13 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
841
1018
  errors: [],
842
1019
  responseKind: "blob"
843
1020
  },
1021
+ exportEventOfferingRegistrationsCsv: {
1022
+ path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}/registrations/export.csv",
1023
+ method: "GET",
1024
+ auth: "user",
1025
+ errors: [],
1026
+ responseKind: "blob"
1027
+ },
844
1028
  updateEventSeriesRegistration: {
845
1029
  path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
846
1030
  method: "PATCH",
@@ -851,6 +1035,19 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
851
1035
  "resource:not_found",
852
1036
  "server:internal_error"
853
1037
  ]
1038
+ },
1039
+ saveEventSeriesRegistrationAnswers: {
1040
+ path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}/answers",
1041
+ method: "PUT",
1042
+ auth: "user",
1043
+ responseKind: "json",
1044
+ errors: [
1045
+ "validation:invalid_input",
1046
+ "auth:forbidden",
1047
+ "resource:not_found",
1048
+ "resource:conflict",
1049
+ "server:internal_error"
1050
+ ]
854
1051
  }
855
1052
  });
856
1053
  //#endregion
@@ -1271,46 +1468,185 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1271
1468
  responseKind: "json",
1272
1469
  demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1273
1470
  },
1274
- testSendNewsletterCampaign: {
1275
- path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
1471
+ scheduleNewsletterCampaign: {
1472
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/schedule",
1276
1473
  method: "POST",
1277
1474
  tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1278
1475
  auth: "user",
1279
1476
  responseKind: "json",
1280
1477
  demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1281
1478
  },
1282
- listNewsletterSendJobs: {
1283
- path: "/sites/{siteId}/newsletter/jobs",
1284
- method: "GET",
1479
+ unscheduleNewsletterCampaign: {
1480
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/unschedule",
1481
+ method: "POST",
1482
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1483
+ auth: "user",
1484
+ responseKind: "json",
1485
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1486
+ },
1487
+ stopNewsletterCampaign: {
1488
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/stop",
1489
+ method: "POST",
1490
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1491
+ auth: "user",
1492
+ responseKind: "json",
1493
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1494
+ },
1495
+ testSendNewsletterCampaign: {
1496
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
1497
+ method: "POST",
1285
1498
  tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1286
1499
  auth: "user",
1500
+ responseKind: "json",
1501
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1502
+ }
1503
+ });
1504
+ //#endregion
1505
+ //#region ../api/src/sdkEventEndpointDefinitions.ts
1506
+ /**
1507
+ * The SDK's Event graph: the Events themselves and the occurrences of one run.
1508
+ * Extracted from `endpoints.ts` so this family can be read, and added to, on
1509
+ * its own. New entries here must declare `errors`; the
1510
+ * require-api-endpoint-errors lint enforces that here as in endpoints.ts.
1511
+ */
1512
+ const SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1513
+ sdkListEvents: {
1514
+ path: "/sdk/{siteId}/events",
1515
+ method: "GET",
1516
+ auth: "service",
1287
1517
  responseKind: "json"
1288
1518
  },
1289
- retryNewsletterSendJob: {
1290
- path: "/sites/{siteId}/newsletter/jobs/{jobId}/retry",
1519
+ sdkUpsertEvent: {
1520
+ path: "/sdk/{siteId}/events",
1291
1521
  method: "POST",
1522
+ auth: "service",
1523
+ responseKind: "json",
1292
1524
  errors: [
1293
1525
  "validation:invalid_input",
1294
1526
  "resource:not_found",
1295
- "auth:forbidden",
1527
+ "resource:conflict",
1528
+ "billing:plan_limit_exceeded",
1296
1529
  "server:internal_error"
1297
- ],
1298
- tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1299
- auth: "user",
1530
+ ]
1531
+ },
1532
+ sdkGetEvent: {
1533
+ path: "/sdk/{siteId}/events/{identifier}",
1534
+ method: "GET",
1535
+ auth: "service",
1300
1536
  responseKind: "json"
1301
1537
  },
1302
- cancelNewsletterSendJob: {
1303
- path: "/sites/{siteId}/newsletter/jobs/{jobId}/cancel",
1538
+ sdkDeleteEvent: {
1539
+ path: "/sdk/{siteId}/events/{identifier}",
1540
+ method: "DELETE",
1541
+ auth: "service",
1542
+ responseKind: "json",
1543
+ errors: [
1544
+ "resource:not_found",
1545
+ "resource:conflict",
1546
+ "server:internal_error"
1547
+ ]
1548
+ },
1549
+ sdkTakeEventOffline: {
1550
+ path: "/sdk/{siteId}/events/{identifier}/lifecycle",
1304
1551
  method: "POST",
1552
+ auth: "service",
1553
+ responseKind: "json",
1305
1554
  errors: [
1555
+ "resource:not_found",
1306
1556
  "validation:invalid_input",
1557
+ "resource:conflict",
1558
+ "server:internal_error"
1559
+ ]
1560
+ },
1561
+ sdkListEventOccurrences: {
1562
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
1563
+ method: "GET",
1564
+ auth: "service",
1565
+ responseKind: "json",
1566
+ errors: [
1307
1567
  "resource:not_found",
1308
- "auth:forbidden",
1568
+ "validation:invalid_input",
1309
1569
  "server:internal_error"
1310
- ],
1311
- tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1312
- auth: "user",
1313
- responseKind: "json"
1570
+ ]
1571
+ },
1572
+ sdkAddEventOccurrence: {
1573
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
1574
+ method: "POST",
1575
+ auth: "service",
1576
+ responseKind: "json",
1577
+ errors: [
1578
+ "resource:not_found",
1579
+ "validation:invalid_input",
1580
+ "resource:conflict",
1581
+ "server:internal_error"
1582
+ ]
1583
+ },
1584
+ sdkUpdateEventOccurrence: {
1585
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
1586
+ method: "PATCH",
1587
+ auth: "service",
1588
+ responseKind: "json",
1589
+ errors: [
1590
+ "resource:not_found",
1591
+ "validation:invalid_input",
1592
+ "resource:conflict",
1593
+ "server:internal_error"
1594
+ ]
1595
+ },
1596
+ sdkCancelEventOccurrence: {
1597
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel",
1598
+ method: "POST",
1599
+ auth: "service",
1600
+ responseKind: "json",
1601
+ errors: [
1602
+ "resource:not_found",
1603
+ "resource:conflict",
1604
+ "server:internal_error"
1605
+ ]
1606
+ },
1607
+ sdkDeleteEventOccurrence: {
1608
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
1609
+ method: "DELETE",
1610
+ auth: "service",
1611
+ responseKind: "json",
1612
+ errors: [
1613
+ "resource:not_found",
1614
+ "resource:conflict",
1615
+ "server:internal_error"
1616
+ ]
1617
+ }
1618
+ });
1619
+ //#endregion
1620
+ //#region ../api/src/sdkPageDesignEndpointDefinitions.ts
1621
+ /**
1622
+ * SDK management endpoints for a page's draft design (issue 1497), spread into
1623
+ * `ENDPOINT_DEFINITIONS` like the other endpoint-definition modules. New
1624
+ * entries here must declare `errors`, which the require-api-endpoint-errors
1625
+ * lint enforces.
1626
+ */
1627
+ const SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1628
+ sdkGetPageDesign: {
1629
+ path: "/sdk/{siteId}/pages/{identifier}/design",
1630
+ method: "GET",
1631
+ auth: "service",
1632
+ responseKind: "json",
1633
+ errors: [
1634
+ "resource:not_found",
1635
+ "validation:invalid_input",
1636
+ "server:internal_error"
1637
+ ]
1638
+ },
1639
+ sdkSavePageDesign: {
1640
+ path: "/sdk/{siteId}/pages/{identifier}/design",
1641
+ method: "POST",
1642
+ auth: "service",
1643
+ responseKind: "json",
1644
+ errors: [
1645
+ "resource:not_found",
1646
+ "validation:invalid_input",
1647
+ "resource:conflict",
1648
+ "server:internal_error"
1649
+ ]
1314
1650
  }
1315
1651
  });
1316
1652
  const PUBLIC_CONTENT_FRESHNESS_SECONDS = 3600;
@@ -1608,6 +1944,45 @@ const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1608
1944
  }
1609
1945
  });
1610
1946
  //#endregion
1947
+ //#region ../api/src/siteManagementEndpointDefinitions.ts
1948
+ const SITE_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1949
+ createSite: {
1950
+ path: "/sites/manage",
1951
+ method: "POST",
1952
+ tags: ["site"],
1953
+ auth: "user",
1954
+ responseKind: "json"
1955
+ },
1956
+ updateSite: {
1957
+ path: "/sites/manage",
1958
+ method: "PUT",
1959
+ tags: ["site"],
1960
+ auth: "user",
1961
+ responseKind: "json"
1962
+ },
1963
+ changeSiteAddress: {
1964
+ path: "/sites/{siteId}/address",
1965
+ method: "PUT",
1966
+ auth: "user",
1967
+ responseKind: "json",
1968
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
1969
+ },
1970
+ getSiteAddressAvailability: {
1971
+ path: "/sites/{siteId}/address/availability",
1972
+ method: "GET",
1973
+ auth: "user",
1974
+ responseKind: "json"
1975
+ },
1976
+ deleteSite: {
1977
+ path: "/sites/{siteId}",
1978
+ method: "DELETE",
1979
+ tags: ["site", "site-{siteId}"],
1980
+ auth: "user",
1981
+ responseKind: "json",
1982
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1983
+ }
1984
+ });
1985
+ //#endregion
1611
1986
  //#region ../api/src/eventManagementEndpointDefinitions.ts
1612
1987
  const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1613
1988
  listEvents: {
@@ -1655,6 +2030,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1655
2030
  "server:internal_error"
1656
2031
  ]
1657
2032
  },
2033
+ /**
2034
+ * The web address of an event's own page. A course page belongs to the
2035
+ * event itself, so its address is written here rather than through a run.
2036
+ */
2037
+ updateEventAddress: {
2038
+ path: "/sites/{siteId}/bookings/events/{eventId}/address",
2039
+ method: "PATCH",
2040
+ tags: [
2041
+ "site-{siteId}",
2042
+ "event-series-{siteId}",
2043
+ TAG_TEMPLATES.siteRoutableContent,
2044
+ TAG_TEMPLATES.siteRedirects
2045
+ ],
2046
+ auth: "user",
2047
+ responseKind: "json",
2048
+ errors: [
2049
+ "validation:invalid_input",
2050
+ "resource:not_found",
2051
+ "resource:conflict",
2052
+ "server:internal_error"
2053
+ ]
2054
+ },
1658
2055
  createWholeSeriesRun: {
1659
2056
  path: "/sites/{siteId}/bookings/events/{eventId}/runs",
1660
2057
  method: "POST",
@@ -1681,6 +2078,20 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1681
2078
  "server:internal_error"
1682
2079
  ]
1683
2080
  },
2081
+ updateCourseBookingSettings: {
2082
+ path: "/sites/{siteId}/bookings/events/{eventId}/booking-settings",
2083
+ method: "PATCH",
2084
+ tags: ["site-{siteId}", "event-series-{siteId}"],
2085
+ auth: "user",
2086
+ responseKind: "json",
2087
+ errors: [
2088
+ "validation:invalid_input",
2089
+ "auth:forbidden",
2090
+ "resource:not_found",
2091
+ "resource:conflict",
2092
+ "server:internal_error"
2093
+ ]
2094
+ },
1684
2095
  cancelWholeSeriesRun: {
1685
2096
  path: "/sites/{siteId}/bookings/events/{eventId}/runs/{runId}/cancellation",
1686
2097
  method: "POST",
@@ -1693,6 +2104,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1693
2104
  "resource:conflict",
1694
2105
  "server:internal_error"
1695
2106
  ]
2107
+ },
2108
+ /**
2109
+ * The Content tab's one write: the short introduction, image and
2110
+ * description of an event's page, published without its layout.
2111
+ */
2112
+ saveEventPageWords: {
2113
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
2114
+ method: "PUT",
2115
+ tags: [
2116
+ TAG_TEMPLATES.siteCollection,
2117
+ TAG_TEMPLATES.siteRoutableContent,
2118
+ TAG_TEMPLATES.pageSurfaceById
2119
+ ],
2120
+ auth: "user",
2121
+ responseKind: "json",
2122
+ errors: [
2123
+ "auth:forbidden",
2124
+ "validation:invalid_input",
2125
+ "resource:not_found",
2126
+ "resource:conflict",
2127
+ "server:internal_error"
2128
+ ]
1696
2129
  }
1697
2130
  });
1698
2131
  //#endregion
@@ -2125,13 +2558,51 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
2125
2558
  responseKind: "json"
2126
2559
  }
2127
2560
  });
2561
+ //#endregion
2562
+ //#region ../api/src/clientErrorReporting.ts
2563
+ const CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ reportClientError: {
2564
+ path: "/client/error-report",
2565
+ method: "POST",
2566
+ auth: "user",
2567
+ errors: [],
2568
+ responseKind: "json"
2569
+ } });
2570
+ const CLIENT_ERROR_REPORT_LIMITS = {
2571
+ pathname: 1024,
2572
+ name: 120,
2573
+ message: 2e3,
2574
+ stack: 8e3,
2575
+ digest: 128,
2576
+ componentStack: 8e3,
2577
+ sourceLocation: 1024
2578
+ };
2579
+ const clientErrorEventSchema = z.enum([
2580
+ "dashboard:route-error",
2581
+ "dashboard:app-error",
2582
+ "client:error-boundary",
2583
+ "client:window-error",
2584
+ "client:unhandled-rejection"
2585
+ ]);
2586
+ z.object({
2587
+ event: clientErrorEventSchema,
2588
+ pathname: z.string().startsWith("/").max(CLIENT_ERROR_REPORT_LIMITS.pathname),
2589
+ name: z.string().max(CLIENT_ERROR_REPORT_LIMITS.name),
2590
+ message: z.string().max(CLIENT_ERROR_REPORT_LIMITS.message),
2591
+ stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
2592
+ digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
2593
+ componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
2594
+ sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
2595
+ }).strict();
2128
2596
  const API_ENDPOINTS = {
2597
+ ...CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS,
2598
+ ...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
2129
2599
  ...ACCOUNT_ENDPOINT_DEFINITIONS,
2130
2600
  ...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
2131
2601
  ...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
2132
2602
  ...GIFTING_ENDPOINT_DEFINITIONS,
2133
2603
  ...PUBLIC_READ_ENDPOINT_DEFINITIONS,
2134
2604
  ...BILLING_ENDPOINT_DEFINITIONS,
2605
+ ...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS,
2135
2606
  aiContentUpdateChat: {
2136
2607
  path: "/ai/content-update-chat",
2137
2608
  method: "POST",
@@ -2658,13 +3129,6 @@ const API_ENDPOINTS = {
2658
3129
  auth: "user",
2659
3130
  responseKind: "json"
2660
3131
  },
2661
- createSite: {
2662
- path: "/sites/manage",
2663
- method: "POST",
2664
- tags: ["site"],
2665
- auth: "user",
2666
- responseKind: "json"
2667
- },
2668
3132
  createSiteManual: {
2669
3133
  path: "/sites/manual",
2670
3134
  method: "POST",
@@ -2672,21 +3136,6 @@ const API_ENDPOINTS = {
2672
3136
  auth: "user",
2673
3137
  responseKind: "json"
2674
3138
  },
2675
- updateSite: {
2676
- path: "/sites/manage",
2677
- method: "PUT",
2678
- tags: ["site"],
2679
- auth: "user",
2680
- responseKind: "json"
2681
- },
2682
- deleteSite: {
2683
- path: "/sites/{siteId}",
2684
- method: "DELETE",
2685
- tags: ["site", "site-{siteId}"],
2686
- auth: "user",
2687
- responseKind: "json",
2688
- demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
2689
- },
2690
3139
  listSiteMembers: {
2691
3140
  path: "/sites/{siteId}/members",
2692
3141
  method: "GET",
@@ -5260,41 +5709,6 @@ const API_ENDPOINTS = {
5260
5709
  "server:internal_error"
5261
5710
  ]
5262
5711
  },
5263
- subscribeNewsletter: {
5264
- path: "/public/sites/{siteId}/newsletter/subscribe",
5265
- method: "POST",
5266
- tags: ["public-newsletter-{siteId}"],
5267
- auth: "public",
5268
- responseKind: "json"
5269
- },
5270
- confirmNewsletter: {
5271
- path: "/public/sites/{siteId}/newsletter/confirm/{token}",
5272
- method: "GET",
5273
- tags: ["public-newsletter-{siteId}"],
5274
- auth: "public",
5275
- responseKind: "text"
5276
- },
5277
- unsubscribeNewsletter: {
5278
- path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
5279
- method: "GET",
5280
- tags: ["public-newsletter-{siteId}"],
5281
- auth: "public",
5282
- responseKind: "text"
5283
- },
5284
- unsubscribeNewsletterPost: {
5285
- path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
5286
- method: "POST",
5287
- tags: ["public-newsletter-{siteId}"],
5288
- auth: "public",
5289
- responseKind: "text"
5290
- },
5291
- getNewsletterArchive: {
5292
- path: "/public/sites/{siteId}/newsletter/archive/{token}",
5293
- method: "GET",
5294
- tags: ["public-newsletter-{siteId}"],
5295
- auth: "public",
5296
- responseKind: "text"
5297
- },
5298
5712
  listSiteContentTypes: {
5299
5713
  path: "/sites/{siteId}/content-types",
5300
5714
  method: "GET",
@@ -6954,6 +7368,7 @@ const API_ENDPOINTS = {
6954
7368
  auth: "service",
6955
7369
  responseKind: "json"
6956
7370
  },
7371
+ ...SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS,
6957
7372
  sdkUpsertPageBlock: {
6958
7373
  path: "/sdk/{siteId}/pages/{identifier}/blocks",
6959
7374
  method: "POST",
@@ -7076,87 +7491,7 @@ const API_ENDPOINTS = {
7076
7491
  auth: "service",
7077
7492
  responseKind: "json"
7078
7493
  },
7079
- sdkListEvents: {
7080
- path: "/sdk/{siteId}/events",
7081
- method: "GET",
7082
- auth: "service",
7083
- responseKind: "json"
7084
- },
7085
- sdkUpsertEvent: {
7086
- path: "/sdk/{siteId}/events",
7087
- method: "POST",
7088
- auth: "service",
7089
- responseKind: "json"
7090
- },
7091
- sdkGetEvent: {
7092
- path: "/sdk/{siteId}/events/{identifier}",
7093
- method: "GET",
7094
- auth: "service",
7095
- responseKind: "json"
7096
- },
7097
- sdkDeleteEvent: {
7098
- path: "/sdk/{siteId}/events/{identifier}",
7099
- method: "DELETE",
7100
- auth: "service",
7101
- responseKind: "json"
7102
- },
7103
- sdkListEventOccurrences: {
7104
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
7105
- method: "GET",
7106
- auth: "service",
7107
- responseKind: "json",
7108
- errors: [
7109
- "resource:not_found",
7110
- "validation:invalid_input",
7111
- "server:internal_error"
7112
- ]
7113
- },
7114
- sdkAddEventOccurrence: {
7115
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
7116
- method: "POST",
7117
- auth: "service",
7118
- responseKind: "json",
7119
- errors: [
7120
- "resource:not_found",
7121
- "validation:invalid_input",
7122
- "resource:conflict",
7123
- "server:internal_error"
7124
- ]
7125
- },
7126
- sdkUpdateEventOccurrence: {
7127
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
7128
- method: "PATCH",
7129
- auth: "service",
7130
- responseKind: "json",
7131
- errors: [
7132
- "resource:not_found",
7133
- "validation:invalid_input",
7134
- "resource:conflict",
7135
- "server:internal_error"
7136
- ]
7137
- },
7138
- sdkCancelEventOccurrence: {
7139
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel",
7140
- method: "POST",
7141
- auth: "service",
7142
- responseKind: "json",
7143
- errors: [
7144
- "resource:not_found",
7145
- "resource:conflict",
7146
- "server:internal_error"
7147
- ]
7148
- },
7149
- sdkDeleteEventOccurrence: {
7150
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
7151
- method: "DELETE",
7152
- auth: "service",
7153
- responseKind: "json",
7154
- errors: [
7155
- "resource:not_found",
7156
- "resource:conflict",
7157
- "server:internal_error"
7158
- ]
7159
- },
7494
+ ...SDK_EVENT_ENDPOINT_DEFINITIONS,
7160
7495
  sdkUpsertEntry: {
7161
7496
  path: "/sdk/{siteId}/entries",
7162
7497
  method: "POST",