@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
@@ -11810,7 +11810,19 @@ var teamMemberFragment = defineFragment({
11810
11810
  bind("photo")
11811
11811
  )
11812
11812
  ]),
11813
- text({ as: "h3" }, bind("name")),
11813
+ link(
11814
+ {
11815
+ href: { $bind: { from: "profilePath" } },
11816
+ className: "rb-team-member-name-link"
11817
+ },
11818
+ [text({ as: "h3" }, bind("name"))],
11819
+ when("profilePath")
11820
+ ),
11821
+ text(
11822
+ { as: "h3" },
11823
+ when("profilePath", { not: true }),
11824
+ bind("name")
11825
+ ),
11814
11826
  text({ as: "p", className: "rb-team-member-role" }, when("role"), bind("role")),
11815
11827
  richText(
11816
11828
  { className: "rb-prose rb-max-w-none" },
@@ -16201,7 +16213,9 @@ var courseSessionSchema = z38.object({
16201
16213
  var courseTeamMemberSummarySchema = z38.object({
16202
16214
  id: z38.string(),
16203
16215
  name: z38.string(),
16204
- summary: z38.string().nullable()
16216
+ roleLabel: z38.string().nullable(),
16217
+ summary: z38.string().nullable(),
16218
+ profilePath: z38.string().nullable()
16205
16219
  });
16206
16220
  var coursePricingOptionSchema = z38.object({
16207
16221
  id: z38.string(),
@@ -16306,7 +16320,9 @@ var publicEventTicketTypeSchema = z39.object({
16306
16320
  var publicTeamMemberSummarySchema = z39.object({
16307
16321
  id: z39.string(),
16308
16322
  name: z39.string(),
16309
- summary: z39.string().nullable()
16323
+ roleLabel: z39.string().nullable(),
16324
+ summary: z39.string().nullable(),
16325
+ profilePath: z39.string().nullable()
16310
16326
  });
16311
16327
  var publicEventSchema = z39.object({
16312
16328
  kind: z39.enum(["event", "course_session"]).optional(),
@@ -24154,7 +24170,25 @@ var newsletterSignupBlockDefinition = {
24154
24170
  };
24155
24171
 
24156
24172
  // ../blocks/src/system/blocks/team-members.ts
24173
+ import { z as z57 } from "zod";
24157
24174
  var ITEM_NAME2 = "member";
24175
+ var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
24176
+ message: "Team member photos must be image media"
24177
+ }).nullable();
24178
+ var teamMemberDataSchema = z57.object({
24179
+ _type: z57.literal("teamMember"),
24180
+ id: z57.string(),
24181
+ name: z57.string(),
24182
+ role: z57.string().nullable(),
24183
+ roleLabel: z57.string().nullable(),
24184
+ bio: z57.string().nullable(),
24185
+ summary: z57.string().nullable(),
24186
+ photo: teamMemberPhotoSchema,
24187
+ profilePath: z57.string().nullable()
24188
+ });
24189
+ var teamMembersDataSchema = z57.array(teamMemberDataSchema);
24190
+ var dynamicSourceWhen = { equals: "site_staff" };
24191
+ var manualSourceWhen = { equals: "site_staff", not: true };
24158
24192
  var headingNode = text(
24159
24193
  { as: "h2" },
24160
24194
  bind("content.heading"),
@@ -24244,7 +24278,15 @@ var teamMemberStackLayout = el(
24244
24278
  ]
24245
24279
  ),
24246
24280
  stack({ gap: "sm", className: "rb-team-member-body rb-flex-1 rb-min-w-0" }, [
24247
- text({ as: "h3" }, bind("name")),
24281
+ link(
24282
+ {
24283
+ href: { $bind: { from: "profilePath" } },
24284
+ className: "rb-team-member-name-link"
24285
+ },
24286
+ [text({ as: "h3" }, bind("name"))],
24287
+ when("profilePath")
24288
+ ),
24289
+ text({ as: "h3" }, when("profilePath", { not: true }), bind("name")),
24248
24290
  text(
24249
24291
  { as: "p", className: "rb-team-member-role" },
24250
24292
  when("role"),
@@ -24258,12 +24300,18 @@ var teamMemberStackLayout = el(
24258
24300
  ])
24259
24301
  ]
24260
24302
  );
24261
- var gridMembersNode = repeaterFragmentLayout({
24303
+ var manualGridMembersNode = when("content.source", manualSourceWhen)(repeaterFragmentLayout({
24262
24304
  collectionPath: "content.members",
24263
24305
  itemName: ITEM_NAME2,
24264
24306
  fragments: { teamMember: teamMemberFragment },
24265
24307
  itemGap: "sm"
24266
- });
24308
+ }));
24309
+ var dynamicGridMembersNode = when("content.source", dynamicSourceWhen)(repeaterFragmentLayout({
24310
+ collectionPath: "data.members",
24311
+ itemName: ITEM_NAME2,
24312
+ fragments: { teamMember: teamMemberFragment },
24313
+ itemGap: "sm"
24314
+ }));
24267
24315
  var gridVariant = wrapVariant3(
24268
24316
  el(
24269
24317
  "grid",
@@ -24277,22 +24325,29 @@ var gridVariant = wrapVariant3(
24277
24325
  },
24278
24326
  gap: { $bind: { from: "content.gap", fallback: "medium" } }
24279
24327
  },
24280
- [gridMembersNode]
24328
+ [manualGridMembersNode, dynamicGridMembersNode]
24281
24329
  )
24282
24330
  );
24283
- var stackMembersNode = repeaterFragmentLayout({
24331
+ var manualStackMembersNode = when("content.source", manualSourceWhen)(repeaterFragmentLayout({
24284
24332
  collectionPath: "content.members",
24285
24333
  itemName: ITEM_NAME2,
24286
24334
  fragments: { teamMember: teamMemberFragment },
24287
24335
  layoutOverrides: { teamMember: teamMemberStackLayout },
24288
24336
  itemGap: "sm"
24289
- });
24337
+ }));
24338
+ var dynamicStackMembersNode = when("content.source", dynamicSourceWhen)(repeaterFragmentLayout({
24339
+ collectionPath: "data.members",
24340
+ itemName: ITEM_NAME2,
24341
+ fragments: { teamMember: teamMemberFragment },
24342
+ layoutOverrides: { teamMember: teamMemberStackLayout },
24343
+ itemGap: "sm"
24344
+ }));
24290
24345
  var stackVariant = wrapVariant3({
24291
24346
  type: "stack",
24292
24347
  props: {
24293
24348
  gap: { $bind: { from: "content.gap", fallback: "medium" } }
24294
24349
  },
24295
- children: [stackMembersNode]
24350
+ children: [manualStackMembersNode, dynamicStackMembersNode]
24296
24351
  });
24297
24352
  var teamMembersManifest = createBlockManifest({
24298
24353
  id: "block.team-members",
@@ -24307,6 +24362,18 @@ var teamMembersManifest = createBlockManifest({
24307
24362
  required: false,
24308
24363
  maxLength: 120
24309
24364
  }),
24365
+ parseFieldDefinition({
24366
+ id: "source",
24367
+ type: "select",
24368
+ label: "Team members",
24369
+ description: "Choose whether to use the site-wide team or a hand-picked list.",
24370
+ defaultValue: "manual",
24371
+ options: [
24372
+ { value: "manual", label: "Choose manually" },
24373
+ { value: "site_staff", label: "Use all site team members" }
24374
+ ],
24375
+ ui: { intent: "behavior" }
24376
+ }),
24310
24377
  parseFieldDefinition({
24311
24378
  id: "layoutAlign",
24312
24379
  type: "select",
@@ -24409,18 +24476,24 @@ var teamMembersManifest = createBlockManifest({
24409
24476
  ],
24410
24477
  ui: { intent: "display" }
24411
24478
  }),
24412
- fragmentsToRepeaterField(
24413
- "members",
24414
- "Team members",
24415
- { teamMember: teamMemberFragment },
24416
- {
24417
- minItems: 0,
24418
- maxItems: 50,
24419
- itemLabel: "Team member",
24420
- itemLabelSource: "name",
24421
- description: "Add people to this section."
24479
+ {
24480
+ ...fragmentsToRepeaterField(
24481
+ "members",
24482
+ "Team members",
24483
+ { teamMember: teamMemberFragment },
24484
+ {
24485
+ minItems: 0,
24486
+ maxItems: 50,
24487
+ itemLabel: "Team member",
24488
+ itemLabelSource: "name",
24489
+ description: "Add people to this section."
24490
+ }
24491
+ ),
24492
+ ui: {
24493
+ intent: "content",
24494
+ visibleWhen: { field: "source", equals: "manual" }
24422
24495
  }
24423
- )
24496
+ }
24424
24497
  ],
24425
24498
  layout: gridVariant,
24426
24499
  variants: {
@@ -24446,7 +24519,20 @@ var teamMembersManifest = createBlockManifest({
24446
24519
  styleTokens: { spacing: "lg" }
24447
24520
  });
24448
24521
  var teamMembersBlockDefinition = {
24449
- manifest: teamMembersManifest
24522
+ manifest: teamMembersManifest,
24523
+ dataSchemas: {
24524
+ members: teamMembersDataSchema
24525
+ },
24526
+ dataLoaders: {
24527
+ members: {
24528
+ endpoint: "listPublicTeamMembers",
24529
+ params: {
24530
+ siteId: { $bind: { from: "$root.siteId" } },
24531
+ stage: { $bind: { from: "$root.previewStage", fallback: "published" } }
24532
+ },
24533
+ mode: "server"
24534
+ }
24535
+ }
24450
24536
  };
24451
24537
 
24452
24538
  // ../blocks/src/system/runtime/nodes/location-map.shared.ts
@@ -27407,7 +27493,7 @@ function SpinnerNode({
27407
27493
  }
27408
27494
 
27409
27495
  // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
27410
- import { z as z57 } from "zod";
27496
+ import { z as z58 } from "zod";
27411
27497
 
27412
27498
  // ../blocks/src/system/runtime/nodes/booking-form.state.ts
27413
27499
  function toTrimmedString(value) {
@@ -27449,14 +27535,14 @@ function normalizeBookingServices(services) {
27449
27535
  }
27450
27536
 
27451
27537
  // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
27452
- var bookingFieldOptionSchema = z57.object({
27453
- value: z57.string(),
27454
- label: z57.string()
27455
- });
27456
- var bookingFieldSchema = z57.object({
27457
- id: z57.string(),
27458
- label: z57.string(),
27459
- type: z57.enum([
27538
+ var bookingFieldOptionSchema = z58.object({
27539
+ value: z58.string(),
27540
+ label: z58.string()
27541
+ });
27542
+ var bookingFieldSchema = z58.object({
27543
+ id: z58.string(),
27544
+ label: z58.string(),
27545
+ type: z58.enum([
27460
27546
  "text",
27461
27547
  "email",
27462
27548
  "textarea",
@@ -27470,132 +27556,132 @@ var bookingFieldSchema = z57.object({
27470
27556
  "date",
27471
27557
  "time"
27472
27558
  ]),
27473
- required: z57.boolean().optional(),
27474
- placeholder: z57.string().optional(),
27475
- helpText: z57.string().optional(),
27476
- options: z57.array(bookingFieldOptionSchema).optional(),
27477
- multiple: z57.boolean().optional(),
27478
- minLength: z57.number().optional(),
27479
- maxLength: z57.number().optional(),
27480
- pattern: z57.string().optional(),
27481
- min: z57.number().optional(),
27482
- max: z57.number().optional()
27483
- });
27484
- var bookingSettingsSchema = z57.object({
27485
- type: z57.literal("booking"),
27486
- serviceId: z57.string().optional(),
27487
- serviceIds: z57.array(z57.string()).optional(),
27488
- resourceId: z57.string().optional(),
27489
- requiresApproval: z57.boolean().optional(),
27490
- successMessage: z57.string().optional()
27491
- });
27492
- var bookingSourceFormSchema = z57.object({
27493
- id: z57.string(),
27494
- siteId: z57.string(),
27495
- userId: z57.string(),
27496
- name: z57.string(),
27497
- schemaJson: z57.object({
27498
- version: z57.string().optional(),
27499
- fields: z57.array(bookingFieldSchema).optional()
27559
+ required: z58.boolean().optional(),
27560
+ placeholder: z58.string().optional(),
27561
+ helpText: z58.string().optional(),
27562
+ options: z58.array(bookingFieldOptionSchema).optional(),
27563
+ multiple: z58.boolean().optional(),
27564
+ minLength: z58.number().optional(),
27565
+ maxLength: z58.number().optional(),
27566
+ pattern: z58.string().optional(),
27567
+ min: z58.number().optional(),
27568
+ max: z58.number().optional()
27569
+ });
27570
+ var bookingSettingsSchema = z58.object({
27571
+ type: z58.literal("booking"),
27572
+ serviceId: z58.string().optional(),
27573
+ serviceIds: z58.array(z58.string()).optional(),
27574
+ resourceId: z58.string().optional(),
27575
+ requiresApproval: z58.boolean().optional(),
27576
+ successMessage: z58.string().optional()
27577
+ });
27578
+ var bookingSourceFormSchema = z58.object({
27579
+ id: z58.string(),
27580
+ siteId: z58.string(),
27581
+ userId: z58.string(),
27582
+ name: z58.string(),
27583
+ schemaJson: z58.object({
27584
+ version: z58.string().optional(),
27585
+ fields: z58.array(bookingFieldSchema).optional()
27500
27586
  }).optional(),
27501
27587
  settingsJson: bookingSettingsSchema.optional(),
27502
- createdAt: z57.string(),
27503
- updatedAt: z57.string()
27588
+ createdAt: z58.string(),
27589
+ updatedAt: z58.string()
27504
27590
  });
27505
- var blockBookingPaymentTermsAvailabilitySchema = z57.union([
27506
- z57.object({
27507
- kind: z57.literal("available"),
27591
+ var blockBookingPaymentTermsAvailabilitySchema = z58.union([
27592
+ z58.object({
27593
+ kind: z58.literal("available"),
27508
27594
  paymentTerms: blockBookingPaymentTermsSchema
27509
27595
  }),
27510
- z57.object({
27511
- kind: z57.literal("pending_stripe_setup"),
27596
+ z58.object({
27597
+ kind: z58.literal("pending_stripe_setup"),
27512
27598
  paymentTerms: blockBookingPaymentTermsSchema,
27513
- reason: z57.literal("online_payment_configured_before_launch")
27599
+ reason: z58.literal("online_payment_configured_before_launch")
27514
27600
  })
27515
27601
  ]);
27516
- var bookingServiceSchema = z57.object({
27517
- id: z57.string(),
27518
- siteId: z57.string(),
27519
- title: z57.string(),
27520
- description: z57.string().nullable().optional().transform((value) => value ?? void 0),
27521
- durationMinutes: z57.number().optional(),
27522
- priceAmount: z57.number().nullable().optional(),
27523
- priceCurrency: z57.string().nullable().optional(),
27602
+ var bookingServiceSchema = z58.object({
27603
+ id: z58.string(),
27604
+ siteId: z58.string(),
27605
+ title: z58.string(),
27606
+ description: z58.string().nullable().optional().transform((value) => value ?? void 0),
27607
+ durationMinutes: z58.number().optional(),
27608
+ priceAmount: z58.number().nullable().optional(),
27609
+ priceCurrency: z58.string().nullable().optional(),
27524
27610
  paymentTerms: blockBookingPaymentTermsSchema.optional(),
27525
27611
  paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional()
27526
27612
  });
27527
- var bookingServicesSourceSchema = z57.union([
27528
- z57.array(bookingServiceSchema),
27529
- z57.object({
27530
- services: z57.array(bookingServiceSchema).optional()
27613
+ var bookingServicesSourceSchema = z58.union([
27614
+ z58.array(bookingServiceSchema),
27615
+ z58.object({
27616
+ services: z58.array(bookingServiceSchema).optional()
27531
27617
  }),
27532
- z57.record(z57.string(), bookingServiceSchema)
27618
+ z58.record(z58.string(), bookingServiceSchema)
27533
27619
  ]);
27534
- var bookingConfigSchema = z57.object({
27535
- id: z57.string(),
27536
- name: z57.string(),
27537
- slug: z57.string(),
27620
+ var bookingConfigSchema = z58.object({
27621
+ id: z58.string(),
27622
+ name: z58.string(),
27623
+ slug: z58.string(),
27538
27624
  settings: bookingSettingsSchema.optional(),
27539
- schema: z57.object({
27540
- version: z57.string().optional(),
27541
- fields: z57.array(bookingFieldSchema)
27625
+ schema: z58.object({
27626
+ version: z58.string().optional(),
27627
+ fields: z58.array(bookingFieldSchema)
27542
27628
  }).optional()
27543
27629
  });
27544
- var bookingSourceSchema = z57.object({
27545
- siteId: z57.string().optional(),
27546
- apiBaseUrl: z57.string().optional(),
27547
- portalToken: z57.string().nullable().optional(),
27548
- formId: z57.string().optional(),
27549
- serviceId: z57.string().nullable().optional(),
27550
- resourceId: z57.string().nullable().optional(),
27551
- initialData: z57.record(z57.string(), z57.unknown()).nullable().optional(),
27552
- noticeMessage: z57.string().nullable().optional(),
27553
- requiresServiceSelection: z57.boolean().optional(),
27554
- requiresResourceSelection: z57.boolean().optional(),
27555
- shouldAutoSelectSingleResource: z57.boolean().optional(),
27556
- rebookContext: z57.object({
27557
- kind: z57.literal("portal_rebook")
27630
+ var bookingSourceSchema = z58.object({
27631
+ siteId: z58.string().optional(),
27632
+ apiBaseUrl: z58.string().optional(),
27633
+ portalToken: z58.string().nullable().optional(),
27634
+ formId: z58.string().optional(),
27635
+ serviceId: z58.string().nullable().optional(),
27636
+ resourceId: z58.string().nullable().optional(),
27637
+ initialData: z58.record(z58.string(), z58.unknown()).nullable().optional(),
27638
+ noticeMessage: z58.string().nullable().optional(),
27639
+ requiresServiceSelection: z58.boolean().optional(),
27640
+ requiresResourceSelection: z58.boolean().optional(),
27641
+ shouldAutoSelectSingleResource: z58.boolean().optional(),
27642
+ rebookContext: z58.object({
27643
+ kind: z58.literal("portal_rebook")
27558
27644
  }).nullable().optional(),
27559
- submitLabel: z57.string().nullable().optional(),
27560
- successMessage: z57.string().nullable().optional(),
27645
+ submitLabel: z58.string().nullable().optional(),
27646
+ successMessage: z58.string().nullable().optional(),
27561
27647
  form: bookingSourceFormSchema.nullable().optional(),
27562
27648
  services: bookingServicesSourceSchema.nullable().optional(),
27563
- spamProtectionEnabled: z57.boolean().optional(),
27564
- className: z57.string().nullable().optional()
27565
- });
27566
- var bookingDisplaySchema = z57.object({
27567
- kind: z57.literal("booking-form"),
27568
- state: z57.enum(["missing", "ready"]),
27569
- className: z57.string().nullable(),
27570
- submitLabel: z57.string(),
27571
- successMessage: z57.string().nullable(),
27572
- message: z57.string().nullable()
27573
- });
27574
- var bookingHydrationSchema = z57.object({
27575
- formId: z57.string().nullable(),
27576
- serviceId: z57.string().nullable(),
27577
- resourceId: z57.string().nullable(),
27578
- initialData: z57.record(z57.string(), z57.unknown()).nullable().optional(),
27579
- noticeMessage: z57.string().nullable().optional(),
27580
- requiresServiceSelection: z57.boolean().optional(),
27581
- requiresResourceSelection: z57.boolean().optional(),
27582
- shouldAutoSelectSingleResource: z57.boolean().optional(),
27583
- rebookContext: z57.object({
27584
- kind: z57.literal("portal_rebook")
27649
+ spamProtectionEnabled: z58.boolean().optional(),
27650
+ className: z58.string().nullable().optional()
27651
+ });
27652
+ var bookingDisplaySchema = z58.object({
27653
+ kind: z58.literal("booking-form"),
27654
+ state: z58.enum(["missing", "ready"]),
27655
+ className: z58.string().nullable(),
27656
+ submitLabel: z58.string(),
27657
+ successMessage: z58.string().nullable(),
27658
+ message: z58.string().nullable()
27659
+ });
27660
+ var bookingHydrationSchema = z58.object({
27661
+ formId: z58.string().nullable(),
27662
+ serviceId: z58.string().nullable(),
27663
+ resourceId: z58.string().nullable(),
27664
+ initialData: z58.record(z58.string(), z58.unknown()).nullable().optional(),
27665
+ noticeMessage: z58.string().nullable().optional(),
27666
+ requiresServiceSelection: z58.boolean().optional(),
27667
+ requiresResourceSelection: z58.boolean().optional(),
27668
+ shouldAutoSelectSingleResource: z58.boolean().optional(),
27669
+ rebookContext: z58.object({
27670
+ kind: z58.literal("portal_rebook")
27585
27671
  }).nullable().optional(),
27586
27672
  form: bookingConfigSchema.nullable(),
27587
- services: z57.array(bookingServiceSchema),
27588
- spamProtectionEnabled: z57.boolean().optional()
27673
+ services: z58.array(bookingServiceSchema),
27674
+ spamProtectionEnabled: z58.boolean().optional()
27589
27675
  });
27590
- var bookingRenderSchema = z57.object({
27676
+ var bookingRenderSchema = z58.object({
27591
27677
  display: bookingDisplaySchema,
27592
27678
  hydration: bookingHydrationSchema
27593
27679
  });
27594
27680
  var bookingFormIslandMetaCodec = createZodCodec(
27595
- z57.object({
27596
- siteId: z57.string().optional(),
27597
- apiBaseUrl: z57.string().optional(),
27598
- portalToken: z57.string().nullable().optional()
27681
+ z58.object({
27682
+ siteId: z58.string().optional(),
27683
+ apiBaseUrl: z58.string().optional(),
27684
+ portalToken: z58.string().nullable().optional()
27599
27685
  })
27600
27686
  );
27601
27687
  var bookingFormIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -27851,6 +27937,12 @@ function CoursePricingDisplay({
27851
27937
 
27852
27938
  // ../blocks/src/system/runtime/nodes/event-details/view.tsx
27853
27939
  import { Fragment as Fragment3, jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
27940
+ function TeamMemberName({
27941
+ name,
27942
+ profilePath
27943
+ }) {
27944
+ return profilePath ? /* @__PURE__ */ jsx26("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx26("strong", { children: name }) }) : /* @__PURE__ */ jsx26("strong", { children: name });
27945
+ }
27854
27946
  function EventDetailsView({
27855
27947
  selection,
27856
27948
  showVenue,
@@ -27914,7 +28006,13 @@ function EventDetailsView({
27914
28006
  teamMembers.length > 0 ? /* @__PURE__ */ jsxs13("div", { className: "rb-mt-6", children: [
27915
28007
  /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Team members" }),
27916
28008
  /* @__PURE__ */ jsx26("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs13("div", { children: [
27917
- /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: teamMember.name }) }),
28009
+ /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26(
28010
+ TeamMemberName,
28011
+ {
28012
+ name: teamMember.name,
28013
+ profilePath: teamMember.profilePath
28014
+ }
28015
+ ) }),
27918
28016
  teamMember.summary ? /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: teamMember.summary }) : null
27919
28017
  ] }, teamMember.id)) })
27920
28018
  ] }) : null,
@@ -28260,6 +28358,12 @@ function formatCourseDateRange(range) {
28260
28358
 
28261
28359
  // ../blocks/src/system/runtime/nodes/course-details/view.tsx
28262
28360
  import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
28361
+ function TeamMemberName2({
28362
+ name,
28363
+ profilePath
28364
+ }) {
28365
+ return profilePath ? /* @__PURE__ */ jsx30("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx30("strong", { children: name }) }) : /* @__PURE__ */ jsx30("strong", { children: name });
28366
+ }
28263
28367
  function parseLimit2(value, fallback2) {
28264
28368
  if (value === "all") return "all";
28265
28369
  const n = typeof value === "string" ? Number.parseInt(value, 10) : typeof value === "number" ? value : NaN;
@@ -28317,7 +28421,13 @@ function CourseDetailsView(props2) {
28317
28421
  teamMembers.length > 0 && /* @__PURE__ */ jsxs17("div", { children: [
28318
28422
  /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Team members" }),
28319
28423
  /* @__PURE__ */ jsx30("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs17("div", { children: [
28320
- /* @__PURE__ */ jsx30("p", { children: /* @__PURE__ */ jsx30("strong", { children: teamMember.name }) }),
28424
+ /* @__PURE__ */ jsx30("p", { children: /* @__PURE__ */ jsx30(
28425
+ TeamMemberName2,
28426
+ {
28427
+ name: teamMember.name,
28428
+ profilePath: teamMember.profilePath
28429
+ }
28430
+ ) }),
28321
28431
  teamMember.summary && /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: teamMember.summary })
28322
28432
  ] }, teamMember.id)) })
28323
28433
  ] })
@@ -28492,88 +28602,88 @@ var EventSpotlight = ({
28492
28602
  };
28493
28603
 
28494
28604
  // ../blocks/src/system/runtime/nodes/events/EventCombined.interactive.ts
28495
- import { z as z58 } from "zod";
28496
- var eventBlockKindSchema3 = z58.enum(eventBlockKindValues);
28497
- var eventSurfaceScopeSchema3 = z58.enum(eventSurfaceScopeValues);
28498
- var eventScheduleScopeSchema4 = z58.enum(eventScheduleScopeValues);
28499
- var eventCombinedSourceSchema = z58.object(
28605
+ import { z as z59 } from "zod";
28606
+ var eventBlockKindSchema3 = z59.enum(eventBlockKindValues);
28607
+ var eventSurfaceScopeSchema3 = z59.enum(eventSurfaceScopeValues);
28608
+ var eventScheduleScopeSchema4 = z59.enum(eventScheduleScopeValues);
28609
+ var eventCombinedSourceSchema = z59.object(
28500
28610
  {
28501
- events: z58.array(publicEventSchema).nullable().optional(),
28502
- siteId: z58.string(),
28503
- apiBaseUrl: z58.string().optional(),
28611
+ events: z59.array(publicEventSchema).nullable().optional(),
28612
+ siteId: z59.string(),
28613
+ apiBaseUrl: z59.string().optional(),
28504
28614
  stage: previewStageSchema.optional(),
28505
28615
  listLayout: eventLayoutSchema.optional(),
28506
28616
  listColumns: columnOptionSchema.optional(),
28507
- eventsPerPage: z58.string().optional(),
28508
- compactEventsPerPage: z58.string().optional(),
28509
- loadMoreText: z58.string().optional(),
28617
+ eventsPerPage: z59.string().optional(),
28618
+ compactEventsPerPage: z59.string().optional(),
28619
+ loadMoreText: z59.string().optional(),
28510
28620
  startOfWeek: weekStartSchema.optional(),
28511
28621
  calendarTabViews: calendarTabViewsSchema.optional(),
28512
- showFilters: z58.boolean().nullable().optional(),
28622
+ showFilters: z59.boolean().nullable().optional(),
28513
28623
  showCategoryFilter: filterAutoShowSchema.optional(),
28514
- showVenueFilter: z58.boolean().nullable().optional(),
28515
- showStaffFilter: z58.boolean().nullable().optional(),
28624
+ showVenueFilter: z59.boolean().nullable().optional(),
28625
+ showStaffFilter: z59.boolean().nullable().optional(),
28516
28626
  eventKind: eventBlockKindSchema3.nullable().optional(),
28517
28627
  eventSurface: eventSurfaceScopeSchema3.nullable().optional(),
28518
- filterEventPresets: z58.union([z58.string(), z58.array(z58.string())]).nullable().optional(),
28628
+ filterEventPresets: z59.union([z59.string(), z59.array(z59.string())]).nullable().optional(),
28519
28629
  scheduleScope: eventScheduleScopeSchema4.nullable().optional(),
28520
- filterCategoryIds: z58.union([z58.string(), z58.array(z58.string())]).nullable().optional(),
28521
- filterStaffMemberId: z58.string().nullable().optional(),
28522
- filterVenueId: z58.string().nullable().optional(),
28523
- showVenue: z58.boolean().nullable().optional(),
28524
- showMap: z58.boolean().nullable().optional(),
28525
- showCapacity: z58.boolean().nullable().optional(),
28630
+ filterCategoryIds: z59.union([z59.string(), z59.array(z59.string())]).nullable().optional(),
28631
+ filterStaffMemberId: z59.string().nullable().optional(),
28632
+ filterVenueId: z59.string().nullable().optional(),
28633
+ showVenue: z59.boolean().nullable().optional(),
28634
+ showMap: z59.boolean().nullable().optional(),
28635
+ showCapacity: z59.boolean().nullable().optional(),
28526
28636
  buttonVariant: eventButtonVariantSchema.optional(),
28527
- buttonText: z58.string().optional(),
28528
- emptyMessage: z58.string().optional(),
28529
- className: z58.string().optional()
28637
+ buttonText: z59.string().optional(),
28638
+ emptyMessage: z59.string().optional(),
28639
+ className: z59.string().optional()
28530
28640
  }
28531
28641
  );
28532
- var eventCombinedDisplaySchema = z58.object({
28533
- kind: z58.literal("event-combined"),
28534
- className: z58.string().nullable(),
28535
- events: z58.array(publicEventSchema),
28642
+ var eventCombinedDisplaySchema = z59.object({
28643
+ kind: z59.literal("event-combined"),
28644
+ className: z59.string().nullable(),
28645
+ events: z59.array(publicEventSchema),
28536
28646
  listLayout: eventLayoutSchema,
28537
28647
  listColumns: columnOptionSchema,
28538
- eventsPerPage: z58.string(),
28539
- loadMoreText: z58.string(),
28648
+ eventsPerPage: z59.string(),
28649
+ loadMoreText: z59.string(),
28540
28650
  startOfWeek: weekStartSchema,
28541
28651
  calendarTabViews: calendarTabViewsSchema,
28542
- showFilters: z58.boolean(),
28652
+ showFilters: z59.boolean(),
28543
28653
  showCategoryFilter: filterAutoShowSchema,
28544
- showVenueFilter: z58.boolean(),
28545
- showStaffFilter: z58.boolean(),
28654
+ showVenueFilter: z59.boolean(),
28655
+ showStaffFilter: z59.boolean(),
28546
28656
  eventKind: eventBlockKindSchema3,
28547
28657
  eventSurface: eventSurfaceScopeSchema3,
28548
- filterEventPresets: z58.string().nullable(),
28658
+ filterEventPresets: z59.string().nullable(),
28549
28659
  scheduleScope: eventScheduleScopeSchema4,
28550
- filterCategoryIds: z58.string().nullable(),
28551
- filterStaffMemberId: z58.string().nullable(),
28552
- filterVenueId: z58.string().nullable(),
28553
- showVenue: z58.boolean(),
28554
- showMap: z58.boolean(),
28555
- showCapacity: z58.boolean(),
28660
+ filterCategoryIds: z59.string().nullable(),
28661
+ filterStaffMemberId: z59.string().nullable(),
28662
+ filterVenueId: z59.string().nullable(),
28663
+ showVenue: z59.boolean(),
28664
+ showMap: z59.boolean(),
28665
+ showCapacity: z59.boolean(),
28556
28666
  buttonVariant: eventButtonVariantSchema,
28557
- buttonText: z58.string(),
28558
- emptyMessage: z58.string()
28667
+ buttonText: z59.string(),
28668
+ emptyMessage: z59.string()
28559
28669
  });
28560
- var eventCombinedHydrationSchema = z58.object({
28561
- siteId: z58.string(),
28670
+ var eventCombinedHydrationSchema = z59.object({
28671
+ siteId: z59.string(),
28562
28672
  stage: previewStageSchema.optional(),
28563
- prefetchedEvents: z58.boolean(),
28673
+ prefetchedEvents: z59.boolean(),
28564
28674
  eventKind: eventBlockKindSchema3,
28565
28675
  eventSurface: eventSurfaceScopeSchema3,
28566
- filterEventPresets: z58.string().nullable(),
28676
+ filterEventPresets: z59.string().nullable(),
28567
28677
  scheduleScope: eventScheduleScopeSchema4
28568
28678
  });
28569
- var eventCombinedRenderSchema = z58.object({
28679
+ var eventCombinedRenderSchema = z59.object({
28570
28680
  display: eventCombinedDisplaySchema,
28571
28681
  hydration: eventCombinedHydrationSchema
28572
28682
  });
28573
28683
  var eventCombinedIslandMetaCodec = createZodCodec(
28574
- z58.object({
28575
- siteId: z58.string(),
28576
- apiBaseUrl: z58.string().optional(),
28684
+ z59.object({
28685
+ siteId: z59.string(),
28686
+ apiBaseUrl: z59.string().optional(),
28577
28687
  stage: previewStageSchema.optional()
28578
28688
  })
28579
28689
  );
@@ -46363,6 +46473,7 @@ function coercePayload(payload) {
46363
46473
  if ("form" in record && typeof record.form !== "function") return record.form;
46364
46474
  if ("entries" in record && typeof record.entries !== "function") return record.entries;
46365
46475
  if ("services" in record && typeof record.services !== "function") return record.services;
46476
+ if ("teamMembers" in record && typeof record.teamMembers !== "function") return record.teamMembers;
46366
46477
  }
46367
46478
  return payload;
46368
46479
  }
@@ -46443,6 +46554,7 @@ var SUPPORTED_LOADER_ENDPOINTS = [
46443
46554
  "listPublicEvents",
46444
46555
  "getPublicEventDetails",
46445
46556
  "listPublicCourses",
46557
+ "listPublicTeamMembers",
46446
46558
  "listPublicProducts",
46447
46559
  "listPublicPasses",
46448
46560
  "listPublicMemberships",
@@ -46498,6 +46610,10 @@ function normalizeLoaderParams(endpoint, params, context) {
46498
46610
  ensureSiteId(out, context);
46499
46611
  return out;
46500
46612
  }
46613
+ if (endpoint === "listPublicTeamMembers") {
46614
+ ensureSiteId(out, context);
46615
+ return out;
46616
+ }
46501
46617
  if (endpoint === "getPublishedEntryPreview") {
46502
46618
  ensureSiteId(out, context);
46503
46619
  return out;
@@ -47361,13 +47477,150 @@ var ENDPOINT_DEFINITIONS = {
47361
47477
  "server:internal_error"
47362
47478
  ]
47363
47479
  },
47364
- deleteAppointmentResource: {
47480
+ removeAppointmentResource: {
47365
47481
  path: "/sites/{siteId}/bookings/resources/{resourceId}",
47366
47482
  method: "DELETE",
47367
47483
  auth: "user",
47368
47484
  responseKind: "json",
47369
47485
  errors: ["resource:not_found", "server:internal_error"]
47370
47486
  },
47487
+ createTeamMemberProfile: {
47488
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
47489
+ method: "POST",
47490
+ auth: "user",
47491
+ responseKind: "json",
47492
+ errors: [
47493
+ "validation:invalid_input",
47494
+ "resource:not_found",
47495
+ "resource:conflict",
47496
+ "server:internal_error"
47497
+ ]
47498
+ },
47499
+ updateTeamMemberProfilePolicy: {
47500
+ path: "/sites/{siteId}/bookings/resources/profile-policy",
47501
+ method: "PUT",
47502
+ auth: "user",
47503
+ responseKind: "json",
47504
+ errors: ["validation:invalid_input", "server:internal_error"]
47505
+ },
47506
+ updateTeamMemberProfileContent: {
47507
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/content",
47508
+ method: "PUT",
47509
+ tags: [
47510
+ "site-{siteId}",
47511
+ "content-{siteId}-team-member",
47512
+ "content-entry-{entryId}"
47513
+ ],
47514
+ auth: "user",
47515
+ responseKind: "json",
47516
+ errors: [
47517
+ "validation:invalid_input",
47518
+ "resource:not_found",
47519
+ "resource:conflict",
47520
+ "server:internal_error"
47521
+ ]
47522
+ },
47523
+ publishTeamMemberProfile: {
47524
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/publish",
47525
+ method: "POST",
47526
+ tags: [
47527
+ "site-{siteId}",
47528
+ "content-{siteId}-team-member",
47529
+ "content-entry-{entryId}"
47530
+ ],
47531
+ auth: "user",
47532
+ responseKind: "json",
47533
+ errors: [
47534
+ "validation:invalid_input",
47535
+ "resource:not_found",
47536
+ "server:internal_error"
47537
+ ]
47538
+ },
47539
+ discardTeamMemberProfileDraft: {
47540
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/discard",
47541
+ method: "POST",
47542
+ tags: [
47543
+ "site-{siteId}",
47544
+ "content-{siteId}-team-member",
47545
+ "content-entry-{entryId}"
47546
+ ],
47547
+ auth: "user",
47548
+ responseKind: "json",
47549
+ errors: [
47550
+ "validation:invalid_input",
47551
+ "resource:not_found",
47552
+ "resource:conflict",
47553
+ "server:internal_error"
47554
+ ]
47555
+ },
47556
+ unpublishTeamMemberProfile: {
47557
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/unpublish",
47558
+ method: "POST",
47559
+ tags: [
47560
+ "site-{siteId}",
47561
+ "content-{siteId}-team-member",
47562
+ "content-entry-{entryId}"
47563
+ ],
47564
+ auth: "user",
47565
+ responseKind: "json",
47566
+ errors: [
47567
+ "validation:invalid_input",
47568
+ "resource:not_found",
47569
+ "resource:conflict",
47570
+ "server:internal_error"
47571
+ ]
47572
+ },
47573
+ scheduleTeamMemberProfile: {
47574
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
47575
+ method: "POST",
47576
+ tags: [
47577
+ "site-{siteId}",
47578
+ "content-{siteId}-team-member",
47579
+ "content-entry-{entryId}"
47580
+ ],
47581
+ auth: "user",
47582
+ responseKind: "json",
47583
+ errors: [
47584
+ "validation:invalid_input",
47585
+ "resource:not_found",
47586
+ "resource:conflict",
47587
+ "server:internal_error"
47588
+ ]
47589
+ },
47590
+ cancelScheduledTeamMemberProfile: {
47591
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
47592
+ method: "DELETE",
47593
+ tags: [
47594
+ "site-{siteId}",
47595
+ "content-{siteId}-team-member",
47596
+ "content-entry-{entryId}"
47597
+ ],
47598
+ auth: "user",
47599
+ responseKind: "json",
47600
+ errors: [
47601
+ "validation:invalid_input",
47602
+ "resource:not_found",
47603
+ "resource:conflict",
47604
+ "server:internal_error"
47605
+ ]
47606
+ },
47607
+ updateTeamMemberProfileRouteMetadata: {
47608
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/routes/{routeId}/metadata",
47609
+ method: "PATCH",
47610
+ tags: [
47611
+ TAG_TEMPLATES.siteCollection,
47612
+ TAG_TEMPLATES.siteRoutableContent,
47613
+ TAG_TEMPLATES.routeById
47614
+ ],
47615
+ auth: "user",
47616
+ responseKind: "json",
47617
+ errors: [
47618
+ "validation:invalid_input",
47619
+ "resource:not_found",
47620
+ "resource:conflict",
47621
+ "server:internal_error"
47622
+ ]
47623
+ },
47371
47624
  listAppointmentServices: {
47372
47625
  path: "/sites/{siteId}/bookings/services",
47373
47626
  method: "GET",
@@ -49741,6 +49994,15 @@ var ENDPOINT_DEFINITIONS = {
49741
49994
  auth: "public",
49742
49995
  responseKind: "json"
49743
49996
  },
49997
+ listPublicTeamMembers: {
49998
+ path: "/public/sites/{siteId}/team-members",
49999
+ method: "GET",
50000
+ revalidate: 60,
50001
+ tags: ["public-team-members-{siteId}"],
50002
+ errors: [],
50003
+ auth: "public",
50004
+ responseKind: "json"
50005
+ },
49744
50006
  getPublicCourse: {
49745
50007
  path: "/public/sites/{siteId}/courses/{courseId}",
49746
50008
  method: "GET",
@@ -52032,60 +52294,60 @@ var ENDPOINT_DEFINITIONS = {
52032
52294
  };
52033
52295
 
52034
52296
  // ../api/src/navigation/contracts.ts
52035
- import { z as z59 } from "zod";
52036
- var portalLinkPayloadSchema = z59.object({
52037
- kind: z59.literal("portal"),
52038
- path: z59.string().trim().startsWith("/").optional(),
52039
- labels: z59.object({
52040
- loggedOut: z59.string().trim().min(1).optional(),
52041
- loggedIn: z59.string().trim().min(1).optional()
52297
+ import { z as z60 } from "zod";
52298
+ var portalLinkPayloadSchema = z60.object({
52299
+ kind: z60.literal("portal"),
52300
+ path: z60.string().trim().startsWith("/").optional(),
52301
+ labels: z60.object({
52302
+ loggedOut: z60.string().trim().min(1).optional(),
52303
+ loggedIn: z60.string().trim().min(1).optional()
52042
52304
  }).optional()
52043
52305
  });
52044
- var cartLinkLabelConfigSchema = z59.discriminatedUnion("kind", [
52045
- z59.object({
52046
- kind: z59.literal("icon-only")
52306
+ var cartLinkLabelConfigSchema = z60.discriminatedUnion("kind", [
52307
+ z60.object({
52308
+ kind: z60.literal("icon-only")
52047
52309
  }),
52048
- z59.object({
52049
- kind: z59.literal("icon-with-label"),
52050
- label: z59.string().trim().min(1)
52310
+ z60.object({
52311
+ kind: z60.literal("icon-with-label"),
52312
+ label: z60.string().trim().min(1)
52051
52313
  })
52052
52314
  ]);
52053
- var cartLinkPayloadSchema = z59.object({
52054
- kind: z59.literal("cart"),
52055
- badge: z59.enum(["show-count", "hidden"]),
52315
+ var cartLinkPayloadSchema = z60.object({
52316
+ kind: z60.literal("cart"),
52317
+ badge: z60.enum(["show-count", "hidden"]),
52056
52318
  label: cartLinkLabelConfigSchema
52057
52319
  });
52058
- var internalLinkPayloadSchema = z59.object({
52059
- kind: z59.literal("internal"),
52060
- routeId: z59.string().uuid(),
52061
- entityId: z59.string().uuid(),
52062
- entityType: z59.enum(["page", "content"]),
52063
- href: z59.string().min(1),
52064
- title: z59.string().min(1),
52065
- typeLabel: z59.string().min(1),
52066
- contentTypeKey: z59.string().nullable().optional(),
52067
- contentTypeName: z59.string().nullable().optional(),
52068
- updatedAt: z59.string().nullable().optional()
52320
+ var internalLinkPayloadSchema = z60.object({
52321
+ kind: z60.literal("internal"),
52322
+ routeId: z60.string().uuid(),
52323
+ entityId: z60.string().uuid(),
52324
+ entityType: z60.enum(["page", "content"]),
52325
+ href: z60.string().min(1),
52326
+ title: z60.string().min(1),
52327
+ typeLabel: z60.string().min(1),
52328
+ contentTypeKey: z60.string().nullable().optional(),
52329
+ contentTypeName: z60.string().nullable().optional(),
52330
+ updatedAt: z60.string().nullable().optional()
52069
52331
  }).passthrough();
52070
- var externalLinkSchema2 = z59.object({
52071
- kind: z59.literal("external"),
52332
+ var externalLinkSchema2 = z60.object({
52333
+ kind: z60.literal("external"),
52072
52334
  // Navigation external links are expected to be absolute URLs.
52073
- href: z59.string().url()
52335
+ href: z60.string().url()
52074
52336
  });
52075
- var customLinkSchema2 = z59.object({
52076
- kind: z59.literal("url"),
52077
- href: z59.string().min(1)
52337
+ var customLinkSchema2 = z60.object({
52338
+ kind: z60.literal("url"),
52339
+ href: z60.string().min(1)
52078
52340
  });
52079
- var pageLinkSchema2 = z59.object({
52080
- kind: z59.literal("page"),
52081
- identifier: z59.string().min(1)
52341
+ var pageLinkSchema2 = z60.object({
52342
+ kind: z60.literal("page"),
52343
+ identifier: z60.string().min(1)
52082
52344
  });
52083
- var entryLinkSchema2 = z59.object({
52084
- kind: z59.literal("entry"),
52085
- contentType: z59.string().min(1),
52086
- identifier: z59.string().min(1)
52345
+ var entryLinkSchema2 = z60.object({
52346
+ kind: z60.literal("entry"),
52347
+ contentType: z60.string().min(1),
52348
+ identifier: z60.string().min(1)
52087
52349
  });
52088
- var linkPayloadSchema = z59.discriminatedUnion("kind", [
52350
+ var linkPayloadSchema = z60.discriminatedUnion("kind", [
52089
52351
  internalLinkPayloadSchema,
52090
52352
  pageLinkSchema2,
52091
52353
  entryLinkSchema2,
@@ -52102,27 +52364,27 @@ var navigationLinkInputSchemaOptions = [
52102
52364
  portalLinkPayloadSchema,
52103
52365
  cartLinkPayloadSchema
52104
52366
  ];
52105
- var navigationLinkInputSchema = z59.discriminatedUnion(
52367
+ var navigationLinkInputSchema = z60.discriminatedUnion(
52106
52368
  "kind",
52107
52369
  navigationLinkInputSchemaOptions
52108
52370
  );
52109
52371
 
52110
52372
  // ../api/src/sdkConfig/contracts.ts
52111
- import { z as z60 } from "zod";
52373
+ import { z as z61 } from "zod";
52112
52374
  function unsafeRetypeZodSchema(schema) {
52113
52375
  return schema;
52114
52376
  }
52115
- var navIdListSchema = z60.preprocess((value) => {
52377
+ var navIdListSchema = z61.preprocess((value) => {
52116
52378
  if (!Array.isArray(value)) return void 0;
52117
52379
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
52118
52380
  return filtered.length > 0 ? filtered : void 0;
52119
- }, z60.array(z60.string()).max(200).optional());
52120
- var dashboardNavVisibilityBaseSchema = z60.object({
52121
- mode: z60.enum(["augment", "restrict"]).optional(),
52381
+ }, z61.array(z61.string()).max(200).optional());
52382
+ var dashboardNavVisibilityBaseSchema = z61.object({
52383
+ mode: z61.enum(["augment", "restrict"]).optional(),
52122
52384
  allowIds: navIdListSchema,
52123
52385
  denyIds: navIdListSchema
52124
52386
  }).strip();
52125
- var dashboardNavVisibilityRolesSchema = z60.object({
52387
+ var dashboardNavVisibilityRolesSchema = z61.object({
52126
52388
  administrator: dashboardNavVisibilityBaseSchema.optional(),
52127
52389
  editor: dashboardNavVisibilityBaseSchema.optional(),
52128
52390
  team_member: dashboardNavVisibilityBaseSchema.optional(),
@@ -52131,57 +52393,57 @@ var dashboardNavVisibilityRolesSchema = z60.object({
52131
52393
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
52132
52394
  roles: dashboardNavVisibilityRolesSchema
52133
52395
  }).strip();
52134
- var dashboardNavigationConfigSchema = z60.object({
52396
+ var dashboardNavigationConfigSchema = z61.object({
52135
52397
  siteNav: dashboardNavVisibilitySchema.optional(),
52136
52398
  settingsNav: dashboardNavVisibilitySchema.optional()
52137
52399
  }).strip();
52138
- var dashboardConfigSchema = z60.object({
52139
- previewEditingEnabled: z60.boolean().optional(),
52400
+ var dashboardConfigSchema = z61.object({
52401
+ previewEditingEnabled: z61.boolean().optional(),
52140
52402
  navigation: dashboardNavigationConfigSchema.optional()
52141
52403
  }).strip();
52142
52404
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
52143
52405
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
52144
- var sdkLoaderEndpointSchema = z60.enum(SUPPORTED_LOADER_ENDPOINTS);
52145
- var loaderParamBindingSchema = z60.object({
52146
- $bind: z60.object({
52147
- from: z60.string().min(1, "Binding path is required"),
52148
- fallback: z60.string().optional()
52406
+ var sdkLoaderEndpointSchema = z61.enum(SUPPORTED_LOADER_ENDPOINTS);
52407
+ var loaderParamBindingSchema = z61.object({
52408
+ $bind: z61.object({
52409
+ from: z61.string().min(1, "Binding path is required"),
52410
+ fallback: z61.string().optional()
52149
52411
  })
52150
52412
  });
52151
- var loaderParamValueSchema = z60.union([
52152
- z60.string(),
52153
- z60.number(),
52154
- z60.boolean(),
52413
+ var loaderParamValueSchema = z61.union([
52414
+ z61.string(),
52415
+ z61.number(),
52416
+ z61.boolean(),
52155
52417
  loaderParamBindingSchema
52156
52418
  ]);
52157
- var sdkConfigLoaderSchema = z60.object({
52419
+ var sdkConfigLoaderSchema = z61.object({
52158
52420
  endpoint: sdkLoaderEndpointSchema,
52159
- params: z60.record(z60.string(), loaderParamValueSchema),
52160
- mode: z60.enum(["server", "client"]).default("server")
52421
+ params: z61.record(z61.string(), loaderParamValueSchema),
52422
+ mode: z61.enum(["server", "client"]).default("server")
52161
52423
  });
52162
- var sdkDataLoadersSchema = z60.record(z60.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
52163
- var sdkCustomBlockIdSchema = z60.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
52424
+ var sdkDataLoadersSchema = z61.record(z61.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
52425
+ var sdkCustomBlockIdSchema = z61.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
52164
52426
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
52165
52427
  }).transform((value) => value);
52166
- var sdkCustomBlockInputSchema = z60.object({
52428
+ var sdkCustomBlockInputSchema = z61.object({
52167
52429
  id: sdkCustomBlockIdSchema,
52168
- title: z60.string().min(1),
52169
- titleSource: z60.union([z60.string().min(1), z60.array(z60.string().min(1)).min(1)]).optional(),
52170
- description: z60.string().optional(),
52430
+ title: z61.string().min(1),
52431
+ titleSource: z61.union([z61.string().min(1), z61.array(z61.string().min(1)).min(1)]).optional(),
52432
+ description: z61.string().optional(),
52171
52433
  category: blockCategoryEnum,
52172
- icon: z60.string().optional(),
52173
- tags: z60.array(z60.string()).optional(),
52434
+ icon: z61.string().optional(),
52435
+ tags: z61.array(z61.string()).optional(),
52174
52436
  fields: fieldDefinitionInputSchema.array().min(1),
52175
52437
  dataLoaders: sdkDataLoadersSchema,
52176
52438
  layout: NodeSchema.optional(),
52177
- variants: z60.record(z60.string().min(1), NodeSchema).optional(),
52178
- defaultVariant: z60.string().min(1).optional(),
52179
- variantOptions: z60.record(
52180
- z60.string().min(1),
52181
- z60.object({
52182
- label: z60.string().min(1).optional(),
52183
- description: z60.string().min(1).optional(),
52184
- icon: z60.string().min(1).optional()
52439
+ variants: z61.record(z61.string().min(1), NodeSchema).optional(),
52440
+ defaultVariant: z61.string().min(1).optional(),
52441
+ variantOptions: z61.record(
52442
+ z61.string().min(1),
52443
+ z61.object({
52444
+ label: z61.string().min(1).optional(),
52445
+ description: z61.string().min(1).optional(),
52446
+ icon: z61.string().min(1).optional()
52185
52447
  })
52186
52448
  ).optional()
52187
52449
  }).superRefine((data, ctx) => {
@@ -52191,7 +52453,7 @@ var sdkCustomBlockInputSchema = z60.object({
52191
52453
  const exists = data.fields.some((field) => field.id === source);
52192
52454
  if (!exists) {
52193
52455
  ctx.addIssue({
52194
- code: z60.ZodIssueCode.custom,
52456
+ code: z61.ZodIssueCode.custom,
52195
52457
  message: `titleSource must reference a valid field ID (got "${source}")`,
52196
52458
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
52197
52459
  });
@@ -52200,7 +52462,7 @@ var sdkCustomBlockInputSchema = z60.object({
52200
52462
  }
52201
52463
  if (data.layout && data.variants) {
52202
52464
  ctx.addIssue({
52203
- code: z60.ZodIssueCode.custom,
52465
+ code: z61.ZodIssueCode.custom,
52204
52466
  message: "Custom block must define either `layout` or `variants`, not both",
52205
52467
  path: ["variants"]
52206
52468
  });
@@ -52209,14 +52471,14 @@ var sdkCustomBlockInputSchema = z60.object({
52209
52471
  const keys = Object.keys(data.variants);
52210
52472
  if (keys.length === 0) {
52211
52473
  ctx.addIssue({
52212
- code: z60.ZodIssueCode.custom,
52474
+ code: z61.ZodIssueCode.custom,
52213
52475
  message: "`variants` must contain at least one variant key",
52214
52476
  path: ["variants"]
52215
52477
  });
52216
52478
  }
52217
52479
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
52218
52480
  ctx.addIssue({
52219
- code: z60.ZodIssueCode.custom,
52481
+ code: z61.ZodIssueCode.custom,
52220
52482
  message: "`defaultVariant` must be a key present in `variants`",
52221
52483
  path: ["defaultVariant"]
52222
52484
  });
@@ -52225,7 +52487,7 @@ var sdkCustomBlockInputSchema = z60.object({
52225
52487
  for (const key of Object.keys(data.variantOptions)) {
52226
52488
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
52227
52489
  ctx.addIssue({
52228
- code: z60.ZodIssueCode.custom,
52490
+ code: z61.ZodIssueCode.custom,
52229
52491
  message: "`variantOptions` key must exist in `variants`",
52230
52492
  path: ["variantOptions", key]
52231
52493
  });
@@ -52234,74 +52496,74 @@ var sdkCustomBlockInputSchema = z60.object({
52234
52496
  }
52235
52497
  }
52236
52498
  });
52237
- var sdkBlockFieldExtensionInputSchema = z60.object({
52499
+ var sdkBlockFieldExtensionInputSchema = z61.object({
52238
52500
  fields: fieldDefinitionInputSchema.array().min(1)
52239
52501
  });
52240
- var sdkBlockFieldExtensionsInputSchema = z60.record(
52241
- z60.string().min(1),
52502
+ var sdkBlockFieldExtensionsInputSchema = z61.record(
52503
+ z61.string().min(1),
52242
52504
  sdkBlockFieldExtensionInputSchema
52243
52505
  );
52244
- var sdkThemePaletteSchema = z60.record(z60.string(), z60.string());
52245
- var sdkThemeConfigSchema = z60.object({
52506
+ var sdkThemePaletteSchema = z61.record(z61.string(), z61.string());
52507
+ var sdkThemeConfigSchema = z61.object({
52246
52508
  palette: sdkThemePaletteSchema
52247
52509
  });
52248
- var sdkSectionBackgroundSchema = z60.object({
52249
- id: z60.string().min(1),
52250
- label: z60.string().min(1),
52251
- token: z60.string().min(1)
52510
+ var sdkSectionBackgroundSchema = z61.object({
52511
+ id: z61.string().min(1),
52512
+ label: z61.string().min(1),
52513
+ token: z61.string().min(1)
52252
52514
  });
52253
- var sdkSectionOptionsConfigSchema = z60.object({
52254
- backgroundColor: z60.boolean().optional(),
52255
- backgroundImage: z60.boolean().optional(),
52256
- backgroundGradient: z60.boolean().optional(),
52257
- spacing: z60.union([z60.array(z60.enum(["compact", "default", "spacious"])), z60.boolean()]).optional(),
52258
- textColor: z60.boolean().optional()
52515
+ var sdkSectionOptionsConfigSchema = z61.object({
52516
+ backgroundColor: z61.boolean().optional(),
52517
+ backgroundImage: z61.boolean().optional(),
52518
+ backgroundGradient: z61.boolean().optional(),
52519
+ spacing: z61.union([z61.array(z61.enum(["compact", "default", "spacious"])), z61.boolean()]).optional(),
52520
+ textColor: z61.boolean().optional()
52259
52521
  });
52260
- var sdkContainerOptionsConfigSchema = z60.object({
52261
- maxWidth: z60.union([z60.array(z60.enum(["narrow", "default", "wide", "full"])), z60.boolean()]).optional(),
52262
- alignment: z60.union([z60.array(z60.enum(["left", "center", "right"])), z60.boolean()]).optional()
52522
+ var sdkContainerOptionsConfigSchema = z61.object({
52523
+ maxWidth: z61.union([z61.array(z61.enum(["narrow", "default", "wide", "full"])), z61.boolean()]).optional(),
52524
+ alignment: z61.union([z61.array(z61.enum(["left", "center", "right"])), z61.boolean()]).optional()
52263
52525
  });
52264
- var sdkSiteStyleConfigSchema = z60.object({
52265
- sectionBackgrounds: z60.array(sdkSectionBackgroundSchema).optional(),
52526
+ var sdkSiteStyleConfigSchema = z61.object({
52527
+ sectionBackgrounds: z61.array(sdkSectionBackgroundSchema).optional(),
52266
52528
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
52267
52529
  containerOptions: sdkContainerOptionsConfigSchema.optional()
52268
52530
  });
52269
- var sdkSiteLayoutConfigSchema = z60.object({
52270
- footerBlocks: z60.array(
52271
- z60.object({
52272
- id: z60.string().min(1).optional(),
52273
- kind: z60.string().min(1),
52274
- content: z60.record(z60.string(), z60.unknown()).optional()
52531
+ var sdkSiteLayoutConfigSchema = z61.object({
52532
+ footerBlocks: z61.array(
52533
+ z61.object({
52534
+ id: z61.string().min(1).optional(),
52535
+ kind: z61.string().min(1),
52536
+ content: z61.record(z61.string(), z61.unknown()).optional()
52275
52537
  })
52276
52538
  ).optional()
52277
52539
  });
52278
- var sdkFieldSelectOptionSchema = z60.object({
52279
- value: z60.string(),
52280
- label: z60.string()
52540
+ var sdkFieldSelectOptionSchema = z61.object({
52541
+ value: z61.string(),
52542
+ label: z61.string()
52281
52543
  });
52282
- var sdkBlockFieldConfigSchema = z60.object({
52283
- options: z60.array(sdkFieldSelectOptionSchema).optional()
52544
+ var sdkBlockFieldConfigSchema = z61.object({
52545
+ options: z61.array(sdkFieldSelectOptionSchema).optional()
52284
52546
  });
52285
- var sdkBlockFieldOptionsMapSchema = z60.record(
52286
- z60.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
52547
+ var sdkBlockFieldOptionsMapSchema = z61.record(
52548
+ z61.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
52287
52549
  message: "Block ID must be 'block.*' or 'custom.*' format"
52288
52550
  }),
52289
- z60.record(z60.string().min(1), sdkBlockFieldConfigSchema)
52551
+ z61.record(z61.string().min(1), sdkBlockFieldConfigSchema)
52290
52552
  ).optional();
52291
- var sdkContentTypeTemplateConfigSchema = z60.object({
52292
- blocks: z60.array(z60.unknown())
52553
+ var sdkContentTypeTemplateConfigSchema = z61.object({
52554
+ blocks: z61.array(z61.unknown())
52293
52555
  }).passthrough();
52294
- var sdkContentTypeConfigSchema = z60.object({
52295
- key: z60.string().min(1),
52296
- fields: z60.array(z60.unknown()),
52556
+ var sdkContentTypeConfigSchema = z61.object({
52557
+ key: z61.string().min(1),
52558
+ fields: z61.array(z61.unknown()),
52297
52559
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
52298
52560
  }).passthrough();
52299
- var sdkContentConfigSchema = z60.object({
52300
- contentTypes: z60.array(sdkContentTypeConfigSchema).optional(),
52301
- pages: z60.array(z60.unknown()).optional(),
52302
- entries: z60.array(z60.unknown()).optional(),
52303
- navigationMenus: z60.array(z60.unknown()).optional(),
52304
- settings: z60.unknown().optional()
52561
+ var sdkContentConfigSchema = z61.object({
52562
+ contentTypes: z61.array(sdkContentTypeConfigSchema).optional(),
52563
+ pages: z61.array(z61.unknown()).optional(),
52564
+ entries: z61.array(z61.unknown()).optional(),
52565
+ navigationMenus: z61.array(z61.unknown()).optional(),
52566
+ settings: z61.unknown().optional()
52305
52567
  }).passthrough();
52306
52568
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
52307
52569
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -52314,41 +52576,41 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
52314
52576
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
52315
52577
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
52316
52578
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
52317
- var sdkWorkflowIdSchema = z60.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
52579
+ var sdkWorkflowIdSchema = z61.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
52318
52580
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
52319
52581
  });
52320
- 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 "/"' });
52321
- var sdkWorkflowManualTriggerSchema = z60.object({
52322
- type: z60.literal("manual")
52582
+ 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 "/"' });
52583
+ var sdkWorkflowManualTriggerSchema = z61.object({
52584
+ type: z61.literal("manual")
52323
52585
  }).strict();
52324
- var sdkWorkflowTriggerSchema = z60.discriminatedUnion("type", [
52586
+ var sdkWorkflowTriggerSchema = z61.discriminatedUnion("type", [
52325
52587
  sdkWorkflowManualTriggerSchema
52326
52588
  ]);
52327
- var sdkWorkflowConfirmationSchema = z60.object({
52328
- title: z60.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
52329
- body: z60.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
52589
+ var sdkWorkflowConfirmationSchema = z61.object({
52590
+ title: z61.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
52591
+ body: z61.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
52330
52592
  }).strict();
52331
- var sdkWorkflowConfigSchema = z60.object({
52593
+ var sdkWorkflowConfigSchema = z61.object({
52332
52594
  id: sdkWorkflowIdSchema,
52333
- title: z60.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
52334
- description: z60.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
52335
- contentType: z60.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
52595
+ title: z61.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
52596
+ description: z61.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
52597
+ contentType: z61.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
52336
52598
  endpoint: sdkWorkflowEndpointSchema,
52337
- triggers: z60.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
52599
+ triggers: z61.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
52338
52600
  confirmation: sdkWorkflowConfirmationSchema.optional()
52339
52601
  }).strict();
52340
- var sdkWorkflowsSchema = z60.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
52602
+ var sdkWorkflowsSchema = z61.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
52341
52603
  const ids = workflows.map((workflow) => workflow.id);
52342
52604
  return ids.length === new Set(ids).size;
52343
52605
  }, { message: "Workflow IDs must be unique" }).optional();
52344
- var riverbankSiteConfigInputSchema = z60.object({
52345
- siteId: z60.string().uuid(),
52346
- previewUrl: z60.string().url().optional(),
52347
- liveUrl: z60.string().url().optional(),
52606
+ var riverbankSiteConfigInputSchema = z61.object({
52607
+ siteId: z61.string().uuid(),
52608
+ previewUrl: z61.string().url().optional(),
52609
+ liveUrl: z61.string().url().optional(),
52348
52610
  theme: sdkThemeConfigSchema.optional(),
52349
52611
  styles: sdkSiteStyleConfigSchema.optional(),
52350
52612
  layout: sdkSiteLayoutConfigSchema.optional(),
52351
- customBlocks: z60.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
52613
+ customBlocks: z61.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
52352
52614
  const ids = blocks.map((b) => b.id);
52353
52615
  return ids.length === new Set(ids).size;
52354
52616
  }, { message: "Block IDs must be unique" }).optional(),
@@ -52356,43 +52618,43 @@ var riverbankSiteConfigInputSchema = z60.object({
52356
52618
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
52357
52619
  workflows: sdkWorkflowsSchema,
52358
52620
  content: sdkContentConfigSchema.optional(),
52359
- contentDir: z60.string().optional(),
52360
- sync: z60.object({
52361
- existingEntries: z60.enum(["skip", "update"]).optional()
52621
+ contentDir: z61.string().optional(),
52622
+ sync: z61.object({
52623
+ existingEntries: z61.enum(["skip", "update"]).optional()
52362
52624
  }).optional(),
52363
- deploy: z60.object({
52364
- verifyCommand: z60.string().optional(),
52365
- prebuildOutput: z60.string().optional()
52625
+ deploy: z61.object({
52626
+ verifyCommand: z61.string().optional(),
52627
+ prebuildOutput: z61.string().optional()
52366
52628
  }).optional(),
52367
- themeSource: z60.enum(["local", "cms"]).optional(),
52368
- activeTheme: z60.string().optional(),
52369
- enablePortal: z60.boolean().optional(),
52629
+ themeSource: z61.enum(["local", "cms"]).optional(),
52630
+ activeTheme: z61.string().optional(),
52631
+ enablePortal: z61.boolean().optional(),
52370
52632
  dashboard: dashboardConfigSchema.optional()
52371
52633
  }).strict();
52372
- var pushSdkConfigBodySchema = z60.object({
52634
+ var pushSdkConfigBodySchema = z61.object({
52373
52635
  config: riverbankSiteConfigInputSchema,
52374
- forceContentTypes: z60.boolean().optional()
52636
+ forceContentTypes: z61.boolean().optional()
52375
52637
  }).strict();
52376
52638
 
52377
52639
  // ../api/src/siteOnboarding.ts
52378
- import { z as z61 } from "zod";
52640
+ import { z as z62 } from "zod";
52379
52641
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
52380
52642
  configure_appointments: {
52381
52643
  requirementId: "configure_appointments",
52382
52644
  reason: "launch_anyway"
52383
52645
  }
52384
52646
  };
52385
- var acknowledgeLaunchRequirementRequestSchema = z61.discriminatedUnion(
52647
+ var acknowledgeLaunchRequirementRequestSchema = z62.discriminatedUnion(
52386
52648
  "requirementId",
52387
52649
  [
52388
- z61.object({
52389
- requirementId: z61.literal("review_generated_site")
52650
+ z62.object({
52651
+ requirementId: z62.literal("review_generated_site")
52390
52652
  }),
52391
- z61.object({
52392
- requirementId: z61.literal(
52653
+ z62.object({
52654
+ requirementId: z62.literal(
52393
52655
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
52394
52656
  ),
52395
- overrideReason: z61.literal(
52657
+ overrideReason: z62.literal(
52396
52658
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
52397
52659
  )
52398
52660
  })
@@ -52568,79 +52830,79 @@ function isRecord3(value) {
52568
52830
  }
52569
52831
 
52570
52832
  // ../api/src/appointmentSetup.ts
52571
- import { z as z62 } from "zod";
52572
- var appointmentSetupRefSchema = z62.discriminatedUnion("kind", [
52573
- z62.object({ kind: z62.literal("existing"), id: z62.string().min(1) }),
52574
- z62.object({ kind: z62.literal("new"), draftId: z62.string().min(1) })
52833
+ import { z as z63 } from "zod";
52834
+ var appointmentSetupRefSchema = z63.discriminatedUnion("kind", [
52835
+ z63.object({ kind: z63.literal("existing"), id: z63.string().min(1) }),
52836
+ z63.object({ kind: z63.literal("new"), draftId: z63.string().min(1) })
52575
52837
  ]);
52576
- var appointmentSetupVenueChoiceSchema = z62.discriminatedUnion("kind", [
52577
- z62.object({ kind: z62.literal("none") }),
52578
- z62.object({ kind: z62.literal("existing"), venueId: z62.string().min(1) }),
52579
- z62.object({
52580
- kind: z62.literal("create"),
52581
- draftId: z62.string().min(1),
52582
- title: z62.string().trim().min(1),
52583
- description: z62.string().nullable(),
52584
- timezone: z62.string().trim().min(1).nullable(),
52585
- addressJson: z62.record(z62.string(), z62.unknown()),
52586
- locationJson: z62.object({ lat: z62.number(), lng: z62.number() }).nullable()
52838
+ var appointmentSetupVenueChoiceSchema = z63.discriminatedUnion("kind", [
52839
+ z63.object({ kind: z63.literal("none") }),
52840
+ z63.object({ kind: z63.literal("existing"), venueId: z63.string().min(1) }),
52841
+ z63.object({
52842
+ kind: z63.literal("create"),
52843
+ draftId: z63.string().min(1),
52844
+ title: z63.string().trim().min(1),
52845
+ description: z63.string().nullable(),
52846
+ timezone: z63.string().trim().min(1).nullable(),
52847
+ addressJson: z63.record(z63.string(), z63.unknown()),
52848
+ locationJson: z63.object({ lat: z63.number(), lng: z63.number() }).nullable()
52587
52849
  })
52588
52850
  ]);
52589
- var appointmentSetupPaymentDraftSchema = z62.object({
52590
- priceType: z62.union([z62.literal("free"), z62.literal("paid")])
52591
- });
52592
- var appointmentSetupServiceAssignmentDraftSchema = z62.discriminatedUnion("kind", [
52593
- z62.object({ kind: z62.literal("all_practitioners") }),
52594
- z62.object({
52595
- kind: z62.literal("selected_practitioners"),
52596
- resourceRefs: z62.array(appointmentSetupRefSchema)
52851
+ var appointmentSetupPaymentDraftSchema = z63.object({
52852
+ priceType: z63.union([z63.literal("free"), z63.literal("paid")])
52853
+ });
52854
+ var appointmentSetupServiceAssignmentDraftSchema = z63.discriminatedUnion("kind", [
52855
+ z63.object({ kind: z63.literal("all_practitioners") }),
52856
+ z63.object({
52857
+ kind: z63.literal("selected_practitioners"),
52858
+ resourceRefs: z63.array(appointmentSetupRefSchema)
52597
52859
  })
52598
52860
  ]);
52599
- var appointmentSetupServiceDraftSchema = z62.object({
52861
+ var appointmentSetupServiceDraftSchema = z63.object({
52600
52862
  ref: appointmentSetupRefSchema,
52601
- title: z62.string().trim().min(1),
52602
- description: z62.string().nullable(),
52603
- durationMinutes: z62.number().int().positive(),
52604
- priceAmount: z62.number().int().nonnegative().nullable(),
52605
- isActive: z62.boolean(),
52606
- locationType: z62.union([
52607
- z62.literal("virtual"),
52608
- z62.literal("in_person"),
52609
- z62.literal("hybrid")
52863
+ title: z63.string().trim().min(1),
52864
+ description: z63.string().nullable(),
52865
+ durationMinutes: z63.number().int().positive(),
52866
+ priceAmount: z63.number().int().nonnegative().nullable(),
52867
+ isActive: z63.boolean(),
52868
+ locationType: z63.union([
52869
+ z63.literal("virtual"),
52870
+ z63.literal("in_person"),
52871
+ z63.literal("hybrid")
52610
52872
  ]),
52611
52873
  venue: appointmentSetupVenueChoiceSchema,
52612
- timezone: z62.string().trim().min(1).nullable(),
52874
+ timezone: z63.string().trim().min(1).nullable(),
52613
52875
  payment: appointmentSetupPaymentDraftSchema,
52614
52876
  assignment: appointmentSetupServiceAssignmentDraftSchema
52615
52877
  });
52616
- var appointmentSetupPractitionerDraftSchema = z62.object({
52878
+ var appointmentSetupPractitionerDraftSchema = z63.object({
52617
52879
  ref: appointmentSetupRefSchema,
52618
- displayName: z62.string().trim().min(1),
52619
- bio: z62.string().nullable(),
52620
- timezone: z62.string().trim().min(1),
52621
- colorHex: z62.string().nullable()
52622
- });
52623
- var appointmentSetupWeeklyWindowDraftSchema = z62.object({
52624
- weekday: z62.number().int().min(0).max(6),
52625
- startTime: z62.string(),
52626
- endTime: z62.string()
52627
- });
52628
- var appointmentSetupAvailabilityDraftSchema = z62.object({
52629
- kind: z62.literal("weekly_windows"),
52880
+ displayName: z63.string().trim().min(1),
52881
+ bio: z63.string().nullable(),
52882
+ timezone: z63.string().trim().min(1),
52883
+ colorHex: z63.string().nullable()
52884
+ });
52885
+ var appointmentSetupWeeklyWindowDraftSchema = z63.object({
52886
+ weekday: z63.number().int().min(0).max(6),
52887
+ startTime: z63.string(),
52888
+ endTime: z63.string()
52889
+ });
52890
+ var appointmentSetupAvailabilityDraftSchema = z63.object({
52891
+ kind: z63.literal("weekly_windows"),
52630
52892
  resourceRef: appointmentSetupRefSchema,
52631
52893
  serviceRef: appointmentSetupRefSchema.nullable(),
52632
- windows: z62.array(appointmentSetupWeeklyWindowDraftSchema)
52894
+ windows: z63.array(appointmentSetupWeeklyWindowDraftSchema)
52633
52895
  });
52634
52896
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
52635
52897
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
52636
- var appointmentSetupBookingNoticeSchema = z62.object({
52637
- minLeadMinutes: z62.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
52638
- maxBookingNoticeMinutes: z62.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
52639
- });
52640
- var applyAppointmentSetupRequestSchema = z62.object({
52641
- services: z62.array(appointmentSetupServiceDraftSchema),
52642
- practitioners: z62.array(appointmentSetupPractitionerDraftSchema),
52643
- availability: z62.array(appointmentSetupAvailabilityDraftSchema),
52898
+ var appointmentSetupBookingNoticeSchema = z63.object({
52899
+ minLeadMinutes: z63.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
52900
+ maxBookingNoticeMinutes: z63.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
52901
+ });
52902
+ var applyAppointmentSetupRequestSchema = z63.object({
52903
+ services: z63.array(appointmentSetupServiceDraftSchema),
52904
+ practitioners: z63.array(appointmentSetupPractitionerDraftSchema),
52905
+ availability: z63.array(appointmentSetupAvailabilityDraftSchema),
52644
52906
  bookingNotice: appointmentSetupBookingNoticeSchema
52645
52907
  });
52646
52908
 
@@ -52659,24 +52921,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
52659
52921
  ];
52660
52922
 
52661
52923
  // ../api/src/siteBanner.ts
52662
- import { z as z63 } from "zod";
52924
+ import { z as z64 } from "zod";
52663
52925
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
52664
52926
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
52665
52927
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
52666
52928
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
52667
- var siteBannerScopeSchema = z63.enum(SITE_BANNER_SCOPE_VALUES);
52668
- var siteBannerToneSchema = z63.enum(SITE_BANNER_TONE_VALUES);
52669
- var siteBannerBodySchema = z63.unknown().transform(unwrapRichTextValue);
52670
- var siteBannerCtaSchema = z63.object({
52671
- label: z63.string().trim().min(1),
52929
+ var siteBannerScopeSchema = z64.enum(SITE_BANNER_SCOPE_VALUES);
52930
+ var siteBannerToneSchema = z64.enum(SITE_BANNER_TONE_VALUES);
52931
+ var siteBannerBodySchema = z64.unknown().transform(unwrapRichTextValue);
52932
+ var siteBannerCtaSchema = z64.object({
52933
+ label: z64.string().trim().min(1),
52672
52934
  link: linkPayloadSchema
52673
52935
  });
52674
- var siteBannerSettingsSchema = z63.discriminatedUnion("enabled", [
52675
- z63.object({
52676
- enabled: z63.literal(false)
52936
+ var siteBannerSettingsSchema = z64.discriminatedUnion("enabled", [
52937
+ z64.object({
52938
+ enabled: z64.literal(false)
52677
52939
  }),
52678
- z63.object({
52679
- enabled: z63.literal(true),
52940
+ z64.object({
52941
+ enabled: z64.literal(true),
52680
52942
  scope: siteBannerScopeSchema,
52681
52943
  tone: siteBannerToneSchema,
52682
52944
  body: siteBannerBodySchema,
@@ -52690,7 +52952,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
52690
52952
  const analysis = analyzeSiteBannerBody(value.body);
52691
52953
  for (const issue of analysis.issues) {
52692
52954
  ctx.addIssue({
52693
- code: z63.ZodIssueCode.custom,
52955
+ code: z64.ZodIssueCode.custom,
52694
52956
  path: ["body"],
52695
52957
  message: siteBannerBodyIssueMessage(issue)
52696
52958
  });
@@ -52914,71 +53176,71 @@ function parsePublicProductCategorySelector(value) {
52914
53176
  }
52915
53177
 
52916
53178
  // ../api/src/aiPlayground.ts
52917
- import { z as z64 } from "zod";
52918
- var Rfc6902PatchOp = z64.discriminatedUnion("op", [
53179
+ import { z as z65 } from "zod";
53180
+ var Rfc6902PatchOp = z65.discriminatedUnion("op", [
52919
53181
  // Standard RFC-6902 operations
52920
- z64.object({
52921
- op: z64.literal("add"),
52922
- path: z64.string(),
52923
- value: z64.unknown()
53182
+ z65.object({
53183
+ op: z65.literal("add"),
53184
+ path: z65.string(),
53185
+ value: z65.unknown()
52924
53186
  }),
52925
- z64.object({
52926
- op: z64.literal("remove"),
52927
- path: z64.string()
53187
+ z65.object({
53188
+ op: z65.literal("remove"),
53189
+ path: z65.string()
52928
53190
  }),
52929
- z64.object({
52930
- op: z64.literal("replace"),
52931
- path: z64.string(),
52932
- value: z64.unknown()
53191
+ z65.object({
53192
+ op: z65.literal("replace"),
53193
+ path: z65.string(),
53194
+ value: z65.unknown()
52933
53195
  }),
52934
- z64.object({
52935
- op: z64.literal("move"),
52936
- from: z64.string(),
52937
- path: z64.string()
53196
+ z65.object({
53197
+ op: z65.literal("move"),
53198
+ from: z65.string(),
53199
+ path: z65.string()
52938
53200
  }),
52939
- z64.object({
52940
- op: z64.literal("copy"),
52941
- from: z64.string(),
52942
- path: z64.string()
53201
+ z65.object({
53202
+ op: z65.literal("copy"),
53203
+ from: z65.string(),
53204
+ path: z65.string()
52943
53205
  }),
52944
53206
  // Block-level operations (Phase 2)
52945
- z64.object({
52946
- op: z64.literal("add_block"),
52947
- blockKind: z64.string(),
52948
- afterBlockId: z64.string().nullable(),
52949
- content: z64.record(z64.string(), z64.unknown()),
52950
- rationale: z64.string()
53207
+ z65.object({
53208
+ op: z65.literal("add_block"),
53209
+ blockKind: z65.string(),
53210
+ afterBlockId: z65.string().nullable(),
53211
+ content: z65.record(z65.string(), z65.unknown()),
53212
+ rationale: z65.string()
52951
53213
  }),
52952
- z64.object({
52953
- op: z64.literal("delete_block"),
52954
- blockId: z64.string(),
52955
- rationale: z64.string()
53214
+ z65.object({
53215
+ op: z65.literal("delete_block"),
53216
+ blockId: z65.string(),
53217
+ rationale: z65.string()
52956
53218
  }),
52957
- z64.object({
52958
- op: z64.literal("reorder_block"),
52959
- blockId: z64.string(),
52960
- afterBlockId: z64.string().nullable(),
52961
- rationale: z64.string()
53219
+ z65.object({
53220
+ op: z65.literal("reorder_block"),
53221
+ blockId: z65.string(),
53222
+ afterBlockId: z65.string().nullable(),
53223
+ rationale: z65.string()
52962
53224
  })
52963
53225
  ]);
52964
- var PlaygroundProposeRequest = z64.object({
52965
- request: z64.string().min(1).max(2e3)
53226
+ var PlaygroundProposeRequest = z65.object({
53227
+ request: z65.string().min(1).max(2e3)
52966
53228
  });
52967
- var MultiPagePatchEnvelope = z64.object({
52968
- pageId: z64.string(),
52969
- blockId: z64.string().optional(),
53229
+ var MultiPagePatchEnvelope = z65.object({
53230
+ pageId: z65.string(),
53231
+ blockId: z65.string().optional(),
52970
53232
  // Not present for page-level ops
52971
- blockKind: z64.string().optional(),
52972
- blockPurpose: z64.string().optional().nullable(),
52973
- ops: z64.array(Rfc6902PatchOp),
52974
- rationale: z64.string(),
52975
- currentContent: z64.record(z64.string(), z64.unknown()).optional()
53233
+ blockKind: z65.string().optional(),
53234
+ blockPurpose: z65.string().optional().nullable(),
53235
+ ops: z65.array(Rfc6902PatchOp),
53236
+ rationale: z65.string(),
53237
+ currentContent: z65.record(z65.string(), z65.unknown()).optional()
52976
53238
  });
52977
- var MultiPageUpdateResponse = z64.object({
52978
- patches: z64.array(MultiPagePatchEnvelope),
52979
- assistantMessage: z64.string(),
52980
- pagesModified: z64.number(),
52981
- toolCallsUsed: z64.number()
53239
+ var MultiPageUpdateResponse = z65.object({
53240
+ patches: z65.array(MultiPagePatchEnvelope),
53241
+ assistantMessage: z65.string(),
53242
+ pagesModified: z65.number(),
53243
+ toolCallsUsed: z65.number()
52982
53244
  });
52983
53245
 
52984
53246
  // src/data/prefetchBlockData.ts
@@ -52987,6 +53249,7 @@ var SUPPORTED_LOADER_ENDPOINTS2 = [
52987
53249
  "getPublishedEntryPreview",
52988
53250
  "listPublicEvents",
52989
53251
  "listPublicCourses",
53252
+ "listPublicTeamMembers",
52990
53253
  "listPublicProducts",
52991
53254
  "listPublicPasses",
52992
53255
  "listPublicMemberships",
@@ -53151,6 +53414,16 @@ async function prefetchBlockData2(page, context, client, options) {
53151
53414
  const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
53152
53415
  return await client.listPublicCourses({ siteId, limit: parsedLimit, stage });
53153
53416
  }
53417
+ case "listPublicTeamMembers": {
53418
+ const { siteId, stage } = resolvedParams ?? {};
53419
+ if (!siteId) {
53420
+ throw new Error("listPublicTeamMembers requires siteId param");
53421
+ }
53422
+ return await client.listPublicTeamMembers({
53423
+ siteId,
53424
+ stage: typeof stage === "string" ? stage : void 0
53425
+ });
53426
+ }
53154
53427
  case "listPublicProducts": {
53155
53428
  const { siteId, stage, categorySelector } = resolvedParams ?? {};
53156
53429
  if (!siteId) {