@riverbankcms/sdk 0.3.0 → 0.4.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 (140) hide show
  1. package/README.md +255 -1
  2. package/dist/cli/index.js +249 -40
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/client/bookings.js +15 -1
  5. package/dist/client/bookings.js.map +1 -1
  6. package/dist/client/bookings.mjs +15 -1
  7. package/dist/client/bookings.mjs.map +1 -1
  8. package/dist/client/client.d.mts +2 -2
  9. package/dist/client/client.d.ts +2 -2
  10. package/dist/client/client.js +33 -5
  11. package/dist/client/client.js.map +1 -1
  12. package/dist/client/client.mjs +33 -5
  13. package/dist/client/client.mjs.map +1 -1
  14. package/dist/client/hooks.d.mts +2 -2
  15. package/dist/client/hooks.d.ts +2 -2
  16. package/dist/client/rendering/client.js +31 -33
  17. package/dist/client/rendering/client.js.map +1 -1
  18. package/dist/client/rendering/client.mjs +31 -33
  19. package/dist/client/rendering/client.mjs.map +1 -1
  20. package/dist/client/usePage-BcjWPXvh.d.mts +6388 -0
  21. package/dist/client/usePage-C3ZKNwY7.d.mts +6393 -0
  22. package/dist/client/usePage-CyYpOJud.d.ts +6388 -0
  23. package/dist/client/usePage-gpVaeWDy.d.ts +6393 -0
  24. package/dist/server/{Layout-CsAQ-0Fv.d.mts → Layout-B_zUr9ci.d.mts} +1 -1
  25. package/dist/server/{Layout-BM_KmCxO.d.ts → Layout-CHG77dhK.d.ts} +1 -1
  26. package/dist/server/blockKinds-B6MWzNWp.d.mts +16 -0
  27. package/dist/server/blockKinds-B6MWzNWp.d.ts +16 -0
  28. package/dist/server/chunk-BOHTTHY5.mjs +406 -0
  29. package/dist/server/chunk-BOHTTHY5.mjs.map +1 -0
  30. package/dist/server/{chunk-5R4NMVXA.js → chunk-BUCJWG6G.js} +5 -5
  31. package/dist/server/chunk-BUCJWG6G.js.map +1 -0
  32. package/dist/server/chunk-D2QLTPUJ.mjs +33 -0
  33. package/dist/server/chunk-D2QLTPUJ.mjs.map +1 -0
  34. package/dist/server/{chunk-62ZJI564.js → chunk-FPYK6527.js} +4 -4
  35. package/dist/server/{chunk-62ZJI564.js.map → chunk-FPYK6527.js.map} +1 -1
  36. package/dist/server/{chunk-YXDDFG3N.js → chunk-G4CKM4EN.js} +1 -1
  37. package/dist/server/chunk-G4CKM4EN.js.map +1 -0
  38. package/dist/server/chunk-GERCMTPQ.js +33 -0
  39. package/dist/server/chunk-GERCMTPQ.js.map +1 -0
  40. package/dist/server/{chunk-SF63XAX7.js → chunk-IT5ICP43.js} +24 -4
  41. package/dist/server/chunk-IT5ICP43.js.map +1 -0
  42. package/dist/server/{chunk-GWBMJPLH.mjs → chunk-M5KTLZTD.mjs} +1 -1
  43. package/dist/server/chunk-M5KTLZTD.mjs.map +1 -0
  44. package/dist/server/{chunk-QFFQTOY3.mjs → chunk-N3PX76AP.mjs} +11 -3
  45. package/dist/server/{chunk-QFFQTOY3.mjs.map → chunk-N3PX76AP.mjs.map} +1 -1
  46. package/dist/server/{chunk-O5DC7MYW.mjs → chunk-NKXS4TBK.mjs} +24 -4
  47. package/dist/server/chunk-NKXS4TBK.mjs.map +1 -0
  48. package/dist/server/{chunk-INWKF3IC.js → chunk-P6CDRJN3.js} +8 -8
  49. package/dist/server/{chunk-INWKF3IC.js.map → chunk-P6CDRJN3.js.map} +1 -1
  50. package/dist/server/{chunk-UFVCBGBY.js → chunk-R5B6IOFQ.js} +11 -3
  51. package/dist/server/chunk-R5B6IOFQ.js.map +1 -0
  52. package/dist/server/{chunk-FK64TZBT.mjs → chunk-SFQ7VF3G.mjs} +2 -2
  53. package/dist/server/{chunk-JTAERCX2.mjs → chunk-VVFYHAUD.mjs} +2 -2
  54. package/dist/server/{chunk-PN3CHDVX.mjs → chunk-XK2YIISA.mjs} +2 -2
  55. package/dist/server/chunk-XK2YIISA.mjs.map +1 -0
  56. package/dist/server/chunk-ZIM53VP6.js +406 -0
  57. package/dist/server/chunk-ZIM53VP6.js.map +1 -0
  58. package/dist/server/{components-DJBLu_yc.d.ts → components-BYxloYJm.d.ts} +3 -3
  59. package/dist/server/{components-CI3JiOYA.d.mts → components-Ci5nlyUj.d.mts} +3 -3
  60. package/dist/server/components.d.mts +7 -6
  61. package/dist/server/components.d.ts +7 -6
  62. package/dist/server/components.js +3 -3
  63. package/dist/server/components.mjs +2 -2
  64. package/dist/server/config-validation.d.mts +5 -300
  65. package/dist/server/config-validation.d.ts +5 -300
  66. package/dist/server/config-validation.js +6 -3
  67. package/dist/server/config-validation.js.map +1 -1
  68. package/dist/server/config-validation.mjs +5 -2
  69. package/dist/server/config.d.mts +43 -4
  70. package/dist/server/config.d.ts +43 -4
  71. package/dist/server/config.js +27 -3
  72. package/dist/server/config.js.map +1 -1
  73. package/dist/server/config.mjs +26 -2
  74. package/dist/server/config.mjs.map +1 -1
  75. package/dist/server/data.d.mts +5 -4
  76. package/dist/server/data.d.ts +5 -4
  77. package/dist/server/data.js +2 -2
  78. package/dist/server/data.mjs +1 -1
  79. package/dist/server/{index-Dus2gkY6.d.ts → index-DbSfrRA0.d.ts} +1 -1
  80. package/dist/server/{index-DoX3ELQn.d.mts → index-Dj7VKH34.d.mts} +1 -1
  81. package/dist/server/index.d.mts +5 -4
  82. package/dist/server/index.d.ts +5 -4
  83. package/dist/server/index.js +6 -2
  84. package/dist/server/index.js.map +1 -1
  85. package/dist/server/index.mjs +5 -1
  86. package/dist/server/{loadContent-CdXDGsJM.d.ts → loadContent-BqQ-VPMW.d.ts} +4 -4
  87. package/dist/server/{loadContent-v2n6pOlO.d.mts → loadContent-Czu7xTOU.d.mts} +4 -4
  88. package/dist/server/{loadPage-bejlajm9.d.ts → loadPage-BElEkA_J.d.ts} +3 -3
  89. package/dist/server/{loadPage-en10WQrt.d.mts → loadPage-Dw57_n5N.d.mts} +3 -3
  90. package/dist/server/loadPage-E3ZC6NHB.js +11 -0
  91. package/dist/server/{loadPage-3ECPF426.js.map → loadPage-E3ZC6NHB.js.map} +1 -1
  92. package/dist/server/{loadPage-LW273NYO.mjs → loadPage-E7L7NMR3.mjs} +3 -3
  93. package/dist/server/metadata.d.mts +5 -4
  94. package/dist/server/metadata.d.ts +5 -4
  95. package/dist/server/navigation.d.mts +2 -2
  96. package/dist/server/navigation.d.ts +2 -2
  97. package/dist/server/rendering/server.d.mts +8 -7
  98. package/dist/server/rendering/server.d.ts +8 -7
  99. package/dist/server/rendering/server.js +4 -4
  100. package/dist/server/rendering/server.mjs +3 -3
  101. package/dist/server/rendering.d.mts +9 -8
  102. package/dist/server/rendering.d.ts +9 -8
  103. package/dist/server/rendering.js +6 -6
  104. package/dist/server/rendering.mjs +5 -5
  105. package/dist/server/routing.d.mts +5 -4
  106. package/dist/server/routing.d.ts +5 -4
  107. package/dist/server/routing.js +1 -1
  108. package/dist/server/routing.mjs +1 -1
  109. package/dist/server/server.d.mts +7 -6
  110. package/dist/server/server.d.ts +7 -6
  111. package/dist/server/server.js +4 -4
  112. package/dist/server/server.mjs +3 -3
  113. package/dist/server/theme-bridge.js +7 -7
  114. package/dist/server/theme-bridge.mjs +1 -1
  115. package/dist/server/{types-Cc7lyPkN.d.ts → types-5XdVD2J1.d.ts} +2 -0
  116. package/dist/server/{types-nVerjjdv.d.mts → types-BA-J9K8r.d.mts} +2 -0
  117. package/dist/server/{types-CLusapsM.d.mts → types-BC9eB2KH.d.mts} +65 -17
  118. package/dist/server/{types-_nDnPHpv.d.ts → types-BuZJWVmj.d.mts} +4 -1
  119. package/dist/server/{types-Ls6BkLKg.d.ts → types-CAnC529E.d.ts} +65 -17
  120. package/dist/server/{types-D-rqOU5I.d.ts → types-CMqVHYLG.d.ts} +264 -2
  121. package/dist/server/{types-Bq3520hK.d.mts → types-CYfHxUhe.d.mts} +264 -2
  122. package/dist/server/{types-_nDnPHpv.d.mts → types-DSFvXKhO.d.ts} +4 -1
  123. package/dist/server/validation-C7W2Fe0i.d.ts +459 -0
  124. package/dist/server/validation-hg1sqhrt.d.mts +459 -0
  125. package/package.json +2 -1
  126. package/dist/server/chunk-5R4NMVXA.js.map +0 -1
  127. package/dist/server/chunk-BPKYRPCQ.mjs +0 -215
  128. package/dist/server/chunk-BPKYRPCQ.mjs.map +0 -1
  129. package/dist/server/chunk-GWBMJPLH.mjs.map +0 -1
  130. package/dist/server/chunk-O5DC7MYW.mjs.map +0 -1
  131. package/dist/server/chunk-PN3CHDVX.mjs.map +0 -1
  132. package/dist/server/chunk-SF63XAX7.js.map +0 -1
  133. package/dist/server/chunk-UFVCBGBY.js.map +0 -1
  134. package/dist/server/chunk-XLVL5WPH.js +0 -215
  135. package/dist/server/chunk-XLVL5WPH.js.map +0 -1
  136. package/dist/server/chunk-YXDDFG3N.js.map +0 -1
  137. package/dist/server/loadPage-3ECPF426.js +0 -11
  138. /package/dist/server/{chunk-FK64TZBT.mjs.map → chunk-SFQ7VF3G.mjs.map} +0 -0
  139. /package/dist/server/{chunk-JTAERCX2.mjs.map → chunk-VVFYHAUD.mjs.map} +0 -0
  140. /package/dist/server/{loadPage-LW273NYO.mjs.map → loadPage-E7L7NMR3.mjs.map} +0 -0
@@ -1,5 +1,5 @@
1
- import { R as RiverbankClient, S as SiteResponse, e as PageResponse, L as ListPublishedEntriesResponse, f as PublishedContentEntryPreviewResponse } from './usePage-DMI8ImsU.mjs';
2
- export { U as UsePageParams, c as UsePageResult, u as usePage } from './usePage-DMI8ImsU.mjs';
1
+ import { R as RiverbankClient, S as SiteResponse, e as PageResponse, L as ListPublishedEntriesResponse, f as PublishedContentEntryPreviewResponse } from './usePage-BcjWPXvh.mjs';
2
+ export { U as UsePageParams, c as UsePageResult, u as usePage } from './usePage-BcjWPXvh.mjs';
3
3
  import '@riverbankcms/ai';
4
4
  import 'zod';
5
5
  import '@riverbankcms/media-storage-supabase';
@@ -1,5 +1,5 @@
1
- import { R as RiverbankClient, S as SiteResponse, e as PageResponse, L as ListPublishedEntriesResponse, f as PublishedContentEntryPreviewResponse } from './usePage-CrKw1H6Y.js';
2
- export { U as UsePageParams, c as UsePageResult, u as usePage } from './usePage-CrKw1H6Y.js';
1
+ import { R as RiverbankClient, S as SiteResponse, e as PageResponse, L as ListPublishedEntriesResponse, f as PublishedContentEntryPreviewResponse } from './usePage-CyYpOJud.js';
2
+ export { U as UsePageParams, c as UsePageResult, u as usePage } from './usePage-CyYpOJud.js';
3
3
  import '@riverbankcms/ai';
4
4
  import 'zod';
5
5
  import '@riverbankcms/media-storage-supabase';
@@ -431,9 +431,26 @@ var getImageUrl = (asset, params = {}, basePath = DEFAULT_BASE_PATH) => {
431
431
  return query ? `${path}?${query}` : path;
432
432
  };
433
433
 
434
- // ../blocks/src/system/runtime/nodes/media.tsx
435
- var import_jsx_runtime9 = require("react/jsx-runtime");
434
+ // ../blocks/src/system/runtime/utils/api-url.ts
435
+ function resolveMultiEnvDashboardUrl() {
436
+ const env = process.env.RIVERBANK_ENV;
437
+ if (!env) return null;
438
+ const envKey = `RIVERBANK_${env.toUpperCase()}_DASHBOARD_URL`;
439
+ const dashboardUrl = process.env[envKey];
440
+ if (dashboardUrl) {
441
+ return dashboardUrl.replace(/\/$/, "");
442
+ }
443
+ return null;
444
+ }
436
445
  function getCmsApiUrl() {
446
+ const multiEnvDashboard = resolveMultiEnvDashboardUrl();
447
+ if (multiEnvDashboard) {
448
+ return `${multiEnvDashboard}/api`;
449
+ }
450
+ const builderApiUrl = process.env.NEXT_PUBLIC_BUILDER_API_URL;
451
+ if (builderApiUrl) {
452
+ return builderApiUrl.replace(/\/$/, "");
453
+ }
437
454
  const dashboardUrl = process.env.NEXT_PUBLIC_DASHBOARD_URL;
438
455
  if (dashboardUrl) {
439
456
  const base = dashboardUrl.replace(/\/$/, "");
@@ -444,9 +461,12 @@ function getCmsApiUrl() {
444
461
  return legacyApiUrl.replace(/\/$/, "");
445
462
  }
446
463
  throw new Error(
447
- "NEXT_PUBLIC_DASHBOARD_URL is not configured. Set it to your dashboard URL (e.g., http://dashboard.local:4000)"
464
+ "Dashboard URL not configured. Either:\n 1. Set RIVERBANK_ENV with RIVERBANK_LOCAL_DASHBOARD_URL / RIVERBANK_REMOTE_DASHBOARD_URL\n 2. Set NEXT_PUBLIC_BUILDER_API_URL (SDK sites)\n 3. Set NEXT_PUBLIC_DASHBOARD_URL (frontend app)"
448
465
  );
449
466
  }
467
+
468
+ // ../blocks/src/system/runtime/nodes/media.tsx
469
+ var import_jsx_runtime9 = require("react/jsx-runtime");
450
470
  var debugMediaNodeLog = (...args) => {
451
471
  if (typeof window !== "undefined" && window.__DEBUG_MEDIA_NODE__) {
452
472
  console.log("[MediaNode]", ...args);
@@ -1173,28 +1193,6 @@ var EventListingSSR = ({
1173
1193
 
1174
1194
  // ../blocks/src/system/runtime/hooks/useEventPagination.ts
1175
1195
  var import_react3 = require("react");
1176
-
1177
- // ../blocks/src/system/runtime/utils/api-url.ts
1178
- function getCmsApiUrl2() {
1179
- const builderApiUrl = process.env.NEXT_PUBLIC_BUILDER_API_URL;
1180
- if (builderApiUrl) {
1181
- return builderApiUrl.replace(/\/$/, "");
1182
- }
1183
- const dashboardUrl = process.env.NEXT_PUBLIC_DASHBOARD_URL;
1184
- if (dashboardUrl) {
1185
- const base = dashboardUrl.replace(/\/$/, "");
1186
- return `${base}/api`;
1187
- }
1188
- const legacyApiUrl = process.env.NEXT_PUBLIC_CMS_API_URL;
1189
- if (legacyApiUrl) {
1190
- return legacyApiUrl.replace(/\/$/, "");
1191
- }
1192
- throw new Error(
1193
- "No API URL configured. Set NEXT_PUBLIC_BUILDER_API_URL (SDK sites) or NEXT_PUBLIC_DASHBOARD_URL (frontend app)."
1194
- );
1195
- }
1196
-
1197
- // ../blocks/src/system/runtime/hooks/useEventPagination.ts
1198
1196
  function useEventPagination({
1199
1197
  siteId,
1200
1198
  initialEvents = [],
@@ -1217,7 +1215,7 @@ function useEventPagination({
1217
1215
  limit: String(pageSize),
1218
1216
  ...from ? { from } : {}
1219
1217
  });
1220
- const apiBaseUrl = getCmsApiUrl2();
1218
+ const apiBaseUrl = getCmsApiUrl();
1221
1219
  const response = await fetch(
1222
1220
  `${apiBaseUrl}/public/sites/${siteId}/events?${params.toString()}`
1223
1221
  );
@@ -1381,7 +1379,7 @@ function useCalendarEvents({
1381
1379
  to,
1382
1380
  limit: String(CALENDAR_FETCH_LIMIT)
1383
1381
  });
1384
- const apiBaseUrl = getCmsApiUrl2();
1382
+ const apiBaseUrl = getCmsApiUrl();
1385
1383
  const response = await fetch(
1386
1384
  `${apiBaseUrl}/public/sites/${siteId}/events?${params.toString()}`
1387
1385
  );
@@ -1784,7 +1782,7 @@ function useFormSubmission() {
1784
1782
  setIsSubmitting(true);
1785
1783
  setError(null);
1786
1784
  try {
1787
- const apiUrl = getCmsApiUrl2();
1785
+ const apiUrl = getCmsApiUrl();
1788
1786
  const response = await fetch(`${apiUrl}/forms/submit`, {
1789
1787
  method: "POST",
1790
1788
  headers: {
@@ -2396,7 +2394,7 @@ function ServiceResourceSelector({
2396
2394
  setResourceError(null);
2397
2395
  try {
2398
2396
  setIsLoadingResources(true);
2399
- const apiUrl = getCmsApiUrl2();
2397
+ const apiUrl = getCmsApiUrl();
2400
2398
  const response = await fetch(
2401
2399
  `${apiUrl}/sites/${siteId}/bookings/resources/reference?serviceId=${serviceId}`
2402
2400
  );
@@ -2742,7 +2740,7 @@ function useAvailableSlots({
2742
2740
  if (resourceId) {
2743
2741
  params.append("resourceId", resourceId);
2744
2742
  }
2745
- const apiUrl = getCmsApiUrl2();
2743
+ const apiUrl = getCmsApiUrl();
2746
2744
  const response = await fetch(`${apiUrl}/public/bookings/availability/slots?${params}`, {
2747
2745
  method: "GET",
2748
2746
  headers: {
@@ -2792,7 +2790,7 @@ function useAvailableDates({
2792
2790
  setIsLoading(true);
2793
2791
  setError(null);
2794
2792
  try {
2795
- const apiUrl = getCmsApiUrl2();
2793
+ const apiUrl = getCmsApiUrl();
2796
2794
  const params = new URLSearchParams({
2797
2795
  siteId,
2798
2796
  serviceId,
@@ -3343,7 +3341,7 @@ function useBookingSubmission(siteId) {
3343
3341
  setIsSubmitting(true);
3344
3342
  setError(null);
3345
3343
  try {
3346
- const apiUrl = getCmsApiUrl2();
3344
+ const apiUrl = getCmsApiUrl();
3347
3345
  const response = await fetch(`${apiUrl}/public/bookings/appointments`, {
3348
3346
  method: "POST",
3349
3347
  headers: {
@@ -3905,7 +3903,7 @@ function buildRegistrationEndpoint(siteId, customEndpoint) {
3905
3903
  if (customEndpoint) {
3906
3904
  return customEndpoint.replace("{siteId}", siteId);
3907
3905
  }
3908
- const apiBaseUrl = getCmsApiUrl2();
3906
+ const apiBaseUrl = getCmsApiUrl();
3909
3907
  return `${apiBaseUrl}/public/sites/${siteId}/events/register`;
3910
3908
  }
3911
3909