@riverbankcms/sdk 0.64.0 → 0.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/_dts/api/src/aiPlayground.d.ts +18 -11
  2. package/dist/_dts/api/src/apiEndpointTypes.d.ts +12 -0
  3. package/dist/_dts/api/src/bookingOperations.d.ts +1 -1
  4. package/dist/_dts/api/src/endpoints.d.ts +25 -0
  5. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +0 -40
  6. package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
  7. package/dist/_dts/api/src/siteMembers.d.ts +1 -1
  8. package/dist/_dts/api/src/siteOperations.d.ts +1 -1
  9. package/dist/_dts/billing/src/plans/types.d.ts +1 -1
  10. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
  11. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  12. package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +1 -0
  13. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
  14. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +81 -0
  15. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +7 -3
  16. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  17. package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +33 -0
  18. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +2 -1
  19. package/dist/_dts/sdk/src/cli/env.d.ts +2 -1
  20. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +2 -1
  21. package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +13 -0
  22. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +114 -0
  23. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +26 -48
  24. package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +50 -0
  25. package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +57 -0
  26. package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +5 -0
  27. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +57 -0
  28. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +83 -0
  29. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +67 -14
  30. package/dist/_dts/sdk/src/cli/sync/executor.d.ts +10 -28
  31. package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -1
  32. package/dist/_dts/sdk/src/config/dashboard-validation.d.ts +0 -48
  33. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  34. package/dist/_dts/sdk/src/version.d.ts +1 -1
  35. package/dist/_dts/site-commands/src/adapter.d.ts +2 -2
  36. package/dist/_dts/site-commands/src/commands.d.ts +410 -13
  37. package/dist/_dts/site-commands/src/domain.d.ts +3 -3
  38. package/dist/_dts/site-commands/src/exposure.d.ts +41 -0
  39. package/dist/_dts/site-commands/src/index.d.ts +1 -0
  40. package/dist/_dts/site-commands/src/metadata.d.ts +93 -2
  41. package/dist/_dts/site-commands/src/planner.d.ts +13 -6
  42. package/dist/_dts/site-commands/src/refs.d.ts +13 -1
  43. package/dist/_dts/theme-core/src/palette/utils/index.d.ts +1 -0
  44. package/dist/_dts/theme-core/src/palette/utils/onColor.d.ts +2 -0
  45. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +83 -0
  46. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  47. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +89 -12
  48. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +8 -2
  49. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  50. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +3 -2
  51. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -6
  52. package/dist/_dts/ui/src/callout.d.ts +1 -1
  53. package/dist/cli/index.mjs +4290 -2513
  54. package/dist/client/client.mjs +598 -372
  55. package/dist/client/hooks.mjs +311 -123
  56. package/dist/client/rendering/client.mjs +209 -68
  57. package/dist/client/rendering/islands.mjs +281 -150
  58. package/dist/client/rendering.mjs +416 -190
  59. package/dist/preview-next/before-render.mjs +61 -13
  60. package/dist/preview-next/client/runtime.mjs +930 -376
  61. package/dist/preview-next/middleware.mjs +61 -13
  62. package/dist/server/components.mjs +526 -325
  63. package/dist/server/config-validation.mjs +313 -125
  64. package/dist/server/config.mjs +313 -125
  65. package/dist/server/data.mjs +311 -123
  66. package/dist/server/index.mjs +78 -16
  67. package/dist/server/next.mjs +527 -326
  68. package/dist/server/page-converter.mjs +159 -41
  69. package/dist/server/prebuild.mjs +1 -1
  70. package/dist/server/rendering/server.mjs +526 -325
  71. package/dist/server/rendering.mjs +526 -325
  72. package/dist/server/routing.mjs +392 -131
  73. package/dist/server/server.mjs +312 -124
  74. package/dist/server/theme-bridge.mjs +155 -48
  75. package/package.json +1 -1
  76. package/dist/_dts/path-utils/src/index.d.ts +0 -8
  77. package/dist/_dts/path-utils/src/redirectPaths.d.ts +0 -26
  78. package/dist/_dts/path-utils/src/safeAppPath.d.ts +0 -26
@@ -20,6 +20,17 @@ function encodePublicProductCategorySelector(selector) {
20
20
  }
21
21
  }
22
22
 
23
+ // ../api/src/apiEndpointTypes.ts
24
+ function blockedDemoMutationPolicy(classification, publicMessage) {
25
+ if (publicMessage.trim() === "") {
26
+ throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
27
+ }
28
+ return {
29
+ classification,
30
+ publicMessage
31
+ };
32
+ }
33
+
23
34
  // ../api/src/cache-tags.ts
24
35
  var TAG_TEMPLATES = {
25
36
  siteCollection: "riverbank:site",
@@ -50,6 +61,18 @@ var TAG_TEMPLATES = {
50
61
  };
51
62
 
52
63
  // ../api/src/endpoints.ts
64
+ var DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy(
65
+ "blocked-hidden",
66
+ "This action is not available in demo sites."
67
+ );
68
+ var DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy(
69
+ "blocked-disabled",
70
+ "This setting is disabled in demo sites."
71
+ );
72
+ var DEMO_MUTATION_INTERNAL_ONLY = blockedDemoMutationPolicy(
73
+ "internal-only",
74
+ "This internal operation is not available in demo sites."
75
+ );
53
76
  var ENDPOINT_DEFINITIONS = {
54
77
  // AI endpoints - no cache due to dynamic nature
55
78
  aiContentUpdateChat: {
@@ -166,7 +189,8 @@ var ENDPOINT_DEFINITIONS = {
166
189
  path: "/sites/{siteId}/ai/generate",
167
190
  method: "POST",
168
191
  auth: "user",
169
- responseKind: "json"
192
+ responseKind: "json",
193
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
170
194
  },
171
195
  getOnboardingPreviewStatus: {
172
196
  path: "/public/sites/{siteId}/onboarding/preview-status",
@@ -187,7 +211,8 @@ var ENDPOINT_DEFINITIONS = {
187
211
  method: "POST",
188
212
  auth: "user",
189
213
  errors: [],
190
- responseKind: "json"
214
+ responseKind: "json",
215
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
191
216
  },
192
217
  goLiveSite: {
193
218
  path: "/sites/{siteId}/launch/go-live",
@@ -256,20 +281,23 @@ var ENDPOINT_DEFINITIONS = {
256
281
  path: "/sites/{siteId}/ai/site-wizard/goals",
257
282
  method: "POST",
258
283
  auth: "user",
259
- responseKind: "json"
284
+ responseKind: "json",
285
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
260
286
  },
261
287
  aiSiteWizardIntakeTriage: {
262
288
  path: "/sites/{siteId}/ai/site-wizard/intake-triage",
263
289
  method: "POST",
264
290
  auth: "user",
265
- responseKind: "json"
291
+ responseKind: "json",
292
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
266
293
  },
267
294
  aiSiteWizardTelemetry: {
268
295
  path: "/sites/{siteId}/ai/site-wizard/telemetry",
269
296
  method: "POST",
270
297
  auth: "user",
271
298
  errors: [],
272
- responseKind: "json"
299
+ responseKind: "json",
300
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
273
301
  },
274
302
  // Admin SEO
275
303
  listGscPropertiesAdmin: {
@@ -476,7 +504,7 @@ var ENDPOINT_DEFINITIONS = {
476
504
  responseKind: "json",
477
505
  errors: ["resource:not_found", "server:internal_error"]
478
506
  },
479
- // Ops (event hosts/admins)
507
+ // Ops (staff event operators/admins)
480
508
  opsListUpcomingEventOccurrences: {
481
509
  path: "/ops/sites/{siteId}/events",
482
510
  method: "GET",
@@ -494,6 +522,7 @@ var ENDPOINT_DEFINITIONS = {
494
522
  method: "POST",
495
523
  auth: "user",
496
524
  responseKind: "json",
525
+ demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
497
526
  errors: [
498
527
  "validation:invalid_input",
499
528
  "auth:forbidden",
@@ -506,6 +535,7 @@ var ENDPOINT_DEFINITIONS = {
506
535
  method: "POST",
507
536
  auth: "user",
508
537
  responseKind: "json",
538
+ demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
509
539
  errors: [
510
540
  "validation:invalid_input",
511
541
  "auth:forbidden",
@@ -524,6 +554,7 @@ var ENDPOINT_DEFINITIONS = {
524
554
  method: "POST",
525
555
  auth: "user",
526
556
  responseKind: "json",
557
+ demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
527
558
  errors: [
528
559
  "validation:invalid_input",
529
560
  "auth:forbidden",
@@ -557,6 +588,7 @@ var ENDPOINT_DEFINITIONS = {
557
588
  method: "POST",
558
589
  auth: "user",
559
590
  responseKind: "json",
591
+ demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
560
592
  errors: [
561
593
  "validation:invalid_input",
562
594
  "auth:forbidden",
@@ -585,7 +617,8 @@ var ENDPOINT_DEFINITIONS = {
585
617
  method: "POST",
586
618
  tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings],
587
619
  auth: "user",
588
- responseKind: "json"
620
+ responseKind: "json",
621
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
589
622
  },
590
623
  previewEmailTemplate: {
591
624
  path: "/sites/{siteId}/settings/emails/preview",
@@ -636,14 +669,16 @@ var ENDPOINT_DEFINITIONS = {
636
669
  method: "POST",
637
670
  tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
638
671
  auth: "user",
639
- responseKind: "json"
672
+ responseKind: "json",
673
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
640
674
  },
641
675
  createNewsletterSubscribersImportUploadUrl: {
642
676
  path: "/sites/{siteId}/newsletter/subscribers/import-url",
643
677
  method: "POST",
644
678
  tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
645
679
  auth: "user",
646
- responseKind: "json"
680
+ responseKind: "json",
681
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
647
682
  },
648
683
  exportNewsletterSubscribersCsv: {
649
684
  path: "/sites/{siteId}/newsletter/subscribers/export.csv",
@@ -840,14 +875,16 @@ var ENDPOINT_DEFINITIONS = {
840
875
  method: "POST",
841
876
  tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
842
877
  auth: "user",
843
- responseKind: "json"
878
+ responseKind: "json",
879
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
844
880
  },
845
881
  testSendNewsletterCampaign: {
846
882
  path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
847
883
  method: "POST",
848
884
  tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
849
885
  auth: "user",
850
- responseKind: "json"
886
+ responseKind: "json",
887
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
851
888
  },
852
889
  listNewsletterSendJobs: {
853
890
  path: "/sites/{siteId}/newsletter/jobs",
@@ -1535,7 +1572,8 @@ var ENDPOINT_DEFINITIONS = {
1535
1572
  method: "DELETE",
1536
1573
  tags: ["site", "site-{siteId}"],
1537
1574
  auth: "user",
1538
- responseKind: "json"
1575
+ responseKind: "json",
1576
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1539
1577
  },
1540
1578
  listSiteMembers: {
1541
1579
  path: "/sites/{siteId}/members",
@@ -1991,7 +2029,8 @@ var ENDPOINT_DEFINITIONS = {
1991
2029
  method: "POST",
1992
2030
  tags: ["site-{siteId}", "content-{siteId}-{type}"],
1993
2031
  auth: "user",
1994
- responseKind: "json"
2032
+ responseKind: "json",
2033
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
1995
2034
  },
1996
2035
  updateSiteGeneralSettings: {
1997
2036
  path: "/sites/{siteId}/settings/general",
@@ -4230,6 +4269,7 @@ var ENDPOINT_DEFINITIONS = {
4230
4269
  method: "POST",
4231
4270
  tags: ["site-{siteId}"],
4232
4271
  auth: "user",
4272
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN,
4233
4273
  errors: [
4234
4274
  "validation:invalid_input",
4235
4275
  "auth:forbidden",
@@ -4244,6 +4284,7 @@ var ENDPOINT_DEFINITIONS = {
4244
4284
  method: "POST",
4245
4285
  tags: ["site-{siteId}"],
4246
4286
  auth: "user",
4287
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN,
4247
4288
  errors: [
4248
4289
  "validation:invalid_input",
4249
4290
  "auth:forbidden",
@@ -4553,6 +4594,7 @@ var ENDPOINT_DEFINITIONS = {
4553
4594
  tags: ["site-{siteId}", "passes-{siteId}"],
4554
4595
  auth: "user",
4555
4596
  responseKind: "json",
4597
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
4556
4598
  errors: ["validation:invalid_input", "server:internal_error"]
4557
4599
  },
4558
4600
  getBookingPass: {
@@ -4568,6 +4610,7 @@ var ENDPOINT_DEFINITIONS = {
4568
4610
  tags: ["site-{siteId}", "passes-{siteId}"],
4569
4611
  auth: "user",
4570
4612
  responseKind: "json",
4613
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
4571
4614
  errors: [
4572
4615
  "validation:invalid_input",
4573
4616
  "resource:not_found",
@@ -4580,6 +4623,7 @@ var ENDPOINT_DEFINITIONS = {
4580
4623
  tags: ["site-{siteId}", "passes-{siteId}"],
4581
4624
  auth: "user",
4582
4625
  responseKind: "json",
4626
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
4583
4627
  errors: [
4584
4628
  "validation:invalid_input",
4585
4629
  "resource:not_found",
@@ -4635,6 +4679,7 @@ var ENDPOINT_DEFINITIONS = {
4635
4679
  tags: ["site-{siteId}", "memberships-{siteId}"],
4636
4680
  auth: "user",
4637
4681
  responseKind: "json",
4682
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
4638
4683
  errors: ["validation:invalid_input", "server:internal_error"]
4639
4684
  },
4640
4685
  getBookingMembership: {
@@ -4650,6 +4695,7 @@ var ENDPOINT_DEFINITIONS = {
4650
4695
  tags: ["site-{siteId}", "memberships-{siteId}"],
4651
4696
  auth: "user",
4652
4697
  responseKind: "json",
4698
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
4653
4699
  errors: [
4654
4700
  "validation:invalid_input",
4655
4701
  "resource:not_found",
@@ -4662,6 +4708,7 @@ var ENDPOINT_DEFINITIONS = {
4662
4708
  tags: ["site-{siteId}", "memberships-{siteId}"],
4663
4709
  auth: "user",
4664
4710
  responseKind: "json",
4711
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
4665
4712
  errors: [
4666
4713
  "validation:invalid_input",
4667
4714
  "resource:not_found",
@@ -4878,6 +4925,7 @@ var ENDPOINT_DEFINITIONS = {
4878
4925
  tags: ["site-{siteId}", "customers-{siteId}"],
4879
4926
  auth: "user",
4880
4927
  responseKind: "json",
4928
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
4881
4929
  errors: [
4882
4930
  "validation:invalid_input",
4883
4931
  "auth:forbidden",
@@ -6696,7 +6744,7 @@ var SimpleCache = class {
6696
6744
  };
6697
6745
 
6698
6746
  // src/version.ts
6699
- var SDK_VERSION = "0.64.0";
6747
+ var SDK_VERSION = "0.67.0";
6700
6748
 
6701
6749
  // src/client/error.ts
6702
6750
  var RiverbankApiError = class _RiverbankApiError extends Error {
@@ -9313,8 +9361,7 @@ var dashboardNavVisibilityBaseSchema = z5.object({
9313
9361
  var dashboardNavVisibilityRolesSchema = z5.object({
9314
9362
  administrator: dashboardNavVisibilityBaseSchema.optional(),
9315
9363
  editor: dashboardNavVisibilityBaseSchema.optional(),
9316
- team_member: dashboardNavVisibilityBaseSchema.optional(),
9317
- event_host: dashboardNavVisibilityBaseSchema.optional()
9364
+ team_member: dashboardNavVisibilityBaseSchema.optional()
9318
9365
  }).strip().optional();
9319
9366
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
9320
9367
  roles: dashboardNavVisibilityRolesSchema
@@ -9828,6 +9875,21 @@ var appointmentSetupServiceDraftSchema = z7.object({
9828
9875
  timezone: z7.string().trim().min(1).nullable(),
9829
9876
  payment: appointmentSetupPaymentDraftSchema,
9830
9877
  assignment: appointmentSetupServiceAssignmentDraftSchema
9878
+ }).superRefine((service, ctx) => {
9879
+ if (service.payment.priceType === "paid" && (service.priceAmount === null || service.priceAmount <= 0)) {
9880
+ ctx.addIssue({
9881
+ code: "custom",
9882
+ path: ["priceAmount"],
9883
+ message: "Paid appointment services need a positive price."
9884
+ });
9885
+ }
9886
+ if (service.payment.priceType === "free" && service.priceAmount !== null && service.priceAmount > 0) {
9887
+ ctx.addIssue({
9888
+ code: "custom",
9889
+ path: ["priceAmount"],
9890
+ message: "Free appointment services cannot carry a positive price."
9891
+ });
9892
+ }
9831
9893
  });
9832
9894
  var appointmentSetupPractitionerDraftSchema = z7.object({
9833
9895
  ref: appointmentSetupRefSchema,