@riverbankcms/sdk 0.77.0 → 0.78.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 (237) hide show
  1. package/README.md +69 -0
  2. package/dist/{PreviewEditorSidebar-XSX7QKHQ.mjs → PreviewEditorSidebar-RIKFQ72L.mjs} +4916 -4847
  3. package/dist/{PreviewEditorUI-YZNEZ3QD.mjs → PreviewEditorUI-XO7TUWKK.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +194 -184
  6. package/dist/_dts/api/src/accessAdmin.d.ts +5 -0
  7. package/dist/_dts/api/src/billing.d.ts +3 -26
  8. package/dist/_dts/api/src/bookingVerticals.d.ts +4 -0
  9. package/dist/_dts/api/src/content-editor.d.ts +1 -0
  10. package/dist/_dts/api/src/demoDashboardMutationSurfaces.d.ts +46 -0
  11. package/dist/_dts/api/src/endpoints.d.ts +8 -0
  12. package/dist/_dts/api/src/index.d.ts +14 -2
  13. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +87 -0
  14. package/dist/_dts/api/src/navigation/dashboardDemoNav.d.ts +5 -0
  15. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +45 -0
  16. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +42 -0
  17. package/dist/_dts/api/src/navigation/dashboardTeamMemberNav.d.ts +24 -0
  18. package/dist/_dts/api/src/navigation/linkUrlType.d.ts +3 -0
  19. package/dist/_dts/api/src/navigation.d.ts +12 -0
  20. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +55 -26
  21. package/dist/_dts/api/src/staffAccess.d.ts +79 -0
  22. package/dist/_dts/api/src/types.d.ts +3 -1
  23. package/dist/_dts/api/src/workflows/automaticWorkflowTriggers.d.ts +21 -0
  24. package/dist/_dts/blocks/src/client/site-chrome.d.ts +4 -1
  25. package/dist/_dts/blocks/src/customBlockRegistry.d.ts +20 -1
  26. package/dist/_dts/blocks/src/index.d.ts +3 -2
  27. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
  28. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
  29. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
  30. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
  31. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
  32. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  33. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +294 -289
  34. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
  35. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  36. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +21 -21
  37. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
  38. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
  39. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
  40. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +2 -2
  41. package/dist/_dts/blocks/src/system/data/index.d.ts +5 -3
  42. package/dist/_dts/blocks/src/system/data/previewResolvedDataState.d.ts +45 -0
  43. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
  44. package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +5 -0
  45. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +5 -0
  46. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -29
  47. package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +10 -0
  48. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  49. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +9 -0
  50. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +3 -2
  51. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
  52. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  53. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +43 -8
  54. package/dist/_dts/blocks/src/system/runtime/components/multi-step/runtimeFormValidation.d.ts +28 -0
  55. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +8 -7
  56. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCompactRow.d.ts +1 -4
  57. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -8
  59. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -9
  60. package/dist/_dts/blocks/src/system/runtime/nodes/shop-cart-discount-ui.d.ts +5 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +76 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout.state.d.ts +1 -4
  63. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce-store.d.ts +2 -0
  64. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.shared.d.ts +1 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/shop-discount-apply.state.d.ts +52 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +2 -4
  67. package/dist/_dts/blocks/src/system/runtime/nodes/useDiscountApply.d.ts +21 -0
  68. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +54 -0
  69. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  70. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  71. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -4
  72. package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
  73. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  74. package/dist/_dts/content-editor/src/contentTypeEditorContentState.d.ts +26 -0
  75. package/dist/_dts/content-editor/src/definitions/factory.d.ts +75 -0
  76. package/dist/_dts/content-editor/src/entryWorkflows.d.ts +2 -0
  77. package/dist/_dts/content-editor/src/footerBlocksEditorState.d.ts +76 -0
  78. package/dist/_dts/content-editor/src/index.d.ts +5 -0
  79. package/dist/_dts/content-editor/src/pageWorkflowContent.d.ts +29 -0
  80. package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
  81. package/dist/_dts/content-model/src/index.d.ts +1 -0
  82. package/dist/_dts/content-model/src/routeTemplate.d.ts +4 -0
  83. package/dist/_dts/content-model/src/templates/editorState.d.ts +25 -0
  84. package/dist/_dts/core/src/csv-cells.d.ts +10 -0
  85. package/dist/_dts/core/src/csv-date-filter.d.ts +27 -0
  86. package/dist/_dts/core/src/csv-escape.d.ts +1 -0
  87. package/dist/_dts/core/src/csv-filename.d.ts +18 -0
  88. package/dist/_dts/core/src/csv-render.d.ts +4 -0
  89. package/dist/_dts/core/src/csv-types.d.ts +116 -0
  90. package/dist/_dts/core/src/currency-format.d.ts +4 -0
  91. package/dist/_dts/core/src/demo-capability-policy.d.ts +29 -0
  92. package/dist/_dts/core/src/demo-claim-access.d.ts +14 -0
  93. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +11 -0
  94. package/dist/_dts/core/src/demo-runtime.d.ts +47 -0
  95. package/dist/_dts/core/src/duration.d.ts +14 -0
  96. package/dist/_dts/core/src/email-format.d.ts +10 -0
  97. package/dist/_dts/core/src/field-errors.d.ts +1 -0
  98. package/dist/_dts/core/src/form-submission-preview.d.ts +24 -0
  99. package/dist/_dts/core/src/index.d.ts +20 -0
  100. package/dist/_dts/core/src/number-input.d.ts +22 -0
  101. package/dist/_dts/core/src/public-url-validation.d.ts +12 -0
  102. package/dist/_dts/core/src/slug.d.ts +39 -0
  103. package/dist/_dts/core/src/string.d.ts +19 -0
  104. package/dist/_dts/core/src/uuid.d.ts +6 -0
  105. package/dist/_dts/db/src/schemas/forms.d.ts +50 -50
  106. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +34 -0
  107. package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +24 -0
  108. package/dist/_dts/media-core/src/canonicalCropReview.d.ts +66 -0
  109. package/dist/_dts/media-core/src/classifyAllPlanning.d.ts +48 -0
  110. package/dist/_dts/media-core/src/filename.d.ts +1 -0
  111. package/dist/_dts/media-core/src/index.d.ts +10 -0
  112. package/dist/_dts/media-core/src/mediaAssetUsageStatus.d.ts +47 -0
  113. package/dist/_dts/media-core/src/mediaSettingsState.d.ts +3 -0
  114. package/dist/_dts/media-core/src/portableMediaReferences.d.ts +38 -0
  115. package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +28 -0
  116. package/dist/_dts/media-core/src/videoAssetRepair.d.ts +38 -0
  117. package/dist/_dts/media-editor/src/mediaEditorDebug.d.ts +1 -0
  118. package/dist/_dts/path-utils/src/index.d.ts +8 -0
  119. package/dist/_dts/path-utils/src/redirectPaths.d.ts +26 -0
  120. package/dist/_dts/path-utils/src/safeAppPath.d.ts +26 -0
  121. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
  122. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -0
  123. package/dist/_dts/preview-next/src/client/preview/previewDocumentFrame.d.ts +31 -0
  124. package/dist/_dts/sdk/src/client/error.d.ts +3 -0
  125. package/dist/_dts/sdk/src/client/index.d.ts +2 -2
  126. package/dist/_dts/sdk/src/client/types.d.ts +37 -19
  127. package/dist/_dts/sdk/src/contracts/theme.d.ts +1 -1
  128. package/dist/_dts/sdk/src/index.d.ts +2 -2
  129. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +16 -16
  130. package/dist/_dts/sdk/src/next/content-load-failure.d.ts +51 -0
  131. package/dist/_dts/sdk/src/next/index.d.ts +2 -1
  132. package/dist/_dts/sdk/src/next/types.d.ts +19 -0
  133. package/dist/_dts/sdk/src/portal/redirects.d.ts +1 -1
  134. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -2
  135. package/dist/_dts/sdk/src/routing/index.d.ts +3 -2
  136. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +71 -6
  137. package/dist/_dts/sdk/src/version.d.ts +1 -1
  138. package/dist/_dts/site-commands/src/commands.d.ts +12 -12
  139. package/dist/_dts/site-commands/src/index.d.ts +1 -0
  140. package/dist/_dts/site-commands/src/pagePaths.d.ts +6 -0
  141. package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +26 -0
  142. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -0
  143. package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +1 -0
  144. package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -0
  145. package/dist/_dts/theme-core/src/fonts/uploadFormat.d.ts +44 -0
  146. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/index.d.ts +3 -1
  148. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +63 -51
  149. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +6 -1
  150. package/dist/_dts/theme-core/src/navigation/types.d.ts +12 -0
  151. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
  152. package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +7 -0
  153. package/dist/_dts/theme-core/src/schema.d.ts +90 -48
  154. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +214 -34
  155. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -2
  156. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +214 -34
  157. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -1
  158. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +35 -7
  159. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  160. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +96 -34
  161. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +4 -2
  162. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -1
  163. package/dist/_dts/theme-core/src/site-styles/types.d.ts +27 -2
  164. package/dist/_dts/theme-core/src/siteChrome.d.ts +17 -34
  165. package/dist/_dts/theme-core/src/siteChromeOverlayClearance.d.ts +22 -0
  166. package/dist/_dts/theme-core/src/siteChromePlacement.d.ts +22 -0
  167. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +32 -0
  168. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
  169. package/dist/{chunk-EAWHBECW.mjs → chunk-F7RTCZYN.mjs} +229 -50
  170. package/dist/{chunk-GSQX43EZ.mjs → chunk-NIDXI46P.mjs} +22 -41
  171. package/dist/{chunk-WLQBJN2Z.mjs → chunk-OECWLDHN.mjs} +4538 -1911
  172. package/dist/{chunk-VX7B5VAC.mjs → chunk-SVMMM2NA.mjs} +8 -0
  173. package/dist/{chunk-6SMUFTXD.mjs → chunk-SXOLGNMX.mjs} +1 -1
  174. package/dist/{chunk-ANKDYZ2E.mjs → chunk-TXDES5P2.mjs} +2 -2
  175. package/dist/cli/index.mjs +2036 -594
  176. package/dist/client/{accordion-RZMQSYLR.mjs → accordion-EVDEOUPR.mjs} +2 -2
  177. package/dist/client/{bookingForm-NF4ASVNV.mjs → bookingForm-DIHBLC64.mjs} +27 -30
  178. package/dist/client/bookings.mjs +3707 -259
  179. package/dist/client/{carousel-LDX47ZIK.mjs → carousel-FEBQHIWI.mjs} +3 -4
  180. package/dist/client/{cart-RGXDS5F4.mjs → cart-7CKSXAE4.mjs} +8 -8
  181. package/dist/client/{checkout-P7WWSNNY.mjs → checkout-WKYCANLV.mjs} +8 -8
  182. package/dist/client/{chunk-JNC7CGHX.mjs → chunk-2SAVKN2M.mjs} +2 -2
  183. package/dist/client/{chunk-TQ5MSPDX.mjs → chunk-36WJCERQ.mjs} +1 -1
  184. package/dist/client/{chunk-R56FQ3RR.mjs → chunk-65F47D7Y.mjs} +280 -71
  185. package/dist/client/{chunk-L3DNHIJX.mjs → chunk-GUK2FPXQ.mjs} +23 -45
  186. package/dist/client/{chunk-PMAIXMAB.mjs → chunk-IVNCUVAV.mjs} +26 -21
  187. package/dist/client/{chunk-II7O4XN3.mjs → chunk-OFMSCGNY.mjs} +2 -2
  188. package/dist/client/chunk-PD6NBCEY.mjs +66 -0
  189. package/dist/client/{chunk-GMVTOKYG.mjs → chunk-RV6FX7UH.mjs} +510 -64
  190. package/dist/client/{chunk-E2TDNXCL.mjs → chunk-RZDWX7QW.mjs} +2 -1
  191. package/dist/client/{chunk-M3L3KYYR.mjs → chunk-UDNSI5PY.mjs} +12 -0
  192. package/dist/client/{chunk-JEZECJ3W.mjs → chunk-VPPMNXCF.mjs} +129 -3
  193. package/dist/client/{chunk-UFSWADAO.mjs → chunk-YDSEG6GZ.mjs} +5 -66
  194. package/dist/client/client.mjs +8983 -6152
  195. package/dist/client/{courseRegistration-7F65K5ZR.mjs → courseRegistration-5QF2PHKM.mjs} +14 -11
  196. package/dist/client/{eventCalendar-GLSC5KTL.mjs → eventCalendar-4ZOSETDU.mjs} +9 -9
  197. package/dist/client/{eventCombined-ZHK4WKUR.mjs → eventCombined-WQGU7JUX.mjs} +9 -9
  198. package/dist/client/{eventDetails-E3PJYBIN.mjs → eventDetails-AYWVUJ5Y.mjs} +9 -9
  199. package/dist/client/{eventListing-EMS3WC3E.mjs → eventListing-NT7C6UT5.mjs} +9 -9
  200. package/dist/client/{eventRegistration-NZOTVNPI.mjs → eventRegistration-OH24F4ZJ.mjs} +9 -9
  201. package/dist/client/{form-ETFZFATW.mjs → form-7L42SRBB.mjs} +6 -6
  202. package/dist/client/{headerSection-4LBP7ULT.mjs → headerSection-OZRZNZ52.mjs} +3 -3
  203. package/dist/client/hooks.mjs +1388 -427
  204. package/dist/client/{locationMap-5M655YSJ.mjs → locationMap-ZBXRPQ7C.mjs} +2 -2
  205. package/dist/client/{newsletterForm-QOUYW44O.mjs → newsletterForm-SNAGFF2I.mjs} +3 -3
  206. package/dist/client/{productDetail-O4DOCWQG.mjs → productDetail-I46BOFGV.mjs} +8 -8
  207. package/dist/client/{productList-A5RO5WIS.mjs → productList-BOYHTYI6.mjs} +8 -8
  208. package/dist/client/rendering/client.mjs +7090 -2645
  209. package/dist/client/rendering/islands.mjs +19 -19
  210. package/dist/client/rendering.mjs +7395 -4767
  211. package/dist/client/{shop-L4MZH4I2.mjs → shop-XTXPZTKR.mjs} +8 -8
  212. package/dist/preview-next/before-render.mjs +8 -0
  213. package/dist/preview-next/client/runtime.mjs +5 -5
  214. package/dist/preview-next/editor-chrome.css +10 -0
  215. package/dist/preview-next/middleware.mjs +8 -0
  216. package/dist/{sdk-runtime-Q6MTR4KL.mjs → sdk-runtime-ZJLKC6DR.mjs} +6 -6
  217. package/dist/server/components.mjs +4175 -2480
  218. package/dist/server/config-validation.mjs +1619 -658
  219. package/dist/server/config.mjs +1619 -658
  220. package/dist/server/data.mjs +1388 -427
  221. package/dist/server/index.mjs +488 -246
  222. package/dist/server/next.mjs +5607 -3354
  223. package/dist/server/page-converter.mjs +912 -259
  224. package/dist/server/prebuild.mjs +1 -1
  225. package/dist/server/rendering/server.mjs +4176 -2481
  226. package/dist/server/rendering.mjs +4194 -2486
  227. package/dist/server/routing.mjs +2078 -639
  228. package/dist/server/server.mjs +1886 -685
  229. package/dist/server/theme-bridge.mjs +4441 -1300
  230. package/dist/server/theme.mjs +89 -12
  231. package/dist/styles/index.css +1576 -1083
  232. package/package.json +2 -1
  233. package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +0 -8
  234. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/DiscountCodeSection.d.ts +0 -7
  235. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +0 -4
  236. package/dist/client/chunk-OJPZEZU2.mjs +0 -31
  237. package/dist/client/chunk-RTZ3JKKX.mjs +0 -178
@@ -3922,6 +3922,14 @@ var ENDPOINT_DEFINITIONS = {
3922
3922
  responseKind: "json",
3923
3923
  errors: []
3924
3924
  },
3925
+ applyDiscountCode: {
3926
+ path: "/public/sites/{siteId}/bookings/discounts/apply",
3927
+ method: "POST",
3928
+ tags: ["site-{siteId}", "booking-discounts"],
3929
+ auth: "public",
3930
+ responseKind: "json",
3931
+ errors: ["validation:invalid_input", "rate_limit:exceeded"]
3932
+ },
3925
3933
  // Batch endpoint for block loader requests (reduces SSR fan-out)
3926
3934
  batchBlockLoaders: {
3927
3935
  path: "/public/sites/{siteId}/block-loaders/batch",
@@ -6809,7 +6817,7 @@ var SimpleCache = class {
6809
6817
  };
6810
6818
 
6811
6819
  // src/version.ts
6812
- var SDK_VERSION = "0.77.0";
6820
+ var SDK_VERSION = "0.78.0";
6813
6821
 
6814
6822
  // src/client/error.ts
6815
6823
  var RiverbankApiError = class _RiverbankApiError extends Error {
@@ -6954,6 +6962,22 @@ var RiverbankApiError = class _RiverbankApiError extends Error {
6954
6962
  return lines.join("\n");
6955
6963
  }
6956
6964
  };
6965
+ var resilienceStatusSymbol = /* @__PURE__ */ Symbol.for("riverbankcms.sdk.resilienceStatus");
6966
+ function attachResilienceStatusToError(error, resilienceStatus) {
6967
+ const target = error !== null && (typeof error === "object" || typeof error === "function") ? error : new Error(error === void 0 ? "Unknown error" : String(error));
6968
+ Object.defineProperty(target, resilienceStatusSymbol, {
6969
+ configurable: true,
6970
+ enumerable: false,
6971
+ value: resilienceStatus
6972
+ });
6973
+ return target;
6974
+ }
6975
+ function getResilienceStatusFromError(error) {
6976
+ if (error === null || typeof error !== "object" && typeof error !== "function") {
6977
+ return void 0;
6978
+ }
6979
+ return error[resilienceStatusSymbol];
6980
+ }
6957
6981
 
6958
6982
  // src/client/resilience.ts
6959
6983
  var DEFAULT_RETRY_CONFIG = {
@@ -7212,7 +7236,9 @@ var CircuitOpenError = class extends Error {
7212
7236
  var prebuildModule = null;
7213
7237
  function tryRequire(modulePath) {
7214
7238
  try {
7215
- const req = Function('return typeof require === "function" ? require : null')();
7239
+ const req = Function(
7240
+ 'return typeof require === "function" ? require : null'
7241
+ )();
7216
7242
  return req ? req(modulePath) : null;
7217
7243
  } catch {
7218
7244
  return null;
@@ -7231,7 +7257,9 @@ function getPrebuildModule() {
7231
7257
  return null;
7232
7258
  }
7233
7259
  try {
7234
- prebuildModule = tryRequire("../prebuild/loader");
7260
+ prebuildModule = tryRequire(
7261
+ "../prebuild/loader"
7262
+ );
7235
7263
  return prebuildModule;
7236
7264
  } catch {
7237
7265
  return null;
@@ -7291,7 +7319,9 @@ function normalizePublicFormResult(result) {
7291
7319
  }
7292
7320
  function normalizePublicFormsResponse(response) {
7293
7321
  return {
7294
- forms: response.forms.map((form) => normalizePublicFormResponse({ form }).form)
7322
+ forms: response.forms.map(
7323
+ (form) => normalizePublicFormResponse({ form }).form
7324
+ )
7295
7325
  };
7296
7326
  }
7297
7327
  function normalizePublicFormsResult(result) {
@@ -7490,7 +7520,10 @@ function createRiverbankClient(config) {
7490
7520
  isDegraded = nowDegraded;
7491
7521
  config.resilience?.onDegradedMode?.(nowDegraded, status);
7492
7522
  }
7493
- return data;
7523
+ return {
7524
+ data,
7525
+ resilience: status
7526
+ };
7494
7527
  }
7495
7528
  async function resilientFetch(cacheKey, fetcher, options) {
7496
7529
  const requestId = generateRequestId2();
@@ -7514,25 +7547,43 @@ function createRiverbankClient(config) {
7514
7547
  if (allowFallbacks && !isPreview && staleIfError) {
7515
7548
  const stale = cache.getStale(cacheKey);
7516
7549
  if (stale) {
7517
- return emitStatus("stale", stale.value, statusDetails({
7518
- staleAgeSec: stale.staleAgeSec,
7519
- error: { code: "circuit_open", message: "Circuit breaker is open" }
7520
- }));
7550
+ return emitStatus(
7551
+ "stale",
7552
+ stale.value,
7553
+ statusDetails({
7554
+ staleAgeSec: stale.staleAgeSec,
7555
+ error: {
7556
+ code: "circuit_open",
7557
+ message: "Circuit breaker is open"
7558
+ }
7559
+ })
7560
+ );
7521
7561
  }
7522
7562
  }
7523
7563
  if (allowFallbacks && !isPreview && options.prebuildFallback) {
7524
7564
  const prebuildResult = options.prebuildFallback();
7525
7565
  if (prebuildResult) {
7526
- return emitStatus("prebuild", prebuildResult.data, statusDetails({
7527
- prebuildAgeSec: prebuildResult.prebuildAgeSec,
7528
- error: { code: "circuit_open", message: "Circuit breaker is open" }
7529
- }));
7566
+ return emitStatus(
7567
+ "prebuild",
7568
+ prebuildResult.data,
7569
+ statusDetails({
7570
+ prebuildAgeSec: prebuildResult.prebuildAgeSec,
7571
+ error: {
7572
+ code: "circuit_open",
7573
+ message: "Circuit breaker is open"
7574
+ }
7575
+ })
7576
+ );
7530
7577
  }
7531
7578
  }
7532
7579
  const circuitState = circuitBreaker.getState();
7533
- emitStatus("error", null, statusDetails({
7534
- error: { code: "circuit_open", message: "Circuit breaker is open" }
7535
- }));
7580
+ emitStatus(
7581
+ "error",
7582
+ null,
7583
+ statusDetails({
7584
+ error: { code: "circuit_open", message: "Circuit breaker is open" }
7585
+ })
7586
+ );
7536
7587
  throw new CircuitOpenError(circuitState);
7537
7588
  }
7538
7589
  try {
@@ -7559,7 +7610,9 @@ function createRiverbankClient(config) {
7559
7610
  circuitBreaker.recordSuccess();
7560
7611
  } else {
7561
7612
  try {
7562
- const response = await fetcher(options.signal ?? new AbortController().signal);
7613
+ const response = await fetcher(
7614
+ options.signal ?? new AbortController().signal
7615
+ );
7563
7616
  data = unwrapResponse(response);
7564
7617
  } catch (error) {
7565
7618
  convertToTypedError(error);
@@ -7576,28 +7629,51 @@ function createRiverbankClient(config) {
7576
7629
  if (allowFallbacks && !isPreview && staleIfError && cacheEnabled) {
7577
7630
  const stale = cache.getStale(cacheKey);
7578
7631
  if (stale) {
7579
- const errorInfo2 = error instanceof RiverbankApiError ? { code: error.code, message: error.message } : { message: error.message };
7580
- return emitStatus("stale", stale.value, statusDetails({
7581
- staleAgeSec: stale.staleAgeSec,
7582
- error: errorInfo2
7583
- }));
7632
+ const errorInfo2 = error instanceof RiverbankApiError ? {
7633
+ code: error.code,
7634
+ message: error.message,
7635
+ status: error.status
7636
+ } : { message: error.message };
7637
+ return emitStatus(
7638
+ "stale",
7639
+ stale.value,
7640
+ statusDetails({
7641
+ staleAgeSec: stale.staleAgeSec,
7642
+ error: errorInfo2
7643
+ })
7644
+ );
7584
7645
  }
7585
7646
  }
7586
7647
  if (allowFallbacks && !isPreview && options.prebuildFallback) {
7587
7648
  const prebuildResult = options.prebuildFallback();
7588
7649
  if (prebuildResult) {
7589
- const errorInfo2 = error instanceof RiverbankApiError ? { code: error.code, message: error.message } : { message: error.message };
7590
- return emitStatus("prebuild", prebuildResult.data, statusDetails({
7591
- prebuildAgeSec: prebuildResult.prebuildAgeSec,
7592
- error: errorInfo2
7593
- }));
7650
+ const errorInfo2 = error instanceof RiverbankApiError ? {
7651
+ code: error.code,
7652
+ message: error.message,
7653
+ status: error.status
7654
+ } : { message: error.message };
7655
+ return emitStatus(
7656
+ "prebuild",
7657
+ prebuildResult.data,
7658
+ statusDetails({
7659
+ prebuildAgeSec: prebuildResult.prebuildAgeSec,
7660
+ error: errorInfo2
7661
+ })
7662
+ );
7594
7663
  }
7595
7664
  }
7596
- const errorInfo = error instanceof RiverbankApiError ? { code: error.code, message: error.message } : { message: error.message };
7597
- emitStatus("error", null, statusDetails({ error: errorInfo }));
7598
- throw error;
7665
+ const errorInfo = error instanceof RiverbankApiError ? { code: error.code, message: error.message, status: error.status } : { message: error.message };
7666
+ const failure = emitStatus(
7667
+ "error",
7668
+ null,
7669
+ statusDetails({ error: errorInfo })
7670
+ );
7671
+ throw attachResilienceStatusToError(error, failure.resilience);
7599
7672
  }
7600
7673
  }
7674
+ async function resilientFetchData(cacheKey, fetcher, options) {
7675
+ return (await resilientFetch(cacheKey, fetcher, options)).data;
7676
+ }
7601
7677
  function combineAbortSignals(...signals) {
7602
7678
  const controller = new AbortController();
7603
7679
  for (const signal of signals) {
@@ -7605,32 +7681,45 @@ function createRiverbankClient(config) {
7605
7681
  controller.abort(signal.reason);
7606
7682
  break;
7607
7683
  }
7608
- signal.addEventListener("abort", () => controller.abort(signal.reason), { once: true });
7684
+ signal.addEventListener("abort", () => controller.abort(signal.reason), {
7685
+ once: true
7686
+ });
7609
7687
  }
7610
7688
  return controller.signal;
7611
7689
  }
7612
7690
  async function resolveEntrySubrouteInternal(args) {
7613
7691
  const { siteId, entryId, kind, segment, stage, signal } = args;
7614
7692
  const cacheKey = `entry-subroute:${siteId}:${entryId}:${kind}:${segment}:${stage ?? "published"}`;
7615
- return resilientFetch(cacheKey, async (sig) => {
7616
- return await apiClient({
7617
- endpoint: "resolveEntrySubroute",
7618
- params: { siteId, entryId, kind, segment, ...stage ? { stage } : {} },
7619
- options: { signal: sig }
7620
- });
7621
- }, { signal });
7693
+ return resilientFetchData(
7694
+ cacheKey,
7695
+ async (sig) => {
7696
+ return await apiClient({
7697
+ endpoint: "resolveEntrySubroute",
7698
+ params: {
7699
+ siteId,
7700
+ entryId,
7701
+ kind,
7702
+ segment,
7703
+ ...stage ? { stage } : {}
7704
+ },
7705
+ options: { signal: sig }
7706
+ });
7707
+ },
7708
+ { signal }
7709
+ );
7622
7710
  }
7623
- return {
7624
- async getSite(params) {
7625
- const { slug, domain, id, signal, force, currentPath } = params;
7626
- if (!slug && !domain && !id) {
7627
- throw new Error(
7628
- `getSite() requires at least one identifier: slug, domain, or id. Received: ${JSON.stringify(params)}`
7629
- );
7630
- }
7631
- const cacheKey = `site:${slug || domain || id}:${currentPath ?? ""}`;
7632
- const siteId = id || slug || domain;
7633
- return resilientFetch(cacheKey, async (sig) => {
7711
+ async function getSiteWithResilienceInternal(params) {
7712
+ const { slug, domain, id, signal, force, currentPath } = params;
7713
+ if (!slug && !domain && !id) {
7714
+ throw new Error(
7715
+ `getSite() requires at least one identifier: slug, domain, or id. Received: ${JSON.stringify(params)}`
7716
+ );
7717
+ }
7718
+ const cacheKey = `site:${slug || domain || id}:${currentPath ?? ""}`;
7719
+ const siteId = id || slug || domain;
7720
+ return resilientFetch(
7721
+ cacheKey,
7722
+ async (sig) => {
7634
7723
  const apiParams = {};
7635
7724
  if (params.slug) apiParams.slug = params.slug;
7636
7725
  if (params.domain) apiParams.domain = params.domain;
@@ -7641,66 +7730,120 @@ function createRiverbankClient(config) {
7641
7730
  endpoint: "getSite",
7642
7731
  params: apiParams,
7643
7732
  // When force=true, bypass Next.js fetch caching (revalidate) as well.
7644
- options: { signal: sig, ...force ? { cache: "no-store" } : {} }
7733
+ options: {
7734
+ signal: sig,
7735
+ ...force ? { cache: "no-store" } : {}
7736
+ }
7645
7737
  });
7646
- }, {
7738
+ },
7739
+ {
7647
7740
  signal,
7648
7741
  force,
7649
7742
  prebuildFallback: prebuildLoader && siteId ? () => prebuildLoader.loadSite(siteId) : void 0
7650
- });
7651
- },
7652
- async getPage(params) {
7653
- const { siteId, path: path3, preview = false, signal } = params;
7654
- const cacheKey = `page:${siteId}:${path3}:${preview}`;
7655
- return resilientFetch(cacheKey, async (sig) => {
7656
- return await apiClient({ endpoint: "getContentByPath", params: { siteId }, body: { path: path3, preview }, options: { signal: sig } });
7657
- }, {
7743
+ }
7744
+ );
7745
+ }
7746
+ async function getPageWithResilienceInternal(params) {
7747
+ const { siteId, path: path3, preview = false, signal } = params;
7748
+ const cacheKey = `page:${siteId}:${path3}:${preview}`;
7749
+ return resilientFetch(
7750
+ cacheKey,
7751
+ async (sig) => {
7752
+ return await apiClient({
7753
+ endpoint: "getContentByPath",
7754
+ params: { siteId },
7755
+ body: { path: path3, preview },
7756
+ options: { signal: sig }
7757
+ });
7758
+ },
7759
+ {
7658
7760
  preview,
7659
7761
  signal,
7660
7762
  // Prebuild fallback only for published pages (not preview)
7661
7763
  prebuildFallback: prebuildLoader && !preview ? () => prebuildLoader.loadPage(siteId, path3) : void 0
7662
- });
7764
+ }
7765
+ );
7766
+ }
7767
+ return {
7768
+ async getSite(params) {
7769
+ return (await getSiteWithResilienceInternal(params)).data;
7770
+ },
7771
+ async getSiteWithResilience(params) {
7772
+ return getSiteWithResilienceInternal(params);
7773
+ },
7774
+ async getPage(params) {
7775
+ return (await getPageWithResilienceInternal(params)).data;
7776
+ },
7777
+ async getPageWithResilience(params) {
7778
+ return getPageWithResilienceInternal(params);
7663
7779
  },
7664
7780
  async getEntries(params) {
7665
- const { siteId, contentType, limit, offset, order, preview = false, mode, entryIds, includeMeta, signal } = params;
7781
+ const {
7782
+ siteId,
7783
+ contentType,
7784
+ limit,
7785
+ offset,
7786
+ order,
7787
+ preview = false,
7788
+ mode,
7789
+ entryIds,
7790
+ includeMeta,
7791
+ signal
7792
+ } = params;
7666
7793
  const entryIdsCacheKey = mode === "manual" && entryIds?.length ? entryIds.join(",") : "";
7667
7794
  const cacheKey = `entries:${siteId}:${contentType}:${limit ?? ""}:${offset ?? ""}:${order ?? ""}:${preview}:${mode ?? ""}:${entryIdsCacheKey}:${includeMeta ?? ""}`;
7668
- return resilientFetch(cacheKey, async (sig) => {
7669
- let orderParam;
7670
- if (order === "newest") {
7671
- orderParam = "published_at.desc";
7672
- } else if (order === "oldest") {
7673
- orderParam = "published_at.asc";
7674
- } else if (order === "title") {
7675
- orderParam = "title.asc";
7676
- }
7677
- const apiParams = {
7678
- siteId,
7679
- type: contentType,
7680
- ...typeof limit === "number" && { limit: String(limit) },
7681
- ...typeof offset === "number" && { offset: String(offset) },
7682
- ...includeMeta && { meta: "true" },
7683
- ...orderParam && { order: orderParam },
7684
- ...preview && { stage: "preview" },
7685
- ...mode === "manual" && entryIds?.length && {
7686
- mode: "manual",
7687
- entryIds: JSON.stringify(entryIds)
7795
+ return resilientFetchData(
7796
+ cacheKey,
7797
+ async (sig) => {
7798
+ let orderParam;
7799
+ if (order === "newest") {
7800
+ orderParam = "published_at.desc";
7801
+ } else if (order === "oldest") {
7802
+ orderParam = "published_at.asc";
7803
+ } else if (order === "title") {
7804
+ orderParam = "title.asc";
7688
7805
  }
7689
- };
7690
- return await apiClient({ endpoint: "listPublishedEntries", params: apiParams, options: { signal: sig } });
7691
- }, {
7692
- preview,
7693
- signal,
7694
- // Prebuild fallback only for published entries (not preview, not manual mode)
7695
- prebuildFallback: prebuildLoader && !preview ? () => prebuildLoader.loadEntries(siteId, params) : void 0
7696
- });
7806
+ const apiParams = {
7807
+ siteId,
7808
+ type: contentType,
7809
+ ...typeof limit === "number" && { limit: String(limit) },
7810
+ ...typeof offset === "number" && { offset: String(offset) },
7811
+ ...includeMeta && { meta: "true" },
7812
+ ...orderParam && { order: orderParam },
7813
+ ...preview && { stage: "preview" },
7814
+ ...mode === "manual" && entryIds?.length && {
7815
+ mode: "manual",
7816
+ entryIds: JSON.stringify(entryIds)
7817
+ }
7818
+ };
7819
+ return await apiClient({
7820
+ endpoint: "listPublishedEntries",
7821
+ params: apiParams,
7822
+ options: { signal: sig }
7823
+ });
7824
+ },
7825
+ {
7826
+ preview,
7827
+ signal,
7828
+ // Prebuild fallback only for published entries (not preview, not manual mode)
7829
+ prebuildFallback: prebuildLoader && !preview ? () => prebuildLoader.loadEntries(siteId, params) : void 0
7830
+ }
7831
+ );
7697
7832
  },
7698
7833
  async getEntry(params) {
7699
7834
  const { siteId, contentType, slug, signal } = params;
7700
7835
  const cacheKey = `entry:${siteId}:${contentType}:${slug}`;
7701
- return resilientFetch(cacheKey, async (sig) => {
7702
- return await apiClient({ endpoint: "getPublishedEntryPreview", params: { siteId, type: contentType, slug }, options: { signal: sig } });
7703
- }, { signal });
7836
+ return resilientFetchData(
7837
+ cacheKey,
7838
+ async (sig) => {
7839
+ return await apiClient({
7840
+ endpoint: "getPublishedEntryPreview",
7841
+ params: { siteId, type: contentType, slug },
7842
+ options: { signal: sig }
7843
+ });
7844
+ },
7845
+ { signal }
7846
+ );
7704
7847
  },
7705
7848
  async getPublicFormById(params) {
7706
7849
  const { formId, siteId, signal } = params;
@@ -7708,10 +7851,18 @@ function createRiverbankClient(config) {
7708
7851
  throw new Error("getPublicFormById() requires formId and siteId");
7709
7852
  }
7710
7853
  const cacheKey = `public-form:${siteId}:${formId}`;
7711
- return resilientFetch(cacheKey, async (sig) => {
7712
- const response = await apiClient({ endpoint: "getPublicFormById", params: { formId, siteId }, options: { signal: sig } });
7713
- return normalizePublicFormResult(response);
7714
- }, { signal });
7854
+ return resilientFetchData(
7855
+ cacheKey,
7856
+ async (sig) => {
7857
+ const response = await apiClient({
7858
+ endpoint: "getPublicFormById",
7859
+ params: { formId, siteId },
7860
+ options: { signal: sig }
7861
+ });
7862
+ return normalizePublicFormResult(response);
7863
+ },
7864
+ { signal }
7865
+ );
7715
7866
  },
7716
7867
  async getForms(params) {
7717
7868
  const { siteId, signal } = params;
@@ -7719,34 +7870,42 @@ function createRiverbankClient(config) {
7719
7870
  throw new Error("getForms() requires siteId");
7720
7871
  }
7721
7872
  const cacheKey = `forms:${siteId}`;
7722
- return resilientFetch(cacheKey, async (sig) => {
7723
- const response = await apiClient({ endpoint: "listPublicForms", params: { siteId }, options: { signal: sig } });
7724
- return normalizePublicFormsResult(response);
7725
- }, {
7726
- signal,
7727
- prebuildFallback: prebuildLoader ? () => {
7728
- const result = prebuildLoader.loadForms();
7729
- if (result) {
7730
- return {
7731
- data: {
7732
- forms: result.data.map((form) => ({
7733
- id: form.id,
7734
- slug: form.slug,
7735
- name: form.name,
7736
- schema: form.schema,
7737
- settings: form.settings,
7738
- schemaJson: form.schema,
7739
- settingsJson: form.settings,
7740
- createdAt: null,
7741
- updatedAt: null
7742
- }))
7743
- },
7744
- prebuildAgeSec: result.prebuildAgeSec
7745
- };
7746
- }
7747
- return null;
7748
- } : void 0
7749
- });
7873
+ return resilientFetchData(
7874
+ cacheKey,
7875
+ async (sig) => {
7876
+ const response = await apiClient({
7877
+ endpoint: "listPublicForms",
7878
+ params: { siteId },
7879
+ options: { signal: sig }
7880
+ });
7881
+ return normalizePublicFormsResult(response);
7882
+ },
7883
+ {
7884
+ signal,
7885
+ prebuildFallback: prebuildLoader ? () => {
7886
+ const result = prebuildLoader.loadForms();
7887
+ if (result) {
7888
+ return {
7889
+ data: {
7890
+ forms: result.data.map((form) => ({
7891
+ id: form.id,
7892
+ slug: form.slug,
7893
+ name: form.name,
7894
+ schema: form.schema,
7895
+ settings: form.settings,
7896
+ schemaJson: form.schema,
7897
+ settingsJson: form.settings,
7898
+ createdAt: null,
7899
+ updatedAt: null
7900
+ }))
7901
+ },
7902
+ prebuildAgeSec: result.prebuildAgeSec
7903
+ };
7904
+ }
7905
+ return null;
7906
+ } : void 0
7907
+ }
7908
+ );
7750
7909
  },
7751
7910
  async getPublicBookingServices(params) {
7752
7911
  const { siteId, ids, signal } = params;
@@ -7754,13 +7913,21 @@ function createRiverbankClient(config) {
7754
7913
  throw new Error("getPublicBookingServices() requires siteId");
7755
7914
  }
7756
7915
  const cacheKey = `public-booking-services:${siteId}:${ids ?? ""}`;
7757
- return resilientFetch(cacheKey, async (sig) => {
7758
- const apiParams = {
7759
- siteId,
7760
- ...ids && { ids }
7761
- };
7762
- return await apiClient({ endpoint: "getPublicBookingServices", params: apiParams, options: { signal: sig } });
7763
- }, { signal });
7916
+ return resilientFetchData(
7917
+ cacheKey,
7918
+ async (sig) => {
7919
+ const apiParams = {
7920
+ siteId,
7921
+ ...ids && { ids }
7922
+ };
7923
+ return await apiClient({
7924
+ endpoint: "getPublicBookingServices",
7925
+ params: apiParams,
7926
+ options: { signal: sig }
7927
+ });
7928
+ },
7929
+ { signal }
7930
+ );
7764
7931
  },
7765
7932
  async listPublicEvents(params) {
7766
7933
  const {
@@ -7781,22 +7948,30 @@ function createRiverbankClient(config) {
7781
7948
  throw new Error("listPublicEvents() requires siteId");
7782
7949
  }
7783
7950
  const cacheKey = `public-events:${siteId}:${limit ?? ""}:${from ?? ""}:${to ?? ""}:${stage ?? ""}:${categoryIds ?? ""}:${venueId ?? ""}:${kind ?? ""}:${entryId ?? ""}:${seriesId ?? ""}:${includeOccurrenceId ?? ""}`;
7784
- return resilientFetch(cacheKey, async (sig) => {
7785
- const apiParams = {
7786
- siteId,
7787
- ...typeof limit === "number" && { limit: String(limit) },
7788
- ...from && { from },
7789
- ...to && { to },
7790
- ...stage && { stage },
7791
- ...categoryIds && { categoryIds },
7792
- ...venueId && { venueId },
7793
- ...kind && { kind },
7794
- ...entryId && { entryId },
7795
- ...seriesId && { seriesId },
7796
- ...includeOccurrenceId && { includeOccurrenceId }
7797
- };
7798
- return await apiClient({ endpoint: "listPublicEvents", params: apiParams, options: { signal: sig } });
7799
- }, { signal });
7951
+ return resilientFetchData(
7952
+ cacheKey,
7953
+ async (sig) => {
7954
+ const apiParams = {
7955
+ siteId,
7956
+ ...typeof limit === "number" && { limit: String(limit) },
7957
+ ...from && { from },
7958
+ ...to && { to },
7959
+ ...stage && { stage },
7960
+ ...categoryIds && { categoryIds },
7961
+ ...venueId && { venueId },
7962
+ ...kind && { kind },
7963
+ ...entryId && { entryId },
7964
+ ...seriesId && { seriesId },
7965
+ ...includeOccurrenceId && { includeOccurrenceId }
7966
+ };
7967
+ return await apiClient({
7968
+ endpoint: "listPublicEvents",
7969
+ params: apiParams,
7970
+ options: { signal: sig }
7971
+ });
7972
+ },
7973
+ { signal }
7974
+ );
7800
7975
  },
7801
7976
  async getPublicEventDetails(params) {
7802
7977
  const {
@@ -7820,37 +7995,44 @@ function createRiverbankClient(config) {
7820
7995
  throw new Error("getPublicEventDetails() requires siteId");
7821
7996
  }
7822
7997
  const cacheKey = `public-event-details:${siteId}:${limit ?? ""}:${from ?? ""}:${to ?? ""}:${afterStartsAt ?? ""}:${afterId ?? ""}:${stage ?? ""}:${categoryIds ?? ""}:${venueId ?? ""}:${staffMemberId ?? ""}:${kind ?? ""}:${entryId ?? ""}:${seriesId ?? ""}:${includeOccurrenceId ?? ""}`;
7823
- return resilientFetch(cacheKey, async (sig) => {
7824
- const requestId = "eventDetails";
7825
- const response = await apiClient({
7826
- endpoint: "batchBlockLoaders",
7827
- params: { siteId, ...stage && { stage } },
7828
- body: {
7829
- requests: [
7830
- {
7831
- id: requestId,
7832
- endpoint: "getPublicEventDetails",
7833
- params: {
7834
- ...typeof limit === "number" && { limit: String(limit) },
7835
- ...from && { from },
7836
- ...to && { to },
7837
- ...afterStartsAt && { afterStartsAt },
7838
- ...afterId && { afterId },
7839
- ...categoryIds && { categoryIds },
7840
- ...venueId && { venueId },
7841
- ...staffMemberId && { staffMemberId },
7842
- ...kind && { kind },
7843
- ...entryId && { entryId },
7844
- ...seriesId && { seriesId },
7845
- ...includeOccurrenceId && { includeOccurrenceId }
7998
+ return resilientFetchData(
7999
+ cacheKey,
8000
+ async (sig) => {
8001
+ const requestId = "eventDetails";
8002
+ const response = await apiClient({
8003
+ endpoint: "batchBlockLoaders",
8004
+ params: { siteId, ...stage && { stage } },
8005
+ body: {
8006
+ requests: [
8007
+ {
8008
+ id: requestId,
8009
+ endpoint: "getPublicEventDetails",
8010
+ params: {
8011
+ ...typeof limit === "number" && { limit: String(limit) },
8012
+ ...from && { from },
8013
+ ...to && { to },
8014
+ ...afterStartsAt && { afterStartsAt },
8015
+ ...afterId && { afterId },
8016
+ ...categoryIds && { categoryIds },
8017
+ ...venueId && { venueId },
8018
+ ...staffMemberId && { staffMemberId },
8019
+ ...kind && { kind },
8020
+ ...entryId && { entryId },
8021
+ ...seriesId && { seriesId },
8022
+ ...includeOccurrenceId && { includeOccurrenceId }
8023
+ }
7846
8024
  }
7847
- }
7848
- ]
7849
- },
7850
- options: { signal: sig }
7851
- });
7852
- return normalizeBatchBlockLoaderResult(response, requestId);
7853
- }, { signal });
8025
+ ]
8026
+ },
8027
+ options: { signal: sig }
8028
+ });
8029
+ return normalizeBatchBlockLoaderResult(
8030
+ response,
8031
+ requestId
8032
+ );
8033
+ },
8034
+ { signal }
8035
+ );
7854
8036
  },
7855
8037
  async listPublicCourses(params) {
7856
8038
  const { siteId, limit, stage, signal } = params;
@@ -7858,14 +8040,22 @@ function createRiverbankClient(config) {
7858
8040
  throw new Error("listPublicCourses() requires siteId");
7859
8041
  }
7860
8042
  const cacheKey = `public-courses:${siteId}:${limit ?? ""}:${stage ?? ""}`;
7861
- return resilientFetch(cacheKey, async (sig) => {
7862
- const apiParams = {
7863
- siteId,
7864
- ...typeof limit === "number" && { limit: String(limit) },
7865
- ...stage && { stage }
7866
- };
7867
- return await apiClient({ endpoint: "listPublicCourses", params: apiParams, options: { signal: sig } });
7868
- }, { signal });
8043
+ return resilientFetchData(
8044
+ cacheKey,
8045
+ async (sig) => {
8046
+ const apiParams = {
8047
+ siteId,
8048
+ ...typeof limit === "number" && { limit: String(limit) },
8049
+ ...stage && { stage }
8050
+ };
8051
+ return await apiClient({
8052
+ endpoint: "listPublicCourses",
8053
+ params: apiParams,
8054
+ options: { signal: sig }
8055
+ });
8056
+ },
8057
+ { signal }
8058
+ );
7869
8059
  },
7870
8060
  async listPublicTeamMembers(params) {
7871
8061
  const { siteId, stage, signal } = params;
@@ -7873,17 +8063,21 @@ function createRiverbankClient(config) {
7873
8063
  throw new Error("listPublicTeamMembers() requires siteId");
7874
8064
  }
7875
8065
  const cacheKey = `public-team-members:${siteId}:${stage ?? ""}`;
7876
- return resilientFetch(cacheKey, async (sig) => {
7877
- const apiParams = {
7878
- siteId,
7879
- ...stage && { stage }
7880
- };
7881
- return await apiClient({
7882
- endpoint: "listPublicTeamMembers",
7883
- params: apiParams,
7884
- options: { signal: sig }
7885
- });
7886
- }, { signal });
8066
+ return resilientFetchData(
8067
+ cacheKey,
8068
+ async (sig) => {
8069
+ const apiParams = {
8070
+ siteId,
8071
+ ...stage && { stage }
8072
+ };
8073
+ return await apiClient({
8074
+ endpoint: "listPublicTeamMembers",
8075
+ params: apiParams,
8076
+ options: { signal: sig }
8077
+ });
8078
+ },
8079
+ { signal }
8080
+ );
7887
8081
  },
7888
8082
  async listPublicProducts(params) {
7889
8083
  const { siteId, stage, categorySelector, signal } = params;
@@ -7892,14 +8086,22 @@ function createRiverbankClient(config) {
7892
8086
  }
7893
8087
  const selectorKey = categorySelector ? categorySelector.kind === "category" ? `category:${categorySelector.productCategoryId}` : `current-category-page:${categorySelector.productCategoryEntryId}` : "";
7894
8088
  const cacheKey = `public-products:${siteId}:${stage ?? ""}:${selectorKey}`;
7895
- return resilientFetch(cacheKey, async (sig) => {
7896
- const apiParams = {
7897
- siteId,
7898
- ...stage && { stage },
7899
- ...encodePublicProductCategorySelector(categorySelector)
7900
- };
7901
- return await apiClient({ endpoint: "listPublicProducts", params: apiParams, options: { signal: sig } });
7902
- }, { signal });
8089
+ return resilientFetchData(
8090
+ cacheKey,
8091
+ async (sig) => {
8092
+ const apiParams = {
8093
+ siteId,
8094
+ ...stage && { stage },
8095
+ ...encodePublicProductCategorySelector(categorySelector)
8096
+ };
8097
+ return await apiClient({
8098
+ endpoint: "listPublicProducts",
8099
+ params: apiParams,
8100
+ options: { signal: sig }
8101
+ });
8102
+ },
8103
+ { signal }
8104
+ );
7903
8105
  },
7904
8106
  async listPublicPasses(params) {
7905
8107
  const { siteId, categories, signal } = params;
@@ -7907,13 +8109,21 @@ function createRiverbankClient(config) {
7907
8109
  throw new Error("listPublicPasses() requires siteId");
7908
8110
  }
7909
8111
  const cacheKey = `public-passes:${siteId}:${categories ?? ""}`;
7910
- return resilientFetch(cacheKey, async (sig) => {
7911
- const apiParams = {
7912
- siteId,
7913
- ...categories && { categories }
7914
- };
7915
- return await apiClient({ endpoint: "listPublicPasses", params: apiParams, options: { signal: sig } });
7916
- }, { signal });
8112
+ return resilientFetchData(
8113
+ cacheKey,
8114
+ async (sig) => {
8115
+ const apiParams = {
8116
+ siteId,
8117
+ ...categories && { categories }
8118
+ };
8119
+ return await apiClient({
8120
+ endpoint: "listPublicPasses",
8121
+ params: apiParams,
8122
+ options: { signal: sig }
8123
+ });
8124
+ },
8125
+ { signal }
8126
+ );
7917
8127
  },
7918
8128
  async listPublicMemberships(params) {
7919
8129
  const { siteId, categories, signal } = params;
@@ -7921,25 +8131,44 @@ function createRiverbankClient(config) {
7921
8131
  throw new Error("listPublicMemberships() requires siteId");
7922
8132
  }
7923
8133
  const cacheKey = `public-memberships:${siteId}:${categories ?? ""}`;
7924
- return resilientFetch(cacheKey, async (sig) => {
7925
- const apiParams = {
7926
- siteId,
7927
- ...categories && { categories }
7928
- };
7929
- return await apiClient({ endpoint: "listPublicMemberships", params: apiParams, options: { signal: sig } });
7930
- }, { signal });
8134
+ return resilientFetchData(
8135
+ cacheKey,
8136
+ async (sig) => {
8137
+ const apiParams = {
8138
+ siteId,
8139
+ ...categories && { categories }
8140
+ };
8141
+ return await apiClient({
8142
+ endpoint: "listPublicMemberships",
8143
+ params: apiParams,
8144
+ options: { signal: sig }
8145
+ });
8146
+ },
8147
+ { signal }
8148
+ );
7931
8149
  },
7932
8150
  async resolveEntrySubroute(params) {
7933
8151
  const { siteId, entryId, kind, segment, stage, signal } = params;
7934
8152
  if (!siteId || !entryId || !kind || !segment) {
7935
- throw new Error("resolveEntrySubroute() requires siteId, entryId, kind, and segment");
8153
+ throw new Error(
8154
+ "resolveEntrySubroute() requires siteId, entryId, kind, and segment"
8155
+ );
7936
8156
  }
7937
- return resolveEntrySubrouteInternal({ siteId, entryId, kind, segment, stage, signal });
8157
+ return resolveEntrySubrouteInternal({
8158
+ siteId,
8159
+ entryId,
8160
+ kind,
8161
+ segment,
8162
+ stage,
8163
+ signal
8164
+ });
7938
8165
  },
7939
8166
  async resolveEventOccurrence(params) {
7940
8167
  const { siteId, entryId, segment, signal } = params;
7941
8168
  if (!siteId || !entryId || !segment) {
7942
- throw new Error("resolveEventOccurrence() requires siteId, entryId, and segment");
8169
+ throw new Error(
8170
+ "resolveEventOccurrence() requires siteId, entryId, and segment"
8171
+ );
7943
8172
  }
7944
8173
  const result = await resolveEntrySubrouteInternal({
7945
8174
  siteId,
@@ -7958,13 +8187,17 @@ function createRiverbankClient(config) {
7958
8187
  throw new Error("checkRedirect() requires siteId and path");
7959
8188
  }
7960
8189
  const cacheKey = `redirect:${siteId}:${path3}`;
7961
- return resilientFetch(cacheKey, async (sig) => {
7962
- return await apiClient({
7963
- endpoint: "checkRedirect",
7964
- params: { site: siteId, path: path3 },
7965
- options: { signal: sig }
7966
- });
7967
- }, { signal });
8190
+ return resilientFetchData(
8191
+ cacheKey,
8192
+ async (sig) => {
8193
+ return await apiClient({
8194
+ endpoint: "checkRedirect",
8195
+ params: { site: siteId, path: path3 },
8196
+ options: { signal: sig }
8197
+ });
8198
+ },
8199
+ { signal }
8200
+ );
7968
8201
  },
7969
8202
  async getAllPublishedRoutes(params) {
7970
8203
  const { siteId, signal } = params;
@@ -7972,13 +8205,17 @@ function createRiverbankClient(config) {
7972
8205
  throw new Error("getAllPublishedRoutes() requires siteId");
7973
8206
  }
7974
8207
  const cacheKey = `routable-content:${siteId}:published`;
7975
- return resilientFetch(cacheKey, async (sig) => {
7976
- return await apiClient({
7977
- endpoint: "getPublicRoutableContent",
7978
- params: { siteId, publishedOnly: "true" },
7979
- options: { signal: sig }
7980
- });
7981
- }, { signal });
8208
+ return resilientFetchData(
8209
+ cacheKey,
8210
+ async (sig) => {
8211
+ return await apiClient({
8212
+ endpoint: "getPublicRoutableContent",
8213
+ params: { siteId, publishedOnly: "true" },
8214
+ options: { signal: sig }
8215
+ });
8216
+ },
8217
+ { signal }
8218
+ );
7982
8219
  },
7983
8220
  async getSitemapRoutes(params) {
7984
8221
  const { siteId, page, pageSize, signal } = params;
@@ -7986,17 +8223,21 @@ function createRiverbankClient(config) {
7986
8223
  throw new Error("getSitemapRoutes() requires siteId");
7987
8224
  }
7988
8225
  const cacheKey = `sitemap:${siteId}:${page ?? 1}:${pageSize ?? "default"}`;
7989
- return resilientFetch(cacheKey, async (sig) => {
7990
- return await apiClient({
7991
- endpoint: "getPublicSitemapRoutes",
7992
- params: {
7993
- siteId,
7994
- ...page ? { page: String(page) } : {},
7995
- ...pageSize ? { pageSize: String(pageSize) } : {}
7996
- },
7997
- options: { signal: sig }
7998
- });
7999
- }, { signal });
8226
+ return resilientFetchData(
8227
+ cacheKey,
8228
+ async (sig) => {
8229
+ return await apiClient({
8230
+ endpoint: "getPublicSitemapRoutes",
8231
+ params: {
8232
+ siteId,
8233
+ ...page ? { page: String(page) } : {},
8234
+ ...pageSize ? { pageSize: String(pageSize) } : {}
8235
+ },
8236
+ options: { signal: sig }
8237
+ });
8238
+ },
8239
+ { signal }
8240
+ );
8000
8241
  },
8001
8242
  clearCache() {
8002
8243
  cache.clear();
@@ -8833,5 +9074,6 @@ export {
8833
9074
  canUsePrebuild,
8834
9075
  createPrebuildLoader,
8835
9076
  createRiverbankClient,
9077
+ getResilienceStatusFromError,
8836
9078
  prebuildCache
8837
9079
  };