@riverbankcms/sdk 0.129.0 → 0.130.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 +51 -266
- package/dist/{PreviewEditorSidebar-B43CJ0g_.mjs → PreviewEditorSidebar-DiEpbOdw.mjs} +313 -239
- package/dist/{PreviewEditorUI-DHirVkeM.mjs → PreviewEditorUI-C6MvxnIa.mjs} +3 -3
- package/dist/{PreviewQueryProvider-B1kbhaJD.mjs → PreviewQueryProvider-C2rnoPz6.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BJumZy1B.mjs → SdkPreviewModeRuntime-DRXA_m5L.mjs} +208 -211
- package/dist/{SiteChromeCustomizeContext-D9SlpwEj.mjs → SiteChromeCustomizeContext-BTHdv5_-.mjs} +6222 -6190
- package/dist/_dts/ai/src/contracts/commandExposure.d.ts +1 -1
- package/dist/_dts/ai/src/contracts/proposalPrimitives.d.ts +52 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +9438 -33588
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +32572 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +21 -9
- package/dist/_dts/api/src/bookingConfig.d.ts +4 -46
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +13 -11
- package/dist/_dts/api/src/bookingRecords.d.ts +1 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -5
- package/dist/_dts/api/src/endpoints.d.ts +14 -21
- package/dist/_dts/api/src/eventManagementContracts.d.ts +76 -0
- package/dist/_dts/api/src/index.d.ts +5 -3
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +22 -47
- package/dist/_dts/api/src/sdk-event-management.d.ts +53 -0
- package/dist/_dts/api/src/sdk-event-schedule.d.ts +8 -6
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +112 -20
- package/dist/_dts/api/src/sdkContracts.d.ts +74 -115
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +35 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +4517 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +18 -29
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +23 -37
- package/dist/_dts/blocks/src/contracts/index.d.ts +2 -0
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +6 -8
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +36 -14
- package/dist/_dts/blocks/src/index.d.ts +5 -3
- package/dist/_dts/blocks/src/lib/media.d.ts +9 -539
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +135 -90
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +37 -4
- package/dist/_dts/blocks/src/system/blocks/site-footer-nav-groups-layout.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +3 -0
- package/dist/_dts/blocks/src/system/componentFactory.d.ts +5 -5
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +8 -6
- package/dist/_dts/blocks/src/system/customize/serializeBackgroundOverride.d.ts +3 -0
- package/dist/_dts/blocks/src/system/fields/background.d.ts +2 -20
- package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +17 -0
- package/dist/_dts/blocks/src/system/fields/backgroundContentAudit.d.ts +20 -0
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +5 -33
- package/dist/_dts/blocks/src/system/fragments/builder.d.ts +1 -0
- package/dist/_dts/blocks/src/system/fragments/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/helpers/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +10 -45
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +7 -4
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/writeCanonicalization.d.ts +4 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +123 -55
- package/dist/_dts/blocks/src/system/registry.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +2 -37
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +61 -24
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +30 -12
- package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +3 -5
- package/dist/_dts/blocks/src/system/runtime/header/headerScrollRuntime.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/header/runtimeContract.d.ts +22 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/view.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.frame.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +41 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.pass-contract.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +3 -3
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -1
- package/dist/_dts/blocks/src/system/transforms/registry/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +3 -1
- package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +4 -1
- package/dist/_dts/blocks/src/system/transforms/registry/headerRuntime.d.ts +3 -0
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -3
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +41 -43
- package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +4 -2
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +2 -17
- package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +5 -0
- package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
- package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +21 -0
- package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +11 -1
- package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +26 -0
- package/dist/_dts/content-model/src/templates/defaults.d.ts +7 -0
- package/dist/_dts/core/src/booking-date-time.d.ts +2 -2
- package/dist/_dts/core/src/booking-time-zone.d.ts +6 -0
- package/dist/_dts/core/src/footer-composition-types.d.ts +4 -4
- package/dist/_dts/core/src/footer-navigation-layout.d.ts +4 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +38 -18
- package/dist/_dts/media-core/src/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/FooterSidebarDisclosure.d.ts +8 -0
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +5 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +15 -17
- package/dist/_dts/preview-next/src/client/preview/PreviewFooterEditorPanel.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -5
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -4
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -5
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +6 -7
- package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +7 -7
- package/dist/_dts/preview-next/src/client/preview/siteChromeCustomizeTypes.d.ts +4 -4
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +12 -11
- package/dist/_dts/preview-next/src/client/preview/siteChromeSelectionRows.d.ts +53 -0
- package/dist/_dts/preview-next/src/client/preview/siteStyleAccess.d.ts +1 -6
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +6 -15
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +4 -6
- package/dist/_dts/sdk/src/config/types.d.ts +5 -4
- package/dist/_dts/sdk/src/config/validation.d.ts +2 -0
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -41
- package/dist/_dts/sdk/src/next/catch-all-theme-admission.d.ts +23 -0
- package/dist/_dts/sdk/src/next/index.d.ts +8 -6
- package/dist/_dts/sdk/src/next/resolveTheme.d.ts +1 -2
- package/dist/_dts/sdk/src/next/types.d.ts +10 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -16
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +5 -3
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +4 -2
- package/dist/_dts/sdk/src/rendering/index.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/server.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/themeAdmission.d.ts +11 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/blockOverrides.d.ts +1 -1
- package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +184 -0
- package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +96 -0
- package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +78 -0
- package/dist/_dts/theme-core/src/buttons/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/buttons/parseThemeForPersistence.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +9 -57
- package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +6 -3
- package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +8 -7
- package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +12 -0
- package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +5 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +51 -4
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/lib/media.d.ts +583 -10
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +5117 -1433
- package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/schema.d.ts +5079 -2005
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +6 -14
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +29 -102
- package/dist/_dts/theme-core/src/site-styles/customizableSurfaces.d.ts +3 -76
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -7
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipelineHelpers.d.ts +17 -0
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +281 -0
- package/dist/_dts/theme-core/src/site-styles/headerLayoutResolution.d.ts +13 -0
- package/dist/_dts/theme-core/src/site-styles/headerLayoutStyles.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/headerLayoutTypes.d.ts +142 -0
- package/dist/_dts/theme-core/src/site-styles/headerNavStyles.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +7 -4
- package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/imageSurfaceBackground.d.ts +14 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +14 -41
- package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +23 -0
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +8 -6
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +1 -1
- package/dist/client/{CourseRegistrationWizard-xRmA7REV.mjs → CourseRegistrationWizard-Bvtz9G9g.mjs} +5 -5
- package/dist/client/{DiscountCodeDisclosure-B9vriL5C.mjs → DiscountCodeDisclosure-Ur-Xx1U_.mjs} +1 -1
- package/dist/client/{EventCombined.client-BgVnVTlz.mjs → EventCombined.client-EhscD4U6.mjs} +2 -2
- package/dist/client/{EventListing.client-CqdsO7jO.mjs → EventListing.client-Bn26cFTY.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CKPxot9M.mjs → LeafletStaticMap-BUw9Ntzr.mjs} +1 -1
- package/dist/client/{StepIndicator-DGCYuBJ1.mjs → StepIndicator-BfbdiVQI.mjs} +2 -2
- package/dist/client/{accordion-BfN5Eqd-.mjs → accordion-CjIeof73.mjs} +1 -1
- package/dist/client/{bookingForm-DOvCpBFP.mjs → bookingForm-DwEeovf_.mjs} +5 -5
- package/dist/client/bookings.mjs +1028 -1038
- package/dist/client/{carousel-DPNmiH0f.mjs → carousel-BMrfgOba.mjs} +1 -1
- package/dist/client/{cart--egVXlrR.mjs → cart-rXEdxTdb.mjs} +3 -3
- package/dist/client/{checkout-DywWtMcq.mjs → checkout-D3JlSzh3.mjs} +3 -3
- package/dist/client/client.mjs +18324 -18224
- package/dist/client/{courseRegistration-Dk9qFVwt.mjs → courseRegistration-DO5XvMAA.mjs} +2 -2
- package/dist/client/{eventCalendar-Bkz2HjlS.mjs → eventCalendar-DO6rTqCn.mjs} +4 -4
- package/dist/client/{eventCombined-D4kipYWg.mjs → eventCombined-bJ3i_ovU.mjs} +2 -2
- package/dist/client/{eventDetails-Dz_5ix2Q.mjs → eventDetails-CCbrXE7o.mjs} +3 -3
- package/dist/client/{eventListing-D0vm-zST.mjs → eventListing-Bdlt9YTm.mjs} +2 -2
- package/dist/client/{eventRegistration-Cw1E4Q4p.mjs → eventRegistration-B02lt6iY.mjs} +6 -6
- package/dist/client/{form-C2Zf1n3K.mjs → form-DrUBAAox.mjs} +1 -1
- package/dist/client/{headerSection-CP05gzdc.mjs → headerSection-MzqvHL6T.mjs} +151 -104
- package/dist/client/hooks.mjs +4550 -4211
- package/dist/client/{locationMap-Cl3x9PYJ.mjs → locationMap-DG8BxTBm.mjs} +2 -2
- package/dist/client/{newsletterForm-DyEJoClm.mjs → newsletterForm-BzO-Td3p.mjs} +1 -1
- package/dist/client/{pricing-DGuNR1W4.mjs → pricing-NgK7ozkg.mjs} +1 -1
- package/dist/client/{productDetail-Cq-HrGew.mjs → productDetail-CfQ7rhVK.mjs} +3 -3
- package/dist/client/{productList-DbB3jwqd.mjs → productList-C23rOLUi.mjs} +3 -3
- package/dist/client/{propsDecoder-CiTuhUwY.mjs → propsDecoder-CAZdhwjs.mjs} +2166 -2157
- package/dist/client/rendering/client.mjs +3606 -4078
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +15969 -15843
- package/dist/client/{scrollToBlock-CShkRqab.mjs → scrollToBlock-DSSqVQr1.mjs} +1 -1
- package/dist/client/{shop-Cu4Ib-ZA.mjs → shop-BMToKLK7.mjs} +34 -23
- package/dist/client/{shop-commerce-BzpsOdh7.mjs → shop-commerce-DB4JRKmp.mjs} +4 -4
- package/dist/client/{shop-commerce-store-DaE7Fhj8.mjs → shop-commerce-store-BOqSIOuc.mjs} +1 -1
- package/dist/client/{shopShared-cF0c20vB.mjs → shopShared-B6SK9DZv.mjs} +9 -3
- package/dist/client/{useEventFilters-QZ3HMgaJ.mjs → useEventFilters-CULOa4nB.mjs} +2 -2
- package/dist/client/{usePolling-BKf0GcE-.mjs → usePolling-BGG_8-jl.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +16 -27
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +16 -27
- package/dist/{previewAuthStore-BesgU5Xu.mjs → previewAuthStore-_GXFRg2W.mjs} +16 -27
- package/dist/{sdk-runtime-CfZd5pAm.mjs → sdk-runtime-hhSOMShR.mjs} +2 -2
- package/dist/{separator-DkTe68HE.mjs → separator-flRaFc14.mjs} +1 -1
- package/dist/server/components.mjs +17802 -17875
- package/dist/server/config-validation.mjs +4729 -4416
- package/dist/server/config.mjs +4733 -4420
- package/dist/server/data.mjs +4533 -4211
- package/dist/server/date-time.mjs +22 -13
- package/dist/server/index.mjs +17 -28
- package/dist/server/manifest.mjs +4966 -0
- package/dist/server/next.mjs +17635 -17676
- package/dist/server/page-converter.mjs +3759 -4386
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +18960 -19049
- package/dist/server/rendering.mjs +17848 -17902
- package/dist/server/routing.mjs +4776 -4323
- package/dist/server/server.mjs +4609 -4264
- package/dist/server/theme-bridge.mjs +1361 -1850
- package/dist/server/theme.mjs +736 -605
- package/dist/styles/index.css +22 -3
- package/package.json +9 -12
- package/dist/_dts/api/src/event-presentation.d.ts +0 -14
- package/dist/_dts/blocks/src/definitions.d.ts +0 -14
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +0 -66
- package/dist/_dts/sdk/src/cli/canonical-entry-policy.d.ts +0 -53
- package/dist/_dts/sdk/src/cli/commands/audit.d.ts +0 -101
- package/dist/_dts/sdk/src/cli/commands/block.d.ts +0 -24
- package/dist/_dts/sdk/src/cli/commands/compare.d.ts +0 -62
- package/dist/_dts/sdk/src/cli/commands/content-type.d.ts +0 -10
- package/dist/_dts/sdk/src/cli/commands/content.d.ts +0 -56
- package/dist/_dts/sdk/src/cli/commands/delete.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/commands/deploy.d.ts +0 -43
- package/dist/_dts/sdk/src/cli/commands/drafts.d.ts +0 -18
- package/dist/_dts/sdk/src/cli/commands/entry.d.ts +0 -55
- package/dist/_dts/sdk/src/cli/commands/env.d.ts +0 -31
- package/dist/_dts/sdk/src/cli/commands/event.d.ts +0 -23
- package/dist/_dts/sdk/src/cli/commands/eventOccurrenceSchedule.d.ts +0 -12
- package/dist/_dts/sdk/src/cli/commands/identifiers.d.ts +0 -10
- package/dist/_dts/sdk/src/cli/commands/init-docs.d.ts +0 -13
- package/dist/_dts/sdk/src/cli/commands/manifest.d.ts +0 -10
- package/dist/_dts/sdk/src/cli/commands/media-validation.d.ts +0 -3
- package/dist/_dts/sdk/src/cli/commands/migrate.d.ts +0 -11
- package/dist/_dts/sdk/src/cli/commands/navigation.d.ts +0 -12
- package/dist/_dts/sdk/src/cli/commands/page.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/commands/publish-all.d.ts +0 -50
- package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +0 -10
- package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +0 -70
- package/dist/_dts/sdk/src/cli/commands/pull-scope-diff.d.ts +0 -8
- package/dist/_dts/sdk/src/cli/commands/pull.d.ts +0 -43
- package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +0 -3
- package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +0 -19
- package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +0 -42
- package/dist/_dts/sdk/src/cli/commands/push/execute/localMediaReporting.d.ts +0 -23
- package/dist/_dts/sdk/src/cli/commands/push/execute/media.d.ts +0 -22
- package/dist/_dts/sdk/src/cli/commands/push/execute/metadata.d.ts +0 -1
- package/dist/_dts/sdk/src/cli/commands/push/execute/reporting.d.ts +0 -7
- package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +0 -63
- package/dist/_dts/sdk/src/cli/commands/push/filter.d.ts +0 -15
- package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +0 -29
- package/dist/_dts/sdk/src/cli/commands/push/normalizeLocalContent.d.ts +0 -2
- package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +0 -32
- package/dist/_dts/sdk/src/cli/commands/push/publishGuidance.d.ts +0 -15
- package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +0 -25
- package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +0 -83
- package/dist/_dts/sdk/src/cli/commands/push/scopes/eventCategories.d.ts +0 -4
- package/dist/_dts/sdk/src/cli/commands/push/scopes/events.d.ts +0 -4
- package/dist/_dts/sdk/src/cli/commands/push/scopes/mediaPrep.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/commands/push/scopes/pushScopeGeneric.d.ts +0 -6
- package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +0 -87
- package/dist/_dts/sdk/src/cli/commands/push/scopes/venues.d.ts +0 -4
- package/dist/_dts/sdk/src/cli/commands/push/stale-resolution.d.ts +0 -48
- package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +0 -17
- package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +0 -56
- package/dist/_dts/sdk/src/cli/commands/push/workflowPlan.d.ts +0 -34
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +0 -54
- package/dist/_dts/sdk/src/cli/commands/push.d.ts +0 -40
- package/dist/_dts/sdk/src/cli/commands/setup.d.ts +0 -3
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +0 -60
- package/dist/_dts/sdk/src/cli/commands/verify.d.ts +0 -11
- package/dist/_dts/sdk/src/cli/commands/webhooks.d.ts +0 -44
- package/dist/_dts/sdk/src/cli/config-loader.d.ts +0 -47
- package/dist/_dts/sdk/src/cli/content/collectionWriters.d.ts +0 -23
- package/dist/_dts/sdk/src/cli/content/edit/format.d.ts +0 -2
- package/dist/_dts/sdk/src/cli/content/edit/path.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/content/edit/planner.d.ts +0 -46
- package/dist/_dts/sdk/src/cli/content/entryPaths.d.ts +0 -6
- package/dist/_dts/sdk/src/cli/content/footerFile.d.ts +0 -10
- package/dist/_dts/sdk/src/cli/content/fs-utils.d.ts +0 -39
- package/dist/_dts/sdk/src/cli/content/legacyEventScheduleShapeError.d.ts +0 -5
- package/dist/_dts/sdk/src/cli/content/localEventSchedule.d.ts +0 -17
- package/dist/_dts/sdk/src/cli/content/media-manifest.d.ts +0 -13
- package/dist/_dts/sdk/src/cli/content/metadataAfterPush.d.ts +0 -25
- package/dist/_dts/sdk/src/cli/content/metadataStore.d.ts +0 -29
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +0 -488
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +0 -142
- package/dist/_dts/sdk/src/cli/env-scope.d.ts +0 -2
- package/dist/_dts/sdk/src/cli/env.d.ts +0 -71
- package/dist/_dts/sdk/src/cli/errors.d.ts +0 -62
- package/dist/_dts/sdk/src/cli/helpers/ai-runtime.d.ts +0 -2
- package/dist/_dts/sdk/src/cli/helpers.d.ts +0 -399
- package/dist/_dts/sdk/src/cli/index.d.ts +0 -11
- package/dist/_dts/sdk/src/cli/init-docs/constants.d.ts +0 -16
- package/dist/_dts/sdk/src/cli/init-docs/index.d.ts +0 -12
- package/dist/_dts/sdk/src/cli/init-docs/templates.d.ts +0 -18
- package/dist/_dts/sdk/src/cli/init-docs/zod-to-markdown.d.ts +0 -28
- package/dist/_dts/sdk/src/cli/load-config.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/media/identifiers.d.ts +0 -18
- package/dist/_dts/sdk/src/cli/media/local-media.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/media/local-sync.d.ts +0 -91
- package/dist/_dts/sdk/src/cli/media/portable.d.ts +0 -11
- package/dist/_dts/sdk/src/cli/media/rich-text.d.ts +0 -12
- package/dist/_dts/sdk/src/cli/media/value-utils.d.ts +0 -15
- package/dist/_dts/sdk/src/cli/media/write-guard.d.ts +0 -52
- package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +0 -3
- package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +0 -78
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePlan.d.ts +0 -45
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +0 -24
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +0 -18
- package/dist/_dts/sdk/src/cli/merge-remote/entryRemote.d.ts +0 -9
- package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +0 -48
- package/dist/_dts/sdk/src/cli/merge-remote/mergeFieldChanges.d.ts +0 -22
- package/dist/_dts/sdk/src/cli/merge-remote/pageLocal.d.ts +0 -3
- package/dist/_dts/sdk/src/cli/merge-remote/pageMerge.d.ts +0 -78
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergePlan.d.ts +0 -36
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergePush.d.ts +0 -23
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergeReport.d.ts +0 -17
- package/dist/_dts/sdk/src/cli/merge-remote/pageSnapshots.d.ts +0 -46
- package/dist/_dts/sdk/src/cli/merge-remote/sharedBaseSnapshots.d.ts +0 -32
- package/dist/_dts/sdk/src/cli/merge-remote/sharedMergePlan.d.ts +0 -27
- package/dist/_dts/sdk/src/cli/merge-remote/sharedMergeReport.d.ts +0 -63
- package/dist/_dts/sdk/src/cli/migrations/entries.d.ts +0 -28
- package/dist/_dts/sdk/src/cli/migrations/events.d.ts +0 -73
- package/dist/_dts/sdk/src/cli/navigationIdentity.d.ts +0 -11
- package/dist/_dts/sdk/src/cli/output.d.ts +0 -133
- package/dist/_dts/sdk/src/cli/program.d.ts +0 -29
- package/dist/_dts/sdk/src/cli/push-config.d.ts +0 -49
- package/dist/_dts/sdk/src/cli/setup/setupPlan.d.ts +0 -51
- package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +0 -13
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +0 -170
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntimeCompat.d.ts +0 -21
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +0 -32
- package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +0 -53
- package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +0 -65
- package/dist/_dts/sdk/src/cli/site-commands/eventScheduleCompiler.d.ts +0 -24
- package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +0 -68
- package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +0 -53
- package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +0 -8
- package/dist/_dts/sdk/src/cli/site-commands/localBlockManifestResolver.d.ts +0 -31
- package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +0 -57
- package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +0 -82
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +0 -84
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +0 -39
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionPlan.d.ts +0 -8
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +0 -97
- package/dist/_dts/sdk/src/cli/site-commands/residualSettingsTrimming.d.ts +0 -15
- package/dist/_dts/sdk/src/cli/sync/diff.d.ts +0 -222
- package/dist/_dts/sdk/src/cli/sync/executor.d.ts +0 -84
- package/dist/_dts/sdk/src/cli/sync/field-diff.d.ts +0 -39
- package/dist/_dts/sdk/src/cli/sync/index.d.ts +0 -10
- package/dist/_dts/sdk/src/cli/sync/mapper.d.ts +0 -41
- package/dist/_dts/sdk/src/cli/sync/media-sync.d.ts +0 -15
- package/dist/_dts/sdk/src/cli/sync/media.d.ts +0 -158
- package/dist/_dts/sdk/src/cli/sync/syncResultAggregation.d.ts +0 -4
- package/dist/_dts/sdk/src/cli/sync/validation.d.ts +0 -68
- package/dist/_dts/sdk/src/cli/utils/checksum.d.ts +0 -1
- package/dist/_dts/sdk/src/client/management/blocks.d.ts +0 -19
- package/dist/_dts/sdk/src/client/management/catalog.d.ts +0 -10
- package/dist/_dts/sdk/src/client/management/entries.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/eventCategories.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/events.d.ts +0 -7
- package/dist/_dts/sdk/src/client/management/footer.d.ts +0 -9
- package/dist/_dts/sdk/src/client/management/forms.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/http.d.ts +0 -79
- package/dist/_dts/sdk/src/client/management/identifiers.d.ts +0 -11
- package/dist/_dts/sdk/src/client/management/index.d.ts +0 -41
- package/dist/_dts/sdk/src/client/management/media.d.ts +0 -72
- package/dist/_dts/sdk/src/client/management/navigation.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/pages.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/pull.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/settings-branding.d.ts +0 -32
- package/dist/_dts/sdk/src/client/management/settings.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/theme.d.ts +0 -8
- package/dist/_dts/sdk/src/client/management/types.d.ts +0 -1069
- package/dist/_dts/sdk/src/client/management/venues.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/webhooks.d.ts +0 -3
- package/dist/_dts/sdk/src/test/env.d.ts +0 -4
- package/dist/_dts/site-commands/src/adapter.d.ts +0 -23
- package/dist/_dts/site-commands/src/appointmentCommandSchemas.d.ts +0 -100
- package/dist/_dts/site-commands/src/capabilityGaps.d.ts +0 -8
- package/dist/_dts/site-commands/src/commandContract.d.ts +0 -1277
- package/dist/_dts/site-commands/src/commandDomain.d.ts +0 -20
- package/dist/_dts/site-commands/src/commandIdentifiers.d.ts +0 -7
- package/dist/_dts/site-commands/src/commandValidation.d.ts +0 -10
- package/dist/_dts/site-commands/src/commands.d.ts +0 -1983
- package/dist/_dts/site-commands/src/domain.d.ts +0 -104
- package/dist/_dts/site-commands/src/eventCommandContent.d.ts +0 -11
- package/dist/_dts/site-commands/src/exposure.d.ts +0 -41
- package/dist/_dts/site-commands/src/guards.d.ts +0 -1
- package/dist/_dts/site-commands/src/index.d.ts +0 -18
- package/dist/_dts/site-commands/src/metadata.d.ts +0 -555
- package/dist/_dts/site-commands/src/pagePaths.d.ts +0 -6
- package/dist/_dts/site-commands/src/planner.d.ts +0 -58
- package/dist/_dts/site-commands/src/refContributions.d.ts +0 -11
- package/dist/_dts/site-commands/src/refs.d.ts +0 -90
- package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +0 -405
- package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +0 -46
- package/dist/_dts/site-commands/src/stableJson.d.ts +0 -5
- package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +0 -10
- package/dist/_dts/site-commands/src/venueCommandMapping.d.ts +0 -21
- package/dist/_dts/theme-core/src/data.d.ts +0 -12
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +0 -841
- package/dist/_dts/theme-core/src/site-styles/headerStyleParts.d.ts +0 -4
- package/dist/cli/index.mjs +0 -162988
- package/dist/cli/init-docs/content/agents-section.md +0 -67
- package/dist/cli/init-docs/content/cli-reference.md +0 -1238
- package/dist/cli/init-docs/content/content-management.md +0 -792
- package/dist/cli/init-docs/content/context-brand.md +0 -125
- package/dist/cli/init-docs/content/context-brief.md +0 -77
- package/dist/cli/init-docs/content/context-knowledge.md +0 -111
- package/dist/cli/init-docs/content/getting-started.md +0 -171
- package/dist/cli/init-docs/content/site-workflows-readme.md +0 -96
- package/dist/cli/init-docs/content/workflow-add-block.md +0 -299
- package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +0 -83
- package/dist/cli/init-docs/content/workflow-block-extensions.md +0 -370
- package/dist/cli/init-docs/content/workflow-cmsify-page.md +0 -357
- package/dist/cli/init-docs/content/workflow-content-types.md +0 -330
- package/dist/cli/init-docs/content/workflow-create-page.md +0 -212
- package/dist/cli/init-docs/content/workflow-custom-block.md +0 -470
- package/dist/cli/init-docs/content/workflow-editor-workflows.md +0 -130
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +0 -158
- package/dist/cli/init-docs/content/workflow-preview-mode.md +0 -252
- package/dist/cli/init-docs/content/workflow-publish.md +0 -285
- package/dist/cli/init-docs/content/workflow-remote-setup.md +0 -51
- package/dist/cli/init-docs/content/workflow-templates.md +0 -381
- /package/dist/_dts/{sdk/src/cli/utils/mime.d.ts → media-core/src/mimeType.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -24,6 +24,20 @@ npm install @riverbankcms/sdk
|
|
|
24
24
|
pnpm add @riverbankcms/sdk
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
+
The SDK is the data-plane runtime only. It does not install or expose the
|
|
28
|
+
`riverbankcms` command. SDK sites that use content/config management should
|
|
29
|
+
declare the standalone CLI explicitly:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
pnpm add @riverbankcms/sdk
|
|
33
|
+
pnpm add -D riverbankcms
|
|
34
|
+
pnpm exec riverbankcms --help
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The CLI and SDK are versioned independently. Keep the CLI invocation project
|
|
38
|
+
local (`pnpm exec`) so a site never depends on a transitive or globally
|
|
39
|
+
installed binary.
|
|
40
|
+
|
|
27
41
|
## Quick Start
|
|
28
42
|
|
|
29
43
|
> **Important:** The `baseUrl` parameter must be the complete API URL including the `/api` path. For example: `https://dashboard.example.com/api`
|
|
@@ -326,7 +340,7 @@ When a path might resolve to either a page or a content entry (blog post, produc
|
|
|
326
340
|
### Server-Side: loadContent
|
|
327
341
|
|
|
328
342
|
```tsx
|
|
329
|
-
import { loadContent, isPageContent, Page } from '@riverbankcms/sdk';
|
|
343
|
+
import { loadContent, isPageContent, MissingSdkThemeError, Page } from '@riverbankcms/sdk/rendering';
|
|
330
344
|
|
|
331
345
|
export default async function DynamicRoute({ params }) {
|
|
332
346
|
const path = `/${params.slug?.join('/') || ''}`;
|
|
@@ -340,6 +354,9 @@ export default async function DynamicRoute({ params }) {
|
|
|
340
354
|
|
|
341
355
|
// Pages get rendered with the Page component
|
|
342
356
|
if (isPageContent(content)) {
|
|
357
|
+
if (!content.theme) {
|
|
358
|
+
throw new MissingSdkThemeError(content.siteId, 'cms_theme_absent');
|
|
359
|
+
}
|
|
343
360
|
return <Page {...content} />;
|
|
344
361
|
}
|
|
345
362
|
|
|
@@ -372,6 +389,7 @@ export function DynamicContent({ path }: { path: string }) {
|
|
|
372
389
|
if (content.error) return <div>Error: {content.error.message}</div>;
|
|
373
390
|
|
|
374
391
|
if (isPageContentResult(content)) {
|
|
392
|
+
if (!content.theme) return <div>This site needs a theme before it can be displayed.</div>;
|
|
375
393
|
return <Page page={content.page} theme={content.theme} siteId={content.siteId} resolvedData={content.resolvedData} />;
|
|
376
394
|
}
|
|
377
395
|
|
|
@@ -391,12 +409,15 @@ export function DynamicContent({ path }: { path: string }) {
|
|
|
391
409
|
Route entries to different components based on their content type:
|
|
392
410
|
|
|
393
411
|
```tsx
|
|
394
|
-
import { loadContent, isPageContent, Page } from '@riverbankcms/sdk';
|
|
412
|
+
import { loadContent, isPageContent, MissingSdkThemeError, Page } from '@riverbankcms/sdk/rendering';
|
|
395
413
|
|
|
396
414
|
export default async function DynamicRoute({ params }) {
|
|
397
415
|
const content = await loadContent({ client, siteId, path: `/${params.slug?.join('/') || ''}` });
|
|
398
416
|
|
|
399
417
|
if (isPageContent(content)) {
|
|
418
|
+
if (!content.theme) {
|
|
419
|
+
throw new MissingSdkThemeError(content.siteId, 'cms_theme_absent');
|
|
420
|
+
}
|
|
400
421
|
return <Page {...content} />;
|
|
401
422
|
}
|
|
402
423
|
|
|
@@ -2657,7 +2678,9 @@ In this mode the SDK does not resolve, parse, normalize, or build tokens from th
|
|
|
2657
2678
|
|
|
2658
2679
|
The optional theme-independent wrapper belongs inside `rendering`: use `runtime: { kind: 'responsive-only' }` (the default) for Riverbank's generated responsive utility scope, or `runtime: { kind: 'none' }` when the host owns that too. Do not combine override-only rendering with top-level `themeRuntime`, `theme`, `themes`, or `getTheme`. If you use SDK `Layout` directly, its header and footer must both be custom or disabled. Preview receives the same rendering selection and registry.
|
|
2659
2680
|
|
|
2660
|
-
|
|
2681
|
+
`SiteResponse.theme` is required but nullable: `Theme | null`. A null value means the CMS has no theme; it does not select a rendering mode. Override-only rendering deliberately ignores it. Themed catch-all rendering first prefers explicit `theme`, `themes`, or `getTheme` inputs, then uses the CMS theme. If none resolves, it throws the exported `MissingSdkThemeError` with code `missing_sdk_theme` before theme parsing or token construction.
|
|
2682
|
+
|
|
2683
|
+
The nullable contract must be published before the server stops supplying its temporary fallback. Externally pinned hosts must upgrade to this SDK contract and either opt into override-only rendering or provide a real local/CMS theme before that server cutover.
|
|
2661
2684
|
|
|
2662
2685
|
Keep the `server-only` marker at the top of the registry so Next.js turns an accidental Client Component import into a build error. `generateMetadata()` never receives or runs host loaders—even with `customMetadata`—so a normal request does not repeat host queries for metadata and rendering.
|
|
2663
2686
|
|
|
@@ -3205,263 +3228,12 @@ export default defineConfig({
|
|
|
3205
3228
|
|
|
3206
3229
|
## CLI
|
|
3207
3230
|
|
|
3208
|
-
The
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
```bash
|
|
3215
|
-
npx riverbankcms setup plan --env=remote
|
|
3216
|
-
```
|
|
3217
|
-
|
|
3218
|
-
The SDK CLI cannot create remote sites, issue keys, or grant user access from a site-scoped management key. Do those privileged operations through the dashboard/admin surface or approved CMS repo tooling, then use the setup planner and `env status` to verify the SDK repo has the right `RIVERBANK_*` variables.
|
|
3219
|
-
|
|
3220
|
-
### push-config
|
|
3221
|
-
|
|
3222
|
-
Push schema/config surfaces to your CMS dashboard, including custom blocks, block field options/extensions, content type definitions/templates, SDK-managed site settings, and footer blocks:
|
|
3223
|
-
|
|
3224
|
-
```bash
|
|
3225
|
-
npx riverbankcms push-config --dashboard <url>
|
|
3226
|
-
```
|
|
3227
|
-
|
|
3228
|
-
Pages, content entries, navigation menus, and canonical events are content documents. Sync them with `riverbankcms push pages`, `riverbankcms push entries`, `riverbankcms push navigation`, or `riverbankcms push events`.
|
|
3229
|
-
|
|
3230
|
-
Canonical event files in `content/events/*.json` include `preset`, `bookingScope`, and an explicit `occurrences` list. Each occurrence carries UTC `startsAt`/`endsAt` instants and its IANA `timeZone`; this supports one-off events and whole-series schedules without reconstructing dates from a recurrence summary. Files may also include `path` and `blocks`. `path` updates the linked event content entry route. `blocks` writes per-event entry-slot content, such as `blocks.main` for the built-in event template. Use stable block identifiers so repeat pushes update existing slot blocks; `push events` rejects duplicate event identifiers before writing. Default entry slots accept enabled SDK `custom.*` blocks, while explicit template `allowedBlocks` lists remain authoritative.
|
|
3231
|
-
|
|
3232
|
-
The retired `schedule` object is not accepted. When upgrading a site with local event edits: preserve those edits, deploy the matching CMS API first, upgrade the SDK, run `riverbankcms pull events`, then reapply the edits to the canonical files. Existing occurrence schedules may be replayed exactly; changing an already-created schedule remains an explicit CMS capability gap.
|
|
3233
|
-
|
|
3234
|
-
**Options:**
|
|
3235
|
-
|
|
3236
|
-
| Option | Description |
|
|
3237
|
-
|--------|-------------|
|
|
3238
|
-
| `--api-key <key>` | Management API key (or set `RIVERBANK_*_MGMT_API_KEY`) |
|
|
3239
|
-
| `--dashboard <url>` | Dashboard URL (or set `RIVERBANK_*_DASHBOARD_URL`) |
|
|
3240
|
-
| `--config <path>` | Path to config file (default: `./riverbank.config.ts`) |
|
|
3241
|
-
| `--dry-run` | Validate config and preview schema/config surfaces without mutating the dashboard |
|
|
3242
|
-
|
|
3243
|
-
**Example:**
|
|
3244
|
-
|
|
3245
|
-
```bash
|
|
3246
|
-
# Using environment variables (local)
|
|
3247
|
-
export RIVERBANK_LOCAL_DASHBOARD_URL=https://www.riverbankcms.com
|
|
3248
|
-
export RIVERBANK_LOCAL_MGMT_API_KEY=bld_mgmt_sk_...
|
|
3249
|
-
npx riverbankcms push-config
|
|
3250
|
-
|
|
3251
|
-
# Preview without applying
|
|
3252
|
-
npx riverbankcms push-config --dry-run
|
|
3253
|
-
|
|
3254
|
-
# Or inline (remote)
|
|
3255
|
-
npx riverbankcms push-config \
|
|
3256
|
-
--api-key bld_mgmt_sk_... \
|
|
3257
|
-
--dashboard https://www.riverbankcms.com
|
|
3258
|
-
```
|
|
3259
|
-
|
|
3260
|
-
### pull
|
|
3261
|
-
|
|
3262
|
-
Download content from the CMS to local JSON files:
|
|
3263
|
-
|
|
3264
|
-
```bash
|
|
3265
|
-
npx riverbankcms pull [scope] [type] [identifier]
|
|
3266
|
-
```
|
|
3267
|
-
|
|
3268
|
-
**Scopes:**
|
|
3269
|
-
|
|
3270
|
-
| Scope | Description |
|
|
3271
|
-
|-------|-------------|
|
|
3272
|
-
| (none) / `all` | Pull all content types |
|
|
3273
|
-
| `entries` | Pull all entries, a content type, or a single entry |
|
|
3274
|
-
| `pages` | Pull all pages or a single page |
|
|
3275
|
-
| `navigation` | Pull navigation menus |
|
|
3276
|
-
| `settings` | Pull site settings |
|
|
3277
|
-
| `forms` | Pull form definitions |
|
|
3278
|
-
| `venues` | Pull all event venues or one venue by slug |
|
|
3279
|
-
| `event-categories` | Pull all event categories or one category by identifier |
|
|
3280
|
-
| `events` | Pull all event series or one event by identifier |
|
|
3281
|
-
|
|
3282
|
-
**Examples:**
|
|
3283
|
-
|
|
3284
|
-
```bash
|
|
3285
|
-
# Pull all content
|
|
3286
|
-
npx riverbankcms pull
|
|
3231
|
+
The standalone `riverbankcms` package provides the CLI for syncing configuration
|
|
3232
|
+
and content between your SDK site and the CMS. Install it alongside
|
|
3233
|
+
`@riverbankcms/sdk`, then use the standalone package's
|
|
3234
|
+
[CLI reference](../cli/README.md) for setup, commands, environment behavior,
|
|
3235
|
+
and operational guidance.
|
|
3287
3236
|
|
|
3288
|
-
# Pull only forms
|
|
3289
|
-
npx riverbankcms pull forms
|
|
3290
|
-
|
|
3291
|
-
# Pull entries for a specific content type
|
|
3292
|
-
npx riverbankcms pull entries blog-post
|
|
3293
|
-
|
|
3294
|
-
# Pull one entry
|
|
3295
|
-
npx riverbankcms pull entries blog-post welcome
|
|
3296
|
-
|
|
3297
|
-
# Pull one page
|
|
3298
|
-
npx riverbankcms pull pages home
|
|
3299
|
-
|
|
3300
|
-
# Pull one canonical event
|
|
3301
|
-
npx riverbankcms pull events the-whole-in-your-heart
|
|
3302
|
-
|
|
3303
|
-
# Pull from remote environment
|
|
3304
|
-
npx riverbankcms pull --env=remote
|
|
3305
|
-
|
|
3306
|
-
# Sync media files between environments
|
|
3307
|
-
npx riverbankcms pull --env=remote --sync-media --yes
|
|
3308
|
-
|
|
3309
|
-
# Overwrite target media on checksum mismatch (explicit / unsafe)
|
|
3310
|
-
npx riverbankcms pull --env=remote --sync-media --overwrite-media --yes
|
|
3311
|
-
|
|
3312
|
-
# Download media referenced by identifiers
|
|
3313
|
-
npx riverbankcms pull --local-media
|
|
3314
|
-
```
|
|
3315
|
-
|
|
3316
|
-
**Output Structure:**
|
|
3317
|
-
|
|
3318
|
-
```
|
|
3319
|
-
content/
|
|
3320
|
-
├── entries/
|
|
3321
|
-
│ └── {content-type}/
|
|
3322
|
-
│ └── {identifier}.json
|
|
3323
|
-
├── pages/
|
|
3324
|
-
│ └── {identifier}.json
|
|
3325
|
-
├── forms/
|
|
3326
|
-
│ └── {slug}.json
|
|
3327
|
-
├── navigation.json
|
|
3328
|
-
├── settings.json
|
|
3329
|
-
├── media/
|
|
3330
|
-
│ ├── <identifier>.<ext>
|
|
3331
|
-
│ └── .manifest.json
|
|
3332
|
-
└── .meta/
|
|
3333
|
-
├── local/
|
|
3334
|
-
│ └── {entity}.json # Local CMS sync timestamps
|
|
3335
|
-
└── remote/
|
|
3336
|
-
└── {entity}.json # Remote CMS sync timestamps
|
|
3337
|
-
```
|
|
3338
|
-
|
|
3339
|
-
Older projects with flat `content/.meta/{entity}.json` files are read as a compatibility fallback. The CLI writes new metadata into the target-specific `local/` or `remote/` directory the next time you pull or update metadata.
|
|
3340
|
-
|
|
3341
|
-
Note: `content/media/` is local cache and migration working data by default. Generated SDK sites gitignore `content/media/*` so large downloaded files are not staged accidentally, while allowing intentional small fixtures under `content/media/fixtures/`. `content/media/.manifest.json` is also cache data (identifier -> checksum/filename) and intentionally does not store env-specific `assetId`s.
|
|
3342
|
-
|
|
3343
|
-
### push
|
|
3344
|
-
|
|
3345
|
-
Push local content to the CMS with diff-based sync:
|
|
3346
|
-
|
|
3347
|
-
```bash
|
|
3348
|
-
npx riverbankcms push [scope] [type] [identifier]
|
|
3349
|
-
```
|
|
3350
|
-
|
|
3351
|
-
**Scopes:**
|
|
3352
|
-
|
|
3353
|
-
| Scope | Description |
|
|
3354
|
-
|-------|-------------|
|
|
3355
|
-
| (none) / `all` | Push all content types |
|
|
3356
|
-
| `entries` | Push all entries, a content type, or a single entry |
|
|
3357
|
-
| `pages` | Push all pages or a single page with blocks |
|
|
3358
|
-
| `navigation` | Push navigation menus |
|
|
3359
|
-
| `settings` | Push `content/settings.json` only |
|
|
3360
|
-
| `forms` | Push form definitions |
|
|
3361
|
-
|
|
3362
|
-
**Options:**
|
|
3363
|
-
|
|
3364
|
-
| Option | Description |
|
|
3365
|
-
|--------|-------------|
|
|
3366
|
-
| `--dry-run` | Show what would be pushed without making changes |
|
|
3367
|
-
| `--yes` | Skip confirmation (required for `--env=remote`) |
|
|
3368
|
-
| `--force` | Push even if remote is newer |
|
|
3369
|
-
| `--force-update-asset` | Replace CMS media when identifiers conflict (local media sync only) |
|
|
3370
|
-
| `--sync-media` | Sync media files from local to remote environment |
|
|
3371
|
-
| `--overwrite-media` | When using `--sync-media`, overwrite target media on checksum mismatch |
|
|
3372
|
-
| `--json-diff` | Output JSON diff (`summary` or `full`) |
|
|
3373
|
-
| `--merge-remote` | Plan an entries/pages three-way merge for `--env=remote` that preserves remote edits |
|
|
3374
|
-
| `--verify-noop` | Re-fetch after an applied push and fail if changes remain |
|
|
3375
|
-
|
|
3376
|
-
**Examples:**
|
|
3377
|
-
|
|
3378
|
-
```bash
|
|
3379
|
-
# Preview changes (dry run)
|
|
3380
|
-
npx riverbankcms push --dry-run
|
|
3381
|
-
|
|
3382
|
-
# Push all content
|
|
3383
|
-
npx riverbankcms push
|
|
3384
|
-
|
|
3385
|
-
# Push only forms
|
|
3386
|
-
npx riverbankcms push forms
|
|
3387
|
-
|
|
3388
|
-
# Push only site settings / branding
|
|
3389
|
-
npx riverbankcms push settings
|
|
3390
|
-
|
|
3391
|
-
# Push to production with confirmation bypass
|
|
3392
|
-
npx riverbankcms push --env=remote --yes
|
|
3393
|
-
|
|
3394
|
-
# Preview a production-safe merge for entries
|
|
3395
|
-
npx riverbankcms push entries blog-post --env=remote --merge-remote
|
|
3396
|
-
|
|
3397
|
-
# Preview a production-safe merge for a page
|
|
3398
|
-
npx riverbankcms push pages home --env=remote --merge-remote
|
|
3399
|
-
|
|
3400
|
-
# Apply that merge after reviewing the plan
|
|
3401
|
-
npx riverbankcms push entries blog-post --env=remote --merge-remote --yes
|
|
3402
|
-
|
|
3403
|
-
# Get JSON diff for automation
|
|
3404
|
-
npx riverbankcms push --dry-run --json-diff=summary
|
|
3405
|
-
|
|
3406
|
-
# Push to both environments and verify both are clean afterwards
|
|
3407
|
-
npx riverbankcms push --env=both --yes --verify-noop
|
|
3408
|
-
```
|
|
3409
|
-
|
|
3410
|
-
**Remote-aware content merge:**
|
|
3411
|
-
|
|
3412
|
-
`--merge-remote` is a safer production entries/pages workflow. It compares the last pulled base snapshot, your local files, and the current remote CMS, then reports a merge plan. Remote runs still default to dry-run; add `--yes` only after reviewing the plan. In v1 this supports entries and pages, is `--env=remote` only, and cannot be combined with `--force`, `--delete-orphaned`, or `--auto-pull-stale`. Page block changes are treated conservatively as conflicts unless remote blocks are unchanged.
|
|
3413
|
-
|
|
3414
|
-
**Local content edit helpers:**
|
|
3415
|
-
|
|
3416
|
-
`riverbankcms content edit ...` changes local `content/**` JSON files only. It previews by default and writes only with `--write`.
|
|
3417
|
-
|
|
3418
|
-
```bash
|
|
3419
|
-
npx riverbankcms content edit remove-page-block home old-hero
|
|
3420
|
-
npx riverbankcms content edit move-page-block home intro --after hero --write
|
|
3421
|
-
npx riverbankcms content edit set-page-field home title --value "New title" --write
|
|
3422
|
-
npx riverbankcms content edit set-page-field home blocks[0].data.count --json-value 3
|
|
3423
|
-
```
|
|
3424
|
-
|
|
3425
|
-
After editing, run `riverbankcms push --dry-run --diff`, then push with `--verify-noop` when ready.
|
|
3426
|
-
|
|
3427
|
-
**Post-push verification:** `--verify-noop` re-reads local files after an applied push, fetches the target CMS, and fails if changes remain. It cannot be combined with `--dry-run`; remote targets need `--yes` so there is an applied push to verify. In JSON mode the CLI emits a `verification` object with `clean`, `dirty`, `fetch_failed`, or `unsupported_scope` status. A dirty result can also mean another actor changed remote content between push and verification.
|
|
3428
|
-
|
|
3429
|
-
**Local Media (Identifiers):**
|
|
3430
|
-
|
|
3431
|
-
- Add `identifier` to media fields (slug only, no extension)
|
|
3432
|
-
- Place files at `content/media/<identifier>.<ext>`
|
|
3433
|
-
- Use `npx riverbankcms push` to upload referenced files (default-on)
|
|
3434
|
-
- Use `--force-update-asset` to replace a CMS asset when checksums differ
|
|
3435
|
-
- Treat `content/media/*` as local cache/migration working data by default. For existing repos that already committed media, opt in with `git rm --cached -r content/media` after adding the generated ignore rule. Keep intentional small fixtures under `content/media/fixtures/`.
|
|
3436
|
-
|
|
3437
|
-
**Site branding via `content/settings.json`:**
|
|
3438
|
-
|
|
3439
|
-
```json
|
|
3440
|
-
{
|
|
3441
|
-
"homepageId": null,
|
|
3442
|
-
"seoDefaults": null,
|
|
3443
|
-
"logoIdentifier": "positive-play-primary-logo",
|
|
3444
|
-
"faviconIdentifier": "positive-play-primary-logo"
|
|
3445
|
-
}
|
|
3446
|
-
```
|
|
3447
|
-
|
|
3448
|
-
- Keep branding files in `content/media/<identifier>.<ext>`
|
|
3449
|
-
- Run `npx riverbankcms push settings` to upload missing branding files and assign the site logo/favicon without pushing unrelated content
|
|
3450
|
-
- Run `npx riverbankcms pull settings` to round-trip the current identifier-based branding state
|
|
3451
|
-
- If the current CMS logo/favicon asset has no media identifier yet, pull warns and omits that field instead of writing a destructive clear
|
|
3452
|
-
- Dashboard branding edits and CLI pushes both write the same site settings columns, so pull before pushing if someone may have changed branding in the dashboard
|
|
3453
|
-
|
|
3454
|
-
**Media portability (important):**
|
|
3455
|
-
|
|
3456
|
-
- Content JSON is portable across environments; media references must be **identifier-only**.
|
|
3457
|
-
- Do not commit or hand-write `assetId`, `storagePath`, `storageBucket`, or `src` into content JSON.
|
|
3458
|
-
|
|
3459
|
-
**Sync Behavior:**
|
|
3460
|
-
|
|
3461
|
-
- **Creates** new content if identifier/slug doesn't exist
|
|
3462
|
-
- **Updates** existing content based on diff
|
|
3463
|
-
- **Never deletes** - removing from local doesn't delete from CMS
|
|
3464
|
-
- **Stale detection** - warns if remote changed since last pull (use `--force` to override)
|
|
3465
3237
|
|
|
3466
3238
|
## Next.js Catch-All Page Factory
|
|
3467
3239
|
|
|
@@ -3489,27 +3261,32 @@ export { generateMetadata };
|
|
|
3489
3261
|
|
|
3490
3262
|
### Production ISR Setup
|
|
3491
3263
|
|
|
3492
|
-
For production SDK sites, wire the catch-all route to Next ISR and let Riverbank discover published routes at build time. Preview deployments should set `RIVERBANK_PREVIEW_MODE=true
|
|
3264
|
+
For production SDK sites, wire the catch-all route to Next ISR and let Riverbank discover published routes at build time. Next.js statically analyzes route configuration, so `revalidate` must be a literal rather than a function call or imported constant. Preview deployments should set `RIVERBANK_PREVIEW_MODE=true` and use the SDK preview integration, whose request-bound session handling keeps draft previews dynamic.
|
|
3493
3265
|
|
|
3494
3266
|
```tsx
|
|
3495
3267
|
// src/app/[[...slug]]/page.tsx
|
|
3496
3268
|
import {
|
|
3497
3269
|
createCatchAllPage,
|
|
3498
|
-
|
|
3499
|
-
getISRConfig,
|
|
3270
|
+
createGenerateStaticParams,
|
|
3500
3271
|
} from '@riverbankcms/sdk/next';
|
|
3501
3272
|
|
|
3502
3273
|
import config from '@/riverbank.config';
|
|
3503
3274
|
import { blockOverrides } from '@/lib/block-overrides';
|
|
3504
3275
|
import { getRiverbankClient } from '@/lib/riverbank-client';
|
|
3505
3276
|
|
|
3506
|
-
|
|
3277
|
+
// Next.js route config values must remain statically analyzable literals.
|
|
3278
|
+
export const revalidate = 300;
|
|
3507
3279
|
export const dynamicParams = true;
|
|
3508
|
-
export
|
|
3280
|
+
export const generateStaticParams = createGenerateStaticParams({
|
|
3281
|
+
getClient: getRiverbankClient,
|
|
3282
|
+
siteId: config.siteId,
|
|
3283
|
+
failureMode: 'throw',
|
|
3284
|
+
});
|
|
3509
3285
|
|
|
3510
3286
|
const { Page, generateMetadata } = createCatchAllPage({
|
|
3511
3287
|
getClient: getRiverbankClient,
|
|
3512
3288
|
config,
|
|
3289
|
+
searchParamsMode: 'ignore',
|
|
3513
3290
|
blockOverrides,
|
|
3514
3291
|
});
|
|
3515
3292
|
|
|
@@ -3517,7 +3294,12 @@ export default Page;
|
|
|
3517
3294
|
export { generateMetadata };
|
|
3518
3295
|
```
|
|
3519
3296
|
|
|
3520
|
-
`
|
|
3297
|
+
`searchParamsMode: 'ignore'` is required for this ISR shape because Next.js treats
|
|
3298
|
+
the page `searchParams` prop as a Dynamic API. Keep the default `dynamic` mode only
|
|
3299
|
+
when server-rendered themes, data loaders, redirects, or metadata genuinely depend
|
|
3300
|
+
on URL query parameters.
|
|
3301
|
+
|
|
3302
|
+
If a site uses the SDK's generic environment variable names, `generateAllStaticParams()` is also available. It reads `RIVERBANK_API_KEY`, `RIVERBANK_SITE_ID`, and `NEXT_PUBLIC_DASHBOARD_URL`. By default it falls back to the homepage when route discovery fails. For strict production CI, fail the build instead:
|
|
3521
3303
|
|
|
3522
3304
|
```tsx
|
|
3523
3305
|
import { generateAllStaticParams } from '@riverbankcms/sdk/next';
|
|
@@ -3864,7 +3646,7 @@ type CatchAllContext = {
|
|
|
3864
3646
|
For maximum customization, skip `createCatchAllPage` and use the underlying helpers:
|
|
3865
3647
|
|
|
3866
3648
|
```tsx
|
|
3867
|
-
import { loadContent, isPageContent, Page } from '@riverbankcms/sdk/rendering';
|
|
3649
|
+
import { loadContent, isPageContent, MissingSdkThemeError, Page } from '@riverbankcms/sdk/rendering';
|
|
3868
3650
|
import { generatePageMetadata } from '@riverbankcms/sdk/metadata';
|
|
3869
3651
|
|
|
3870
3652
|
export default async function CustomPage({ params }) {
|
|
@@ -3879,6 +3661,9 @@ export default async function CustomPage({ params }) {
|
|
|
3879
3661
|
});
|
|
3880
3662
|
|
|
3881
3663
|
if (isPageContent(content)) {
|
|
3664
|
+
if (!content.theme) {
|
|
3665
|
+
throw new MissingSdkThemeError(content.siteId, 'cms_theme_absent');
|
|
3666
|
+
}
|
|
3882
3667
|
return <Page {...content} />;
|
|
3883
3668
|
}
|
|
3884
3669
|
|