@riverbankcms/sdk 0.78.2 → 0.80.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 (230) hide show
  1. package/README.md +80 -0
  2. package/dist/PreviewEditorSidebar-QZG37QIF.mjs +2655 -0
  3. package/dist/{PreviewEditorUI-CS5P4N3P.mjs → PreviewEditorUI-AXIKSMZA.mjs} +27 -4
  4. package/dist/SdkPreviewModeRuntime-XE5M4UKM.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +56 -0
  6. package/dist/_dts/api/src/endpoints.d.ts +79 -0
  7. package/dist/_dts/api/src/index.d.ts +6 -4
  8. package/dist/_dts/api/src/media.d.ts +8 -1
  9. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
  10. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +8 -8
  11. package/dist/_dts/api/src/navigation/identity.d.ts +59 -0
  12. package/dist/_dts/api/src/navigation.d.ts +2 -0
  13. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +4 -0
  14. package/dist/_dts/api/src/sdkContracts.d.ts +1 -0
  15. package/dist/_dts/api/src/siteIcons.d.ts +128 -0
  16. package/dist/_dts/api/src/siteInfrastructure.d.ts +124 -0
  17. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +16 -0
  18. package/dist/_dts/api/src/siteOnboarding.d.ts +13 -0
  19. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +17 -1
  20. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -1
  21. package/dist/_dts/api/src/types.d.ts +1 -1
  22. package/dist/_dts/api/src/webhooks.d.ts +239 -0
  23. package/dist/_dts/block-form/src/client/index.d.ts +2 -0
  24. package/dist/_dts/block-form/src/index.d.ts +2 -0
  25. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +2 -1
  26. package/dist/_dts/blocks/src/client/header.d.ts +1 -1
  27. package/dist/_dts/blocks/src/client.d.ts +12 -12
  28. package/dist/_dts/blocks/src/index.d.ts +5 -1
  29. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
  30. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
  31. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
  32. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
  33. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
  34. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -2
  35. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
  36. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -1
  37. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +294 -289
  38. package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +57 -0
  39. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -0
  40. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
  41. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  42. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  43. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +22 -22
  44. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
  45. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
  46. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
  47. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +13 -1
  48. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +179 -0
  49. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +4 -2
  50. package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +1 -0
  51. package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +10 -0
  52. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -1
  53. package/dist/_dts/blocks/src/system/icons/ids.d.ts +13 -0
  54. package/dist/_dts/blocks/src/system/icons/index.d.ts +6 -0
  55. package/dist/_dts/blocks/src/system/icons/presets.d.ts +4 -0
  56. package/dist/_dts/blocks/src/system/icons/registry.d.ts +18 -0
  57. package/dist/_dts/blocks/src/system/icons/semantic.d.ts +239 -0
  58. package/dist/_dts/blocks/src/system/icons/value.d.ts +94 -0
  59. package/dist/_dts/blocks/src/system/index.d.ts +1 -0
  60. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +4 -1
  61. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +23 -0
  62. package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +1 -4
  63. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -7
  65. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
  66. package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +10 -2
  67. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -5
  68. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.server.d.ts +2 -2
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventSpotlight.d.ts +2 -2
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +2 -2
  71. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/runtime/nodes/feature-card-icon.d.ts +13 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -2
  75. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +3 -0
  76. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +9 -0
  77. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +14 -1
  78. package/dist/_dts/content-model/src/contentManifest.d.ts +3 -1
  79. package/dist/_dts/core/src/branded.d.ts +6 -0
  80. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +200 -3
  81. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +8 -1
  82. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +8 -1
  83. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +8 -2
  84. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +17 -0
  85. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +42 -0
  86. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +7 -1
  87. package/dist/_dts/editor-blocks/src/block-editor/featureCardIconActions.d.ts +82 -0
  88. package/dist/_dts/editor-blocks/src/index.d.ts +2 -0
  89. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  90. package/dist/_dts/media-core/src/fileDomain.d.ts +8 -1
  91. package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -2
  92. package/dist/_dts/media-react/src/components/MediaLibrary.d.ts +2 -1
  93. package/dist/_dts/media-react/src/components/MediaPickerMini.d.ts +2 -1
  94. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +5 -1
  95. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +17 -0
  96. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeControlPlan.d.ts +24 -0
  97. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +34 -0
  98. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -5
  99. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +8 -1
  100. package/dist/_dts/preview-next/src/client/preview/PreviewBlockCustomizeSelectionContext.d.ts +20 -0
  101. package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +2 -0
  102. package/dist/_dts/preview-next/src/client/preview/SelectedBlockCustomizePanel.d.ts +13 -0
  103. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +3 -2
  104. package/dist/_dts/preview-next/src/client/preview/previewCustomizeEditorDraftPatch.d.ts +13 -0
  105. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +6 -0
  106. package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +2 -0
  107. package/dist/_dts/preview-next/src/client/preview/storeTypes.d.ts +4 -0
  108. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -1
  109. package/dist/_dts/sdk/src/cli/commands/webhooks.d.ts +44 -0
  110. package/dist/_dts/sdk/src/cli/navigationIdentity.d.ts +11 -0
  111. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +4 -0
  112. package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +1 -0
  113. package/dist/_dts/sdk/src/cli/sync/diff.d.ts +9 -0
  114. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  115. package/dist/_dts/sdk/src/client/management/types.d.ts +58 -0
  116. package/dist/_dts/sdk/src/client/management/webhooks.d.ts +3 -0
  117. package/dist/_dts/sdk/src/config/field-definitions.d.ts +3 -1
  118. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  119. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +24 -4
  120. package/dist/_dts/sdk/src/next/index.d.ts +1 -1
  121. package/dist/_dts/sdk/src/next/revalidate.d.ts +26 -5
  122. package/dist/_dts/sdk/src/next/static-params.d.ts +28 -3
  123. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -1
  124. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  125. package/dist/_dts/sdk/src/version.d.ts +1 -1
  126. package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
  127. package/dist/_dts/sdk/src/webhooks/verify.d.ts +6 -102
  128. package/dist/_dts/site-commands/src/commands.d.ts +3 -0
  129. package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +220 -0
  130. package/dist/_dts/theme-core/src/accordions/types.d.ts +45 -2
  131. package/dist/_dts/theme-core/src/blockOverrides.d.ts +8 -0
  132. package/dist/_dts/theme-core/src/blocks/types.d.ts +1 -1
  133. package/dist/_dts/theme-core/src/blocks/vars/testimonials.d.ts +4 -1
  134. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -1
  135. package/dist/_dts/theme-core/src/cards/core.d.ts +20 -0
  136. package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +6 -3
  137. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +105 -0
  138. package/dist/_dts/theme-core/src/cards/types.d.ts +177 -0
  139. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  140. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +159 -21
  141. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  142. package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +16 -0
  143. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +1 -1
  144. package/dist/_dts/theme-core/src/schema.d.ts +451 -57
  145. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +86 -17
  146. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +2 -3
  147. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +86 -17
  148. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +135 -3
  149. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +5 -5
  150. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +20 -1
  151. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +8 -2
  152. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +286 -6
  153. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  154. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +193 -0
  155. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +6 -12
  156. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +2 -0
  157. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +10 -7
  158. package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +11 -0
  159. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +2 -2
  160. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  161. package/dist/_dts/theme-core/src/site-styles/testimonialQuotePresets.d.ts +15 -0
  162. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  163. package/dist/_dts/theme-core/src/site-styles/types.d.ts +7 -29
  164. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -0
  165. package/dist/_dts/ui/src/combobox.d.ts +1 -0
  166. package/dist/{PreviewEditorSidebar-4DXLYX2V.mjs → chunk-5NZGBSJF.mjs} +2215 -2566
  167. package/dist/{chunk-RGTOD4AJ.mjs → chunk-7PCYG6YV.mjs} +621 -108
  168. package/dist/{chunk-CR5HKAGU.mjs → chunk-BBLZSQEY.mjs} +79 -0
  169. package/dist/{chunk-MCRQMPET.mjs → chunk-GYXKAUFV.mjs} +4500 -912
  170. package/dist/{chunk-6HYXHRAI.mjs → chunk-HTB4BMKD.mjs} +267 -49
  171. package/dist/{chunk-OKMBEAXY.mjs → chunk-MPBNEVPB.mjs} +1 -1
  172. package/dist/cli/index.mjs +3255 -702
  173. package/dist/cli/init-docs/content/workflow-editor-workflows.md +2 -0
  174. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +150 -0
  175. package/dist/client/{accordion-PLYNJIIM.mjs → accordion-QFZMNB7O.mjs} +1 -1
  176. package/dist/client/{bookingForm-BXAP6AO7.mjs → bookingForm-NCIXFWIG.mjs} +3 -3
  177. package/dist/client/bookings.mjs +1246 -323
  178. package/dist/client/{carousel-TRBXDHGF.mjs → carousel-EO4BJMWD.mjs} +2 -2
  179. package/dist/client/{cart-Z7H3HJRS.mjs → cart-FTYCLYUW.mjs} +5 -5
  180. package/dist/client/{checkout-WAFCUBIX.mjs → checkout-NFGLVCOX.mjs} +5 -5
  181. package/dist/client/{chunk-CWGTG37I.mjs → chunk-4W66ALYT.mjs} +1 -1
  182. package/dist/client/{chunk-JRDUHZCT.mjs → chunk-6GVVWSPU.mjs} +4 -4
  183. package/dist/client/{chunk-75OUS5MT.mjs → chunk-IWFZSQNZ.mjs} +1 -1
  184. package/dist/client/{chunk-JGXPTEI2.mjs → chunk-PUOELU4O.mjs} +95 -8
  185. package/dist/client/{chunk-FUXW6VW2.mjs → chunk-PYRBIURC.mjs} +4 -4
  186. package/dist/client/{chunk-ZI3LLBPZ.mjs → chunk-T6UIP6UZ.mjs} +1 -1
  187. package/dist/client/{chunk-DNRGY432.mjs → chunk-VDS5YFLX.mjs} +1 -1
  188. package/dist/client/{chunk-UVQEJJTN.mjs → chunk-Y37KDO7P.mjs} +1 -1
  189. package/dist/client/client.mjs +24277 -20796
  190. package/dist/client/{courseRegistration-AHFQHWIJ.mjs → courseRegistration-2EORROPS.mjs} +3 -3
  191. package/dist/client/{eventCalendar-LDXTV5R7.mjs → eventCalendar-WZI4VL6N.mjs} +5 -5
  192. package/dist/client/{eventCombined-A4JGTNJO.mjs → eventCombined-QCB2TCNL.mjs} +5 -5
  193. package/dist/client/{eventDetails-4YXTZ7EG.mjs → eventDetails-TFTATAPH.mjs} +5 -5
  194. package/dist/client/{eventListing-P72TPFFM.mjs → eventListing-A2CQEHEQ.mjs} +5 -5
  195. package/dist/client/{eventRegistration-LSYJHGMT.mjs → eventRegistration-OELPVLUY.mjs} +5 -5
  196. package/dist/client/{form-AOPYOKOW.mjs → form-NTIFD6WQ.mjs} +1 -1
  197. package/dist/client/{headerSection-5TFYDFVQ.mjs → headerSection-7TBNKCLA.mjs} +65 -24
  198. package/dist/client/hooks.mjs +3687 -2024
  199. package/dist/client/{locationMap-QSZ3ZVAZ.mjs → locationMap-LRLB5A3H.mjs} +1 -1
  200. package/dist/client/{newsletterForm-KTRHZY52.mjs → newsletterForm-XI52RZSN.mjs} +1 -1
  201. package/dist/client/{productDetail-N4E775RG.mjs → productDetail-GSNKBFLY.mjs} +5 -5
  202. package/dist/client/{productList-UGUQ2S45.mjs → productList-BGCGT4KZ.mjs} +5 -5
  203. package/dist/client/rendering/client.mjs +5274 -3030
  204. package/dist/client/rendering/islands.mjs +18 -18
  205. package/dist/client/rendering.mjs +6271 -2790
  206. package/dist/client/{shop-VHSZEEQ2.mjs → shop-RQHUCLNY.mjs} +5 -5
  207. package/dist/preview-next/before-render.mjs +79 -0
  208. package/dist/preview-next/client/runtime.mjs +5 -5
  209. package/dist/preview-next/middleware.mjs +79 -0
  210. package/dist/{sdk-runtime-WHPJEF5G.mjs → sdk-runtime-A4LHT2RS.mjs} +6 -6
  211. package/dist/server/components.mjs +6215 -3057
  212. package/dist/server/config-validation.mjs +3858 -2194
  213. package/dist/server/config.mjs +3858 -2194
  214. package/dist/server/data.mjs +3687 -2024
  215. package/dist/server/index.mjs +88 -1
  216. package/dist/server/next/revalidate.mjs +229 -34
  217. package/dist/server/next.mjs +6295 -3036
  218. package/dist/server/page-converter.mjs +3055 -1883
  219. package/dist/server/prebuild.mjs +1 -1
  220. package/dist/server/rendering/server.mjs +6220 -3062
  221. package/dist/server/rendering.mjs +6233 -3075
  222. package/dist/server/routing.mjs +4251 -2137
  223. package/dist/server/server.mjs +3705 -2042
  224. package/dist/server/theme-bridge.mjs +1617 -329
  225. package/dist/server/theme.mjs +411 -221
  226. package/dist/server/webhooks.mjs +129 -25
  227. package/dist/styles/index.css +355 -33
  228. package/package.json +2 -1
  229. package/dist/SdkPreviewModeRuntime-IJDHTW4W.mjs +0 -8
  230. package/dist/chunk-4QEGTLK6.mjs +0 -1175
@@ -1,7 +1,7 @@
1
1
  import type { SiteRole } from "../siteMembers";
2
2
  import { type NavStage } from "./visibility";
3
3
  import { type DashboardDemoUiMode } from "./dashboardSiteNav";
4
- export type DashboardSettingsNavSurfaceId = "settings.features" | "settings.general" | "settings.privacy" | "settings.domains" | "settings.fonts" | "settings.bookings" | "settings.redirects" | "settings.emails" | "settings.ai.siteProfile" | "settings.ai.brandGuidelines" | "settings.team" | "settings.billing" | "settings.developer" | "settings.logs" | "settings.apiKeys" | "settings.backup";
4
+ export type DashboardSettingsNavSurfaceId = "settings.features" | "settings.general" | "settings.privacy" | "settings.domains" | "settings.fonts" | "settings.bookings" | "settings.redirects" | "settings.emails" | "settings.ai.siteProfile" | "settings.ai.brandGuidelines" | "settings.ai.iconStyleGuide" | "settings.team" | "settings.billing" | "settings.developer" | "settings.logs" | "settings.apiKeys" | "settings.backup";
5
5
  export type DashboardSettingsDangerItemId = "settings.danger";
6
6
  export type SettingsNavFeatureFlag = "hasSiteCost";
7
7
  export type DashboardSettingsNavDescriptor = Readonly<{
@@ -1,11 +1,11 @@
1
- import type { SiteRole } from "../siteMembers";
2
- import { type NavStage } from "./visibility";
1
+ import type { SiteRole } from '../siteMembers';
2
+ import { type NavStage } from './visibility';
3
3
  export declare const dashboardDemoUiModeValues: readonly ["standard", "demo"];
4
4
  export type DashboardDemoUiMode = (typeof dashboardDemoUiModeValues)[number];
5
5
  export declare function isDemoDashboardUiRestricted(mode: DashboardDemoUiMode): boolean;
6
- export type DashboardSiteNavSurfaceId = "site.overview" | "site.content" | "site.footerBlocks" | "site.navigation" | "site.media" | "site.bookings" | "site.shop" | "site.money" | "site.newsletter" | "site.style" | "site.performance" | "site.settings";
7
- export type DashboardSiteNavGroupId = "site.website";
8
- export type SiteNavFeatureFlag = "analyticsVisible" | "bookingsVisible" | "isSdkSite" | "moneyVisible" | "newsletterVisible" | "shopVisible" | "themeEditorVisible";
6
+ export type DashboardSiteNavSurfaceId = 'site.overview' | 'site.content' | 'site.footerBlocks' | 'site.navigation' | 'site.media' | 'site.bookings' | 'site.shop' | 'site.money' | 'site.newsletter' | 'site.performance' | 'site.settings';
7
+ export type DashboardSiteNavGroupId = 'site.website';
8
+ export type SiteNavFeatureFlag = 'analyticsVisible' | 'bookingsVisible' | 'footerBlocksVisible' | 'isSdkSite' | 'moneyVisible' | 'newsletterVisible' | 'shopVisible';
9
9
  export type DashboardSiteNavDescriptor = Readonly<{
10
10
  id: DashboardSiteNavSurfaceId;
11
11
  label: string;
@@ -14,12 +14,12 @@ export type DashboardSiteNavDescriptor = Readonly<{
14
14
  featureFlag?: SiteNavFeatureFlag;
15
15
  }>;
16
16
  export type DashboardSiteNavLinkPlan = Readonly<{
17
- kind: "link";
17
+ kind: 'link';
18
18
  id: DashboardSiteNavSurfaceId;
19
19
  label: string;
20
20
  }>;
21
21
  export type DashboardSiteNavGroupPlan = Readonly<{
22
- kind: "group";
22
+ kind: 'group';
23
23
  id: DashboardSiteNavGroupId;
24
24
  label: string;
25
25
  items: readonly DashboardSiteNavLinkPlan[];
@@ -30,11 +30,11 @@ export type DashboardSiteNavPlanContext = Readonly<{
30
30
  sdkConfig: unknown;
31
31
  analyticsVisible?: boolean;
32
32
  bookingsVisible?: boolean;
33
+ footerBlocksVisible?: boolean;
33
34
  isSdkSite?: boolean;
34
35
  moneyVisible?: boolean;
35
36
  newsletterVisible?: boolean;
36
37
  shopVisible?: boolean;
37
- themeEditorVisible?: boolean;
38
38
  demoUiMode?: DashboardDemoUiMode;
39
39
  }>;
40
40
  export declare const DASHBOARD_SITE_NAV_DESCRIPTORS: readonly DashboardSiteNavDescriptor[];
@@ -0,0 +1,59 @@
1
+ import { type Brand, type Result } from '../../../core/src/index';
2
+ export type NavigationMenuIdentifier = Brand<string, 'NavigationMenuIdentifier'>;
3
+ export type NavigationMenuIdentity = Brand<string, 'NavigationMenuIdentity'>;
4
+ export type NavigationMenuIdentifierParseError = Readonly<{
5
+ kind: 'not_string';
6
+ }> | Readonly<{
7
+ kind: 'empty_string';
8
+ }>;
9
+ export type NavigationMenuIdentityInput = Readonly<{
10
+ identifier?: string | null;
11
+ name: string;
12
+ }>;
13
+ export type NavigationMenuMatchCandidate = Readonly<{
14
+ id: string;
15
+ identifier?: string | null;
16
+ name: string;
17
+ isPrimary: boolean;
18
+ }>;
19
+ export type NavigationMenuMatchInput = Readonly<{
20
+ identifier?: string | null;
21
+ name: string;
22
+ }>;
23
+ export type NavigationMenuMatchPlan = Readonly<{
24
+ type: 'create';
25
+ identifier: NavigationMenuIdentifier | null;
26
+ } | {
27
+ type: 'update';
28
+ menuId: string;
29
+ identifier: NavigationMenuIdentifier | null;
30
+ } | {
31
+ type: 'adopt_legacy_primary';
32
+ menuId: string;
33
+ identifier: NavigationMenuIdentifier;
34
+ } | {
35
+ type: 'identifier_conflict';
36
+ identifier: NavigationMenuIdentifier;
37
+ menuIds: readonly string[];
38
+ } | {
39
+ type: 'ambiguous_legacy_primary';
40
+ identifier: NavigationMenuIdentifier;
41
+ menuIds: readonly string[];
42
+ } | {
43
+ type: 'ambiguous_name';
44
+ name: string;
45
+ menuIds: readonly string[];
46
+ }>;
47
+ export type ActionableNavigationMenuMatchPlan = Extract<NavigationMenuMatchPlan, {
48
+ type: 'create' | 'update' | 'adopt_legacy_primary';
49
+ }>;
50
+ export type NavigationMenuMatchFailure = Exclude<NavigationMenuMatchPlan, ActionableNavigationMenuMatchPlan>;
51
+ export declare function unsafeAsNavigationMenuIdentifier(identifier: string): NavigationMenuIdentifier;
52
+ export declare function unsafeAsNavigationMenuIdentity(identity: string): NavigationMenuIdentity;
53
+ export declare const MAIN_NAVIGATION_MENU_IDENTIFIER: NavigationMenuIdentifier;
54
+ export declare function parseNavigationMenuIdentifier(value: unknown): Result<NavigationMenuIdentifier, NavigationMenuIdentifierParseError>;
55
+ export declare function normalizeNavigationMenuIdentifier(identifier: string | null | undefined): NavigationMenuIdentifier | null;
56
+ export declare function isMainNavigationMenuIdentifier(identifier: string | null | undefined): boolean;
57
+ export declare function navigationMenuIdentity(input: NavigationMenuIdentityInput): NavigationMenuIdentity;
58
+ export declare function planNavigationMenuMatch(input: NavigationMenuMatchInput, menus: readonly NavigationMenuMatchCandidate[]): NavigationMenuMatchPlan;
59
+ export declare function actionableNavigationMenuMatchPlan(plan: NavigationMenuMatchPlan): Result<ActionableNavigationMenuMatchPlan, NavigationMenuMatchFailure>;
@@ -9,12 +9,14 @@ export { DASHBOARD_SITE_NAV_DESCRIPTORS, buildDashboardSiteNavPlan, dashboardDem
9
9
  export { DASHBOARD_SETTINGS_NAV_GROUPS, buildDashboardSettingsNavPlan, isDemoSettingsNavSurfaceVisible, } from './navigation/dashboardSettingsNav';
10
10
  export { buildDashboardTeamMemberNavPlan, isTeamMemberAccessiblePath, } from './navigation/dashboardTeamMemberNav';
11
11
  export { buildDashboardBookingsNavPlan, resolveDashboardBookingsNavPolicy, } from './navigation/dashboardBookingsNav';
12
+ export { MAIN_NAVIGATION_MENU_IDENTIFIER, actionableNavigationMenuMatchPlan, isMainNavigationMenuIdentifier, navigationMenuIdentity, normalizeNavigationMenuIdentifier, parseNavigationMenuIdentifier, planNavigationMenuMatch, unsafeAsNavigationMenuIdentifier, unsafeAsNavigationMenuIdentity, } from './navigation/identity';
12
13
  export { isDemoMoneyNavSurfaceVisible, isDemoShopNavSurfaceVisible, } from './navigation/dashboardDemoNav';
13
14
  export type { DashboardDemoUiMode, DashboardSiteNavDescriptor, DashboardSiteNavGroupId, DashboardSiteNavGroupPlan, DashboardSiteNavItemPlan, DashboardSiteNavLinkPlan, DashboardSiteNavPlanContext, DashboardSiteNavSurfaceId, SiteNavFeatureFlag, } from './navigation/dashboardSiteNav';
14
15
  export type { DashboardSettingsDangerItemId, DashboardSettingsDangerItemPlan, DashboardSettingsNavDescriptor, DashboardSettingsNavGroupDescriptor, DashboardSettingsNavGroupPlan, DashboardSettingsNavItemPlan, DashboardSettingsNavPlan, DashboardSettingsNavPlanContext, DashboardSettingsNavSurfaceId, SettingsNavFeatureFlag, } from './navigation/dashboardSettingsNav';
15
16
  export type { DashboardTeamMemberNavContext, DashboardTeamMemberNavDestination, DashboardTeamMemberNavItemId, DashboardTeamMemberNavItemPlan, } from './navigation/dashboardTeamMemberNav';
16
17
  export type { DashboardAppointmentResourceLabel, DashboardBookingModules, DashboardBookingsNavContext, DashboardBookingsNavDestination, DashboardBookingsNavGroupPlan, DashboardBookingsNavItemPlan, DashboardBookingsNavPolicy, DashboardBookingsTeamMemberContext, FullAppointmentsNavPolicy, StaffScopedAppointmentsNavPolicy, } from './navigation/dashboardBookingsNav';
17
18
  export type { DashboardMoneyNavSurfaceId, DashboardShopNavSurfaceId, } from './navigation/dashboardDemoNav';
19
+ export type { ActionableNavigationMenuMatchPlan, NavigationMenuIdentifier, NavigationMenuIdentifierParseError, NavigationMenuIdentity, NavigationMenuIdentityInput, NavigationMenuMatchCandidate, NavigationMenuMatchFailure, NavigationMenuMatchInput, NavigationMenuMatchPlan, } from './navigation/identity';
18
20
  export { linkPayloadToValue, linkValueToPayload, toInternalLinkValue, toPersistableNavigationLinkValue, } from './navigation/linkValue';
19
21
  export type { PersistableNavigationLinkError, PersistableNavigationLinkResult, PersistableNavigationLinkValue, } from './navigation/linkValue';
20
22
  export type { CartLinkLabelConfig, CartLinkPayload, EntryLinkPayload, InternalLinkRoutablePayload, LinkResolutionOptions, LinkPayload, NavigationLinkInput, NavigationUrlType, PageLinkPayload, PortalLinkPayload, ResolvedNavigationLink, RoutableContentItem, SitemapRouteItem, } from './navigation/types';
@@ -4,6 +4,7 @@ import type { AutoAppliedDiscountPreview } from "./bookingRecords";
4
4
  import type { PublicCourseDetails } from "./courses";
5
5
  import type { PublicTeamMemberBlockItem, PublicTeamMemberSummary } from "./teamMembers";
6
6
  import type { EventPreset } from "./bookingConfig";
7
+ import type { GeneratedIconRenderAssetsRequest, GeneratedIconRenderAssetsResponse } from "./siteIcons";
7
8
  /**
8
9
  * Public-experience endpoints group the storefront-facing event, booking, newsletter,
9
10
  * and commerce loaders that are shared by blocks and public site runtime consumers.
@@ -678,6 +679,9 @@ export type PublicExperienceAPIEndpoints = {
678
679
  };
679
680
  }>;
680
681
  }>;
682
+ getGeneratedIconRenderAssets: APIEndpoint<GeneratedIconRenderAssetsRequest, {
683
+ siteId: string;
684
+ }, GeneratedIconRenderAssetsResponse>;
681
685
  resolveEntrySubroute: APIEndpoint<never, {
682
686
  siteId: string;
683
687
  entryId: string;
@@ -727,6 +727,7 @@ export interface SdkGetCourseResponse {
727
727
  export interface SdkUpsertNavigationMenuResponse {
728
728
  menu: {
729
729
  id: string;
730
+ identifier: string | null;
730
731
  name: string;
731
732
  isPrimary: boolean;
732
733
  isFooter: boolean;
@@ -0,0 +1,128 @@
1
+ export type SiteIconStyleStrokeRule = "line" | "filled" | "duotone";
2
+ export type SemanticIconId = string;
3
+ export type BlockIconValue = {
4
+ kind: "none";
5
+ } | {
6
+ kind: "semantic";
7
+ iconId: SemanticIconId;
8
+ } | {
9
+ kind: "generated";
10
+ setId: string;
11
+ assetId: string;
12
+ semanticFallbackIconId: SemanticIconId;
13
+ styleGuideVersionId: string;
14
+ };
15
+ export type SiteIconStyleGuidePayload = {
16
+ displaySummary: string;
17
+ untrustedStyleContext: string[];
18
+ paletteGuidance: string[];
19
+ strokeRule: SiteIconStyleStrokeRule;
20
+ fillRule: string;
21
+ backgroundRule: string;
22
+ metaphorGuidance: string;
23
+ avoidList: string[];
24
+ };
25
+ export type SiteIconStyleGuideFreshnessPayload = {
26
+ kind: "current";
27
+ sourceFingerprint: string;
28
+ versionId: string;
29
+ } | {
30
+ kind: "stale";
31
+ guideFingerprint: string;
32
+ currentSourceFingerprint: string;
33
+ guideVersionId: string;
34
+ currentVersionId: string;
35
+ };
36
+ export type SiteIconStyleGuideResponse = {
37
+ guide: SiteIconStyleGuidePayload & {
38
+ versionId: string;
39
+ sourceFingerprint: string;
40
+ provenanceKind: "deterministic" | "ai" | "manual";
41
+ };
42
+ source: {
43
+ brandGuidelinesAvailable: boolean;
44
+ paletteColorCount: number;
45
+ approvedExampleRefCount: number;
46
+ };
47
+ freshness: SiteIconStyleGuideFreshnessPayload;
48
+ };
49
+ export type SiteIconStyleGuideUpdateRequest = SiteIconStyleGuidePayload;
50
+ export type GeneratedIconSetCardRequest = {
51
+ cardKey: string;
52
+ title: string;
53
+ bodyText: string;
54
+ semanticIconId: SemanticIconId;
55
+ };
56
+ export type GeneratedIconSetGenerateRequest = {
57
+ blockKind: string;
58
+ blockLabel: string;
59
+ cards: GeneratedIconSetCardRequest[];
60
+ userStyleNote?: string | null;
61
+ };
62
+ export type GeneratedIconSetPreviewAsset = {
63
+ cardKey: string;
64
+ src: string;
65
+ width: number;
66
+ height: number;
67
+ iconValue: BlockIconValue;
68
+ };
69
+ export type GeneratedIconSetCandidateAsset = {
70
+ cardKey: string;
71
+ mimeType: "image/png" | "image/webp";
72
+ width: number;
73
+ height: number;
74
+ byteLength: number;
75
+ bytesBase64: string;
76
+ };
77
+ export type GeneratedIconSetCandidate = {
78
+ setId: string;
79
+ blockKind: string;
80
+ blockLabel: string;
81
+ userStyleNote: string | null;
82
+ styleGuideVersionId: string;
83
+ styleGuideSourceFingerprint: string;
84
+ prompt: string;
85
+ promptFingerprint: string;
86
+ providerName: string;
87
+ modelId: string;
88
+ cards: GeneratedIconSetCardRequest[];
89
+ assets: GeneratedIconSetCandidateAsset[];
90
+ };
91
+ export type GeneratedIconSetGenerateResponse = {
92
+ styleGuide: {
93
+ versionId: string;
94
+ sourceFingerprint: string;
95
+ displaySummary: string;
96
+ };
97
+ candidate: GeneratedIconSetCandidate;
98
+ preview: {
99
+ assets: GeneratedIconSetPreviewAsset[];
100
+ };
101
+ };
102
+ export type GeneratedIconSetApplyRequest = {
103
+ candidate: GeneratedIconSetCandidate;
104
+ };
105
+ export type GeneratedIconSetApplyResponse = {
106
+ setId: string;
107
+ styleGuideVersionId: string;
108
+ assets: Array<{
109
+ cardKey: string;
110
+ mediaAssetId: string;
111
+ iconValue: BlockIconValue;
112
+ }>;
113
+ };
114
+ export type GeneratedIconRenderAssetRef = {
115
+ setId: string;
116
+ assetId: string;
117
+ };
118
+ export type GeneratedIconRenderAssetsRequest = {
119
+ refs: GeneratedIconRenderAssetRef[];
120
+ };
121
+ export type GeneratedIconRenderAsset = GeneratedIconRenderAssetRef & {
122
+ src: string;
123
+ width?: number;
124
+ height?: number;
125
+ };
126
+ export type GeneratedIconRenderAssetsResponse = {
127
+ assets: GeneratedIconRenderAsset[];
128
+ };
@@ -69,6 +69,129 @@ export type UpdateWebhookResponse = {
69
69
  export type DeleteWebhookResponse = {
70
70
  success: boolean;
71
71
  };
72
+ export type SetupSdkRevalidationWebhookRequest = {
73
+ url: string;
74
+ name?: string;
75
+ rotateSecret?: boolean;
76
+ dryRun?: boolean;
77
+ vercel?: boolean;
78
+ };
79
+ export type SdkRevalidationWebhookPlannedEndpoint = {
80
+ name: string;
81
+ url: string;
82
+ events: string[];
83
+ enabled: boolean;
84
+ rotateSecret: boolean;
85
+ };
86
+ type SdkRevalidationWebhookSetupBase = {
87
+ message: string;
88
+ checklist: string[];
89
+ plannedEndpoint: SdkRevalidationWebhookPlannedEndpoint;
90
+ };
91
+ export type SetupSdkRevalidationWebhookDryRunResponse = SdkRevalidationWebhookSetupBase & {
92
+ dryRun: true;
93
+ action: 'would_create' | 'would_update' | 'would_rotate' | 'would_leave_unchanged';
94
+ endpoint: WebhookEndpointRecord | null;
95
+ };
96
+ export type SetupSdkRevalidationWebhookCreatedResponse = SdkRevalidationWebhookSetupBase & {
97
+ dryRun: false;
98
+ action: 'created' | 'rotated';
99
+ endpoint: WebhookEndpointRecord;
100
+ secret: string;
101
+ };
102
+ export type SetupSdkRevalidationWebhookUpdatedResponse = SdkRevalidationWebhookSetupBase & {
103
+ dryRun: false;
104
+ action: 'updated' | 'unchanged';
105
+ endpoint: WebhookEndpointRecord;
106
+ };
107
+ export type SetupSdkRevalidationWebhookResponse = SetupSdkRevalidationWebhookDryRunResponse | SetupSdkRevalidationWebhookCreatedResponse | SetupSdkRevalidationWebhookUpdatedResponse;
108
+ export type SdkDeploymentHealthStatus = 'not_connected' | 'misconfigured' | 'attention_needed' | 'healthy' | 'unknown';
109
+ export type SdkDeploymentHealthIssueCode = 'endpoint_missing' | 'duplicate_sdk_revalidation_endpoints' | 'endpoint_disabled' | 'endpoint_missing_secret' | 'endpoint_missing_events' | 'recent_delivery_failed' | 'failure_count_nonzero' | 'secret_rotated_without_success' | 'no_delivery_evidence';
110
+ export type SdkDeploymentHealthAction = {
111
+ tag: 'create_endpoint';
112
+ label: string;
113
+ adminOnly: true;
114
+ } | {
115
+ tag: 'repair_endpoint';
116
+ label: string;
117
+ adminOnly: true;
118
+ } | {
119
+ tag: 'rotate_secret';
120
+ label: string;
121
+ adminOnly: true;
122
+ } | {
123
+ tag: 'inspect_logs';
124
+ label: string;
125
+ adminOnly: false;
126
+ } | {
127
+ tag: 'none';
128
+ label: string;
129
+ adminOnly: false;
130
+ };
131
+ export type SdkDeploymentSafeDeliveryStatus = 'success' | 'failed' | 'unknown';
132
+ export type SdkDeploymentSafeDeliverySummary = {
133
+ id: string;
134
+ event: string;
135
+ status: SdkDeploymentSafeDeliveryStatus;
136
+ statusCode: number | null;
137
+ responseTimeMs: number | null;
138
+ deliveredAt: string;
139
+ snippet: string | null;
140
+ };
141
+ export type SdkDeploymentHealthState = {
142
+ tag: 'not_connected';
143
+ status: 'not_connected';
144
+ message: string;
145
+ issues: Array<{
146
+ code: Extract<SdkDeploymentHealthIssueCode, 'endpoint_missing'>;
147
+ message: string;
148
+ }>;
149
+ actions: SdkDeploymentHealthAction[];
150
+ } | {
151
+ tag: 'misconfigured';
152
+ status: 'misconfigured';
153
+ message: string;
154
+ issues: Array<{
155
+ code: Extract<SdkDeploymentHealthIssueCode, 'duplicate_sdk_revalidation_endpoints' | 'endpoint_disabled' | 'endpoint_missing_secret' | 'endpoint_missing_events'>;
156
+ message: string;
157
+ }>;
158
+ actions: SdkDeploymentHealthAction[];
159
+ } | {
160
+ tag: 'attention_needed';
161
+ status: 'attention_needed';
162
+ message: string;
163
+ issues: Array<{
164
+ code: Extract<SdkDeploymentHealthIssueCode, 'recent_delivery_failed' | 'failure_count_nonzero' | 'secret_rotated_without_success'>;
165
+ message: string;
166
+ }>;
167
+ actions: SdkDeploymentHealthAction[];
168
+ } | {
169
+ tag: 'healthy';
170
+ status: 'healthy';
171
+ message: string;
172
+ issues: [];
173
+ actions: SdkDeploymentHealthAction[];
174
+ } | {
175
+ tag: 'unknown';
176
+ status: 'unknown';
177
+ message: string;
178
+ issues: Array<{
179
+ code: Extract<SdkDeploymentHealthIssueCode, 'no_delivery_evidence'>;
180
+ message: string;
181
+ }>;
182
+ actions: SdkDeploymentHealthAction[];
183
+ };
184
+ export type SdkDeploymentHealthResponse = {
185
+ visible: boolean;
186
+ canonicalWebhookName: string;
187
+ canonicalEvents: readonly string[];
188
+ endpoint: WebhookEndpointRecord | null;
189
+ duplicateEndpoints: WebhookEndpointRecord[];
190
+ recentDeliveries: SdkDeploymentSafeDeliverySummary[];
191
+ health: SdkDeploymentHealthState;
192
+ };
193
+ export type SetupSdkDeploymentRevalidationWebhookRequest = SetupSdkRevalidationWebhookRequest;
194
+ export type SetupSdkDeploymentRevalidationWebhookResponse = SetupSdkRevalidationWebhookResponse;
72
195
  export type ApiKeyType = "content" | "preview" | "management";
73
196
  export type ApiKeyRecord = {
74
197
  id: string;
@@ -336,3 +459,4 @@ export type ImportBackupAsNewSiteResponse = {
336
459
  error?: string;
337
460
  code?: string;
338
461
  };
462
+ export {};
@@ -12,6 +12,7 @@ import type { LinkPayload, RoutableContentItem, SitemapRouteItem } from "./navig
12
12
  import type { RouteMetadataPayload, RouteMetadataResponse } from "./routes";
13
13
  import type { SiteAnalyticsSettingsPayload, SiteAnalyticsSettingsResponse } from "./siteAnalytics";
14
14
  import type { SiteBannerSettingsPayload, SiteBannerSettingsResponse } from "./siteBanner";
15
+ import type { GeneratedIconSetApplyRequest, GeneratedIconSetApplyResponse, GeneratedIconSetGenerateRequest, GeneratedIconSetGenerateResponse, SiteIconStyleGuideResponse, SiteIconStyleGuideUpdateRequest } from "./siteIcons";
15
16
  import type { AiBrandGuidelinesGenerateRequest, AiBrandGuidelinesGenerateResponse, AiBrandGuidelinesGenerationContextResponse, SiteAiBrandGuidelinesPayload, SiteAiBrandGuidelinesResponse, SiteAiProfilePayload, SiteAiProfileResponse, SiteGenerationIntakePayload, SiteGenerationIntakeResponse } from "./siteOnboarding";
16
17
  import type { SitePrivacySettingsPayload, SitePrivacySettingsResponse } from "./privacyPolicy";
17
18
  import type { MaintenanceSettingsPayload, MaintenanceSettingsResponse, SiteBusinessAddressPayload, SiteBusinessAddressResponse, SiteFooterBlocksEditorResponse, SiteGeneralSettingsPayload, SiteGeneralSettingsResponse, SiteLayoutSettingsPayload, SiteLayoutSettingsResponse, UpdateSiteDeploymentModePayload, UpdateSiteDeploymentModeResponse, UpdateSiteFooterBlocksPayload, UpdateSiteFooterBlocksResponse } from "./siteSettings";
@@ -492,6 +493,21 @@ export type SiteManagementAPIEndpoints = {
492
493
  updateSiteAiBrandGuidelines: APIEndpoint<SiteAiBrandGuidelinesPayload, {
493
494
  siteId: string;
494
495
  }, SiteAiBrandGuidelinesResponse>;
496
+ getSiteIconStyleGuide: APIEndpoint<never, {
497
+ siteId: string;
498
+ }, SiteIconStyleGuideResponse>;
499
+ updateSiteIconStyleGuide: APIEndpoint<SiteIconStyleGuideUpdateRequest, {
500
+ siteId: string;
501
+ }, SiteIconStyleGuideResponse>;
502
+ regenerateSiteIconStyleGuide: APIEndpoint<never, {
503
+ siteId: string;
504
+ }, SiteIconStyleGuideResponse>;
505
+ generateGeneratedIconSet: APIEndpoint<GeneratedIconSetGenerateRequest, {
506
+ siteId: string;
507
+ }, GeneratedIconSetGenerateResponse>;
508
+ applyGeneratedIconSet: APIEndpoint<GeneratedIconSetApplyRequest, {
509
+ siteId: string;
510
+ }, GeneratedIconSetApplyResponse>;
495
511
  getSiteAiProfile: APIEndpoint<never, {
496
512
  siteId: string;
497
513
  }, SiteAiProfileResponse>;
@@ -1,4 +1,5 @@
1
1
  import type { Theme } from "../../blocks/src/index";
2
+ import type { LogoFacts } from "../../theme-core/src/site-styles/index";
2
3
  import { z } from "zod";
3
4
  import type { AiGenerateSiteEntityType, AiGenerateSitePrimaryCta, AiGenerateSiteRequest } from "./siteGeneration";
4
5
  import type { BookingVerticalConfig } from "./bookingConfig";
@@ -91,11 +92,21 @@ export type MacadamiaOnboardingMappedPalette = {
91
92
  palette: Record<"primary" | "secondary" | "accent" | "background" | "surface" | "text", string>;
92
93
  mode: "light" | "dark";
93
94
  };
95
+ export type MacadamiaOnboardingLogoPaletteRecommendation = {
96
+ title: string;
97
+ palette: MacadamiaOnboardingMappedPalette["palette"];
98
+ };
99
+ export type MacadamiaOnboardingLogoAnalysis = {
100
+ logoFacts: LogoFacts;
101
+ recommendedPalettes: MacadamiaOnboardingLogoPaletteRecommendation[];
102
+ ignoredColors: string[];
103
+ };
94
104
  export type MacadamiaOnboardingVisualIdentity = {
95
105
  logoPath: string | null;
96
106
  logoUrl: string | null;
97
107
  logoPalette: string[] | null;
98
108
  logoMappedPalette: MacadamiaOnboardingMappedPalette | null;
109
+ logoAnalysis: MacadamiaOnboardingLogoAnalysis | null;
99
110
  primaryColor: string | null;
100
111
  secondaryColors: string[];
101
112
  selectedPaletteKey: string | null;
@@ -412,6 +423,7 @@ export type PublicOnboardingLogoUploadResponse = {
412
423
  path: string;
413
424
  publicUrl: string | null;
414
425
  palette: string[];
426
+ logoAnalysis: MacadamiaOnboardingLogoAnalysis | null;
415
427
  };
416
428
  export type PublicOnboardingAttemptStatus = "draft" | "claimed" | "provisioning" | "provisioned" | "completed" | "cancelled";
417
429
  export type PublicOnboardingProvisioningStage = "starting" | "site_setup" | "copy_generation" | "media_generation" | "page_creation" | "surface_setup" | "theme_setup" | "preview_ready";
@@ -482,6 +494,7 @@ export type SiteWizardResumeSnapshot = {
482
494
  palette: Record<"primary" | "secondary" | "accent" | "background" | "surface" | "text", string>;
483
495
  mode: "light" | "dark";
484
496
  } | null;
497
+ logoAnalysis?: MacadamiaOnboardingLogoAnalysis | null;
485
498
  goalSuggestions?: AiSiteWizardSuggestGoalsResponse | null;
486
499
  goalSuggestionsInputKey?: string | null;
487
500
  };
@@ -5,7 +5,7 @@ import type { MutableCourseStatus } from "./courses";
5
5
  import type { ListCustomBlocksResponse, CreateCustomBlockRequest, CreateCustomBlockResponse, DeleteCustomBlockResponse, GetCustomBlockResponse, SdkWorkflowRunStatusCallbackRequest, SdkWorkflowRunStatusCallbackResponse, UpdateCustomBlockRequest, UpdateCustomBlockResponse } from "./contentRuntime";
6
6
  import type { ContentTypeRecord, CreateContentTypeRequest, CreateContentTypeResponse, DeleteContentTypeResponse, DuplicateContentTypeResponse, ListContentTypesResponse, UpdateContentTypeRequest, UpdateContentTypeResponse } from "./contentTypes";
7
7
  import type { CheckRedirectQuery, CheckRedirectResponse, CreateRedirectRuleRequest, CreateRedirectRuleResponse, DeleteRedirectRuleResponse, ListRedirectRulesResponse } from "./redirects";
8
- import type { CreateManagementKeyRequest, CreateManagementKeyResponse, CreateSiteApiKeyRequest, CreateSiteApiKeyResponse, CreateSitePreviewKeyResponse, CreateWebhookRequest, CreateWebhookResponse, DeleteBackupUploadRequest, DeleteBackupUploadResponse, DeleteWebhookResponse, GetSiteApiKeyAccessLogsResponse, GetSitePreviewKeyResponse, GetWebhookResponse, ImportBackupAsNewSiteRequest, ImportBackupAsNewSiteResponse, ImportSiteBackupRequest, ListManagementKeysResponse, ListSiteApiKeysResponse, ListWebhooksResponse, RevokeManagementKeyRequest, RevokeManagementKeyResponse, RevokeSiteApiKeyResponse, UpdateWebhookRequest, UpdateWebhookResponse, BackupImportResponse, BackupPreviewRequest, BackupPreviewResponse, CreateBackupUploadUrlRequest, CreateBackupUploadUrlResponse } from "./siteInfrastructure";
8
+ import type { CreateManagementKeyRequest, CreateManagementKeyResponse, CreateSiteApiKeyRequest, CreateSiteApiKeyResponse, CreateSitePreviewKeyResponse, CreateWebhookRequest, CreateWebhookResponse, DeleteBackupUploadRequest, DeleteBackupUploadResponse, DeleteWebhookResponse, GetSiteApiKeyAccessLogsResponse, GetSitePreviewKeyResponse, GetWebhookResponse, ImportBackupAsNewSiteRequest, ImportBackupAsNewSiteResponse, ImportSiteBackupRequest, ListManagementKeysResponse, ListSiteApiKeysResponse, ListWebhooksResponse, RevokeManagementKeyRequest, RevokeManagementKeyResponse, RevokeSiteApiKeyResponse, SdkDeploymentHealthResponse, SetupSdkDeploymentRevalidationWebhookRequest, SetupSdkDeploymentRevalidationWebhookResponse, SetupSdkRevalidationWebhookRequest, SetupSdkRevalidationWebhookResponse, UpdateWebhookRequest, UpdateWebhookResponse, BackupImportResponse, BackupPreviewRequest, BackupPreviewResponse, CreateBackupUploadUrlRequest, CreateBackupUploadUrlResponse } from "./siteInfrastructure";
9
9
  import type { GetSiteInspirationAnalysisResponse, ListSiteInspirationAnalysesResponse } from "./siteGeneration";
10
10
  import type { ListGscPropertiesAdminResponse, AuthStatusResponse, CronAppointmentRemindersResponse, CronBillingStatusResponse, CronEventFeedbackEmailsResponse, CronEventOccurrencesResponse, CronEventRemindersResponse, CronMediaJobsQuery, CronMediaJobsResponse, CronNewsletterSendResponse, CronPaymentReconciliationResponse, CronSeoIngestResponse, CronWaitlistExpiryResponse } from "./siteOperations";
11
11
  import type { ApplySiteStyleSelectionBody, ApplySiteStyleSelectionResponse } from "./siteRuntimeEndpoints";
@@ -49,6 +49,12 @@ export type SitePlatformAPIEndpoints = {
49
49
  siteId: string;
50
50
  webhookId: string;
51
51
  }, DeleteWebhookResponse>;
52
+ getSdkDeploymentHealth: APIEndpoint<never, {
53
+ siteId: string;
54
+ }, SdkDeploymentHealthResponse>;
55
+ setupSdkDeploymentRevalidationWebhook: APIEndpoint<SetupSdkDeploymentRevalidationWebhookRequest, {
56
+ siteId: string;
57
+ }, SetupSdkDeploymentRevalidationWebhookResponse>;
52
58
  listSiteApiKeys: APIEndpoint<never, {
53
59
  siteId: string;
54
60
  }, ListSiteApiKeysResponse>;
@@ -258,6 +264,7 @@ export type SitePlatformAPIEndpoints = {
258
264
  reordered: true;
259
265
  }>;
260
266
  sdkUpsertNavigationMenu: APIEndpoint<{
267
+ identifier?: string;
261
268
  name: string;
262
269
  isPrimary?: boolean;
263
270
  isFooter?: boolean;
@@ -270,6 +277,12 @@ export type SitePlatformAPIEndpoints = {
270
277
  }, {
271
278
  siteId: string;
272
279
  }, SdkUpsertNavigationMenuResponse>;
280
+ sdkDeleteNavigationMenu: APIEndpoint<never, {
281
+ siteId: string;
282
+ menuId: string;
283
+ }, {
284
+ deleted: true;
285
+ }>;
273
286
  sdkUpsertTheme: APIEndpoint<{
274
287
  theme: Theme;
275
288
  themeId?: string;
@@ -463,6 +476,9 @@ export type SitePlatformAPIEndpoints = {
463
476
  }, {
464
477
  siteId: string;
465
478
  }, SdkUpdateSettingsResponse>;
479
+ sdkSetupRevalidationWebhook: APIEndpoint<SetupSdkRevalidationWebhookRequest, {
480
+ siteId: string;
481
+ }, SetupSdkRevalidationWebhookResponse>;
466
482
  listSiteContentTypes: APIEndpoint<never, {
467
483
  siteId: string;
468
484
  }, ListContentTypesResponse>;
@@ -1,4 +1,4 @@
1
- import type { SystemCustomizeFacetSelection, Theme } from '../../blocks/src/index';
1
+ import type { BackgroundOverride, SystemCustomizeFacetSelection, Theme } from '../../blocks/src/index';
2
2
  import type { ListMediaAssetsResult, MediaAssetWithLabels } from '@riverbankcms/media-storage-supabase';
3
3
  import type { DbJson } from '../../db/src/index';
4
4
  import type { PageDesignEditorReadModel, PageDesignIntent, AppearancePresetId, BoundaryOptionId, DesignBlockId, FooterLookId, HeaderLayoutId, HeaderLookId, HeaderStyleId, LayoutVariantKey, SiteStyleId, TypographyPresetId } from '../../theme-core/src/site-styles/index';
@@ -117,6 +117,11 @@ export type PageDesignEditorAction = {
117
117
  blockId: DesignBlockId;
118
118
  baseContentId: string | null;
119
119
  } & SystemCustomizeFacetSelection) | {
120
+ kind: 'set-background';
121
+ blockId: DesignBlockId;
122
+ baseContentId: string | null;
123
+ override: BackgroundOverride;
124
+ } | {
120
125
  kind: 'set-look';
121
126
  blockId: DesignBlockId;
122
127
  appearancePresetId: AppearancePresetId | null;
@@ -1,6 +1,6 @@
1
1
  import type { CamelizeKeys, DbDatabase, DbRow } from "../../db/src/index";
2
2
  import type { APIEndpoint } from "./apiEndpointTypes";
3
- export type { AccessPolicyContract, AccessPolicyTag, CreateMediaAssetBody, EntitledCustomerAccessScopeContract, FileKindContract, FileKindTag, FileUseContract, FileUseTag, ImageFileFormat, MediaAssetResponse, MediaAssetFileFilterContract, MediaBulkDeleteAssetFailure, MediaBulkDeleteResponse, MediaClassifyJobResponse, MediaJobSummaryResponse, MediaLabelSummary, MediaSettingsResponse, RenderableFileKindTag, StorageClass, UploadIntentContract, UploadIntentTag, } from "./media";
3
+ export type { AccessPolicyContract, AccessPolicyTag, AmbientBackgroundRole, CreateMediaAssetBody, EntitledCustomerAccessScopeContract, FileKindContract, FileKindTag, FileUseContract, FileUseTag, ImageFileFormat, MediaAssetResponse, MediaAssetFileFilterContract, MediaBulkDeleteAssetFailure, MediaBulkDeleteResponse, MediaClassifyJobResponse, MediaJobSummaryResponse, MediaLabelSummary, MediaSettingsResponse, RenderableFileKindTag, SiteBackgroundAssetUse, StorageClass, UploadIntentContract, UploadIntentTag, } from "./media";
4
4
  export type { AnalyticsPreset, AnalyticsReferrer, AnalyticsReportFilters, AnalyticsReportQuery, AnalyticsReportResponse, AnalyticsSeriesPoint, AnalyticsTopPage, AnalyticsTotals, } from "./analytics";
5
5
  export type { AIChatMessage, AiBriefTurn, JsonPrimitive, JsonValue, MediaUsageCheckItem, MediaUsageCheckResponse, MediaUsageLocation, } from "./shared-contracts";
6
6
  export type * from "./accessAdmin";