@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
@@ -1,3 +1,4 @@
1
+ import { z } from "zod";
1
2
  import * as fs from "fs";
2
3
  import * as path from "path";
3
4
  import * as crypto$1 from "crypto";
@@ -967,6 +968,13 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
967
968
  errors: [],
968
969
  responseKind: "blob"
969
970
  },
971
+ exportEventOfferingRegistrationsCsv: {
972
+ path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}/registrations/export.csv",
973
+ method: "GET",
974
+ auth: "user",
975
+ errors: [],
976
+ responseKind: "blob"
977
+ },
970
978
  updateEventSeriesRegistration: {
971
979
  path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
972
980
  method: "PATCH",
@@ -977,6 +985,19 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
977
985
  "resource:not_found",
978
986
  "server:internal_error"
979
987
  ]
988
+ },
989
+ saveEventSeriesRegistrationAnswers: {
990
+ path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}/answers",
991
+ method: "PUT",
992
+ auth: "user",
993
+ responseKind: "json",
994
+ errors: [
995
+ "validation:invalid_input",
996
+ "auth:forbidden",
997
+ "resource:not_found",
998
+ "resource:conflict",
999
+ "server:internal_error"
1000
+ ]
980
1001
  }
981
1002
  });
982
1003
  //#endregion
@@ -1397,6 +1418,30 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1397
1418
  responseKind: "json",
1398
1419
  demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1399
1420
  },
1421
+ scheduleNewsletterCampaign: {
1422
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/schedule",
1423
+ method: "POST",
1424
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1425
+ auth: "user",
1426
+ responseKind: "json",
1427
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1428
+ },
1429
+ unscheduleNewsletterCampaign: {
1430
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/unschedule",
1431
+ method: "POST",
1432
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1433
+ auth: "user",
1434
+ responseKind: "json",
1435
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1436
+ },
1437
+ stopNewsletterCampaign: {
1438
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/stop",
1439
+ method: "POST",
1440
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
1441
+ auth: "user",
1442
+ responseKind: "json",
1443
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1444
+ },
1400
1445
  testSendNewsletterCampaign: {
1401
1446
  path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
1402
1447
  method: "POST",
@@ -1406,6 +1451,154 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1406
1451
  demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1407
1452
  }
1408
1453
  });
1454
+ //#endregion
1455
+ //#region ../api/src/sdkEventEndpointDefinitions.ts
1456
+ /**
1457
+ * The SDK's Event graph: the Events themselves and the occurrences of one run.
1458
+ * Extracted from `endpoints.ts` so this family can be read, and added to, on
1459
+ * its own. New entries here must declare `errors`; the
1460
+ * require-api-endpoint-errors lint enforces that here as in endpoints.ts.
1461
+ */
1462
+ const SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1463
+ sdkListEvents: {
1464
+ path: "/sdk/{siteId}/events",
1465
+ method: "GET",
1466
+ auth: "service",
1467
+ responseKind: "json"
1468
+ },
1469
+ sdkUpsertEvent: {
1470
+ path: "/sdk/{siteId}/events",
1471
+ method: "POST",
1472
+ auth: "service",
1473
+ responseKind: "json",
1474
+ errors: [
1475
+ "validation:invalid_input",
1476
+ "resource:not_found",
1477
+ "resource:conflict",
1478
+ "billing:plan_limit_exceeded",
1479
+ "server:internal_error"
1480
+ ]
1481
+ },
1482
+ sdkGetEvent: {
1483
+ path: "/sdk/{siteId}/events/{identifier}",
1484
+ method: "GET",
1485
+ auth: "service",
1486
+ responseKind: "json"
1487
+ },
1488
+ sdkDeleteEvent: {
1489
+ path: "/sdk/{siteId}/events/{identifier}",
1490
+ method: "DELETE",
1491
+ auth: "service",
1492
+ responseKind: "json",
1493
+ errors: [
1494
+ "resource:not_found",
1495
+ "resource:conflict",
1496
+ "server:internal_error"
1497
+ ]
1498
+ },
1499
+ sdkTakeEventOffline: {
1500
+ path: "/sdk/{siteId}/events/{identifier}/lifecycle",
1501
+ method: "POST",
1502
+ auth: "service",
1503
+ responseKind: "json",
1504
+ errors: [
1505
+ "resource:not_found",
1506
+ "validation:invalid_input",
1507
+ "resource:conflict",
1508
+ "server:internal_error"
1509
+ ]
1510
+ },
1511
+ sdkListEventOccurrences: {
1512
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
1513
+ method: "GET",
1514
+ auth: "service",
1515
+ responseKind: "json",
1516
+ errors: [
1517
+ "resource:not_found",
1518
+ "validation:invalid_input",
1519
+ "server:internal_error"
1520
+ ]
1521
+ },
1522
+ sdkAddEventOccurrence: {
1523
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
1524
+ method: "POST",
1525
+ auth: "service",
1526
+ responseKind: "json",
1527
+ errors: [
1528
+ "resource:not_found",
1529
+ "validation:invalid_input",
1530
+ "resource:conflict",
1531
+ "server:internal_error"
1532
+ ]
1533
+ },
1534
+ sdkUpdateEventOccurrence: {
1535
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
1536
+ method: "PATCH",
1537
+ auth: "service",
1538
+ responseKind: "json",
1539
+ errors: [
1540
+ "resource:not_found",
1541
+ "validation:invalid_input",
1542
+ "resource:conflict",
1543
+ "server:internal_error"
1544
+ ]
1545
+ },
1546
+ sdkCancelEventOccurrence: {
1547
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel",
1548
+ method: "POST",
1549
+ auth: "service",
1550
+ responseKind: "json",
1551
+ errors: [
1552
+ "resource:not_found",
1553
+ "resource:conflict",
1554
+ "server:internal_error"
1555
+ ]
1556
+ },
1557
+ sdkDeleteEventOccurrence: {
1558
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
1559
+ method: "DELETE",
1560
+ auth: "service",
1561
+ responseKind: "json",
1562
+ errors: [
1563
+ "resource:not_found",
1564
+ "resource:conflict",
1565
+ "server:internal_error"
1566
+ ]
1567
+ }
1568
+ });
1569
+ //#endregion
1570
+ //#region ../api/src/sdkPageDesignEndpointDefinitions.ts
1571
+ /**
1572
+ * SDK management endpoints for a page's draft design (issue 1497), spread into
1573
+ * `ENDPOINT_DEFINITIONS` like the other endpoint-definition modules. New
1574
+ * entries here must declare `errors`, which the require-api-endpoint-errors
1575
+ * lint enforces.
1576
+ */
1577
+ const SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1578
+ sdkGetPageDesign: {
1579
+ path: "/sdk/{siteId}/pages/{identifier}/design",
1580
+ method: "GET",
1581
+ auth: "service",
1582
+ responseKind: "json",
1583
+ errors: [
1584
+ "resource:not_found",
1585
+ "validation:invalid_input",
1586
+ "server:internal_error"
1587
+ ]
1588
+ },
1589
+ sdkSavePageDesign: {
1590
+ path: "/sdk/{siteId}/pages/{identifier}/design",
1591
+ method: "POST",
1592
+ auth: "service",
1593
+ responseKind: "json",
1594
+ errors: [
1595
+ "resource:not_found",
1596
+ "validation:invalid_input",
1597
+ "resource:conflict",
1598
+ "server:internal_error"
1599
+ ]
1600
+ }
1601
+ });
1409
1602
  const PUBLIC_CONTENT_FRESHNESS_SECONDS = 3600;
1410
1603
  function availability(transport) {
1411
1604
  return {
@@ -1704,6 +1897,45 @@ const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1704
1897
  }
1705
1898
  });
1706
1899
  //#endregion
1900
+ //#region ../api/src/siteManagementEndpointDefinitions.ts
1901
+ const SITE_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1902
+ createSite: {
1903
+ path: "/sites/manage",
1904
+ method: "POST",
1905
+ tags: ["site"],
1906
+ auth: "user",
1907
+ responseKind: "json"
1908
+ },
1909
+ updateSite: {
1910
+ path: "/sites/manage",
1911
+ method: "PUT",
1912
+ tags: ["site"],
1913
+ auth: "user",
1914
+ responseKind: "json"
1915
+ },
1916
+ changeSiteAddress: {
1917
+ path: "/sites/{siteId}/address",
1918
+ method: "PUT",
1919
+ auth: "user",
1920
+ responseKind: "json",
1921
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
1922
+ },
1923
+ getSiteAddressAvailability: {
1924
+ path: "/sites/{siteId}/address/availability",
1925
+ method: "GET",
1926
+ auth: "user",
1927
+ responseKind: "json"
1928
+ },
1929
+ deleteSite: {
1930
+ path: "/sites/{siteId}",
1931
+ method: "DELETE",
1932
+ tags: ["site", "site-{siteId}"],
1933
+ auth: "user",
1934
+ responseKind: "json",
1935
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1936
+ }
1937
+ });
1938
+ //#endregion
1707
1939
  //#region ../api/src/eventManagementEndpointDefinitions.ts
1708
1940
  const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1709
1941
  listEvents: {
@@ -1751,6 +1983,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1751
1983
  "server:internal_error"
1752
1984
  ]
1753
1985
  },
1986
+ /**
1987
+ * The web address of an event's own page. A course page belongs to the
1988
+ * event itself, so its address is written here rather than through a run.
1989
+ */
1990
+ updateEventAddress: {
1991
+ path: "/sites/{siteId}/bookings/events/{eventId}/address",
1992
+ method: "PATCH",
1993
+ tags: [
1994
+ "site-{siteId}",
1995
+ "event-series-{siteId}",
1996
+ TAG_TEMPLATES.siteRoutableContent,
1997
+ TAG_TEMPLATES.siteRedirects
1998
+ ],
1999
+ auth: "user",
2000
+ responseKind: "json",
2001
+ errors: [
2002
+ "validation:invalid_input",
2003
+ "resource:not_found",
2004
+ "resource:conflict",
2005
+ "server:internal_error"
2006
+ ]
2007
+ },
1754
2008
  createWholeSeriesRun: {
1755
2009
  path: "/sites/{siteId}/bookings/events/{eventId}/runs",
1756
2010
  method: "POST",
@@ -1777,6 +2031,20 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1777
2031
  "server:internal_error"
1778
2032
  ]
1779
2033
  },
2034
+ updateCourseBookingSettings: {
2035
+ path: "/sites/{siteId}/bookings/events/{eventId}/booking-settings",
2036
+ method: "PATCH",
2037
+ tags: ["site-{siteId}", "event-series-{siteId}"],
2038
+ auth: "user",
2039
+ responseKind: "json",
2040
+ errors: [
2041
+ "validation:invalid_input",
2042
+ "auth:forbidden",
2043
+ "resource:not_found",
2044
+ "resource:conflict",
2045
+ "server:internal_error"
2046
+ ]
2047
+ },
1780
2048
  cancelWholeSeriesRun: {
1781
2049
  path: "/sites/{siteId}/bookings/events/{eventId}/runs/{runId}/cancellation",
1782
2050
  method: "POST",
@@ -1789,6 +2057,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1789
2057
  "resource:conflict",
1790
2058
  "server:internal_error"
1791
2059
  ]
2060
+ },
2061
+ /**
2062
+ * The Content tab's one write: the short introduction, image and
2063
+ * description of an event's page, published without its layout.
2064
+ */
2065
+ saveEventPageWords: {
2066
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
2067
+ method: "PUT",
2068
+ tags: [
2069
+ TAG_TEMPLATES.siteCollection,
2070
+ TAG_TEMPLATES.siteRoutableContent,
2071
+ TAG_TEMPLATES.pageSurfaceById
2072
+ ],
2073
+ auth: "user",
2074
+ responseKind: "json",
2075
+ errors: [
2076
+ "auth:forbidden",
2077
+ "validation:invalid_input",
2078
+ "resource:not_found",
2079
+ "resource:conflict",
2080
+ "server:internal_error"
2081
+ ]
1792
2082
  }
1793
2083
  });
1794
2084
  //#endregion
@@ -2221,7 +2511,43 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
2221
2511
  responseKind: "json"
2222
2512
  }
2223
2513
  });
2514
+ //#endregion
2515
+ //#region ../api/src/clientErrorReporting.ts
2516
+ const CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ reportClientError: {
2517
+ path: "/client/error-report",
2518
+ method: "POST",
2519
+ auth: "user",
2520
+ errors: [],
2521
+ responseKind: "json"
2522
+ } });
2523
+ const CLIENT_ERROR_REPORT_LIMITS = {
2524
+ pathname: 1024,
2525
+ name: 120,
2526
+ message: 2e3,
2527
+ stack: 8e3,
2528
+ digest: 128,
2529
+ componentStack: 8e3,
2530
+ sourceLocation: 1024
2531
+ };
2532
+ const clientErrorEventSchema = z.enum([
2533
+ "dashboard:route-error",
2534
+ "dashboard:app-error",
2535
+ "client:error-boundary",
2536
+ "client:window-error",
2537
+ "client:unhandled-rejection"
2538
+ ]);
2539
+ z.object({
2540
+ event: clientErrorEventSchema,
2541
+ pathname: z.string().startsWith("/").max(CLIENT_ERROR_REPORT_LIMITS.pathname),
2542
+ name: z.string().max(CLIENT_ERROR_REPORT_LIMITS.name),
2543
+ message: z.string().max(CLIENT_ERROR_REPORT_LIMITS.message),
2544
+ stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
2545
+ digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
2546
+ componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
2547
+ sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
2548
+ }).strict();
2224
2549
  const API_ENDPOINTS$1 = {
2550
+ ...CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS,
2225
2551
  ...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
2226
2552
  ...ACCOUNT_ENDPOINT_DEFINITIONS,
2227
2553
  ...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
@@ -2229,6 +2555,7 @@ const API_ENDPOINTS$1 = {
2229
2555
  ...GIFTING_ENDPOINT_DEFINITIONS,
2230
2556
  ...PUBLIC_READ_ENDPOINT_DEFINITIONS,
2231
2557
  ...BILLING_ENDPOINT_DEFINITIONS,
2558
+ ...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS,
2232
2559
  aiContentUpdateChat: {
2233
2560
  path: "/ai/content-update-chat",
2234
2561
  method: "POST",
@@ -2755,13 +3082,6 @@ const API_ENDPOINTS$1 = {
2755
3082
  auth: "user",
2756
3083
  responseKind: "json"
2757
3084
  },
2758
- createSite: {
2759
- path: "/sites/manage",
2760
- method: "POST",
2761
- tags: ["site"],
2762
- auth: "user",
2763
- responseKind: "json"
2764
- },
2765
3085
  createSiteManual: {
2766
3086
  path: "/sites/manual",
2767
3087
  method: "POST",
@@ -2769,21 +3089,6 @@ const API_ENDPOINTS$1 = {
2769
3089
  auth: "user",
2770
3090
  responseKind: "json"
2771
3091
  },
2772
- updateSite: {
2773
- path: "/sites/manage",
2774
- method: "PUT",
2775
- tags: ["site"],
2776
- auth: "user",
2777
- responseKind: "json"
2778
- },
2779
- deleteSite: {
2780
- path: "/sites/{siteId}",
2781
- method: "DELETE",
2782
- tags: ["site", "site-{siteId}"],
2783
- auth: "user",
2784
- responseKind: "json",
2785
- demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
2786
- },
2787
3092
  listSiteMembers: {
2788
3093
  path: "/sites/{siteId}/members",
2789
3094
  method: "GET",
@@ -7016,6 +7321,7 @@ const API_ENDPOINTS$1 = {
7016
7321
  auth: "service",
7017
7322
  responseKind: "json"
7018
7323
  },
7324
+ ...SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS,
7019
7325
  sdkUpsertPageBlock: {
7020
7326
  path: "/sdk/{siteId}/pages/{identifier}/blocks",
7021
7327
  method: "POST",
@@ -7138,87 +7444,7 @@ const API_ENDPOINTS$1 = {
7138
7444
  auth: "service",
7139
7445
  responseKind: "json"
7140
7446
  },
7141
- sdkListEvents: {
7142
- path: "/sdk/{siteId}/events",
7143
- method: "GET",
7144
- auth: "service",
7145
- responseKind: "json"
7146
- },
7147
- sdkUpsertEvent: {
7148
- path: "/sdk/{siteId}/events",
7149
- method: "POST",
7150
- auth: "service",
7151
- responseKind: "json"
7152
- },
7153
- sdkGetEvent: {
7154
- path: "/sdk/{siteId}/events/{identifier}",
7155
- method: "GET",
7156
- auth: "service",
7157
- responseKind: "json"
7158
- },
7159
- sdkDeleteEvent: {
7160
- path: "/sdk/{siteId}/events/{identifier}",
7161
- method: "DELETE",
7162
- auth: "service",
7163
- responseKind: "json"
7164
- },
7165
- sdkListEventOccurrences: {
7166
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
7167
- method: "GET",
7168
- auth: "service",
7169
- responseKind: "json",
7170
- errors: [
7171
- "resource:not_found",
7172
- "validation:invalid_input",
7173
- "server:internal_error"
7174
- ]
7175
- },
7176
- sdkAddEventOccurrence: {
7177
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
7178
- method: "POST",
7179
- auth: "service",
7180
- responseKind: "json",
7181
- errors: [
7182
- "resource:not_found",
7183
- "validation:invalid_input",
7184
- "resource:conflict",
7185
- "server:internal_error"
7186
- ]
7187
- },
7188
- sdkUpdateEventOccurrence: {
7189
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
7190
- method: "PATCH",
7191
- auth: "service",
7192
- responseKind: "json",
7193
- errors: [
7194
- "resource:not_found",
7195
- "validation:invalid_input",
7196
- "resource:conflict",
7197
- "server:internal_error"
7198
- ]
7199
- },
7200
- sdkCancelEventOccurrence: {
7201
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel",
7202
- method: "POST",
7203
- auth: "service",
7204
- responseKind: "json",
7205
- errors: [
7206
- "resource:not_found",
7207
- "resource:conflict",
7208
- "server:internal_error"
7209
- ]
7210
- },
7211
- sdkDeleteEventOccurrence: {
7212
- path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
7213
- method: "DELETE",
7214
- auth: "service",
7215
- responseKind: "json",
7216
- errors: [
7217
- "resource:not_found",
7218
- "resource:conflict",
7219
- "server:internal_error"
7220
- ]
7221
- },
7447
+ ...SDK_EVENT_ENDPOINT_DEFINITIONS,
7222
7448
  sdkUpsertEntry: {
7223
7449
  path: "/sdk/{siteId}/entries",
7224
7450
  method: "POST",
@@ -7712,6 +7938,46 @@ const API_ENDPOINTS$1 = {
7712
7938
  //#region ../surfaces/src/index.ts
7713
7939
  const SURFACE_IDS = ["core", "macadamia"];
7714
7940
  const DEFAULT_SURFACE_ID = "core";
7941
+ /**
7942
+ * Root hosts for each surface, keyed by deployment tier. The tier-keyed shape
7943
+ * makes it impossible to mis-order entries: callers like
7944
+ * `buildSurfaceAwareDashboardOriginForSurfaceId` look up by tier directly
7945
+ * rather than relying on positional alignment between arrays.
7946
+ */
7947
+ const SURFACE_ROOT_HOSTS = {
7948
+ core: {
7949
+ local: "localhost",
7950
+ prod: "riverbankcms.com"
7951
+ },
7952
+ macadamia: {
7953
+ local: "macadamia.localhost",
7954
+ prod: "macadamia.studio"
7955
+ }
7956
+ };
7957
+ const SURFACE_SITE_ROOT_HOSTS = {
7958
+ core: {
7959
+ local: "localhost",
7960
+ prod: "riverbanksites.com"
7961
+ },
7962
+ macadamia: {
7963
+ local: "macadamia.localhost",
7964
+ prod: "macadamia.studio"
7965
+ }
7966
+ };
7967
+ const SURFACE_SITE_ROOT_HOST_ALIASES = { core: { prod: ["preview.riverbanksites.com"] } };
7968
+ function surfaceHostTableValues(table) {
7969
+ return Object.values(table).flatMap((byTier) => Object.values(byTier).flat());
7970
+ }
7971
+ function siteSlugLabelUnderRoot(host, siteRootHost) {
7972
+ if (!host.endsWith(`.${siteRootHost}`)) return [];
7973
+ return host.slice(0, host.length - siteRootHost.length - 1).split(".").slice(-1);
7974
+ }
7975
+ function deriveSurfaceOwnedSiteSlugs() {
7976
+ const siteRootHosts = [...surfaceHostTableValues(SURFACE_SITE_ROOT_HOSTS), ...surfaceHostTableValues(SURFACE_SITE_ROOT_HOST_ALIASES)];
7977
+ const labels = [...surfaceHostTableValues(SURFACE_ROOT_HOSTS), ...siteRootHosts].flatMap((host) => siteRootHosts.flatMap((root) => siteSlugLabelUnderRoot(host, root)));
7978
+ return [...new Set(labels)].sort();
7979
+ }
7980
+ deriveSurfaceOwnedSiteSlugs();
7715
7981
  [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
7716
7982
  //#endregion
7717
7983
  //#region ../api/src/url.ts
@@ -8324,7 +8590,7 @@ var SimpleCache = class {
8324
8590
  * 1. This constant
8325
8591
  * 2. The "version" field in package.json
8326
8592
  */
8327
- const SDK_VERSION = "0.145.0";
8593
+ const SDK_VERSION = "0.146.0";
8328
8594
  //#endregion
8329
8595
  //#region src/client/error.ts
8330
8596
  let _Symbol$for;