@riverbankcms/sdk 0.130.0 → 0.130.2

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 (244) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +1 -1
  3. package/dist/{PreviewEditorSidebar-DiEpbOdw.mjs → PreviewEditorSidebar-BY-1QdE2.mjs} +18 -15
  4. package/dist/{PreviewEditorUI-C6MvxnIa.mjs → PreviewEditorUI-BS34jI9_.mjs} +3 -3
  5. package/dist/{PreviewQueryProvider-C2rnoPz6.mjs → PreviewQueryProvider-BD0kOjtI.mjs} +1 -1
  6. package/dist/{SdkPreviewModeRuntime-DRXA_m5L.mjs → SdkPreviewModeRuntime-B1pWnhu-.mjs} +48 -21
  7. package/dist/{SiteChromeCustomizeContext-BTHdv5_-.mjs → SiteChromeCustomizeContext-BhUG_72i.mjs} +6180 -5076
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +309 -32
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +969 -112
  10. package/dist/_dts/api/src/accountApi.d.ts +213 -0
  11. package/dist/_dts/api/src/accountEndpointDefinitions.d.ts +30 -0
  12. package/dist/_dts/api/src/accountEndpoints.d.ts +254 -0
  13. package/dist/_dts/api/src/apiCallParams.d.ts +60 -0
  14. package/dist/_dts/api/src/bookingConfig.d.ts +10 -20
  15. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -5
  16. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +15 -0
  17. package/dist/_dts/api/src/bookingSettingsSections.d.ts +9 -0
  18. package/dist/_dts/api/src/bookingVerticals.d.ts +2 -2
  19. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -0
  20. package/dist/_dts/api/src/endpoints.d.ts +1253 -1209
  21. package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
  22. package/dist/_dts/api/src/eventManagementContracts.d.ts +83 -7
  23. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +26 -0
  24. package/dist/_dts/api/src/eventSeriesPresentationPreset.d.ts +12 -0
  25. package/dist/_dts/api/src/index.d.ts +11 -3
  26. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  27. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -0
  28. package/dist/_dts/api/src/oauth.d.ts +8 -0
  29. package/dist/_dts/api/src/preview-auth.d.ts +26 -0
  30. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +5 -5
  31. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +0 -1
  32. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -0
  33. package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +48 -0
  34. package/dist/_dts/api/src/sdkContracts.d.ts +5 -13
  35. package/dist/_dts/api/src/sdkEventCategoryContracts.d.ts +9 -0
  36. package/dist/_dts/api/src/sdkThemeWire.d.ts +40 -8
  37. package/dist/_dts/api/src/settings/permissions.d.ts +2 -2
  38. package/dist/_dts/api/src/siteApiKeyEndpointDefinitions.d.ts +66 -0
  39. package/dist/_dts/api/src/siteInfrastructure.d.ts +3 -3
  40. package/dist/_dts/api/src/siteOperations.d.ts +1 -1
  41. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +12 -4
  42. package/dist/_dts/api/src/types.d.ts +7 -59
  43. package/dist/_dts/block-form/src/client/index.d.ts +15 -23
  44. package/dist/_dts/block-form/src/index.d.ts +23 -22
  45. package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +18 -1
  46. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -0
  47. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -1
  48. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +61 -0
  49. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +24 -22
  50. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -1
  51. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +7 -30
  52. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +0 -1
  53. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +4 -63
  54. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +1 -3
  55. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +13 -1
  56. package/dist/_dts/blocks/src/system/fields/gridLayout.d.ts +20 -0
  57. package/dist/_dts/blocks/src/system/node/fragments/classNameBinding.d.ts +6 -1
  58. package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +31 -0
  59. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +4 -0
  60. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -1
  61. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +0 -1
  62. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +4 -2
  63. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +24 -8
  64. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +8 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.validationErrors.d.ts +17 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +42 -0
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +4 -1
  71. package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +17 -1
  72. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -1
  73. package/dist/_dts/blocks/src/system/spacing.d.ts +1 -1
  74. package/dist/_dts/blocks/src/system/transforms/registry/_utils/boxStyleClassNames.d.ts +90 -0
  75. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +4 -0
  76. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +26 -0
  77. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -37
  78. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -2
  79. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +6 -6
  80. package/dist/_dts/content-model/src/content-types/builtins.d.ts +6 -6
  81. package/dist/_dts/core/src/branded.d.ts +4 -0
  82. package/dist/_dts/core/src/event-page-surface-subject.d.ts +25 -4
  83. package/dist/_dts/core/src/index.d.ts +3 -0
  84. package/dist/_dts/core/src/public-event-booking-availability.d.ts +8 -0
  85. package/dist/_dts/core/src/secret.d.ts +44 -0
  86. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +341 -0
  87. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
  88. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -2
  89. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -2
  90. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +1 -1
  91. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +1 -1
  92. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +1 -1
  93. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +1 -1
  94. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +1 -1
  95. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
  96. package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
  97. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  98. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  99. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  100. package/dist/_dts/editor-blocks/src/widgets/button/index.d.ts +1 -1
  101. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  102. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  103. package/dist/_dts/editor-blocks/src/widgets/entry-picker/index.d.ts +1 -1
  104. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  105. package/dist/_dts/editor-blocks/src/widgets/inline-text/InlineTextField.d.ts +1 -1
  106. package/dist/_dts/editor-blocks/src/widgets/link/LinkField.d.ts +2 -2
  107. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewGroupOrderField.d.ts +1 -1
  108. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +2 -2
  109. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  110. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +1 -1
  111. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +1 -1
  112. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +1 -1
  113. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +1 -1
  114. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +1 -1
  115. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -0
  116. package/dist/_dts/preview-next/src/client/preview/PreviewSiteFontStorageContext.d.ts +6 -0
  117. package/dist/_dts/preview-next/src/client/preview/siteFontPreview.d.ts +5 -0
  118. package/dist/_dts/preview-next/src/client/sdk/contentStorage.d.ts +10 -0
  119. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -1
  120. package/dist/_dts/preview-next/src/index.d.ts +1 -0
  121. package/dist/_dts/preview-next/src/keepAlive.d.ts +3 -5
  122. package/dist/_dts/preview-next/src/refresh-contract.d.ts +1 -0
  123. package/dist/_dts/preview-next/src/route-contract.d.ts +7 -0
  124. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  125. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +61 -39
  126. package/dist/_dts/sdk/src/preview-next/keep-alive.d.ts +1 -1
  127. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +1 -1
  128. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  129. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +9 -1
  130. package/dist/_dts/sdk/src/theme-bridge/types.d.ts +4 -2
  131. package/dist/_dts/sdk/src/version.d.ts +1 -1
  132. package/dist/_dts/theme-core/src/cards/core.d.ts +54 -10
  133. package/dist/_dts/theme-core/src/cards/decorations.d.ts +33 -0
  134. package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +7 -2
  135. package/dist/_dts/theme-core/src/cards/index.d.ts +3 -0
  136. package/dist/_dts/theme-core/src/cards/openCardVariant.d.ts +24 -0
  137. package/dist/_dts/theme-core/src/cards/roles.d.ts +38 -0
  138. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +53 -8
  139. package/dist/_dts/theme-core/src/cards/types.d.ts +489 -21
  140. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  141. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +59 -0
  142. package/dist/_dts/theme-core/src/header/paintTargets.d.ts +2 -2
  143. package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +3 -2
  144. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +12 -135
  145. package/dist/_dts/theme-core/src/palette/utils/contrast.d.ts +1 -0
  146. package/dist/_dts/theme-core/src/palette/utils/opaqueSurfaceColor.d.ts +6 -0
  147. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -1
  148. package/dist/_dts/theme-core/src/schema.d.ts +301 -94
  149. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +84 -102
  150. package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +12 -1
  151. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +9 -4
  152. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +0 -20
  153. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +84 -102
  154. package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +48 -0
  155. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +21 -385
  156. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +10 -18
  157. package/dist/_dts/theme-core/src/site-styles/headerLayoutTypes.d.ts +2 -4
  158. package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +2 -9
  159. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +0 -2
  160. package/dist/_dts/theme-core/src/site-styles/index.d.ts +5 -0
  161. package/dist/_dts/theme-core/src/site-styles/pageDesignAppearanceAvailability.d.ts +3 -0
  162. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorCapabilities.d.ts +22 -0
  163. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +9 -8
  164. package/dist/_dts/theme-core/src/site-styles/pageDesignIntentEquality.d.ts +3 -0
  165. package/dist/_dts/theme-core/src/site-styles/previewRuntimeCapabilities.d.ts +19 -0
  166. package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -0
  167. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +1 -62
  168. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +13 -12
  169. package/dist/_dts/theme-core/src/site-styles/types.d.ts +50 -39
  170. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +9 -9
  171. package/dist/_dts/theme-core/src/status/generateStatusCss.d.ts +1 -0
  172. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  173. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +39 -0
  174. package/dist/_dts/ui/src/navigation-tabs.d.ts +3 -2
  175. package/dist/client/{CourseRegistrationWizard-Bvtz9G9g.mjs → CourseRegistrationWizard-DGW9F0SQ.mjs} +7 -7
  176. package/dist/client/{DiscountCodeDisclosure-Ur-Xx1U_.mjs → DiscountCodeDisclosure-BPZ-yfGI.mjs} +1 -1
  177. package/dist/client/{EventCombined.client-EhscD4U6.mjs → EventCombined.client-Cjt3kKYR.mjs} +4 -4
  178. package/dist/client/{EventListing.client-Bn26cFTY.mjs → EventListing.client-DY9dn6Fh.mjs} +2 -2
  179. package/dist/client/{FeedbackMessage-ByMrs3cr.mjs → FeedbackMessage-CtLvvS_d.mjs} +15 -3
  180. package/dist/client/{LeafletStaticMap-BUw9Ntzr.mjs → LeafletStaticMap--2c61XYn.mjs} +1 -1
  181. package/dist/client/{StepIndicator-BfbdiVQI.mjs → StepIndicator-CLjQhkDb.mjs} +3 -3
  182. package/dist/client/{accordion-CjIeof73.mjs → accordion-_boYwHHi.mjs} +1 -1
  183. package/dist/client/{bookingForm-DwEeovf_.mjs → bookingForm--AqEfyBX.mjs} +56 -39
  184. package/dist/client/bookings.mjs +393 -192
  185. package/dist/client/{carousel-BMrfgOba.mjs → carousel-CVI2dqZr.mjs} +2 -2
  186. package/dist/client/{carousel.client-CpwTUhIo.mjs → carousel.client-59G_WMr4.mjs} +1 -1
  187. package/dist/client/{cart-rXEdxTdb.mjs → cart-DR6IiPz9.mjs} +3 -3
  188. package/dist/client/{checkout-D3JlSzh3.mjs → checkout-CsrGAfQt.mjs} +3 -3
  189. package/dist/client/client.mjs +4524 -3512
  190. package/dist/client/{colorStyles-BWpj_h4C.mjs → colorStyles-CrxJrPjJ.mjs} +277 -1
  191. package/dist/client/{context-CJz1Vlsz.mjs → context-B83PiNzm.mjs} +6 -21
  192. package/dist/client/{courseRegistration-DO5XvMAA.mjs → courseRegistration-aNJVaLa3.mjs} +3 -3
  193. package/dist/client/{eventCalendar-DO6rTqCn.mjs → eventCalendar-OZ7h59VN.mjs} +6 -6
  194. package/dist/client/{eventCombined-bJ3i_ovU.mjs → eventCombined-BbJ6bFKz.mjs} +3 -3
  195. package/dist/client/{eventDetails-CCbrXE7o.mjs → eventDetails-BLyUBiCT.mjs} +3 -3
  196. package/dist/client/{eventListing-Bdlt9YTm.mjs → eventListing-DuP1yhBS.mjs} +3 -3
  197. package/dist/client/{eventRegistration-B02lt6iY.mjs → eventRegistration-BXyECPa-.mjs} +11 -12
  198. package/dist/client/{form-DrUBAAox.mjs → form-BA4t3kKU.mjs} +4 -4
  199. package/dist/client/{headerSection-MzqvHL6T.mjs → headerSection-CpNaJxhW.mjs} +2 -2
  200. package/dist/client/hooks.mjs +1967 -2059
  201. package/dist/client/{locationMap-DG8BxTBm.mjs → locationMap-3HGMCL7_.mjs} +3 -3
  202. package/dist/client/{media-CNE1Z-wb.mjs → media-BOHuueS5.mjs} +16 -4
  203. package/dist/client/{newsletterForm-BzO-Td3p.mjs → newsletterForm-C2s6Mw67.mjs} +4 -4
  204. package/dist/client/{pricing-NgK7ozkg.mjs → pricing-BiqIMgZk.mjs} +1 -1
  205. package/dist/client/{productDetail-CfQ7rhVK.mjs → productDetail-C9joWhdE.mjs} +3 -3
  206. package/dist/client/{productList-C23rOLUi.mjs → productList-CjzdU3pB.mjs} +3 -3
  207. package/dist/client/{propsDecoder-CAZdhwjs.mjs → propsDecoder-CBPGXEYX.mjs} +395 -402
  208. package/dist/client/rendering/client.mjs +2004 -2856
  209. package/dist/client/rendering/islands.mjs +20 -20
  210. package/dist/client/rendering.mjs +4605 -3496
  211. package/dist/client/{scrollToBlock-DSSqVQr1.mjs → scrollToBlock-DZ73aEX6.mjs} +1 -1
  212. package/dist/client/{shop-BMToKLK7.mjs → shop-CQRai7hj.mjs} +7 -7
  213. package/dist/client/{shop-commerce-DB4JRKmp.mjs → shop-commerce-hP9UboOx.mjs} +8 -8
  214. package/dist/client/{shop-commerce-store-BOqSIOuc.mjs → shop-commerce-store-DiD5a32e.mjs} +1 -1
  215. package/dist/client/{shopShared-B6SK9DZv.mjs → shopShared-DP8DXTkF.mjs} +5 -5
  216. package/dist/client/{useEventFilters-CULOa4nB.mjs → useEventFilters-pF_OJNQP.mjs} +137 -81
  217. package/dist/client/{usePolling-BGG_8-jl.mjs → usePolling-Cls91SD2.mjs} +2 -2
  218. package/dist/preview-next/before-render.mjs +192 -108
  219. package/dist/preview-next/client/runtime.mjs +4 -4
  220. package/dist/preview-next/keepAlive.mjs +7406 -29
  221. package/dist/preview-next/middleware.mjs +186 -107
  222. package/dist/{previewAuthStore-_GXFRg2W.mjs → previewAuthStore-CX1C_KJ4.mjs} +185 -107
  223. package/dist/{sdk-runtime-hhSOMShR.mjs → sdk-runtime-5CcPAI14.mjs} +2 -2
  224. package/dist/{separator-flRaFc14.mjs → separator-BXlYN_gr.mjs} +1 -1
  225. package/dist/server/components.mjs +6363 -4998
  226. package/dist/server/config-validation.mjs +1967 -2059
  227. package/dist/server/config.mjs +1967 -2059
  228. package/dist/server/data.mjs +1967 -2059
  229. package/dist/server/index.mjs +186 -108
  230. package/dist/server/next.mjs +6553 -5285
  231. package/dist/server/page-converter.mjs +1031 -1844
  232. package/dist/server/prebuild.mjs +1 -1
  233. package/dist/server/rendering/server.mjs +3352 -3006
  234. package/dist/server/rendering.mjs +6289 -4924
  235. package/dist/server/routing.mjs +1906 -1036
  236. package/dist/server/server.mjs +1976 -2165
  237. package/dist/server/theme-bridge.mjs +949 -670
  238. package/dist/server/theme.mjs +252 -51
  239. package/dist/styles/index.css +295 -334
  240. package/package.json +3 -2
  241. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +0 -1
  242. package/dist/_dts/block-form/src/widgets/index.d.ts +0 -20
  243. package/dist/_dts/blocks/src/system/runtime/api/requestBody.d.ts +0 -7
  244. package/dist/client/clsx-DgIEfj3H.mjs +0 -16
@@ -0,0 +1,213 @@
1
+ import { z } from 'zod';
2
+ import { type ApiKeyId, type Secret, type SiteId, type UserId } from '../../core/src/index';
3
+ import { ApiEnvelopeError } from './common/envelope';
4
+ import { type ApiClient, type ApiRequestError } from './request';
5
+ import { type AccountCreateSiteRequest, type AccountCreateSiteResponse, type AccountProjectCredentialRecoveryFailureTag, type AccountProvisionProjectCredentialsRequest, type AccountIdentityResponse, type AccountListSitesQuery, type AccountListSitesResponse, type AccountSite } from './accountEndpoints';
6
+ declare const identityResponseSchema: z.ZodObject<{
7
+ userId: z.ZodPipe<z.ZodString, z.ZodTransform<UserId, string>>;
8
+ email: z.ZodNullable<z.ZodString>;
9
+ displayName: z.ZodNullable<z.ZodString>;
10
+ }, z.core.$strip>;
11
+ declare const listSitesResponseSchema: z.ZodObject<{
12
+ sites: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
13
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<SiteId, string>>;
14
+ title: z.ZodString;
15
+ slug: z.ZodString;
16
+ createdAt: z.ZodNullable<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
17
+ role: z.ZodEnum<{
18
+ editor: "editor";
19
+ owner: "owner";
20
+ administrator: "administrator";
21
+ team_member: "team_member";
22
+ }>;
23
+ deploymentMode: z.ZodLiteral<"managed">;
24
+ linkCapability: z.ZodObject<{
25
+ tag: z.ZodLiteral<"ineligible_deployment_mode">;
26
+ deploymentMode: z.ZodLiteral<"managed">;
27
+ }, z.core.$strip>;
28
+ }, z.core.$strip>, z.ZodObject<{
29
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<SiteId, string>>;
30
+ title: z.ZodString;
31
+ slug: z.ZodString;
32
+ createdAt: z.ZodNullable<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
33
+ role: z.ZodEnum<{
34
+ editor: "editor";
35
+ owner: "owner";
36
+ administrator: "administrator";
37
+ team_member: "team_member";
38
+ }>;
39
+ deploymentMode: z.ZodLiteral<"headless_cms">;
40
+ linkCapability: z.ZodDiscriminatedUnion<[z.ZodObject<{
41
+ tag: z.ZodLiteral<"linkable">;
42
+ }, z.core.$strip>, z.ZodObject<{
43
+ tag: z.ZodLiteral<"insufficient_role">;
44
+ requiredRole: z.ZodEnum<{
45
+ editor: "editor";
46
+ owner: "owner";
47
+ administrator: "administrator";
48
+ team_member: "team_member";
49
+ }>;
50
+ }, z.core.$strip>], "tag">;
51
+ }, z.core.$strip>, z.ZodObject<{
52
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<SiteId, string>>;
53
+ title: z.ZodString;
54
+ slug: z.ZodString;
55
+ createdAt: z.ZodNullable<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
56
+ role: z.ZodEnum<{
57
+ editor: "editor";
58
+ owner: "owner";
59
+ administrator: "administrator";
60
+ team_member: "team_member";
61
+ }>;
62
+ deploymentMode: z.ZodLiteral<"headless_full">;
63
+ linkCapability: z.ZodDiscriminatedUnion<[z.ZodObject<{
64
+ tag: z.ZodLiteral<"linkable">;
65
+ }, z.core.$strip>, z.ZodObject<{
66
+ tag: z.ZodLiteral<"insufficient_role">;
67
+ requiredRole: z.ZodEnum<{
68
+ editor: "editor";
69
+ owner: "owner";
70
+ administrator: "administrator";
71
+ team_member: "team_member";
72
+ }>;
73
+ }, z.core.$strip>], "tag">;
74
+ }, z.core.$strip>], "deploymentMode">>;
75
+ nextCursor: z.ZodNullable<z.ZodString>;
76
+ }, z.core.$strip>;
77
+ declare const createSiteResponseSchema: z.ZodObject<{
78
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<SiteId, string>>;
79
+ title: z.ZodString;
80
+ slug: z.ZodString;
81
+ }, z.core.$strip>;
82
+ type AccountApiStandardKeyIds = Readonly<{
83
+ live?: ApiKeyId;
84
+ management?: ApiKeyId;
85
+ }>;
86
+ type AccountApiPreviewKeyIds = Readonly<{
87
+ live?: ApiKeyId;
88
+ management?: ApiKeyId;
89
+ preview?: ApiKeyId;
90
+ }>;
91
+ type AccountApiStandardChecks = Readonly<{
92
+ live: Readonly<{
93
+ keyId: ApiKeyId;
94
+ status: 'active';
95
+ }>;
96
+ management: Readonly<{
97
+ keyId: ApiKeyId;
98
+ status: 'active';
99
+ }>;
100
+ }>;
101
+ type AccountApiPreviewChecks = AccountApiStandardChecks & Readonly<{
102
+ preview: Readonly<{
103
+ keyId: ApiKeyId;
104
+ status: 'active';
105
+ }>;
106
+ }>;
107
+ export type AccountApiProvisionedProjectCredentials = Readonly<{
108
+ operation: 'issue_standard';
109
+ siteId: SiteId;
110
+ operationId: string;
111
+ revokedAbandonedKeyIds: AccountApiStandardKeyIds;
112
+ credentials: Readonly<{
113
+ live: Readonly<{
114
+ key: Secret<'content-key'>;
115
+ keyId: ApiKeyId;
116
+ }>;
117
+ management: Readonly<{
118
+ key: Secret<'management-key'>;
119
+ keyId: ApiKeyId;
120
+ }>;
121
+ }>;
122
+ }> | Readonly<{
123
+ operation: 'issue_with_preview';
124
+ siteId: SiteId;
125
+ operationId: string;
126
+ revokedAbandonedKeyIds: AccountApiPreviewKeyIds;
127
+ credentials: Readonly<{
128
+ live: Readonly<{
129
+ key: Secret<'content-key'>;
130
+ keyId: ApiKeyId;
131
+ }>;
132
+ management: Readonly<{
133
+ key: Secret<'management-key'>;
134
+ keyId: ApiKeyId;
135
+ }>;
136
+ preview: Readonly<{
137
+ key: Secret<'preview-key'>;
138
+ keyId: ApiKeyId;
139
+ }>;
140
+ }>;
141
+ }> | Readonly<{
142
+ operation: 'recovery_standard';
143
+ siteId: SiteId;
144
+ operationId: string;
145
+ issuedKeyIds: AccountApiStandardKeyIds;
146
+ revokedAbandonedKeyIds: AccountApiStandardKeyIds;
147
+ remainingAbandonedKeyIds: AccountApiStandardKeyIds;
148
+ failureTag: AccountProjectCredentialRecoveryFailureTag;
149
+ }> | Readonly<{
150
+ operation: 'recovery_with_preview';
151
+ siteId: SiteId;
152
+ operationId: string;
153
+ issuedKeyIds: AccountApiPreviewKeyIds;
154
+ revokedAbandonedKeyIds: AccountApiPreviewKeyIds;
155
+ remainingAbandonedKeyIds: AccountApiPreviewKeyIds;
156
+ failureTag: AccountProjectCredentialRecoveryFailureTag;
157
+ }> | Readonly<{
158
+ operation: 'revalidate_standard';
159
+ siteId: SiteId;
160
+ operationId: string;
161
+ checks: AccountApiStandardChecks;
162
+ }> | Readonly<{
163
+ operation: 'revalidate_with_preview';
164
+ siteId: SiteId;
165
+ operationId: string;
166
+ checks: AccountApiPreviewChecks;
167
+ }>;
168
+ declare const provisionedProjectCredentialsResponseSchema: z.ZodType<AccountApiProvisionedProjectCredentials>;
169
+ export type AccountApiIdentity = Omit<AccountIdentityResponse, 'userId'> & Readonly<{
170
+ userId: UserId;
171
+ }>;
172
+ type AccountApiSiteWithBrandedId<Site> = Site extends Readonly<{
173
+ id: string;
174
+ }> ? Omit<Site, 'id'> & Readonly<{
175
+ id: SiteId;
176
+ }> : never;
177
+ export type AccountApiSite = AccountApiSiteWithBrandedId<AccountSite>;
178
+ export type AccountApiSites = Omit<AccountListSitesResponse, 'sites'> & Readonly<{
179
+ sites: readonly AccountApiSite[];
180
+ }>;
181
+ export type AccountApiCreatedSite = Omit<AccountCreateSiteResponse, 'id'> & Readonly<{
182
+ id: SiteId;
183
+ }>;
184
+ export type AccountApiResponseError = Readonly<{
185
+ tag: 'malformed_success';
186
+ endpoint: 'accountGetIdentity' | 'accountListSites' | 'accountCreateSite' | 'accountProvisionProjectCredentials';
187
+ issues: readonly z.ZodIssue[];
188
+ }>;
189
+ export declare class AccountApiMalformedResponseError extends Error {
190
+ readonly tag = "malformed_success";
191
+ readonly endpoint: AccountApiResponseError['endpoint'];
192
+ readonly issues: readonly z.ZodIssue[];
193
+ constructor(endpoint: AccountApiResponseError['endpoint'], issues: readonly z.ZodIssue[]);
194
+ }
195
+ export type AccountApiError = ApiRequestError | ApiEnvelopeError | AccountApiMalformedResponseError;
196
+ export type AccountApi = Readonly<{
197
+ getIdentity(options?: RequestInit): Promise<AccountApiIdentity>;
198
+ listSites(input?: Readonly<{
199
+ query?: AccountListSitesQuery;
200
+ options?: RequestInit;
201
+ }>): Promise<AccountApiSites>;
202
+ createSite(input: Readonly<{
203
+ body: AccountCreateSiteRequest;
204
+ options?: RequestInit;
205
+ }>): Promise<AccountApiCreatedSite>;
206
+ provisionProjectCredentials(input: Readonly<{
207
+ body: AccountProvisionProjectCredentialsRequest;
208
+ options?: RequestInit;
209
+ }>): Promise<AccountApiProvisionedProjectCredentials>;
210
+ }>;
211
+ export declare function createAccountApi(apiClient: ApiClient): AccountApi;
212
+ export declare function createBearerAccountApi(token: Secret<'oauth-access-token'>, baseUrl?: string): AccountApi;
213
+ export { identityResponseSchema as accountIdentityResponseSchema, listSitesResponseSchema as accountListSitesResponseSchema, createSiteResponseSchema as accountCreateSiteResponseSchema, provisionedProjectCredentialsResponseSchema as accountProvisionProjectCredentialsResponseSchema, };
@@ -0,0 +1,30 @@
1
+ export declare const ACCOUNT_ENDPOINT_DEFINITIONS: {
2
+ accountGetIdentity: {
3
+ path: "/account/identity";
4
+ method: "GET";
5
+ auth: "user";
6
+ errors: ("auth:unauthenticated" | "server:internal_error")[];
7
+ responseKind: "json";
8
+ };
9
+ accountListSites: {
10
+ path: "/account/sites";
11
+ method: "GET";
12
+ auth: "user";
13
+ errors: ("auth:unauthenticated" | "validation:invalid_format" | "server:internal_error")[];
14
+ responseKind: "json";
15
+ };
16
+ accountCreateSite: {
17
+ path: "/account/sites";
18
+ method: "POST";
19
+ auth: "user";
20
+ errors: ("auth:unauthenticated" | "validation:invalid_input" | "server:internal_error")[];
21
+ responseKind: "json";
22
+ };
23
+ accountProvisionProjectCredentials: {
24
+ path: "/account/project-credentials";
25
+ method: "POST";
26
+ auth: "user";
27
+ errors: ("auth:unauthenticated" | "auth:forbidden" | "validation:invalid_input" | "resource:not_found" | "server:internal_error")[];
28
+ responseKind: "json";
29
+ };
30
+ };
@@ -0,0 +1,254 @@
1
+ import { z } from 'zod';
2
+ import type { APIEndpoint } from './apiEndpointTypes';
3
+ import type { SiteRole } from './siteMembers';
4
+ export declare const ACCOUNT_SITE_TITLE_MAX_LENGTH = 120;
5
+ export declare const ACCOUNT_SITE_LIST_LIMIT_MIN = 1;
6
+ export declare const ACCOUNT_SITE_LIST_LIMIT_MAX = 100;
7
+ export declare const ACCOUNT_SITE_LIST_LIMIT_DEFAULT = 50;
8
+ export declare const ACCOUNT_SITE_CURSOR_MAX_LENGTH = 2048;
9
+ export declare const ACCOUNT_SITE_SEARCH_MAX_LENGTH = 120;
10
+ /** Strict, injection-safe PostgreSQL/RFC3339 timestamp text used in cursors. */
11
+ export declare function isAccountSiteTimestamp(value: unknown): value is string;
12
+ export declare const accountSiteTimestampSchema: z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
13
+ export declare const accountSiteDeploymentModeSchema: z.ZodEnum<{
14
+ managed: "managed";
15
+ headless_cms: "headless_cms";
16
+ headless_full: "headless_full";
17
+ }>;
18
+ export type AccountSiteDeploymentMode = z.infer<typeof accountSiteDeploymentModeSchema>;
19
+ export declare const accountCreateSiteRequestSchema: z.ZodObject<{
20
+ title: z.ZodString;
21
+ }, z.core.$strip>;
22
+ export declare const ACCOUNT_PROJECT_CREDENTIAL_PROJECT_NAME_MAX_LENGTH = 120;
23
+ export declare const accountProvisionProjectCredentialsRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
24
+ operation: z.ZodLiteral<"issue_standard">;
25
+ siteId: z.ZodString;
26
+ operationId: z.ZodString;
27
+ projectName: z.ZodString;
28
+ abandonedKeyIds: z.ZodDefault<z.ZodObject<{
29
+ live: z.ZodOptional<z.ZodString>;
30
+ management: z.ZodOptional<z.ZodString>;
31
+ }, z.core.$strict>>;
32
+ }, z.core.$strict>, z.ZodObject<{
33
+ operation: z.ZodLiteral<"issue_with_preview">;
34
+ siteId: z.ZodString;
35
+ operationId: z.ZodString;
36
+ projectName: z.ZodString;
37
+ abandonedKeyIds: z.ZodDefault<z.ZodObject<{
38
+ live: z.ZodOptional<z.ZodString>;
39
+ management: z.ZodOptional<z.ZodString>;
40
+ preview: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strict>>;
42
+ }, z.core.$strict>, z.ZodObject<{
43
+ operation: z.ZodLiteral<"revalidate_standard">;
44
+ siteId: z.ZodString;
45
+ operationId: z.ZodString;
46
+ projectName: z.ZodString;
47
+ keyIds: z.ZodObject<{
48
+ live: z.ZodString;
49
+ management: z.ZodString;
50
+ }, z.core.$strict>;
51
+ }, z.core.$strict>, z.ZodObject<{
52
+ operation: z.ZodLiteral<"revalidate_with_preview">;
53
+ siteId: z.ZodString;
54
+ operationId: z.ZodString;
55
+ projectName: z.ZodString;
56
+ keyIds: z.ZodObject<{
57
+ live: z.ZodString;
58
+ management: z.ZodString;
59
+ preview: z.ZodString;
60
+ }, z.core.$strict>;
61
+ }, z.core.$strict>], "operation">;
62
+ export declare const accountListSitesQuerySchema: z.ZodObject<{
63
+ cursor: z.ZodOptional<z.ZodString>;
64
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
65
+ search: z.ZodOptional<z.ZodString>;
66
+ }, z.core.$strip>;
67
+ /**
68
+ * Account-scoped contracts used by the CLI and other authenticated clients.
69
+ *
70
+ * These intentionally keep account identity/site discovery separate from the
71
+ * credential capability, whose request and response are explicitly typed
72
+ * below so one-time secrets cannot be confused with ordinary site data.
73
+ */
74
+ export type AccountIdentityResponse = Readonly<{
75
+ userId: string;
76
+ email: string | null;
77
+ displayName: string | null;
78
+ }>;
79
+ export type AccountSiteLinkCapability = Readonly<{
80
+ tag: 'linkable';
81
+ }> | Readonly<{
82
+ tag: 'insufficient_role';
83
+ requiredRole: SiteRole;
84
+ }> | Readonly<{
85
+ tag: 'ineligible_deployment_mode';
86
+ deploymentMode: 'managed';
87
+ }>;
88
+ type AccountSiteSharedFields = Readonly<{
89
+ id: string;
90
+ title: string;
91
+ slug: string;
92
+ createdAt: string | null;
93
+ role: SiteRole;
94
+ }>;
95
+ type AccountSiteHeadlessLinkCapability = Exclude<AccountSiteLinkCapability, {
96
+ tag: 'ineligible_deployment_mode';
97
+ }>;
98
+ type AccountSiteManagedLinkCapability = Extract<AccountSiteLinkCapability, {
99
+ tag: 'ineligible_deployment_mode';
100
+ }>;
101
+ export type AccountSite = (AccountSiteSharedFields & Readonly<{
102
+ deploymentMode: 'managed';
103
+ linkCapability: AccountSiteManagedLinkCapability;
104
+ }>) | (AccountSiteSharedFields & Readonly<{
105
+ deploymentMode: Exclude<AccountSiteDeploymentMode, 'managed'>;
106
+ linkCapability: AccountSiteHeadlessLinkCapability;
107
+ }>);
108
+ export type AccountListSitesQuery = Readonly<{
109
+ cursor?: string;
110
+ limit?: number;
111
+ search?: string;
112
+ }>;
113
+ export type AccountListSitesResponse = Readonly<{
114
+ sites: readonly AccountSite[];
115
+ nextCursor: string | null;
116
+ }>;
117
+ export type AccountCreateSiteRequest = Readonly<{
118
+ title: string;
119
+ }>;
120
+ export type AccountCreateSiteResponse = Readonly<{
121
+ id: string;
122
+ title: string;
123
+ slug: string;
124
+ }>;
125
+ export type AccountProjectCredentialKeyIds = Readonly<{
126
+ live?: string;
127
+ management?: string;
128
+ preview?: string;
129
+ }>;
130
+ export type AccountProvisionProjectCredentialsRequest = Readonly<{
131
+ operation: 'issue_standard';
132
+ siteId: string;
133
+ operationId: string;
134
+ projectName: string;
135
+ abandonedKeyIds?: Readonly<{
136
+ live?: string;
137
+ management?: string;
138
+ }>;
139
+ } | {
140
+ operation: 'issue_with_preview';
141
+ siteId: string;
142
+ operationId: string;
143
+ projectName: string;
144
+ abandonedKeyIds?: AccountProjectCredentialKeyIds;
145
+ } | {
146
+ operation: 'revalidate_standard';
147
+ siteId: string;
148
+ operationId: string;
149
+ projectName: string;
150
+ keyIds: Readonly<{
151
+ live: string;
152
+ management: string;
153
+ }>;
154
+ } | {
155
+ operation: 'revalidate_with_preview';
156
+ siteId: string;
157
+ operationId: string;
158
+ projectName: string;
159
+ keyIds: Readonly<{
160
+ live: string;
161
+ management: string;
162
+ preview: string;
163
+ }>;
164
+ }>;
165
+ export type AccountProjectCredential = Readonly<{
166
+ key: string;
167
+ keyId: string;
168
+ }>;
169
+ export type AccountProjectCredentialRecoveryFailureTag = 'ACCOUNT_CREDENTIALS_ISSUANCE_FAILED' | 'ACCOUNT_CREDENTIALS_RECOVERY_REVOKE_FAILED';
170
+ type AccountProvisionProjectCredentialsIssueShared = Readonly<{
171
+ siteId: string;
172
+ operationId: string;
173
+ }>;
174
+ export type AccountProvisionProjectCredentialsResponse = (AccountProvisionProjectCredentialsIssueShared & Readonly<{
175
+ operation: 'issue_standard';
176
+ revokedAbandonedKeyIds: Readonly<{
177
+ live?: string;
178
+ management?: string;
179
+ }>;
180
+ credentials: Readonly<{
181
+ live: AccountProjectCredential;
182
+ management: AccountProjectCredential;
183
+ }>;
184
+ }>) | (AccountProvisionProjectCredentialsIssueShared & Readonly<{
185
+ operation: 'issue_with_preview';
186
+ revokedAbandonedKeyIds: AccountProjectCredentialKeyIds;
187
+ credentials: Readonly<{
188
+ live: AccountProjectCredential;
189
+ management: AccountProjectCredential;
190
+ preview: AccountProjectCredential;
191
+ }>;
192
+ }>) | (AccountProvisionProjectCredentialsIssueShared & Readonly<{
193
+ operation: 'recovery_standard';
194
+ siteId: string;
195
+ operationId: string;
196
+ issuedKeyIds: Readonly<{
197
+ live?: string;
198
+ management?: string;
199
+ }>;
200
+ revokedAbandonedKeyIds: Readonly<{
201
+ live?: string;
202
+ management?: string;
203
+ }>;
204
+ remainingAbandonedKeyIds: Readonly<{
205
+ live?: string;
206
+ management?: string;
207
+ }>;
208
+ failureTag: AccountProjectCredentialRecoveryFailureTag;
209
+ }>) | (AccountProvisionProjectCredentialsIssueShared & Readonly<{
210
+ operation: 'recovery_with_preview';
211
+ issuedKeyIds: AccountProjectCredentialKeyIds;
212
+ revokedAbandonedKeyIds: AccountProjectCredentialKeyIds;
213
+ remainingAbandonedKeyIds: AccountProjectCredentialKeyIds;
214
+ failureTag: AccountProjectCredentialRecoveryFailureTag;
215
+ }>) | Readonly<{
216
+ operation: 'revalidate_standard';
217
+ siteId: string;
218
+ operationId: string;
219
+ checks: Readonly<{
220
+ live: Readonly<{
221
+ keyId: string;
222
+ status: 'active';
223
+ }>;
224
+ management: Readonly<{
225
+ keyId: string;
226
+ status: 'active';
227
+ }>;
228
+ }>;
229
+ }> | Readonly<{
230
+ operation: 'revalidate_with_preview';
231
+ siteId: string;
232
+ operationId: string;
233
+ checks: Readonly<{
234
+ live: Readonly<{
235
+ keyId: string;
236
+ status: 'active';
237
+ }>;
238
+ management: Readonly<{
239
+ keyId: string;
240
+ status: 'active';
241
+ }>;
242
+ preview: Readonly<{
243
+ keyId: string;
244
+ status: 'active';
245
+ }>;
246
+ }>;
247
+ }>;
248
+ export type AccountAPIEndpoints = {
249
+ accountGetIdentity: APIEndpoint<never, never, AccountIdentityResponse>;
250
+ accountListSites: APIEndpoint<never, AccountListSitesQuery, AccountListSitesResponse>;
251
+ accountCreateSite: APIEndpoint<AccountCreateSiteRequest, never, AccountCreateSiteResponse>;
252
+ accountProvisionProjectCredentials: APIEndpoint<AccountProvisionProjectCredentialsRequest, never, AccountProvisionProjectCredentialsResponse>;
253
+ };
254
+ export {};
@@ -0,0 +1,60 @@
1
+ import type { API_ENDPOINTS } from './endpoints';
2
+ import type { APIEndpoint } from './apiEndpointTypes';
3
+ import type { HTTPMethod } from './common/types';
4
+ import type { APIEndpoints } from './types';
5
+ export type GetEndpoint<T extends keyof APIEndpoints> = APIEndpoints[T];
6
+ export type GetMethodEndpoint<T extends keyof APIEndpoints> = APIEndpoints[T] extends {
7
+ method: "GET";
8
+ } ? APIEndpoints[T] : never;
9
+ export type PostMethodEndpoint<T extends keyof APIEndpoints> = APIEndpoints[T] extends {
10
+ method: "POST";
11
+ } ? APIEndpoints[T] : never;
12
+ export type PutMethodEndpoint<T extends keyof APIEndpoints> = APIEndpoints[T] extends {
13
+ method: "PUT";
14
+ } ? APIEndpoints[T] : never;
15
+ type RequiredKeys<T> = {
16
+ [K in keyof T]-?: {} extends Pick<T, K> ? never : K;
17
+ }[keyof T];
18
+ type HasRequiredKeys<T> = RequiredKeys<T> extends never ? false : true;
19
+ type IsNonEmptyQuery<T> = [T] extends [never] ? false : T extends undefined ? false : keyof T extends never ? false : true;
20
+ type QueryValueToStringParam<T> = Exclude<T, undefined> extends readonly (infer TValue)[] ? QueryValueToStringParam<TValue>[] : Exclude<T, undefined> extends (infer TValue)[] ? QueryValueToStringParam<TValue>[] : string;
21
+ type QueryToStringParams<T> = {
22
+ [K in keyof T]: QueryValueToStringParam<T[K]>;
23
+ };
24
+ type ExtractPathParamNames<TPath extends string> = TPath extends `${string}{${infer Param}}${infer Rest}` ? Param | ExtractPathParamNames<Rest> : never;
25
+ type EndpointPath<E extends keyof APIEndpoints> = E extends keyof typeof API_ENDPOINTS ? (typeof API_ENDPOINTS)[E]["path"] : never;
26
+ type PathParams<E extends keyof APIEndpoints> = ExtractPathParamNames<EndpointPath<E>> extends infer TParam ? [TParam] extends [never] ? {} : {
27
+ [K in Extract<TParam, string>]: string;
28
+ } : {};
29
+ type EndpointQuery<E extends keyof APIEndpoints> = APIEndpoints[E] extends APIEndpoint<unknown, infer TQuery, unknown> ? TQuery : never;
30
+ type QueryParams<E extends keyof APIEndpoints> = IsNonEmptyQuery<EndpointQuery<E>> extends false ? {} : QueryToStringParams<EndpointQuery<E>>;
31
+ type HasPathParams<E extends keyof APIEndpoints> = keyof PathParams<E> extends never ? false : true;
32
+ type ParamsPart<E extends keyof APIEndpoints> = HasPathParams<E> extends true ? {
33
+ params: PathParams<E> & QueryParams<E>;
34
+ } : IsNonEmptyQuery<EndpointQuery<E>> extends false ? {
35
+ params?: Record<string, string>;
36
+ } : HasRequiredKeys<EndpointQuery<E>> extends true ? {
37
+ params: QueryParams<E>;
38
+ } : {
39
+ params?: QueryParams<E>;
40
+ };
41
+ type EndpointMethod<E extends keyof APIEndpoints> = E extends keyof typeof API_ENDPOINTS ? (typeof API_ENDPOINTS)[E]["method"] : HTTPMethod;
42
+ type EndpointBody<E extends keyof APIEndpoints> = APIEndpoints[E] extends APIEndpoint<infer TBody, unknown, unknown> ? TBody : never;
43
+ type StrictBodyPart<E extends keyof APIEndpoints> = EndpointMethod<E> extends "GET" ? {
44
+ body?: never;
45
+ } : [EndpointBody<E>] extends [undefined] ? {
46
+ body?: never;
47
+ } : undefined extends EndpointBody<E> ? {
48
+ body?: Exclude<EndpointBody<E>, undefined>;
49
+ } : {
50
+ body: EndpointBody<E>;
51
+ };
52
+ /**
53
+ * API call parameters derived from endpoint metadata.
54
+ * Enforces whether `body` is required, optional, or forbidden for each endpoint.
55
+ */
56
+ export type APICallParamsStrict<E extends keyof APIEndpoints> = {
57
+ endpoint: E;
58
+ options?: RequestInit;
59
+ } & ParamsPart<E> & StrictBodyPart<E>;
60
+ export {};
@@ -1,6 +1,11 @@
1
1
  import type { EventOnlineDetails } from './bookingRecords';
2
2
  import type { SiteVerticalBookingConfig } from './bookingVerticals';
3
3
  import type { CreateEventRequest } from './eventManagementContracts';
4
+ import { DEFAULT_EVENT_TYPE_PRESETS } from './eventSeriesPresentationPreset';
5
+ import type { EventPreset } from './eventSeriesPresentationPreset';
6
+ import { BOOKING_SETTINGS_SECTION_KEYS } from './bookingSettingsSections';
7
+ export { BOOKING_SETTINGS_SECTION_KEYS, BOOKING_SETTINGS_SECTION_LABELS, } from './bookingSettingsSections';
8
+ export type { EventPreset, GenericEventPreset, OrdinaryEventPreset, WholeSeriesEventPreset, } from './eventSeriesPresentationPreset';
4
9
  import type { EventPricingMode, StaffMemberId, UserId } from '../../core/src/index';
5
10
  export type { EventPricingMode } from '../../core/src/index';
6
11
  /**
@@ -122,8 +127,7 @@ export type BookingPricingInput = {
122
127
  paymentTerms?: BookingPaymentTermsConfig;
123
128
  options?: readonly BookingPricingOptionInput[];
124
129
  };
125
- export type EventPreset = 'event' | 'class' | 'course' | 'workshop' | 'retreat' | 'performance';
126
- export type GenericEventPreset = Exclude<EventPreset, 'course'>;
130
+ export { DEFAULT_EVENT_TYPE_PRESETS };
127
131
  export type EventTicketTypeCapacityMode = 'limited' | 'unlimited';
128
132
  export type EventDeliveryMode = 'in_person' | 'online' | 'hybrid';
129
133
  export type EventAttendanceMode = 'in_person' | 'online';
@@ -227,18 +231,10 @@ export type EventSeriesRecord = {
227
231
  createdAt: string;
228
232
  updatedAt: string;
229
233
  };
230
- export type { CreateEventRecord, CreateEventRequest, EventPageAuthorityRecord, EventRecord } from './eventManagementContracts';
231
- export type UpdateEventSeriesRequest = Partial<Omit<CreateEventRequest, 'status' | 'preset'>> & {
232
- status?: 'active' | 'draft' | 'archived' | 'cancelled' | 'completed';
234
+ export type { CreateEventRecord, CreateEventRequest, EventCreationIntent, EventPageAuthorityRecord, EventRecord, ExplicitEventOccurrenceInput, } from './eventManagementContracts';
235
+ export type UpdateEventSeriesRequest = Partial<Omit<CreateEventRequest, 'creationIntent' | 'initializationCommandId'>> & {
233
236
  migrationTicketTypeId?: string | null;
234
237
  migrationTicketTypeIndex?: number | null;
235
- /**
236
- * Explicitly cancel future sessions as part of archiving.
237
- *
238
- * Archiving does not silently auto-cancel active/future schedules. Set this
239
- * flag when the caller intends a "cancel and archive" action.
240
- */
241
- cancelAndArchive?: boolean;
242
238
  /** If true, regenerate future occurrences based on updated schedule */
243
239
  regenerateSchedule?: boolean;
244
240
  };
@@ -384,6 +380,8 @@ export { DEFAULT_EVENT_DESTINATION_POLICY, eventDestinationModeValues, eventDest
384
380
  export type BookingSettings = {
385
381
  modules: BookingModuleToggles;
386
382
  verticalConfig?: BookingVerticalConfig;
383
+ /** Event types available when a site has no vertical-specific catalogue. */
384
+ eventTypePresets?: readonly EventPreset[];
387
385
  paymentDefaults: BookingPaymentDefaults;
388
386
  /** Site-wide mode for person and encounter records. */
389
387
  personRecordMode: PersonRecordMode;
@@ -441,14 +439,6 @@ export type BookingSettings = {
441
439
  };
442
440
  export type BookingSettingsSection = 'basics' | 'payments' | 'events' | 'appointments' | 'messages';
443
441
  export declare const BOOKING_SETTINGS_SECTIONS: readonly ["basics", "payments", "events", "appointments", "messages"];
444
- export declare const BOOKING_SETTINGS_SECTION_LABELS: Record<BookingSettingsSection, string>;
445
- export declare const BOOKING_SETTINGS_SECTION_KEYS: {
446
- readonly basics: readonly ["modules", "verticalConfig", "personRecordMode", "defaultTimezone", "calendarDisplay", "icsFeedsEnabled", "waitlists", "teamMemberProfilePages"];
447
- readonly payments: readonly ["paymentDefaults", "currency", "refundsIssueCredit"];
448
- readonly events: readonly ["defaultVenueId", "eventReminderHours", "eventReminderOverrides", "eventScheduleWindowMonths", "eventOrganizerNotifications", "eventOrganizerEmail", "eventTicketingDefaultEnabled", "collectAllAttendeeDetails", "eventBookingPolicies", "defaultEventImage", "eventDestinationPolicy"];
449
- readonly appointments: readonly ["appointmentReminderHours", "appointmentReminderOverrides", "appointmentRescheduleHours", "appointmentDefaultMinLeadMinutes", "appointmentDefaultMaxBookingNoticeMinutes", "appointmentBookingPolicies"];
450
- readonly messages: readonly ["remindersEnabled", "notificationSettings", "appointmentStaffReminder", "appointmentStaffChangeNotifications", "eventFeedback", "appointmentFollowUp"];
451
- };
452
442
  type BookingSettingsSectionValues = {
453
443
  [Section in BookingSettingsSection]: Pick<BookingSettings, (typeof BOOKING_SETTINGS_SECTION_KEYS)[Section][number]>;
454
444
  };
@@ -5,10 +5,11 @@ import type { BookingRequirementConfigRequest, BookingRequirementConfigResponse,
5
5
  import type { BookingClosureConflictResponse, CreateBookingClosureRequest, CreateBookingClosureResponse, DeleteBookingClosureResponse, GetBookingClosureResponse, ListBookingClosuresResponse, PreviewBookingClosureResponse, BookingClosureRequest } from './bookingClosures';
6
6
  import type { BookingSettingsResponse, EventSeriesRecord, UpdateBookingSettingsRequest, UpdateEventSeriesRequest } from './bookingConfig';
7
7
  import type * as Events from './eventManagementContracts';
8
+ import type * as EventEndpoints from './bookingManagementEventEndpointTypes';
8
9
  import type { EventOfferingId, EventSeriesId } from '../../core/src/index';
9
10
  import type { AdjustCustomerPassDetailsRequest, AdjustCustomerPassDetailsResponse, AssignCustomerMembershipRequest, AssignCustomerMembershipResponse, AssignCustomerPassRequest, AssignCustomerPassResponse, CancelCustomerMembershipAtPeriodEndRequest, CancelCustomerMembershipAtPeriodEndResponse, ConvertCreditRefundToCashRequest, ConvertCreditRefundToCashResponse, ListCustomerMembershipPaymentRefundsResponse, ListCustomerMembershipPaymentsResponse, ListCustomerPassRefundsResponse, RefundCustomerMembershipPaymentRequest, RefundCustomerMembershipPaymentResponse, RefundCustomerPassRequest, RefundCustomerPassResponse } from './bookingAdjustments';
10
11
  import type { AppointmentResourceResponse, AppointmentReservationLifecycleRequest, AppointmentReservationResponse, AppointmentServiceResponse, BookingAppointmentWithDetails, CreateAppointmentResourceRequest, CreateAppointmentResourceWithAccountAccessRequest, CreateAppointmentResourceWithAccountAccessResponse, CreateAppointmentReservationRequest, CreateAppointmentReservationRunRequest, CreateAppointmentReservationRunResponse, CreateAppointmentServiceRequest, CreateTeamMemberProfileResponse, DiscardTeamMemberProfileDraftResponse, DeleteServiceResponse, EndAppointmentReservationRequest, ListAppointmentResourcesResponse, ListAppointmentReservationsRequest, ListAppointmentReservationsResponse, ListAppointmentServicesResponse, ListCourseEnrollmentRefundsResponse, ListEventAttendeeRefundsResponse, ListEventAttendeeTransfersResponse, OpsCancelEventAttendeeRequest, OpsCancelEventAttendeeResponse, OpsEventAttendeeDetailsResponse, OpsListUpcomingEventOccurrencesResponse, OpsOccurrenceAttendeesResponse, OpsRefundEventAttendeeResponse, OpsUpdateEventAttendeeCheckinRequest, OpsUpdateEventAttendeeCheckinResponse, OpsValidateEventTicketRequest, OpsValidateEventTicketResponse, PreviewAppointmentReservationRunRequest, PreviewAppointmentReservationRunResponse, ReferenceOptionsResponse, RemoveAppointmentResourceResponse, RefundCourseEnrollmentRequest, RefundCourseEnrollmentResponse, RefundEventAttendeeRequest, RefundEventAttendeeResponse, TransferEventAttendeeRequest, TransferEventAttendeeResponse, UpdateAppointmentResourceRequest, UpdateAppointmentReservationRequest, UpdateAppointmentServiceRequest, PublishTeamMemberProfileRequest, PublishTeamMemberProfileResponse, CancelScheduledTeamMemberProfileResponse, ScheduleTeamMemberProfileRequest, ScheduleTeamMemberProfileResponse, TeamMemberProfileContentResponse, UnpublishTeamMemberProfileResponse, UpdateTeamMemberProfileContentRequest, UpdateTeamMemberProfilePolicyRequest, UpdateTeamMemberProfilePolicyResponse, UpdateTeamMemberProfileRouteMetadataRequest, UpdateTeamMemberProfileRouteMetadataResponse } from './bookingOperations';
11
- import type { AddEventOccurrenceAttendeeRequest, AddEventOccurrenceAttendeeResponse, AdjustCustomerCreditRequest, AdjustCustomerCreditResponse, BookingEventSeriesAttendee, BookingMembershipResponse, BookingPassResponse, CheckEventAdminEligibilityRequest, CheckEventAdminEligibilityResponse, CreateBookingCustomerRequest, CreateBookingCustomerResponse, RectifyBookingCustomerProfileRequest, RectifyBookingCustomerProfileResponse, RectifyBookingParticipantIdentityRequest, RectifyBookingParticipantIdentityResponse, CreateBookingMembershipRequest, CreateBookingPassRequest, CreateDiscountCodeRequest, CreateEventCategoryRequest, CreateOccurrenceRequest, CreateVenueRequest, DeleteDiscountCodeResponse, DeleteVenueResponse, DiscountCodeResponse, EventCategoryResponse, EventOccurrenceListRecord, EventOccurrenceRecord, GeocodeVenueRequest, GeocodeVenueResponse, GetCustomerCreditResponse, GetMoneyReportRequest, GetMoneyReportResponse, ExportBookingQuestionAnswersCsvRequest, ExportBookingLedgerCsvRequest, ListBookingActivityRequest, ListBookingActivityResponse, ListBookingCustomersRequest, ListBookingCustomersResponse, ListBookingMembershipsRequest, ListBookingMembershipsResponse, ListBookingPassesRequest, ListBookingPassesResponse, ListCustomerAttendancesRequest, ListCustomerAttendancesResponse, ListCustomerMembershipsResponse, ListCustomerPassesResponse, CreatePersonRecordEntryRequest, CreatePersonRecordEntryResponse, ListDiscountCodesResponse, ListDiscountRedemptionsRequest, ListDiscountRedemptionsResponse, ListEventCategoriesResponse, ListMoneyPaymentsRequest, ListMoneyPaymentsResponse, ListSiteCustomerMembershipsRequest, ListSiteCustomerMembershipsResponse, ListSiteCustomerPassesRequest, ListSiteCustomerPassesResponse, UpdateBookingMembershipRequest, UpdateBookingPassRequest, UpdateDiscountCodeRequest, UpdateEventCategoryRequest, UpdateVenueRequest, VenueRecord } from './bookingRecords';
12
+ import type { AddEventOccurrenceAttendeeRequest, AddEventOccurrenceAttendeeResponse, AdjustCustomerCreditRequest, AdjustCustomerCreditResponse, BookingEventSeriesAttendee, BookingMembershipResponse, BookingPassResponse, CheckEventAdminEligibilityRequest, CheckEventAdminEligibilityResponse, CreateBookingCustomerRequest, CreateBookingCustomerResponse, RectifyBookingCustomerProfileRequest, RectifyBookingCustomerProfileResponse, RectifyBookingParticipantIdentityRequest, RectifyBookingParticipantIdentityResponse, CreateBookingMembershipRequest, CreateBookingPassRequest, CreateDiscountCodeRequest, CreateEventCategoryRequest, CreateOccurrenceRequest, CreateVenueRequest, DeleteDiscountCodeResponse, DeleteVenueResponse, DiscountCodeResponse, EventCategoryResponse, EventOccurrenceRecord, GeocodeVenueRequest, GeocodeVenueResponse, GetCustomerCreditResponse, GetMoneyReportRequest, GetMoneyReportResponse, ExportBookingQuestionAnswersCsvRequest, ExportBookingLedgerCsvRequest, ListBookingActivityRequest, ListBookingActivityResponse, ListBookingCustomersRequest, ListBookingCustomersResponse, ListBookingMembershipsRequest, ListBookingMembershipsResponse, ListBookingPassesRequest, ListBookingPassesResponse, ListCustomerAttendancesRequest, ListCustomerAttendancesResponse, ListCustomerMembershipsResponse, ListCustomerPassesResponse, CreatePersonRecordEntryRequest, CreatePersonRecordEntryResponse, ListDiscountCodesResponse, ListDiscountRedemptionsRequest, ListDiscountRedemptionsResponse, ListEventCategoriesResponse, ListMoneyPaymentsRequest, ListMoneyPaymentsResponse, ListSiteCustomerMembershipsRequest, ListSiteCustomerMembershipsResponse, ListSiteCustomerPassesRequest, ListSiteCustomerPassesResponse, UpdateBookingMembershipRequest, UpdateBookingPassRequest, UpdateDiscountCodeRequest, UpdateEventCategoryRequest, UpdateVenueRequest, VenueRecord } from './bookingRecords';
12
13
  import type * as OccurrenceScheduling from './occurrenceScheduling';
13
14
  import type { ApplyAppointmentSetupRequest, ApplyAppointmentSetupResponse, AppointmentSetupResponse } from './appointmentSetup';
14
15
  import type { AddCourseEnrollmentRequest, AddCourseEnrollmentResponse, CourseRecord, CreateCourseRequest, CreateCourseResponse, CourseContentOwnershipRequest, CourseContentOwnershipResponse, DashboardWaitlistListResponse, DeleteCourseResponse, DeleteEventOfferingResponse, DuplicateCourseRequest, DuplicateCourseResponse, ListCourseEnrollmentsResponse, UpdateCourseEnrollmentRequest, UpdateCourseEnrollmentResponse, UpdateCourseRequest, UpdateCourseResponse, WaitlistDashboardActionResponse } from './courses';
@@ -578,6 +579,7 @@ export type BookingManagementAPIEndpoints = {
578
579
  createEvent: APIEndpoint<Events.CreateEventRequest, {
579
580
  siteId: string;
580
581
  }, Events.CreateEventRecord>;
582
+ transitionEventLifecycle: EventEndpoints.Lifecycle;
581
583
  getEventSeries: APIEndpoint<never, {
582
584
  siteId: string;
583
585
  eventId: EventOfferingId;
@@ -688,10 +690,7 @@ export type BookingManagementAPIEndpoints = {
688
690
  siteId: string;
689
691
  attendeeId: string;
690
692
  }, ListEventAttendeeTransfersResponse>;
691
- listEventSeriesOccurrences: APIEndpoint<never, {
692
- siteId: string;
693
- seriesId: string;
694
- }, EventOccurrenceListRecord[]>;
693
+ listEventSeriesOccurrences: EventEndpoints.OccurrenceList;
695
694
  createEventOccurrence: APIEndpoint<CreateOccurrenceRequest, {
696
695
  siteId: string;
697
696
  seriesId: string;