@riverbankcms/sdk 0.124.0 → 0.126.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 (130) hide show
  1. package/README.md +3 -1
  2. package/dist/{PreviewEditorSidebar-DBmAJJkQ.mjs → PreviewEditorSidebar-DcYJxTgc.mjs} +67 -266
  3. package/dist/{PreviewEditorUI-CfGaz9cY.mjs → PreviewEditorUI-Ctt1yTJr.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BH-3-jSj.mjs → PreviewQueryProvider-DgFDIwvK.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-BW9Z8j8T.mjs → SdkPreviewModeRuntime-CvW1vdQ4.mjs} +38 -30
  6. package/dist/{SiteChromeCustomizeContext-2z8moxYf.mjs → SiteChromeCustomizeContext-C87qlKWw.mjs} +493 -1378
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +1354 -202
  8. package/dist/_dts/api/src/accessAdmin.d.ts +2 -14
  9. package/dist/_dts/api/src/common/envelope.d.ts +1 -1
  10. package/dist/_dts/api/src/contentRuntime.d.ts +0 -2
  11. package/dist/_dts/api/src/endpoints.d.ts +0 -7
  12. package/dist/_dts/api/src/sdk-event-upsert.d.ts +42 -0
  13. package/dist/_dts/api/src/sdkContracts.d.ts +11 -9
  14. package/dist/_dts/api/src/siteAccessAdmin.d.ts +23 -0
  15. package/dist/_dts/api/src/siteOperations.d.ts +18 -1
  16. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +1 -14
  17. package/dist/_dts/billing/src/plans/types.d.ts +24 -5
  18. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
  19. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
  20. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
  21. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +2 -0
  22. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +3 -1
  23. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +2 -1
  24. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +15 -2
  25. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +331 -19
  26. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +1 -2
  27. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -3
  28. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -2
  29. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +3 -12
  30. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -13
  31. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +8 -100
  32. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +1 -4
  33. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -15
  34. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +11 -21
  35. package/dist/_dts/sdk/src/cli/commands/event.d.ts +2 -2
  36. package/dist/_dts/sdk/src/cli/commands/eventOccurrenceSchedule.d.ts +12 -0
  37. package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +6 -0
  38. package/dist/_dts/sdk/src/cli/commands/style.d.ts +1 -1
  39. package/dist/_dts/sdk/src/cli/content/legacyEventScheduleShapeError.d.ts +5 -0
  40. package/dist/_dts/sdk/src/cli/content/localEventSchedule.d.ts +17 -0
  41. package/dist/_dts/sdk/src/cli/content/reader.d.ts +5 -10
  42. package/dist/_dts/sdk/src/cli/migrations/events.d.ts +1 -1
  43. package/dist/_dts/sdk/src/cli/site-commands/eventScheduleCompiler.d.ts +24 -0
  44. package/dist/_dts/sdk/src/client/management/http.d.ts +1 -1
  45. package/dist/_dts/sdk/src/client/management/types.d.ts +3 -28
  46. package/dist/_dts/sdk/src/config/index.d.ts +1 -1
  47. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -20
  48. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  49. package/dist/_dts/sdk/src/version.d.ts +1 -1
  50. package/dist/_dts/site-commands/src/commandContract.d.ts +33 -5
  51. package/dist/_dts/site-commands/src/commandDomain.d.ts +2 -2
  52. package/dist/_dts/site-commands/src/commands.d.ts +38 -9
  53. package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +28 -1
  54. package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +4 -4
  55. package/dist/_dts/theme-core/src/palette/concretePalette.d.ts +20 -0
  56. package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -17
  57. package/dist/_dts/theme-core/src/palette/index.d.ts +1 -6
  58. package/dist/_dts/theme-core/src/palette/schema.d.ts +39 -0
  59. package/dist/_dts/theme-core/src/schema.d.ts +38 -26
  60. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -6
  61. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +5 -6
  62. package/dist/cli/index.mjs +631 -525
  63. package/dist/cli/init-docs/content/cli-reference.md +6 -3
  64. package/dist/cli/init-docs/content/content-management.md +24 -13
  65. package/dist/client/{DiscountCodeDisclosure-DxvjKvck.mjs → DiscountCodeDisclosure-DS0AuFWW.mjs} +1 -1
  66. package/dist/client/{EventCombined.client-BydMGc4c.mjs → EventCombined.client-DtMxLr7q.mjs} +2 -2
  67. package/dist/client/{EventListing.client-vpzhhysN.mjs → EventListing.client-BdLSRNg1.mjs} +2 -2
  68. package/dist/client/{LeafletStaticMap-CB07rpf8.mjs → LeafletStaticMap-BrpC6vsT.mjs} +1 -1
  69. package/dist/client/{MagicLinkForm-BzyRJ8VF.mjs → MagicLinkForm-Bt3IuLMy.mjs} +1 -1
  70. package/dist/client/{StepIndicator-CTcGf8Be.mjs → StepIndicator-CBYPFVoy.mjs} +2 -2
  71. package/dist/client/{accordion-B-DUDLRD.mjs → accordion-BqqwPJWM.mjs} +1 -1
  72. package/dist/client/{bookingForm-DSbClLcZ.mjs → bookingForm-SneP3yxC.mjs} +5 -6
  73. package/dist/client/bookings.mjs +190 -24
  74. package/dist/client/{carousel-B6Ccdx8M.mjs → carousel-BTIR9L3I.mjs} +1 -1
  75. package/dist/client/{cart-BZh8G8wM.mjs → cart-bqiqd8SX.mjs} +3 -3
  76. package/dist/client/{checkout-o6zaC-kM.mjs → checkout-WbTFV5v4.mjs} +3 -3
  77. package/dist/client/client.mjs +175 -223
  78. package/dist/client/{courseRegistration-Cf11pNDs.mjs → courseRegistration-BcemLAdN.mjs} +6 -7
  79. package/dist/client/{eventCalendar-BeXrdsSE.mjs → eventCalendar-CsxIw0V_.mjs} +4 -4
  80. package/dist/client/{eventCombined-DA76PZgG.mjs → eventCombined-B6XMoHfa.mjs} +2 -2
  81. package/dist/client/{eventDetails-BLxg0rok.mjs → eventDetails-BJaoPPfo.mjs} +10 -5
  82. package/dist/client/{eventListing-tO9LheBX.mjs → eventListing-DgwdYHRT.mjs} +2 -2
  83. package/dist/client/{eventRegistration-Cnene9D9.mjs → eventRegistration-C0O3folu.mjs} +30 -22
  84. package/dist/client/{form-DZf72CHB.mjs → form-Bk9txGFt.mjs} +1 -1
  85. package/dist/client/{headerSection-Hioja5Cr.mjs → headerSection-yIBt0yTv.mjs} +2 -2
  86. package/dist/client/hooks.mjs +54 -102
  87. package/dist/client/{locationMap-DwhUXEix.mjs → locationMap-C-3KIpv-.mjs} +2 -2
  88. package/dist/client/{newsletterForm-C350bEQf.mjs → newsletterForm-CzB8g8h2.mjs} +1 -1
  89. package/dist/client/{pricing-BYWN_ATa.mjs → pricing-C1QeDes_.mjs} +1 -1
  90. package/dist/client/{productDetail-CCqCyXgU.mjs → productDetail-w7SBp5uc.mjs} +3 -3
  91. package/dist/client/{productList-BAiNJrOU.mjs → productList-D0tGKHGf.mjs} +3 -3
  92. package/dist/client/{propsDecoder-DeunRj6m.mjs → propsDecoder-Bcin2DB3.mjs} +172 -11
  93. package/dist/client/rendering/client.mjs +322 -363
  94. package/dist/client/rendering/islands.mjs +18 -18
  95. package/dist/client/rendering.mjs +231 -272
  96. package/dist/client/{useDiscountCodeUi-I-92-x2V.mjs → scrollToBlock-h-o_STf_.mjs} +18 -2
  97. package/dist/client/{shop-DUmCdBtw.mjs → shop-BGzmL8O_.mjs} +5 -6
  98. package/dist/client/{shop-commerce-CY27mEUr.mjs → shop-commerce-lX8QxjX-.mjs} +4 -4
  99. package/dist/client/{shop-commerce-store-ChXPbWfa.mjs → shop-commerce-store-CEurARtu.mjs} +1 -1
  100. package/dist/client/{shopShared-q0kin1cv.mjs → shopShared-DXxH8xxw.mjs} +2 -2
  101. package/dist/client/{useEventFilters-DlcVluZh.mjs → useEventFilters-B591g9vd.mjs} +2 -2
  102. package/dist/client/{usePolling-Bz7GFV_a.mjs → usePolling-BvnChV4m.mjs} +2 -2
  103. package/dist/preview-next/before-render.mjs +0 -7
  104. package/dist/preview-next/client/runtime.mjs +4 -4
  105. package/dist/preview-next/middleware.mjs +0 -7
  106. package/dist/{previewAuthStore-CJX21dGi.mjs → previewAuthStore-Dev9CdG9.mjs} +0 -7
  107. package/dist/{sdk-runtime-OnPM8Z69.mjs → sdk-runtime-M__i3Jce.mjs} +2 -2
  108. package/dist/{separator-CPtfzHqA.mjs → separator-VSlnI9bc.mjs} +1 -1
  109. package/dist/server/components.mjs +99 -141
  110. package/dist/server/config-validation.mjs +54 -102
  111. package/dist/server/config.mjs +54 -102
  112. package/dist/server/data.mjs +54 -102
  113. package/dist/server/index.mjs +1 -8
  114. package/dist/server/next.mjs +103 -152
  115. package/dist/server/page-converter.mjs +54 -102
  116. package/dist/server/prebuild.mjs +1 -1
  117. package/dist/server/rendering/server.mjs +62 -104
  118. package/dist/server/rendering.mjs +100 -142
  119. package/dist/server/routing.mjs +75 -147
  120. package/dist/server/server.mjs +55 -110
  121. package/dist/server/theme-bridge.mjs +172 -162
  122. package/dist/server/theme.mjs +167 -11
  123. package/package.json +1 -1
  124. package/dist/_dts/theme-core/src/palette/editorState.d.ts +0 -75
  125. package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +0 -64
  126. package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +0 -81
  127. package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +0 -75
  128. package/dist/_dts/theme-core/src/palette/selection.d.ts +0 -74
  129. package/dist/_dts/theme-core/src/palette/sitePalettePersistence.d.ts +0 -34
  130. package/dist/client/scrollToBlock-C86BYkyV.mjs +0 -17
@@ -13038,6 +13038,7 @@ export type Database = {
13038
13038
  billing_address_json: Json | null;
13039
13039
  cancellation_category: Database["public"]["Enums"]["cancellation_context_category"] | null;
13040
13040
  cancellation_internal_note: string | null;
13041
+ checkout_evidence_pending_since: string | null;
13041
13042
  commit_claim_token: string | null;
13042
13043
  commit_claimed_at: string | null;
13043
13044
  commit_completed_at: string | null;
@@ -13078,6 +13079,7 @@ export type Database = {
13078
13079
  billing_address_json?: Json | null;
13079
13080
  cancellation_category?: Database["public"]["Enums"]["cancellation_context_category"] | null;
13080
13081
  cancellation_internal_note?: string | null;
13082
+ checkout_evidence_pending_since?: string | null;
13081
13083
  commit_claim_token?: string | null;
13082
13084
  commit_claimed_at?: string | null;
13083
13085
  commit_completed_at?: string | null;
@@ -13118,6 +13120,7 @@ export type Database = {
13118
13120
  billing_address_json?: Json | null;
13119
13121
  cancellation_category?: Database["public"]["Enums"]["cancellation_context_category"] | null;
13120
13122
  cancellation_internal_note?: string | null;
13123
+ checkout_evidence_pending_since?: string | null;
13121
13124
  commit_claim_token?: string | null;
13122
13125
  commit_claimed_at?: string | null;
13123
13126
  commit_completed_at?: string | null;
@@ -16503,6 +16506,14 @@ export type Database = {
16503
16506
  transactional_email_jobs: {
16504
16507
  Row: {
16505
16508
  attempt_count: number;
16509
+ completion_attempt_count: number;
16510
+ completion_completed_at: string | null;
16511
+ completion_last_error: string | null;
16512
+ completion_locked_at: string | null;
16513
+ completion_locked_by: string | null;
16514
+ completion_max_attempts: number;
16515
+ completion_run_after: string | null;
16516
+ completion_status: string;
16506
16517
  created_at: string;
16507
16518
  email_id: string | null;
16508
16519
  email_type: string;
@@ -16513,6 +16524,8 @@ export type Database = {
16513
16524
  locked_by: string | null;
16514
16525
  max_attempts: number;
16515
16526
  payload_json: Json;
16527
+ provider_ambiguity_started_at: string | null;
16528
+ provider_attempt_state: string;
16516
16529
  provider_message_id: string | null;
16517
16530
  run_after: string | null;
16518
16531
  sent_at: string | null;
@@ -16523,6 +16536,14 @@ export type Database = {
16523
16536
  };
16524
16537
  Insert: {
16525
16538
  attempt_count?: number;
16539
+ completion_attempt_count?: number;
16540
+ completion_completed_at?: string | null;
16541
+ completion_last_error?: string | null;
16542
+ completion_locked_at?: string | null;
16543
+ completion_locked_by?: string | null;
16544
+ completion_max_attempts?: number;
16545
+ completion_run_after?: string | null;
16546
+ completion_status?: string;
16526
16547
  created_at?: string;
16527
16548
  email_id?: string | null;
16528
16549
  email_type: string;
@@ -16533,6 +16554,8 @@ export type Database = {
16533
16554
  locked_by?: string | null;
16534
16555
  max_attempts?: number;
16535
16556
  payload_json?: Json;
16557
+ provider_ambiguity_started_at?: string | null;
16558
+ provider_attempt_state?: string;
16536
16559
  provider_message_id?: string | null;
16537
16560
  run_after?: string | null;
16538
16561
  sent_at?: string | null;
@@ -16543,6 +16566,14 @@ export type Database = {
16543
16566
  };
16544
16567
  Update: {
16545
16568
  attempt_count?: number;
16569
+ completion_attempt_count?: number;
16570
+ completion_completed_at?: string | null;
16571
+ completion_last_error?: string | null;
16572
+ completion_locked_at?: string | null;
16573
+ completion_locked_by?: string | null;
16574
+ completion_max_attempts?: number;
16575
+ completion_run_after?: string | null;
16576
+ completion_status?: string;
16546
16577
  created_at?: string;
16547
16578
  email_id?: string | null;
16548
16579
  email_type?: string;
@@ -16553,6 +16584,8 @@ export type Database = {
16553
16584
  locked_by?: string | null;
16554
16585
  max_attempts?: number;
16555
16586
  payload_json?: Json;
16587
+ provider_ambiguity_started_at?: string | null;
16588
+ provider_attempt_state?: string;
16556
16589
  provider_message_id?: string | null;
16557
16590
  run_after?: string | null;
16558
16591
  sent_at?: string | null;
@@ -18782,26 +18815,23 @@ export type Database = {
18782
18815
  updated_at: string;
18783
18816
  }[];
18784
18817
  };
18785
- apply_site_theme_command_authoritative_atomic: {
18818
+ apply_site_theme_command_atomic: {
18786
18819
  Args: {
18787
18820
  p_base_selection_version: number;
18788
18821
  p_button_personality_id: string;
18789
- p_footer_look_id: string;
18822
+ p_button_style_options: Json;
18823
+ p_footer_look_id?: string;
18790
18824
  p_header_layout_id?: string;
18791
- p_header_look_id: string;
18825
+ p_header_look_id?: string;
18792
18826
  p_header_style_id?: string;
18793
- p_palette_command: Json;
18794
18827
  p_selection_id?: string;
18795
18828
  p_site_id: string;
18796
18829
  p_theme: Json;
18797
18830
  };
18798
18831
  Returns: {
18799
- active_curated_palette_value_key: string;
18800
- active_site_palette_id: string;
18801
18832
  outcome: string;
18802
18833
  selection_id: string;
18803
18834
  selection_updated_at: string;
18804
- site_palette_version: number;
18805
18835
  style_selection_version: number;
18806
18836
  theme_id: string;
18807
18837
  }[];
@@ -19334,6 +19364,19 @@ export type Database = {
19334
19364
  };
19335
19365
  Returns: Json;
19336
19366
  };
19367
+ claim_site_invitation_resend_trusted: {
19368
+ Args: {
19369
+ p_actor_user_id: string;
19370
+ p_attempt_id: string;
19371
+ p_claim_expires_at: string;
19372
+ p_cooldown_seconds?: number;
19373
+ p_expires_at: string;
19374
+ p_invitation_id: string;
19375
+ p_site_id: string;
19376
+ p_token_hash: string;
19377
+ };
19378
+ Returns: Json;
19379
+ };
19337
19380
  commit_authoritative_page_surface_draft_version: {
19338
19381
  Args: {
19339
19382
  p_data: Json;
@@ -19760,6 +19803,44 @@ export type Database = {
19760
19803
  isSetofReturn: false;
19761
19804
  };
19762
19805
  };
19806
+ create_site_invitation_trusted: {
19807
+ Args: {
19808
+ p_allowed_website_roles?: string[];
19809
+ p_email: string;
19810
+ p_expires_at?: string;
19811
+ p_invited_by: string;
19812
+ p_max_non_owner_places?: number;
19813
+ p_metadata?: Json;
19814
+ p_operational_staff_allowed?: boolean;
19815
+ p_role: string;
19816
+ p_site_id: string;
19817
+ p_staff_capabilities?: Database["public"]["Enums"]["staff_operational_capability"][];
19818
+ p_token_hash: string;
19819
+ };
19820
+ Returns: {
19821
+ accepted_at: string | null;
19822
+ accepted_by: string | null;
19823
+ created_at: string;
19824
+ email: string;
19825
+ email_lower: string | null;
19826
+ expires_at: string | null;
19827
+ id: string;
19828
+ invited_by: string | null;
19829
+ metadata: Json | null;
19830
+ revoked_at: string | null;
19831
+ role: Database["public"]["Enums"]["site_role"];
19832
+ site_id: string;
19833
+ staff_capabilities: Database["public"]["Enums"]["staff_operational_capability"][] | null;
19834
+ token_hash: string;
19835
+ updated_at: string;
19836
+ };
19837
+ SetofOptions: {
19838
+ from: "*";
19839
+ to: "site_invitations";
19840
+ isOneToOne: true;
19841
+ isSetofReturn: false;
19842
+ };
19843
+ };
19763
19844
  dated_offering_shared_v1_fan_out_policy: {
19764
19845
  Args: never;
19765
19846
  Returns: {
@@ -19912,6 +19993,31 @@ export type Database = {
19912
19993
  };
19913
19994
  Returns: string;
19914
19995
  };
19996
+ ensure_creator_membership: {
19997
+ Args: {
19998
+ p_site_id: string;
19999
+ p_user_id: string;
20000
+ };
20001
+ Returns: {
20002
+ accepted_at: string | null;
20003
+ created_at: string;
20004
+ id: string;
20005
+ invited_by: string | null;
20006
+ linked_staff_member_id: string | null;
20007
+ removed_at: string | null;
20008
+ role: Database["public"]["Enums"]["site_role"];
20009
+ site_id: string;
20010
+ staff_capabilities: Database["public"]["Enums"]["staff_operational_capability"][] | null;
20011
+ updated_at: string;
20012
+ user_id: string;
20013
+ };
20014
+ SetofOptions: {
20015
+ from: "*";
20016
+ to: "site_memberships";
20017
+ isOneToOne: true;
20018
+ isSetofReturn: false;
20019
+ };
20020
+ };
19915
20021
  ensure_default_appointment_availability_schedule: {
19916
20022
  Args: {
19917
20023
  p_resource_id: string;
@@ -20100,6 +20206,16 @@ export type Database = {
20100
20206
  };
20101
20207
  Returns: Json;
20102
20208
  };
20209
+ finalize_site_invitation_resend_trusted: {
20210
+ Args: {
20211
+ p_actor_user_id: string;
20212
+ p_attempt_id: string;
20213
+ p_invitation_id: string;
20214
+ p_resent_at: string;
20215
+ p_site_id: string;
20216
+ };
20217
+ Returns: Json;
20218
+ };
20103
20219
  get_auth_user_id_by_email: {
20104
20220
  Args: {
20105
20221
  p_email: string;
@@ -20777,24 +20893,21 @@ export type Database = {
20777
20893
  preparation_outcome: string;
20778
20894
  }[];
20779
20895
  };
20780
- provision_initial_site_theme_authoritative_atomic: {
20896
+ provision_initial_site_theme_atomic: {
20781
20897
  Args: {
20782
20898
  p_button_personality_id: string;
20899
+ p_button_style_options: Json;
20783
20900
  p_footer_look_id?: string;
20784
20901
  p_header_layout_id?: string;
20785
20902
  p_header_look_id?: string;
20786
20903
  p_header_style_id?: string;
20787
- p_palette_command: Json;
20788
20904
  p_site_id: string;
20789
20905
  p_theme: Json;
20790
20906
  p_user_id: string;
20791
20907
  };
20792
20908
  Returns: {
20793
- active_curated_palette_value_key: string;
20794
- active_site_palette_id: string;
20795
20909
  outcome: string;
20796
20910
  selection_id: string;
20797
- site_palette_version: number;
20798
20911
  theme_id: string;
20799
20912
  }[];
20800
20913
  };
@@ -21006,6 +21119,15 @@ export type Database = {
21006
21119
  };
21007
21120
  Returns: Json;
21008
21121
  };
21122
+ release_site_invitation_resend_claim_trusted: {
21123
+ Args: {
21124
+ p_actor_user_id: string;
21125
+ p_attempt_id: string;
21126
+ p_invitation_id: string;
21127
+ p_site_id: string;
21128
+ };
21129
+ Returns: Json;
21130
+ };
21009
21131
  remove_category_from_memberships: {
21010
21132
  Args: {
21011
21133
  category_id: string;
@@ -21246,15 +21368,15 @@ export type Database = {
21246
21368
  outcome: string;
21247
21369
  }[];
21248
21370
  };
21249
- save_current_theme_aggregate_authoritative_atomic: {
21371
+ save_current_theme_aggregate_atomic: {
21250
21372
  Args: {
21251
21373
  p_button_personality_id: string;
21374
+ p_button_style_options: Json;
21252
21375
  p_expected_selection_version: number;
21253
- p_footer_look_id: string;
21376
+ p_footer_look_id?: string;
21254
21377
  p_header_layout_id?: string;
21255
- p_header_look_id: string;
21378
+ p_header_look_id?: string;
21256
21379
  p_header_style_id?: string;
21257
- p_palette_command: Json;
21258
21380
  p_selection_id?: string;
21259
21381
  p_selection_overrides: Json;
21260
21382
  p_selection_overrides_mode: string;
@@ -21264,12 +21386,9 @@ export type Database = {
21264
21386
  p_user_id: string;
21265
21387
  };
21266
21388
  Returns: {
21267
- active_curated_palette_value_key: string;
21268
- active_site_palette_id: string;
21269
21389
  outcome: string;
21270
21390
  selection_id: string;
21271
21391
  selection_updated_at: string;
21272
- site_palette_version: number;
21273
21392
  style_selection_version: number;
21274
21393
  theme_id: string;
21275
21394
  }[];
@@ -21410,6 +21529,135 @@ export type Database = {
21410
21529
  };
21411
21530
  Returns: string;
21412
21531
  };
21532
+ transactional_email_claim_completion_effect: {
21533
+ Args: {
21534
+ p_job_id: string;
21535
+ p_lock_timeout_seconds?: number;
21536
+ p_worker_id: string;
21537
+ };
21538
+ Returns: {
21539
+ attempt_count: number;
21540
+ completion_attempt_count: number;
21541
+ completion_completed_at: string | null;
21542
+ completion_last_error: string | null;
21543
+ completion_locked_at: string | null;
21544
+ completion_locked_by: string | null;
21545
+ completion_max_attempts: number;
21546
+ completion_run_after: string | null;
21547
+ completion_status: string;
21548
+ created_at: string;
21549
+ email_id: string | null;
21550
+ email_type: string;
21551
+ id: string;
21552
+ idempotency_key: string;
21553
+ last_error: string | null;
21554
+ locked_at: string | null;
21555
+ locked_by: string | null;
21556
+ max_attempts: number;
21557
+ payload_json: Json;
21558
+ provider_ambiguity_started_at: string | null;
21559
+ provider_attempt_state: string;
21560
+ provider_message_id: string | null;
21561
+ run_after: string | null;
21562
+ sent_at: string | null;
21563
+ site_id: string | null;
21564
+ status: string;
21565
+ updated_at: string;
21566
+ user_id: string | null;
21567
+ }[];
21568
+ SetofOptions: {
21569
+ from: "*";
21570
+ to: "transactional_email_jobs";
21571
+ isOneToOne: false;
21572
+ isSetofReturn: true;
21573
+ };
21574
+ };
21575
+ transactional_email_claim_completion_effects: {
21576
+ Args: {
21577
+ p_limit: number;
21578
+ p_lock_timeout_seconds?: number;
21579
+ p_worker_id: string;
21580
+ };
21581
+ Returns: {
21582
+ attempt_count: number;
21583
+ completion_attempt_count: number;
21584
+ completion_completed_at: string | null;
21585
+ completion_last_error: string | null;
21586
+ completion_locked_at: string | null;
21587
+ completion_locked_by: string | null;
21588
+ completion_max_attempts: number;
21589
+ completion_run_after: string | null;
21590
+ completion_status: string;
21591
+ created_at: string;
21592
+ email_id: string | null;
21593
+ email_type: string;
21594
+ id: string;
21595
+ idempotency_key: string;
21596
+ last_error: string | null;
21597
+ locked_at: string | null;
21598
+ locked_by: string | null;
21599
+ max_attempts: number;
21600
+ payload_json: Json;
21601
+ provider_ambiguity_started_at: string | null;
21602
+ provider_attempt_state: string;
21603
+ provider_message_id: string | null;
21604
+ run_after: string | null;
21605
+ sent_at: string | null;
21606
+ site_id: string | null;
21607
+ status: string;
21608
+ updated_at: string;
21609
+ user_id: string | null;
21610
+ }[];
21611
+ SetofOptions: {
21612
+ from: "*";
21613
+ to: "transactional_email_jobs";
21614
+ isOneToOne: false;
21615
+ isSetofReturn: true;
21616
+ };
21617
+ };
21618
+ transactional_email_claim_job: {
21619
+ Args: {
21620
+ p_job_id: string;
21621
+ p_lock_timeout_seconds?: number;
21622
+ p_worker_id: string;
21623
+ };
21624
+ Returns: {
21625
+ attempt_count: number;
21626
+ completion_attempt_count: number;
21627
+ completion_completed_at: string | null;
21628
+ completion_last_error: string | null;
21629
+ completion_locked_at: string | null;
21630
+ completion_locked_by: string | null;
21631
+ completion_max_attempts: number;
21632
+ completion_run_after: string | null;
21633
+ completion_status: string;
21634
+ created_at: string;
21635
+ email_id: string | null;
21636
+ email_type: string;
21637
+ id: string;
21638
+ idempotency_key: string;
21639
+ last_error: string | null;
21640
+ locked_at: string | null;
21641
+ locked_by: string | null;
21642
+ max_attempts: number;
21643
+ payload_json: Json;
21644
+ provider_ambiguity_started_at: string | null;
21645
+ provider_attempt_state: string;
21646
+ provider_message_id: string | null;
21647
+ run_after: string | null;
21648
+ sent_at: string | null;
21649
+ site_id: string | null;
21650
+ status: string;
21651
+ updated_at: string;
21652
+ user_id: string | null;
21653
+ }[];
21654
+ SetofOptions: {
21655
+ from: "*";
21656
+ to: "transactional_email_jobs";
21657
+ isOneToOne: false;
21658
+ isSetofReturn: true;
21659
+ };
21660
+ };
21413
21661
  transactional_email_claim_jobs: {
21414
21662
  Args: {
21415
21663
  p_limit: number;
@@ -21418,6 +21666,14 @@ export type Database = {
21418
21666
  };
21419
21667
  Returns: {
21420
21668
  attempt_count: number;
21669
+ completion_attempt_count: number;
21670
+ completion_completed_at: string | null;
21671
+ completion_last_error: string | null;
21672
+ completion_locked_at: string | null;
21673
+ completion_locked_by: string | null;
21674
+ completion_max_attempts: number;
21675
+ completion_run_after: string | null;
21676
+ completion_status: string;
21421
21677
  created_at: string;
21422
21678
  email_id: string | null;
21423
21679
  email_type: string;
@@ -21428,6 +21684,8 @@ export type Database = {
21428
21684
  locked_by: string | null;
21429
21685
  max_attempts: number;
21430
21686
  payload_json: Json;
21687
+ provider_ambiguity_started_at: string | null;
21688
+ provider_attempt_state: string;
21431
21689
  provider_message_id: string | null;
21432
21690
  run_after: string | null;
21433
21691
  sent_at: string | null;
@@ -21443,6 +21701,32 @@ export type Database = {
21443
21701
  isSetofReturn: true;
21444
21702
  };
21445
21703
  };
21704
+ transfer_site_ownership_trusted: {
21705
+ Args: {
21706
+ p_actor_user_id: string;
21707
+ p_site_id: string;
21708
+ p_target_membership_id: string;
21709
+ };
21710
+ Returns: {
21711
+ accepted_at: string | null;
21712
+ created_at: string;
21713
+ id: string;
21714
+ invited_by: string | null;
21715
+ linked_staff_member_id: string | null;
21716
+ removed_at: string | null;
21717
+ role: Database["public"]["Enums"]["site_role"];
21718
+ site_id: string;
21719
+ staff_capabilities: Database["public"]["Enums"]["staff_operational_capability"][] | null;
21720
+ updated_at: string;
21721
+ user_id: string;
21722
+ };
21723
+ SetofOptions: {
21724
+ from: "*";
21725
+ to: "site_memberships";
21726
+ isOneToOne: true;
21727
+ isSetofReturn: false;
21728
+ };
21729
+ };
21446
21730
  transition_analytics_events_to_daily_aggregates: {
21447
21731
  Args: {
21448
21732
  p_cutoff: string;
@@ -21643,6 +21927,34 @@ export type Database = {
21643
21927
  isSetofReturn: false;
21644
21928
  };
21645
21929
  };
21930
+ use_site_invitation_trusted: {
21931
+ Args: {
21932
+ p_allowed_website_roles?: string[];
21933
+ p_max_non_owner_places?: number;
21934
+ p_operational_staff_allowed?: boolean;
21935
+ p_token: string;
21936
+ p_user: string;
21937
+ };
21938
+ Returns: {
21939
+ accepted_at: string | null;
21940
+ created_at: string;
21941
+ id: string;
21942
+ invited_by: string | null;
21943
+ linked_staff_member_id: string | null;
21944
+ removed_at: string | null;
21945
+ role: Database["public"]["Enums"]["site_role"];
21946
+ site_id: string;
21947
+ staff_capabilities: Database["public"]["Enums"]["staff_operational_capability"][] | null;
21948
+ updated_at: string;
21949
+ user_id: string;
21950
+ };
21951
+ SetofOptions: {
21952
+ from: "*";
21953
+ to: "site_memberships";
21954
+ isOneToOne: true;
21955
+ isSetofReturn: false;
21956
+ };
21957
+ };
21646
21958
  validate_dated_offering_waitlist_restore_snapshot_v1: {
21647
21959
  Args: {
21648
21960
  p_course_id: string;
@@ -35,7 +35,6 @@ export type PreviewEditorSidebarProps = {
35
35
  themeSelectionUpdatedAt?: string | null;
36
36
  /** Persisted Style configurator selections (Phase C / E). */
37
37
  themeSelectionButtonStyleSelection?: ButtonStyleSelection | null;
38
- runtimePaletteState: import("./styleConfiguratorSnapshot").PreviewRuntimePaletteState;
39
38
  themeSelectionHeaderLayoutId?: HeaderLayoutId | null;
40
39
  themeSelectionHeaderStyleId?: HeaderStyleId | null;
41
40
  themeSelectionHeaderLookId?: HeaderLookId | null;
@@ -61,4 +60,4 @@ export type PreviewEditorSidebarProps = {
61
60
  onViewportWidthChange: (width: ViewportWidth) => void;
62
61
  onZoomChange: (zoom: ZoomLevel) => void;
63
62
  };
64
- export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, siteStyleAccess, activeTab, onTabChange, onClose, onFooterSaved, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): React.JSX.Element;
63
+ export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, siteStyleAccess, activeTab, onTabChange, onClose, onFooterSaved, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): React.JSX.Element;
@@ -42,7 +42,6 @@ export type PreviewShellProps = {
42
42
  * complete palette state.
43
43
  */
44
44
  themeSelectionButtonStyleSelection?: ButtonStyleSelection | null;
45
- runtimePaletteState: import('./styleConfiguratorSnapshot').PreviewRuntimePaletteState;
46
45
  themeSelectionHeaderLayoutId?: HeaderLayoutId | null;
47
46
  themeSelectionHeaderStyleId?: HeaderStyleId | null;
48
47
  themeSelectionHeaderLookId?: HeaderLookId | null;
@@ -68,12 +67,12 @@ export type PreviewShellProps = {
68
67
  supabaseUrl?: string;
69
68
  themeRuntime?: PreviewThemeRuntime;
70
69
  designEditorEligibility?: PreviewDesignEditorEligibility;
71
- /** Hides site-style controls for runtimes without palette authority. */
70
+ /** Hides site-style controls when this runtime cannot persist design edits. */
72
71
  hideSiteStyleConfigurator?: boolean;
73
72
  baseFetch?: BaseFetch;
74
73
  onFooterSaved?: () => void;
75
74
  };
76
- export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime, designEditorEligibility, hideSiteStyleConfigurator, baseFetch, onFooterSaved, }: PreviewShellProps): React.JSX.Element;
75
+ export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime, designEditorEligibility, hideSiteStyleConfigurator, baseFetch, onFooterSaved, }: PreviewShellProps): React.JSX.Element;
77
76
  export declare function defaultDesignEditorEligibility(input: Readonly<{
78
77
  pageId: string | null;
79
78
  entryData?: PreviewContentEntryData | null;
@@ -28,7 +28,6 @@ export type PreviewShellLayoutProps = {
28
28
  themeSelectionVersion?: number | null;
29
29
  themeSelectionUpdatedAt?: string | null;
30
30
  themeSelectionButtonStyleSelection?: ButtonStyleSelection | null;
31
- runtimePaletteState: import("./styleConfiguratorSnapshot").PreviewRuntimePaletteState;
32
31
  themeSelectionHeaderLayoutId?: HeaderLayoutId | null;
33
32
  themeSelectionHeaderStyleId?: HeaderStyleId | null;
34
33
  themeSelectionHeaderLookId?: HeaderLookId | null;
@@ -46,4 +45,4 @@ export type PreviewShellLayoutProps = {
46
45
  siteStyleAccess?: SiteStyleAccess;
47
46
  onFooterSaved?: () => void;
48
47
  };
49
- export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, themeRuntime, siteStyleAccess, onFooterSaved, }: PreviewShellLayoutProps): React.JSX.Element;
48
+ export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, themeRuntime, siteStyleAccess, onFooterSaved, }: PreviewShellLayoutProps): React.JSX.Element;
@@ -1,12 +1,12 @@
1
1
  import React, { type ReactNode } from 'react';
2
2
  import { type ApiClient } from '../../../../api/src/request';
3
3
  import type { Theme } from '../../../../blocks/src/index';
4
- import type { ButtonStyleSelection } from '../../../../theme-core/src/buttons/index';
5
- import type { BrandDisplayMode, FooterLookId, HeaderNavFontSizePreference, HeaderNavTypographyPreference, HeaderLayoutId, HeaderLookId, HeaderSelectionContext, HeaderStyleId, LogoSizePolicy, SiteChromeBackgroundColorToken, SiteChromeBackgroundOverride } from '../../../../theme-core/src/site-styles/index';
4
+ import type { BrandDisplayMode, FooterLookId, HeaderNavFontSizePreference, HeaderNavTypographyPreference, HeaderLayoutId, HeaderSelectionContext, HeaderStyleId, LogoSizePolicy, SiteChromeBackgroundColorToken, SiteChromeBackgroundOverride } from '../../../../theme-core/src/site-styles/index';
6
5
  import { headerNavFontSizeOptions, headerNavTypographyOptions } from '../../../../theme-core/src/site-styles/index';
7
6
  import { type StyleConfiguratorHistoryEntry } from './StyleConfigurator.state';
8
7
  import type { SiteStyleAccess } from './siteStyleAccess';
9
8
  import { type SiteChromeLookOption } from './siteChromeLookRows';
9
+ import { type StyleConfiguratorInitialSelections } from './styleConfiguratorSnapshot';
10
10
  import type { SiteChromeEditableSurfaceKind } from './SiteChromeEditableSurface';
11
11
  import { type HeaderBrandDisplayOption, type HeaderLogoSizeOption } from './siteChromeBrandPreferences';
12
12
  import { type SiteStyleHistoryFailure, type SiteStyleHistorySkipReason } from './siteStyleHistoryState';
@@ -111,16 +111,7 @@ export type SiteChromeCustomizeProviderProps = Readonly<{
111
111
  selectionId?: string | null;
112
112
  selectionVersion?: number | null;
113
113
  selectionUpdatedAt?: string | null;
114
- initialSelections: Readonly<{
115
- selectionVersion?: number | null;
116
- selectionUpdatedAt?: string | null;
117
- buttonStyleSelection: ButtonStyleSelection | null;
118
- runtimePaletteState: import('./styleConfiguratorSnapshot').PreviewRuntimePaletteState;
119
- headerLayoutId?: HeaderLayoutId | null;
120
- headerStyleId?: HeaderStyleId | null;
121
- headerLookId?: HeaderLookId | null;
122
- footerLookId?: FooterLookId | null;
123
- }> & Readonly<Record<string, unknown>>;
114
+ initialSelections: StyleConfiguratorInitialSelections & Readonly<Record<string, unknown>>;
124
115
  headerSelectionContext?: Partial<HeaderSelectionContext>;
125
116
  siteStyleAccess?: SiteStyleAccess;
126
117
  canOpenDesignEditor?: boolean;
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { ApiClient } from '../../../../api/src/request';
3
3
  import type { Theme } from '../../../../blocks/src/index';
4
- import { type ButtonStyleSelection } from '../../../../theme-core/src/buttons/index';
5
- import { type FooterLookId, type HeaderLayoutId, type HeaderLookId, type HeaderSelectionContext, type HeaderStyleId } from '../../../../theme-core/src/site-styles/index';
4
+ import { type HeaderSelectionContext } from '../../../../theme-core/src/site-styles/index';
6
5
  import { type VisibleSiteStyleAccess } from './siteStyleAccess';
7
- import type { PreviewRuntimePaletteState } from './styleConfiguratorSnapshot';
6
+ import { type StyleConfiguratorInitialSelections } from './styleConfiguratorSnapshot';
8
7
  export type StyleConfiguratorProps = Readonly<{
9
8
  siteId: string;
10
9
  apiClient: ApiClient;
@@ -14,16 +13,7 @@ export type StyleConfiguratorProps = Readonly<{
14
13
  selectionVersion?: number | null;
15
14
  selectionUpdatedAt?: string | null;
16
15
  /** Server-persisted design selections. */
17
- initialSelections: Readonly<{
18
- selectionVersion?: number | null;
19
- selectionUpdatedAt?: string | null;
20
- buttonStyleSelection: ButtonStyleSelection | null;
21
- runtimePaletteState: PreviewRuntimePaletteState;
22
- headerLayoutId?: HeaderLayoutId | null;
23
- headerStyleId?: HeaderStyleId | null;
24
- headerLookId?: HeaderLookId | null;
25
- footerLookId?: FooterLookId | null;
26
- }> & Readonly<Record<string, unknown>>;
16
+ initialSelections: StyleConfiguratorInitialSelections & Readonly<Record<string, unknown>>;
27
17
  headerSelectionContext?: Partial<HeaderSelectionContext>;
28
18
  onFocusedSurfaceChange?: (focused: boolean) => void;
29
19
  siteStyleAccess: VisibleSiteStyleAccess;