@riverbankcms/sdk 0.140.0 → 0.142.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PreviewEditorSidebar-CUyTzd5z.mjs → PreviewEditorSidebar-Dk6Dt11f.mjs} +24 -15
- package/dist/{PreviewEditorUI-Agkw4v5i.mjs → PreviewEditorUI-D6EQTsCA.mjs} +3 -3
- package/dist/{PreviewQueryProvider-CN0ewic5.mjs → PreviewQueryProvider-CC-EPkyQ.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-DdbeAdS8.mjs → SdkPreviewModeRuntime-DH1n4ytY.mjs} +85 -54
- package/dist/{SiteChromeCustomizeContext-CqGOz-Kv.mjs → SiteChromeCustomizeContext-DunIzY0K.mjs} +797 -216
- package/dist/_dts/api/src/billing.d.ts +6 -1
- package/dist/_dts/api/src/bookingConfig.d.ts +1 -1
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -2
- package/dist/_dts/api/src/contentRuntime.d.ts +12 -31
- package/dist/_dts/api/src/domainConnection.d.ts +4 -0
- package/dist/_dts/api/src/endpoints.d.ts +0 -27
- package/dist/_dts/api/src/footerCompositionContracts.d.ts +25 -0
- package/dist/_dts/api/src/index.d.ts +2 -2
- package/dist/_dts/api/src/launchReadiness.d.ts +1 -0
- package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +2 -1
- package/dist/_dts/api/src/publicBookingService.d.ts +1 -0
- package/dist/_dts/api/src/sdkConfig/layout.d.ts +13 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -8
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -26
- package/dist/_dts/api/src/siteOnboarding.d.ts +7 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -31
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -1
- package/dist/_dts/billing/src/site-arrangements.d.ts +18 -5
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -0
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +122 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/eventSelection.d.ts +11 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +56 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +8 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
- package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +5 -0
- package/dist/_dts/blocks/src/system/data/utils.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +27 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -180
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -90
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +5 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.state.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +10 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventCheckoutHandoffRestore.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useSettledCommerceView.d.ts +37 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +4 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +11 -101
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +63 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/eventCalendar.d.ts +12 -0
- package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +4 -0
- package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +1 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3102 -3122
- package/dist/_dts/editor-blocks/src/block-editor/ColourFieldOptionsProvider.d.ts +7 -0
- package/dist/_dts/editor-blocks/src/block-editor/colourFieldVisibility.d.ts +7 -0
- package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +27 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewFooterEditorPanel.d.ts +3 -6
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/footerInspection.d.ts +16 -0
- package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +6 -0
- package/dist/_dts/sdk/src/config/types.d.ts +2 -18
- package/dist/_dts/sdk/src/config/validation.d.ts +6 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +4 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/ThemeFontLoader.d.ts +17 -1
- package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +17 -0
- package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/classNames.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +0 -6
- package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +4 -4
- package/dist/_dts/theme-core/src/footer/mode.d.ts +10 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +54 -12
- package/dist/_dts/theme-core/src/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/schema.d.ts +1 -7
- package/dist/_dts/theme-core/src/site-styles/effectivePageDesign.d.ts +32 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
- package/dist/client/{BookingConsentAgreement-CuKa82V4.mjs → BookingConsentAgreement-CnJeq3_r.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-BbYieKWB.mjs → DiscountCodeDisclosure-BINEO6J9.mjs} +1 -1
- package/dist/client/{EventCombined.client-LTfR1Aby.mjs → EventCombined.client-srxNQ6sZ.mjs} +11 -15
- package/dist/client/{EventListing.client-DUHpYSuo.mjs → EventListing.client-DbyVyGkX.mjs} +4 -17
- package/dist/client/{LeafletStaticMap-CHRupL6m.mjs → LeafletStaticMap-B-wpijzL.mjs} +1 -1
- package/dist/client/{accordion-6HiIFxNL.mjs → accordion-B-iUXU7n.mjs} +1 -1
- package/dist/client/{bookingForm-Dlmid43H.mjs → bookingForm-BXYPke5q.mjs} +5 -5
- package/dist/client/bookings.mjs +194 -102
- package/dist/client/{carousel-DmkZRRq_.mjs → carousel-Cr4aj63H.mjs} +1 -1
- package/dist/client/{cart-CIC24330.mjs → cart-DibP9WWa.mjs} +3 -3
- package/dist/client/{checkout-D1Zw9imo.mjs → checkout-CrSBVnL8.mjs} +3 -3
- package/dist/client/client.mjs +643 -192
- package/dist/client/{context-Cy1OayHx.mjs → context-Ces-AgdR.mjs} +1 -1
- package/dist/client/{dates-aDcfoLHr.mjs → dates-BXyNeNhB.mjs} +2 -2
- package/dist/client/{eventCalendar-FQxMPAjf.mjs → eventCalendar-HwpPeqrH.mjs} +11 -7
- package/dist/client/{eventCombined-Dr3ac6Hb.mjs → eventCombined-BpFUkuEI.mjs} +3 -3
- package/dist/client/{eventDetails-D-AzUHFQ.mjs → eventDetails-DK_agiWy.mjs} +4 -4
- package/dist/client/{eventListing-B3XxBf3i.mjs → eventListing-DhzHqP1c.mjs} +3 -3
- package/dist/client/{eventRegistration-I6EaokFD.mjs → eventRegistration-BdQ_Dn2d.mjs} +124 -32
- package/dist/client/{form-BbWckVWY.mjs → form-B1frcuzy.mjs} +2 -2
- package/dist/client/{headerSection-C9qU4Y7x.mjs → headerSection-CT5z460s.mjs} +2 -2
- package/dist/client/hooks.mjs +274 -45
- package/dist/client/{locationMap-CLCShvlG.mjs → locationMap-CIQXB9i2.mjs} +2 -2
- package/dist/client/{newsletterForm-Briukxzi.mjs → newsletterForm-BYNYZSes.mjs} +23 -10
- package/dist/client/{pricing-Copadu-2.mjs → pricing-CbTlAsmt.mjs} +1 -1
- package/dist/client/{productDetail-oujlRd-r.mjs → productDetail-CR7Z3yjS.mjs} +3 -3
- package/dist/client/{productList-BRiIRUcd.mjs → productList-DXj00vzR.mjs} +3 -3
- package/dist/client/{propsDecoder-CB2KS_ko.mjs → propsDecoder-DiLiBdek.mjs} +57 -16
- package/dist/client/rendering/client.mjs +476 -132
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +686 -195
- package/dist/client/{scrollToBlock-B1IS1_ua.mjs → scrollToBlock-CrcbBf0h.mjs} +28 -11
- package/dist/client/{shop-Vn6yNFED.mjs → shop-DgqiB_1b.mjs} +6 -6
- package/dist/client/{shop-commerce-BVTqipYp.mjs → shop-commerce-D_J781in.mjs} +5 -5
- package/dist/client/{shop-commerce-store-BVnJVy7v.mjs → shop-commerce-store-PGUbDwqe.mjs} +1 -1
- package/dist/client/{shopShared-COIeK77T.mjs → shopShared-C_Bb2zwG.mjs} +3 -3
- package/dist/client/{useEventFilters-DzIUcS9n.mjs → useEventFilters-CM17Xpr1.mjs} +17 -11
- package/dist/preview-next/before-render.mjs +0 -37
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-chrome.css +4 -8
- package/dist/preview-next/keepAlive.mjs +0 -37
- package/dist/preview-next/middleware.mjs +0 -37
- package/dist/{previewAuthStore-Gjb6r6vz.mjs → previewAuthStore-oVttoRDO.mjs} +0 -37
- package/dist/{sdk-runtime-CnCLvZRv.mjs → sdk-runtime-DhmuRhIX.mjs} +2 -2
- package/dist/{separator-DKDRJ1oH.mjs → separator-C3hlg9LH.mjs} +1 -1
- package/dist/server/components.mjs +452 -111
- package/dist/server/config-validation.mjs +263 -40
- package/dist/server/config.mjs +263 -40
- package/dist/server/data.mjs +274 -45
- package/dist/server/index.mjs +1 -38
- package/dist/server/next.mjs +427 -119
- package/dist/server/page-converter.mjs +208 -33
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +467 -119
- package/dist/server/rendering.mjs +467 -117
- package/dist/server/routing.mjs +301 -50
- package/dist/server/server.mjs +275 -83
- package/dist/server/theme-bridge.mjs +57 -23
- package/dist/server/theme.mjs +11 -9
- package/dist/styles/index.css +28 -2
- package/package.json +1 -1
|
@@ -31,6 +31,8 @@ export type BillingCheckoutContinuation = {
|
|
|
31
31
|
siteId: string;
|
|
32
32
|
};
|
|
33
33
|
export type BillingCheckoutRequest = {
|
|
34
|
+
/** Stable for one customer click so transport retries cannot create another session. */
|
|
35
|
+
attemptId: string;
|
|
34
36
|
/** Plan ID (e.g., 'solo') */
|
|
35
37
|
planId: BillingPlanId;
|
|
36
38
|
/** Billing interval */
|
|
@@ -43,6 +45,9 @@ export type BillingCheckoutResponse = {
|
|
|
43
45
|
checkoutUrl: string;
|
|
44
46
|
};
|
|
45
47
|
export type SiteBillingCheckoutResponse = BillingCheckoutResponse;
|
|
48
|
+
export type SiteBillingCheckoutRequest = Readonly<{
|
|
49
|
+
attemptId: string;
|
|
50
|
+
}>;
|
|
46
51
|
export type BillingSummaryResponse = {
|
|
47
52
|
status: string;
|
|
48
53
|
plan: {
|
|
@@ -108,6 +113,6 @@ export declare function changePlan(apiClient: ApiClient, { attemptId, planId, in
|
|
|
108
113
|
options?: RequestInit;
|
|
109
114
|
}): Promise<ChangePlanResponse>;
|
|
110
115
|
export declare function createBillingPortalSession(apiClient: ApiClient, options?: RequestInit): Promise<BillingPortalSessionResponse>;
|
|
111
|
-
export declare function billingCheckout(apiClient: ApiClient, { planId, interval, continuation, options, }: BillingCheckoutRequest & {
|
|
116
|
+
export declare function billingCheckout(apiClient: ApiClient, { attemptId, planId, interval, continuation, options, }: BillingCheckoutRequest & {
|
|
112
117
|
options?: RequestInit;
|
|
113
118
|
}): Promise<BillingCheckoutResponse>;
|
|
@@ -342,7 +342,7 @@ export type BookingSettings = {
|
|
|
342
342
|
currency: string;
|
|
343
343
|
defaultVenueId: string | null;
|
|
344
344
|
calendarDisplay: 'list' | 'calendar';
|
|
345
|
-
/** If enabled,
|
|
345
|
+
/** If enabled, operators may issue refunds as site credit. */
|
|
346
346
|
refundsIssueCredit: boolean;
|
|
347
347
|
remindersEnabled: boolean;
|
|
348
348
|
appointmentReminderHours: number;
|
|
@@ -2,7 +2,7 @@ import type { AppointmentBookingQuestionsTaskDetail, CustomerEventSeriesRegistra
|
|
|
2
2
|
import type { APIEndpoint } from './apiEndpointTypes';
|
|
3
3
|
import type { DeleteAccountRequest, DeleteAccountResponse } from './accessAdmin';
|
|
4
4
|
import type { AiPlaygroundApplyRequest, AiPlaygroundApplyResponse } from './aiPlayground';
|
|
5
|
-
import type { BillingCheckoutRequest, BillingCheckoutResponse, BillingStatusResponse, BillingSummaryResponse, SiteBillingCheckoutResponse, SiteBillingCostResponse } from './billing';
|
|
5
|
+
import type { BillingCheckoutRequest, BillingCheckoutResponse, BillingStatusResponse, BillingSummaryResponse, SiteBillingCheckoutResponse, SiteBillingCheckoutRequest, SiteBillingCostResponse } from './billing';
|
|
6
6
|
import type { CreateSiteFontUploadUrlRequest, CreateSiteFontUploadUrlResponse, DeleteSiteFontFileRequest, DeleteSiteFontFileResponse, ExportBackupRequest, FontRecord, GetSiteFontResponse, ListPublicSiteFontsResponse, ListSiteFontsResponse, UpdateSiteFontRequest, UpdateSiteFontResponse, UploadSiteFontRequest, UploadSiteFontResponse } from './siteAssets';
|
|
7
7
|
import type { AdminSiteBillingArrangementResponse, AdminResolveSiteBillingManualReviewRequest, AdminResolveSiteBillingManualReviewResponse, AdminScheduleBillingComponentEndRequest, AdminScheduleBillingComponentEndResponse, AdminUpdateSiteBillingArrangementRequest, AdminUpdateSiteBillingArrangementResponse, CancelFlexibleBalanceBookingDueToNonPaymentRequest, CancelShopOrderItemRequest, CancelShopOrderItemResponse, CancelShopOrderRequest, CancelShopOrderResponse, CreateShopOrderPaymentLinkResponse, CreateOrderShipmentRequest, CreateOrderShipmentResponse, EditShopOrderAddressRequest, FlexibleBalanceAdminActionResponse, PortalAppointmentWithDetails, RefundShopOrderResponse, ReopenFlexibleBalanceBookingAfterNonPaymentCancellationRequest, SendShopOrderPaymentReminderResponse, SettleShopOrderPaymentRequest, SettleShopOrderPaymentResponse, ShopOrderDigitalFulfillmentRequest, ShopOrderDigitalFulfillmentResponse } from './siteOperations';
|
|
8
8
|
import type { PreviewRefreshRequest, PreviewRefreshResponse } from './preview-auth';
|
|
@@ -22,7 +22,7 @@ export type CommercePortalAPIEndpoints = {
|
|
|
22
22
|
siteBillingCost: APIEndpoint<never, {
|
|
23
23
|
siteId: string;
|
|
24
24
|
}, SiteBillingCostResponse>;
|
|
25
|
-
siteBillingCheckout: APIEndpoint<
|
|
25
|
+
siteBillingCheckout: APIEndpoint<SiteBillingCheckoutRequest, {
|
|
26
26
|
siteId: string;
|
|
27
27
|
}, SiteBillingCheckoutResponse>;
|
|
28
28
|
deleteAccount: APIEndpoint<DeleteAccountRequest, never, DeleteAccountResponse>;
|
|
@@ -339,6 +339,8 @@ export type SiteBySlugResponse = {
|
|
|
339
339
|
mimeType: string;
|
|
340
340
|
} | null;
|
|
341
341
|
theme: Theme | null;
|
|
342
|
+
/** Hosted-only; website payload bytes stay unchanged. */
|
|
343
|
+
hostedBookingAppearance?: import('../../theme-core/src/index').HostedBookingAppearance;
|
|
342
344
|
themeId?: string | null;
|
|
343
345
|
selectionId?: string | null;
|
|
344
346
|
selectionVersion?: number | null;
|
|
@@ -528,11 +530,10 @@ export type ListPublishedEntriesResponse<TContent = Record<string, unknown>> = {
|
|
|
528
530
|
* Note: draft/published content can contain hydrated structures; treat as `unknown` at the API layer
|
|
529
531
|
* unless/until we formalize the hydrated content schema.
|
|
530
532
|
*/
|
|
531
|
-
|
|
533
|
+
type SdkRuntimeBlockContent<TScope, TContentVersionId extends string | null> = TScope & {
|
|
532
534
|
id: string;
|
|
533
535
|
blockId: string;
|
|
534
|
-
contentVersionId:
|
|
535
|
-
pageId: string;
|
|
536
|
+
contentVersionId: TContentVersionId;
|
|
536
537
|
kind: string;
|
|
537
538
|
purpose: string;
|
|
538
539
|
orderIndex: number;
|
|
@@ -543,43 +544,22 @@ export type SdkBlockContent = {
|
|
|
543
544
|
publishedContentId: string | null;
|
|
544
545
|
admission?: SdkBlockContentAdmission;
|
|
545
546
|
};
|
|
546
|
-
export type
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
547
|
+
export type SdkBlockContent = SdkRuntimeBlockContent<{
|
|
548
|
+
pageId: string;
|
|
549
|
+
}, string | null>;
|
|
550
|
+
export type SdkEntrySlotBlockContent = SdkRuntimeBlockContent<{
|
|
550
551
|
entrySlotId: string;
|
|
551
552
|
identifier: string | null;
|
|
552
|
-
|
|
553
|
-
purpose: string;
|
|
554
|
-
orderIndex: number;
|
|
555
|
-
content: Record<string, unknown>;
|
|
556
|
-
draftContent: unknown;
|
|
557
|
-
publishedContent: unknown;
|
|
558
|
-
draftContentId: string | null;
|
|
559
|
-
publishedContentId: string | null;
|
|
560
|
-
admission?: SdkBlockContentAdmission;
|
|
561
|
-
};
|
|
553
|
+
}, string>;
|
|
562
554
|
export type SdkEntrySlotContent = {
|
|
563
555
|
entrySlotId: string;
|
|
564
556
|
slotKey: string;
|
|
565
557
|
blocks: SdkEntrySlotBlockContent[];
|
|
566
558
|
};
|
|
567
|
-
export type SdkSurfaceSlotBlockContent = {
|
|
568
|
-
id: string;
|
|
569
|
-
blockId: string;
|
|
570
|
-
contentVersionId: string;
|
|
559
|
+
export type SdkSurfaceSlotBlockContent = SdkRuntimeBlockContent<{
|
|
571
560
|
surfaceSlotId: string;
|
|
572
561
|
identifier: string | null;
|
|
573
|
-
|
|
574
|
-
purpose: string;
|
|
575
|
-
orderIndex: number;
|
|
576
|
-
content: Record<string, unknown>;
|
|
577
|
-
draftContent: unknown;
|
|
578
|
-
publishedContent: unknown;
|
|
579
|
-
draftContentId: string | null;
|
|
580
|
-
publishedContentId: string | null;
|
|
581
|
-
admission?: SdkBlockContentAdmission;
|
|
582
|
-
};
|
|
562
|
+
}, string>;
|
|
583
563
|
export type SdkSurfaceSlotContent = {
|
|
584
564
|
surfaceSlotId: string;
|
|
585
565
|
pageSurfaceId: string;
|
|
@@ -787,3 +767,4 @@ export type ContentDataResponse = {
|
|
|
787
767
|
}>;
|
|
788
768
|
}>;
|
|
789
769
|
};
|
|
770
|
+
export {};
|
|
@@ -18,6 +18,10 @@ export type CustomDomainConnectionState = Readonly<{
|
|
|
18
18
|
}> | Readonly<{
|
|
19
19
|
status: 'dns_needs_attention';
|
|
20
20
|
records: readonly DomainDnsInstruction[];
|
|
21
|
+
}> | Readonly<{
|
|
22
|
+
status: 'pending_https';
|
|
23
|
+
}> | Readonly<{
|
|
24
|
+
status: 'https_check_unavailable';
|
|
21
25
|
}> | Readonly<{
|
|
22
26
|
status: 'connected';
|
|
23
27
|
}> | Readonly<{
|
|
@@ -471,20 +471,6 @@ export declare const API_ENDPOINTS: {
|
|
|
471
471
|
readonly auth: "service";
|
|
472
472
|
readonly responseKind: "json";
|
|
473
473
|
};
|
|
474
|
-
readonly sdkUpsertTheme: {
|
|
475
|
-
readonly path: "/sdk/{siteId}/theme";
|
|
476
|
-
readonly method: "POST";
|
|
477
|
-
readonly auth: "service";
|
|
478
|
-
readonly responseKind: "json";
|
|
479
|
-
readonly errors: readonly ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"];
|
|
480
|
-
};
|
|
481
|
-
readonly sdkApplySiteStyleSelection: {
|
|
482
|
-
readonly path: "/sdk/{siteId}/theme/style-selection/apply";
|
|
483
|
-
readonly method: "POST";
|
|
484
|
-
readonly auth: "service";
|
|
485
|
-
readonly responseKind: "json";
|
|
486
|
-
readonly errors: readonly ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"];
|
|
487
|
-
};
|
|
488
474
|
readonly sdkUpsertFooter: {
|
|
489
475
|
readonly path: "/sdk/{siteId}/footer";
|
|
490
476
|
readonly method: "POST";
|
|
@@ -673,13 +659,6 @@ export declare const API_ENDPOINTS: {
|
|
|
673
659
|
readonly auth: "service";
|
|
674
660
|
readonly responseKind: "json";
|
|
675
661
|
};
|
|
676
|
-
readonly sdkCatalogTheme: {
|
|
677
|
-
readonly path: "/sdk/{siteId}/catalog/theme";
|
|
678
|
-
readonly method: "GET";
|
|
679
|
-
readonly errors: readonly ["server:internal_error"];
|
|
680
|
-
readonly auth: "service";
|
|
681
|
-
readonly responseKind: "json";
|
|
682
|
-
};
|
|
683
662
|
readonly sdkCatalogBlocks: {
|
|
684
663
|
readonly path: "/sdk/{siteId}/catalog/blocks";
|
|
685
664
|
readonly method: "GET";
|
|
@@ -740,12 +719,6 @@ export declare const API_ENDPOINTS: {
|
|
|
740
719
|
readonly auth: "service";
|
|
741
720
|
readonly responseKind: "json";
|
|
742
721
|
};
|
|
743
|
-
readonly sdkPullTheme: {
|
|
744
|
-
readonly path: "/sdk/{siteId}/pull/theme";
|
|
745
|
-
readonly method: "GET";
|
|
746
|
-
readonly auth: "service";
|
|
747
|
-
readonly responseKind: "json";
|
|
748
|
-
};
|
|
749
722
|
readonly sdkPullFooter: {
|
|
750
723
|
readonly path: "/sdk/{siteId}/pull/footer";
|
|
751
724
|
readonly method: "GET";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { FooterCompositionV1, MailingListProviderScope } from '../../core/src/index';
|
|
2
|
+
export type FooterCompositionSnapshot = Readonly<{
|
|
3
|
+
kind: 'ready';
|
|
4
|
+
composition: FooterCompositionV1;
|
|
5
|
+
revision: number;
|
|
6
|
+
}> | Readonly<{
|
|
7
|
+
kind: 'missing';
|
|
8
|
+
}> | Readonly<{
|
|
9
|
+
kind: 'invalid';
|
|
10
|
+
message: string;
|
|
11
|
+
}>;
|
|
12
|
+
export type FooterCompositionUpdateRequest = Readonly<{
|
|
13
|
+
composition: FooterCompositionV1;
|
|
14
|
+
baseRevision: number;
|
|
15
|
+
expectedMailingListProviderScope?: MailingListProviderScope;
|
|
16
|
+
}>;
|
|
17
|
+
export type FooterCompositionUpdateResponse = Readonly<{
|
|
18
|
+
kind: 'updated';
|
|
19
|
+
snapshot: Extract<FooterCompositionSnapshot, {
|
|
20
|
+
kind: 'ready';
|
|
21
|
+
}>;
|
|
22
|
+
}> | Readonly<{
|
|
23
|
+
kind: 'conflict';
|
|
24
|
+
authoritative: FooterCompositionSnapshot;
|
|
25
|
+
}>;
|
|
@@ -12,7 +12,7 @@ export { dashboardNavigationLinkSchema, sdkNavigationLinkInputSchema, externalLi
|
|
|
12
12
|
export { isNavigationDropdownSentinel, normalizeNavigationAuthoringLinkForCommand, normalizeNavigationConfigItemForCommand, navigationApiItemToSdkLocalItem, navigationCommandItemToManagementInput, } from './navigation/boundaries';
|
|
13
13
|
export type { NavigationAuthoringItemInput, NavigationAuthoringLinkInput, NavigationBoundaryPortalLinkPayload, NavigationCommandBoundaryItemInput, NavigationConfigItemInput, NavigationDropdownSentinel, NavigationLocalItemInput, NavigationReadItemInput, } from './navigation/boundaries';
|
|
14
14
|
export { pushSdkConfigBodySchema, loaderFallbackScalarSchema, riverbankSiteConfigInputSchema, sdkCustomBlockInputSchema, sdkWorkflowConfigSchema, sdkWorkflowTriggerSchema, sdkWorkflowConfirmationSchema, sdkWorkflowsSchema, SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH, SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH, SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH, SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH, SDK_WORKFLOW_ENDPOINT_MAX_LENGTH, SDK_WORKFLOW_ENDPOINT_PATTERN, SDK_WORKFLOW_ID_MAX_LENGTH, SDK_WORKFLOW_ID_PATTERN, SDK_WORKFLOW_MAX_COUNT, SDK_WORKFLOW_TITLE_MAX_LENGTH, SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT, SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH, SDK_WORKFLOW_TRIGGER_MAX_COUNT, fieldDefinitionInputSchema, } from './sdkConfig/contracts';
|
|
15
|
-
export { formatIgnoredDocumentSyncSectionWarning } from './sdkContracts';
|
|
15
|
+
export { formatIgnoredDocumentSyncSectionWarning, type SdkSiteLayoutConfig } from './sdkContracts';
|
|
16
16
|
export { normalizeSdkThemeWire, sdkThemeWireSchema, type SdkCanonicalTheme, type SdkThemeWire, type SdkThemeWireWithoutHeader, } from './sdkThemeWire';
|
|
17
17
|
export { createIncrementalJsonAccumulator } from './incrementalJson';
|
|
18
18
|
export type { ApplySiteStyleSelectionBody, SiteStyleHeaderSelectionChange, SiteStyleSelectionChange, SaveSiteChromeSelectionBody, SaveSiteChromeSelectionResponse, SiteThemeSelectionsPayload, ThemeWithoutHeader, } from './siteRuntimeEndpoints';
|
|
@@ -20,7 +20,7 @@ export { PUBLIC_EVENT_TICKET_SELECTION_CONTRACT_VERSION, type DiscountsAvailable
|
|
|
20
20
|
export { parseMailchimpAudienceId, parseMailchimpConnectionId, type ListMailchimpAudiencesResponse, type MailchimpAudienceId, type MailchimpAudienceCompatibilityIssue, type MailchimpAudienceReferenceItem, type MailchimpConnectionId, type MailchimpIntegrationConnectionStatus, type MailchimpIntegrationReauthReason, type MailchimpOAuthReturnIntent, type StartMailchimpOAuthRequest, type StartMailchimpOAuthResponse, } from './mailchimpIntegration';
|
|
21
21
|
export type { BrevoConnectionStatus, ConnectBrevoRequest, MailingListAuthoringContext, MailingListProviderCatalog, MailingListProviderHealth, MailingListSetupApplyResponse, MailingListSetupChangeRequest, MailingListSetupPreviewResponse, } from './mailingListIntegration';
|
|
22
22
|
export type { GeneratedIconSetCardRequest, GeneratedIconSetGenerateRequest, GeneratedIconSetGenerateResponse, GeneratedIconSetListRequest, GeneratedIconSetListResponse, GeneratedIconLibraryAsset, GeneratedIconLibrarySet, GeneratedIconRenderAsset, GeneratedIconRenderAssetRef, GeneratedIconRenderAssetsRequest, GeneratedIconRenderAssetsResponse, SiteIconStyleGuidePayload, SiteIconStyleGuideResponse, SiteIconStyleStrokeRule, SiteIconStyleGuideUpdateRequest, } from './siteIcons';
|
|
23
|
-
export { DEFAULT_LAUNCH_READINESS_INPUT, deriveLaunchReadiness, } from './launchReadiness';
|
|
23
|
+
export { DEFAULT_LAUNCH_READINESS_INPUT, deriveLaunchReadiness, deriveLaunchDomainRequirement, } from './launchReadiness';
|
|
24
24
|
export { getDashboardBaseUrl, getDashboardUrl, getAbsoluteDashboardUrl, getCmsApiUrl, resolveApiBaseUrl, normalizeDashboardOrigin, deriveCmsApiUrlFromDashboardUrl, } from './url';
|
|
25
25
|
export { API_ERROR_CODES, ApiEnvelopeError, extractApiEnvelopeErrorDetails, isApiErrorCode, unwrapResponse, } from './common/envelope';
|
|
26
26
|
export { createAuthenticatedApiClient, createInternalAPIClient, createServerAPIClient, createBearerAPIClient, ApiRequestError, } from './request';
|
|
@@ -37,4 +37,5 @@ export declare const DEFAULT_LAUNCH_READINESS_INPUT: {
|
|
|
37
37
|
};
|
|
38
38
|
overrides: never[];
|
|
39
39
|
};
|
|
40
|
+
export declare function deriveLaunchDomainRequirement(siteId: string | null | undefined, domainState: ApiTypes.LaunchCustomDomainPackState): ApiTypes.LaunchRequirement;
|
|
40
41
|
export declare function deriveLaunchReadiness(input: DeriveLaunchReadinessInput): ApiTypes.LaunchReadiness;
|
|
@@ -5,7 +5,7 @@ export type DashboardDemoUiMode = (typeof dashboardDemoUiModeValues)[number];
|
|
|
5
5
|
export declare function isDemoDashboardUiRestricted(mode: DashboardDemoUiMode): boolean;
|
|
6
6
|
export type DashboardSiteNavSurfaceId = 'site.overview' | 'site.content' | 'site.footerBlocks' | 'site.navigation' | 'site.media' | 'site.bookings' | 'site.shop' | 'site.money' | 'site.newsletter' | 'site.performance' | 'site.settings';
|
|
7
7
|
export type DashboardSiteNavGroupId = 'site.website';
|
|
8
|
-
export type SiteNavFeatureFlag = 'analyticsVisible' | 'bookingsVisible' | 'footerBlocksVisible' | 'isSdkSite' | 'moneyVisible' | 'newsletterVisible' | 'shopVisible';
|
|
8
|
+
export type SiteNavFeatureFlag = 'analyticsVisible' | 'bookingsVisible' | 'footerBlocksVisible' | 'isSdkSite' | 'moneyVisible' | 'newsletterVisible' | 'shopVisible' | 'websiteEditingVisible';
|
|
9
9
|
export type DashboardSiteNavDescriptor = Readonly<{
|
|
10
10
|
id: DashboardSiteNavSurfaceId;
|
|
11
11
|
label: string;
|
|
@@ -35,6 +35,7 @@ export type DashboardSiteNavPlanContext = Readonly<{
|
|
|
35
35
|
moneyVisible?: boolean;
|
|
36
36
|
newsletterVisible?: boolean;
|
|
37
37
|
shopVisible?: boolean;
|
|
38
|
+
websiteEditingVisible?: boolean;
|
|
38
39
|
demoUiMode?: DashboardDemoUiMode;
|
|
39
40
|
}>;
|
|
40
41
|
export declare const DASHBOARD_SITE_NAV_DESCRIPTORS: readonly DashboardSiteNavDescriptor[];
|
|
@@ -58,6 +58,7 @@ export type PublicBookingRefundPolicy = Readonly<{
|
|
|
58
58
|
mode: EventBookingPolicyMode;
|
|
59
59
|
/** Hours before the start that refunds close. Only meaningful when `mode` is `cutoff`. */
|
|
60
60
|
cutoffHours: number;
|
|
61
|
+
method: "original_payment_method" | "site_credit";
|
|
61
62
|
}>;
|
|
62
63
|
export type PublicBookingCancellationPolicy = Readonly<{
|
|
63
64
|
refunds: PublicBookingRefundPolicy;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { FooterMode } from '../../../theme-core/src/footer/mode';
|
|
2
|
+
/** SDK-owned footer implementation and source-controlled content seed. */
|
|
3
|
+
export interface SdkSiteLayoutConfig {
|
|
4
|
+
/** Riverbank footer surfaces used by the site; custom callbacks keep precedence. */
|
|
5
|
+
footerMode?: FooterMode;
|
|
6
|
+
/** Global footer blocks synced by push-config, with dashboard content editing. */
|
|
7
|
+
footerBlocks?: Array<{
|
|
8
|
+
/** Stable source identifier, not a CMS block UUID. */
|
|
9
|
+
id?: string;
|
|
10
|
+
kind: string;
|
|
11
|
+
content?: Record<string, unknown>;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { SdkSiteLayoutConfig } from './sdkConfig/layout';
|
|
2
|
+
export type { SdkSiteLayoutConfig } from './sdkConfig/layout';
|
|
1
3
|
import type { BlockContentSource, BlockContentSourceKind, FieldDefinition, FieldDefinitionInput, SdkCustomBlock, SdkCustomBlockInput, Theme } from '../../blocks/src/index';
|
|
2
4
|
import type { ContentTypeSchema } from '../../content-model/src/index';
|
|
3
5
|
import type { EventPreset, FooterCompositionV1, RichTextDoc } from '../../core/src/index';
|
|
@@ -81,13 +83,6 @@ export interface SdkBlockFieldConfig {
|
|
|
81
83
|
* Note: This mirrors BlockFieldOptionsMap from @riverbankcms/sdk/config for use in API responses.
|
|
82
84
|
*/
|
|
83
85
|
export type SdkBlockFieldOptionsMap = Record<string, Record<string, SdkBlockFieldConfig>>;
|
|
84
|
-
export interface SdkSiteLayoutConfig {
|
|
85
|
-
footerBlocks?: Array<{
|
|
86
|
-
id?: string;
|
|
87
|
-
kind: string;
|
|
88
|
-
content?: Record<string, unknown>;
|
|
89
|
-
}>;
|
|
90
|
-
}
|
|
91
86
|
export interface SdkContentTypeTemplateConfig {
|
|
92
87
|
blocks: unknown[];
|
|
93
88
|
}
|
|
@@ -228,6 +223,7 @@ export declare function formatIgnoredDocumentSyncSectionWarning(section: Ignored
|
|
|
228
223
|
export type SyncFooterBlocksResult = {
|
|
229
224
|
updated: boolean;
|
|
230
225
|
skipped: boolean;
|
|
226
|
+
reason?: 'unchanged' | 'preserved-dashboard-edit' | 'mode-only';
|
|
231
227
|
};
|
|
232
228
|
export type SdkConfigSyncResult = {
|
|
233
229
|
success: boolean;
|
|
@@ -694,7 +690,6 @@ export interface SdkCapabilityCatalogLink {
|
|
|
694
690
|
export interface SdkCapabilitiesResponse {
|
|
695
691
|
apiVersion: string;
|
|
696
692
|
catalogs: {
|
|
697
|
-
theme: SdkCapabilityCatalogLink;
|
|
698
693
|
blocks: SdkCapabilityCatalogLink;
|
|
699
694
|
contentTypes: SdkCapabilityCatalogLink;
|
|
700
695
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PublicProfile, RectificationHistoryPropagationPlan, RectificationIdentityBoundary, RectificationIssueUrl, RectificationSurface } from '../../core/src/index';
|
|
2
2
|
import type { CamelizeKeys, DbRow, DbJson } from '../../db/src/index';
|
|
3
3
|
import type { APIEndpoint } from './apiEndpointTypes';
|
|
4
4
|
import type { BillingAPIEndpoints } from './billingEndpointTypes';
|
|
@@ -22,36 +22,14 @@ import type { GeneratedIconSetGenerateRequest, GeneratedIconSetGenerateResponse,
|
|
|
22
22
|
import type { AiBrandGuidelinesGenerateRequest, AiBrandGuidelinesGenerateResponse, AiBrandGuidelinesGenerationContextResponse, SiteAiBrandGuidelinesPayload, SiteAiBrandGuidelinesResponse, SiteAiProfilePayload, SiteAiProfileResponse, SiteGenerationIntakePayload, SiteGenerationIntakeResponse } from './siteOnboarding';
|
|
23
23
|
import type { SitePrivacySettingsPayload, SitePrivacySettingsResponse } from './privacyPolicy';
|
|
24
24
|
import type { MaintenanceSettingsPayload, MaintenanceSettingsResponse, SiteBusinessAddressPayload, SiteBusinessAddressResponse, SiteFooterBlocksEditorResponse, SiteGeneralSettingsPayload, SiteGeneralSettingsResponse, SiteLayoutSettingsPayload, SiteLayoutSettingsResponse, UpdateSiteDeploymentModePayload, UpdateSiteDeploymentModeResponse, UpdateSiteFooterBlocksPayload, UpdateSiteFooterBlocksResponse } from './siteSettings';
|
|
25
|
+
import type { FooterCompositionSnapshot, FooterCompositionUpdateRequest, FooterCompositionUpdateResponse } from './footerCompositionContracts';
|
|
26
|
+
export type { FooterCompositionSnapshot, FooterCompositionUpdateRequest, FooterCompositionUpdateResponse, } from './footerCompositionContracts';
|
|
25
27
|
/**
|
|
26
28
|
* Site-management endpoints collect dashboard/admin/auth/content-management API shapes
|
|
27
29
|
* that still belong to the aggregate contract layer but no longer need to live inline in
|
|
28
30
|
* `types.ts`.
|
|
29
31
|
*/
|
|
30
32
|
type Site = CamelizeKeys<DbRow<'sites'>>;
|
|
31
|
-
export type FooterCompositionSnapshot = Readonly<{
|
|
32
|
-
kind: 'ready';
|
|
33
|
-
composition: FooterCompositionV1;
|
|
34
|
-
revision: number;
|
|
35
|
-
}> | Readonly<{
|
|
36
|
-
kind: 'missing';
|
|
37
|
-
}> | Readonly<{
|
|
38
|
-
kind: 'invalid';
|
|
39
|
-
message: string;
|
|
40
|
-
}>;
|
|
41
|
-
export type FooterCompositionUpdateRequest = Readonly<{
|
|
42
|
-
composition: FooterCompositionV1;
|
|
43
|
-
baseRevision: number;
|
|
44
|
-
expectedMailingListProviderScope?: MailingListProviderScope;
|
|
45
|
-
}>;
|
|
46
|
-
export type FooterCompositionUpdateResponse = Readonly<{
|
|
47
|
-
kind: 'updated';
|
|
48
|
-
snapshot: Extract<FooterCompositionSnapshot, {
|
|
49
|
-
kind: 'ready';
|
|
50
|
-
}>;
|
|
51
|
-
}> | Readonly<{
|
|
52
|
-
kind: 'conflict';
|
|
53
|
-
authoritative: FooterCompositionSnapshot;
|
|
54
|
-
}>;
|
|
55
33
|
export type PublicProfileSnapshot = Readonly<{
|
|
56
34
|
kind: 'ready';
|
|
57
35
|
profile: PublicProfile;
|
|
@@ -1072,4 +1050,3 @@ export type SiteManagementAPIEndpoints = BillingAPIEndpoints & {
|
|
|
1072
1050
|
activeOnly?: string;
|
|
1073
1051
|
}, BookingSessionListPassesResponse>;
|
|
1074
1052
|
};
|
|
1075
|
-
export {};
|
|
@@ -129,6 +129,9 @@ export type LaunchRequirementAction = {
|
|
|
129
129
|
label: string;
|
|
130
130
|
};
|
|
131
131
|
export type LaunchRequirementEvidence = {
|
|
132
|
+
kind: 'domain_connection';
|
|
133
|
+
domainIds: readonly string[];
|
|
134
|
+
} | {
|
|
132
135
|
kind: 'derived';
|
|
133
136
|
} | {
|
|
134
137
|
kind: 'acknowledged';
|
|
@@ -186,6 +189,10 @@ export type LaunchCoursesPackState = {
|
|
|
186
189
|
};
|
|
187
190
|
export type LaunchCustomDomainPackState = {
|
|
188
191
|
kind: 'connected';
|
|
192
|
+
domainIds: readonly string[];
|
|
193
|
+
} | {
|
|
194
|
+
kind: 'pending_verification' | 'partially_connected' | 'check_unavailable';
|
|
195
|
+
domainIds: readonly string[];
|
|
189
196
|
} | {
|
|
190
197
|
kind: 'pending_setup';
|
|
191
198
|
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { SiteCommandOf } from '@riverbankcms/site-commands';
|
|
2
1
|
import type { AppearancePresetId } from '../../theme-core/src/site-styles/index';
|
|
3
2
|
import type { APIEndpoint } from './apiEndpointTypes';
|
|
4
3
|
import type { AdminCreateSiteRequest, AdminCreateSiteResponse, AdminDeletePriceOverrideRequest, AdminDeletePriceOverrideResponse, AdminDeleteSiteResponse, AdminGetPriceOverrideQuery, AdminGetPriceOverrideResponse, AdminUpsertPriceOverrideRequest, AdminUpsertPriceOverrideResponse } from './accessAdmin';
|
|
@@ -8,9 +7,7 @@ import type { CheckRedirectQuery, CheckRedirectResponse, CreateRedirectRuleReque
|
|
|
8
7
|
import type { CreateManagementKeyRequest, CreateManagementKeyResponse, CreateSiteApiKeyRequest, CreateSiteApiKeyResponse, CreateSitePreviewKeyRequest, CreateSitePreviewKeyResponse, CreateWebhookRequest, CreateWebhookResponse, DeleteBackupUploadRequest, DeleteBackupUploadResponse, DeleteWebhookResponse, GetSiteApiKeyAccessLogsResponse, ListSitePreviewKeysResponse, GetWebhookResponse, ImportBackupAsNewSiteRequest, ImportBackupAsNewSiteResponse, ImportSiteBackupRequest, ListManagementKeysResponse, ListSiteApiKeysResponse, ListWebhooksResponse, RevokeManagementKeyRequest, RevokeManagementKeyResponse, RevokeSiteApiKeyResponse, SdkDeploymentHealthResponse, SetupSdkDeploymentRevalidationWebhookRequest, SetupSdkDeploymentRevalidationWebhookResponse, SetupSdkRevalidationWebhookRequest, SetupSdkRevalidationWebhookResponse, UpdateWebhookRequest, UpdateWebhookResponse, BackupImportResponse, BackupPreviewRequest, BackupPreviewResponse, CreateBackupUploadUrlRequest, CreateBackupUploadUrlResponse } from './siteInfrastructure';
|
|
9
8
|
import type { GetSiteInspirationAnalysisResponse, ListSiteInspirationAnalysesResponse } from './siteGeneration';
|
|
10
9
|
import type { ListGscPropertiesAdminResponse, AuthStatusResponse, CronAppointmentRemindersResponse, CronBillingStatusResponse, CronEventFeedbackEmailsResponse, CronEventOccurrencesResponse, CronEventRemindersResponse, CronMediaJobsQuery, CronMediaJobsResponse, CronNewsletterSendResponse, CronPaymentReconciliationResponse, CronSeoIngestResponse, CronWaitlistExpiryResponse } from './siteOperations';
|
|
11
|
-
import type {
|
|
12
|
-
import type { ManagementMediaAsset, MediaResolveResponse, PushSdkConfigRequest, PushSdkConfigResponse, SdkAddEventOccurrenceRequest, SdkBackfillIdentifiersResult, SdkEventOccurrenceResponse, SdkGetEntryResponse, SdkGetEventCategoryResponse, SdkGetEventResponse, SdkGetFormResponse, SdkGetPageBlockResponse, SdkPatchPageBlockBody, SdkPatchPageBlockResponse, SdkGetVenueResponse, SdkListEntriesResponse, SdkListEventCategoriesResponse, SdkListEventOccurrencesResponse, SdkListEventsResponse, SdkListFormsResponse, SdkListVenuesResponse, SdkMediaFinalizeUploadResponse, SdkMediaDeleteApplyResponse, SdkMediaDeletePreviewResponse, SdkMediaDownloadResponse, SdkMediaListResponse, SdkMediaUploadUrlResponse, SdkPageResponse, SdkEntryUpsertSlotBlock, SdkPublishOrUnpublishEntryResponse, SdkPullContentTypesResponse, SdkCatalogThemeResponse, SdkCatalogBlocksResponse, SdkCatalogContentTypesResponse, SdkCapabilitiesResponse, SdkCommandApplicationResult, SdkConfigureBookingVerticalRequest, SdkConfigureBookingVerticalResponse, SdkDemoContentResponse, SdkDeleteResponse, SdkPullEntriesAllResponse, SdkPullEntriesByTypeResponse, SdkPullEntriesResponse, SdkPullEventCategoriesResponse, SdkPullEventsResponse, SdkPullFooterResponse, SdkPullFormSchema, SdkPullFormsResponse, SdkPullFormSettings, SdkPullDraftsResponse, SdkPullNavigationResponse, SdkPullPagesResponse, SdkPullSettings, SdkPullSettingsResponse, SdkPullSiteInfoResponse, SdkPullThemeResponse, SdkPullVenue, SdkPullVenuesResponse, SdkUpdateSettingsResponse, SdkUpdateEventOccurrenceRequest, SdkUpsertBlockResponse, SdkUpsertEntryResponse, SdkUpsertPageResponse, SdkUpsertEventCategoryResponse, SdkUpsertEventResponse, SdkUpsertFooterResponse, SdkUpsertFormResponse, SdkUpsertNavigationMenuResponse, SdkUpsertThemeResponse, SdkUpsertVenueResponse } from './sdkContracts';
|
|
13
|
-
import type { SdkThemeWireWithoutHeader } from './sdkThemeWire';
|
|
10
|
+
import type { ManagementMediaAsset, MediaResolveResponse, PushSdkConfigRequest, PushSdkConfigResponse, SdkAddEventOccurrenceRequest, SdkBackfillIdentifiersResult, SdkEventOccurrenceResponse, SdkGetEntryResponse, SdkGetEventCategoryResponse, SdkGetEventResponse, SdkGetFormResponse, SdkGetPageBlockResponse, SdkPatchPageBlockBody, SdkPatchPageBlockResponse, SdkGetVenueResponse, SdkListEntriesResponse, SdkListEventCategoriesResponse, SdkListEventOccurrencesResponse, SdkListEventsResponse, SdkListFormsResponse, SdkListVenuesResponse, SdkMediaFinalizeUploadResponse, SdkMediaDeleteApplyResponse, SdkMediaDeletePreviewResponse, SdkMediaDownloadResponse, SdkMediaListResponse, SdkMediaUploadUrlResponse, SdkPageResponse, SdkEntryUpsertSlotBlock, SdkPublishOrUnpublishEntryResponse, SdkPullContentTypesResponse, SdkCatalogBlocksResponse, SdkCatalogContentTypesResponse, SdkCapabilitiesResponse, SdkConfigureBookingVerticalRequest, SdkConfigureBookingVerticalResponse, SdkDemoContentResponse, SdkDeleteResponse, SdkPullEntriesAllResponse, SdkPullEntriesByTypeResponse, SdkPullEntriesResponse, SdkPullEventCategoriesResponse, SdkPullEventsResponse, SdkPullFooterResponse, SdkPullFormSchema, SdkPullFormsResponse, SdkPullFormSettings, SdkPullDraftsResponse, SdkPullNavigationResponse, SdkPullPagesResponse, SdkPullSettings, SdkPullSettingsResponse, SdkPullSiteInfoResponse, SdkPullVenue, SdkPullVenuesResponse, SdkUpdateSettingsResponse, SdkUpdateEventOccurrenceRequest, SdkUpsertBlockResponse, SdkUpsertEntryResponse, SdkUpsertPageResponse, SdkUpsertEventCategoryResponse, SdkUpsertEventResponse, SdkUpsertFooterResponse, SdkUpsertFormResponse, SdkUpsertNavigationMenuResponse, SdkUpsertVenueResponse } from './sdkContracts';
|
|
14
11
|
import type { FooterCompositionUpdateRequest } from './siteManagementEndpoints';
|
|
15
12
|
import type { SdkEventUpsertBody } from './sdk-event-upsert';
|
|
16
13
|
import type { SdkEntryPaginationQueryInput } from './schemas/sdk-entries';
|
|
@@ -196,9 +193,6 @@ export type SitePlatformAPIEndpoints = {
|
|
|
196
193
|
sdkPullContentTypes: APIEndpoint<never, {
|
|
197
194
|
siteId: string;
|
|
198
195
|
}, SdkPullContentTypesResponse>;
|
|
199
|
-
sdkCatalogTheme: APIEndpoint<never, {
|
|
200
|
-
siteId: string;
|
|
201
|
-
}, SdkCatalogThemeResponse>;
|
|
202
196
|
sdkCatalogBlocks: APIEndpoint<never, {
|
|
203
197
|
siteId: string;
|
|
204
198
|
}, SdkCatalogBlocksResponse>;
|
|
@@ -226,9 +220,6 @@ export type SitePlatformAPIEndpoints = {
|
|
|
226
220
|
sdkPullForms: APIEndpoint<never, {
|
|
227
221
|
siteId: string;
|
|
228
222
|
}, SdkPullFormsResponse>;
|
|
229
|
-
sdkPullTheme: APIEndpoint<never, {
|
|
230
|
-
siteId: string;
|
|
231
|
-
}, SdkPullThemeResponse>;
|
|
232
223
|
sdkPullFooter: APIEndpoint<never, {
|
|
233
224
|
siteId: string;
|
|
234
225
|
}, SdkPullFooterResponse>;
|
|
@@ -326,27 +317,6 @@ export type SitePlatformAPIEndpoints = {
|
|
|
326
317
|
}, {
|
|
327
318
|
siteId: string;
|
|
328
319
|
}, SdkUpsertNavigationMenuResponse>;
|
|
329
|
-
sdkUpsertTheme: APIEndpoint<Readonly<{
|
|
330
|
-
kind: 'update';
|
|
331
|
-
/**
|
|
332
|
-
* The theme minus its header (#1318 Phase 4d, D17). The server compiles
|
|
333
|
-
* `theme.header` from the site's stored selection and header
|
|
334
|
-
* preferences and is its only author; a body carrying header bytes is
|
|
335
|
-
* rejected rather than silently stripped.
|
|
336
|
-
*/
|
|
337
|
-
theme: SdkThemeWireWithoutHeader;
|
|
338
|
-
themeId?: string;
|
|
339
|
-
selectionId?: string;
|
|
340
|
-
}> | Readonly<{
|
|
341
|
-
/** The first theme is compiled authoritatively from this command. */
|
|
342
|
-
kind: 'initialize';
|
|
343
|
-
command: SiteCommandOf<'applySiteStyleSelection'>;
|
|
344
|
-
}>, {
|
|
345
|
-
siteId: string;
|
|
346
|
-
}, SdkUpsertThemeResponse>;
|
|
347
|
-
sdkApplySiteStyleSelection: APIEndpoint<ApplySiteStyleSelectionBody, {
|
|
348
|
-
siteId: string;
|
|
349
|
-
}, SdkCommandApplicationResult<ApplySiteStyleSelectionResponse>>;
|
|
350
320
|
sdkUpsertFooter: APIEndpoint<FooterCompositionUpdateRequest, {
|
|
351
321
|
siteId: string;
|
|
352
322
|
}, SdkUpsertFooterResponse>;
|
|
@@ -175,7 +175,12 @@ export type PageDesignEditorStateResponse = {
|
|
|
175
175
|
message: string;
|
|
176
176
|
} | {
|
|
177
177
|
kind: 'loaded';
|
|
178
|
-
|
|
178
|
+
/**
|
|
179
|
+
* `'default'` means no design record was persisted for the page and the
|
|
180
|
+
* site style's defaults were resolved. Clients treat every loaded state
|
|
181
|
+
* the same way; the source is diagnostic only.
|
|
182
|
+
*/
|
|
183
|
+
source: 'draft' | 'published-fallback' | 'default';
|
|
179
184
|
revision: PageDesignRevisionToken;
|
|
180
185
|
editorModel: PageDesignEditorReadModel;
|
|
181
186
|
};
|
|
@@ -58,12 +58,12 @@ export type SiteBillingSubscriptionSnapshot = Readonly<{
|
|
|
58
58
|
origin: BillingSubscriptionOrigin | null;
|
|
59
59
|
status: string;
|
|
60
60
|
}> | null;
|
|
61
|
-
export type SiteBillingManualReviewReason = 'ambiguous_subscription_origin' | 'active_site_linked_add_on' | 'admin_requested_manual_review' | 'missing_admin_subscription_choice' | 'practitioner_limit_exceeded' | 'live_site_allowance_exceeded' | 'subscription_action_failed';
|
|
62
|
-
export declare const SITE_BILLING_MANUAL_REVIEW_REASONS: readonly ["ambiguous_subscription_origin", "active_site_linked_add_on", "admin_requested_manual_review", "missing_admin_subscription_choice", "practitioner_limit_exceeded", "live_site_allowance_exceeded", "subscription_action_failed"];
|
|
61
|
+
export type SiteBillingManualReviewReason = 'ambiguous_subscription_origin' | 'active_site_linked_add_on' | 'admin_requested_manual_review' | 'missing_admin_subscription_choice' | 'practitioner_limit_exceeded' | 'live_site_allowance_exceeded' | 'subscription_action_failed' | 'multiple_platform_subscriptions' | 'platform_subscription_recovery_failed' | 'commission_reconciliation_exhausted';
|
|
62
|
+
export declare const SITE_BILLING_MANUAL_REVIEW_REASONS: readonly ["ambiguous_subscription_origin", "active_site_linked_add_on", "admin_requested_manual_review", "missing_admin_subscription_choice", "practitioner_limit_exceeded", "live_site_allowance_exceeded", "subscription_action_failed", "multiple_platform_subscriptions", "platform_subscription_recovery_failed", "commission_reconciliation_exhausted"];
|
|
63
63
|
export type SiteBillingManualReviewStatus = 'open' | 'resolved';
|
|
64
64
|
export declare const SITE_BILLING_MANUAL_REVIEW_STATUSES: readonly ["open", "resolved"];
|
|
65
|
-
export type SiteBillingManualReviewResolutionAction = 'external_action_completed' | 'no_action_needed' | 'duplicate' | 'superseded_by_arrangement_change' | 'accepted_risk';
|
|
66
|
-
export declare const SITE_BILLING_MANUAL_REVIEW_RESOLUTION_ACTIONS: readonly ["external_action_completed", "no_action_needed", "duplicate", "superseded_by_arrangement_change", "accepted_risk"];
|
|
65
|
+
export type SiteBillingManualReviewResolutionAction = 'external_action_completed' | 'no_action_needed' | 'duplicate' | 'superseded_by_arrangement_change' | 'accepted_risk' | 'automatic_reconciliation_succeeded';
|
|
66
|
+
export declare const SITE_BILLING_MANUAL_REVIEW_RESOLUTION_ACTIONS: readonly ["external_action_completed", "no_action_needed", "duplicate", "superseded_by_arrangement_change", "accepted_risk", "automatic_reconciliation_succeeded"];
|
|
67
67
|
export type SiteBillingManualReviewFailureAction = 'cancel_immediately' | 'cancel_at_period_end' | 'sync_existing_subscription' | 'post_stripe_arrangement_update_failed';
|
|
68
68
|
export type SiteBillingManualReviewDetailsByReason = Readonly<{
|
|
69
69
|
ambiguous_subscription_origin: Readonly<{
|
|
@@ -96,6 +96,19 @@ export type SiteBillingManualReviewDetailsByReason = Readonly<{
|
|
|
96
96
|
externalActionCompleted?: boolean;
|
|
97
97
|
transitionAttemptId?: string | null;
|
|
98
98
|
}>;
|
|
99
|
+
multiple_platform_subscriptions: Readonly<{
|
|
100
|
+
subscriptionIds: readonly string[];
|
|
101
|
+
}>;
|
|
102
|
+
platform_subscription_recovery_failed: Readonly<{
|
|
103
|
+
subscriptionId: string;
|
|
104
|
+
error: string;
|
|
105
|
+
}>;
|
|
106
|
+
commission_reconciliation_exhausted: Readonly<{
|
|
107
|
+
targetKind: 'customer_membership' | 'order_payment_plan';
|
|
108
|
+
targetId: string;
|
|
109
|
+
attempts: number;
|
|
110
|
+
error: string;
|
|
111
|
+
}>;
|
|
99
112
|
}>;
|
|
100
113
|
export type SiteBillingManualReviewPayload = {
|
|
101
114
|
[TReason in SiteBillingManualReviewReason]: Readonly<{
|
|
@@ -103,7 +116,7 @@ export type SiteBillingManualReviewPayload = {
|
|
|
103
116
|
details: SiteBillingManualReviewDetailsByReason[TReason];
|
|
104
117
|
}>;
|
|
105
118
|
}[SiteBillingManualReviewReason];
|
|
106
|
-
export type SiteBillingArrangementPlanManualReviewReason = Exclude<SiteBillingManualReviewReason, 'subscription_action_failed' | 'practitioner_limit_exceeded' | 'live_site_allowance_exceeded'>;
|
|
119
|
+
export type SiteBillingArrangementPlanManualReviewReason = Exclude<SiteBillingManualReviewReason, 'subscription_action_failed' | 'practitioner_limit_exceeded' | 'live_site_allowance_exceeded' | 'multiple_platform_subscriptions' | 'platform_subscription_recovery_failed' | 'commission_reconciliation_exhausted'>;
|
|
107
120
|
export type SiteBillingArrangementSubscriptionAction = 'not_applicable' | 'sync_attempted' | 'cancelled_immediately' | 'scheduled_cancel_at_period_end' | 'manual_review_required' | 'failed';
|
|
108
121
|
export declare const SITE_BILLING_ARRANGEMENT_SUBSCRIPTION_ACTIONS: readonly ["not_applicable", "sync_attempted", "cancelled_immediately", "scheduled_cancel_at_period_end", "manual_review_required", "failed"];
|
|
109
122
|
export declare const SITE_BILLING_ARRANGEMENT_CHANGE_ORIGINS: readonly ["native_arrangement_change", "imported_legacy_cost_history"];
|
|
@@ -298,6 +298,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
298
298
|
eventSurface: import("..").EventSurfaceScope;
|
|
299
299
|
filterEventPresets: string | null;
|
|
300
300
|
scheduleScope: import("..").EventScheduleScope;
|
|
301
|
+
seriesIds?: string | null;
|
|
301
302
|
filterCategoryIds?: string | null;
|
|
302
303
|
filterStaffMemberId?: string | null;
|
|
303
304
|
filterVenueId?: string | null;
|
|
@@ -343,6 +344,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
343
344
|
eventSurface: import("..").EventSurfaceScope;
|
|
344
345
|
filterEventPresets: string | null;
|
|
345
346
|
scheduleScope: import("..").EventScheduleScope;
|
|
347
|
+
seriesIds?: string | null;
|
|
346
348
|
filterCategoryIds?: string | null;
|
|
347
349
|
filterStaffMemberId?: string | null;
|
|
348
350
|
filterVenueId?: string | null;
|
|
@@ -1234,6 +1236,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1234
1236
|
eventSurface: import("..").EventSurfaceScope;
|
|
1235
1237
|
filterEventPresets: string | null;
|
|
1236
1238
|
scheduleScope: import("..").EventScheduleScope;
|
|
1239
|
+
seriesIds?: string | null;
|
|
1237
1240
|
filterCategoryIds?: string | null;
|
|
1238
1241
|
filterStaffMemberId?: string | null;
|
|
1239
1242
|
filterVenueId?: string | null;
|
|
@@ -1279,6 +1282,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1279
1282
|
eventSurface: import("..").EventSurfaceScope;
|
|
1280
1283
|
filterEventPresets: string | null;
|
|
1281
1284
|
scheduleScope: import("..").EventScheduleScope;
|
|
1285
|
+
seriesIds?: string | null;
|
|
1282
1286
|
filterCategoryIds?: string | null;
|
|
1283
1287
|
filterStaffMemberId?: string | null;
|
|
1284
1288
|
filterVenueId?: string | null;
|
|
@@ -156,6 +156,8 @@ export type PageRendererDataContext = {
|
|
|
156
156
|
apiBaseUrl?: string;
|
|
157
157
|
portalToken?: string | null;
|
|
158
158
|
bookingOfferingPresets?: readonly BookingOfferingPresetSummary[];
|
|
159
|
+
/** Optional canonical service-detail route prefix for catalogue links. */
|
|
160
|
+
appointmentServicePathPrefix?: string;
|
|
159
161
|
mailingList?: import('../../core/src/index').MailingListRuntimeContext;
|
|
160
162
|
bookingTimeZone?: string;
|
|
161
163
|
eventRegistrationOverlayEnabled?: boolean;
|
|
@@ -57,6 +57,8 @@ export type EventCalendarFilterContent = {
|
|
|
57
57
|
eventSurface?: EventSurfaceScope | null;
|
|
58
58
|
filterEventPresets?: readonly EventSurfacePreset[] | null;
|
|
59
59
|
scheduleScope?: EventScheduleScope | null;
|
|
60
|
+
eventSelection?: 'matching' | 'selected' | null;
|
|
61
|
+
selectedEventSeriesIds?: readonly string[] | null;
|
|
60
62
|
filterCategoryIds?: readonly EventCategoryId[] | null;
|
|
61
63
|
filterStaffMemberId?: string | null;
|
|
62
64
|
filterVenueId?: VenueId | null;
|