@riverbankcms/sdk 0.62.2 → 0.64.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 (386) hide show
  1. package/README.md +11 -0
  2. package/dist/_dts/api/src/accessAdmin.d.ts +71 -2
  3. package/dist/_dts/api/src/aiEndpoints.d.ts +2 -2
  4. package/dist/_dts/api/src/billing.d.ts +46 -10
  5. package/dist/_dts/api/src/bookingClosures.d.ts +106 -0
  6. package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
  7. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +18 -0
  8. package/dist/_dts/api/src/bookingRecords.d.ts +27 -1
  9. package/dist/_dts/api/src/calendar.d.ts +11 -1
  10. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +12 -1
  11. package/dist/_dts/api/src/contentRuntime.d.ts +3 -0
  12. package/dist/_dts/api/src/contentVersionHistory.d.ts +52 -0
  13. package/dist/_dts/api/src/contentVersionHistoryClient.d.ts +45 -0
  14. package/dist/_dts/api/src/courses.d.ts +3 -0
  15. package/dist/_dts/api/src/endpoints.d.ts +133 -6
  16. package/dist/_dts/api/src/index.d.ts +12 -6
  17. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +29 -0
  18. package/dist/_dts/api/src/sdkContracts.d.ts +13 -1
  19. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +31 -7
  20. package/dist/_dts/api/src/siteMembers.d.ts +10 -1
  21. package/dist/_dts/api/src/siteOnboarding.d.ts +4 -0
  22. package/dist/_dts/api/src/siteOperations.d.ts +10 -0
  23. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +62 -12
  24. package/dist/_dts/api/src/types.d.ts +4 -2
  25. package/dist/_dts/api/src/url.d.ts +3 -3
  26. package/dist/_dts/billing/src/plans/registry.d.ts +1 -0
  27. package/dist/_dts/billing/src/plans/types.d.ts +9 -0
  28. package/dist/_dts/block-form/src/FormRenderer.d.ts +38 -0
  29. package/dist/_dts/block-form/src/backend/adapter.d.ts +7 -0
  30. package/dist/_dts/block-form/src/backend/hooks/useRepeaterBackend.d.ts +34 -0
  31. package/dist/_dts/block-form/src/backend/hooks.d.ts +66 -0
  32. package/dist/_dts/block-form/src/backend/index.d.ts +12 -0
  33. package/dist/_dts/block-form/src/backend/rhf-backend.d.ts +34 -0
  34. package/dist/_dts/block-form/src/backend/store-backend.d.ts +60 -0
  35. package/dist/_dts/block-form/src/backend/types.d.ts +137 -0
  36. package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +22 -0
  37. package/dist/_dts/block-form/src/backend/utils/getErrorMessage.d.ts +1 -0
  38. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +70 -0
  39. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +1 -0
  40. package/dist/_dts/block-form/src/client/index.d.ts +30 -0
  41. package/dist/_dts/block-form/src/context/BlockContext.d.ts +29 -0
  42. package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +33 -0
  43. package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +30 -0
  44. package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -0
  45. package/dist/_dts/block-form/src/context/index.d.ts +4 -0
  46. package/dist/_dts/block-form/src/fields/props.d.ts +48 -0
  47. package/dist/_dts/block-form/src/fields/types.d.ts +223 -0
  48. package/dist/_dts/block-form/src/index.d.ts +22 -0
  49. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +37 -0
  50. package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +5 -0
  51. package/dist/_dts/block-form/src/manifest/filterSdkTabs.d.ts +44 -0
  52. package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +61 -0
  53. package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +24 -0
  54. package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +11 -0
  55. package/dist/_dts/block-form/src/registry/schemas.d.ts +105 -0
  56. package/dist/_dts/block-form/src/registry/widgets.d.ts +59 -0
  57. package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +110 -0
  58. package/dist/_dts/block-form/src/sdk-config/hooks.d.ts +21 -0
  59. package/dist/_dts/block-form/src/sdk-config/index.d.ts +2 -0
  60. package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -0
  61. package/dist/_dts/block-form/src/shared/hooks/index.d.ts +2 -0
  62. package/dist/_dts/block-form/src/shared/hooks/useCoarsePointer.d.ts +5 -0
  63. package/dist/_dts/block-form/src/shared/hooks/useContainerWidth.d.ts +6 -0
  64. package/dist/_dts/block-form/src/utils/VisibilityWrapper.d.ts +25 -0
  65. package/dist/_dts/block-form/src/utils/computeWatchedPath.d.ts +18 -0
  66. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +9 -0
  67. package/dist/_dts/block-form/src/utils/fieldHelpers.d.ts +94 -0
  68. package/dist/_dts/block-form/src/utils/resolvePromotedFields.d.ts +22 -0
  69. package/dist/_dts/block-form/src/utils/slug.d.ts +3 -0
  70. package/dist/_dts/block-form/src/utils/typeGuards.d.ts +3 -0
  71. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorField.d.ts +10 -0
  72. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +23 -0
  73. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/index.d.ts +2 -0
  74. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +13 -0
  75. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +17 -0
  76. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/index.d.ts +2 -0
  77. package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +6 -0
  78. package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldDefaults.d.ts +6 -0
  79. package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldSchema.d.ts +7 -0
  80. package/dist/_dts/block-form/src/widgets/BooleanField/index.d.ts +3 -0
  81. package/dist/_dts/block-form/src/widgets/BoxStyleWidget/BoxStyleWidget.d.ts +17 -0
  82. package/dist/_dts/block-form/src/widgets/BoxStyleWidget/index.d.ts +1 -0
  83. package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldDefaults.d.ts +3 -0
  84. package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldSchema.d.ts +4 -0
  85. package/dist/_dts/block-form/src/widgets/DateField/DateField.d.ts +23 -0
  86. package/dist/_dts/block-form/src/widgets/DateField/dateFieldDefaults.d.ts +8 -0
  87. package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +9 -0
  88. package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +32 -0
  89. package/dist/_dts/block-form/src/widgets/DateField/index.d.ts +4 -0
  90. package/dist/_dts/block-form/src/widgets/DateTimeField/DateTimeField.d.ts +30 -0
  91. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldDefaults.d.ts +8 -0
  92. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +11 -0
  93. package/dist/_dts/block-form/src/widgets/DateTimeField/index.d.ts +4 -0
  94. package/dist/_dts/block-form/src/widgets/DateTimeField/utils/dateTimeUtils.d.ts +22 -0
  95. package/dist/_dts/block-form/src/widgets/DateTimeField/utils/index.d.ts +1 -0
  96. package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldDefaults.d.ts +3 -0
  97. package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldSchema.d.ts +4 -0
  98. package/dist/_dts/block-form/src/widgets/Field.d.ts +21 -0
  99. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +32 -0
  100. package/dist/_dts/block-form/src/widgets/FieldSettingsModal/FieldSettingsModal.d.ts +34 -0
  101. package/dist/_dts/block-form/src/widgets/FieldSettingsModal/index.d.ts +2 -0
  102. package/dist/_dts/block-form/src/widgets/GroupField/GroupField.d.ts +23 -0
  103. package/dist/_dts/block-form/src/widgets/GroupField/groupFieldDefaults.d.ts +9 -0
  104. package/dist/_dts/block-form/src/widgets/GroupField/groupFieldSchema.d.ts +10 -0
  105. package/dist/_dts/block-form/src/widgets/GroupField/index.d.ts +3 -0
  106. package/dist/_dts/block-form/src/widgets/LinkField/linkFieldDefaults.d.ts +10 -0
  107. package/dist/_dts/block-form/src/widgets/LinkField/linkFieldSchema.d.ts +3 -0
  108. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldDefaults.d.ts +6 -0
  109. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldSchema.d.ts +6 -0
  110. package/dist/_dts/block-form/src/widgets/ModalGroupField/ModalGroupField.d.ts +17 -0
  111. package/dist/_dts/block-form/src/widgets/ModalGroupField/index.d.ts +3 -0
  112. package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldDefaults.d.ts +18 -0
  113. package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldSchema.d.ts +14 -0
  114. package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +7 -0
  115. package/dist/_dts/block-form/src/widgets/NumberField/index.d.ts +3 -0
  116. package/dist/_dts/block-form/src/widgets/NumberField/numberFieldDefaults.d.ts +6 -0
  117. package/dist/_dts/block-form/src/widgets/NumberField/numberFieldSchema.d.ts +7 -0
  118. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +11 -0
  119. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/index.d.ts +4 -0
  120. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldDefaults.d.ts +3 -0
  121. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldSchema.d.ts +4 -0
  122. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/types.d.ts +37 -0
  123. package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldDefaults.d.ts +3 -0
  124. package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldSchema.d.ts +4 -0
  125. package/dist/_dts/block-form/src/widgets/RepeaterField/RepeaterField.d.ts +26 -0
  126. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterDragHandle.d.ts +8 -0
  127. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterError.d.ts +11 -0
  128. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterHeader.d.ts +10 -0
  129. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +27 -0
  130. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +19 -0
  131. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +23 -0
  132. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +16 -0
  133. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowContent.d.ts +19 -0
  134. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterTabbedEditDialog.d.ts +16 -0
  135. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +26 -0
  136. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +20 -0
  137. package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +11 -0
  138. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +34 -0
  139. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +6 -0
  140. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/layoutGridCapacityDecision.d.ts +22 -0
  141. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLayoutGridCapacity.d.ts +20 -0
  142. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +23 -0
  143. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +10 -0
  144. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterRowErrors.d.ts +12 -0
  145. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterVisibility.d.ts +6 -0
  146. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +12 -0
  147. package/dist/_dts/block-form/src/widgets/RepeaterField/index.d.ts +3 -0
  148. package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldDefaults.d.ts +7 -0
  149. package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldSchema.d.ts +8 -0
  150. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildItemLabel.d.ts +7 -0
  151. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +7 -0
  152. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/createDefaultItem.d.ts +6 -0
  153. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFieldGroups.d.ts +8 -0
  154. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFields.d.ts +22 -0
  155. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +10 -0
  156. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/layoutGridCapacityContext.d.ts +2 -0
  157. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +43 -0
  158. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +24 -0
  159. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +12 -0
  160. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +20 -0
  161. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +16 -0
  162. package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +11 -0
  163. package/dist/_dts/block-form/src/widgets/SdkSelectField/index.d.ts +1 -0
  164. package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +7 -0
  165. package/dist/_dts/block-form/src/widgets/SelectField/index.d.ts +3 -0
  166. package/dist/_dts/block-form/src/widgets/SelectField/selectFieldDefaults.d.ts +6 -0
  167. package/dist/_dts/block-form/src/widgets/SelectField/selectFieldSchema.d.ts +7 -0
  168. package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +34 -0
  169. package/dist/_dts/block-form/src/widgets/SettingsModal/SettingsModal.d.ts +17 -0
  170. package/dist/_dts/block-form/src/widgets/SettingsModal/index.d.ts +2 -0
  171. package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +16 -0
  172. package/dist/_dts/block-form/src/widgets/SliderField/index.d.ts +1 -0
  173. package/dist/_dts/block-form/src/widgets/SlugField/SlugField.d.ts +39 -0
  174. package/dist/_dts/block-form/src/widgets/SlugField/hooks/index.d.ts +1 -0
  175. package/dist/_dts/block-form/src/widgets/SlugField/hooks/useSlugAutoGeneration.d.ts +29 -0
  176. package/dist/_dts/block-form/src/widgets/SlugField/index.d.ts +5 -0
  177. package/dist/_dts/block-form/src/widgets/SlugField/slugFieldDefaults.d.ts +8 -0
  178. package/dist/_dts/block-form/src/widgets/SlugField/slugFieldSchema.d.ts +14 -0
  179. package/dist/_dts/block-form/src/widgets/SlugField/utils/index.d.ts +2 -0
  180. package/dist/_dts/block-form/src/widgets/SlugField/utils/pathUtils.d.ts +30 -0
  181. package/dist/_dts/block-form/src/widgets/SlugField/utils/slugUtils.d.ts +17 -0
  182. package/dist/_dts/block-form/src/widgets/TabGroupField/TabGroupField.d.ts +13 -0
  183. package/dist/_dts/block-form/src/widgets/TabGroupField/index.d.ts +3 -0
  184. package/dist/_dts/block-form/src/widgets/TabGroupField/tabGroupFieldSchema.d.ts +25 -0
  185. package/dist/_dts/block-form/src/widgets/TabGroupField/types.d.ts +46 -0
  186. package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +7 -0
  187. package/dist/_dts/block-form/src/widgets/TextField/index.d.ts +3 -0
  188. package/dist/_dts/block-form/src/widgets/TextField/textFieldDefaults.d.ts +6 -0
  189. package/dist/_dts/block-form/src/widgets/TextField/textFieldSchema.d.ts +7 -0
  190. package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +20 -0
  191. package/dist/_dts/block-form/src/widgets/TimeField/TimeField.d.ts +23 -0
  192. package/dist/_dts/block-form/src/widgets/TimeField/index.d.ts +3 -0
  193. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldDefaults.d.ts +8 -0
  194. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +9 -0
  195. package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +16 -0
  196. package/dist/_dts/block-form/src/widgets/UrlField/UrlField.d.ts +23 -0
  197. package/dist/_dts/block-form/src/widgets/UrlField/index.d.ts +3 -0
  198. package/dist/_dts/block-form/src/widgets/UrlField/urlFieldDefaults.d.ts +8 -0
  199. package/dist/_dts/block-form/src/widgets/UrlField/urlFieldSchema.d.ts +9 -0
  200. package/dist/_dts/block-form/src/widgets/constants.d.ts +58 -0
  201. package/dist/_dts/block-form/src/widgets/groupFieldHelpers.d.ts +61 -0
  202. package/dist/_dts/block-form/src/widgets/index.d.ts +20 -0
  203. package/dist/_dts/block-form/src/widgets/selectValueMapping.d.ts +9 -0
  204. package/dist/_dts/block-form/src/widgets/types/modalConfig.d.ts +18 -0
  205. package/dist/_dts/block-form/src/widgets/utils/readNumericUiConfig.d.ts +10 -0
  206. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  207. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
  208. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
  209. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -1
  210. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -2
  211. package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
  212. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1 -1
  213. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1 -1
  214. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -2
  215. package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
  216. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  217. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1 -1
  218. package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +25 -0
  219. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -2
  220. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -2
  221. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1 -1
  222. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
  223. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1 -1
  224. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
  225. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  226. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +6 -6
  227. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1 -1
  228. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -2
  229. package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
  230. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1 -1
  231. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  232. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +1 -1
  233. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +1 -1
  234. package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +1 -1
  235. package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1 -1
  236. package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1 -1
  237. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1 -1
  238. package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1 -1
  239. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
  240. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
  241. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +4 -1
  242. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +4 -1
  243. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +12 -0
  244. package/dist/_dts/blocks/src/system/runtime/shared/components/FieldValidationMessage.d.ts +19 -0
  245. package/dist/_dts/blocks/src/system/runtime/shared/components/TerminalPanel.d.ts +8 -2
  246. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +3 -1
  247. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  248. package/dist/_dts/blocks/src/system/transforms/registry/_utils/themeColorResolution.d.ts +7 -0
  249. package/dist/_dts/calendar/src/grid.d.ts +60 -0
  250. package/dist/_dts/calendar/src/group.d.ts +14 -0
  251. package/dist/_dts/calendar/src/index.d.ts +6 -0
  252. package/dist/_dts/calendar/src/lane-packing.d.ts +28 -0
  253. package/dist/_dts/calendar/src/timetable.d.ts +90 -0
  254. package/dist/_dts/calendar/src/timezone.d.ts +19 -0
  255. package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +24 -0
  256. package/dist/_dts/content-editor/src/index.d.ts +2 -4
  257. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +1 -0
  258. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -0
  259. package/dist/_dts/core/src/booking-date-time.d.ts +1 -0
  260. package/dist/_dts/core/src/branded.d.ts +18 -0
  261. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +1192 -234
  262. package/dist/_dts/db/src/schemas/forms.d.ts +1 -0
  263. package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
  264. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +7 -7
  265. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -2
  266. package/dist/_dts/editor-blocks/src/widgets/link/index.d.ts +1 -0
  267. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -1
  268. package/dist/_dts/preview-next/src/client/blocks/composer/composePageFromBlocks.d.ts +2 -1
  269. package/dist/_dts/preview-next/src/client/blocks/composer/index.d.ts +2 -2
  270. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -1
  271. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +31 -8
  272. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +6 -5
  273. package/dist/_dts/preview-next/src/client/blocks/previewProjection/aiProposalProjection.d.ts +7 -0
  274. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +7 -0
  275. package/dist/_dts/preview-next/src/client/blocks/previewProjection/index.d.ts +4 -0
  276. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +5 -0
  277. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +72 -0
  278. package/dist/_dts/preview-next/src/client/index.d.ts +1 -1
  279. package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +6 -5
  280. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +2 -1
  281. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +12 -1
  282. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +10 -5
  283. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -1
  284. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +4 -0
  285. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +49 -0
  286. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +6 -0
  287. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +15 -2
  288. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +8 -1
  289. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControlStyles.d.ts +1 -0
  290. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +1 -0
  291. package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +9 -1
  292. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +13 -0
  293. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +8 -2
  294. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +49 -0
  295. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +18 -0
  296. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +5 -0
  297. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +2 -0
  298. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +17 -0
  299. package/dist/_dts/sdk/src/cli/content/entryPaths.d.ts +6 -0
  300. package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -0
  301. package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +3 -0
  302. package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +77 -0
  303. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePlan.d.ts +45 -0
  304. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +21 -0
  305. package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +30 -0
  306. package/dist/_dts/sdk/src/cli/merge-remote/entryRemote.d.ts +9 -0
  307. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +50 -0
  308. package/dist/_dts/sdk/src/cli/merge-remote/stableJson.d.ts +3 -0
  309. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +85 -0
  310. package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +2 -0
  311. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +30 -0
  312. package/dist/_dts/sdk/src/cli/sync/executor.d.ts +1 -0
  313. package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -1
  314. package/dist/_dts/sdk/src/public-api/contracts.d.ts +4 -1
  315. package/dist/_dts/sdk/src/version.d.ts +1 -1
  316. package/dist/_dts/site-commands/src/adapter.d.ts +23 -0
  317. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +8 -0
  318. package/dist/_dts/site-commands/src/commands.d.ts +1944 -0
  319. package/dist/_dts/site-commands/src/domain.d.ts +104 -0
  320. package/dist/_dts/site-commands/src/guards.d.ts +1 -0
  321. package/dist/_dts/site-commands/src/index.d.ts +9 -0
  322. package/dist/_dts/site-commands/src/metadata.d.ts +412 -0
  323. package/dist/_dts/site-commands/src/planner.d.ts +51 -0
  324. package/dist/_dts/site-commands/src/refContributions.d.ts +10 -0
  325. package/dist/_dts/site-commands/src/refs.d.ts +75 -0
  326. package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +10 -0
  327. package/dist/_dts/surfaces/src/index.d.ts +1 -0
  328. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  329. package/dist/_dts/theme-core/src/index.d.ts +1 -1
  330. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +2 -21
  331. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +3 -67
  332. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +4 -62
  333. package/dist/_dts/theme-core/src/site-styles/appearancePresets.d.ts +1 -1
  334. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +24 -0
  335. package/dist/_dts/theme-core/src/site-styles/customizableSurfaces.d.ts +94 -0
  336. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +59 -0
  337. package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +4 -0
  338. package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -0
  339. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +155 -0
  340. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +15 -0
  341. package/dist/_dts/theme-core/src/site-styles/index.d.ts +6 -0
  342. package/dist/_dts/theme-core/src/site-styles/pageDesignAuthority.d.ts +7 -0
  343. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +25 -0
  344. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +15 -1
  345. package/dist/_dts/theme-core/src/site-styles/records.d.ts +1 -0
  346. package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +96 -0
  347. package/dist/_dts/theme-core/src/site-styles/types.d.ts +1 -2
  348. package/dist/_dts/theme-core/src/siteChrome.d.ts +44 -2
  349. package/dist/_dts/theme-core/src/tokens/colorTokenParts.d.ts +13 -0
  350. package/dist/_dts/theme-core/src/tokens/index.d.ts +2 -0
  351. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +29 -0
  352. package/dist/_dts/theme-core/src/utils/tokenOrColor.d.ts +27 -1
  353. package/dist/cli/index.mjs +5049 -932
  354. package/dist/cli/init-docs/content/cli-reference.md +18 -0
  355. package/dist/client/bookings.mjs +544 -393
  356. package/dist/client/client.mjs +5189 -4144
  357. package/dist/client/hooks.mjs +3233 -2540
  358. package/dist/client/rendering/client.mjs +4649 -3597
  359. package/dist/client/rendering/islands.mjs +19533 -13480
  360. package/dist/client/rendering.mjs +5218 -4171
  361. package/dist/preview-next/before-render.mjs +161 -6
  362. package/dist/preview-next/client/runtime.mjs +5676 -3565
  363. package/dist/preview-next/editor-base.css +31 -0
  364. package/dist/preview-next/middleware.mjs +154 -6
  365. package/dist/server/components.mjs +3333 -2575
  366. package/dist/server/config-validation.mjs +3447 -2754
  367. package/dist/server/config.mjs +3450 -2757
  368. package/dist/server/data.mjs +3233 -2540
  369. package/dist/server/index.mjs +730 -543
  370. package/dist/server/next.mjs +3651 -2893
  371. package/dist/server/page-converter.mjs +2512 -2031
  372. package/dist/server/prebuild.mjs +1 -1
  373. package/dist/server/rendering/server.mjs +3333 -2575
  374. package/dist/server/rendering.mjs +3352 -2594
  375. package/dist/server/routing.mjs +3351 -2640
  376. package/dist/server/server.mjs +3262 -2569
  377. package/dist/server/theme-bridge.mjs +1260 -767
  378. package/dist/server/theme.mjs +623 -498
  379. package/dist/styles/index.css +33 -0
  380. package/package.json +2 -1
  381. package/dist/_dts/blocks/src/system/transforms/registry/_utils/colorResolution.d.ts +0 -13
  382. package/dist/_dts/content-editor/src/ai/patch/allowed.d.ts +0 -2
  383. package/dist/_dts/content-editor/src/ai/patch/diff.d.ts +0 -17
  384. package/dist/_dts/content-editor/src/ai/patch/schema.d.ts +0 -49
  385. package/dist/_dts/preview-next/src/client/blocks/overlay.d.ts +0 -30
  386. package/dist/_dts/theme-core/src/site-styles/siteChromeAppearancePresets.d.ts +0 -67
@@ -1,4 +1,4 @@
1
- import { type PageDesignEditorReadModel } from '@riverbankcms/theme-core/site-styles/previewCompiler';
1
+ import type { PageDesignEditorReadModel } from '@riverbankcms/theme-core/site-styles/previewCompiler';
2
2
  import type { DesignBlockId } from '@riverbankcms/theme-core/site-styles';
3
3
  import type { PreviewCustomizeAction } from '../blocks/previewCustomizeActions';
4
4
  export type PreviewEditorRuntimeContent = Record<string, unknown>;
@@ -8,6 +8,14 @@ export type PreviewCustomizeRuntimePatch = Readonly<{
8
8
  nextContent: PreviewEditorRuntimeContent;
9
9
  rollback: (currentContent: PreviewEditorRuntimeContent) => PreviewEditorRuntimeContent;
10
10
  }>;
11
+ export type PreviewCustomizeActionDomain = Readonly<{
12
+ kind: 'block-content-write';
13
+ }> | Readonly<{
14
+ kind: 'page-design-write';
15
+ }> | Readonly<{
16
+ kind: 'render-only-preview';
17
+ }>;
18
+ export declare function classifyPreviewCustomizeActionDomain(action: PreviewCustomizeAction): PreviewCustomizeActionDomain;
11
19
  export declare function derivePreviewCustomizeRuntimePatch(input: Readonly<{
12
20
  action: PreviewCustomizeAction;
13
21
  editorModel: PageDesignEditorReadModel;
@@ -20,6 +20,9 @@ export type PreviewPageDesignEditorState = Readonly<{
20
20
  export type PreviewPageDesignEditorApplyOutcome = Readonly<{
21
21
  kind: 'saved';
22
22
  response: ApplyPageDesignEditorActionResponse;
23
+ }> | Readonly<{
24
+ kind: 'queued';
25
+ message: string;
23
26
  }> | Readonly<{
24
27
  kind: 'skipped';
25
28
  reason: PreviewCustomizeSkipReason;
@@ -37,10 +40,14 @@ export type PreviewPageDesignEditorApplyOutcome = Readonly<{
37
40
  export type PreviewCustomizeSkipReason = 'disabled' | 'missing-page' | 'not-loaded' | 'mutation-pending' | 'stale' | 'no-history-entry' | 'cannot-undo' | 'cannot-redo';
38
41
  export type PreviewCustomizeMutationState = Readonly<{
39
42
  kind: 'idle';
43
+ }> | Readonly<{
44
+ kind: 'dirty';
45
+ actions: readonly PreviewCustomizePendingAction[];
40
46
  }> | Readonly<{
41
47
  kind: 'applying';
42
48
  action: PreviewCustomizeAction;
43
49
  historyEntry: PreviewCustomizeHistoryEntry | null;
50
+ queuedActions: readonly PreviewCustomizePendingAction[];
44
51
  }> | Readonly<{
45
52
  kind: 'undoing';
46
53
  action: PreviewCustomizeAction;
@@ -72,6 +79,10 @@ export type PreviewCustomizeWorkflowState = Readonly<{
72
79
  history: PreviewCustomizeHistoryState;
73
80
  mutation: PreviewCustomizeMutationState;
74
81
  }>;
82
+ type PreviewCustomizePendingAction = Readonly<{
83
+ action: PreviewCustomizeAction;
84
+ historyEntry: PreviewCustomizeHistoryEntry | null;
85
+ }>;
75
86
  export type PreviewCustomizeBeginResult = Readonly<{
76
87
  kind: 'started';
77
88
  state: PreviewCustomizeWorkflowState;
@@ -87,6 +98,7 @@ export declare function failedPreviewCustomizeWorkflowState(message: string): Pr
87
98
  export declare function previewCustomizeLoadSucceeded(pageState: ApiPageDesignEditorStateResponse): PreviewCustomizeWorkflowState;
88
99
  export declare function previewCustomizeWorkflowPageState(workflow: PreviewCustomizeWorkflowState): PreviewPageDesignEditorState;
89
100
  export declare function beginPreviewCustomizeApply(workflow: PreviewCustomizeWorkflowState, action: PreviewCustomizeAction): PreviewCustomizeBeginResult;
101
+ export declare function beginPreviewCustomizeAutosave(workflow: PreviewCustomizeWorkflowState): PreviewCustomizeBeginResult;
90
102
  export declare function beginPreviewCustomizeUndo(workflow: PreviewCustomizeWorkflowState): PreviewCustomizeBeginResult;
91
103
  export declare function beginPreviewCustomizeRedo(workflow: PreviewCustomizeWorkflowState): PreviewCustomizeBeginResult;
92
104
  export declare function confirmPreviewCustomizeMutation(workflow: PreviewCustomizeWorkflowState, response: ApplyPageDesignEditorActionResponse): PreviewCustomizeWorkflowState;
@@ -103,4 +115,5 @@ export declare function applyPreviewCustomizeActionToState(state: PreviewPageDes
103
115
  export declare function skippedPreviewCustomizeOutcome(reason: PreviewCustomizeSkipReason): Extract<PreviewPageDesignEditorApplyOutcome, {
104
116
  kind: 'skipped';
105
117
  }>;
118
+ export declare function previewCustomizePendingActions(workflow: PreviewCustomizeWorkflowState): readonly PreviewCustomizeAction[];
106
119
  export {};
@@ -1,6 +1,12 @@
1
1
  import type { PreviewSidebarTab } from '@riverbankcms/content-editor';
2
2
  export type { PreviewSidebarTab };
3
+ export type PreviewDesignRow = 'header' | 'footer';
4
+ export type PreviewSidebarOpenRequest = Readonly<{
5
+ tab: PreviewSidebarTab;
6
+ designRow?: PreviewDesignRow;
7
+ }>;
8
+ export declare function parsePreviewSidebarOpenRequestDetail(detail: unknown): PreviewSidebarOpenRequest;
3
9
  export declare function getPreviewSidebarTab(): PreviewSidebarTab;
4
10
  export declare function setPreviewSidebarTab(tab: PreviewSidebarTab): void;
5
- export declare function requestPreviewSidebarOpen(tab: PreviewSidebarTab): void;
6
- export declare function onPreviewSidebarOpenRequest(handler: (tab: PreviewSidebarTab) => void): () => void;
11
+ export declare function requestPreviewSidebarOpen(input: PreviewSidebarTab | PreviewSidebarOpenRequest): void;
12
+ export declare function onPreviewSidebarOpenRequest(handler: (request: PreviewSidebarOpenRequest) => void): () => void;
@@ -0,0 +1,49 @@
1
+ import { type CuratedSiteStyle } from '@riverbankcms/theme-core/site-styles/previewCompiler';
2
+ import { type FooterLookId, type FooterSelectionContext, type HeaderLookId, type HeaderSelectionContext, type LookCustomizationWritePlan } from '@riverbankcms/theme-core/site-styles';
3
+ import type { SelectionSnapshot, StyleConfiguratorState } from './StyleConfigurator.state';
4
+ export type SiteChromeLookOption<TId extends string | null> = Readonly<{
5
+ id: TId;
6
+ label: string;
7
+ description?: string;
8
+ available: boolean;
9
+ }>;
10
+ export type SiteChromeLookCatalogOption<TId extends string> = Readonly<{
11
+ id: TId;
12
+ label: string;
13
+ }>;
14
+ export type SiteChromeLookRowModel<TId extends string> = Readonly<{
15
+ options: readonly SiteChromeLookOption<TId | null>[];
16
+ diagnostics: readonly string[];
17
+ renderedLookId: TId;
18
+ }>;
19
+ export type SiteChromeLookModels = Readonly<{
20
+ header: SiteChromeLookRowModel<HeaderLookId>;
21
+ footer: SiteChromeLookRowModel<FooterLookId>;
22
+ }>;
23
+ type SiteChromeLookModelInput = Readonly<{
24
+ state: StyleConfiguratorState;
25
+ siteStyle: CuratedSiteStyle;
26
+ headerSelectionContext?: Partial<HeaderSelectionContext>;
27
+ footerSelectionContext?: Partial<FooterSelectionContext>;
28
+ }>;
29
+ export declare function buildSiteChromeLookModels(input: SiteChromeLookModelInput): SiteChromeLookModels;
30
+ export declare function cycleSiteChromeLookId<TId extends string>(options: readonly SiteChromeLookOption<TId | null>[], currentId: TId | null, direction: 'prev' | 'next'): TId | null | undefined;
31
+ export declare function cycleableSiteChromeOptions<TId extends string>(options: readonly SiteChromeLookOption<TId | null>[]): readonly SiteChromeLookOption<TId | null>[];
32
+ export type SiteChromeLookSelectionCommand = Readonly<{
33
+ surface: 'header';
34
+ lookId: HeaderLookId | null;
35
+ }> | Readonly<{
36
+ surface: 'footer';
37
+ lookId: FooterLookId | null;
38
+ }>;
39
+ export type SiteChromeLookSelectionPlan = Readonly<{
40
+ kind: 'header';
41
+ writePlan: LookCustomizationWritePlan<HeaderLookId>;
42
+ next: Pick<SelectionSnapshot, 'headerLookId'>;
43
+ }> | Readonly<{
44
+ kind: 'footer';
45
+ writePlan: LookCustomizationWritePlan<FooterLookId>;
46
+ next: Pick<SelectionSnapshot, 'footerLookId'>;
47
+ }>;
48
+ export declare function planSiteChromeLookSelection(command: SiteChromeLookSelectionCommand): SiteChromeLookSelectionPlan;
49
+ export {};
@@ -0,0 +1,18 @@
1
+ import type { Theme } from '@riverbankcms/blocks';
2
+ import type { ButtonPersonalityId } from '@riverbankcms/theme-core/buttons';
3
+ import type { PaletteOverrides, PaletteVariantId } from '@riverbankcms/theme-core/palette';
4
+ import type { FooterLookId, FooterSelectionContext, HeaderLookId, HeaderSelectionContext } from '@riverbankcms/theme-core/site-styles';
5
+ import type { SelectionSnapshot } from './StyleConfigurator.state';
6
+ export declare function resolveStyleConfiguratorInitialSnapshot(input: Readonly<{
7
+ theme?: Theme | null;
8
+ initialSelections: Readonly<{
9
+ selectionUpdatedAt?: string | null;
10
+ buttonPersonalityId: ButtonPersonalityId | null;
11
+ paletteVariantId: PaletteVariantId | null;
12
+ paletteOverrides: PaletteOverrides | null;
13
+ headerLookId?: HeaderLookId | null;
14
+ footerLookId?: FooterLookId | null;
15
+ }>;
16
+ headerSelectionContext?: Partial<HeaderSelectionContext>;
17
+ footerSelectionContext?: Partial<FooterSelectionContext>;
18
+ }>): SelectionSnapshot | null;
@@ -16,6 +16,11 @@
16
16
  */
17
17
  import { Command } from 'commander';
18
18
  import type { PulledContent } from '../../client/management';
19
+ import type { EntryBaseSnapshotTarget } from '../merge-remote/entrySnapshots';
20
+ export declare function entryBaseSnapshotTargetForPull(input: Readonly<{
21
+ isRemote: boolean;
22
+ siteId: string;
23
+ }>): EntryBaseSnapshotTarget;
19
24
  export declare function createScopedPullContent(meta: PulledContent['meta'], overrides: Partial<Omit<PulledContent, 'meta'>>): PulledContent;
20
25
  /**
21
26
  * Determines whether the pull command should prompt for overwrite confirmation.
@@ -16,6 +16,8 @@ export interface PushOptions {
16
16
  deleteOrphaned?: boolean;
17
17
  /** Automatically pull stale content and retry push instead of aborting */
18
18
  autoPullStale?: boolean;
19
+ /** Use three-way merge bases to preserve remote entry edits during entries pushes */
20
+ mergeRemote?: boolean;
19
21
  /** Skip writing .meta/*.json and media/.manifest.json (Commander --no-meta sets this to false) */
20
22
  meta?: boolean;
21
23
  /** Show human-readable field-level diff (requires --dry-run) */
@@ -5,6 +5,22 @@ import type { PushOptions } from './push/options';
5
5
  export interface PushExecutionResult {
6
6
  success: boolean;
7
7
  }
8
+ type MergeRemoteValidationInput = Readonly<{
9
+ target: EnvTarget;
10
+ pushScope: string;
11
+ contentType?: string;
12
+ identifier?: string;
13
+ force: boolean;
14
+ deleteOrphaned: boolean;
15
+ autoPullStale: boolean;
16
+ }>;
17
+ type MergeRemoteValidationError = Readonly<{
18
+ message: string;
19
+ details: Readonly<{
20
+ suggestion: string;
21
+ }>;
22
+ }>;
23
+ export declare function validateMergeRemoteEntryPushOptions(input: MergeRemoteValidationInput): MergeRemoteValidationError | null;
8
24
  /**
9
25
  * Execute push for a single environment.
10
26
  * Extracted to support --env=both multi-environment operations.
@@ -15,3 +31,4 @@ export declare function executePushForEnv(output: OutputContext, target: EnvTarg
15
31
  }, globalOpts: {
16
32
  json?: boolean;
17
33
  }): Promise<PushExecutionResult>;
34
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare function entryTypeDirPath(contentDir: string, contentType: string): string;
2
+ export declare function entryFilePath(input: Readonly<{
3
+ contentDir: string;
4
+ contentType: string;
5
+ identifier: string;
6
+ }>): string;
@@ -5,9 +5,11 @@
5
5
  */
6
6
  import type { PulledEntries, PulledPages, PulledNavigation, PulledSettings, PulledForms, PulledTheme, PulledFooter, PulledVenues, PulledEventCategories, PulledEvents, PulledCourses } from '../../client/management/types';
7
7
  import type { Theme } from '../../contracts';
8
+ import type { EntryBaseSnapshotTarget } from '../merge-remote/entrySnapshots';
8
9
  export interface WriterOptions {
9
10
  skipMeta?: boolean;
10
11
  cleanupMissing?: boolean;
12
+ entryBaseSnapshot?: EntryBaseSnapshotTarget;
11
13
  }
12
14
  /**
13
15
  * Write entries to content directory
@@ -0,0 +1,3 @@
1
+ import type { PulledEntries } from '../../client/management/types';
2
+ import type { LocalEntry } from '../content/reader';
3
+ export declare function pulledEntryToLocalEntry(entry: PulledEntries['entries'][number]): LocalEntry;
@@ -0,0 +1,77 @@
1
+ import type { LocalEntry } from '../content/reader';
2
+ export type EntryMergeSubject = Readonly<{
3
+ contentType: string;
4
+ identifier: string;
5
+ }>;
6
+ export type EntryMergeInputs = Readonly<{
7
+ subject: EntryMergeSubject;
8
+ base: LocalEntry | null;
9
+ local: LocalEntry | null;
10
+ remote: LocalEntry | null;
11
+ }>;
12
+ export type EntryMergeConflict = Readonly<{
13
+ code: 'missing_base';
14
+ subject: EntryMergeSubject;
15
+ message: string;
16
+ }> | Readonly<{
17
+ code: 'same_field_changed';
18
+ subject: EntryMergeSubject;
19
+ fieldPath: string;
20
+ message: string;
21
+ }> | Readonly<{
22
+ code: 'local_delete_remote_edit';
23
+ subject: EntryMergeSubject;
24
+ message: string;
25
+ }> | Readonly<{
26
+ code: 'remote_delete_local_edit';
27
+ subject: EntryMergeSubject;
28
+ message: string;
29
+ }> | Readonly<{
30
+ code: 'unsupported_nested_merge';
31
+ subject: EntryMergeSubject;
32
+ fieldPath: string;
33
+ message: string;
34
+ }>;
35
+ export type EntryMergeDecision = Readonly<{
36
+ kind: 'unchanged';
37
+ subject: EntryMergeSubject;
38
+ desired: LocalEntry | null;
39
+ }> | Readonly<{
40
+ kind: 'bootstrap_base';
41
+ subject: EntryMergeSubject;
42
+ desired: LocalEntry;
43
+ }> | Readonly<{
44
+ kind: 'preserve_remote';
45
+ subject: EntryMergeSubject;
46
+ desired: LocalEntry | null;
47
+ }> | Readonly<{
48
+ kind: 'apply_local_create' | 'apply_local_update';
49
+ subject: EntryMergeSubject;
50
+ desired: LocalEntry;
51
+ }> | Readonly<{
52
+ kind: 'apply_local_delete';
53
+ subject: EntryMergeSubject;
54
+ desired: null;
55
+ }> | Readonly<{
56
+ kind: 'auto_merge';
57
+ subject: EntryMergeSubject;
58
+ desired: LocalEntry;
59
+ localFieldPaths: readonly string[];
60
+ remoteFieldPaths: readonly string[];
61
+ }> | Readonly<{
62
+ kind: 'conflict';
63
+ subject: EntryMergeSubject;
64
+ conflict: EntryMergeConflict;
65
+ }>;
66
+ export type ComparableEntry = Readonly<{
67
+ identifier: string;
68
+ slug?: string;
69
+ status?: LocalEntry['status'];
70
+ hasUnpublishedChanges?: boolean;
71
+ data: Readonly<Record<string, unknown>>;
72
+ }>;
73
+ export type ComparableEntryContent = Pick<ComparableEntry, 'identifier' | 'slug' | 'data'>;
74
+ export declare function planEntryMerge(input: EntryMergeInputs): EntryMergeDecision;
75
+ export declare function comparableEntry(entry: LocalEntry | null): ComparableEntry | null;
76
+ export declare function comparableEntryContent(entry: LocalEntry | null): ComparableEntryContent | null;
77
+ export declare function entryContentsEqual(left: LocalEntry | null, right: LocalEntry | null): boolean;
@@ -0,0 +1,45 @@
1
+ import type { PulledEntries } from '../../client/management/types';
2
+ import type { LocalEntry } from '../content/reader';
3
+ import { type EntryBaseSnapshotTarget } from './entrySnapshots';
4
+ import { type EntryMergeDecision } from './entryMerge';
5
+ export type EntryMergePushScope = Readonly<{
6
+ kind: 'all_entries';
7
+ }> | Readonly<{
8
+ kind: 'content_type';
9
+ contentType: string;
10
+ }> | Readonly<{
11
+ kind: 'single_entry';
12
+ contentType: string;
13
+ identifier: string;
14
+ }>;
15
+ export type RemoteEntryMergePlan = Readonly<{
16
+ scope: EntryMergePushScope;
17
+ decisions: readonly EntryMergeDecision[];
18
+ summary: RemoteEntryMergePlanSummary;
19
+ }>;
20
+ export type RemoteEntryMergePlanSummary = Readonly<{
21
+ unchanged: number;
22
+ bootstrapBase: number;
23
+ preserveRemote: number;
24
+ applyLocalCreate: number;
25
+ applyLocalUpdate: number;
26
+ applyLocalDelete: number;
27
+ autoMerge: number;
28
+ conflicts: number;
29
+ }>;
30
+ export type RemoteEntryMergePlanInput = Readonly<{
31
+ contentDir: string;
32
+ target: EntryBaseSnapshotTarget;
33
+ scope: EntryMergePushScope;
34
+ localEntries: ReadonlyMap<string, readonly LocalEntry[]>;
35
+ remoteEntries: RemoteEntriesByType;
36
+ }>;
37
+ export type RemoteEntriesByType = ReadonlyMap<string, ReadonlyArray<PulledEntries['entries'][number]>>;
38
+ export declare function buildRemoteEntryMergePlan(input: RemoteEntryMergePlanInput): Promise<RemoteEntryMergePlan>;
39
+ export declare function summarizeEntryMergeDecisions(decisions: readonly EntryMergeDecision[]): RemoteEntryMergePlanSummary;
40
+ export declare function entryMergePushScope(input: Readonly<{
41
+ contentType?: string;
42
+ identifier?: string;
43
+ }>): EntryMergePushScope;
44
+ export declare function remotePulledEntriesByType(entries: Readonly<Record<string, PulledEntries['entries']>>): RemoteEntriesByType;
45
+ export declare function pulledEntriesToRemoteByType(contentType: string, entries: PulledEntries['entries']): RemoteEntriesByType;
@@ -0,0 +1,21 @@
1
+ import type { ManagementClient } from '../../client/management/types';
2
+ import type { LocalEntry } from '../content/reader';
3
+ import type { EnvTarget } from '../helpers';
4
+ import type { OutputContext } from '../output';
5
+ export type RemoteEntryMergePushResult = Readonly<{
6
+ success: boolean;
7
+ }>;
8
+ export declare function planAndReportRemoteEntryMerge(input: Readonly<{
9
+ output: OutputContext;
10
+ client: Pick<ManagementClient, 'entries' | 'pull'>;
11
+ contentDir: string;
12
+ target: EnvTarget;
13
+ siteId: string;
14
+ contentType?: string;
15
+ identifier?: string;
16
+ localEntries: ReadonlyMap<string, readonly LocalEntry[]>;
17
+ dryRun: boolean;
18
+ jsonOutput: boolean;
19
+ jsonDiff: boolean;
20
+ skipMeta: boolean;
21
+ }>): Promise<RemoteEntryMergePushResult>;
@@ -0,0 +1,30 @@
1
+ import type { OutputContext } from '../output';
2
+ import type { EntryMergeConflict, EntryMergeDecision } from './entryMerge';
3
+ import type { RemoteEntryMergePlan } from './entryMergePlan';
4
+ export type RemoteEntryMergeJsonReport = Readonly<{
5
+ kind: 'push';
6
+ scope: 'entries';
7
+ mergeRemote: true;
8
+ dryRun: boolean;
9
+ summary: RemoteEntryMergePlan['summary'];
10
+ decisions: readonly RemoteEntryMergeDecisionReport[];
11
+ }>;
12
+ export type RemoteEntryMergeDecisionReport = Readonly<{
13
+ kind: EntryMergeDecision['kind'];
14
+ contentType: string;
15
+ identifier: string;
16
+ localFieldPaths?: readonly string[];
17
+ remoteFieldPaths?: readonly string[];
18
+ conflict?: Readonly<{
19
+ code: EntryMergeConflict['code'];
20
+ fieldPath?: string;
21
+ message: string;
22
+ }>;
23
+ }>;
24
+ export declare function remoteEntryMergeJsonReport(input: Readonly<{
25
+ plan: RemoteEntryMergePlan;
26
+ dryRun: boolean;
27
+ }>): RemoteEntryMergeJsonReport;
28
+ export declare function writeRemoteEntryMergeHumanReport(output: Pick<OutputContext, 'info'>, plan: RemoteEntryMergePlan, options: Readonly<{
29
+ dryRun: boolean;
30
+ }>): void;
@@ -0,0 +1,9 @@
1
+ import type { ManagementClient, PulledEntries } from '../../client/management/types';
2
+ import type { OutputContext } from '../output';
3
+ import { type EntryMergePushScope, type RemoteEntriesByType } from './entryMergePlan';
4
+ export declare function fetchRemoteEntriesForMerge(input: Readonly<{
5
+ client: Pick<ManagementClient, 'pull'>;
6
+ scope: EntryMergePushScope;
7
+ output: Pick<OutputContext, 'info' | 'warn'>;
8
+ }>): Promise<RemoteEntriesByType>;
9
+ export declare function fetchRemotePulledEntriesForContentType(client: Pick<ManagementClient, 'pull'>, contentType: string, output: Pick<OutputContext, 'info'>): Promise<PulledEntries>;
@@ -0,0 +1,50 @@
1
+ import type { PulledEntries } from '../../client/management/types';
2
+ import type { EnvTarget } from '../helpers';
3
+ import type { LocalEntry } from '../content/reader';
4
+ export type EntryBaseSnapshotTarget = Readonly<{
5
+ env: EnvTarget;
6
+ siteId: string;
7
+ }>;
8
+ export type EntryBaseSnapshotSubject = Readonly<{
9
+ contentType: string;
10
+ identifier: string;
11
+ }>;
12
+ export type EntryBaseSnapshot = Readonly<{
13
+ version: 'entry-base.v1';
14
+ target: Readonly<{
15
+ env: EnvTarget;
16
+ siteIdHash: string;
17
+ }>;
18
+ subject: EntryBaseSnapshotSubject;
19
+ pulledAt: string;
20
+ remoteVersion: Readonly<{
21
+ createdAt?: string;
22
+ updatedAt?: string;
23
+ publishedAt?: string | null;
24
+ }>;
25
+ entry: LocalEntry;
26
+ }>;
27
+ export type WriteEntryBaseSnapshotsInput = Readonly<{
28
+ contentDir: string;
29
+ target: EntryBaseSnapshotTarget;
30
+ contentType: string;
31
+ entries: PulledEntries['entries'];
32
+ meta: PulledEntries['meta'];
33
+ cleanupMissing?: boolean;
34
+ }>;
35
+ export type WriteEntryBaseSnapshotsResult = Readonly<{
36
+ rootDir: string;
37
+ count: number;
38
+ }>;
39
+ export declare function entryBaseSnapshotRoot(contentDir: string): string;
40
+ export declare function entryBaseSnapshotPath(input: Readonly<{
41
+ contentDir: string;
42
+ target: EntryBaseSnapshotTarget;
43
+ subject: EntryBaseSnapshotSubject;
44
+ }>): string;
45
+ export declare function writeEntryBaseSnapshots(input: WriteEntryBaseSnapshotsInput): Promise<WriteEntryBaseSnapshotsResult>;
46
+ export declare function readEntryBaseSnapshot(input: Readonly<{
47
+ contentDir: string;
48
+ target: EntryBaseSnapshotTarget;
49
+ subject: EntryBaseSnapshotSubject;
50
+ }>): Promise<EntryBaseSnapshot | null>;
@@ -0,0 +1,3 @@
1
+ export declare function stableStringify(value: unknown): string;
2
+ export declare function sortValue(value: unknown): unknown;
3
+ export declare function sortRecord(record: Record<string, unknown>): Record<string, unknown>;
@@ -0,0 +1,85 @@
1
+ import { type Result } from '@riverbankcms/core';
2
+ import { type AllowedRuntime, type DryRunReport, type PlannedSiteCommandFor, type SiteCommandBatch, type SiteCommandExecutionSuccess, type SiteCommandOf, type SiteCommandPlan, type SiteCommandRef, type SiteCommandValidationError } from '@riverbankcms/site-commands';
3
+ import type { ManagementClient } from '../../client/management/types';
4
+ import type { LocalContent } from '../content/reader';
5
+ import type { EnvTarget } from '../helpers';
6
+ import type { ContentDiff } from '../sync/diff';
7
+ import { type SyncResult } from '../sync';
8
+ export type CliEntryCommandBatchSource = 'push_entries' | 'merge_remote_entries';
9
+ export type CliCommandCompileError = Readonly<{
10
+ code: 'missing_local_entry';
11
+ contentType: string;
12
+ identifier: string;
13
+ message: string;
14
+ }> | Readonly<{
15
+ code: 'command_validation_failed';
16
+ errors: readonly SiteCommandValidationError[];
17
+ message: string;
18
+ }>;
19
+ export type CliEntryCommandCompileInput = Readonly<{
20
+ source: CliEntryCommandBatchSource;
21
+ siteId: string;
22
+ targetEnv: EnvTarget;
23
+ diff: Pick<ContentDiff, 'entries'>;
24
+ local: Pick<LocalContent, 'entries'>;
25
+ }>;
26
+ export type CliEntryCommandCompileSuccess = Readonly<{
27
+ batch: SiteCommandBatch;
28
+ plan: EntrySiteCommandPlan;
29
+ dryRunReport: DryRunReport;
30
+ reportSubjectsByCommandRef: EntryCommandReportSubjectsByRef;
31
+ }>;
32
+ export type CliEntryCommandExecutionError = Readonly<{
33
+ code: 'management_api_failed';
34
+ commandRef: SiteCommandRef;
35
+ commandType: EntrySiteCommandType;
36
+ message: string;
37
+ }>;
38
+ export type CliEntryCommandExecutionResult = Readonly<{
39
+ status: 'applied';
40
+ applied: readonly SiteCommandExecutionSuccess[];
41
+ }> | Readonly<{
42
+ status: 'failed';
43
+ applied: readonly SiteCommandExecutionSuccess[];
44
+ failed: CliEntryCommandExecutionError;
45
+ }>;
46
+ export type CliEntryCommandSyncInput = Readonly<{
47
+ client: Pick<ManagementClient, 'entries'>;
48
+ plan: EntrySiteCommandPlan;
49
+ reportSubjectsByCommandRef: EntryCommandReportSubjectsByRef;
50
+ onBeforeExecute?: (commandCount: number) => void;
51
+ }>;
52
+ export type EntrySiteCommandType = 'upsertContentEntry' | 'publishContentEntry' | 'unpublishContentEntry' | 'deleteContentEntry';
53
+ export type EntrySiteCommand = SiteCommandOf<EntrySiteCommandType>;
54
+ export type PlannedEntrySiteCommand = {
55
+ [TType in EntrySiteCommandType]: PlannedSiteCommandFor<TType>;
56
+ }[EntrySiteCommandType];
57
+ export type EntrySiteCommandPlan = Omit<SiteCommandPlan, 'commands'> & Readonly<{
58
+ commands: readonly PlannedEntrySiteCommand[];
59
+ }>;
60
+ export declare const entrySiteCommandTypes: readonly ["upsertContentEntry", "publishContentEntry", "unpublishContentEntry", "deleteContentEntry"];
61
+ export type EntryCommandLegacyCounter = 'created' | 'updated' | 'deleted' | 'published' | 'unpublished';
62
+ export type EntryCommandReportSubject = Readonly<{
63
+ commandRef: SiteCommandRef;
64
+ contentType: string;
65
+ identifier: string;
66
+ counter: EntryCommandLegacyCounter;
67
+ }>;
68
+ export type EntryCommandReportSubjectsByRef = ReadonlyMap<SiteCommandRef, EntryCommandReportSubject>;
69
+ export declare function compileEntryPushCommands(input: CliEntryCommandCompileInput): Result<CliEntryCommandCompileSuccess, CliCommandCompileError>;
70
+ /** SDK push only distinguishes local development and remote production targets today. */
71
+ export declare function runtimeForCliTarget(targetEnv: EnvTarget): AllowedRuntime;
72
+ export declare function createCliCommandBatchRef(input: Pick<CliEntryCommandCompileInput, 'source' | 'siteId' | 'targetEnv'>): string;
73
+ export declare function formatSiteCommandValidationErrors(errors: readonly SiteCommandValidationError[]): string;
74
+ export declare function executeEntryCommandPlan(input: Readonly<{
75
+ client: Pick<ManagementClient, 'entries'>;
76
+ plan: Pick<EntrySiteCommandPlan, 'commands'>;
77
+ }>): Promise<CliEntryCommandExecutionResult>;
78
+ export declare function executeEntryCommandPlanAsSyncResult(input: CliEntryCommandSyncInput): Promise<SyncResult>;
79
+ export declare function syncResultForEntryCommandCompileError(error: CliCommandCompileError): SyncResult;
80
+ export declare function entryCommandExecutionToSyncResult(input: Readonly<{
81
+ execution: CliEntryCommandExecutionResult;
82
+ plan: Pick<EntrySiteCommandPlan, 'commands'>;
83
+ reportSubjectsByCommandRef: EntryCommandReportSubjectsByRef;
84
+ }>): SyncResult;
85
+ export declare function titleFromEntryData(data: Record<string, unknown>): string | undefined;
@@ -0,0 +1,2 @@
1
+ export * from './entryCommands';
2
+ export * from './pushExecution';
@@ -0,0 +1,30 @@
1
+ import { compileEntryPushCommands } from './entryCommands';
2
+ import type { ManagementClient } from '../../client/management/types';
3
+ import type { LocalContent } from '../content/reader';
4
+ import type { EnvTarget } from '../helpers';
5
+ import type { OutputContext } from '../output';
6
+ import { executeSyncPlan, type ContentDiff, type SyncResult } from '../sync';
7
+ export type PushContentExecutionMode = Readonly<{
8
+ kind: 'entry-command';
9
+ compileResult: ReturnType<typeof compileEntryPushCommands>;
10
+ }> | Readonly<{
11
+ kind: 'legacy-sync';
12
+ }>;
13
+ export declare function pushContentExecutionMode(input: Readonly<{
14
+ pushScope: string;
15
+ siteId: string;
16
+ target: EnvTarget;
17
+ diff: ContentDiff;
18
+ local: LocalContent;
19
+ }>): PushContentExecutionMode;
20
+ export declare function executeContentPushPlan(input: Readonly<{
21
+ pushScope: string;
22
+ siteId: string;
23
+ target: EnvTarget;
24
+ diff: ContentDiff;
25
+ local: LocalContent;
26
+ client: ManagementClient;
27
+ blockFieldExtensions: Parameters<typeof executeSyncPlan>[3]['blockFieldExtensions'];
28
+ output: OutputContext;
29
+ onEntryCommandCount?: (commandCount: number) => void;
30
+ }>): Promise<SyncResult>;
@@ -66,6 +66,7 @@ export interface SyncResult {
66
66
  }>;
67
67
  warnings: string[];
68
68
  }
69
+ export declare function createEmptySyncResult(): SyncResult;
69
70
  export interface FooterSyncResult {
70
71
  diff: FooterDiff | null;
71
72
  synced: boolean;
@@ -4,5 +4,5 @@
4
4
  * Provides content synchronization between local files and CMS.
5
5
  */
6
6
  export { calculateDiff, calculatePullDiff, hasPendingChanges, formatDiffSummary, formatDiffDetail, buildJsonDiff, type ContentDiff, type EntryDiff, type PageDiff, type BlockDiff, type NavigationDiff, type DiffType, type DiffOptions, type JsonDiff, type JsonDiffMode, type JsonDiffChange, type JsonDiffChangeType, type JsonDiffOperation, type PullJsonDiff, type PullJsonDiffChange, type FieldChange, findChangedFieldsWithValues, formatValue, formatHumanDiff, } from './diff';
7
- export { executeSyncPlan, formatSyncResult, syncFooter, type SyncOptions, type SyncResult, type FooterSyncResult, } from './executor';
7
+ export { executeSyncPlan, createEmptySyncResult, formatSyncResult, syncFooter, type SyncOptions, type SyncResult, type FooterSyncResult, } from './executor';
8
8
  export { extractMediaPaths, buildStorageUrl, downloadMedia, syncMedia, type MediaSyncResult, type MediaSyncSummary, type MediaSyncOptions, type MediaUploadClient, } from './media';
@@ -283,14 +283,17 @@ export type SiteResponse = {
283
283
  theme: Theme;
284
284
  themeId?: string | null;
285
285
  selectionId?: string | null;
286
+ selectionUpdatedAt?: string | null;
286
287
  /**
287
- * Persisted Style configurator selections (Phase C). Optional so legacy
288
+ * Persisted design selections. Optional so legacy
288
289
  * payloads without these columns still satisfy the type — consumers fall
289
290
  * back to the site style's defaults when null.
290
291
  */
291
292
  selectionButtonPersonalityId?: string | null;
292
293
  selectionPaletteVariantId?: string | null;
293
294
  selectionPaletteOverrides?: Record<string, string> | null;
295
+ selectionHeaderLookId?: string | null;
296
+ selectionFooterLookId?: string | null;
294
297
  navigation: NavigationMenuWithItems[];
295
298
  appointmentsEnabled?: boolean;
296
299
  portalEnabled?: boolean;
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.62.2";
11
+ export declare const SDK_VERSION = "0.64.0";