@riverbankcms/sdk 0.84.1 → 0.85.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.
Files changed (60) hide show
  1. package/dist/{PreviewEditorSidebar-X7RLMEI6.mjs → PreviewEditorSidebar-4PH35ZIE.mjs} +3 -3
  2. package/dist/{PreviewEditorUI-CT67N4O3.mjs → PreviewEditorUI-WHMCRJGM.mjs} +11 -6
  3. package/dist/SdkPreviewModeRuntime-4FGSVUYI.mjs +8 -0
  4. package/dist/_dts/ai/src/contracts/proposals.d.ts +684 -0
  5. package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
  6. package/dist/_dts/api/src/index.d.ts +3 -3
  7. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +2 -1
  8. package/dist/_dts/api/src/sdk-event-payment-terms.d.ts +16 -0
  9. package/dist/_dts/api/src/sdk-event-upsert.d.ts +11 -2
  10. package/dist/_dts/api/src/sdkContracts.d.ts +3 -0
  11. package/dist/_dts/api/src/types.d.ts +1 -0
  12. package/dist/_dts/api/src/url.d.ts +12 -4
  13. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +2 -0
  14. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +3 -1
  15. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +8 -0
  16. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +2 -2
  17. package/dist/_dts/preview-next/src/client/preview/MaintenanceModeBadge.d.ts +3 -2
  18. package/dist/_dts/preview-next/src/client/preview/PreviewEditorUI.d.ts +2 -1
  19. package/dist/_dts/sdk/src/cli/canonical-entry-policy.d.ts +53 -0
  20. package/dist/_dts/sdk/src/cli/commands/migrate.d.ts +1 -0
  21. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +7 -1
  22. package/dist/_dts/sdk/src/cli/content/reader.d.ts +2 -0
  23. package/dist/_dts/sdk/src/cli/migrations/events.d.ts +73 -0
  24. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  25. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -0
  26. package/dist/_dts/sdk/src/version.d.ts +1 -1
  27. package/dist/_dts/site-commands/src/commands.d.ts +57 -0
  28. package/dist/_dts/surfaces/src/index.d.ts +12 -0
  29. package/dist/{chunk-LBBPD2IW.mjs → chunk-4QNLOTES.mjs} +11 -16
  30. package/dist/{chunk-X5ZCSU6F.mjs → chunk-NFWGLRZZ.mjs} +1 -70
  31. package/dist/{chunk-QRKJDWT7.mjs → chunk-OCGTXHSO.mjs} +8 -7
  32. package/dist/{chunk-3LXFQS7T.mjs → chunk-PYDHOMEO.mjs} +1 -1
  33. package/dist/{chunk-RCTJAZSK.mjs → chunk-WFPYN7KA.mjs} +2 -2
  34. package/dist/{chunk-O62NDCTI.mjs → chunk-ZR2GQK2A.mjs} +6 -37
  35. package/dist/cli/index.mjs +1460 -414
  36. package/dist/client/{bookingForm-DYXT6YB6.mjs → bookingForm-36CWQUMV.mjs} +1 -1
  37. package/dist/client/bookings.mjs +1 -4
  38. package/dist/client/{chunk-UHDWIXVR.mjs → chunk-3C2VTPWI.mjs} +3 -2
  39. package/dist/client/{chunk-GFSQNTRW.mjs → chunk-SDIYSQAY.mjs} +0 -4
  40. package/dist/client/client.mjs +12 -16
  41. package/dist/client/{courseRegistration-YBOGURTA.mjs → courseRegistration-TMKU6ABO.mjs} +1 -1
  42. package/dist/client/{eventCalendar-K4QJVCMD.mjs → eventCalendar-G6TI32X6.mjs} +2 -2
  43. package/dist/client/{eventCombined-MTXGMTCZ.mjs → eventCombined-SCKEMNAR.mjs} +2 -2
  44. package/dist/client/{eventDetails-3PC4NL3U.mjs → eventDetails-XPIFXXPK.mjs} +2 -2
  45. package/dist/client/{eventListing-TFJET6DN.mjs → eventListing-7QFMEMGT.mjs} +2 -2
  46. package/dist/client/{eventRegistration-QGPBGJTW.mjs → eventRegistration-TOODSZUI.mjs} +2 -2
  47. package/dist/client/{form-MDKR4FNB.mjs → form-MTCMVCZT.mjs} +1 -1
  48. package/dist/client/{newsletterForm-ZR5UDGBT.mjs → newsletterForm-PCAIPFMA.mjs} +1 -1
  49. package/dist/client/rendering/client.mjs +2 -5
  50. package/dist/client/rendering/islands.mjs +9 -9
  51. package/dist/client/rendering.mjs +2 -5
  52. package/dist/client/spam-protection.mjs +0 -4
  53. package/dist/preview-next/client/runtime.mjs +5 -5
  54. package/dist/{sdk-runtime-7HJYPRWQ.mjs → sdk-runtime-QLOCYKVU.mjs} +6 -6
  55. package/dist/server/index.mjs +10 -11
  56. package/dist/server/next.mjs +10 -11
  57. package/dist/server/prebuild.mjs +1 -1
  58. package/dist/server/server.mjs +10 -11
  59. package/package.json +1 -1
  60. package/dist/SdkPreviewModeRuntime-EIMQ3S2V.mjs +0 -8
@@ -12,6 +12,8 @@ export type { EventPricingMode } from "../../core/src/index";
12
12
  * contracts while the owning services validate and normalize inputs.
13
13
  */
14
14
  export type BookingCollectionOptionKind = "upfront" | "deferred_manual" | "instalment_plan" | "flexible_balance";
15
+ export declare const DIRECT_CHECKOUT_COLLECTION_OPTION_KINDS: readonly ["upfront", "deferred_manual", "flexible_balance"];
16
+ export type DirectCheckoutCollectionOptionKind = (typeof DIRECT_CHECKOUT_COLLECTION_OPTION_KINDS)[number];
15
17
  export type BookingPaymentArchetype = "event" | "class" | "workshop" | "retreat" | "performance" | "course" | "appointment";
16
18
  export type BookingPaymentOptionsSource = "default" | "custom";
17
19
  export type BookingInstalmentIntervalUnit = "day" | "week" | "month";
@@ -13,7 +13,7 @@ export { createIncrementalJsonAccumulator } from "./incrementalJson";
13
13
  export type { SaveSiteChromeLookSelectionBody, SaveSiteChromeLookSelectionResponse, SiteThemeSelectionsPayload, } from "./siteRuntimeEndpoints";
14
14
  export type { GeneratedIconSetApplyRequest, GeneratedIconSetApplyResponse, GeneratedIconSetCandidate, GeneratedIconSetGenerateRequest, GeneratedIconSetGenerateResponse, GeneratedIconRenderAsset, GeneratedIconRenderAssetRef, GeneratedIconRenderAssetsRequest, GeneratedIconRenderAssetsResponse, SiteIconStyleGuidePayload, SiteIconStyleGuideResponse, SiteIconStyleStrokeRule, SiteIconStyleGuideUpdateRequest, } from "./siteIcons";
15
15
  export { DEFAULT_LAUNCH_READINESS_INPUT, deriveLaunchReadiness, } from "./launchReadiness";
16
- export { getDashboardBaseUrl, getDashboardUrl, getAbsoluteDashboardUrl, getCmsApiUrl, resolveApiBaseUrl, } from "./url";
16
+ export { getDashboardBaseUrl, getDashboardUrl, getAbsoluteDashboardUrl, getCmsApiUrl, resolveApiBaseUrl, normalizeDashboardOrigin, deriveCmsApiUrlFromDashboardUrl, } from "./url";
17
17
  export { unwrapResponse, ApiEnvelopeError } from "./common/envelope";
18
18
  export { createAuthenticatedApiClient, createInternalAPIClient, createServerAPIClient, createBearerAPIClient, ApiRequestError, } from "./request";
19
19
  export { normalizeCmsApiKey } from "./env";
@@ -36,7 +36,7 @@ export { FLEXIBLE_BALANCE_ADMIN_ACTION_SOURCES } from "./types";
36
36
  export { getEventAttendanceModeLabel, getEventDeliveryModeLabel, getEventTicketTypeAttendanceScopeLabel, } from "./eventAttendanceLabels";
37
37
  export { analyzeSiteBannerBody, decodeSiteBannerSettings, EMPTY_SITE_BANNER_BODY, SITE_BANNER_COOKIE_NAME_PREFIX, SITE_BANNER_MAX_PARAGRAPHS, SITE_BANNER_MAX_TEXT_LENGTH, createSiteBannerRevision, encodeSiteBannerSettings, fromSiteBannerDraft, getSiteBannerCookieName, isSiteBannerEligibleForPath, planSiteBannerRender, resolveSiteBannerAnnouncementRole, resolveSiteBannerShellBehavior, sanitizeSiteBannerBody, siteBannerDraftEquals, siteBannerSettingsInputSchema, siteBannerSettingsSchema, toSiteBannerDraft, validateSiteBannerDraft, } from "./siteBanner";
38
38
  export type { SiteBannerBodyAnalysis, SiteBannerBodyIssue, SiteBannerDraft, SiteBannerDraftValidationIssue, SiteBannerRenderPlan, SiteBannerResolvedCta, } from "./siteBanner";
39
- export type { AiSiteWizardSuggestGoalsRequest, AiSiteWizardSuggestGoalsResponse, AdminDeleteSiteResponse, AdminDeleteUserResponse, AdminOwnedSiteSummary, DashboardConfig, DashboardNavigationConfig, DashboardNavVisibilityConfig, DashboardNavVisibilityConfigWithRoles, DashboardWaitlistEntry, DashboardWaitlistEntryStatus, DashboardWaitlistListResponse, MediaUsageCheckItem, MediaUsageCheckResponse, MediaUsageLocation, BookingCollectionOptionKind, BookingPaymentArchetype, BookingPaymentDefaults, BookingInstalmentIntervalUnit, BookingPaymentOptionsSource, BookingInstalmentPlanConfig, BookingPaymentCollectionOption, BookingPaymentTermsConfig, PublicBookingPaymentTermsAvailability, PublishedBlockBaseline, PublicBookingAppointmentSummary, PublicBookingCustomerSummary, PublicBookingAppointmentStatusResponse, PublicCreateBookingAppointmentResponse, EventPricingMode, EventAttendanceMode, EventCapacityByAttendanceMode, EventDeliveryMode, EventModeCapacity, PublicEventEligibilityTicketTypeRecord, PublicEventTicketTypeAvailability, PublicEventTicketTypeRecord, EventTicketTypeCapacityMode, EventTicketTypeAttendanceScope, EventTicketTypeInput, EventTicketTypeRecord, GoLiveDecision, LaunchReadiness, LaunchRequirement, LaunchRequirementAction, LaunchEmailPackState, LaunchReviewPackState, LaunchAppointmentsPackState, LaunchEventsPackState, LaunchCoursesPackState, LaunchPaymentsPackState, LaunchCustomDomainPackState, AcknowledgeLaunchRequirementRequest, AcknowledgeLaunchRequirementResponse, GoLiveSiteRequest, GoLiveSiteResponse, LaunchRequirementEvidence, LaunchRequirementId, LaunchOverridableRequirementId, LaunchRequirementOverride, LaunchRequirementOverrideDefinition, LaunchRequirementOverrideReason, LaunchRequirementOwner, LaunchRequirementPackId, LaunchRequirementPriority, LaunchRequirementState, OnboardingPreviewStatusResponse, OnboardingPreviewThemeOption, OnboardingPreviewThemesResponse, ResendOnboardingPreviewConfirmationResponse, PublicOnboardingAttemptResponse, PublicOnboardingAttemptProgress, PublicOnboardingAttemptProgressResponse, PublicOnboardingProvisioningStage, PublicOnboardingAttemptRunKickoff, PublicOnboardingAttemptRunResponse, MacadamiaOnboardingCourseSession, MacadamiaOnboardingDraftFirstOffering, MacadamiaOnboardingFirstOffering, MacadamiaOnboardingFirstOfferingDeliveryMode, MacadamiaOnboardingFirstOfferingKind, MacadamiaOnboardingFirstOfferingScheduleMode, MacadamiaOnboardingLogoAnalysis, MacadamiaOnboardingLogoPaletteRecommendation, MacadamiaOnboardingMappedPalette, MacadamiaOnboardingOfferingKind, MacadamiaOnboardingSiteMode, MacadamiaOnboardingStyleMood, MacadamiaOnboardingSurfaceData, MacadamiaOnboardingTeamMode, MacadamiaOnboardingVisualIdentity, MacadamiaOnboardingWeekday, SiteGenerationBookingOfferingKind, SiteAnalyticsCookieBannerCopyOverrides, SiteAnalyticsSettingsPayload, SiteBannerAnnouncementRole, SiteBannerCta, SiteBannerScope, SiteBannerSettingsPayload, SiteBannerTone, StripeConnectRestrictions, SiteLegalJurisdiction, SiteLegalProfilePayload, SensitiveClientRecordsConfirmationKey, SensitiveClientRecordsMode, SensitiveClientRecordsRetentionProfile, SensitiveClientRecordsSettings, SensitiveClientRecordsUpdatePayload, SitePrivacyPolicyCapabilities, SitePrivacyPolicyDocument, SitePrivacySettings, SitePrivacySettingsPayload, SitePrivacySettingsResponse, SiteRuntimePrivacyPolicy, WaitlistDashboardActionResponse, } from "./types";
39
+ export type { AiSiteWizardSuggestGoalsRequest, AiSiteWizardSuggestGoalsResponse, AdminDeleteSiteResponse, AdminDeleteUserResponse, AdminOwnedSiteSummary, DashboardConfig, DashboardNavigationConfig, DashboardNavVisibilityConfig, DashboardNavVisibilityConfigWithRoles, DashboardWaitlistEntry, DashboardWaitlistEntryStatus, DashboardWaitlistListResponse, MediaUsageCheckItem, MediaUsageCheckResponse, MediaUsageLocation, BookingCollectionOptionKind, DirectCheckoutCollectionOptionKind, BookingPaymentArchetype, BookingPaymentDefaults, BookingInstalmentIntervalUnit, BookingPaymentOptionsSource, BookingInstalmentPlanConfig, BookingPaymentCollectionOption, BookingPaymentTermsConfig, PublicBookingPaymentTermsAvailability, PublishedBlockBaseline, PublicBookingAppointmentSummary, PublicBookingCustomerSummary, PublicBookingAppointmentStatusResponse, PublicCreateBookingAppointmentResponse, EventPricingMode, EventAttendanceMode, EventCapacityByAttendanceMode, EventDeliveryMode, EventModeCapacity, PublicEventEligibilityTicketTypeRecord, PublicEventTicketTypeAvailability, PublicEventTicketTypeRecord, EventTicketTypeCapacityMode, EventTicketTypeAttendanceScope, EventTicketTypeInput, EventTicketTypeRecord, GoLiveDecision, LaunchReadiness, LaunchRequirement, LaunchRequirementAction, LaunchEmailPackState, LaunchReviewPackState, LaunchAppointmentsPackState, LaunchEventsPackState, LaunchCoursesPackState, LaunchPaymentsPackState, LaunchCustomDomainPackState, AcknowledgeLaunchRequirementRequest, AcknowledgeLaunchRequirementResponse, GoLiveSiteRequest, GoLiveSiteResponse, LaunchRequirementEvidence, LaunchRequirementId, LaunchOverridableRequirementId, LaunchRequirementOverride, LaunchRequirementOverrideDefinition, LaunchRequirementOverrideReason, LaunchRequirementOwner, LaunchRequirementPackId, LaunchRequirementPriority, LaunchRequirementState, OnboardingPreviewStatusResponse, OnboardingPreviewThemeOption, OnboardingPreviewThemesResponse, ResendOnboardingPreviewConfirmationResponse, PublicOnboardingAttemptResponse, PublicOnboardingAttemptProgress, PublicOnboardingAttemptProgressResponse, PublicOnboardingProvisioningStage, PublicOnboardingAttemptRunKickoff, PublicOnboardingAttemptRunResponse, MacadamiaOnboardingCourseSession, MacadamiaOnboardingDraftFirstOffering, MacadamiaOnboardingFirstOffering, MacadamiaOnboardingFirstOfferingDeliveryMode, MacadamiaOnboardingFirstOfferingKind, MacadamiaOnboardingFirstOfferingScheduleMode, MacadamiaOnboardingLogoAnalysis, MacadamiaOnboardingLogoPaletteRecommendation, MacadamiaOnboardingMappedPalette, MacadamiaOnboardingOfferingKind, MacadamiaOnboardingSiteMode, MacadamiaOnboardingStyleMood, MacadamiaOnboardingSurfaceData, MacadamiaOnboardingTeamMode, MacadamiaOnboardingVisualIdentity, MacadamiaOnboardingWeekday, SiteGenerationBookingOfferingKind, SiteAnalyticsCookieBannerCopyOverrides, SiteAnalyticsSettingsPayload, SiteBannerAnnouncementRole, SiteBannerCta, SiteBannerScope, SiteBannerSettingsPayload, SiteBannerTone, StripeConnectRestrictions, SiteLegalJurisdiction, SiteLegalProfilePayload, SensitiveClientRecordsConfirmationKey, SensitiveClientRecordsMode, SensitiveClientRecordsRetentionProfile, SensitiveClientRecordsSettings, SensitiveClientRecordsUpdatePayload, SitePrivacyPolicyCapabilities, SitePrivacyPolicyDocument, SitePrivacySettings, SitePrivacySettingsPayload, SitePrivacySettingsResponse, SiteRuntimePrivacyPolicy, WaitlistDashboardActionResponse, } from "./types";
40
40
  export { acknowledgeLaunchRequirementRequestSchema, goLiveSiteRequestSchema, LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS, toAcknowledgeLaunchRequirementRequest, } from "./siteOnboarding";
41
41
  export { MANAGED_PRIVACY_POLICY_PATH, DEFAULT_SITE_LEGAL_JURISDICTION, JURISDICTION_LABELS, SENSITIVE_CLIENT_RECORDS_CONFIRMATION_KEYS, SENSITIVE_CLIENT_RECORDS_CONFIRMATION_VERSION, buildManagedPrivacyPolicyDocument, } from "./privacyPolicy";
42
42
  export { analyticsCollect } from "./analytics";
@@ -55,7 +55,7 @@ export type { RouteMetadataPayload, RouteMetadataResponse } from "./routes";
55
55
  export { getBookingSettingsRequest, updateBookingSettingsRequest, createAppointmentRequest, createCourseRequest, updateCourseRequest, deleteCourseRequest, deleteCourseProgramRequest, duplicateCourseRequest, addCourseEnrollmentRequest, addEventOccurrenceAttendeeRequest, updateCourseEnrollmentRequest, } from "./bookings";
56
56
  export type { AppointmentService, AppointmentServiceOnlineDetails, AppointmentServiceOnlineDetailsInput, } from "./bookingOperations";
57
57
  export type { BookingPricing } from "./bookingConfig";
58
- export { DEFAULT_APPOINTMENT_STAFF_DIGEST_LOCAL_SEND_TIME } from "./bookingConfig";
58
+ export { DEFAULT_APPOINTMENT_STAFF_DIGEST_LOCAL_SEND_TIME, DIRECT_CHECKOUT_COLLECTION_OPTION_KINDS, } from "./bookingConfig";
59
59
  export { BOOKING_LEDGER_CANCELLATION_MODE_VALUES, BOOKING_LEDGER_DATE_BASIS_VALUES, BOOKING_LEDGER_KIND_VALUES, BOOKING_LEDGER_PERIOD_PRESET_VALUES, BOOKING_QUESTION_ANSWER_EXPORT_SCOPES, BOOKING_QUESTION_ANSWER_EXPORT_SCOPE_VALUES, CUSTOMER_MEMBERSHIP_STATUS_VALUES, CUSTOMER_PASS_STATUS_VALUES, } from "./bookingRecords";
60
60
  export type { BookingQuestionAnswerExportScopeKind, ExportBookingQuestionAnswersCsvRequest, } from "./bookingRecords";
61
61
  export { getEmailSettingsRequest, updateEmailSettingsRequest, sendTestEmailRequest, previewEmailTemplateRequest, } from "./emailSettings";
@@ -1,6 +1,6 @@
1
1
  import type { APIEndpoint } from "./apiEndpointTypes";
2
2
  import type { PublicEventPricing } from "../../core/src/index";
3
- import type { BookingPaymentTermsConfig, BookingPricing, EventAttendanceMode, EventDeliveryMode, EventPricingMode, PublicEventEligibilityTicketTypeRecord, PublicEventTicketTypeRecord } from "./bookingConfig";
3
+ import type { BookingPaymentTermsConfig, BookingPricing, DirectCheckoutCollectionOptionKind, EventAttendanceMode, EventDeliveryMode, EventPricingMode, PublicEventEligibilityTicketTypeRecord, PublicEventTicketTypeRecord } from "./bookingConfig";
4
4
  import type { AutoAppliedDiscountPreview } from "./bookingRecords";
5
5
  import type { PublicCourseDetails } from "./courses";
6
6
  import type { PublicTeamMemberBlockItem, PublicTeamMemberSummary } from "./teamMembers";
@@ -779,6 +779,7 @@ export type PublicExperienceAPIEndpoints = {
779
779
  checkoutType?: "event" | "pass_bundle" | "membership_bundle";
780
780
  productId?: string;
781
781
  discountCode?: string;
782
+ collectionOptionKind?: DirectCheckoutCollectionOptionKind;
782
783
  successUrl: string;
783
784
  cancelUrl: string;
784
785
  }, {
@@ -0,0 +1,16 @@
1
+ import type { BookingCollectionOptionKind, BookingPaymentTermsConfig } from './bookingConfig';
2
+ export type SdkEventPaymentTerms = BookingPaymentTermsConfig;
3
+ export type SdkEventPaymentTermsInput = BookingPaymentTermsConfig;
4
+ export type SdkEventSupportedPaymentOptionKind = Exclude<BookingCollectionOptionKind, 'instalment_plan'>;
5
+ export type SdkEventPaymentTermsIssue = Readonly<{
6
+ path: readonly string[];
7
+ message: string;
8
+ }>;
9
+ export type SdkEventPaymentTermsClassification = Readonly<{
10
+ ok: true;
11
+ paymentTerms?: SdkEventPaymentTerms;
12
+ }> | Readonly<{
13
+ ok: false;
14
+ issues: readonly SdkEventPaymentTermsIssue[];
15
+ }>;
16
+ export declare function classifySdkEventPaymentTerms(rawInput: unknown): SdkEventPaymentTermsClassification;
@@ -1,4 +1,5 @@
1
- import type { SdkPullEventSeries, SdkEventUpsertPricingInput, SdkEventUpsertScheduleInput } from './sdkContracts';
1
+ import type { SdkPullEventSeries, SdkEventUpsertPaymentTermsInput, SdkEventUpsertPricingInput, SdkEventUpsertScheduleInput } from './sdkContracts';
2
+ import { type SdkEventPaymentTerms, type SdkEventPaymentTermsIssue } from './sdk-event-payment-terms';
2
3
  import { type SdkEventPricing, type SdkEventPricingIssue } from './sdk-event-pricing';
3
4
  import { type ClassifySdkEventScheduleOptions, type SdkEventCanonicalSchedule, type SdkEventScheduleInput, type SdkEventScheduleIssue } from './sdk-event-schedule';
4
5
  export type SdkEventUpsertBody = Readonly<{
@@ -10,6 +11,7 @@ export type SdkEventUpsertBody = Readonly<{
10
11
  schedule: SdkEventUpsertScheduleInput;
11
12
  capacity?: number | null;
12
13
  pricing?: SdkEventUpsertPricingInput;
14
+ paymentTerms?: SdkEventUpsertPaymentTermsInput;
13
15
  venueRef?: string | null;
14
16
  categoryRef?: string | null;
15
17
  content?: SdkPullEventSeries['content'];
@@ -21,10 +23,12 @@ export type SdkEventUpsertBody = Readonly<{
21
23
  export type ValidatedSdkEventUpsertInput = Omit<SdkEventUpsertBody, 'schedule' | 'pricing'> & Readonly<{
22
24
  schedule: SdkEventCanonicalSchedule;
23
25
  pricing?: SdkEventPricing;
26
+ paymentTerms?: SdkEventPaymentTerms;
24
27
  }>;
25
- export type SdkEventUpsertParseInput = Omit<SdkEventUpsertBody, 'schedule' | 'pricing'> & Readonly<{
28
+ export type SdkEventUpsertParseInput = Omit<SdkEventUpsertBody, 'schedule' | 'pricing' | 'paymentTerms'> & Readonly<{
26
29
  schedule: SdkEventScheduleInput;
27
30
  pricing?: unknown;
31
+ paymentTerms?: unknown;
28
32
  }>;
29
33
  export type SdkEventUpsertValidationIssue = Readonly<{
30
34
  source: 'schedule';
@@ -36,6 +40,11 @@ export type SdkEventUpsertValidationIssue = Readonly<{
36
40
  path: readonly string[];
37
41
  message: string;
38
42
  issue: SdkEventPricingIssue;
43
+ }> | Readonly<{
44
+ source: 'paymentTerms';
45
+ path: readonly string[];
46
+ message: string;
47
+ issue: SdkEventPaymentTermsIssue;
39
48
  }>;
40
49
  export type SdkEventUpsertValidationResult = Readonly<{
41
50
  ok: true;
@@ -1,6 +1,7 @@
1
1
  import type { FieldDefinition, FieldDefinitionInput, SdkCustomBlock, SdkCustomBlockInput, SiteFooterContent, Theme } from '../../blocks/src/index';
2
2
  import type { LinkPayload } from './navigation/types';
3
3
  import type { SdkEventPricing, SdkEventPricingInput } from './sdk-event-pricing';
4
+ import type { SdkEventPaymentTerms, SdkEventPaymentTermsInput } from './sdk-event-payment-terms';
4
5
  /**
5
6
  * SDK Site Configuration Types
6
7
  *
@@ -493,6 +494,7 @@ export interface SdkPullEventSeries {
493
494
  };
494
495
  capacity: number | null;
495
496
  pricing: SdkEventPricing;
497
+ paymentTerms?: SdkEventPaymentTerms;
496
498
  venueRef: string | null;
497
499
  categoryRef: string | null;
498
500
  content: {
@@ -536,6 +538,7 @@ export type SdkEventStartDurationScheduleInput = {
536
538
  };
537
539
  export type SdkEventUpsertScheduleInput = SdkEventCanonicalScheduleInput | SdkEventStartEndScheduleInput | SdkEventStartDurationScheduleInput;
538
540
  export type SdkEventUpsertPricingInput = SdkEventPricingInput;
541
+ export type SdkEventUpsertPaymentTermsInput = SdkEventPaymentTermsInput;
539
542
  export interface SdkPullEventsResponse {
540
543
  events: SdkPullEventSeries[];
541
544
  meta: SdkPullMeta;
@@ -23,6 +23,7 @@ export type * from "./courses";
23
23
  export type * from "./participantMessaging";
24
24
  export type * from "./publicExperienceEndpoints";
25
25
  export type * from "./sdkContracts";
26
+ export type * from "./sdk-event-payment-terms";
26
27
  export type * from "./siteInfrastructure";
27
28
  export type * from "./siteGeneration";
28
29
  export type * from "./siteManagementEndpoints";
@@ -5,6 +5,15 @@
5
5
  * and derive the API URL from the dashboard URL to avoid duplicate env vars.
6
6
  */
7
7
  import { type SurfaceId } from '../../surfaces/src/index';
8
+ /**
9
+ * Normalize a public dashboard URL/env value to an origin.
10
+ *
11
+ * Accepts fully-qualified origins, bare authorities like `localhost:4000`,
12
+ * and accidental `/api` suffixes. Bare local/test authorities default to
13
+ * `http`; other bare authorities default to `https`.
14
+ */
15
+ export declare function normalizeDashboardOrigin(input: string): string;
16
+ export declare function deriveCmsApiUrlFromDashboardUrl(input: string): string;
8
17
  /**
9
18
  * Get the public, user-facing dashboard origin from environment.
10
19
  *
@@ -13,13 +22,13 @@ import { type SurfaceId } from '../../surfaces/src/index';
13
22
  * host that should never appear in emails, redirects, or browser links.
14
23
  *
15
24
  * @returns Dashboard base URL (e.g., 'http://localhost:4000')
16
- * @throws Error if neither NEXT_PUBLIC_DASHBOARD_URL nor NEXT_PUBLIC_CMS_API_URL is configured
25
+ * @throws Error if NEXT_PUBLIC_DASHBOARD_URL is not configured
17
26
  */
18
27
  export declare function getDashboardBaseUrl(): string;
19
28
  /**
20
29
  * Get the CMS API URL by appending /api to the dashboard URL
21
30
  * @returns API base URL (e.g., 'http://localhost:4000/api' or '/api' in browser)
22
- * @throws Error if neither NEXT_PUBLIC_DASHBOARD_URL nor NEXT_PUBLIC_CMS_API_URL is configured (server-side only)
31
+ * @throws Error if neither CMS_API_URL nor NEXT_PUBLIC_DASHBOARD_URL is configured (server-side only)
23
32
  */
24
33
  export declare function getCmsApiUrl(): string;
25
34
  /**
@@ -71,7 +80,6 @@ export declare function getAbsoluteDashboardUrl(path?: string, options?: GetAbso
71
80
  */
72
81
  export declare const getDashboardUrl: typeof getAbsoluteDashboardUrl;
73
82
  /**
74
- * Legacy: Get API URL, supporting old NEXT_PUBLIC_CMS_API_URL env var
75
- * @deprecated Use getCmsApiUrl() instead - this function is maintained for backwards compatibility
83
+ * @deprecated Use getCmsApiUrl() instead - this alias is maintained for backwards compatibility.
76
84
  */
77
85
  export declare function resolveApiBaseUrl(): string;
@@ -4,6 +4,7 @@
4
4
  * Request/response types for all client-side API calls from blocks.
5
5
  */
6
6
  import type { AppointmentResourceId } from "../../../../../core/src/index";
7
+ export type DirectCheckoutCollectionOptionKind = "upfront" | "deferred_manual" | "flexible_balance";
7
8
  /** API key auth for SDK sites (bld_live_sk_*) */
8
9
  export type ApiKeyAuth = {
9
10
  type: "api-key";
@@ -380,6 +381,7 @@ export interface EventCheckoutRequest {
380
381
  productId?: string;
381
382
  /** Optional booking discount code (applies only to Stripe/card flows) */
382
383
  discountCode?: string;
384
+ collectionOptionKind?: DirectCheckoutCollectionOptionKind;
383
385
  successUrl: string;
384
386
  cancelUrl: string;
385
387
  }
@@ -1,6 +1,6 @@
1
1
  import type { PublicEvent, PublicEventTicketType, PublicEventTicketTypeAvailability } from '../../../blocks/events/shared/types';
2
2
  import type { OccurrenceContext } from '../../../blocks/event-registration.shared';
3
- import type { AvailablePass, AvailableMembership, EligibilityEventTicketType } from '../../api/types';
3
+ import type { AvailablePass, AvailableMembership, DirectCheckoutCollectionOptionKind, EligibilityEventTicketType } from '../../api/types';
4
4
  export type { PublicEvent, OccurrenceContext };
5
5
  export type { FormData } from '../../shared';
6
6
  /**
@@ -114,6 +114,8 @@ export type PaymentSelection = {
114
114
  productCurrency?: string;
115
115
  /** Payment interval for memberships (e.g., 'month', 'year') */
116
116
  productInterval?: string;
117
+ /** Direct-payment collection option chosen for this registration. */
118
+ collectionOptionKind?: DirectCheckoutCollectionOptionKind;
117
119
  };
118
120
  /**
119
121
  * State reported by PaymentSelectionStep for parent to render footer actions.
@@ -1,5 +1,13 @@
1
1
  import type { DraftWorkflowStatus } from '../types';
2
2
  import type { EditorUiStoreInstance } from '../ui/editorUiStore';
3
+ /**
4
+ * Autosave hook backed by the shared debounced-latest-save scheduler.
5
+ * New changes made while a save is in flight queue one follow-up save with the
6
+ * latest snapshot instead of blocking the editor or starting parallel writes.
7
+ *
8
+ * Status is stored in the Zustand uiStore instead of local state, allowing
9
+ * components to subscribe granularly via selectors.
10
+ */
3
11
  type AutosaveConfig<TValues, TPayload> = {
4
12
  /** Function to call to save the data */
5
13
  saveFn: (payload: TPayload) => Promise<unknown>;
@@ -17364,13 +17364,13 @@ export type Enums<DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["En
17364
17364
  } ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"] : never = never> = DefaultSchemaEnumNameOrOptions extends {
17365
17365
  schema: keyof DatabaseWithoutInternals;
17366
17366
  } ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName] : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"] ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions] : never;
17367
- export type CompositeTypes<PublicCompositeTypeNameOrOptions extends {
17367
+ export type CompositeTypes<PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"] | {
17368
17368
  schema: keyof DatabaseWithoutInternals;
17369
17369
  }, CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
17370
17370
  schema: keyof DatabaseWithoutInternals;
17371
17371
  } ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"] : never = never> = PublicCompositeTypeNameOrOptions extends {
17372
17372
  schema: keyof DatabaseWithoutInternals;
17373
- } ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName] : never;
17373
+ } ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName] : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"] ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions] : never;
17374
17374
  export declare const Constants: {
17375
17375
  readonly graphql_public: {
17376
17376
  readonly Enums: {};
@@ -1,3 +1,4 @@
1
- export declare function MaintenanceModeBadge({ siteId }: {
1
+ export declare function MaintenanceModeBadge({ dashboardBaseUrl, siteId, }: {
2
+ dashboardBaseUrl: string | null | undefined;
2
3
  siteId: string;
3
- }): import("react").JSX.Element;
4
+ }): import("react").JSX.Element | null;
@@ -2,11 +2,12 @@ import React from 'react';
2
2
  import type { ApiClient } from '../../../../api/src/request';
3
3
  import { type SurfaceId } from '../../../../surfaces/src/index';
4
4
  type PreviewEditorUIProps = {
5
+ dashboardBaseUrl?: string | null;
5
6
  inMaintenanceMode?: boolean;
6
7
  siteId?: string;
7
8
  surfaceId?: SurfaceId;
8
9
  isSiteLaunched?: boolean;
9
10
  apiClient?: ApiClient;
10
11
  };
11
- export declare function PreviewEditorUI({ inMaintenanceMode, siteId, surfaceId, isSiteLaunched, apiClient, }: PreviewEditorUIProps): React.ReactPortal | null;
12
+ export declare function PreviewEditorUI({ dashboardBaseUrl, inMaintenanceMode, siteId, surfaceId, isSiteLaunched, apiClient, }: PreviewEditorUIProps): React.ReactPortal | null;
12
13
  export {};
@@ -0,0 +1,53 @@
1
+ import type { PulledContent } from '../client/management';
2
+ import type { LocalContent } from './content/reader';
3
+ export declare const CANONICAL_EVENT_ENTRY_TYPE = "event";
4
+ export declare const EVENT_MIGRATION_COMMAND = "riverbankcms migrate events";
5
+ export declare const EVENT_PUSH_COMMAND = "riverbankcms push events";
6
+ export declare const EVENT_PULL_COMMAND = "riverbankcms pull events";
7
+ export type CanonicalEntrySurface = typeof CANONICAL_EVENT_ENTRY_TYPE;
8
+ export type CanonicalEntryOperation = 'push' | 'pull';
9
+ export type CanonicalEntryPolicy = Readonly<{
10
+ contentType: CanonicalEntrySurface;
11
+ migrationCommand: string;
12
+ commands: Readonly<Record<CanonicalEntryOperation, string>>;
13
+ }>;
14
+ export type CanonicalEntryScopeViolation = Readonly<{
15
+ contentType: CanonicalEntrySurface;
16
+ message: string;
17
+ suggestion: string;
18
+ }>;
19
+ export type CanonicalEntrySyncDecision = Readonly<{
20
+ tag: 'allow';
21
+ }> | Readonly<{
22
+ tag: 'reject';
23
+ violation: CanonicalEntryScopeViolation;
24
+ }> | Readonly<{
25
+ tag: 'allow-with-canonical-exclusions';
26
+ policies: readonly CanonicalEntryPolicy[];
27
+ }>;
28
+ export type CanonicalEntryFilterResult<TContent> = Readonly<{
29
+ content: TContent;
30
+ removedEntryCount: number;
31
+ removedContentTypes: readonly CanonicalEntrySurface[];
32
+ }>;
33
+ export declare function isCanonicalEventEntryType(contentType: string | undefined): contentType is CanonicalEntrySurface;
34
+ export declare function getCanonicalEntryPolicy(contentType: string | undefined): CanonicalEntryPolicy | null;
35
+ export declare function getCanonicalEntrySyncDecision(input: {
36
+ scope: string;
37
+ contentType?: string;
38
+ operation: CanonicalEntryOperation;
39
+ }): CanonicalEntrySyncDecision;
40
+ export declare function getCanonicalEntryScopeViolation(input: {
41
+ scope: string;
42
+ contentType?: string;
43
+ operation: CanonicalEntryOperation;
44
+ }): CanonicalEntryScopeViolation | null;
45
+ export declare function shouldExcludeCanonicalEntries(decision: CanonicalEntrySyncDecision): boolean;
46
+ export declare function filterGenericEntryContentTypes(contentTypes: readonly string[]): string[];
47
+ export declare function stripCanonicalEventEntriesFromLocalContent(content: LocalContent): CanonicalEntryFilterResult<LocalContent>;
48
+ export declare function stripCanonicalEventEntriesFromPulledContent(content: PulledContent): CanonicalEntryFilterResult<PulledContent>;
49
+ export declare function findLegacyEventEntryFiles(contentDir: string): Promise<string[]>;
50
+ export declare function formatLegacyEventEntryWarning(files: readonly string[]): Readonly<{
51
+ files: readonly string[];
52
+ suggestion: string;
53
+ }>;
@@ -5,6 +5,7 @@
5
5
  *
6
6
  * Usage:
7
7
  * riverbankcms migrate entries [contentType] [--content-dir <dir>] [--dry-run] [--force] [--yes]
8
+ * riverbankcms migrate events [--content-dir <dir>] [--dry-run] [--yes]
8
9
  */
9
10
  import { Command } from 'commander';
10
11
  export declare const migrateCommand: Command;
@@ -15,12 +15,18 @@
15
15
  * riverbankcms pull footer # Pull footer content
16
16
  */
17
17
  import { Command } from 'commander';
18
- import type { PulledContent } from '../../client/management';
18
+ import type { ManagementClient, PulledContent } from '../../client/management';
19
+ import type { OutputContext } from '../output';
19
20
  import type { EntryBaseSnapshotTarget } from '../merge-remote/entrySnapshots';
20
21
  export declare function entryBaseSnapshotTargetForPull(input: Readonly<{
21
22
  isRemote: boolean;
22
23
  siteId: string;
23
24
  }>): EntryBaseSnapshotTarget;
25
+ /**
26
+ * Fetch broad generic content, including paginated entry payloads when needed,
27
+ * then remove canonical/owner-managed entry types before diffing or writing.
28
+ */
29
+ export declare function pullAllContentWithCanonicalEntryPolicy(client: ManagementClient, output: OutputContext): Promise<PulledContent>;
24
30
  export declare function createScopedPullContent(meta: PulledContent['meta'], overrides: Partial<Omit<PulledContent, 'meta'>>): PulledContent;
25
31
  /**
26
32
  * Determines whether the pull command should prompt for overwrite confirmation.
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { NavigationAuthoringLinkInput, NavigationLocalItemInput } from '../../../../api/src/navigation';
8
8
  import type { SdkEventPricingInput } from '../../../../api/src/sdk-event-pricing';
9
+ import type { EventPaymentTermsInput } from '../../client/management/types';
9
10
  import type { Theme } from '../../contracts';
10
11
  export interface LocalEntry {
11
12
  identifier: string;
@@ -172,6 +173,7 @@ export interface LocalEvent {
172
173
  schedule?: LocalEventSchedule;
173
174
  capacity?: number | null;
174
175
  pricing?: LocalEventPricing;
176
+ paymentTerms?: EventPaymentTermsInput;
175
177
  venueRef?: string | null;
176
178
  categoryRef?: string | null;
177
179
  content?: LocalEventContent;
@@ -0,0 +1,73 @@
1
+ import type { LocalEvent } from '../content/reader';
2
+ export type EventMigrationPlanItem = Readonly<{
3
+ tag: 'mergeLegacyIntoEvent';
4
+ legacyFilePath: string;
5
+ eventFilePath: string;
6
+ eventIdentifier: string;
7
+ mergedEvent: LocalEvent;
8
+ mergedFields: readonly string[];
9
+ }> | Readonly<{
10
+ tag: 'archiveLegacyOnly';
11
+ legacyFilePath: string;
12
+ eventFilePath: string;
13
+ eventIdentifier: string;
14
+ reason: string;
15
+ }> | Readonly<{
16
+ tag: 'conflict';
17
+ legacyFilePath: string;
18
+ eventIdentifier: string;
19
+ conflicts: readonly string[];
20
+ }> | Readonly<{
21
+ tag: 'ambiguousMatch';
22
+ legacyFilePath: string;
23
+ candidateEventIdentifiers: readonly string[];
24
+ }> | Readonly<{
25
+ tag: 'unmappableLegacyFields';
26
+ legacyFilePath: string;
27
+ eventIdentifier?: string;
28
+ fields: readonly string[];
29
+ }> | Readonly<{
30
+ tag: 'orphanedLegacy';
31
+ legacyFilePath: string;
32
+ legacyIdentifier: string;
33
+ reason: string;
34
+ }> | Readonly<{
35
+ tag: 'invalidLegacyShape';
36
+ legacyFilePath: string;
37
+ reason: string;
38
+ }>;
39
+ export type WritableEventMigrationPlanItem = Extract<EventMigrationPlanItem, {
40
+ tag: 'mergeLegacyIntoEvent' | 'archiveLegacyOnly';
41
+ }>;
42
+ export type BlockedEventMigrationPlanItem = Exclude<EventMigrationPlanItem, WritableEventMigrationPlanItem>;
43
+ export type EventMigrationPlan = Readonly<{
44
+ tag: 'writable';
45
+ contentDir: string;
46
+ items: readonly WritableEventMigrationPlanItem[];
47
+ }> | Readonly<{
48
+ tag: 'blocked';
49
+ contentDir: string;
50
+ items: readonly EventMigrationPlanItem[];
51
+ blockers: readonly BlockedEventMigrationPlanItem[];
52
+ }>;
53
+ export type MigrateEventsResult = Readonly<{
54
+ status: 'writable' | 'blocked';
55
+ legacyFilesFound: number;
56
+ eventsToWrite: number;
57
+ legacyFilesToArchive: number;
58
+ merged: number;
59
+ archiveOnly: number;
60
+ conflicts: number;
61
+ ambiguous: number;
62
+ unmappable: number;
63
+ orphaned: number;
64
+ invalid: number;
65
+ dryRun: boolean;
66
+ items: readonly EventMigrationPlanItem[];
67
+ }>;
68
+ export type MigrateEventsOptions = Readonly<{
69
+ contentDir: string;
70
+ dryRun?: boolean;
71
+ }>;
72
+ export declare function planEventMigration(contentDir: string): Promise<EventMigrationPlan>;
73
+ export declare function migrateEvents(options: MigrateEventsOptions): Promise<MigrateEventsResult>;
@@ -36,7 +36,7 @@ import { CourseSessionConflictError } from './courses';
36
36
  * @returns ManagementClient instance
37
37
  */
38
38
  export declare function createManagementClient(config: ManagementClientConfig): ManagementClient;
39
- export type { ManagementClient, ManagementClientConfig, ManagementEntry, ManagementPage, ManagementBlock, ManagementNavigationMenu, ManagementNavigationItem, ManagementSettings, ManagementForm, ManagementFormField, ManagementFormSchema, ManagementFormSettings, ManagementVenue, VenueAddress, VenueLocation, VenueUpsertInput, ManagementEventCategory, EventCategoryUpsertInput, ManagementEventSeries, EventSchedule, EventScheduleUpsertInput, EventStartDurationSchedule, EventStartEndSchedule, EventPricing, EventContent, EventSeriesUpsertInput, ManagementCourseRun, CourseRunUpsertInput, CourseSession, CourseProgramContent, CourseSessionConflict, EntryUpsertInput, PageUpsertInput, BlockUpsertInput, NavigationMenuUpsertInput, NavigationItemInput, FormUpsertInput, SiteStyleSelectionApplyCommand, SiteStyleSelectionApplyCommandInput, ThemeUpsertInput, ThemeUpsertResult, ThemeStyleSelectionApplyInput, ThemeStyleSelectionApplyResult, FooterContent, ManagementFooterContent, FooterContentUpsertInput, FooterOperations, PulledFooter, PulledEntries, PulledPages, PulledNavigation, PulledSettings, PulledForms, PulledTheme, PulledVenues, PulledEventCategories, PulledEvents, PulledCourses, PulledSiteInfo, PulledContentType, PulledContentTypes, PulledContent, PaginationOptions, PaginatedResult, EntryOperations, PageOperations, BlockOperations, NavigationOperations, SettingsOperations, SettingsUpdateInput, WebhookOperations, SetupRevalidationWebhookInput, SetupRevalidationWebhookResult, ManagementWebhookEndpoint, RevalidationWebhookPlannedEndpoint, FormOperations, ThemeOperations, VenueOperations, EventCategoryOperations, EventOperations, CourseOperations, PullOperations, IdentifiersOperations, BackfillResult, BackfillPageResult, BackfillBlockResult, BackfillEntryResult, MediaOperations, MediaUploadResult, } from './types';
39
+ export type { ManagementClient, ManagementClientConfig, ManagementEntry, ManagementPage, ManagementBlock, ManagementNavigationMenu, ManagementNavigationItem, ManagementSettings, ManagementForm, ManagementFormField, ManagementFormSchema, ManagementFormSettings, ManagementVenue, VenueAddress, VenueLocation, VenueUpsertInput, ManagementEventCategory, EventCategoryUpsertInput, ManagementEventSeries, EventSchedule, EventScheduleUpsertInput, EventStartDurationSchedule, EventStartEndSchedule, EventPricing, EventPaymentTerms, EventPaymentTermsInput, EventContent, EventSeriesUpsertInput, ManagementCourseRun, CourseRunUpsertInput, CourseSession, CourseProgramContent, CourseSessionConflict, EntryUpsertInput, PageUpsertInput, BlockUpsertInput, NavigationMenuUpsertInput, NavigationItemInput, FormUpsertInput, SiteStyleSelectionApplyCommand, SiteStyleSelectionApplyCommandInput, ThemeUpsertInput, ThemeUpsertResult, ThemeStyleSelectionApplyInput, ThemeStyleSelectionApplyResult, FooterContent, ManagementFooterContent, FooterContentUpsertInput, FooterOperations, PulledFooter, PulledEntries, PulledPages, PulledNavigation, PulledSettings, PulledForms, PulledTheme, PulledVenues, PulledEventCategories, PulledEvents, PulledCourses, PulledSiteInfo, PulledContentType, PulledContentTypes, PulledContent, PaginationOptions, PaginatedResult, EntryOperations, PageOperations, BlockOperations, NavigationOperations, SettingsOperations, SettingsUpdateInput, WebhookOperations, SetupRevalidationWebhookInput, SetupRevalidationWebhookResult, ManagementWebhookEndpoint, RevalidationWebhookPlannedEndpoint, FormOperations, ThemeOperations, VenueOperations, EventCategoryOperations, EventOperations, CourseOperations, PullOperations, IdentifiersOperations, BackfillResult, BackfillPageResult, BackfillBlockResult, BackfillEntryResult, MediaOperations, MediaUploadResult, } from './types';
40
40
  export { ManagementApiError, type ManagementApiErrorRequest } from './http';
41
41
  export { applySiteStyleSelectionBodyFromCommand, buildApplySiteStyleSelectionCommand, } from './theme';
42
42
  export { CourseSessionConflictError };
@@ -6,6 +6,7 @@
6
6
  import type { LinkPayload, NavigationLinkInput } from '../../public-api/contracts';
7
7
  import type { SiteCommandOf } from '../../../../site-commands/src/index';
8
8
  import type { SdkEventPricing, SdkEventPricingInput, SdkEventTicketTypeInput } from '../../../../api/src/sdk-event-pricing';
9
+ import type { SdkEventPaymentTerms, SdkEventPaymentTermsInput } from '../../../../api/src/sdk-event-payment-terms';
9
10
  import type { Theme } from '../../contracts';
10
11
  export interface ManagementClientConfig {
11
12
  /**
@@ -395,6 +396,8 @@ export type EventTicketTypeInput = SdkEventTicketTypeInput;
395
396
  */
396
397
  export type EventPricing = SdkEventPricing;
397
398
  export type EventPricingInput = SdkEventPricingInput;
399
+ export type EventPaymentTerms = SdkEventPaymentTerms;
400
+ export type EventPaymentTermsInput = SdkEventPaymentTermsInput;
398
401
  /**
399
402
  * Event content data (embedded from content_entry).
400
403
  */
@@ -417,6 +420,7 @@ export interface ManagementEventSeries {
417
420
  schedule: EventSchedule;
418
421
  capacity: number | null;
419
422
  pricing: EventPricing;
423
+ paymentTerms?: EventPaymentTerms;
420
424
  /** Venue slug reference */
421
425
  venueRef: string | null;
422
426
  /** Category identifier reference */
@@ -445,6 +449,7 @@ export interface EventSeriesUpsertInput {
445
449
  schedule: EventScheduleUpsertInput;
446
450
  capacity?: number | null;
447
451
  pricing?: EventPricingInput;
452
+ paymentTerms?: EventPaymentTermsInput;
448
453
  /** Venue slug - resolved to venue_id on push */
449
454
  venueRef?: string | null;
450
455
  /** Category identifier - resolved to event_category_id on push */
@@ -739,6 +744,7 @@ export interface PulledEvents {
739
744
  schedule: EventSchedule;
740
745
  capacity: number | null;
741
746
  pricing: EventPricing;
747
+ paymentTerms?: EventPaymentTerms;
742
748
  venueRef: string | null;
743
749
  categoryRef: string | null;
744
750
  content: EventContent;
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.84.1";
11
+ export declare const SDK_VERSION = "0.85.0";
@@ -457,6 +457,24 @@ export declare const upsertEventSeriesCommandSchema: z.ZodObject<{
457
457
  }, z.core.$strict>, z.ZodObject<{
458
458
  kind: z.ZodLiteral<"ticket_types">;
459
459
  currency: z.ZodOptional<z.ZodString>;
460
+ ticketTypes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
461
+ identifier: z.ZodString;
462
+ cmsTicketTypeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
463
+ name: z.ZodString;
464
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
465
+ priceAmount: z.ZodNumber;
466
+ priceCurrency: z.ZodOptional<z.ZodString>;
467
+ isActive: z.ZodOptional<z.ZodBoolean>;
468
+ sortOrder: z.ZodOptional<z.ZodNumber>;
469
+ capacityLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
470
+ attendanceScope: z.ZodOptional<z.ZodEnum<{
471
+ both: "both";
472
+ in_person: "in_person";
473
+ online: "online";
474
+ }>>;
475
+ saleStartsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
476
+ saleEndsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
477
+ }, z.core.$strict>>>>;
460
478
  }, z.core.$strict>, z.ZodObject<{
461
479
  kind: z.ZodLiteral<"manual_payment">;
462
480
  instructions: z.ZodOptional<z.ZodString>;
@@ -493,6 +511,7 @@ export declare const upsertEventSeriesCommandSchema: z.ZodObject<{
493
511
  contentEntryRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<ContentEntryRef, string>>>;
494
512
  }, z.core.$strict>>;
495
513
  settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
514
+ paymentTerms: z.ZodOptional<z.ZodUnknown>;
496
515
  presentation: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
497
516
  tags: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
498
517
  staffRefs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<StaffRef, string>>>>>;
@@ -1398,6 +1417,24 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1398
1417
  }, z.core.$strict>, z.ZodObject<{
1399
1418
  kind: z.ZodLiteral<"ticket_types">;
1400
1419
  currency: z.ZodOptional<z.ZodString>;
1420
+ ticketTypes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
1421
+ identifier: z.ZodString;
1422
+ cmsTicketTypeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1423
+ name: z.ZodString;
1424
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1425
+ priceAmount: z.ZodNumber;
1426
+ priceCurrency: z.ZodOptional<z.ZodString>;
1427
+ isActive: z.ZodOptional<z.ZodBoolean>;
1428
+ sortOrder: z.ZodOptional<z.ZodNumber>;
1429
+ capacityLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1430
+ attendanceScope: z.ZodOptional<z.ZodEnum<{
1431
+ both: "both";
1432
+ in_person: "in_person";
1433
+ online: "online";
1434
+ }>>;
1435
+ saleStartsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1436
+ saleEndsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1437
+ }, z.core.$strict>>>>;
1401
1438
  }, z.core.$strict>, z.ZodObject<{
1402
1439
  kind: z.ZodLiteral<"manual_payment">;
1403
1440
  instructions: z.ZodOptional<z.ZodString>;
@@ -1434,6 +1471,7 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1434
1471
  contentEntryRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<ContentEntryRef, string>>>;
1435
1472
  }, z.core.$strict>>;
1436
1473
  settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1474
+ paymentTerms: z.ZodOptional<z.ZodUnknown>;
1437
1475
  presentation: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1438
1476
  tags: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1439
1477
  staffRefs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<StaffRef, string>>>>>;
@@ -2254,6 +2292,24 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
2254
2292
  }, z.core.$strict>, z.ZodObject<{
2255
2293
  kind: z.ZodLiteral<"ticket_types">;
2256
2294
  currency: z.ZodOptional<z.ZodString>;
2295
+ ticketTypes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
2296
+ identifier: z.ZodString;
2297
+ cmsTicketTypeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2298
+ name: z.ZodString;
2299
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2300
+ priceAmount: z.ZodNumber;
2301
+ priceCurrency: z.ZodOptional<z.ZodString>;
2302
+ isActive: z.ZodOptional<z.ZodBoolean>;
2303
+ sortOrder: z.ZodOptional<z.ZodNumber>;
2304
+ capacityLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2305
+ attendanceScope: z.ZodOptional<z.ZodEnum<{
2306
+ both: "both";
2307
+ in_person: "in_person";
2308
+ online: "online";
2309
+ }>>;
2310
+ saleStartsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2311
+ saleEndsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2312
+ }, z.core.$strict>>>>;
2257
2313
  }, z.core.$strict>, z.ZodObject<{
2258
2314
  kind: z.ZodLiteral<"manual_payment">;
2259
2315
  instructions: z.ZodOptional<z.ZodString>;
@@ -2290,6 +2346,7 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
2290
2346
  contentEntryRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<ContentEntryRef, string>>>;
2291
2347
  }, z.core.$strict>>;
2292
2348
  settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2349
+ paymentTerms: z.ZodOptional<z.ZodUnknown>;
2293
2350
  presentation: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
2294
2351
  tags: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
2295
2352
  staffRefs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<StaffRef, string>>>>>;