@riverbankcms/sdk 0.145.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 (159) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{PreviewEditorSidebar-O-V6Pl5a.mjs → PreviewEditorSidebar-kg2r2Fyi.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-1UlX_9cw.mjs → PreviewEditorUI-sWMLp5dT.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BxGwdOCV.mjs → PreviewQueryProvider-Cg51xq1w.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-DYbA_4iv.mjs → SdkPreviewModeRuntime-h2ti3Hch.mjs} +280 -182
  6. package/dist/{SiteChromeCustomizeContext-CNTKQ9nx.mjs → SiteChromeCustomizeContext-DEACFH9m.mjs} +1330 -734
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +924 -0
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +84 -0
  9. package/dist/_dts/api/src/bookingConfig.d.ts +8 -1
  10. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +8 -14
  11. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
  12. package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
  13. package/dist/_dts/api/src/communications.d.ts +20 -4
  14. package/dist/_dts/api/src/contentRuntime.d.ts +3 -7
  15. package/dist/_dts/api/src/endpoints.d.ts +223 -88
  16. package/dist/_dts/api/src/event-visibility.d.ts +20 -0
  17. package/dist/_dts/api/src/eventManagementContracts.d.ts +56 -3
  18. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
  19. package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
  20. package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
  21. package/dist/_dts/api/src/index.d.ts +7 -1
  22. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  23. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  24. package/dist/_dts/api/src/launchReadiness.d.ts +20 -2
  25. package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
  26. package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
  27. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +42 -0
  28. package/dist/_dts/api/src/occurrenceScheduling.d.ts +10 -0
  29. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
  30. package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
  31. package/dist/_dts/api/src/sdk-event-upsert.d.ts +40 -1
  32. package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
  33. package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
  34. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
  35. package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
  36. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
  37. package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
  38. package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
  39. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
  40. package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
  41. package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
  42. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -32
  43. package/dist/_dts/api/src/siteOnboarding.d.ts +75 -9
  44. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
  45. package/dist/_dts/api/src/types.d.ts +7 -1
  46. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
  47. package/dist/_dts/blocks/src/index.d.ts +2 -0
  48. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +10 -0
  49. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -1
  50. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
  51. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
  52. package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
  53. package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
  54. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -0
  55. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +20 -4
  56. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
  57. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +36 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
  59. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
  60. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  62. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -1
  63. package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
  64. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  65. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  66. package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
  67. package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
  68. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -5
  69. package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
  70. package/dist/_dts/core/src/editor-state.d.ts +2 -7
  71. package/dist/_dts/core/src/index.d.ts +1 -0
  72. package/dist/_dts/core/src/mailing-list-submission.d.ts +3 -1
  73. package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
  74. package/dist/_dts/core/src/public-profile.d.ts +3 -1
  75. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +49 -2
  76. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
  77. package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
  78. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -8
  79. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  80. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -4
  81. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -2
  82. package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
  83. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -2
  84. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -2
  85. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +6 -1
  86. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
  87. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
  88. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
  89. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +5 -1
  90. package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
  91. package/dist/_dts/sdk/src/version.d.ts +1 -1
  92. package/dist/_dts/surfaces/src/index.d.ts +9 -0
  93. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  94. package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
  95. package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
  96. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
  97. package/dist/client/{BookingConsentAgreement-DlVOmpW4.mjs → BookingConsentAgreement-BQKL045f.mjs} +2 -2
  98. package/dist/client/CheckboxChoice--W2n6yKs.mjs +24 -0
  99. package/dist/client/{DiscountCodeDisclosure-T9q623PQ.mjs → DiscountCodeDisclosure-CsOtjFY7.mjs} +1 -1
  100. package/dist/client/{EventCombined.client-DnsUeONl.mjs → EventCombined.client-BdRjVbhH.mjs} +6 -6
  101. package/dist/client/{EventListing.client-CNBFqJS4.mjs → EventListing.client-DBxC6xOU.mjs} +2 -2
  102. package/dist/client/{LeafletStaticMap-C7higg52.mjs → LeafletStaticMap-mHEJKrTs.mjs} +1 -1
  103. package/dist/client/{ThemedButton-LAJTNrS8.mjs → ThemedButton-CE5KYT6z.mjs} +1 -1
  104. package/dist/client/{accordion-BcNF9TjX.mjs → accordion-BEQNSptH.mjs} +1 -1
  105. package/dist/client/{bookingForm-BUaQ3S03.mjs → bookingForm-AMr-s5vw.mjs} +33 -52
  106. package/dist/client/bookings.mjs +48 -46
  107. package/dist/client/{carousel-CTdF6e0V.mjs → carousel-Bbt_QgJy.mjs} +1 -1
  108. package/dist/client/{cart-pGtyf_XU.mjs → cart-CnWi30zJ.mjs} +3 -3
  109. package/dist/client/{checkout-Da9WSn7Y.mjs → checkout-f3nkWgd4.mjs} +3 -3
  110. package/dist/client/client.mjs +1611 -815
  111. package/dist/client/{context-BFeY_Wbm.mjs → context-Bc8T6pCe.mjs} +1 -1
  112. package/dist/client/{dates-BhwVSxDg.mjs → dates-DUsCEzLb.mjs} +2 -3
  113. package/dist/client/{eventCalendar-BAtdnR4s.mjs → eventCalendar-CKwgXui5.mjs} +9 -9
  114. package/dist/client/{eventCombined-RksA3tRC.mjs → eventCombined-CBAOSTGR.mjs} +4 -4
  115. package/dist/client/{eventDetails-BB9hB4wR.mjs → eventDetails-Dh-_WiBD.mjs} +4 -4
  116. package/dist/client/{eventListing-BpJBkviM.mjs → eventListing-CA3frIH5.mjs} +4 -4
  117. package/dist/client/{eventRegistration-B18jFq_o.mjs → eventRegistration-BHtsgdcg.mjs} +21 -22
  118. package/dist/client/{form-Dodt8Y8t.mjs → form-C2h3YAcg.mjs} +135 -104
  119. package/dist/client/{headerSection-B0qj9ttg.mjs → headerSection-lwMuMTH9.mjs} +3 -3
  120. package/dist/client/hooks.mjs +489 -65
  121. package/dist/client/{locationMap-gn-iMk7a.mjs → locationMap-DJ2bLODV.mjs} +3 -3
  122. package/dist/client/{newsletterForm-oByLdFkr.mjs → newsletterForm-8Pu5K32g.mjs} +203 -101
  123. package/dist/client/{pricing-BOU0_Hai.mjs → pricing-HHx3IgBz.mjs} +1 -1
  124. package/dist/client/{productDetail-D9v1zH2j.mjs → productDetail-C_1odnAf.mjs} +3 -3
  125. package/dist/client/{productList-D-mItx1n.mjs → productList-CtCv-Nmx.mjs} +3 -3
  126. package/dist/client/{propsDecoder-C3TP_z4x.mjs → propsDecoder-Dcgsncxb.mjs} +40 -23
  127. package/dist/client/rendering/client.mjs +490 -457
  128. package/dist/client/rendering/islands.mjs +17 -17
  129. package/dist/client/rendering.mjs +1515 -628
  130. package/dist/client/{routeIslandApiConfig-DzN1W0sq.mjs → routeIslandApiConfig-CWLP7wu3.mjs} +1 -1
  131. package/dist/client/{scrollToBlock-CWs8EIdo.mjs → scrollToBlock-BNgaEUpo.mjs} +1 -1
  132. package/dist/client/{shop-Dufw7N7o.mjs → shop-DQXrQ8kJ.mjs} +7 -7
  133. package/dist/client/{shop-commerce-gklw_hLF.mjs → shop-commerce-B88zmWWo.mjs} +6 -6
  134. package/dist/client/{shop-commerce-store-Sf1eyTaZ.mjs → shop-commerce-store-DtSfkKuX.mjs} +1 -1
  135. package/dist/client/{shopShared-B5nyA41S.mjs → shopShared-cuaONpkJ.mjs} +4 -4
  136. package/dist/client/{useEventFilters-CLL829vy.mjs → useEventFilters-Bukew6Gb.mjs} +6 -6
  137. package/dist/preview-next/before-render.mjs +368 -103
  138. package/dist/preview-next/client/runtime.mjs +4 -4
  139. package/dist/preview-next/editor-base.css +11 -0
  140. package/dist/preview-next/keepAlive.mjs +328 -103
  141. package/dist/preview-next/middleware.mjs +329 -103
  142. package/dist/{previewAuthStore-BxAFlu-j.mjs → previewAuthStore-h5IgbSp4.mjs} +353 -103
  143. package/dist/{sdk-runtime-D0uZFev7.mjs → sdk-runtime-DTc1uIXn.mjs} +2 -2
  144. package/dist/{separator-EvdCAn4V.mjs → separator-BpHS1KZK.mjs} +1 -1
  145. package/dist/server/components.mjs +1376 -331
  146. package/dist/server/config-validation.mjs +405 -27
  147. package/dist/server/config.mjs +405 -27
  148. package/dist/server/data.mjs +405 -27
  149. package/dist/server/index.mjs +370 -104
  150. package/dist/server/next.mjs +1430 -463
  151. package/dist/server/page-converter.mjs +36 -25
  152. package/dist/server/prebuild.mjs +1 -1
  153. package/dist/server/rendering/server.mjs +1374 -331
  154. package/dist/server/rendering.mjs +1436 -364
  155. package/dist/server/routing.mjs +476 -43
  156. package/dist/server/server.mjs +504 -169
  157. package/dist/server/theme-bridge.mjs +467 -111
  158. package/dist/styles/index.css +186 -65
  159. package/package.json +1 -1
@@ -1003,6 +1003,13 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
1003
1003
  errors: [],
1004
1004
  responseKind: "blob"
1005
1005
  },
1006
+ exportEventOfferingRegistrationsCsv: {
1007
+ path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}/registrations/export.csv",
1008
+ method: "GET",
1009
+ auth: "user",
1010
+ errors: [],
1011
+ responseKind: "blob"
1012
+ },
1006
1013
  updateEventSeriesRegistration: {
1007
1014
  path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
1008
1015
  method: "PATCH",
@@ -1013,6 +1020,19 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
1013
1020
  "resource:not_found",
1014
1021
  "server:internal_error"
1015
1022
  ]
1023
+ },
1024
+ saveEventSeriesRegistrationAnswers: {
1025
+ path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}/answers",
1026
+ method: "PUT",
1027
+ auth: "user",
1028
+ responseKind: "json",
1029
+ errors: [
1030
+ "validation:invalid_input",
1031
+ "auth:forbidden",
1032
+ "resource:not_found",
1033
+ "resource:conflict",
1034
+ "server:internal_error"
1035
+ ]
1016
1036
  }
1017
1037
  });
1018
1038
  //#endregion
@@ -1433,6 +1453,30 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1433
1453
  responseKind: "json",
1434
1454
  demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1435
1455
  },
1456
+ scheduleNewsletterCampaign: {
1457
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/schedule",
1458
+ method: "POST",
1459
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1460
+ auth: "user",
1461
+ responseKind: "json",
1462
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1463
+ },
1464
+ unscheduleNewsletterCampaign: {
1465
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/unschedule",
1466
+ method: "POST",
1467
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1468
+ auth: "user",
1469
+ responseKind: "json",
1470
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1471
+ },
1472
+ stopNewsletterCampaign: {
1473
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/stop",
1474
+ method: "POST",
1475
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1476
+ auth: "user",
1477
+ responseKind: "json",
1478
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1479
+ },
1436
1480
  testSendNewsletterCampaign: {
1437
1481
  path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
1438
1482
  method: "POST",
@@ -1443,6 +1487,154 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1443
1487
  }
1444
1488
  });
1445
1489
  //#endregion
1490
+ //#region ../api/src/sdkEventEndpointDefinitions.ts
1491
+ /**
1492
+ * The SDK's Event graph: the Events themselves and the occurrences of one run.
1493
+ * Extracted from `endpoints.ts` so this family can be read, and added to, on
1494
+ * its own. New entries here must declare `errors`; the
1495
+ * require-api-endpoint-errors lint enforces that here as in endpoints.ts.
1496
+ */
1497
+ const SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1498
+ sdkListEvents: {
1499
+ path: "/sdk/{siteId}/events",
1500
+ method: "GET",
1501
+ auth: "service",
1502
+ responseKind: "json"
1503
+ },
1504
+ sdkUpsertEvent: {
1505
+ path: "/sdk/{siteId}/events",
1506
+ method: "POST",
1507
+ auth: "service",
1508
+ responseKind: "json",
1509
+ errors: [
1510
+ "validation:invalid_input",
1511
+ "resource:not_found",
1512
+ "resource:conflict",
1513
+ "billing:plan_limit_exceeded",
1514
+ "server:internal_error"
1515
+ ]
1516
+ },
1517
+ sdkGetEvent: {
1518
+ path: "/sdk/{siteId}/events/{identifier}",
1519
+ method: "GET",
1520
+ auth: "service",
1521
+ responseKind: "json"
1522
+ },
1523
+ sdkDeleteEvent: {
1524
+ path: "/sdk/{siteId}/events/{identifier}",
1525
+ method: "DELETE",
1526
+ auth: "service",
1527
+ responseKind: "json",
1528
+ errors: [
1529
+ "resource:not_found",
1530
+ "resource:conflict",
1531
+ "server:internal_error"
1532
+ ]
1533
+ },
1534
+ sdkTakeEventOffline: {
1535
+ path: "/sdk/{siteId}/events/{identifier}/lifecycle",
1536
+ method: "POST",
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
+ sdkListEventOccurrences: {
1547
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
1548
+ method: "GET",
1549
+ auth: "service",
1550
+ responseKind: "json",
1551
+ errors: [
1552
+ "resource:not_found",
1553
+ "validation:invalid_input",
1554
+ "server:internal_error"
1555
+ ]
1556
+ },
1557
+ sdkAddEventOccurrence: {
1558
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
1559
+ method: "POST",
1560
+ auth: "service",
1561
+ responseKind: "json",
1562
+ errors: [
1563
+ "resource:not_found",
1564
+ "validation:invalid_input",
1565
+ "resource:conflict",
1566
+ "server:internal_error"
1567
+ ]
1568
+ },
1569
+ sdkUpdateEventOccurrence: {
1570
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
1571
+ method: "PATCH",
1572
+ auth: "service",
1573
+ responseKind: "json",
1574
+ errors: [
1575
+ "resource:not_found",
1576
+ "validation:invalid_input",
1577
+ "resource:conflict",
1578
+ "server:internal_error"
1579
+ ]
1580
+ },
1581
+ sdkCancelEventOccurrence: {
1582
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel",
1583
+ method: "POST",
1584
+ auth: "service",
1585
+ responseKind: "json",
1586
+ errors: [
1587
+ "resource:not_found",
1588
+ "resource:conflict",
1589
+ "server:internal_error"
1590
+ ]
1591
+ },
1592
+ sdkDeleteEventOccurrence: {
1593
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
1594
+ method: "DELETE",
1595
+ auth: "service",
1596
+ responseKind: "json",
1597
+ errors: [
1598
+ "resource:not_found",
1599
+ "resource:conflict",
1600
+ "server:internal_error"
1601
+ ]
1602
+ }
1603
+ });
1604
+ //#endregion
1605
+ //#region ../api/src/sdkPageDesignEndpointDefinitions.ts
1606
+ /**
1607
+ * SDK management endpoints for a page's draft design (issue 1497), spread into
1608
+ * `ENDPOINT_DEFINITIONS` like the other endpoint-definition modules. New
1609
+ * entries here must declare `errors`, which the require-api-endpoint-errors
1610
+ * lint enforces.
1611
+ */
1612
+ const SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1613
+ sdkGetPageDesign: {
1614
+ path: "/sdk/{siteId}/pages/{identifier}/design",
1615
+ method: "GET",
1616
+ auth: "service",
1617
+ responseKind: "json",
1618
+ errors: [
1619
+ "resource:not_found",
1620
+ "validation:invalid_input",
1621
+ "server:internal_error"
1622
+ ]
1623
+ },
1624
+ sdkSavePageDesign: {
1625
+ path: "/sdk/{siteId}/pages/{identifier}/design",
1626
+ method: "POST",
1627
+ auth: "service",
1628
+ responseKind: "json",
1629
+ errors: [
1630
+ "resource:not_found",
1631
+ "validation:invalid_input",
1632
+ "resource:conflict",
1633
+ "server:internal_error"
1634
+ ]
1635
+ }
1636
+ });
1637
+ //#endregion
1446
1638
  //#region ../core/src/result.ts
1447
1639
  function ok(value) {
1448
1640
  return {
@@ -2372,15 +2564,6 @@ function parseMailingListContentVersionId(value) {
2372
2564
  const parsed = parseContentVersionId(value);
2373
2565
  return parsed.ok ? parsed.value : null;
2374
2566
  }
2375
- function buildMailingListSignupBlockSourceRef(blockId, contentVersionId) {
2376
- const parsedBlockId = parseMailingListBlockId(blockId);
2377
- const parsedContentVersionId = parseMailingListContentVersionId(contentVersionId);
2378
- return parsedBlockId !== null && parsedContentVersionId !== null ? {
2379
- tag: "block_ref",
2380
- blockId: parsedBlockId,
2381
- contentVersionId: parsedContentVersionId
2382
- } : null;
2383
- }
2384
2567
  //#endregion
2385
2568
  //#region ../core/src/secret.ts
2386
2569
  /**
@@ -3029,6 +3212,45 @@ const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3029
3212
  }
3030
3213
  });
3031
3214
  //#endregion
3215
+ //#region ../api/src/siteManagementEndpointDefinitions.ts
3216
+ const SITE_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3217
+ createSite: {
3218
+ path: "/sites/manage",
3219
+ method: "POST",
3220
+ tags: ["site"],
3221
+ auth: "user",
3222
+ responseKind: "json"
3223
+ },
3224
+ updateSite: {
3225
+ path: "/sites/manage",
3226
+ method: "PUT",
3227
+ tags: ["site"],
3228
+ auth: "user",
3229
+ responseKind: "json"
3230
+ },
3231
+ changeSiteAddress: {
3232
+ path: "/sites/{siteId}/address",
3233
+ method: "PUT",
3234
+ auth: "user",
3235
+ responseKind: "json",
3236
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
3237
+ },
3238
+ getSiteAddressAvailability: {
3239
+ path: "/sites/{siteId}/address/availability",
3240
+ method: "GET",
3241
+ auth: "user",
3242
+ responseKind: "json"
3243
+ },
3244
+ deleteSite: {
3245
+ path: "/sites/{siteId}",
3246
+ method: "DELETE",
3247
+ tags: ["site", "site-{siteId}"],
3248
+ auth: "user",
3249
+ responseKind: "json",
3250
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
3251
+ }
3252
+ });
3253
+ //#endregion
3032
3254
  //#region ../api/src/eventManagementEndpointDefinitions.ts
3033
3255
  const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3034
3256
  listEvents: {
@@ -3076,6 +3298,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3076
3298
  "server:internal_error"
3077
3299
  ]
3078
3300
  },
3301
+ /**
3302
+ * The web address of an event's own page. A course page belongs to the
3303
+ * event itself, so its address is written here rather than through a run.
3304
+ */
3305
+ updateEventAddress: {
3306
+ path: "/sites/{siteId}/bookings/events/{eventId}/address",
3307
+ method: "PATCH",
3308
+ tags: [
3309
+ "site-{siteId}",
3310
+ "event-series-{siteId}",
3311
+ TAG_TEMPLATES.siteRoutableContent,
3312
+ TAG_TEMPLATES.siteRedirects
3313
+ ],
3314
+ auth: "user",
3315
+ responseKind: "json",
3316
+ errors: [
3317
+ "validation:invalid_input",
3318
+ "resource:not_found",
3319
+ "resource:conflict",
3320
+ "server:internal_error"
3321
+ ]
3322
+ },
3079
3323
  createWholeSeriesRun: {
3080
3324
  path: "/sites/{siteId}/bookings/events/{eventId}/runs",
3081
3325
  method: "POST",
@@ -3102,6 +3346,20 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3102
3346
  "server:internal_error"
3103
3347
  ]
3104
3348
  },
3349
+ updateCourseBookingSettings: {
3350
+ path: "/sites/{siteId}/bookings/events/{eventId}/booking-settings",
3351
+ method: "PATCH",
3352
+ tags: ["site-{siteId}", "event-series-{siteId}"],
3353
+ auth: "user",
3354
+ responseKind: "json",
3355
+ errors: [
3356
+ "validation:invalid_input",
3357
+ "auth:forbidden",
3358
+ "resource:not_found",
3359
+ "resource:conflict",
3360
+ "server:internal_error"
3361
+ ]
3362
+ },
3105
3363
  cancelWholeSeriesRun: {
3106
3364
  path: "/sites/{siteId}/bookings/events/{eventId}/runs/{runId}/cancellation",
3107
3365
  method: "POST",
@@ -3114,6 +3372,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3114
3372
  "resource:conflict",
3115
3373
  "server:internal_error"
3116
3374
  ]
3375
+ },
3376
+ /**
3377
+ * The Content tab's one write: the short introduction, image and
3378
+ * description of an event's page, published without its layout.
3379
+ */
3380
+ saveEventPageWords: {
3381
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
3382
+ method: "PUT",
3383
+ tags: [
3384
+ TAG_TEMPLATES.siteCollection,
3385
+ TAG_TEMPLATES.siteRoutableContent,
3386
+ TAG_TEMPLATES.pageSurfaceById
3387
+ ],
3388
+ auth: "user",
3389
+ responseKind: "json",
3390
+ errors: [
3391
+ "auth:forbidden",
3392
+ "validation:invalid_input",
3393
+ "resource:not_found",
3394
+ "resource:conflict",
3395
+ "server:internal_error"
3396
+ ]
3117
3397
  }
3118
3398
  });
3119
3399
  //#endregion
@@ -3546,19 +3826,56 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3546
3826
  responseKind: "json"
3547
3827
  }
3548
3828
  });
3829
+ //#endregion
3830
+ //#region ../api/src/clientErrorReporting.ts
3831
+ const CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ reportClientError: {
3832
+ path: "/client/error-report",
3833
+ method: "POST",
3834
+ auth: "user",
3835
+ errors: [],
3836
+ responseKind: "json"
3837
+ } });
3838
+ const CLIENT_ERROR_REPORT_LIMITS = {
3839
+ pathname: 1024,
3840
+ name: 120,
3841
+ message: 2e3,
3842
+ stack: 8e3,
3843
+ digest: 128,
3844
+ componentStack: 8e3,
3845
+ sourceLocation: 1024
3846
+ };
3847
+ const clientErrorEventSchema = z.enum([
3848
+ "dashboard:route-error",
3849
+ "dashboard:app-error",
3850
+ "client:error-boundary",
3851
+ "client:window-error",
3852
+ "client:unhandled-rejection"
3853
+ ]);
3854
+ z.object({
3855
+ event: clientErrorEventSchema,
3856
+ pathname: z.string().startsWith("/").max(CLIENT_ERROR_REPORT_LIMITS.pathname),
3857
+ name: z.string().max(CLIENT_ERROR_REPORT_LIMITS.name),
3858
+ message: z.string().max(CLIENT_ERROR_REPORT_LIMITS.message),
3859
+ stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
3860
+ digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
3861
+ componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
3862
+ sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
3863
+ }).strict();
3549
3864
  ({
3865
+ ...CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS,
3550
3866
  ...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
3551
3867
  ...ACCOUNT_ENDPOINT_DEFINITIONS,
3552
3868
  ...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
3553
3869
  ...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
3554
3870
  ...GIFTING_ENDPOINT_DEFINITIONS,
3555
3871
  ...PUBLIC_READ_ENDPOINT_DEFINITIONS,
3556
- ...BILLING_ENDPOINT_DEFINITIONS
3872
+ ...BILLING_ENDPOINT_DEFINITIONS,
3873
+ ...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS
3557
3874
  }), TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, { ...SITE_API_KEY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, {
3558
3875
  ...NEWSLETTER_ENDPOINT_DEFINITIONS,
3559
3876
  ...APPOINTMENT_ENDPOINT_DEFINITIONS,
3560
3877
  ...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
3561
- }, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicBookingServices, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, { ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, { ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
3878
+ }, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicBookingServices, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, { ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, { ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS }, { ...SDK_EVENT_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
3562
3879
  z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
3563
3880
  z.object({
3564
3881
  accessToken: z.string().min(1).max(4096),
@@ -26189,13 +26506,13 @@ const hours = stack({
26189
26506
  as: "p",
26190
26507
  className: "rb-caption rb-opacity-70"
26191
26508
  }, bind("module.timeZone"), when("module.timeZone"))], when("module.kind", { equals: "opening-hours" }));
26192
- const socials = inline({ className: "rb-flex rb-flex-wrap rb-gap-x-5 rb-gap-y-3" }, [link({
26509
+ const socials = inline({ className: "rb-footer-socials" }, [link({
26193
26510
  href: { $bind: { from: "social.href" } },
26194
26511
  target: "_blank",
26195
26512
  rel: "noreferrer noopener",
26196
26513
  "aria-label": { $bind: { from: "social.label" } },
26197
- className: "rb-nav-text transition-theme-standard"
26198
- }, [icon({ className: "rb-h-5 rb-w-5" }, bind("social.icon"), when("social.icon")), text({ as: "span" }, bind("social.label"), when("social.icon", { equals: null }))], repeat("module.socialLinks", "social"))], when("module.kind", { equals: "social-links" }));
26514
+ className: "rb-footer-social-link rb-nav-text transition-theme-standard"
26515
+ }, [icon({ className: "rb-footer-social-icon" }, bind("social.icon"), when("social.icon")), text({ as: "span" }, bind("social.label"), when("social.icon", { equals: null }))], repeat("module.socialLinks", "social"))], when("module.kind", { equals: "social-links" }));
26199
26516
  const authoredCopy = richText({
26200
26517
  className: "rb-prose rb-prose-sm rb-max-w-none",
26201
26518
  style: textColorStyle("text/80")
@@ -28280,6 +28597,7 @@ const publicEventLoaderQuerySchemaShape = {
28280
28597
  seriesSlug: z.string().optional(),
28281
28598
  includeOccurrenceId: z.string().optional(),
28282
28599
  readIntent: z.string().optional(),
28600
+ detailAdmission: z.string().optional(),
28283
28601
  detailLevel: z.string().optional(),
28284
28602
  readProfile: z.string().optional()
28285
28603
  };
@@ -28446,11 +28764,11 @@ const publicEventBookingAvailabilitySchema = z.discriminatedUnion("kind", [z.obj
28446
28764
  "series_archived",
28447
28765
  "parent_archived",
28448
28766
  "parent_inconsistent",
28449
- "not_public",
28450
28767
  "already_started",
28451
28768
  "enrollment_closed"
28452
28769
  ])
28453
28770
  })]);
28771
+ const publicEventBookingClosedDetailSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("opensSoon") }), z.object({ kind: z.literal("paused") })]);
28454
28772
  const publicRunSessionSchema = z.object({
28455
28773
  occurrenceId: z.string(),
28456
28774
  startsAt: z.string(),
@@ -28495,6 +28813,7 @@ const publicEventBaseSchema = z.object({
28495
28813
  destination: publicEventDestinationSchema,
28496
28814
  requiresRegistration: z.boolean(),
28497
28815
  bookingAvailability: publicEventBookingAvailabilitySchema,
28816
+ bookingClosedDetail: publicEventBookingClosedDetailSchema.optional(),
28498
28817
  deliveryMode: z.enum([
28499
28818
  "in_person",
28500
28819
  "online",
@@ -36158,6 +36477,11 @@ const mailingListContentVersionIdSchema = z.string().transform((value, ctx) => {
36158
36477
  });
36159
36478
  return z.NEVER;
36160
36479
  });
36480
+ const mailingListSignupBlockSourceRefSchema = z.object({
36481
+ tag: z.literal("block_ref"),
36482
+ blockId: mailingListSignupBlockIdSchema,
36483
+ contentVersionId: mailingListContentVersionIdSchema
36484
+ });
36161
36485
  const signedMailingListSourceTokenSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignedSourceToken);
36162
36486
  const newsletterSourceCommonSchema = z.object({
36163
36487
  siteId: z.string().optional(),
@@ -36172,7 +36496,15 @@ const newsletterSourceSchema = z.discriminatedUnion("source", [
36172
36496
  newsletterSourceCommonSchema.extend({
36173
36497
  source: z.literal("block"),
36174
36498
  blockId: z.string().nullable().optional(),
36175
- contentVersionId: z.string().nullable().optional()
36499
+ newsletterBlockSubmission: z.discriminatedUnion("tag", [
36500
+ z.object({
36501
+ tag: z.literal("ready"),
36502
+ sourceRef: mailingListSignupBlockSourceRefSchema
36503
+ }),
36504
+ z.object({ tag: z.literal("unpublished-form") }),
36505
+ z.object({ tag: z.literal("unpublished-settings") }),
36506
+ z.object({ tag: z.literal("unavailable") })
36507
+ ])
36176
36508
  }),
36177
36509
  newsletterSourceCommonSchema.extend({
36178
36510
  source: z.literal("signed-footer"),
@@ -36201,11 +36533,7 @@ const newsletterHydrationSchema = z.object({
36201
36533
  target: z.discriminatedUnion("tag", [
36202
36534
  z.object({
36203
36535
  tag: z.literal("block-source"),
36204
- sourceRef: z.object({
36205
- tag: z.literal("block_ref"),
36206
- blockId: mailingListSignupBlockIdSchema,
36207
- contentVersionId: mailingListContentVersionIdSchema
36208
- }).nullable()
36536
+ sourceRef: mailingListSignupBlockSourceRefSchema.nullable()
36209
36537
  }),
36210
36538
  z.object({
36211
36539
  tag: z.literal("signed-footer-source"),
@@ -36214,7 +36542,11 @@ const newsletterHydrationSchema = z.object({
36214
36542
  token: signedMailingListSourceTokenSchema
36215
36543
  })
36216
36544
  }),
36217
- z.object({ tag: z.literal("preview") })
36545
+ z.object({ tag: z.literal("preview") }),
36546
+ z.object({
36547
+ tag: z.literal("unpublished-preview"),
36548
+ reason: z.enum(["unpublished-form", "unpublished-settings"])
36549
+ })
36218
36550
  ]),
36219
36551
  setupRevision: z.number().int().positive().nullable(),
36220
36552
  choiceProvider: z.enum([
@@ -36283,16 +36615,21 @@ const newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
36283
36615
  });
36284
36616
  function projectNewsletterFormHydrationTarget(source) {
36285
36617
  switch (source.source) {
36286
- case "block": {
36287
- const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId, source.contentVersionId);
36288
- if (sourceRef?.tag === "block_ref") return {
36618
+ case "block": switch (source.newsletterBlockSubmission.tag) {
36619
+ case "unpublished-form":
36620
+ case "unpublished-settings": return {
36621
+ tag: "unpublished-preview",
36622
+ reason: source.newsletterBlockSubmission.tag
36623
+ };
36624
+ case "ready": return {
36289
36625
  tag: "block-source",
36290
- sourceRef
36626
+ sourceRef: source.newsletterBlockSubmission.sourceRef
36291
36627
  };
36292
- return {
36628
+ case "unavailable": return {
36293
36629
  tag: "block-source",
36294
36630
  sourceRef: null
36295
36631
  };
36632
+ default: return assertNever$2(source.newsletterBlockSubmission);
36296
36633
  }
36297
36634
  case "signed-footer": return {
36298
36635
  tag: "signed-footer-source",
@@ -38845,6 +39182,46 @@ z.object({ acceptExtraSiteCharge: z.boolean().optional() });
38845
39182
  //#region ../surfaces/src/index.ts
38846
39183
  const SURFACE_IDS = ["core", "macadamia"];
38847
39184
  const DEFAULT_SURFACE_ID = "core";
39185
+ /**
39186
+ * Root hosts for each surface, keyed by deployment tier. The tier-keyed shape
39187
+ * makes it impossible to mis-order entries: callers like
39188
+ * `buildSurfaceAwareDashboardOriginForSurfaceId` look up by tier directly
39189
+ * rather than relying on positional alignment between arrays.
39190
+ */
39191
+ const SURFACE_ROOT_HOSTS = {
39192
+ core: {
39193
+ local: "localhost",
39194
+ prod: "riverbankcms.com"
39195
+ },
39196
+ macadamia: {
39197
+ local: "macadamia.localhost",
39198
+ prod: "macadamia.studio"
39199
+ }
39200
+ };
39201
+ const SURFACE_SITE_ROOT_HOSTS = {
39202
+ core: {
39203
+ local: "localhost",
39204
+ prod: "riverbanksites.com"
39205
+ },
39206
+ macadamia: {
39207
+ local: "macadamia.localhost",
39208
+ prod: "macadamia.studio"
39209
+ }
39210
+ };
39211
+ const SURFACE_SITE_ROOT_HOST_ALIASES = { core: { prod: ["preview.riverbanksites.com"] } };
39212
+ function surfaceHostTableValues(table) {
39213
+ return Object.values(table).flatMap((byTier) => Object.values(byTier).flat());
39214
+ }
39215
+ function siteSlugLabelUnderRoot(host, siteRootHost) {
39216
+ if (!host.endsWith(`.${siteRootHost}`)) return [];
39217
+ return host.slice(0, host.length - siteRootHost.length - 1).split(".").slice(-1);
39218
+ }
39219
+ function deriveSurfaceOwnedSiteSlugs() {
39220
+ const siteRootHosts = [...surfaceHostTableValues(SURFACE_SITE_ROOT_HOSTS), ...surfaceHostTableValues(SURFACE_SITE_ROOT_HOST_ALIASES)];
39221
+ const labels = [...surfaceHostTableValues(SURFACE_ROOT_HOSTS), ...siteRootHosts].flatMap((host) => siteRootHosts.flatMap((root) => siteSlugLabelUnderRoot(host, root)));
39222
+ return [...new Set(labels)].sort();
39223
+ }
39224
+ deriveSurfaceOwnedSiteSlugs();
38848
39225
  [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
38849
39226
  //#endregion
38850
39227
  //#region ../api/src/accountApi.ts
@@ -39446,6 +39823,7 @@ function collectText(node) {
39446
39823
  if (node.type === "text") return node.text ?? "";
39447
39824
  return (node.content ?? []).map(collectText).join("");
39448
39825
  }
39826
+ z.enum(["public", "unlisted"], { error: "visibility must be 'public' or 'unlisted'" });
39449
39827
  //#endregion
39450
39828
  //#region ../api/src/bookingPaymentTermSchemas.ts
39451
39829
  const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);