@riverbankcms/sdk 0.62.4 → 0.67.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 (349) hide show
  1. package/README.md +11 -0
  2. package/dist/_dts/api/src/accessAdmin.d.ts +64 -2
  3. package/dist/_dts/api/src/aiEndpoints.d.ts +2 -2
  4. package/dist/_dts/api/src/aiPlayground.d.ts +18 -11
  5. package/dist/_dts/api/src/apiEndpointTypes.d.ts +12 -0
  6. package/dist/_dts/api/src/billing.d.ts +46 -10
  7. package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
  8. package/dist/_dts/api/src/bookingOperations.d.ts +1 -1
  9. package/dist/_dts/api/src/bookingRecords.d.ts +26 -0
  10. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +12 -1
  11. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  12. package/dist/_dts/api/src/courses.d.ts +3 -0
  13. package/dist/_dts/api/src/endpoints.d.ts +48 -0
  14. package/dist/_dts/api/src/index.d.ts +8 -5
  15. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +29 -40
  16. package/dist/_dts/api/src/sdkContracts.d.ts +14 -2
  17. package/dist/_dts/api/src/siteMembers.d.ts +1 -1
  18. package/dist/_dts/api/src/siteOnboarding.d.ts +4 -0
  19. package/dist/_dts/api/src/siteOperations.d.ts +11 -1
  20. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +29 -0
  21. package/dist/_dts/api/src/types.d.ts +2 -1
  22. package/dist/_dts/billing/src/plans/registry.d.ts +1 -0
  23. package/dist/_dts/billing/src/plans/types.d.ts +10 -1
  24. package/dist/_dts/block-form/src/FormRenderer.d.ts +38 -0
  25. package/dist/_dts/block-form/src/backend/adapter.d.ts +7 -0
  26. package/dist/_dts/block-form/src/backend/hooks/useRepeaterBackend.d.ts +34 -0
  27. package/dist/_dts/block-form/src/backend/hooks.d.ts +66 -0
  28. package/dist/_dts/block-form/src/backend/index.d.ts +12 -0
  29. package/dist/_dts/block-form/src/backend/rhf-backend.d.ts +34 -0
  30. package/dist/_dts/block-form/src/backend/store-backend.d.ts +60 -0
  31. package/dist/_dts/block-form/src/backend/types.d.ts +137 -0
  32. package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +22 -0
  33. package/dist/_dts/block-form/src/backend/utils/getErrorMessage.d.ts +1 -0
  34. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +70 -0
  35. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +1 -0
  36. package/dist/_dts/block-form/src/client/index.d.ts +30 -0
  37. package/dist/_dts/block-form/src/context/BlockContext.d.ts +29 -0
  38. package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +33 -0
  39. package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +30 -0
  40. package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -0
  41. package/dist/_dts/block-form/src/context/index.d.ts +4 -0
  42. package/dist/_dts/block-form/src/fields/props.d.ts +48 -0
  43. package/dist/_dts/block-form/src/fields/types.d.ts +223 -0
  44. package/dist/_dts/block-form/src/index.d.ts +22 -0
  45. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +37 -0
  46. package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +5 -0
  47. package/dist/_dts/block-form/src/manifest/filterSdkTabs.d.ts +44 -0
  48. package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +61 -0
  49. package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +24 -0
  50. package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +11 -0
  51. package/dist/_dts/block-form/src/registry/schemas.d.ts +105 -0
  52. package/dist/_dts/block-form/src/registry/widgets.d.ts +59 -0
  53. package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +110 -0
  54. package/dist/_dts/block-form/src/sdk-config/hooks.d.ts +21 -0
  55. package/dist/_dts/block-form/src/sdk-config/index.d.ts +2 -0
  56. package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -0
  57. package/dist/_dts/block-form/src/shared/hooks/index.d.ts +2 -0
  58. package/dist/_dts/block-form/src/shared/hooks/useCoarsePointer.d.ts +5 -0
  59. package/dist/_dts/block-form/src/shared/hooks/useContainerWidth.d.ts +6 -0
  60. package/dist/_dts/block-form/src/utils/VisibilityWrapper.d.ts +25 -0
  61. package/dist/_dts/block-form/src/utils/computeWatchedPath.d.ts +18 -0
  62. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +9 -0
  63. package/dist/_dts/block-form/src/utils/fieldHelpers.d.ts +94 -0
  64. package/dist/_dts/block-form/src/utils/resolvePromotedFields.d.ts +22 -0
  65. package/dist/_dts/block-form/src/utils/slug.d.ts +3 -0
  66. package/dist/_dts/block-form/src/utils/typeGuards.d.ts +3 -0
  67. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorField.d.ts +10 -0
  68. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +23 -0
  69. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/index.d.ts +2 -0
  70. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +13 -0
  71. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +17 -0
  72. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/index.d.ts +2 -0
  73. package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +6 -0
  74. package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldDefaults.d.ts +6 -0
  75. package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldSchema.d.ts +7 -0
  76. package/dist/_dts/block-form/src/widgets/BooleanField/index.d.ts +3 -0
  77. package/dist/_dts/block-form/src/widgets/BoxStyleWidget/BoxStyleWidget.d.ts +17 -0
  78. package/dist/_dts/block-form/src/widgets/BoxStyleWidget/index.d.ts +1 -0
  79. package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldDefaults.d.ts +3 -0
  80. package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldSchema.d.ts +4 -0
  81. package/dist/_dts/block-form/src/widgets/DateField/DateField.d.ts +23 -0
  82. package/dist/_dts/block-form/src/widgets/DateField/dateFieldDefaults.d.ts +8 -0
  83. package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +9 -0
  84. package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +32 -0
  85. package/dist/_dts/block-form/src/widgets/DateField/index.d.ts +4 -0
  86. package/dist/_dts/block-form/src/widgets/DateTimeField/DateTimeField.d.ts +30 -0
  87. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldDefaults.d.ts +8 -0
  88. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +11 -0
  89. package/dist/_dts/block-form/src/widgets/DateTimeField/index.d.ts +4 -0
  90. package/dist/_dts/block-form/src/widgets/DateTimeField/utils/dateTimeUtils.d.ts +22 -0
  91. package/dist/_dts/block-form/src/widgets/DateTimeField/utils/index.d.ts +1 -0
  92. package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldDefaults.d.ts +3 -0
  93. package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldSchema.d.ts +4 -0
  94. package/dist/_dts/block-form/src/widgets/Field.d.ts +21 -0
  95. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +32 -0
  96. package/dist/_dts/block-form/src/widgets/FieldSettingsModal/FieldSettingsModal.d.ts +34 -0
  97. package/dist/_dts/block-form/src/widgets/FieldSettingsModal/index.d.ts +2 -0
  98. package/dist/_dts/block-form/src/widgets/GroupField/GroupField.d.ts +23 -0
  99. package/dist/_dts/block-form/src/widgets/GroupField/groupFieldDefaults.d.ts +9 -0
  100. package/dist/_dts/block-form/src/widgets/GroupField/groupFieldSchema.d.ts +10 -0
  101. package/dist/_dts/block-form/src/widgets/GroupField/index.d.ts +3 -0
  102. package/dist/_dts/block-form/src/widgets/LinkField/linkFieldDefaults.d.ts +10 -0
  103. package/dist/_dts/block-form/src/widgets/LinkField/linkFieldSchema.d.ts +3 -0
  104. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldDefaults.d.ts +6 -0
  105. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldSchema.d.ts +6 -0
  106. package/dist/_dts/block-form/src/widgets/ModalGroupField/ModalGroupField.d.ts +17 -0
  107. package/dist/_dts/block-form/src/widgets/ModalGroupField/index.d.ts +3 -0
  108. package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldDefaults.d.ts +18 -0
  109. package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldSchema.d.ts +14 -0
  110. package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +7 -0
  111. package/dist/_dts/block-form/src/widgets/NumberField/index.d.ts +3 -0
  112. package/dist/_dts/block-form/src/widgets/NumberField/numberFieldDefaults.d.ts +6 -0
  113. package/dist/_dts/block-form/src/widgets/NumberField/numberFieldSchema.d.ts +7 -0
  114. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +11 -0
  115. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/index.d.ts +4 -0
  116. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldDefaults.d.ts +3 -0
  117. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldSchema.d.ts +4 -0
  118. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/types.d.ts +37 -0
  119. package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldDefaults.d.ts +3 -0
  120. package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldSchema.d.ts +4 -0
  121. package/dist/_dts/block-form/src/widgets/RepeaterField/RepeaterField.d.ts +26 -0
  122. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterDragHandle.d.ts +8 -0
  123. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterError.d.ts +11 -0
  124. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterHeader.d.ts +10 -0
  125. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +27 -0
  126. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +19 -0
  127. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +23 -0
  128. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +16 -0
  129. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowContent.d.ts +19 -0
  130. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterTabbedEditDialog.d.ts +16 -0
  131. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +26 -0
  132. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +20 -0
  133. package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +11 -0
  134. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +34 -0
  135. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +6 -0
  136. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/layoutGridCapacityDecision.d.ts +22 -0
  137. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLayoutGridCapacity.d.ts +20 -0
  138. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +23 -0
  139. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +10 -0
  140. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterRowErrors.d.ts +12 -0
  141. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterVisibility.d.ts +6 -0
  142. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +12 -0
  143. package/dist/_dts/block-form/src/widgets/RepeaterField/index.d.ts +3 -0
  144. package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldDefaults.d.ts +7 -0
  145. package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldSchema.d.ts +8 -0
  146. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildItemLabel.d.ts +7 -0
  147. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +7 -0
  148. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/createDefaultItem.d.ts +6 -0
  149. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFieldGroups.d.ts +8 -0
  150. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFields.d.ts +22 -0
  151. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +10 -0
  152. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/layoutGridCapacityContext.d.ts +2 -0
  153. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +43 -0
  154. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +24 -0
  155. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +12 -0
  156. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +20 -0
  157. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +16 -0
  158. package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +11 -0
  159. package/dist/_dts/block-form/src/widgets/SdkSelectField/index.d.ts +1 -0
  160. package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +7 -0
  161. package/dist/_dts/block-form/src/widgets/SelectField/index.d.ts +3 -0
  162. package/dist/_dts/block-form/src/widgets/SelectField/selectFieldDefaults.d.ts +6 -0
  163. package/dist/_dts/block-form/src/widgets/SelectField/selectFieldSchema.d.ts +7 -0
  164. package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +34 -0
  165. package/dist/_dts/block-form/src/widgets/SettingsModal/SettingsModal.d.ts +17 -0
  166. package/dist/_dts/block-form/src/widgets/SettingsModal/index.d.ts +2 -0
  167. package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +16 -0
  168. package/dist/_dts/block-form/src/widgets/SliderField/index.d.ts +1 -0
  169. package/dist/_dts/block-form/src/widgets/SlugField/SlugField.d.ts +39 -0
  170. package/dist/_dts/block-form/src/widgets/SlugField/hooks/index.d.ts +1 -0
  171. package/dist/_dts/block-form/src/widgets/SlugField/hooks/useSlugAutoGeneration.d.ts +29 -0
  172. package/dist/_dts/block-form/src/widgets/SlugField/index.d.ts +5 -0
  173. package/dist/_dts/block-form/src/widgets/SlugField/slugFieldDefaults.d.ts +8 -0
  174. package/dist/_dts/block-form/src/widgets/SlugField/slugFieldSchema.d.ts +14 -0
  175. package/dist/_dts/block-form/src/widgets/SlugField/utils/index.d.ts +2 -0
  176. package/dist/_dts/block-form/src/widgets/SlugField/utils/pathUtils.d.ts +30 -0
  177. package/dist/_dts/block-form/src/widgets/SlugField/utils/slugUtils.d.ts +17 -0
  178. package/dist/_dts/block-form/src/widgets/TabGroupField/TabGroupField.d.ts +13 -0
  179. package/dist/_dts/block-form/src/widgets/TabGroupField/index.d.ts +3 -0
  180. package/dist/_dts/block-form/src/widgets/TabGroupField/tabGroupFieldSchema.d.ts +25 -0
  181. package/dist/_dts/block-form/src/widgets/TabGroupField/types.d.ts +46 -0
  182. package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +7 -0
  183. package/dist/_dts/block-form/src/widgets/TextField/index.d.ts +3 -0
  184. package/dist/_dts/block-form/src/widgets/TextField/textFieldDefaults.d.ts +6 -0
  185. package/dist/_dts/block-form/src/widgets/TextField/textFieldSchema.d.ts +7 -0
  186. package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +20 -0
  187. package/dist/_dts/block-form/src/widgets/TimeField/TimeField.d.ts +23 -0
  188. package/dist/_dts/block-form/src/widgets/TimeField/index.d.ts +3 -0
  189. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldDefaults.d.ts +8 -0
  190. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +9 -0
  191. package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +16 -0
  192. package/dist/_dts/block-form/src/widgets/UrlField/UrlField.d.ts +23 -0
  193. package/dist/_dts/block-form/src/widgets/UrlField/index.d.ts +3 -0
  194. package/dist/_dts/block-form/src/widgets/UrlField/urlFieldDefaults.d.ts +8 -0
  195. package/dist/_dts/block-form/src/widgets/UrlField/urlFieldSchema.d.ts +9 -0
  196. package/dist/_dts/block-form/src/widgets/constants.d.ts +58 -0
  197. package/dist/_dts/block-form/src/widgets/groupFieldHelpers.d.ts +61 -0
  198. package/dist/_dts/block-form/src/widgets/index.d.ts +20 -0
  199. package/dist/_dts/block-form/src/widgets/selectValueMapping.d.ts +9 -0
  200. package/dist/_dts/block-form/src/widgets/types/modalConfig.d.ts +18 -0
  201. package/dist/_dts/block-form/src/widgets/utils/readNumericUiConfig.d.ts +10 -0
  202. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
  203. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
  204. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
  205. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -1
  206. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -2
  207. package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
  208. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1 -1
  209. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1 -1
  210. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -2
  211. package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
  212. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  213. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1 -1
  214. package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +25 -0
  215. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -2
  216. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -2
  217. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1 -1
  218. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
  219. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1 -1
  220. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
  221. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  222. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +6 -6
  223. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1 -1
  224. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -2
  225. package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
  226. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1 -1
  227. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  228. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +1 -1
  229. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +1 -1
  230. package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +1 -1
  231. package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1 -1
  232. package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1 -1
  233. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1 -1
  234. package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1 -1
  235. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  236. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
  237. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
  238. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +4 -1
  239. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +4 -1
  240. package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +1 -0
  241. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
  242. package/dist/_dts/calendar/src/grid.d.ts +60 -0
  243. package/dist/_dts/calendar/src/group.d.ts +14 -0
  244. package/dist/_dts/calendar/src/index.d.ts +6 -0
  245. package/dist/_dts/calendar/src/lane-packing.d.ts +28 -0
  246. package/dist/_dts/calendar/src/timetable.d.ts +90 -0
  247. package/dist/_dts/calendar/src/timezone.d.ts +19 -0
  248. package/dist/_dts/content-editor/src/index.d.ts +1 -4
  249. package/dist/_dts/core/src/booking-date-time.d.ts +1 -0
  250. package/dist/_dts/core/src/branded.d.ts +18 -0
  251. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +900 -69
  252. package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
  253. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +7 -7
  254. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -2
  255. package/dist/_dts/editor-blocks/src/widgets/link/index.d.ts +1 -0
  256. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +7 -3
  257. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  258. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
  259. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
  260. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
  261. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +4 -0
  262. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +49 -0
  263. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +6 -0
  264. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -1
  265. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -0
  266. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +18 -0
  267. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +5 -0
  268. package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +33 -0
  269. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +2 -0
  270. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +18 -0
  271. package/dist/_dts/sdk/src/cli/content/entryPaths.d.ts +6 -0
  272. package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -0
  273. package/dist/_dts/sdk/src/cli/env.d.ts +2 -1
  274. package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +3 -0
  275. package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +77 -0
  276. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePlan.d.ts +45 -0
  277. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +22 -0
  278. package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +30 -0
  279. package/dist/_dts/sdk/src/cli/merge-remote/entryRemote.d.ts +9 -0
  280. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +50 -0
  281. package/dist/_dts/sdk/src/cli/merge-remote/stableJson.d.ts +3 -0
  282. package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +13 -0
  283. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +114 -0
  284. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +63 -0
  285. package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +50 -0
  286. package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +57 -0
  287. package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +7 -0
  288. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +57 -0
  289. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +83 -0
  290. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +83 -0
  291. package/dist/_dts/sdk/src/cli/sync/executor.d.ts +11 -28
  292. package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -1
  293. package/dist/_dts/sdk/src/config/dashboard-validation.d.ts +0 -48
  294. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  295. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  296. package/dist/_dts/sdk/src/version.d.ts +1 -1
  297. package/dist/_dts/site-commands/src/adapter.d.ts +23 -0
  298. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +8 -0
  299. package/dist/_dts/site-commands/src/commands.d.ts +2341 -0
  300. package/dist/_dts/site-commands/src/domain.d.ts +104 -0
  301. package/dist/_dts/site-commands/src/exposure.d.ts +41 -0
  302. package/dist/_dts/site-commands/src/guards.d.ts +1 -0
  303. package/dist/_dts/site-commands/src/index.d.ts +10 -0
  304. package/dist/_dts/site-commands/src/metadata.d.ts +503 -0
  305. package/dist/_dts/site-commands/src/planner.d.ts +58 -0
  306. package/dist/_dts/site-commands/src/refContributions.d.ts +10 -0
  307. package/dist/_dts/site-commands/src/refs.d.ts +87 -0
  308. package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +10 -0
  309. package/dist/_dts/theme-core/src/palette/utils/index.d.ts +1 -0
  310. package/dist/_dts/theme-core/src/palette/utils/onColor.d.ts +2 -0
  311. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +83 -0
  312. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  313. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +89 -12
  314. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +8 -2
  315. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  316. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +3 -2
  317. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -6
  318. package/dist/_dts/ui/src/callout.d.ts +1 -1
  319. package/dist/cli/index.mjs +6446 -1220
  320. package/dist/cli/init-docs/content/cli-reference.md +18 -0
  321. package/dist/client/bookings.mjs +25 -25
  322. package/dist/client/client.mjs +3157 -2858
  323. package/dist/client/hooks.mjs +2608 -2326
  324. package/dist/client/rendering/client.mjs +505 -176
  325. package/dist/client/rendering/islands.mjs +18329 -13012
  326. package/dist/client/rendering.mjs +1204 -903
  327. package/dist/preview-next/before-render.mjs +84 -13
  328. package/dist/preview-next/client/runtime.mjs +3149 -2452
  329. package/dist/preview-next/middleware.mjs +84 -13
  330. package/dist/server/components.mjs +936 -631
  331. package/dist/server/config-validation.mjs +2838 -2556
  332. package/dist/server/config.mjs +2838 -2556
  333. package/dist/server/data.mjs +2608 -2326
  334. package/dist/server/index.mjs +676 -552
  335. package/dist/server/next.mjs +3043 -2738
  336. package/dist/server/page-converter.mjs +201 -51
  337. package/dist/server/prebuild.mjs +1 -1
  338. package/dist/server/rendering/server.mjs +936 -631
  339. package/dist/server/rendering.mjs +936 -631
  340. package/dist/server/routing.mjs +2701 -2426
  341. package/dist/server/server.mjs +2626 -2344
  342. package/dist/server/theme-bridge.mjs +169 -52
  343. package/package.json +2 -1
  344. package/dist/_dts/content-editor/src/ai/patch/allowed.d.ts +0 -2
  345. package/dist/_dts/content-editor/src/ai/patch/diff.d.ts +0 -17
  346. package/dist/_dts/content-editor/src/ai/patch/schema.d.ts +0 -49
  347. package/dist/_dts/path-utils/src/index.d.ts +0 -8
  348. package/dist/_dts/path-utils/src/redirectPaths.d.ts +0 -26
  349. package/dist/_dts/path-utils/src/safeAppPath.d.ts +0 -26
@@ -29,6 +29,15 @@ var MQ_TABLET_ONLY = mqBetween(BREAKPOINT_SM, BREAKPOINT_LG_DOWN);
29
29
  var MQ_MAX_640 = mqDown(BREAKPOINT_SM);
30
30
  var MQ_MAX_768 = mqDown(BREAKPOINT_MD);
31
31
 
32
+ // ../theme-core/src/palette/utils/colorConversion.ts
33
+ function hexToRgb(hex) {
34
+ const h = hex.replace(/^#/, "");
35
+ const m = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
36
+ if (m.length !== 6) throw new Error("Bad hex");
37
+ const int = parseInt(m, 16);
38
+ return { r: int >> 16 & 255, g: int >> 8 & 255, b: int & 255 };
39
+ }
40
+
32
41
  // ../theme-core/src/site-styles/appearancePresetResolution.ts
33
42
  function assertValidOptionGroups(preset) {
34
43
  preset.optionGroups?.forEach((group) => {
@@ -3165,11 +3174,21 @@ function asHeaderLookId(value) {
3165
3174
  return value;
3166
3175
  }
3167
3176
  function baseHeader(theme) {
3177
+ const {
3178
+ navLinkStyle: _navLinkStyle,
3179
+ dropdownStyle: _dropdownStyle,
3180
+ ctaVariant: _ctaVariant,
3181
+ navContainer: _navContainer,
3182
+ container: _container,
3183
+ shadow: _shadow,
3184
+ logo: _logo,
3185
+ logoText: _logoText,
3186
+ border: _border,
3187
+ ...header
3188
+ } = theme.header;
3168
3189
  return {
3169
- ...theme.header,
3170
- navLinkStyle: void 0,
3171
- dropdownStyle: void 0,
3172
- ctaVariant: void 0
3190
+ ...header,
3191
+ navContainer: { type: "none", tint: null, opacity: 0.15 }
3173
3192
  };
3174
3193
  }
3175
3194
  function solidBrandHeader(theme) {
@@ -3620,6 +3639,9 @@ var curatedSiteStyleIdValues = [
3620
3639
  "site-style:bright-community",
3621
3640
  "site-style:quiet-luxury",
3622
3641
  "site-style:practical-services",
3642
+ "site-style:quiet-practice",
3643
+ "site-style:personal-retreat-journal",
3644
+ "site-style:tactile-workshop",
3623
3645
  "site-style:modern-wellness",
3624
3646
  "site-style:bold-launch",
3625
3647
  "site-style:south-west-twerk-school"
@@ -3702,7 +3724,8 @@ function defineCuratedSiteStyle(input) {
3702
3724
  name: input.name,
3703
3725
  description: input.description,
3704
3726
  generationBrief: input.generationBrief,
3705
- selectionKeywords: input.selectionKeywords ?? [],
3727
+ selectionKeywordRules: input.selectionKeywordRules ?? [],
3728
+ siteCreatorSelection: input.siteCreatorSelection ?? { kind: "explicit_only" },
3706
3729
  template: {
3707
3730
  id: asDesignSystemTemplateId(`template:${input.id.replace("site-style:", "")}`),
3708
3731
  name: input.name,
@@ -3846,12 +3869,13 @@ var curatedSiteStyles = [
3846
3869
  name: "Quiet Luxury",
3847
3870
  description: "Minimal, confident, and refined for premium experiences and private services.",
3848
3871
  generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
3849
- selectionKeywords: [
3850
- "luxury",
3851
- "premium",
3852
- "boutique",
3853
- "bespoke",
3854
- "exclusive"
3872
+ siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 20 },
3873
+ selectionKeywordRules: [
3874
+ { kind: "word", value: "luxury" },
3875
+ { kind: "word", value: "premium" },
3876
+ { kind: "word", value: "boutique" },
3877
+ { kind: "word", value: "bespoke" },
3878
+ { kind: "word", value: "exclusive" }
3855
3879
  ],
3856
3880
  tokenRecipes: {
3857
3881
  palette: "high-contrast",
@@ -3880,13 +3904,14 @@ var curatedSiteStyles = [
3880
3904
  name: "Practical Services",
3881
3905
  description: "Efficient, plainspoken, and conversion-focused for trades and everyday services.",
3882
3906
  generationBrief: "Make services, location, trust signals, and contact paths obvious. Keep copy brief and avoid ornate visual treatments.",
3883
- selectionKeywords: [
3884
- "repair",
3885
- "plumb",
3886
- "electric",
3887
- "cleaning",
3888
- "landscap",
3889
- "contractor"
3907
+ siteCreatorSelection: { kind: "primary_goal_support" },
3908
+ selectionKeywordRules: [
3909
+ { kind: "word", value: "repair" },
3910
+ { kind: "substring", value: "plumb" },
3911
+ { kind: "substring", value: "electric" },
3912
+ { kind: "word", value: "cleaning" },
3913
+ { kind: "substring", value: "landscap" },
3914
+ { kind: "substring", value: "contractor" }
3890
3915
  ],
3891
3916
  tokenRecipes: {
3892
3917
  palette: "brand-led",
@@ -3937,18 +3962,134 @@ var curatedSiteStyles = [
3937
3962
  paletteChoice("warm-neutral-forest")
3938
3963
  ]
3939
3964
  }),
3965
+ defineCuratedSiteStyle({
3966
+ id: "site-style:quiet-practice",
3967
+ name: "Quiet Practice",
3968
+ description: "Grounded, calm, and practical for small appointment-first practices.",
3969
+ generationBrief: "Make services, practitioner trust, preparation notes, and booking routes easy to scan. Keep the tone warm and specific, with quiet confidence rather than spa cliches or medical claims.",
3970
+ siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 30 },
3971
+ selectionKeywordRules: [
3972
+ { kind: "substring", value: "massage" },
3973
+ { kind: "word", value: "bodywork" },
3974
+ { kind: "phrase", value: "appointment practice" },
3975
+ { kind: "phrase", value: "appointment-first" },
3976
+ { kind: "substring", value: "practitioner" },
3977
+ { kind: "substring", value: "therap" },
3978
+ { kind: "substring", value: "clinic" },
3979
+ { kind: "phrase", value: "wellness practice" }
3980
+ ],
3981
+ tokenRecipes: {
3982
+ palette: "soft-natural",
3983
+ contrast: "standard",
3984
+ radius: "soft",
3985
+ shadow: "subtle",
3986
+ typography: "clean-sans",
3987
+ spacing: "regular",
3988
+ motion: "subtle"
3989
+ },
3990
+ compositionBudget: quietBudget,
3991
+ recommendedHeaderLookIds: ["practical-utility", "clean-base", "centered-calm"],
3992
+ buttonPersonalityChoices: [
3993
+ buttonChoice("pebble"),
3994
+ buttonChoice("soft-pill"),
3995
+ buttonChoice("editorial-link")
3996
+ ],
3997
+ paletteVariantChoices: [
3998
+ paletteChoice("soft-natural-stone"),
3999
+ paletteChoice("soft-natural-sage"),
4000
+ paletteChoice("warm-neutral-clay")
4001
+ ]
4002
+ }),
4003
+ defineCuratedSiteStyle({
4004
+ id: "site-style:personal-retreat-journal",
4005
+ name: "Personal Retreat Journal",
4006
+ description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
4007
+ generationBrief: "Center the practitioner as the guide, then make private sessions, classes, retreats, and resources feel like clear pathways. Keep retreat copy grounded and practical, with enough editorial warmth for longer reading.",
4008
+ siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 40 },
4009
+ selectionKeywordRules: [
4010
+ { kind: "substring", value: "retreat" },
4011
+ { kind: "phrase", value: "solo practitioner" },
4012
+ { kind: "phrase", value: "personal brand" },
4013
+ { kind: "substring", value: "teacher" },
4014
+ { kind: "substring", value: "coach" },
4015
+ { kind: "phrase", value: "retreat resources" },
4016
+ { kind: "substring", value: "journal" }
4017
+ ],
4018
+ tokenRecipes: {
4019
+ palette: "warm-neutral",
4020
+ contrast: "standard",
4021
+ radius: "soft",
4022
+ shadow: "subtle",
4023
+ typography: "serif-editorial",
4024
+ spacing: "airy",
4025
+ motion: "subtle"
4026
+ },
4027
+ compositionBudget: balancedBudget,
4028
+ recommendedHeaderLookIds: ["editorial-line", "centered-calm", "minimal-transparent"],
4029
+ buttonPersonalityChoices: [
4030
+ buttonChoice("editorial-link"),
4031
+ buttonChoice("soft-pill"),
4032
+ buttonChoice("brushed-wash")
4033
+ ],
4034
+ paletteVariantChoices: [
4035
+ paletteChoice("warm-neutral-forest"),
4036
+ paletteChoice("warm-neutral-clay"),
4037
+ paletteChoice("soft-natural-stone")
4038
+ ]
4039
+ }),
4040
+ defineCuratedSiteStyle({
4041
+ id: "site-style:tactile-workshop",
4042
+ name: "Tactile Workshop",
4043
+ description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
4044
+ generationBrief: "Lead with objects, materials, studio process, and practical booking detail. Keep the tone warm and direct, with useful mess, clear dates, and enough gallery rhythm to feel like a real creative studio.",
4045
+ siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 50 },
4046
+ selectionKeywordRules: [
4047
+ { kind: "substring", value: "ceramic" },
4048
+ { kind: "word", value: "pottery" },
4049
+ { kind: "phrase", value: "maker studio" },
4050
+ { kind: "phrase", value: "craft class" },
4051
+ { kind: "phrase", value: "craft workshop" },
4052
+ { kind: "word", value: "clay" },
4053
+ { kind: "word", value: "kiln" }
4054
+ ],
4055
+ tokenRecipes: {
4056
+ palette: "brand-led",
4057
+ contrast: "standard",
4058
+ radius: "soft",
4059
+ shadow: "subtle",
4060
+ typography: "friendly-sans",
4061
+ spacing: "regular",
4062
+ motion: "subtle"
4063
+ },
4064
+ compositionBudget: balancedBudget,
4065
+ recommendedHeaderLookIds: ["brand-solid", "practical-utility", "clean-base"],
4066
+ recommendedFooterLookIds: ["site-footer-brand-two-band", "footer-muted-grounding"],
4067
+ buttonPersonalityChoices: [
4068
+ buttonChoice("pebble"),
4069
+ buttonChoice("confident-chip"),
4070
+ buttonChoice("ink-stamp"),
4071
+ buttonChoice("editorial-link")
4072
+ ],
4073
+ paletteVariantChoices: [
4074
+ paletteChoice("brand-led-warm"),
4075
+ paletteChoice("brand-led-cool"),
4076
+ paletteChoice("soft-natural-watercolor"),
4077
+ paletteChoice("warm-neutral-clay")
4078
+ ]
4079
+ }),
3940
4080
  defineCuratedSiteStyle({
3941
4081
  id: "site-style:bold-launch",
3942
4082
  name: "Bold Launch",
3943
4083
  description: "High-energy and punchy for launches, campaigns, and creative offers.",
3944
4084
  generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
3945
- selectionKeywords: [
3946
- "launch",
3947
- "campaign",
3948
- "preorder",
3949
- "pre-order",
3950
- "waitlist",
3951
- "drop"
4085
+ siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 10 },
4086
+ selectionKeywordRules: [
4087
+ { kind: "substring", value: "launch" },
4088
+ { kind: "substring", value: "campaign" },
4089
+ { kind: "word", value: "preorder" },
4090
+ { kind: "phrase", value: "pre-order" },
4091
+ { kind: "substring", value: "waitlist" },
4092
+ { kind: "word", value: "drop" }
3952
4093
  ],
3953
4094
  tokenRecipes: {
3954
4095
  palette: "high-contrast",
@@ -3979,15 +4120,6 @@ var curatedSiteStyles = [
3979
4120
  name: "South West Twerk School",
3980
4121
  description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
3981
4122
  generationBrief: "Use confident rhythm, bold burgundy-and-gold accents, large editorial intro copy, strong booking routes, and dark feature sections where proof or forms need emphasis.",
3982
- selectionKeywords: [
3983
- "dance",
3984
- "classes",
3985
- "workshop",
3986
- "school",
3987
- "movement",
3988
- "performance",
3989
- "community"
3990
- ],
3991
4123
  tokenRecipes: {
3992
4124
  palette: "brand-led",
3993
4125
  contrast: "maximum",
@@ -4294,25 +4426,19 @@ var defaultDesignRuntimeRules = defineDesignRuntimeRules({
4294
4426
  "muted-band": {
4295
4427
  background: {
4296
4428
  type: "color",
4297
- color: "muted",
4298
- textColor: "text",
4299
- headingColor: "text"
4429
+ color: "muted"
4300
4430
  }
4301
4431
  },
4302
4432
  "accent-band": {
4303
4433
  background: {
4304
4434
  type: "color",
4305
- color: "primary",
4306
- textColor: "primaryForeground",
4307
- headingColor: "primaryForeground"
4435
+ color: "primary"
4308
4436
  }
4309
4437
  },
4310
4438
  "brand-depth-band": {
4311
4439
  background: {
4312
4440
  type: "color",
4313
- color: "primary-800",
4314
- textColor: "primaryForeground",
4315
- headingColor: "primaryForeground"
4441
+ color: "primary-800"
4316
4442
  }
4317
4443
  },
4318
4444
  "hero-image": {
@@ -4667,15 +4793,6 @@ var themeTokenRecipesSchema = z22.object({
4667
4793
  motion: z22.enum(themeTokenRecipeOptions.motion)
4668
4794
  });
4669
4795
 
4670
- // ../theme-core/src/palette/utils/colorConversion.ts
4671
- function hexToRgb(hex) {
4672
- const h = hex.replace(/^#/, "");
4673
- const m = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
4674
- if (m.length !== 6) throw new Error("Bad hex");
4675
- const int = parseInt(m, 16);
4676
- return { r: int >> 16 & 255, g: int >> 8 & 255, b: int & 255 };
4677
- }
4678
-
4679
4796
  // ../theme-core/src/styles/shadow.ts
4680
4797
  function generateShadowCssVars(theme) {
4681
4798
  const level = theme.shadow.elevation;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riverbankcms/sdk",
3
- "version": "0.62.4",
3
+ "version": "0.67.0",
4
4
  "description": "Riverbank CMS SDK for headless content consumption",
5
5
  "main": "./dist/server/index.mjs",
6
6
  "module": "./dist/server/index.mjs",
@@ -231,6 +231,7 @@
231
231
  "dependencies": {
232
232
  "@tanstack/react-query": "^5.90.20",
233
233
  "@riverbankcms/content-model": "workspace:*",
234
+ "@riverbankcms/site-commands": "workspace:*",
234
235
  "commander": "^12.1.0",
235
236
  "dotenv": "^16.4.5",
236
237
  "fast-deep-equal": "^3.1.3",
@@ -1,2 +0,0 @@
1
- export declare function isAllowedPageMetaKey(key: string): boolean;
2
- export declare function isAllowedBlockPath(kind: string, path: string): boolean;
@@ -1,17 +0,0 @@
1
- import type { PatchOp } from './schema';
2
- export type DiffEntry = {
3
- kind: 'pageMeta';
4
- key: 'metaTitle' | 'metaDescription';
5
- before: string | null;
6
- after: string | null;
7
- } | {
8
- kind: 'block.set';
9
- blockId: string;
10
- path: string;
11
- before: unknown;
12
- after: unknown;
13
- };
14
- export type ValueResolver = (op: PatchOp) => {
15
- before: unknown;
16
- } | null;
17
- export declare function computeDiff(ops: PatchOp[], resolve?: ValueResolver | null): DiffEntry[];
@@ -1,49 +0,0 @@
1
- import { z } from 'zod';
2
- type JsonPrimitive = string | number | boolean | null;
3
- type JsonValue = JsonPrimitive | JsonValue[] | {
4
- [key: string]: JsonValue;
5
- };
6
- export declare const PageMetaOp: z.ZodObject<{
7
- type: z.ZodLiteral<"pageMeta">;
8
- set: z.ZodObject<{
9
- metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10
- metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
- }, z.core.$strip>;
12
- }, z.core.$strip>;
13
- export declare const BlockSetOp: z.ZodObject<{
14
- type: z.ZodLiteral<"block.set">;
15
- blockId: z.ZodString;
16
- path: z.ZodString;
17
- value: z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>;
18
- }, z.core.$strip>;
19
- export declare const PatchOp: z.ZodUnion<readonly [z.ZodObject<{
20
- type: z.ZodLiteral<"pageMeta">;
21
- set: z.ZodObject<{
22
- metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
- metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
- }, z.core.$strip>;
25
- }, z.core.$strip>, z.ZodObject<{
26
- type: z.ZodLiteral<"block.set">;
27
- blockId: z.ZodString;
28
- path: z.ZodString;
29
- value: z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>;
30
- }, z.core.$strip>]>;
31
- export declare const PatchRequest: z.ZodObject<{
32
- siteId: z.ZodString;
33
- pageId: z.ZodOptional<z.ZodString>;
34
- ops: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
35
- type: z.ZodLiteral<"pageMeta">;
36
- set: z.ZodObject<{
37
- metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
38
- metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
- }, z.core.$strip>;
40
- }, z.core.$strip>, z.ZodObject<{
41
- type: z.ZodLiteral<"block.set">;
42
- blockId: z.ZodString;
43
- path: z.ZodString;
44
- value: z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>;
45
- }, z.core.$strip>]>>;
46
- }, z.core.$strip>;
47
- export type PatchOp = z.infer<typeof PatchOp>;
48
- export type PatchRequest = z.infer<typeof PatchRequest>;
49
- export {};
@@ -1,8 +0,0 @@
1
- export type PathSegment = string | number;
2
- export declare function parsePath(path: string | Array<PathSegment>): Array<PathSegment>;
3
- export declare function segmentsToPath(segments: Array<PathSegment>): string | undefined;
4
- export declare function getAtPath<T = unknown>(source: unknown, path: string | Array<PathSegment>): T | undefined;
5
- export declare function setAtPath(target: Record<string, unknown> | Array<unknown>, path: string | Array<PathSegment>, value: unknown): void;
6
- export declare function toAbsolutePath(base: string | undefined | null, path: string): string;
7
- export * from './redirectPaths';
8
- export * from './safeAppPath';
@@ -1,26 +0,0 @@
1
- export type RedirectPathParseError = {
2
- tag: 'MISSING';
3
- } | {
4
- tag: 'EMPTY';
5
- } | {
6
- tag: 'CONTROL_CHAR';
7
- } | {
8
- tag: 'BACKSLASH';
9
- } | {
10
- tag: 'EXTERNAL_URL';
11
- } | {
12
- tag: 'INVALID_PATH';
13
- } | {
14
- tag: 'ENCODED_SEPARATOR';
15
- };
16
- export type RedirectPathParseResult = {
17
- ok: true;
18
- value: string;
19
- } | {
20
- ok: false;
21
- error: RedirectPathParseError;
22
- };
23
- export declare function parseInternalRedirectPath(value: unknown): RedirectPathParseResult;
24
- export declare function sanitizeInternalRedirectPath(value: unknown): string | null;
25
- export declare function parseSameOriginRedirectPath(value: unknown, baseUrl: string | URL): RedirectPathParseResult;
26
- export declare function sanitizeSameOriginRedirectPath(value: unknown, baseUrl: string | URL): string | null;
@@ -1,26 +0,0 @@
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 {};