@riverbankcms/sdk 0.68.0 → 0.70.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 (414) hide show
  1. package/dist/_dts/api/src/accessAdmin.d.ts +3 -3
  2. package/dist/_dts/api/src/admin/types.d.ts +1 -1
  3. package/dist/_dts/api/src/aiPlayground.d.ts +13 -87
  4. package/dist/_dts/api/src/appointmentSetup.d.ts +4 -0
  5. package/dist/_dts/api/src/billing.d.ts +1 -1
  6. package/dist/_dts/api/src/bookingConfig.d.ts +2 -2
  7. package/dist/_dts/api/src/bookingRecords.d.ts +1 -1
  8. package/dist/_dts/api/src/bookings.d.ts +1 -1
  9. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +1 -1
  10. package/dist/_dts/api/src/communications.d.ts +1 -1
  11. package/dist/_dts/api/src/contentRuntime.d.ts +2 -2
  12. package/dist/_dts/api/src/contentTypes.d.ts +1 -1
  13. package/dist/_dts/api/src/navigation/contracts.d.ts +9 -9
  14. package/dist/_dts/api/src/navigation/linkValue.d.ts +1 -1
  15. package/dist/_dts/api/src/navigation/types.d.ts +1 -1
  16. package/dist/_dts/api/src/public/index.d.ts +2 -2
  17. package/dist/_dts/api/src/public/types.d.ts +2 -2
  18. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -2
  19. package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
  20. package/dist/_dts/api/src/siteBanner.d.ts +9 -9
  21. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -2
  22. package/dist/_dts/api/src/siteOnboarding.d.ts +1 -1
  23. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
  24. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +5 -5
  25. package/dist/_dts/api/src/siteSettings.d.ts +3 -3
  26. package/dist/_dts/api/src/teamMembers.d.ts +1 -1
  27. package/dist/_dts/api/src/types.d.ts +1 -1
  28. package/dist/_dts/api/src/url.d.ts +1 -1
  29. package/dist/_dts/billing/src/components/index.d.ts +61 -3
  30. package/dist/_dts/block-form/src/backend/store-backend.d.ts +1 -1
  31. package/dist/_dts/block-form/src/backend/types.d.ts +2 -2
  32. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +2 -2
  33. package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -1
  34. package/dist/_dts/block-form/src/fields/types.d.ts +1 -1
  35. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +1 -1
  36. package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +1 -1
  37. package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +1 -1
  38. package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +1 -1
  39. package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +1 -1
  40. package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -1
  41. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +1 -1
  42. package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +1 -1
  43. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +1 -1
  44. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +1 -1
  45. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -1
  46. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
  47. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +1 -1
  48. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +1 -1
  49. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +4 -4
  50. package/dist/_dts/block-form/src/widgets/constants.d.ts +1 -1
  51. package/dist/_dts/blocks/src/PageRenderer.d.ts +1 -1
  52. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  53. package/dist/_dts/blocks/src/client.d.ts +6 -4
  54. package/dist/_dts/blocks/src/index.d.ts +28 -27
  55. package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
  56. package/dist/_dts/blocks/src/primitives/content/components/Button.d.ts +1 -1
  57. package/dist/_dts/blocks/src/rendering/server.d.ts +1 -1
  58. package/dist/_dts/blocks/src/server.d.ts +1 -1
  59. package/dist/_dts/blocks/src/structure/schema.d.ts +1 -1
  60. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1665 -1665
  61. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +1666 -1666
  62. package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
  63. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1665 -1665
  64. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1665 -1665
  65. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +1666 -1666
  66. package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +3 -2
  68. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +42 -42
  69. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1761 -1761
  70. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -2
  71. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +1764 -1764
  72. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -1
  73. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +44 -44
  74. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -1
  75. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1665 -1665
  76. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
  77. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1665 -1665
  78. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
  79. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -1
  80. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +9 -9
  81. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +139 -139
  82. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1665 -1665
  83. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +1665 -1665
  84. package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +19 -19
  85. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1665 -1665
  86. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -3
  87. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +1 -1
  88. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +1 -1
  89. package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -1
  90. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  91. package/dist/_dts/blocks/src/system/customize/facets.d.ts +5 -5
  92. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +1 -1
  93. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +1 -1
  94. package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +1761 -1761
  95. package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1761 -1761
  96. package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1761 -1761
  97. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1761 -1761
  98. package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1761 -1761
  99. package/dist/_dts/blocks/src/system/frame/frameStyles.d.ts +3 -3
  100. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +2 -2
  101. package/dist/_dts/blocks/src/system/manifest/augmentManifest.d.ts +1 -1
  102. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +201 -201
  103. package/dist/_dts/blocks/src/system/media/constrainedVideoMedia.d.ts +1 -1
  104. package/dist/_dts/blocks/src/system/media/slotContracts.d.ts +1 -1
  105. package/dist/_dts/blocks/src/system/node/fragments/ctaButton.d.ts +1 -1
  106. package/dist/_dts/blocks/src/system/node/fragments/typography.d.ts +1 -1
  107. package/dist/_dts/blocks/src/system/node/schema.d.ts +5 -5
  108. package/dist/_dts/blocks/src/system/registry.d.ts +2 -2
  109. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
  110. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
  111. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +1 -1
  112. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +2 -2
  113. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +2 -2
  114. package/dist/_dts/blocks/src/system/runtime/nodes/accordion.d.ts +1 -1
  115. package/dist/_dts/blocks/src/system/runtime/nodes/accordion.server.d.ts +1 -1
  116. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -1
  117. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +45 -29
  118. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +27 -0
  119. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +11 -7
  120. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +1 -1
  121. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +3 -3
  122. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +1 -1
  123. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +1 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/shared/LeafletStaticMap.d.ts +1 -1
  125. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +6 -6
  126. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptionCopy.d.ts +1 -1
  127. package/dist/_dts/blocks/src/system/theme/index.d.ts +1 -1
  128. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -1
  129. package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
  130. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +3 -3
  131. package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
  132. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +3 -3
  133. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +3 -3
  134. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +2 -2
  135. package/dist/_dts/content-editor/src/controller/buildPublishSuccessTransition.d.ts +2 -2
  136. package/dist/_dts/content-editor/src/controller/deriveRecoveryConflict.d.ts +1 -1
  137. package/dist/_dts/content-editor/src/controller/invalidBlockRecovery.d.ts +1 -1
  138. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
  139. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +1 -1
  140. package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +3 -3
  141. package/dist/_dts/content-editor/src/controller/useInvalidBlockRecovery.d.ts +1 -1
  142. package/dist/_dts/content-editor/src/hooks/blockedPublishPlan.d.ts +1 -1
  143. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
  144. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +2 -2
  145. package/dist/_dts/content-editor/src/hooks/useStoreAutosave.d.ts +1 -1
  146. package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +1 -1
  147. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +1 -1
  148. package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +1 -1
  149. package/dist/_dts/content-editor/src/registry.d.ts +1 -1
  150. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +2 -2
  151. package/dist/_dts/content-editor/src/types.d.ts +2 -2
  152. package/dist/_dts/content-editor/src/ui/blockValidationView.d.ts +3 -3
  153. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +1 -1
  154. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
  155. package/dist/_dts/content-editor/src/ui/stores/utils.d.ts +1 -1
  156. package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
  157. package/dist/_dts/core/src/branded.d.ts +2 -0
  158. package/dist/_dts/core/src/index.d.ts +2 -0
  159. package/dist/_dts/core/src/planner.d.ts +64 -0
  160. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +17 -18
  161. package/dist/_dts/db/src/schemas/forms.d.ts +62 -62
  162. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +5 -5
  163. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +5 -5
  164. package/dist/_dts/editor-blocks/src/FormProvider.d.ts +2 -2
  165. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +6 -6
  166. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +3 -3
  167. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +2 -2
  168. package/dist/_dts/editor-blocks/src/block-editor/BlockListContext.d.ts +2 -2
  169. package/dist/_dts/editor-blocks/src/block-editor/BlockPickerDialog.d.ts +1 -1
  170. package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +2 -2
  171. package/dist/_dts/editor-blocks/src/block-editor/BlockThumbnail.d.ts +1 -1
  172. package/dist/_dts/editor-blocks/src/block-editor/BlockTile.d.ts +1 -1
  173. package/dist/_dts/editor-blocks/src/block-editor/EnhancedBlockPickerDialog.d.ts +1 -1
  174. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +3 -3
  175. package/dist/_dts/editor-blocks/src/block-editor/blockDiscovery.d.ts +1 -1
  176. package/dist/_dts/editor-blocks/src/block-editor/hooks/buildInsertBlockHistoryCommand.d.ts +1 -1
  177. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +1 -1
  178. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +3 -3
  179. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -2
  180. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -2
  181. package/dist/_dts/editor-blocks/src/block-editor/hooks/useDraftContent.d.ts +1 -1
  182. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +2 -2
  183. package/dist/_dts/editor-blocks/src/block-editor/sdkBlockMerger.d.ts +3 -3
  184. package/dist/_dts/editor-blocks/src/block-editor/settingsIntent.d.ts +1 -1
  185. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -1
  186. package/dist/_dts/editor-blocks/src/block-form/debug.d.ts +1 -1
  187. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +2 -2
  188. package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
  189. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +6 -6
  190. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  191. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  192. package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +1 -1
  193. package/dist/_dts/editor-blocks/src/widgets/button/index.d.ts +1 -1
  194. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  195. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  196. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerWidgetProvider.d.ts +1 -1
  197. package/dist/_dts/editor-blocks/src/widgets/entry-picker/index.d.ts +1 -1
  198. package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +2 -2
  199. package/dist/_dts/editor-blocks/src/widgets/entry-picker/types.d.ts +2 -2
  200. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  201. package/dist/_dts/editor-blocks/src/widgets/link/LinkField.d.ts +2 -2
  202. package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +3 -3
  203. package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +1 -1
  204. package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +1 -1
  205. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +3 -3
  206. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -2
  207. package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +3 -3
  208. package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +2 -2
  209. package/dist/_dts/editor-blocks/src/widgets/link/utils.d.ts +2 -2
  210. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +2 -2
  211. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceWidgetProvider.d.ts +1 -1
  212. package/dist/_dts/editor-blocks/src/widgets/reference/dynamicAdapters.d.ts +1 -1
  213. package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +3 -3
  214. package/dist/_dts/editor-blocks/src/widgets/reference/types.d.ts +3 -3
  215. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  216. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +1 -1
  217. package/dist/_dts/editor-blocks/src/widgets/rich-text/ensureRichTextImageAssetIdentifier.d.ts +1 -1
  218. package/dist/_dts/editor-blocks/src/widgets/rich-text/richTextImageHydration.d.ts +1 -1
  219. package/dist/_dts/editor-blocks/src/widgets/shared/Combobox.d.ts +1 -1
  220. package/dist/_dts/media-core/src/fileAssetCompatibility.d.ts +1 -1
  221. package/dist/_dts/media-core/src/fileAssetDeletion.d.ts +1 -1
  222. package/dist/_dts/media-core/src/fileDomain.d.ts +1 -1
  223. package/dist/_dts/media-core/src/fileDownloadResolution.d.ts +1 -1
  224. package/dist/_dts/media-core/src/filePersistence.d.ts +1 -1
  225. package/dist/_dts/media-core/src/fileStorage.d.ts +1 -1
  226. package/dist/_dts/media-core/src/fileUploadAssetBuilder.d.ts +1 -1
  227. package/dist/_dts/media-core/src/fileUploadCleanup.d.ts +1 -1
  228. package/dist/_dts/media-core/src/fileUploadCompletion.d.ts +1 -1
  229. package/dist/_dts/media-core/src/fileUploadDurableFinalization.d.ts +1 -1
  230. package/dist/_dts/media-core/src/fileUploadFinalization.d.ts +1 -1
  231. package/dist/_dts/media-core/src/fileUploadSessionCreation.d.ts +1 -1
  232. package/dist/_dts/media-core/src/types.d.ts +2 -2
  233. package/dist/_dts/media-core/src/url.d.ts +1 -1
  234. package/dist/_dts/media-core/src/videoPrep.d.ts +1 -1
  235. package/dist/_dts/media-editor/src/CropDialog.d.ts +1 -1
  236. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -2
  237. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +1 -1
  238. package/dist/_dts/media-editor/src/context.d.ts +3 -3
  239. package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -1
  240. package/dist/_dts/media-editor/src/cropEditorSource.d.ts +1 -1
  241. package/dist/_dts/media-editor/src/debug.d.ts +1 -1
  242. package/dist/_dts/media-editor/src/provider.d.ts +3 -3
  243. package/dist/_dts/media-editor/src/runtimeMediaAssetState.d.ts +1 -1
  244. package/dist/_dts/media-editor/src/transformModel.d.ts +1 -1
  245. package/dist/_dts/media-editor/src/types.d.ts +2 -2
  246. package/dist/_dts/media-editor/src/utils.d.ts +1 -1
  247. package/dist/_dts/media-react/src/components/ImageCropper.d.ts +1 -1
  248. package/dist/_dts/media-react/src/components/cropDraftModel.d.ts +1 -1
  249. package/dist/_dts/media-react/src/components/cropGeometry.d.ts +1 -1
  250. package/dist/_dts/media-react/src/components/cropSessionState.d.ts +1 -1
  251. package/dist/_dts/media-react/src/components/useImageCropperController.d.ts +1 -1
  252. package/dist/_dts/media-react/src/ffmpegLoader.d.ts +1 -1
  253. package/dist/_dts/media-react/src/hooks/internal/classification.d.ts +1 -1
  254. package/dist/_dts/media-react/src/hooks/mediaAssetResponseMapper.d.ts +1 -1
  255. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +4 -4
  256. package/dist/_dts/media-react/src/utils/rotation.d.ts +1 -1
  257. package/dist/_dts/media-react/src/videoFrameExtraction.d.ts +1 -1
  258. package/dist/_dts/media-react/src/videoPrepBrowser.d.ts +2 -2
  259. package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +1 -1
  260. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +1 -1
  261. package/dist/_dts/preview-next/src/client/blocks/composer/composePageFromBlocks.d.ts +1 -1
  262. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -2
  263. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -3
  264. package/dist/_dts/preview-next/src/client/blocks/customizeFacetControls.d.ts +2 -2
  265. package/dist/_dts/preview-next/src/client/blocks/editorRegistry.d.ts +1 -1
  266. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +2 -2
  267. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +2 -2
  268. package/dist/_dts/preview-next/src/client/blocks/previewProjection/aiProposalProjection.d.ts +2 -2
  269. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +2 -2
  270. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  271. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +3 -3
  272. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +5 -5
  273. package/dist/_dts/preview-next/src/client/preview/OnboardingThemeSwitcher.d.ts +2 -2
  274. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +5 -5
  275. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +1 -1
  276. package/dist/_dts/preview-next/src/client/preview/PreviewAuthBanner.d.ts +1 -1
  277. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +9 -9
  278. package/dist/_dts/preview-next/src/client/preview/PreviewEditorUI.d.ts +2 -2
  279. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +2 -2
  280. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +8 -8
  281. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +8 -8
  282. package/dist/_dts/preview-next/src/client/preview/PreviewViewportControls.d.ts +1 -1
  283. package/dist/_dts/preview-next/src/client/preview/PreviewZoomControls.d.ts +1 -1
  284. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +5 -5
  285. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +5 -5
  286. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +4 -4
  287. package/dist/_dts/preview-next/src/client/preview/pageSchema.d.ts +1 -1
  288. package/dist/_dts/preview-next/src/client/preview/previewChromeSurface.d.ts +1 -1
  289. package/dist/_dts/preview-next/src/client/preview/previewChromeSurfacePolicy.d.ts +1 -1
  290. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +3 -3
  291. package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +2 -2
  292. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +1 -1
  293. package/dist/_dts/preview-next/src/client/preview/previewSurface.d.ts +1 -1
  294. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +1 -1
  295. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +2 -2
  296. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +4 -4
  297. package/dist/_dts/preview-next/src/client/preview/subrouteNotice.d.ts +1 -1
  298. package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +1 -1
  299. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +2 -2
  300. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +2 -2
  301. package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +3 -3
  302. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -3
  303. package/dist/_dts/sdk/src/bookings/index.d.ts +3 -2
  304. package/dist/_dts/sdk/src/bookings/types.d.ts +16 -10
  305. package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +1 -1
  306. package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +1 -1
  307. package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -1
  308. package/dist/_dts/sdk/src/cli/env.d.ts +1 -1
  309. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +1 -1
  310. package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
  311. package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +1 -1
  312. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +2 -2
  313. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -1
  314. package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +1 -1
  315. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +2 -2
  316. package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +2 -2
  317. package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +2 -2
  318. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +2 -2
  319. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +2 -2
  320. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -1
  321. package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
  322. package/dist/_dts/sdk/src/config/validation.d.ts +37 -43
  323. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +1 -1
  324. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +19 -19
  325. package/dist/_dts/sdk/src/portal/config.d.ts +1 -1
  326. package/dist/_dts/sdk/src/portal/index.d.ts +1 -1
  327. package/dist/_dts/sdk/src/preview-next/client/index.d.ts +1 -1
  328. package/dist/_dts/sdk/src/preview-next/client/runtime.d.ts +1 -1
  329. package/dist/_dts/sdk/src/preview-next/constants.d.ts +1 -1
  330. package/dist/_dts/sdk/src/preview-next/cookies.d.ts +1 -1
  331. package/dist/_dts/sdk/src/preview-next/index.d.ts +2 -2
  332. package/dist/_dts/sdk/src/preview-next/middleware.d.ts +1 -1
  333. package/dist/_dts/sdk/src/preview-next/session.d.ts +1 -1
  334. package/dist/_dts/sdk/src/public-api/contracts.d.ts +18 -4
  335. package/dist/_dts/sdk/src/rendering/islands/blocksContracts.d.ts +1 -1
  336. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +3 -3
  337. package/dist/_dts/sdk/src/spam-protection/index.d.ts +3 -3
  338. package/dist/_dts/sdk/src/theme-bridge/ThemeBridgeProvider.d.ts +2 -2
  339. package/dist/_dts/sdk/src/version.d.ts +1 -1
  340. package/dist/_dts/site-commands/src/adapter.d.ts +1 -1
  341. package/dist/_dts/site-commands/src/commands.d.ts +70 -39
  342. package/dist/_dts/site-commands/src/domain.d.ts +2 -2
  343. package/dist/_dts/site-commands/src/exposure.d.ts +3 -3
  344. package/dist/_dts/site-commands/src/metadata.d.ts +13 -0
  345. package/dist/_dts/site-commands/src/planner.d.ts +1 -1
  346. package/dist/_dts/site-commands/src/refs.d.ts +1 -1
  347. package/dist/_dts/theme-core/src/accordions/types.d.ts +9 -9
  348. package/dist/_dts/theme-core/src/blocks/index.d.ts +2 -2
  349. package/dist/_dts/theme-core/src/blocks/types.d.ts +3 -2
  350. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +5 -5
  351. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +5 -5
  352. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +5 -5
  353. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +35 -35
  354. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +5 -5
  355. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +5 -5
  356. package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +5 -5
  357. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +5 -5
  358. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +7 -7
  359. package/dist/_dts/theme-core/src/buttons/types.d.ts +18 -18
  360. package/dist/_dts/theme-core/src/cards/types.d.ts +17 -17
  361. package/dist/_dts/theme-core/src/inputs/types.d.ts +13 -13
  362. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  363. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +351 -351
  364. package/dist/_dts/theme-core/src/navigation/types.d.ts +15 -15
  365. package/dist/_dts/theme-core/src/palette/recipes/allRecipes.d.ts +1 -1
  366. package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +24 -24
  367. package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +18 -18
  368. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +65 -65
  369. package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +18 -18
  370. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +7 -7
  371. package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +18 -18
  372. package/dist/_dts/theme-core/src/progress/generateProgressCss.d.ts +2 -1
  373. package/dist/_dts/theme-core/src/recommend/generateThemes.d.ts +1 -1
  374. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +4 -0
  375. package/dist/_dts/theme-core/src/schema.d.ts +568 -568
  376. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +2 -2
  377. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +1 -1
  378. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +1 -1
  379. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +34 -34
  380. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  381. package/dist/_dts/theme-core/src/site-styles/pageDesignAuthority.d.ts +1 -1
  382. package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +1 -1
  383. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +14 -14
  384. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  385. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +4 -4
  386. package/dist/_dts/theme-core/src/status/generateStatusCss.d.ts +2 -1
  387. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +5 -5
  388. package/dist/_dts/ui/src/badge.d.ts +1 -1
  389. package/dist/_dts/ui/src/button.d.ts +2 -2
  390. package/dist/_dts/ui/src/card.d.ts +1 -1
  391. package/dist/_dts/ui/src/color-picker.d.ts +1 -1
  392. package/dist/_dts/ui/src/surface.d.ts +2 -2
  393. package/dist/_dts/ui/src/toggle.d.ts +4 -4
  394. package/dist/cli/index.mjs +3031 -2878
  395. package/dist/client/bookings.mjs +104 -34
  396. package/dist/client/client.mjs +7757 -7627
  397. package/dist/client/hooks.mjs +5704 -3822
  398. package/dist/client/rendering/client.mjs +164 -35
  399. package/dist/client/rendering/islands.mjs +164 -35
  400. package/dist/client/rendering.mjs +476 -346
  401. package/dist/preview-next/client/runtime.mjs +188 -55
  402. package/dist/server/components.mjs +364 -310
  403. package/dist/server/config-validation.mjs +6851 -4889
  404. package/dist/server/config.mjs +6841 -4888
  405. package/dist/server/data.mjs +5704 -3822
  406. package/dist/server/index.mjs +160 -1762
  407. package/dist/server/next.mjs +6515 -5260
  408. package/dist/server/prebuild.mjs +1 -1
  409. package/dist/server/rendering/server.mjs +366 -312
  410. package/dist/server/rendering.mjs +366 -312
  411. package/dist/server/routing.mjs +10376 -6836
  412. package/dist/server/server.mjs +5692 -3810
  413. package/dist/server/theme-bridge.mjs +249 -15
  414. package/package.json +1 -3
@@ -4646,7 +4646,7 @@ var init_sanitizeHref = __esm({
4646
4646
  });
4647
4647
 
4648
4648
  // ../core/src/branded.ts
4649
- var asMediaAssetId, asStorageBucketName, unsafeAsPositiveByteCount, unsafeAsPositiveSeconds, asAppointmentResourceId;
4649
+ var asMediaAssetId, asStorageBucketName, unsafeAsPositiveByteCount, unsafeAsPositiveSeconds, asFormId, asPassId, asCustomerPassId, asAppointmentServiceId, asAppointmentResourceId;
4650
4650
  var init_branded = __esm({
4651
4651
  "../core/src/branded.ts"() {
4652
4652
  "use strict";
@@ -4654,6 +4654,10 @@ var init_branded = __esm({
4654
4654
  asStorageBucketName = (value) => value;
4655
4655
  unsafeAsPositiveByteCount = (value) => value;
4656
4656
  unsafeAsPositiveSeconds = (value) => value;
4657
+ asFormId = (id) => id;
4658
+ asPassId = (id) => id;
4659
+ asCustomerPassId = (id) => id;
4660
+ asAppointmentServiceId = (id) => id;
4657
4661
  asAppointmentResourceId = (id) => id;
4658
4662
  }
4659
4663
  });
@@ -5225,6 +5229,29 @@ var init_participant_identity = __esm({
5225
5229
  }
5226
5230
  });
5227
5231
 
5232
+ // ../core/src/planner.ts
5233
+ function resolvePlanningNowDate(input = {}) {
5234
+ if (input.now !== void 0) {
5235
+ return input.now;
5236
+ }
5237
+ return new Date((input.clock ?? systemPlanningClock).now());
5238
+ }
5239
+ function resolvePlanningDateInput(input = {}) {
5240
+ if (input instanceof Date) {
5241
+ return input;
5242
+ }
5243
+ return resolvePlanningNowDate(input);
5244
+ }
5245
+ var systemPlanningClock;
5246
+ var init_planner = __esm({
5247
+ "../core/src/planner.ts"() {
5248
+ "use strict";
5249
+ systemPlanningClock = {
5250
+ now: () => Date.now()
5251
+ };
5252
+ }
5253
+ });
5254
+
5228
5255
  // ../core/src/index.ts
5229
5256
  var init_src = __esm({
5230
5257
  "../core/src/index.ts"() {
@@ -5250,6 +5277,7 @@ var init_src = __esm({
5250
5277
  init_assertNever();
5251
5278
  init_participants();
5252
5279
  init_participant_identity();
5280
+ init_planner();
5253
5281
  }
5254
5282
  });
5255
5283
 
@@ -9382,6 +9410,26 @@ var init_dist = __esm({
9382
9410
  }
9383
9411
  });
9384
9412
 
9413
+ // ../blocks/src/system/runtime/nodes/booking-form.reserved-fields.ts
9414
+ var BOOKING_FORM_DATA_RESERVED_KEY_VALUES, BOOKING_FORM_DATA_RESERVED_KEYS;
9415
+ var init_booking_form_reserved_fields = __esm({
9416
+ "../blocks/src/system/runtime/nodes/booking-form.reserved-fields.ts"() {
9417
+ "use strict";
9418
+ BOOKING_FORM_DATA_RESERVED_KEY_VALUES = [
9419
+ "serviceId",
9420
+ "resourceId",
9421
+ "selectedDate",
9422
+ "selectedSlot",
9423
+ "discountCode",
9424
+ "selectedCollectionOptionKind",
9425
+ "selectedAppointmentPackageId"
9426
+ ];
9427
+ BOOKING_FORM_DATA_RESERVED_KEYS = new Set(
9428
+ BOOKING_FORM_DATA_RESERVED_KEY_VALUES
9429
+ );
9430
+ }
9431
+ });
9432
+
9385
9433
  // ../blocks/src/system/runtime/nodes/booking-form.state.ts
9386
9434
  function toTrimmedString(value) {
9387
9435
  const trimmed = value?.trim();
@@ -9897,21 +9945,13 @@ function formatBookingSubmissionPreparationError(error) {
9897
9945
  function getBookingSuccessMessage(successMessage) {
9898
9946
  return successMessage?.trim() || "Your appointment has been booked! Check your email for confirmation.";
9899
9947
  }
9900
- var BOOKING_FORM_DATA_RESERVED_KEYS;
9901
9948
  var init_booking_form_state = __esm({
9902
9949
  "../blocks/src/system/runtime/nodes/booking-form.state.ts"() {
9903
9950
  "use strict";
9904
9951
  init_dist();
9905
9952
  init_src();
9906
- BOOKING_FORM_DATA_RESERVED_KEYS = /* @__PURE__ */ new Set([
9907
- "serviceId",
9908
- "resourceId",
9909
- "selectedDate",
9910
- "selectedSlot",
9911
- "discountCode",
9912
- "selectedCollectionOptionKind",
9913
- "selectedAppointmentPackageId"
9914
- ]);
9953
+ init_booking_form_reserved_fields();
9954
+ init_booking_form_reserved_fields();
9915
9955
  }
9916
9956
  });
9917
9957
 
@@ -10486,7 +10526,7 @@ function toExactOrFreeDisplay(amount, currency) {
10486
10526
  }
10487
10527
  return { kind: "exact", amount, currency };
10488
10528
  }
10489
- function getSelectableCoursePricingOptions(course, now = /* @__PURE__ */ new Date()) {
10529
+ function getSelectableCoursePricingOptionsForNow(course, now) {
10490
10530
  if (!course.pricing || course.pricing.pricingStrategy !== "tiered") {
10491
10531
  return [];
10492
10532
  }
@@ -10500,7 +10540,7 @@ function getSelectableCoursePricingOptions(course, now = /* @__PURE__ */ new Dat
10500
10540
  return left.name.localeCompare(right.name);
10501
10541
  });
10502
10542
  }
10503
- function resolveCoursePricingState(course, selectedPricingOptionId, now = /* @__PURE__ */ new Date()) {
10543
+ function resolveCoursePricingState(course, selectedPricingOptionId, nowInput = {}) {
10504
10544
  const currency = course.pricing?.currency ?? course.currency;
10505
10545
  if (!course.pricing) {
10506
10546
  const legacyAmount = course.priceCents ?? 0;
@@ -10544,7 +10584,10 @@ function resolveCoursePricingState(course, selectedPricingOptionId, now = /* @__
10544
10584
  };
10545
10585
  }
10546
10586
  case "tiered": {
10547
- const selectableOptions = getSelectableCoursePricingOptions(course, now);
10587
+ const selectableOptions = getSelectableCoursePricingOptionsForNow(
10588
+ course,
10589
+ resolvePlanningDateInput(nowInput)
10590
+ );
10548
10591
  const selectedOption = (selectedPricingOptionId ? selectableOptions.find((option) => option.id === selectedPricingOptionId) : null) ?? (selectableOptions.length === 1 ? selectableOptions[0] ?? null : null);
10549
10592
  const lowestAmount = selectableOptions.reduce((lowest, option) => {
10550
10593
  if (lowest === null || option.priceAmount < lowest) {
@@ -10601,6 +10644,7 @@ function formatCoursePriceAmount(amount, currency, locale) {
10601
10644
  var init_pricing = __esm({
10602
10645
  "../blocks/src/system/blocks/courses/shared/pricing.ts"() {
10603
10646
  "use strict";
10647
+ init_src();
10604
10648
  }
10605
10649
  });
10606
10650
 
@@ -34512,8 +34556,12 @@ function createInitialBookingFlowReducerState(input) {
34512
34556
  const initialData = input.initialData ?? {};
34513
34557
  return {
34514
34558
  currentStepId: "service-selection",
34515
- selectedServiceId: toOptionalString(initialData.serviceId) ?? input.defaultServiceId,
34516
- selectedResourceId: toOptionalString(initialData.resourceId) ?? input.defaultResourceId,
34559
+ selectedServiceId: toOptionalAppointmentServiceId(
34560
+ toOptionalString(initialData.serviceId) ?? input.defaultServiceId
34561
+ ),
34562
+ selectedResourceId: toOptionalAppointmentResourceId(
34563
+ toOptionalString(initialData.resourceId) ?? input.defaultResourceId
34564
+ ),
34517
34565
  selectedDate: toOptionalString(initialData.selectedDate),
34518
34566
  selectedSlot: null,
34519
34567
  fieldValues: collectInitialFieldValues(initialData),
@@ -34522,8 +34570,8 @@ function createInitialBookingFlowReducerState(input) {
34522
34570
  selectedCollectionOptionKind: toSelectedCollectionOptionKind(
34523
34571
  initialData.selectedCollectionOptionKind
34524
34572
  ),
34525
- selectedAppointmentPackageId: toOptionalString(
34526
- initialData.selectedAppointmentPackageId
34573
+ selectedAppointmentPackageId: toOptionalCustomerPassId(
34574
+ toOptionalString(initialData.selectedAppointmentPackageId)
34527
34575
  ),
34528
34576
  altchaSolution: null,
34529
34577
  validationErrors: createEmptyBookingValidationErrors(),
@@ -34546,6 +34594,19 @@ function toOptionalString(value) {
34546
34594
  const trimmed = value.trim();
34547
34595
  return trimmed.length > 0 ? trimmed : void 0;
34548
34596
  }
34597
+ function toOptionalBrandedId(value, brand) {
34598
+ const trimmed = toOptionalString(value);
34599
+ return trimmed ? brand(trimmed) : void 0;
34600
+ }
34601
+ function toOptionalAppointmentServiceId(value) {
34602
+ return toOptionalBrandedId(value, asAppointmentServiceId);
34603
+ }
34604
+ function toOptionalAppointmentResourceId(value) {
34605
+ return toOptionalBrandedId(value, asAppointmentResourceId);
34606
+ }
34607
+ function toOptionalCustomerPassId(value) {
34608
+ return toOptionalBrandedId(value, asCustomerPassId);
34609
+ }
34549
34610
  function isBookingFieldValue(value) {
34550
34611
  return value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean" || Array.isArray(value) && value.every((item) => typeof item === "string");
34551
34612
  }
@@ -34691,7 +34752,9 @@ function toBookingSlotView(slot) {
34691
34752
  key: `${slot.startAt}|${slot.endAt}|${slot.resourceId}`,
34692
34753
  startAt: slot.startAt,
34693
34754
  endAt: slot.endAt,
34694
- resourceId: String(slot.resourceId)
34755
+ resourceId: asAppointmentResourceId(slot.resourceId),
34756
+ ...slot.resourceName ? { resourceName: slot.resourceName } : {},
34757
+ ...slot.label ? { label: slot.label } : {}
34695
34758
  };
34696
34759
  }
34697
34760
  function toBookingSlotViews(slots) {
@@ -34935,7 +34998,8 @@ function buildBookingAvailabilityQuery(input) {
34935
34998
  }
34936
34999
  function deriveBookingFieldViews(input) {
34937
35000
  return (input.form?.schema?.fields ?? []).map((field) => {
34938
- const inputId = `${input.idPrefix}-${field.id}`;
35001
+ const fieldId = asBookingFieldId(field.id);
35002
+ const inputId = `${input.idPrefix}-${fieldId}`;
34939
35003
  const helpTextId = field.helpText ? `${inputId}-help` : null;
34940
35004
  const fieldValue = input.values[field.id] ?? null;
34941
35005
  const localError = input.touched?.[field.id] ? validateBookingField(field, fieldValue) : null;
@@ -34944,7 +35008,7 @@ function deriveBookingFieldViews(input) {
34944
35008
  const describedBy = [helpTextId, errorId].filter(Boolean).join(" ") || void 0;
34945
35009
  return {
34946
35010
  field,
34947
- id: field.id,
35011
+ id: fieldId,
34948
35012
  label: field.label,
34949
35013
  type: field.type,
34950
35014
  value: fieldValue,
@@ -35071,20 +35135,30 @@ function resolveAppointmentPackagesModel(input) {
35071
35135
  items: [],
35072
35136
  selected: null
35073
35137
  };
35074
- case "loaded":
35138
+ case "loaded": {
35139
+ const items = input.items.map(toHeadlessEligibleAppointmentPackage);
35140
+ const selected = input.selected ? toHeadlessEligibleAppointmentPackage(input.selected) : null;
35075
35141
  return {
35076
35142
  kind: "ready",
35077
35143
  enabled: true,
35078
35144
  canLoad: true,
35079
35145
  unavailableReason: null,
35080
- state: input.state,
35081
- items: input.items,
35082
- selected: input.selected
35146
+ state: { tag: "loaded", value: items },
35147
+ items,
35148
+ selected
35083
35149
  };
35150
+ }
35084
35151
  default:
35085
35152
  return assertNever4(input.state);
35086
35153
  }
35087
35154
  }
35155
+ function toHeadlessEligibleAppointmentPackage(appointmentPackage) {
35156
+ return {
35157
+ ...appointmentPackage,
35158
+ customerPassId: asCustomerPassId(appointmentPackage.customerPassId),
35159
+ passId: asPassId(appointmentPackage.passId)
35160
+ };
35161
+ }
35088
35162
  function resolveHeadlessBookingStatus(input) {
35089
35163
  if (input.isSubmitting) return { tag: "submitting" };
35090
35164
  if (input.feedback.kind === "success") {
@@ -35138,11 +35212,14 @@ function omitRecordKey(record, key) {
35138
35212
  const { [key]: _removed, ...rest } = record;
35139
35213
  return rest;
35140
35214
  }
35215
+ var asBookingFieldId;
35141
35216
  var init_booking_form_headless_state = __esm({
35142
35217
  "../blocks/src/system/runtime/nodes/booking-form.headless.state.ts"() {
35143
35218
  "use strict";
35219
+ init_src();
35144
35220
  init_dist();
35145
35221
  init_booking_form_state();
35222
+ asBookingFieldId = (id) => id;
35146
35223
  }
35147
35224
  });
35148
35225
 
@@ -35166,8 +35243,13 @@ import React5, {
35166
35243
  } from "react";
35167
35244
  function useHeadlessBookingFlow(options) {
35168
35245
  const viewerTimeZone = options.viewerTimeZone ?? getRuntimeTimeZone();
35169
- const defaultServiceId = options.initialServiceId ?? resolveDefaultBookingServiceId(options.form, options.services) ?? void 0;
35170
- const defaultResourceId = options.initialResourceId;
35246
+ const formKey = asFormId(options.formId);
35247
+ const defaultServiceId = toOptionalAppointmentServiceId(
35248
+ options.initialServiceId ?? resolveDefaultBookingServiceId(options.form, options.services) ?? void 0
35249
+ );
35250
+ const defaultResourceId = toOptionalAppointmentResourceId(
35251
+ options.initialResourceId
35252
+ );
35171
35253
  const initialState = useMemo2(
35172
35254
  () => createInitialBookingFlowReducerState({
35173
35255
  defaultServiceId,
@@ -35325,7 +35407,7 @@ function useHeadlessBookingFlow(options) {
35325
35407
  setResourcesState({
35326
35408
  tag: "loaded",
35327
35409
  value: (result.options ?? []).map((option) => ({
35328
- id: option.id,
35410
+ id: asAppointmentResourceId(option.id),
35329
35411
  label: option.label
35330
35412
  }))
35331
35413
  });
@@ -35428,7 +35510,7 @@ function useHeadlessBookingFlow(options) {
35428
35510
  state,
35429
35511
  data,
35430
35512
  form: options.form,
35431
- formId: options.formId,
35513
+ formId: formKey,
35432
35514
  services: options.services,
35433
35515
  defaultServiceId,
35434
35516
  defaultResourceId,
@@ -35539,14 +35621,30 @@ function useHeadlessBookingFlow(options) {
35539
35621
  );
35540
35622
  const actions = useMemo2(
35541
35623
  () => ({
35542
- selectService: (serviceId) => dispatch({ type: "service-selected", serviceId }),
35543
- selectResource: (resourceId) => dispatch({ type: "resource-selected", resourceId }),
35624
+ selectService: (serviceId) => dispatch({
35625
+ type: "service-selected",
35626
+ serviceId: asAppointmentServiceId(serviceId)
35627
+ }),
35628
+ selectResource: (resourceId) => dispatch({
35629
+ type: "resource-selected",
35630
+ resourceId: resourceId ? asAppointmentResourceId(resourceId) : null
35631
+ }),
35544
35632
  selectDate: (date) => dispatch({ type: "date-selected", date }),
35545
- selectSlot: (slot) => dispatch({ type: "slot-selected", slot }),
35546
- updateField: (fieldId, value) => dispatch({ type: "field-updated", fieldId, value }),
35547
- markFieldTouched: (fieldId) => dispatch({ type: "field-touched", fieldId }),
35633
+ selectSlot: (slot) => dispatch({
35634
+ type: "slot-selected",
35635
+ slot: slot ? toBookingSlotView(slot) : null
35636
+ }),
35637
+ updateField: (fieldId, value) => dispatch({
35638
+ type: "field-updated",
35639
+ fieldId: asBookingFieldId(fieldId),
35640
+ value
35641
+ }),
35642
+ markFieldTouched: (fieldId) => dispatch({ type: "field-touched", fieldId: asBookingFieldId(fieldId) }),
35548
35643
  selectPaymentOption: (kind) => dispatch({ type: "payment-option-selected", kind }),
35549
- selectAppointmentPackage: (packageId) => dispatch({ type: "appointment-package-selected", packageId }),
35644
+ selectAppointmentPackage: (packageId) => dispatch({
35645
+ type: "appointment-package-selected",
35646
+ packageId: packageId ? asCustomerPassId(packageId) : null
35647
+ }),
35550
35648
  setDiscountCode: (code) => {
35551
35649
  dispatch({ type: "discount-code-changed", code });
35552
35650
  latestRef.current.setDiscountCode(code);
@@ -35736,6 +35834,7 @@ var init_useHeadlessBookingFlow = __esm({
35736
35834
  "use client";
35737
35835
  init_client2();
35738
35836
  init_src4();
35837
+ init_src();
35739
35838
  init_api();
35740
35839
  init_booking_form_state();
35741
35840
  init_useAvailableDates();
@@ -75302,11 +75401,41 @@ init_buildThemeRuntime();
75302
75401
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
75303
75402
  init_colorConversion();
75304
75403
  init_shadow2();
75404
+ init_customCss();
75305
75405
  init_core();
75306
75406
  init_core3();
75407
+ import { z as z66 } from "zod";
75307
75408
  init_status();
75308
75409
  init_progress();
75309
75410
  init_blocks();
75411
+ var themeBridgeConfigSchema = z66.object({
75412
+ tokens: z66.record(z66.string(), z66.string()),
75413
+ typography: z66.object({
75414
+ headingFamily: z66.string().optional(),
75415
+ bodyFamily: z66.string().optional(),
75416
+ headingWeight: z66.number().optional(),
75417
+ bodyWeight: z66.number().optional()
75418
+ }).optional(),
75419
+ spacing: z66.enum(["comfortable", "standard", "dense"]).optional(),
75420
+ corners: z66.enum(["square", "soft", "rounded", "pill"]).optional(),
75421
+ shadows: z66.enum(["none", "low", "medium", "high"]).optional(),
75422
+ components: z66.object({
75423
+ buttons: z66.union([
75424
+ z66.boolean(),
75425
+ z66.object({
75426
+ variants: z66.array(z66.enum(["primary", "secondary", "outline", "ghost"])).optional()
75427
+ })
75428
+ ]).optional(),
75429
+ cards: z66.union([
75430
+ z66.boolean(),
75431
+ z66.object({
75432
+ variants: z66.array(z66.enum(["default", "elevated", "outlined"])).optional()
75433
+ })
75434
+ ]).optional(),
75435
+ inputs: z66.boolean().optional()
75436
+ }).optional(),
75437
+ overrides: z66.record(z66.string(), z66.string()).optional()
75438
+ }).passthrough();
75310
75439
 
75311
75440
  // ../theme-core/src/siteChrome.tsx
75312
75441
  init_types9();
@@ -82679,73 +82808,73 @@ var ENDPOINT_DEFINITIONS = {
82679
82808
  };
82680
82809
 
82681
82810
  // ../api/src/accessAdmin.ts
82682
- import { z as z66 } from "zod";
82683
- var managedDomainAddOnPricingSnapshotSchema = z66.object({
82684
- formulaVersion: z66.literal("managed-domain-overage-v1"),
82685
- conversionRule: z66.literal("usd-to-gbp-1-to-1-v1"),
82686
- registrarAnnualCost: z66.number().nonnegative(),
82687
- registrarCurrency: z66.literal("USD"),
82688
- includedAnnualAllowance: z66.number().nonnegative(),
82689
- includedAnnualAllowanceCurrency: z66.literal("USD"),
82690
- monthlyAmountCents: z66.number().int().nonnegative(),
82691
- monthlyCurrency: z66.literal("gbp")
82811
+ import { z as z67 } from "zod";
82812
+ var managedDomainAddOnPricingSnapshotSchema = z67.object({
82813
+ formulaVersion: z67.literal("managed-domain-overage-v1"),
82814
+ conversionRule: z67.literal("usd-to-gbp-1-to-1-v1"),
82815
+ registrarAnnualCost: z67.number().nonnegative(),
82816
+ registrarCurrency: z67.literal("USD"),
82817
+ includedAnnualAllowance: z67.number().nonnegative(),
82818
+ includedAnnualAllowanceCurrency: z67.literal("USD"),
82819
+ monthlyAmountCents: z67.number().int().nonnegative(),
82820
+ monthlyCurrency: z67.literal("gbp")
82692
82821
  });
82693
82822
 
82694
82823
  // ../api/src/navigation/contracts.ts
82695
- import { z as z67 } from "zod";
82696
- var portalLinkPayloadSchema = z67.object({
82697
- kind: z67.literal("portal"),
82698
- path: z67.string().trim().startsWith("/").optional(),
82699
- labels: z67.object({
82700
- loggedOut: z67.string().trim().min(1).optional(),
82701
- loggedIn: z67.string().trim().min(1).optional()
82824
+ import { z as z68 } from "zod";
82825
+ var portalLinkPayloadSchema = z68.object({
82826
+ kind: z68.literal("portal"),
82827
+ path: z68.string().trim().startsWith("/").optional(),
82828
+ labels: z68.object({
82829
+ loggedOut: z68.string().trim().min(1).optional(),
82830
+ loggedIn: z68.string().trim().min(1).optional()
82702
82831
  }).optional()
82703
82832
  });
82704
- var cartLinkLabelConfigSchema = z67.discriminatedUnion("kind", [
82705
- z67.object({
82706
- kind: z67.literal("icon-only")
82833
+ var cartLinkLabelConfigSchema = z68.discriminatedUnion("kind", [
82834
+ z68.object({
82835
+ kind: z68.literal("icon-only")
82707
82836
  }),
82708
- z67.object({
82709
- kind: z67.literal("icon-with-label"),
82710
- label: z67.string().trim().min(1)
82837
+ z68.object({
82838
+ kind: z68.literal("icon-with-label"),
82839
+ label: z68.string().trim().min(1)
82711
82840
  })
82712
82841
  ]);
82713
- var cartLinkPayloadSchema = z67.object({
82714
- kind: z67.literal("cart"),
82715
- badge: z67.enum(["show-count", "hidden"]),
82842
+ var cartLinkPayloadSchema = z68.object({
82843
+ kind: z68.literal("cart"),
82844
+ badge: z68.enum(["show-count", "hidden"]),
82716
82845
  label: cartLinkLabelConfigSchema
82717
82846
  });
82718
- var internalLinkPayloadSchema = z67.object({
82719
- kind: z67.literal("internal"),
82720
- routeId: z67.string().uuid(),
82721
- entityId: z67.string().uuid(),
82722
- entityType: z67.enum(["page", "content"]),
82723
- href: z67.string().min(1),
82724
- title: z67.string().min(1),
82725
- typeLabel: z67.string().min(1),
82726
- contentTypeKey: z67.string().nullable().optional(),
82727
- contentTypeName: z67.string().nullable().optional(),
82728
- updatedAt: z67.string().nullable().optional()
82847
+ var internalLinkPayloadSchema = z68.object({
82848
+ kind: z68.literal("internal"),
82849
+ routeId: z68.string().uuid(),
82850
+ entityId: z68.string().uuid(),
82851
+ entityType: z68.enum(["page", "content"]),
82852
+ href: z68.string().min(1),
82853
+ title: z68.string().min(1),
82854
+ typeLabel: z68.string().min(1),
82855
+ contentTypeKey: z68.string().nullable().optional(),
82856
+ contentTypeName: z68.string().nullable().optional(),
82857
+ updatedAt: z68.string().nullable().optional()
82729
82858
  }).passthrough();
82730
- var externalLinkSchema2 = z67.object({
82731
- kind: z67.literal("external"),
82859
+ var externalLinkSchema2 = z68.object({
82860
+ kind: z68.literal("external"),
82732
82861
  // Navigation external links are expected to be absolute URLs.
82733
- href: z67.string().url()
82862
+ href: z68.string().url()
82734
82863
  });
82735
- var customLinkSchema2 = z67.object({
82736
- kind: z67.literal("url"),
82737
- href: z67.string().min(1)
82864
+ var customLinkSchema2 = z68.object({
82865
+ kind: z68.literal("url"),
82866
+ href: z68.string().min(1)
82738
82867
  });
82739
- var pageLinkSchema2 = z67.object({
82740
- kind: z67.literal("page"),
82741
- identifier: z67.string().min(1)
82868
+ var pageLinkSchema2 = z68.object({
82869
+ kind: z68.literal("page"),
82870
+ identifier: z68.string().min(1)
82742
82871
  });
82743
- var entryLinkSchema2 = z67.object({
82744
- kind: z67.literal("entry"),
82745
- contentType: z67.string().min(1),
82746
- identifier: z67.string().min(1)
82872
+ var entryLinkSchema2 = z68.object({
82873
+ kind: z68.literal("entry"),
82874
+ contentType: z68.string().min(1),
82875
+ identifier: z68.string().min(1)
82747
82876
  });
82748
- var linkPayloadSchema = z67.discriminatedUnion("kind", [
82877
+ var linkPayloadSchema = z68.discriminatedUnion("kind", [
82749
82878
  internalLinkPayloadSchema,
82750
82879
  pageLinkSchema2,
82751
82880
  entryLinkSchema2,
@@ -82762,29 +82891,27 @@ var navigationLinkInputSchemaOptions = [
82762
82891
  portalLinkPayloadSchema,
82763
82892
  cartLinkPayloadSchema
82764
82893
  ];
82765
- var navigationLinkInputSchema = z67.discriminatedUnion(
82894
+ var navigationLinkInputSchema = z68.discriminatedUnion(
82766
82895
  "kind",
82767
82896
  navigationLinkInputSchemaOptions
82768
82897
  );
82769
82898
 
82770
82899
  // ../api/src/sdkConfig/contracts.ts
82771
- init_schema3();
82772
- init_schema();
82773
- import { z as z68 } from "zod";
82900
+ import { z as z69 } from "zod";
82774
82901
  function unsafeRetypeZodSchema(schema) {
82775
82902
  return schema;
82776
82903
  }
82777
- var navIdListSchema = z68.preprocess((value) => {
82904
+ var navIdListSchema = z69.preprocess((value) => {
82778
82905
  if (!Array.isArray(value)) return void 0;
82779
82906
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
82780
82907
  return filtered.length > 0 ? filtered : void 0;
82781
- }, z68.array(z68.string()).max(200).optional());
82782
- var dashboardNavVisibilityBaseSchema = z68.object({
82783
- mode: z68.enum(["augment", "restrict"]).optional(),
82908
+ }, z69.array(z69.string()).max(200).optional());
82909
+ var dashboardNavVisibilityBaseSchema = z69.object({
82910
+ mode: z69.enum(["augment", "restrict"]).optional(),
82784
82911
  allowIds: navIdListSchema,
82785
82912
  denyIds: navIdListSchema
82786
82913
  }).strip();
82787
- var dashboardNavVisibilityRolesSchema = z68.object({
82914
+ var dashboardNavVisibilityRolesSchema = z69.object({
82788
82915
  administrator: dashboardNavVisibilityBaseSchema.optional(),
82789
82916
  editor: dashboardNavVisibilityBaseSchema.optional(),
82790
82917
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -82792,57 +82919,57 @@ var dashboardNavVisibilityRolesSchema = z68.object({
82792
82919
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
82793
82920
  roles: dashboardNavVisibilityRolesSchema
82794
82921
  }).strip();
82795
- var dashboardNavigationConfigSchema = z68.object({
82922
+ var dashboardNavigationConfigSchema = z69.object({
82796
82923
  siteNav: dashboardNavVisibilitySchema.optional(),
82797
82924
  settingsNav: dashboardNavVisibilitySchema.optional()
82798
82925
  }).strip();
82799
- var dashboardConfigSchema = z68.object({
82800
- previewEditingEnabled: z68.boolean().optional(),
82926
+ var dashboardConfigSchema = z69.object({
82927
+ previewEditingEnabled: z69.boolean().optional(),
82801
82928
  navigation: dashboardNavigationConfigSchema.optional()
82802
82929
  }).strip();
82803
82930
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
82804
82931
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
82805
- var sdkLoaderEndpointSchema = z68.enum(SUPPORTED_LOADER_ENDPOINTS);
82806
- var loaderParamBindingSchema = z68.object({
82807
- $bind: z68.object({
82808
- from: z68.string().min(1, "Binding path is required"),
82809
- fallback: z68.string().optional()
82932
+ var sdkLoaderEndpointSchema = z69.enum(SUPPORTED_LOADER_ENDPOINTS);
82933
+ var loaderParamBindingSchema = z69.object({
82934
+ $bind: z69.object({
82935
+ from: z69.string().min(1, "Binding path is required"),
82936
+ fallback: z69.string().optional()
82810
82937
  })
82811
82938
  });
82812
- var loaderParamValueSchema = z68.union([
82813
- z68.string(),
82814
- z68.number(),
82815
- z68.boolean(),
82939
+ var loaderParamValueSchema = z69.union([
82940
+ z69.string(),
82941
+ z69.number(),
82942
+ z69.boolean(),
82816
82943
  loaderParamBindingSchema
82817
82944
  ]);
82818
- var sdkConfigLoaderSchema = z68.object({
82945
+ var sdkConfigLoaderSchema = z69.object({
82819
82946
  endpoint: sdkLoaderEndpointSchema,
82820
- params: z68.record(z68.string(), loaderParamValueSchema),
82821
- mode: z68.enum(["server", "client"]).default("server")
82947
+ params: z69.record(z69.string(), loaderParamValueSchema),
82948
+ mode: z69.enum(["server", "client"]).default("server")
82822
82949
  });
82823
- var sdkDataLoadersSchema = z68.record(z68.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
82824
- var sdkCustomBlockIdSchema = z68.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
82950
+ var sdkDataLoadersSchema = z69.record(z69.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
82951
+ var sdkCustomBlockIdSchema = z69.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
82825
82952
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
82826
82953
  }).transform((value) => value);
82827
- var sdkCustomBlockInputSchema = z68.object({
82954
+ var sdkCustomBlockInputSchema = z69.object({
82828
82955
  id: sdkCustomBlockIdSchema,
82829
- title: z68.string().min(1),
82830
- titleSource: z68.union([z68.string().min(1), z68.array(z68.string().min(1)).min(1)]).optional(),
82831
- description: z68.string().optional(),
82956
+ title: z69.string().min(1),
82957
+ titleSource: z69.union([z69.string().min(1), z69.array(z69.string().min(1)).min(1)]).optional(),
82958
+ description: z69.string().optional(),
82832
82959
  category: blockCategoryEnum,
82833
- icon: z68.string().optional(),
82834
- tags: z68.array(z68.string()).optional(),
82960
+ icon: z69.string().optional(),
82961
+ tags: z69.array(z69.string()).optional(),
82835
82962
  fields: fieldDefinitionInputSchema.array().min(1),
82836
82963
  dataLoaders: sdkDataLoadersSchema,
82837
82964
  layout: NodeSchema.optional(),
82838
- variants: z68.record(z68.string().min(1), NodeSchema).optional(),
82839
- defaultVariant: z68.string().min(1).optional(),
82840
- variantOptions: z68.record(
82841
- z68.string().min(1),
82842
- z68.object({
82843
- label: z68.string().min(1).optional(),
82844
- description: z68.string().min(1).optional(),
82845
- icon: z68.string().min(1).optional()
82965
+ variants: z69.record(z69.string().min(1), NodeSchema).optional(),
82966
+ defaultVariant: z69.string().min(1).optional(),
82967
+ variantOptions: z69.record(
82968
+ z69.string().min(1),
82969
+ z69.object({
82970
+ label: z69.string().min(1).optional(),
82971
+ description: z69.string().min(1).optional(),
82972
+ icon: z69.string().min(1).optional()
82846
82973
  })
82847
82974
  ).optional()
82848
82975
  }).superRefine((data, ctx) => {
@@ -82852,7 +82979,7 @@ var sdkCustomBlockInputSchema = z68.object({
82852
82979
  const exists = data.fields.some((field) => field.id === source);
82853
82980
  if (!exists) {
82854
82981
  ctx.addIssue({
82855
- code: z68.ZodIssueCode.custom,
82982
+ code: z69.ZodIssueCode.custom,
82856
82983
  message: `titleSource must reference a valid field ID (got "${source}")`,
82857
82984
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
82858
82985
  });
@@ -82861,7 +82988,7 @@ var sdkCustomBlockInputSchema = z68.object({
82861
82988
  }
82862
82989
  if (data.layout && data.variants) {
82863
82990
  ctx.addIssue({
82864
- code: z68.ZodIssueCode.custom,
82991
+ code: z69.ZodIssueCode.custom,
82865
82992
  message: "Custom block must define either `layout` or `variants`, not both",
82866
82993
  path: ["variants"]
82867
82994
  });
@@ -82870,14 +82997,14 @@ var sdkCustomBlockInputSchema = z68.object({
82870
82997
  const keys = Object.keys(data.variants);
82871
82998
  if (keys.length === 0) {
82872
82999
  ctx.addIssue({
82873
- code: z68.ZodIssueCode.custom,
83000
+ code: z69.ZodIssueCode.custom,
82874
83001
  message: "`variants` must contain at least one variant key",
82875
83002
  path: ["variants"]
82876
83003
  });
82877
83004
  }
82878
83005
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
82879
83006
  ctx.addIssue({
82880
- code: z68.ZodIssueCode.custom,
83007
+ code: z69.ZodIssueCode.custom,
82881
83008
  message: "`defaultVariant` must be a key present in `variants`",
82882
83009
  path: ["defaultVariant"]
82883
83010
  });
@@ -82886,7 +83013,7 @@ var sdkCustomBlockInputSchema = z68.object({
82886
83013
  for (const key of Object.keys(data.variantOptions)) {
82887
83014
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
82888
83015
  ctx.addIssue({
82889
- code: z68.ZodIssueCode.custom,
83016
+ code: z69.ZodIssueCode.custom,
82890
83017
  message: "`variantOptions` key must exist in `variants`",
82891
83018
  path: ["variantOptions", key]
82892
83019
  });
@@ -82895,74 +83022,74 @@ var sdkCustomBlockInputSchema = z68.object({
82895
83022
  }
82896
83023
  }
82897
83024
  });
82898
- var sdkBlockFieldExtensionInputSchema = z68.object({
83025
+ var sdkBlockFieldExtensionInputSchema = z69.object({
82899
83026
  fields: fieldDefinitionInputSchema.array().min(1)
82900
83027
  });
82901
- var sdkBlockFieldExtensionsInputSchema = z68.record(
82902
- z68.string().min(1),
83028
+ var sdkBlockFieldExtensionsInputSchema = z69.record(
83029
+ z69.string().min(1),
82903
83030
  sdkBlockFieldExtensionInputSchema
82904
83031
  );
82905
- var sdkThemePaletteSchema = z68.record(z68.string(), z68.string());
82906
- var sdkThemeConfigSchema = z68.object({
83032
+ var sdkThemePaletteSchema = z69.record(z69.string(), z69.string());
83033
+ var sdkThemeConfigSchema = z69.object({
82907
83034
  palette: sdkThemePaletteSchema
82908
83035
  });
82909
- var sdkSectionBackgroundSchema = z68.object({
82910
- id: z68.string().min(1),
82911
- label: z68.string().min(1),
82912
- token: z68.string().min(1)
83036
+ var sdkSectionBackgroundSchema = z69.object({
83037
+ id: z69.string().min(1),
83038
+ label: z69.string().min(1),
83039
+ token: z69.string().min(1)
82913
83040
  });
82914
- var sdkSectionOptionsConfigSchema = z68.object({
82915
- backgroundColor: z68.boolean().optional(),
82916
- backgroundImage: z68.boolean().optional(),
82917
- backgroundGradient: z68.boolean().optional(),
82918
- spacing: z68.union([z68.array(z68.enum(["compact", "default", "spacious"])), z68.boolean()]).optional(),
82919
- textColor: z68.boolean().optional()
83041
+ var sdkSectionOptionsConfigSchema = z69.object({
83042
+ backgroundColor: z69.boolean().optional(),
83043
+ backgroundImage: z69.boolean().optional(),
83044
+ backgroundGradient: z69.boolean().optional(),
83045
+ spacing: z69.union([z69.array(z69.enum(["compact", "default", "spacious"])), z69.boolean()]).optional(),
83046
+ textColor: z69.boolean().optional()
82920
83047
  });
82921
- var sdkContainerOptionsConfigSchema = z68.object({
82922
- maxWidth: z68.union([z68.array(z68.enum(["narrow", "default", "wide", "full"])), z68.boolean()]).optional(),
82923
- alignment: z68.union([z68.array(z68.enum(["left", "center", "right"])), z68.boolean()]).optional()
83048
+ var sdkContainerOptionsConfigSchema = z69.object({
83049
+ maxWidth: z69.union([z69.array(z69.enum(["narrow", "default", "wide", "full"])), z69.boolean()]).optional(),
83050
+ alignment: z69.union([z69.array(z69.enum(["left", "center", "right"])), z69.boolean()]).optional()
82924
83051
  });
82925
- var sdkSiteStyleConfigSchema = z68.object({
82926
- sectionBackgrounds: z68.array(sdkSectionBackgroundSchema).optional(),
83052
+ var sdkSiteStyleConfigSchema = z69.object({
83053
+ sectionBackgrounds: z69.array(sdkSectionBackgroundSchema).optional(),
82927
83054
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
82928
83055
  containerOptions: sdkContainerOptionsConfigSchema.optional()
82929
83056
  });
82930
- var sdkSiteLayoutConfigSchema = z68.object({
82931
- footerBlocks: z68.array(
82932
- z68.object({
82933
- id: z68.string().min(1).optional(),
82934
- kind: z68.string().min(1),
82935
- content: z68.record(z68.string(), z68.unknown()).optional()
83057
+ var sdkSiteLayoutConfigSchema = z69.object({
83058
+ footerBlocks: z69.array(
83059
+ z69.object({
83060
+ id: z69.string().min(1).optional(),
83061
+ kind: z69.string().min(1),
83062
+ content: z69.record(z69.string(), z69.unknown()).optional()
82936
83063
  })
82937
83064
  ).optional()
82938
83065
  });
82939
- var sdkFieldSelectOptionSchema = z68.object({
82940
- value: z68.string(),
82941
- label: z68.string()
83066
+ var sdkFieldSelectOptionSchema = z69.object({
83067
+ value: z69.string(),
83068
+ label: z69.string()
82942
83069
  });
82943
- var sdkBlockFieldConfigSchema = z68.object({
82944
- options: z68.array(sdkFieldSelectOptionSchema).optional()
83070
+ var sdkBlockFieldConfigSchema = z69.object({
83071
+ options: z69.array(sdkFieldSelectOptionSchema).optional()
82945
83072
  });
82946
- var sdkBlockFieldOptionsMapSchema = z68.record(
82947
- z68.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
83073
+ var sdkBlockFieldOptionsMapSchema = z69.record(
83074
+ z69.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
82948
83075
  message: "Block ID must be 'block.*' or 'custom.*' format"
82949
83076
  }),
82950
- z68.record(z68.string().min(1), sdkBlockFieldConfigSchema)
83077
+ z69.record(z69.string().min(1), sdkBlockFieldConfigSchema)
82951
83078
  ).optional();
82952
- var sdkContentTypeTemplateConfigSchema = z68.object({
82953
- blocks: z68.array(z68.unknown())
83079
+ var sdkContentTypeTemplateConfigSchema = z69.object({
83080
+ blocks: z69.array(z69.unknown())
82954
83081
  }).passthrough();
82955
- var sdkContentTypeConfigSchema = z68.object({
82956
- key: z68.string().min(1),
82957
- fields: z68.array(z68.unknown()),
83082
+ var sdkContentTypeConfigSchema = z69.object({
83083
+ key: z69.string().min(1),
83084
+ fields: z69.array(z69.unknown()),
82958
83085
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
82959
83086
  }).passthrough();
82960
- var sdkContentConfigSchema = z68.object({
82961
- contentTypes: z68.array(sdkContentTypeConfigSchema).optional(),
82962
- pages: z68.array(z68.unknown()).optional(),
82963
- entries: z68.array(z68.unknown()).optional(),
82964
- navigationMenus: z68.array(z68.unknown()).optional(),
82965
- settings: z68.unknown().optional()
83087
+ var sdkContentConfigSchema = z69.object({
83088
+ contentTypes: z69.array(sdkContentTypeConfigSchema).optional(),
83089
+ pages: z69.array(z69.unknown()).optional(),
83090
+ entries: z69.array(z69.unknown()).optional(),
83091
+ navigationMenus: z69.array(z69.unknown()).optional(),
83092
+ settings: z69.unknown().optional()
82966
83093
  }).passthrough();
82967
83094
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
82968
83095
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -82977,62 +83104,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
82977
83104
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
82978
83105
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
82979
83106
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
82980
- var sdkWorkflowIdSchema = z68.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
83107
+ var sdkWorkflowIdSchema = z69.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
82981
83108
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
82982
83109
  });
82983
- var sdkWorkflowEndpointSchema = z68.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
82984
- var sdkWorkflowManualTriggerSchema = z68.object({
82985
- type: z68.literal("manual")
83110
+ var sdkWorkflowEndpointSchema = z69.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
83111
+ var sdkWorkflowManualTriggerSchema = z69.object({
83112
+ type: z69.literal("manual")
82986
83113
  }).strict();
82987
- var sdkWorkflowTriggerFieldSchema = z68.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
83114
+ var sdkWorkflowTriggerFieldSchema = z69.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
82988
83115
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
82989
83116
  });
82990
- var sdkWorkflowFieldChangedConditionSchema = z68.object({
83117
+ var sdkWorkflowFieldChangedConditionSchema = z69.object({
82991
83118
  field: sdkWorkflowTriggerFieldSchema,
82992
- changed: z68.literal(true)
83119
+ changed: z69.literal(true)
82993
83120
  }).strict();
82994
- var sdkWorkflowFieldEmptyConditionSchema = z68.object({
83121
+ var sdkWorkflowFieldEmptyConditionSchema = z69.object({
82995
83122
  field: sdkWorkflowTriggerFieldSchema,
82996
- isEmpty: z68.boolean()
83123
+ isEmpty: z69.boolean()
82997
83124
  }).strict();
82998
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z68.object({
82999
- type: z68.literal("entry.draft.updated"),
83000
- when: z68.array(
83001
- z68.union([
83125
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z69.object({
83126
+ type: z69.literal("entry.draft.updated"),
83127
+ when: z69.array(
83128
+ z69.union([
83002
83129
  sdkWorkflowFieldChangedConditionSchema,
83003
83130
  sdkWorkflowFieldEmptyConditionSchema
83004
83131
  ])
83005
83132
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
83006
83133
  }).strict();
83007
- var sdkWorkflowTriggerSchema = z68.discriminatedUnion("type", [
83134
+ var sdkWorkflowTriggerSchema = z69.discriminatedUnion("type", [
83008
83135
  sdkWorkflowManualTriggerSchema,
83009
83136
  sdkWorkflowEntryDraftUpdatedTriggerSchema
83010
83137
  ]);
83011
- var sdkWorkflowConfirmationSchema = z68.object({
83012
- title: z68.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
83013
- body: z68.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
83138
+ var sdkWorkflowConfirmationSchema = z69.object({
83139
+ title: z69.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
83140
+ body: z69.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
83014
83141
  }).strict();
83015
- var sdkWorkflowConfigSchema = z68.object({
83142
+ var sdkWorkflowConfigSchema = z69.object({
83016
83143
  id: sdkWorkflowIdSchema,
83017
- title: z68.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
83018
- description: z68.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
83019
- contentType: z68.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
83144
+ title: z69.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
83145
+ description: z69.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
83146
+ contentType: z69.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
83020
83147
  endpoint: sdkWorkflowEndpointSchema,
83021
- triggers: z68.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
83148
+ triggers: z69.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
83022
83149
  confirmation: sdkWorkflowConfirmationSchema.optional()
83023
83150
  }).strict();
83024
- var sdkWorkflowsSchema = z68.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
83151
+ var sdkWorkflowsSchema = z69.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
83025
83152
  const ids = workflows.map((workflow) => workflow.id);
83026
83153
  return ids.length === new Set(ids).size;
83027
83154
  }, { message: "Workflow IDs must be unique" }).optional();
83028
- var riverbankSiteConfigInputSchema = z68.object({
83029
- siteId: z68.string().uuid(),
83030
- previewUrl: z68.string().url().optional(),
83031
- liveUrl: z68.string().url().optional(),
83155
+ var riverbankSiteConfigInputSchema = z69.object({
83156
+ siteId: z69.string().uuid(),
83157
+ previewUrl: z69.string().url().optional(),
83158
+ liveUrl: z69.string().url().optional(),
83032
83159
  theme: sdkThemeConfigSchema.optional(),
83033
83160
  styles: sdkSiteStyleConfigSchema.optional(),
83034
83161
  layout: sdkSiteLayoutConfigSchema.optional(),
83035
- customBlocks: z68.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
83162
+ customBlocks: z69.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
83036
83163
  const ids = blocks.map((b2) => b2.id);
83037
83164
  return ids.length === new Set(ids).size;
83038
83165
  }, { message: "Block IDs must be unique" }).optional(),
@@ -83040,50 +83167,50 @@ var riverbankSiteConfigInputSchema = z68.object({
83040
83167
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
83041
83168
  workflows: sdkWorkflowsSchema,
83042
83169
  content: sdkContentConfigSchema.optional(),
83043
- contentDir: z68.string().optional(),
83044
- sync: z68.object({
83045
- existingEntries: z68.enum(["skip", "update"]).optional()
83170
+ contentDir: z69.string().optional(),
83171
+ sync: z69.object({
83172
+ existingEntries: z69.enum(["skip", "update"]).optional()
83046
83173
  }).optional(),
83047
- deploy: z68.object({
83048
- verifyCommand: z68.string().optional(),
83049
- prebuildOutput: z68.string().optional()
83174
+ deploy: z69.object({
83175
+ verifyCommand: z69.string().optional(),
83176
+ prebuildOutput: z69.string().optional()
83050
83177
  }).optional(),
83051
- themeSource: z68.enum(["local", "cms"]).optional(),
83052
- activeTheme: z68.string().optional(),
83053
- enablePortal: z68.boolean().optional(),
83178
+ themeSource: z69.enum(["local", "cms"]).optional(),
83179
+ activeTheme: z69.string().optional(),
83180
+ enablePortal: z69.boolean().optional(),
83054
83181
  dashboard: dashboardConfigSchema.optional()
83055
83182
  }).strict();
83056
- var pushSdkConfigBodySchema = z68.object({
83183
+ var pushSdkConfigBodySchema = z69.object({
83057
83184
  config: riverbankSiteConfigInputSchema,
83058
- forceContentTypes: z68.boolean().optional()
83185
+ forceContentTypes: z69.boolean().optional()
83059
83186
  }).strict();
83060
83187
 
83061
83188
  // ../api/src/siteOnboarding.ts
83062
- import { z as z69 } from "zod";
83189
+ import { z as z70 } from "zod";
83063
83190
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
83064
83191
  configure_appointments: {
83065
83192
  requirementId: "configure_appointments",
83066
83193
  reason: "launch_anyway"
83067
83194
  }
83068
83195
  };
83069
- var acknowledgeLaunchRequirementRequestSchema = z69.discriminatedUnion(
83196
+ var acknowledgeLaunchRequirementRequestSchema = z70.discriminatedUnion(
83070
83197
  "requirementId",
83071
83198
  [
83072
- z69.object({
83073
- requirementId: z69.literal("review_generated_site")
83199
+ z70.object({
83200
+ requirementId: z70.literal("review_generated_site")
83074
83201
  }),
83075
- z69.object({
83076
- requirementId: z69.literal(
83202
+ z70.object({
83203
+ requirementId: z70.literal(
83077
83204
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
83078
83205
  ),
83079
- overrideReason: z69.literal(
83206
+ overrideReason: z70.literal(
83080
83207
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
83081
83208
  )
83082
83209
  })
83083
83210
  ]
83084
83211
  );
83085
- var goLiveSiteRequestSchema = z69.object({
83086
- acceptExtraSiteCharge: z69.boolean().optional()
83212
+ var goLiveSiteRequestSchema = z70.object({
83213
+ acceptExtraSiteCharge: z70.boolean().optional()
83087
83214
  });
83088
83215
 
83089
83216
  // ../surfaces/src/index.ts
@@ -83264,48 +83391,51 @@ function isRecord7(value) {
83264
83391
  }
83265
83392
 
83266
83393
  // ../api/src/appointmentSetup.ts
83267
- import { z as z70 } from "zod";
83268
- var appointmentSetupRefSchema = z70.discriminatedUnion("kind", [
83269
- z70.object({ kind: z70.literal("existing"), id: z70.string().min(1) }),
83270
- z70.object({ kind: z70.literal("new"), draftId: z70.string().min(1) })
83394
+ import { z as z71 } from "zod";
83395
+ var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
83396
+ var appointmentSetupRefSchema = z71.discriminatedUnion("kind", [
83397
+ z71.object({ kind: z71.literal("existing"), id: z71.string().min(1) }),
83398
+ z71.object({ kind: z71.literal("new"), draftId: z71.string().min(1) })
83271
83399
  ]);
83272
- var appointmentSetupVenueChoiceSchema = z70.discriminatedUnion("kind", [
83273
- z70.object({ kind: z70.literal("none") }),
83274
- z70.object({ kind: z70.literal("existing"), venueId: z70.string().min(1) }),
83275
- z70.object({
83276
- kind: z70.literal("create"),
83277
- draftId: z70.string().min(1),
83278
- title: z70.string().trim().min(1),
83279
- description: z70.string().nullable(),
83280
- timezone: z70.string().trim().min(1).nullable(),
83281
- addressJson: z70.record(z70.string(), z70.unknown()),
83282
- locationJson: z70.object({ lat: z70.number(), lng: z70.number() }).nullable()
83400
+ var appointmentSetupVenueChoiceSchema = z71.discriminatedUnion("kind", [
83401
+ z71.object({ kind: z71.literal("none") }),
83402
+ z71.object({ kind: z71.literal("existing"), venueId: z71.string().min(1) }),
83403
+ z71.object({
83404
+ kind: z71.literal("create"),
83405
+ draftId: z71.string().min(1),
83406
+ title: z71.string().trim().min(1),
83407
+ description: z71.string().nullable(),
83408
+ timezone: z71.string().trim().min(1).nullable(),
83409
+ addressJson: z71.record(z71.string(), z71.unknown()),
83410
+ locationJson: z71.object({ lat: z71.number(), lng: z71.number() }).nullable()
83283
83411
  })
83284
83412
  ]);
83285
- var appointmentSetupPaymentDraftSchema = z70.object({
83286
- priceType: z70.union([z70.literal("free"), z70.literal("paid")])
83287
- });
83288
- var appointmentSetupServiceAssignmentDraftSchema = z70.discriminatedUnion("kind", [
83289
- z70.object({ kind: z70.literal("all_practitioners") }),
83290
- z70.object({
83291
- kind: z70.literal("selected_practitioners"),
83292
- resourceRefs: z70.array(appointmentSetupRefSchema)
83413
+ var appointmentSetupPaymentDraftSchema = z71.object({
83414
+ priceType: z71.union([z71.literal("free"), z71.literal("paid")])
83415
+ });
83416
+ var appointmentSetupServiceAssignmentDraftSchema = z71.discriminatedUnion("kind", [
83417
+ z71.object({ kind: z71.literal("all_practitioners") }),
83418
+ z71.object({
83419
+ kind: z71.literal("selected_practitioners"),
83420
+ resourceRefs: z71.array(appointmentSetupRefSchema)
83293
83421
  })
83294
83422
  ]);
83295
- var appointmentSetupServiceDraftSchema = z70.object({
83423
+ var appointmentSetupServiceDraftSchema = z71.object({
83296
83424
  ref: appointmentSetupRefSchema,
83297
- title: z70.string().trim().min(1),
83298
- description: z70.string().nullable(),
83299
- durationMinutes: z70.number().int().positive(),
83300
- priceAmount: z70.number().int().nonnegative().nullable(),
83301
- isActive: z70.boolean(),
83302
- locationType: z70.union([
83303
- z70.literal("virtual"),
83304
- z70.literal("in_person"),
83305
- z70.literal("hybrid")
83425
+ title: z71.string().trim().min(1),
83426
+ description: z71.string().nullable(),
83427
+ durationMinutes: z71.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
83428
+ prepMinutes: z71.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
83429
+ cleanupMinutes: z71.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
83430
+ priceAmount: z71.number().int().nonnegative().nullable(),
83431
+ isActive: z71.boolean(),
83432
+ locationType: z71.union([
83433
+ z71.literal("virtual"),
83434
+ z71.literal("in_person"),
83435
+ z71.literal("hybrid")
83306
83436
  ]),
83307
83437
  venue: appointmentSetupVenueChoiceSchema,
83308
- timezone: z70.string().trim().min(1).nullable(),
83438
+ timezone: z71.string().trim().min(1).nullable(),
83309
83439
  payment: appointmentSetupPaymentDraftSchema,
83310
83440
  assignment: appointmentSetupServiceAssignmentDraftSchema
83311
83441
  }).superRefine((service, ctx) => {
@@ -83324,34 +83454,34 @@ var appointmentSetupServiceDraftSchema = z70.object({
83324
83454
  });
83325
83455
  }
83326
83456
  });
83327
- var appointmentSetupPractitionerDraftSchema = z70.object({
83457
+ var appointmentSetupPractitionerDraftSchema = z71.object({
83328
83458
  ref: appointmentSetupRefSchema,
83329
- displayName: z70.string().trim().min(1),
83330
- bio: z70.string().nullable(),
83331
- timezone: z70.string().trim().min(1),
83332
- colorHex: z70.string().nullable()
83333
- });
83334
- var appointmentSetupWeeklyWindowDraftSchema = z70.object({
83335
- weekday: z70.number().int().min(0).max(6),
83336
- startTime: z70.string(),
83337
- endTime: z70.string()
83338
- });
83339
- var appointmentSetupAvailabilityDraftSchema = z70.object({
83340
- kind: z70.literal("weekly_windows"),
83459
+ displayName: z71.string().trim().min(1),
83460
+ bio: z71.string().nullable(),
83461
+ timezone: z71.string().trim().min(1),
83462
+ colorHex: z71.string().nullable()
83463
+ });
83464
+ var appointmentSetupWeeklyWindowDraftSchema = z71.object({
83465
+ weekday: z71.number().int().min(0).max(6),
83466
+ startTime: z71.string(),
83467
+ endTime: z71.string()
83468
+ });
83469
+ var appointmentSetupAvailabilityDraftSchema = z71.object({
83470
+ kind: z71.literal("weekly_windows"),
83341
83471
  resourceRef: appointmentSetupRefSchema,
83342
83472
  serviceRef: appointmentSetupRefSchema.nullable(),
83343
- windows: z70.array(appointmentSetupWeeklyWindowDraftSchema)
83473
+ windows: z71.array(appointmentSetupWeeklyWindowDraftSchema)
83344
83474
  });
83345
83475
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
83346
83476
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
83347
- var appointmentSetupBookingNoticeSchema = z70.object({
83348
- minLeadMinutes: z70.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
83349
- maxBookingNoticeMinutes: z70.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
83350
- });
83351
- var applyAppointmentSetupRequestSchema = z70.object({
83352
- services: z70.array(appointmentSetupServiceDraftSchema),
83353
- practitioners: z70.array(appointmentSetupPractitionerDraftSchema),
83354
- availability: z70.array(appointmentSetupAvailabilityDraftSchema),
83477
+ var appointmentSetupBookingNoticeSchema = z71.object({
83478
+ minLeadMinutes: z71.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
83479
+ maxBookingNoticeMinutes: z71.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
83480
+ });
83481
+ var applyAppointmentSetupRequestSchema = z71.object({
83482
+ services: z71.array(appointmentSetupServiceDraftSchema),
83483
+ practitioners: z71.array(appointmentSetupPractitionerDraftSchema),
83484
+ availability: z71.array(appointmentSetupAvailabilityDraftSchema),
83355
83485
  bookingNotice: appointmentSetupBookingNoticeSchema
83356
83486
  });
83357
83487
 
@@ -83384,24 +83514,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
83384
83514
  ];
83385
83515
 
83386
83516
  // ../api/src/siteBanner.ts
83387
- import { z as z71 } from "zod";
83517
+ import { z as z72 } from "zod";
83388
83518
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
83389
83519
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
83390
83520
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
83391
83521
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
83392
- var siteBannerScopeSchema = z71.enum(SITE_BANNER_SCOPE_VALUES);
83393
- var siteBannerToneSchema = z71.enum(SITE_BANNER_TONE_VALUES);
83394
- var siteBannerBodySchema = z71.unknown().transform(unwrapRichTextValue);
83395
- var siteBannerCtaSchema = z71.object({
83396
- label: z71.string().trim().min(1),
83522
+ var siteBannerScopeSchema = z72.enum(SITE_BANNER_SCOPE_VALUES);
83523
+ var siteBannerToneSchema = z72.enum(SITE_BANNER_TONE_VALUES);
83524
+ var siteBannerBodySchema = z72.unknown().transform(unwrapRichTextValue);
83525
+ var siteBannerCtaSchema = z72.object({
83526
+ label: z72.string().trim().min(1),
83397
83527
  link: linkPayloadSchema
83398
83528
  });
83399
- var siteBannerSettingsSchema = z71.discriminatedUnion("enabled", [
83400
- z71.object({
83401
- enabled: z71.literal(false)
83529
+ var siteBannerSettingsSchema = z72.discriminatedUnion("enabled", [
83530
+ z72.object({
83531
+ enabled: z72.literal(false)
83402
83532
  }),
83403
- z71.object({
83404
- enabled: z71.literal(true),
83533
+ z72.object({
83534
+ enabled: z72.literal(true),
83405
83535
  scope: siteBannerScopeSchema,
83406
83536
  tone: siteBannerToneSchema,
83407
83537
  body: siteBannerBodySchema,
@@ -83415,7 +83545,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
83415
83545
  const analysis = analyzeSiteBannerBody(value.body);
83416
83546
  for (const issue2 of analysis.issues) {
83417
83547
  ctx.addIssue({
83418
- code: z71.ZodIssueCode.custom,
83548
+ code: z72.ZodIssueCode.custom,
83419
83549
  path: ["body"],
83420
83550
  message: siteBannerBodyIssueMessage(issue2)
83421
83551
  });
@@ -83639,71 +83769,71 @@ function parsePublicProductCategorySelector(value) {
83639
83769
  }
83640
83770
 
83641
83771
  // ../api/src/aiPlayground.ts
83642
- import { z as z72 } from "zod";
83643
- var Rfc6902PatchOp = z72.discriminatedUnion("op", [
83772
+ import { z as z73 } from "zod";
83773
+ var Rfc6902PatchOp = z73.discriminatedUnion("op", [
83644
83774
  // Standard RFC-6902 operations
83645
- z72.object({
83646
- op: z72.literal("add"),
83647
- path: z72.string(),
83648
- value: z72.unknown()
83775
+ z73.object({
83776
+ op: z73.literal("add"),
83777
+ path: z73.string(),
83778
+ value: z73.unknown()
83649
83779
  }),
83650
- z72.object({
83651
- op: z72.literal("remove"),
83652
- path: z72.string()
83780
+ z73.object({
83781
+ op: z73.literal("remove"),
83782
+ path: z73.string()
83653
83783
  }),
83654
- z72.object({
83655
- op: z72.literal("replace"),
83656
- path: z72.string(),
83657
- value: z72.unknown()
83784
+ z73.object({
83785
+ op: z73.literal("replace"),
83786
+ path: z73.string(),
83787
+ value: z73.unknown()
83658
83788
  }),
83659
- z72.object({
83660
- op: z72.literal("move"),
83661
- from: z72.string(),
83662
- path: z72.string()
83789
+ z73.object({
83790
+ op: z73.literal("move"),
83791
+ from: z73.string(),
83792
+ path: z73.string()
83663
83793
  }),
83664
- z72.object({
83665
- op: z72.literal("copy"),
83666
- from: z72.string(),
83667
- path: z72.string()
83794
+ z73.object({
83795
+ op: z73.literal("copy"),
83796
+ from: z73.string(),
83797
+ path: z73.string()
83668
83798
  }),
83669
83799
  // Block-level operations (Phase 2)
83670
- z72.object({
83671
- op: z72.literal("add_block"),
83672
- blockKind: z72.string(),
83673
- afterBlockId: z72.string().nullable(),
83674
- content: z72.record(z72.string(), z72.unknown()),
83675
- rationale: z72.string()
83800
+ z73.object({
83801
+ op: z73.literal("add_block"),
83802
+ blockKind: z73.string(),
83803
+ afterBlockId: z73.string().nullable(),
83804
+ content: z73.record(z73.string(), z73.unknown()),
83805
+ rationale: z73.string()
83676
83806
  }),
83677
- z72.object({
83678
- op: z72.literal("delete_block"),
83679
- blockId: z72.string(),
83680
- rationale: z72.string()
83807
+ z73.object({
83808
+ op: z73.literal("delete_block"),
83809
+ blockId: z73.string(),
83810
+ rationale: z73.string()
83681
83811
  }),
83682
- z72.object({
83683
- op: z72.literal("reorder_block"),
83684
- blockId: z72.string(),
83685
- afterBlockId: z72.string().nullable(),
83686
- rationale: z72.string()
83812
+ z73.object({
83813
+ op: z73.literal("reorder_block"),
83814
+ blockId: z73.string(),
83815
+ afterBlockId: z73.string().nullable(),
83816
+ rationale: z73.string()
83687
83817
  })
83688
83818
  ]);
83689
- var PlaygroundProposeRequest = z72.object({
83690
- request: z72.string().min(1).max(2e3)
83819
+ var PlaygroundProposeRequest = z73.object({
83820
+ request: z73.string().min(1).max(2e3)
83691
83821
  });
83692
- var MultiPagePatchEnvelope = z72.object({
83693
- pageId: z72.string(),
83694
- blockId: z72.string().optional(),
83822
+ var MultiPagePatchEnvelope = z73.object({
83823
+ pageId: z73.string(),
83824
+ blockId: z73.string().optional(),
83695
83825
  // Not present for page-level ops
83696
- blockKind: z72.string().optional(),
83697
- blockPurpose: z72.string().optional().nullable(),
83698
- ops: z72.array(Rfc6902PatchOp),
83699
- rationale: z72.string(),
83700
- currentContent: z72.record(z72.string(), z72.unknown()).optional()
83826
+ blockKind: z73.string().optional(),
83827
+ blockPurpose: z73.string().optional().nullable(),
83828
+ ops: z73.array(Rfc6902PatchOp),
83829
+ rationale: z73.string(),
83830
+ currentContent: z73.record(z73.string(), z73.unknown()).optional()
83701
83831
  });
83702
- var MultiPageUpdateResponse = z72.object({
83703
- patches: z72.array(MultiPagePatchEnvelope),
83704
- assistantMessage: z72.string(),
83705
- pagesModified: z72.number(),
83706
- toolCallsUsed: z72.number()
83832
+ var MultiPageUpdateResponse = z73.object({
83833
+ patches: z73.array(MultiPagePatchEnvelope),
83834
+ assistantMessage: z73.string(),
83835
+ pagesModified: z73.number(),
83836
+ toolCallsUsed: z73.number()
83707
83837
  });
83708
83838
 
83709
83839
  // src/data/prefetchBlockData.ts
@@ -83720,7 +83850,7 @@ var SUPPORTED_LOADER_ENDPOINTS2 = [
83720
83850
  "getPublicBookingServices",
83721
83851
  "getPublicEventDetails"
83722
83852
  ];
83723
- function isSupportedLoaderEndpoint(endpoint) {
83853
+ function isSupportedLoaderEndpoint2(endpoint) {
83724
83854
  return SUPPORTED_LOADER_ENDPOINTS2.includes(endpoint);
83725
83855
  }
83726
83856
  function parseManualEntryIds(entryIds) {
@@ -83763,7 +83893,7 @@ async function prefetchBlockData2(page, context, client, options) {
83763
83893
  );
83764
83894
  return prefetchBlockData(page, context, {
83765
83895
  apiClient: async ({ endpoint, params }) => {
83766
- if (!isSupportedLoaderEndpoint(endpoint)) {
83896
+ if (!isSupportedLoaderEndpoint2(endpoint)) {
83767
83897
  throw new Error(
83768
83898
  `Unsupported loader endpoint: ${endpoint}. SDK only supports: ${SUPPORTED_LOADER_ENDPOINTS2.join(", ")}`
83769
83899
  );
@@ -83935,7 +84065,7 @@ async function prefetchBlockData2(page, context, client, options) {
83935
84065
  }
83936
84066
  }
83937
84067
  },
83938
- isValidEndpoint: isSupportedLoaderEndpoint,
84068
+ isValidEndpoint: isSupportedLoaderEndpoint2,
83939
84069
  onError: (error, { block, loader }) => {
83940
84070
  console.warn("[prefetchBlockData] failed to prefetch block data", {
83941
84071
  block,