@riverbankcms/sdk 0.62.4 → 0.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/dist/_dts/api/src/accessAdmin.d.ts +64 -2
- package/dist/_dts/api/src/aiEndpoints.d.ts +2 -2
- package/dist/_dts/api/src/billing.d.ts +46 -10
- package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +26 -0
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +12 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/courses.d.ts +3 -0
- package/dist/_dts/api/src/endpoints.d.ts +23 -0
- package/dist/_dts/api/src/index.d.ts +8 -5
- package/dist/_dts/api/src/sdkConfig/contracts.d.ts +29 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +13 -1
- package/dist/_dts/api/src/siteOnboarding.d.ts +4 -0
- package/dist/_dts/api/src/siteOperations.d.ts +10 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +29 -0
- package/dist/_dts/api/src/types.d.ts +2 -1
- package/dist/_dts/billing/src/plans/registry.d.ts +1 -0
- package/dist/_dts/billing/src/plans/types.d.ts +9 -0
- package/dist/_dts/block-form/src/FormRenderer.d.ts +38 -0
- package/dist/_dts/block-form/src/backend/adapter.d.ts +7 -0
- package/dist/_dts/block-form/src/backend/hooks/useRepeaterBackend.d.ts +34 -0
- package/dist/_dts/block-form/src/backend/hooks.d.ts +66 -0
- package/dist/_dts/block-form/src/backend/index.d.ts +12 -0
- package/dist/_dts/block-form/src/backend/rhf-backend.d.ts +34 -0
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +60 -0
- package/dist/_dts/block-form/src/backend/types.d.ts +137 -0
- package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +22 -0
- package/dist/_dts/block-form/src/backend/utils/getErrorMessage.d.ts +1 -0
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +70 -0
- package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +1 -0
- package/dist/_dts/block-form/src/client/index.d.ts +30 -0
- package/dist/_dts/block-form/src/context/BlockContext.d.ts +29 -0
- package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +33 -0
- package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +30 -0
- package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -0
- package/dist/_dts/block-form/src/context/index.d.ts +4 -0
- package/dist/_dts/block-form/src/fields/props.d.ts +48 -0
- package/dist/_dts/block-form/src/fields/types.d.ts +223 -0
- package/dist/_dts/block-form/src/index.d.ts +22 -0
- package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +37 -0
- package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +5 -0
- package/dist/_dts/block-form/src/manifest/filterSdkTabs.d.ts +44 -0
- package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +61 -0
- package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +24 -0
- package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +11 -0
- package/dist/_dts/block-form/src/registry/schemas.d.ts +105 -0
- package/dist/_dts/block-form/src/registry/widgets.d.ts +59 -0
- package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +110 -0
- package/dist/_dts/block-form/src/sdk-config/hooks.d.ts +21 -0
- package/dist/_dts/block-form/src/sdk-config/index.d.ts +2 -0
- package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -0
- package/dist/_dts/block-form/src/shared/hooks/index.d.ts +2 -0
- package/dist/_dts/block-form/src/shared/hooks/useCoarsePointer.d.ts +5 -0
- package/dist/_dts/block-form/src/shared/hooks/useContainerWidth.d.ts +6 -0
- package/dist/_dts/block-form/src/utils/VisibilityWrapper.d.ts +25 -0
- package/dist/_dts/block-form/src/utils/computeWatchedPath.d.ts +18 -0
- package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +9 -0
- package/dist/_dts/block-form/src/utils/fieldHelpers.d.ts +94 -0
- package/dist/_dts/block-form/src/utils/resolvePromotedFields.d.ts +22 -0
- package/dist/_dts/block-form/src/utils/slug.d.ts +3 -0
- package/dist/_dts/block-form/src/utils/typeGuards.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorField.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +13 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldSchema.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/BooleanField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/BoxStyleWidget/BoxStyleWidget.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/BoxStyleWidget/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldDefaults.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldSchema.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/DateField/DateField.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/DateField/dateFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +32 -0
- package/dist/_dts/block-form/src/widgets/DateField/index.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/DateTimeField.d.ts +30 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/index.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/utils/dateTimeUtils.d.ts +22 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/utils/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldDefaults.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldSchema.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/Field.d.ts +21 -0
- package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +32 -0
- package/dist/_dts/block-form/src/widgets/FieldSettingsModal/FieldSettingsModal.d.ts +34 -0
- package/dist/_dts/block-form/src/widgets/FieldSettingsModal/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/GroupField/GroupField.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/GroupField/groupFieldDefaults.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/GroupField/groupFieldSchema.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/GroupField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/LinkField/linkFieldDefaults.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/LinkField/linkFieldSchema.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldSchema.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/ModalGroupField/ModalGroupField.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/ModalGroupField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldDefaults.d.ts +18 -0
- package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldSchema.d.ts +14 -0
- package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/NumberField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/NumberField/numberFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/NumberField/numberFieldSchema.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/index.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldDefaults.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldSchema.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/types.d.ts +37 -0
- package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldDefaults.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldSchema.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/RepeaterField.d.ts +26 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterDragHandle.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterError.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterHeader.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +27 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +19 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowContent.d.ts +19 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterTabbedEditDialog.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +26 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +34 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/layoutGridCapacityDecision.d.ts +22 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLayoutGridCapacity.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterRowErrors.d.ts +12 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterVisibility.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +12 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldDefaults.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldSchema.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildItemLabel.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/createDefaultItem.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFieldGroups.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFields.d.ts +22 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/layoutGridCapacityContext.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +43 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +24 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +12 -0
- package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/SdkSelectField/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/SelectField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/SelectField/selectFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/SelectField/selectFieldSchema.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +34 -0
- package/dist/_dts/block-form/src/widgets/SettingsModal/SettingsModal.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/SettingsModal/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/SliderField/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/SlugField/SlugField.d.ts +39 -0
- package/dist/_dts/block-form/src/widgets/SlugField/hooks/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/SlugField/hooks/useSlugAutoGeneration.d.ts +29 -0
- package/dist/_dts/block-form/src/widgets/SlugField/index.d.ts +5 -0
- package/dist/_dts/block-form/src/widgets/SlugField/slugFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/SlugField/slugFieldSchema.d.ts +14 -0
- package/dist/_dts/block-form/src/widgets/SlugField/utils/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/SlugField/utils/pathUtils.d.ts +30 -0
- package/dist/_dts/block-form/src/widgets/SlugField/utils/slugUtils.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/TabGroupField/TabGroupField.d.ts +13 -0
- package/dist/_dts/block-form/src/widgets/TabGroupField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/TabGroupField/tabGroupFieldSchema.d.ts +25 -0
- package/dist/_dts/block-form/src/widgets/TabGroupField/types.d.ts +46 -0
- package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/TextField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/TextField/textFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/TextField/textFieldSchema.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/TimeField/TimeField.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/TimeField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/TimeField/timeFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/UrlField/UrlField.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/UrlField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/UrlField/urlFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/UrlField/urlFieldSchema.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/constants.d.ts +58 -0
- package/dist/_dts/block-form/src/widgets/groupFieldHelpers.d.ts +61 -0
- package/dist/_dts/block-form/src/widgets/index.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/selectValueMapping.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/types/modalConfig.d.ts +18 -0
- package/dist/_dts/block-form/src/widgets/utils/readNumericUiConfig.d.ts +10 -0
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +25 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +6 -6
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
- 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/fragments/library/card.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +4 -1
- package/dist/_dts/calendar/src/grid.d.ts +60 -0
- package/dist/_dts/calendar/src/group.d.ts +14 -0
- package/dist/_dts/calendar/src/index.d.ts +6 -0
- package/dist/_dts/calendar/src/lane-packing.d.ts +28 -0
- package/dist/_dts/calendar/src/timetable.d.ts +90 -0
- package/dist/_dts/calendar/src/timezone.d.ts +19 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -4
- package/dist/_dts/core/src/booking-date-time.d.ts +1 -0
- package/dist/_dts/core/src/branded.d.ts +18 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +750 -0
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/index.d.ts +7 -7
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -2
- package/dist/_dts/editor-blocks/src/widgets/link/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +49 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +6 -0
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +18 -0
- package/dist/_dts/sdk/src/cli/commands/pull.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +17 -0
- package/dist/_dts/sdk/src/cli/content/entryPaths.d.ts +6 -0
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +3 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +77 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePlan.d.ts +45 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +21 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +30 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryRemote.d.ts +9 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +50 -0
- package/dist/_dts/sdk/src/cli/merge-remote/stableJson.d.ts +3 -0
- package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +85 -0
- package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +30 -0
- package/dist/_dts/sdk/src/cli/sync/executor.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/adapter.d.ts +23 -0
- package/dist/_dts/site-commands/src/capabilityGaps.d.ts +8 -0
- package/dist/_dts/site-commands/src/commands.d.ts +1944 -0
- package/dist/_dts/site-commands/src/domain.d.ts +104 -0
- package/dist/_dts/site-commands/src/guards.d.ts +1 -0
- package/dist/_dts/site-commands/src/index.d.ts +9 -0
- package/dist/_dts/site-commands/src/metadata.d.ts +412 -0
- package/dist/_dts/site-commands/src/planner.d.ts +51 -0
- package/dist/_dts/site-commands/src/refContributions.d.ts +10 -0
- package/dist/_dts/site-commands/src/refs.d.ts +75 -0
- package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +10 -0
- package/dist/cli/index.mjs +3997 -548
- package/dist/cli/init-docs/content/cli-reference.md +18 -0
- package/dist/client/bookings.mjs +25 -25
- package/dist/client/client.mjs +2560 -2487
- package/dist/client/hooks.mjs +2288 -2194
- package/dist/client/rendering/client.mjs +296 -108
- package/dist/client/rendering/islands.mjs +18257 -13071
- package/dist/client/rendering.mjs +788 -713
- package/dist/preview-next/before-render.mjs +23 -0
- package/dist/preview-next/client/runtime.mjs +2219 -2076
- package/dist/preview-next/middleware.mjs +23 -0
- package/dist/server/components.mjs +410 -306
- package/dist/server/config-validation.mjs +2516 -2422
- package/dist/server/config.mjs +2516 -2422
- package/dist/server/data.mjs +2288 -2194
- package/dist/server/index.mjs +599 -537
- package/dist/server/next.mjs +2517 -2413
- package/dist/server/page-converter.mjs +42 -10
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +410 -306
- package/dist/server/rendering.mjs +410 -306
- package/dist/server/routing.mjs +2302 -2288
- package/dist/server/server.mjs +2306 -2212
- package/dist/server/theme-bridge.mjs +14 -4
- package/package.json +2 -1
- package/dist/_dts/content-editor/src/ai/patch/allowed.d.ts +0 -2
- package/dist/_dts/content-editor/src/ai/patch/diff.d.ts +0 -17
- package/dist/_dts/content-editor/src/ai/patch/schema.d.ts +0 -49
|
@@ -18,6 +18,6 @@ export type { BlockDraftSaveability, BlockDraftValidationIssue } from '@riverban
|
|
|
18
18
|
export { applyManifestIssuesToForm } from './manifestIssues';
|
|
19
19
|
export { BlockPickerDialog } from './block-editor/BlockPickerDialog';
|
|
20
20
|
export { MediaField } from './media/MediaField';
|
|
21
|
-
export * from './widgets';
|
|
21
|
+
export * from './widgets/index';
|
|
22
22
|
export { createBlockFormLogger, setBlockFormLoggerFactory, setBlockFormAppLogger } from './block-form/debug';
|
|
23
23
|
export type { BlockFormLogger } from './block-form/debug';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './button';
|
|
2
|
-
export * from './content-type-select';
|
|
3
|
-
export * from './entry-picker';
|
|
4
|
-
export * from './icon-picker';
|
|
5
|
-
export * from './link';
|
|
6
|
-
export * from './reference';
|
|
7
|
-
export * from './rich-text';
|
|
1
|
+
export * from './button/index';
|
|
2
|
+
export * from './content-type-select/index';
|
|
3
|
+
export * from './entry-picker/index';
|
|
4
|
+
export * from './icon-picker/index';
|
|
5
|
+
export * from './link/index';
|
|
6
|
+
export * from './reference/index';
|
|
7
|
+
export * from './rich-text/index';
|
|
@@ -3,7 +3,7 @@ import { type LinkValue } from '@riverbankcms/blocks';
|
|
|
3
3
|
import type { RoutableContentItem } from '@riverbankcms/api/navigation';
|
|
4
4
|
import type { SiteId } from '@riverbankcms/core';
|
|
5
5
|
import type { LinkWidgetAdapters } from './types';
|
|
6
|
-
type LinkWidgetProps = {
|
|
6
|
+
export type LinkWidgetProps = {
|
|
7
7
|
siteId?: SiteId;
|
|
8
8
|
value: LinkValue | null;
|
|
9
9
|
onChange: (value: LinkValue | null) => void;
|
|
@@ -16,4 +16,3 @@ type LinkWidgetProps = {
|
|
|
16
16
|
mode?: 'inline' | 'dialog';
|
|
17
17
|
};
|
|
18
18
|
export declare function LinkWidget({ siteId, value, onChange, disabled, initialItems, adapters, label, description, fieldPath, mode, }: LinkWidgetProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
-
export {};
|
|
@@ -33,6 +33,7 @@ export type PreviewEditorSidebarProps = {
|
|
|
33
33
|
theme?: Theme | null;
|
|
34
34
|
themeId?: string | null;
|
|
35
35
|
themeSelectionId?: string | null;
|
|
36
|
+
themeSelectionUpdatedAt?: string | null;
|
|
36
37
|
/** Persisted Style configurator selections (Phase C / E). */
|
|
37
38
|
themeSelectionButtonPersonalityId?: ButtonPersonalityId | null;
|
|
38
39
|
themeSelectionPaletteVariantId?: PaletteVariantId | null;
|
|
@@ -63,4 +64,4 @@ export type PreviewEditorSidebarProps = {
|
|
|
63
64
|
onViewportWidthChange: (width: ViewportWidth) => void;
|
|
64
65
|
onZoomChange: (zoom: ZoomLevel) => void;
|
|
65
66
|
};
|
|
66
|
-
export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, designRowRequest, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, siteStyleAccess, activeTab, onTabChange, onClose, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
67
|
+
export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, designRowRequest, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, siteStyleAccess, activeTab, onTabChange, onClose, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -34,6 +34,7 @@ export type PreviewShellProps = {
|
|
|
34
34
|
theme: Theme;
|
|
35
35
|
themeId?: string | null;
|
|
36
36
|
themeSelectionId?: string | null;
|
|
37
|
+
themeSelectionUpdatedAt?: string | null;
|
|
37
38
|
/**
|
|
38
39
|
* Persisted Style configurator selections. Forwarded into StyleConfigurator
|
|
39
40
|
* so reload renders the user's saved button personality, palette variant,
|
|
@@ -67,7 +68,7 @@ export type PreviewShellProps = {
|
|
|
67
68
|
designEditorEligibility?: PreviewDesignEditorEligibility;
|
|
68
69
|
baseFetch?: BaseFetch;
|
|
69
70
|
};
|
|
70
|
-
export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, supabaseUrl, useThemeScope, designEditorEligibility, baseFetch, }: PreviewShellProps): import("react/jsx-runtime").JSX.Element;
|
|
71
|
+
export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, supabaseUrl, useThemeScope, designEditorEligibility, baseFetch, }: PreviewShellProps): import("react/jsx-runtime").JSX.Element;
|
|
71
72
|
export declare function defaultDesignEditorEligibility(input: Readonly<{
|
|
72
73
|
pageId: string | null;
|
|
73
74
|
entryData?: PreviewContentEntryData | null;
|
|
@@ -25,6 +25,7 @@ export type PreviewShellLayoutProps = {
|
|
|
25
25
|
bearerToken?: string | null;
|
|
26
26
|
themeId?: string | null;
|
|
27
27
|
themeSelectionId?: string | null;
|
|
28
|
+
themeSelectionUpdatedAt?: string | null;
|
|
28
29
|
themeSelectionButtonPersonalityId?: ButtonPersonalityId | null;
|
|
29
30
|
themeSelectionPaletteVariantId?: PaletteVariantId | null;
|
|
30
31
|
themeSelectionPaletteOverrides?: PaletteOverrides | null;
|
|
@@ -42,4 +43,4 @@ export type PreviewShellLayoutProps = {
|
|
|
42
43
|
useThemeScope?: boolean;
|
|
43
44
|
siteStyleAccess?: SiteStyleAccess;
|
|
44
45
|
};
|
|
45
|
-
export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, useThemeScope, siteStyleAccess, }: PreviewShellLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, useThemeScope, siteStyleAccess, }: PreviewShellLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { ApiClient } from '@riverbankcms/api/request';
|
|
3
|
+
import type { Theme } from '@riverbankcms/blocks';
|
|
4
|
+
import type { ButtonPersonalityId } from '@riverbankcms/theme-core/buttons';
|
|
5
|
+
import type { PaletteOverrides, PaletteVariantId } from '@riverbankcms/theme-core/palette';
|
|
6
|
+
import type { FooterLookId, FooterSelectionContext, HeaderLookId, HeaderSelectionContext } from '@riverbankcms/theme-core/site-styles';
|
|
7
|
+
import type { SiteStyleAccess } from './siteStyleAccess';
|
|
8
|
+
import { type SiteChromeLookOption } from './siteChromeLookRows';
|
|
9
|
+
import type { SiteChromeEditableSurfaceKind } from './SiteChromeEditableSurface';
|
|
10
|
+
type SiteChromeCustomizeSurfaceState = Readonly<{
|
|
11
|
+
kind: 'unavailable';
|
|
12
|
+
}> | Readonly<{
|
|
13
|
+
kind: 'available';
|
|
14
|
+
label: string;
|
|
15
|
+
currentId: HeaderLookId | FooterLookId | null;
|
|
16
|
+
currentLabel: string;
|
|
17
|
+
options: readonly SiteChromeLookOption<HeaderLookId | FooterLookId | null>[];
|
|
18
|
+
diagnostics: readonly string[];
|
|
19
|
+
saving: boolean;
|
|
20
|
+
failure: string | null;
|
|
21
|
+
applyAllowed: boolean;
|
|
22
|
+
}>;
|
|
23
|
+
type SiteChromeCustomizeContextValue = Readonly<{
|
|
24
|
+
getSurfaceState: (surface: SiteChromeEditableSurfaceKind) => SiteChromeCustomizeSurfaceState;
|
|
25
|
+
cycleSurfaceLook: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
|
|
26
|
+
}>;
|
|
27
|
+
export type SiteChromeCustomizeProviderProps = Readonly<{
|
|
28
|
+
children: ReactNode;
|
|
29
|
+
siteId: string;
|
|
30
|
+
apiClient: ApiClient;
|
|
31
|
+
theme?: Theme | null;
|
|
32
|
+
themeId?: string | null;
|
|
33
|
+
selectionId?: string | null;
|
|
34
|
+
selectionUpdatedAt?: string | null;
|
|
35
|
+
initialSelections: Readonly<{
|
|
36
|
+
selectionUpdatedAt?: string | null;
|
|
37
|
+
buttonPersonalityId: ButtonPersonalityId | null;
|
|
38
|
+
paletteVariantId: PaletteVariantId | null;
|
|
39
|
+
paletteOverrides: PaletteOverrides | null;
|
|
40
|
+
headerLookId?: HeaderLookId | null;
|
|
41
|
+
footerLookId?: FooterLookId | null;
|
|
42
|
+
}>;
|
|
43
|
+
headerSelectionContext?: Partial<HeaderSelectionContext>;
|
|
44
|
+
footerSelectionContext?: Partial<FooterSelectionContext>;
|
|
45
|
+
siteStyleAccess?: SiteStyleAccess;
|
|
46
|
+
}>;
|
|
47
|
+
export declare function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, themeId, selectionId, selectionUpdatedAt, initialSelections, headerSelectionContext, footerSelectionContext, siteStyleAccess, }: SiteChromeCustomizeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
export declare function useSiteChromeCustomizeOptional(): SiteChromeCustomizeContextValue | null;
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { default as React, type ReactNode } from 'react';
|
|
2
|
+
export type SiteChromeEditableSurfaceKind = 'header' | 'footer';
|
|
3
|
+
export declare function SiteChromeEditableSurface({ surface, children, }: {
|
|
4
|
+
surface: SiteChromeEditableSurfaceKind;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
}): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
@@ -11,8 +11,10 @@ export type StyleConfiguratorProps = Readonly<{
|
|
|
11
11
|
theme?: Theme | null;
|
|
12
12
|
themeId?: string | null;
|
|
13
13
|
selectionId?: string | null;
|
|
14
|
+
selectionUpdatedAt?: string | null;
|
|
14
15
|
/** Server-persisted design selections. */
|
|
15
16
|
initialSelections: Readonly<{
|
|
17
|
+
selectionUpdatedAt?: string | null;
|
|
16
18
|
buttonPersonalityId: ButtonPersonalityId | null;
|
|
17
19
|
paletteVariantId: PaletteVariantId | null;
|
|
18
20
|
paletteOverrides: PaletteOverrides | null;
|
|
@@ -28,4 +30,4 @@ export type StyleConfiguratorProps = Readonly<{
|
|
|
28
30
|
}> | null;
|
|
29
31
|
siteStyleAccess: VisibleSiteStyleAccess;
|
|
30
32
|
}>;
|
|
31
|
-
export declare function StyleConfigurator({ siteId, apiClient, theme, themeId, selectionId, initialSelections, headerSelectionContext, footerSelectionContext, expandedRowRequest, siteStyleAccess, }: StyleConfiguratorProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
export declare function StyleConfigurator({ siteId, apiClient, theme, themeId, selectionId, selectionUpdatedAt, initialSelections, headerSelectionContext, footerSelectionContext, expandedRowRequest, siteStyleAccess, }: StyleConfiguratorProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -38,6 +38,7 @@ export type StyleConfiguratorNotice = Readonly<{
|
|
|
38
38
|
}>;
|
|
39
39
|
export type SelectionSnapshot = Readonly<{
|
|
40
40
|
siteStyleId: SiteStyleId;
|
|
41
|
+
selectionUpdatedAt?: string | null;
|
|
41
42
|
headerLookId: HeaderLookId | null;
|
|
42
43
|
footerLookId: FooterLookId | null;
|
|
43
44
|
buttonPersonalityId: ButtonPersonalityId;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Theme } from '@riverbankcms/blocks';
|
|
2
|
+
import type { ButtonPersonalityId } from '@riverbankcms/theme-core/buttons';
|
|
3
|
+
import type { PaletteOverrides, PaletteVariantId } from '@riverbankcms/theme-core/palette';
|
|
4
|
+
import type { FooterLookId, FooterSelectionContext, HeaderLookId, HeaderSelectionContext } from '@riverbankcms/theme-core/site-styles';
|
|
5
|
+
import type { SelectionSnapshot } from './StyleConfigurator.state';
|
|
6
|
+
export declare function resolveStyleConfiguratorInitialSnapshot(input: Readonly<{
|
|
7
|
+
theme?: Theme | null;
|
|
8
|
+
initialSelections: Readonly<{
|
|
9
|
+
selectionUpdatedAt?: string | null;
|
|
10
|
+
buttonPersonalityId: ButtonPersonalityId | null;
|
|
11
|
+
paletteVariantId: PaletteVariantId | null;
|
|
12
|
+
paletteOverrides: PaletteOverrides | null;
|
|
13
|
+
headerLookId?: HeaderLookId | null;
|
|
14
|
+
footerLookId?: FooterLookId | null;
|
|
15
|
+
}>;
|
|
16
|
+
headerSelectionContext?: Partial<HeaderSelectionContext>;
|
|
17
|
+
footerSelectionContext?: Partial<FooterSelectionContext>;
|
|
18
|
+
}>): SelectionSnapshot | null;
|
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { Command } from 'commander';
|
|
18
18
|
import type { PulledContent } from '../../client/management';
|
|
19
|
+
import type { EntryBaseSnapshotTarget } from '../merge-remote/entrySnapshots';
|
|
20
|
+
export declare function entryBaseSnapshotTargetForPull(input: Readonly<{
|
|
21
|
+
isRemote: boolean;
|
|
22
|
+
siteId: string;
|
|
23
|
+
}>): EntryBaseSnapshotTarget;
|
|
19
24
|
export declare function createScopedPullContent(meta: PulledContent['meta'], overrides: Partial<Omit<PulledContent, 'meta'>>): PulledContent;
|
|
20
25
|
/**
|
|
21
26
|
* Determines whether the pull command should prompt for overwrite confirmation.
|
|
@@ -16,6 +16,8 @@ export interface PushOptions {
|
|
|
16
16
|
deleteOrphaned?: boolean;
|
|
17
17
|
/** Automatically pull stale content and retry push instead of aborting */
|
|
18
18
|
autoPullStale?: boolean;
|
|
19
|
+
/** Use three-way merge bases to preserve remote entry edits during entries pushes */
|
|
20
|
+
mergeRemote?: boolean;
|
|
19
21
|
/** Skip writing .meta/*.json and media/.manifest.json (Commander --no-meta sets this to false) */
|
|
20
22
|
meta?: boolean;
|
|
21
23
|
/** Show human-readable field-level diff (requires --dry-run) */
|
|
@@ -5,6 +5,22 @@ import type { PushOptions } from './push/options';
|
|
|
5
5
|
export interface PushExecutionResult {
|
|
6
6
|
success: boolean;
|
|
7
7
|
}
|
|
8
|
+
type MergeRemoteValidationInput = Readonly<{
|
|
9
|
+
target: EnvTarget;
|
|
10
|
+
pushScope: string;
|
|
11
|
+
contentType?: string;
|
|
12
|
+
identifier?: string;
|
|
13
|
+
force: boolean;
|
|
14
|
+
deleteOrphaned: boolean;
|
|
15
|
+
autoPullStale: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
type MergeRemoteValidationError = Readonly<{
|
|
18
|
+
message: string;
|
|
19
|
+
details: Readonly<{
|
|
20
|
+
suggestion: string;
|
|
21
|
+
}>;
|
|
22
|
+
}>;
|
|
23
|
+
export declare function validateMergeRemoteEntryPushOptions(input: MergeRemoteValidationInput): MergeRemoteValidationError | null;
|
|
8
24
|
/**
|
|
9
25
|
* Execute push for a single environment.
|
|
10
26
|
* Extracted to support --env=both multi-environment operations.
|
|
@@ -15,3 +31,4 @@ export declare function executePushForEnv(output: OutputContext, target: EnvTarg
|
|
|
15
31
|
}, globalOpts: {
|
|
16
32
|
json?: boolean;
|
|
17
33
|
}): Promise<PushExecutionResult>;
|
|
34
|
+
export {};
|
|
@@ -5,9 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { PulledEntries, PulledPages, PulledNavigation, PulledSettings, PulledForms, PulledTheme, PulledFooter, PulledVenues, PulledEventCategories, PulledEvents, PulledCourses } from '../../client/management/types';
|
|
7
7
|
import type { Theme } from '../../contracts';
|
|
8
|
+
import type { EntryBaseSnapshotTarget } from '../merge-remote/entrySnapshots';
|
|
8
9
|
export interface WriterOptions {
|
|
9
10
|
skipMeta?: boolean;
|
|
10
11
|
cleanupMissing?: boolean;
|
|
12
|
+
entryBaseSnapshot?: EntryBaseSnapshotTarget;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* Write entries to content directory
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { LocalEntry } from '../content/reader';
|
|
2
|
+
export type EntryMergeSubject = Readonly<{
|
|
3
|
+
contentType: string;
|
|
4
|
+
identifier: string;
|
|
5
|
+
}>;
|
|
6
|
+
export type EntryMergeInputs = Readonly<{
|
|
7
|
+
subject: EntryMergeSubject;
|
|
8
|
+
base: LocalEntry | null;
|
|
9
|
+
local: LocalEntry | null;
|
|
10
|
+
remote: LocalEntry | null;
|
|
11
|
+
}>;
|
|
12
|
+
export type EntryMergeConflict = Readonly<{
|
|
13
|
+
code: 'missing_base';
|
|
14
|
+
subject: EntryMergeSubject;
|
|
15
|
+
message: string;
|
|
16
|
+
}> | Readonly<{
|
|
17
|
+
code: 'same_field_changed';
|
|
18
|
+
subject: EntryMergeSubject;
|
|
19
|
+
fieldPath: string;
|
|
20
|
+
message: string;
|
|
21
|
+
}> | Readonly<{
|
|
22
|
+
code: 'local_delete_remote_edit';
|
|
23
|
+
subject: EntryMergeSubject;
|
|
24
|
+
message: string;
|
|
25
|
+
}> | Readonly<{
|
|
26
|
+
code: 'remote_delete_local_edit';
|
|
27
|
+
subject: EntryMergeSubject;
|
|
28
|
+
message: string;
|
|
29
|
+
}> | Readonly<{
|
|
30
|
+
code: 'unsupported_nested_merge';
|
|
31
|
+
subject: EntryMergeSubject;
|
|
32
|
+
fieldPath: string;
|
|
33
|
+
message: string;
|
|
34
|
+
}>;
|
|
35
|
+
export type EntryMergeDecision = Readonly<{
|
|
36
|
+
kind: 'unchanged';
|
|
37
|
+
subject: EntryMergeSubject;
|
|
38
|
+
desired: LocalEntry | null;
|
|
39
|
+
}> | Readonly<{
|
|
40
|
+
kind: 'bootstrap_base';
|
|
41
|
+
subject: EntryMergeSubject;
|
|
42
|
+
desired: LocalEntry;
|
|
43
|
+
}> | Readonly<{
|
|
44
|
+
kind: 'preserve_remote';
|
|
45
|
+
subject: EntryMergeSubject;
|
|
46
|
+
desired: LocalEntry | null;
|
|
47
|
+
}> | Readonly<{
|
|
48
|
+
kind: 'apply_local_create' | 'apply_local_update';
|
|
49
|
+
subject: EntryMergeSubject;
|
|
50
|
+
desired: LocalEntry;
|
|
51
|
+
}> | Readonly<{
|
|
52
|
+
kind: 'apply_local_delete';
|
|
53
|
+
subject: EntryMergeSubject;
|
|
54
|
+
desired: null;
|
|
55
|
+
}> | Readonly<{
|
|
56
|
+
kind: 'auto_merge';
|
|
57
|
+
subject: EntryMergeSubject;
|
|
58
|
+
desired: LocalEntry;
|
|
59
|
+
localFieldPaths: readonly string[];
|
|
60
|
+
remoteFieldPaths: readonly string[];
|
|
61
|
+
}> | Readonly<{
|
|
62
|
+
kind: 'conflict';
|
|
63
|
+
subject: EntryMergeSubject;
|
|
64
|
+
conflict: EntryMergeConflict;
|
|
65
|
+
}>;
|
|
66
|
+
export type ComparableEntry = Readonly<{
|
|
67
|
+
identifier: string;
|
|
68
|
+
slug?: string;
|
|
69
|
+
status?: LocalEntry['status'];
|
|
70
|
+
hasUnpublishedChanges?: boolean;
|
|
71
|
+
data: Readonly<Record<string, unknown>>;
|
|
72
|
+
}>;
|
|
73
|
+
export type ComparableEntryContent = Pick<ComparableEntry, 'identifier' | 'slug' | 'data'>;
|
|
74
|
+
export declare function planEntryMerge(input: EntryMergeInputs): EntryMergeDecision;
|
|
75
|
+
export declare function comparableEntry(entry: LocalEntry | null): ComparableEntry | null;
|
|
76
|
+
export declare function comparableEntryContent(entry: LocalEntry | null): ComparableEntryContent | null;
|
|
77
|
+
export declare function entryContentsEqual(left: LocalEntry | null, right: LocalEntry | null): boolean;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { PulledEntries } from '../../client/management/types';
|
|
2
|
+
import type { LocalEntry } from '../content/reader';
|
|
3
|
+
import { type EntryBaseSnapshotTarget } from './entrySnapshots';
|
|
4
|
+
import { type EntryMergeDecision } from './entryMerge';
|
|
5
|
+
export type EntryMergePushScope = Readonly<{
|
|
6
|
+
kind: 'all_entries';
|
|
7
|
+
}> | Readonly<{
|
|
8
|
+
kind: 'content_type';
|
|
9
|
+
contentType: string;
|
|
10
|
+
}> | Readonly<{
|
|
11
|
+
kind: 'single_entry';
|
|
12
|
+
contentType: string;
|
|
13
|
+
identifier: string;
|
|
14
|
+
}>;
|
|
15
|
+
export type RemoteEntryMergePlan = Readonly<{
|
|
16
|
+
scope: EntryMergePushScope;
|
|
17
|
+
decisions: readonly EntryMergeDecision[];
|
|
18
|
+
summary: RemoteEntryMergePlanSummary;
|
|
19
|
+
}>;
|
|
20
|
+
export type RemoteEntryMergePlanSummary = Readonly<{
|
|
21
|
+
unchanged: number;
|
|
22
|
+
bootstrapBase: number;
|
|
23
|
+
preserveRemote: number;
|
|
24
|
+
applyLocalCreate: number;
|
|
25
|
+
applyLocalUpdate: number;
|
|
26
|
+
applyLocalDelete: number;
|
|
27
|
+
autoMerge: number;
|
|
28
|
+
conflicts: number;
|
|
29
|
+
}>;
|
|
30
|
+
export type RemoteEntryMergePlanInput = Readonly<{
|
|
31
|
+
contentDir: string;
|
|
32
|
+
target: EntryBaseSnapshotTarget;
|
|
33
|
+
scope: EntryMergePushScope;
|
|
34
|
+
localEntries: ReadonlyMap<string, readonly LocalEntry[]>;
|
|
35
|
+
remoteEntries: RemoteEntriesByType;
|
|
36
|
+
}>;
|
|
37
|
+
export type RemoteEntriesByType = ReadonlyMap<string, ReadonlyArray<PulledEntries['entries'][number]>>;
|
|
38
|
+
export declare function buildRemoteEntryMergePlan(input: RemoteEntryMergePlanInput): Promise<RemoteEntryMergePlan>;
|
|
39
|
+
export declare function summarizeEntryMergeDecisions(decisions: readonly EntryMergeDecision[]): RemoteEntryMergePlanSummary;
|
|
40
|
+
export declare function entryMergePushScope(input: Readonly<{
|
|
41
|
+
contentType?: string;
|
|
42
|
+
identifier?: string;
|
|
43
|
+
}>): EntryMergePushScope;
|
|
44
|
+
export declare function remotePulledEntriesByType(entries: Readonly<Record<string, PulledEntries['entries']>>): RemoteEntriesByType;
|
|
45
|
+
export declare function pulledEntriesToRemoteByType(contentType: string, entries: PulledEntries['entries']): RemoteEntriesByType;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ManagementClient } from '../../client/management/types';
|
|
2
|
+
import type { LocalEntry } from '../content/reader';
|
|
3
|
+
import type { EnvTarget } from '../helpers';
|
|
4
|
+
import type { OutputContext } from '../output';
|
|
5
|
+
export type RemoteEntryMergePushResult = Readonly<{
|
|
6
|
+
success: boolean;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function planAndReportRemoteEntryMerge(input: Readonly<{
|
|
9
|
+
output: OutputContext;
|
|
10
|
+
client: Pick<ManagementClient, 'entries' | 'pull'>;
|
|
11
|
+
contentDir: string;
|
|
12
|
+
target: EnvTarget;
|
|
13
|
+
siteId: string;
|
|
14
|
+
contentType?: string;
|
|
15
|
+
identifier?: string;
|
|
16
|
+
localEntries: ReadonlyMap<string, readonly LocalEntry[]>;
|
|
17
|
+
dryRun: boolean;
|
|
18
|
+
jsonOutput: boolean;
|
|
19
|
+
jsonDiff: boolean;
|
|
20
|
+
skipMeta: boolean;
|
|
21
|
+
}>): Promise<RemoteEntryMergePushResult>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { OutputContext } from '../output';
|
|
2
|
+
import type { EntryMergeConflict, EntryMergeDecision } from './entryMerge';
|
|
3
|
+
import type { RemoteEntryMergePlan } from './entryMergePlan';
|
|
4
|
+
export type RemoteEntryMergeJsonReport = Readonly<{
|
|
5
|
+
kind: 'push';
|
|
6
|
+
scope: 'entries';
|
|
7
|
+
mergeRemote: true;
|
|
8
|
+
dryRun: boolean;
|
|
9
|
+
summary: RemoteEntryMergePlan['summary'];
|
|
10
|
+
decisions: readonly RemoteEntryMergeDecisionReport[];
|
|
11
|
+
}>;
|
|
12
|
+
export type RemoteEntryMergeDecisionReport = Readonly<{
|
|
13
|
+
kind: EntryMergeDecision['kind'];
|
|
14
|
+
contentType: string;
|
|
15
|
+
identifier: string;
|
|
16
|
+
localFieldPaths?: readonly string[];
|
|
17
|
+
remoteFieldPaths?: readonly string[];
|
|
18
|
+
conflict?: Readonly<{
|
|
19
|
+
code: EntryMergeConflict['code'];
|
|
20
|
+
fieldPath?: string;
|
|
21
|
+
message: string;
|
|
22
|
+
}>;
|
|
23
|
+
}>;
|
|
24
|
+
export declare function remoteEntryMergeJsonReport(input: Readonly<{
|
|
25
|
+
plan: RemoteEntryMergePlan;
|
|
26
|
+
dryRun: boolean;
|
|
27
|
+
}>): RemoteEntryMergeJsonReport;
|
|
28
|
+
export declare function writeRemoteEntryMergeHumanReport(output: Pick<OutputContext, 'info'>, plan: RemoteEntryMergePlan, options: Readonly<{
|
|
29
|
+
dryRun: boolean;
|
|
30
|
+
}>): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ManagementClient, PulledEntries } from '../../client/management/types';
|
|
2
|
+
import type { OutputContext } from '../output';
|
|
3
|
+
import { type EntryMergePushScope, type RemoteEntriesByType } from './entryMergePlan';
|
|
4
|
+
export declare function fetchRemoteEntriesForMerge(input: Readonly<{
|
|
5
|
+
client: Pick<ManagementClient, 'pull'>;
|
|
6
|
+
scope: EntryMergePushScope;
|
|
7
|
+
output: Pick<OutputContext, 'info' | 'warn'>;
|
|
8
|
+
}>): Promise<RemoteEntriesByType>;
|
|
9
|
+
export declare function fetchRemotePulledEntriesForContentType(client: Pick<ManagementClient, 'pull'>, contentType: string, output: Pick<OutputContext, 'info'>): Promise<PulledEntries>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { PulledEntries } from '../../client/management/types';
|
|
2
|
+
import type { EnvTarget } from '../helpers';
|
|
3
|
+
import type { LocalEntry } from '../content/reader';
|
|
4
|
+
export type EntryBaseSnapshotTarget = Readonly<{
|
|
5
|
+
env: EnvTarget;
|
|
6
|
+
siteId: string;
|
|
7
|
+
}>;
|
|
8
|
+
export type EntryBaseSnapshotSubject = Readonly<{
|
|
9
|
+
contentType: string;
|
|
10
|
+
identifier: string;
|
|
11
|
+
}>;
|
|
12
|
+
export type EntryBaseSnapshot = Readonly<{
|
|
13
|
+
version: 'entry-base.v1';
|
|
14
|
+
target: Readonly<{
|
|
15
|
+
env: EnvTarget;
|
|
16
|
+
siteIdHash: string;
|
|
17
|
+
}>;
|
|
18
|
+
subject: EntryBaseSnapshotSubject;
|
|
19
|
+
pulledAt: string;
|
|
20
|
+
remoteVersion: Readonly<{
|
|
21
|
+
createdAt?: string;
|
|
22
|
+
updatedAt?: string;
|
|
23
|
+
publishedAt?: string | null;
|
|
24
|
+
}>;
|
|
25
|
+
entry: LocalEntry;
|
|
26
|
+
}>;
|
|
27
|
+
export type WriteEntryBaseSnapshotsInput = Readonly<{
|
|
28
|
+
contentDir: string;
|
|
29
|
+
target: EntryBaseSnapshotTarget;
|
|
30
|
+
contentType: string;
|
|
31
|
+
entries: PulledEntries['entries'];
|
|
32
|
+
meta: PulledEntries['meta'];
|
|
33
|
+
cleanupMissing?: boolean;
|
|
34
|
+
}>;
|
|
35
|
+
export type WriteEntryBaseSnapshotsResult = Readonly<{
|
|
36
|
+
rootDir: string;
|
|
37
|
+
count: number;
|
|
38
|
+
}>;
|
|
39
|
+
export declare function entryBaseSnapshotRoot(contentDir: string): string;
|
|
40
|
+
export declare function entryBaseSnapshotPath(input: Readonly<{
|
|
41
|
+
contentDir: string;
|
|
42
|
+
target: EntryBaseSnapshotTarget;
|
|
43
|
+
subject: EntryBaseSnapshotSubject;
|
|
44
|
+
}>): string;
|
|
45
|
+
export declare function writeEntryBaseSnapshots(input: WriteEntryBaseSnapshotsInput): Promise<WriteEntryBaseSnapshotsResult>;
|
|
46
|
+
export declare function readEntryBaseSnapshot(input: Readonly<{
|
|
47
|
+
contentDir: string;
|
|
48
|
+
target: EntryBaseSnapshotTarget;
|
|
49
|
+
subject: EntryBaseSnapshotSubject;
|
|
50
|
+
}>): Promise<EntryBaseSnapshot | null>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { type Result } from '@riverbankcms/core';
|
|
2
|
+
import { type AllowedRuntime, type DryRunReport, type PlannedSiteCommandFor, type SiteCommandBatch, type SiteCommandExecutionSuccess, type SiteCommandOf, type SiteCommandPlan, type SiteCommandRef, type SiteCommandValidationError } from '@riverbankcms/site-commands';
|
|
3
|
+
import type { ManagementClient } from '../../client/management/types';
|
|
4
|
+
import type { LocalContent } from '../content/reader';
|
|
5
|
+
import type { EnvTarget } from '../helpers';
|
|
6
|
+
import type { ContentDiff } from '../sync/diff';
|
|
7
|
+
import { type SyncResult } from '../sync';
|
|
8
|
+
export type CliEntryCommandBatchSource = 'push_entries' | 'merge_remote_entries';
|
|
9
|
+
export type CliCommandCompileError = Readonly<{
|
|
10
|
+
code: 'missing_local_entry';
|
|
11
|
+
contentType: string;
|
|
12
|
+
identifier: string;
|
|
13
|
+
message: string;
|
|
14
|
+
}> | Readonly<{
|
|
15
|
+
code: 'command_validation_failed';
|
|
16
|
+
errors: readonly SiteCommandValidationError[];
|
|
17
|
+
message: string;
|
|
18
|
+
}>;
|
|
19
|
+
export type CliEntryCommandCompileInput = Readonly<{
|
|
20
|
+
source: CliEntryCommandBatchSource;
|
|
21
|
+
siteId: string;
|
|
22
|
+
targetEnv: EnvTarget;
|
|
23
|
+
diff: Pick<ContentDiff, 'entries'>;
|
|
24
|
+
local: Pick<LocalContent, 'entries'>;
|
|
25
|
+
}>;
|
|
26
|
+
export type CliEntryCommandCompileSuccess = Readonly<{
|
|
27
|
+
batch: SiteCommandBatch;
|
|
28
|
+
plan: EntrySiteCommandPlan;
|
|
29
|
+
dryRunReport: DryRunReport;
|
|
30
|
+
reportSubjectsByCommandRef: EntryCommandReportSubjectsByRef;
|
|
31
|
+
}>;
|
|
32
|
+
export type CliEntryCommandExecutionError = Readonly<{
|
|
33
|
+
code: 'management_api_failed';
|
|
34
|
+
commandRef: SiteCommandRef;
|
|
35
|
+
commandType: EntrySiteCommandType;
|
|
36
|
+
message: string;
|
|
37
|
+
}>;
|
|
38
|
+
export type CliEntryCommandExecutionResult = Readonly<{
|
|
39
|
+
status: 'applied';
|
|
40
|
+
applied: readonly SiteCommandExecutionSuccess[];
|
|
41
|
+
}> | Readonly<{
|
|
42
|
+
status: 'failed';
|
|
43
|
+
applied: readonly SiteCommandExecutionSuccess[];
|
|
44
|
+
failed: CliEntryCommandExecutionError;
|
|
45
|
+
}>;
|
|
46
|
+
export type CliEntryCommandSyncInput = Readonly<{
|
|
47
|
+
client: Pick<ManagementClient, 'entries'>;
|
|
48
|
+
plan: EntrySiteCommandPlan;
|
|
49
|
+
reportSubjectsByCommandRef: EntryCommandReportSubjectsByRef;
|
|
50
|
+
onBeforeExecute?: (commandCount: number) => void;
|
|
51
|
+
}>;
|
|
52
|
+
export type EntrySiteCommandType = 'upsertContentEntry' | 'publishContentEntry' | 'unpublishContentEntry' | 'deleteContentEntry';
|
|
53
|
+
export type EntrySiteCommand = SiteCommandOf<EntrySiteCommandType>;
|
|
54
|
+
export type PlannedEntrySiteCommand = {
|
|
55
|
+
[TType in EntrySiteCommandType]: PlannedSiteCommandFor<TType>;
|
|
56
|
+
}[EntrySiteCommandType];
|
|
57
|
+
export type EntrySiteCommandPlan = Omit<SiteCommandPlan, 'commands'> & Readonly<{
|
|
58
|
+
commands: readonly PlannedEntrySiteCommand[];
|
|
59
|
+
}>;
|
|
60
|
+
export declare const entrySiteCommandTypes: readonly ["upsertContentEntry", "publishContentEntry", "unpublishContentEntry", "deleteContentEntry"];
|
|
61
|
+
export type EntryCommandLegacyCounter = 'created' | 'updated' | 'deleted' | 'published' | 'unpublished';
|
|
62
|
+
export type EntryCommandReportSubject = Readonly<{
|
|
63
|
+
commandRef: SiteCommandRef;
|
|
64
|
+
contentType: string;
|
|
65
|
+
identifier: string;
|
|
66
|
+
counter: EntryCommandLegacyCounter;
|
|
67
|
+
}>;
|
|
68
|
+
export type EntryCommandReportSubjectsByRef = ReadonlyMap<SiteCommandRef, EntryCommandReportSubject>;
|
|
69
|
+
export declare function compileEntryPushCommands(input: CliEntryCommandCompileInput): Result<CliEntryCommandCompileSuccess, CliCommandCompileError>;
|
|
70
|
+
/** SDK push only distinguishes local development and remote production targets today. */
|
|
71
|
+
export declare function runtimeForCliTarget(targetEnv: EnvTarget): AllowedRuntime;
|
|
72
|
+
export declare function createCliCommandBatchRef(input: Pick<CliEntryCommandCompileInput, 'source' | 'siteId' | 'targetEnv'>): string;
|
|
73
|
+
export declare function formatSiteCommandValidationErrors(errors: readonly SiteCommandValidationError[]): string;
|
|
74
|
+
export declare function executeEntryCommandPlan(input: Readonly<{
|
|
75
|
+
client: Pick<ManagementClient, 'entries'>;
|
|
76
|
+
plan: Pick<EntrySiteCommandPlan, 'commands'>;
|
|
77
|
+
}>): Promise<CliEntryCommandExecutionResult>;
|
|
78
|
+
export declare function executeEntryCommandPlanAsSyncResult(input: CliEntryCommandSyncInput): Promise<SyncResult>;
|
|
79
|
+
export declare function syncResultForEntryCommandCompileError(error: CliCommandCompileError): SyncResult;
|
|
80
|
+
export declare function entryCommandExecutionToSyncResult(input: Readonly<{
|
|
81
|
+
execution: CliEntryCommandExecutionResult;
|
|
82
|
+
plan: Pick<EntrySiteCommandPlan, 'commands'>;
|
|
83
|
+
reportSubjectsByCommandRef: EntryCommandReportSubjectsByRef;
|
|
84
|
+
}>): SyncResult;
|
|
85
|
+
export declare function titleFromEntryData(data: Record<string, unknown>): string | undefined;
|