@riverbankcms/sdk 0.60.6 → 0.60.7

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 (92) hide show
  1. package/dist/_dts/api/src/appointmentSetup.d.ts +2 -2
  2. package/dist/_dts/api/src/bookingConfig.d.ts +6 -0
  3. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +45 -3
  4. package/dist/_dts/api/src/bookingOperations.d.ts +40 -3
  5. package/dist/_dts/api/src/courses.d.ts +1 -5
  6. package/dist/_dts/api/src/endpoints.d.ts +80 -1
  7. package/dist/_dts/api/src/index.d.ts +3 -2
  8. package/dist/_dts/api/src/navigation/contracts.d.ts +9 -9
  9. package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
  10. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +15 -1
  11. package/dist/_dts/api/src/resources.d.ts +1 -1
  12. package/dist/_dts/api/src/siteBanner.d.ts +8 -8
  13. package/dist/_dts/api/src/siteOnboarding.d.ts +1 -0
  14. package/dist/_dts/api/src/teamMembers.d.ts +27 -0
  15. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +35 -29
  16. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -5
  17. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +40 -34
  18. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -5
  19. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +1 -1
  20. package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
  21. package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +9 -9
  22. package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +24 -0
  23. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +18 -8
  24. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  25. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  26. package/dist/_dts/blocks/src/system/data/utils.d.ts +1 -1
  27. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +201 -201
  28. package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -2
  29. package/dist/_dts/blocks/src/system/node/schema.d.ts +5 -5
  30. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +4 -4
  32. package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
  33. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +3 -3
  34. package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
  35. package/dist/_dts/content-model/src/metadataConfig.d.ts +1 -0
  36. package/dist/_dts/core/src/branded.d.ts +2 -0
  37. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +124 -8
  38. package/dist/_dts/db/src/schemas/forms.d.ts +61 -61
  39. package/dist/_dts/sdk/src/client/types.d.ts +9 -2
  40. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  41. package/dist/_dts/sdk/src/config/validation.d.ts +40 -37
  42. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +17 -8
  43. package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +1 -1
  44. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +19 -19
  45. package/dist/_dts/sdk/src/public-api/contracts.d.ts +87 -69
  46. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  47. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -5
  48. package/dist/_dts/sdk/src/version.d.ts +1 -1
  49. package/dist/_dts/theme-core/src/accordions/types.d.ts +11 -11
  50. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +10 -10
  51. package/dist/_dts/theme-core/src/buttons/types.d.ts +27 -27
  52. package/dist/_dts/theme-core/src/cards/types.d.ts +17 -17
  53. package/dist/_dts/theme-core/src/inputs/types.d.ts +14 -14
  54. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +2 -2
  55. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +438 -438
  56. package/dist/_dts/theme-core/src/navigation/types.d.ts +16 -16
  57. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +15 -15
  58. package/dist/_dts/theme-core/src/schema.d.ts +662 -662
  59. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +4 -4
  60. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +15 -15
  61. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +7 -7
  62. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  63. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +5 -5
  64. package/dist/_dts/ui/src/badge.d.ts +1 -1
  65. package/dist/_dts/ui/src/button-group.d.ts +1 -1
  66. package/dist/_dts/ui/src/button.d.ts +2 -2
  67. package/dist/_dts/ui/src/callout.d.ts +1 -1
  68. package/dist/_dts/ui/src/card.d.ts +1 -1
  69. package/dist/_dts/ui/src/surface.d.ts +2 -2
  70. package/dist/_dts/ui/src/toggle.d.ts +4 -4
  71. package/dist/cli/index.mjs +276 -24
  72. package/dist/client/client.mjs +607 -306
  73. package/dist/client/hooks.mjs +272 -23
  74. package/dist/client/rendering/client.mjs +179 -130
  75. package/dist/client/rendering/islands.mjs +68 -43
  76. package/dist/client/rendering.mjs +646 -363
  77. package/dist/preview-next/before-render.mjs +147 -1
  78. package/dist/preview-next/client/runtime.mjs +338 -43
  79. package/dist/preview-next/middleware.mjs +147 -1
  80. package/dist/server/components.mjs +727 -470
  81. package/dist/server/config-validation.mjs +488 -254
  82. package/dist/server/config.mjs +488 -254
  83. package/dist/server/data.mjs +272 -23
  84. package/dist/server/index.mjs +168 -2
  85. package/dist/server/next.mjs +476 -185
  86. package/dist/server/page-converter.mjs +335 -249
  87. package/dist/server/prebuild.mjs +1 -1
  88. package/dist/server/rendering/server.mjs +742 -469
  89. package/dist/server/rendering.mjs +742 -469
  90. package/dist/server/routing.mjs +274 -24
  91. package/dist/server/server.mjs +291 -24
  92. package/package.json +1 -1
@@ -11807,7 +11807,19 @@ var teamMemberFragment = defineFragment({
11807
11807
  bind("photo")
11808
11808
  )
11809
11809
  ]),
11810
- text({ as: "h3" }, bind("name")),
11810
+ link(
11811
+ {
11812
+ href: { $bind: { from: "profilePath" } },
11813
+ className: "rb-team-member-name-link"
11814
+ },
11815
+ [text({ as: "h3" }, bind("name"))],
11816
+ when("profilePath")
11817
+ ),
11818
+ text(
11819
+ { as: "h3" },
11820
+ when("profilePath", { not: true }),
11821
+ bind("name")
11822
+ ),
11811
11823
  text({ as: "p", className: "rb-team-member-role" }, when("role"), bind("role")),
11812
11824
  richText(
11813
11825
  { className: "rb-prose rb-max-w-none" },
@@ -16198,7 +16210,9 @@ var courseSessionSchema = z38.object({
16198
16210
  var courseTeamMemberSummarySchema = z38.object({
16199
16211
  id: z38.string(),
16200
16212
  name: z38.string(),
16201
- summary: z38.string().nullable()
16213
+ roleLabel: z38.string().nullable(),
16214
+ summary: z38.string().nullable(),
16215
+ profilePath: z38.string().nullable()
16202
16216
  });
16203
16217
  var coursePricingOptionSchema = z38.object({
16204
16218
  id: z38.string(),
@@ -16303,7 +16317,9 @@ var publicEventTicketTypeSchema = z39.object({
16303
16317
  var publicTeamMemberSummarySchema = z39.object({
16304
16318
  id: z39.string(),
16305
16319
  name: z39.string(),
16306
- summary: z39.string().nullable()
16320
+ roleLabel: z39.string().nullable(),
16321
+ summary: z39.string().nullable(),
16322
+ profilePath: z39.string().nullable()
16307
16323
  });
16308
16324
  var publicEventSchema = z39.object({
16309
16325
  kind: z39.enum(["event", "course_session"]).optional(),
@@ -24148,7 +24164,25 @@ var newsletterSignupBlockDefinition = {
24148
24164
  };
24149
24165
 
24150
24166
  // ../blocks/src/system/blocks/team-members.ts
24167
+ import { z as z57 } from "zod";
24151
24168
  var ITEM_NAME2 = "member";
24169
+ var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
24170
+ message: "Team member photos must be image media"
24171
+ }).nullable();
24172
+ var teamMemberDataSchema = z57.object({
24173
+ _type: z57.literal("teamMember"),
24174
+ id: z57.string(),
24175
+ name: z57.string(),
24176
+ role: z57.string().nullable(),
24177
+ roleLabel: z57.string().nullable(),
24178
+ bio: z57.string().nullable(),
24179
+ summary: z57.string().nullable(),
24180
+ photo: teamMemberPhotoSchema,
24181
+ profilePath: z57.string().nullable()
24182
+ });
24183
+ var teamMembersDataSchema = z57.array(teamMemberDataSchema);
24184
+ var dynamicSourceWhen = { equals: "site_staff" };
24185
+ var manualSourceWhen = { equals: "site_staff", not: true };
24152
24186
  var headingNode = text(
24153
24187
  { as: "h2" },
24154
24188
  bind("content.heading"),
@@ -24238,7 +24272,15 @@ var teamMemberStackLayout = el(
24238
24272
  ]
24239
24273
  ),
24240
24274
  stack({ gap: "sm", className: "rb-team-member-body rb-flex-1 rb-min-w-0" }, [
24241
- text({ as: "h3" }, bind("name")),
24275
+ link(
24276
+ {
24277
+ href: { $bind: { from: "profilePath" } },
24278
+ className: "rb-team-member-name-link"
24279
+ },
24280
+ [text({ as: "h3" }, bind("name"))],
24281
+ when("profilePath")
24282
+ ),
24283
+ text({ as: "h3" }, when("profilePath", { not: true }), bind("name")),
24242
24284
  text(
24243
24285
  { as: "p", className: "rb-team-member-role" },
24244
24286
  when("role"),
@@ -24252,12 +24294,18 @@ var teamMemberStackLayout = el(
24252
24294
  ])
24253
24295
  ]
24254
24296
  );
24255
- var gridMembersNode = repeaterFragmentLayout({
24297
+ var manualGridMembersNode = when("content.source", manualSourceWhen)(repeaterFragmentLayout({
24256
24298
  collectionPath: "content.members",
24257
24299
  itemName: ITEM_NAME2,
24258
24300
  fragments: { teamMember: teamMemberFragment },
24259
24301
  itemGap: "sm"
24260
- });
24302
+ }));
24303
+ var dynamicGridMembersNode = when("content.source", dynamicSourceWhen)(repeaterFragmentLayout({
24304
+ collectionPath: "data.members",
24305
+ itemName: ITEM_NAME2,
24306
+ fragments: { teamMember: teamMemberFragment },
24307
+ itemGap: "sm"
24308
+ }));
24261
24309
  var gridVariant = wrapVariant3(
24262
24310
  el(
24263
24311
  "grid",
@@ -24271,22 +24319,29 @@ var gridVariant = wrapVariant3(
24271
24319
  },
24272
24320
  gap: { $bind: { from: "content.gap", fallback: "medium" } }
24273
24321
  },
24274
- [gridMembersNode]
24322
+ [manualGridMembersNode, dynamicGridMembersNode]
24275
24323
  )
24276
24324
  );
24277
- var stackMembersNode = repeaterFragmentLayout({
24325
+ var manualStackMembersNode = when("content.source", manualSourceWhen)(repeaterFragmentLayout({
24278
24326
  collectionPath: "content.members",
24279
24327
  itemName: ITEM_NAME2,
24280
24328
  fragments: { teamMember: teamMemberFragment },
24281
24329
  layoutOverrides: { teamMember: teamMemberStackLayout },
24282
24330
  itemGap: "sm"
24283
- });
24331
+ }));
24332
+ var dynamicStackMembersNode = when("content.source", dynamicSourceWhen)(repeaterFragmentLayout({
24333
+ collectionPath: "data.members",
24334
+ itemName: ITEM_NAME2,
24335
+ fragments: { teamMember: teamMemberFragment },
24336
+ layoutOverrides: { teamMember: teamMemberStackLayout },
24337
+ itemGap: "sm"
24338
+ }));
24284
24339
  var stackVariant = wrapVariant3({
24285
24340
  type: "stack",
24286
24341
  props: {
24287
24342
  gap: { $bind: { from: "content.gap", fallback: "medium" } }
24288
24343
  },
24289
- children: [stackMembersNode]
24344
+ children: [manualStackMembersNode, dynamicStackMembersNode]
24290
24345
  });
24291
24346
  var teamMembersManifest = createBlockManifest({
24292
24347
  id: "block.team-members",
@@ -24301,6 +24356,18 @@ var teamMembersManifest = createBlockManifest({
24301
24356
  required: false,
24302
24357
  maxLength: 120
24303
24358
  }),
24359
+ parseFieldDefinition({
24360
+ id: "source",
24361
+ type: "select",
24362
+ label: "Team members",
24363
+ description: "Choose whether to use the site-wide team or a hand-picked list.",
24364
+ defaultValue: "manual",
24365
+ options: [
24366
+ { value: "manual", label: "Choose manually" },
24367
+ { value: "site_staff", label: "Use all site team members" }
24368
+ ],
24369
+ ui: { intent: "behavior" }
24370
+ }),
24304
24371
  parseFieldDefinition({
24305
24372
  id: "layoutAlign",
24306
24373
  type: "select",
@@ -24403,18 +24470,24 @@ var teamMembersManifest = createBlockManifest({
24403
24470
  ],
24404
24471
  ui: { intent: "display" }
24405
24472
  }),
24406
- fragmentsToRepeaterField(
24407
- "members",
24408
- "Team members",
24409
- { teamMember: teamMemberFragment },
24410
- {
24411
- minItems: 0,
24412
- maxItems: 50,
24413
- itemLabel: "Team member",
24414
- itemLabelSource: "name",
24415
- description: "Add people to this section."
24473
+ {
24474
+ ...fragmentsToRepeaterField(
24475
+ "members",
24476
+ "Team members",
24477
+ { teamMember: teamMemberFragment },
24478
+ {
24479
+ minItems: 0,
24480
+ maxItems: 50,
24481
+ itemLabel: "Team member",
24482
+ itemLabelSource: "name",
24483
+ description: "Add people to this section."
24484
+ }
24485
+ ),
24486
+ ui: {
24487
+ intent: "content",
24488
+ visibleWhen: { field: "source", equals: "manual" }
24416
24489
  }
24417
- )
24490
+ }
24418
24491
  ],
24419
24492
  layout: gridVariant,
24420
24493
  variants: {
@@ -24440,7 +24513,20 @@ var teamMembersManifest = createBlockManifest({
24440
24513
  styleTokens: { spacing: "lg" }
24441
24514
  });
24442
24515
  var teamMembersBlockDefinition = {
24443
- manifest: teamMembersManifest
24516
+ manifest: teamMembersManifest,
24517
+ dataSchemas: {
24518
+ members: teamMembersDataSchema
24519
+ },
24520
+ dataLoaders: {
24521
+ members: {
24522
+ endpoint: "listPublicTeamMembers",
24523
+ params: {
24524
+ siteId: { $bind: { from: "$root.siteId" } },
24525
+ stage: { $bind: { from: "$root.previewStage", fallback: "published" } }
24526
+ },
24527
+ mode: "server"
24528
+ }
24529
+ }
24444
24530
  };
24445
24531
 
24446
24532
  // ../blocks/src/system/runtime/nodes/location-map.shared.ts
@@ -27401,7 +27487,7 @@ function SpinnerNode({
27401
27487
  }
27402
27488
 
27403
27489
  // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
27404
- import { z as z57 } from "zod";
27490
+ import { z as z58 } from "zod";
27405
27491
 
27406
27492
  // ../blocks/src/system/runtime/nodes/booking-form.state.ts
27407
27493
  function toTrimmedString(value) {
@@ -27443,14 +27529,14 @@ function normalizeBookingServices(services) {
27443
27529
  }
27444
27530
 
27445
27531
  // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
27446
- var bookingFieldOptionSchema = z57.object({
27447
- value: z57.string(),
27448
- label: z57.string()
27449
- });
27450
- var bookingFieldSchema = z57.object({
27451
- id: z57.string(),
27452
- label: z57.string(),
27453
- type: z57.enum([
27532
+ var bookingFieldOptionSchema = z58.object({
27533
+ value: z58.string(),
27534
+ label: z58.string()
27535
+ });
27536
+ var bookingFieldSchema = z58.object({
27537
+ id: z58.string(),
27538
+ label: z58.string(),
27539
+ type: z58.enum([
27454
27540
  "text",
27455
27541
  "email",
27456
27542
  "textarea",
@@ -27464,132 +27550,132 @@ var bookingFieldSchema = z57.object({
27464
27550
  "date",
27465
27551
  "time"
27466
27552
  ]),
27467
- required: z57.boolean().optional(),
27468
- placeholder: z57.string().optional(),
27469
- helpText: z57.string().optional(),
27470
- options: z57.array(bookingFieldOptionSchema).optional(),
27471
- multiple: z57.boolean().optional(),
27472
- minLength: z57.number().optional(),
27473
- maxLength: z57.number().optional(),
27474
- pattern: z57.string().optional(),
27475
- min: z57.number().optional(),
27476
- max: z57.number().optional()
27477
- });
27478
- var bookingSettingsSchema = z57.object({
27479
- type: z57.literal("booking"),
27480
- serviceId: z57.string().optional(),
27481
- serviceIds: z57.array(z57.string()).optional(),
27482
- resourceId: z57.string().optional(),
27483
- requiresApproval: z57.boolean().optional(),
27484
- successMessage: z57.string().optional()
27485
- });
27486
- var bookingSourceFormSchema = z57.object({
27487
- id: z57.string(),
27488
- siteId: z57.string(),
27489
- userId: z57.string(),
27490
- name: z57.string(),
27491
- schemaJson: z57.object({
27492
- version: z57.string().optional(),
27493
- fields: z57.array(bookingFieldSchema).optional()
27553
+ required: z58.boolean().optional(),
27554
+ placeholder: z58.string().optional(),
27555
+ helpText: z58.string().optional(),
27556
+ options: z58.array(bookingFieldOptionSchema).optional(),
27557
+ multiple: z58.boolean().optional(),
27558
+ minLength: z58.number().optional(),
27559
+ maxLength: z58.number().optional(),
27560
+ pattern: z58.string().optional(),
27561
+ min: z58.number().optional(),
27562
+ max: z58.number().optional()
27563
+ });
27564
+ var bookingSettingsSchema = z58.object({
27565
+ type: z58.literal("booking"),
27566
+ serviceId: z58.string().optional(),
27567
+ serviceIds: z58.array(z58.string()).optional(),
27568
+ resourceId: z58.string().optional(),
27569
+ requiresApproval: z58.boolean().optional(),
27570
+ successMessage: z58.string().optional()
27571
+ });
27572
+ var bookingSourceFormSchema = z58.object({
27573
+ id: z58.string(),
27574
+ siteId: z58.string(),
27575
+ userId: z58.string(),
27576
+ name: z58.string(),
27577
+ schemaJson: z58.object({
27578
+ version: z58.string().optional(),
27579
+ fields: z58.array(bookingFieldSchema).optional()
27494
27580
  }).optional(),
27495
27581
  settingsJson: bookingSettingsSchema.optional(),
27496
- createdAt: z57.string(),
27497
- updatedAt: z57.string()
27582
+ createdAt: z58.string(),
27583
+ updatedAt: z58.string()
27498
27584
  });
27499
- var blockBookingPaymentTermsAvailabilitySchema = z57.union([
27500
- z57.object({
27501
- kind: z57.literal("available"),
27585
+ var blockBookingPaymentTermsAvailabilitySchema = z58.union([
27586
+ z58.object({
27587
+ kind: z58.literal("available"),
27502
27588
  paymentTerms: blockBookingPaymentTermsSchema
27503
27589
  }),
27504
- z57.object({
27505
- kind: z57.literal("pending_stripe_setup"),
27590
+ z58.object({
27591
+ kind: z58.literal("pending_stripe_setup"),
27506
27592
  paymentTerms: blockBookingPaymentTermsSchema,
27507
- reason: z57.literal("online_payment_configured_before_launch")
27593
+ reason: z58.literal("online_payment_configured_before_launch")
27508
27594
  })
27509
27595
  ]);
27510
- var bookingServiceSchema = z57.object({
27511
- id: z57.string(),
27512
- siteId: z57.string(),
27513
- title: z57.string(),
27514
- description: z57.string().nullable().optional().transform((value) => value ?? void 0),
27515
- durationMinutes: z57.number().optional(),
27516
- priceAmount: z57.number().nullable().optional(),
27517
- priceCurrency: z57.string().nullable().optional(),
27596
+ var bookingServiceSchema = z58.object({
27597
+ id: z58.string(),
27598
+ siteId: z58.string(),
27599
+ title: z58.string(),
27600
+ description: z58.string().nullable().optional().transform((value) => value ?? void 0),
27601
+ durationMinutes: z58.number().optional(),
27602
+ priceAmount: z58.number().nullable().optional(),
27603
+ priceCurrency: z58.string().nullable().optional(),
27518
27604
  paymentTerms: blockBookingPaymentTermsSchema.optional(),
27519
27605
  paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional()
27520
27606
  });
27521
- var bookingServicesSourceSchema = z57.union([
27522
- z57.array(bookingServiceSchema),
27523
- z57.object({
27524
- services: z57.array(bookingServiceSchema).optional()
27607
+ var bookingServicesSourceSchema = z58.union([
27608
+ z58.array(bookingServiceSchema),
27609
+ z58.object({
27610
+ services: z58.array(bookingServiceSchema).optional()
27525
27611
  }),
27526
- z57.record(z57.string(), bookingServiceSchema)
27612
+ z58.record(z58.string(), bookingServiceSchema)
27527
27613
  ]);
27528
- var bookingConfigSchema = z57.object({
27529
- id: z57.string(),
27530
- name: z57.string(),
27531
- slug: z57.string(),
27614
+ var bookingConfigSchema = z58.object({
27615
+ id: z58.string(),
27616
+ name: z58.string(),
27617
+ slug: z58.string(),
27532
27618
  settings: bookingSettingsSchema.optional(),
27533
- schema: z57.object({
27534
- version: z57.string().optional(),
27535
- fields: z57.array(bookingFieldSchema)
27619
+ schema: z58.object({
27620
+ version: z58.string().optional(),
27621
+ fields: z58.array(bookingFieldSchema)
27536
27622
  }).optional()
27537
27623
  });
27538
- var bookingSourceSchema = z57.object({
27539
- siteId: z57.string().optional(),
27540
- apiBaseUrl: z57.string().optional(),
27541
- portalToken: z57.string().nullable().optional(),
27542
- formId: z57.string().optional(),
27543
- serviceId: z57.string().nullable().optional(),
27544
- resourceId: z57.string().nullable().optional(),
27545
- initialData: z57.record(z57.string(), z57.unknown()).nullable().optional(),
27546
- noticeMessage: z57.string().nullable().optional(),
27547
- requiresServiceSelection: z57.boolean().optional(),
27548
- requiresResourceSelection: z57.boolean().optional(),
27549
- shouldAutoSelectSingleResource: z57.boolean().optional(),
27550
- rebookContext: z57.object({
27551
- kind: z57.literal("portal_rebook")
27624
+ var bookingSourceSchema = z58.object({
27625
+ siteId: z58.string().optional(),
27626
+ apiBaseUrl: z58.string().optional(),
27627
+ portalToken: z58.string().nullable().optional(),
27628
+ formId: z58.string().optional(),
27629
+ serviceId: z58.string().nullable().optional(),
27630
+ resourceId: z58.string().nullable().optional(),
27631
+ initialData: z58.record(z58.string(), z58.unknown()).nullable().optional(),
27632
+ noticeMessage: z58.string().nullable().optional(),
27633
+ requiresServiceSelection: z58.boolean().optional(),
27634
+ requiresResourceSelection: z58.boolean().optional(),
27635
+ shouldAutoSelectSingleResource: z58.boolean().optional(),
27636
+ rebookContext: z58.object({
27637
+ kind: z58.literal("portal_rebook")
27552
27638
  }).nullable().optional(),
27553
- submitLabel: z57.string().nullable().optional(),
27554
- successMessage: z57.string().nullable().optional(),
27639
+ submitLabel: z58.string().nullable().optional(),
27640
+ successMessage: z58.string().nullable().optional(),
27555
27641
  form: bookingSourceFormSchema.nullable().optional(),
27556
27642
  services: bookingServicesSourceSchema.nullable().optional(),
27557
- spamProtectionEnabled: z57.boolean().optional(),
27558
- className: z57.string().nullable().optional()
27559
- });
27560
- var bookingDisplaySchema = z57.object({
27561
- kind: z57.literal("booking-form"),
27562
- state: z57.enum(["missing", "ready"]),
27563
- className: z57.string().nullable(),
27564
- submitLabel: z57.string(),
27565
- successMessage: z57.string().nullable(),
27566
- message: z57.string().nullable()
27567
- });
27568
- var bookingHydrationSchema = z57.object({
27569
- formId: z57.string().nullable(),
27570
- serviceId: z57.string().nullable(),
27571
- resourceId: z57.string().nullable(),
27572
- initialData: z57.record(z57.string(), z57.unknown()).nullable().optional(),
27573
- noticeMessage: z57.string().nullable().optional(),
27574
- requiresServiceSelection: z57.boolean().optional(),
27575
- requiresResourceSelection: z57.boolean().optional(),
27576
- shouldAutoSelectSingleResource: z57.boolean().optional(),
27577
- rebookContext: z57.object({
27578
- kind: z57.literal("portal_rebook")
27643
+ spamProtectionEnabled: z58.boolean().optional(),
27644
+ className: z58.string().nullable().optional()
27645
+ });
27646
+ var bookingDisplaySchema = z58.object({
27647
+ kind: z58.literal("booking-form"),
27648
+ state: z58.enum(["missing", "ready"]),
27649
+ className: z58.string().nullable(),
27650
+ submitLabel: z58.string(),
27651
+ successMessage: z58.string().nullable(),
27652
+ message: z58.string().nullable()
27653
+ });
27654
+ var bookingHydrationSchema = z58.object({
27655
+ formId: z58.string().nullable(),
27656
+ serviceId: z58.string().nullable(),
27657
+ resourceId: z58.string().nullable(),
27658
+ initialData: z58.record(z58.string(), z58.unknown()).nullable().optional(),
27659
+ noticeMessage: z58.string().nullable().optional(),
27660
+ requiresServiceSelection: z58.boolean().optional(),
27661
+ requiresResourceSelection: z58.boolean().optional(),
27662
+ shouldAutoSelectSingleResource: z58.boolean().optional(),
27663
+ rebookContext: z58.object({
27664
+ kind: z58.literal("portal_rebook")
27579
27665
  }).nullable().optional(),
27580
27666
  form: bookingConfigSchema.nullable(),
27581
- services: z57.array(bookingServiceSchema),
27582
- spamProtectionEnabled: z57.boolean().optional()
27667
+ services: z58.array(bookingServiceSchema),
27668
+ spamProtectionEnabled: z58.boolean().optional()
27583
27669
  });
27584
- var bookingRenderSchema = z57.object({
27670
+ var bookingRenderSchema = z58.object({
27585
27671
  display: bookingDisplaySchema,
27586
27672
  hydration: bookingHydrationSchema
27587
27673
  });
27588
27674
  var bookingFormIslandMetaCodec = createZodCodec(
27589
- z57.object({
27590
- siteId: z57.string().optional(),
27591
- apiBaseUrl: z57.string().optional(),
27592
- portalToken: z57.string().nullable().optional()
27675
+ z58.object({
27676
+ siteId: z58.string().optional(),
27677
+ apiBaseUrl: z58.string().optional(),
27678
+ portalToken: z58.string().nullable().optional()
27593
27679
  })
27594
27680
  );
27595
27681
  var bookingFormIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -27845,6 +27931,12 @@ function CoursePricingDisplay({
27845
27931
 
27846
27932
  // ../blocks/src/system/runtime/nodes/event-details/view.tsx
27847
27933
  import { Fragment as Fragment3, jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
27934
+ function TeamMemberName({
27935
+ name,
27936
+ profilePath
27937
+ }) {
27938
+ return profilePath ? /* @__PURE__ */ jsx26("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx26("strong", { children: name }) }) : /* @__PURE__ */ jsx26("strong", { children: name });
27939
+ }
27848
27940
  function EventDetailsView({
27849
27941
  selection,
27850
27942
  showVenue,
@@ -27908,7 +28000,13 @@ function EventDetailsView({
27908
28000
  teamMembers.length > 0 ? /* @__PURE__ */ jsxs13("div", { className: "rb-mt-6", children: [
27909
28001
  /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Team members" }),
27910
28002
  /* @__PURE__ */ jsx26("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs13("div", { children: [
27911
- /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: teamMember.name }) }),
28003
+ /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26(
28004
+ TeamMemberName,
28005
+ {
28006
+ name: teamMember.name,
28007
+ profilePath: teamMember.profilePath
28008
+ }
28009
+ ) }),
27912
28010
  teamMember.summary ? /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: teamMember.summary }) : null
27913
28011
  ] }, teamMember.id)) })
27914
28012
  ] }) : null,
@@ -28254,6 +28352,12 @@ function formatCourseDateRange(range) {
28254
28352
 
28255
28353
  // ../blocks/src/system/runtime/nodes/course-details/view.tsx
28256
28354
  import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
28355
+ function TeamMemberName2({
28356
+ name,
28357
+ profilePath
28358
+ }) {
28359
+ return profilePath ? /* @__PURE__ */ jsx30("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx30("strong", { children: name }) }) : /* @__PURE__ */ jsx30("strong", { children: name });
28360
+ }
28257
28361
  function parseLimit2(value, fallback2) {
28258
28362
  if (value === "all") return "all";
28259
28363
  const n = typeof value === "string" ? Number.parseInt(value, 10) : typeof value === "number" ? value : NaN;
@@ -28311,7 +28415,13 @@ function CourseDetailsView(props2) {
28311
28415
  teamMembers.length > 0 && /* @__PURE__ */ jsxs17("div", { children: [
28312
28416
  /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Team members" }),
28313
28417
  /* @__PURE__ */ jsx30("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs17("div", { children: [
28314
- /* @__PURE__ */ jsx30("p", { children: /* @__PURE__ */ jsx30("strong", { children: teamMember.name }) }),
28418
+ /* @__PURE__ */ jsx30("p", { children: /* @__PURE__ */ jsx30(
28419
+ TeamMemberName2,
28420
+ {
28421
+ name: teamMember.name,
28422
+ profilePath: teamMember.profilePath
28423
+ }
28424
+ ) }),
28315
28425
  teamMember.summary && /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: teamMember.summary })
28316
28426
  ] }, teamMember.id)) })
28317
28427
  ] })
@@ -28486,88 +28596,88 @@ var EventSpotlight = ({
28486
28596
  };
28487
28597
 
28488
28598
  // ../blocks/src/system/runtime/nodes/events/EventCombined.interactive.ts
28489
- import { z as z58 } from "zod";
28490
- var eventBlockKindSchema3 = z58.enum(eventBlockKindValues);
28491
- var eventSurfaceScopeSchema3 = z58.enum(eventSurfaceScopeValues);
28492
- var eventScheduleScopeSchema4 = z58.enum(eventScheduleScopeValues);
28493
- var eventCombinedSourceSchema = z58.object(
28599
+ import { z as z59 } from "zod";
28600
+ var eventBlockKindSchema3 = z59.enum(eventBlockKindValues);
28601
+ var eventSurfaceScopeSchema3 = z59.enum(eventSurfaceScopeValues);
28602
+ var eventScheduleScopeSchema4 = z59.enum(eventScheduleScopeValues);
28603
+ var eventCombinedSourceSchema = z59.object(
28494
28604
  {
28495
- events: z58.array(publicEventSchema).nullable().optional(),
28496
- siteId: z58.string(),
28497
- apiBaseUrl: z58.string().optional(),
28605
+ events: z59.array(publicEventSchema).nullable().optional(),
28606
+ siteId: z59.string(),
28607
+ apiBaseUrl: z59.string().optional(),
28498
28608
  stage: previewStageSchema.optional(),
28499
28609
  listLayout: eventLayoutSchema.optional(),
28500
28610
  listColumns: columnOptionSchema.optional(),
28501
- eventsPerPage: z58.string().optional(),
28502
- compactEventsPerPage: z58.string().optional(),
28503
- loadMoreText: z58.string().optional(),
28611
+ eventsPerPage: z59.string().optional(),
28612
+ compactEventsPerPage: z59.string().optional(),
28613
+ loadMoreText: z59.string().optional(),
28504
28614
  startOfWeek: weekStartSchema.optional(),
28505
28615
  calendarTabViews: calendarTabViewsSchema.optional(),
28506
- showFilters: z58.boolean().nullable().optional(),
28616
+ showFilters: z59.boolean().nullable().optional(),
28507
28617
  showCategoryFilter: filterAutoShowSchema.optional(),
28508
- showVenueFilter: z58.boolean().nullable().optional(),
28509
- showStaffFilter: z58.boolean().nullable().optional(),
28618
+ showVenueFilter: z59.boolean().nullable().optional(),
28619
+ showStaffFilter: z59.boolean().nullable().optional(),
28510
28620
  eventKind: eventBlockKindSchema3.nullable().optional(),
28511
28621
  eventSurface: eventSurfaceScopeSchema3.nullable().optional(),
28512
- filterEventPresets: z58.union([z58.string(), z58.array(z58.string())]).nullable().optional(),
28622
+ filterEventPresets: z59.union([z59.string(), z59.array(z59.string())]).nullable().optional(),
28513
28623
  scheduleScope: eventScheduleScopeSchema4.nullable().optional(),
28514
- filterCategoryIds: z58.union([z58.string(), z58.array(z58.string())]).nullable().optional(),
28515
- filterStaffMemberId: z58.string().nullable().optional(),
28516
- filterVenueId: z58.string().nullable().optional(),
28517
- showVenue: z58.boolean().nullable().optional(),
28518
- showMap: z58.boolean().nullable().optional(),
28519
- showCapacity: z58.boolean().nullable().optional(),
28624
+ filterCategoryIds: z59.union([z59.string(), z59.array(z59.string())]).nullable().optional(),
28625
+ filterStaffMemberId: z59.string().nullable().optional(),
28626
+ filterVenueId: z59.string().nullable().optional(),
28627
+ showVenue: z59.boolean().nullable().optional(),
28628
+ showMap: z59.boolean().nullable().optional(),
28629
+ showCapacity: z59.boolean().nullable().optional(),
28520
28630
  buttonVariant: eventButtonVariantSchema.optional(),
28521
- buttonText: z58.string().optional(),
28522
- emptyMessage: z58.string().optional(),
28523
- className: z58.string().optional()
28631
+ buttonText: z59.string().optional(),
28632
+ emptyMessage: z59.string().optional(),
28633
+ className: z59.string().optional()
28524
28634
  }
28525
28635
  );
28526
- var eventCombinedDisplaySchema = z58.object({
28527
- kind: z58.literal("event-combined"),
28528
- className: z58.string().nullable(),
28529
- events: z58.array(publicEventSchema),
28636
+ var eventCombinedDisplaySchema = z59.object({
28637
+ kind: z59.literal("event-combined"),
28638
+ className: z59.string().nullable(),
28639
+ events: z59.array(publicEventSchema),
28530
28640
  listLayout: eventLayoutSchema,
28531
28641
  listColumns: columnOptionSchema,
28532
- eventsPerPage: z58.string(),
28533
- loadMoreText: z58.string(),
28642
+ eventsPerPage: z59.string(),
28643
+ loadMoreText: z59.string(),
28534
28644
  startOfWeek: weekStartSchema,
28535
28645
  calendarTabViews: calendarTabViewsSchema,
28536
- showFilters: z58.boolean(),
28646
+ showFilters: z59.boolean(),
28537
28647
  showCategoryFilter: filterAutoShowSchema,
28538
- showVenueFilter: z58.boolean(),
28539
- showStaffFilter: z58.boolean(),
28648
+ showVenueFilter: z59.boolean(),
28649
+ showStaffFilter: z59.boolean(),
28540
28650
  eventKind: eventBlockKindSchema3,
28541
28651
  eventSurface: eventSurfaceScopeSchema3,
28542
- filterEventPresets: z58.string().nullable(),
28652
+ filterEventPresets: z59.string().nullable(),
28543
28653
  scheduleScope: eventScheduleScopeSchema4,
28544
- filterCategoryIds: z58.string().nullable(),
28545
- filterStaffMemberId: z58.string().nullable(),
28546
- filterVenueId: z58.string().nullable(),
28547
- showVenue: z58.boolean(),
28548
- showMap: z58.boolean(),
28549
- showCapacity: z58.boolean(),
28654
+ filterCategoryIds: z59.string().nullable(),
28655
+ filterStaffMemberId: z59.string().nullable(),
28656
+ filterVenueId: z59.string().nullable(),
28657
+ showVenue: z59.boolean(),
28658
+ showMap: z59.boolean(),
28659
+ showCapacity: z59.boolean(),
28550
28660
  buttonVariant: eventButtonVariantSchema,
28551
- buttonText: z58.string(),
28552
- emptyMessage: z58.string()
28661
+ buttonText: z59.string(),
28662
+ emptyMessage: z59.string()
28553
28663
  });
28554
- var eventCombinedHydrationSchema = z58.object({
28555
- siteId: z58.string(),
28664
+ var eventCombinedHydrationSchema = z59.object({
28665
+ siteId: z59.string(),
28556
28666
  stage: previewStageSchema.optional(),
28557
- prefetchedEvents: z58.boolean(),
28667
+ prefetchedEvents: z59.boolean(),
28558
28668
  eventKind: eventBlockKindSchema3,
28559
28669
  eventSurface: eventSurfaceScopeSchema3,
28560
- filterEventPresets: z58.string().nullable(),
28670
+ filterEventPresets: z59.string().nullable(),
28561
28671
  scheduleScope: eventScheduleScopeSchema4
28562
28672
  });
28563
- var eventCombinedRenderSchema = z58.object({
28673
+ var eventCombinedRenderSchema = z59.object({
28564
28674
  display: eventCombinedDisplaySchema,
28565
28675
  hydration: eventCombinedHydrationSchema
28566
28676
  });
28567
28677
  var eventCombinedIslandMetaCodec = createZodCodec(
28568
- z58.object({
28569
- siteId: z58.string(),
28570
- apiBaseUrl: z58.string().optional(),
28678
+ z59.object({
28679
+ siteId: z59.string(),
28680
+ apiBaseUrl: z59.string().optional(),
28571
28681
  stage: previewStageSchema.optional()
28572
28682
  })
28573
28683
  );
@@ -46344,6 +46454,7 @@ function coercePayload(payload) {
46344
46454
  if ("form" in record && typeof record.form !== "function") return record.form;
46345
46455
  if ("entries" in record && typeof record.entries !== "function") return record.entries;
46346
46456
  if ("services" in record && typeof record.services !== "function") return record.services;
46457
+ if ("teamMembers" in record && typeof record.teamMembers !== "function") return record.teamMembers;
46347
46458
  }
46348
46459
  return payload;
46349
46460
  }
@@ -46424,6 +46535,7 @@ var SUPPORTED_LOADER_ENDPOINTS = [
46424
46535
  "listPublicEvents",
46425
46536
  "getPublicEventDetails",
46426
46537
  "listPublicCourses",
46538
+ "listPublicTeamMembers",
46427
46539
  "listPublicProducts",
46428
46540
  "listPublicPasses",
46429
46541
  "listPublicMemberships",
@@ -46479,6 +46591,10 @@ function normalizeLoaderParams(endpoint, params, context) {
46479
46591
  ensureSiteId(out, context);
46480
46592
  return out;
46481
46593
  }
46594
+ if (endpoint === "listPublicTeamMembers") {
46595
+ ensureSiteId(out, context);
46596
+ return out;
46597
+ }
46482
46598
  if (endpoint === "getPublishedEntryPreview") {
46483
46599
  ensureSiteId(out, context);
46484
46600
  return out;
@@ -47339,13 +47455,150 @@ var ENDPOINT_DEFINITIONS = {
47339
47455
  "server:internal_error"
47340
47456
  ]
47341
47457
  },
47342
- deleteAppointmentResource: {
47458
+ removeAppointmentResource: {
47343
47459
  path: "/sites/{siteId}/bookings/resources/{resourceId}",
47344
47460
  method: "DELETE",
47345
47461
  auth: "user",
47346
47462
  responseKind: "json",
47347
47463
  errors: ["resource:not_found", "server:internal_error"]
47348
47464
  },
47465
+ createTeamMemberProfile: {
47466
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
47467
+ method: "POST",
47468
+ auth: "user",
47469
+ responseKind: "json",
47470
+ errors: [
47471
+ "validation:invalid_input",
47472
+ "resource:not_found",
47473
+ "resource:conflict",
47474
+ "server:internal_error"
47475
+ ]
47476
+ },
47477
+ updateTeamMemberProfilePolicy: {
47478
+ path: "/sites/{siteId}/bookings/resources/profile-policy",
47479
+ method: "PUT",
47480
+ auth: "user",
47481
+ responseKind: "json",
47482
+ errors: ["validation:invalid_input", "server:internal_error"]
47483
+ },
47484
+ updateTeamMemberProfileContent: {
47485
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/content",
47486
+ method: "PUT",
47487
+ tags: [
47488
+ "site-{siteId}",
47489
+ "content-{siteId}-team-member",
47490
+ "content-entry-{entryId}"
47491
+ ],
47492
+ auth: "user",
47493
+ responseKind: "json",
47494
+ errors: [
47495
+ "validation:invalid_input",
47496
+ "resource:not_found",
47497
+ "resource:conflict",
47498
+ "server:internal_error"
47499
+ ]
47500
+ },
47501
+ publishTeamMemberProfile: {
47502
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/publish",
47503
+ method: "POST",
47504
+ tags: [
47505
+ "site-{siteId}",
47506
+ "content-{siteId}-team-member",
47507
+ "content-entry-{entryId}"
47508
+ ],
47509
+ auth: "user",
47510
+ responseKind: "json",
47511
+ errors: [
47512
+ "validation:invalid_input",
47513
+ "resource:not_found",
47514
+ "server:internal_error"
47515
+ ]
47516
+ },
47517
+ discardTeamMemberProfileDraft: {
47518
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/discard",
47519
+ method: "POST",
47520
+ tags: [
47521
+ "site-{siteId}",
47522
+ "content-{siteId}-team-member",
47523
+ "content-entry-{entryId}"
47524
+ ],
47525
+ auth: "user",
47526
+ responseKind: "json",
47527
+ errors: [
47528
+ "validation:invalid_input",
47529
+ "resource:not_found",
47530
+ "resource:conflict",
47531
+ "server:internal_error"
47532
+ ]
47533
+ },
47534
+ unpublishTeamMemberProfile: {
47535
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/unpublish",
47536
+ method: "POST",
47537
+ tags: [
47538
+ "site-{siteId}",
47539
+ "content-{siteId}-team-member",
47540
+ "content-entry-{entryId}"
47541
+ ],
47542
+ auth: "user",
47543
+ responseKind: "json",
47544
+ errors: [
47545
+ "validation:invalid_input",
47546
+ "resource:not_found",
47547
+ "resource:conflict",
47548
+ "server:internal_error"
47549
+ ]
47550
+ },
47551
+ scheduleTeamMemberProfile: {
47552
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
47553
+ method: "POST",
47554
+ tags: [
47555
+ "site-{siteId}",
47556
+ "content-{siteId}-team-member",
47557
+ "content-entry-{entryId}"
47558
+ ],
47559
+ auth: "user",
47560
+ responseKind: "json",
47561
+ errors: [
47562
+ "validation:invalid_input",
47563
+ "resource:not_found",
47564
+ "resource:conflict",
47565
+ "server:internal_error"
47566
+ ]
47567
+ },
47568
+ cancelScheduledTeamMemberProfile: {
47569
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
47570
+ method: "DELETE",
47571
+ tags: [
47572
+ "site-{siteId}",
47573
+ "content-{siteId}-team-member",
47574
+ "content-entry-{entryId}"
47575
+ ],
47576
+ auth: "user",
47577
+ responseKind: "json",
47578
+ errors: [
47579
+ "validation:invalid_input",
47580
+ "resource:not_found",
47581
+ "resource:conflict",
47582
+ "server:internal_error"
47583
+ ]
47584
+ },
47585
+ updateTeamMemberProfileRouteMetadata: {
47586
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/routes/{routeId}/metadata",
47587
+ method: "PATCH",
47588
+ tags: [
47589
+ TAG_TEMPLATES.siteCollection,
47590
+ TAG_TEMPLATES.siteRoutableContent,
47591
+ TAG_TEMPLATES.routeById
47592
+ ],
47593
+ auth: "user",
47594
+ responseKind: "json",
47595
+ errors: [
47596
+ "validation:invalid_input",
47597
+ "resource:not_found",
47598
+ "resource:conflict",
47599
+ "server:internal_error"
47600
+ ]
47601
+ },
47349
47602
  listAppointmentServices: {
47350
47603
  path: "/sites/{siteId}/bookings/services",
47351
47604
  method: "GET",
@@ -49719,6 +49972,15 @@ var ENDPOINT_DEFINITIONS = {
49719
49972
  auth: "public",
49720
49973
  responseKind: "json"
49721
49974
  },
49975
+ listPublicTeamMembers: {
49976
+ path: "/public/sites/{siteId}/team-members",
49977
+ method: "GET",
49978
+ revalidate: 60,
49979
+ tags: ["public-team-members-{siteId}"],
49980
+ errors: [],
49981
+ auth: "public",
49982
+ responseKind: "json"
49983
+ },
49722
49984
  getPublicCourse: {
49723
49985
  path: "/public/sites/{siteId}/courses/{courseId}",
49724
49986
  method: "GET",
@@ -52010,60 +52272,60 @@ var ENDPOINT_DEFINITIONS = {
52010
52272
  };
52011
52273
 
52012
52274
  // ../api/src/navigation/contracts.ts
52013
- import { z as z59 } from "zod";
52014
- var portalLinkPayloadSchema = z59.object({
52015
- kind: z59.literal("portal"),
52016
- path: z59.string().trim().startsWith("/").optional(),
52017
- labels: z59.object({
52018
- loggedOut: z59.string().trim().min(1).optional(),
52019
- loggedIn: z59.string().trim().min(1).optional()
52275
+ import { z as z60 } from "zod";
52276
+ var portalLinkPayloadSchema = z60.object({
52277
+ kind: z60.literal("portal"),
52278
+ path: z60.string().trim().startsWith("/").optional(),
52279
+ labels: z60.object({
52280
+ loggedOut: z60.string().trim().min(1).optional(),
52281
+ loggedIn: z60.string().trim().min(1).optional()
52020
52282
  }).optional()
52021
52283
  });
52022
- var cartLinkLabelConfigSchema = z59.discriminatedUnion("kind", [
52023
- z59.object({
52024
- kind: z59.literal("icon-only")
52284
+ var cartLinkLabelConfigSchema = z60.discriminatedUnion("kind", [
52285
+ z60.object({
52286
+ kind: z60.literal("icon-only")
52025
52287
  }),
52026
- z59.object({
52027
- kind: z59.literal("icon-with-label"),
52028
- label: z59.string().trim().min(1)
52288
+ z60.object({
52289
+ kind: z60.literal("icon-with-label"),
52290
+ label: z60.string().trim().min(1)
52029
52291
  })
52030
52292
  ]);
52031
- var cartLinkPayloadSchema = z59.object({
52032
- kind: z59.literal("cart"),
52033
- badge: z59.enum(["show-count", "hidden"]),
52293
+ var cartLinkPayloadSchema = z60.object({
52294
+ kind: z60.literal("cart"),
52295
+ badge: z60.enum(["show-count", "hidden"]),
52034
52296
  label: cartLinkLabelConfigSchema
52035
52297
  });
52036
- var internalLinkPayloadSchema = z59.object({
52037
- kind: z59.literal("internal"),
52038
- routeId: z59.string().uuid(),
52039
- entityId: z59.string().uuid(),
52040
- entityType: z59.enum(["page", "content"]),
52041
- href: z59.string().min(1),
52042
- title: z59.string().min(1),
52043
- typeLabel: z59.string().min(1),
52044
- contentTypeKey: z59.string().nullable().optional(),
52045
- contentTypeName: z59.string().nullable().optional(),
52046
- updatedAt: z59.string().nullable().optional()
52298
+ var internalLinkPayloadSchema = z60.object({
52299
+ kind: z60.literal("internal"),
52300
+ routeId: z60.string().uuid(),
52301
+ entityId: z60.string().uuid(),
52302
+ entityType: z60.enum(["page", "content"]),
52303
+ href: z60.string().min(1),
52304
+ title: z60.string().min(1),
52305
+ typeLabel: z60.string().min(1),
52306
+ contentTypeKey: z60.string().nullable().optional(),
52307
+ contentTypeName: z60.string().nullable().optional(),
52308
+ updatedAt: z60.string().nullable().optional()
52047
52309
  }).passthrough();
52048
- var externalLinkSchema2 = z59.object({
52049
- kind: z59.literal("external"),
52310
+ var externalLinkSchema2 = z60.object({
52311
+ kind: z60.literal("external"),
52050
52312
  // Navigation external links are expected to be absolute URLs.
52051
- href: z59.string().url()
52313
+ href: z60.string().url()
52052
52314
  });
52053
- var customLinkSchema2 = z59.object({
52054
- kind: z59.literal("url"),
52055
- href: z59.string().min(1)
52315
+ var customLinkSchema2 = z60.object({
52316
+ kind: z60.literal("url"),
52317
+ href: z60.string().min(1)
52056
52318
  });
52057
- var pageLinkSchema2 = z59.object({
52058
- kind: z59.literal("page"),
52059
- identifier: z59.string().min(1)
52319
+ var pageLinkSchema2 = z60.object({
52320
+ kind: z60.literal("page"),
52321
+ identifier: z60.string().min(1)
52060
52322
  });
52061
- var entryLinkSchema2 = z59.object({
52062
- kind: z59.literal("entry"),
52063
- contentType: z59.string().min(1),
52064
- identifier: z59.string().min(1)
52323
+ var entryLinkSchema2 = z60.object({
52324
+ kind: z60.literal("entry"),
52325
+ contentType: z60.string().min(1),
52326
+ identifier: z60.string().min(1)
52065
52327
  });
52066
- var linkPayloadSchema = z59.discriminatedUnion("kind", [
52328
+ var linkPayloadSchema = z60.discriminatedUnion("kind", [
52067
52329
  internalLinkPayloadSchema,
52068
52330
  pageLinkSchema2,
52069
52331
  entryLinkSchema2,
@@ -52080,27 +52342,27 @@ var navigationLinkInputSchemaOptions = [
52080
52342
  portalLinkPayloadSchema,
52081
52343
  cartLinkPayloadSchema
52082
52344
  ];
52083
- var navigationLinkInputSchema = z59.discriminatedUnion(
52345
+ var navigationLinkInputSchema = z60.discriminatedUnion(
52084
52346
  "kind",
52085
52347
  navigationLinkInputSchemaOptions
52086
52348
  );
52087
52349
 
52088
52350
  // ../api/src/sdkConfig/contracts.ts
52089
- import { z as z60 } from "zod";
52351
+ import { z as z61 } from "zod";
52090
52352
  function unsafeRetypeZodSchema(schema) {
52091
52353
  return schema;
52092
52354
  }
52093
- var navIdListSchema = z60.preprocess((value) => {
52355
+ var navIdListSchema = z61.preprocess((value) => {
52094
52356
  if (!Array.isArray(value)) return void 0;
52095
52357
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
52096
52358
  return filtered.length > 0 ? filtered : void 0;
52097
- }, z60.array(z60.string()).max(200).optional());
52098
- var dashboardNavVisibilityBaseSchema = z60.object({
52099
- mode: z60.enum(["augment", "restrict"]).optional(),
52359
+ }, z61.array(z61.string()).max(200).optional());
52360
+ var dashboardNavVisibilityBaseSchema = z61.object({
52361
+ mode: z61.enum(["augment", "restrict"]).optional(),
52100
52362
  allowIds: navIdListSchema,
52101
52363
  denyIds: navIdListSchema
52102
52364
  }).strip();
52103
- var dashboardNavVisibilityRolesSchema = z60.object({
52365
+ var dashboardNavVisibilityRolesSchema = z61.object({
52104
52366
  administrator: dashboardNavVisibilityBaseSchema.optional(),
52105
52367
  editor: dashboardNavVisibilityBaseSchema.optional(),
52106
52368
  team_member: dashboardNavVisibilityBaseSchema.optional(),
@@ -52109,57 +52371,57 @@ var dashboardNavVisibilityRolesSchema = z60.object({
52109
52371
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
52110
52372
  roles: dashboardNavVisibilityRolesSchema
52111
52373
  }).strip();
52112
- var dashboardNavigationConfigSchema = z60.object({
52374
+ var dashboardNavigationConfigSchema = z61.object({
52113
52375
  siteNav: dashboardNavVisibilitySchema.optional(),
52114
52376
  settingsNav: dashboardNavVisibilitySchema.optional()
52115
52377
  }).strip();
52116
- var dashboardConfigSchema = z60.object({
52117
- previewEditingEnabled: z60.boolean().optional(),
52378
+ var dashboardConfigSchema = z61.object({
52379
+ previewEditingEnabled: z61.boolean().optional(),
52118
52380
  navigation: dashboardNavigationConfigSchema.optional()
52119
52381
  }).strip();
52120
52382
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
52121
52383
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
52122
- var sdkLoaderEndpointSchema = z60.enum(SUPPORTED_LOADER_ENDPOINTS);
52123
- var loaderParamBindingSchema = z60.object({
52124
- $bind: z60.object({
52125
- from: z60.string().min(1, "Binding path is required"),
52126
- fallback: z60.string().optional()
52384
+ var sdkLoaderEndpointSchema = z61.enum(SUPPORTED_LOADER_ENDPOINTS);
52385
+ var loaderParamBindingSchema = z61.object({
52386
+ $bind: z61.object({
52387
+ from: z61.string().min(1, "Binding path is required"),
52388
+ fallback: z61.string().optional()
52127
52389
  })
52128
52390
  });
52129
- var loaderParamValueSchema = z60.union([
52130
- z60.string(),
52131
- z60.number(),
52132
- z60.boolean(),
52391
+ var loaderParamValueSchema = z61.union([
52392
+ z61.string(),
52393
+ z61.number(),
52394
+ z61.boolean(),
52133
52395
  loaderParamBindingSchema
52134
52396
  ]);
52135
- var sdkConfigLoaderSchema = z60.object({
52397
+ var sdkConfigLoaderSchema = z61.object({
52136
52398
  endpoint: sdkLoaderEndpointSchema,
52137
- params: z60.record(z60.string(), loaderParamValueSchema),
52138
- mode: z60.enum(["server", "client"]).default("server")
52399
+ params: z61.record(z61.string(), loaderParamValueSchema),
52400
+ mode: z61.enum(["server", "client"]).default("server")
52139
52401
  });
52140
- var sdkDataLoadersSchema = z60.record(z60.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
52141
- var sdkCustomBlockIdSchema = z60.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
52402
+ var sdkDataLoadersSchema = z61.record(z61.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
52403
+ var sdkCustomBlockIdSchema = z61.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
52142
52404
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
52143
52405
  }).transform((value) => value);
52144
- var sdkCustomBlockInputSchema = z60.object({
52406
+ var sdkCustomBlockInputSchema = z61.object({
52145
52407
  id: sdkCustomBlockIdSchema,
52146
- title: z60.string().min(1),
52147
- titleSource: z60.union([z60.string().min(1), z60.array(z60.string().min(1)).min(1)]).optional(),
52148
- description: z60.string().optional(),
52408
+ title: z61.string().min(1),
52409
+ titleSource: z61.union([z61.string().min(1), z61.array(z61.string().min(1)).min(1)]).optional(),
52410
+ description: z61.string().optional(),
52149
52411
  category: blockCategoryEnum,
52150
- icon: z60.string().optional(),
52151
- tags: z60.array(z60.string()).optional(),
52412
+ icon: z61.string().optional(),
52413
+ tags: z61.array(z61.string()).optional(),
52152
52414
  fields: fieldDefinitionInputSchema.array().min(1),
52153
52415
  dataLoaders: sdkDataLoadersSchema,
52154
52416
  layout: NodeSchema.optional(),
52155
- variants: z60.record(z60.string().min(1), NodeSchema).optional(),
52156
- defaultVariant: z60.string().min(1).optional(),
52157
- variantOptions: z60.record(
52158
- z60.string().min(1),
52159
- z60.object({
52160
- label: z60.string().min(1).optional(),
52161
- description: z60.string().min(1).optional(),
52162
- icon: z60.string().min(1).optional()
52417
+ variants: z61.record(z61.string().min(1), NodeSchema).optional(),
52418
+ defaultVariant: z61.string().min(1).optional(),
52419
+ variantOptions: z61.record(
52420
+ z61.string().min(1),
52421
+ z61.object({
52422
+ label: z61.string().min(1).optional(),
52423
+ description: z61.string().min(1).optional(),
52424
+ icon: z61.string().min(1).optional()
52163
52425
  })
52164
52426
  ).optional()
52165
52427
  }).superRefine((data, ctx) => {
@@ -52169,7 +52431,7 @@ var sdkCustomBlockInputSchema = z60.object({
52169
52431
  const exists = data.fields.some((field) => field.id === source);
52170
52432
  if (!exists) {
52171
52433
  ctx.addIssue({
52172
- code: z60.ZodIssueCode.custom,
52434
+ code: z61.ZodIssueCode.custom,
52173
52435
  message: `titleSource must reference a valid field ID (got "${source}")`,
52174
52436
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
52175
52437
  });
@@ -52178,7 +52440,7 @@ var sdkCustomBlockInputSchema = z60.object({
52178
52440
  }
52179
52441
  if (data.layout && data.variants) {
52180
52442
  ctx.addIssue({
52181
- code: z60.ZodIssueCode.custom,
52443
+ code: z61.ZodIssueCode.custom,
52182
52444
  message: "Custom block must define either `layout` or `variants`, not both",
52183
52445
  path: ["variants"]
52184
52446
  });
@@ -52187,14 +52449,14 @@ var sdkCustomBlockInputSchema = z60.object({
52187
52449
  const keys = Object.keys(data.variants);
52188
52450
  if (keys.length === 0) {
52189
52451
  ctx.addIssue({
52190
- code: z60.ZodIssueCode.custom,
52452
+ code: z61.ZodIssueCode.custom,
52191
52453
  message: "`variants` must contain at least one variant key",
52192
52454
  path: ["variants"]
52193
52455
  });
52194
52456
  }
52195
52457
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
52196
52458
  ctx.addIssue({
52197
- code: z60.ZodIssueCode.custom,
52459
+ code: z61.ZodIssueCode.custom,
52198
52460
  message: "`defaultVariant` must be a key present in `variants`",
52199
52461
  path: ["defaultVariant"]
52200
52462
  });
@@ -52203,7 +52465,7 @@ var sdkCustomBlockInputSchema = z60.object({
52203
52465
  for (const key of Object.keys(data.variantOptions)) {
52204
52466
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
52205
52467
  ctx.addIssue({
52206
- code: z60.ZodIssueCode.custom,
52468
+ code: z61.ZodIssueCode.custom,
52207
52469
  message: "`variantOptions` key must exist in `variants`",
52208
52470
  path: ["variantOptions", key]
52209
52471
  });
@@ -52212,74 +52474,74 @@ var sdkCustomBlockInputSchema = z60.object({
52212
52474
  }
52213
52475
  }
52214
52476
  });
52215
- var sdkBlockFieldExtensionInputSchema = z60.object({
52477
+ var sdkBlockFieldExtensionInputSchema = z61.object({
52216
52478
  fields: fieldDefinitionInputSchema.array().min(1)
52217
52479
  });
52218
- var sdkBlockFieldExtensionsInputSchema = z60.record(
52219
- z60.string().min(1),
52480
+ var sdkBlockFieldExtensionsInputSchema = z61.record(
52481
+ z61.string().min(1),
52220
52482
  sdkBlockFieldExtensionInputSchema
52221
52483
  );
52222
- var sdkThemePaletteSchema = z60.record(z60.string(), z60.string());
52223
- var sdkThemeConfigSchema = z60.object({
52484
+ var sdkThemePaletteSchema = z61.record(z61.string(), z61.string());
52485
+ var sdkThemeConfigSchema = z61.object({
52224
52486
  palette: sdkThemePaletteSchema
52225
52487
  });
52226
- var sdkSectionBackgroundSchema = z60.object({
52227
- id: z60.string().min(1),
52228
- label: z60.string().min(1),
52229
- token: z60.string().min(1)
52488
+ var sdkSectionBackgroundSchema = z61.object({
52489
+ id: z61.string().min(1),
52490
+ label: z61.string().min(1),
52491
+ token: z61.string().min(1)
52230
52492
  });
52231
- var sdkSectionOptionsConfigSchema = z60.object({
52232
- backgroundColor: z60.boolean().optional(),
52233
- backgroundImage: z60.boolean().optional(),
52234
- backgroundGradient: z60.boolean().optional(),
52235
- spacing: z60.union([z60.array(z60.enum(["compact", "default", "spacious"])), z60.boolean()]).optional(),
52236
- textColor: z60.boolean().optional()
52493
+ var sdkSectionOptionsConfigSchema = z61.object({
52494
+ backgroundColor: z61.boolean().optional(),
52495
+ backgroundImage: z61.boolean().optional(),
52496
+ backgroundGradient: z61.boolean().optional(),
52497
+ spacing: z61.union([z61.array(z61.enum(["compact", "default", "spacious"])), z61.boolean()]).optional(),
52498
+ textColor: z61.boolean().optional()
52237
52499
  });
52238
- var sdkContainerOptionsConfigSchema = z60.object({
52239
- maxWidth: z60.union([z60.array(z60.enum(["narrow", "default", "wide", "full"])), z60.boolean()]).optional(),
52240
- alignment: z60.union([z60.array(z60.enum(["left", "center", "right"])), z60.boolean()]).optional()
52500
+ var sdkContainerOptionsConfigSchema = z61.object({
52501
+ maxWidth: z61.union([z61.array(z61.enum(["narrow", "default", "wide", "full"])), z61.boolean()]).optional(),
52502
+ alignment: z61.union([z61.array(z61.enum(["left", "center", "right"])), z61.boolean()]).optional()
52241
52503
  });
52242
- var sdkSiteStyleConfigSchema = z60.object({
52243
- sectionBackgrounds: z60.array(sdkSectionBackgroundSchema).optional(),
52504
+ var sdkSiteStyleConfigSchema = z61.object({
52505
+ sectionBackgrounds: z61.array(sdkSectionBackgroundSchema).optional(),
52244
52506
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
52245
52507
  containerOptions: sdkContainerOptionsConfigSchema.optional()
52246
52508
  });
52247
- var sdkSiteLayoutConfigSchema = z60.object({
52248
- footerBlocks: z60.array(
52249
- z60.object({
52250
- id: z60.string().min(1).optional(),
52251
- kind: z60.string().min(1),
52252
- content: z60.record(z60.string(), z60.unknown()).optional()
52509
+ var sdkSiteLayoutConfigSchema = z61.object({
52510
+ footerBlocks: z61.array(
52511
+ z61.object({
52512
+ id: z61.string().min(1).optional(),
52513
+ kind: z61.string().min(1),
52514
+ content: z61.record(z61.string(), z61.unknown()).optional()
52253
52515
  })
52254
52516
  ).optional()
52255
52517
  });
52256
- var sdkFieldSelectOptionSchema = z60.object({
52257
- value: z60.string(),
52258
- label: z60.string()
52518
+ var sdkFieldSelectOptionSchema = z61.object({
52519
+ value: z61.string(),
52520
+ label: z61.string()
52259
52521
  });
52260
- var sdkBlockFieldConfigSchema = z60.object({
52261
- options: z60.array(sdkFieldSelectOptionSchema).optional()
52522
+ var sdkBlockFieldConfigSchema = z61.object({
52523
+ options: z61.array(sdkFieldSelectOptionSchema).optional()
52262
52524
  });
52263
- var sdkBlockFieldOptionsMapSchema = z60.record(
52264
- z60.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
52525
+ var sdkBlockFieldOptionsMapSchema = z61.record(
52526
+ z61.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
52265
52527
  message: "Block ID must be 'block.*' or 'custom.*' format"
52266
52528
  }),
52267
- z60.record(z60.string().min(1), sdkBlockFieldConfigSchema)
52529
+ z61.record(z61.string().min(1), sdkBlockFieldConfigSchema)
52268
52530
  ).optional();
52269
- var sdkContentTypeTemplateConfigSchema = z60.object({
52270
- blocks: z60.array(z60.unknown())
52531
+ var sdkContentTypeTemplateConfigSchema = z61.object({
52532
+ blocks: z61.array(z61.unknown())
52271
52533
  }).passthrough();
52272
- var sdkContentTypeConfigSchema = z60.object({
52273
- key: z60.string().min(1),
52274
- fields: z60.array(z60.unknown()),
52534
+ var sdkContentTypeConfigSchema = z61.object({
52535
+ key: z61.string().min(1),
52536
+ fields: z61.array(z61.unknown()),
52275
52537
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
52276
52538
  }).passthrough();
52277
- var sdkContentConfigSchema = z60.object({
52278
- contentTypes: z60.array(sdkContentTypeConfigSchema).optional(),
52279
- pages: z60.array(z60.unknown()).optional(),
52280
- entries: z60.array(z60.unknown()).optional(),
52281
- navigationMenus: z60.array(z60.unknown()).optional(),
52282
- settings: z60.unknown().optional()
52539
+ var sdkContentConfigSchema = z61.object({
52540
+ contentTypes: z61.array(sdkContentTypeConfigSchema).optional(),
52541
+ pages: z61.array(z61.unknown()).optional(),
52542
+ entries: z61.array(z61.unknown()).optional(),
52543
+ navigationMenus: z61.array(z61.unknown()).optional(),
52544
+ settings: z61.unknown().optional()
52283
52545
  }).passthrough();
52284
52546
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
52285
52547
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -52292,41 +52554,41 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
52292
52554
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
52293
52555
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
52294
52556
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
52295
- var sdkWorkflowIdSchema = z60.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
52557
+ var sdkWorkflowIdSchema = z61.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
52296
52558
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
52297
52559
  });
52298
- var sdkWorkflowEndpointSchema = z60.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
52299
- var sdkWorkflowManualTriggerSchema = z60.object({
52300
- type: z60.literal("manual")
52560
+ var sdkWorkflowEndpointSchema = z61.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
52561
+ var sdkWorkflowManualTriggerSchema = z61.object({
52562
+ type: z61.literal("manual")
52301
52563
  }).strict();
52302
- var sdkWorkflowTriggerSchema = z60.discriminatedUnion("type", [
52564
+ var sdkWorkflowTriggerSchema = z61.discriminatedUnion("type", [
52303
52565
  sdkWorkflowManualTriggerSchema
52304
52566
  ]);
52305
- var sdkWorkflowConfirmationSchema = z60.object({
52306
- title: z60.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
52307
- body: z60.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
52567
+ var sdkWorkflowConfirmationSchema = z61.object({
52568
+ title: z61.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
52569
+ body: z61.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
52308
52570
  }).strict();
52309
- var sdkWorkflowConfigSchema = z60.object({
52571
+ var sdkWorkflowConfigSchema = z61.object({
52310
52572
  id: sdkWorkflowIdSchema,
52311
- title: z60.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
52312
- description: z60.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
52313
- contentType: z60.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
52573
+ title: z61.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
52574
+ description: z61.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
52575
+ contentType: z61.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
52314
52576
  endpoint: sdkWorkflowEndpointSchema,
52315
- triggers: z60.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
52577
+ triggers: z61.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
52316
52578
  confirmation: sdkWorkflowConfirmationSchema.optional()
52317
52579
  }).strict();
52318
- var sdkWorkflowsSchema = z60.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
52580
+ var sdkWorkflowsSchema = z61.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
52319
52581
  const ids = workflows.map((workflow) => workflow.id);
52320
52582
  return ids.length === new Set(ids).size;
52321
52583
  }, { message: "Workflow IDs must be unique" }).optional();
52322
- var riverbankSiteConfigInputSchema = z60.object({
52323
- siteId: z60.string().uuid(),
52324
- previewUrl: z60.string().url().optional(),
52325
- liveUrl: z60.string().url().optional(),
52584
+ var riverbankSiteConfigInputSchema = z61.object({
52585
+ siteId: z61.string().uuid(),
52586
+ previewUrl: z61.string().url().optional(),
52587
+ liveUrl: z61.string().url().optional(),
52326
52588
  theme: sdkThemeConfigSchema.optional(),
52327
52589
  styles: sdkSiteStyleConfigSchema.optional(),
52328
52590
  layout: sdkSiteLayoutConfigSchema.optional(),
52329
- customBlocks: z60.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
52591
+ customBlocks: z61.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
52330
52592
  const ids = blocks.map((b) => b.id);
52331
52593
  return ids.length === new Set(ids).size;
52332
52594
  }, { message: "Block IDs must be unique" }).optional(),
@@ -52334,43 +52596,43 @@ var riverbankSiteConfigInputSchema = z60.object({
52334
52596
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
52335
52597
  workflows: sdkWorkflowsSchema,
52336
52598
  content: sdkContentConfigSchema.optional(),
52337
- contentDir: z60.string().optional(),
52338
- sync: z60.object({
52339
- existingEntries: z60.enum(["skip", "update"]).optional()
52599
+ contentDir: z61.string().optional(),
52600
+ sync: z61.object({
52601
+ existingEntries: z61.enum(["skip", "update"]).optional()
52340
52602
  }).optional(),
52341
- deploy: z60.object({
52342
- verifyCommand: z60.string().optional(),
52343
- prebuildOutput: z60.string().optional()
52603
+ deploy: z61.object({
52604
+ verifyCommand: z61.string().optional(),
52605
+ prebuildOutput: z61.string().optional()
52344
52606
  }).optional(),
52345
- themeSource: z60.enum(["local", "cms"]).optional(),
52346
- activeTheme: z60.string().optional(),
52347
- enablePortal: z60.boolean().optional(),
52607
+ themeSource: z61.enum(["local", "cms"]).optional(),
52608
+ activeTheme: z61.string().optional(),
52609
+ enablePortal: z61.boolean().optional(),
52348
52610
  dashboard: dashboardConfigSchema.optional()
52349
52611
  }).strict();
52350
- var pushSdkConfigBodySchema = z60.object({
52612
+ var pushSdkConfigBodySchema = z61.object({
52351
52613
  config: riverbankSiteConfigInputSchema,
52352
- forceContentTypes: z60.boolean().optional()
52614
+ forceContentTypes: z61.boolean().optional()
52353
52615
  }).strict();
52354
52616
 
52355
52617
  // ../api/src/siteOnboarding.ts
52356
- import { z as z61 } from "zod";
52618
+ import { z as z62 } from "zod";
52357
52619
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
52358
52620
  configure_appointments: {
52359
52621
  requirementId: "configure_appointments",
52360
52622
  reason: "launch_anyway"
52361
52623
  }
52362
52624
  };
52363
- var acknowledgeLaunchRequirementRequestSchema = z61.discriminatedUnion(
52625
+ var acknowledgeLaunchRequirementRequestSchema = z62.discriminatedUnion(
52364
52626
  "requirementId",
52365
52627
  [
52366
- z61.object({
52367
- requirementId: z61.literal("review_generated_site")
52628
+ z62.object({
52629
+ requirementId: z62.literal("review_generated_site")
52368
52630
  }),
52369
- z61.object({
52370
- requirementId: z61.literal(
52631
+ z62.object({
52632
+ requirementId: z62.literal(
52371
52633
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
52372
52634
  ),
52373
- overrideReason: z61.literal(
52635
+ overrideReason: z62.literal(
52374
52636
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
52375
52637
  )
52376
52638
  })
@@ -52546,79 +52808,79 @@ function isRecord3(value) {
52546
52808
  }
52547
52809
 
52548
52810
  // ../api/src/appointmentSetup.ts
52549
- import { z as z62 } from "zod";
52550
- var appointmentSetupRefSchema = z62.discriminatedUnion("kind", [
52551
- z62.object({ kind: z62.literal("existing"), id: z62.string().min(1) }),
52552
- z62.object({ kind: z62.literal("new"), draftId: z62.string().min(1) })
52811
+ import { z as z63 } from "zod";
52812
+ var appointmentSetupRefSchema = z63.discriminatedUnion("kind", [
52813
+ z63.object({ kind: z63.literal("existing"), id: z63.string().min(1) }),
52814
+ z63.object({ kind: z63.literal("new"), draftId: z63.string().min(1) })
52553
52815
  ]);
52554
- var appointmentSetupVenueChoiceSchema = z62.discriminatedUnion("kind", [
52555
- z62.object({ kind: z62.literal("none") }),
52556
- z62.object({ kind: z62.literal("existing"), venueId: z62.string().min(1) }),
52557
- z62.object({
52558
- kind: z62.literal("create"),
52559
- draftId: z62.string().min(1),
52560
- title: z62.string().trim().min(1),
52561
- description: z62.string().nullable(),
52562
- timezone: z62.string().trim().min(1).nullable(),
52563
- addressJson: z62.record(z62.string(), z62.unknown()),
52564
- locationJson: z62.object({ lat: z62.number(), lng: z62.number() }).nullable()
52816
+ var appointmentSetupVenueChoiceSchema = z63.discriminatedUnion("kind", [
52817
+ z63.object({ kind: z63.literal("none") }),
52818
+ z63.object({ kind: z63.literal("existing"), venueId: z63.string().min(1) }),
52819
+ z63.object({
52820
+ kind: z63.literal("create"),
52821
+ draftId: z63.string().min(1),
52822
+ title: z63.string().trim().min(1),
52823
+ description: z63.string().nullable(),
52824
+ timezone: z63.string().trim().min(1).nullable(),
52825
+ addressJson: z63.record(z63.string(), z63.unknown()),
52826
+ locationJson: z63.object({ lat: z63.number(), lng: z63.number() }).nullable()
52565
52827
  })
52566
52828
  ]);
52567
- var appointmentSetupPaymentDraftSchema = z62.object({
52568
- priceType: z62.union([z62.literal("free"), z62.literal("paid")])
52569
- });
52570
- var appointmentSetupServiceAssignmentDraftSchema = z62.discriminatedUnion("kind", [
52571
- z62.object({ kind: z62.literal("all_practitioners") }),
52572
- z62.object({
52573
- kind: z62.literal("selected_practitioners"),
52574
- resourceRefs: z62.array(appointmentSetupRefSchema)
52829
+ var appointmentSetupPaymentDraftSchema = z63.object({
52830
+ priceType: z63.union([z63.literal("free"), z63.literal("paid")])
52831
+ });
52832
+ var appointmentSetupServiceAssignmentDraftSchema = z63.discriminatedUnion("kind", [
52833
+ z63.object({ kind: z63.literal("all_practitioners") }),
52834
+ z63.object({
52835
+ kind: z63.literal("selected_practitioners"),
52836
+ resourceRefs: z63.array(appointmentSetupRefSchema)
52575
52837
  })
52576
52838
  ]);
52577
- var appointmentSetupServiceDraftSchema = z62.object({
52839
+ var appointmentSetupServiceDraftSchema = z63.object({
52578
52840
  ref: appointmentSetupRefSchema,
52579
- title: z62.string().trim().min(1),
52580
- description: z62.string().nullable(),
52581
- durationMinutes: z62.number().int().positive(),
52582
- priceAmount: z62.number().int().nonnegative().nullable(),
52583
- isActive: z62.boolean(),
52584
- locationType: z62.union([
52585
- z62.literal("virtual"),
52586
- z62.literal("in_person"),
52587
- z62.literal("hybrid")
52841
+ title: z63.string().trim().min(1),
52842
+ description: z63.string().nullable(),
52843
+ durationMinutes: z63.number().int().positive(),
52844
+ priceAmount: z63.number().int().nonnegative().nullable(),
52845
+ isActive: z63.boolean(),
52846
+ locationType: z63.union([
52847
+ z63.literal("virtual"),
52848
+ z63.literal("in_person"),
52849
+ z63.literal("hybrid")
52588
52850
  ]),
52589
52851
  venue: appointmentSetupVenueChoiceSchema,
52590
- timezone: z62.string().trim().min(1).nullable(),
52852
+ timezone: z63.string().trim().min(1).nullable(),
52591
52853
  payment: appointmentSetupPaymentDraftSchema,
52592
52854
  assignment: appointmentSetupServiceAssignmentDraftSchema
52593
52855
  });
52594
- var appointmentSetupPractitionerDraftSchema = z62.object({
52856
+ var appointmentSetupPractitionerDraftSchema = z63.object({
52595
52857
  ref: appointmentSetupRefSchema,
52596
- displayName: z62.string().trim().min(1),
52597
- bio: z62.string().nullable(),
52598
- timezone: z62.string().trim().min(1),
52599
- colorHex: z62.string().nullable()
52600
- });
52601
- var appointmentSetupWeeklyWindowDraftSchema = z62.object({
52602
- weekday: z62.number().int().min(0).max(6),
52603
- startTime: z62.string(),
52604
- endTime: z62.string()
52605
- });
52606
- var appointmentSetupAvailabilityDraftSchema = z62.object({
52607
- kind: z62.literal("weekly_windows"),
52858
+ displayName: z63.string().trim().min(1),
52859
+ bio: z63.string().nullable(),
52860
+ timezone: z63.string().trim().min(1),
52861
+ colorHex: z63.string().nullable()
52862
+ });
52863
+ var appointmentSetupWeeklyWindowDraftSchema = z63.object({
52864
+ weekday: z63.number().int().min(0).max(6),
52865
+ startTime: z63.string(),
52866
+ endTime: z63.string()
52867
+ });
52868
+ var appointmentSetupAvailabilityDraftSchema = z63.object({
52869
+ kind: z63.literal("weekly_windows"),
52608
52870
  resourceRef: appointmentSetupRefSchema,
52609
52871
  serviceRef: appointmentSetupRefSchema.nullable(),
52610
- windows: z62.array(appointmentSetupWeeklyWindowDraftSchema)
52872
+ windows: z63.array(appointmentSetupWeeklyWindowDraftSchema)
52611
52873
  });
52612
52874
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
52613
52875
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
52614
- var appointmentSetupBookingNoticeSchema = z62.object({
52615
- minLeadMinutes: z62.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
52616
- maxBookingNoticeMinutes: z62.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
52617
- });
52618
- var applyAppointmentSetupRequestSchema = z62.object({
52619
- services: z62.array(appointmentSetupServiceDraftSchema),
52620
- practitioners: z62.array(appointmentSetupPractitionerDraftSchema),
52621
- availability: z62.array(appointmentSetupAvailabilityDraftSchema),
52876
+ var appointmentSetupBookingNoticeSchema = z63.object({
52877
+ minLeadMinutes: z63.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
52878
+ maxBookingNoticeMinutes: z63.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
52879
+ });
52880
+ var applyAppointmentSetupRequestSchema = z63.object({
52881
+ services: z63.array(appointmentSetupServiceDraftSchema),
52882
+ practitioners: z63.array(appointmentSetupPractitionerDraftSchema),
52883
+ availability: z63.array(appointmentSetupAvailabilityDraftSchema),
52622
52884
  bookingNotice: appointmentSetupBookingNoticeSchema
52623
52885
  });
52624
52886
 
@@ -52637,24 +52899,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
52637
52899
  ];
52638
52900
 
52639
52901
  // ../api/src/siteBanner.ts
52640
- import { z as z63 } from "zod";
52902
+ import { z as z64 } from "zod";
52641
52903
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
52642
52904
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
52643
52905
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
52644
52906
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
52645
- var siteBannerScopeSchema = z63.enum(SITE_BANNER_SCOPE_VALUES);
52646
- var siteBannerToneSchema = z63.enum(SITE_BANNER_TONE_VALUES);
52647
- var siteBannerBodySchema = z63.unknown().transform(unwrapRichTextValue);
52648
- var siteBannerCtaSchema = z63.object({
52649
- label: z63.string().trim().min(1),
52907
+ var siteBannerScopeSchema = z64.enum(SITE_BANNER_SCOPE_VALUES);
52908
+ var siteBannerToneSchema = z64.enum(SITE_BANNER_TONE_VALUES);
52909
+ var siteBannerBodySchema = z64.unknown().transform(unwrapRichTextValue);
52910
+ var siteBannerCtaSchema = z64.object({
52911
+ label: z64.string().trim().min(1),
52650
52912
  link: linkPayloadSchema
52651
52913
  });
52652
- var siteBannerSettingsSchema = z63.discriminatedUnion("enabled", [
52653
- z63.object({
52654
- enabled: z63.literal(false)
52914
+ var siteBannerSettingsSchema = z64.discriminatedUnion("enabled", [
52915
+ z64.object({
52916
+ enabled: z64.literal(false)
52655
52917
  }),
52656
- z63.object({
52657
- enabled: z63.literal(true),
52918
+ z64.object({
52919
+ enabled: z64.literal(true),
52658
52920
  scope: siteBannerScopeSchema,
52659
52921
  tone: siteBannerToneSchema,
52660
52922
  body: siteBannerBodySchema,
@@ -52668,7 +52930,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
52668
52930
  const analysis = analyzeSiteBannerBody(value.body);
52669
52931
  for (const issue of analysis.issues) {
52670
52932
  ctx.addIssue({
52671
- code: z63.ZodIssueCode.custom,
52933
+ code: z64.ZodIssueCode.custom,
52672
52934
  path: ["body"],
52673
52935
  message: siteBannerBodyIssueMessage(issue)
52674
52936
  });
@@ -52892,71 +53154,71 @@ function parsePublicProductCategorySelector(value) {
52892
53154
  }
52893
53155
 
52894
53156
  // ../api/src/aiPlayground.ts
52895
- import { z as z64 } from "zod";
52896
- var Rfc6902PatchOp = z64.discriminatedUnion("op", [
53157
+ import { z as z65 } from "zod";
53158
+ var Rfc6902PatchOp = z65.discriminatedUnion("op", [
52897
53159
  // Standard RFC-6902 operations
52898
- z64.object({
52899
- op: z64.literal("add"),
52900
- path: z64.string(),
52901
- value: z64.unknown()
53160
+ z65.object({
53161
+ op: z65.literal("add"),
53162
+ path: z65.string(),
53163
+ value: z65.unknown()
52902
53164
  }),
52903
- z64.object({
52904
- op: z64.literal("remove"),
52905
- path: z64.string()
53165
+ z65.object({
53166
+ op: z65.literal("remove"),
53167
+ path: z65.string()
52906
53168
  }),
52907
- z64.object({
52908
- op: z64.literal("replace"),
52909
- path: z64.string(),
52910
- value: z64.unknown()
53169
+ z65.object({
53170
+ op: z65.literal("replace"),
53171
+ path: z65.string(),
53172
+ value: z65.unknown()
52911
53173
  }),
52912
- z64.object({
52913
- op: z64.literal("move"),
52914
- from: z64.string(),
52915
- path: z64.string()
53174
+ z65.object({
53175
+ op: z65.literal("move"),
53176
+ from: z65.string(),
53177
+ path: z65.string()
52916
53178
  }),
52917
- z64.object({
52918
- op: z64.literal("copy"),
52919
- from: z64.string(),
52920
- path: z64.string()
53179
+ z65.object({
53180
+ op: z65.literal("copy"),
53181
+ from: z65.string(),
53182
+ path: z65.string()
52921
53183
  }),
52922
53184
  // Block-level operations (Phase 2)
52923
- z64.object({
52924
- op: z64.literal("add_block"),
52925
- blockKind: z64.string(),
52926
- afterBlockId: z64.string().nullable(),
52927
- content: z64.record(z64.string(), z64.unknown()),
52928
- rationale: z64.string()
53185
+ z65.object({
53186
+ op: z65.literal("add_block"),
53187
+ blockKind: z65.string(),
53188
+ afterBlockId: z65.string().nullable(),
53189
+ content: z65.record(z65.string(), z65.unknown()),
53190
+ rationale: z65.string()
52929
53191
  }),
52930
- z64.object({
52931
- op: z64.literal("delete_block"),
52932
- blockId: z64.string(),
52933
- rationale: z64.string()
53192
+ z65.object({
53193
+ op: z65.literal("delete_block"),
53194
+ blockId: z65.string(),
53195
+ rationale: z65.string()
52934
53196
  }),
52935
- z64.object({
52936
- op: z64.literal("reorder_block"),
52937
- blockId: z64.string(),
52938
- afterBlockId: z64.string().nullable(),
52939
- rationale: z64.string()
53197
+ z65.object({
53198
+ op: z65.literal("reorder_block"),
53199
+ blockId: z65.string(),
53200
+ afterBlockId: z65.string().nullable(),
53201
+ rationale: z65.string()
52940
53202
  })
52941
53203
  ]);
52942
- var PlaygroundProposeRequest = z64.object({
52943
- request: z64.string().min(1).max(2e3)
53204
+ var PlaygroundProposeRequest = z65.object({
53205
+ request: z65.string().min(1).max(2e3)
52944
53206
  });
52945
- var MultiPagePatchEnvelope = z64.object({
52946
- pageId: z64.string(),
52947
- blockId: z64.string().optional(),
53207
+ var MultiPagePatchEnvelope = z65.object({
53208
+ pageId: z65.string(),
53209
+ blockId: z65.string().optional(),
52948
53210
  // Not present for page-level ops
52949
- blockKind: z64.string().optional(),
52950
- blockPurpose: z64.string().optional().nullable(),
52951
- ops: z64.array(Rfc6902PatchOp),
52952
- rationale: z64.string(),
52953
- currentContent: z64.record(z64.string(), z64.unknown()).optional()
53211
+ blockKind: z65.string().optional(),
53212
+ blockPurpose: z65.string().optional().nullable(),
53213
+ ops: z65.array(Rfc6902PatchOp),
53214
+ rationale: z65.string(),
53215
+ currentContent: z65.record(z65.string(), z65.unknown()).optional()
52954
53216
  });
52955
- var MultiPageUpdateResponse = z64.object({
52956
- patches: z64.array(MultiPagePatchEnvelope),
52957
- assistantMessage: z64.string(),
52958
- pagesModified: z64.number(),
52959
- toolCallsUsed: z64.number()
53217
+ var MultiPageUpdateResponse = z65.object({
53218
+ patches: z65.array(MultiPagePatchEnvelope),
53219
+ assistantMessage: z65.string(),
53220
+ pagesModified: z65.number(),
53221
+ toolCallsUsed: z65.number()
52960
53222
  });
52961
53223
 
52962
53224
  // src/data/prefetchBlockData.ts
@@ -52965,6 +53227,7 @@ var SUPPORTED_LOADER_ENDPOINTS2 = [
52965
53227
  "getPublishedEntryPreview",
52966
53228
  "listPublicEvents",
52967
53229
  "listPublicCourses",
53230
+ "listPublicTeamMembers",
52968
53231
  "listPublicProducts",
52969
53232
  "listPublicPasses",
52970
53233
  "listPublicMemberships",
@@ -53129,6 +53392,16 @@ async function prefetchBlockData2(page, context, client, options) {
53129
53392
  const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
53130
53393
  return await client.listPublicCourses({ siteId, limit: parsedLimit, stage });
53131
53394
  }
53395
+ case "listPublicTeamMembers": {
53396
+ const { siteId, stage } = resolvedParams ?? {};
53397
+ if (!siteId) {
53398
+ throw new Error("listPublicTeamMembers requires siteId param");
53399
+ }
53400
+ return await client.listPublicTeamMembers({
53401
+ siteId,
53402
+ stage: typeof stage === "string" ? stage : void 0
53403
+ });
53404
+ }
53132
53405
  case "listPublicProducts": {
53133
53406
  const { siteId, stage, categorySelector } = resolvedParams ?? {};
53134
53407
  if (!siteId) {