@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.
- package/dist/_dts/api/src/accessAdmin.d.ts +3 -3
- package/dist/_dts/api/src/admin/types.d.ts +1 -1
- package/dist/_dts/api/src/aiPlayground.d.ts +13 -87
- package/dist/_dts/api/src/appointmentSetup.d.ts +4 -0
- package/dist/_dts/api/src/billing.d.ts +1 -1
- package/dist/_dts/api/src/bookingConfig.d.ts +2 -2
- package/dist/_dts/api/src/bookingRecords.d.ts +1 -1
- package/dist/_dts/api/src/bookings.d.ts +1 -1
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +1 -1
- package/dist/_dts/api/src/communications.d.ts +1 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +2 -2
- package/dist/_dts/api/src/contentTypes.d.ts +1 -1
- package/dist/_dts/api/src/navigation/contracts.d.ts +9 -9
- package/dist/_dts/api/src/navigation/linkValue.d.ts +1 -1
- package/dist/_dts/api/src/navigation/types.d.ts +1 -1
- package/dist/_dts/api/src/public/index.d.ts +2 -2
- package/dist/_dts/api/src/public/types.d.ts +2 -2
- package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -2
- package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
- package/dist/_dts/api/src/siteBanner.d.ts +9 -9
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -2
- package/dist/_dts/api/src/siteOnboarding.d.ts +1 -1
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +5 -5
- package/dist/_dts/api/src/siteSettings.d.ts +3 -3
- package/dist/_dts/api/src/teamMembers.d.ts +1 -1
- package/dist/_dts/api/src/types.d.ts +1 -1
- package/dist/_dts/api/src/url.d.ts +1 -1
- package/dist/_dts/billing/src/components/index.d.ts +61 -3
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +1 -1
- package/dist/_dts/block-form/src/backend/types.d.ts +2 -2
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +2 -2
- package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -1
- package/dist/_dts/block-form/src/fields/types.d.ts +1 -1
- package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +1 -1
- package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +1 -1
- package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +1 -1
- package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +1 -1
- package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +1 -1
- package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +4 -4
- package/dist/_dts/block-form/src/widgets/constants.d.ts +1 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +1 -1
- package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
- package/dist/_dts/blocks/src/client.d.ts +6 -4
- package/dist/_dts/blocks/src/index.d.ts +28 -27
- package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
- package/dist/_dts/blocks/src/primitives/content/components/Button.d.ts +1 -1
- package/dist/_dts/blocks/src/rendering/server.d.ts +1 -1
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/structure/schema.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1665 -1665
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +1666 -1666
- package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1665 -1665
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1665 -1665
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +1666 -1666
- package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +42 -42
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1761 -1761
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +1764 -1764
- package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +44 -44
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1665 -1665
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1665 -1665
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +9 -9
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +139 -139
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1665 -1665
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +1665 -1665
- package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +19 -19
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1665 -1665
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +1 -1
- package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -1
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/facets.d.ts +5 -5
- package/dist/_dts/blocks/src/system/designCapabilities.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +1761 -1761
- package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1761 -1761
- package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1761 -1761
- package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1761 -1761
- package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1761 -1761
- package/dist/_dts/blocks/src/system/frame/frameStyles.d.ts +3 -3
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +2 -2
- package/dist/_dts/blocks/src/system/manifest/augmentManifest.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +201 -201
- package/dist/_dts/blocks/src/system/media/constrainedVideoMedia.d.ts +1 -1
- package/dist/_dts/blocks/src/system/media/slotContracts.d.ts +1 -1
- package/dist/_dts/blocks/src/system/node/fragments/ctaButton.d.ts +1 -1
- package/dist/_dts/blocks/src/system/node/fragments/typography.d.ts +1 -1
- package/dist/_dts/blocks/src/system/node/schema.d.ts +5 -5
- package/dist/_dts/blocks/src/system/registry.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/accordion.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/accordion.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +45 -29
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +27 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +11 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/LeafletStaticMap.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptionCopy.d.ts +1 -1
- package/dist/_dts/blocks/src/system/theme/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +3 -3
- package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
- package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +3 -3
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +3 -3
- package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +2 -2
- package/dist/_dts/content-editor/src/controller/buildPublishSuccessTransition.d.ts +2 -2
- package/dist/_dts/content-editor/src/controller/deriveRecoveryConflict.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/invalidBlockRecovery.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +3 -3
- package/dist/_dts/content-editor/src/controller/useInvalidBlockRecovery.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/blockedPublishPlan.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +2 -2
- package/dist/_dts/content-editor/src/hooks/useStoreAutosave.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +1 -1
- package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +1 -1
- package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +1 -1
- package/dist/_dts/content-editor/src/registry.d.ts +1 -1
- package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +2 -2
- package/dist/_dts/content-editor/src/types.d.ts +2 -2
- package/dist/_dts/content-editor/src/ui/blockValidationView.d.ts +3 -3
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/stores/utils.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
- package/dist/_dts/core/src/branded.d.ts +2 -0
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/planner.d.ts +64 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +17 -18
- package/dist/_dts/db/src/schemas/forms.d.ts +62 -62
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +5 -5
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +5 -5
- package/dist/_dts/editor-blocks/src/FormProvider.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +6 -6
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/BlockListContext.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/BlockPickerDialog.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/BlockThumbnail.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockTile.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/EnhancedBlockPickerDialog.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/block-editor/blockDiscovery.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/buildInsertBlockHistoryCommand.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useDraftContent.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/sdkBlockMerger.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/block-editor/settingsIntent.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-form/debug.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/blockPayload.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +6 -6
- package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/button/index.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerWidgetProvider.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/index.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/types.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkField.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/link/utils.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceWidgetProvider.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/reference/dynamicAdapters.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/widgets/reference/types.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/rich-text/ensureRichTextImageAssetIdentifier.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/rich-text/richTextImageHydration.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/shared/Combobox.d.ts +1 -1
- package/dist/_dts/media-core/src/fileAssetCompatibility.d.ts +1 -1
- package/dist/_dts/media-core/src/fileAssetDeletion.d.ts +1 -1
- package/dist/_dts/media-core/src/fileDomain.d.ts +1 -1
- package/dist/_dts/media-core/src/fileDownloadResolution.d.ts +1 -1
- package/dist/_dts/media-core/src/filePersistence.d.ts +1 -1
- package/dist/_dts/media-core/src/fileStorage.d.ts +1 -1
- package/dist/_dts/media-core/src/fileUploadAssetBuilder.d.ts +1 -1
- package/dist/_dts/media-core/src/fileUploadCleanup.d.ts +1 -1
- package/dist/_dts/media-core/src/fileUploadCompletion.d.ts +1 -1
- package/dist/_dts/media-core/src/fileUploadDurableFinalization.d.ts +1 -1
- package/dist/_dts/media-core/src/fileUploadFinalization.d.ts +1 -1
- package/dist/_dts/media-core/src/fileUploadSessionCreation.d.ts +1 -1
- package/dist/_dts/media-core/src/types.d.ts +2 -2
- package/dist/_dts/media-core/src/url.d.ts +1 -1
- package/dist/_dts/media-core/src/videoPrep.d.ts +1 -1
- package/dist/_dts/media-editor/src/CropDialog.d.ts +1 -1
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -2
- package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +1 -1
- package/dist/_dts/media-editor/src/context.d.ts +3 -3
- package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -1
- package/dist/_dts/media-editor/src/cropEditorSource.d.ts +1 -1
- package/dist/_dts/media-editor/src/debug.d.ts +1 -1
- package/dist/_dts/media-editor/src/provider.d.ts +3 -3
- package/dist/_dts/media-editor/src/runtimeMediaAssetState.d.ts +1 -1
- package/dist/_dts/media-editor/src/transformModel.d.ts +1 -1
- package/dist/_dts/media-editor/src/types.d.ts +2 -2
- package/dist/_dts/media-editor/src/utils.d.ts +1 -1
- package/dist/_dts/media-react/src/components/ImageCropper.d.ts +1 -1
- package/dist/_dts/media-react/src/components/cropDraftModel.d.ts +1 -1
- package/dist/_dts/media-react/src/components/cropGeometry.d.ts +1 -1
- package/dist/_dts/media-react/src/components/cropSessionState.d.ts +1 -1
- package/dist/_dts/media-react/src/components/useImageCropperController.d.ts +1 -1
- package/dist/_dts/media-react/src/ffmpegLoader.d.ts +1 -1
- package/dist/_dts/media-react/src/hooks/internal/classification.d.ts +1 -1
- package/dist/_dts/media-react/src/hooks/mediaAssetResponseMapper.d.ts +1 -1
- package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +4 -4
- package/dist/_dts/media-react/src/utils/rotation.d.ts +1 -1
- package/dist/_dts/media-react/src/videoFrameExtraction.d.ts +1 -1
- package/dist/_dts/media-react/src/videoPrepBrowser.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/composePageFromBlocks.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/blocks/customizeFacetControls.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/editorRegistry.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/aiProposalProjection.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +5 -5
- package/dist/_dts/preview-next/src/client/preview/OnboardingThemeSwitcher.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +5 -5
- package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewAuthBanner.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +9 -9
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorUI.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +8 -8
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +8 -8
- package/dist/_dts/preview-next/src/client/preview/PreviewViewportControls.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewZoomControls.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +5 -5
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +5 -5
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +4 -4
- package/dist/_dts/preview-next/src/client/preview/pageSchema.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/previewChromeSurface.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/previewChromeSurfacePolicy.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/previewSurface.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +4 -4
- package/dist/_dts/preview-next/src/client/preview/subrouteNotice.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -3
- package/dist/_dts/sdk/src/bookings/index.d.ts +3 -2
- package/dist/_dts/sdk/src/bookings/types.d.ts +16 -10
- package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/env.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +37 -43
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +19 -19
- package/dist/_dts/sdk/src/portal/config.d.ts +1 -1
- package/dist/_dts/sdk/src/portal/index.d.ts +1 -1
- package/dist/_dts/sdk/src/preview-next/client/index.d.ts +1 -1
- package/dist/_dts/sdk/src/preview-next/client/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/preview-next/constants.d.ts +1 -1
- package/dist/_dts/sdk/src/preview-next/cookies.d.ts +1 -1
- package/dist/_dts/sdk/src/preview-next/index.d.ts +2 -2
- package/dist/_dts/sdk/src/preview-next/middleware.d.ts +1 -1
- package/dist/_dts/sdk/src/preview-next/session.d.ts +1 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +18 -4
- package/dist/_dts/sdk/src/rendering/islands/blocksContracts.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +3 -3
- package/dist/_dts/sdk/src/spam-protection/index.d.ts +3 -3
- package/dist/_dts/sdk/src/theme-bridge/ThemeBridgeProvider.d.ts +2 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/adapter.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +70 -39
- package/dist/_dts/site-commands/src/domain.d.ts +2 -2
- package/dist/_dts/site-commands/src/exposure.d.ts +3 -3
- package/dist/_dts/site-commands/src/metadata.d.ts +13 -0
- package/dist/_dts/site-commands/src/planner.d.ts +1 -1
- package/dist/_dts/site-commands/src/refs.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +9 -9
- package/dist/_dts/theme-core/src/blocks/index.d.ts +2 -2
- package/dist/_dts/theme-core/src/blocks/types.d.ts +3 -2
- package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +5 -5
- package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +5 -5
- package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +5 -5
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +35 -35
- package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +5 -5
- package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +5 -5
- package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +5 -5
- package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +5 -5
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +7 -7
- package/dist/_dts/theme-core/src/buttons/types.d.ts +18 -18
- package/dist/_dts/theme-core/src/cards/types.d.ts +17 -17
- package/dist/_dts/theme-core/src/inputs/types.d.ts +13 -13
- package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +351 -351
- package/dist/_dts/theme-core/src/navigation/types.d.ts +15 -15
- package/dist/_dts/theme-core/src/palette/recipes/allRecipes.d.ts +1 -1
- package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +24 -24
- package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +18 -18
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +65 -65
- package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +18 -18
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +7 -7
- package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +18 -18
- package/dist/_dts/theme-core/src/progress/generateProgressCss.d.ts +2 -1
- package/dist/_dts/theme-core/src/recommend/generateThemes.d.ts +1 -1
- package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +4 -0
- package/dist/_dts/theme-core/src/schema.d.ts +568 -568
- package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +34 -34
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/pageDesignAuthority.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +14 -14
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +4 -4
- package/dist/_dts/theme-core/src/status/generateStatusCss.d.ts +2 -1
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +5 -5
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/button.d.ts +2 -2
- package/dist/_dts/ui/src/card.d.ts +1 -1
- package/dist/_dts/ui/src/color-picker.d.ts +1 -1
- package/dist/_dts/ui/src/surface.d.ts +2 -2
- package/dist/_dts/ui/src/toggle.d.ts +4 -4
- package/dist/cli/index.mjs +3031 -2878
- package/dist/client/bookings.mjs +104 -34
- package/dist/client/client.mjs +7757 -7627
- package/dist/client/hooks.mjs +5704 -3822
- package/dist/client/rendering/client.mjs +164 -35
- package/dist/client/rendering/islands.mjs +164 -35
- package/dist/client/rendering.mjs +476 -346
- package/dist/preview-next/client/runtime.mjs +188 -55
- package/dist/server/components.mjs +364 -310
- package/dist/server/config-validation.mjs +6851 -4889
- package/dist/server/config.mjs +6841 -4888
- package/dist/server/data.mjs +5704 -3822
- package/dist/server/index.mjs +160 -1762
- package/dist/server/next.mjs +6515 -5260
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +366 -312
- package/dist/server/rendering.mjs +366 -312
- package/dist/server/routing.mjs +10376 -6836
- package/dist/server/server.mjs +5692 -3810
- package/dist/server/theme-bridge.mjs +249 -15
- package/package.json +1 -3
package/dist/server/index.mjs
CHANGED
|
@@ -6345,10 +6345,10 @@ function appendQueryParam(queryParams, key, value) {
|
|
|
6345
6345
|
}
|
|
6346
6346
|
queryParams.append(key, String(value));
|
|
6347
6347
|
}
|
|
6348
|
-
function invalidateCacheTags(
|
|
6348
|
+
function invalidateCacheTags(tags, params) {
|
|
6349
6349
|
const resolved = getRevalidateTag();
|
|
6350
|
-
if (typeof window !== "undefined" || !resolved || !
|
|
6351
|
-
|
|
6350
|
+
if (typeof window !== "undefined" || !resolved || !tags) return;
|
|
6351
|
+
tags.forEach((tag) => {
|
|
6352
6352
|
let processedTag = tag;
|
|
6353
6353
|
if (params) {
|
|
6354
6354
|
Object.entries(params).forEach(([key, value]) => {
|
|
@@ -6567,10 +6567,10 @@ function createRawCMSClient(headers = {}, baseUrl) {
|
|
|
6567
6567
|
};
|
|
6568
6568
|
const fetchPromise = fetch(url, requestInit);
|
|
6569
6569
|
if (!isGetOrHead && "tags" in endpointConfig && Array.isArray(endpointConfig.tags)) {
|
|
6570
|
-
const
|
|
6570
|
+
const tags = endpointConfig.tags.map((tag) => tag);
|
|
6571
6571
|
return fetchPromise.then((response) => {
|
|
6572
6572
|
if (response.ok) {
|
|
6573
|
-
invalidateCacheTags(
|
|
6573
|
+
invalidateCacheTags(tags, params);
|
|
6574
6574
|
}
|
|
6575
6575
|
return response;
|
|
6576
6576
|
});
|
|
@@ -6758,7 +6758,7 @@ var SimpleCache = class {
|
|
|
6758
6758
|
};
|
|
6759
6759
|
|
|
6760
6760
|
// src/version.ts
|
|
6761
|
-
var SDK_VERSION = "0.
|
|
6761
|
+
var SDK_VERSION = "0.70.0";
|
|
6762
6762
|
|
|
6763
6763
|
// src/client/error.ts
|
|
6764
6764
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
@@ -8535,1767 +8535,165 @@ function createPrebuildLoader(config) {
|
|
|
8535
8535
|
return new PrebuildLoader(config);
|
|
8536
8536
|
}
|
|
8537
8537
|
|
|
8538
|
-
//
|
|
8539
|
-
|
|
8540
|
-
|
|
8541
|
-
|
|
8542
|
-
|
|
8543
|
-
|
|
8544
|
-
|
|
8545
|
-
|
|
8546
|
-
|
|
8547
|
-
monthlyAmountCents: z.number().int().nonnegative(),
|
|
8548
|
-
monthlyCurrency: z.literal("gbp")
|
|
8549
|
-
});
|
|
8550
|
-
|
|
8551
|
-
// ../api/src/navigation/contracts.ts
|
|
8552
|
-
import { z as z2 } from "zod";
|
|
8553
|
-
var portalLinkPayloadSchema = z2.object({
|
|
8554
|
-
kind: z2.literal("portal"),
|
|
8555
|
-
path: z2.string().trim().startsWith("/").optional(),
|
|
8556
|
-
labels: z2.object({
|
|
8557
|
-
loggedOut: z2.string().trim().min(1).optional(),
|
|
8558
|
-
loggedIn: z2.string().trim().min(1).optional()
|
|
8559
|
-
}).optional()
|
|
8560
|
-
});
|
|
8561
|
-
var cartLinkLabelConfigSchema = z2.discriminatedUnion("kind", [
|
|
8562
|
-
z2.object({
|
|
8563
|
-
kind: z2.literal("icon-only")
|
|
8564
|
-
}),
|
|
8565
|
-
z2.object({
|
|
8566
|
-
kind: z2.literal("icon-with-label"),
|
|
8567
|
-
label: z2.string().trim().min(1)
|
|
8568
|
-
})
|
|
8569
|
-
]);
|
|
8570
|
-
var cartLinkPayloadSchema = z2.object({
|
|
8571
|
-
kind: z2.literal("cart"),
|
|
8572
|
-
badge: z2.enum(["show-count", "hidden"]),
|
|
8573
|
-
label: cartLinkLabelConfigSchema
|
|
8574
|
-
});
|
|
8575
|
-
var internalLinkPayloadSchema = z2.object({
|
|
8576
|
-
kind: z2.literal("internal"),
|
|
8577
|
-
routeId: z2.string().uuid(),
|
|
8578
|
-
entityId: z2.string().uuid(),
|
|
8579
|
-
entityType: z2.enum(["page", "content"]),
|
|
8580
|
-
href: z2.string().min(1),
|
|
8581
|
-
title: z2.string().min(1),
|
|
8582
|
-
typeLabel: z2.string().min(1),
|
|
8583
|
-
contentTypeKey: z2.string().nullable().optional(),
|
|
8584
|
-
contentTypeName: z2.string().nullable().optional(),
|
|
8585
|
-
updatedAt: z2.string().nullable().optional()
|
|
8586
|
-
}).passthrough();
|
|
8587
|
-
var externalLinkSchema = z2.object({
|
|
8588
|
-
kind: z2.literal("external"),
|
|
8589
|
-
// Navigation external links are expected to be absolute URLs.
|
|
8590
|
-
href: z2.string().url()
|
|
8591
|
-
});
|
|
8592
|
-
var customLinkSchema = z2.object({
|
|
8593
|
-
kind: z2.literal("url"),
|
|
8594
|
-
href: z2.string().min(1)
|
|
8595
|
-
});
|
|
8596
|
-
var pageLinkSchema = z2.object({
|
|
8597
|
-
kind: z2.literal("page"),
|
|
8598
|
-
identifier: z2.string().min(1)
|
|
8599
|
-
});
|
|
8600
|
-
var entryLinkSchema = z2.object({
|
|
8601
|
-
kind: z2.literal("entry"),
|
|
8602
|
-
contentType: z2.string().min(1),
|
|
8603
|
-
identifier: z2.string().min(1)
|
|
8604
|
-
});
|
|
8605
|
-
var linkPayloadSchema = z2.discriminatedUnion("kind", [
|
|
8606
|
-
internalLinkPayloadSchema,
|
|
8607
|
-
pageLinkSchema,
|
|
8608
|
-
entryLinkSchema,
|
|
8609
|
-
externalLinkSchema,
|
|
8610
|
-
customLinkSchema,
|
|
8611
|
-
portalLinkPayloadSchema,
|
|
8612
|
-
cartLinkPayloadSchema
|
|
8613
|
-
]);
|
|
8614
|
-
var navigationLinkInputSchemaOptions = [
|
|
8615
|
-
pageLinkSchema,
|
|
8616
|
-
entryLinkSchema,
|
|
8617
|
-
externalLinkSchema,
|
|
8618
|
-
customLinkSchema,
|
|
8619
|
-
portalLinkPayloadSchema,
|
|
8620
|
-
cartLinkPayloadSchema
|
|
8621
|
-
];
|
|
8622
|
-
var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
8623
|
-
"kind",
|
|
8624
|
-
navigationLinkInputSchemaOptions
|
|
8625
|
-
);
|
|
8626
|
-
|
|
8627
|
-
// ../api/src/sdkConfig/contracts.ts
|
|
8628
|
-
import { z as z5 } from "zod";
|
|
8629
|
-
|
|
8630
|
-
// ../blocks/src/system/manifest/schema.ts
|
|
8631
|
-
import { z as z4 } from "zod";
|
|
8632
|
-
|
|
8633
|
-
// ../media-core/src/aspectTransforms.ts
|
|
8634
|
-
function parseAspectRatioValue(value) {
|
|
8635
|
-
if (typeof value === "number") {
|
|
8636
|
-
return Number.isFinite(value) && value > 0 ? value : void 0;
|
|
8637
|
-
}
|
|
8638
|
-
if (typeof value !== "string") return void 0;
|
|
8639
|
-
const normalized = value.trim();
|
|
8640
|
-
if (!normalized) return void 0;
|
|
8641
|
-
if (normalized === "auto") return void 0;
|
|
8642
|
-
if (normalized.includes(":") || normalized.includes("/")) {
|
|
8643
|
-
const delimiter = normalized.includes(":") ? ":" : "/";
|
|
8644
|
-
const [wRaw, hRaw] = normalized.split(delimiter);
|
|
8645
|
-
const width = Number(wRaw?.trim());
|
|
8646
|
-
const height = Number(hRaw?.trim());
|
|
8647
|
-
if (!Number.isFinite(width) || !Number.isFinite(height) || width <= 0 || height <= 0) {
|
|
8648
|
-
return void 0;
|
|
8649
|
-
}
|
|
8650
|
-
return width / height;
|
|
8651
|
-
}
|
|
8652
|
-
const numeric = Number(normalized);
|
|
8653
|
-
if (!Number.isFinite(numeric) || numeric <= 0) return void 0;
|
|
8654
|
-
return numeric;
|
|
8655
|
-
}
|
|
8656
|
-
|
|
8657
|
-
// ../blocks/src/system/node/schema.ts
|
|
8658
|
-
import { z as z3 } from "zod";
|
|
8659
|
-
var transformStepSchema = z3.object({
|
|
8660
|
-
id: z3.string().min(1, "Transform requires an identifier"),
|
|
8661
|
-
options: z3.record(z3.string(), z3.unknown()).optional()
|
|
8662
|
-
});
|
|
8663
|
-
var bindingPathSchema = z3.string().min(1, "Binding path is required").regex(/[A-Za-z0-9_\.$\[\]/-]+/, "Binding path contains invalid characters");
|
|
8664
|
-
var bindingSchema = z3.object({
|
|
8665
|
-
from: bindingPathSchema,
|
|
8666
|
-
fallback: z3.unknown().optional(),
|
|
8667
|
-
transforms: transformStepSchema.array().default([]),
|
|
8668
|
-
pick: z3.enum(["value", "collection", "context"]).default("value"),
|
|
8669
|
-
coerce: z3.enum(["number", "boolean", "string"]).optional()
|
|
8670
|
-
});
|
|
8671
|
-
var repeatSchema = z3.object({
|
|
8672
|
-
collection: bindingSchema,
|
|
8673
|
-
itemName: z3.string().min(1).default("item"),
|
|
8674
|
-
indexName: z3.string().min(1).default("index"),
|
|
8675
|
-
limit: z3.number().int().positive().optional(),
|
|
8676
|
-
sortBy: z3.object({
|
|
8677
|
-
path: bindingPathSchema,
|
|
8678
|
-
direction: z3.enum(["asc", "desc"]).default("asc")
|
|
8679
|
-
}).optional()
|
|
8680
|
-
});
|
|
8681
|
-
var conditionSchema = z3.object({
|
|
8682
|
-
when: bindingSchema,
|
|
8683
|
-
equals: z3.unknown().optional(),
|
|
8684
|
-
not: z3.boolean().default(false)
|
|
8685
|
-
});
|
|
8686
|
-
var dataScopeSchema = z3.object({
|
|
8687
|
-
name: z3.string().min(1),
|
|
8688
|
-
from: bindingSchema
|
|
8689
|
-
});
|
|
8690
|
-
var nodePropsSchema = z3.record(z3.string(), z3.unknown()).default({});
|
|
8691
|
-
var nodeSchema = z3.object({
|
|
8692
|
-
type: z3.string().min(1, "Node type is required"),
|
|
8693
|
-
key: z3.string().optional(),
|
|
8694
|
-
props: nodePropsSchema.optional(),
|
|
8695
|
-
children: z3.lazy(() => nodeSchema.array().default([])).optional(),
|
|
8696
|
-
$bind: bindingSchema.optional(),
|
|
8697
|
-
$repeat: repeatSchema.optional(),
|
|
8698
|
-
$when: conditionSchema.optional(),
|
|
8699
|
-
$scopes: dataScopeSchema.array().optional()
|
|
8700
|
-
});
|
|
8701
|
-
var nodeTreeSchema = nodeSchema.array().or(nodeSchema);
|
|
8702
|
-
var NodeSchema = nodeSchema;
|
|
8703
|
-
var NodeTreeSchema = nodeTreeSchema;
|
|
8704
|
-
|
|
8705
|
-
// ../theme-core/src/responsive/breakpoints.ts
|
|
8706
|
-
var BREAKPOINT_SM = 640;
|
|
8707
|
-
var BREAKPOINT_MD = 768;
|
|
8708
|
-
var BREAKPOINT_LG = 1024;
|
|
8709
|
-
var BREAKPOINT_XL = 1280;
|
|
8710
|
-
var BREAKPOINT_SM_DOWN = BREAKPOINT_SM - 1;
|
|
8711
|
-
var BREAKPOINT_MD_DOWN = BREAKPOINT_MD - 1;
|
|
8712
|
-
var BREAKPOINT_LG_DOWN = BREAKPOINT_LG - 1;
|
|
8713
|
-
function mqUp(px) {
|
|
8714
|
-
return `(min-width: ${px}px)`;
|
|
8715
|
-
}
|
|
8716
|
-
function mqDown(px) {
|
|
8717
|
-
return `(max-width: ${px}px)`;
|
|
8718
|
-
}
|
|
8719
|
-
function mqBetween(minPx, maxPx) {
|
|
8720
|
-
return `${mqUp(minPx)} and ${mqDown(maxPx)}`;
|
|
8721
|
-
}
|
|
8722
|
-
var MQ_SM_UP = mqUp(BREAKPOINT_SM);
|
|
8723
|
-
var MQ_MD_UP = mqUp(BREAKPOINT_MD);
|
|
8724
|
-
var MQ_LG_UP = mqUp(BREAKPOINT_LG);
|
|
8725
|
-
var MQ_XL_UP = mqUp(BREAKPOINT_XL);
|
|
8726
|
-
var MQ_SM_DOWN = mqDown(BREAKPOINT_SM_DOWN);
|
|
8727
|
-
var MQ_MD_DOWN = mqDown(BREAKPOINT_MD_DOWN);
|
|
8728
|
-
var MQ_LG_DOWN = mqDown(BREAKPOINT_LG_DOWN);
|
|
8729
|
-
var MQ_TABLET_ONLY = mqBetween(BREAKPOINT_SM, BREAKPOINT_LG_DOWN);
|
|
8730
|
-
var MQ_MAX_640 = mqDown(BREAKPOINT_SM);
|
|
8731
|
-
var MQ_MAX_768 = mqDown(BREAKPOINT_MD);
|
|
8732
|
-
|
|
8733
|
-
// ../blocks/src/system/layout/repeaterGrid.ts
|
|
8734
|
-
var DEFAULT_REPEATER_GRID_SPAN_FIELD_ID = "gridSpan";
|
|
8735
|
-
var DEFAULT_REPEATER_GRID_ROW_FIELD_ID = "gridRow";
|
|
8736
|
-
var DEFAULT_REPEATER_GRID_COLUMN_FIELD_ID = "gridColumn";
|
|
8737
|
-
function asNonEmptyString(value) {
|
|
8738
|
-
if (typeof value !== "string") return null;
|
|
8739
|
-
const trimmed = value.trim();
|
|
8740
|
-
return trimmed.length > 0 ? trimmed : null;
|
|
8741
|
-
}
|
|
8742
|
-
function resolveRepeaterGridSpanFieldId(options) {
|
|
8743
|
-
return asNonEmptyString(options?.id) ?? DEFAULT_REPEATER_GRID_SPAN_FIELD_ID;
|
|
8744
|
-
}
|
|
8745
|
-
function resolveRepeaterGridRowFieldId(options) {
|
|
8746
|
-
return asNonEmptyString(options?.id) ?? DEFAULT_REPEATER_GRID_ROW_FIELD_ID;
|
|
8747
|
-
}
|
|
8748
|
-
function resolveRepeaterGridColumnFieldId(options) {
|
|
8749
|
-
return asNonEmptyString(options?.id) ?? DEFAULT_REPEATER_GRID_COLUMN_FIELD_ID;
|
|
8750
|
-
}
|
|
8751
|
-
|
|
8752
|
-
// ../blocks/src/system/manifest/schema.ts
|
|
8753
|
-
var visibilityLevels = ["admin", "designer", "author"];
|
|
8754
|
-
var siteOptionSources = [
|
|
8755
|
-
"eventCategories",
|
|
8756
|
-
"venues",
|
|
8757
|
-
"staffMembers"
|
|
8758
|
-
];
|
|
8759
|
-
var mediaDeliverySchema = z4.object({
|
|
8760
|
-
sizes: z4.string().optional(),
|
|
8761
|
-
widthCandidates: z4.array(z4.number().int().positive()).optional(),
|
|
8762
|
-
maxCssWidth: z4.number().positive().optional(),
|
|
8763
|
-
maxCssHeight: z4.number().positive().optional(),
|
|
8764
|
-
strategy: z4.enum(["default", "columnsAuto", "imageGalleryVariant"]).optional(),
|
|
8765
|
-
strategyOptions: z4.record(z4.string(), z4.unknown()).optional()
|
|
8766
|
-
});
|
|
8767
|
-
var selectOptionSchema = z4.object({
|
|
8768
|
-
value: z4.string(),
|
|
8769
|
-
label: z4.string(),
|
|
8770
|
-
description: z4.string().optional(),
|
|
8771
|
-
icon: z4.string().optional()
|
|
8772
|
-
});
|
|
8773
|
-
var selectSourceSchema = z4.discriminatedUnion("kind", [
|
|
8774
|
-
z4.object({
|
|
8775
|
-
kind: z4.literal("static")
|
|
8776
|
-
}),
|
|
8777
|
-
z4.object({
|
|
8778
|
-
kind: z4.literal("site"),
|
|
8779
|
-
optionSource: z4.enum(siteOptionSources)
|
|
8780
|
-
}),
|
|
8781
|
-
z4.object({
|
|
8782
|
-
kind: z4.literal("sdk")
|
|
8783
|
-
})
|
|
8784
|
-
]);
|
|
8785
|
-
function assertNeverSelectSource(value) {
|
|
8786
|
-
throw new Error(`Unhandled select source: ${JSON.stringify(value)}`);
|
|
8787
|
-
}
|
|
8788
|
-
var uiSchema = z4.object({
|
|
8789
|
-
widget: z4.string().optional(),
|
|
8790
|
-
// Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
|
|
8791
|
-
preset: z4.enum(["disclosure"]).optional(),
|
|
8792
|
-
flattenInRepeater: z4.boolean().optional(),
|
|
8793
|
-
hidden: z4.boolean().optional(),
|
|
8794
|
-
hideLabel: z4.boolean().optional(),
|
|
8795
|
-
hideDescription: z4.boolean().optional(),
|
|
8796
|
-
showCharCount: z4.union([
|
|
8797
|
-
z4.number().int().positive(),
|
|
8798
|
-
z4.object({ max: z4.number().int().positive() })
|
|
8799
|
-
]).optional(),
|
|
8800
|
-
showSlugPreview: z4.boolean().optional(),
|
|
8801
|
-
variant: z4.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
8802
|
-
richTextVariant: z4.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
8803
|
-
cropEditorMode: z4.enum(["dialog", "inline"]).optional(),
|
|
8804
|
-
cropEditorAutoOpen: z4.boolean().optional(),
|
|
8805
|
-
mediaPickerAutoOpen: z4.boolean().optional(),
|
|
8806
|
-
showMediaPreview: z4.boolean().optional(),
|
|
8807
|
-
showMediaOverlayActions: z4.boolean().optional(),
|
|
8808
|
-
mediaDelivery: mediaDeliverySchema.optional(),
|
|
8809
|
-
mediaDeliveryByVariant: z4.record(z4.string(), mediaDeliverySchema).optional(),
|
|
8810
|
-
// Optional input hints for validators/widgets
|
|
8811
|
-
inputType: z4.enum(["text", "email", "tel", "number"]).optional(),
|
|
8812
|
-
min: z4.number().optional(),
|
|
8813
|
-
max: z4.number().optional(),
|
|
8814
|
-
step: z4.number().optional(),
|
|
8815
|
-
showValue: z4.boolean().optional(),
|
|
8816
|
-
pattern: z4.string().optional(),
|
|
8817
|
-
placeholder: z4.string().optional(),
|
|
8818
|
-
visibleWhen: z4.object({
|
|
8819
|
-
field: z4.string().min(1),
|
|
8820
|
-
equals: z4.any().optional(),
|
|
8821
|
-
notEquals: z4.any().optional(),
|
|
8822
|
-
oneOf: z4.array(z4.any()).optional(),
|
|
8823
|
-
notIn: z4.array(z4.any()).optional()
|
|
8824
|
-
}).optional(),
|
|
8825
|
-
// Modal configuration for modal and group fields
|
|
8826
|
-
modalConfig: z4.object({
|
|
8827
|
-
buttonLabel: z4.string().optional(),
|
|
8828
|
-
description: z4.string().optional(),
|
|
8829
|
-
buttonVariant: z4.enum(["default", "outline"]).optional(),
|
|
8830
|
-
showCustomizedIndicator: z4.boolean().optional(),
|
|
8831
|
-
maxWidth: z4.string().optional()
|
|
8832
|
-
}).optional(),
|
|
8833
|
-
// Background field configuration
|
|
8834
|
-
allowedTypes: z4.array(z4.enum(["color", "gradient", "image"])).optional(),
|
|
8835
|
-
// Tab group configuration
|
|
8836
|
-
fullWidth: z4.boolean().optional(),
|
|
8837
|
-
// Field layout configuration
|
|
8838
|
-
row: z4.string().optional(),
|
|
8839
|
-
colSpan: z4.number().int().min(1).max(4).optional(),
|
|
8840
|
-
// Group layout configuration
|
|
8841
|
-
layout: z4.enum(["stack", "grid"]).optional(),
|
|
8842
|
-
columns: z4.number().int().min(2).max(4).optional(),
|
|
8843
|
-
// Named grid presets for GroupField grid layout.
|
|
8844
|
-
// Use these for common responsive patterns to avoid embedding Tailwind strings in manifests.
|
|
8845
|
-
gridColsPreset: z4.enum([
|
|
8846
|
-
"simple2",
|
|
8847
|
-
// base 1 col -> sm 2 cols
|
|
8848
|
-
"simple3",
|
|
8849
|
-
// base 1 col -> sm 2 cols -> md 3 cols
|
|
8850
|
-
"simple4",
|
|
8851
|
-
// base 1 col -> sm 2 cols -> lg 4 cols
|
|
8852
|
-
"buttonCtaRow"
|
|
8853
|
-
// CTA/button row with compact label/link widths on lg+
|
|
8854
|
-
]).optional(),
|
|
8855
|
-
// Responsive grid columns for GroupField grid layout (mobile-first).
|
|
8856
|
-
// Uses Tailwind breakpoints; when provided, GroupField will build the appropriate
|
|
8857
|
-
// `grid-cols-*` classes from this config.
|
|
8858
|
-
gridColumns: z4.object({
|
|
8859
|
-
base: z4.number().int().min(1).max(4).optional(),
|
|
8860
|
-
sm: z4.number().int().min(1).max(4).optional(),
|
|
8861
|
-
md: z4.number().int().min(1).max(4).optional(),
|
|
8862
|
-
lg: z4.number().int().min(1).max(4).optional(),
|
|
8863
|
-
xl: z4.number().int().min(1).max(4).optional()
|
|
8864
|
-
}).optional(),
|
|
8865
|
-
// Group grid override: allows custom responsive grid column classes (e.g. unequal column widths)
|
|
8866
|
-
gridColsClassName: z4.string().optional(),
|
|
8867
|
-
// Repeater presentation presets
|
|
8868
|
-
repeaterPreset: z4.enum(["thumbnailGrid", "layoutGrid"]).optional(),
|
|
8869
|
-
thumbnailField: z4.string().optional(),
|
|
8870
|
-
thumbnailAltField: z4.string().optional(),
|
|
8871
|
-
thumbnailLabelField: z4.string().optional(),
|
|
8872
|
-
thumbnailAspectRatio: z4.string().optional(),
|
|
8873
|
-
thumbnailCardDensity: z4.enum(["compact", "comfortable"]).optional(),
|
|
8874
|
-
layoutGridColumnsFields: z4.object({
|
|
8875
|
-
base: z4.string().optional(),
|
|
8876
|
-
sm: z4.string().optional(),
|
|
8877
|
-
md: z4.string().optional(),
|
|
8878
|
-
lg: z4.string().min(1),
|
|
8879
|
-
xl: z4.string().optional()
|
|
8880
|
-
}).optional(),
|
|
8881
|
-
layoutGridSpanField: z4.string().optional(),
|
|
8882
|
-
layoutGridRowField: z4.string().optional(),
|
|
8883
|
-
layoutGridColumnField: z4.string().optional(),
|
|
8884
|
-
layoutGridMaxRows: z4.number().int().positive().optional(),
|
|
8885
|
-
// Icon picker configuration (used when ui.widget === 'iconPicker')
|
|
8886
|
-
iconPickerPreset: z4.enum(["cta"]).optional(),
|
|
8887
|
-
// Entry picker configuration
|
|
8888
|
-
contentTypeField: z4.string().optional(),
|
|
8889
|
-
fixedContentType: z4.string().optional(),
|
|
8890
|
-
valueFrom: z4.enum(["id", "identifier", "slug"]).optional(),
|
|
8891
|
-
siteOptionSource: z4.enum(siteOptionSources).optional(),
|
|
8892
|
-
searchThreshold: z4.number().int().positive().optional(),
|
|
8893
|
-
// Render in block header instead of form body (used for section styles)
|
|
8894
|
-
renderInHeader: z4.boolean().optional(),
|
|
8895
|
-
// Semantic field intent for content-first form routing and settings tab grouping
|
|
8896
|
-
intent: z4.enum(["content", "display", "behavior", "style"]).optional()
|
|
8897
|
-
}).partial();
|
|
8898
|
-
var baseFieldSchema = z4.object({
|
|
8899
|
-
id: z4.string().min(1, "Field id is required"),
|
|
8900
|
-
label: z4.string().min(1, "Field label is required"),
|
|
8901
|
-
description: z4.string().optional(),
|
|
8902
|
-
visibleRoles: z4.array(z4.enum(visibilityLevels)).optional(),
|
|
8903
|
-
defaultValue: z4.any().optional(),
|
|
8904
|
-
required: z4.boolean().default(false),
|
|
8905
|
-
ui: uiSchema.optional()
|
|
8906
|
-
});
|
|
8907
|
-
var textFieldSchema = baseFieldSchema.extend({
|
|
8908
|
-
type: z4.literal("text"),
|
|
8909
|
-
multiline: z4.boolean().default(false),
|
|
8910
|
-
maxLength: z4.number().int().positive().optional()
|
|
8911
|
-
});
|
|
8912
|
-
var richTextFieldSchema = baseFieldSchema.extend({
|
|
8913
|
-
type: z4.literal("richText")
|
|
8914
|
-
});
|
|
8915
|
-
var mediaFieldSchema = baseFieldSchema.extend({
|
|
8916
|
-
type: z4.literal("media"),
|
|
8917
|
-
mediaKinds: z4.array(
|
|
8918
|
-
z4.enum(["image", "video", "audio", "document", "spreadsheet", "archive"])
|
|
8919
|
-
).default(["image"]),
|
|
8920
|
-
aspectRatio: z4.string().optional()
|
|
8921
|
-
});
|
|
8922
|
-
var booleanFieldSchema = baseFieldSchema.extend({
|
|
8923
|
-
type: z4.literal("boolean")
|
|
8924
|
-
});
|
|
8925
|
-
var dateFieldSchema = baseFieldSchema.extend({
|
|
8926
|
-
type: z4.literal("date")
|
|
8927
|
-
});
|
|
8928
|
-
var timeFieldSchema = baseFieldSchema.extend({
|
|
8929
|
-
type: z4.literal("time")
|
|
8930
|
-
});
|
|
8931
|
-
var dateTimeFieldSchema = baseFieldSchema.extend({
|
|
8932
|
-
type: z4.literal("datetime")
|
|
8933
|
-
});
|
|
8934
|
-
var slugFieldSchema = baseFieldSchema.extend({
|
|
8935
|
-
type: z4.literal("slug"),
|
|
8936
|
-
sourceFieldId: z4.string().min(1).optional(),
|
|
8937
|
-
statusFieldId: z4.string().min(1).optional(),
|
|
8938
|
-
maxLength: z4.number().int().positive().optional()
|
|
8939
|
-
});
|
|
8940
|
-
var urlFieldSchema = baseFieldSchema.extend({
|
|
8941
|
-
type: z4.literal("url"),
|
|
8942
|
-
allowRelative: z4.boolean().default(false)
|
|
8943
|
-
});
|
|
8944
|
-
var linkFieldSchema = baseFieldSchema.extend({
|
|
8945
|
-
type: z4.literal("link")
|
|
8946
|
-
});
|
|
8947
|
-
var selectFieldSchema = baseFieldSchema.extend({
|
|
8948
|
-
type: z4.literal("select"),
|
|
8949
|
-
options: z4.array(selectOptionSchema),
|
|
8950
|
-
multiple: z4.boolean().default(false),
|
|
8951
|
-
source: selectSourceSchema.optional()
|
|
8952
|
-
}).superRefine((field, ctx) => {
|
|
8953
|
-
const widget = field.ui?.widget;
|
|
8954
|
-
const siteOptionSource = field.ui?.siteOptionSource;
|
|
8955
|
-
if (!field.source) {
|
|
8956
|
-
if (siteOptionSource || widget === "sdkSelect") {
|
|
8957
|
-
ctx.addIssue({
|
|
8958
|
-
code: z4.ZodIssueCode.custom,
|
|
8959
|
-
message: "Runtime-backed select fields must declare source.kind explicitly",
|
|
8960
|
-
path: ["source"]
|
|
8961
|
-
});
|
|
8962
|
-
return;
|
|
8963
|
-
}
|
|
8964
|
-
if (field.options.length === 0) {
|
|
8965
|
-
ctx.addIssue({
|
|
8966
|
-
code: z4.ZodIssueCode.custom,
|
|
8967
|
-
message: "Select fields require at least one option unless a runtime source is configured",
|
|
8968
|
-
path: ["options"]
|
|
8969
|
-
});
|
|
8970
|
-
}
|
|
8971
|
-
return;
|
|
8972
|
-
}
|
|
8973
|
-
switch (field.source.kind) {
|
|
8974
|
-
case "static":
|
|
8975
|
-
if (siteOptionSource || widget === "sdkSelect") {
|
|
8976
|
-
ctx.addIssue({
|
|
8977
|
-
code: z4.ZodIssueCode.custom,
|
|
8978
|
-
message: "Static select fields cannot declare runtime-backed UI metadata",
|
|
8979
|
-
path: ["ui"]
|
|
8980
|
-
});
|
|
8981
|
-
}
|
|
8982
|
-
if (field.options.length === 0) {
|
|
8983
|
-
ctx.addIssue({
|
|
8984
|
-
code: z4.ZodIssueCode.custom,
|
|
8985
|
-
message: "Static select fields require at least one option",
|
|
8986
|
-
path: ["options"]
|
|
8987
|
-
});
|
|
8988
|
-
}
|
|
8989
|
-
return;
|
|
8990
|
-
case "site":
|
|
8991
|
-
if (field.options.length > 0) {
|
|
8992
|
-
ctx.addIssue({
|
|
8993
|
-
code: z4.ZodIssueCode.custom,
|
|
8994
|
-
message: "Site-backed select fields must not define static options",
|
|
8995
|
-
path: ["options"]
|
|
8996
|
-
});
|
|
8997
|
-
}
|
|
8998
|
-
if (widget !== "siteOptionPicker") {
|
|
8999
|
-
ctx.addIssue({
|
|
9000
|
-
code: z4.ZodIssueCode.custom,
|
|
9001
|
-
message: "Site-backed select fields must use the siteOptionPicker widget",
|
|
9002
|
-
path: ["ui", "widget"]
|
|
9003
|
-
});
|
|
9004
|
-
}
|
|
9005
|
-
if (siteOptionSource !== field.source.optionSource) {
|
|
9006
|
-
ctx.addIssue({
|
|
9007
|
-
code: z4.ZodIssueCode.custom,
|
|
9008
|
-
message: "Site-backed select fields must keep ui.siteOptionSource in sync with source.optionSource",
|
|
9009
|
-
path: ["ui", "siteOptionSource"]
|
|
9010
|
-
});
|
|
9011
|
-
}
|
|
9012
|
-
return;
|
|
9013
|
-
case "sdk":
|
|
9014
|
-
if (widget !== "sdkSelect") {
|
|
9015
|
-
ctx.addIssue({
|
|
9016
|
-
code: z4.ZodIssueCode.custom,
|
|
9017
|
-
message: "SDK-backed select fields must use the sdkSelect widget",
|
|
9018
|
-
path: ["ui", "widget"]
|
|
9019
|
-
});
|
|
9020
|
-
}
|
|
9021
|
-
if (siteOptionSource) {
|
|
9022
|
-
ctx.addIssue({
|
|
9023
|
-
code: z4.ZodIssueCode.custom,
|
|
9024
|
-
message: "SDK-backed select fields cannot declare ui.siteOptionSource",
|
|
9025
|
-
path: ["ui", "siteOptionSource"]
|
|
9026
|
-
});
|
|
9027
|
-
}
|
|
9028
|
-
return;
|
|
9029
|
-
default:
|
|
9030
|
-
return assertNeverSelectSource(field.source);
|
|
9031
|
-
}
|
|
9032
|
-
});
|
|
9033
|
-
var referenceFieldSchema = baseFieldSchema.extend({
|
|
9034
|
-
type: z4.literal("reference"),
|
|
9035
|
-
referenceKind: z4.string().min(1),
|
|
9036
|
-
allowManualEntry: z4.boolean().default(false)
|
|
9037
|
-
});
|
|
9038
|
-
var itemTypeSchema = z4.object({
|
|
9039
|
-
label: z4.string().min(1),
|
|
9040
|
-
icon: z4.string().optional(),
|
|
9041
|
-
fields: z4.lazy(
|
|
9042
|
-
() => getFieldSchemaInternal().array().min(1, "Item type requires at least one field")
|
|
9043
|
-
)
|
|
9044
|
-
});
|
|
9045
|
-
var repeaterFieldSchema = baseFieldSchema.extend({
|
|
9046
|
-
type: z4.literal("repeater"),
|
|
9047
|
-
itemLabel: z4.string().default("Item"),
|
|
9048
|
-
itemLabelSource: z4.string().optional(),
|
|
9049
|
-
minItems: z4.number().int().min(0).default(0),
|
|
9050
|
-
maxItems: z4.number().int().positive().optional(),
|
|
9051
|
-
// Monomorphic mode
|
|
9052
|
-
schema: z4.object({
|
|
9053
|
-
fields: z4.lazy(
|
|
9054
|
-
() => getFieldSchemaInternal().array().min(1, "Repeater requires at least one field")
|
|
9055
|
-
)
|
|
9056
|
-
}).optional(),
|
|
9057
|
-
// Polymorphic mode
|
|
9058
|
-
polymorphic: z4.boolean().optional(),
|
|
9059
|
-
itemTypes: z4.record(z4.string(), itemTypeSchema).optional(),
|
|
9060
|
-
allowConversion: z4.boolean().default(true)
|
|
9061
|
-
}).refine(
|
|
9062
|
-
(data) => {
|
|
9063
|
-
const hasSchema = data.schema !== void 0;
|
|
9064
|
-
const hasPolymorphic = data.polymorphic === true && data.itemTypes !== void 0;
|
|
9065
|
-
return hasSchema !== hasPolymorphic;
|
|
9066
|
-
},
|
|
9067
|
-
{
|
|
9068
|
-
message: "Repeater must have either 'schema' (monomorphic) or 'polymorphic: true' with 'itemTypes' (polymorphic)"
|
|
9069
|
-
}
|
|
9070
|
-
).refine(
|
|
9071
|
-
(data) => {
|
|
9072
|
-
if (data.ui?.repeaterPreset !== "layoutGrid") {
|
|
9073
|
-
return true;
|
|
9074
|
-
}
|
|
9075
|
-
const columnsFields = data.ui.layoutGridColumnsFields;
|
|
9076
|
-
return !!columnsFields?.lg;
|
|
8538
|
+
// src/public-api/runtime.ts
|
|
8539
|
+
var API_ENDPOINTS2 = Object.freeze({
|
|
8540
|
+
getSite: {
|
|
8541
|
+
path: "/sites",
|
|
8542
|
+
method: "GET",
|
|
8543
|
+
revalidate: 900,
|
|
8544
|
+
tags: ["riverbank:site", "riverbank:site:id:{id}", "riverbank:site:slug:{slug}", "riverbank:site:domain:{domain}"],
|
|
8545
|
+
auth: "public",
|
|
8546
|
+
responseKind: "json"
|
|
9077
8547
|
},
|
|
9078
|
-
{
|
|
9079
|
-
|
|
9080
|
-
|
|
9081
|
-
|
|
9082
|
-
|
|
9083
|
-
|
|
9084
|
-
if (data.ui?.repeaterPreset !== "layoutGrid") {
|
|
9085
|
-
return true;
|
|
9086
|
-
}
|
|
9087
|
-
const spanField = resolveRepeaterGridSpanFieldId({
|
|
9088
|
-
id: typeof data.ui.layoutGridSpanField === "string" ? data.ui.layoutGridSpanField : void 0
|
|
9089
|
-
});
|
|
9090
|
-
const rowField = resolveRepeaterGridRowFieldId({
|
|
9091
|
-
id: typeof data.ui.layoutGridRowField === "string" ? data.ui.layoutGridRowField : void 0
|
|
9092
|
-
});
|
|
9093
|
-
const columnField = resolveRepeaterGridColumnFieldId({
|
|
9094
|
-
id: typeof data.ui.layoutGridColumnField === "string" ? data.ui.layoutGridColumnField : void 0
|
|
9095
|
-
});
|
|
9096
|
-
const requiredFieldIds = [spanField, rowField, columnField];
|
|
9097
|
-
if (data.polymorphic && data.itemTypes) {
|
|
9098
|
-
const itemTypes = Object.values(
|
|
9099
|
-
data.itemTypes
|
|
9100
|
-
);
|
|
9101
|
-
return itemTypes.every(
|
|
9102
|
-
(itemType) => Array.isArray(itemType.fields) && requiredFieldIds.every(
|
|
9103
|
-
(requiredId) => itemType.fields?.some((field) => field.id === requiredId)
|
|
9104
|
-
)
|
|
9105
|
-
);
|
|
9106
|
-
}
|
|
9107
|
-
const schemaFields = data.schema?.fields;
|
|
9108
|
-
if (!schemaFields) {
|
|
9109
|
-
return true;
|
|
9110
|
-
}
|
|
9111
|
-
return requiredFieldIds.every(
|
|
9112
|
-
(requiredId) => schemaFields.some((field) => field.id === requiredId)
|
|
9113
|
-
);
|
|
8548
|
+
getContentByPath: {
|
|
8549
|
+
path: "/sites/{siteId}/pages",
|
|
8550
|
+
method: "GET",
|
|
8551
|
+
tags: ["riverbank:site:{siteId}:routable-content"],
|
|
8552
|
+
auth: "public",
|
|
8553
|
+
responseKind: "json"
|
|
9114
8554
|
},
|
|
9115
|
-
{
|
|
9116
|
-
|
|
9117
|
-
|
|
9118
|
-
|
|
9119
|
-
|
|
9120
|
-
|
|
9121
|
-
|
|
9122
|
-
if (!thumbnailAspectRatio) {
|
|
9123
|
-
return true;
|
|
9124
|
-
}
|
|
9125
|
-
return parseAspectRatioValue(thumbnailAspectRatio) != null;
|
|
8555
|
+
listPublishedEntries: {
|
|
8556
|
+
path: "/public/content/{siteId}/{type}/entries",
|
|
8557
|
+
method: "GET",
|
|
8558
|
+
revalidate: 60,
|
|
8559
|
+
tags: ["content-{siteId}-{type}"],
|
|
8560
|
+
auth: "public",
|
|
8561
|
+
responseKind: "json"
|
|
9126
8562
|
},
|
|
9127
|
-
{
|
|
9128
|
-
|
|
9129
|
-
|
|
9130
|
-
|
|
9131
|
-
|
|
9132
|
-
|
|
9133
|
-
|
|
9134
|
-
if (!labelField) {
|
|
9135
|
-
return true;
|
|
9136
|
-
}
|
|
9137
|
-
const schemaFields = data.schema?.fields;
|
|
9138
|
-
if (!schemaFields) {
|
|
9139
|
-
return true;
|
|
9140
|
-
}
|
|
9141
|
-
const field = schemaFields.find(
|
|
9142
|
-
(candidate) => candidate.id === labelField
|
|
9143
|
-
);
|
|
9144
|
-
return field?.type === "text";
|
|
8563
|
+
getPublishedEntryPreview: {
|
|
8564
|
+
path: "/public/content/{siteId}/{type}/{slug}/preview",
|
|
8565
|
+
method: "GET",
|
|
8566
|
+
revalidate: 60,
|
|
8567
|
+
tags: ["content-{siteId}-{type}-{slug}"],
|
|
8568
|
+
auth: "public",
|
|
8569
|
+
responseKind: "json"
|
|
9145
8570
|
},
|
|
9146
|
-
{
|
|
9147
|
-
|
|
9148
|
-
|
|
9149
|
-
|
|
9150
|
-
|
|
9151
|
-
|
|
9152
|
-
|
|
9153
|
-
|
|
9154
|
-
|
|
9155
|
-
|
|
9156
|
-
|
|
9157
|
-
|
|
9158
|
-
}
|
|
9159
|
-
|
|
9160
|
-
|
|
9161
|
-
|
|
9162
|
-
|
|
9163
|
-
|
|
9164
|
-
|
|
9165
|
-
|
|
9166
|
-
}
|
|
9167
|
-
|
|
9168
|
-
|
|
9169
|
-
|
|
9170
|
-
|
|
9171
|
-
|
|
9172
|
-
|
|
9173
|
-
|
|
9174
|
-
|
|
9175
|
-
|
|
9176
|
-
|
|
9177
|
-
|
|
9178
|
-
|
|
9179
|
-
|
|
9180
|
-
|
|
9181
|
-
|
|
9182
|
-
|
|
9183
|
-
|
|
9184
|
-
|
|
9185
|
-
|
|
9186
|
-
|
|
9187
|
-
|
|
9188
|
-
|
|
9189
|
-
|
|
9190
|
-
|
|
9191
|
-
|
|
9192
|
-
|
|
9193
|
-
|
|
9194
|
-
|
|
9195
|
-
|
|
9196
|
-
|
|
9197
|
-
|
|
9198
|
-
|
|
9199
|
-
}
|
|
9200
|
-
|
|
9201
|
-
|
|
9202
|
-
|
|
9203
|
-
|
|
9204
|
-
|
|
9205
|
-
|
|
9206
|
-
|
|
9207
|
-
|
|
9208
|
-
|
|
9209
|
-
|
|
9210
|
-
|
|
9211
|
-
|
|
9212
|
-
|
|
9213
|
-
|
|
9214
|
-
|
|
9215
|
-
|
|
9216
|
-
|
|
9217
|
-
|
|
9218
|
-
|
|
9219
|
-
|
|
9220
|
-
|
|
9221
|
-
|
|
9222
|
-
|
|
9223
|
-
|
|
9224
|
-
|
|
9225
|
-
|
|
9226
|
-
|
|
9227
|
-
|
|
9228
|
-
|
|
9229
|
-
|
|
9230
|
-
|
|
9231
|
-
|
|
9232
|
-
|
|
9233
|
-
|
|
9234
|
-
|
|
9235
|
-
|
|
9236
|
-
|
|
9237
|
-
|
|
9238
|
-
|
|
9239
|
-
|
|
9240
|
-
|
|
9241
|
-
|
|
9242
|
-
|
|
9243
|
-
|
|
9244
|
-
|
|
9245
|
-
|
|
9246
|
-
|
|
9247
|
-
|
|
9248
|
-
|
|
9249
|
-
|
|
9250
|
-
|
|
9251
|
-
|
|
9252
|
-
|
|
9253
|
-
|
|
9254
|
-
|
|
9255
|
-
|
|
9256
|
-
|
|
9257
|
-
|
|
9258
|
-
|
|
9259
|
-
|
|
9260
|
-
|
|
9261
|
-
|
|
9262
|
-
|
|
9263
|
-
|
|
9264
|
-
|
|
9265
|
-
|
|
9266
|
-
}
|
|
9267
|
-
|
|
9268
|
-
|
|
9269
|
-
"heading",
|
|
9270
|
-
"subheading",
|
|
9271
|
-
"body",
|
|
9272
|
-
"caption"
|
|
9273
|
-
];
|
|
9274
|
-
var colorTokens = [
|
|
9275
|
-
"background",
|
|
9276
|
-
"surface",
|
|
9277
|
-
"foreground",
|
|
9278
|
-
"accent",
|
|
9279
|
-
"muted"
|
|
9280
|
-
];
|
|
9281
|
-
var spacingTokens = ["none", "xs", "sm", "md", "lg", "xl"];
|
|
9282
|
-
var radiusTokens = ["none", "sm", "md", "lg", "full"];
|
|
9283
|
-
var styleTokenSchema = z4.object({
|
|
9284
|
-
background: z4.enum(colorTokens).optional(),
|
|
9285
|
-
foreground: z4.enum(colorTokens).optional(),
|
|
9286
|
-
border: z4.enum(colorTokens).optional(),
|
|
9287
|
-
typography: z4.enum(typographyTokens).optional(),
|
|
9288
|
-
spacing: z4.enum(spacingTokens).optional(),
|
|
9289
|
-
radius: z4.enum(radiusTokens).optional()
|
|
9290
|
-
});
|
|
9291
|
-
var behaviourSchema = z4.object({
|
|
9292
|
-
supportsThemeSwitching: z4.boolean().default(true),
|
|
9293
|
-
inlineEditing: z4.boolean().default(false),
|
|
9294
|
-
animation: z4.boolean().default(false),
|
|
9295
|
-
// Hide from block picker palettes (e.g., header/footer system blocks)
|
|
9296
|
-
paletteHidden: z4.boolean().default(false),
|
|
9297
|
-
// Block manages its own wrapper (for sticky/fixed positioning)
|
|
9298
|
-
managesOwnWrapper: z4.boolean().optional()
|
|
9299
|
-
});
|
|
9300
|
-
var blockCategoryEnum = z4.enum([
|
|
9301
|
-
"marketing",
|
|
9302
|
-
"content",
|
|
9303
|
-
"blog",
|
|
9304
|
-
"media",
|
|
9305
|
-
"layout",
|
|
9306
|
-
"interactive"
|
|
9307
|
-
]);
|
|
9308
|
-
var manifestSchema = z4.object({
|
|
9309
|
-
name: z4.string().min(1),
|
|
9310
|
-
version: z4.string().min(1),
|
|
9311
|
-
title: z4.string().min(1),
|
|
9312
|
-
titleSource: z4.union([z4.string().min(1), z4.array(z4.string().min(1)).min(1)]).optional(),
|
|
9313
|
-
description: z4.string().optional(),
|
|
9314
|
-
component: z4.string().min(1),
|
|
9315
|
-
fields: fieldSchema.array().default([]),
|
|
9316
|
-
slots: slotSchema.array().default([]),
|
|
9317
|
-
styleTokens: styleTokenSchema.optional(),
|
|
9318
|
-
behaviours: behaviourSchema.optional(),
|
|
9319
|
-
layout: NodeTreeSchema.optional(),
|
|
9320
|
-
/**
|
|
9321
|
-
* Optional list of nested field paths that should be surfaced in the main form body
|
|
9322
|
-
* as "shortcuts" (render-only). These paths should refer to existing data within the
|
|
9323
|
-
* block content object (e.g. `_sectionStyles.background.image`).
|
|
9324
|
-
*
|
|
9325
|
-
* The original fields remain available in settings for power users.
|
|
9326
|
-
*/
|
|
9327
|
-
promotedFields: z4.array(z4.string().min(1)).optional(),
|
|
9328
|
-
// Block variants system
|
|
9329
|
-
variants: z4.record(z4.string(), NodeTreeSchema).optional(),
|
|
9330
|
-
defaultVariant: z4.string().optional(),
|
|
9331
|
-
variantOptions: z4.record(
|
|
9332
|
-
z4.string(),
|
|
9333
|
-
z4.object({
|
|
9334
|
-
label: z4.string().optional(),
|
|
9335
|
-
description: z4.string().optional(),
|
|
9336
|
-
icon: z4.string().optional()
|
|
9337
|
-
}).optional()
|
|
9338
|
-
).optional(),
|
|
9339
|
-
// Discovery metadata
|
|
9340
|
-
category: blockCategoryEnum.optional(),
|
|
9341
|
-
contentTypes: z4.array(z4.string()).optional(),
|
|
9342
|
-
tags: z4.array(z4.string()).optional(),
|
|
9343
|
-
icon: z4.string().optional()
|
|
9344
|
-
});
|
|
9345
|
-
|
|
9346
|
-
// ../blocks/src/system/data/loaderEndpoints.ts
|
|
9347
|
-
var SUPPORTED_LOADER_ENDPOINTS = [
|
|
9348
|
-
"listPublishedEntries",
|
|
9349
|
-
"getPublishedEntryPreview",
|
|
9350
|
-
"listPublicEvents",
|
|
9351
|
-
"getPublicEventDetails",
|
|
9352
|
-
"listPublicCourses",
|
|
9353
|
-
"listPublicTeamMembers",
|
|
9354
|
-
"listPublicProducts",
|
|
9355
|
-
"listPublicPasses",
|
|
9356
|
-
"listPublicMemberships",
|
|
9357
|
-
"getPublicFormById",
|
|
9358
|
-
"getPublicBookingServices"
|
|
9359
|
-
];
|
|
9360
|
-
|
|
9361
|
-
// ../api/src/sdkConfig/contracts.ts
|
|
9362
|
-
function unsafeRetypeZodSchema(schema) {
|
|
9363
|
-
return schema;
|
|
9364
|
-
}
|
|
9365
|
-
var navIdListSchema = z5.preprocess((value) => {
|
|
9366
|
-
if (!Array.isArray(value)) return void 0;
|
|
9367
|
-
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
9368
|
-
return filtered.length > 0 ? filtered : void 0;
|
|
9369
|
-
}, z5.array(z5.string()).max(200).optional());
|
|
9370
|
-
var dashboardNavVisibilityBaseSchema = z5.object({
|
|
9371
|
-
mode: z5.enum(["augment", "restrict"]).optional(),
|
|
9372
|
-
allowIds: navIdListSchema,
|
|
9373
|
-
denyIds: navIdListSchema
|
|
9374
|
-
}).strip();
|
|
9375
|
-
var dashboardNavVisibilityRolesSchema = z5.object({
|
|
9376
|
-
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
9377
|
-
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
9378
|
-
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
9379
|
-
}).strip().optional();
|
|
9380
|
-
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
9381
|
-
roles: dashboardNavVisibilityRolesSchema
|
|
9382
|
-
}).strip();
|
|
9383
|
-
var dashboardNavigationConfigSchema = z5.object({
|
|
9384
|
-
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
9385
|
-
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
9386
|
-
}).strip();
|
|
9387
|
-
var dashboardConfigSchema = z5.object({
|
|
9388
|
-
previewEditingEnabled: z5.boolean().optional(),
|
|
9389
|
-
navigation: dashboardNavigationConfigSchema.optional()
|
|
9390
|
-
}).strip();
|
|
9391
|
-
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
9392
|
-
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
9393
|
-
var sdkLoaderEndpointSchema = z5.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
9394
|
-
var loaderParamBindingSchema = z5.object({
|
|
9395
|
-
$bind: z5.object({
|
|
9396
|
-
from: z5.string().min(1, "Binding path is required"),
|
|
9397
|
-
fallback: z5.string().optional()
|
|
9398
|
-
})
|
|
9399
|
-
});
|
|
9400
|
-
var loaderParamValueSchema = z5.union([
|
|
9401
|
-
z5.string(),
|
|
9402
|
-
z5.number(),
|
|
9403
|
-
z5.boolean(),
|
|
9404
|
-
loaderParamBindingSchema
|
|
9405
|
-
]);
|
|
9406
|
-
var sdkConfigLoaderSchema = z5.object({
|
|
9407
|
-
endpoint: sdkLoaderEndpointSchema,
|
|
9408
|
-
params: z5.record(z5.string(), loaderParamValueSchema),
|
|
9409
|
-
mode: z5.enum(["server", "client"]).default("server")
|
|
9410
|
-
});
|
|
9411
|
-
var sdkDataLoadersSchema = z5.record(z5.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
9412
|
-
var sdkCustomBlockIdSchema = z5.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
9413
|
-
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
9414
|
-
}).transform((value) => value);
|
|
9415
|
-
var sdkCustomBlockInputSchema = z5.object({
|
|
9416
|
-
id: sdkCustomBlockIdSchema,
|
|
9417
|
-
title: z5.string().min(1),
|
|
9418
|
-
titleSource: z5.union([z5.string().min(1), z5.array(z5.string().min(1)).min(1)]).optional(),
|
|
9419
|
-
description: z5.string().optional(),
|
|
9420
|
-
category: blockCategoryEnum,
|
|
9421
|
-
icon: z5.string().optional(),
|
|
9422
|
-
tags: z5.array(z5.string()).optional(),
|
|
9423
|
-
fields: fieldDefinitionInputSchema.array().min(1),
|
|
9424
|
-
dataLoaders: sdkDataLoadersSchema,
|
|
9425
|
-
layout: NodeSchema.optional(),
|
|
9426
|
-
variants: z5.record(z5.string().min(1), NodeSchema).optional(),
|
|
9427
|
-
defaultVariant: z5.string().min(1).optional(),
|
|
9428
|
-
variantOptions: z5.record(
|
|
9429
|
-
z5.string().min(1),
|
|
9430
|
-
z5.object({
|
|
9431
|
-
label: z5.string().min(1).optional(),
|
|
9432
|
-
description: z5.string().min(1).optional(),
|
|
9433
|
-
icon: z5.string().min(1).optional()
|
|
9434
|
-
})
|
|
9435
|
-
).optional()
|
|
9436
|
-
}).superRefine((data, ctx) => {
|
|
9437
|
-
if (data.titleSource) {
|
|
9438
|
-
const sources = Array.isArray(data.titleSource) ? data.titleSource : [data.titleSource];
|
|
9439
|
-
sources.forEach((source, index) => {
|
|
9440
|
-
const exists = data.fields.some((field) => field.id === source);
|
|
9441
|
-
if (!exists) {
|
|
9442
|
-
ctx.addIssue({
|
|
9443
|
-
code: z5.ZodIssueCode.custom,
|
|
9444
|
-
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
9445
|
-
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
9446
|
-
});
|
|
9447
|
-
}
|
|
9448
|
-
});
|
|
9449
|
-
}
|
|
9450
|
-
if (data.layout && data.variants) {
|
|
9451
|
-
ctx.addIssue({
|
|
9452
|
-
code: z5.ZodIssueCode.custom,
|
|
9453
|
-
message: "Custom block must define either `layout` or `variants`, not both",
|
|
9454
|
-
path: ["variants"]
|
|
9455
|
-
});
|
|
9456
|
-
}
|
|
9457
|
-
if (data.variants) {
|
|
9458
|
-
const keys = Object.keys(data.variants);
|
|
9459
|
-
if (keys.length === 0) {
|
|
9460
|
-
ctx.addIssue({
|
|
9461
|
-
code: z5.ZodIssueCode.custom,
|
|
9462
|
-
message: "`variants` must contain at least one variant key",
|
|
9463
|
-
path: ["variants"]
|
|
9464
|
-
});
|
|
9465
|
-
}
|
|
9466
|
-
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
9467
|
-
ctx.addIssue({
|
|
9468
|
-
code: z5.ZodIssueCode.custom,
|
|
9469
|
-
message: "`defaultVariant` must be a key present in `variants`",
|
|
9470
|
-
path: ["defaultVariant"]
|
|
9471
|
-
});
|
|
9472
|
-
}
|
|
9473
|
-
if (data.variantOptions) {
|
|
9474
|
-
for (const key of Object.keys(data.variantOptions)) {
|
|
9475
|
-
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
9476
|
-
ctx.addIssue({
|
|
9477
|
-
code: z5.ZodIssueCode.custom,
|
|
9478
|
-
message: "`variantOptions` key must exist in `variants`",
|
|
9479
|
-
path: ["variantOptions", key]
|
|
9480
|
-
});
|
|
9481
|
-
}
|
|
9482
|
-
}
|
|
9483
|
-
}
|
|
9484
|
-
}
|
|
9485
|
-
});
|
|
9486
|
-
var sdkBlockFieldExtensionInputSchema = z5.object({
|
|
9487
|
-
fields: fieldDefinitionInputSchema.array().min(1)
|
|
9488
|
-
});
|
|
9489
|
-
var sdkBlockFieldExtensionsInputSchema = z5.record(
|
|
9490
|
-
z5.string().min(1),
|
|
9491
|
-
sdkBlockFieldExtensionInputSchema
|
|
9492
|
-
);
|
|
9493
|
-
var sdkThemePaletteSchema = z5.record(z5.string(), z5.string());
|
|
9494
|
-
var sdkThemeConfigSchema = z5.object({
|
|
9495
|
-
palette: sdkThemePaletteSchema
|
|
9496
|
-
});
|
|
9497
|
-
var sdkSectionBackgroundSchema = z5.object({
|
|
9498
|
-
id: z5.string().min(1),
|
|
9499
|
-
label: z5.string().min(1),
|
|
9500
|
-
token: z5.string().min(1)
|
|
9501
|
-
});
|
|
9502
|
-
var sdkSectionOptionsConfigSchema = z5.object({
|
|
9503
|
-
backgroundColor: z5.boolean().optional(),
|
|
9504
|
-
backgroundImage: z5.boolean().optional(),
|
|
9505
|
-
backgroundGradient: z5.boolean().optional(),
|
|
9506
|
-
spacing: z5.union([z5.array(z5.enum(["compact", "default", "spacious"])), z5.boolean()]).optional(),
|
|
9507
|
-
textColor: z5.boolean().optional()
|
|
9508
|
-
});
|
|
9509
|
-
var sdkContainerOptionsConfigSchema = z5.object({
|
|
9510
|
-
maxWidth: z5.union([z5.array(z5.enum(["narrow", "default", "wide", "full"])), z5.boolean()]).optional(),
|
|
9511
|
-
alignment: z5.union([z5.array(z5.enum(["left", "center", "right"])), z5.boolean()]).optional()
|
|
9512
|
-
});
|
|
9513
|
-
var sdkSiteStyleConfigSchema = z5.object({
|
|
9514
|
-
sectionBackgrounds: z5.array(sdkSectionBackgroundSchema).optional(),
|
|
9515
|
-
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
9516
|
-
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
9517
|
-
});
|
|
9518
|
-
var sdkSiteLayoutConfigSchema = z5.object({
|
|
9519
|
-
footerBlocks: z5.array(
|
|
9520
|
-
z5.object({
|
|
9521
|
-
id: z5.string().min(1).optional(),
|
|
9522
|
-
kind: z5.string().min(1),
|
|
9523
|
-
content: z5.record(z5.string(), z5.unknown()).optional()
|
|
9524
|
-
})
|
|
9525
|
-
).optional()
|
|
9526
|
-
});
|
|
9527
|
-
var sdkFieldSelectOptionSchema = z5.object({
|
|
9528
|
-
value: z5.string(),
|
|
9529
|
-
label: z5.string()
|
|
9530
|
-
});
|
|
9531
|
-
var sdkBlockFieldConfigSchema = z5.object({
|
|
9532
|
-
options: z5.array(sdkFieldSelectOptionSchema).optional()
|
|
9533
|
-
});
|
|
9534
|
-
var sdkBlockFieldOptionsMapSchema = z5.record(
|
|
9535
|
-
z5.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
9536
|
-
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
9537
|
-
}),
|
|
9538
|
-
z5.record(z5.string().min(1), sdkBlockFieldConfigSchema)
|
|
9539
|
-
).optional();
|
|
9540
|
-
var sdkContentTypeTemplateConfigSchema = z5.object({
|
|
9541
|
-
blocks: z5.array(z5.unknown())
|
|
9542
|
-
}).passthrough();
|
|
9543
|
-
var sdkContentTypeConfigSchema = z5.object({
|
|
9544
|
-
key: z5.string().min(1),
|
|
9545
|
-
fields: z5.array(z5.unknown()),
|
|
9546
|
-
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
9547
|
-
}).passthrough();
|
|
9548
|
-
var sdkContentConfigSchema = z5.object({
|
|
9549
|
-
contentTypes: z5.array(sdkContentTypeConfigSchema).optional(),
|
|
9550
|
-
pages: z5.array(z5.unknown()).optional(),
|
|
9551
|
-
entries: z5.array(z5.unknown()).optional(),
|
|
9552
|
-
navigationMenus: z5.array(z5.unknown()).optional(),
|
|
9553
|
-
settings: z5.unknown().optional()
|
|
9554
|
-
}).passthrough();
|
|
9555
|
-
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
9556
|
-
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
9557
|
-
var SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH = 500;
|
|
9558
|
-
var SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH = 120;
|
|
9559
|
-
var SDK_WORKFLOW_ENDPOINT_MAX_LENGTH = 500;
|
|
9560
|
-
var SDK_WORKFLOW_TRIGGER_MAX_COUNT = 5;
|
|
9561
|
-
var SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH = 120;
|
|
9562
|
-
var SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT = 10;
|
|
9563
|
-
var SDK_WORKFLOW_MAX_COUNT = 50;
|
|
9564
|
-
var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
9565
|
-
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
9566
|
-
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
9567
|
-
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
9568
|
-
var sdkWorkflowIdSchema = z5.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
9569
|
-
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
9570
|
-
});
|
|
9571
|
-
var sdkWorkflowEndpointSchema = z5.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 "/"' });
|
|
9572
|
-
var sdkWorkflowManualTriggerSchema = z5.object({
|
|
9573
|
-
type: z5.literal("manual")
|
|
9574
|
-
}).strict();
|
|
9575
|
-
var sdkWorkflowTriggerFieldSchema = z5.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
9576
|
-
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
9577
|
-
});
|
|
9578
|
-
var sdkWorkflowFieldChangedConditionSchema = z5.object({
|
|
9579
|
-
field: sdkWorkflowTriggerFieldSchema,
|
|
9580
|
-
changed: z5.literal(true)
|
|
9581
|
-
}).strict();
|
|
9582
|
-
var sdkWorkflowFieldEmptyConditionSchema = z5.object({
|
|
9583
|
-
field: sdkWorkflowTriggerFieldSchema,
|
|
9584
|
-
isEmpty: z5.boolean()
|
|
9585
|
-
}).strict();
|
|
9586
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z5.object({
|
|
9587
|
-
type: z5.literal("entry.draft.updated"),
|
|
9588
|
-
when: z5.array(
|
|
9589
|
-
z5.union([
|
|
9590
|
-
sdkWorkflowFieldChangedConditionSchema,
|
|
9591
|
-
sdkWorkflowFieldEmptyConditionSchema
|
|
9592
|
-
])
|
|
9593
|
-
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
9594
|
-
}).strict();
|
|
9595
|
-
var sdkWorkflowTriggerSchema = z5.discriminatedUnion("type", [
|
|
9596
|
-
sdkWorkflowManualTriggerSchema,
|
|
9597
|
-
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
9598
|
-
]);
|
|
9599
|
-
var sdkWorkflowConfirmationSchema = z5.object({
|
|
9600
|
-
title: z5.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
9601
|
-
body: z5.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
9602
|
-
}).strict();
|
|
9603
|
-
var sdkWorkflowConfigSchema = z5.object({
|
|
9604
|
-
id: sdkWorkflowIdSchema,
|
|
9605
|
-
title: z5.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
9606
|
-
description: z5.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
9607
|
-
contentType: z5.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
9608
|
-
endpoint: sdkWorkflowEndpointSchema,
|
|
9609
|
-
triggers: z5.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
9610
|
-
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
9611
|
-
}).strict();
|
|
9612
|
-
var sdkWorkflowsSchema = z5.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
9613
|
-
const ids = workflows.map((workflow) => workflow.id);
|
|
9614
|
-
return ids.length === new Set(ids).size;
|
|
9615
|
-
}, { message: "Workflow IDs must be unique" }).optional();
|
|
9616
|
-
var riverbankSiteConfigInputSchema = z5.object({
|
|
9617
|
-
siteId: z5.string().uuid(),
|
|
9618
|
-
previewUrl: z5.string().url().optional(),
|
|
9619
|
-
liveUrl: z5.string().url().optional(),
|
|
9620
|
-
theme: sdkThemeConfigSchema.optional(),
|
|
9621
|
-
styles: sdkSiteStyleConfigSchema.optional(),
|
|
9622
|
-
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
9623
|
-
customBlocks: z5.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
9624
|
-
const ids = blocks.map((b) => b.id);
|
|
9625
|
-
return ids.length === new Set(ids).size;
|
|
9626
|
-
}, { message: "Block IDs must be unique" }).optional(),
|
|
9627
|
-
blockFieldOptions: sdkBlockFieldOptionsMapSchema,
|
|
9628
|
-
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
9629
|
-
workflows: sdkWorkflowsSchema,
|
|
9630
|
-
content: sdkContentConfigSchema.optional(),
|
|
9631
|
-
contentDir: z5.string().optional(),
|
|
9632
|
-
sync: z5.object({
|
|
9633
|
-
existingEntries: z5.enum(["skip", "update"]).optional()
|
|
9634
|
-
}).optional(),
|
|
9635
|
-
deploy: z5.object({
|
|
9636
|
-
verifyCommand: z5.string().optional(),
|
|
9637
|
-
prebuildOutput: z5.string().optional()
|
|
9638
|
-
}).optional(),
|
|
9639
|
-
themeSource: z5.enum(["local", "cms"]).optional(),
|
|
9640
|
-
activeTheme: z5.string().optional(),
|
|
9641
|
-
enablePortal: z5.boolean().optional(),
|
|
9642
|
-
dashboard: dashboardConfigSchema.optional()
|
|
9643
|
-
}).strict();
|
|
9644
|
-
var pushSdkConfigBodySchema = z5.object({
|
|
9645
|
-
config: riverbankSiteConfigInputSchema,
|
|
9646
|
-
forceContentTypes: z5.boolean().optional()
|
|
9647
|
-
}).strict();
|
|
9648
|
-
|
|
9649
|
-
// ../api/src/siteOnboarding.ts
|
|
9650
|
-
import { z as z6 } from "zod";
|
|
9651
|
-
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
9652
|
-
configure_appointments: {
|
|
9653
|
-
requirementId: "configure_appointments",
|
|
9654
|
-
reason: "launch_anyway"
|
|
9655
|
-
}
|
|
9656
|
-
};
|
|
9657
|
-
var acknowledgeLaunchRequirementRequestSchema = z6.discriminatedUnion(
|
|
9658
|
-
"requirementId",
|
|
9659
|
-
[
|
|
9660
|
-
z6.object({
|
|
9661
|
-
requirementId: z6.literal("review_generated_site")
|
|
9662
|
-
}),
|
|
9663
|
-
z6.object({
|
|
9664
|
-
requirementId: z6.literal(
|
|
9665
|
-
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
9666
|
-
),
|
|
9667
|
-
overrideReason: z6.literal(
|
|
9668
|
-
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
9669
|
-
)
|
|
9670
|
-
})
|
|
9671
|
-
]
|
|
9672
|
-
);
|
|
9673
|
-
var goLiveSiteRequestSchema = z6.object({
|
|
9674
|
-
acceptExtraSiteCharge: z6.boolean().optional()
|
|
9675
|
-
});
|
|
9676
|
-
|
|
9677
|
-
// ../api/src/customerMembershipOutcomes.ts
|
|
9678
|
-
var CANONICAL_REFUND_CONFLICT_CODES = [
|
|
9679
|
-
"already_refunded",
|
|
9680
|
-
"idempotency_amount_mismatch",
|
|
9681
|
-
"idempotency_method_mismatch",
|
|
9682
|
-
"refund_in_progress"
|
|
9683
|
-
];
|
|
9684
|
-
var CANONICAL_REFUND_PLANNER_ERROR_CODES = [
|
|
9685
|
-
...CANONICAL_REFUND_CONFLICT_CODES,
|
|
9686
|
-
"amount_exceeds_remaining",
|
|
9687
|
-
"pass_revoke_requires_full_refund",
|
|
9688
|
-
"refund_failed"
|
|
9689
|
-
];
|
|
9690
|
-
var CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
|
|
9691
|
-
...CANONICAL_REFUND_PLANNER_ERROR_CODES,
|
|
9692
|
-
"payment_intent_not_found",
|
|
9693
|
-
"stripe_error",
|
|
9694
|
-
"stale_pending_missing_context",
|
|
9695
|
-
"non_refundable_deposit_remaining"
|
|
9696
|
-
];
|
|
9697
|
-
var CUSTOMER_MEMBERSHIP_PAYMENT_REFUND_FAILED_CODES = [
|
|
9698
|
-
"not_found",
|
|
9699
|
-
"stripe_not_connected",
|
|
9700
|
-
"credit_refunds_disabled",
|
|
9701
|
-
"invoice_not_found",
|
|
9702
|
-
"invoice_lookup_failed",
|
|
9703
|
-
...CANONICAL_REFUND_PLANNER_ERROR_CODES,
|
|
9704
|
-
"payment_intent_not_found",
|
|
9705
|
-
"stripe_error",
|
|
9706
|
-
"stale_pending_missing_context"
|
|
9707
|
-
];
|
|
9708
|
-
|
|
9709
|
-
// ../api/src/bookingRefundOutcomes.ts
|
|
9710
|
-
var STANDARD_LINE_ITEM_REFUND_INVALID_CODES = [
|
|
9711
|
-
"missing_amount",
|
|
9712
|
-
"amount_exceeds_remaining",
|
|
9713
|
-
"credit_refunds_disabled",
|
|
9714
|
-
"missing_credit_customer",
|
|
9715
|
-
"deposit_refund_override_required",
|
|
9716
|
-
"refund_revoke_requires_full_line_refund",
|
|
9717
|
-
"unified_order_link_required"
|
|
9718
|
-
];
|
|
9719
|
-
var EVENT_ATTENDEE_REFUND_INVALID_CODES = [
|
|
9720
|
-
"manual_booking_not_refundable",
|
|
9721
|
-
...STANDARD_LINE_ITEM_REFUND_INVALID_CODES
|
|
9722
|
-
];
|
|
9723
|
-
var MANAGED_PRODUCT_REFUND_INVALID_CODES = [
|
|
9724
|
-
"credit_refunds_disabled",
|
|
9725
|
-
"not_refundable",
|
|
9726
|
-
"amount_exceeds_remaining"
|
|
9727
|
-
];
|
|
9728
|
-
var CUSTOMER_PASS_REFUND_INVALID_CODES = [
|
|
9729
|
-
...MANAGED_PRODUCT_REFUND_INVALID_CODES,
|
|
9730
|
-
"pass_revoke_requires_full_refund"
|
|
9731
|
-
];
|
|
9732
|
-
var CUSTOMER_PASS_REFUND_FAILED_CODES = [
|
|
9733
|
-
"not_found",
|
|
9734
|
-
"credit_refunds_disabled",
|
|
9735
|
-
"payment_intent_lookup_failed",
|
|
9736
|
-
...CANONICAL_ADMIN_REFUND_FAILURE_CODES
|
|
9737
|
-
];
|
|
9738
|
-
var EVENT_ATTENDEE_REFUND_FAILED_CODES = [
|
|
9739
|
-
"not_found",
|
|
9740
|
-
"refund_not_allowed",
|
|
9741
|
-
...EVENT_ATTENDEE_REFUND_INVALID_CODES,
|
|
9742
|
-
...CANONICAL_ADMIN_REFUND_FAILURE_CODES
|
|
9743
|
-
];
|
|
9744
|
-
var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
9745
|
-
"not_found",
|
|
9746
|
-
...STANDARD_LINE_ITEM_REFUND_INVALID_CODES,
|
|
9747
|
-
...CANONICAL_ADMIN_REFUND_FAILURE_CODES
|
|
9748
|
-
];
|
|
9749
|
-
|
|
9750
|
-
// ../api/src/bookingVerticals.ts
|
|
9751
|
-
var VERTICAL_IDS = [
|
|
9752
|
-
"yoga_wellness",
|
|
9753
|
-
"fitness_pt",
|
|
9754
|
-
"dance_school",
|
|
9755
|
-
"therapist_practitioner",
|
|
9756
|
-
"beauty_spa",
|
|
9757
|
-
"consultant_coach",
|
|
9758
|
-
"training_provider",
|
|
9759
|
-
"retreat_centre",
|
|
9760
|
-
"music_school",
|
|
9761
|
-
"performing_arts_school",
|
|
9762
|
-
"community_wellbeing",
|
|
9763
|
-
"venue_event_space"
|
|
9764
|
-
];
|
|
9765
|
-
var BOOKING_ENGINE_BY_BEHAVIOUR = {
|
|
9766
|
-
class: "event_series",
|
|
9767
|
-
workshop: "event_series",
|
|
9768
|
-
course: "course",
|
|
9769
|
-
retreat: "event_series",
|
|
9770
|
-
performance: "event_series",
|
|
9771
|
-
appointment: "appointment_service"
|
|
9772
|
-
};
|
|
9773
|
-
var VERTICAL_BOOKING_PRESETS = [
|
|
9774
|
-
preset("yoga_wellness.classes", "yoga_wellness", "class", "Class", "Classes", "Regular scheduled classes and group sessions."),
|
|
9775
|
-
preset("yoga_wellness.workshops", "yoga_wellness", "workshop", "Workshop", "Workshops", "One-off workshops, day retreats, or special sessions."),
|
|
9776
|
-
preset("yoga_wellness.courses", "yoga_wellness", "course", "Course", "Courses", "Fixed-schedule courses or multi-session groups."),
|
|
9777
|
-
preset("yoga_wellness.retreats", "yoga_wellness", "retreat", "Retreat", "Retreats", "Multi-day or residential retreats and immersive experiences."),
|
|
9778
|
-
preset("yoga_wellness.appointments", "yoga_wellness", "appointment", "Appointment", "Appointments", "Private sessions, consultations, or one-to-one support."),
|
|
9779
|
-
preset("fitness_pt.group_training", "fitness_pt", "class", "Group training", "Group training", "Regular scheduled classes and group sessions."),
|
|
9780
|
-
preset("fitness_pt.personal_training", "fitness_pt", "appointment", "Personal training", "Personal training", "One-to-one sessions booked from your availability."),
|
|
9781
|
-
preset("fitness_pt.programmes", "fitness_pt", "course", "Programme", "Programmes", "Multi-session programmes like bootcamps or courses."),
|
|
9782
|
-
preset("fitness_pt.workshops", "fitness_pt", "workshop", "Workshop", "Workshops", "One-off workshops, events, or special sessions."),
|
|
9783
|
-
preset("fitness_pt.retreats", "fitness_pt", "retreat", "Retreat", "Retreats", "Multi-day or residential fitness experiences."),
|
|
9784
|
-
preset("dance_school.classes", "dance_school", "class", "Class", "Classes", "Regular group classes and weekly sessions."),
|
|
9785
|
-
preset("dance_school.terms", "dance_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date course groups."),
|
|
9786
|
-
preset("dance_school.workshops", "dance_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
|
|
9787
|
-
preset("dance_school.private_lessons", "dance_school", "appointment", "Private lesson", "Private lessons", "One-to-one lessons or coaching sessions."),
|
|
9788
|
-
preset("dance_school.shows", "dance_school", "performance", "Show", "Shows", "Ticketed performances, showcases, and recitals."),
|
|
9789
|
-
preset("therapist_practitioner.appointments", "therapist_practitioner", "appointment", "Appointment", "Appointments", "Sessions, consultations, treatments, or assessments."),
|
|
9790
|
-
preset("therapist_practitioner.workshops", "therapist_practitioner", "workshop", "Workshop", "Workshops", "One-off group workshops, talks, or wellbeing sessions."),
|
|
9791
|
-
preset("therapist_practitioner.retreats", "therapist_practitioner", "retreat", "Retreat", "Retreats", "Multi-day retreats or immersive group experiences."),
|
|
9792
|
-
preset("beauty_spa.appointments", "beauty_spa", "appointment", "Appointment", "Appointments", "Treatments, consultations, services, and sessions."),
|
|
9793
|
-
preset("beauty_spa.workshops", "beauty_spa", "workshop", "Workshop", "Workshops", "Skincare workshops, makeup lessons, demos, or group events."),
|
|
9794
|
-
preset("consultant_coach.appointments", "consultant_coach", "appointment", "Appointment", "Appointments", "One-to-one calls, consultations, reviews, or coaching sessions."),
|
|
9795
|
-
preset("consultant_coach.workshops", "consultant_coach", "workshop", "Workshop", "Workshops", "One-off group sessions, webinars, or strategy days."),
|
|
9796
|
-
preset("consultant_coach.courses", "consultant_coach", "course", "Course", "Courses", "Fixed-schedule cohorts or multi-session group programmes."),
|
|
9797
|
-
preset("consultant_coach.retreats", "consultant_coach", "retreat", "Retreat", "Retreats", "Multi-day coaching retreats or immersive experiences."),
|
|
9798
|
-
preset("training_provider.courses", "training_provider", "course", "Course", "Courses", "Fixed-schedule courses, cohorts, and multi-session training."),
|
|
9799
|
-
preset("training_provider.workshops", "training_provider", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, and short training sessions."),
|
|
9800
|
-
preset("training_provider.appointments", "training_provider", "appointment", "Appointment", "Appointments", "Consultations, assessments, mentoring, or office hours."),
|
|
9801
|
-
preset("training_provider.classes", "training_provider", "class", "Class", "Classes", "Regular classes, sessions, or groups.", "settings"),
|
|
9802
|
-
preset("training_provider.residentials", "training_provider", "retreat", "Residential", "Residentials", "Residential courses or multi-day training experiences.", "settings"),
|
|
9803
|
-
preset("retreat_centre.retreats", "retreat_centre", "retreat", "Retreat", "Retreats", "Multi-day or residential retreats with richer booking needs."),
|
|
9804
|
-
preset("retreat_centre.workshops", "retreat_centre", "workshop", "Workshop", "Workshops", "One-day retreats, ceremonies, workshops, or special events."),
|
|
9805
|
-
preset("retreat_centre.classes", "retreat_centre", "class", "Class", "Classes", "Regular sessions like guided meditations or group practices."),
|
|
9806
|
-
preset("retreat_centre.courses", "retreat_centre", "course", "Course", "Courses", "Fixed-schedule programmes or multi-session experiences."),
|
|
9807
|
-
preset("retreat_centre.appointments", "retreat_centre", "appointment", "Appointment", "Appointments", "Private sessions, therapies, consultations, or add-ons."),
|
|
9808
|
-
preset("music_school.lessons", "music_school", "appointment", "Lesson", "Lessons", "One-to-one lessons, consultations, or coaching sessions."),
|
|
9809
|
-
preset("music_school.classes", "music_school", "class", "Class", "Classes", "Regular group classes, ensembles, or recurring sessions."),
|
|
9810
|
-
preset("music_school.terms", "music_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date group courses."),
|
|
9811
|
-
preset("music_school.workshops", "music_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
|
|
9812
|
-
preset("music_school.performances", "music_school", "performance", "Performance", "Performances", "Concerts, recitals, showcases, or ticketed performances."),
|
|
9813
|
-
preset("performing_arts_school.classes", "performing_arts_school", "class", "Class", "Classes", "Regular group classes, rehearsals, or weekly sessions."),
|
|
9814
|
-
preset("performing_arts_school.terms", "performing_arts_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date course groups."),
|
|
9815
|
-
preset("performing_arts_school.workshops", "performing_arts_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
|
|
9816
|
-
preset("performing_arts_school.performances", "performing_arts_school", "performance", "Performance", "Performances", "Shows, showcases, productions, or ticketed performances."),
|
|
9817
|
-
preset("performing_arts_school.lessons", "performing_arts_school", "appointment", "Lesson", "Lessons", "One-to-one lessons, coaching, or audition prep."),
|
|
9818
|
-
preset("community_wellbeing.classes", "community_wellbeing", "class", "Class", "Classes", "Regular groups, sessions, practices, or weekly activities."),
|
|
9819
|
-
preset("community_wellbeing.workshops", "community_wellbeing", "workshop", "Workshop", "Workshops", "One-off workshops, talks, events, or gatherings."),
|
|
9820
|
-
preset("community_wellbeing.courses", "community_wellbeing", "course", "Course", "Courses", "Fixed-schedule courses, study groups, or multi-session programmes."),
|
|
9821
|
-
preset("community_wellbeing.appointments", "community_wellbeing", "appointment", "Appointment", "Appointments", "One-to-one appointments, consultations, or support sessions."),
|
|
9822
|
-
preset("community_wellbeing.retreats", "community_wellbeing", "retreat", "Retreat", "Retreats", "Multi-day or residential retreats."),
|
|
9823
|
-
preset("venue_event_space.resource_hire", "venue_event_space", "appointment", "Hire slot", "Hire slots", "Future room, venue, and resource hire bookings.", "future")
|
|
9824
|
-
];
|
|
9825
|
-
var VERTICAL_ID_SET = new Set(VERTICAL_IDS);
|
|
9826
|
-
var VERTICAL_PRESET_ID_SET = new Set(
|
|
9827
|
-
VERTICAL_BOOKING_PRESETS.map((presetDefinition) => presetDefinition.id)
|
|
9828
|
-
);
|
|
9829
|
-
function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, description, availability = "onboarding") {
|
|
9830
|
-
return {
|
|
9831
|
-
id,
|
|
9832
|
-
verticalId,
|
|
9833
|
-
canonicalBehaviour,
|
|
9834
|
-
engine: BOOKING_ENGINE_BY_BEHAVIOUR[canonicalBehaviour],
|
|
9835
|
-
availability,
|
|
9836
|
-
label,
|
|
9837
|
-
pluralLabel,
|
|
9838
|
-
description
|
|
9839
|
-
};
|
|
9840
|
-
}
|
|
9841
|
-
|
|
9842
|
-
// ../api/src/utils/isRecord.ts
|
|
9843
|
-
function isRecord2(value) {
|
|
9844
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
9845
|
-
}
|
|
9846
|
-
|
|
9847
|
-
// ../api/src/appointmentSetup.ts
|
|
9848
|
-
import { z as z7 } from "zod";
|
|
9849
|
-
var appointmentSetupRefSchema = z7.discriminatedUnion("kind", [
|
|
9850
|
-
z7.object({ kind: z7.literal("existing"), id: z7.string().min(1) }),
|
|
9851
|
-
z7.object({ kind: z7.literal("new"), draftId: z7.string().min(1) })
|
|
9852
|
-
]);
|
|
9853
|
-
var appointmentSetupVenueChoiceSchema = z7.discriminatedUnion("kind", [
|
|
9854
|
-
z7.object({ kind: z7.literal("none") }),
|
|
9855
|
-
z7.object({ kind: z7.literal("existing"), venueId: z7.string().min(1) }),
|
|
9856
|
-
z7.object({
|
|
9857
|
-
kind: z7.literal("create"),
|
|
9858
|
-
draftId: z7.string().min(1),
|
|
9859
|
-
title: z7.string().trim().min(1),
|
|
9860
|
-
description: z7.string().nullable(),
|
|
9861
|
-
timezone: z7.string().trim().min(1).nullable(),
|
|
9862
|
-
addressJson: z7.record(z7.string(), z7.unknown()),
|
|
9863
|
-
locationJson: z7.object({ lat: z7.number(), lng: z7.number() }).nullable()
|
|
9864
|
-
})
|
|
9865
|
-
]);
|
|
9866
|
-
var appointmentSetupPaymentDraftSchema = z7.object({
|
|
9867
|
-
priceType: z7.union([z7.literal("free"), z7.literal("paid")])
|
|
9868
|
-
});
|
|
9869
|
-
var appointmentSetupServiceAssignmentDraftSchema = z7.discriminatedUnion("kind", [
|
|
9870
|
-
z7.object({ kind: z7.literal("all_practitioners") }),
|
|
9871
|
-
z7.object({
|
|
9872
|
-
kind: z7.literal("selected_practitioners"),
|
|
9873
|
-
resourceRefs: z7.array(appointmentSetupRefSchema)
|
|
9874
|
-
})
|
|
9875
|
-
]);
|
|
9876
|
-
var appointmentSetupServiceDraftSchema = z7.object({
|
|
9877
|
-
ref: appointmentSetupRefSchema,
|
|
9878
|
-
title: z7.string().trim().min(1),
|
|
9879
|
-
description: z7.string().nullable(),
|
|
9880
|
-
durationMinutes: z7.number().int().positive(),
|
|
9881
|
-
priceAmount: z7.number().int().nonnegative().nullable(),
|
|
9882
|
-
isActive: z7.boolean(),
|
|
9883
|
-
locationType: z7.union([
|
|
9884
|
-
z7.literal("virtual"),
|
|
9885
|
-
z7.literal("in_person"),
|
|
9886
|
-
z7.literal("hybrid")
|
|
9887
|
-
]),
|
|
9888
|
-
venue: appointmentSetupVenueChoiceSchema,
|
|
9889
|
-
timezone: z7.string().trim().min(1).nullable(),
|
|
9890
|
-
payment: appointmentSetupPaymentDraftSchema,
|
|
9891
|
-
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
9892
|
-
}).superRefine((service, ctx) => {
|
|
9893
|
-
if (service.payment.priceType === "paid" && (service.priceAmount === null || service.priceAmount <= 0)) {
|
|
9894
|
-
ctx.addIssue({
|
|
9895
|
-
code: "custom",
|
|
9896
|
-
path: ["priceAmount"],
|
|
9897
|
-
message: "Paid appointment services need a positive price."
|
|
9898
|
-
});
|
|
9899
|
-
}
|
|
9900
|
-
if (service.payment.priceType === "free" && service.priceAmount !== null && service.priceAmount > 0) {
|
|
9901
|
-
ctx.addIssue({
|
|
9902
|
-
code: "custom",
|
|
9903
|
-
path: ["priceAmount"],
|
|
9904
|
-
message: "Free appointment services cannot carry a positive price."
|
|
9905
|
-
});
|
|
9906
|
-
}
|
|
9907
|
-
});
|
|
9908
|
-
var appointmentSetupPractitionerDraftSchema = z7.object({
|
|
9909
|
-
ref: appointmentSetupRefSchema,
|
|
9910
|
-
displayName: z7.string().trim().min(1),
|
|
9911
|
-
bio: z7.string().nullable(),
|
|
9912
|
-
timezone: z7.string().trim().min(1),
|
|
9913
|
-
colorHex: z7.string().nullable()
|
|
9914
|
-
});
|
|
9915
|
-
var appointmentSetupWeeklyWindowDraftSchema = z7.object({
|
|
9916
|
-
weekday: z7.number().int().min(0).max(6),
|
|
9917
|
-
startTime: z7.string(),
|
|
9918
|
-
endTime: z7.string()
|
|
9919
|
-
});
|
|
9920
|
-
var appointmentSetupAvailabilityDraftSchema = z7.object({
|
|
9921
|
-
kind: z7.literal("weekly_windows"),
|
|
9922
|
-
resourceRef: appointmentSetupRefSchema,
|
|
9923
|
-
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
9924
|
-
windows: z7.array(appointmentSetupWeeklyWindowDraftSchema)
|
|
9925
|
-
});
|
|
9926
|
-
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
9927
|
-
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
9928
|
-
var appointmentSetupBookingNoticeSchema = z7.object({
|
|
9929
|
-
minLeadMinutes: z7.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
9930
|
-
maxBookingNoticeMinutes: z7.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
9931
|
-
});
|
|
9932
|
-
var applyAppointmentSetupRequestSchema = z7.object({
|
|
9933
|
-
services: z7.array(appointmentSetupServiceDraftSchema),
|
|
9934
|
-
practitioners: z7.array(appointmentSetupPractitionerDraftSchema),
|
|
9935
|
-
availability: z7.array(appointmentSetupAvailabilityDraftSchema),
|
|
9936
|
-
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
9937
|
-
});
|
|
9938
|
-
|
|
9939
|
-
// ../api/src/bookingRecords.ts
|
|
9940
|
-
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPES = {
|
|
9941
|
-
site: "site",
|
|
9942
|
-
appointments: "appointments",
|
|
9943
|
-
eventSeries: "event_series",
|
|
9944
|
-
course: "course"
|
|
9945
|
-
};
|
|
9946
|
-
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPE_VALUES = [
|
|
9947
|
-
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.site,
|
|
9948
|
-
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.appointments,
|
|
9949
|
-
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.eventSeries,
|
|
9950
|
-
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.course
|
|
9951
|
-
];
|
|
9952
|
-
|
|
9953
|
-
// ../api/src/common/cancellation.ts
|
|
9954
|
-
var STAFF_CANCELLATION_CONTEXT_UI_CATEGORIES = [
|
|
9955
|
-
"customer_requested",
|
|
9956
|
-
"schedule_conflict",
|
|
9957
|
-
"duplicate_or_admin_error",
|
|
9958
|
-
"non_payment",
|
|
9959
|
-
"policy_or_eligibility",
|
|
9960
|
-
"other"
|
|
9961
|
-
];
|
|
9962
|
-
var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
9963
|
-
...STAFF_CANCELLATION_CONTEXT_UI_CATEGORIES,
|
|
9964
|
-
"legacy_client_unspecified"
|
|
9965
|
-
];
|
|
9966
|
-
|
|
9967
|
-
// ../api/src/siteBanner.ts
|
|
9968
|
-
import { z as z8 } from "zod";
|
|
9969
|
-
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
9970
|
-
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
9971
|
-
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
9972
|
-
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
9973
|
-
var siteBannerScopeSchema = z8.enum(SITE_BANNER_SCOPE_VALUES);
|
|
9974
|
-
var siteBannerToneSchema = z8.enum(SITE_BANNER_TONE_VALUES);
|
|
9975
|
-
var siteBannerBodySchema = z8.unknown().transform(unwrapRichTextValue);
|
|
9976
|
-
var siteBannerCtaSchema = z8.object({
|
|
9977
|
-
label: z8.string().trim().min(1),
|
|
9978
|
-
link: linkPayloadSchema
|
|
9979
|
-
});
|
|
9980
|
-
var siteBannerSettingsSchema = z8.discriminatedUnion("enabled", [
|
|
9981
|
-
z8.object({
|
|
9982
|
-
enabled: z8.literal(false)
|
|
9983
|
-
}),
|
|
9984
|
-
z8.object({
|
|
9985
|
-
enabled: z8.literal(true),
|
|
9986
|
-
scope: siteBannerScopeSchema,
|
|
9987
|
-
tone: siteBannerToneSchema,
|
|
9988
|
-
body: siteBannerBodySchema,
|
|
9989
|
-
cta: siteBannerCtaSchema.nullable()
|
|
9990
|
-
})
|
|
9991
|
-
]);
|
|
9992
|
-
var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value, ctx) => {
|
|
9993
|
-
if (!value.enabled) {
|
|
9994
|
-
return;
|
|
9995
|
-
}
|
|
9996
|
-
const analysis = analyzeSiteBannerBody(value.body);
|
|
9997
|
-
for (const issue of analysis.issues) {
|
|
9998
|
-
ctx.addIssue({
|
|
9999
|
-
code: z8.ZodIssueCode.custom,
|
|
10000
|
-
path: ["body"],
|
|
10001
|
-
message: siteBannerBodyIssueMessage(issue)
|
|
10002
|
-
});
|
|
10003
|
-
}
|
|
10004
|
-
});
|
|
10005
|
-
var EMPTY_SITE_BANNER_BODY = {
|
|
10006
|
-
type: "doc",
|
|
10007
|
-
content: [
|
|
10008
|
-
{
|
|
10009
|
-
type: "paragraph",
|
|
10010
|
-
content: []
|
|
10011
|
-
}
|
|
10012
|
-
]
|
|
10013
|
-
};
|
|
10014
|
-
function analyzeSiteBannerBody(body) {
|
|
10015
|
-
const sanitizedBody = sanitizeSiteBannerBodyInternal(body, { limitParagraphs: false });
|
|
10016
|
-
const paragraphs = collectParagraphs(sanitizedBody);
|
|
10017
|
-
const textLength = paragraphs.reduce((total, paragraph) => total + paragraphTextLength(paragraph), 0);
|
|
10018
|
-
const issues = [];
|
|
10019
|
-
if (textLength === 0) {
|
|
10020
|
-
issues.push("empty");
|
|
10021
|
-
}
|
|
10022
|
-
if (paragraphs.length > SITE_BANNER_MAX_PARAGRAPHS) {
|
|
10023
|
-
issues.push("too-many-paragraphs");
|
|
10024
|
-
}
|
|
10025
|
-
if (textLength > SITE_BANNER_MAX_TEXT_LENGTH) {
|
|
10026
|
-
issues.push("too-long");
|
|
10027
|
-
}
|
|
10028
|
-
return {
|
|
10029
|
-
sanitizedBody,
|
|
10030
|
-
textLength,
|
|
10031
|
-
paragraphCount: paragraphs.length,
|
|
10032
|
-
issues
|
|
10033
|
-
};
|
|
10034
|
-
}
|
|
10035
|
-
function siteBannerBodyIssueMessage(issue) {
|
|
10036
|
-
switch (issue) {
|
|
10037
|
-
case "empty":
|
|
10038
|
-
return "Banner message is required when the banner is enabled.";
|
|
10039
|
-
case "too-many-paragraphs":
|
|
10040
|
-
return `Banner message must be ${SITE_BANNER_MAX_PARAGRAPHS} paragraphs or fewer.`;
|
|
10041
|
-
case "too-long":
|
|
10042
|
-
return `Banner message must be ${SITE_BANNER_MAX_TEXT_LENGTH} characters or fewer.`;
|
|
10043
|
-
}
|
|
10044
|
-
}
|
|
10045
|
-
function sanitizeSiteBannerBodyInternal(input, options) {
|
|
10046
|
-
const root = unwrapRichTextValue(input);
|
|
10047
|
-
const content = normalizeTopLevelNodes(root.content ?? [], options);
|
|
10048
|
-
return {
|
|
10049
|
-
type: "doc",
|
|
10050
|
-
content: content.length > 0 ? content : EMPTY_SITE_BANNER_BODY.content
|
|
10051
|
-
};
|
|
10052
|
-
}
|
|
10053
|
-
function normalizeTopLevelNodes(nodes, options) {
|
|
10054
|
-
const out = [];
|
|
10055
|
-
let inlineBuffer = [];
|
|
10056
|
-
const flushInlineBuffer = () => {
|
|
10057
|
-
if (inlineBuffer.length === 0) {
|
|
10058
|
-
return;
|
|
10059
|
-
}
|
|
10060
|
-
out.push({
|
|
10061
|
-
type: "paragraph",
|
|
10062
|
-
content: inlineBuffer
|
|
10063
|
-
});
|
|
10064
|
-
inlineBuffer = [];
|
|
10065
|
-
};
|
|
10066
|
-
for (const node of nodes) {
|
|
10067
|
-
const normalized = sanitizeNode(node, options);
|
|
10068
|
-
for (const child of normalized) {
|
|
10069
|
-
if (child.type === "text") {
|
|
10070
|
-
inlineBuffer.push(child);
|
|
10071
|
-
continue;
|
|
10072
|
-
}
|
|
10073
|
-
flushInlineBuffer();
|
|
10074
|
-
out.push(child);
|
|
10075
|
-
}
|
|
10076
|
-
}
|
|
10077
|
-
flushInlineBuffer();
|
|
10078
|
-
return options.limitParagraphs ? out.slice(0, SITE_BANNER_MAX_PARAGRAPHS) : out;
|
|
10079
|
-
}
|
|
10080
|
-
function sanitizeNode(node, options) {
|
|
10081
|
-
if (node.type === "paragraph") {
|
|
10082
|
-
const inlineChildren = sanitizeInlineNodes(node.content ?? []);
|
|
10083
|
-
return [
|
|
10084
|
-
{
|
|
10085
|
-
type: "paragraph",
|
|
10086
|
-
content: inlineChildren
|
|
10087
|
-
}
|
|
10088
|
-
];
|
|
10089
|
-
}
|
|
10090
|
-
if (node.type === "text") {
|
|
10091
|
-
const text = typeof node.text === "string" ? node.text : "";
|
|
10092
|
-
const marks = sanitizeMarks(node.marks);
|
|
10093
|
-
return text.length > 0 ? [{
|
|
10094
|
-
type: "text",
|
|
10095
|
-
text,
|
|
10096
|
-
...marks ? { marks } : {}
|
|
10097
|
-
}] : [];
|
|
10098
|
-
}
|
|
10099
|
-
if (Array.isArray(node.content)) {
|
|
10100
|
-
return normalizeTopLevelNodes(node.content, options);
|
|
10101
|
-
}
|
|
10102
|
-
return [];
|
|
10103
|
-
}
|
|
10104
|
-
function sanitizeInlineNodes(nodes) {
|
|
10105
|
-
return nodes.flatMap((node) => {
|
|
10106
|
-
if (node.type === "text") {
|
|
10107
|
-
const text = typeof node.text === "string" ? node.text : "";
|
|
10108
|
-
if (text.length === 0) {
|
|
10109
|
-
return [];
|
|
10110
|
-
}
|
|
10111
|
-
const marks = sanitizeMarks(node.marks);
|
|
10112
|
-
return [{
|
|
10113
|
-
type: "text",
|
|
10114
|
-
text,
|
|
10115
|
-
...marks ? { marks } : {}
|
|
10116
|
-
}];
|
|
10117
|
-
}
|
|
10118
|
-
if (Array.isArray(node.content)) {
|
|
10119
|
-
return sanitizeInlineNodes(node.content);
|
|
10120
|
-
}
|
|
10121
|
-
return [];
|
|
10122
|
-
});
|
|
10123
|
-
}
|
|
10124
|
-
function sanitizeMarks(marks) {
|
|
10125
|
-
if (!Array.isArray(marks) || marks.length === 0) {
|
|
10126
|
-
return void 0;
|
|
10127
|
-
}
|
|
10128
|
-
const sanitized = marks.flatMap((mark) => {
|
|
10129
|
-
if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
|
|
10130
|
-
return [{ type: mark.type }];
|
|
10131
|
-
}
|
|
10132
|
-
if (mark.type === "link" && isRecord2(mark.attrs) && typeof mark.attrs.href === "string") {
|
|
10133
|
-
const attrs = { href: mark.attrs.href };
|
|
10134
|
-
if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
|
|
10135
|
-
attrs.target = mark.attrs.target;
|
|
10136
|
-
}
|
|
10137
|
-
if (typeof mark.attrs.rel === "string" && mark.attrs.rel.trim().length > 0) {
|
|
10138
|
-
attrs.rel = mark.attrs.rel;
|
|
10139
|
-
}
|
|
10140
|
-
return [{ type: "link", attrs }];
|
|
10141
|
-
}
|
|
10142
|
-
return [];
|
|
10143
|
-
});
|
|
10144
|
-
return sanitized.length > 0 ? sanitized : void 0;
|
|
10145
|
-
}
|
|
10146
|
-
function unwrapRichTextValue(value) {
|
|
10147
|
-
if (isRecord2(value) && isRecord2(value.doc)) {
|
|
10148
|
-
return unwrapRichTextValue(value.doc);
|
|
10149
|
-
}
|
|
10150
|
-
if (isRecord2(value) && value.type === "doc") {
|
|
10151
|
-
return {
|
|
10152
|
-
type: "doc",
|
|
10153
|
-
content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
|
|
10154
|
-
};
|
|
10155
|
-
}
|
|
10156
|
-
return EMPTY_SITE_BANNER_BODY;
|
|
10157
|
-
}
|
|
10158
|
-
function isTipTapNodeLike(value) {
|
|
10159
|
-
return isRecord2(value) && typeof value.type === "string";
|
|
10160
|
-
}
|
|
10161
|
-
function coerceTipTapNode(value) {
|
|
10162
|
-
return {
|
|
10163
|
-
type: value.type,
|
|
10164
|
-
...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
|
|
10165
|
-
...typeof value.text === "string" ? { text: value.text } : {},
|
|
10166
|
-
...Array.isArray(value.marks) ? {
|
|
10167
|
-
marks: value.marks.filter((mark) => isRecord2(mark) && typeof mark.type === "string").map((mark) => ({
|
|
10168
|
-
type: mark.type,
|
|
10169
|
-
...isRecord2(mark.attrs) ? { attrs: mark.attrs } : {}
|
|
10170
|
-
}))
|
|
10171
|
-
} : {}
|
|
10172
|
-
};
|
|
10173
|
-
}
|
|
10174
|
-
function paragraphTextLength(paragraph) {
|
|
10175
|
-
return collectText(paragraph).length;
|
|
10176
|
-
}
|
|
10177
|
-
function collectParagraphs(doc) {
|
|
10178
|
-
return (doc.content ?? []).filter((node) => node.type === "paragraph");
|
|
10179
|
-
}
|
|
10180
|
-
function collectText(node) {
|
|
10181
|
-
if (node.type === "text") {
|
|
10182
|
-
return node.text ?? "";
|
|
8571
|
+
getPublicFormById: {
|
|
8572
|
+
path: "/public/forms/{formId}",
|
|
8573
|
+
method: "GET",
|
|
8574
|
+
revalidate: 60,
|
|
8575
|
+
tags: ["riverbank:form:{formId}"],
|
|
8576
|
+
auth: "public",
|
|
8577
|
+
responseKind: "json"
|
|
8578
|
+
},
|
|
8579
|
+
listPublicForms: {
|
|
8580
|
+
path: "/public/sites/{siteId}/forms",
|
|
8581
|
+
method: "GET",
|
|
8582
|
+
revalidate: 60,
|
|
8583
|
+
tags: ["riverbank:site:{siteId}:forms"],
|
|
8584
|
+
auth: "public",
|
|
8585
|
+
responseKind: "json"
|
|
8586
|
+
},
|
|
8587
|
+
getPublicBookingServices: {
|
|
8588
|
+
path: "/public/bookings/services",
|
|
8589
|
+
method: "GET",
|
|
8590
|
+
revalidate: 60,
|
|
8591
|
+
tags: ["site-{siteId}"],
|
|
8592
|
+
auth: "public",
|
|
8593
|
+
responseKind: "json"
|
|
8594
|
+
},
|
|
8595
|
+
getPublicChallenge: {
|
|
8596
|
+
path: "/public/challenge",
|
|
8597
|
+
method: "GET",
|
|
8598
|
+
auth: "public",
|
|
8599
|
+
responseKind: "text"
|
|
8600
|
+
},
|
|
8601
|
+
listPublicEvents: {
|
|
8602
|
+
path: "/public/sites/{siteId}/events",
|
|
8603
|
+
method: "GET",
|
|
8604
|
+
revalidate: 60,
|
|
8605
|
+
tags: ["public-events-{siteId}"],
|
|
8606
|
+
auth: "public",
|
|
8607
|
+
responseKind: "json"
|
|
8608
|
+
},
|
|
8609
|
+
batchBlockLoaders: {
|
|
8610
|
+
path: "/public/sites/{siteId}/block-loaders/batch",
|
|
8611
|
+
method: "POST",
|
|
8612
|
+
auth: "public",
|
|
8613
|
+
responseKind: "json"
|
|
8614
|
+
},
|
|
8615
|
+
listPublicCourses: {
|
|
8616
|
+
path: "/public/sites/{siteId}/courses",
|
|
8617
|
+
method: "GET",
|
|
8618
|
+
revalidate: 60,
|
|
8619
|
+
tags: ["public-courses-{siteId}"],
|
|
8620
|
+
auth: "public",
|
|
8621
|
+
responseKind: "json"
|
|
8622
|
+
},
|
|
8623
|
+
listPublicTeamMembers: {
|
|
8624
|
+
path: "/public/sites/{siteId}/team-members",
|
|
8625
|
+
method: "GET",
|
|
8626
|
+
revalidate: 60,
|
|
8627
|
+
tags: ["public-team-members-{siteId}"],
|
|
8628
|
+
auth: "public",
|
|
8629
|
+
responseKind: "json"
|
|
8630
|
+
},
|
|
8631
|
+
listPublicProducts: {
|
|
8632
|
+
path: "/public/sites/{siteId}/products",
|
|
8633
|
+
method: "GET",
|
|
8634
|
+
revalidate: 300,
|
|
8635
|
+
tags: ["public-products-{siteId}"],
|
|
8636
|
+
auth: "public",
|
|
8637
|
+
responseKind: "json"
|
|
8638
|
+
},
|
|
8639
|
+
listPublicPasses: {
|
|
8640
|
+
path: "/public/sites/{siteId}/bookings/products/passes",
|
|
8641
|
+
method: "GET",
|
|
8642
|
+
revalidate: 300,
|
|
8643
|
+
tags: ["public-passes-{siteId}"],
|
|
8644
|
+
auth: "public",
|
|
8645
|
+
responseKind: "json"
|
|
8646
|
+
},
|
|
8647
|
+
listPublicMemberships: {
|
|
8648
|
+
path: "/public/sites/{siteId}/bookings/products/memberships",
|
|
8649
|
+
method: "GET",
|
|
8650
|
+
revalidate: 300,
|
|
8651
|
+
tags: ["public-memberships-{siteId}"],
|
|
8652
|
+
auth: "public",
|
|
8653
|
+
responseKind: "json"
|
|
8654
|
+
},
|
|
8655
|
+
resolveEntrySubroute: {
|
|
8656
|
+
path: "/public/sites/{siteId}/routing/subroutes/resolve",
|
|
8657
|
+
method: "GET",
|
|
8658
|
+
revalidate: 60,
|
|
8659
|
+
tags: ["site-{siteId}", "entry-subroute"],
|
|
8660
|
+
auth: "public",
|
|
8661
|
+
responseKind: "json"
|
|
8662
|
+
},
|
|
8663
|
+
resolveEventOccurrence: {
|
|
8664
|
+
path: "/public/sites/{siteId}/events/occurrences/resolve",
|
|
8665
|
+
method: "GET",
|
|
8666
|
+
revalidate: 60,
|
|
8667
|
+
tags: ["public-events-{siteId}", "event-occurrence"],
|
|
8668
|
+
auth: "public",
|
|
8669
|
+
responseKind: "json"
|
|
8670
|
+
},
|
|
8671
|
+
checkRedirect: {
|
|
8672
|
+
path: "/public/content/redirect",
|
|
8673
|
+
method: "GET",
|
|
8674
|
+
revalidate: 86400,
|
|
8675
|
+
tags: ["redirect"],
|
|
8676
|
+
auth: "public",
|
|
8677
|
+
responseKind: "json"
|
|
8678
|
+
},
|
|
8679
|
+
getRoutableContent: {
|
|
8680
|
+
path: "/sites/{siteId}/routable-content",
|
|
8681
|
+
method: "GET",
|
|
8682
|
+
revalidate: 60,
|
|
8683
|
+
tags: ["riverbank:site:{siteId}:routable-content"],
|
|
8684
|
+
auth: "user",
|
|
8685
|
+
responseKind: "json"
|
|
8686
|
+
},
|
|
8687
|
+
getPublicSitemapRoutes: {
|
|
8688
|
+
path: "/public/sites/{siteId}/sitemap",
|
|
8689
|
+
method: "GET",
|
|
8690
|
+
revalidate: 60,
|
|
8691
|
+
tags: ["riverbank:site:{siteId}:routable-content", "riverbank:site:{siteId}:settings"],
|
|
8692
|
+
auth: "public",
|
|
8693
|
+
responseKind: "json"
|
|
10183
8694
|
}
|
|
10184
|
-
return (node.content ?? []).map(collectText).join("");
|
|
10185
|
-
}
|
|
10186
|
-
|
|
10187
|
-
// ../api/src/aiPlayground.ts
|
|
10188
|
-
import { z as z9 } from "zod";
|
|
10189
|
-
var Rfc6902PatchOp = z9.discriminatedUnion("op", [
|
|
10190
|
-
// Standard RFC-6902 operations
|
|
10191
|
-
z9.object({
|
|
10192
|
-
op: z9.literal("add"),
|
|
10193
|
-
path: z9.string(),
|
|
10194
|
-
value: z9.unknown()
|
|
10195
|
-
}),
|
|
10196
|
-
z9.object({
|
|
10197
|
-
op: z9.literal("remove"),
|
|
10198
|
-
path: z9.string()
|
|
10199
|
-
}),
|
|
10200
|
-
z9.object({
|
|
10201
|
-
op: z9.literal("replace"),
|
|
10202
|
-
path: z9.string(),
|
|
10203
|
-
value: z9.unknown()
|
|
10204
|
-
}),
|
|
10205
|
-
z9.object({
|
|
10206
|
-
op: z9.literal("move"),
|
|
10207
|
-
from: z9.string(),
|
|
10208
|
-
path: z9.string()
|
|
10209
|
-
}),
|
|
10210
|
-
z9.object({
|
|
10211
|
-
op: z9.literal("copy"),
|
|
10212
|
-
from: z9.string(),
|
|
10213
|
-
path: z9.string()
|
|
10214
|
-
}),
|
|
10215
|
-
// Block-level operations (Phase 2)
|
|
10216
|
-
z9.object({
|
|
10217
|
-
op: z9.literal("add_block"),
|
|
10218
|
-
blockKind: z9.string(),
|
|
10219
|
-
afterBlockId: z9.string().nullable(),
|
|
10220
|
-
content: z9.record(z9.string(), z9.unknown()),
|
|
10221
|
-
rationale: z9.string()
|
|
10222
|
-
}),
|
|
10223
|
-
z9.object({
|
|
10224
|
-
op: z9.literal("delete_block"),
|
|
10225
|
-
blockId: z9.string(),
|
|
10226
|
-
rationale: z9.string()
|
|
10227
|
-
}),
|
|
10228
|
-
z9.object({
|
|
10229
|
-
op: z9.literal("reorder_block"),
|
|
10230
|
-
blockId: z9.string(),
|
|
10231
|
-
afterBlockId: z9.string().nullable(),
|
|
10232
|
-
rationale: z9.string()
|
|
10233
|
-
})
|
|
10234
|
-
]);
|
|
10235
|
-
var PlaygroundProposeRequest = z9.object({
|
|
10236
|
-
request: z9.string().min(1).max(2e3)
|
|
10237
|
-
});
|
|
10238
|
-
var MultiPagePatchEnvelope = z9.object({
|
|
10239
|
-
pageId: z9.string(),
|
|
10240
|
-
blockId: z9.string().optional(),
|
|
10241
|
-
// Not present for page-level ops
|
|
10242
|
-
blockKind: z9.string().optional(),
|
|
10243
|
-
blockPurpose: z9.string().optional().nullable(),
|
|
10244
|
-
ops: z9.array(Rfc6902PatchOp),
|
|
10245
|
-
rationale: z9.string(),
|
|
10246
|
-
currentContent: z9.record(z9.string(), z9.unknown()).optional()
|
|
10247
|
-
});
|
|
10248
|
-
var MultiPageUpdateResponse = z9.object({
|
|
10249
|
-
patches: z9.array(MultiPagePatchEnvelope),
|
|
10250
|
-
assistantMessage: z9.string(),
|
|
10251
|
-
pagesModified: z9.number(),
|
|
10252
|
-
toolCallsUsed: z9.number()
|
|
10253
8695
|
});
|
|
10254
|
-
|
|
10255
|
-
// src/public-api/runtime.ts
|
|
10256
|
-
var PUBLIC_ENDPOINT_NAMES2 = [
|
|
10257
|
-
"getSite",
|
|
10258
|
-
"getContentByPath",
|
|
10259
|
-
"listPublishedEntries",
|
|
10260
|
-
"getPublishedEntryPreview",
|
|
10261
|
-
"getPublicFormById",
|
|
10262
|
-
"listPublicForms",
|
|
10263
|
-
"getPublicBookingServices",
|
|
10264
|
-
"getPublicChallenge",
|
|
10265
|
-
"listPublicEvents",
|
|
10266
|
-
"batchBlockLoaders",
|
|
10267
|
-
"listPublicCourses",
|
|
10268
|
-
"listPublicTeamMembers",
|
|
10269
|
-
"listPublicProducts",
|
|
10270
|
-
"listPublicPasses",
|
|
10271
|
-
"listPublicMemberships",
|
|
10272
|
-
"resolveEntrySubroute",
|
|
10273
|
-
"resolveEventOccurrence",
|
|
10274
|
-
"checkRedirect",
|
|
10275
|
-
"getRoutableContent",
|
|
10276
|
-
"getPublicSitemapRoutes"
|
|
10277
|
-
];
|
|
10278
|
-
var API_ENDPOINTS2 = Object.freeze(
|
|
10279
|
-
Object.fromEntries(
|
|
10280
|
-
PUBLIC_ENDPOINT_NAMES2.map((endpoint) => {
|
|
10281
|
-
const definition = API_ENDPOINTS[endpoint];
|
|
10282
|
-
const revalidate = "revalidate" in definition ? definition.revalidate : void 0;
|
|
10283
|
-
const tags2 = "tags" in definition ? definition.tags : void 0;
|
|
10284
|
-
return [
|
|
10285
|
-
endpoint,
|
|
10286
|
-
{
|
|
10287
|
-
path: definition.path,
|
|
10288
|
-
method: definition.method,
|
|
10289
|
-
...definition.auth ? { auth: definition.auth } : {},
|
|
10290
|
-
...definition.responseKind ? { responseKind: definition.responseKind } : {},
|
|
10291
|
-
...typeof revalidate === "number" ? { revalidate } : {},
|
|
10292
|
-
...tags2 ? { tags: tags2 } : {}
|
|
10293
|
-
}
|
|
10294
|
-
];
|
|
10295
|
-
})
|
|
10296
|
-
)
|
|
10297
|
-
);
|
|
10298
|
-
function buildEndpointURL3(baseURL, endpoint) {
|
|
8696
|
+
function buildEndpointURL2(baseURL, endpoint) {
|
|
10299
8697
|
return baseURL + API_ENDPOINTS2[endpoint].path;
|
|
10300
8698
|
}
|
|
10301
8699
|
|
|
@@ -10351,7 +8749,7 @@ export {
|
|
|
10351
8749
|
PrebuildLoader,
|
|
10352
8750
|
RiverbankApiError,
|
|
10353
8751
|
SYSTEM_BLOCK_KINDS,
|
|
10354
|
-
|
|
8752
|
+
buildEndpointURL2 as buildEndpointURL,
|
|
10355
8753
|
canUsePrebuild,
|
|
10356
8754
|
createPrebuildLoader,
|
|
10357
8755
|
createRiverbankClient,
|