@riverbankcms/sdk 0.60.1 → 0.60.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/_dts/api/src/bookingRecords.d.ts +7 -0
  2. package/dist/_dts/api/src/bookingVerticals.d.ts +1 -0
  3. package/dist/_dts/api/src/communications.d.ts +1 -0
  4. package/dist/_dts/api/src/contentRuntime.d.ts +8 -0
  5. package/dist/_dts/api/src/endpoints.d.ts +17 -0
  6. package/dist/_dts/api/src/index.d.ts +1 -1
  7. package/dist/_dts/api/src/media.d.ts +1 -1
  8. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -2
  9. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +26 -1
  10. package/dist/_dts/api/src/siteSettings.d.ts +7 -0
  11. package/dist/_dts/api/src/types.d.ts +1 -1
  12. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -0
  13. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -0
  14. package/dist/_dts/blocks/src/system/node/fragments/ctaButton.d.ts +2 -0
  15. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.server.d.ts +4 -0
  16. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +38 -0
  17. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.view.d.ts +2 -1
  18. package/dist/_dts/blocks/src/system/runtime/shared/themedButtonClass.d.ts +11 -0
  19. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +10 -2
  20. package/dist/_dts/core/src/business-address.d.ts +38 -0
  21. package/dist/_dts/core/src/index.d.ts +1 -0
  22. package/dist/_dts/core/src/participants.d.ts +32 -1
  23. package/dist/_dts/core/src/rectification.d.ts +79 -0
  24. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +28 -6
  25. package/dist/_dts/preview-next/src/client/blocks/runOptimisticCustomizeAction.d.ts +44 -0
  26. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -1
  27. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +12 -1
  28. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -1
  29. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +20 -0
  30. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +101 -0
  31. package/dist/_dts/sdk/src/client/types.d.ts +1 -0
  32. package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
  33. package/dist/_dts/sdk/src/version.d.ts +1 -1
  34. package/dist/_dts/theme-core/src/buttons/constants.d.ts +9 -1
  35. package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +16 -11
  36. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +9 -16
  37. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  38. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +16 -0
  39. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +16 -0
  40. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +16 -0
  41. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +95 -0
  42. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +16 -0
  43. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +16 -0
  44. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +16 -0
  45. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +268 -0
  46. package/dist/_dts/theme-core/src/buttons/types.d.ts +253 -72
  47. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +69 -15
  48. package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
  49. package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +52 -0
  50. package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +52 -0
  51. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +213 -0
  52. package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +52 -0
  53. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +154 -0
  54. package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +52 -0
  55. package/dist/_dts/theme-core/src/schema.d.ts +122 -10
  56. package/dist/_dts/theme-core/src/site-styles/curatedChoices.d.ts +27 -0
  57. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +48 -1
  58. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  59. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -0
  60. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +42 -3
  61. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +23 -1
  62. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +46 -0
  63. package/dist/_dts/ui/src/badge.d.ts +1 -1
  64. package/dist/_dts/ui/src/callout.d.ts +1 -1
  65. package/dist/_dts/ui/src/palette/ColorChooserDialog.d.ts +47 -0
  66. package/dist/_dts/ui/src/palette/ColorSlotButton.d.ts +15 -0
  67. package/dist/_dts/ui/src/palette/ColorSwatchButton.d.ts +15 -0
  68. package/dist/_dts/ui/src/palette/PaletteTokenEditor.d.ts +50 -0
  69. package/dist/_dts/ui/src/palette/hex.d.ts +23 -0
  70. package/dist/_dts/ui/src/palette/index.d.ts +14 -0
  71. package/dist/cli/index.mjs +2255 -947
  72. package/dist/client/bookings.mjs +294 -144
  73. package/dist/client/client.mjs +4053 -2600
  74. package/dist/client/hooks.mjs +3248 -2076
  75. package/dist/client/rendering/client.mjs +3377 -2165
  76. package/dist/client/rendering/islands.mjs +1911 -736
  77. package/dist/client/rendering.mjs +41897 -40445
  78. package/dist/preview-next/before-render.mjs +17 -0
  79. package/dist/preview-next/client/runtime.mjs +13511 -11313
  80. package/dist/preview-next/middleware.mjs +17 -0
  81. package/dist/server/components.mjs +4434 -3172
  82. package/dist/server/config-validation.mjs +3479 -2307
  83. package/dist/server/config.mjs +3479 -2307
  84. package/dist/server/data.mjs +3248 -2076
  85. package/dist/server/index.mjs +21 -3
  86. package/dist/server/next.mjs +3989 -2726
  87. package/dist/server/page-converter.mjs +3393 -2238
  88. package/dist/server/prebuild.mjs +1 -1
  89. package/dist/server/rendering/server.mjs +4434 -3172
  90. package/dist/server/rendering.mjs +4434 -3172
  91. package/dist/server/routing.mjs +3582 -2274
  92. package/dist/server/server.mjs +3252 -2079
  93. package/dist/server/theme-bridge.mjs +1454 -496
  94. package/dist/server/theme.mjs +1102 -505
  95. package/package.json +1 -1
  96. package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.d.ts +0 -11
  97. package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.state.d.ts +0 -43
@@ -783,6 +783,12 @@ export type MoneyReportSummary = {
783
783
  refundsCents: MoneyComparisonMetric;
784
784
  netRevenueCents: MoneyComparisonMetric;
785
785
  discountCents: MoneyComparisonMetric;
786
+ tax: {
787
+ kind: "hidden";
788
+ } | {
789
+ kind: "visible";
790
+ taxCollectedCents: MoneyComparisonMetric;
791
+ };
786
792
  orderCount: MoneyComparisonMetric;
787
793
  averageOrderValueCents: MoneyComparisonMetric;
788
794
  };
@@ -794,6 +800,7 @@ export type MoneyTimeSeriesBucket = {
794
800
  refundsCents: number;
795
801
  netRevenueCents: number;
796
802
  discountCents: number;
803
+ taxCollectedCents: number;
797
804
  orderCount: number;
798
805
  };
799
806
  export type MoneyBreakdownRow = {
@@ -661,5 +661,6 @@ export declare function getSelectedPresetForBehaviour(input: Readonly<{
661
661
  }>): VerticalBookingPresetDefinition | null;
662
662
  export declare function getVerticalPresetSelectionOptions(config: SiteVerticalBookingConfig | null | undefined): readonly VerticalPresetSelectionOption[];
663
663
  export declare function setVerticalPresetSelected(config: SiteVerticalBookingConfig | null | undefined, presetId: VerticalPresetId, selected: boolean): VerticalPresetSelectionUpdateResult;
664
+ export declare function setVerticalPresetsSelected(config: SiteVerticalBookingConfig | null | undefined, presetIds: readonly VerticalPresetId[]): VerticalPresetSelectionUpdateResult;
664
665
  export declare const DEFAULT_SITE_VERTICAL_BOOKING_CONFIG: SiteVerticalBookingConfig;
665
666
  export {};
@@ -115,6 +115,7 @@ export type UpdateNewsletterSettingsRequest = Partial<{
115
115
  senderDisplayName: string | null;
116
116
  senderAddressLine1: string | null;
117
117
  senderAddressLine2: string | null;
118
+ senderAddressSource: "custom" | "business_address";
118
119
  senderCity: string | null;
119
120
  senderPostcode: string | null;
120
121
  senderCountry: string | null;
@@ -341,6 +341,14 @@ export type SiteBySlugResponse = {
341
341
  theme: Theme;
342
342
  themeId?: string | null;
343
343
  selectionId?: string | null;
344
+ /**
345
+ * Persisted Style configurator selections (Phase C). Optional so legacy
346
+ * site_theme_selections rows (pre-migration) still satisfy the response
347
+ * type — consumers fall back to the site style's defaults when null.
348
+ */
349
+ selectionButtonPersonalityId?: string | null;
350
+ selectionPaletteVariantId?: string | null;
351
+ selectionPaletteOverrides?: Record<string, string> | null;
344
352
  navigation: NavigationMenuWithItems[];
345
353
  /** Whether portal navigation links should be rendered for this site. */
346
354
  portalEnabled?: boolean;
@@ -1481,6 +1481,23 @@ export declare const API_ENDPOINTS: {
1481
1481
  readonly auth: "user";
1482
1482
  readonly responseKind: "json";
1483
1483
  };
1484
+ readonly getSiteBusinessAddress: {
1485
+ readonly path: "/sites/{siteId}/settings/business-address";
1486
+ readonly method: "GET";
1487
+ readonly revalidate: 120;
1488
+ readonly tags: ["riverbank:site:{siteId}", "riverbank:site:{siteId}:settings"];
1489
+ readonly auth: "user";
1490
+ readonly responseKind: "json";
1491
+ readonly errors: readonly ["auth:forbidden", "server:internal_error"];
1492
+ };
1493
+ readonly updateSiteBusinessAddress: {
1494
+ readonly path: "/sites/{siteId}/settings/business-address";
1495
+ readonly method: "POST";
1496
+ readonly tags: ["riverbank:site:{siteId}", "riverbank:site:{siteId}:settings"];
1497
+ readonly auth: "user";
1498
+ readonly responseKind: "json";
1499
+ readonly errors: readonly ["auth:forbidden", "server:internal_error"];
1500
+ };
1484
1501
  readonly getSiteGenerationIntake: {
1485
1502
  readonly path: "/sites/{siteId}/settings/site-generation-intake";
1486
1503
  readonly method: "GET";
@@ -74,7 +74,7 @@ export { enrollTotpFactor, verifyTotpFactor, activateTotpFactor, deleteMfaFactor
74
74
  export type { ApiResult, ApiResponse, ApiError, ApiErrorCode, FieldError, ResponseMeta, } from "./common/envelope";
75
75
  export type { JsonPrimitive, JsonValue } from "./types";
76
76
  export type { PublicEventLoaderParams, PublicEventScheduleScope, PublicEventSurfaceScope, } from "./types";
77
- export type { APIEndpoint, APIEndpoints, PageBlockDesignSyncWarning, AiAPIEndpoints, LaunchReadinessAPIEndpoints, SiteMembersAPIEndpoints, SeoAPIEndpoints, RedirectsAPIEndpoints, AvailabilityAPIEndpoints, CalendarAPIEndpoints, ContentTypesAPIEndpoints, MediaAPIEndpoints, RiverbankSiteConfig, RiverbankSiteConfigInput, SdkWorkflowConfig, SdkWorkflowTrigger, SdkWorkflowConfirmation, GetEndpoint, HTTPMethod, APICallParams, APICallParamsStrict, CreateManualSiteRequest, CreateManualSiteResponse, ApiKeyRecord, PageRecord, NavigationMenuRecord, NavigationItemRecord, NavigationMenuWithItems, AccessPolicyContract, EntitledCustomerAccessScopeContract, AccessPolicyTag, CartLinkLabelConfig, CartLinkPayload, LinkPayload, InternalLinkRoutablePayload, NavigationLinkInput, RoutableContentItem, CreateMediaAssetBody, FileKindContract, FileKindTag, FileUseContract, FileUseTag, ImageFileFormat, MediaAssetResponse, MediaClassifyJobResponse, MediaJobSummaryResponse, MediaLabelSummary, MediaSettingsResponse, RenderableFileKindTag, StorageClass, UploadIntentContract, UploadIntentTag, BookingSettings, BookingNotificationRule, BookingNotificationSettings, BookingNotificationUpdateKind, BookingVerticalConfig, BookingCurrencyEditState, BookingSettingsEditorSnapshot, BookingSettingsResponse, BookingWaitlistSettings, BookingModuleToggles, BookingReminderOverrides, BookingDefaultImage, AppointmentFollowUpScopeIds, AppointmentFollowUpScopeMode, AppointmentFollowUpSettings, WaitlistMode, WaitlistOverride, EventBookingPolicyMode, EventBookingPolicy, EventBookingPolicies, UpdateBookingSettingsRequest, RefundEventAttendeeRequest, EventAttendeeRefundResult, RefundEventAttendeeResponse, RefundCourseEnrollmentRequest, CourseEnrollmentRefundResult, RefundCourseEnrollmentResponse, TransferEventAttendeeRequest, EventAttendeeTransferResult, TransferEventAttendeeResponse, OpsEventOccurrenceSummary, OpsOccurrenceAttendee, OpsListUpcomingEventOccurrencesResponse, OpsOccurrenceAttendeesResponse, OpsValidateEventTicketRequest, OpsValidateEventTicketResponse, OpsEventAttendeeCheckinUpdate, OpsUpdateEventAttendeeCheckinRequest, OpsUpdateEventAttendeeCheckinResponse, OpsEventAttendeeDetailsResponse, OpsCancelEventAttendeeRequest, OpsCancelEventAttendeeResult, OpsCancelEventAttendeeResponse, OpsRefundEventAttendeeResponse, EventAttendeeRefundHistoryItem, ListEventAttendeeRefundsResponse, CourseEnrollmentRefundHistoryItem, ListCourseEnrollmentRefundsResponse, EventAttendeeTransferHistoryItem, ListEventAttendeeTransfersResponse, EmailTemplateType, EmailTemplate, EmailTemplateInput, EventEmailTemplateType, EventEmailTemplate, GetEventSeriesEmailTemplatesResponse, UpdateEventSeriesEmailTemplatesRequest, UpdateEventSeriesEmailTemplatesResponse, GetEmailSettingsResponse, UpdateEmailSettingsRequest, UpdateEmailSettingsResponse, SendTestEmailRequest, SendTestEmailResponse, PreviewEmailTemplateRequest, PreviewEmailTemplateResponse, AvailabilityRule, ListAvailabilityRulesResponse, WeeklyAvailabilityWindowInput, SetWeeklyAvailabilityRequest, SetWeeklyAvailabilityResponse, SetWeeklyAvailabilityIssue, AppointmentBlackout, CreateBlackoutRequest, ListBlackoutsResponse, CreateBlackoutResponse, DeleteBlackoutResponse, TimeSlot, GetAvailableSlotsQuery, GetAvailableSlotsResponse, CreateAppointmentRequest, CreateAppointmentResponse, BookingQuestionFormSummary, BookingQuestionRequirementScope, BookingRequirementConfigRequest, BookingRequirementConfigResponse, BookingRequirementTargetType, BookingQuestionsRequirementConfig, BookingRequirementValidityPolicy, ConsentRequirementConfig, PublicCreateBookingAppointmentRequest, AppointmentRecord, BookingCustomerRecord, BookingSessionUpdateMeRequest, CourseStatus, MutableCourseStatus, CourseSessionInput, CreateCourseRequest, UpdateCourseRequest, DeleteCourseResponse, DeleteCourseProgramResponse, DuplicateCourseRequest, DuplicateCourseResponse, CourseSeriesRecord, CourseRecord, CreateCourseResponse, UpdateCourseResponse, CourseEnrollmentStatus, CourseEnrollmentPaymentMethod, CourseEnrollmentPaymentStatus, CourseEnrollmentRecord, CourseEnrollmentWithCustomer, ListCourseEnrollmentsResponse, AddCourseEnrollmentRequest, AddCourseEnrollmentResponse, UpdateCourseEnrollmentRequest, UpdateCourseEnrollmentResponse, BookingCustomerWithCounts, CustomerSortColumn, CustomerFilter, ListBookingCustomersRequest, ListBookingCustomersResponse, CreateBookingCustomerRequest, CreateBookingCustomerResponse, CustomerProfileRectificationSourceContext, CustomerProfileRectificationSourceSurface, CustomerPassRecord, ListCustomerPassesResponse, SiteCustomerRecord, SiteCustomerPassRecord, ListSiteCustomerPassesRequest, ListSiteCustomerPassesResponse, CustomerPassRefundResult, CustomerPassRefundRecord, AdjustCustomerPassDetailsRequest, AdjustCustomerPassDetailsResponse, RefundCustomerPassRequest, RefundCustomerPassResponse, ListCustomerPassRefundsResponse, CustomerMembershipRecord, ListCustomerMembershipsResponse, SiteCustomerMembershipRecord, ListSiteCustomerMembershipsRequest, ListSiteCustomerMembershipsResponse, BookingPaymentKind, BookingPaymentStatus, BookingPaymentsView, BookingPaymentListItem, ListBookingPaymentsRequest, ListBookingPaymentsResponse, MoneyPeriodPreset, MoneyItemKind, MoneyPaymentsView, MoneyTimeSeriesGranularity, MoneyBreakdownDimension, MoneyNonCashUsageKind, MoneyReportIncompleteReason, MoneyFilterQuery, MoneyComparisonMetric, MoneyDateRange, MoneyReportSummary, MoneyTimeSeriesBucket, MoneyBreakdownRow, MoneyBreakdownSection, MoneyNonCashUsageRow, MoneyNonCashUsageSection, GetMoneyReportRequest, GetMoneyReportResponse, MoneyPaymentListItem, ListMoneyPaymentsRequest, ListMoneyPaymentsResponse, BookingActivityCategory, BookingActivityType, BookingActivityCursor, BookingActivityListItem, ListBookingActivityRequest, ListBookingActivityResponse, DiscountCodeType, DiscountPerEmailLimit, DiscountMembershipDuration, DiscountEventScopeMode, DiscountScopeMode, ProductScopeMode, DiscountCodeRecord, DiscountCodeScopeIds, DiscountCodeDetails, AutoAppliedDiscountPreview, CreateDiscountCodeRequest, UpdateDiscountCodeRequest, ListDiscountCodesResponse, DiscountCodeResponse, DeleteDiscountCodeResponse, DiscountRedemptionStatus, DiscountRedemptionListItem, ListDiscountRedemptionsRequest, ListDiscountRedemptionsResponse, MembershipPaymentForRefund, ListCustomerMembershipPaymentsResponse, CancelCustomerMembershipAtPeriodEndResult, CustomerMembershipPaymentRefundResult, CustomerMembershipPaymentRefundRecord, RefundCustomerMembershipPaymentRequest, RefundCustomerMembershipPaymentResponse, ListCustomerMembershipPaymentRefundsResponse, CustomerAttendanceRecord, CustomerAttendancePayment, CustomerAttendanceLivePayment, CustomerAttendanceArchivedPayment, CustomerAttendancePaymentMethod, CustomerAttendancePaymentStatus, ListCustomerAttendancesRequest, ListCustomerAttendancesResponse, BookingCustomerCreditSummary, BookingCustomerCreditTransactionListItem, GetCustomerCreditResponse, AccountRevokeSessionsBody, AccountRevokeSessionsResponse, AccountUpdatePasswordBody, AccountUpdatePasswordResponse, AuthFieldKey, AuthSubmissionErrorReason, AuthSubmissionSuccess, AuthSubmissionError, AuthSubmissionResult, ReauthSubmissionResult, DomainAvailability, SiteDomainRecord, SiteDomainContactPayload, LookupSiteDomainRequest, LookupSiteDomainResponse, RegisterSiteDomainRequest, RegisterSiteDomainResponse, AddCustomDomainRequest, AddCustomDomainResponse, SetHomepageRequest, SetHomepageResponse, ContentRouteRecord, SeoOverviewResponse, SeoOverviewQuery, SeoOverviewTimePoint, SeoRangePreset, PerformanceOverviewResponse, PerformanceOverviewQuery, PerformanceRangePreset, SeoSearchPagesQuery, SeoSearchPagesResponse, SeoSearchQueriesQuery, SeoSearchQueriesResponse, SeoSearchSummary, ContentEntryRecord, ContentEntrySummary, FormSummary, ContentEntryDetail, ScheduledContentEntryOrPageResponse, BookingsEventSeriesContentEditorResponse, PublishedContentEntryPreview, PublishedContentEntryPreviewResponse, PublishedPostPreview, PublishedPostPreviewResponse, ContentEntryListStage, ContentEntryListItem, ListPublishedEntriesResponse, ContentTypeTemplateSummary, PublicContentTypeFieldMeta, PublicContentTypeMeta, ListPublishedEntriesMeta, ContentTemplateSummary, ContentTemplateBlockSummary, ContentTemplateAddonSummary, ContentAddonDefinition, ContentTemplateDetailsResponse, UpdateContentTemplateBlockRequest, ApplyContentTemplateAddonRequest, StartImpersonationRequest, StartImpersonationResponse, StopImpersonationRequest, StopImpersonationResponse, UpsertAdminRoleRequest, RevokeAdminRoleRequest, AdminRoleMutationResponse, AdminProfileRole, DTOType, MfaFactorSummary, MfaOverviewPayload, MfaOverviewResponse, MfaTotpActivateRequest, MfaTotpEnrollResponse, MfaTotpVerifyRequest, MfaTotpVerifyResponse, MfaPhoneEnrollRequest, MfaPhoneEnrollResponse, MfaPhoneChallengeRequest, MfaPhoneChallengeResponse, MfaPhoneVerifyRequest, MfaBackupCodeSummary, MfaBackupCodesOverview, MfaBackupCodesOverviewResponse, MfaBackupCodesRotateResponse, CreateAdminInviteRequest, CreateAdminInviteResponse, CreateAdminUserRequest, CreateAdminUserResponse, ListAdminInvitesResponse, RevokeAdminInviteResponse, CreateAllowedDomainRequest, CreateAllowedDomainResponse, ListAllowedDomainsResponse, DeleteAllowedDomainResponse, AcceptAdminInviteRequest, AcceptAdminInviteResponse, AdminInvite, AllowedEmailDomain, AdminChangePlanRequest, AdminChangePlanResponse, ChangePlanRequest, ChangePlanResponse, BillingPriceOverride, AdminGetPriceOverrideQuery, AdminGetPriceOverrideResponse, AdminUpsertPriceOverrideRequest, AdminUpsertPriceOverrideResponse, AdminDeletePriceOverrideRequest, AdminDeletePriceOverrideResponse, DomainSearchResultResponse, AnalyticsPreset, AnalyticsReportQuery, AnalyticsSeriesPoint, AnalyticsTopPage, AnalyticsReferrer, AnalyticsTotals, AnalyticsReportResponse, RegisterDomainRequestPayload, RegisterDomainResponse, DomainConfigResult, SiteRole, SiteMember, SiteMemberProfile, SiteInvitation, SiteAccessSummary, SitePlanSummaryResponse, ListSiteMembersResponse, InviteSiteMemberRequest, InviteSiteMemberResponse, UpdateSiteMemberRoleRequest, UpdateSiteMemberRoleResponse, RemoveSiteMemberResponse, RevokeSiteInvitationResponse, TransferSiteOwnershipRequest, TransferSiteOwnershipResponse, AcceptSiteInvitationRequest, AcceptSiteInvitationResponse, DevToolsImpersonationResponse, DevToolsSeedResponse, DowngradeRole, RoleDowngradeActualRole, SiteRoleDowngradeState, DevToolsGetSiteRoleDowngradeQuery, DevToolsSetSiteRoleDowngradeRequest, SitePagePayload, SiteBySlugResponse, BlockWithContentResponse, ContentDataResponse, BackupAccessImportResult, BackupImportResponse, PreviewKeyRecord, ApiKeyAccessLogRecord, ListSiteApiKeysResponse, CreateSiteApiKeyRequest, CreateSiteApiKeyResponse, RevokeSiteApiKeyResponse, GetSitePreviewKeyResponse, CreateSitePreviewKeyResponse, GetSiteApiKeyAccessLogsResponse, ApiKeyAccessLogsPagination, ManagementKeyRecord, ListManagementKeysResponse, CreateManagementKeyRequest, CreateManagementKeyResponse, RevokeManagementKeyRequest, RevokeManagementKeyResponse, EventPreset, EventOnlineDetails, EventOnlineDetailsInput, StaffAssignmentMode, EventSeriesRecord, CreateEventSeriesRequest, UpdateEventSeriesRequest, EventAttendeeRecord, BookingBeforeYouComeDeliveryIssue, BookingBeforeYouComeReadiness, BookingEventSeriesAttendeeGuest, BookingEventSeriesAttendee, BookingPaymentIssueReason, BookingPaymentAttentionSummary, EventOccurrenceRecord, EventOccurrenceOverrides, EventOccurrenceStatus, EventOccurrenceDeletionEligibility, EventOccurrenceListRecord, UpdateOccurrenceRequest, VenueRecord, VenueLocation, CreateVenueRequest, UpdateVenueRequest, DeleteVenueResponse, GeocodeVenueRequest, GeocodeVenueResponse, AiPlaygroundApplyRequest, AiPlaygroundApplyResponse, BillingStatusResponse, BillingCheckoutRequest, BillingCheckoutResponse, BillingSummaryResponse, SiteBillingCostResponse, SitePurpose, AiBrandGuidelinesExample, SiteAiBrandGuidelinesPayload, SiteAiBrandGuidelinesResponse, SiteAiProfileEntityType, SiteAiProfileLocationMode, SiteAiProfilePayload, SiteAiProfileResponse, SiteContentSamplingStats, SiteContentSampledItem, AiBrandGuidelinesGenerationContextResponse, AiBrandGuidelinesGenerateRequest, AiBrandGuidelinesGenerateResponse, DeleteAccountRequest, DeleteAccountResponse, FontRecord, ExportBackupRequest, BackupPreviewRequest, BackupPreviewResponse, CreateBackupUploadUrlRequest, CreateBackupUploadUrlResponse, DeleteBackupUploadRequest, DeleteBackupUploadResponse, ImportBackupAsNewSiteRequest, ImportBackupAsNewSiteResponse, AdminSiteCostResponse, AdminUpdateSiteCostRequest, BulkOperationResult, SchedulePreviewRequest, SchedulePreviewResponse, AffectedOccurrence, ModifiedOccurrence, RegenerationSummary, AiGenerateSiteEntityType, AiGenerateSitePrimaryCta, AiGenerateSiteRequest, AiGenerateSiteResponse, AiSiteWizardIntakeTriageRequest, AiSiteWizardIntakeTriageResponse, AiSiteWizardTelemetryEvent, AiSiteWizardTelemetryRequest, AiSiteWizardTelemetryResponse, PublicOnboardingAttempt, PublicOnboardingAttemptPayload, PublicOnboardingLogoUploadRequest, PublicOnboardingLogoUploadResponse, PublicOnboardingLogoUploadUrlRequest, PublicOnboardingLogoUploadUrlResponse, PublicOnboardingAttemptStatus, PublicOnboardingSurfaceId, SiteGenerationScope, SiteGenerationFeatureKey, SiteWizardResumeSnapshot, SiteGenerationIntakePayload, SiteGenerationIntakeResponse, CalendarConnectionStatus, CalendarStatusResponse, DebugArtifact, DebugArtifacts, PageBlock, PageConverterOutput, PageConversionSuccess, PageConversionAttempt, PageConversionFailure, PageConversionResult, PageConvertResponse, PageConvertJobStatus, PageConvertJob, PageConvertJobEventType, PageConvertJobEvent, PageConvertJobsCreateRequest, PageConvertJobsCreateResponse, PageConvertJobsListResponse, PageConvertJobGetResponse, PageConvertJobRunResponse, PageConvertJobEventsResponse, NewsletterSettingsRecord, NewsletterSubscriberRecord, NewsletterListRecord, GetNewsletterSettingsResponse, UpdateNewsletterSettingsRequest, UpdateNewsletterSettingsResponse, ListNewsletterTagsResponse, ListNewsletterSubscribersResponse, UpsertNewsletterSubscriberRequest, UpsertNewsletterSubscriberResponse, ImportNewsletterSubscribersCsvResponse, ExportNewsletterSubscribersCsvResponse, GetNewsletterSubscriberResponse, UpdateNewsletterSubscriberRequest, UpdateNewsletterSubscriberResponse, DeleteNewsletterSubscriberResponse, AnonymizeNewsletterSubscriberResponse, ExportNewsletterSubscriberDataResponse, ListNewsletterListsResponse, CreateNewsletterListRequest, CreateNewsletterListResponse, UpdateNewsletterListRequest, UpdateNewsletterListResponse, DeleteNewsletterListResponse, ListNewsletterListMembersResponse, UpdateNewsletterListMembershipsRequest, UpdateNewsletterListMembershipsResponse, NewsletterTemplateRecord, ListNewsletterTemplatesResponse, CreateNewsletterTemplateRequest, CreateNewsletterTemplateResponse, GetNewsletterTemplateResponse, UpdateNewsletterTemplateRequest, UpdateNewsletterTemplateResponse, DeleteNewsletterTemplateResponse, PreviewNewsletterTemplateRequest, PreviewNewsletterTemplateResponse, NewsletterCampaignRecord, ListNewsletterCampaignsResponse, CreateNewsletterCampaignRequest, CreateNewsletterCampaignResponse, GetNewsletterCampaignResponse, UpdateNewsletterCampaignRequest, UpdateNewsletterCampaignResponse, DeleteNewsletterCampaignResponse, NewsletterCampaignRecipientsSummary, GetNewsletterCampaignRecipientsSummaryResponse, NewsletterCampaignStats, GetNewsletterCampaignStatsResponse, NewsletterSendJobRecord, NewsletterSendJobStatus, ListNewsletterSendJobsQuery, ListNewsletterSendJobsResponse, RetryNewsletterSendJobResponse, CancelNewsletterSendJobResponse, SiteLogActor, SiteContentActivityLogEntry, SiteFormSubmissionActivityLogEntry, SiteActivityLogEntry, ListSiteActivityLogsResponse, SiteEmailLogEntry, ListSiteEmailLogsResponse, SiteEmailEventLogEntry, ListSiteEmailEventLogsResponse, SitePublicErrorLogEntry, ListSitePublicErrorLogsResponse, } from "./types";
77
+ export type { APIEndpoint, APIEndpoints, PageBlockDesignSyncWarning, AiAPIEndpoints, LaunchReadinessAPIEndpoints, SiteMembersAPIEndpoints, SeoAPIEndpoints, RedirectsAPIEndpoints, AvailabilityAPIEndpoints, CalendarAPIEndpoints, ContentTypesAPIEndpoints, MediaAPIEndpoints, RiverbankSiteConfig, RiverbankSiteConfigInput, SdkWorkflowConfig, SdkWorkflowTrigger, SdkWorkflowConfirmation, GetEndpoint, HTTPMethod, APICallParams, APICallParamsStrict, CreateManualSiteRequest, CreateManualSiteResponse, ApiKeyRecord, PageRecord, NavigationMenuRecord, NavigationItemRecord, NavigationMenuWithItems, AccessPolicyContract, EntitledCustomerAccessScopeContract, AccessPolicyTag, CartLinkLabelConfig, CartLinkPayload, LinkPayload, InternalLinkRoutablePayload, NavigationLinkInput, RoutableContentItem, CreateMediaAssetBody, FileKindContract, FileKindTag, FileUseContract, FileUseTag, ImageFileFormat, MediaAssetResponse, MediaClassifyJobResponse, MediaJobSummaryResponse, MediaLabelSummary, MediaSettingsResponse, RenderableFileKindTag, StorageClass, UploadIntentContract, UploadIntentTag, BookingSettings, BookingNotificationRule, BookingNotificationSettings, BookingNotificationUpdateKind, BookingVerticalConfig, BookingCurrencyEditState, BookingSettingsEditorSnapshot, BookingSettingsResponse, BookingWaitlistSettings, BookingModuleToggles, BookingReminderOverrides, BookingDefaultImage, AppointmentFollowUpScopeIds, AppointmentFollowUpScopeMode, AppointmentFollowUpSettings, WaitlistMode, WaitlistOverride, EventBookingPolicyMode, EventBookingPolicy, EventBookingPolicies, UpdateBookingSettingsRequest, RefundEventAttendeeRequest, EventAttendeeRefundResult, RefundEventAttendeeResponse, RefundCourseEnrollmentRequest, CourseEnrollmentRefundResult, RefundCourseEnrollmentResponse, TransferEventAttendeeRequest, EventAttendeeTransferResult, TransferEventAttendeeResponse, OpsEventOccurrenceSummary, OpsOccurrenceAttendee, OpsListUpcomingEventOccurrencesResponse, OpsOccurrenceAttendeesResponse, OpsValidateEventTicketRequest, OpsValidateEventTicketResponse, OpsEventAttendeeCheckinUpdate, OpsUpdateEventAttendeeCheckinRequest, OpsUpdateEventAttendeeCheckinResponse, OpsEventAttendeeDetailsResponse, OpsCancelEventAttendeeRequest, OpsCancelEventAttendeeResult, OpsCancelEventAttendeeResponse, OpsRefundEventAttendeeResponse, EventAttendeeRefundHistoryItem, ListEventAttendeeRefundsResponse, CourseEnrollmentRefundHistoryItem, ListCourseEnrollmentRefundsResponse, EventAttendeeTransferHistoryItem, ListEventAttendeeTransfersResponse, EmailTemplateType, EmailTemplate, EmailTemplateInput, EventEmailTemplateType, EventEmailTemplate, GetEventSeriesEmailTemplatesResponse, UpdateEventSeriesEmailTemplatesRequest, UpdateEventSeriesEmailTemplatesResponse, GetEmailSettingsResponse, UpdateEmailSettingsRequest, UpdateEmailSettingsResponse, SendTestEmailRequest, SendTestEmailResponse, PreviewEmailTemplateRequest, PreviewEmailTemplateResponse, AvailabilityRule, ListAvailabilityRulesResponse, WeeklyAvailabilityWindowInput, SetWeeklyAvailabilityRequest, SetWeeklyAvailabilityResponse, SetWeeklyAvailabilityIssue, AppointmentBlackout, CreateBlackoutRequest, ListBlackoutsResponse, CreateBlackoutResponse, DeleteBlackoutResponse, TimeSlot, GetAvailableSlotsQuery, GetAvailableSlotsResponse, CreateAppointmentRequest, CreateAppointmentResponse, BookingQuestionFormSummary, BookingQuestionRequirementScope, BookingRequirementConfigRequest, BookingRequirementConfigResponse, BookingRequirementTargetType, BookingQuestionsRequirementConfig, BookingRequirementValidityPolicy, ConsentRequirementConfig, PublicCreateBookingAppointmentRequest, AppointmentRecord, BookingCustomerRecord, BookingSessionUpdateMeRequest, CourseStatus, MutableCourseStatus, CourseSessionInput, CreateCourseRequest, UpdateCourseRequest, DeleteCourseResponse, DeleteCourseProgramResponse, DuplicateCourseRequest, DuplicateCourseResponse, CourseSeriesRecord, CourseRecord, CreateCourseResponse, UpdateCourseResponse, CourseEnrollmentStatus, CourseEnrollmentPaymentMethod, CourseEnrollmentPaymentStatus, CourseEnrollmentRecord, CourseEnrollmentWithCustomer, ListCourseEnrollmentsResponse, AddCourseEnrollmentRequest, AddCourseEnrollmentResponse, UpdateCourseEnrollmentRequest, UpdateCourseEnrollmentResponse, BookingCustomerWithCounts, CustomerSortColumn, CustomerFilter, ListBookingCustomersRequest, ListBookingCustomersResponse, CreateBookingCustomerRequest, CreateBookingCustomerResponse, CustomerProfileRectificationSourceContext, CustomerProfileRectificationSourceSurface, CustomerPassRecord, ListCustomerPassesResponse, SiteCustomerRecord, SiteCustomerPassRecord, ListSiteCustomerPassesRequest, ListSiteCustomerPassesResponse, CustomerPassRefundResult, CustomerPassRefundRecord, AdjustCustomerPassDetailsRequest, AdjustCustomerPassDetailsResponse, RefundCustomerPassRequest, RefundCustomerPassResponse, ListCustomerPassRefundsResponse, CustomerMembershipRecord, ListCustomerMembershipsResponse, SiteCustomerMembershipRecord, ListSiteCustomerMembershipsRequest, ListSiteCustomerMembershipsResponse, BookingPaymentKind, BookingPaymentStatus, BookingPaymentsView, BookingPaymentListItem, ListBookingPaymentsRequest, ListBookingPaymentsResponse, MoneyPeriodPreset, MoneyItemKind, MoneyPaymentsView, MoneyTimeSeriesGranularity, MoneyBreakdownDimension, MoneyNonCashUsageKind, MoneyReportIncompleteReason, MoneyFilterQuery, MoneyComparisonMetric, MoneyDateRange, MoneyReportSummary, MoneyTimeSeriesBucket, MoneyBreakdownRow, MoneyBreakdownSection, MoneyNonCashUsageRow, MoneyNonCashUsageSection, GetMoneyReportRequest, GetMoneyReportResponse, MoneyPaymentListItem, ListMoneyPaymentsRequest, ListMoneyPaymentsResponse, BookingActivityCategory, BookingActivityType, BookingActivityCursor, BookingActivityListItem, ListBookingActivityRequest, ListBookingActivityResponse, DiscountCodeType, DiscountPerEmailLimit, DiscountMembershipDuration, DiscountEventScopeMode, DiscountScopeMode, ProductScopeMode, DiscountCodeRecord, DiscountCodeScopeIds, DiscountCodeDetails, AutoAppliedDiscountPreview, CreateDiscountCodeRequest, UpdateDiscountCodeRequest, ListDiscountCodesResponse, DiscountCodeResponse, DeleteDiscountCodeResponse, DiscountRedemptionStatus, DiscountRedemptionListItem, ListDiscountRedemptionsRequest, ListDiscountRedemptionsResponse, MembershipPaymentForRefund, ListCustomerMembershipPaymentsResponse, CancelCustomerMembershipAtPeriodEndResult, CustomerMembershipPaymentRefundResult, CustomerMembershipPaymentRefundRecord, RefundCustomerMembershipPaymentRequest, RefundCustomerMembershipPaymentResponse, ListCustomerMembershipPaymentRefundsResponse, CustomerAttendanceRecord, CustomerAttendancePayment, CustomerAttendanceLivePayment, CustomerAttendanceArchivedPayment, CustomerAttendancePaymentMethod, CustomerAttendancePaymentStatus, ListCustomerAttendancesRequest, ListCustomerAttendancesResponse, BookingCustomerCreditSummary, BookingCustomerCreditTransactionListItem, GetCustomerCreditResponse, AccountRevokeSessionsBody, AccountRevokeSessionsResponse, AccountUpdatePasswordBody, AccountUpdatePasswordResponse, AuthFieldKey, AuthSubmissionErrorReason, AuthSubmissionSuccess, AuthSubmissionError, AuthSubmissionResult, ReauthSubmissionResult, DomainAvailability, SiteDomainRecord, SiteDomainContactPayload, LookupSiteDomainRequest, LookupSiteDomainResponse, RegisterSiteDomainRequest, RegisterSiteDomainResponse, AddCustomDomainRequest, AddCustomDomainResponse, SetHomepageRequest, SetHomepageResponse, ContentRouteRecord, SeoOverviewResponse, SeoOverviewQuery, SeoOverviewTimePoint, SeoRangePreset, PerformanceOverviewResponse, PerformanceOverviewQuery, PerformanceRangePreset, SeoSearchPagesQuery, SeoSearchPagesResponse, SeoSearchQueriesQuery, SeoSearchQueriesResponse, SeoSearchSummary, ContentEntryRecord, ContentEntrySummary, FormSummary, ContentEntryDetail, ScheduledContentEntryOrPageResponse, BookingsEventSeriesContentEditorResponse, PublishedContentEntryPreview, PublishedContentEntryPreviewResponse, PublishedPostPreview, PublishedPostPreviewResponse, ContentEntryListStage, ContentEntryListItem, ListPublishedEntriesResponse, ContentTypeTemplateSummary, PublicContentTypeFieldMeta, PublicContentTypeMeta, ListPublishedEntriesMeta, ContentTemplateSummary, ContentTemplateBlockSummary, ContentTemplateAddonSummary, ContentAddonDefinition, ContentTemplateDetailsResponse, UpdateContentTemplateBlockRequest, ApplyContentTemplateAddonRequest, StartImpersonationRequest, StartImpersonationResponse, StopImpersonationRequest, StopImpersonationResponse, UpsertAdminRoleRequest, RevokeAdminRoleRequest, AdminRoleMutationResponse, AdminProfileRole, DTOType, MfaFactorSummary, MfaOverviewPayload, MfaOverviewResponse, MfaTotpActivateRequest, MfaTotpEnrollResponse, MfaTotpVerifyRequest, MfaTotpVerifyResponse, MfaPhoneEnrollRequest, MfaPhoneEnrollResponse, MfaPhoneChallengeRequest, MfaPhoneChallengeResponse, MfaPhoneVerifyRequest, MfaBackupCodeSummary, MfaBackupCodesOverview, MfaBackupCodesOverviewResponse, MfaBackupCodesRotateResponse, CreateAdminInviteRequest, CreateAdminInviteResponse, CreateAdminUserRequest, CreateAdminUserResponse, ListAdminInvitesResponse, RevokeAdminInviteResponse, CreateAllowedDomainRequest, CreateAllowedDomainResponse, ListAllowedDomainsResponse, DeleteAllowedDomainResponse, AcceptAdminInviteRequest, AcceptAdminInviteResponse, AdminInvite, AllowedEmailDomain, AdminChangePlanRequest, AdminChangePlanResponse, ChangePlanRequest, ChangePlanResponse, BillingPriceOverride, AdminGetPriceOverrideQuery, AdminGetPriceOverrideResponse, AdminUpsertPriceOverrideRequest, AdminUpsertPriceOverrideResponse, AdminDeletePriceOverrideRequest, AdminDeletePriceOverrideResponse, DomainSearchResultResponse, AnalyticsPreset, AnalyticsReportQuery, AnalyticsSeriesPoint, AnalyticsTopPage, AnalyticsReferrer, AnalyticsTotals, AnalyticsReportResponse, RegisterDomainRequestPayload, RegisterDomainResponse, DomainConfigResult, SiteRole, SiteMember, SiteMemberProfile, SiteInvitation, SiteAccessSummary, SitePlanSummaryResponse, ListSiteMembersResponse, InviteSiteMemberRequest, InviteSiteMemberResponse, UpdateSiteMemberRoleRequest, UpdateSiteMemberRoleResponse, RemoveSiteMemberResponse, RevokeSiteInvitationResponse, TransferSiteOwnershipRequest, TransferSiteOwnershipResponse, AcceptSiteInvitationRequest, AcceptSiteInvitationResponse, DevToolsImpersonationResponse, DevToolsSeedResponse, DowngradeRole, RoleDowngradeActualRole, SiteRoleDowngradeState, DevToolsGetSiteRoleDowngradeQuery, DevToolsSetSiteRoleDowngradeRequest, SitePagePayload, SiteBySlugResponse, BlockWithContentResponse, ContentDataResponse, BackupAccessImportResult, BackupImportResponse, PreviewKeyRecord, ApiKeyAccessLogRecord, ListSiteApiKeysResponse, CreateSiteApiKeyRequest, CreateSiteApiKeyResponse, RevokeSiteApiKeyResponse, GetSitePreviewKeyResponse, CreateSitePreviewKeyResponse, GetSiteApiKeyAccessLogsResponse, ApiKeyAccessLogsPagination, ManagementKeyRecord, ListManagementKeysResponse, CreateManagementKeyRequest, CreateManagementKeyResponse, RevokeManagementKeyRequest, RevokeManagementKeyResponse, EventPreset, EventOnlineDetails, EventOnlineDetailsInput, StaffAssignmentMode, EventSeriesRecord, CreateEventSeriesRequest, UpdateEventSeriesRequest, EventAttendeeRecord, BookingBeforeYouComeDeliveryIssue, BookingBeforeYouComeReadiness, BookingEventSeriesAttendeeGuest, BookingEventSeriesAttendee, BookingPaymentIssueReason, BookingPaymentAttentionSummary, EventOccurrenceRecord, EventOccurrenceOverrides, EventOccurrenceStatus, EventOccurrenceDeletionEligibility, EventOccurrenceListRecord, UpdateOccurrenceRequest, VenueRecord, VenueLocation, CreateVenueRequest, UpdateVenueRequest, DeleteVenueResponse, GeocodeVenueRequest, GeocodeVenueResponse, AiPlaygroundApplyRequest, AiPlaygroundApplyResponse, BillingStatusResponse, BillingCheckoutRequest, BillingCheckoutResponse, BillingSummaryResponse, SiteBillingCostResponse, SitePurpose, AiBrandGuidelinesExample, SiteAiBrandGuidelinesPayload, SiteAiBrandGuidelinesResponse, SiteAiProfileEntityType, SiteAiProfileLocationMode, SiteAiProfilePayload, SiteAiProfileResponse, SiteBusinessAddressPayload, SiteBusinessAddressResponse, SiteContentSamplingStats, SiteContentSampledItem, AiBrandGuidelinesGenerationContextResponse, AiBrandGuidelinesGenerateRequest, AiBrandGuidelinesGenerateResponse, DeleteAccountRequest, DeleteAccountResponse, FontRecord, ExportBackupRequest, BackupPreviewRequest, BackupPreviewResponse, CreateBackupUploadUrlRequest, CreateBackupUploadUrlResponse, DeleteBackupUploadRequest, DeleteBackupUploadResponse, ImportBackupAsNewSiteRequest, ImportBackupAsNewSiteResponse, AdminSiteCostResponse, AdminUpdateSiteCostRequest, BulkOperationResult, SchedulePreviewRequest, SchedulePreviewResponse, AffectedOccurrence, ModifiedOccurrence, RegenerationSummary, AiGenerateSiteEntityType, AiGenerateSitePrimaryCta, AiGenerateSiteRequest, AiGenerateSiteResponse, AiSiteWizardIntakeTriageRequest, AiSiteWizardIntakeTriageResponse, AiSiteWizardTelemetryEvent, AiSiteWizardTelemetryRequest, AiSiteWizardTelemetryResponse, PublicOnboardingAttempt, PublicOnboardingAttemptPayload, PublicOnboardingLogoUploadRequest, PublicOnboardingLogoUploadResponse, PublicOnboardingLogoUploadUrlRequest, PublicOnboardingLogoUploadUrlResponse, PublicOnboardingAttemptStatus, PublicOnboardingSurfaceId, SiteGenerationScope, SiteGenerationFeatureKey, SiteWizardResumeSnapshot, SiteGenerationIntakePayload, SiteGenerationIntakeResponse, CalendarConnectionStatus, CalendarStatusResponse, DebugArtifact, DebugArtifacts, PageBlock, PageConverterOutput, PageConversionSuccess, PageConversionAttempt, PageConversionFailure, PageConversionResult, PageConvertResponse, PageConvertJobStatus, PageConvertJob, PageConvertJobEventType, PageConvertJobEvent, PageConvertJobsCreateRequest, PageConvertJobsCreateResponse, PageConvertJobsListResponse, PageConvertJobGetResponse, PageConvertJobRunResponse, PageConvertJobEventsResponse, NewsletterSettingsRecord, NewsletterSubscriberRecord, NewsletterListRecord, GetNewsletterSettingsResponse, UpdateNewsletterSettingsRequest, UpdateNewsletterSettingsResponse, ListNewsletterTagsResponse, ListNewsletterSubscribersResponse, UpsertNewsletterSubscriberRequest, UpsertNewsletterSubscriberResponse, ImportNewsletterSubscribersCsvResponse, ExportNewsletterSubscribersCsvResponse, GetNewsletterSubscriberResponse, UpdateNewsletterSubscriberRequest, UpdateNewsletterSubscriberResponse, DeleteNewsletterSubscriberResponse, AnonymizeNewsletterSubscriberResponse, ExportNewsletterSubscriberDataResponse, ListNewsletterListsResponse, CreateNewsletterListRequest, CreateNewsletterListResponse, UpdateNewsletterListRequest, UpdateNewsletterListResponse, DeleteNewsletterListResponse, ListNewsletterListMembersResponse, UpdateNewsletterListMembershipsRequest, UpdateNewsletterListMembershipsResponse, NewsletterTemplateRecord, ListNewsletterTemplatesResponse, CreateNewsletterTemplateRequest, CreateNewsletterTemplateResponse, GetNewsletterTemplateResponse, UpdateNewsletterTemplateRequest, UpdateNewsletterTemplateResponse, DeleteNewsletterTemplateResponse, PreviewNewsletterTemplateRequest, PreviewNewsletterTemplateResponse, NewsletterCampaignRecord, ListNewsletterCampaignsResponse, CreateNewsletterCampaignRequest, CreateNewsletterCampaignResponse, GetNewsletterCampaignResponse, UpdateNewsletterCampaignRequest, UpdateNewsletterCampaignResponse, DeleteNewsletterCampaignResponse, NewsletterCampaignRecipientsSummary, GetNewsletterCampaignRecipientsSummaryResponse, NewsletterCampaignStats, GetNewsletterCampaignStatsResponse, NewsletterSendJobRecord, NewsletterSendJobStatus, ListNewsletterSendJobsQuery, ListNewsletterSendJobsResponse, RetryNewsletterSendJobResponse, CancelNewsletterSendJobResponse, SiteLogActor, SiteContentActivityLogEntry, SiteFormSubmissionActivityLogEntry, SiteActivityLogEntry, ListSiteActivityLogsResponse, SiteEmailLogEntry, ListSiteEmailLogsResponse, SiteEmailEventLogEntry, ListSiteEmailEventLogsResponse, SitePublicErrorLogEntry, ListSitePublicErrorLogsResponse, } from "./types";
78
78
  export { SITE_ROLE_PERMISSION_LEVEL, SITE_ROLE_DISPLAY_ORDER } from "./types";
79
79
  export type { AIChatMessage, AiBriefTurn, AiDesignerThemePatchOp, AiPatchApplyResponse, AiPatchDryRunResponse, AiPatchOp, AiPatchRequest, ApplyAiDesignerPageOpsRequest, ApplyAiDesignerPageOpsResponse, ApplyAiDesignerThemePatchRequest, ApplyAiDesignerThemePatchResponse, } from "./types";
80
80
  export type { CancelFlexibleBalanceBookingDueToNonPaymentRequest, FlexibleBalanceAdminActionPlan, FlexibleBalanceAdminActionResponse, FlexibleBalanceAdminActionSource, FlexibleBalanceAdminActionView, ReopenFlexibleBalanceBookingAfterNonPaymentCancellationRequest, } from "./types";
@@ -180,7 +180,7 @@ export type CreateMediaAssetBody = {
180
180
  mimeType: string;
181
181
  width?: number;
182
182
  height?: number;
183
- bytes?: number;
183
+ bytes: number;
184
184
  checksumSha256?: string | null;
185
185
  source?: "upload" | "instagram";
186
186
  title?: string | null;
@@ -1,4 +1,4 @@
1
- import type { RectificationIssueUrl, RectificationSurface } from "@riverbankcms/core";
1
+ import type { RectificationHistoryPropagationPlan, RectificationIdentityBoundary, RectificationIssueUrl, RectificationSurface } from "@riverbankcms/core";
2
2
  import type { CamelizeKeys, DbRow, DbJson } from "@riverbankcms/db";
3
3
  import type { APIEndpoint } from "./apiEndpointTypes";
4
4
  import type { AcceptAdminInviteRequest, AcceptAdminInviteResponse, AcceptSiteInvitationRequest, AcceptSiteInvitationResponse, AddCustomDomainRequest, AddCustomDomainResponse, AdminChangePlanRequest, AdminChangePlanResponse, AdminDeleteUserResponse, AuthInviteContinueRequest, AuthInviteContinueResponse, AuthInviteRegisterRequest, AuthInviteRegisterResponse, AuthResetCompleteRequest, AuthResetCompleteResponse, AuthSubmissionResult, BulkOperationResult, ChangePlanRequest, ChangePlanResponse, CreateAdminInviteRequest, CreateAdminInviteResponse, CreateAdminUserRequest, CreateAdminUserResponse, CreateAllowedDomainRequest, CreateAllowedDomainResponse, DeleteAllowedDomainResponse, DomainConfigResult, DomainSearchResultResponse, InviteSiteMemberRequest, InviteSiteMemberResponse, ListAdminInvitesResponse, ListAllowedDomainsResponse, ListSiteMembersResponse, LookupSiteDomainRequest, LookupSiteDomainResponse, MfaBackupCodesOverviewResponse, MfaBackupCodesRotateResponse, MfaOverviewResponse, MfaPhoneChallengeRequest, MfaPhoneChallengeResponse, MfaPhoneEnrollRequest, MfaPhoneEnrollResponse, MfaPhoneVerifyRequest, MfaTotpActivateRequest, MfaTotpEnrollResponse, MfaTotpVerifyRequest, MfaTotpVerifyResponse, ReauthSubmissionResult, RegisterDomainRequestPayload, RegisterDomainResponse, RegisterSiteDomainRequest, RegisterSiteDomainResponse, RemoveSiteMemberResponse, RevokeAdminInviteResponse, RevokeSiteInvitationResponse, SetHomepageRequest, SetHomepageResponse, SiteDomainRecord, TransferSiteOwnershipRequest, TransferSiteOwnershipResponse, UpdateSiteMemberRoleRequest, UpdateSiteMemberRoleResponse } from "./accessAdmin";
@@ -13,7 +13,7 @@ import type { SiteAnalyticsSettingsPayload, SiteAnalyticsSettingsResponse } from
13
13
  import type { SiteBannerSettingsPayload, SiteBannerSettingsResponse } from "./siteBanner";
14
14
  import type { AiBrandGuidelinesGenerateRequest, AiBrandGuidelinesGenerateResponse, AiBrandGuidelinesGenerationContextResponse, SiteAiBrandGuidelinesPayload, SiteAiBrandGuidelinesResponse, SiteAiProfilePayload, SiteAiProfileResponse, SiteGenerationIntakePayload, SiteGenerationIntakeResponse } from "./siteOnboarding";
15
15
  import type { SitePrivacySettingsPayload, SitePrivacySettingsResponse } from "./privacyPolicy";
16
- import type { MaintenanceSettingsPayload, MaintenanceSettingsResponse, SiteFooterBlocksEditorResponse, SiteGeneralSettingsPayload, SiteGeneralSettingsResponse, SiteLayoutSettingsPayload, SiteLayoutSettingsResponse, UpdateSiteDeploymentModePayload, UpdateSiteDeploymentModeResponse, UpdateSiteFooterBlocksPayload, UpdateSiteFooterBlocksResponse } from "./siteSettings";
16
+ import type { MaintenanceSettingsPayload, MaintenanceSettingsResponse, SiteBusinessAddressPayload, SiteBusinessAddressResponse, SiteFooterBlocksEditorResponse, SiteGeneralSettingsPayload, SiteGeneralSettingsResponse, SiteLayoutSettingsPayload, SiteLayoutSettingsResponse, UpdateSiteDeploymentModePayload, UpdateSiteDeploymentModeResponse, UpdateSiteFooterBlocksPayload, UpdateSiteFooterBlocksResponse } from "./siteSettings";
17
17
  /**
18
18
  * Site-management endpoints collect dashboard/admin/auth/content-management API shapes
19
19
  * that still belong to the aggregate contract layer but no longer need to live inline in
@@ -60,6 +60,8 @@ type DsarRectificationTreatmentApi = {
60
60
  title: string;
61
61
  decisionLabel: string;
62
62
  actionLabel: string;
63
+ identityBoundary: RectificationIdentityBoundary;
64
+ historyPropagation: RectificationHistoryPropagationPlan;
63
65
  operatorSummary: string;
64
66
  dataSubjectSummary: string;
65
67
  trackingIssue: {
@@ -450,6 +452,12 @@ export type SiteManagementAPIEndpoints = {
450
452
  updateSiteAiProfile: APIEndpoint<SiteAiProfilePayload, {
451
453
  siteId: string;
452
454
  }, SiteAiProfileResponse>;
455
+ getSiteBusinessAddress: APIEndpoint<never, {
456
+ siteId: string;
457
+ }, SiteBusinessAddressResponse>;
458
+ updateSiteBusinessAddress: APIEndpoint<SiteBusinessAddressPayload, {
459
+ siteId: string;
460
+ }, SiteBusinessAddressResponse>;
453
461
  getSiteGenerationIntake: APIEndpoint<never, {
454
462
  siteId: string;
455
463
  }, SiteGenerationIntakeResponse>;
@@ -2,6 +2,20 @@ import type { Theme } from "@riverbankcms/blocks";
2
2
  import type { ListMediaAssetsResult, MediaAssetWithLabels } from "@riverbankcms/media-storage-supabase";
3
3
  import type { DbJson } from "@riverbankcms/db";
4
4
  import type { PageDesignEditorReadModel, PageDesignIntent, AppearancePresetId, BoundaryOptionId, DesignBlockId, LayoutVariantKey } from "@riverbankcms/theme-core/site-styles";
5
+ import type { ButtonPersonalityId } from "@riverbankcms/theme-core/buttons";
6
+ import type { PaletteOverrides, PaletteVariantId } from "@riverbankcms/theme-core/palette";
7
+ /**
8
+ * Round-trip shape for the Style configurator's persisted selections on the
9
+ * `saveSiteTheme` endpoint. Each field is optional independently so callers
10
+ * can update one decision at a time; `null` explicitly clears the selection
11
+ * (server falls back to the site style's default), distinct from omission
12
+ * which preserves the existing persisted value.
13
+ */
14
+ export type SiteThemeSelectionsPayload = {
15
+ buttonPersonalityId?: ButtonPersonalityId | null;
16
+ paletteVariantId?: PaletteVariantId | null;
17
+ paletteOverrides?: PaletteOverrides | null;
18
+ };
5
19
  import type { APIEndpoint } from "./apiEndpointTypes";
6
20
  import type { AnalyticsReportFilters, AnalyticsReportResponse } from "./analytics";
7
21
  import type { CreateMediaAssetBody, MediaAssetResponse, MediaAssetFileFilterContract, MediaBulkDeleteResponse, MediaClassifyJobResponse, MediaJobSummaryResponse, MediaLabelSummary, MediaSettingsResponse } from "./media";
@@ -127,7 +141,7 @@ export type SiteRuntimeAPIEndpoints = {
127
141
  themeId?: string | null;
128
142
  selectionId?: string | null;
129
143
  overrides?: Record<string, unknown> | null;
130
- }, {
144
+ } & SiteThemeSelectionsPayload, {
131
145
  siteId: string;
132
146
  }, {
133
147
  success: boolean;
@@ -136,6 +150,15 @@ export type SiteRuntimeAPIEndpoints = {
136
150
  savedAt: string;
137
151
  overrides: Record<string, unknown> | null;
138
152
  theme: Theme;
153
+ /**
154
+ * Persisted Style configurator selections. The client resolves
155
+ * compatibility locally via `compileSiteThemeFromSelections` and sends
156
+ * already-resolved IDs; this response echoes the row's stored state so
157
+ * the caller can refresh local state without a follow-up read.
158
+ */
159
+ buttonPersonalityId: ButtonPersonalityId | null;
160
+ paletteVariantId: PaletteVariantId | null;
161
+ paletteOverrides: PaletteOverrides | null;
139
162
  }>;
140
163
  uploadSiteLogo: APIEndpoint<UploadSiteLogoRequest, never, {
141
164
  path: string;
@@ -176,6 +199,8 @@ export type SiteRuntimeAPIEndpoints = {
176
199
  slug?: string;
177
200
  domain?: string;
178
201
  scope?: "full";
202
+ currentPath?: string;
203
+ force?: string;
179
204
  }, // Query parameters
180
205
  SiteBySlugResponse>;
181
206
  getSiteIdOnly: APIEndpoint<never, {
@@ -1,4 +1,5 @@
1
1
  import type { SiteFooterContent, SiteHeaderContent } from "@riverbankcms/blocks";
2
+ import type { BusinessAddress } from "@riverbankcms/core";
2
3
  import type { FooterMode } from "@riverbankcms/theme-core";
3
4
  import type { SiteBannerSettingsPayload } from "./siteBanner";
4
5
  export type SiteDeploymentMode = "managed" | "headless_cms" | "headless_full";
@@ -47,6 +48,12 @@ export type SiteLayoutSettingsPayload = {
47
48
  header: SiteHeaderContent;
48
49
  footer: SiteFooterContent;
49
50
  };
51
+ export type SiteBusinessAddressPayload = {
52
+ businessAddress: BusinessAddress | null;
53
+ };
54
+ export type SiteBusinessAddressResponse = {
55
+ businessAddress: BusinessAddress | null;
56
+ };
50
57
  export type SiteLayoutResolvedPayload = SiteLayoutSettingsPayload & {
51
58
  banner: SiteBannerSettingsPayload;
52
59
  logo?: {
@@ -39,7 +39,7 @@ export type { SiteBannerAnnouncementRole, SiteBannerCta, SiteBannerScope, SiteBa
39
39
  export type { SitePageBlock, SitePagePayload } from "./sitePages";
40
40
  export type { SiteAnalyticsCookieBannerCopyOverrides, SiteAnalyticsSettingsPayload, SiteAnalyticsSettingsResponse, } from "./siteAnalytics";
41
41
  export type { SiteLegalJurisdiction, SiteLegalProfilePayload, SensitiveClientRecordsConfirmationKey, SensitiveClientRecordsMode, SensitiveClientRecordsRetentionProfile, SensitiveClientRecordsSettings, SensitiveClientRecordsUpdatePayload, SitePrivacyPolicyCapabilities, SitePrivacyPolicyDocument, SitePrivacySettings, SitePrivacySettingsPayload, SitePrivacySettingsResponse, SiteRuntimePrivacyPolicy, SitePrivacyPolicySection, } from "./privacyPolicy";
42
- export type { MaintenanceSettingsPayload, MaintenanceSettingsResponse, SiteDeploymentMode, SiteFooterBlocksEditorBlock, SiteFooterBlocksEditorResponse, SiteGeneralSettingsPayload, SiteGeneralSettingsResponse, SiteLayoutResolvedPayload, SiteLayoutSettingsPayload, SiteLayoutSettingsResponse, UpdateSiteDeploymentModePayload, UpdateSiteDeploymentModeResponse, UpdateSiteFooterBlocksPayload, UpdateSiteFooterBlocksResponse, } from "./siteSettings";
42
+ export type { MaintenanceSettingsPayload, MaintenanceSettingsResponse, SiteBusinessAddressPayload, SiteBusinessAddressResponse, SiteDeploymentMode, SiteFooterBlocksEditorBlock, SiteFooterBlocksEditorResponse, SiteGeneralSettingsPayload, SiteGeneralSettingsResponse, SiteLayoutResolvedPayload, SiteLayoutSettingsPayload, SiteLayoutSettingsResponse, UpdateSiteDeploymentModePayload, UpdateSiteDeploymentModeResponse, UpdateSiteFooterBlocksPayload, UpdateSiteFooterBlocksResponse, } from "./siteSettings";
43
43
  export type { BillingCheckoutRequest, BillingCheckoutResponse, BillingStatusResponse, BillingSummaryResponse, SiteBillingCheckoutResponse, SiteBillingCostResponse, StripeAutomaticTaxIssue, StripeAutomaticTaxReadiness, StripeAutomaticTaxStatus, StripeConnectDisconnectResponse, StripeConnectRestrictions, StripeConnectStartResponse, StripeConnectStatusResponse, UpdateStripeAutomaticTaxRequest, } from "./billing";
44
44
  export type { AiGenerateSiteEntityType, AiGenerateSitePrimaryCta, AiGenerateSiteRequest, AiGenerateSiteResponse, } from "./siteGeneration";
45
45
  export { SITE_ROLE_DISPLAY_ORDER, SITE_ROLE_PERMISSION_LEVEL } from "./siteMembers";
@@ -1,6 +1,7 @@
1
1
  import { type BlockManifest } from "../manifest/schema";
2
2
  import type { SystemBlockDefinition } from "../registry";
3
3
  import type { SectionStylesContent } from "../fields/boxStyles";
4
+ import { type LocationMapSource } from "../runtime/nodes/location-map.shared";
4
5
  type LocationMapContentValue = Readonly<{
5
6
  addressText?: string | null;
6
7
  lat?: number | null;
@@ -8,6 +9,8 @@ type LocationMapContentValue = Readonly<{
8
9
  }>;
9
10
  export type LocationMapContent = {
10
11
  heading?: string | null;
12
+ locationSource?: LocationMapSource | null;
13
+ venueId?: string | null;
11
14
  location?: LocationMapContentValue | null;
12
15
  showAddressText?: boolean | null;
13
16
  showDirections?: boolean | null;
@@ -5,5 +5,6 @@ export type SiteFooterVariant = "simple" | "columns" | "split";
5
5
  export type SiteFooterContent = {
6
6
  bodyText?: unknown;
7
7
  bottomText?: unknown;
8
+ showBusinessAddress?: boolean | null;
8
9
  };
9
10
  export declare const siteFooterBlockDefinition: SystemBlockDefinition<SiteFooterContent>;
@@ -1,4 +1,5 @@
1
1
  import type { NodeDefinition } from "../schema";
2
+ import type { ThemedButtonSize } from "../../runtime/shared/themedButtonClass";
2
3
  export declare function ctaButton(opts?: {
3
4
  basePath?: string;
4
5
  linkPath?: string;
@@ -14,4 +15,5 @@ export declare function ctaButton(opts?: {
14
15
  };
15
16
  className?: string;
16
17
  variantFallback?: string;
18
+ sizeFallback?: ThemedButtonSize;
17
19
  }): NodeDefinition;
@@ -4,6 +4,10 @@ export type LocationMapProps = Readonly<{
4
4
  blockId?: string | null;
5
5
  className?: string | null;
6
6
  location?: LocationMapValueInput | null;
7
+ businessAddress?: LocationMapValueInput | null;
8
+ locationSource?: string | null;
9
+ venueId?: string | null;
10
+ venuesById?: Record<string, unknown> | null;
7
11
  zoom?: number | string | null;
8
12
  heightPx?: number | string | null;
9
13
  showAddressText?: boolean | string | null;
@@ -18,9 +18,28 @@ export declare const LOCATION_MAP_LIMITS: {
18
18
  };
19
19
  export type LocationMapValueInput = Readonly<{
20
20
  addressText?: string | null;
21
+ displayAddress?: string | null;
21
22
  lat?: number | string | null;
22
23
  lng?: number | string | null;
23
24
  }>;
25
+ export type LocationMapSource = 'business_address' | 'venue' | 'custom';
26
+ export type LocationMapUnresolvedReason = 'missing_custom_location' | 'missing_business_address' | 'missing_venue_id' | 'missing_venue_location';
27
+ export type LocationMapLocationsByVenueId = Readonly<Record<string, unknown>>;
28
+ export type ResolvedLocationMapLocation = Readonly<{
29
+ kind: 'custom';
30
+ locationValue: NormalizedLocationMapValue;
31
+ }> | Readonly<{
32
+ kind: 'business_address';
33
+ locationValue: NormalizedLocationMapValue;
34
+ }> | Readonly<{
35
+ kind: 'venue';
36
+ venueId: string;
37
+ locationValue: NormalizedLocationMapValue;
38
+ }> | Readonly<{
39
+ kind: 'unresolved';
40
+ source: LocationMapSource;
41
+ reason: LocationMapUnresolvedReason;
42
+ }>;
24
43
  export type NormalizedLocationMapValue = AddressedLocationValue;
25
44
  export type LocationMapHydrationProps = Readonly<{
26
45
  location?: NormalizedLocationMapValue | null;
@@ -32,7 +51,9 @@ export type LocationMapHydrationProps = Readonly<{
32
51
  className?: string | null;
33
52
  }>;
34
53
  export type NormalizedLocationMapProps = Readonly<{
54
+ resolvedLocation: ResolvedLocationMapLocation;
35
55
  locationValue: NormalizedLocationMapValue | null;
56
+ unresolvedMessage: string | null;
36
57
  addressText: string | null;
37
58
  location: LocationCoordinates | null;
38
59
  zoom: number;
@@ -43,8 +64,21 @@ export type NormalizedLocationMapProps = Readonly<{
43
64
  className: string | null;
44
65
  }>;
45
66
  export declare function normalizeLocationMapValue(value: unknown): NormalizedLocationMapValue | null;
67
+ export declare function normalizeLocationMapSource(value: LocationMapSource | string | null | undefined): LocationMapSource;
68
+ export declare function resolveLocationMapLocation(input: {
69
+ location?: unknown;
70
+ businessAddress?: unknown;
71
+ locationSource?: LocationMapSource | string | null;
72
+ venueId?: string | null;
73
+ venuesById?: LocationMapLocationsByVenueId | null;
74
+ }): ResolvedLocationMapLocation;
75
+ export declare function describeUnresolvedLocationMapLocation(resolvedLocation: ResolvedLocationMapLocation): string | null;
46
76
  export declare function normalizeLocationMapProps(input: {
47
77
  location?: unknown;
78
+ businessAddress?: unknown;
79
+ locationSource?: LocationMapSource | string | null;
80
+ venueId?: string | null;
81
+ venuesById?: LocationMapLocationsByVenueId | null;
48
82
  zoom?: number | string | null;
49
83
  heightPx?: number | string | null;
50
84
  showAddressText?: boolean | string | null;
@@ -54,6 +88,10 @@ export declare function normalizeLocationMapProps(input: {
54
88
  }): NormalizedLocationMapProps;
55
89
  export declare function toLocationMapHydrationProps(input: {
56
90
  location?: unknown;
91
+ businessAddress?: unknown;
92
+ locationSource?: LocationMapSource | string | null;
93
+ venueId?: string | null;
94
+ venuesById?: Record<string, unknown> | null;
57
95
  zoom?: number | string | null;
58
96
  heightPx?: number | string | null;
59
97
  showAddressText?: boolean | string | null;
@@ -15,7 +15,8 @@ export type LocationMapViewProps = Readonly<{
15
15
  showAddressText: boolean;
16
16
  showDirections: boolean;
17
17
  directionsLabel: string;
18
+ unresolvedMessage?: string | null;
18
19
  renderMap?: (args: RenderMapArgs) => React.ReactNode;
19
20
  }>;
20
- export declare function LocationMapView({ addressText, location, zoom, heightPx, showAddressText, showDirections, directionsLabel, renderMap, }: LocationMapViewProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare function LocationMapView({ addressText, location, zoom, heightPx, showAddressText, showDirections, directionsLabel, unresolvedMessage, renderMap, }: LocationMapViewProps): import("react/jsx-runtime").JSX.Element;
21
22
  export {};
@@ -0,0 +1,11 @@
1
+ export type ThemedButtonVariant = 'primary' | 'secondary' | 'outline' | 'link';
2
+ export type ThemedButtonSize = 'sm' | 'md' | 'lg' | 'xl';
3
+ export type ThemedButtonClassName = string & {
4
+ readonly __brand: 'ThemedButtonClassName';
5
+ };
6
+ export type ThemedButtonClassSpec = Readonly<{
7
+ variant: ThemedButtonVariant;
8
+ size: ThemedButtonSize;
9
+ extraClassName?: string | null;
10
+ }>;
11
+ export declare function themedButtonClass(spec: ThemedButtonClassSpec): ThemedButtonClassName;
@@ -19,6 +19,14 @@ export type ActivePreviewField = Readonly<{
19
19
  blockId: EditorBlockId;
20
20
  fieldPath: string;
21
21
  }> | null;
22
+ /**
23
+ * Version of the local draft snapshot that a completed autosave request persisted.
24
+ * The reducer uses this to accept the saved baseline without treating older
25
+ * in-flight saves as acknowledgements of newer local edits.
26
+ */
27
+ export type AutosaveAcknowledgement = Readonly<{
28
+ acknowledgedVersion: number;
29
+ }>;
22
30
  /**
23
31
  * Form-facing metadata facade. Consumers pass plain records for ergonomics;
24
32
  * the reducer core normalizes and brands values at this boundary.
@@ -33,7 +41,7 @@ export type MetadataState = {
33
41
  setCurrentValues: (values: Record<string, unknown> | null) => void;
34
42
  setAtPath: (path: string, value: unknown) => void;
35
43
  getAtPath: <R = unknown>(path: string) => R | undefined;
36
- autosaveSucceeded: (savedValues: Record<string, unknown> | null, sentValues?: Record<string, unknown> | null) => void;
44
+ autosaveSucceeded: (savedValues: Record<string, unknown> | null, acknowledgement?: AutosaveAcknowledgement) => void;
37
45
  autosaveFailed: (message?: string) => void;
38
46
  clearError: () => void;
39
47
  };
@@ -77,7 +85,7 @@ export type DraftsState = {
77
85
  setPending: (blockId: EditorBlockId) => void;
78
86
  clearPending: (blockId: EditorBlockId) => void;
79
87
  setFailed: (blockId: EditorBlockId, message?: string) => void;
80
- autosaveSucceeded: (blockId: EditorBlockId, content: Record<string, unknown> | null) => void;
88
+ autosaveSucceeded: (blockId: EditorBlockId, content: Record<string, unknown> | null, acknowledgement?: AutosaveAcknowledgement) => void;
81
89
  autosaveFailed: (blockId: EditorBlockId, message?: string) => void;
82
90
  setAtPath: (blockId: EditorBlockId, path: string, value: unknown) => void;
83
91
  getAtPath: <T = unknown>(blockId: EditorBlockId, path: string) => T | undefined;
@@ -0,0 +1,38 @@
1
+ export type BusinessAddressDraft = Readonly<{
2
+ addressLine1?: string | null;
3
+ addressLine2?: string | null;
4
+ locality?: string | null;
5
+ region?: string | null;
6
+ postalCode?: string | null;
7
+ countryCode?: string | null;
8
+ displayAddress?: string | null;
9
+ lat?: number | null;
10
+ lng?: number | null;
11
+ }>;
12
+ export type BusinessAddress = Readonly<{
13
+ addressLine1: string;
14
+ addressLine2: string | null;
15
+ locality: string;
16
+ region: string | null;
17
+ postalCode: string | null;
18
+ countryCode: string;
19
+ displayAddress: string;
20
+ lat: number;
21
+ lng: number;
22
+ }>;
23
+ export type BusinessAddressValidationErrorCode = 'missing_address_line_1' | 'missing_locality' | 'missing_country_code' | 'missing_display_address' | 'missing_latitude' | 'missing_longitude' | 'invalid_latitude' | 'invalid_longitude';
24
+ export type BusinessAddressValidationResult = Readonly<{
25
+ success: true;
26
+ address: BusinessAddress;
27
+ }> | Readonly<{
28
+ success: false;
29
+ errors: readonly BusinessAddressValidationErrorCode[];
30
+ }>;
31
+ export declare function buildBusinessAddressDisplayText(input: BusinessAddressDraft): string | null;
32
+ export declare function validateBusinessAddressDraft(input: BusinessAddressDraft): BusinessAddressValidationResult;
33
+ export declare function isCompleteBusinessAddress(value: BusinessAddressDraft | null | undefined): value is BusinessAddress;
34
+ export declare function businessAddressToAddressedLocation(address: BusinessAddress | null | undefined): Readonly<{
35
+ addressText: string | null;
36
+ lat: number | null;
37
+ lng: number | null;
38
+ }> | null;
@@ -10,6 +10,7 @@ export * from "./booking-date-time";
10
10
  export * from "./person-records";
11
11
  export * from "./rectification";
12
12
  export * from "./location";
13
+ export * from "./business-address";
13
14
  export * from "./result";
14
15
  export { assertNever } from "./assert-never";
15
16
  export { tryAsync } from "./try-async";
@@ -1,8 +1,9 @@
1
- import type { AppointmentId, AttendeeId, Brand, CustomerId, EnrollmentId, EventAttendeeGuestId, ParticipantId } from './branded';
1
+ import { type AppointmentId, type AttendeeId, type Brand, type CustomerId, type EnrollmentId, type EventAttendeeGuestId, type ParticipantId } from './branded';
2
2
  import { type Result } from './result';
3
3
  export type ParticipantEmail = Brand<string, 'ParticipantEmail'>;
4
4
  export type ParticipantSlotKey = Brand<string, 'ParticipantSlotKey'>;
5
5
  export type ParticipantCount = Brand<number, 'ParticipantCount'>;
6
+ export type ParticipantDisplayLabel = Brand<string, 'ParticipantDisplayLabel'>;
6
7
  export type ParticipantEmailNormalizationError = {
7
8
  kind: 'empty_email';
8
9
  } | {
@@ -13,6 +14,26 @@ export type ParticipantCountParseError = {
13
14
  } | {
14
15
  kind: 'non_positive_participant_count';
15
16
  };
17
+ export type ProvisionalParticipantIdentity = Readonly<{
18
+ kind: 'event_guest';
19
+ eventAttendeeGuestId: EventAttendeeGuestId;
20
+ slotKey: ParticipantSlotKey;
21
+ }>;
22
+ export type ProvisionalParticipantIdentityMetadata = Readonly<{
23
+ kind: 'event_guest';
24
+ source: 'event_guest_backfill';
25
+ eventAttendeeGuestId: EventAttendeeGuestId;
26
+ slotKey: ParticipantSlotKey;
27
+ }>;
28
+ export type ProvisionalParticipantIdentityParseError = {
29
+ kind: 'not_an_object';
30
+ } | {
31
+ kind: 'unsupported_identity_kind';
32
+ } | {
33
+ kind: 'missing_event_attendee_guest_id';
34
+ } | {
35
+ kind: 'missing_slot_key';
36
+ };
16
37
  export declare function asParticipantSlotKey(value: string): ParticipantSlotKey;
17
38
  export declare function asParticipantCount(value: number): ParticipantCount;
18
39
  /**
@@ -24,6 +45,16 @@ export declare function asParticipantCount(value: number): ParticipantCount;
24
45
  export declare function normalizeParticipantEmail(value: string | null | undefined): ParticipantEmail | null;
25
46
  export declare function parseParticipantEmail(value: string | null | undefined): Result<ParticipantEmail, ParticipantEmailNormalizationError>;
26
47
  export declare function parseParticipantCount(value: number): Result<ParticipantCount, ParticipantCountParseError>;
48
+ export declare function provisionalEventGuestParticipantIdentity(input: Readonly<{
49
+ eventAttendeeGuestId: EventAttendeeGuestId;
50
+ slotKey: ParticipantSlotKey;
51
+ }>): ProvisionalParticipantIdentity;
52
+ export declare function encodeProvisionalParticipantIdentity(identity: ProvisionalParticipantIdentity): ProvisionalParticipantIdentityMetadata;
53
+ export declare function parseProvisionalParticipantIdentity(value: unknown): Result<ProvisionalParticipantIdentity, ProvisionalParticipantIdentityParseError>;
54
+ export declare function deriveParticipantDisplayLabel(input: Readonly<{
55
+ displayName: string | null;
56
+ emailNormalized: ParticipantEmail | null;
57
+ }>): ParticipantDisplayLabel;
27
58
  export type ParticipantIdentityState = {
28
59
  kind: 'booker_supplied';
29
60
  } | {