@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
@@ -958,6 +958,13 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
958
958
  errors: [],
959
959
  responseKind: "blob"
960
960
  },
961
+ exportEventOfferingRegistrationsCsv: {
962
+ path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}/registrations/export.csv",
963
+ method: "GET",
964
+ auth: "user",
965
+ errors: [],
966
+ responseKind: "blob"
967
+ },
961
968
  updateEventSeriesRegistration: {
962
969
  path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
963
970
  method: "PATCH",
@@ -968,6 +975,19 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
968
975
  "resource:not_found",
969
976
  "server:internal_error"
970
977
  ]
978
+ },
979
+ saveEventSeriesRegistrationAnswers: {
980
+ path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}/answers",
981
+ method: "PUT",
982
+ auth: "user",
983
+ responseKind: "json",
984
+ errors: [
985
+ "validation:invalid_input",
986
+ "auth:forbidden",
987
+ "resource:not_found",
988
+ "resource:conflict",
989
+ "server:internal_error"
990
+ ]
971
991
  }
972
992
  });
973
993
  //#endregion
@@ -1388,6 +1408,30 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1388
1408
  responseKind: "json",
1389
1409
  demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1390
1410
  },
1411
+ scheduleNewsletterCampaign: {
1412
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/schedule",
1413
+ method: "POST",
1414
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1415
+ auth: "user",
1416
+ responseKind: "json",
1417
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1418
+ },
1419
+ unscheduleNewsletterCampaign: {
1420
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/unschedule",
1421
+ method: "POST",
1422
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1423
+ auth: "user",
1424
+ responseKind: "json",
1425
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1426
+ },
1427
+ stopNewsletterCampaign: {
1428
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/stop",
1429
+ method: "POST",
1430
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1431
+ auth: "user",
1432
+ responseKind: "json",
1433
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1434
+ },
1391
1435
  testSendNewsletterCampaign: {
1392
1436
  path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
1393
1437
  method: "POST",
@@ -1398,6 +1442,154 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1398
1442
  }
1399
1443
  });
1400
1444
  //#endregion
1445
+ //#region ../api/src/sdkEventEndpointDefinitions.ts
1446
+ /**
1447
+ * The SDK's Event graph: the Events themselves and the occurrences of one run.
1448
+ * Extracted from `endpoints.ts` so this family can be read, and added to, on
1449
+ * its own. New entries here must declare `errors`; the
1450
+ * require-api-endpoint-errors lint enforces that here as in endpoints.ts.
1451
+ */
1452
+ const SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1453
+ sdkListEvents: {
1454
+ path: "/sdk/{siteId}/events",
1455
+ method: "GET",
1456
+ auth: "service",
1457
+ responseKind: "json"
1458
+ },
1459
+ sdkUpsertEvent: {
1460
+ path: "/sdk/{siteId}/events",
1461
+ method: "POST",
1462
+ auth: "service",
1463
+ responseKind: "json",
1464
+ errors: [
1465
+ "validation:invalid_input",
1466
+ "resource:not_found",
1467
+ "resource:conflict",
1468
+ "billing:plan_limit_exceeded",
1469
+ "server:internal_error"
1470
+ ]
1471
+ },
1472
+ sdkGetEvent: {
1473
+ path: "/sdk/{siteId}/events/{identifier}",
1474
+ method: "GET",
1475
+ auth: "service",
1476
+ responseKind: "json"
1477
+ },
1478
+ sdkDeleteEvent: {
1479
+ path: "/sdk/{siteId}/events/{identifier}",
1480
+ method: "DELETE",
1481
+ auth: "service",
1482
+ responseKind: "json",
1483
+ errors: [
1484
+ "resource:not_found",
1485
+ "resource:conflict",
1486
+ "server:internal_error"
1487
+ ]
1488
+ },
1489
+ sdkTakeEventOffline: {
1490
+ path: "/sdk/{siteId}/events/{identifier}/lifecycle",
1491
+ method: "POST",
1492
+ auth: "service",
1493
+ responseKind: "json",
1494
+ errors: [
1495
+ "resource:not_found",
1496
+ "validation:invalid_input",
1497
+ "resource:conflict",
1498
+ "server:internal_error"
1499
+ ]
1500
+ },
1501
+ sdkListEventOccurrences: {
1502
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
1503
+ method: "GET",
1504
+ auth: "service",
1505
+ responseKind: "json",
1506
+ errors: [
1507
+ "resource:not_found",
1508
+ "validation:invalid_input",
1509
+ "server:internal_error"
1510
+ ]
1511
+ },
1512
+ sdkAddEventOccurrence: {
1513
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
1514
+ method: "POST",
1515
+ auth: "service",
1516
+ responseKind: "json",
1517
+ errors: [
1518
+ "resource:not_found",
1519
+ "validation:invalid_input",
1520
+ "resource:conflict",
1521
+ "server:internal_error"
1522
+ ]
1523
+ },
1524
+ sdkUpdateEventOccurrence: {
1525
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
1526
+ method: "PATCH",
1527
+ auth: "service",
1528
+ responseKind: "json",
1529
+ errors: [
1530
+ "resource:not_found",
1531
+ "validation:invalid_input",
1532
+ "resource:conflict",
1533
+ "server:internal_error"
1534
+ ]
1535
+ },
1536
+ sdkCancelEventOccurrence: {
1537
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel",
1538
+ method: "POST",
1539
+ auth: "service",
1540
+ responseKind: "json",
1541
+ errors: [
1542
+ "resource:not_found",
1543
+ "resource:conflict",
1544
+ "server:internal_error"
1545
+ ]
1546
+ },
1547
+ sdkDeleteEventOccurrence: {
1548
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
1549
+ method: "DELETE",
1550
+ auth: "service",
1551
+ responseKind: "json",
1552
+ errors: [
1553
+ "resource:not_found",
1554
+ "resource:conflict",
1555
+ "server:internal_error"
1556
+ ]
1557
+ }
1558
+ });
1559
+ //#endregion
1560
+ //#region ../api/src/sdkPageDesignEndpointDefinitions.ts
1561
+ /**
1562
+ * SDK management endpoints for a page's draft design (issue 1497), spread into
1563
+ * `ENDPOINT_DEFINITIONS` like the other endpoint-definition modules. New
1564
+ * entries here must declare `errors`, which the require-api-endpoint-errors
1565
+ * lint enforces.
1566
+ */
1567
+ const SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1568
+ sdkGetPageDesign: {
1569
+ path: "/sdk/{siteId}/pages/{identifier}/design",
1570
+ method: "GET",
1571
+ auth: "service",
1572
+ responseKind: "json",
1573
+ errors: [
1574
+ "resource:not_found",
1575
+ "validation:invalid_input",
1576
+ "server:internal_error"
1577
+ ]
1578
+ },
1579
+ sdkSavePageDesign: {
1580
+ path: "/sdk/{siteId}/pages/{identifier}/design",
1581
+ method: "POST",
1582
+ auth: "service",
1583
+ responseKind: "json",
1584
+ errors: [
1585
+ "resource:not_found",
1586
+ "validation:invalid_input",
1587
+ "resource:conflict",
1588
+ "server:internal_error"
1589
+ ]
1590
+ }
1591
+ });
1592
+ //#endregion
1401
1593
  //#region ../core/src/result.ts
1402
1594
  function ok(value) {
1403
1595
  return {
@@ -2295,15 +2487,6 @@ function parseMailingListContentVersionId(value) {
2295
2487
  const parsed = parseContentVersionId(value);
2296
2488
  return parsed.ok ? parsed.value : null;
2297
2489
  }
2298
- function buildMailingListSignupBlockSourceRef(blockId, contentVersionId) {
2299
- const parsedBlockId = parseMailingListBlockId(blockId);
2300
- const parsedContentVersionId = parseMailingListContentVersionId(contentVersionId);
2301
- return parsedBlockId !== null && parsedContentVersionId !== null ? {
2302
- tag: "block_ref",
2303
- blockId: parsedBlockId,
2304
- contentVersionId: parsedContentVersionId
2305
- } : null;
2306
- }
2307
2490
  //#endregion
2308
2491
  //#region ../core/src/secret.ts
2309
2492
  /**
@@ -2952,6 +3135,45 @@ const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
2952
3135
  }
2953
3136
  });
2954
3137
  //#endregion
3138
+ //#region ../api/src/siteManagementEndpointDefinitions.ts
3139
+ const SITE_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3140
+ createSite: {
3141
+ path: "/sites/manage",
3142
+ method: "POST",
3143
+ tags: ["site"],
3144
+ auth: "user",
3145
+ responseKind: "json"
3146
+ },
3147
+ updateSite: {
3148
+ path: "/sites/manage",
3149
+ method: "PUT",
3150
+ tags: ["site"],
3151
+ auth: "user",
3152
+ responseKind: "json"
3153
+ },
3154
+ changeSiteAddress: {
3155
+ path: "/sites/{siteId}/address",
3156
+ method: "PUT",
3157
+ auth: "user",
3158
+ responseKind: "json",
3159
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
3160
+ },
3161
+ getSiteAddressAvailability: {
3162
+ path: "/sites/{siteId}/address/availability",
3163
+ method: "GET",
3164
+ auth: "user",
3165
+ responseKind: "json"
3166
+ },
3167
+ deleteSite: {
3168
+ path: "/sites/{siteId}",
3169
+ method: "DELETE",
3170
+ tags: ["site", "site-{siteId}"],
3171
+ auth: "user",
3172
+ responseKind: "json",
3173
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
3174
+ }
3175
+ });
3176
+ //#endregion
2955
3177
  //#region ../api/src/eventManagementEndpointDefinitions.ts
2956
3178
  const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
2957
3179
  listEvents: {
@@ -2999,6 +3221,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
2999
3221
  "server:internal_error"
3000
3222
  ]
3001
3223
  },
3224
+ /**
3225
+ * The web address of an event's own page. A course page belongs to the
3226
+ * event itself, so its address is written here rather than through a run.
3227
+ */
3228
+ updateEventAddress: {
3229
+ path: "/sites/{siteId}/bookings/events/{eventId}/address",
3230
+ method: "PATCH",
3231
+ tags: [
3232
+ "site-{siteId}",
3233
+ "event-series-{siteId}",
3234
+ TAG_TEMPLATES.siteRoutableContent,
3235
+ TAG_TEMPLATES.siteRedirects
3236
+ ],
3237
+ auth: "user",
3238
+ responseKind: "json",
3239
+ errors: [
3240
+ "validation:invalid_input",
3241
+ "resource:not_found",
3242
+ "resource:conflict",
3243
+ "server:internal_error"
3244
+ ]
3245
+ },
3002
3246
  createWholeSeriesRun: {
3003
3247
  path: "/sites/{siteId}/bookings/events/{eventId}/runs",
3004
3248
  method: "POST",
@@ -3025,6 +3269,20 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3025
3269
  "server:internal_error"
3026
3270
  ]
3027
3271
  },
3272
+ updateCourseBookingSettings: {
3273
+ path: "/sites/{siteId}/bookings/events/{eventId}/booking-settings",
3274
+ method: "PATCH",
3275
+ tags: ["site-{siteId}", "event-series-{siteId}"],
3276
+ auth: "user",
3277
+ responseKind: "json",
3278
+ errors: [
3279
+ "validation:invalid_input",
3280
+ "auth:forbidden",
3281
+ "resource:not_found",
3282
+ "resource:conflict",
3283
+ "server:internal_error"
3284
+ ]
3285
+ },
3028
3286
  cancelWholeSeriesRun: {
3029
3287
  path: "/sites/{siteId}/bookings/events/{eventId}/runs/{runId}/cancellation",
3030
3288
  method: "POST",
@@ -3037,6 +3295,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3037
3295
  "resource:conflict",
3038
3296
  "server:internal_error"
3039
3297
  ]
3298
+ },
3299
+ /**
3300
+ * The Content tab's one write: the short introduction, image and
3301
+ * description of an event's page, published without its layout.
3302
+ */
3303
+ saveEventPageWords: {
3304
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
3305
+ method: "PUT",
3306
+ tags: [
3307
+ TAG_TEMPLATES.siteCollection,
3308
+ TAG_TEMPLATES.siteRoutableContent,
3309
+ TAG_TEMPLATES.pageSurfaceById
3310
+ ],
3311
+ auth: "user",
3312
+ responseKind: "json",
3313
+ errors: [
3314
+ "auth:forbidden",
3315
+ "validation:invalid_input",
3316
+ "resource:not_found",
3317
+ "resource:conflict",
3318
+ "server:internal_error"
3319
+ ]
3040
3320
  }
3041
3321
  });
3042
3322
  //#endregion
@@ -3469,19 +3749,56 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3469
3749
  responseKind: "json"
3470
3750
  }
3471
3751
  });
3752
+ //#endregion
3753
+ //#region ../api/src/clientErrorReporting.ts
3754
+ const CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ reportClientError: {
3755
+ path: "/client/error-report",
3756
+ method: "POST",
3757
+ auth: "user",
3758
+ errors: [],
3759
+ responseKind: "json"
3760
+ } });
3761
+ const CLIENT_ERROR_REPORT_LIMITS = {
3762
+ pathname: 1024,
3763
+ name: 120,
3764
+ message: 2e3,
3765
+ stack: 8e3,
3766
+ digest: 128,
3767
+ componentStack: 8e3,
3768
+ sourceLocation: 1024
3769
+ };
3770
+ const clientErrorEventSchema = z.enum([
3771
+ "dashboard:route-error",
3772
+ "dashboard:app-error",
3773
+ "client:error-boundary",
3774
+ "client:window-error",
3775
+ "client:unhandled-rejection"
3776
+ ]);
3777
+ z.object({
3778
+ event: clientErrorEventSchema,
3779
+ pathname: z.string().startsWith("/").max(CLIENT_ERROR_REPORT_LIMITS.pathname),
3780
+ name: z.string().max(CLIENT_ERROR_REPORT_LIMITS.name),
3781
+ message: z.string().max(CLIENT_ERROR_REPORT_LIMITS.message),
3782
+ stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
3783
+ digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
3784
+ componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
3785
+ sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
3786
+ }).strict();
3472
3787
  ({
3788
+ ...CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS,
3473
3789
  ...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
3474
3790
  ...ACCOUNT_ENDPOINT_DEFINITIONS,
3475
3791
  ...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
3476
3792
  ...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
3477
3793
  ...GIFTING_ENDPOINT_DEFINITIONS,
3478
3794
  ...PUBLIC_READ_ENDPOINT_DEFINITIONS,
3479
- ...BILLING_ENDPOINT_DEFINITIONS
3795
+ ...BILLING_ENDPOINT_DEFINITIONS,
3796
+ ...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS
3480
3797
  }), 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, {
3481
3798
  ...NEWSLETTER_ENDPOINT_DEFINITIONS,
3482
3799
  ...APPOINTMENT_ENDPOINT_DEFINITIONS,
3483
3800
  ...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
3484
- }, 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 };
3801
+ }, 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 };
3485
3802
  z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
3486
3803
  z.object({
3487
3804
  accessToken: z.string().min(1).max(4096),
@@ -26112,13 +26429,13 @@ const hours = stack({
26112
26429
  as: "p",
26113
26430
  className: "rb-caption rb-opacity-70"
26114
26431
  }, bind("module.timeZone"), when("module.timeZone"))], when("module.kind", { equals: "opening-hours" }));
26115
- const socials = inline({ className: "rb-flex rb-flex-wrap rb-gap-x-5 rb-gap-y-3" }, [link({
26432
+ const socials = inline({ className: "rb-footer-socials" }, [link({
26116
26433
  href: { $bind: { from: "social.href" } },
26117
26434
  target: "_blank",
26118
26435
  rel: "noreferrer noopener",
26119
26436
  "aria-label": { $bind: { from: "social.label" } },
26120
- className: "rb-nav-text transition-theme-standard"
26121
- }, [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" }));
26437
+ className: "rb-footer-social-link rb-nav-text transition-theme-standard"
26438
+ }, [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" }));
26122
26439
  const authoredCopy = richText({
26123
26440
  className: "rb-prose rb-prose-sm rb-max-w-none",
26124
26441
  style: textColorStyle("text/80")
@@ -28203,6 +28520,7 @@ const publicEventLoaderQuerySchemaShape = {
28203
28520
  seriesSlug: z.string().optional(),
28204
28521
  includeOccurrenceId: z.string().optional(),
28205
28522
  readIntent: z.string().optional(),
28523
+ detailAdmission: z.string().optional(),
28206
28524
  detailLevel: z.string().optional(),
28207
28525
  readProfile: z.string().optional()
28208
28526
  };
@@ -28369,11 +28687,11 @@ const publicEventBookingAvailabilitySchema = z.discriminatedUnion("kind", [z.obj
28369
28687
  "series_archived",
28370
28688
  "parent_archived",
28371
28689
  "parent_inconsistent",
28372
- "not_public",
28373
28690
  "already_started",
28374
28691
  "enrollment_closed"
28375
28692
  ])
28376
28693
  })]);
28694
+ const publicEventBookingClosedDetailSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("opensSoon") }), z.object({ kind: z.literal("paused") })]);
28377
28695
  const publicRunSessionSchema = z.object({
28378
28696
  occurrenceId: z.string(),
28379
28697
  startsAt: z.string(),
@@ -28418,6 +28736,7 @@ const publicEventBaseSchema = z.object({
28418
28736
  destination: publicEventDestinationSchema,
28419
28737
  requiresRegistration: z.boolean(),
28420
28738
  bookingAvailability: publicEventBookingAvailabilitySchema,
28739
+ bookingClosedDetail: publicEventBookingClosedDetailSchema.optional(),
28421
28740
  deliveryMode: z.enum([
28422
28741
  "in_person",
28423
28742
  "online",
@@ -36081,6 +36400,11 @@ const mailingListContentVersionIdSchema = z.string().transform((value, ctx) => {
36081
36400
  });
36082
36401
  return z.NEVER;
36083
36402
  });
36403
+ const mailingListSignupBlockSourceRefSchema = z.object({
36404
+ tag: z.literal("block_ref"),
36405
+ blockId: mailingListSignupBlockIdSchema,
36406
+ contentVersionId: mailingListContentVersionIdSchema
36407
+ });
36084
36408
  const signedMailingListSourceTokenSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignedSourceToken);
36085
36409
  const newsletterSourceCommonSchema = z.object({
36086
36410
  siteId: z.string().optional(),
@@ -36095,7 +36419,15 @@ const newsletterSourceSchema = z.discriminatedUnion("source", [
36095
36419
  newsletterSourceCommonSchema.extend({
36096
36420
  source: z.literal("block"),
36097
36421
  blockId: z.string().nullable().optional(),
36098
- contentVersionId: z.string().nullable().optional()
36422
+ newsletterBlockSubmission: z.discriminatedUnion("tag", [
36423
+ z.object({
36424
+ tag: z.literal("ready"),
36425
+ sourceRef: mailingListSignupBlockSourceRefSchema
36426
+ }),
36427
+ z.object({ tag: z.literal("unpublished-form") }),
36428
+ z.object({ tag: z.literal("unpublished-settings") }),
36429
+ z.object({ tag: z.literal("unavailable") })
36430
+ ])
36099
36431
  }),
36100
36432
  newsletterSourceCommonSchema.extend({
36101
36433
  source: z.literal("signed-footer"),
@@ -36124,11 +36456,7 @@ const newsletterHydrationSchema = z.object({
36124
36456
  target: z.discriminatedUnion("tag", [
36125
36457
  z.object({
36126
36458
  tag: z.literal("block-source"),
36127
- sourceRef: z.object({
36128
- tag: z.literal("block_ref"),
36129
- blockId: mailingListSignupBlockIdSchema,
36130
- contentVersionId: mailingListContentVersionIdSchema
36131
- }).nullable()
36459
+ sourceRef: mailingListSignupBlockSourceRefSchema.nullable()
36132
36460
  }),
36133
36461
  z.object({
36134
36462
  tag: z.literal("signed-footer-source"),
@@ -36137,7 +36465,11 @@ const newsletterHydrationSchema = z.object({
36137
36465
  token: signedMailingListSourceTokenSchema
36138
36466
  })
36139
36467
  }),
36140
- z.object({ tag: z.literal("preview") })
36468
+ z.object({ tag: z.literal("preview") }),
36469
+ z.object({
36470
+ tag: z.literal("unpublished-preview"),
36471
+ reason: z.enum(["unpublished-form", "unpublished-settings"])
36472
+ })
36141
36473
  ]),
36142
36474
  setupRevision: z.number().int().positive().nullable(),
36143
36475
  choiceProvider: z.enum([
@@ -36206,16 +36538,21 @@ const newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
36206
36538
  });
36207
36539
  function projectNewsletterFormHydrationTarget(source) {
36208
36540
  switch (source.source) {
36209
- case "block": {
36210
- const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId, source.contentVersionId);
36211
- if (sourceRef?.tag === "block_ref") return {
36541
+ case "block": switch (source.newsletterBlockSubmission.tag) {
36542
+ case "unpublished-form":
36543
+ case "unpublished-settings": return {
36544
+ tag: "unpublished-preview",
36545
+ reason: source.newsletterBlockSubmission.tag
36546
+ };
36547
+ case "ready": return {
36212
36548
  tag: "block-source",
36213
- sourceRef
36549
+ sourceRef: source.newsletterBlockSubmission.sourceRef
36214
36550
  };
36215
- return {
36551
+ case "unavailable": return {
36216
36552
  tag: "block-source",
36217
36553
  sourceRef: null
36218
36554
  };
36555
+ default: return assertNever$2(source.newsletterBlockSubmission);
36219
36556
  }
36220
36557
  case "signed-footer": return {
36221
36558
  tag: "signed-footer-source",
@@ -38768,6 +39105,46 @@ z.object({ acceptExtraSiteCharge: z.boolean().optional() });
38768
39105
  //#region ../surfaces/src/index.ts
38769
39106
  const SURFACE_IDS = ["core", "macadamia"];
38770
39107
  const DEFAULT_SURFACE_ID = "core";
39108
+ /**
39109
+ * Root hosts for each surface, keyed by deployment tier. The tier-keyed shape
39110
+ * makes it impossible to mis-order entries: callers like
39111
+ * `buildSurfaceAwareDashboardOriginForSurfaceId` look up by tier directly
39112
+ * rather than relying on positional alignment between arrays.
39113
+ */
39114
+ const SURFACE_ROOT_HOSTS = {
39115
+ core: {
39116
+ local: "localhost",
39117
+ prod: "riverbankcms.com"
39118
+ },
39119
+ macadamia: {
39120
+ local: "macadamia.localhost",
39121
+ prod: "macadamia.studio"
39122
+ }
39123
+ };
39124
+ const SURFACE_SITE_ROOT_HOSTS = {
39125
+ core: {
39126
+ local: "localhost",
39127
+ prod: "riverbanksites.com"
39128
+ },
39129
+ macadamia: {
39130
+ local: "macadamia.localhost",
39131
+ prod: "macadamia.studio"
39132
+ }
39133
+ };
39134
+ const SURFACE_SITE_ROOT_HOST_ALIASES = { core: { prod: ["preview.riverbanksites.com"] } };
39135
+ function surfaceHostTableValues(table) {
39136
+ return Object.values(table).flatMap((byTier) => Object.values(byTier).flat());
39137
+ }
39138
+ function siteSlugLabelUnderRoot(host, siteRootHost) {
39139
+ if (!host.endsWith(`.${siteRootHost}`)) return [];
39140
+ return host.slice(0, host.length - siteRootHost.length - 1).split(".").slice(-1);
39141
+ }
39142
+ function deriveSurfaceOwnedSiteSlugs() {
39143
+ const siteRootHosts = [...surfaceHostTableValues(SURFACE_SITE_ROOT_HOSTS), ...surfaceHostTableValues(SURFACE_SITE_ROOT_HOST_ALIASES)];
39144
+ const labels = [...surfaceHostTableValues(SURFACE_ROOT_HOSTS), ...siteRootHosts].flatMap((host) => siteRootHosts.flatMap((root) => siteSlugLabelUnderRoot(host, root)));
39145
+ return [...new Set(labels)].sort();
39146
+ }
39147
+ deriveSurfaceOwnedSiteSlugs();
38771
39148
  [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
38772
39149
  //#endregion
38773
39150
  //#region ../api/src/accountApi.ts
@@ -39369,6 +39746,7 @@ function collectText(node) {
39369
39746
  if (node.type === "text") return node.text ?? "";
39370
39747
  return (node.content ?? []).map(collectText).join("");
39371
39748
  }
39749
+ z.enum(["public", "unlisted"], { error: "visibility must be 'public' or 'unlisted'" });
39372
39750
  //#endregion
39373
39751
  //#region ../api/src/bookingPaymentTermSchemas.ts
39374
39752
  const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);