@riverbankcms/sdk 0.146.0 → 0.148.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 (466) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/{PreviewEditorSidebar-kg2r2Fyi.mjs → PreviewEditorSidebar-DvEPG3Z2.mjs} +249 -172
  3. package/dist/{PreviewEditorUI-sWMLp5dT.mjs → PreviewEditorUI-D6eb6fkx.mjs} +68 -60
  4. package/dist/{PreviewQueryProvider-Cg51xq1w.mjs → PreviewQueryProvider-5znTyJuz.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-h2ti3Hch.mjs → SdkPreviewModeRuntime-DJ6utQ_R.mjs} +1180 -475
  6. package/dist/{SiteChromeCustomizeContext-DEACFH9m.mjs → SiteChromeCustomizeContext-CFJYh6vo.mjs} +199078 -193767
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +198 -33
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +18 -3
  9. package/dist/_dts/api/src/accessAdmin.d.ts +0 -4
  10. package/dist/_dts/api/src/accountApi.d.ts +6 -6
  11. package/dist/_dts/api/src/admin.d.ts +22 -22
  12. package/dist/_dts/api/src/aiPatch.d.ts +2 -2
  13. package/dist/_dts/api/src/aiPlayground.d.ts +1 -0
  14. package/dist/_dts/api/src/analytics.d.ts +2 -2
  15. package/dist/_dts/api/src/apiEndpointTypes.d.ts +2 -0
  16. package/dist/_dts/api/src/appointmentSetup.d.ts +2 -2
  17. package/dist/_dts/api/src/auth.d.ts +10 -10
  18. package/dist/_dts/api/src/availability.d.ts +6 -6
  19. package/dist/_dts/api/src/billing.d.ts +42 -15
  20. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +8 -0
  21. package/dist/_dts/api/src/billingEndpointTypes.d.ts +15 -6
  22. package/dist/_dts/api/src/blocks.d.ts +15 -14
  23. package/dist/_dts/api/src/blocksKeys.d.ts +2 -0
  24. package/dist/_dts/api/src/bookingConfig.d.ts +16 -2
  25. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -13
  26. package/dist/_dts/api/src/bookingOperations.d.ts +6 -48
  27. package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
  28. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
  29. package/dist/_dts/api/src/bookingRecords.d.ts +12 -49
  30. package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
  31. package/dist/_dts/api/src/bookings.d.ts +8 -7
  32. package/dist/_dts/api/src/calendar.d.ts +9 -9
  33. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -6
  34. package/dist/_dts/api/src/common/envelope.d.ts +2 -2
  35. package/dist/_dts/api/src/content-editor.d.ts +2 -2
  36. package/dist/_dts/api/src/contentEntries.d.ts +17 -48
  37. package/dist/_dts/api/src/contentRuntime.d.ts +51 -37
  38. package/dist/_dts/api/src/contentTypes.d.ts +11 -11
  39. package/dist/_dts/api/src/contentVersionHistoryClient.d.ts +6 -6
  40. package/dist/_dts/api/src/documentLifecycle.d.ts +67 -0
  41. package/dist/_dts/api/src/domains.d.ts +16 -16
  42. package/dist/_dts/api/src/editLeaseEndpoints.d.ts +72 -0
  43. package/dist/_dts/api/src/emailSettings.d.ts +4 -4
  44. package/dist/_dts/api/src/endpoints.d.ts +725 -607
  45. package/dist/_dts/api/src/eventEmailTemplates.d.ts +2 -2
  46. package/dist/_dts/api/src/eventManagementContracts.d.ts +48 -8
  47. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +1 -9
  48. package/dist/_dts/api/src/eventPageWords.d.ts +7 -12
  49. package/dist/_dts/api/src/footerSettings.d.ts +6 -6
  50. package/dist/_dts/api/src/index.d.ts +8 -6
  51. package/dist/_dts/api/src/indexCoreTypes.d.ts +2 -1
  52. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  53. package/dist/_dts/api/src/launchReadiness.d.ts +1 -6
  54. package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
  55. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
  56. package/dist/_dts/api/src/navigation.d.ts +5 -5
  57. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +15 -0
  58. package/dist/_dts/api/src/occurrenceScheduling.d.ts +19 -0
  59. package/dist/_dts/api/src/pageSurfaceEditorEndpoints.d.ts +55 -0
  60. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +28 -7
  61. package/dist/_dts/api/src/pages.d.ts +7 -7
  62. package/dist/_dts/api/src/performance.d.ts +1 -1
  63. package/dist/_dts/api/src/public/index.d.ts +1 -1
  64. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +50 -0
  65. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +4 -0
  66. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
  67. package/dist/_dts/api/src/redirects.d.ts +3 -3
  68. package/dist/_dts/api/src/request.d.ts +10 -1
  69. package/dist/_dts/api/src/resources.d.ts +4 -4
  70. package/dist/_dts/api/src/routes.d.ts +8 -3
  71. package/dist/_dts/api/src/sdk-event-upsert.d.ts +15 -1
  72. package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +21 -0
  73. package/dist/_dts/api/src/sdkContracts.d.ts +5 -28
  74. package/dist/_dts/api/src/sdkCourseBooking.d.ts +4 -4
  75. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +1 -1
  76. package/dist/_dts/api/src/sdkEventOccurrenceRequestContracts.d.ts +43 -0
  77. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +4 -2
  78. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +8 -1
  79. package/dist/_dts/api/src/seo.d.ts +4 -4
  80. package/dist/_dts/api/src/services.d.ts +4 -4
  81. package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
  82. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +19 -25
  83. package/dist/_dts/api/src/siteMembers.d.ts +10 -10
  84. package/dist/_dts/api/src/siteOnboarding.d.ts +16 -14
  85. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -3
  86. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +5 -12
  87. package/dist/_dts/api/src/siteRuntimeEntry.d.ts +31 -0
  88. package/dist/_dts/billing/src/checkout/platform.d.ts +77 -0
  89. package/dist/_dts/billing/src/components/index.d.ts +25 -40
  90. package/dist/_dts/billing/src/membership/index.d.ts +1 -3
  91. package/dist/_dts/billing/src/plans/entitlements.d.ts +80 -0
  92. package/dist/_dts/billing/src/plans/registry.d.ts +16 -16
  93. package/dist/_dts/billing/src/plans/standing.d.ts +9 -2
  94. package/dist/_dts/billing/src/plans/types.d.ts +5 -15
  95. package/dist/_dts/billing/src/site-arrangements.d.ts +2 -2
  96. package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +2 -4
  97. package/dist/_dts/billing/src/subscriptions/store.d.ts +17 -11
  98. package/dist/_dts/block-form/src/backend/store-backend.d.ts +6 -7
  99. package/dist/_dts/block-form/src/backend/types.d.ts +7 -0
  100. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +3 -1
  101. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
  102. package/dist/_dts/blocks/src/client/events.d.ts +3 -0
  103. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -4
  104. package/dist/_dts/blocks/src/index.d.ts +1 -1
  105. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +18 -9
  106. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +4 -0
  107. package/dist/_dts/blocks/src/portal/types.d.ts +0 -2
  108. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +2 -1
  109. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +3 -1
  110. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +4 -4
  111. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +6 -1
  112. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
  113. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -2
  114. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  115. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +6 -0
  116. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +18 -0
  117. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +6 -0
  118. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +4 -0
  119. package/dist/_dts/blocks/src/system/runtime/components/booking/SuccessMessage.d.ts +4 -1
  120. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +36 -6
  121. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +18 -3
  122. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +11 -0
  123. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
  124. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -1
  125. package/dist/_dts/blocks/src/system/runtime/hooks/usePolling.d.ts +7 -48
  126. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.checkout-return-context.d.ts +7 -0
  127. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +11 -0
  128. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +13 -0
  129. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +28 -0
  130. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
  131. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
  132. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.payment-confirmation.d.ts +13 -0
  133. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
  134. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
  135. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +17 -1
  136. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-actions.d.ts +8 -0
  137. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +9 -0
  138. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
  139. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +4 -0
  140. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +2 -1
  141. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
  142. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
  143. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +5 -0
  144. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +7 -1
  145. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
  146. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
  147. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +8 -0
  148. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +5 -5
  149. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
  150. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +18 -5
  151. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +6 -0
  152. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +37 -3
  153. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.client.d.ts +1 -1
  154. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +16 -1
  155. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCardPresentations.d.ts +13 -0
  156. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +5 -5
  157. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +2 -4
  158. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +1 -14
  159. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +12 -0
  160. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
  161. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -0
  162. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
  163. package/dist/_dts/blocks/src/system/runtime/shared/components/DemoBookingPortalAccess.d.ts +22 -0
  164. package/dist/_dts/blocks/src/system/runtime/shared/components/DemoPortalSignInLink.d.ts +4 -0
  165. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  166. package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
  167. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
  168. package/dist/_dts/blocks/src/system/runtime/shared/utils/demoBookingPassStorage.d.ts +10 -0
  169. package/dist/_dts/blocks/src/system/runtime/shared/utils/demoPortalMagicLink.d.ts +29 -0
  170. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
  171. package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
  172. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
  173. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
  174. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -7
  175. package/dist/_dts/content-editor/src/controller/EditLeaseController.d.ts +39 -0
  176. package/dist/_dts/content-editor/src/controller/EditorWriteGate.d.ts +38 -0
  177. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +25 -61
  178. package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseBanner.d.ts +7 -0
  179. package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseControllers.d.ts +14 -0
  180. package/dist/_dts/content-editor/src/controller/deriveEditorUnpublishedState.d.ts +6 -0
  181. package/dist/_dts/content-editor/src/controller/documentValueBaseline.d.ts +25 -0
  182. package/dist/_dts/content-editor/src/controller/editLeaseLossSignal.d.ts +6 -0
  183. package/dist/_dts/content-editor/src/controller/editLeaseNotice.d.ts +28 -0
  184. package/dist/_dts/content-editor/src/controller/editorClientId.d.ts +2 -0
  185. package/dist/_dts/content-editor/src/controller/editorEditability.d.ts +38 -0
  186. package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +34 -0
  187. package/dist/_dts/content-editor/src/controller/normalizedMetadataBaseline.d.ts +29 -0
  188. package/dist/_dts/content-editor/src/controller/pageSurfaceDocumentBaselines.d.ts +14 -0
  189. package/dist/_dts/content-editor/src/controller/pageSurfaceLifecycle.d.ts +11 -0
  190. package/dist/_dts/content-editor/src/controller/planDocumentBaselineRefresh.d.ts +19 -0
  191. package/dist/_dts/content-editor/src/controller/readDocumentLeaseBaselines.d.ts +19 -0
  192. package/dist/_dts/content-editor/src/controller/refreshDocumentLeaseBaseline.d.ts +12 -0
  193. package/dist/_dts/content-editor/src/controller/refreshLinkedEntry.d.ts +17 -0
  194. package/dist/_dts/content-editor/src/controller/replayRestoredEditorEffects.d.ts +2 -3
  195. package/dist/_dts/content-editor/src/controller/routeWrites.d.ts +26 -0
  196. package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +16 -17
  197. package/dist/_dts/content-editor/src/controller/useBlockedPublishPlan.d.ts +6 -2
  198. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +3 -3
  199. package/dist/_dts/content-editor/src/controller/useEntryValueAutosaves.d.ts +21 -0
  200. package/dist/_dts/content-editor/src/controller/useInitialEditorUiStore.d.ts +24 -0
  201. package/dist/_dts/content-editor/src/controller/useServerBaselineReconciliation.d.ts +17 -0
  202. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +1 -1
  203. package/dist/_dts/content-editor/src/hooks/applyBlockedPublishPlan.d.ts +5 -1
  204. package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +8 -47
  205. package/dist/_dts/content-editor/src/hooks/editLeaseMachine.d.ts +120 -0
  206. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +6 -10
  207. package/dist/_dts/content-editor/src/hooks/useAutosaveStatus.d.ts +3 -0
  208. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +5 -15
  209. package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +7 -5
  210. package/dist/_dts/content-editor/src/hooks/useEditLease.d.ts +28 -0
  211. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +25 -39
  212. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +17 -19
  213. package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +5 -8
  214. package/dist/_dts/content-editor/src/hooks/useValueAutosave.d.ts +64 -0
  215. package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +0 -7
  216. package/dist/_dts/content-editor/src/index.d.ts +26 -7
  217. package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +12 -0
  218. package/dist/_dts/content-editor/src/linkedEntries/owner.d.ts +9 -0
  219. package/dist/_dts/content-editor/src/liveDrafts/draftProjection.d.ts +66 -0
  220. package/dist/_dts/content-editor/src/liveDrafts/linkedSaveHandovers.d.ts +37 -0
  221. package/dist/_dts/content-editor/src/liveDrafts/remoteDraftOverlay.d.ts +113 -0
  222. package/dist/_dts/content-editor/src/liveDrafts/useLiveDrafts.d.ts +32 -0
  223. package/dist/_dts/content-editor/src/liveDrafts/useRetentionTicks.d.ts +7 -0
  224. package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +6 -0
  225. package/dist/_dts/content-editor/src/primitives/shared/storeBinding.d.ts +1 -0
  226. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +96 -19
  227. package/dist/_dts/content-editor/src/services/editorApiClient.d.ts +13 -0
  228. package/dist/_dts/content-editor/src/services/index.d.ts +2 -0
  229. package/dist/_dts/content-editor/src/services/pageSurfaceEditorServices.d.ts +23 -0
  230. package/dist/_dts/content-editor/src/sync/flushValues.d.ts +13 -0
  231. package/dist/_dts/content-editor/src/sync/lifecycleFailure.d.ts +51 -0
  232. package/dist/_dts/content-editor/src/sync/runLifecycle.d.ts +64 -0
  233. package/dist/_dts/content-editor/src/sync/schedulerValues.d.ts +27 -0
  234. package/dist/_dts/content-editor/src/sync/sendPlanning.d.ts +104 -0
  235. package/dist/_dts/content-editor/src/sync/valueSync.d.ts +114 -0
  236. package/dist/_dts/content-editor/src/ui/blockCollection.d.ts +8 -0
  237. package/dist/_dts/content-editor/src/ui/documentLifecycle.d.ts +18 -0
  238. package/dist/_dts/content-editor/src/ui/editorLeaseUiState.d.ts +7 -0
  239. package/dist/_dts/content-editor/src/ui/editorRefresh.d.ts +82 -0
  240. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +102 -127
  241. package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +1 -1
  242. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +126 -72
  243. package/dist/_dts/content-editor/src/ui/editorValueSnapshot.d.ts +18 -0
  244. package/dist/_dts/content-editor/src/ui/serverBlockAdmission.d.ts +26 -0
  245. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +16 -27
  246. package/dist/_dts/content-editor/src/ui/stores/blockVersionsStore.d.ts +24 -0
  247. package/dist/_dts/content-editor/src/ui/stores/linkedEntryLeaseStore.d.ts +54 -0
  248. package/dist/_dts/content-editor/src/ui/stores/linkedSaveHandoversStore.d.ts +11 -0
  249. package/dist/_dts/content-editor/src/ui/stores/remoteDraftsStore.d.ts +10 -0
  250. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +63 -3
  251. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +2 -2
  252. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +1 -1
  253. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +4 -4
  254. package/dist/_dts/content-model/src/content-types/builtins.d.ts +4 -4
  255. package/dist/_dts/content-model/src/definitions/shared.d.ts +11 -2
  256. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  257. package/dist/_dts/content-model/src/entry-slots/serializeAllowedBlocks.d.ts +2 -0
  258. package/dist/_dts/content-model/src/metadataConfig.d.ts +10 -38
  259. package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -1
  260. package/dist/_dts/content-model/src/types.d.ts +0 -1
  261. package/dist/_dts/core/src/block-content-identity.d.ts +49 -1
  262. package/dist/_dts/core/src/branded.d.ts +12 -0
  263. package/dist/_dts/core/src/currency-format.d.ts +8 -2
  264. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +2 -2
  265. package/dist/_dts/core/src/demo-warm-pool-target.d.ts +8 -0
  266. package/dist/_dts/core/src/edit-lease.d.ts +55 -0
  267. package/dist/_dts/core/src/editor-state.d.ts +38 -13
  268. package/dist/_dts/core/src/editor-value-sync.d.ts +79 -0
  269. package/dist/_dts/core/src/html-entities.d.ts +6 -0
  270. package/dist/_dts/core/src/index.d.ts +5 -1
  271. package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
  272. package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
  273. package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -0
  274. package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
  275. package/dist/_dts/core/src/participants.d.ts +0 -38
  276. package/dist/_dts/core/src/uuid.d.ts +7 -5
  277. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +261 -175
  278. package/dist/_dts/editor/src/EditorProvider.d.ts +5 -0
  279. package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +14 -0
  280. package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +1 -0
  281. package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +0 -1
  282. package/dist/_dts/editor/src/index.d.ts +1 -1
  283. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +10 -9
  284. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +1 -1
  285. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +1 -1
  286. package/dist/_dts/editor-blocks/src/block-editor/BlockCardFrame.d.ts +1 -1
  287. package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +1 -1
  288. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
  289. package/dist/_dts/editor-blocks/src/block-editor/applyExtendedFieldDefaults.d.ts +3 -4
  290. package/dist/_dts/editor-blocks/src/block-editor/blockDraftBaselineSeed.d.ts +4 -8
  291. package/dist/_dts/editor-blocks/src/block-editor/editorBlockItem.d.ts +23 -0
  292. package/dist/_dts/editor-blocks/src/block-editor/generatedIconApplyCoordination.d.ts +2 -7
  293. package/dist/_dts/editor-blocks/src/block-editor/hooks/applyBlockStructureChange.d.ts +4 -0
  294. package/dist/_dts/editor-blocks/src/block-editor/hooks/buildInsertBlockHistoryCommand.d.ts +14 -5
  295. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +21 -19
  296. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -10
  297. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +8 -16
  298. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +6 -16
  299. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +37 -9
  300. package/dist/_dts/editor-blocks/src/index.d.ts +2 -1
  301. package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +1 -1
  302. package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +1 -1
  303. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +1 -1
  304. package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +1 -1
  305. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +3 -2
  306. package/dist/_dts/media-core/src/fileStorage.d.ts +4 -0
  307. package/dist/_dts/media-editor/src/context.d.ts +1 -1
  308. package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -2
  309. package/dist/_dts/media-editor/src/provider.d.ts +3 -2
  310. package/dist/_dts/media-react/src/hooks/internal/classification.d.ts +1 -1
  311. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +3 -1
  312. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
  313. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +8 -3
  314. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +10 -6
  315. package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +22 -2
  316. package/dist/_dts/preview-next/src/client/blocks/previewProjection/entryFieldRebinding.d.ts +13 -0
  317. package/dist/_dts/preview-next/src/client/blocks/previewProjection/index.d.ts +2 -1
  318. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +11 -1
  319. package/dist/_dts/preview-next/src/client/blocks/renderPrecedence.d.ts +17 -0
  320. package/dist/_dts/preview-next/src/client/blocks/useLinkedSaveHandoverRetention.d.ts +20 -0
  321. package/dist/_dts/preview-next/src/client/index.d.ts +1 -1
  322. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -1
  323. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -1
  324. package/dist/_dts/preview-next/src/client/preview/PreviewAccessBanners.d.ts +7 -0
  325. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
  326. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +24 -14
  327. package/dist/_dts/preview-next/src/client/preview/PreviewLeaseEditingMode.d.ts +2 -0
  328. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +9 -2
  329. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  330. package/dist/_dts/preview-next/src/client/preview/previewCustomizeAutosave.d.ts +5 -0
  331. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +3 -4
  332. package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +1 -0
  333. package/dist/_dts/preview-next/src/client/preview/usePreviewCustomizeWorkflowState.d.ts +4 -0
  334. package/dist/_dts/realtime/src/client.d.ts +3 -0
  335. package/dist/_dts/realtime/src/draftChannel.d.ts +91 -0
  336. package/dist/_dts/realtime/src/drafts.d.ts +210 -0
  337. package/dist/_dts/realtime/src/index.d.ts +3 -0
  338. package/dist/_dts/realtime/src/leaseChangeSubscriptions.d.ts +8 -0
  339. package/dist/_dts/realtime/src/types.d.ts +113 -0
  340. package/dist/_dts/realtime/src/useDraftChannel.d.ts +34 -0
  341. package/dist/_dts/realtime/src/useSiteRealtimeReload.d.ts +27 -0
  342. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -55
  343. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
  344. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
  345. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +1 -1
  346. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +4 -2
  347. package/dist/_dts/sdk/src/version.d.ts +1 -1
  348. package/dist/_dts/surfaces/src/index.d.ts +1 -0
  349. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
  350. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
  351. package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
  352. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  353. package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
  354. package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
  355. package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
  356. package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
  357. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
  358. package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
  359. package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
  360. package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
  361. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
  362. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
  363. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
  364. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  365. package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
  366. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
  367. package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
  368. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
  369. package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
  370. package/dist/_dts/ui/src/badge.d.ts +2 -1
  371. package/dist/_dts/ui/src/button.d.ts +1 -1
  372. package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
  373. package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
  374. package/dist/_dts/ui/src/combobox.d.ts +26 -1
  375. package/dist/_dts/ui/src/date-picker.d.ts +5 -8
  376. package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
  377. package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
  378. package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
  379. package/dist/_dts/ui/src/index.d.ts +4 -1
  380. package/dist/_dts/ui/src/native-select.d.ts +8 -0
  381. package/dist/_dts/ui/src/popover.d.ts +7 -1
  382. package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
  383. package/dist/_dts/ui/src/surface.d.ts +1 -1
  384. package/dist/client/{BookingConsentAgreement-BQKL045f.mjs → BookingMailingListNote-CzRt2dF_.mjs} +110 -97
  385. package/dist/client/{CheckboxChoice--W2n6yKs.mjs → CheckboxChoice-B33MqoUo.mjs} +1 -1
  386. package/dist/client/DemoBookingPortalAccess-mxqwap3f.mjs +344 -0
  387. package/dist/client/{EventCombined.client-BdRjVbhH.mjs → EventCombined.client-CDb11igO.mjs} +7 -7
  388. package/dist/client/{EventListing.client-DBxC6xOU.mjs → EventListing.client-EgYhzKPa.mjs} +2 -2
  389. package/dist/client/{LeafletStaticMap-mHEJKrTs.mjs → LeafletStaticMap-gtmtaA2b.mjs} +1 -1
  390. package/dist/client/{scrollToBlock-BNgaEUpo.mjs → TerminalPanel-DvNUP5ot.mjs} +77 -77
  391. package/dist/client/{ThemedButton-CE5KYT6z.mjs → ThemedButton-C7CeUJjW.mjs} +2 -2
  392. package/dist/client/{accordion-BEQNSptH.mjs → accordion-kjvt49rA.mjs} +1 -1
  393. package/dist/client/{bookingForm-AMr-s5vw.mjs → bookingForm-pbRZordh.mjs} +411 -141
  394. package/dist/client/bookings.mjs +966 -396
  395. package/dist/client/{carousel-Bbt_QgJy.mjs → carousel-f4Zbmicv.mjs} +2 -2
  396. package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
  397. package/dist/client/{cart-CnWi30zJ.mjs → cart-DO20An50.mjs} +3 -3
  398. package/dist/client/{checkout-f3nkWgd4.mjs → checkout-Du5amDR_.mjs} +3 -3
  399. package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-CXhko2Rv.mjs} +1 -1
  400. package/dist/client/client.mjs +3837 -2202
  401. package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
  402. package/dist/client/{context-Bc8T6pCe.mjs → context-eW97E945.mjs} +4 -3
  403. package/dist/client/{dates-DUsCEzLb.mjs → dates-jPCirRea.mjs} +56 -11
  404. package/dist/client/{eventCalendar-CKwgXui5.mjs → eventCalendar-C2M-iE4j.mjs} +10 -10
  405. package/dist/client/{eventCombined-CBAOSTGR.mjs → eventCombined-W6ns3LHg.mjs} +4 -4
  406. package/dist/client/{eventDetails-Dh-_WiBD.mjs → eventDetails-CR-GT0f0.mjs} +4 -4
  407. package/dist/client/{eventListing-CA3frIH5.mjs → eventListing-BK8AfYZz.mjs} +4 -4
  408. package/dist/client/{eventRegistration-BHtsgdcg.mjs → eventRegistration-BJSd4KUu.mjs} +461 -266
  409. package/dist/client/{form-C2h3YAcg.mjs → form-BvpfbQaT.mjs} +5 -5
  410. package/dist/client/{headerSection-lwMuMTH9.mjs → headerSection-I5sUQ8x-.mjs} +3 -3
  411. package/dist/client/hooks.mjs +909 -163
  412. package/dist/client/{locationMap-DJ2bLODV.mjs → locationMap-BLvwf9_f.mjs} +4 -4
  413. package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
  414. package/dist/client/{media-BtJ37tzS.mjs → media-Cl38iOMI.mjs} +11 -4
  415. package/dist/client/{newsletterForm-8Pu5K32g.mjs → newsletterForm-DrQ2weE8.mjs} +6 -6
  416. package/dist/client/{pricing-HHx3IgBz.mjs → pricing-BES87mrR.mjs} +1 -1
  417. package/dist/client/{productDetail-C_1odnAf.mjs → productDetail-Url9jcc5.mjs} +3 -3
  418. package/dist/client/{productList-CtCv-Nmx.mjs → productList-DE7ngEZJ.mjs} +3 -3
  419. package/dist/client/{propsDecoder-Dcgsncxb.mjs → propsDecoder-D1OtGXDV.mjs} +140 -22
  420. package/dist/client/rendering/client.mjs +2366 -997
  421. package/dist/client/rendering/islands.mjs +19 -19
  422. package/dist/client/rendering.mjs +4607 -2884
  423. package/dist/client/{routeIslandApiConfig-CWLP7wu3.mjs → routeIslandApiConfig-BG9Y-SHg.mjs} +1 -1
  424. package/dist/client/{shop-DQXrQ8kJ.mjs → shop-CJkuySJ3.mjs} +126 -79
  425. package/dist/client/{shop-commerce-B88zmWWo.mjs → shop-commerce-4rKj5n9h.mjs} +26 -14
  426. package/dist/client/{shop-commerce-store-DtSfkKuX.mjs → shop-commerce-store-Bxm75Pg6.mjs} +1 -1
  427. package/dist/client/{shopShared-cuaONpkJ.mjs → shopShared-DpoQDWfz.mjs} +5 -5
  428. package/dist/client/{useEventFilters-Bukew6Gb.mjs → useEventFilters-D8HliSqR.mjs} +33 -18
  429. package/dist/preview-next/before-render.mjs +314 -133
  430. package/dist/preview-next/client/runtime.mjs +4 -4
  431. package/dist/preview-next/editor-base.css +53 -2
  432. package/dist/preview-next/editor-chrome.css +7 -4
  433. package/dist/preview-next/keepAlive.mjs +314 -133
  434. package/dist/preview-next/middleware.mjs +314 -133
  435. package/dist/{previewAuthStore-h5IgbSp4.mjs → previewAuthStore-BXXF3hhW.mjs} +316 -133
  436. package/dist/{sdk-runtime-DTc1uIXn.mjs → sdk-runtime-C2a05WjL.mjs} +2 -2
  437. package/dist/{separator-BpHS1KZK.mjs → separator-CuNhBAhS.mjs} +1 -1
  438. package/dist/server/components.mjs +6888 -6157
  439. package/dist/server/config-validation.mjs +931 -199
  440. package/dist/server/config.mjs +931 -199
  441. package/dist/server/data.mjs +929 -198
  442. package/dist/server/index.mjs +317 -134
  443. package/dist/server/navigation.mjs +13 -2
  444. package/dist/server/next.mjs +5003 -4340
  445. package/dist/server/page-converter.mjs +160 -78
  446. package/dist/server/prebuild.mjs +1 -1
  447. package/dist/server/rendering/server.mjs +6421 -5687
  448. package/dist/server/rendering.mjs +7683 -6933
  449. package/dist/server/routing.mjs +1035 -338
  450. package/dist/server/server.mjs +946 -256
  451. package/dist/server/theme-bridge.mjs +66 -17
  452. package/dist/server/theme.mjs +5 -1
  453. package/dist/styles/index.css +32 -4
  454. package/package.json +1 -1
  455. package/dist/_dts/billing/src/plans/display.d.ts +0 -15
  456. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +0 -4
  457. package/dist/_dts/content-editor/src/controller/buildPublishSuccessTransition.d.ts +0 -16
  458. package/dist/_dts/content-editor/src/controller/driver.d.ts +0 -14
  459. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +0 -7
  460. package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +0 -29
  461. package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +0 -26
  462. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +0 -64
  463. package/dist/_dts/content-editor/src/hooks/useStoreAutosave.d.ts +0 -48
  464. package/dist/_dts/content-editor/src/types.d.ts +0 -44
  465. package/dist/_dts/core/src/participant-identity.d.ts +0 -135
  466. package/dist/client/DiscountCodeDisclosure-CsOtjFY7.mjs +0 -137
@@ -1,11 +1,20 @@
1
- import { type PlannerNoChange } from '../../../core/src/index';
2
- import { type BillingPlanId } from '../plans/types';
3
- export type BillingComponentInterval = 'month' | 'year';
1
+ import { type Brand, type PlannerNoChange } from '../../../core/src/index';
2
+ import { type BillingPlanId, type PaidBillingPlanId } from '../plans/types';
4
3
  export type BillingComponentCurrencyCode = string;
5
- export type BillingComponentId = string;
4
+ export type BillingComponentId = Brand<string, 'BillingComponentId'>;
5
+ export type BillingComponentIdempotencyKey = Brand<string, 'BillingComponentIdempotencyKey'>;
6
+ export type BillingComponentSnapshotHash = Brand<string, 'BillingComponentSnapshotHash'>;
6
7
  export type BillingComponentSiteId = string;
7
8
  export type BillingComponentSiteDomainId = string;
8
- export type BillingComponentKind = 'plan_base' | 'custom_site_price' | 'extra_site' | 'managed_domain_overage';
9
+ /** Brand a component id read from a trusted store (a database row or a fixture). */
10
+ export declare const unsafeAsBillingComponentId: (id: string) => BillingComponentId;
11
+ export declare const unsafeAsBillingComponentIdempotencyKey: (key: string) => BillingComponentIdempotencyKey;
12
+ export declare const unsafeAsBillingComponentSnapshotHash: (hash: string) => BillingComponentSnapshotHash;
13
+ /** Components derived on every read; they are never stored. */
14
+ export type ComputedBillingComponentKind = 'plan_base' | 'custom_site_price';
15
+ /** Components stored in `billing_components`; mirrors the database enum. */
16
+ export type PersistedBillingComponentKind = 'extra_site' | 'managed_domain_overage';
17
+ export type BillingComponentKind = ComputedBillingComponentKind | PersistedBillingComponentKind;
9
18
  export type BillingComponentPersistenceStatus = 'pending_acceptance' | 'accepted' | 'sync_failed' | 'registrar_failed' | 'registrar_succeeded_persist_failed' | 'active' | 'ending' | 'ended' | 'failed';
10
19
  export type EndableBillingComponentStatus = Extract<BillingComponentPersistenceStatus, 'active' | 'ending'>;
11
20
  export type EndableBillingComponentKind = Extract<BillingComponentKind, 'extra_site' | 'managed_domain_overage'>;
@@ -14,10 +23,9 @@ export type BillingComponentProposalPlan = Readonly<{
14
23
  pendingSourceKey: string;
15
24
  userId: string;
16
25
  siteId: string | null;
17
- kind: 'extra_site' | 'managed_domain_overage';
26
+ kind: PersistedBillingComponentKind;
18
27
  amountCents: number;
19
28
  currency: string;
20
- interval: BillingComponentInterval;
21
29
  sourceEntity: BillingComponentSourceEntityPlan;
22
30
  snapshotHash: string;
23
31
  pricingSnapshot: unknown;
@@ -51,7 +59,6 @@ export type BillingComponentBase<TKind extends BillingComponentKind, TOrigin ext
51
59
  source: BillingComponentSourceForKind<TKind>;
52
60
  amountCents: number;
53
61
  currency: BillingComponentCurrencyCode;
54
- interval: BillingComponentInterval;
55
62
  }>;
56
63
  export type MacadamiaExtraSiteBillingComponentProposalPlan = BillingComponentProposalPlan & Readonly<{
57
64
  kind: 'extra_site';
@@ -122,9 +129,7 @@ export type BillingTotalPricePlan = BillingBasePricePlan & Readonly<{
122
129
  componentBreakdown: readonly BillingComponent[];
123
130
  }>;
124
131
  export type BillingComponentCompatibilityMismatch = Readonly<{
125
- tag: 'component_interval_currency_mismatch';
126
- componentInterval: BillingComponentInterval;
127
- requestedInterval: BillingComponentInterval;
132
+ tag: 'component_currency_mismatch';
128
133
  componentCurrency: BillingComponentCurrencyCode;
129
134
  requestedCurrency: BillingComponentCurrencyCode;
130
135
  }>;
@@ -147,7 +152,6 @@ export type BillingComponentSummaryBase<TKind extends BillingComponentKind> = Re
147
152
  label: string;
148
153
  amountCents: number;
149
154
  formatted: string;
150
- interval: BillingComponentInterval;
151
155
  }>;
152
156
  export type BillingComponentSummaryBasePlanComponent = BillingComponentSummaryBase<'plan_base'> & Readonly<{
153
157
  source: BillingComponentPlanSource;
@@ -208,13 +212,15 @@ export type MacadamiaExtraSitePricingSnapshot = Readonly<{
208
212
  planId: BillingPlanId;
209
213
  amountCents: number;
210
214
  currency: BillingComponentCurrencyCode;
211
- interval: BillingComponentInterval;
212
215
  }>;
213
216
  export type ExtraSitePricingPolicy = Readonly<{
214
217
  includedSiteCount: number;
215
218
  currency: BillingComponentCurrencyCode;
216
- extraSite: Readonly<{
219
+ extraSite:
220
+ /** The plan an upgrade prompt names: the cheapest one that keeps what this plan has and adds extra sites. */
221
+ Readonly<{
217
222
  tag: 'not_supported';
223
+ minimumPlanId: PaidBillingPlanId;
218
224
  }> | Readonly<{
219
225
  tag: 'priced';
220
226
  monthlyAmountCents: number;
@@ -226,34 +232,22 @@ export type ConfiguredExtraSitePricingPolicy = ExtraSitePricingPolicy & Readonly
226
232
  monthlyAmountCents: number;
227
233
  }>;
228
234
  }>;
229
- export type MacadamiaSiteAllowancePricingInput = Readonly<{
230
- includedLiveSiteCount: number;
231
- extraSite: Readonly<{
232
- tag: 'not_supported';
233
- }> | Readonly<{
234
- tag: 'priced';
235
- monthlyPricePence: number;
236
- }>;
237
- }>;
238
235
  export type ActiveExtraSiteComponentForReconciliation = Readonly<{
239
236
  componentId: BillingComponentId;
240
237
  siteId: BillingComponentSiteId;
241
238
  amountCents: number;
242
239
  currency: BillingComponentCurrencyCode;
243
- interval: BillingComponentInterval;
244
240
  }>;
245
241
  export type MacadamiaExtraSiteReconciliationAction = Readonly<{
246
242
  tag: 'requires_acceptance';
247
243
  site: BillableMacadamiaSite;
248
244
  amountCents: number;
249
245
  currency: BillingComponentCurrencyCode;
250
- interval: BillingComponentInterval;
251
246
  }> | Readonly<{
252
247
  tag: 'create_missing';
253
248
  site: BillableMacadamiaSite;
254
249
  amountCents: number;
255
250
  currency: BillingComponentCurrencyCode;
256
- interval: BillingComponentInterval;
257
251
  }> | Readonly<{
258
252
  tag: 'end_at_period_end';
259
253
  component: ActiveExtraSiteComponentForReconciliation;
@@ -265,7 +259,7 @@ export type MacadamiaExtraSiteReconciliationAction = Readonly<{
265
259
  }> | Readonly<{
266
260
  tag: 'requires_plan_upgrade';
267
261
  site: BillableMacadamiaSite;
268
- minimumPlanId: 'solo';
262
+ minimumPlanId: PaidBillingPlanId;
269
263
  }>;
270
264
  export type MacadamiaExtraSiteReconciliationPlan = PlannerNoChange | Readonly<{
271
265
  tag: 'changes_required';
@@ -281,13 +275,12 @@ export type MacadamiaExtraSiteLaunchDecision = Readonly<{
281
275
  }> | Readonly<{
282
276
  tag: 'requires_plan_upgrade';
283
277
  currentPlanId: BillingPlanId;
284
- minimumPlanId: 'solo';
278
+ minimumPlanId: PaidBillingPlanId;
285
279
  }> | Readonly<{
286
280
  tag: 'requires_acceptance';
287
281
  currentPlanId: BillingPlanId;
288
282
  amountCents: number;
289
283
  currency: BillingComponentCurrencyCode;
290
- interval: BillingComponentInterval;
291
284
  }>;
292
285
  export type MacadamiaSiteCreationBillingNotice = Readonly<{
293
286
  tag: 'none';
@@ -298,13 +291,12 @@ export type MacadamiaSiteCreationBillingNotice = Readonly<{
298
291
  }> | Readonly<{
299
292
  tag: 'upgrade_required_on_launch';
300
293
  currentPlanId: BillingPlanId;
301
- minimumPlanId: 'solo';
294
+ minimumPlanId: PaidBillingPlanId;
302
295
  }> | Readonly<{
303
296
  tag: 'extra_site_charge_on_launch';
304
297
  currentPlanId: BillingPlanId;
305
298
  amountCents: number;
306
299
  currency: BillingComponentCurrencyCode;
307
- interval: BillingComponentInterval;
308
300
  }>;
309
301
  export type MacadamiaExtraSiteProposalDecisionPlan = Extract<MacadamiaExtraSiteLaunchDecision, {
310
302
  tag: 'requires_acceptance';
@@ -378,7 +370,7 @@ export declare function planBillingComponentEndAtTimestamp(input: Readonly<{
378
370
  now: Date;
379
371
  }>): BillingComponentTimestampEndPlan;
380
372
  export declare function gbpPenceToAmountCents(amountPence: number, currency: BillingComponentCurrencyCode): number;
381
- export declare function buildMacadamiaExtraSitePricingPolicy(allowance: MacadamiaSiteAllowancePricingInput): ExtraSitePricingPolicy;
373
+ export declare function buildMacadamiaExtraSitePricingPolicy(planId: BillingPlanId): ExtraSitePricingPolicy;
382
374
  export declare function buildManagedDomainRegistrarAttemptIdempotencyKey(input: Readonly<{
383
375
  componentId: string;
384
376
  domain: string;
@@ -408,14 +400,12 @@ export declare function classifyBillingModel(input: Readonly<{
408
400
  export declare function planExtraSiteComponents(input: Readonly<{
409
401
  sites: readonly BillableMacadamiaSite[];
410
402
  policy: ConfiguredExtraSitePricingPolicy;
411
- interval?: BillingComponentInterval;
412
403
  }>): readonly BillingComponent[];
413
404
  export declare function planMacadamiaExtraSiteReconciliation(input: Readonly<{
414
405
  sites: readonly BillableMacadamiaSite[];
415
406
  activeExtraSiteComponents: readonly ActiveExtraSiteComponentForReconciliation[];
416
407
  acceptedSiteIds?: readonly BillingComponentSiteId[];
417
408
  policy: ExtraSitePricingPolicy;
418
- interval?: BillingComponentInterval;
419
409
  }>): MacadamiaExtraSiteReconciliationPlan;
420
410
  export declare function evaluateMacadamiaExtraSiteLaunchDecision(input: Readonly<{
421
411
  siteId: BillingComponentSiteId;
@@ -426,14 +416,12 @@ export declare function evaluateMacadamiaExtraSiteLaunchDecision(input: Readonly
426
416
  componentId?: BillingComponentId;
427
417
  }>[];
428
418
  policy: ExtraSitePricingPolicy;
429
- interval?: BillingComponentInterval;
430
419
  }>): MacadamiaExtraSiteLaunchDecision;
431
420
  export declare function macadamiaExtraSiteLaunchDecisionToCreationBillingNotice(decision: MacadamiaExtraSiteLaunchDecision): MacadamiaSiteCreationBillingNotice;
432
421
  export declare function evaluateMacadamiaSiteCreationBillingNotice(input: Readonly<{
433
422
  currentPlanId: BillingPlanId;
434
423
  currentLiveSiteCount: number;
435
424
  policy: ExtraSitePricingPolicy;
436
- interval?: BillingComponentInterval;
437
425
  }>): MacadamiaSiteCreationBillingNotice;
438
426
  export declare function resolveBillingComponents(input: Readonly<{
439
427
  basePlan: BillingComponent;
@@ -454,16 +442,13 @@ export declare function toBillingSiteCostBreakdown(input: Readonly<{
454
442
  export declare function planCustomSitePriceComponents(input: Readonly<{
455
443
  siteBreakdown: readonly BillingSiteCostBreakdown[];
456
444
  currency: BillingComponentCurrencyCode;
457
- interval: BillingComponentInterval;
458
445
  }>): readonly BillingComponent[];
459
446
  export declare function validateBillingComponentCompatibility(input: Readonly<{
460
447
  component: BillingComponent;
461
- requestedInterval: BillingComponentInterval;
462
448
  requestedCurrency: BillingComponentCurrencyCode;
463
449
  }>): BillingComponentCompatibilityMismatch | null;
464
450
  export declare function planBillingTotalPrice(input: Readonly<{
465
451
  planId: string;
466
- interval: BillingComponentInterval;
467
452
  currency: BillingComponentCurrencyCode;
468
453
  siteBreakdown: readonly BillingSiteCostBreakdown[];
469
454
  persistedComponents: readonly PersistedBillingComponent[];
@@ -521,5 +506,5 @@ export declare function asBillingComponentProposalPlan<TIdempotencyKey, TPending
521
506
  * programming/configuration error into every runtime caller.
522
507
  */
523
508
  export declare function asBillingComponentProposalPricingSnapshot<TPricingSnapshot>(value: unknown, parse: BillingComponentProposalPricingSnapshotParser<TPricingSnapshot>, description?: string): TPricingSnapshot;
524
- export declare function hashBillingComponentSnapshot(snapshot: unknown): string;
509
+ export declare function hashBillingComponentSnapshot(snapshot: unknown): BillingComponentSnapshotHash;
525
510
  export declare function stableJson(value: unknown): string;
@@ -1,11 +1,10 @@
1
- import type { BillingInterval, BillingPlanId, PlanEntitlements } from '../plans/types';
1
+ import type { BillingPlanId, PlanEntitlements } from '../plans/types';
2
2
  import { type SubscriptionRepository, type SubscriptionRecord } from '../subscriptions/store';
3
3
  import { type PlanStanding } from '../plans/standing';
4
4
  export interface MembershipState {
5
5
  userId: string;
6
6
  planStanding: 'paid' | 'payment_recovery' | 'free';
7
7
  planId: BillingPlanId;
8
- interval: BillingInterval;
9
8
  status: SubscriptionRecord['status'];
10
9
  currentPeriodEnd: string;
11
10
  cancelAtPeriodEnd: boolean;
@@ -19,7 +18,6 @@ export interface MembershipSummary {
19
18
  planStanding: 'paid' | 'payment_recovery' | 'free';
20
19
  /** Effective entitlement plan. Provider subscription identity remains in the repository. */
21
20
  planId: BillingPlanId;
22
- interval: BillingInterval;
23
21
  status: SubscriptionRecord['status'];
24
22
  currentPeriodEnd: string;
25
23
  cancelAtPeriodEnd: boolean;
@@ -0,0 +1,80 @@
1
+ import { type BillingPlanId, type BrandingTier, type FormsTier, type NewsletterTier, type PlanBooleanFeatureKey, type PlanEntitlements, type SeoTier, type StorageBytes, type StorageQuota, type TeamTier, type WebsiteCollaborationTier, type WebsiteTier } from './types';
2
+ type MinimumTier<TTier extends string> = Readonly<{
3
+ minimum: TTier;
4
+ }>;
5
+ export type PlanEntitlementRequirementSpec = Readonly<{
6
+ features?: readonly PlanBooleanFeatureKey[];
7
+ website?: MinimumTier<WebsiteTier>;
8
+ /** Commission isn't a tier: the only requirement is that there is none. */
9
+ stripeBookingCommission?: Readonly<{
10
+ kind: 'none';
11
+ }>;
12
+ /** Extra sites aren't a tier either: the plan either prices them or doesn't offer them. */
13
+ extraSite?: Readonly<{
14
+ kind: 'supported';
15
+ }>;
16
+ forms?: MinimumTier<FormsTier>;
17
+ seo?: MinimumTier<SeoTier>;
18
+ newsletter?: MinimumTier<NewsletterTier>;
19
+ branding?: MinimumTier<BrandingTier>;
20
+ team?: MinimumTier<TeamTier>;
21
+ websiteCollaboration?: MinimumTier<WebsiteCollaborationTier>;
22
+ }>;
23
+ export type StorageQuotaCheckResult = Readonly<{
24
+ tag: 'unlimited';
25
+ usedBytes: StorageBytes;
26
+ incomingBytes: StorageBytes;
27
+ }> | Readonly<{
28
+ tag: 'within_limit';
29
+ usedBytes: StorageBytes;
30
+ incomingBytes: StorageBytes;
31
+ remainingBytes: StorageBytes;
32
+ maxBytes: StorageBytes;
33
+ }> | Readonly<{
34
+ tag: 'at_limit';
35
+ usedBytes: StorageBytes;
36
+ incomingBytes: StorageBytes;
37
+ remainingBytes: StorageBytes;
38
+ maxBytes: StorageBytes;
39
+ }> | Readonly<{
40
+ tag: 'would_exceed_limit';
41
+ usedBytes: StorageBytes;
42
+ incomingBytes: StorageBytes;
43
+ remainingBytes: StorageBytes;
44
+ maxBytes: StorageBytes;
45
+ overByBytes: StorageBytes;
46
+ }>;
47
+ export declare function definePlanEntitlementRequirements<const TRequirements extends PlanEntitlementRequirementSpec>(requirements: TRequirements): TRequirements;
48
+ export declare function isPlanBooleanFeatureEnabled(entitlements: PlanEntitlements, feature: PlanBooleanFeatureKey): boolean;
49
+ export declare function meetsPlanEntitlementRequirements(entitlements: PlanEntitlements, requirements: PlanEntitlementRequirementSpec): boolean;
50
+ /**
51
+ * The cheapest plan that grants `requirements`, by list price: the plan an
52
+ * upgrade prompt names. Price order, not registry order, so a plan added
53
+ * anywhere in the ladder is still found correctly.
54
+ */
55
+ export declare function cheapestPlanMeetingRequirements(requirements: PlanEntitlementRequirementSpec): BillingPlanId | null;
56
+ /**
57
+ * What choosing `planId` at launch commits the site to: the entitlements a
58
+ * launched site depends on (the website, a team, its own domain, no
59
+ * commission). A current plan satisfies the selection when it grants all of
60
+ * them, so plans that differ in other ways (storage, analytics) never block a
61
+ * launch, and a plan outside a single ladder (Team, alongside Solo) needs no
62
+ * rank.
63
+ */
64
+ export declare function launchRequirementFor(planId: BillingPlanId): PlanEntitlementRequirementSpec;
65
+ /**
66
+ * The plan an upgrade prompt names when an account on `currentPlanId` needs
67
+ * `addition`: the cheapest plan that keeps everything a launched site on the
68
+ * current plan depends on and adds it. A Team account that needs extra sites
69
+ * is pointed to Studio, not Solo, because Solo would lose the team. Null when
70
+ * no plan does.
71
+ */
72
+ export declare function upgradeTargetAdding(currentPlanId: BillingPlanId, addition: PlanEntitlementRequirementSpec): BillingPlanId | null;
73
+ /** Whether an account on `currentPlanId` can launch a site that selected `selectedPlanId`. */
74
+ export declare function planSatisfiesLaunchSelection(currentPlanId: BillingPlanId | null, selectedPlanId: BillingPlanId): boolean;
75
+ export declare function checkStorageQuota(quota: StorageQuota, input: Readonly<{
76
+ usedBytes: StorageBytes;
77
+ incomingBytes: StorageBytes;
78
+ }>): StorageQuotaCheckResult;
79
+ export declare function listBooleanPlanFeatureKeys(): readonly PlanBooleanFeatureKey[];
80
+ export {};
@@ -1,4 +1,4 @@
1
- import { type BillingInterval, type BillingPlanId, type PlanDefinition, type DisplayPricing } from './types';
1
+ import { type BillingPlanId, type PlanDefinition } from './types';
2
2
  export declare function listPlans(): PlanDefinition[];
3
3
  export declare function isBillingPlanId(planId: string): planId is BillingPlanId;
4
4
  export declare function ensureBillingPlanId(planId: string): BillingPlanId;
@@ -8,23 +8,23 @@ export declare function getKnownPlan(planId: BillingPlanId): PlanDefinition;
8
8
  export declare function ensurePlan(planId: string): PlanDefinition;
9
9
  export declare function getPlanEntitlements(planId: string): PlanDefinition['entitlements'];
10
10
  export declare function getMacadamiaSiteAllowance(planId: string): PlanDefinition['entitlements']['macadamiaSiteAllowance'];
11
- /**
12
- * @deprecated Use database pricing with resolveUserPrice() instead.
13
- * This function fetches pre-created Stripe Price IDs which is being replaced
14
- * by inline price_data creation from database prices.
15
- */
16
- export declare function getStripePriceId(planId: string, interval: BillingInterval): Promise<string>;
17
- /**
18
- * @deprecated Use database pricing with getPlanPrice() and resolveUserPrice() instead.
19
- * This function fetches prices from Stripe which is being replaced by database pricing.
20
- */
21
- export declare function calculatePlanPricing(planId: string): Promise<DisplayPricing>;
22
- /**
23
- * @deprecated Use database pricing instead. This function fetches prices from Stripe.
24
- */
25
- export declare function listPricing(): Promise<DisplayPricing[]>;
26
11
  /**
27
12
  * Check if a plan is a paid plan.
28
13
  * A plan is paid if it's not the 'free' plan.
29
14
  */
30
15
  export declare function isPaidPlan(planId: string): boolean;
16
+ /** What a plan costs and charges, derived from the registry. Not a second store. */
17
+ export type PlanCommercials = Readonly<{
18
+ planId: BillingPlanId;
19
+ /** The monthly list price, before any per-user override or site costs. */
20
+ monthlyPricePence: number;
21
+ /** Macadamia's commission on Stripe-paid bookings; 0 when the plan has none. */
22
+ commissionPercent: number;
23
+ /**
24
+ * The monthly online revenue at which Free's commission equals this plan's
25
+ * price. Null for Free itself, and for any plan that does not charge less
26
+ * commission than Free.
27
+ */
28
+ breakEvenMonthlyOnlineRevenuePence: number | null;
29
+ }>;
30
+ export declare function planCommercials(planId: BillingPlanId): PlanCommercials;
@@ -1,6 +1,6 @@
1
1
  import type { SubscriptionStandingEvidence, SubscriptionStandingEvidenceError, SubscriptionStandingInput } from '../subscriptions/standingEvidence';
2
- import { type SubscriptionRead } from '../subscriptions/store';
3
- type PaidStandingDetails = Pick<SubscriptionStandingEvidence, 'planId' | 'interval' | 'currentPeriodEnd' | 'cancelAtPeriodEnd'>;
2
+ import { type SubscriptionRead, type SubscriptionStatus } from '../subscriptions/store';
3
+ type PaidStandingDetails = Pick<SubscriptionStandingEvidence, 'planId' | 'currentPeriodEnd' | 'cancelAtPeriodEnd'>;
4
4
  export type PlanStanding = Readonly<{
5
5
  kind: 'paid';
6
6
  } & PaidStandingDetails> | Readonly<{
@@ -16,4 +16,11 @@ export type PlanStanding = Readonly<{
16
16
  export declare function resolvePlanStanding(input: SubscriptionStandingInput): PlanStanding;
17
17
  /** Repository reads have already parsed provider evidence; never validate it again here. */
18
18
  export declare function resolveStoredPlanStanding(record: SubscriptionRead): PlanStanding;
19
+ /**
20
+ * Whether the provider still holds this subscription: it can be recovered,
21
+ * updated, cancelled or acted on by an arrangement change. This is presence,
22
+ * not entitlement: an unpaid subscription is present but grants free standing,
23
+ * so read `resolvePlanStanding` for what a plan allows.
24
+ */
25
+ export declare function hasProviderSubscriptionPresence(status: SubscriptionStatus): boolean;
19
26
  export {};
@@ -1,4 +1,3 @@
1
- export type BillingInterval = 'monthly' | 'annual';
2
1
  declare const storageBytesBrand: unique symbol;
3
2
  export type StorageBytes = number & {
4
3
  readonly [storageBytesBrand]: 'StorageBytes';
@@ -24,10 +23,11 @@ export declare function storageGigabytes(value: number): StorageBytes;
24
23
  export declare function limitedStorageQuota(maxBytes: StorageBytes): StorageQuota;
25
24
  export declare function formatStorageBytes(bytes: StorageBytes): string;
26
25
  export declare function formatStorageQuota(quota: StorageQuota): string;
27
- export declare const BILLING_PLAN_IDS: readonly ["free", "core", "solo", "studio"];
26
+ /** The ladder in reading order: the booking-page plans, then the website plans. */
27
+ export declare const BILLING_PLAN_IDS: readonly ["free", "core", "team", "solo", "studio"];
28
28
  export type BillingPlanId = (typeof BILLING_PLAN_IDS)[number];
29
- export declare const PAID_BILLING_PLAN_IDS: readonly ["core", "solo", "studio"];
30
- export type PaidBillingPlanId = (typeof PAID_BILLING_PLAN_IDS)[number];
29
+ export type PaidBillingPlanId = Exclude<BillingPlanId, 'free'>;
30
+ export declare function isPaidBillingPlanId(planId: BillingPlanId): planId is PaidBillingPlanId;
31
31
  export declare const FORMS_TIERS: readonly ["limited", "full"];
32
32
  export type FormsTier = (typeof FORMS_TIERS)[number];
33
33
  export declare const SEO_TIERS: readonly ["none", "basic", "advanced"];
@@ -73,8 +73,7 @@ export type StripeBookingCommission = Readonly<{
73
73
  }>;
74
74
  export interface PlanEntitlements {
75
75
  planId: BillingPlanId;
76
- monthlyPricePence: number | null;
77
- availableIntervals: readonly BillingInterval[];
76
+ monthlyPricePence: number;
78
77
  macadamiaSiteAllowance: Readonly<{
79
78
  includedLiveSiteCount: number;
80
79
  extraSite: Readonly<{
@@ -106,13 +105,9 @@ export interface PlanDefinition {
106
105
  name: string;
107
106
  description: string;
108
107
  defaultCurrency: string;
109
- annualDiscountPercent?: number;
110
- /** @deprecated Use database pricing instead. Will be removed in Phase 6. */
111
- stripePriceLookupKeys?: Partial<Record<BillingInterval, string>>;
112
108
  /** @deprecated Stripe products are now auto-created via ensurePlatformProduct(). */
113
109
  stripeProductId?: string;
114
110
  entitlements: PlanEntitlements;
115
- trialDays?: number;
116
111
  metadata?: Record<string, string | number | boolean>;
117
112
  }
118
113
  export interface DisplayPricing {
@@ -122,10 +117,5 @@ export interface DisplayPricing {
122
117
  amountPence: number;
123
118
  formatted: string;
124
119
  };
125
- annual: {
126
- amountPence: number;
127
- formatted: string;
128
- discountPercent?: number;
129
- };
130
120
  }
131
121
  export {};
@@ -1,4 +1,5 @@
1
1
  import { type PositiveCents, type Result } from '../../core/src/index';
2
+ import type { SubscriptionStatus } from './subscriptions/store';
2
3
  export declare const SITE_BILLING_ARRANGEMENT_KINDS: readonly ["self_serve", "managed_platform_subscription", "managed_manual"];
3
4
  export type SiteBillingArrangementKind = (typeof SITE_BILLING_ARRANGEMENT_KINDS)[number];
4
5
  export declare const MANAGED_MANUAL_BILLING_REASONS: readonly ["bank_transfer", "testing_exchange", "complimentary", "other"];
@@ -56,7 +57,7 @@ export type ActiveSiteLinkedPlatformAddOn = Readonly<{
56
57
  export type SiteBillingSubscriptionSnapshot = Readonly<{
57
58
  id: string;
58
59
  origin: BillingSubscriptionOrigin | null;
59
- status: string;
60
+ status: SubscriptionStatus;
60
61
  }> | null;
61
62
  export type SiteBillingManualReviewReason = 'ambiguous_subscription_origin' | 'active_site_linked_add_on' | 'admin_requested_manual_review' | 'missing_admin_subscription_choice' | 'practitioner_limit_exceeded' | 'live_site_allowance_exceeded' | 'subscription_action_failed' | 'multiple_platform_subscriptions' | 'platform_subscription_recovery_failed' | 'commission_reconciliation_exhausted';
62
63
  export declare const SITE_BILLING_MANUAL_REVIEW_REASONS: readonly ["ambiguous_subscription_origin", "active_site_linked_add_on", "admin_requested_manual_review", "missing_admin_subscription_choice", "practitioner_limit_exceeded", "live_site_allowance_exceeded", "subscription_action_failed", "multiple_platform_subscriptions", "platform_subscription_recovery_failed", "commission_reconciliation_exhausted"];
@@ -175,4 +176,3 @@ export declare function planSiteBillingArrangementChange(input: Readonly<{
175
176
  activeSiteLinkedAddOns: readonly ActiveSiteLinkedPlatformAddOn[];
176
177
  adminSubscriptionAction?: AdminManagedSubscriptionActionChoice | null;
177
178
  }>): SiteBillingArrangementChangePlan;
178
- export declare function isSubscriptionActiveForArrangementPlanning(status: string): boolean;
@@ -1,18 +1,16 @@
1
1
  import { type Result, type UtcIsoDateTimeString } from '../../../core/src/index';
2
- import type { BillingInterval, PaidBillingPlanId } from '../plans/types';
2
+ import type { PaidBillingPlanId } from '../plans/types';
3
3
  import type { SubscriptionStatus } from './store';
4
4
  /** Untrusted stored columns, before defaults, casts or membership projection. */
5
5
  export type RawSubscriptionStandingEvidence = Readonly<{
6
6
  planId: unknown;
7
- interval: unknown;
8
7
  status: unknown;
9
8
  currentPeriodEnd: unknown;
10
9
  cancelAtPeriodEnd: unknown;
11
10
  }>;
12
- export type SubscriptionStandingEvidenceError = 'invalid_plan' | 'invalid_interval' | 'invalid_status' | 'invalid_period_end' | 'invalid_cancellation';
11
+ export type SubscriptionStandingEvidenceError = 'invalid_plan' | 'invalid_status' | 'invalid_period_end' | 'invalid_cancellation';
13
12
  export type SubscriptionStandingEvidence = Readonly<{
14
13
  planId: PaidBillingPlanId;
15
- interval: BillingInterval;
16
14
  status: SubscriptionStatus;
17
15
  currentPeriodEnd: UtcIsoDateTimeString;
18
16
  cancelAtPeriodEnd: boolean;
@@ -1,15 +1,14 @@
1
+ import { type StripeCustomerId, type StripeSubscriptionId } from '../../../core/src/index';
1
2
  import type { ProviderSubscriptionRecord } from './evidence';
2
3
  import { type RawSubscriptionStandingEvidence, type SubscriptionStandingEvidenceError } from './standingEvidence';
3
- import type { BillingInterval } from '../plans/types';
4
4
  import type { BillingSubscriptionOrigin } from '../site-arrangements';
5
5
  export type SubscriptionStatus = 'incomplete_expired' | 'paused' | 'incomplete' | 'trialing' | 'active' | 'past_due' | 'canceled' | 'unpaid';
6
6
  export interface SubscriptionRecord {
7
- id: string;
7
+ id: StripeSubscriptionId;
8
8
  userId: string;
9
- customerId: string;
9
+ customerId: StripeCustomerId;
10
10
  planId: string;
11
11
  origin: BillingSubscriptionOrigin | null;
12
- interval: BillingInterval;
13
12
  status: SubscriptionStatus;
14
13
  currentPeriodEnd: string;
15
14
  cancelAtPeriodEnd: boolean;
@@ -18,9 +17,9 @@ export interface SubscriptionRecord {
18
17
  }
19
18
  export type InvalidSubscriptionRecord = Readonly<{
20
19
  kind: 'invalid';
21
- id: string;
20
+ id: StripeSubscriptionId;
22
21
  userId: string;
23
- customerId: string;
22
+ customerId: StripeCustomerId;
24
23
  reason: SubscriptionStandingEvidenceError;
25
24
  }>;
26
25
  export type SubscriptionRead = ProviderSubscriptionRecord | InvalidSubscriptionRecord | null;
@@ -31,18 +30,25 @@ export declare class InvalidSubscriptionEvidenceError extends Error {
31
30
  }
32
31
  /** For mutation boundaries that cannot operate without valid subscription evidence. */
33
32
  export declare function requireSubscriptionRecord(value: SubscriptionRead): ProviderSubscriptionRecord | null;
34
- export declare function readSubscriptionRecord(raw: Omit<SubscriptionRecord, keyof RawSubscriptionStandingEvidence> & RawSubscriptionStandingEvidence): ProviderSubscriptionRecord | InvalidSubscriptionRecord;
33
+ /**
34
+ * The parse boundary for a stored row: the Stripe ids arrive as the column
35
+ * strings and leave as branded ids, whether or not the rest is valid.
36
+ */
37
+ export declare function readSubscriptionRecord(raw: Omit<SubscriptionRecord, keyof RawSubscriptionStandingEvidence | 'id' | 'customerId'> & RawSubscriptionStandingEvidence & Readonly<{
38
+ id: string;
39
+ customerId: string;
40
+ }>): ProviderSubscriptionRecord | InvalidSubscriptionRecord;
35
41
  export interface SubscriptionRepository {
36
42
  upsert(record: SubscriptionRecord): Promise<void>;
37
43
  getByUserId(userId: string): Promise<SubscriptionRead>;
38
- getBySubscriptionId(subscriptionId: string): Promise<SubscriptionRead>;
39
- removeBySubscriptionId(subscriptionId: string): Promise<void>;
44
+ getBySubscriptionId(subscriptionId: StripeSubscriptionId): Promise<SubscriptionRead>;
45
+ removeBySubscriptionId(subscriptionId: StripeSubscriptionId): Promise<void>;
40
46
  }
41
47
  export declare class InMemorySubscriptionRepository implements SubscriptionRepository {
42
48
  private byUser;
43
49
  private byId;
44
50
  upsert(record: SubscriptionRecord): Promise<void>;
45
51
  getByUserId(userId: string): Promise<SubscriptionRead>;
46
- getBySubscriptionId(subscriptionId: string): Promise<SubscriptionRead>;
47
- removeBySubscriptionId(subscriptionId: string): Promise<void>;
52
+ getBySubscriptionId(subscriptionId: StripeSubscriptionId): Promise<SubscriptionRead>;
53
+ removeBySubscriptionId(subscriptionId: StripeSubscriptionId): Promise<void>;
48
54
  }
@@ -4,13 +4,11 @@
4
4
  * Integrates with EditorUiStore for autosave-enabled form management.
5
5
  * Supports blocks (per-block data), metadata, content, and linkedContent (embedded entry data).
6
6
  */
7
- import type { EditorBlockId, EditorSyncState } from '../../../core/src/index';
7
+ import { type EditorBlockId, type EditorValueRecord, type ValueSync } from '../../../core/src/index';
8
8
  import { type BlockDraftSaveability } from '../blockDraftSaveability';
9
9
  import type { FormBackend, StoreBackendOptions } from './types';
10
10
  type StoreSnapshot = {
11
- current: Record<string, unknown> | null;
12
- baseline: Record<string, unknown> | null;
13
- syncState: EditorSyncState;
11
+ sync: ValueSync<EditorValueRecord | null>;
14
12
  version?: number;
15
13
  };
16
14
  interface BlocksSlice {
@@ -18,7 +16,6 @@ interface BlocksSlice {
18
16
  setAtPath: (blockId: EditorBlockId, path: string, value: unknown) => void;
19
17
  getCurrentValues: (blockId: EditorBlockId) => Record<string, unknown> | null;
20
18
  getBlockSnapshot?: (blockId: EditorBlockId) => StoreSnapshot | null;
21
- clearError?: (blockId: EditorBlockId) => void;
22
19
  updateBlockBaseline?: (blockId: EditorBlockId, data: Record<string, unknown> | null) => void;
23
20
  }
24
21
  interface RootSlice {
@@ -27,8 +24,10 @@ interface RootSlice {
27
24
  setAtPath: (path: string, value: unknown) => void;
28
25
  getCurrentValues: () => Record<string, unknown> | null;
29
26
  getSnapshot?: () => StoreSnapshot | null;
30
- clearError?: () => void;
31
- hydrate?: (baseline: Record<string, unknown> | null, current: Record<string, unknown> | null) => void;
27
+ /** Applies server values as a refresh; `replace` throws local edits away. */
28
+ refresh?: (input: Readonly<{
29
+ values: Record<string, unknown> | null;
30
+ }>, policy: 'replace') => unknown;
32
31
  }
33
32
  interface ArrayKeysManager {
34
33
  get: (scope: string, path: string) => string[] | undefined;
@@ -133,6 +133,13 @@ export type StoreBackendOptions<TState = unknown> = {
133
133
  store: ZustandLikeStore<TState>;
134
134
  blockId?: EditorBlockId;
135
135
  validateFn?: (values: Record<string, unknown>) => ZodIssue[];
136
+ /**
137
+ * Read-only values beside the scope's own, keyed by top-level field id. A read of a key
138
+ * the values don't hold falls back to these, so a widget can watch a sibling that isn't
139
+ * a value (slug auto-generation's `statusFieldId` reads the entry's lifecycle status
140
+ * this way). They're never written, sent or edited.
141
+ */
142
+ context?: Readonly<Record<string, unknown>>;
136
143
  };
137
144
  /**
138
145
  * Type guards for discriminating backend types
@@ -9,6 +9,8 @@ export type FieldFrameProps = {
9
9
  fieldPath?: string;
10
10
  label?: ReactNode;
11
11
  required?: boolean;
12
+ /** Marks the label "optional", for forms that mark what can be left blank rather than what can't. */
13
+ optional?: boolean;
12
14
  labelClassName?: string;
13
15
  description?: ReactNode;
14
16
  descriptionClassName?: string;
@@ -29,4 +31,4 @@ export declare function FieldFrameMessage({ id, error, hint }: FieldFrameMessage
29
31
  export declare function FieldLabelText({ label, required, }: {
30
32
  label: ReactNode;
31
33
  required?: boolean;
32
- }): import("react").JSX.Element | null;
34
+ }): import("react").JSX.Element;
@@ -1,13 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import type { ResolverContext } from './system';
3
- import type { PageOutline } from './structure/schema';
4
3
  import type { SdkCustomBlock } from './system/manifest/schema';
5
4
  import type { RouteMap } from './system/transforms';
6
5
  import { type OverrideOnlyRenderMode, type ThemedRenderMode, type TokensOnlyRenderMode } from './pageRenderingMode';
7
6
  import { type PageJoinRenderer, type PageRuntimeJoin } from './pageRendererBoundaries';
8
7
  import { type BlockOverrides, type PageRendererDataContext, type SdkConfigForRenderer } from './pageRendererContracts';
9
- import { type RenderablePageOutline } from './pageRenderAdmission';
10
- export type { PageBlockRenderAdmissionError, RenderablePageBlock, RenderablePageOutline, } from './pageRenderAdmission';
8
+ import { type RenderablePageOutline, type EditorPageOutlineWithPlacement } from './pageRenderAdmission';
9
+ export type { PageBlockRenderAdmissionError, RenderablePageBlock, RenderablePageOutline, EditorRenderablePageOutline, EditorPageOutlineWithPlacement, } from './pageRenderAdmission';
11
10
  export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, OccurrenceContextData, SdkConfigForRenderer, } from './pageRendererContracts';
12
11
  export { MissingBlockOverrideError } from './pageRenderingMode';
13
12
  export type { PageBlockPosition, PageJoinRenderer, PageJoinSlot, PageRuntimeJoin, RenderedJoin, } from './pageRendererBoundaries';
@@ -30,6 +29,6 @@ type OverrideOnlyPageRendererProps<TPage> = PageRendererCommonProps<TPage> & Ove
30
29
  blockOverrides: BlockOverrides;
31
30
  };
32
31
  export type PageRendererProps = ThemedPageRendererProps<RenderablePageOutline> | TokensOnlyPageRendererProps<RenderablePageOutline> | OverrideOnlyPageRendererProps<RenderablePageOutline>;
33
- export type EditorPageRendererProps = ThemedPageRendererProps<PageOutline> | OverrideOnlyPageRendererProps<PageOutline>;
32
+ export type EditorPageRendererProps = ThemedPageRendererProps<EditorPageOutlineWithPlacement> | OverrideOnlyPageRendererProps<EditorPageOutlineWithPlacement>;
34
33
  export default function PageRenderer(props: PageRendererProps): React.JSX.Element;
35
34
  export declare function EditorPageRenderer(props: EditorPageRendererProps): React.JSX.Element;
@@ -4,3 +4,6 @@ export { EventDetailsIslandClient, type EventDetailsIslandClientProps, } from '.
4
4
  export { EventCalendarClient, type EventCalendarClientProps, } from '../system/runtime/nodes/events/EventCalendar.client';
5
5
  export { EventCombinedIslandClient, type EventCombinedClientProps, type EventCombinedIslandClientProps, } from '../system/runtime/nodes/events/EventCombined.client';
6
6
  export { EventListingClient, type EventListingClientProps, } from '../system/runtime/nodes/events/EventListing.client';
7
+ export { EventCardClient, type EventCardClientProps, } from '../system/runtime/nodes/events/shared/EventCard.client';
8
+ export { catalogueEventCardProps, type EventCardDisplayProps, } from '../system/runtime/nodes/events/shared/eventCardPresentations';
9
+ export { defaultEventListingCardProps } from '../system/runtime/nodes/events/EventListing.interactive';