@riverbankcms/sdk 0.108.0 → 0.111.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 (278) hide show
  1. package/README.md +21 -1
  2. package/dist/{PreviewEditorSidebar-BBT-kZAM.mjs → PreviewEditorSidebar-CTR6LUhN.mjs} +181 -135
  3. package/dist/{PreviewEditorUI-D69xNKT2.mjs → PreviewEditorUI-DZg15Zip.mjs} +3 -4
  4. package/dist/{PreviewQueryProvider-RRu7wyQ5.mjs → PreviewQueryProvider-kkmjklLG.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-CuDjXH6o.mjs → SdkPreviewModeRuntime-DeOTAFvR.mjs} +436 -367
  6. package/dist/{SiteChromeCustomizeContext-BQUY2dEk.mjs → SiteChromeCustomizeContext-DOSDLCiJ.mjs} +3442 -3029
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +12633 -10490
  8. package/dist/_dts/api/src/bookingAdjustments.d.ts +5 -0
  9. package/dist/_dts/api/src/bookingOperations.d.ts +4 -0
  10. package/dist/_dts/api/src/bookingRecords.d.ts +2 -17
  11. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +6 -6
  12. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -5
  13. package/dist/_dts/api/src/common/envelope.d.ts +7 -0
  14. package/dist/_dts/api/src/contentRuntime.d.ts +4 -1
  15. package/dist/_dts/api/src/courses.d.ts +31 -15
  16. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +5 -5
  17. package/dist/_dts/api/src/endpoints.d.ts +49 -4
  18. package/dist/_dts/api/src/index.d.ts +3 -3
  19. package/dist/_dts/api/src/participantMessaging.d.ts +18 -12
  20. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
  21. package/dist/_dts/api/src/sdkContracts.d.ts +259 -1
  22. package/dist/_dts/api/src/siteInfrastructure.d.ts +13 -0
  23. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +6 -6
  24. package/dist/_dts/api/src/siteOperations.d.ts +11 -19
  25. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +29 -1
  26. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +37 -31
  27. package/dist/_dts/api/src/webhooks.d.ts +98 -1
  28. package/dist/_dts/billing/src/site-arrangements.d.ts +3 -0
  29. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +9 -0
  30. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +3 -4
  31. package/dist/_dts/blocks/src/client/course-registration.d.ts +4 -1
  32. package/dist/_dts/blocks/src/client.d.ts +4 -1
  33. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -8
  34. package/dist/_dts/blocks/src/index.d.ts +4 -2
  35. package/dist/_dts/blocks/src/system/blocks/audio-player.d.ts +3 -0
  36. package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +3 -0
  37. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +3 -0
  38. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +3 -23
  39. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -1
  40. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +5 -4
  41. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +3 -23
  42. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -1
  43. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
  44. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +3 -2
  45. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -1
  46. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +5 -1
  47. package/dist/_dts/blocks/src/system/blocks/form.d.ts +3 -0
  48. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
  49. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -0
  50. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +5 -1
  51. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
  52. package/dist/_dts/blocks/src/system/blocks/single-button.d.ts +2 -1
  53. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +3 -0
  54. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
  55. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
  56. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +3 -0
  57. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  58. package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +35 -0
  59. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +16 -6
  60. package/dist/_dts/blocks/src/system/defineBlock.d.ts +9 -1
  61. package/dist/_dts/blocks/src/system/fields/button.d.ts +10 -21
  62. package/dist/_dts/blocks/src/system/fields/ctas.d.ts +10 -1
  63. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +9 -5
  64. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +31 -0
  65. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -24
  66. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -12
  67. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +29 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +2 -1
  70. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +2 -1
  71. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +2 -1
  72. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +21 -0
  73. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +4 -4
  74. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +326 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.planning.d.ts +27 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -4
  77. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -2
  78. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -1
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -4
  80. package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +2 -3
  81. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  82. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -4
  83. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +7 -6
  84. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
  85. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
  86. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +4 -2
  87. package/dist/_dts/content-editor/src/index.d.ts +12 -12
  88. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +17 -2
  89. package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +31 -0
  90. package/dist/_dts/content-model/src/content-types/scaffold.d.ts +58 -0
  91. package/dist/_dts/content-model/src/content-types/sentinels.d.ts +36 -0
  92. package/dist/_dts/content-model/src/index.d.ts +3 -0
  93. package/dist/_dts/core/src/booking-date-time.d.ts +8 -0
  94. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3278 -3196
  95. package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +3 -2
  96. package/dist/_dts/media-core/src/fileMimeDetection.d.ts +16 -0
  97. package/dist/_dts/media-core/src/fileStorage.d.ts +8 -0
  98. package/dist/_dts/media-core/src/storagePathDomain.d.ts +2 -0
  99. package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +3 -0
  100. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -0
  101. package/dist/_dts/preview-next/src/client/index.d.ts +3 -2
  102. package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +16 -0
  103. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -3
  104. package/dist/_dts/preview-next/src/client/preview/PreviewDesignOpenRequestContext.d.ts +7 -0
  105. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +5 -11
  106. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -6
  107. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -7
  108. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +7 -9
  109. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +4 -11
  110. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +8 -7
  111. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +0 -8
  112. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +1 -11
  113. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +1 -5
  114. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +2 -3
  115. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +3 -4
  116. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -1
  117. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +3 -5
  118. package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
  119. package/dist/_dts/sdk/src/bookings/types.d.ts +3 -3
  120. package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -1
  121. package/dist/_dts/sdk/src/cli/commands/compare.d.ts +1 -1
  122. package/dist/_dts/sdk/src/cli/commands/deploy.d.ts +1 -1
  123. package/dist/_dts/sdk/src/cli/commands/drafts.d.ts +18 -0
  124. package/dist/_dts/sdk/src/cli/commands/entry.d.ts +15 -0
  125. package/dist/_dts/sdk/src/cli/commands/init-docs.d.ts +2 -2
  126. package/dist/_dts/sdk/src/cli/commands/publish-all.d.ts +1 -1
  127. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -0
  128. package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +1 -1
  129. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +3 -0
  130. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +12 -1
  131. package/dist/_dts/sdk/src/cli/commands/setup.d.ts +1 -0
  132. package/dist/_dts/sdk/src/cli/commands/style.d.ts +3 -2
  133. package/dist/_dts/sdk/src/cli/commands/verify.d.ts +1 -0
  134. package/dist/_dts/sdk/src/cli/helpers.d.ts +22 -1
  135. package/dist/_dts/sdk/src/cli/index.d.ts +4 -0
  136. package/dist/_dts/sdk/src/cli/output.d.ts +88 -0
  137. package/dist/_dts/sdk/src/cli/program.d.ts +29 -0
  138. package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
  139. package/dist/_dts/sdk/src/client/management/catalog.d.ts +10 -0
  140. package/dist/_dts/sdk/src/client/management/http.d.ts +7 -1
  141. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  142. package/dist/_dts/sdk/src/client/management/types.d.ts +45 -20
  143. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -15
  144. package/dist/_dts/sdk/src/date-time/index.d.ts +68 -0
  145. package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -1
  146. package/dist/_dts/sdk/src/version.d.ts +1 -1
  147. package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
  148. package/dist/_dts/sdk/src/webhooks/verify.d.ts +3 -3
  149. package/dist/_dts/site-commands/src/commands.d.ts +1010 -817
  150. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  151. package/dist/_dts/theme-core/src/buttons/core.d.ts +15 -46
  152. package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +147 -0
  153. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +2 -3
  154. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/buttons/index.d.ts +2 -1
  156. package/dist/_dts/theme-core/src/buttons/presets.d.ts +4 -25
  157. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +100 -0
  158. package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +16 -0
  159. package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +80 -0
  160. package/dist/_dts/theme-core/src/buttons/styles/index.d.ts +3 -0
  161. package/dist/_dts/theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.d.ts +49 -0
  162. package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +67 -0
  163. package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +649 -0
  164. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +753 -0
  165. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +69 -0
  166. package/dist/_dts/theme-core/src/buttons/types.d.ts +101 -83
  167. package/dist/_dts/theme-core/src/cards/types.d.ts +16 -16
  168. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  169. package/dist/_dts/theme-core/src/gradients/presets.d.ts +200 -8
  170. package/dist/_dts/theme-core/src/gradients/utils.d.ts +6 -2
  171. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +87 -126
  172. package/dist/_dts/theme-core/src/mock-themes/modern-minimal.d.ts +1 -1
  173. package/dist/_dts/theme-core/src/navigation/types.d.ts +2 -2
  174. package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -2
  175. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +5 -8
  176. package/dist/_dts/theme-core/src/palette/index.d.ts +0 -1
  177. package/dist/_dts/theme-core/src/schema.d.ts +112 -138
  178. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  179. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +26 -24
  180. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +10 -10
  181. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +19 -153
  182. package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -1
  183. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -2
  184. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +13 -6
  185. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +8 -9
  186. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +33 -12
  187. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +2 -2
  188. package/dist/_dts/ui/src/palette/hex.d.ts +3 -3
  189. package/dist/cli/index.mjs +68396 -67339
  190. package/dist/cli/init-docs/content/cli-reference.md +50 -7
  191. package/dist/cli/init-docs/content/content-management.md +7 -4
  192. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +1 -1
  193. package/dist/cli/init-docs/content/workflow-publish.md +5 -1
  194. package/dist/client/{DiscountCodeDisclosure-D6TOf6Hi.mjs → DiscountCodeDisclosure-C4xvTBux.mjs} +1 -1
  195. package/dist/client/{EventCombined.client-Dao3zxRk.mjs → EventCombined.client-Cr7G131j.mjs} +2 -3
  196. package/dist/client/{EventListing.client-B2NNt4y1.mjs → EventListing.client-CAjbseNy.mjs} +2 -2
  197. package/dist/client/{LeafletStaticMap-BhwFo16w.mjs → LeafletStaticMap-BMlWfwz3.mjs} +1 -1
  198. package/dist/client/{MagicLinkForm-BWnB7cMR.mjs → MagicLinkForm-ChdFz96y.mjs} +1 -2
  199. package/dist/client/{StepIndicator-TzRiQ0BY.mjs → StepIndicator-7D3GaBeM.mjs} +2 -2
  200. package/dist/client/{accordion-BPy-AJ4_.mjs → accordion-D8JTs2Si.mjs} +1 -1
  201. package/dist/client/{bookingForm-BL4PGZds.mjs → bookingForm-H3DCRBHs.mjs} +6 -7
  202. package/dist/client/bookings.mjs +4649 -2767
  203. package/dist/client/{carousel-C2b7Cn9-.mjs → carousel-DMr_QWlz.mjs} +1 -1
  204. package/dist/client/{cart-BQcbXIVD.mjs → cart-DWMbfBdR.mjs} +3 -3
  205. package/dist/client/{checkout-DEmpGRJu.mjs → checkout-zmfdkXLx.mjs} +3 -3
  206. package/dist/client/client.mjs +3195 -2488
  207. package/dist/client/{colorStyles-jZS6KfkP.mjs → colorStyles-gcTh5yZT.mjs} +2 -41
  208. package/dist/client/{colorTokenParts-CMugwvX_.mjs → colorTokenParts-FSS3al6l.mjs} +31 -1
  209. package/dist/client/{courseRegistration-BqRZPmsq.mjs → courseRegistration-Z_mn18jy.mjs} +100 -37
  210. package/dist/client/{eventCalendar-B8N_tSl5.mjs → eventCalendar-CYp0YJGF.mjs} +4 -5
  211. package/dist/client/{eventCombined-Gjn6gtq7.mjs → eventCombined-rKyYZUa9.mjs} +2 -2
  212. package/dist/client/{eventDetails-M-VCxA-r.mjs → eventDetails-X0ZaUuMj.mjs} +3 -3
  213. package/dist/client/{eventListing-DR19hqYi.mjs → eventListing-W1SuL7EP.mjs} +2 -2
  214. package/dist/client/{eventRegistration-BR02a0k3.mjs → eventRegistration-ClWricui.mjs} +6 -7
  215. package/dist/client/{form-LY2xIbwg.mjs → form--eKPwAAD.mjs} +1 -2
  216. package/dist/client/{headerSection-CYwwXJfh.mjs → headerSection-BSeGr-FS.mjs} +2 -3
  217. package/dist/client/hooks.mjs +2169 -2093
  218. package/dist/client/{locationMap-DWnBXrFq.mjs → locationMap-BpOrtNYn.mjs} +8 -5
  219. package/dist/client/{media-DHtSxS5V.mjs → media-DoF0dcVx.mjs} +4 -3
  220. package/dist/client/{newsletterForm-D9s-fQ2P.mjs → newsletterForm-Bt7it7Dy.mjs} +1 -2
  221. package/dist/client/{pricing-DDq80oYc.mjs → pricing-BTjSDDr4.mjs} +1 -1
  222. package/dist/client/{productDetail-B0SbWd45.mjs → productDetail-ICnVTcCg.mjs} +3 -3
  223. package/dist/client/{productList-PwYlZn0y.mjs → productList-ZHr6D604.mjs} +3 -3
  224. package/dist/client/{propsDecoder-BRWBiH7i.mjs → propsDecoder-wWN0tBDF.mjs} +2484 -223
  225. package/dist/client/rendering/client.mjs +2532 -2144
  226. package/dist/client/rendering/islands.mjs +20 -20
  227. package/dist/client/rendering.mjs +3322 -2462
  228. package/dist/client/{shop-CMwZPYME.mjs → shop-C1u_BUn0.mjs} +5 -6
  229. package/dist/client/{shop-commerce-BuxsFate.mjs → shop-commerce-CleZdRha.mjs} +5 -6
  230. package/dist/client/{shop-commerce-store-boYlEJ91.mjs → shop-commerce-store-ycnoB2Ce.mjs} +1 -1
  231. package/dist/client/{shopShared-D2naaOes.mjs → shopShared-CPhByt2a.mjs} +3 -3
  232. package/dist/client/{useDiscountCodeUi-D9RHpVoj.mjs → useDiscountCodeUi-cStSQI6C.mjs} +1 -1
  233. package/dist/client/{useEventFilters-igGiK1re.mjs → useEventFilters-DKPN7hSY.mjs} +46 -70
  234. package/dist/client/{usePolling-CI7MbsFB.mjs → usePolling-BKAd6pkZ.mjs} +2 -2
  235. package/dist/preview-next/before-render.mjs +72 -6
  236. package/dist/preview-next/client/runtime.mjs +4 -4
  237. package/dist/preview-next/middleware.mjs +72 -6
  238. package/dist/{previewAuthStore-a_cBD28m.mjs → previewAuthStore-BkT1D06A.mjs} +72 -6
  239. package/dist/{sdk-runtime-MBzD-GmP.mjs → sdk-runtime-hu3wr3ng.mjs} +2 -2
  240. package/dist/{separator-5ahRBC85.mjs → separator-Bln8izQ9.mjs} +1 -1
  241. package/dist/server/components.mjs +3123 -2391
  242. package/dist/server/config-validation.mjs +2169 -2093
  243. package/dist/server/config.mjs +2169 -2093
  244. package/dist/server/data.mjs +2169 -2093
  245. package/dist/server/date-time.mjs +386 -0
  246. package/dist/server/index.mjs +73 -7
  247. package/dist/server/next/revalidate.mjs +53 -1
  248. package/dist/server/next.mjs +3195 -2397
  249. package/dist/server/page-converter.mjs +2192 -1945
  250. package/dist/server/prebuild.mjs +1 -1
  251. package/dist/server/rendering/server.mjs +2844 -2325
  252. package/dist/server/rendering.mjs +3123 -2391
  253. package/dist/server/routing.mjs +2269 -2149
  254. package/dist/server/server.mjs +2244 -2102
  255. package/dist/server/theme-bridge.mjs +2720 -1887
  256. package/dist/server/theme.mjs +1669 -1322
  257. package/dist/server/webhooks.mjs +54 -2
  258. package/dist/styles/index.css +5 -0
  259. package/package.json +7 -1
  260. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +0 -16
  261. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +0 -16
  262. package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +0 -16
  263. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +0 -16
  264. package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +0 -20
  265. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +0 -172
  266. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +0 -16
  267. package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +0 -22
  268. package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +0 -16
  269. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +0 -16
  270. package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +0 -17
  271. package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +0 -17
  272. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +0 -16
  273. package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +0 -17
  274. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +0 -273
  275. package/dist/_dts/theme-core/src/buttons/presets/types.d.ts +0 -88
  276. package/dist/_dts/theme-core/src/buttons/utils/contrast.d.ts +0 -38
  277. package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +0 -57
  278. package/dist/client/buttons-EBjyslaX.mjs +0 -1852
@@ -1,21 +1,21 @@
1
- import type { CourseEnrollmentStatus } from "./courses";
1
+ import type { CourseEnrollmentStatus } from './courses';
2
2
  export type ParticipantMessageTarget = {
3
- kind: "event_series";
3
+ kind: 'event_series';
4
4
  seriesId: string;
5
5
  } | {
6
- kind: "event_occurrence";
6
+ kind: 'event_occurrence';
7
7
  seriesId: string;
8
8
  occurrenceId: string;
9
9
  } | {
10
- kind: "course";
10
+ kind: 'course';
11
11
  courseId: string;
12
12
  includeStatuses: CourseParticipantMessageStatus[];
13
13
  };
14
- export type CourseParticipantMessageStatus = Extract<CourseEnrollmentStatus, "enrolled" | "completed">;
14
+ export type CourseParticipantMessageStatus = Extract<CourseEnrollmentStatus, 'enrolled' | 'completed'>;
15
15
  export type GetParticipantMessageRecipientsRequest = {
16
16
  target: ParticipantMessageTarget;
17
17
  };
18
- export type ParticipantRecipientExclusionReason = "missing_email" | "cancelled" | "waitlist" | "duplicate_email" | "payment_pending" | "context_cancelled" | "not_in_scope";
18
+ export type ParticipantRecipientExclusionReason = 'missing_email' | 'cancelled' | 'waitlist' | 'duplicate_email' | 'payment_pending' | 'context_cancelled' | 'not_in_scope';
19
19
  export type ParticipantMessageRecipientPreview = {
20
20
  email: string;
21
21
  displayName: string | null;
@@ -38,7 +38,7 @@ export type ParticipantMessageRecipientSummary = {
38
38
  excludedByReason: Partial<Record<ParticipantRecipientExclusionReason, number>>;
39
39
  duplicateEmailCount: number;
40
40
  copyWarning: {
41
- kind: "large_copy_list";
41
+ kind: 'large_copy_list';
42
42
  threshold: number;
43
43
  count: number;
44
44
  } | null;
@@ -53,15 +53,21 @@ export type ParticipantMessageRecipientsResponse = {
53
53
  copyText: string;
54
54
  };
55
55
  export type ParticipantMessageEmailReadiness = {
56
- status: "ready";
56
+ status: 'ready';
57
57
  checkedAt: string;
58
+ identity: ParticipantMessageEmailIdentity;
58
59
  } | {
59
- status: "blocked";
60
+ status: 'blocked';
60
61
  checkedAt: string;
61
62
  issues: ParticipantMessageEmailReadinessIssue[];
62
63
  };
64
+ export type ParticipantMessageEmailIdentity = {
65
+ sender: string;
66
+ fromName: string;
67
+ replyToEmail: string | null;
68
+ };
63
69
  export type ParticipantMessageEmailReadinessIssue = {
64
- code: "email_transport_unavailable" | "email_identity_unavailable";
70
+ code: 'email_transport_unavailable' | 'email_identity_unavailable';
65
71
  message: string;
66
72
  };
67
73
  export type SendParticipantMessageRequest = {
@@ -90,7 +96,7 @@ export type ParticipantMessageSendResponse = {
90
96
  queuedCount: number;
91
97
  failedCount: number;
92
98
  duplicateCount: number;
93
- status: "sent" | "queued" | "partial_failure" | "failed" | "duplicate";
99
+ status: 'sent' | 'queued' | 'partial_failure' | 'failed' | 'duplicate';
94
100
  };
95
101
  export type ListParticipantMessageHistoryRequest = {
96
102
  target: ParticipantMessageTarget;
@@ -104,7 +110,7 @@ export type ParticipantMessageHistoryEntry = {
104
110
  queuedCount: number;
105
111
  failedCount: number;
106
112
  duplicateCount: number;
107
- status: "sent" | "queued" | "partial_failure" | "failed" | "duplicate";
113
+ status: 'sent' | 'queued' | 'partial_failure' | 'failed' | 'duplicate';
108
114
  createdAt: string;
109
115
  updatedAt: string;
110
116
  };
@@ -302,6 +302,7 @@ export type PublicExperienceAPIEndpoints = {
302
302
  id: string;
303
303
  startsAt: string;
304
304
  endsAt: string;
305
+ timeZone: string;
305
306
  capacityOverride?: number | null;
306
307
  overrides?: Record<string, unknown> | null;
307
308
  }>;
@@ -1,4 +1,5 @@
1
- import type { FieldDefinition, FieldDefinitionInput, SdkCustomBlock, SdkCustomBlockInput, SiteFooterContent, Theme } from '../../blocks/src/index';
1
+ import type { BlockContentSource, BlockContentSourceKind, FieldDefinition, FieldDefinitionInput, SdkCustomBlock, SdkCustomBlockInput, SiteFooterContent, Theme } from '../../blocks/src/index';
2
+ import type { ContentTypeSchema } from '../../content-model/src/index';
2
3
  import type { LinkPayload } from './navigation/types';
3
4
  import type { JsonValue } from './shared-contracts';
4
5
  import type { SdkEventPricing, SdkEventPricingInput } from './sdk-event-pricing';
@@ -405,6 +406,14 @@ export type SdkPatchPageBlockOperation = Readonly<{
405
406
  export interface SdkPatchPageBlockBody {
406
407
  operations: readonly SdkPatchPageBlockOperation[];
407
408
  baseContentHash: string;
409
+ /**
410
+ * Optional catalog-coherence precondition: the `activeTheme.selectionVersion`
411
+ * from `catalog/blocks`. When provided and the site's current style-selection
412
+ * version differs (the theme changed since the catalog was read), the write is
413
+ * rejected with 409 and error tag `STALE_CATALOG` instead of risking a
414
+ * confusing validation failure on a variant the stale catalog advertised.
415
+ */
416
+ baseSelectionVersion?: number;
408
417
  }
409
418
  export declare const SDK_PATCH_STALE_CONTENT_FIELD = "baseContentHash";
410
419
  export declare const SDK_PATCH_STALE_CONTENT_CODE = "STALE_CONTENT";
@@ -421,12 +430,28 @@ export interface SdkPatchPageBlockStaleContentFieldError {
421
430
  /** Exactly the current draft content hash. */
422
431
  message: string;
423
432
  }
433
+ /**
434
+ * Non-blocking warning emitted on a block write. Currently used for button-variant
435
+ * values that ARE valid manifest options but the ACTIVE theme does not implement:
436
+ * the write is accepted (themes can change under content), but the variant will not
437
+ * render until a personality that provides it is selected.
438
+ */
439
+ export interface SdkBlockContentWarning {
440
+ /** Data path of the value (e.g. `ctas[0].variant`). */
441
+ field: string;
442
+ code: 'theme-unavailable-variant';
443
+ message: string;
444
+ /** The offending value. */
445
+ value: string;
446
+ }
424
447
  /**
425
448
  * Success response mirrors the block GET shape; `block.contentHash` is the
426
449
  * NEW draft content hash (use it as `baseContentHash` for the next patch).
427
450
  */
428
451
  export interface SdkPatchPageBlockResponse {
429
452
  block: SdkGetPageBlock;
453
+ /** Non-blocking content warnings (e.g. theme-unavailable button variants). */
454
+ warnings?: SdkBlockContentWarning[];
430
455
  }
431
456
  export interface SdkPullNavigationItem {
432
457
  id: string;
@@ -457,6 +482,8 @@ export interface SdkPullNavigationResponse {
457
482
  meta: SdkPullMeta;
458
483
  }
459
484
  export interface SdkPullSettings {
485
+ /** Site title (stored on `sites.title`). Present on pull; writable via PATCH. */
486
+ siteTitle?: string;
460
487
  homepageId: string | null;
461
488
  seoDefaults: {
462
489
  title?: string;
@@ -524,6 +551,235 @@ export interface SdkPullThemeResponse {
524
551
  selectionVersion: number;
525
552
  meta: SdkPullThemeMeta;
526
553
  }
554
+ /** One curated-style recommendation choice; the catalog lists them in preference order. */
555
+ export interface SdkCatalogChoice {
556
+ id: string;
557
+ note?: string;
558
+ }
559
+ export interface SdkCatalogHeaderLayoutStyleChoice {
560
+ layoutId: string;
561
+ styleId: string;
562
+ }
563
+ export interface SdkCatalogSiteStyle {
564
+ id: string;
565
+ name: string;
566
+ description: string;
567
+ /** Button style selections in preference order (first = default). */
568
+ buttonStyleChoices: SdkCatalogButtonStyleSelection[];
569
+ defaultButtonStyleSelection: SdkCatalogButtonStyleSelection;
570
+ /** Curated palette recommendations (value-keys) in preference order (first = default). */
571
+ paletteRecommendations: SdkCatalogChoice[];
572
+ defaultPaletteValueKey: string;
573
+ /**
574
+ * Concrete typography the style applies. NOTE: current theme-core carries a resolved
575
+ * `typography` object per style, not a preset-choice list (see deviation notes).
576
+ */
577
+ typography: Theme['typography'];
578
+ /** Canonical header layout+style pair (replaces the older single `defaultHeaderSelection` look id). */
579
+ defaultHeaderSelection: SdkCatalogHeaderLayoutStyleChoice;
580
+ recommendedHeaderLookIds: string[];
581
+ recommendedFooterLookIds: string[];
582
+ }
583
+ export interface SdkCatalogButtonStyleSelection {
584
+ styleId: string;
585
+ parameters: Record<string, unknown>;
586
+ note?: string;
587
+ }
588
+ export interface SdkCatalogButtonStyle {
589
+ id: string;
590
+ accessibilityLabel: string;
591
+ tags: Record<string, string>;
592
+ defaultParameters: Record<string, unknown>;
593
+ controls: Array<{
594
+ kind: 'choice';
595
+ parameter: string;
596
+ label: string;
597
+ options: Array<{
598
+ value: string;
599
+ label: string;
600
+ }>;
601
+ }>;
602
+ }
603
+ export interface SdkCatalogPalette {
604
+ /** Human-readable source alias. */
605
+ authoringKey: string;
606
+ /** Canonical persistence/runtime identity (colors+mode hash). */
607
+ valueKey: string;
608
+ name: string;
609
+ description: string;
610
+ mode: string;
611
+ }
612
+ export interface SdkCatalogTypographyPreset {
613
+ /** Recipe id: `serif-editorial` | `clean-sans` | `classic-serif` | `friendly-sans`. */
614
+ id: string;
615
+ /** Concrete typography this preset resolves to. */
616
+ typography: Theme['typography'];
617
+ }
618
+ /**
619
+ * The site's current resolved selection, so one catalog read primes an apply.
620
+ * Carries everything the apply endpoint requires — including `siteStyleId`
621
+ * (read from the active compiled theme). This is the single wire shape;
622
+ * services map to it explicitly (no structural pass-through of domain rows).
623
+ */
624
+ export interface SdkCatalogCurrentSelection {
625
+ /** Pass as `baseSelectionVersion` on apply; 0 when no selection exists. */
626
+ selectionVersion: number;
627
+ /** The curated site style the active theme was compiled from (null when unknown). */
628
+ siteStyleId: string | null;
629
+ buttonStyleSelection: SdkCatalogButtonStyleSelection | null;
630
+ paletteValueKey: string | null;
631
+ headerLayoutId: string | null;
632
+ headerStyleId: string | null;
633
+ headerLookId: string | null;
634
+ footerLookId: string | null;
635
+ }
636
+ export interface SdkCatalogThemeResponse {
637
+ siteStyles: SdkCatalogSiteStyle[];
638
+ buttonStyles: SdkCatalogButtonStyle[];
639
+ palettes: SdkCatalogPalette[];
640
+ typographyPresets: SdkCatalogTypographyPreset[];
641
+ headerLookIds: string[];
642
+ footerLookIds: string[];
643
+ headerLayoutIds: string[];
644
+ headerStyleIds: string[];
645
+ currentSelection: SdkCatalogCurrentSelection;
646
+ meta: SdkPullMeta;
647
+ }
648
+ /**
649
+ * Content-source classification, derived DIRECTLY from the blocks package's
650
+ * authoring type (`BlockContentSource` / `blockContentSourceKinds`) so the wire
651
+ * union can never drift from what block definitions declare.
652
+ */
653
+ export type SdkCatalogContentSourceKind = BlockContentSourceKind;
654
+ export type SdkCatalogContentSource = BlockContentSource;
655
+ export interface SdkCatalogSelectOption {
656
+ value: string;
657
+ label: string;
658
+ }
659
+ export interface SdkCatalogField {
660
+ id: string;
661
+ type: string;
662
+ label?: string;
663
+ required: boolean;
664
+ /** Present for `select` fields. */
665
+ options?: SdkCatalogSelectOption[];
666
+ /** Present for container fields (group/repeater/tabGroup/modal). */
667
+ fields?: SdkCatalogField[];
668
+ }
669
+ /** Machine-readable reason a manifest variant option is not currently renderable. */
670
+ export type SdkCatalogVariantUnavailableReason = 'not-implemented-by-personality';
671
+ /** Where a resolved variant value originates. */
672
+ export type SdkCatalogVariantSource = 'manifest' | 'theme' | 'both';
673
+ /**
674
+ * One button-variant option, discriminated on `availability`:
675
+ * - `available` — the active theme implements it (never carries a reason).
676
+ * - `unavailable` — a manifest option the active theme does NOT implement;
677
+ * always carries a machine-readable `reason`. Writes accept it
678
+ * with a warning.
679
+ * - `unknown` — the site has no active theme/button system, so availability
680
+ * cannot be determined; only manifest options appear.
681
+ */
682
+ export type SdkCatalogVariantOption = Readonly<{
683
+ value: string;
684
+ availability: 'available';
685
+ source: SdkCatalogVariantSource;
686
+ }> | Readonly<{
687
+ value: string;
688
+ availability: 'unavailable';
689
+ source: 'manifest';
690
+ reason: SdkCatalogVariantUnavailableReason;
691
+ }> | Readonly<{
692
+ value: string;
693
+ availability: 'unknown';
694
+ source: 'manifest';
695
+ }>;
696
+ export interface SdkCatalogVariantAvailability {
697
+ /** Structural field-id path of the button-variant field (e.g. `ctas.variant`). */
698
+ fieldPath: string;
699
+ variants: SdkCatalogVariantOption[];
700
+ }
701
+ export interface SdkCatalogBlock {
702
+ identifier: string;
703
+ title: string;
704
+ category?: string;
705
+ contentSource: SdkCatalogContentSource;
706
+ fields: SdkCatalogField[];
707
+ /** Button-variant availability against the active theme (shared resolver). */
708
+ variantAvailability: SdkCatalogVariantAvailability[];
709
+ }
710
+ /**
711
+ * The active-theme context the blocks catalog was computed against. `selectionVersion`
712
+ * doubles as an optional write precondition: pass it as `baseSelectionVersion` on block
713
+ * upsert/PATCH to fail loudly (409, tag `STALE_CATALOG`) if the theme changed since
714
+ * the catalog was read — a catalog-advertised theme-only variant may otherwise be
715
+ * rejected after a mid-air theme change.
716
+ */
717
+ export type SdkCatalogActiveTheme = Readonly<{
718
+ state: 'active';
719
+ selectionVersion: number;
720
+ }> | Readonly<{
721
+ state: 'none';
722
+ }>;
723
+ export interface SdkCatalogBlocksResponse {
724
+ blocks: SdkCatalogBlock[];
725
+ /** Theme context the variant availability was computed against. */
726
+ activeTheme: SdkCatalogActiveTheme;
727
+ meta: SdkPullMeta;
728
+ }
729
+ export interface SdkCatalogContentType {
730
+ key: string;
731
+ name: string;
732
+ hasPages: boolean;
733
+ routePattern: string | null;
734
+ isSingleton: boolean;
735
+ /** Normalized stored field DSL (NOT generated JSON Schema). */
736
+ schema: ContentTypeSchema;
737
+ }
738
+ export interface SdkCatalogContentTypesResponse {
739
+ contentTypes: SdkCatalogContentType[];
740
+ meta: SdkPullMeta;
741
+ }
742
+ export interface SdkCapabilityCatalogLink {
743
+ /** Relative path under `/api/sdk/{siteId}`. */
744
+ path: string;
745
+ /** Stable content hash of the catalog body, for caching + drift detection. */
746
+ contentHash: string;
747
+ }
748
+ export interface SdkCapabilitiesResponse {
749
+ apiVersion: string;
750
+ catalogs: {
751
+ theme: SdkCapabilityCatalogLink;
752
+ blocks: SdkCapabilityCatalogLink;
753
+ contentTypes: SdkCapabilityCatalogLink;
754
+ };
755
+ meta: SdkPullMeta;
756
+ }
757
+ /** One provenance ledger row: a resource a demo recipe run created/linked on this site. */
758
+ export interface SdkDemoSeedProvenanceEntry {
759
+ id: string;
760
+ /** The recipe run that created/linked the resource. */
761
+ runId: string;
762
+ /** The command ref within the run (e.g. `content:testimonial-ava`). */
763
+ commandKey: string;
764
+ /** The command type (e.g. `upsertContentEntry`). */
765
+ commandType: string;
766
+ /** Closed resource kind (e.g. `content`, `customer`, `page`, `staff`). */
767
+ resourceKind: string;
768
+ /** The recipe resource ref (e.g. `content:testimonial-ava`). */
769
+ resourceRef: string;
770
+ /** The concrete resource id. */
771
+ resourceId: string;
772
+ /**
773
+ * `created` — the run authored this resource (a cleanup candidate);
774
+ * `existing` — the run only linked/configured a pre-existing resource.
775
+ */
776
+ disposition: 'created' | 'existing';
777
+ createdAt: string;
778
+ }
779
+ export interface SdkDemoContentResponse {
780
+ items: SdkDemoSeedProvenanceEntry[];
781
+ meta: SdkPullMeta;
782
+ }
527
783
  export interface SdkPullFooterMeta extends SdkPullMeta {
528
784
  updatedAt: string | null;
529
785
  }
@@ -824,6 +1080,8 @@ export interface SdkPullDraftsResponse {
824
1080
  }
825
1081
  export interface SdkUpsertBlockResponse {
826
1082
  block: SdkManagementBlock;
1083
+ /** Non-blocking content warnings (e.g. theme-unavailable button variants). */
1084
+ warnings?: SdkBlockContentWarning[];
827
1085
  }
828
1086
  export interface SdkDeleteResponse {
829
1087
  deleted: true;
@@ -250,11 +250,16 @@ export type CreateSitePreviewKeyResponse = {
250
250
  keyId: string;
251
251
  message: string;
252
252
  };
253
+ /** Access mode for a management API key: read-only or full write access. */
254
+ export type ManagementKeyAccessMode = 'read' | 'write';
253
255
  export type ManagementKeyRecord = {
254
256
  id: string;
255
257
  name: string | null;
256
258
  keyPrefix: string;
257
259
  keyHint: string | null;
260
+ accessMode: ManagementKeyAccessMode;
261
+ /** ISO timestamp when the key expires, or null if it never expires. */
262
+ expiresAt: string | null;
258
263
  createdAt: string;
259
264
  lastUsedAt: string | null;
260
265
  };
@@ -263,10 +268,18 @@ export type ListManagementKeysResponse = {
263
268
  };
264
269
  export type CreateManagementKeyRequest = {
265
270
  name?: string;
271
+ /** Defaults to 'write' when omitted (preserves prior all-access behavior). */
272
+ accessMode?: ManagementKeyAccessMode;
273
+ /** Optional ISO timestamp; must be in the future. Null/omitted = never expires. */
274
+ expiresAt?: string | null;
266
275
  };
267
276
  export type CreateManagementKeyResponse = {
268
277
  key: string;
269
278
  keyId: string;
279
+ /** Normalized access mode the key was issued with. */
280
+ accessMode: ManagementKeyAccessMode;
281
+ /** Normalized expiry (ISO) or null when the key never expires. */
282
+ expiresAt: string | null;
270
283
  message: string;
271
284
  };
272
285
  export type RevokeManagementKeyRequest = {
@@ -10,7 +10,7 @@ import type { GetVersionHistoryResponse, ListVersionHistoryResponse, RestoreVers
10
10
  import type { ApplyContentTemplateAddonRequest, ContentTemplateDetailsResponse, CreateTemplateBlockRequest, GetTransformsResponse, ReorderTemplateBlocksRequest, SerializedContentTypeSummary, UpdateContentTemplateBlockBindingsRequest, UpdateContentTemplateBlockRequest } from './contentTypes';
11
11
  import type { LinkPayload, RoutableContentItem, SitemapRouteItem } from './navigation/types';
12
12
  import type { RouteMetadataPayload, RouteMetadataResponse } from './routes';
13
- import type { PageSurfaceEditorDocument } from './contentRuntime';
13
+ import type { PageSurfaceEditorDocument, PublishEventOfferingPageSurfaceResponse } from './contentRuntime';
14
14
  import type { ContentRouteRecord } from './types';
15
15
  import type { SiteAnalyticsSettingsPayload, SiteAnalyticsSettingsResponse } from './siteAnalytics';
16
16
  import type { SiteBannerSettingsPayload, SiteBannerSettingsResponse } from './siteBanner';
@@ -289,6 +289,10 @@ export type SiteManagementAPIEndpoints = {
289
289
  }, {
290
290
  route: ContentRouteRecord;
291
291
  }>;
292
+ publishEventOfferingPageSurface: APIEndpoint<never, {
293
+ siteId: string;
294
+ pageSurfaceId: string;
295
+ }, PublishEventOfferingPageSurfaceResponse>;
292
296
  runSdkWorkflow: APIEndpoint<never, {
293
297
  siteId: string;
294
298
  type: string;
@@ -1054,12 +1058,8 @@ export type SiteManagementAPIEndpoints = {
1054
1058
  siteId: string;
1055
1059
  ids?: string;
1056
1060
  }, {
1057
- services: Array<{
1058
- id: string;
1059
- siteId: string;
1060
- title: string;
1061
+ services: Array<Omit<PublicBookingService, 'description'> & {
1061
1062
  description?: string;
1062
- durationMinutes?: number;
1063
1063
  }>;
1064
1064
  }>;
1065
1065
  getPublicBookingService: APIEndpoint<never, {
@@ -1,11 +1,12 @@
1
1
  import type { AppointmentBookingQuestionsTask } from "./bookingOperations";
2
2
  import type { SiteRole } from "./siteMembers";
3
- import type { AdminManagedSubscriptionActionChoice, ManagedManualBillingReason, SiteBillingArrangement, SiteBillingArrangementKind, SiteBillingArrangementSubscriptionAction, SiteBillingManualReviewPayload, SiteBillingManualReviewResolutionAction, SiteBillingManualReviewStatus } from "../../billing/src/site-arrangements";
3
+ import type { AdminManagedSubscriptionActionChoice, ManagedManualBillingReason, SiteBillingArrangement, SiteBillingArrangementChangeOrigin, SiteBillingArrangementKind, SiteBillingArrangementSubscriptionAction, SiteBillingManualReviewPayload, SiteBillingManualReviewResolutionAction, SiteBillingManualReviewStatus } from "../../billing/src/site-arrangements";
4
4
  /**
5
5
  * Site Operations Contracts
6
6
  *
7
7
  * These types cover admin-facing site operations and operational responses:
8
- * site-cost admin actions, dev-tools state, cron job summaries, site logs,
8
+ * site-billing-arrangement admin actions, dev-tools state, cron job summaries,
9
+ * site logs,
9
10
  * manual site scaffolding, and shop-order admin workflows.
10
11
  *
11
12
  * Note: Do NOT use these API types as validation schemas. They document wire
@@ -67,7 +68,7 @@ export type AccountUpdatePasswordResponse = {
67
68
  ok: boolean;
68
69
  passwordSetAt?: string | null;
69
70
  };
70
- export type AdminSiteCostResponse = {
71
+ export type AdminSiteBillingArrangementResponse = {
71
72
  site: {
72
73
  id: string;
73
74
  name: string;
@@ -84,16 +85,6 @@ export type AdminSiteCostResponse = {
84
85
  email: string;
85
86
  } | null;
86
87
  history: Array<{
87
- id: string;
88
- previousCostCents: number;
89
- newCostCents: number;
90
- changedBy: string;
91
- reason: string | null;
92
- createdAt: string;
93
- formattedPreviousCost: string;
94
- formattedNewCost: string;
95
- }>;
96
- arrangementHistory: Array<{
97
88
  id: string;
98
89
  previousArrangement: SiteBillingArrangementKind;
99
90
  newArrangement: SiteBillingArrangementKind;
@@ -107,13 +98,14 @@ export type AdminSiteCostResponse = {
107
98
  reason: string | null;
108
99
  subscriptionAction: SiteBillingArrangementSubscriptionAction;
109
100
  subscriptionActionResult: unknown;
101
+ changeOrigin: SiteBillingArrangementChangeOrigin;
110
102
  createdAt: string;
111
103
  formattedPreviousCost: string;
112
104
  formattedNewCost: string;
113
105
  }>;
114
- manualReviews: AdminSiteCostManualReview[];
106
+ manualReviews: AdminSiteBillingArrangementManualReview[];
115
107
  };
116
- export type AdminSiteCostManualReview = SiteBillingManualReviewPayload & {
108
+ export type AdminSiteBillingArrangementManualReview = SiteBillingManualReviewPayload & {
117
109
  id: string;
118
110
  status: SiteBillingManualReviewStatus;
119
111
  resolutionAction: SiteBillingManualReviewResolutionAction | null;
@@ -130,12 +122,12 @@ export type AdminSiteBillingArrangementRequest = {
130
122
  reason: ManagedManualBillingReason;
131
123
  note?: string | null;
132
124
  };
133
- export type AdminUpdateSiteCostRequest = {
125
+ export type AdminUpdateSiteBillingArrangementRequest = {
134
126
  arrangement: AdminSiteBillingArrangementRequest;
135
127
  subscriptionAction?: AdminManagedSubscriptionActionChoice;
136
128
  reason?: string;
137
129
  };
138
- export type AdminSiteCostUpdateSyncResult = {
130
+ export type AdminSiteBillingArrangementUpdateSyncResult = {
139
131
  status: "not_applicable";
140
132
  message: null;
141
133
  } | {
@@ -157,8 +149,8 @@ export type AdminSiteCostUpdateSyncResult = {
157
149
  status: "manual_review_required";
158
150
  message: string;
159
151
  };
160
- export type AdminUpdateSiteCostResponse = AdminSiteCostResponse & {
161
- subscriptionSync: AdminSiteCostUpdateSyncResult;
152
+ export type AdminUpdateSiteBillingArrangementResponse = AdminSiteBillingArrangementResponse & {
153
+ subscriptionSync: AdminSiteBillingArrangementUpdateSyncResult;
162
154
  };
163
155
  export type AdminScheduleBillingComponentEndRequest = {
164
156
  reason?: string;
@@ -10,7 +10,7 @@ import type { CreateManagementKeyRequest, CreateManagementKeyResponse, CreateSit
10
10
  import type { GetSiteInspirationAnalysisResponse, ListSiteInspirationAnalysesResponse } from './siteGeneration';
11
11
  import type { ListGscPropertiesAdminResponse, AuthStatusResponse, CronAppointmentRemindersResponse, CronBillingStatusResponse, CronEventFeedbackEmailsResponse, CronEventOccurrencesResponse, CronEventRemindersResponse, CronMediaJobsQuery, CronMediaJobsResponse, CronNewsletterSendResponse, CronPaymentReconciliationResponse, CronSeoIngestResponse, CronWaitlistExpiryResponse } from './siteOperations';
12
12
  import type { ApplySiteStyleSelectionBody, ApplySiteStyleSelectionResponse } from './siteRuntimeEndpoints';
13
- import type { ManagementMediaAsset, MediaResolveResponse, PushSdkConfigRequest, PushSdkConfigResponse, SdkBackfillIdentifiersResult, SdkGetCourseResponse, SdkGetEntryResponse, SdkGetEventCategoryResponse, SdkGetEventResponse, SdkGetFormResponse, SdkGetPageBlockResponse, SdkPatchPageBlockBody, SdkPatchPageBlockResponse, SdkGetVenueResponse, SdkListCoursesResponse, SdkListEntriesResponse, SdkListEventCategoriesResponse, SdkListEventsResponse, SdkListFormsResponse, SdkListVenuesResponse, SdkMediaFinalizeUploadResponse, SdkMediaUploadUrlResponse, SdkPageResponse, SdkEntryUpsertSlotBlock, SdkPublishOrUnpublishEntryResponse, SdkPullContentTypesResponse, SdkPullCourseProgram, SdkPullCourseSession, SdkPullCoursesResponse, SdkPullEntriesAllResponse, SdkPullEntriesByTypeResponse, SdkPullEntriesResponse, SdkPullEventCategoriesResponse, SdkPullEventsResponse, SdkPullFooterResponse, SdkPullFormSchema, SdkPullFormsResponse, SdkPullFormSettings, SdkPullDraftsResponse, SdkPullNavigationResponse, SdkPullPagesResponse, SdkPullSettings, SdkPullSettingsResponse, SdkPullSiteInfoResponse, SdkPullThemeResponse, SdkPullVenue, SdkPullVenuesResponse, SdkUpdateSettingsResponse, SdkUpsertBlockResponse, SdkUpsertCourseResponse, SdkUpsertEntryResponse, SdkUpsertPageResponse, SdkUpsertEventCategoryResponse, SdkUpsertEventResponse, SdkUpsertFooterResponse, SdkUpsertFormResponse, SdkUpsertNavigationMenuResponse, SdkUpsertThemeResponse, SdkUpsertVenueResponse } from './sdkContracts';
13
+ import type { ManagementMediaAsset, MediaResolveResponse, PushSdkConfigRequest, PushSdkConfigResponse, SdkBackfillIdentifiersResult, SdkGetCourseResponse, SdkGetEntryResponse, SdkGetEventCategoryResponse, SdkGetEventResponse, SdkGetFormResponse, SdkGetPageBlockResponse, SdkPatchPageBlockBody, SdkPatchPageBlockResponse, SdkGetVenueResponse, SdkListCoursesResponse, SdkListEntriesResponse, SdkListEventCategoriesResponse, SdkListEventsResponse, SdkListFormsResponse, SdkListVenuesResponse, SdkMediaFinalizeUploadResponse, SdkMediaUploadUrlResponse, SdkPageResponse, SdkEntryUpsertSlotBlock, SdkPublishOrUnpublishEntryResponse, SdkPullContentTypesResponse, SdkCatalogThemeResponse, SdkCatalogBlocksResponse, SdkCatalogContentTypesResponse, SdkCapabilitiesResponse, SdkDemoContentResponse, SdkPullCourseProgram, SdkPullCourseSession, SdkPullCoursesResponse, SdkPullEntriesAllResponse, SdkPullEntriesByTypeResponse, SdkPullEntriesResponse, SdkPullEventCategoriesResponse, SdkPullEventsResponse, SdkPullFooterResponse, SdkPullFormSchema, SdkPullFormsResponse, SdkPullFormSettings, SdkPullDraftsResponse, SdkPullNavigationResponse, SdkPullPagesResponse, SdkPullSettings, SdkPullSettingsResponse, SdkPullSiteInfoResponse, SdkPullThemeResponse, SdkPullVenue, SdkPullVenuesResponse, SdkUpdateSettingsResponse, SdkUpsertBlockResponse, SdkUpsertCourseResponse, SdkUpsertEntryResponse, SdkUpsertPageResponse, SdkUpsertEventCategoryResponse, SdkUpsertEventResponse, SdkUpsertFooterResponse, SdkUpsertFormResponse, SdkUpsertNavigationMenuResponse, SdkUpsertThemeResponse, SdkUpsertVenueResponse } from './sdkContracts';
14
14
  import type { SdkEventUpsertBody } from './sdk-event-upsert';
15
15
  import type { StripeConnectDisconnectResponse, StripeConnectStartResponse, StripeConnectStatusResponse, UpdateStripeAutomaticTaxRequest } from './billing';
16
16
  import type { NavigationLinkInput } from './navigation/types';
@@ -186,6 +186,21 @@ export type SitePlatformAPIEndpoints = {
186
186
  sdkPullContentTypes: APIEndpoint<never, {
187
187
  siteId: string;
188
188
  }, SdkPullContentTypesResponse>;
189
+ sdkCatalogTheme: APIEndpoint<never, {
190
+ siteId: string;
191
+ }, SdkCatalogThemeResponse>;
192
+ sdkCatalogBlocks: APIEndpoint<never, {
193
+ siteId: string;
194
+ }, SdkCatalogBlocksResponse>;
195
+ sdkCatalogContentTypes: APIEndpoint<never, {
196
+ siteId: string;
197
+ }, SdkCatalogContentTypesResponse>;
198
+ sdkCapabilities: APIEndpoint<never, {
199
+ siteId: string;
200
+ }, SdkCapabilitiesResponse>;
201
+ sdkListDemoContent: APIEndpoint<never, {
202
+ siteId: string;
203
+ }, SdkDemoContentResponse>;
189
204
  sdkPullPages: APIEndpoint<never, {
190
205
  siteId: string;
191
206
  }, SdkPullPagesResponse>;
@@ -262,6 +277,11 @@ export type SitePlatformAPIEndpoints = {
262
277
  kind: string;
263
278
  data: Record<string, unknown>;
264
279
  position?: number;
280
+ /**
281
+ * Optional catalog-coherence precondition (`catalog/blocks`
282
+ * `activeTheme.selectionVersion`); mismatch → 409 tag `STALE_CATALOG`.
283
+ */
284
+ baseSelectionVersion?: number;
265
285
  }, {
266
286
  siteId: string;
267
287
  identifier: string;
@@ -449,6 +469,13 @@ export type SitePlatformAPIEndpoints = {
449
469
  contentType: string;
450
470
  data: Record<string, unknown>;
451
471
  slug?: string;
472
+ /**
473
+ * Raw display ordinal, only accepted for content types with
474
+ * `ordering.mode: 'manual'` (400 fieldError otherwise). The server never
475
+ * displaces other entries; equal ordinals resolve deterministically by
476
+ * (manualOrder ASC, createdAt ASC, id ASC). Callers wanting insert-at-
477
+ * position semantics reassign ordinals for the affected entries.
478
+ */
452
479
  manualOrder?: number;
453
480
  blocks?: Record<string, SdkEntryUpsertSlotBlock[]>;
454
481
  publication?: 'draft' | 'publish';
@@ -484,6 +511,7 @@ export type SitePlatformAPIEndpoints = {
484
511
  identifier: string;
485
512
  }, SdkPublishOrUnpublishEntryResponse>;
486
513
  sdkUpdateSettings: APIEndpoint<{
514
+ siteTitle?: string;
487
515
  homepageId?: string | null;
488
516
  seoDefaults?: SdkPullSettings['seoDefaults'];
489
517
  logoIdentifier?: string | null;