@riverbankcms/sdk 0.70.3 → 0.70.4

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 (79) hide show
  1. package/dist/_dts/api/src/contentTypes.d.ts +2 -1
  2. package/dist/_dts/block-form/src/client/index.d.ts +1 -1
  3. package/dist/_dts/block-form/src/fields/types.d.ts +14 -2
  4. package/dist/_dts/block-form/src/registry/schemas.d.ts +2 -0
  5. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldDefaults.d.ts +2 -2
  6. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldSchema.d.ts +2 -2
  7. package/dist/_dts/blocks/src/lib/media.d.ts +1 -1
  8. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1829 -149
  9. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +1829 -149
  10. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1829 -149
  11. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1829 -149
  12. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +1829 -149
  13. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1 -30727
  14. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +11 -30827
  15. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1829 -149
  16. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +3 -3
  17. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1829 -149
  18. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +106 -1
  19. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1829 -149
  20. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +1829 -149
  21. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1829 -149
  22. package/dist/_dts/blocks/src/system/defineBlock.d.ts +3 -3
  23. package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +2 -30793
  24. package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +2 -30727
  25. package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +2 -30779
  26. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +33 -30743
  27. package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +2 -30770
  28. package/dist/_dts/blocks/src/system/fragments/types.d.ts +8 -7
  29. package/dist/_dts/blocks/src/system/manifest/derivedContent.d.ts +7 -5
  30. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +192 -3
  32. package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +1 -1
  33. package/dist/_dts/content-model/src/content-types/schema.d.ts +7 -0
  34. package/dist/_dts/content-model/src/contentManifest.d.ts +4 -1
  35. package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +1 -1
  36. package/dist/_dts/core/src/index.d.ts +1 -1
  37. package/dist/_dts/core/src/planner.d.ts +4 -0
  38. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +53 -20
  39. package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
  40. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +6 -5
  41. package/dist/_dts/media-core/src/videoSlotPolicy.d.ts +0 -1
  42. package/dist/_dts/media-editor/src/context.d.ts +4 -1
  43. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +8 -1
  44. package/dist/_dts/media-react/src/index.d.ts +1 -5
  45. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +2 -1
  46. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
  47. package/dist/_dts/sdk/src/config/field-definitions.d.ts +6 -2
  48. package/dist/_dts/sdk/src/config/typed-entries.d.ts +4 -2
  49. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +2 -1
  50. package/dist/_dts/sdk/src/manifest/prompt/examples/cta.d.ts +5 -5
  51. package/dist/_dts/sdk/src/manifest/prompt/examples/features-grid.d.ts +2 -2
  52. package/dist/_dts/sdk/src/manifest/prompt/examples/hero.d.ts +2 -2
  53. package/dist/_dts/sdk/src/manifest/prompt/examples/pricing.d.ts +10 -10
  54. package/dist/_dts/sdk/src/manifest/prompt/examples/testimonials.d.ts +4 -4
  55. package/dist/_dts/sdk/src/manifest/validation/output-schema.d.ts +11 -1
  56. package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -1
  57. package/dist/_dts/sdk/src/version.d.ts +1 -1
  58. package/dist/cli/index.mjs +395 -190
  59. package/dist/cli/init-docs/content/workflow-preview-mode.md +167 -0
  60. package/dist/client/client.mjs +243 -203
  61. package/dist/client/hooks.mjs +172 -121
  62. package/dist/client/rendering/client.mjs +148 -112
  63. package/dist/client/rendering/islands.mjs +80 -31
  64. package/dist/client/rendering.mjs +242 -202
  65. package/dist/preview-next/client/runtime.mjs +386 -1135
  66. package/dist/server/components.mjs +219 -171
  67. package/dist/server/config-template-validation.mjs +31 -1
  68. package/dist/server/config-validation.mjs +172 -121
  69. package/dist/server/config.mjs +172 -121
  70. package/dist/server/data.mjs +172 -121
  71. package/dist/server/index.mjs +1 -1
  72. package/dist/server/next.mjs +220 -172
  73. package/dist/server/page-converter.mjs +379 -185
  74. package/dist/server/prebuild.mjs +1 -1
  75. package/dist/server/rendering/server.mjs +219 -171
  76. package/dist/server/rendering.mjs +219 -171
  77. package/dist/server/routing.mjs +175 -124
  78. package/dist/server/server.mjs +173 -122
  79. package/package.json +2 -1
@@ -6596,6 +6596,28 @@ function resolveRepeaterGridColumnFieldId(options) {
6596
6596
 
6597
6597
  // ../blocks/src/system/manifest/schema.ts
6598
6598
  var visibilityLevels = ["admin", "designer", "author"];
6599
+ var MEDIA_KINDS = [
6600
+ "image",
6601
+ "video",
6602
+ "audio",
6603
+ "document",
6604
+ "spreadsheet",
6605
+ "archive"
6606
+ ];
6607
+ var DISPLAY_MEDIA_KINDS = [
6608
+ "image",
6609
+ "video",
6610
+ "audio"
6611
+ ];
6612
+ var PUBLIC_FILE_FIELD_KINDS = [
6613
+ "document",
6614
+ "spreadsheet",
6615
+ "archive",
6616
+ "audio"
6617
+ ];
6618
+ function isDisplayMediaKind(kind) {
6619
+ return DISPLAY_MEDIA_KINDS.includes(kind);
6620
+ }
6599
6621
  var siteOptionSources = [
6600
6622
  "eventCategories",
6601
6623
  "venues",
@@ -6759,11 +6781,19 @@ var richTextFieldSchema = baseFieldSchema.extend({
6759
6781
  });
6760
6782
  var mediaFieldSchema = baseFieldSchema.extend({
6761
6783
  type: z4.literal("media"),
6762
- mediaKinds: z4.array(
6763
- z4.enum(["image", "video", "audio", "document", "spreadsheet", "archive"])
6764
- ).default(["image"]),
6784
+ // Keep full MEDIA_KINDS parse compatibility for pre-file-field manifests.
6785
+ // New authoring surfaces should use `file.fileKinds` for document/archive
6786
+ // style assets, but old saved schemas must not fail to open.
6787
+ mediaKinds: z4.array(z4.enum(MEDIA_KINDS)).default(["image"]).transform((kinds) => {
6788
+ const displayKinds = kinds.filter(isDisplayMediaKind);
6789
+ return displayKinds.length > 0 ? displayKinds : ["image"];
6790
+ }),
6765
6791
  aspectRatio: z4.string().optional()
6766
6792
  });
6793
+ var fileFieldSchema = baseFieldSchema.extend({
6794
+ type: z4.literal("file"),
6795
+ fileKinds: z4.array(z4.enum(PUBLIC_FILE_FIELD_KINDS)).default([...PUBLIC_FILE_FIELD_KINDS])
6796
+ });
6767
6797
  var booleanFieldSchema = baseFieldSchema.extend({
6768
6798
  type: z4.literal("boolean")
6769
6799
  });
@@ -7069,6 +7099,7 @@ function getFieldSchemaInternal() {
7069
7099
  textFieldSchema,
7070
7100
  richTextFieldSchema,
7071
7101
  mediaFieldSchema,
7102
+ fileFieldSchema,
7072
7103
  booleanFieldSchema,
7073
7104
  numberFieldSchema,
7074
7105
  dateFieldSchema,
@@ -14205,13 +14236,18 @@ var fragmentDataSchema = z27.object({
14205
14236
  loader: dataLoaderSchema.optional()
14206
14237
  });
14207
14238
  var fragmentConfigSchema = z27.object({
14208
- id: z27.string().min(1, "Fragment id is required").regex(FRAGMENT_ID_PATTERN, "Fragment id must be alphanumeric with optional . _ - separators"),
14239
+ id: z27.string().min(1, "Fragment id is required").regex(
14240
+ FRAGMENT_ID_PATTERN,
14241
+ "Fragment id must be alphanumeric with optional . _ - separators"
14242
+ ),
14209
14243
  title: z27.string().optional(),
14210
14244
  description: z27.string().optional(),
14211
14245
  category: z27.enum(["content", "media", "interactive", "layout"]).optional(),
14212
14246
  icon: z27.string().optional(),
14213
14247
  fields: fieldSchema.array().default([]),
14214
- layout: z27.union([NodeSchema, NodeSchema.array()]).transform((value) => Array.isArray(value) ? value : [value]),
14248
+ layout: z27.union([NodeSchema, NodeSchema.array()]).transform(
14249
+ (value) => Array.isArray(value) ? value : [value]
14250
+ ),
14215
14251
  data: fragmentDataSchema.optional()
14216
14252
  });
14217
14253
  var FragmentConfigError = class extends Error {
@@ -14233,13 +14269,19 @@ function defineFragment(config) {
14233
14269
  function scopeFragmentFields(fragment, scope) {
14234
14270
  const normalizedScope = scope.trim();
14235
14271
  if (!normalizedScope) {
14236
- return fragment.fields.map((field) => cloneFieldDefinition2(field));
14272
+ return fragment.fields.map(
14273
+ (field) => cloneFieldDefinition2(field)
14274
+ );
14237
14275
  }
14238
- return fragment.fields.map((field) => prefixFieldId(field, normalizedScope));
14276
+ return fragment.fields.map(
14277
+ (field) => prefixFieldId(field, normalizedScope)
14278
+ );
14239
14279
  }
14240
14280
  function scopeFragmentLayout(fragment, scope) {
14241
14281
  const normalizedScope = scope.trim();
14242
- return fragment.layout.map((node) => cloneAndScopeNode(node, normalizedScope));
14282
+ return fragment.layout.map(
14283
+ (node) => cloneAndScopeNode(node, normalizedScope)
14284
+ );
14243
14285
  }
14244
14286
  function validateFieldDefinitions(fields3, fragmentId) {
14245
14287
  const seen = /* @__PURE__ */ new Set();
@@ -14321,7 +14363,9 @@ function cloneAndScopeNode(node, scope) {
14321
14363
  ...node
14322
14364
  };
14323
14365
  if (node.children) {
14324
- cloned.children = node.children.map((child) => cloneAndScopeNode(child, scope));
14366
+ cloned.children = node.children.map(
14367
+ (child) => cloneAndScopeNode(child, scope)
14368
+ );
14325
14369
  }
14326
14370
  if (node.props) {
14327
14371
  cloned.props = scopePropBindings(node.props, scope);
@@ -14347,7 +14391,9 @@ function scopeBinding(binding, scope) {
14347
14391
  const cloned = {
14348
14392
  ...binding,
14349
14393
  transforms: binding.transforms?.map(
14350
- (step) => ({ ...step })
14394
+ (step) => ({
14395
+ ...step
14396
+ })
14351
14397
  ) ?? []
14352
14398
  };
14353
14399
  cloned.from = scopeContentPath(binding.from, scope);
@@ -14391,7 +14437,9 @@ function scopePropValue(value, scope) {
14391
14437
  };
14392
14438
  }
14393
14439
  const result = {};
14394
- for (const [key, entry] of Object.entries(value)) {
14440
+ for (const [key, entry] of Object.entries(
14441
+ value
14442
+ )) {
14395
14443
  result[key] = scopePropValue(entry, scope);
14396
14444
  }
14397
14445
  return result;
@@ -14840,28 +14888,29 @@ var ctaRowFragment = defineFragment({
14840
14888
  });
14841
14889
 
14842
14890
  // ../blocks/src/system/fragments/library/heroCtaRow.ts
14891
+ var heroCtaFields = [
14892
+ createCtasRepeater({
14893
+ label: "Calls to action",
14894
+ itemLabel: "CTA",
14895
+ maxItems: 3,
14896
+ button: {
14897
+ variants: [
14898
+ { value: "default", label: "Default" },
14899
+ { value: "primary", label: "Primary" },
14900
+ { value: "secondary", label: "Secondary" },
14901
+ { value: "outline", label: "Outline" }
14902
+ ],
14903
+ defaultVariant: "default",
14904
+ includeSize: true,
14905
+ defaultSize: "lg"
14906
+ }
14907
+ })
14908
+ ];
14843
14909
  var heroCtaRowFragment = defineFragment({
14844
14910
  id: "heroCtaRow",
14845
14911
  title: "Hero CTAs",
14846
14912
  description: "Repeatable hero calls to action rendered inline.",
14847
- fields: [
14848
- createCtasRepeater({
14849
- label: "Calls to action",
14850
- itemLabel: "CTA",
14851
- maxItems: 3,
14852
- button: {
14853
- variants: [
14854
- { value: "default", label: "Default" },
14855
- { value: "primary", label: "Primary" },
14856
- { value: "secondary", label: "Secondary" },
14857
- { value: "outline", label: "Outline" }
14858
- ],
14859
- defaultVariant: "default",
14860
- includeSize: true,
14861
- defaultSize: "lg"
14862
- }
14863
- })
14864
- ],
14913
+ fields: heroCtaFields,
14865
14914
  layout: [
14866
14915
  ctaRow({
14867
14916
  collectionPath: "content.ctas",
@@ -20721,8 +20770,7 @@ var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
20721
20770
  "document",
20722
20771
  "spreadsheet",
20723
20772
  "archive",
20724
- "audio",
20725
- "video"
20773
+ "audio"
20726
20774
  ];
20727
20775
  var hotspotSchema2 = z38.object({
20728
20776
  x: z38.number().min(0).max(1),
@@ -22297,104 +22345,107 @@ var courseDetailsBlockDefinition = {
22297
22345
  };
22298
22346
 
22299
22347
  // ../blocks/src/system/blocks/events/event-spotlight.ts
22300
- var eventSpotlightManifest = createBlockManifest({
22348
+ var eventSpotlightFields = [
22349
+ ...sectionHeaderFields("Upcoming Events"),
22350
+ {
22351
+ id: "maxEvents",
22352
+ type: "select",
22353
+ label: "Events to display",
22354
+ description: "Number of events to show",
22355
+ required: false,
22356
+ multiple: false,
22357
+ defaultValue: "3",
22358
+ options: [
22359
+ { value: "1", label: "1 event" },
22360
+ { value: "2", label: "2 events" },
22361
+ { value: "3", label: "3 events" },
22362
+ { value: "4", label: "4 events" },
22363
+ { value: "5", label: "5 events" },
22364
+ { value: "6", label: "6 events" }
22365
+ ],
22366
+ ui: { intent: "display" }
22367
+ },
22368
+ {
22369
+ id: "ctaLabel",
22370
+ type: "text",
22371
+ label: "Section button text",
22372
+ description: "Optional button shown below the spotlight cards",
22373
+ required: false,
22374
+ multiline: false,
22375
+ maxLength: 40,
22376
+ ui: { intent: "content" }
22377
+ },
22378
+ {
22379
+ id: "ctaUrl",
22380
+ type: "link",
22381
+ label: "Section button destination",
22382
+ required: false,
22383
+ ui: { intent: "display" }
22384
+ },
22385
+ layoutField,
22386
+ columnsField(["2", "3"]),
22387
+ ...cardStylingFields,
22388
+ ...eventDisplayFields,
22389
+ emptyStateField,
22390
+ sectionStylesField({
22391
+ id: "_sectionStyles",
22392
+ label: "Section styles"
22393
+ })
22394
+ ];
22395
+ var eventSpotlightLayout = [
22396
+ styledSection({
22397
+ children: sectionContainer([
22398
+ // Optional heading
22399
+ text(
22400
+ { as: "h2" },
22401
+ bind("content.heading"),
22402
+ when("content.heading")
22403
+ ),
22404
+ // Optional description
22405
+ richText(
22406
+ { className: "rb-prose rb-max-w-none" },
22407
+ bind("content.description"),
22408
+ when("content.description")
22409
+ ),
22410
+ // Event spotlight component
22411
+ el("event-spotlight", {
22412
+ events: { $bind: { from: "data.events" } },
22413
+ layout: { $bind: { from: "content.layout", fallback: "grid" } },
22414
+ columns: { $bind: { from: "content.columns", fallback: "3" } },
22415
+ cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
22416
+ buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
22417
+ buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
22418
+ ctaLabel: { $bind: { from: "content.ctaLabel" } },
22419
+ ctaUrl: { $bind: { from: "content.ctaUrl", transforms: [{ id: "links.resolve" }] } },
22420
+ showVenue: { $bind: { from: "content.showVenue" } },
22421
+ showMap: { $bind: { from: "content.showMap" } },
22422
+ showCapacity: { $bind: { from: "content.showCapacity" } },
22423
+ emptyMessage: { $bind: { from: "content.emptyMessage" } }
22424
+ })
22425
+ ], {
22426
+ gap: "lg"
22427
+ }),
22428
+ // sectionContainer (rb-container) already provides horizontal padding
22429
+ baseClass: "",
22430
+ spacing: "comfortable"
22431
+ })
22432
+ ];
22433
+ var eventSpotlightConfig = {
22301
22434
  id: "block.event-spotlight",
22302
22435
  version: "1.1.0",
22303
22436
  title: "Event Spotlight",
22304
22437
  titleSource: "heading",
22305
22438
  description: "Feature a few upcoming events on your homepage",
22306
22439
  skipSectionStyles: true,
22307
- additionalFields: [
22308
- ...sectionHeaderFields("Upcoming Events"),
22309
- {
22310
- id: "maxEvents",
22311
- type: "select",
22312
- label: "Events to display",
22313
- description: "Number of events to show",
22314
- required: false,
22315
- multiple: false,
22316
- defaultValue: "3",
22317
- options: [
22318
- { value: "1", label: "1 event" },
22319
- { value: "2", label: "2 events" },
22320
- { value: "3", label: "3 events" },
22321
- { value: "4", label: "4 events" },
22322
- { value: "5", label: "5 events" },
22323
- { value: "6", label: "6 events" }
22324
- ],
22325
- ui: { intent: "display" }
22326
- },
22327
- {
22328
- id: "ctaLabel",
22329
- type: "text",
22330
- label: "Section button text",
22331
- description: "Optional button shown below the spotlight cards",
22332
- required: false,
22333
- multiline: false,
22334
- maxLength: 40,
22335
- ui: { intent: "content" }
22336
- },
22337
- {
22338
- id: "ctaUrl",
22339
- type: "link",
22340
- label: "Section button destination",
22341
- required: false,
22342
- ui: { intent: "display" }
22343
- },
22344
- layoutField,
22345
- columnsField(["2", "3"]),
22346
- ...cardStylingFields,
22347
- ...eventDisplayFields,
22348
- emptyStateField,
22349
- sectionStylesField({
22350
- id: "_sectionStyles",
22351
- label: "Section styles"
22352
- })
22353
- ],
22440
+ additionalFields: eventSpotlightFields,
22354
22441
  styleTokens: { background: "surface", typography: "body", spacing: "md" },
22355
22442
  behaviours: { supportsThemeSwitching: true, inlineEditing: false, animation: false, paletteHidden: false },
22356
22443
  category: "content",
22357
22444
  tags: ["events", "featured", "homepage", "spotlight", "upcoming"],
22358
22445
  icon: "Star",
22359
- layout: [
22360
- styledSection({
22361
- children: sectionContainer([
22362
- // Optional heading
22363
- text(
22364
- { as: "h2" },
22365
- bind("content.heading"),
22366
- when("content.heading")
22367
- ),
22368
- // Optional description
22369
- richText(
22370
- { className: "rb-prose rb-max-w-none" },
22371
- bind("content.description"),
22372
- when("content.description")
22373
- ),
22374
- // Event spotlight component
22375
- el("event-spotlight", {
22376
- events: { $bind: { from: "data.events" } },
22377
- layout: { $bind: { from: "content.layout", fallback: "grid" } },
22378
- columns: { $bind: { from: "content.columns", fallback: "3" } },
22379
- cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
22380
- buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
22381
- buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
22382
- ctaLabel: { $bind: { from: "content.ctaLabel" } },
22383
- ctaUrl: { $bind: { from: "content.ctaUrl", transforms: [{ id: "links.resolve" }] } },
22384
- showVenue: { $bind: { from: "content.showVenue" } },
22385
- showMap: { $bind: { from: "content.showMap" } },
22386
- showCapacity: { $bind: { from: "content.showCapacity" } },
22387
- emptyMessage: { $bind: { from: "content.emptyMessage" } }
22388
- })
22389
- ], {
22390
- gap: "lg"
22391
- }),
22392
- // sectionContainer (rb-container) already provides horizontal padding
22393
- baseClass: "",
22394
- spacing: "comfortable"
22395
- })
22396
- ]
22397
- });
22446
+ layout: eventSpotlightLayout
22447
+ };
22448
+ var eventSpotlightManifest = createBlockManifest(eventSpotlightConfig);
22398
22449
  var eventSpotlightBlockDefinition = {
22399
22450
  manifest: eventSpotlightManifest,
22400
22451
  dataSchemas: {
@@ -25084,18 +25135,18 @@ var fileDownloadManifest = createBlockManifest({
25084
25135
  title: "File Download",
25085
25136
  titleSource: ["title", "file.filename"],
25086
25137
  category: "media",
25087
- description: "Add a simple public download link for a document, ZIP, audio, or video file.",
25138
+ description: "Add a simple public download link for a document, ZIP, or audio file.",
25088
25139
  tags: ["file", "download", "document", "zip", "media"],
25089
25140
  icon: "Download",
25090
25141
  includeContainerStyles: true,
25091
25142
  additionalFields: [
25092
25143
  {
25093
25144
  id: "file",
25094
- type: "media",
25145
+ type: "file",
25095
25146
  label: "Download file",
25096
25147
  description: "Choose the file visitors can download.",
25097
25148
  required: false,
25098
- mediaKinds: [...PUBLIC_DOWNLOAD_MEDIA_TYPES],
25149
+ fileKinds: [...PUBLIC_DOWNLOAD_MEDIA_TYPES],
25099
25150
  ui: { intent: "content" }
25100
25151
  },
25101
25152
  {
@@ -6797,7 +6797,7 @@ var SimpleCache = class {
6797
6797
  };
6798
6798
 
6799
6799
  // src/version.ts
6800
- var SDK_VERSION = "0.70.3";
6800
+ var SDK_VERSION = "0.70.4";
6801
6801
 
6802
6802
  // src/client/error.ts
6803
6803
  var RiverbankApiError = class _RiverbankApiError extends Error {