@riverbankcms/sdk 0.104.3 → 0.108.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 (302) hide show
  1. package/README.md +84 -51
  2. package/dist/{PreviewEditorSidebar-CBMhU9p_.mjs → PreviewEditorSidebar-BBT-kZAM.mjs} +1850 -1183
  3. package/dist/{PreviewEditorUI-C5KEw4M8.mjs → PreviewEditorUI-D69xNKT2.mjs} +10 -9
  4. package/dist/{PreviewQueryProvider-CStABBUh.mjs → PreviewQueryProvider-RRu7wyQ5.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-Iq12HjL7.mjs → SdkPreviewModeRuntime-CuDjXH6o.mjs} +2562 -457
  6. package/dist/{SiteChromeCustomizeContext-Cx0NMdyv.mjs → SiteChromeCustomizeContext-BQUY2dEk.mjs} +7689 -3196
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +36493 -1395
  8. package/dist/_dts/api/src/blocks.d.ts +41 -7
  9. package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
  10. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +5 -1
  11. package/dist/_dts/api/src/bookingRecords.d.ts +180 -115
  12. package/dist/_dts/api/src/cache-tags.d.ts +3 -0
  13. package/dist/_dts/api/src/contentRuntime.d.ts +25 -16
  14. package/dist/_dts/api/src/courses.d.ts +68 -10
  15. package/dist/_dts/api/src/endpoints.d.ts +128 -0
  16. package/dist/_dts/api/src/footer-settings.d.ts +1 -0
  17. package/dist/_dts/api/src/footerSettings.d.ts +8 -0
  18. package/dist/_dts/api/src/index.d.ts +127 -124
  19. package/dist/_dts/api/src/navigation/contracts.d.ts +3 -3
  20. package/dist/_dts/api/src/previewContentContract.d.ts +4 -0
  21. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +9 -0
  22. package/dist/_dts/api/src/sdkContracts.d.ts +178 -6
  23. package/dist/_dts/api/src/siteBanner.d.ts +2 -2
  24. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +143 -55
  25. package/dist/_dts/api/src/siteOperations.d.ts +1 -0
  26. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +32 -4
  27. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +72 -47
  28. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +36 -4
  29. package/dist/_dts/blocks/src/definitions.d.ts +1 -1
  30. package/dist/_dts/blocks/src/portal/types.d.ts +25 -7
  31. package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +0 -1
  32. package/dist/_dts/blocks/src/rendering/server.d.ts +1 -0
  33. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +2 -2
  34. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -0
  35. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -0
  36. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +4 -0
  37. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule-projection.d.ts +52 -0
  38. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +22 -0
  39. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +45 -0
  40. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +10 -0
  41. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -1
  42. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  43. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -0
  44. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +8 -2
  45. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +8 -8
  46. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +24 -24
  47. package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +29 -0
  48. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
  49. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +50 -0
  50. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +9 -48
  51. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  52. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  53. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +2 -5
  54. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +1 -0
  56. package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +2 -2
  57. package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -1
  58. package/dist/_dts/blocks/src/system/icons/social.d.ts +5 -0
  59. package/dist/_dts/blocks/src/system/icons/svg.d.ts +1 -0
  60. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +2 -2
  61. package/dist/_dts/blocks/src/system/node/fragments/backgroundLayer.d.ts +13 -0
  62. package/dist/_dts/blocks/src/system/node/fragments/footerNav.d.ts +2 -0
  63. package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +3 -0
  64. package/dist/_dts/blocks/src/system/node/fragments/styledContainer.d.ts +4 -4
  65. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +3 -12
  66. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/runtime/blockComposition.d.ts +2 -0
  69. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +90 -6
  70. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +45 -3
  71. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -0
  72. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +2 -1
  74. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +1 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +2 -1
  76. package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +17 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +3 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -0
  79. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +9 -18
  81. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +106 -0
  82. package/dist/_dts/blocks/src/system/runtime/nodes/events/RecurringSchedule.d.ts +11 -0
  83. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +7 -3
  84. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +3 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +11 -1
  86. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
  87. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +6 -6
  89. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +1 -1
  90. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +11 -5
  91. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
  92. package/dist/_dts/blocks/src/system/runtime/nodes/svg.d.ts +7 -0
  93. package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
  94. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +14 -0
  95. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +27 -8
  96. package/dist/_dts/content-editor/src/footerComposer.d.ts +56 -0
  97. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
  98. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +5 -5
  99. package/dist/_dts/content-editor/src/index.d.ts +2 -0
  100. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +3 -1
  101. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +20 -36
  102. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +5 -1
  103. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +11 -0
  104. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  105. package/dist/_dts/content-model/src/definitions/shared.d.ts +3 -0
  106. package/dist/_dts/core/src/branded.d.ts +47 -0
  107. package/dist/_dts/core/src/dated-offering-settlement.d.ts +47 -0
  108. package/dist/_dts/core/src/editor-state.d.ts +4 -0
  109. package/dist/_dts/core/src/event-page-surface-subject.d.ts +44 -0
  110. package/dist/_dts/core/src/footer-composition.d.ts +143 -0
  111. package/dist/_dts/core/src/index.d.ts +51 -47
  112. package/dist/_dts/core/src/public-profile.d.ts +73 -0
  113. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +4398 -2859
  114. package/dist/_dts/db/src/schemas/forms.d.ts +10 -10
  115. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +5 -0
  116. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -0
  117. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +1 -1
  118. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +4 -1
  119. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -1
  120. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -1
  121. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -1
  122. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +10 -0
  123. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
  124. package/dist/_dts/media-core/src/index.d.ts +2 -1
  125. package/dist/_dts/media-core/src/storagePathDomain.d.ts +47 -0
  126. package/dist/_dts/media-core/src/url.d.ts +1 -21
  127. package/dist/_dts/path-utils/src/index.d.ts +5 -0
  128. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
  129. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -1
  130. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -1
  131. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +5 -0
  132. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +4 -9
  133. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
  134. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +8 -11
  135. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +4 -9
  136. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +2 -6
  137. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +5 -9
  138. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +81 -43
  139. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.typography.d.ts +61 -0
  140. package/dist/_dts/preview-next/src/client/preview/previewErrorMessages.d.ts +4 -0
  141. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +7 -17
  142. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +15 -8
  143. package/dist/_dts/preview-next/src/client/preview/typographyFontCatalog.d.ts +57 -0
  144. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -1
  145. package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +4 -7
  146. package/dist/_dts/sdk/src/cli/commands/style.d.ts +24 -10
  147. package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -0
  148. package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +3 -3
  149. package/dist/_dts/sdk/src/cli/sync/media.d.ts +16 -2
  150. package/dist/_dts/sdk/src/client/management/blocks.d.ts +14 -1
  151. package/dist/_dts/sdk/src/client/management/index.d.ts +2 -1
  152. package/dist/_dts/sdk/src/client/management/types.d.ts +147 -24
  153. package/dist/_dts/sdk/src/client/types.d.ts +2 -0
  154. package/dist/_dts/sdk/src/config/content-types.d.ts +2 -0
  155. package/dist/_dts/sdk/src/config/content-validation.d.ts +4 -0
  156. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  157. package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
  158. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  159. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +23 -3
  160. package/dist/_dts/sdk/src/data/dataLoaderContext.d.ts +17 -0
  161. package/dist/_dts/sdk/src/data/dataLoaderValue.d.ts +36 -0
  162. package/dist/_dts/sdk/src/data/defineOwnDataProperty.d.ts +2 -0
  163. package/dist/_dts/sdk/src/data/executeCodeLoaders.d.ts +36 -40
  164. package/dist/_dts/sdk/src/data/index.d.ts +3 -3
  165. package/dist/_dts/sdk/src/data/resolveBlockData.d.ts +54 -0
  166. package/dist/_dts/sdk/src/data/types.d.ts +43 -78
  167. package/dist/_dts/sdk/src/navigation/index.d.ts +2 -0
  168. package/dist/_dts/sdk/src/next/index.d.ts +1 -0
  169. package/dist/_dts/sdk/src/next/redirect-destination.d.ts +1 -1
  170. package/dist/_dts/sdk/src/next/resolveTheme.d.ts +2 -1
  171. package/dist/_dts/sdk/src/next/types.d.ts +10 -1
  172. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -10
  173. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -1
  174. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +10 -5
  175. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +6 -10
  176. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
  177. package/dist/_dts/sdk/src/server.d.ts +4 -3
  178. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  179. package/dist/_dts/sdk/src/version.d.ts +1 -1
  180. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +2 -2
  181. package/dist/_dts/site-commands/src/commands.d.ts +934 -40
  182. package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
  183. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +5 -1
  184. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +22 -0
  185. package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +17 -0
  186. package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +17 -0
  187. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +3 -3
  188. package/dist/_dts/theme-core/src/buttons/types.d.ts +12 -8
  189. package/dist/_dts/theme-core/src/cards/types.d.ts +3 -3
  190. package/dist/_dts/theme-core/src/data.d.ts +12 -0
  191. package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -1
  192. package/dist/_dts/theme-core/src/fonts/types.d.ts +6 -0
  193. package/dist/_dts/theme-core/src/footer/mode.d.ts +15 -0
  194. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  195. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  196. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +72 -54
  197. package/dist/_dts/theme-core/src/navigation/types.d.ts +1 -1
  198. package/dist/_dts/theme-core/src/palette/colors.d.ts +12 -0
  199. package/dist/_dts/theme-core/src/palette/curated/brand-led.d.ts +10 -5
  200. package/dist/_dts/theme-core/src/palette/curated/high-contrast.d.ts +6 -3
  201. package/dist/_dts/theme-core/src/palette/curated/index.d.ts +31 -236
  202. package/dist/_dts/theme-core/src/palette/curated/soft-natural.d.ts +8 -4
  203. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +14 -12
  204. package/dist/_dts/theme-core/src/palette/curated/warm-dark.d.ts +4 -2
  205. package/dist/_dts/theme-core/src/palette/curated/warm-neutral.d.ts +8 -4
  206. package/dist/_dts/theme-core/src/palette/editorState.d.ts +33 -3
  207. package/dist/_dts/theme-core/src/palette/index.d.ts +0 -4
  208. package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +12 -6
  209. package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +20 -72
  210. package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +29 -4
  211. package/dist/_dts/theme-core/src/palette/selection.d.ts +6 -4
  212. package/dist/_dts/theme-core/src/schema.d.ts +1307 -38
  213. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +218 -158
  214. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -6
  215. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +218 -158
  216. package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +1 -0
  217. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  218. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +161 -51
  219. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +6 -0
  220. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  221. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +12 -1
  222. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -1
  223. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +24 -1
  224. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +14 -48
  225. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +10 -23
  226. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +15 -0
  227. package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +1 -2
  228. package/dist/_dts/theme-core/src/site-styles/siteStyleTypography.d.ts +456 -0
  229. package/dist/_dts/theme-core/src/site-styles/types.d.ts +52 -3
  230. package/dist/cli/index.mjs +4118 -2278
  231. package/dist/client/{DiscountCodeDisclosure-BXM73_E5.mjs → DiscountCodeDisclosure-D6TOf6Hi.mjs} +1 -1
  232. package/dist/client/{EventCombined.client-DT5elP7j.mjs → EventCombined.client-Dao3zxRk.mjs} +3 -3
  233. package/dist/client/{EventListing.client-pTYGfV9C.mjs → EventListing.client-B2NNt4y1.mjs} +2 -2
  234. package/dist/client/{LeafletStaticMap-dQrhlUe3.mjs → LeafletStaticMap-BhwFo16w.mjs} +1 -1
  235. package/dist/client/{MagicLinkForm-u6Dul4j5.mjs → MagicLinkForm-BWnB7cMR.mjs} +2 -2
  236. package/dist/client/{StepIndicator-nWqineJ2.mjs → StepIndicator-TzRiQ0BY.mjs} +2 -2
  237. package/dist/client/{accordion-CSJcTUyH.mjs → accordion-BPy-AJ4_.mjs} +1 -1
  238. package/dist/client/{bookingForm-C73wOuVa.mjs → bookingForm-BL4PGZds.mjs} +7 -7
  239. package/dist/client/bookings.mjs +382 -204
  240. package/dist/client/{buttons-DfYyqt8C.mjs → buttons-EBjyslaX.mjs} +265 -152
  241. package/dist/client/{carousel-fMBb0JSc.mjs → carousel-C2b7Cn9-.mjs} +1 -1
  242. package/dist/client/{cart-BtaCwT3S.mjs → cart-BQcbXIVD.mjs} +3 -3
  243. package/dist/client/{checkout-DkTwZSnh.mjs → checkout-DEmpGRJu.mjs} +3 -3
  244. package/dist/client/client.mjs +5019 -1886
  245. package/dist/client/{colorStyles-Wyl6JujD.mjs → colorStyles-jZS6KfkP.mjs} +1 -1
  246. package/dist/client/{colorTokenParts-dT8MISgJ.mjs → colorTokenParts-CMugwvX_.mjs} +3 -1
  247. package/dist/client/{courseRegistration-DnLmapJu.mjs → courseRegistration-BqRZPmsq.mjs} +56 -21
  248. package/dist/client/{eventCalendar-BvLOc9KY.mjs → eventCalendar-B8N_tSl5.mjs} +29 -21
  249. package/dist/client/{eventCombined-kShgJPQr.mjs → eventCombined-Gjn6gtq7.mjs} +2 -2
  250. package/dist/client/{eventDetails-C5NTM0Vo.mjs → eventDetails-M-VCxA-r.mjs} +4 -4
  251. package/dist/client/{eventListing-B82ZdKP6.mjs → eventListing-DR19hqYi.mjs} +2 -2
  252. package/dist/client/{eventRegistration-qJVFqBWo.mjs → eventRegistration-BR02a0k3.mjs} +8 -8
  253. package/dist/client/{form-BvAcKiuu.mjs → form-LY2xIbwg.mjs} +2 -2
  254. package/dist/client/{headerSection-NvAiEHAg.mjs → headerSection-CYwwXJfh.mjs} +3 -3
  255. package/dist/client/hooks.mjs +3335 -2210
  256. package/dist/client/{locationMap-D0j52xfI.mjs → locationMap-DWnBXrFq.mjs} +3 -3
  257. package/dist/client/{media-BCW_g2cQ.mjs → media-DHtSxS5V.mjs} +61 -56
  258. package/dist/client/{newsletterForm-B8_i93qH.mjs → newsletterForm-D9s-fQ2P.mjs} +3 -3
  259. package/dist/client/{pricing-DIYnyHOk.mjs → pricing-DDq80oYc.mjs} +1 -1
  260. package/dist/client/{productDetail-w0eAHkuQ.mjs → productDetail-B0SbWd45.mjs} +3 -3
  261. package/dist/client/{productList-Vsguq5Xt.mjs → productList-PwYlZn0y.mjs} +3 -3
  262. package/dist/client/{propsDecoder-CD2pJ1WB.mjs → propsDecoder-BRWBiH7i.mjs} +225 -68
  263. package/dist/client/rendering/client.mjs +2266 -1267
  264. package/dist/client/rendering/islands.mjs +20 -20
  265. package/dist/client/rendering.mjs +5364 -1979
  266. package/dist/client/{shop-Dgxs-Q8F.mjs → shop-CMwZPYME.mjs} +8 -8
  267. package/dist/client/{shop-commerce-DJAhsTaT.mjs → shop-commerce-BuxsFate.mjs} +6 -6
  268. package/dist/client/{shop-commerce-store-CfCXltXW.mjs → shop-commerce-store-boYlEJ91.mjs} +1 -1
  269. package/dist/client/{shopShared-CmDcPXUt.mjs → shopShared-D2naaOes.mjs} +3 -3
  270. package/dist/client/{useDiscountCodeUi-CirrT2bM.mjs → useDiscountCodeUi-D9RHpVoj.mjs} +1 -1
  271. package/dist/client/{useEventFilters-CNZxlCcO.mjs → useEventFilters-igGiK1re.mjs} +6 -6
  272. package/dist/client/{usePolling-Baks_iBI.mjs → usePolling-CI7MbsFB.mjs} +2 -2
  273. package/dist/preview-next/before-render.mjs +218 -1
  274. package/dist/preview-next/client/runtime.mjs +4 -4
  275. package/dist/preview-next/middleware.mjs +218 -1
  276. package/dist/{previewAuthStore-CfquDtTh.mjs → previewAuthStore-a_cBD28m.mjs} +218 -1
  277. package/dist/{sdk-runtime-BfNiFeNJ.mjs → sdk-runtime-MBzD-GmP.mjs} +2 -2
  278. package/dist/{separator-BhAR_Xmf.mjs → separator-5ahRBC85.mjs} +1 -1
  279. package/dist/server/components.mjs +5218 -2529
  280. package/dist/server/config-validation.mjs +3112 -2210
  281. package/dist/server/config.mjs +3112 -2211
  282. package/dist/server/data.mjs +3758 -2277
  283. package/dist/server/index.mjs +224 -4
  284. package/dist/server/navigation.mjs +9 -3
  285. package/dist/server/next/middleware.mjs +1 -1
  286. package/dist/server/next.mjs +6468 -2749
  287. package/dist/server/page-converter.mjs +3524 -2635
  288. package/dist/server/prebuild.mjs +1 -1
  289. package/dist/server/rendering/server.mjs +5392 -2488
  290. package/dist/server/rendering.mjs +6241 -2851
  291. package/dist/server/routing.mjs +3414 -1826
  292. package/dist/server/server.mjs +4174 -2354
  293. package/dist/server/theme-bridge.mjs +9579 -8132
  294. package/dist/server/theme.mjs +313 -154
  295. package/dist/styles/index.css +1223 -31
  296. package/package.json +1 -1
  297. package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +0 -16
  298. package/dist/_dts/theme-core/src/palette/historicalThemePalette.d.ts +0 -44
  299. package/dist/_dts/theme-core/src/palette/legacyRuntimeProjection.d.ts +0 -55
  300. package/dist/_dts/theme-core/src/palette/legacySelection.d.ts +0 -45
  301. package/dist/_dts/theme-core/src/palette/paletteCompatibilityTransition.d.ts +0 -232
  302. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +0 -234
@@ -1,5 +1,6 @@
1
1
  import type { FieldDefinition, FieldDefinitionInput, SdkCustomBlock, SdkCustomBlockInput, SiteFooterContent, Theme } from '../../blocks/src/index';
2
2
  import type { LinkPayload } from './navigation/types';
3
+ import type { JsonValue } from './shared-contracts';
3
4
  import type { SdkEventPricing, SdkEventPricingInput } from './sdk-event-pricing';
4
5
  import type { SdkEventPaymentTerms, SdkEventPaymentTermsInput } from './sdk-event-payment-terms';
5
6
  /**
@@ -294,6 +295,27 @@ export interface SdkMediaFinalizeUploadResponse {
294
295
  export interface SdkPullMeta {
295
296
  pulledAt: string;
296
297
  }
298
+ /**
299
+ * Explicitly describes payload truncation applied by a pull endpoint.
300
+ * Pagination metadata remains responsible for caller-requested pages.
301
+ */
302
+ export type SdkPullTruncationMeta = {
303
+ truncated: false;
304
+ returned: number;
305
+ capPerType?: never;
306
+ capTotal?: never;
307
+ droppedTypes?: never;
308
+ } | ({
309
+ truncated: true;
310
+ returned: number;
311
+ droppedTypes: readonly [string, ...string[]];
312
+ } & ({
313
+ capPerType: number;
314
+ capTotal?: number;
315
+ } | {
316
+ capPerType?: number;
317
+ capTotal: number;
318
+ }));
297
319
  export interface SdkPullSiteInfoResponse {
298
320
  supabaseUrl: string;
299
321
  meta: {
@@ -336,6 +358,76 @@ export interface SdkPullPagesResponse {
336
358
  pages: SdkPullPage[];
337
359
  meta: SdkPullMeta;
338
360
  }
361
+ export interface SdkGetPageBlock {
362
+ id: string;
363
+ identifier: string;
364
+ kind: string;
365
+ position: number;
366
+ data: Record<string, unknown>;
367
+ contentHash: string;
368
+ }
369
+ export interface SdkGetPageBlockResponse {
370
+ block: SdkGetPageBlock;
371
+ }
372
+ /**
373
+ * A single PATCH operation against a block's draft content.
374
+ *
375
+ * Discriminated on `op`. Only `set` exists today; additional operations
376
+ * (e.g. `unset`) extend this union without breaking existing callers.
377
+ *
378
+ * `path` must resolve to a manifest-defined field of the block (dot/bracket
379
+ * syntax, e.g. `title`, `items[0].label`, `cta.label`). Paths that do not
380
+ * resolve to a manifest field — including prototype-chain segments such as
381
+ * `__proto__` — are rejected with a 400 naming the offending operation index.
382
+ *
383
+ * Numeric repeater indices must address an EXISTING item (strictly below the
384
+ * current array length). To append or resize, `set` the whole repeater field.
385
+ */
386
+ export type SdkPatchPageBlockOperation = Readonly<{
387
+ op: 'set';
388
+ path: string;
389
+ value: JsonValue;
390
+ }>;
391
+ /**
392
+ * Body for `PATCH pages/{identifier}/blocks/{blockIdentifier}`.
393
+ *
394
+ * Operations apply atomically to an in-memory copy of the block's draft
395
+ * data; the result is validated once against the block manifest, then
396
+ * persisted in a single guarded draft write (published rows are untouched —
397
+ * publish remains page-boundary). Any invalid operation aborts the whole
398
+ * request.
399
+ *
400
+ * `baseContentHash` is required and must equal the `contentHash` returned by
401
+ * the block GET. On mismatch (including a concurrent write landing between
402
+ * read and write) the endpoint returns 409 carrying
403
+ * `SdkPatchPageBlockStaleContentFieldError` in `fieldErrors`.
404
+ */
405
+ export interface SdkPatchPageBlockBody {
406
+ operations: readonly SdkPatchPageBlockOperation[];
407
+ baseContentHash: string;
408
+ }
409
+ export declare const SDK_PATCH_STALE_CONTENT_FIELD = "baseContentHash";
410
+ export declare const SDK_PATCH_STALE_CONTENT_CODE = "STALE_CONTENT";
411
+ /**
412
+ * Typed stale-conflict detail for block PATCH 409 responses, transported in
413
+ * the standard envelope's `fieldErrors`. `message` is EXACTLY the current
414
+ * draft content hash (no prose) — echo it back as `baseContentHash` to
415
+ * retry. The SDK client surfaces this as a discriminated
416
+ * `BlockPatchStaleContentError` so callers never string-sniff.
417
+ */
418
+ export interface SdkPatchPageBlockStaleContentFieldError {
419
+ field: typeof SDK_PATCH_STALE_CONTENT_FIELD;
420
+ code: typeof SDK_PATCH_STALE_CONTENT_CODE;
421
+ /** Exactly the current draft content hash. */
422
+ message: string;
423
+ }
424
+ /**
425
+ * Success response mirrors the block GET shape; `block.contentHash` is the
426
+ * NEW draft content hash (use it as `baseContentHash` for the next patch).
427
+ */
428
+ export interface SdkPatchPageBlockResponse {
429
+ block: SdkGetPageBlock;
430
+ }
339
431
  export interface SdkPullNavigationItem {
340
432
  id: string;
341
433
  menuId: string;
@@ -355,6 +447,7 @@ export interface SdkPullNavigationMenu {
355
447
  name: string;
356
448
  isPrimary: boolean;
357
449
  isFooter: boolean;
450
+ footerRole: 'main' | 'legal-policy' | null;
358
451
  items: SdkPullNavigationItem[];
359
452
  createdAt: string;
360
453
  updatedAt: string;
@@ -423,6 +516,12 @@ export interface SdkPullThemeResponse {
423
516
  theme: Theme | null;
424
517
  themeId: string | null;
425
518
  selectionId: string | null;
519
+ /**
520
+ * Current style-selection concurrency token. Pass this value as
521
+ * `baseSelectionVersion` when applying a style; it is 0 when no selection
522
+ * exists.
523
+ */
524
+ selectionVersion: number;
426
525
  meta: SdkPullThemeMeta;
427
526
  }
428
527
  export interface SdkPullFooterMeta extends SdkPullMeta {
@@ -622,8 +721,7 @@ export interface SdkPullEntriesResponse {
622
721
  }>;
623
722
  meta: SdkPullMeta & {
624
723
  entries: Record<string, SdkPullEntryTimestamps>;
625
- truncated: boolean;
626
- truncationMessage?: string;
724
+ truncation: SdkPullTruncationMeta;
627
725
  };
628
726
  pagination: SdkPullPagination;
629
727
  }
@@ -641,8 +739,7 @@ export interface SdkPullEntriesAllResponse {
641
739
  totalEntries: number;
642
740
  contentTypes: string[];
643
741
  entries: Record<string, SdkPullEntryTimestamps>;
644
- truncated: boolean;
645
- truncationMessage?: string;
742
+ truncation: SdkPullTruncationMeta;
646
743
  };
647
744
  }
648
745
  export interface SdkManagementPage {
@@ -700,6 +797,31 @@ export type SdkManagementCourseRun = SdkPullCourseRun & {
700
797
  export interface SdkPageResponse {
701
798
  page: SdkManagementPage;
702
799
  }
800
+ export type SdkUpsertPageResponse = SdkPageResponse & SdkPublicationStageFields<SdkPagePublishErrorCode>;
801
+ export interface SdkDraftPage {
802
+ identifier: string;
803
+ hasUnpublishedChanges: boolean;
804
+ status: 'draft' | 'published';
805
+ }
806
+ export interface SdkDraftEntry {
807
+ contentType: string;
808
+ identifier: string;
809
+ status: 'draft' | 'published';
810
+ }
811
+ /**
812
+ * Cross-type overview of everything with pending (unpublished) changes.
813
+ * Fully enumerated server-side — a resource appears here iff it is a draft or
814
+ * carries unpublished changes. There is no cap and no post-pagination filter.
815
+ */
816
+ export interface SdkPullDraftsResponse {
817
+ pages: SdkDraftPage[];
818
+ entries: SdkDraftEntry[];
819
+ summary: {
820
+ pageCount: number;
821
+ entryCount: number;
822
+ };
823
+ meta: SdkPullMeta;
824
+ }
703
825
  export interface SdkUpsertBlockResponse {
704
826
  block: SdkManagementBlock;
705
827
  }
@@ -709,9 +831,58 @@ export interface SdkDeleteResponse {
709
831
  export interface SdkReorderResponse {
710
832
  reordered: true;
711
833
  }
712
- export interface SdkUpsertEntryResponse {
713
- entry: Omit<SdkManagementEntry, 'publishedData'>;
834
+ /** Closed publish-failure code union for entry upserts. */
835
+ export type SdkEntryPublishErrorCode = 'PUBLISH_ENTRY_FAILED';
836
+ /** Closed publish-failure code union for page upserts. */
837
+ export type SdkPagePublishErrorCode = 'PUBLISH_PAGE_FAILED';
838
+ /**
839
+ * Machine-readable detail for a publish that failed after a successful save.
840
+ * `TCode` is the endpoint's closed code union — an entry response cannot carry
841
+ * a page code and vice versa. `message` is a sanitized public message; the raw
842
+ * internal cause is logged server-side, never sent over the wire.
843
+ */
844
+ export interface SdkPublishError<TCode extends string> {
845
+ code: TCode;
846
+ message: string;
714
847
  }
848
+ /**
849
+ * Outcome of the optional publish stage on an entry/page upsert.
850
+ *
851
+ * Mutation and publication are NOT atomic (page publish is explicitly
852
+ * non-transactional), so the save and the publish are reported as distinct
853
+ * stages. Modeled as a discriminated union on `published` so a success can
854
+ * never carry an error and a failure can never omit one.
855
+ *
856
+ * Accepted limitations (documented, not bugs to fix here):
857
+ * - Page publish is a non-transactional multi-step flow: a mid-loop failure can
858
+ * leave partial published state (some blocks promoted). The envelope reports
859
+ * `published: false` and re-running publish is safe/idempotent.
860
+ * - The entity returned alongside a successful publish comes from a re-read
861
+ * after the publish, not an atomic snapshot; a concurrent write in that
862
+ * window can be reflected in the returned entity.
863
+ */
864
+ export type SdkPublicationOutcome<TCode extends string> = {
865
+ published: true;
866
+ } | {
867
+ published: false;
868
+ publishError: SdkPublishError<TCode>;
869
+ };
870
+ /**
871
+ * Publication-stage fields for upsert responses, correlated so invalid states
872
+ * are unrepresentable: a draft upsert carries neither field (response is
873
+ * byte-identical to the pre-publication-intent contract), and a publish-intent
874
+ * upsert always carries both `saved: true` and a publication outcome.
875
+ */
876
+ export type SdkPublicationStageFields<TCode extends string> = {
877
+ saved?: never;
878
+ publication?: never;
879
+ } | {
880
+ saved: true;
881
+ publication: SdkPublicationOutcome<TCode>;
882
+ };
883
+ export type SdkUpsertEntryResponse = {
884
+ entry: Omit<SdkManagementEntry, 'publishedData'>;
885
+ } & SdkPublicationStageFields<SdkEntryPublishErrorCode>;
715
886
  export interface SdkPublishOrUnpublishEntryResponse {
716
887
  entry: Omit<SdkManagementEntry, 'publishedData'>;
717
888
  }
@@ -772,6 +943,7 @@ export interface SdkUpsertNavigationMenuResponse {
772
943
  name: string;
773
944
  isPrimary: boolean;
774
945
  isFooter: boolean;
946
+ footerRole: 'main' | 'legal-policy' | null;
775
947
  items: SdkPullNavigationItem[];
776
948
  createdAt: string;
777
949
  updatedAt: string;
@@ -89,8 +89,8 @@ export declare const siteBannerSettingsSchema: z.ZodDiscriminatedUnion<[z.ZodObj
89
89
  routeId: z.ZodString;
90
90
  entityId: z.ZodString;
91
91
  entityType: z.ZodEnum<{
92
- page: "page";
93
92
  content: "content";
93
+ page: "page";
94
94
  }>;
95
95
  href: z.ZodString;
96
96
  title: z.ZodString;
@@ -155,8 +155,8 @@ export declare const siteBannerSettingsInputSchema: z.ZodDiscriminatedUnion<[z.Z
155
155
  routeId: z.ZodString;
156
156
  entityId: z.ZodString;
157
157
  entityType: z.ZodEnum<{
158
- page: "page";
159
158
  content: "content";
159
+ page: "page";
160
160
  }>;
161
161
  href: z.ZodString;
162
162
  title: z.ZodString;
@@ -1,32 +1,81 @@
1
- import type { RectificationHistoryPropagationPlan, RectificationIdentityBoundary, RectificationIssueUrl, RectificationSurface } from "../../core/src/index";
2
- import type { CamelizeKeys, DbRow, DbJson } from "../../db/src/index";
3
- import type { APIEndpoint } from "./apiEndpointTypes";
4
- import type { AcceptAdminInviteRequest, AcceptAdminInviteResponse, AcceptSiteInvitationRequest, AcceptSiteInvitationResponse, AddCustomDomainRequest, AddCustomDomainResponse, AdminChangePlanRequest, AdminChangePlanResponse, AdminDeleteUserResponse, AuthInviteContinueRequest, AuthInviteContinueResponse, AuthInviteRegisterRequest, AuthInviteRegisterResponse, AuthResetCompleteRequest, AuthResetCompleteResponse, AuthSubmissionResult, BulkOperationResult, ChangePlanRequest, ChangePlanResponse, CreateAdminInviteRequest, CreateAdminInviteResponse, CreateAdminUserRequest, CreateAdminUserResponse, CreateAllowedDomainRequest, CreateAllowedDomainResponse, DeleteAllowedDomainResponse, DomainConfigResult, DomainSearchResultResponse, CurrentUserPractitionerLinkResponse, InviteSiteMemberRequest, InviteSiteMemberResponse, LinkCurrentUserPractitionerRequest, ListAdminInvitesResponse, ListAllowedDomainsResponse, ListSiteMembersResponse, LookupSiteDomainRequest, LookupSiteDomainResponse, MfaBackupCodesOverviewResponse, MfaBackupCodesRotateResponse, MfaOverviewResponse, MfaPhoneChallengeRequest, MfaPhoneChallengeResponse, MfaPhoneEnrollRequest, MfaPhoneEnrollResponse, MfaPhoneVerifyRequest, MfaTotpActivateRequest, MfaTotpEnrollResponse, MfaTotpVerifyRequest, MfaTotpVerifyResponse, ReauthSubmissionResult, RegisterDomainRequestPayload, RegisterDomainResponse, RegistrarBooleanMutationRequest, RegistrarLifecycleResponse, RegistrarRenewalPostureResponse, RegisterSiteDomainRequest, RegisterSiteDomainResponse, RemoveSiteMemberResponse, RevokeAdminInviteResponse, RevokeSiteInvitationResponse, ResendSiteInvitationResponse, SetHomepageRequest, SetHomepageResponse, SiteDomainContactPayload, SiteDomainRecord, TransferSiteOwnershipRequest, TransferSiteOwnershipResponse, UpdateSiteMemberRoleRequest, UpdateSiteMemberRoleResponse } from "./accessAdmin";
5
- import type { AdminRoleMutationResponse, RevokeAdminRoleRequest, StartImpersonationRequest, StartImpersonationResponse, StopImpersonationRequest, StopImpersonationResponse, UpsertAdminRoleRequest } from "./admin/types";
6
- import type { AccountRevokeSessionsBody, AccountRevokeSessionsResponse, AccountUpdatePasswordBody, AccountUpdatePasswordResponse, CreateManualSiteRequest, CreateManualSiteResponse } from "./siteOperations";
7
- import type { BookingSessionCancelAppointmentRequest, BookingSessionCancelAppointmentResponse, BookingSessionCreateAppointmentRequest, BookingSessionCreateAppointmentResponse, BookingSessionGetAppointmentResponse, BookingSessionListEligibleAppointmentPackagesResponse, BookingSessionGetEventResponse, BookingSessionListAppointmentsResponse, BookingSessionListEventsResponse, BookingSessionListMembershipsResponse, BookingSessionListPassesResponse, BookingSessionMeResponse, BookingSessionUpdateMeRequest, BookingSessionUpdateMeResponse, PublicBookingAppointmentStatusResponse, PublicBookingAvailabilityQuery, PublicBookingAvailableDatesResponse, PublicBookingAvailableSlotsResponse, PublicBookingService, PublicWeeklySlotAvailabilityQuery, PublicWeeklySlotAvailabilityResponse, PublicCreateBookingAppointmentRequest, PublicCreateBookingAppointmentResponse, ReferenceOptionsResponse } from "./bookingOperations";
8
- import type { ContentEntryOrPageResponse, ContentEntrySummary, ExportFormSubmissionsCsvQuery, ExportFormSubmissionsCsvResponse, CreateFormSubmissionRectificationAnnotationRequest, CreateFormSubmissionRectificationAnnotationResponse, FormRecord, FormSubmissionWithRectificationAnnotations, FormSummary, NavigationItemRecord, NavigationMenuWithItems, PublicFormRecord, PublishedContentEntryOrPageResponse, RunSdkWorkflowResponse, ScheduledContentEntryOrPageResponse, WorkflowRunStatusResponse } from "./contentRuntime";
9
- import type { GetVersionHistoryResponse, ListVersionHistoryResponse, RestoreVersionHistoryRequest, RestoreVersionHistoryResponse, VersionHistoryListQuery } from "./contentVersionHistory";
10
- import type { ApplyContentTemplateAddonRequest, ContentTemplateDetailsResponse, CreateTemplateBlockRequest, GetTransformsResponse, ReorderTemplateBlocksRequest, SerializedContentTypeSummary, UpdateContentTemplateBlockBindingsRequest, UpdateContentTemplateBlockRequest } from "./contentTypes";
11
- import type { LinkPayload, RoutableContentItem, SitemapRouteItem } from "./navigation/types";
12
- import type { RouteMetadataPayload, RouteMetadataResponse } from "./routes";
13
- import type { SiteAnalyticsSettingsPayload, SiteAnalyticsSettingsResponse } from "./siteAnalytics";
14
- import type { SiteBannerSettingsPayload, SiteBannerSettingsResponse } from "./siteBanner";
15
- import type { GeneratedIconSetGenerateRequest, GeneratedIconSetGenerateResponse, GeneratedIconSetListRequest, GeneratedIconSetListResponse, SiteIconStyleGuideResponse, SiteIconStyleGuideUpdateRequest } from "./siteIcons";
16
- import type { AiBrandGuidelinesGenerateRequest, AiBrandGuidelinesGenerateResponse, AiBrandGuidelinesGenerationContextResponse, SiteAiBrandGuidelinesPayload, SiteAiBrandGuidelinesResponse, SiteAiProfilePayload, SiteAiProfileResponse, SiteGenerationIntakePayload, SiteGenerationIntakeResponse } from "./siteOnboarding";
17
- import type { SitePrivacySettingsPayload, SitePrivacySettingsResponse } from "./privacyPolicy";
18
- import type { MaintenanceSettingsPayload, MaintenanceSettingsResponse, SiteBusinessAddressPayload, SiteBusinessAddressResponse, SiteFooterBlocksEditorResponse, SiteGeneralSettingsPayload, SiteGeneralSettingsResponse, SiteLayoutSettingsPayload, SiteLayoutSettingsResponse, UpdateSiteDeploymentModePayload, UpdateSiteDeploymentModeResponse, UpdateSiteFooterBlocksPayload, UpdateSiteFooterBlocksResponse } from "./siteSettings";
1
+ import type { FooterCompositionV1, PublicProfile, RectificationHistoryPropagationPlan, RectificationIdentityBoundary, RectificationIssueUrl, RectificationSurface } from '../../core/src/index';
2
+ import type { CamelizeKeys, DbRow, DbJson } from '../../db/src/index';
3
+ import type { APIEndpoint } from './apiEndpointTypes';
4
+ import type { AcceptAdminInviteRequest, AcceptAdminInviteResponse, AcceptSiteInvitationRequest, AcceptSiteInvitationResponse, AddCustomDomainRequest, AddCustomDomainResponse, AdminChangePlanRequest, AdminChangePlanResponse, AdminDeleteUserResponse, AuthInviteContinueRequest, AuthInviteContinueResponse, AuthInviteRegisterRequest, AuthInviteRegisterResponse, AuthResetCompleteRequest, AuthResetCompleteResponse, AuthSubmissionResult, BulkOperationResult, ChangePlanRequest, ChangePlanResponse, CreateAdminInviteRequest, CreateAdminInviteResponse, CreateAdminUserRequest, CreateAdminUserResponse, CreateAllowedDomainRequest, CreateAllowedDomainResponse, DeleteAllowedDomainResponse, DomainConfigResult, DomainSearchResultResponse, CurrentUserPractitionerLinkResponse, InviteSiteMemberRequest, InviteSiteMemberResponse, LinkCurrentUserPractitionerRequest, ListAdminInvitesResponse, ListAllowedDomainsResponse, ListSiteMembersResponse, LookupSiteDomainRequest, LookupSiteDomainResponse, MfaBackupCodesOverviewResponse, MfaBackupCodesRotateResponse, MfaOverviewResponse, MfaPhoneChallengeRequest, MfaPhoneChallengeResponse, MfaPhoneEnrollRequest, MfaPhoneEnrollResponse, MfaPhoneVerifyRequest, MfaTotpActivateRequest, MfaTotpEnrollResponse, MfaTotpVerifyRequest, MfaTotpVerifyResponse, ReauthSubmissionResult, RegisterDomainRequestPayload, RegisterDomainResponse, RegistrarBooleanMutationRequest, RegistrarLifecycleResponse, RegistrarRenewalPostureResponse, RegisterSiteDomainRequest, RegisterSiteDomainResponse, RemoveSiteMemberResponse, RevokeAdminInviteResponse, RevokeSiteInvitationResponse, ResendSiteInvitationResponse, SetHomepageRequest, SetHomepageResponse, SiteDomainContactPayload, SiteDomainRecord, TransferSiteOwnershipRequest, TransferSiteOwnershipResponse, UpdateSiteMemberRoleRequest, UpdateSiteMemberRoleResponse } from './accessAdmin';
5
+ import type { AdminRoleMutationResponse, RevokeAdminRoleRequest, StartImpersonationRequest, StartImpersonationResponse, StopImpersonationRequest, StopImpersonationResponse, UpsertAdminRoleRequest } from './admin/types';
6
+ import type { AccountRevokeSessionsBody, AccountRevokeSessionsResponse, AccountUpdatePasswordBody, AccountUpdatePasswordResponse, CreateManualSiteRequest, CreateManualSiteResponse } from './siteOperations';
7
+ import type { BookingSessionCancelAppointmentRequest, BookingSessionCancelAppointmentResponse, BookingSessionCreateAppointmentRequest, BookingSessionCreateAppointmentResponse, BookingSessionGetAppointmentResponse, BookingSessionListEligibleAppointmentPackagesResponse, BookingSessionGetEventResponse, BookingSessionListAppointmentsResponse, BookingSessionListEventsResponse, BookingSessionListMembershipsResponse, BookingSessionListPassesResponse, BookingSessionMeResponse, BookingSessionUpdateMeRequest, BookingSessionUpdateMeResponse, PublicBookingAppointmentStatusResponse, PublicBookingAvailabilityQuery, PublicBookingAvailableDatesResponse, PublicBookingAvailableSlotsResponse, PublicBookingService, PublicWeeklySlotAvailabilityQuery, PublicWeeklySlotAvailabilityResponse, PublicCreateBookingAppointmentRequest, PublicCreateBookingAppointmentResponse, ReferenceOptionsResponse } from './bookingOperations';
8
+ import type { ContentEntryOrPageResponse, ContentEntrySummary, ExportFormSubmissionsCsvQuery, ExportFormSubmissionsCsvResponse, CreateFormSubmissionRectificationAnnotationRequest, CreateFormSubmissionRectificationAnnotationResponse, FormRecord, FormSubmissionWithRectificationAnnotations, FormSummary, NavigationItemRecord, NavigationMenuWithItems, PublicFormRecord, PublishedContentEntryOrPageResponse, RunSdkWorkflowResponse, ScheduledContentEntryOrPageResponse, WorkflowRunStatusResponse } from './contentRuntime';
9
+ import type { GetVersionHistoryResponse, ListVersionHistoryResponse, RestoreVersionHistoryRequest, RestoreVersionHistoryResponse, VersionHistoryListQuery } from './contentVersionHistory';
10
+ import type { ApplyContentTemplateAddonRequest, ContentTemplateDetailsResponse, CreateTemplateBlockRequest, GetTransformsResponse, ReorderTemplateBlocksRequest, SerializedContentTypeSummary, UpdateContentTemplateBlockBindingsRequest, UpdateContentTemplateBlockRequest } from './contentTypes';
11
+ import type { LinkPayload, RoutableContentItem, SitemapRouteItem } from './navigation/types';
12
+ import type { RouteMetadataPayload, RouteMetadataResponse } from './routes';
13
+ import type { PageSurfaceEditorDocument } from './contentRuntime';
14
+ import type { ContentRouteRecord } from './types';
15
+ import type { SiteAnalyticsSettingsPayload, SiteAnalyticsSettingsResponse } from './siteAnalytics';
16
+ import type { SiteBannerSettingsPayload, SiteBannerSettingsResponse } from './siteBanner';
17
+ import type { GeneratedIconSetGenerateRequest, GeneratedIconSetGenerateResponse, GeneratedIconSetListRequest, GeneratedIconSetListResponse, SiteIconStyleGuideResponse, SiteIconStyleGuideUpdateRequest } from './siteIcons';
18
+ import type { AiBrandGuidelinesGenerateRequest, AiBrandGuidelinesGenerateResponse, AiBrandGuidelinesGenerationContextResponse, SiteAiBrandGuidelinesPayload, SiteAiBrandGuidelinesResponse, SiteAiProfilePayload, SiteAiProfileResponse, SiteGenerationIntakePayload, SiteGenerationIntakeResponse } from './siteOnboarding';
19
+ import type { SitePrivacySettingsPayload, SitePrivacySettingsResponse } from './privacyPolicy';
20
+ import type { MaintenanceSettingsPayload, MaintenanceSettingsResponse, SiteBusinessAddressPayload, SiteBusinessAddressResponse, SiteFooterBlocksEditorResponse, SiteGeneralSettingsPayload, SiteGeneralSettingsResponse, SiteLayoutSettingsPayload, SiteLayoutSettingsResponse, UpdateSiteDeploymentModePayload, UpdateSiteDeploymentModeResponse, UpdateSiteFooterBlocksPayload, UpdateSiteFooterBlocksResponse } from './siteSettings';
19
21
  /**
20
22
  * Site-management endpoints collect dashboard/admin/auth/content-management API shapes
21
23
  * that still belong to the aggregate contract layer but no longer need to live inline in
22
24
  * `types.ts`.
23
25
  */
24
- type Site = CamelizeKeys<DbRow<"sites">>;
25
- type DsarRunKindApi = "preview_export" | "execute_actions";
26
- type DsarExecutionModeApi = "preview_only" | "confirmed_execute";
27
- type DsarRunStatusApi = "running" | "previewed" | "completed" | "partially_failed" | "failed";
28
- type DsarSurfaceNameApi = "booking_customer" | "person_record" | "appointment" | "event_registration" | "order" | "form_submission" | "portal_session" | "email_audit" | "newsletter_subscriber";
29
- type DsarExecutableSurfaceNameApi = "portal_session" | "newsletter_subscriber" | "form_submission";
26
+ type Site = CamelizeKeys<DbRow<'sites'>>;
27
+ export type FooterCompositionSnapshot = Readonly<{
28
+ kind: 'ready';
29
+ composition: FooterCompositionV1;
30
+ revision: number;
31
+ }> | Readonly<{
32
+ kind: 'missing';
33
+ }> | Readonly<{
34
+ kind: 'invalid';
35
+ message: string;
36
+ }>;
37
+ export type FooterCompositionUpdateRequest = Readonly<{
38
+ composition: FooterCompositionV1;
39
+ baseRevision: number;
40
+ }>;
41
+ export type FooterCompositionUpdateResponse = Readonly<{
42
+ kind: 'updated';
43
+ snapshot: Extract<FooterCompositionSnapshot, {
44
+ kind: 'ready';
45
+ }>;
46
+ }> | Readonly<{
47
+ kind: 'conflict';
48
+ authoritative: FooterCompositionSnapshot;
49
+ }>;
50
+ export type PublicProfileSnapshot = Readonly<{
51
+ kind: 'ready';
52
+ profile: PublicProfile;
53
+ revision: number;
54
+ canonicalTimeZone: string;
55
+ hasBusinessAddress: boolean;
56
+ hasLogo: boolean;
57
+ }> | Readonly<{
58
+ kind: 'invalid';
59
+ message: string;
60
+ }>;
61
+ export type PublicProfileUpdateRequest = Readonly<{
62
+ profile: PublicProfile;
63
+ baseRevision: number;
64
+ }>;
65
+ export type PublicProfileUpdateResponse = Readonly<{
66
+ kind: 'updated';
67
+ snapshot: Extract<PublicProfileSnapshot, {
68
+ kind: 'ready';
69
+ }>;
70
+ }> | Readonly<{
71
+ kind: 'conflict';
72
+ authoritative: PublicProfileSnapshot;
73
+ }>;
74
+ type DsarRunKindApi = 'preview_export' | 'execute_actions';
75
+ type DsarExecutionModeApi = 'preview_only' | 'confirmed_execute';
76
+ type DsarRunStatusApi = 'running' | 'previewed' | 'completed' | 'partially_failed' | 'failed';
77
+ type DsarSurfaceNameApi = 'booking_customer' | 'person_record' | 'appointment' | 'event_registration' | 'order' | 'form_submission' | 'portal_session' | 'email_audit' | 'newsletter_subscriber';
78
+ type DsarExecutableSurfaceNameApi = 'portal_session' | 'newsletter_subscriber' | 'form_submission';
30
79
  type DsarRunCountsApi = {
31
80
  matchedSurfaces: number;
32
81
  includedSurfaces: number;
@@ -35,25 +84,25 @@ type DsarRunCountsApi = {
35
84
  failedActions: number;
36
85
  };
37
86
  type DsarPreviewExecutableDecisionApi = {
38
- kind: "executable";
87
+ kind: 'executable';
39
88
  surface: DsarSurfaceNameApi;
40
- action: "revoke_sessions" | "anonymize" | "hard_delete";
89
+ action: 'revoke_sessions' | 'anonymize' | 'hard_delete';
41
90
  rationale: string;
42
- exportRepresentation: "raw_record" | "summary_record" | "metadata_only";
91
+ exportRepresentation: 'raw_record' | 'summary_record' | 'metadata_only';
43
92
  requiresConfirmation: true;
44
93
  };
45
94
  type DsarPreviewReportOnlyDecisionApi = {
46
- kind: "report_only";
95
+ kind: 'report_only';
47
96
  surface: DsarSurfaceNameApi;
48
- action: "retain_with_reason" | "manual_follow_up";
97
+ action: 'retain_with_reason' | 'manual_follow_up';
49
98
  rationale: string;
50
- exportRepresentation: "raw_record" | "summary_record" | "metadata_only";
99
+ exportRepresentation: 'raw_record' | 'summary_record' | 'metadata_only';
51
100
  policySource?: string;
52
101
  };
53
102
  type DsarPreviewExcludedDecisionApi = {
54
- kind: "excluded";
103
+ kind: 'excluded';
55
104
  surface: DsarSurfaceNameApi;
56
- reason: "not_found" | "not_in_scope" | "not_yet_supported" | "insufficient_linkage";
105
+ reason: 'not_found' | 'not_in_scope' | 'not_yet_supported' | 'insufficient_linkage';
57
106
  rationale: string;
58
107
  };
59
108
  type DsarPreviewDecisionApi = DsarPreviewExecutableDecisionApi | DsarPreviewReportOnlyDecisionApi | DsarPreviewExcludedDecisionApi;
@@ -97,20 +146,20 @@ type DsarPreviewBundleApi = {
97
146
  };
98
147
  type DsarExecutionOutcomeApi = {
99
148
  surface: DsarExecutableSurfaceNameApi;
100
- action: "revoke_sessions" | "anonymize";
101
- status: "executed";
149
+ action: 'revoke_sessions' | 'anonymize';
150
+ status: 'executed';
102
151
  detail: string;
103
152
  changedCount: number;
104
153
  } | {
105
154
  surface: DsarExecutableSurfaceNameApi;
106
- action: "revoke_sessions" | "anonymize";
107
- status: "skipped";
155
+ action: 'revoke_sessions' | 'anonymize';
156
+ status: 'skipped';
108
157
  detail: string;
109
- reason: "not_currently_executable" | "already_handled" | "not_found";
158
+ reason: 'not_currently_executable' | 'already_handled' | 'not_found';
110
159
  } | {
111
160
  surface: DsarExecutableSurfaceNameApi;
112
- action: "revoke_sessions" | "anonymize";
113
- status: "failed";
161
+ action: 'revoke_sessions' | 'anonymize';
162
+ status: 'failed';
114
163
  detail: string;
115
164
  message: string;
116
165
  };
@@ -215,6 +264,31 @@ export type SiteManagementAPIEndpoints = {
215
264
  type: string;
216
265
  entryId: string;
217
266
  }, ContentEntryOrPageResponse>;
267
+ updatePageSurfaceDraftContent: APIEndpoint<{
268
+ data: Record<string, unknown>;
269
+ optimisticHash: string;
270
+ }, {
271
+ siteId: string;
272
+ pageSurfaceId: string;
273
+ }, {
274
+ document: PageSurfaceEditorDocument;
275
+ }>;
276
+ discardPageSurfaceDraftContent: APIEndpoint<{
277
+ optimisticHash: string;
278
+ }, {
279
+ siteId: string;
280
+ pageSurfaceId: string;
281
+ }, {
282
+ document: PageSurfaceEditorDocument;
283
+ }>;
284
+ updatePageSurfaceRouteMetadata: APIEndpoint<Pick<RouteMetadataPayload, 'draftSlug' | 'draftMetaTitle' | 'draftMetaDescription' | 'ogImageId'> & {
285
+ expectedDraftUpdatedAt: string | null;
286
+ }, {
287
+ siteId: string;
288
+ pageSurfaceId: string;
289
+ }, {
290
+ route: ContentRouteRecord;
291
+ }>;
218
292
  runSdkWorkflow: APIEndpoint<never, {
219
293
  siteId: string;
220
294
  type: string;
@@ -345,7 +419,7 @@ export type SiteManagementAPIEndpoints = {
345
419
  domainId: string;
346
420
  }, {
347
421
  domain: string;
348
- domainType: "registered" | "custom";
422
+ domainType: 'registered' | 'custom';
349
423
  configStatus: string | null;
350
424
  nameservers: {
351
425
  expected: string[];
@@ -545,6 +619,18 @@ export type SiteManagementAPIEndpoints = {
545
619
  updateSiteLayoutSettings: APIEndpoint<SiteLayoutSettingsPayload, {
546
620
  siteId: string;
547
621
  }, SiteLayoutSettingsResponse>;
622
+ getFooterComposition: APIEndpoint<never, {
623
+ siteId: string;
624
+ }, FooterCompositionSnapshot>;
625
+ updateFooterComposition: APIEndpoint<FooterCompositionUpdateRequest, {
626
+ siteId: string;
627
+ }, FooterCompositionUpdateResponse>;
628
+ getPublicProfile: APIEndpoint<never, {
629
+ siteId: string;
630
+ }, PublicProfileSnapshot>;
631
+ updatePublicProfile: APIEndpoint<PublicProfileUpdateRequest, {
632
+ siteId: string;
633
+ }, PublicProfileUpdateResponse>;
548
634
  updateSiteBannerSettings: APIEndpoint<SiteBannerSettingsPayload, {
549
635
  siteId: string;
550
636
  }, SiteBannerSettingsResponse>;
@@ -619,7 +705,7 @@ export type SiteManagementAPIEndpoints = {
619
705
  }, AdminDeleteUserResponse>;
620
706
  adminListAxiomLogs: APIEndpoint<never, {
621
707
  tail?: number;
622
- mode?: "all" | "errors" | "warnings";
708
+ mode?: 'all' | 'errors' | 'warnings';
623
709
  since?: string;
624
710
  until?: string;
625
711
  search?: string;
@@ -629,7 +715,7 @@ export type SiteManagementAPIEndpoints = {
629
715
  }>;
630
716
  adminListErrorLogs: APIEndpoint<never, {
631
717
  tail?: number;
632
- mode?: "errors" | "warnings";
718
+ mode?: 'errors' | 'warnings';
633
719
  since?: string;
634
720
  until?: string;
635
721
  search?: string;
@@ -639,15 +725,15 @@ export type SiteManagementAPIEndpoints = {
639
725
  }>;
640
726
  adminListRetentionJobRuns: APIEndpoint<never, {
641
727
  limit?: number;
642
- jobKind?: "portal_session_cleanup" | "portal_exchange_code_cleanup" | "analytics_transition" | "webhook_delivery_log_cleanup" | "email_audit_body_cleanup" | "request_log_cleanup" | "newsletter_subscriber_minimization" | "form_submission_anonymization" | "booking_operational_retention_review" | "appointment_operational_retention_review" | "event_registration_retention_review" | "order_operational_minimization_review";
643
- status?: "running" | "completed" | "partially_failed" | "failed";
644
- executionMode?: "scheduled" | "manual" | "dry_run";
728
+ jobKind?: 'portal_session_cleanup' | 'portal_exchange_code_cleanup' | 'analytics_transition' | 'webhook_delivery_log_cleanup' | 'email_audit_body_cleanup' | 'request_log_cleanup' | 'newsletter_subscriber_minimization' | 'form_submission_anonymization' | 'booking_operational_retention_review' | 'appointment_operational_retention_review' | 'event_registration_retention_review' | 'order_operational_minimization_review';
729
+ status?: 'running' | 'completed' | 'partially_failed' | 'failed';
730
+ executionMode?: 'scheduled' | 'manual' | 'dry_run';
645
731
  }, {
646
732
  runs: Array<{
647
733
  id: string;
648
- jobKind: "portal_session_cleanup" | "portal_exchange_code_cleanup" | "analytics_transition" | "webhook_delivery_log_cleanup" | "email_audit_body_cleanup" | "request_log_cleanup" | "newsletter_subscriber_minimization" | "form_submission_anonymization" | "booking_operational_retention_review" | "appointment_operational_retention_review" | "event_registration_retention_review" | "order_operational_minimization_review";
649
- executionMode: "scheduled" | "manual" | "dry_run";
650
- status: "running" | "completed" | "partially_failed" | "failed";
734
+ jobKind: 'portal_session_cleanup' | 'portal_exchange_code_cleanup' | 'analytics_transition' | 'webhook_delivery_log_cleanup' | 'email_audit_body_cleanup' | 'request_log_cleanup' | 'newsletter_subscriber_minimization' | 'form_submission_anonymization' | 'booking_operational_retention_review' | 'appointment_operational_retention_review' | 'event_registration_retention_review' | 'order_operational_minimization_review';
735
+ executionMode: 'scheduled' | 'manual' | 'dry_run';
736
+ status: 'running' | 'completed' | 'partially_failed' | 'failed';
651
737
  triggerSource: string;
652
738
  dataClasses: string[];
653
739
  startedAt: string;
@@ -710,11 +796,11 @@ export type SiteManagementAPIEndpoints = {
710
796
  counts: DsarRunCountsApi;
711
797
  }>;
712
798
  adminRunFormSubmissionRetention: APIEndpoint<{
713
- executionMode: "dry_run" | "manual";
799
+ executionMode: 'dry_run' | 'manual';
714
800
  siteId?: string;
715
801
  limit?: number;
716
802
  }, never, {
717
- outcome: "executed" | "already_running";
803
+ outcome: 'executed' | 'already_running';
718
804
  runId: string;
719
805
  beforeIso: string;
720
806
  candidateCount: number;
@@ -728,7 +814,7 @@ export type SiteManagementAPIEndpoints = {
728
814
  }>;
729
815
  adminListSupabaseLogs: APIEndpoint<never, {
730
816
  tail?: number;
731
- mode?: "all" | "errors" | "warnings";
817
+ mode?: 'all' | 'errors' | 'warnings';
732
818
  since?: string;
733
819
  until?: string;
734
820
  search?: string;
@@ -738,7 +824,7 @@ export type SiteManagementAPIEndpoints = {
738
824
  }>;
739
825
  adminListVercelLogs: APIEndpoint<never, {
740
826
  tail?: number;
741
- mode?: "all" | "errors" | "warnings";
827
+ mode?: 'all' | 'errors' | 'warnings';
742
828
  since?: string;
743
829
  until?: string;
744
830
  search?: string;
@@ -767,6 +853,7 @@ export type SiteManagementAPIEndpoints = {
767
853
  name: string;
768
854
  isPrimary?: boolean;
769
855
  isFooter?: boolean;
856
+ footerRole?: 'main' | 'legal-policy' | null;
770
857
  position?: number;
771
858
  }, {
772
859
  siteId: string;
@@ -783,6 +870,7 @@ export type SiteManagementAPIEndpoints = {
783
870
  name?: string;
784
871
  isPrimary?: boolean;
785
872
  isFooter?: boolean;
873
+ footerRole?: 'main' | 'legal-policy' | null;
786
874
  position?: number;
787
875
  }, {
788
876
  siteId: string;
@@ -798,7 +886,7 @@ export type SiteManagementAPIEndpoints = {
798
886
  }>;
799
887
  createNavigationItem: APIEndpoint<{
800
888
  label: string;
801
- type: "link" | "dropdown";
889
+ type: 'link' | 'dropdown';
802
890
  link?: LinkPayload;
803
891
  parentId?: string | null;
804
892
  orderIndex?: number;
@@ -811,7 +899,7 @@ export type SiteManagementAPIEndpoints = {
811
899
  }>;
812
900
  updateNavigationItem: APIEndpoint<{
813
901
  label?: string;
814
- type?: "link" | "dropdown";
902
+ type?: 'link' | 'dropdown';
815
903
  link?: LinkPayload;
816
904
  parentId?: string | null;
817
905
  orderIndex?: number;
@@ -1012,7 +1100,7 @@ export type SiteManagementAPIEndpoints = {
1012
1100
  appointmentId: string;
1013
1101
  }, BookingSessionCancelAppointmentResponse>;
1014
1102
  bookingSessionListEvents: APIEndpoint<never, {
1015
- status?: "confirmed" | "waitlist" | "cancelled";
1103
+ status?: 'confirmed' | 'waitlist' | 'cancelled';
1016
1104
  upcoming?: string;
1017
1105
  occurrenceId?: string;
1018
1106
  limit?: string;
@@ -540,6 +540,7 @@ export type SendShopOrderPaymentReminderResponse = {
540
540
  recipientEmail: string;
541
541
  };
542
542
  export type SettleShopOrderPaymentRequest = {
543
+ operationId: string;
543
544
  action: "mark_paid" | "mark_waived" | "record_partial_payment";
544
545
  amountCents?: number | null;
545
546
  externalReference?: string | null;