@riverbankcms/sdk 0.62.4 → 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 (315) 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/billing.d.ts +46 -10
  5. package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
  6. package/dist/_dts/api/src/bookingRecords.d.ts +26 -0
  7. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +12 -1
  8. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  9. package/dist/_dts/api/src/courses.d.ts +3 -0
  10. package/dist/_dts/api/src/endpoints.d.ts +23 -0
  11. package/dist/_dts/api/src/index.d.ts +8 -5
  12. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +29 -0
  13. package/dist/_dts/api/src/sdkContracts.d.ts +13 -1
  14. package/dist/_dts/api/src/siteOnboarding.d.ts +4 -0
  15. package/dist/_dts/api/src/siteOperations.d.ts +10 -0
  16. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +29 -0
  17. package/dist/_dts/api/src/types.d.ts +2 -1
  18. package/dist/_dts/billing/src/plans/registry.d.ts +1 -0
  19. package/dist/_dts/billing/src/plans/types.d.ts +9 -0
  20. package/dist/_dts/block-form/src/FormRenderer.d.ts +38 -0
  21. package/dist/_dts/block-form/src/backend/adapter.d.ts +7 -0
  22. package/dist/_dts/block-form/src/backend/hooks/useRepeaterBackend.d.ts +34 -0
  23. package/dist/_dts/block-form/src/backend/hooks.d.ts +66 -0
  24. package/dist/_dts/block-form/src/backend/index.d.ts +12 -0
  25. package/dist/_dts/block-form/src/backend/rhf-backend.d.ts +34 -0
  26. package/dist/_dts/block-form/src/backend/store-backend.d.ts +60 -0
  27. package/dist/_dts/block-form/src/backend/types.d.ts +137 -0
  28. package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +22 -0
  29. package/dist/_dts/block-form/src/backend/utils/getErrorMessage.d.ts +1 -0
  30. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +70 -0
  31. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +1 -0
  32. package/dist/_dts/block-form/src/client/index.d.ts +30 -0
  33. package/dist/_dts/block-form/src/context/BlockContext.d.ts +29 -0
  34. package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +33 -0
  35. package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +30 -0
  36. package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -0
  37. package/dist/_dts/block-form/src/context/index.d.ts +4 -0
  38. package/dist/_dts/block-form/src/fields/props.d.ts +48 -0
  39. package/dist/_dts/block-form/src/fields/types.d.ts +223 -0
  40. package/dist/_dts/block-form/src/index.d.ts +22 -0
  41. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +37 -0
  42. package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +5 -0
  43. package/dist/_dts/block-form/src/manifest/filterSdkTabs.d.ts +44 -0
  44. package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +61 -0
  45. package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +24 -0
  46. package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +11 -0
  47. package/dist/_dts/block-form/src/registry/schemas.d.ts +105 -0
  48. package/dist/_dts/block-form/src/registry/widgets.d.ts +59 -0
  49. package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +110 -0
  50. package/dist/_dts/block-form/src/sdk-config/hooks.d.ts +21 -0
  51. package/dist/_dts/block-form/src/sdk-config/index.d.ts +2 -0
  52. package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -0
  53. package/dist/_dts/block-form/src/shared/hooks/index.d.ts +2 -0
  54. package/dist/_dts/block-form/src/shared/hooks/useCoarsePointer.d.ts +5 -0
  55. package/dist/_dts/block-form/src/shared/hooks/useContainerWidth.d.ts +6 -0
  56. package/dist/_dts/block-form/src/utils/VisibilityWrapper.d.ts +25 -0
  57. package/dist/_dts/block-form/src/utils/computeWatchedPath.d.ts +18 -0
  58. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +9 -0
  59. package/dist/_dts/block-form/src/utils/fieldHelpers.d.ts +94 -0
  60. package/dist/_dts/block-form/src/utils/resolvePromotedFields.d.ts +22 -0
  61. package/dist/_dts/block-form/src/utils/slug.d.ts +3 -0
  62. package/dist/_dts/block-form/src/utils/typeGuards.d.ts +3 -0
  63. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorField.d.ts +10 -0
  64. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +23 -0
  65. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/index.d.ts +2 -0
  66. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +13 -0
  67. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +17 -0
  68. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/index.d.ts +2 -0
  69. package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +6 -0
  70. package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldDefaults.d.ts +6 -0
  71. package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldSchema.d.ts +7 -0
  72. package/dist/_dts/block-form/src/widgets/BooleanField/index.d.ts +3 -0
  73. package/dist/_dts/block-form/src/widgets/BoxStyleWidget/BoxStyleWidget.d.ts +17 -0
  74. package/dist/_dts/block-form/src/widgets/BoxStyleWidget/index.d.ts +1 -0
  75. package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldDefaults.d.ts +3 -0
  76. package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldSchema.d.ts +4 -0
  77. package/dist/_dts/block-form/src/widgets/DateField/DateField.d.ts +23 -0
  78. package/dist/_dts/block-form/src/widgets/DateField/dateFieldDefaults.d.ts +8 -0
  79. package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +9 -0
  80. package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +32 -0
  81. package/dist/_dts/block-form/src/widgets/DateField/index.d.ts +4 -0
  82. package/dist/_dts/block-form/src/widgets/DateTimeField/DateTimeField.d.ts +30 -0
  83. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldDefaults.d.ts +8 -0
  84. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +11 -0
  85. package/dist/_dts/block-form/src/widgets/DateTimeField/index.d.ts +4 -0
  86. package/dist/_dts/block-form/src/widgets/DateTimeField/utils/dateTimeUtils.d.ts +22 -0
  87. package/dist/_dts/block-form/src/widgets/DateTimeField/utils/index.d.ts +1 -0
  88. package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldDefaults.d.ts +3 -0
  89. package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldSchema.d.ts +4 -0
  90. package/dist/_dts/block-form/src/widgets/Field.d.ts +21 -0
  91. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +32 -0
  92. package/dist/_dts/block-form/src/widgets/FieldSettingsModal/FieldSettingsModal.d.ts +34 -0
  93. package/dist/_dts/block-form/src/widgets/FieldSettingsModal/index.d.ts +2 -0
  94. package/dist/_dts/block-form/src/widgets/GroupField/GroupField.d.ts +23 -0
  95. package/dist/_dts/block-form/src/widgets/GroupField/groupFieldDefaults.d.ts +9 -0
  96. package/dist/_dts/block-form/src/widgets/GroupField/groupFieldSchema.d.ts +10 -0
  97. package/dist/_dts/block-form/src/widgets/GroupField/index.d.ts +3 -0
  98. package/dist/_dts/block-form/src/widgets/LinkField/linkFieldDefaults.d.ts +10 -0
  99. package/dist/_dts/block-form/src/widgets/LinkField/linkFieldSchema.d.ts +3 -0
  100. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldDefaults.d.ts +6 -0
  101. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldSchema.d.ts +6 -0
  102. package/dist/_dts/block-form/src/widgets/ModalGroupField/ModalGroupField.d.ts +17 -0
  103. package/dist/_dts/block-form/src/widgets/ModalGroupField/index.d.ts +3 -0
  104. package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldDefaults.d.ts +18 -0
  105. package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldSchema.d.ts +14 -0
  106. package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +7 -0
  107. package/dist/_dts/block-form/src/widgets/NumberField/index.d.ts +3 -0
  108. package/dist/_dts/block-form/src/widgets/NumberField/numberFieldDefaults.d.ts +6 -0
  109. package/dist/_dts/block-form/src/widgets/NumberField/numberFieldSchema.d.ts +7 -0
  110. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +11 -0
  111. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/index.d.ts +4 -0
  112. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldDefaults.d.ts +3 -0
  113. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldSchema.d.ts +4 -0
  114. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/types.d.ts +37 -0
  115. package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldDefaults.d.ts +3 -0
  116. package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldSchema.d.ts +4 -0
  117. package/dist/_dts/block-form/src/widgets/RepeaterField/RepeaterField.d.ts +26 -0
  118. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterDragHandle.d.ts +8 -0
  119. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterError.d.ts +11 -0
  120. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterHeader.d.ts +10 -0
  121. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +27 -0
  122. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +19 -0
  123. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +23 -0
  124. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +16 -0
  125. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowContent.d.ts +19 -0
  126. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterTabbedEditDialog.d.ts +16 -0
  127. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +26 -0
  128. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +20 -0
  129. package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +11 -0
  130. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +34 -0
  131. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +6 -0
  132. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/layoutGridCapacityDecision.d.ts +22 -0
  133. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLayoutGridCapacity.d.ts +20 -0
  134. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +23 -0
  135. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +10 -0
  136. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterRowErrors.d.ts +12 -0
  137. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterVisibility.d.ts +6 -0
  138. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +12 -0
  139. package/dist/_dts/block-form/src/widgets/RepeaterField/index.d.ts +3 -0
  140. package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldDefaults.d.ts +7 -0
  141. package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldSchema.d.ts +8 -0
  142. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildItemLabel.d.ts +7 -0
  143. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +7 -0
  144. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/createDefaultItem.d.ts +6 -0
  145. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFieldGroups.d.ts +8 -0
  146. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFields.d.ts +22 -0
  147. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +10 -0
  148. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/layoutGridCapacityContext.d.ts +2 -0
  149. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +43 -0
  150. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +24 -0
  151. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +12 -0
  152. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +20 -0
  153. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +16 -0
  154. package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +11 -0
  155. package/dist/_dts/block-form/src/widgets/SdkSelectField/index.d.ts +1 -0
  156. package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +7 -0
  157. package/dist/_dts/block-form/src/widgets/SelectField/index.d.ts +3 -0
  158. package/dist/_dts/block-form/src/widgets/SelectField/selectFieldDefaults.d.ts +6 -0
  159. package/dist/_dts/block-form/src/widgets/SelectField/selectFieldSchema.d.ts +7 -0
  160. package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +34 -0
  161. package/dist/_dts/block-form/src/widgets/SettingsModal/SettingsModal.d.ts +17 -0
  162. package/dist/_dts/block-form/src/widgets/SettingsModal/index.d.ts +2 -0
  163. package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +16 -0
  164. package/dist/_dts/block-form/src/widgets/SliderField/index.d.ts +1 -0
  165. package/dist/_dts/block-form/src/widgets/SlugField/SlugField.d.ts +39 -0
  166. package/dist/_dts/block-form/src/widgets/SlugField/hooks/index.d.ts +1 -0
  167. package/dist/_dts/block-form/src/widgets/SlugField/hooks/useSlugAutoGeneration.d.ts +29 -0
  168. package/dist/_dts/block-form/src/widgets/SlugField/index.d.ts +5 -0
  169. package/dist/_dts/block-form/src/widgets/SlugField/slugFieldDefaults.d.ts +8 -0
  170. package/dist/_dts/block-form/src/widgets/SlugField/slugFieldSchema.d.ts +14 -0
  171. package/dist/_dts/block-form/src/widgets/SlugField/utils/index.d.ts +2 -0
  172. package/dist/_dts/block-form/src/widgets/SlugField/utils/pathUtils.d.ts +30 -0
  173. package/dist/_dts/block-form/src/widgets/SlugField/utils/slugUtils.d.ts +17 -0
  174. package/dist/_dts/block-form/src/widgets/TabGroupField/TabGroupField.d.ts +13 -0
  175. package/dist/_dts/block-form/src/widgets/TabGroupField/index.d.ts +3 -0
  176. package/dist/_dts/block-form/src/widgets/TabGroupField/tabGroupFieldSchema.d.ts +25 -0
  177. package/dist/_dts/block-form/src/widgets/TabGroupField/types.d.ts +46 -0
  178. package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +7 -0
  179. package/dist/_dts/block-form/src/widgets/TextField/index.d.ts +3 -0
  180. package/dist/_dts/block-form/src/widgets/TextField/textFieldDefaults.d.ts +6 -0
  181. package/dist/_dts/block-form/src/widgets/TextField/textFieldSchema.d.ts +7 -0
  182. package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +20 -0
  183. package/dist/_dts/block-form/src/widgets/TimeField/TimeField.d.ts +23 -0
  184. package/dist/_dts/block-form/src/widgets/TimeField/index.d.ts +3 -0
  185. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldDefaults.d.ts +8 -0
  186. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +9 -0
  187. package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +16 -0
  188. package/dist/_dts/block-form/src/widgets/UrlField/UrlField.d.ts +23 -0
  189. package/dist/_dts/block-form/src/widgets/UrlField/index.d.ts +3 -0
  190. package/dist/_dts/block-form/src/widgets/UrlField/urlFieldDefaults.d.ts +8 -0
  191. package/dist/_dts/block-form/src/widgets/UrlField/urlFieldSchema.d.ts +9 -0
  192. package/dist/_dts/block-form/src/widgets/constants.d.ts +58 -0
  193. package/dist/_dts/block-form/src/widgets/groupFieldHelpers.d.ts +61 -0
  194. package/dist/_dts/block-form/src/widgets/index.d.ts +20 -0
  195. package/dist/_dts/block-form/src/widgets/selectValueMapping.d.ts +9 -0
  196. package/dist/_dts/block-form/src/widgets/types/modalConfig.d.ts +18 -0
  197. package/dist/_dts/block-form/src/widgets/utils/readNumericUiConfig.d.ts +10 -0
  198. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
  199. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
  200. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -1
  201. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -2
  202. package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
  203. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1 -1
  204. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1 -1
  205. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -2
  206. package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
  207. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  208. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1 -1
  209. package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +25 -0
  210. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -2
  211. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -2
  212. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1 -1
  213. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
  214. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1 -1
  215. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
  216. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  217. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +6 -6
  218. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1 -1
  219. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -2
  220. package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
  221. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1 -1
  222. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  223. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +1 -1
  224. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +1 -1
  225. package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +1 -1
  226. package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1 -1
  227. package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1 -1
  228. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1 -1
  229. package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1 -1
  230. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
  231. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
  232. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +4 -1
  233. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +4 -1
  234. package/dist/_dts/calendar/src/grid.d.ts +60 -0
  235. package/dist/_dts/calendar/src/group.d.ts +14 -0
  236. package/dist/_dts/calendar/src/index.d.ts +6 -0
  237. package/dist/_dts/calendar/src/lane-packing.d.ts +28 -0
  238. package/dist/_dts/calendar/src/timetable.d.ts +90 -0
  239. package/dist/_dts/calendar/src/timezone.d.ts +19 -0
  240. package/dist/_dts/content-editor/src/index.d.ts +1 -4
  241. package/dist/_dts/core/src/booking-date-time.d.ts +1 -0
  242. package/dist/_dts/core/src/branded.d.ts +18 -0
  243. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +750 -0
  244. package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
  245. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +7 -7
  246. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -2
  247. package/dist/_dts/editor-blocks/src/widgets/link/index.d.ts +1 -0
  248. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
  249. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
  250. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
  251. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +4 -0
  252. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +49 -0
  253. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +6 -0
  254. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -1
  255. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -0
  256. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +18 -0
  257. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +5 -0
  258. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +2 -0
  259. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +17 -0
  260. package/dist/_dts/sdk/src/cli/content/entryPaths.d.ts +6 -0
  261. package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -0
  262. package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +3 -0
  263. package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +77 -0
  264. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePlan.d.ts +45 -0
  265. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +21 -0
  266. package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +30 -0
  267. package/dist/_dts/sdk/src/cli/merge-remote/entryRemote.d.ts +9 -0
  268. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +50 -0
  269. package/dist/_dts/sdk/src/cli/merge-remote/stableJson.d.ts +3 -0
  270. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +85 -0
  271. package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +2 -0
  272. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +30 -0
  273. package/dist/_dts/sdk/src/cli/sync/executor.d.ts +1 -0
  274. package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -1
  275. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  276. package/dist/_dts/sdk/src/version.d.ts +1 -1
  277. package/dist/_dts/site-commands/src/adapter.d.ts +23 -0
  278. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +8 -0
  279. package/dist/_dts/site-commands/src/commands.d.ts +1944 -0
  280. package/dist/_dts/site-commands/src/domain.d.ts +104 -0
  281. package/dist/_dts/site-commands/src/guards.d.ts +1 -0
  282. package/dist/_dts/site-commands/src/index.d.ts +9 -0
  283. package/dist/_dts/site-commands/src/metadata.d.ts +412 -0
  284. package/dist/_dts/site-commands/src/planner.d.ts +51 -0
  285. package/dist/_dts/site-commands/src/refContributions.d.ts +10 -0
  286. package/dist/_dts/site-commands/src/refs.d.ts +75 -0
  287. package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +10 -0
  288. package/dist/cli/index.mjs +3997 -548
  289. package/dist/cli/init-docs/content/cli-reference.md +18 -0
  290. package/dist/client/bookings.mjs +25 -25
  291. package/dist/client/client.mjs +2560 -2487
  292. package/dist/client/hooks.mjs +2288 -2194
  293. package/dist/client/rendering/client.mjs +296 -108
  294. package/dist/client/rendering/islands.mjs +18257 -13071
  295. package/dist/client/rendering.mjs +788 -713
  296. package/dist/preview-next/before-render.mjs +23 -0
  297. package/dist/preview-next/client/runtime.mjs +2219 -2076
  298. package/dist/preview-next/middleware.mjs +23 -0
  299. package/dist/server/components.mjs +410 -306
  300. package/dist/server/config-validation.mjs +2516 -2422
  301. package/dist/server/config.mjs +2516 -2422
  302. package/dist/server/data.mjs +2288 -2194
  303. package/dist/server/index.mjs +599 -537
  304. package/dist/server/next.mjs +2517 -2413
  305. package/dist/server/page-converter.mjs +42 -10
  306. package/dist/server/prebuild.mjs +1 -1
  307. package/dist/server/rendering/server.mjs +410 -306
  308. package/dist/server/rendering.mjs +410 -306
  309. package/dist/server/routing.mjs +2302 -2288
  310. package/dist/server/server.mjs +2306 -2212
  311. package/dist/server/theme-bridge.mjs +14 -4
  312. package/package.json +2 -1
  313. package/dist/_dts/content-editor/src/ai/patch/allowed.d.ts +0 -2
  314. package/dist/_dts/content-editor/src/ai/patch/diff.d.ts +0 -17
  315. package/dist/_dts/content-editor/src/ai/patch/schema.d.ts +0 -49
@@ -0,0 +1,104 @@
1
+ import type { Brand } from '@riverbankcms/core';
2
+ import type { SiteCommandCapabilityGapCode } from './capabilityGaps';
3
+ import type { SiteCommandType } from './commands';
4
+ import type { SiteCommandRef } from './refs';
5
+ export declare const commandScopes: readonly ["site", "style", "media", "page", "block", "navigation", "content", "staff", "venue", "event", "ticket", "course", "pass", "membership", "customer", "customer_pass", "customer_membership", "appointment", "course_enrollment", "event_registration", "pass_redemption", "booking_settings", "appointment_service", "appointment_resource", "appointment_availability", "publish"];
6
+ export type CommandScope = (typeof commandScopes)[number];
7
+ export declare const commandRisks: readonly ["low", "medium", "high", "restricted"];
8
+ export type CommandRisk = (typeof commandRisks)[number];
9
+ export declare const writeSemantics: readonly ["upsert", "append", "replace", "status_transition"];
10
+ export type WriteSemantics = (typeof writeSemantics)[number];
11
+ export declare const lifecycleIntents: readonly ["mutation", "publish", "seed"];
12
+ export type LifecycleIntent = (typeof lifecycleIntents)[number];
13
+ export declare const idempotencyStrategies: readonly ["natural_key", "recipe_ref", "existing_id", "none"];
14
+ export type IdempotencyStrategy = (typeof idempotencyStrategies)[number];
15
+ export declare const conflictPolicies: readonly ["update_existing", "fail_if_exists", "append_once", "allow_duplicates"];
16
+ export type ConflictPolicy = (typeof conflictPolicies)[number];
17
+ export declare const commandPreviewabilities: readonly ["static_preview", "dry_run_only", "effect_required"];
18
+ export type CommandPreviewability = (typeof commandPreviewabilities)[number];
19
+ export declare const allowedRuntimes: readonly ["development", "staging", "demo", "production", "internal_only"];
20
+ export type AllowedRuntime = (typeof allowedRuntimes)[number];
21
+ export declare const intendedExposures: readonly ["recipe", "sdk_cli", "onboarding_planner", "ai_proposal", "internal_apply"];
22
+ export type IntendedExposure = (typeof intendedExposures)[number];
23
+ export declare const capabilityGapVerdicts: readonly ["supported", "needs_extension", "needs_new_surface", "v1_informational_fallback", "unknown"];
24
+ export type CapabilityGapVerdict = (typeof capabilityGapVerdicts)[number];
25
+ export type SiteCommandIdempotencyKey = Brand<string, 'SiteCommandIdempotencyKey'>;
26
+ export type SiteCommandResourceId = Brand<string, 'SiteCommandResourceId'>;
27
+ export type SiteCommandResourceIds = Readonly<Record<string, SiteCommandResourceId>>;
28
+ export declare const unsafeAsSiteCommandIdempotencyKey: (value: string) => SiteCommandIdempotencyKey;
29
+ export declare const unsafeAsSiteCommandResourceId: (value: string) => SiteCommandResourceId;
30
+ export type SiteCommandSemanticMetadata = Readonly<{
31
+ scope: CommandScope;
32
+ risk: CommandRisk;
33
+ writeSemantics: WriteSemantics;
34
+ lifecycleIntent: LifecycleIntent;
35
+ idempotencyStrategy: IdempotencyStrategy;
36
+ conflictPolicy: ConflictPolicy;
37
+ previewability: CommandPreviewability;
38
+ }>;
39
+ export type SiteCommandConsumerPolicy = Readonly<{
40
+ allowedRuntimes: readonly AllowedRuntime[];
41
+ intendedExposure: readonly IntendedExposure[];
42
+ capability: string;
43
+ support: CapabilityGapVerdict;
44
+ }>;
45
+ export type SiteCommandMetadata = SiteCommandSemanticMetadata & SiteCommandConsumerPolicy;
46
+ export type SiteCommandCapabilityGap = Readonly<{
47
+ commandRef: SiteCommandRef;
48
+ commandType: SiteCommandType;
49
+ coverage: CapabilityGapVerdict;
50
+ code: SiteCommandCapabilityGapCode;
51
+ message: string;
52
+ }>;
53
+ export type SiteCommandValidationError = Readonly<{
54
+ code: 'unknown_command_type';
55
+ commandIndex: number;
56
+ commandType: string;
57
+ message: string;
58
+ }> | Readonly<{
59
+ code: 'invalid_command_payload';
60
+ commandIndex: number;
61
+ commandType: string | null;
62
+ field: string;
63
+ message: string;
64
+ }> | Readonly<{
65
+ code: 'duplicate_command_ref';
66
+ commandRef: string;
67
+ message: string;
68
+ }> | Readonly<{
69
+ code: 'duplicate_resource_ref';
70
+ resourceRef: string;
71
+ message: string;
72
+ }> | Readonly<{
73
+ code: 'missing_ref';
74
+ commandRef: string;
75
+ field: string;
76
+ missingRef: string;
77
+ message: string;
78
+ }> | Readonly<{
79
+ code: 'command_invariant_violation';
80
+ commandRef: SiteCommandRef | string;
81
+ field: string;
82
+ message: string;
83
+ }> | Readonly<{
84
+ code: 'unsupported_command_type_for_plan';
85
+ commandRef: SiteCommandRef | string;
86
+ commandType: SiteCommandType;
87
+ message: string;
88
+ }> | Readonly<{
89
+ code: 'invalid_ref_format';
90
+ commandRef: string | null;
91
+ field: string;
92
+ ref: string;
93
+ message: string;
94
+ }> | Readonly<{
95
+ code: 'unknown_resource_kind';
96
+ commandRef: string | null;
97
+ field: string;
98
+ ref: string;
99
+ message: string;
100
+ }> | Readonly<{
101
+ code: 'cyclic_dependency';
102
+ commandRefs: readonly string[];
103
+ message: string;
104
+ }>;
@@ -0,0 +1 @@
1
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
@@ -0,0 +1,9 @@
1
+ export * from './adapter';
2
+ export * from './capabilityGaps';
3
+ export * from './commands';
4
+ export * from './domain';
5
+ export * from './metadata';
6
+ export * from './planner';
7
+ export * from './refContributions';
8
+ export * from './refs';
9
+ export * from './staticExecutionGaps';
@@ -0,0 +1,412 @@
1
+ import type { SiteCommandConsumerPolicy, SiteCommandMetadata, SiteCommandSemanticMetadata } from './domain';
2
+ import type { LifecycleIntent } from './domain';
3
+ import type { SiteCommand, SiteCommandType } from './commands';
4
+ export declare const siteCommandMetadata: {
5
+ readonly configureSiteIdentity: {
6
+ readonly scope: "site";
7
+ readonly risk: "low";
8
+ readonly writeSemantics: "upsert";
9
+ readonly lifecycleIntent: "mutation";
10
+ readonly idempotencyStrategy: "existing_id";
11
+ readonly conflictPolicy: "update_existing";
12
+ readonly previewability: "dry_run_only";
13
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
14
+ readonly intendedExposure: readonly ["recipe", "sdk_cli", "onboarding_planner", "internal_apply"];
15
+ readonly capability: "site.settings.write";
16
+ readonly support: "supported";
17
+ };
18
+ readonly configureBookingSettings: {
19
+ readonly scope: "booking_settings";
20
+ readonly risk: "medium";
21
+ readonly writeSemantics: "upsert";
22
+ readonly lifecycleIntent: "mutation";
23
+ readonly idempotencyStrategy: "existing_id";
24
+ readonly conflictPolicy: "update_existing";
25
+ readonly previewability: "dry_run_only";
26
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
27
+ readonly intendedExposure: readonly ["recipe", "sdk_cli", "onboarding_planner", "internal_apply"];
28
+ readonly capability: "bookings.settings.write";
29
+ readonly support: "supported";
30
+ };
31
+ readonly applySiteStyle: {
32
+ readonly scope: "style";
33
+ readonly risk: "low";
34
+ readonly writeSemantics: "upsert";
35
+ readonly lifecycleIntent: "mutation";
36
+ readonly idempotencyStrategy: "natural_key";
37
+ readonly conflictPolicy: "update_existing";
38
+ readonly previewability: "static_preview";
39
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
40
+ readonly intendedExposure: readonly ["recipe", "sdk_cli", "onboarding_planner", "ai_proposal", "internal_apply"];
41
+ readonly capability: "theme.write";
42
+ readonly support: "supported";
43
+ };
44
+ readonly upsertMediaAsset: {
45
+ readonly scope: "media";
46
+ readonly risk: "medium";
47
+ readonly writeSemantics: "upsert";
48
+ readonly lifecycleIntent: "mutation";
49
+ readonly idempotencyStrategy: "natural_key";
50
+ readonly conflictPolicy: "fail_if_exists";
51
+ readonly previewability: "dry_run_only";
52
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
53
+ readonly intendedExposure: readonly ["recipe", "sdk_cli", "onboarding_planner", "internal_apply"];
54
+ readonly capability: "media.write";
55
+ readonly support: "supported";
56
+ };
57
+ readonly upsertPage: {
58
+ readonly scope: "page";
59
+ readonly risk: "low";
60
+ readonly writeSemantics: "upsert";
61
+ readonly lifecycleIntent: "mutation";
62
+ readonly idempotencyStrategy: "recipe_ref";
63
+ readonly conflictPolicy: "update_existing";
64
+ readonly previewability: "static_preview";
65
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
66
+ readonly intendedExposure: readonly ["recipe", "sdk_cli", "onboarding_planner", "ai_proposal", "internal_apply"];
67
+ readonly capability: "pages.write";
68
+ readonly support: "supported";
69
+ };
70
+ readonly upsertBlockTree: {
71
+ readonly scope: "block";
72
+ readonly risk: "low";
73
+ readonly writeSemantics: "replace";
74
+ readonly lifecycleIntent: "mutation";
75
+ readonly idempotencyStrategy: "recipe_ref";
76
+ readonly conflictPolicy: "update_existing";
77
+ readonly previewability: "static_preview";
78
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
79
+ readonly intendedExposure: readonly ["recipe", "sdk_cli", "onboarding_planner", "ai_proposal", "internal_apply"];
80
+ readonly capability: "pages.blocks.write";
81
+ readonly support: "supported";
82
+ };
83
+ readonly upsertNavigationMenu: {
84
+ readonly scope: "navigation";
85
+ readonly risk: "low";
86
+ readonly writeSemantics: "upsert";
87
+ readonly lifecycleIntent: "mutation";
88
+ readonly idempotencyStrategy: "natural_key";
89
+ readonly conflictPolicy: "update_existing";
90
+ readonly previewability: "static_preview";
91
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
92
+ readonly intendedExposure: readonly ["recipe", "sdk_cli", "onboarding_planner", "ai_proposal", "internal_apply"];
93
+ readonly capability: "navigation.write";
94
+ readonly support: "supported";
95
+ };
96
+ readonly upsertContentEntry: {
97
+ readonly scope: "content";
98
+ readonly risk: "low";
99
+ readonly writeSemantics: "upsert";
100
+ readonly lifecycleIntent: "mutation";
101
+ readonly idempotencyStrategy: "recipe_ref";
102
+ readonly conflictPolicy: "update_existing";
103
+ readonly previewability: "static_preview";
104
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
105
+ readonly intendedExposure: readonly ["recipe", "sdk_cli", "onboarding_planner", "ai_proposal", "internal_apply"];
106
+ readonly capability: "content.write";
107
+ readonly support: "supported";
108
+ };
109
+ readonly publishPage: {
110
+ readonly scope: "publish";
111
+ readonly risk: "medium";
112
+ readonly writeSemantics: "status_transition";
113
+ readonly lifecycleIntent: "publish";
114
+ readonly idempotencyStrategy: "existing_id";
115
+ readonly conflictPolicy: "update_existing";
116
+ readonly previewability: "effect_required";
117
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
118
+ readonly intendedExposure: readonly ["recipe", "sdk_cli", "onboarding_planner", "ai_proposal", "internal_apply"];
119
+ readonly capability: "pages.publish";
120
+ readonly support: "supported";
121
+ };
122
+ readonly publishContentEntry: {
123
+ readonly scope: "publish";
124
+ readonly risk: "medium";
125
+ readonly writeSemantics: "status_transition";
126
+ readonly lifecycleIntent: "publish";
127
+ readonly idempotencyStrategy: "existing_id";
128
+ readonly conflictPolicy: "update_existing";
129
+ readonly previewability: "effect_required";
130
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
131
+ readonly intendedExposure: readonly ["recipe", "sdk_cli", "onboarding_planner", "ai_proposal", "internal_apply"];
132
+ readonly capability: "content.publish";
133
+ readonly support: "supported";
134
+ };
135
+ readonly unpublishContentEntry: {
136
+ readonly scope: "publish";
137
+ readonly risk: "medium";
138
+ readonly writeSemantics: "status_transition";
139
+ readonly lifecycleIntent: "publish";
140
+ readonly idempotencyStrategy: "existing_id";
141
+ readonly conflictPolicy: "update_existing";
142
+ readonly previewability: "effect_required";
143
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
144
+ readonly intendedExposure: readonly ["sdk_cli", "internal_apply"];
145
+ readonly capability: "content.unpublish";
146
+ readonly support: "supported";
147
+ };
148
+ readonly deleteContentEntry: {
149
+ readonly scope: "content";
150
+ readonly risk: "high";
151
+ readonly writeSemantics: "replace";
152
+ readonly lifecycleIntent: "mutation";
153
+ readonly idempotencyStrategy: "existing_id";
154
+ readonly conflictPolicy: "update_existing";
155
+ readonly previewability: "effect_required";
156
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
157
+ readonly intendedExposure: readonly ["sdk_cli", "internal_apply"];
158
+ readonly capability: "content.delete";
159
+ readonly support: "supported";
160
+ };
161
+ readonly upsertStaffMember: {
162
+ readonly scope: "staff";
163
+ readonly risk: "medium";
164
+ readonly writeSemantics: "upsert";
165
+ readonly lifecycleIntent: "mutation";
166
+ readonly idempotencyStrategy: "recipe_ref";
167
+ readonly conflictPolicy: "update_existing";
168
+ readonly previewability: "dry_run_only";
169
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
170
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
171
+ readonly capability: "bookings.staff.write";
172
+ readonly support: "supported";
173
+ };
174
+ readonly ensureTeamMemberProfile: {
175
+ readonly scope: "content";
176
+ readonly risk: "medium";
177
+ readonly writeSemantics: "upsert";
178
+ readonly lifecycleIntent: "mutation";
179
+ readonly idempotencyStrategy: "recipe_ref";
180
+ readonly conflictPolicy: "update_existing";
181
+ readonly previewability: "dry_run_only";
182
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
183
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
184
+ readonly capability: "team_members.profile.write";
185
+ readonly support: "supported";
186
+ };
187
+ readonly upsertVenue: {
188
+ readonly scope: "venue";
189
+ readonly risk: "medium";
190
+ readonly writeSemantics: "upsert";
191
+ readonly lifecycleIntent: "mutation";
192
+ readonly idempotencyStrategy: "recipe_ref";
193
+ readonly conflictPolicy: "update_existing";
194
+ readonly previewability: "dry_run_only";
195
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
196
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
197
+ readonly capability: "bookings.venues.write";
198
+ readonly support: "supported";
199
+ };
200
+ readonly upsertEventSeries: {
201
+ readonly scope: "event";
202
+ readonly risk: "medium";
203
+ readonly writeSemantics: "upsert";
204
+ readonly lifecycleIntent: "mutation";
205
+ readonly idempotencyStrategy: "recipe_ref";
206
+ readonly conflictPolicy: "update_existing";
207
+ readonly previewability: "dry_run_only";
208
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
209
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
210
+ readonly capability: "bookings.events.write";
211
+ readonly support: "supported";
212
+ };
213
+ readonly upsertEventTicketType: {
214
+ readonly scope: "ticket";
215
+ readonly risk: "medium";
216
+ readonly writeSemantics: "upsert";
217
+ readonly lifecycleIntent: "mutation";
218
+ readonly idempotencyStrategy: "recipe_ref";
219
+ readonly conflictPolicy: "update_existing";
220
+ readonly previewability: "dry_run_only";
221
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
222
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
223
+ readonly capability: "bookings.event_tickets.write";
224
+ readonly support: "supported";
225
+ };
226
+ readonly upsertCourse: {
227
+ readonly scope: "course";
228
+ readonly risk: "medium";
229
+ readonly writeSemantics: "upsert";
230
+ readonly lifecycleIntent: "mutation";
231
+ readonly idempotencyStrategy: "recipe_ref";
232
+ readonly conflictPolicy: "update_existing";
233
+ readonly previewability: "dry_run_only";
234
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
235
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
236
+ readonly capability: "bookings.courses.write";
237
+ readonly support: "supported";
238
+ };
239
+ readonly upsertBookingPassProduct: {
240
+ readonly scope: "pass";
241
+ readonly risk: "medium";
242
+ readonly writeSemantics: "upsert";
243
+ readonly lifecycleIntent: "mutation";
244
+ readonly idempotencyStrategy: "recipe_ref";
245
+ readonly conflictPolicy: "update_existing";
246
+ readonly previewability: "dry_run_only";
247
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
248
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
249
+ readonly capability: "bookings.passes.write";
250
+ readonly support: "supported";
251
+ };
252
+ readonly upsertBookingMembershipProduct: {
253
+ readonly scope: "membership";
254
+ readonly risk: "medium";
255
+ readonly writeSemantics: "upsert";
256
+ readonly lifecycleIntent: "mutation";
257
+ readonly idempotencyStrategy: "recipe_ref";
258
+ readonly conflictPolicy: "update_existing";
259
+ readonly previewability: "dry_run_only";
260
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
261
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
262
+ readonly capability: "bookings.memberships.write";
263
+ readonly support: "supported";
264
+ };
265
+ readonly seedBookingCustomer: {
266
+ readonly scope: "customer";
267
+ readonly risk: "medium";
268
+ readonly writeSemantics: "upsert";
269
+ readonly lifecycleIntent: "seed";
270
+ readonly idempotencyStrategy: "natural_key";
271
+ readonly conflictPolicy: "update_existing";
272
+ readonly previewability: "dry_run_only";
273
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
274
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
275
+ readonly capability: "bookings.customers.write";
276
+ readonly support: "supported";
277
+ };
278
+ readonly grantCustomerPass: {
279
+ readonly scope: "customer_pass";
280
+ readonly risk: "medium";
281
+ readonly writeSemantics: "upsert";
282
+ readonly lifecycleIntent: "seed";
283
+ readonly idempotencyStrategy: "recipe_ref";
284
+ readonly conflictPolicy: "update_existing";
285
+ readonly previewability: "dry_run_only";
286
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
287
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
288
+ readonly capability: "bookings.customer_passes.write";
289
+ readonly support: "supported";
290
+ };
291
+ readonly grantCustomerMembership: {
292
+ readonly scope: "customer_membership";
293
+ readonly risk: "medium";
294
+ readonly writeSemantics: "upsert";
295
+ readonly lifecycleIntent: "seed";
296
+ readonly idempotencyStrategy: "recipe_ref";
297
+ readonly conflictPolicy: "update_existing";
298
+ readonly previewability: "dry_run_only";
299
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
300
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
301
+ readonly capability: "bookings.customer_memberships.write";
302
+ readonly support: "supported";
303
+ };
304
+ readonly seedAppointmentBooking: {
305
+ readonly scope: "appointment";
306
+ readonly risk: "medium";
307
+ readonly writeSemantics: "upsert";
308
+ readonly lifecycleIntent: "seed";
309
+ readonly idempotencyStrategy: "recipe_ref";
310
+ readonly conflictPolicy: "update_existing";
311
+ readonly previewability: "dry_run_only";
312
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
313
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
314
+ readonly capability: "bookings.appointments.write";
315
+ readonly support: "supported";
316
+ };
317
+ readonly seedCourseEnrollment: {
318
+ readonly scope: "course_enrollment";
319
+ readonly risk: "medium";
320
+ readonly writeSemantics: "upsert";
321
+ readonly lifecycleIntent: "seed";
322
+ readonly idempotencyStrategy: "recipe_ref";
323
+ readonly conflictPolicy: "update_existing";
324
+ readonly previewability: "dry_run_only";
325
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
326
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
327
+ readonly capability: "bookings.course_enrollments.write";
328
+ readonly support: "supported";
329
+ };
330
+ readonly seedEventRegistration: {
331
+ readonly scope: "event_registration";
332
+ readonly risk: "medium";
333
+ readonly writeSemantics: "upsert";
334
+ readonly lifecycleIntent: "seed";
335
+ readonly idempotencyStrategy: "recipe_ref";
336
+ readonly conflictPolicy: "update_existing";
337
+ readonly previewability: "dry_run_only";
338
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
339
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
340
+ readonly capability: "bookings.event_registrations.write";
341
+ readonly support: "supported";
342
+ };
343
+ readonly seedPassRedemption: {
344
+ readonly scope: "pass_redemption";
345
+ readonly risk: "medium";
346
+ readonly writeSemantics: "append";
347
+ readonly lifecycleIntent: "seed";
348
+ readonly idempotencyStrategy: "natural_key";
349
+ readonly conflictPolicy: "append_once";
350
+ readonly previewability: "dry_run_only";
351
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
352
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
353
+ readonly capability: "bookings.pass_redemptions.write";
354
+ readonly support: "supported";
355
+ };
356
+ readonly upsertAppointmentService: {
357
+ readonly scope: "appointment_service";
358
+ readonly risk: "medium";
359
+ readonly writeSemantics: "upsert";
360
+ readonly lifecycleIntent: "mutation";
361
+ readonly idempotencyStrategy: "recipe_ref";
362
+ readonly conflictPolicy: "update_existing";
363
+ readonly previewability: "dry_run_only";
364
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
365
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
366
+ readonly capability: "bookings.appointment_services.write";
367
+ readonly support: "supported";
368
+ };
369
+ readonly upsertBookableResource: {
370
+ readonly scope: "appointment_resource";
371
+ readonly risk: "medium";
372
+ readonly writeSemantics: "upsert";
373
+ readonly lifecycleIntent: "mutation";
374
+ readonly idempotencyStrategy: "recipe_ref";
375
+ readonly conflictPolicy: "update_existing";
376
+ readonly previewability: "dry_run_only";
377
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
378
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
379
+ readonly capability: "bookings.appointment_resources.write";
380
+ readonly support: "supported";
381
+ };
382
+ readonly assignAppointmentServiceResources: {
383
+ readonly scope: "appointment_service";
384
+ readonly risk: "medium";
385
+ readonly writeSemantics: "replace";
386
+ readonly lifecycleIntent: "mutation";
387
+ readonly idempotencyStrategy: "recipe_ref";
388
+ readonly conflictPolicy: "update_existing";
389
+ readonly previewability: "dry_run_only";
390
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
391
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
392
+ readonly capability: "bookings.appointment_services.resources.write";
393
+ readonly support: "supported";
394
+ };
395
+ readonly configureAppointmentAvailability: {
396
+ readonly scope: "appointment_availability";
397
+ readonly risk: "high";
398
+ readonly writeSemantics: "replace";
399
+ readonly lifecycleIntent: "mutation";
400
+ readonly idempotencyStrategy: "recipe_ref";
401
+ readonly conflictPolicy: "update_existing";
402
+ readonly previewability: "dry_run_only";
403
+ readonly allowedRuntimes: readonly ["development", "staging", "demo", "production"];
404
+ readonly intendedExposure: readonly ["recipe", "onboarding_planner", "internal_apply"];
405
+ readonly capability: "bookings.appointment_availability.write";
406
+ readonly support: "supported";
407
+ };
408
+ };
409
+ export declare function getSiteCommandMetadata(type: SiteCommandType): SiteCommandMetadata;
410
+ export declare function getSiteCommandSemanticMetadata(type: SiteCommandType): SiteCommandSemanticMetadata;
411
+ export declare function getSiteCommandConsumerPolicy(type: SiteCommandType): SiteCommandConsumerPolicy;
412
+ export declare function getSiteCommandLifecycleIntent(command: SiteCommand): LifecycleIntent;
@@ -0,0 +1,51 @@
1
+ import { type Result } from '@riverbankcms/core';
2
+ import { type SiteCommand, type SiteCommandBatch, type SiteCommandOf, type SiteCommandType } from './commands';
3
+ import { type CommandRisk, type LifecycleIntent, type SiteCommandCapabilityGap, type SiteCommandIdempotencyKey, type SiteCommandMetadata, type SiteCommandValidationError } from './domain';
4
+ import { type ResourceRef } from './refs';
5
+ export type PlannedSiteCommandFor<TType extends SiteCommandType> = Readonly<{
6
+ command: SiteCommandOf<TType>;
7
+ metadata: SiteCommandMetadata;
8
+ lifecycleIntent: LifecycleIntent;
9
+ provides: readonly ResourceRef[];
10
+ requires: readonly ResourceRef[];
11
+ idempotencyKey: SiteCommandIdempotencyKey;
12
+ }>;
13
+ export type PlannedSiteCommand = {
14
+ [TType in SiteCommandType]: PlannedSiteCommandFor<TType>;
15
+ }[SiteCommandType];
16
+ export type SiteCommandPlan = Readonly<{
17
+ batch: SiteCommandBatch;
18
+ commands: readonly PlannedSiteCommand[];
19
+ capabilityGaps: readonly SiteCommandCapabilityGap[];
20
+ }>;
21
+ export type PlannedSiteCommandOf<TType extends SiteCommandType> = {
22
+ [TCommandType in TType]: PlannedSiteCommandFor<TCommandType>;
23
+ }[TType];
24
+ export type SiteCommandPlanFor<TType extends SiteCommandType> = Omit<SiteCommandPlan, 'commands'> & Readonly<{
25
+ commands: readonly PlannedSiteCommandOf<TType>[];
26
+ }>;
27
+ export declare function parseCommandBatch(input: unknown): Result<SiteCommandBatch, readonly SiteCommandValidationError[]>;
28
+ export declare function planCommandBatch(batch: SiteCommandBatch): Result<SiteCommandPlan, readonly SiteCommandValidationError[]>;
29
+ export declare function parseAndPlanCommandBatch(input: unknown): Result<SiteCommandPlan, readonly SiteCommandValidationError[]>;
30
+ export declare function parseAndPlanCommandBatchForTypes<TType extends SiteCommandType>(input: unknown, allowedTypes: readonly TType[]): Result<SiteCommandPlanFor<TType>, readonly SiteCommandValidationError[]>;
31
+ export declare function narrowSiteCommandPlan<TType extends SiteCommandType>(plan: SiteCommandPlan, allowedTypes: readonly TType[]): Result<SiteCommandPlanFor<TType>, readonly SiteCommandValidationError[]>;
32
+ export declare function deriveIdempotencyKey(input: Readonly<{
33
+ batch: Pick<SiteCommandBatch, 'batchRef' | 'target'>;
34
+ command: Pick<SiteCommand, 'type' | 'ref'>;
35
+ metadata: Pick<SiteCommandMetadata, 'idempotencyStrategy'>;
36
+ }>): SiteCommandIdempotencyKey;
37
+ export type DryRunReport = Readonly<{
38
+ status: 'dry_run_passed' | 'dry_run_passed_with_gaps';
39
+ commandCount: number;
40
+ mutationCount: number;
41
+ publishCount: number;
42
+ seedCount: number;
43
+ riskSummary: Readonly<Record<CommandRisk, number>>;
44
+ executionOrder: readonly Readonly<{
45
+ ref: string;
46
+ type: SiteCommandType;
47
+ }>[];
48
+ resolvedRefs: readonly ResourceRef[];
49
+ capabilityGaps: readonly SiteCommandCapabilityGap[];
50
+ }>;
51
+ export declare function createDryRunReport(plan: SiteCommandPlan): DryRunReport;
@@ -0,0 +1,10 @@
1
+ import type { SiteCommand } from './commands';
2
+ export type RefContribution = Readonly<{
3
+ ref: string;
4
+ field: string;
5
+ }>;
6
+ export type CommandRefContributions = Readonly<{
7
+ provides: readonly RefContribution[];
8
+ requires: readonly RefContribution[];
9
+ }>;
10
+ export declare function commandRefContributions(command: SiteCommand): CommandRefContributions;