@riverbankcms/sdk 0.77.1 → 0.78.2

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 (295) hide show
  1. package/README.md +114 -43
  2. package/dist/{PreviewEditorSidebar-DVUG7GK4.mjs → PreviewEditorSidebar-4DXLYX2V.mjs} +4962 -4885
  3. package/dist/{PreviewEditorUI-P7RN4CDS.mjs → PreviewEditorUI-CS5P4N3P.mjs} +4 -4
  4. package/dist/SdkPreviewModeRuntime-IJDHTW4W.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +190 -154
  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/contentRuntime.d.ts +1 -0
  11. package/dist/_dts/api/src/demoDashboardMutationSurfaces.d.ts +46 -0
  12. package/dist/_dts/api/src/endpoints.d.ts +17 -0
  13. package/dist/_dts/api/src/index.d.ts +16 -4
  14. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +87 -0
  15. package/dist/_dts/api/src/navigation/dashboardDemoNav.d.ts +5 -0
  16. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +45 -0
  17. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +42 -0
  18. package/dist/_dts/api/src/navigation/dashboardTeamMemberNav.d.ts +24 -0
  19. package/dist/_dts/api/src/navigation/linkUrlType.d.ts +3 -0
  20. package/dist/_dts/api/src/navigation.d.ts +12 -0
  21. package/dist/_dts/api/src/public/types.d.ts +1 -1
  22. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +55 -26
  23. package/dist/_dts/api/src/request.d.ts +3 -11
  24. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -0
  25. package/dist/_dts/api/src/sdkContracts.d.ts +7 -1
  26. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -0
  27. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -0
  28. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +15 -19
  29. package/dist/_dts/api/src/staffAccess.d.ts +79 -0
  30. package/dist/_dts/api/src/types.d.ts +14 -27
  31. package/dist/_dts/api/src/workflows/automaticWorkflowTriggers.d.ts +21 -0
  32. package/dist/_dts/block-form/src/fields/types.d.ts +6 -0
  33. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +3 -2
  34. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +6 -3
  35. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +8 -3
  36. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -1
  37. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +1 -0
  38. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -0
  39. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +7 -0
  40. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +1 -0
  41. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +3 -1
  42. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
  43. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterLabelSource.d.ts +15 -0
  44. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +50 -0
  45. package/dist/_dts/blocks/src/client/site-chrome.d.ts +4 -1
  46. package/dist/_dts/blocks/src/index.d.ts +1 -0
  47. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +879 -288
  48. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +879 -288
  49. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +879 -288
  50. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +879 -288
  51. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +879 -288
  52. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  53. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +885 -289
  54. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +879 -288
  55. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -1
  56. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +68 -21
  57. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +879 -288
  58. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +879 -288
  59. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +879 -288
  60. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
  61. package/dist/_dts/blocks/src/system/data/index.d.ts +5 -3
  62. package/dist/_dts/blocks/src/system/data/previewResolvedDataState.d.ts +45 -0
  63. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
  64. package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +5 -0
  65. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +193 -29
  66. package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +10 -0
  67. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  68. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +9 -0
  69. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +3 -2
  70. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
  71. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  72. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +43 -8
  73. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +8 -7
  74. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
  75. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +1 -1
  76. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCompactRow.d.ts +1 -4
  77. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -8
  79. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -9
  80. package/dist/_dts/blocks/src/system/runtime/nodes/shop-cart-discount-ui.d.ts +5 -0
  81. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +76 -0
  82. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout.state.d.ts +1 -4
  83. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce-store.d.ts +2 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.shared.d.ts +1 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/shop-discount-apply.state.d.ts +52 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +2 -4
  87. package/dist/_dts/blocks/src/system/runtime/nodes/useDiscountApply.d.ts +21 -0
  88. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +54 -0
  89. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  90. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  91. package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
  92. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  93. package/dist/_dts/content-editor/src/contentTypeEditorContentState.d.ts +26 -0
  94. package/dist/_dts/content-editor/src/definitions/factory.d.ts +75 -0
  95. package/dist/_dts/content-editor/src/entryWorkflows.d.ts +2 -0
  96. package/dist/_dts/content-editor/src/footerBlocksEditorState.d.ts +76 -0
  97. package/dist/_dts/content-editor/src/index.d.ts +6 -1
  98. package/dist/_dts/content-editor/src/pageWorkflowContent.d.ts +29 -0
  99. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -2
  100. package/dist/_dts/content-model/src/content-types/schema.d.ts +17 -3
  101. package/dist/_dts/content-model/src/index.d.ts +1 -0
  102. package/dist/_dts/content-model/src/routeTemplate.d.ts +4 -0
  103. package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +3 -1
  104. package/dist/_dts/content-model/src/templates/bindingValidation.d.ts +10 -4
  105. package/dist/_dts/content-model/src/templates/editorState.d.ts +25 -0
  106. package/dist/_dts/content-model/src/templates/fieldPaths.d.ts +20 -0
  107. package/dist/_dts/content-model/src/templates/manifestAdapter.d.ts +5 -2
  108. package/dist/_dts/core/src/branded.d.ts +108 -85
  109. package/dist/_dts/core/src/csv-cells.d.ts +10 -0
  110. package/dist/_dts/core/src/csv-date-filter.d.ts +27 -0
  111. package/dist/_dts/core/src/csv-escape.d.ts +1 -0
  112. package/dist/_dts/core/src/csv-filename.d.ts +18 -0
  113. package/dist/_dts/core/src/csv-render.d.ts +4 -0
  114. package/dist/_dts/core/src/csv-types.d.ts +116 -0
  115. package/dist/_dts/core/src/currency-format.d.ts +4 -0
  116. package/dist/_dts/core/src/demo-capability-policy.d.ts +29 -0
  117. package/dist/_dts/core/src/demo-claim-access.d.ts +14 -0
  118. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +11 -0
  119. package/dist/_dts/core/src/demo-runtime.d.ts +47 -0
  120. package/dist/_dts/core/src/duration.d.ts +14 -0
  121. package/dist/_dts/core/src/editor-state.d.ts +7 -7
  122. package/dist/_dts/core/src/email-format.d.ts +10 -0
  123. package/dist/_dts/core/src/field-errors.d.ts +1 -0
  124. package/dist/_dts/core/src/form-submission-preview.d.ts +24 -0
  125. package/dist/_dts/core/src/index.d.ts +20 -0
  126. package/dist/_dts/core/src/number-input.d.ts +22 -0
  127. package/dist/_dts/core/src/participants.d.ts +2 -2
  128. package/dist/_dts/core/src/public-url-validation.d.ts +12 -0
  129. package/dist/_dts/core/src/slug.d.ts +39 -0
  130. package/dist/_dts/core/src/string.d.ts +19 -0
  131. package/dist/_dts/core/src/uuid.d.ts +6 -0
  132. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +11 -0
  133. package/dist/_dts/db/src/schemas/forms.d.ts +50 -50
  134. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
  135. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +34 -0
  136. package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +24 -0
  137. package/dist/_dts/media-core/src/canonicalCropReview.d.ts +66 -0
  138. package/dist/_dts/media-core/src/classifyAllPlanning.d.ts +48 -0
  139. package/dist/_dts/media-core/src/filename.d.ts +1 -0
  140. package/dist/_dts/media-core/src/index.d.ts +10 -0
  141. package/dist/_dts/media-core/src/mediaAssetUsageStatus.d.ts +47 -0
  142. package/dist/_dts/media-core/src/mediaSettingsState.d.ts +3 -0
  143. package/dist/_dts/media-core/src/portableMediaReferences.d.ts +38 -0
  144. package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +28 -0
  145. package/dist/_dts/media-core/src/videoAssetRepair.d.ts +38 -0
  146. package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -1
  147. package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -1
  148. package/dist/_dts/media-editor/src/fieldUi.d.ts +5 -0
  149. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  150. package/dist/_dts/media-editor/src/mediaEditorDebug.d.ts +1 -0
  151. package/dist/_dts/path-utils/src/index.d.ts +8 -0
  152. package/dist/_dts/path-utils/src/redirectPaths.d.ts +26 -0
  153. package/dist/_dts/path-utils/src/safeAppPath.d.ts +26 -0
  154. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
  155. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -0
  156. package/dist/_dts/preview-next/src/client/preview/previewDocumentFrame.d.ts +31 -0
  157. package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
  158. package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +2 -0
  159. package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +3 -3
  160. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +7 -0
  161. package/dist/_dts/sdk/src/cli/commands/push.d.ts +2 -0
  162. package/dist/_dts/sdk/src/cli/content/reader.d.ts +13 -0
  163. package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -1
  164. package/dist/_dts/sdk/src/cli/helpers.d.ts +2 -0
  165. package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +6 -6
  166. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +5 -0
  167. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +4 -0
  168. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +5 -2
  169. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +10 -1
  170. package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
  171. package/dist/_dts/sdk/src/client/error.d.ts +3 -0
  172. package/dist/_dts/sdk/src/client/index.d.ts +2 -2
  173. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -0
  174. package/dist/_dts/sdk/src/client/types.d.ts +39 -21
  175. package/dist/_dts/sdk/src/config/content-types.d.ts +7 -0
  176. package/dist/_dts/sdk/src/config/field-definitions.d.ts +2 -0
  177. package/dist/_dts/sdk/src/index.d.ts +2 -2
  178. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +16 -16
  179. package/dist/_dts/sdk/src/next/content-load-failure.d.ts +51 -0
  180. package/dist/_dts/sdk/src/next/index.d.ts +2 -1
  181. package/dist/_dts/sdk/src/next/types.d.ts +19 -0
  182. package/dist/_dts/sdk/src/portal/redirects.d.ts +1 -1
  183. package/dist/_dts/sdk/src/routing/index.d.ts +3 -2
  184. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +71 -6
  185. package/dist/_dts/sdk/src/version.d.ts +1 -1
  186. package/dist/_dts/site-commands/src/commands.d.ts +15 -12
  187. package/dist/_dts/site-commands/src/index.d.ts +1 -0
  188. package/dist/_dts/site-commands/src/pagePaths.d.ts +6 -0
  189. package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +26 -0
  190. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -0
  191. package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +1 -0
  192. package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -0
  193. package/dist/_dts/theme-core/src/fonts/uploadFormat.d.ts +44 -0
  194. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  195. package/dist/_dts/theme-core/src/index.d.ts +3 -1
  196. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +36 -24
  197. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +6 -1
  198. package/dist/_dts/theme-core/src/navigation/types.d.ts +12 -0
  199. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
  200. package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +7 -0
  201. package/dist/_dts/theme-core/src/schema.d.ts +64 -18
  202. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +214 -34
  203. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -2
  204. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +214 -34
  205. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +24 -0
  206. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +31 -3
  207. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  208. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +33 -1
  209. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +4 -2
  210. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -1
  211. package/dist/_dts/theme-core/src/site-styles/types.d.ts +27 -2
  212. package/dist/_dts/theme-core/src/siteChrome.d.ts +17 -34
  213. package/dist/_dts/theme-core/src/siteChromeOverlayClearance.d.ts +22 -0
  214. package/dist/_dts/theme-core/src/siteChromePlacement.d.ts +22 -0
  215. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +32 -0
  216. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
  217. package/dist/{altcha-B5XGSXP5.mjs → altcha-EKUEQ4RP.mjs} +1 -1
  218. package/dist/{chunk-IENWFSLO.mjs → chunk-4QEGTLK6.mjs} +1 -1
  219. package/dist/{chunk-ZYEJLCTN.mjs → chunk-6HYXHRAI.mjs} +5 -5
  220. package/dist/{chunk-VX7B5VAC.mjs → chunk-CR5HKAGU.mjs} +32 -5
  221. package/dist/{chunk-KWJPDZH2.mjs → chunk-MCRQMPET.mjs} +3793 -1201
  222. package/dist/{chunk-6SMUFTXD.mjs → chunk-OKMBEAXY.mjs} +1 -1
  223. package/dist/{chunk-XGB3TDIC.mjs → chunk-R7POPVJR.mjs} +2 -8
  224. package/dist/{chunk-2SPENC5M.mjs → chunk-RGTOD4AJ.mjs} +242 -57
  225. package/dist/cli/index.mjs +2361 -668
  226. package/dist/cli/init-docs/content/cli-reference.md +3 -2
  227. package/dist/cli/init-docs/content/content-management.md +2 -2
  228. package/dist/cli/init-docs/content/workflow-preview-mode.md +68 -2
  229. package/dist/client/{accordion-RZMQSYLR.mjs → accordion-PLYNJIIM.mjs} +2 -2
  230. package/dist/client/analytics.mjs +1 -1
  231. package/dist/client/{bookingForm-NF4ASVNV.mjs → bookingForm-BXAP6AO7.mjs} +76 -72
  232. package/dist/client/bookings.mjs +3765 -310
  233. package/dist/client/{carousel-LDX47ZIK.mjs → carousel-TRBXDHGF.mjs} +3 -4
  234. package/dist/client/{cart-RGXDS5F4.mjs → cart-Z7H3HJRS.mjs} +8 -8
  235. package/dist/client/{checkout-P7WWSNNY.mjs → checkout-WAFCUBIX.mjs} +8 -8
  236. package/dist/client/{chunk-II7O4XN3.mjs → chunk-75OUS5MT.mjs} +2 -2
  237. package/dist/client/{chunk-PMAIXMAB.mjs → chunk-AUJ5DBZJ.mjs} +42 -37
  238. package/dist/client/{chunk-TQ5MSPDX.mjs → chunk-CE7IBGVW.mjs} +3 -1
  239. package/dist/client/{chunk-E2TDNXCL.mjs → chunk-CWGTG37I.mjs} +2 -1
  240. package/dist/client/{chunk-UFSWADAO.mjs → chunk-DNRGY432.mjs} +6 -67
  241. package/dist/client/{chunk-GMVTOKYG.mjs → chunk-FUXW6VW2.mjs} +512 -66
  242. package/dist/client/{chunk-R56FQ3RR.mjs → chunk-JGXPTEI2.mjs} +322 -106
  243. package/dist/client/{chunk-L3DNHIJX.mjs → chunk-JRDUHZCT.mjs} +53 -53
  244. package/dist/client/{chunk-M3L3KYYR.mjs → chunk-UDNSI5PY.mjs} +12 -0
  245. package/dist/client/{chunk-JEZECJ3W.mjs → chunk-UVQEJJTN.mjs} +129 -3
  246. package/dist/client/{chunk-F7LHOKEH.mjs → chunk-XSV6KW4D.mjs} +1 -1
  247. package/dist/client/chunk-ZFHRN6W2.mjs +66 -0
  248. package/dist/client/{chunk-JNC7CGHX.mjs → chunk-ZI3LLBPZ.mjs} +3 -3
  249. package/dist/client/client.mjs +7577 -4979
  250. package/dist/client/{courseRegistration-7F65K5ZR.mjs → courseRegistration-AHFQHWIJ.mjs} +19 -16
  251. package/dist/client/{eventCalendar-GLSC5KTL.mjs → eventCalendar-LDXTV5R7.mjs} +10 -10
  252. package/dist/client/{eventCombined-ZHK4WKUR.mjs → eventCombined-A4JGTNJO.mjs} +10 -10
  253. package/dist/client/{eventDetails-E3PJYBIN.mjs → eventDetails-4YXTZ7EG.mjs} +10 -10
  254. package/dist/client/{eventListing-EMS3WC3E.mjs → eventListing-P72TPFFM.mjs} +10 -10
  255. package/dist/client/{eventRegistration-NZOTVNPI.mjs → eventRegistration-LSYJHGMT.mjs} +10 -10
  256. package/dist/client/{form-ETFZFATW.mjs → form-AOPYOKOW.mjs} +10 -7
  257. package/dist/client/{headerSection-4LBP7ULT.mjs → headerSection-5TFYDFVQ.mjs} +3 -3
  258. package/dist/client/hooks.mjs +1119 -327
  259. package/dist/client/{locationMap-5M655YSJ.mjs → locationMap-QSZ3ZVAZ.mjs} +3 -3
  260. package/dist/client/{newsletterForm-QOUYW44O.mjs → newsletterForm-KTRHZY52.mjs} +3 -3
  261. package/dist/client/{productDetail-O4DOCWQG.mjs → productDetail-N4E775RG.mjs} +8 -8
  262. package/dist/client/{productList-A5RO5WIS.mjs → productList-UGUQ2S45.mjs} +8 -8
  263. package/dist/client/rendering/client.mjs +7262 -2775
  264. package/dist/client/rendering/islands.mjs +19 -19
  265. package/dist/client/rendering.mjs +6964 -4587
  266. package/dist/client/{shop-L4MZH4I2.mjs → shop-VHSZEEQ2.mjs} +8 -8
  267. package/dist/preview-next/before-render.mjs +18 -1
  268. package/dist/preview-next/client/runtime.mjs +6 -6
  269. package/dist/preview-next/editor-chrome.css +10 -0
  270. package/dist/preview-next/middleware.mjs +18 -1
  271. package/dist/preview-next/tailwind-sources.css +1 -0
  272. package/dist/sdk-runtime-WHPJEF5G.mjs +8 -0
  273. package/dist/server/components.mjs +2736 -1316
  274. package/dist/server/config-template-validation.mjs +221 -15
  275. package/dist/server/config-validation.mjs +1346 -550
  276. package/dist/server/config.mjs +1346 -550
  277. package/dist/server/data.mjs +1118 -326
  278. package/dist/server/index.mjs +514 -251
  279. package/dist/server/next.mjs +4446 -2444
  280. package/dist/server/page-converter.mjs +631 -155
  281. package/dist/server/prebuild.mjs +1 -1
  282. package/dist/server/rendering/server.mjs +2743 -1323
  283. package/dist/server/rendering.mjs +2764 -1328
  284. package/dist/server/routing.mjs +1860 -590
  285. package/dist/server/server.mjs +1622 -575
  286. package/dist/server/theme-bridge.mjs +3151 -131
  287. package/dist/server/theme.mjs +10 -1
  288. package/dist/styles/index.css +488 -48
  289. package/package.json +2 -1
  290. package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +0 -8
  291. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/DiscountCodeSection.d.ts +0 -7
  292. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +0 -4
  293. package/dist/client/chunk-OJPZEZU2.mjs +0 -31
  294. package/dist/client/chunk-RTZ3JKKX.mjs +0 -178
  295. package/dist/sdk-runtime-6UT2S7KZ.mjs +0 -8
@@ -0,0 +1,26 @@
1
+ import { type RedirectPathParseError } from './redirectPaths';
2
+ declare const __brand: unique symbol;
3
+ type Brand<T, B extends string> = T & {
4
+ readonly [__brand]: B;
5
+ };
6
+ /**
7
+ * A redirect path that has been validated as a safe, same-origin relative path.
8
+ *
9
+ * Parse once at the boundary, then carry the branded value inward instead of
10
+ * re-validating ad hoc string inputs in every auth flow.
11
+ */
12
+ export type SafeAppPath = Brand<string, 'SafeAppPath'>;
13
+ export type SafeAppPathParseError = RedirectPathParseError;
14
+ export type SafeAppPathParseResult = {
15
+ ok: true;
16
+ value: SafeAppPath;
17
+ } | {
18
+ ok: false;
19
+ error: SafeAppPathParseError;
20
+ };
21
+ export declare function parseSafeAppPath(value: unknown): SafeAppPathParseResult;
22
+ export declare function sanitizeSafeAppPath(value: unknown): SafeAppPath | null;
23
+ export declare function assertSafeAppPath(value: string): SafeAppPath;
24
+ export declare function safeAppPathOrFallback(value: unknown, fallback: SafeAppPath): SafeAppPath;
25
+ export declare function buildSafeRedirectUrl(path: SafeAppPath, baseUrl: string | URL): URL;
26
+ export {};
@@ -1,4 +1,5 @@
1
1
  import type { SiteChromeEditableSurfaceKind } from './SiteChromeEditableSurface';
2
- export declare function SiteChromeCustomizeButton({ surface, }: {
2
+ export declare function SiteChromeCustomizeButton({ surface, containerClassName, }: {
3
3
  surface: SiteChromeEditableSurfaceKind;
4
+ containerClassName?: string;
4
5
  }): import("react/jsx-runtime").JSX.Element;
@@ -13,6 +13,9 @@ type SiteChromeCustomizeSurfaceState = Readonly<{
13
13
  kind: 'available';
14
14
  surface: 'header';
15
15
  label: string;
16
+ currentLayoutId: HeaderLayoutId;
17
+ currentLayoutLabel: string;
18
+ layoutOptions: readonly SiteChromeLookOption<HeaderLayoutId>[];
16
19
  currentId: HeaderStyleId;
17
20
  currentLabel: string;
18
21
  options: readonly SiteChromeLookOption<HeaderStyleId>[];
@@ -35,6 +38,7 @@ type SiteChromeCustomizeSurfaceState = Readonly<{
35
38
  type SiteChromeCustomizeContextValue = Readonly<{
36
39
  getSurfaceState: (surface: SiteChromeEditableSurfaceKind) => SiteChromeCustomizeSurfaceState;
37
40
  cycleSurfaceLook: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
41
+ cycleSurfaceLayout: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
38
42
  }>;
39
43
  export type SiteChromeCustomizeProviderProps = Readonly<{
40
44
  children: ReactNode;
@@ -0,0 +1,31 @@
1
+ import type { CSSProperties } from "react";
2
+ import type { ViewportMode, ViewportWidth } from "./PreviewViewportControls";
3
+ type ZoomableStyle = CSSProperties & Readonly<{
4
+ zoom?: number;
5
+ }>;
6
+ export type PreviewDocumentFramePlan = Readonly<{
7
+ kind: "squeeze";
8
+ frameClassName: string;
9
+ frameDataProps: PreviewDocumentFrameDataProps;
10
+ }> | Readonly<{
11
+ kind: "fixed";
12
+ targetWidthPx: number;
13
+ wrapperStyle: CSSProperties;
14
+ contentStyle: ZoomableStyle;
15
+ siteDocumentStyle: CSSProperties;
16
+ frameClassName: string;
17
+ frameDataProps: PreviewDocumentFrameDataProps;
18
+ }>;
19
+ export type PreviewDocumentFrameDataProps = Readonly<{
20
+ "data-builder-preview-document-frame": "squeeze" | "fixed";
21
+ "data-builder-preview-document-scale": "none" | "scaled";
22
+ "data-builder-preview-fixed-header-behavior"?: "fixed-as-sticky";
23
+ }>;
24
+ export type PreviewDocumentFrameInput = Readonly<{
25
+ viewportMode: ViewportMode;
26
+ viewportWidth: ViewportWidth;
27
+ scale: number;
28
+ contentHeight: number;
29
+ }>;
30
+ export declare function planPreviewDocumentFrame(input: PreviewDocumentFrameInput): PreviewDocumentFramePlan;
31
+ export {};
@@ -1,3 +1,3 @@
1
- export declare const VALID_PUSH_SCOPES: readonly ["entries", "pages", "navigation", "forms", "theme", "footer", "venues", "event-categories", "events", "courses", "all"];
1
+ export declare const VALID_PUSH_SCOPES: readonly ["entries", "pages", "navigation", "forms", "settings", "theme", "footer", "venues", "event-categories", "events", "courses", "all"];
2
2
  export type PushScope = (typeof VALID_PUSH_SCOPES)[number];
3
3
  export declare function isValidPushScope(scope: string): scope is PushScope;
@@ -12,6 +12,8 @@ export interface MetadataUpdateFlags {
12
12
  willUpdateNavigation: boolean;
13
13
  /** Whether forms metadata should be updated (zero failures + some synced) */
14
14
  willUpdateForms: boolean;
15
+ /** Whether settings metadata should be updated (zero failures + settings synced) */
16
+ willUpdateSettings: boolean;
15
17
  /** Whether any metadata should be updated (at least one content type qualifies) */
16
18
  shouldUpdateMetadata: boolean;
17
19
  }
@@ -1,6 +1,6 @@
1
- import type { EntryMetadata, PagesMetadata, NavigationMetadata, FormsMetadata, LocalContent } from '../../content/reader';
1
+ import type { EntryMetadata, PagesMetadata, NavigationMetadata, FormsMetadata, LocalContent, SettingsMetadata } from '../../content/reader';
2
2
  import type { PulledContent } from '../../../client/management/types';
3
- export type StaleScope = 'entries' | 'pages' | 'navigation' | 'forms';
3
+ export type StaleScope = 'entries' | 'pages' | 'navigation' | 'settings' | 'forms';
4
4
  export interface StaleItem {
5
5
  scope: StaleScope;
6
6
  /** Only set for entries — the content type slug */
@@ -14,4 +14,4 @@ export interface StaleItem {
14
14
  * Check for stale content (remote is newer than local base)
15
15
  * @internal Exported for testing
16
16
  */
17
- export declare function checkForStaleContent(localContent: LocalContent, localMeta: Map<string, EntryMetadata>, pagesMeta: PagesMetadata | null, navigationMeta: NavigationMetadata | null, formsMeta: FormsMetadata | null, remoteContent: PulledContent): StaleItem[];
17
+ export declare function checkForStaleContent(localContent: LocalContent, localMeta: Map<string, EntryMetadata>, pagesMeta: PagesMetadata | null, navigationMeta: NavigationMetadata | null, formsMeta: FormsMetadata | null, remoteContent: PulledContent, settingsMeta?: SettingsMetadata | null): StaleItem[];
@@ -1,11 +1,18 @@
1
1
  import { type EnvTarget } from '../helpers';
2
2
  import type { OutputContext } from '../output';
3
+ import type { ContentSummary } from '../content/reader';
3
4
  import { type JsonDiffMode } from '../sync';
4
5
  import type { PushOptions } from './push/options';
5
6
  import { type PushScope } from './push/consts';
6
7
  export interface PushExecutionResult {
7
8
  success: boolean;
8
9
  }
10
+ export declare function noContentFoundWarningDetails(contentDir: string): Readonly<{
11
+ contentDir: string;
12
+ expectedFiles: readonly string[];
13
+ suggestion: string;
14
+ }>;
15
+ export declare function contentSummaryHasPushableContent(summary: ContentSummary): boolean;
9
16
  type MergeRemoteValidationInput = Readonly<{
10
17
  target: EnvTarget;
11
18
  pushScope: PushScope;
@@ -11,6 +11,7 @@
11
11
  * riverbankcms push pages # Push pages with blocks
12
12
  * riverbankcms push pages home # Push specific page with blocks
13
13
  * riverbankcms push navigation # Push navigation menus
14
+ * riverbankcms push settings # Push site settings
14
15
  * riverbankcms push footer # Push footer content
15
16
  * riverbankcms push theme # Push activeTheme from config (or 'current')
16
17
  * riverbankcms push theme modern # Push specific theme file
@@ -18,6 +19,7 @@
18
19
  * riverbankcms push --dry-run # Show what would be pushed
19
20
  */
20
21
  import { Command } from 'commander';
22
+ export { contentSummaryHasPushableContent, noContentFoundWarningDetails } from './push-execute';
21
23
  export { VALID_PUSH_SCOPES, isValidPushScope, type PushScope } from './push/consts';
22
24
  export { calculateMetadataUpdates, type MetadataUpdateFlags } from './push/metadata';
23
25
  export { filterLocalContent, type FilterResult } from './push/filter';
@@ -12,6 +12,7 @@ export interface LocalEntry {
12
12
  status?: 'draft' | 'published';
13
13
  hasUnpublishedChanges?: boolean;
14
14
  slug?: string;
15
+ manualOrder?: number;
15
16
  }
16
17
  export declare class LegacyEntryTitleError extends Error {
17
18
  readonly filePath: string;
@@ -376,6 +377,7 @@ export interface ContentSummary {
376
377
  export declare function getContentSummary(contentDir: string): Promise<ContentSummary>;
377
378
  export interface EntryMetadata {
378
379
  pulledAt: string;
380
+ manualOrder?: string[];
379
381
  entries: Record<string, {
380
382
  id?: string;
381
383
  createdAt?: string;
@@ -397,6 +399,10 @@ export interface NavigationMetadata {
397
399
  updatedAt?: string;
398
400
  }>;
399
401
  }
402
+ export interface SettingsMetadata {
403
+ pulledAt: string;
404
+ updatedAt: string | null;
405
+ }
400
406
  /**
401
407
  * Read metadata for a content type from .meta/ directory
402
408
  *
@@ -412,6 +418,13 @@ export declare function readEntriesMeta(contentDir: string, contentType: string)
412
418
  * @returns Map of content type to metadata
413
419
  */
414
420
  export declare function readAllMeta(contentDir: string): Promise<Map<string, EntryMetadata>>;
421
+ /**
422
+ * Read settings metadata from .meta/settings.json
423
+ *
424
+ * @param contentDir - Base content directory
425
+ * @returns Settings metadata or null if not found
426
+ */
427
+ export declare function readSettingsMeta(contentDir: string): Promise<SettingsMetadata | null>;
415
428
  /**
416
429
  * Read pages metadata from .meta/pages.json
417
430
  *
@@ -50,7 +50,7 @@ export declare function writeNavigation(contentDir: string, pulledNavigation: Pu
50
50
  *
51
51
  * Format: content/settings.json
52
52
  */
53
- export declare function writeSettings(contentDir: string, pulledSettings: PulledSettings): Promise<string>;
53
+ export declare function writeSettings(contentDir: string, pulledSettings: PulledSettings, options?: WriterOptions): Promise<string>;
54
54
  /**
55
55
  * Write forms to content directory
56
56
  *
@@ -195,6 +195,7 @@ export declare function updateMetadataAfterPush(contentDir: string, remoteConten
195
195
  updatedAt: string;
196
196
  createdAt?: string;
197
197
  }>;
198
+ settingsUpdatedAt?: string | null;
198
199
  forms?: Array<{
199
200
  slug: string;
200
201
  updatedAt: string;
@@ -97,6 +97,7 @@ export interface PulledEntryOutput {
97
97
  slug?: string;
98
98
  /** Resolved title (routable title when present, otherwise content title) */
99
99
  title: string;
100
+ manualOrder?: number;
100
101
  }
101
102
  /**
102
103
  * Map an entry from API response to pull output format.
@@ -109,6 +110,7 @@ export declare function mapEntryForOutput<T extends {
109
110
  hasUnpublishedChanges: boolean;
110
111
  slug?: string;
111
112
  title: string;
113
+ manualOrder?: number;
112
114
  }>(entry: T): PulledEntryOutput;
113
115
  /**
114
116
  * Parse pagination options from command flags.
@@ -5,9 +5,9 @@ export type CliPageIdentifier = Brand<string, 'SdkCliPageIdentifier'>;
5
5
  export type CliBlockIdentifier = Brand<string, 'SdkCliBlockIdentifier'>;
6
6
  export type CliFormSlug = Brand<string, 'SdkCliFormSlug'>;
7
7
  export type CliNavigationMenuName = Brand<string, 'SdkCliNavigationMenuName'>;
8
- export declare const asCliContentTypeKey: (value: string) => CliContentTypeKey;
9
- export declare const asCliEntryIdentifier: (value: string) => CliEntryIdentifier;
10
- export declare const asCliPageIdentifier: (value: string) => CliPageIdentifier;
11
- export declare const asCliBlockIdentifier: (value: string) => CliBlockIdentifier;
12
- export declare const asCliFormSlug: (value: string) => CliFormSlug;
13
- export declare const asCliNavigationMenuName: (value: string) => CliNavigationMenuName;
8
+ export declare const unsafeAsCliContentTypeKey: (value: string) => CliContentTypeKey;
9
+ export declare const unsafeAsCliEntryIdentifier: (value: string) => CliEntryIdentifier;
10
+ export declare const unsafeAsCliPageIdentifier: (value: string) => CliPageIdentifier;
11
+ export declare const unsafeAsCliBlockIdentifier: (value: string) => CliBlockIdentifier;
12
+ export declare const unsafeAsCliFormSlug: (value: string) => CliFormSlug;
13
+ export declare const unsafeAsCliNavigationMenuName: (value: string) => CliNavigationMenuName;
@@ -68,6 +68,11 @@ export type CliCommandOutcome<TSubject> = Readonly<{
68
68
  identifier: string;
69
69
  message: string;
70
70
  subject?: TSubject;
71
+ }> | Readonly<{
72
+ status: 'preflight_failed';
73
+ identifier: string;
74
+ message: string;
75
+ subject?: TSubject;
71
76
  }>;
72
77
  export type CliCommandExecutionReport<TSubject> = Readonly<{
73
78
  outcomes: readonly CliCommandOutcome<TSubject>[];
@@ -19,9 +19,13 @@ export type CommandSurfaceDispatchInput = Readonly<{
19
19
  }>;
20
20
  export type CommandSurfaceDispatchDependencies = Readonly<{
21
21
  compileCommandSurface?: (surface: CommandSurface, input: CommandSurfaceDispatchInput) => CommandSurfaceCompileResult;
22
+ preflightCommandSurfaceAsReport?: (surface: CommandSurfaceCompileSuccess, input: CommandSurfaceDispatchInput) => CommandSurfaceExecutionReport;
22
23
  executeCommandSurfaceAsReport?: (surface: CommandSurfaceCompileSuccess, input: CommandSurfaceDispatchInput) => Promise<CommandSurfaceExecutionReport>;
23
24
  }>;
24
25
  export declare function compileContentPushExecutionPlan(plan: ContentPushExecutionPlan, input: CommandSurfaceDispatchInput, dependencies?: CommandSurfaceDispatchDependencies): Result<CompiledContentPushExecutionPlan, ContentPushExecutionReport>;
26
+ export declare function preflightContentPushExecutionPlan(steps: readonly CompiledContentPushExecutionStep[], input: CommandSurfaceDispatchInput, dependencies?: CommandSurfaceDispatchDependencies): ContentPushExecutionReport;
27
+ export declare function contentPushExecutionReportHasFailures(report: ContentPushExecutionReport): boolean;
25
28
  export declare function executeCommandSurfaceAsReport(surface: CommandSurfaceCompileSuccess, input: CommandSurfaceDispatchInput): Promise<CommandSurfaceExecutionReport>;
29
+ export declare function preflightCommandSurfaceAsReport(surface: CommandSurfaceCompileSuccess, input: CommandSurfaceDispatchInput): CommandSurfaceExecutionReport;
26
30
  export declare function skippedRemainingCommandReports(steps: readonly CompiledContentPushExecutionStep[]): CommandSurfaceExecutionReport[];
27
31
  export declare function commandSurfaceReportToSyncResult(report: CommandSurfaceExecutionReport): SyncResult;
@@ -53,7 +53,7 @@ export type PageCommandReportSubject = Readonly<{
53
53
  counter: BlockCommandSyncCounter;
54
54
  }>;
55
55
  export type PageCommandExecutionReport = CliCommandExecutionReport<PageCommandReportSubject>;
56
- type PageCommandCompiledPlan = Pick<CliPageCommandCompileSuccess, 'plan' | 'reportedCommands' | 'warnings'>;
56
+ export type PageCommandCompiledPlan = Pick<CliPageCommandCompileSuccess, 'plan' | 'reportedCommands' | 'warnings'>;
57
57
  export declare function compilePagePushCommands(input: CliPageCommandCompileInput): Result<CliPageCommandCompileSuccess, CliPageCommandCompileError>;
58
58
  export type PageCommandRoutingDecision = Readonly<{
59
59
  kind: 'no_page_changes';
@@ -75,5 +75,8 @@ export declare function pageCommandExecutionToReport(input: Readonly<{
75
75
  execution: CliPageCommandExecutionResult;
76
76
  compiledPlan: PageCommandCompiledPlan;
77
77
  }>): PageCommandExecutionReport;
78
+ export declare function preflightPageCommandPlanAsReport(input: Readonly<{
79
+ compiledPlan: PageCommandCompiledPlan;
80
+ blockFieldExtensions?: BlockFieldExtensionsMap;
81
+ }>): PageCommandExecutionReport;
78
82
  export declare function pageCommandReportToSyncResult(report: PageCommandExecutionReport): SyncResult;
79
- export {};
@@ -6,7 +6,7 @@ import type { OutputContext } from '../output';
6
6
  import { type ContentDiff, type SyncResult } from '../sync';
7
7
  import { type CommandSurfaceDispatchDependencies } from './commandSurfaceDispatch';
8
8
  import { planContentPushExecution } from './pushExecutionPlan';
9
- import type { CommandSurface, CommandSurfaceCompileResult, CommandSurfaceCompileSuccess, CommandSurfaceExecutionReport, ContentPushScope, ContentPushExecutionPlan, ContentPushExecutionReport, ContentPushExecutionStep } from './pushExecutionTypes';
9
+ import type { CommandSurface, CommandSurfaceCompileResult, CommandSurfaceCompileSuccess, CommandSurfaceExecutionReport, CompiledContentPushExecutionPlan, ContentPushScope, ContentPushExecutionPlan, ContentPushExecutionReport, ContentPushExecutionStep } from './pushExecutionTypes';
10
10
  import type { compilePagePushCommands } from './pageCommands';
11
11
  export { planContentPushExecution };
12
12
  export type { CommandSurface, CommandSurfaceCompileResult, CommandSurfaceCompileSuccess, CommandSurfaceExecutionReport, ContentPushScope, ContentPushExecutionPlan, ContentPushExecutionReport, ContentPushExecutionStep, };
@@ -26,4 +26,13 @@ export type ContentPushExecutionInput = Readonly<{
26
26
  }>;
27
27
  export declare function executeContentPushPlan(input: ContentPushExecutionInput): Promise<SyncResult>;
28
28
  export declare function executeContentPushPlanAsCommandReport(input: ContentPushExecutionInput, dependencies?: CommandSurfaceDispatchDependencies): Promise<ContentPushExecutionReport>;
29
+ export type ContentPushPreflightOutcome = Readonly<{
30
+ ok: true;
31
+ compiled: CompiledContentPushExecutionPlan;
32
+ report: ContentPushExecutionReport;
33
+ }> | Readonly<{
34
+ ok: false;
35
+ report: ContentPushExecutionReport;
36
+ }>;
37
+ export declare function preflightContentPushPlanAsCommandReport(input: ContentPushExecutionInput, dependencies?: CommandSurfaceDispatchDependencies): ContentPushPreflightOutcome;
29
38
  export declare function contentPushExecutionReportToSyncResult(report: ContentPushExecutionReport): SyncResult;
@@ -7,7 +7,7 @@ import type { compileNavigationPushCommands, NavigationCommandExecutionReport }
7
7
  import type { compilePagePushCommands, PageCommandExecutionReport } from './pageCommands';
8
8
  export type CommandSurface = 'entry' | 'page' | 'form' | 'navigation';
9
9
  export type CommandSurfaceFailurePolicy = 'continue' | 'stop';
10
- export type ContentPushScope = Extract<PushScope, 'entries' | 'pages' | 'navigation' | 'forms' | 'all'>;
10
+ export type ContentPushScope = Extract<PushScope, 'entries' | 'pages' | 'navigation' | 'forms' | 'settings' | 'all'>;
11
11
  export type ResidualSettingsPushPlan = Readonly<{
12
12
  diff: ResidualSettingsDiff;
13
13
  local: ResidualSettingsLocalContent;
@@ -5,6 +5,7 @@
5
5
  * Provides typed access to error details including code, message, request ID, and field errors.
6
6
  */
7
7
  import type { ApiError, ApiErrorCode, FieldError } from '../public-api/contracts';
8
+ import type { ResilienceStatus } from './types';
8
9
  /**
9
10
  * Error options for creating RiverbankApiError
10
11
  */
@@ -147,3 +148,5 @@ export declare class RiverbankApiError extends Error {
147
148
  */
148
149
  toDetailedString(): string;
149
150
  }
151
+ export declare function attachResilienceStatusToError(error: unknown, resilienceStatus: ResilienceStatus): unknown;
152
+ export declare function getResilienceStatusFromError(error: unknown): ResilienceStatus | undefined;
@@ -13,6 +13,6 @@ import type { RiverbankClient, RiverbankClientConfig } from './types';
13
13
  * ```
14
14
  */
15
15
  export declare function createRiverbankClient(config: RiverbankClientConfig): RiverbankClient;
16
- export type { RiverbankClient, RiverbankClientConfig, ResilienceConfig, ResilienceStatus, ApiKeyType, SdkAuthConfig } from './types';
17
- export { RiverbankApiError } from './error';
16
+ export type { ApiKeyType, GetPageParams, GetSiteParams, ResilienceConfig, ResilienceStatus, ResilientData, RiverbankClient, RiverbankClientConfig, SdkAuthConfig, } from './types';
17
+ export { getResilienceStatusFromError, RiverbankApiError } from './error';
18
18
  export { CircuitOpenError } from './resilience';
@@ -39,12 +39,14 @@ export interface ManagementEntry {
39
39
  createdAt: string;
40
40
  updatedAt: string;
41
41
  publishedAt: string | null;
42
+ manualOrder: number;
42
43
  }
43
44
  export interface EntryUpsertInput {
44
45
  identifier: string;
45
46
  contentType: string;
46
47
  data: Record<string, unknown>;
47
48
  slug?: string;
49
+ manualOrder?: number;
48
50
  }
49
51
  export interface ManagementPage {
50
52
  id: string;
@@ -534,9 +536,11 @@ export interface PulledEntries {
534
536
  * Canonical entry title (route title for routable content types).
535
537
  */
536
538
  title: string;
539
+ manualOrder?: number;
537
540
  }>;
538
541
  meta: {
539
542
  pulledAt: string;
543
+ manualOrder?: string[];
540
544
  entries: Record<string, {
541
545
  createdAt: string;
542
546
  updatedAt: string;
@@ -586,6 +590,7 @@ export interface PulledSettings {
586
590
  warnings?: string[];
587
591
  meta: {
588
592
  pulledAt: string;
593
+ updatedAt: string | null;
589
594
  };
590
595
  }
591
596
  export interface PulledForms {
@@ -734,6 +739,7 @@ export interface PulledContent {
734
739
  courses?: PulledCourses['courses'];
735
740
  meta: {
736
741
  pulledAt: string;
742
+ settingsUpdatedAt?: string | null;
737
743
  /** Whether the response was truncated due to size limits */
738
744
  truncated?: boolean;
739
745
  /** Message explaining what was truncated */
@@ -30,6 +30,24 @@ export interface SdkMethodOptions {
30
30
  /** AbortSignal for cancelling the request */
31
31
  signal?: AbortSignal;
32
32
  }
33
+ export type GetSiteParams = {
34
+ slug?: string;
35
+ domain?: string;
36
+ id?: string;
37
+ /**
38
+ * Bypass SDK in-memory cache and Next.js fetch caching (uses `cache: 'no-store'`).
39
+ *
40
+ * Useful right after `riverbankcms push-config` in development to avoid waiting
41
+ * for cache revalidation.
42
+ */
43
+ force?: boolean;
44
+ currentPath?: string;
45
+ } & SdkMethodOptions;
46
+ export type GetPageParams = {
47
+ siteId: string;
48
+ path: string;
49
+ preview?: boolean;
50
+ } & SdkMethodOptions;
33
51
  /**
34
52
  * Base parameters for getEntries - shared across all overloads
35
53
  */
@@ -42,8 +60,8 @@ export interface GetEntriesBaseParams extends SdkMethodOptions {
42
60
  limit?: number;
43
61
  /** Number of entries to skip for pagination */
44
62
  offset?: number;
45
- /** Sort order for entries. 'order' uses custom ordering (default behavior). */
46
- order?: 'newest' | 'oldest' | 'title' | 'order';
63
+ /** Sort order for entries. Use 'manual' for content types that opt into manual ordering. */
64
+ order?: 'newest' | 'oldest' | 'title' | 'manual';
47
65
  /** If true, includes draft entries (requires API key with site access) */
48
66
  preview?: boolean;
49
67
  /** Selection mode: 'query' for automatic, 'manual' for specific entry IDs */
@@ -69,6 +87,7 @@ export interface ResilienceStatus {
69
87
  error?: {
70
88
  code?: string;
71
89
  message: string;
90
+ status?: number;
72
91
  };
73
92
  /** Seconds since cache TTL expired (when source='stale') */
74
93
  staleAgeSec?: number;
@@ -81,6 +100,13 @@ export interface ResilienceStatus {
81
100
  /** Total request duration including retries (ms) */
82
101
  durationMs?: number;
83
102
  }
103
+ /**
104
+ * Data returned with the resilience status for the exact request that produced it.
105
+ */
106
+ export type ResilientData<T> = Readonly<{
107
+ data: T;
108
+ resilience: ResilienceStatus;
109
+ }>;
84
110
  /**
85
111
  * Circuit breaker state information
86
112
  */
@@ -201,7 +227,7 @@ export type SdkAuthConfig = {
201
227
  token: string;
202
228
  };
203
229
  export declare const SDK_CORRELATION_HEADER_NAMES: readonly ["x-request-id", "x-correlation-id", "x-riverbank-monitor-run-id"];
204
- export type SdkCorrelationHeaderName = typeof SDK_CORRELATION_HEADER_NAMES[number];
230
+ export type SdkCorrelationHeaderName = (typeof SDK_CORRELATION_HEADER_NAMES)[number];
205
231
  export type SdkCorrelationHeaders = Readonly<Partial<Record<SdkCorrelationHeaderName, string>>>;
206
232
  /**
207
233
  * Configuration for creating a Riverbank CMS client
@@ -276,29 +302,21 @@ export interface RiverbankClient {
276
302
  /**
277
303
  * Fetch site data by slug, domain, or ID
278
304
  */
279
- getSite(params: {
280
- slug?: string;
281
- domain?: string;
282
- id?: string;
283
- /**
284
- * Bypass SDK in-memory cache and Next.js fetch caching (uses `cache: 'no-store'`).
285
- *
286
- * Useful right after `riverbankcms push-config` in development to avoid waiting
287
- * for cache revalidation.
288
- */
289
- force?: boolean;
290
- currentPath?: string;
291
- } & SdkMethodOptions): Promise<SiteResponse>;
305
+ getSite(params: GetSiteParams): Promise<SiteResponse>;
306
+ /**
307
+ * Fetch site data and return the resilience status for this exact request.
308
+ */
309
+ getSiteWithResilience(params: GetSiteParams): Promise<ResilientData<SiteResponse>>;
292
310
  /**
293
311
  * Fetch a specific page by path
294
312
  *
295
313
  * @param params.preview - If true, returns draft content instead of published content (requires API key with site access)
296
314
  */
297
- getPage(params: {
298
- siteId: string;
299
- path: string;
300
- preview?: boolean;
301
- } & SdkMethodOptions): Promise<PageResponse>;
315
+ getPage(params: GetPageParams): Promise<PageResponse>;
316
+ /**
317
+ * Fetch page content and return the resilience status for this exact request.
318
+ */
319
+ getPageWithResilience(params: GetPageParams): Promise<ResilientData<PageResponse>>;
302
320
  /**
303
321
  * Fetch published content entries with optional pagination, sorting, and preview mode
304
322
  *
@@ -150,6 +150,13 @@ export interface ContentTypeConfig {
150
150
  fields: FieldDefinition[];
151
151
  /** Field ID to use as the entry title source */
152
152
  titleField?: string;
153
+ /**
154
+ * Entry ordering behavior. Set `mode: 'manual'` to allow editors and SDK
155
+ * content metadata to curate entry order for this content type.
156
+ */
157
+ ordering?: {
158
+ mode?: 'default' | 'manual';
159
+ };
153
160
  /**
154
161
  * When true, only one entry can exist for this content type.
155
162
  * The entry is auto-created when the content type is created.
@@ -35,6 +35,8 @@ export type FieldUi = Partial<{
35
35
  mediaPickerAutoOpen: boolean;
36
36
  showMediaPreview: boolean;
37
37
  showMediaOverlayActions: boolean;
38
+ mediaPreviewMaxWidth: 'xs' | 'sm' | 'md' | 'none';
39
+ preventMediaPreviewUpscale: boolean;
38
40
  mediaDelivery: MediaDeliveryOptions;
39
41
  mediaDeliveryByVariant: Record<string, MediaDeliveryOptions>;
40
42
  inputType: 'text' | 'email' | 'tel' | 'number';
@@ -17,9 +17,9 @@
17
17
  *
18
18
  * @packageDocumentation
19
19
  */
20
- export { createRiverbankClient, RiverbankApiError } from './client/index';
20
+ export { createRiverbankClient, getResilienceStatusFromError, RiverbankApiError, } from './client/index';
21
21
  export { SDK_CORRELATION_HEADER_NAMES } from './client/types';
22
- export type { RiverbankClient, RiverbankClientConfig, SdkCorrelationHeaderName, SdkCorrelationHeaders, SdkAuthConfig, SiteResponse, PageResponse, EntriesResponse, EntriesResponseWithMeta, PaginationMeta, EntryResponse, ResilienceConfig, ResilienceStatus, ResilienceSource, CircuitState, RetryConfig, CircuitBreakerConfig, } from './client/types';
22
+ export type { RiverbankClient, RiverbankClientConfig, SdkCorrelationHeaderName, SdkCorrelationHeaders, SdkAuthConfig, SiteResponse, PageResponse, EntriesResponse, EntriesResponseWithMeta, GetPageParams, GetSiteParams, PaginationMeta, EntryResponse, ResilienceConfig, ResilienceStatus, ResilientData, ResilienceSource, CircuitState, RetryConfig, CircuitBreakerConfig, } from './client/types';
23
23
  export { prebuildCache } from './prebuild/index';
24
24
  export type { PrebuildOptions, PrebuildResult, PrebuildProgress, PrebuildManifest, PrebuildContentType, } from './prebuild/types';
25
25
  export { PrebuildLoader, createPrebuildLoader, canUsePrebuild, } from './prebuild/loader';
@@ -8,19 +8,19 @@ import { z } from 'zod';
8
8
  export declare const simpleFieldTypeEnum: z.ZodEnum<{
9
9
  number: "number";
10
10
  boolean: "boolean";
11
+ text: "text";
12
+ select: "select";
11
13
  media: "media";
12
14
  link: "link";
13
- select: "select";
14
- text: "text";
15
15
  richText: "richText";
16
16
  }>;
17
17
  export declare const fieldTypeEnum: z.ZodEnum<{
18
18
  number: "number";
19
19
  boolean: "boolean";
20
+ text: "text";
21
+ select: "select";
20
22
  media: "media";
21
23
  link: "link";
22
- select: "select";
23
- text: "text";
24
24
  richText: "richText";
25
25
  repeater: "repeater";
26
26
  group: "group";
@@ -34,10 +34,10 @@ export declare const extractedFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
34
34
  type: z.ZodEnum<{
35
35
  number: "number";
36
36
  boolean: "boolean";
37
+ text: "text";
38
+ select: "select";
37
39
  media: "media";
38
40
  link: "link";
39
- select: "select";
40
- text: "text";
41
41
  richText: "richText";
42
42
  }>;
43
43
  label: z.ZodString;
@@ -61,10 +61,10 @@ export declare const extractedFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
61
61
  type: z.ZodEnum<{
62
62
  number: "number";
63
63
  boolean: "boolean";
64
+ text: "text";
65
+ select: "select";
64
66
  media: "media";
65
67
  link: "link";
66
- select: "select";
67
- text: "text";
68
68
  richText: "richText";
69
69
  }>;
70
70
  label: z.ZodString;
@@ -81,10 +81,10 @@ export declare const extractedFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
81
81
  type: z.ZodEnum<{
82
82
  number: "number";
83
83
  boolean: "boolean";
84
+ text: "text";
85
+ select: "select";
84
86
  media: "media";
85
87
  link: "link";
86
- select: "select";
87
- text: "text";
88
88
  richText: "richText";
89
89
  }>;
90
90
  label: z.ZodString;
@@ -178,10 +178,10 @@ export declare const pass1OutputSchema: z.ZodObject<{
178
178
  type: z.ZodEnum<{
179
179
  number: "number";
180
180
  boolean: "boolean";
181
+ text: "text";
182
+ select: "select";
181
183
  media: "media";
182
184
  link: "link";
183
- select: "select";
184
- text: "text";
185
185
  richText: "richText";
186
186
  }>;
187
187
  label: z.ZodString;
@@ -205,10 +205,10 @@ export declare const pass1OutputSchema: z.ZodObject<{
205
205
  type: z.ZodEnum<{
206
206
  number: "number";
207
207
  boolean: "boolean";
208
+ text: "text";
209
+ select: "select";
208
210
  media: "media";
209
211
  link: "link";
210
- select: "select";
211
- text: "text";
212
212
  richText: "richText";
213
213
  }>;
214
214
  label: z.ZodString;
@@ -225,10 +225,10 @@ export declare const pass1OutputSchema: z.ZodObject<{
225
225
  type: z.ZodEnum<{
226
226
  number: "number";
227
227
  boolean: "boolean";
228
+ text: "text";
229
+ select: "select";
228
230
  media: "media";
229
231
  link: "link";
230
- select: "select";
231
- text: "text";
232
232
  richText: "richText";
233
233
  }>;
234
234
  label: z.ZodString;