@riverbankcms/sdk 0.7.2 → 0.7.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 (187) hide show
  1. package/README.md +54 -0
  2. package/dist/client/bookings.d.mts +2 -0
  3. package/dist/client/bookings.d.ts +2 -0
  4. package/dist/client/bookings.js +2956 -104
  5. package/dist/client/bookings.js.map +1 -1
  6. package/dist/client/bookings.mjs +2929 -70
  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 +80 -11
  11. package/dist/client/client.js.map +1 -1
  12. package/dist/client/client.mjs +87 -11
  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 +3070 -259
  17. package/dist/client/rendering/client.js.map +1 -1
  18. package/dist/client/rendering/client.mjs +3212 -395
  19. package/dist/client/rendering/client.mjs.map +1 -1
  20. package/dist/client/spam-protection.d.mts +55 -0
  21. package/dist/client/spam-protection.d.ts +55 -0
  22. package/dist/client/spam-protection.js +2915 -0
  23. package/dist/client/spam-protection.js.map +1 -0
  24. package/dist/client/spam-protection.mjs +2893 -0
  25. package/dist/client/spam-protection.mjs.map +1 -0
  26. package/dist/client/{usePage-Db9kzA41.d.ts → usePage-BYmJCCm1.d.ts} +14 -2
  27. package/dist/client/{usePage-C9tJpuKa.d.mts → usePage-DZtrWajy.d.mts} +14 -2
  28. package/dist/server/{Layout-Ce7PU9I5.d.ts → Layout-Yluyb6sK.d.ts} +1 -1
  29. package/dist/server/{Layout-WllR8Zug.d.mts → Layout-qWLdVm5-.d.mts} +1 -1
  30. package/dist/server/chunk-2IZ6S225.js +122 -0
  31. package/dist/server/chunk-2IZ6S225.js.map +1 -0
  32. package/dist/server/chunk-4CV4JOE5.js +27 -0
  33. package/dist/server/chunk-4CV4JOE5.js.map +1 -0
  34. package/dist/server/{chunk-AET56TQX.mjs → chunk-5LRR64Y6.mjs} +32 -5
  35. package/dist/server/chunk-5LRR64Y6.mjs.map +1 -0
  36. package/dist/server/{chunk-HMENX4Y7.js → chunk-6Z4MQG47.js} +370 -49
  37. package/dist/server/chunk-6Z4MQG47.js.map +1 -0
  38. package/dist/server/{chunk-5JT452F2.mjs → chunk-JNU7ZS2V.mjs} +340 -19
  39. package/dist/server/chunk-JNU7ZS2V.mjs.map +1 -0
  40. package/dist/server/{chunk-VODFQMUW.js → chunk-NBTRDLCM.js} +32 -5
  41. package/dist/server/chunk-NBTRDLCM.js.map +1 -0
  42. package/dist/server/chunk-NFEGQTCC.mjs +27 -0
  43. package/dist/server/chunk-PPHZV6YD.mjs +122 -0
  44. package/dist/server/chunk-PPHZV6YD.mjs.map +1 -0
  45. package/dist/server/{components-RPzRQve6.d.mts → components-DNHfSCML.d.mts} +3 -3
  46. package/dist/server/{components--LT61IKp.d.ts → components-Di5ME6He.d.ts} +3 -3
  47. package/dist/server/components.d.mts +5 -5
  48. package/dist/server/components.d.ts +5 -5
  49. package/dist/server/components.js +1 -0
  50. package/dist/server/components.js.map +1 -1
  51. package/dist/server/components.mjs +1 -0
  52. package/dist/server/config-validation.js +1 -0
  53. package/dist/server/config-validation.js.map +1 -1
  54. package/dist/server/config-validation.mjs +1 -0
  55. package/dist/server/config.js +1 -0
  56. package/dist/server/config.js.map +1 -1
  57. package/dist/server/config.mjs +1 -0
  58. package/dist/server/config.mjs.map +1 -1
  59. package/dist/server/data.d.mts +2 -2
  60. package/dist/server/data.d.ts +2 -2
  61. package/dist/server/data.js +1 -0
  62. package/dist/server/data.js.map +1 -1
  63. package/dist/server/data.mjs +1 -0
  64. package/dist/server/env.d.mts +91 -5
  65. package/dist/server/env.d.ts +91 -5
  66. package/dist/server/env.js +9 -2
  67. package/dist/server/env.js.map +1 -1
  68. package/dist/server/env.mjs +8 -1
  69. package/dist/server/{index-BL66CU6d.d.mts → index--Oyunk_B.d.mts} +2 -2
  70. package/dist/server/{index-CJk9iQQW.d.ts → index-C9Ra8dza.d.ts} +2 -2
  71. package/dist/server/{index-Bkva0WAj.d.mts → index-Clm3skz_.d.mts} +1 -1
  72. package/dist/server/{index-CSBWKA3r.d.ts → index-DLvNddi-.d.ts} +1 -1
  73. package/dist/server/index.d.mts +215 -4
  74. package/dist/server/index.d.ts +215 -4
  75. package/dist/server/index.js +301 -3
  76. package/dist/server/index.js.map +1 -1
  77. package/dist/server/index.mjs +301 -3
  78. package/dist/server/index.mjs.map +1 -1
  79. package/dist/server/{loadContent-CXUWMuzY.d.ts → loadContent-D7LQwI0o.d.ts} +3 -3
  80. package/dist/server/{loadContent-F_tAS0Nl.d.mts → loadContent-DVfuBLiZ.d.mts} +3 -3
  81. package/dist/server/{loadPage-6I7F6GRF.js → loadPage-AXNAERDS.js} +2 -1
  82. package/dist/server/loadPage-AXNAERDS.js.map +1 -0
  83. package/dist/server/{loadPage-i2r-X5b9.d.ts → loadPage-BmYJCe_V.d.ts} +2 -2
  84. package/dist/server/{loadPage-CxlYLe5K.d.mts → loadPage-BucnLHmE.d.mts} +2 -2
  85. package/dist/server/{loadPage-JI2SML4M.mjs → loadPage-XR7ORQ2E.mjs} +2 -1
  86. package/dist/server/loadPage-XR7ORQ2E.mjs.map +1 -0
  87. package/dist/server/metadata.d.mts +4 -4
  88. package/dist/server/metadata.d.ts +4 -4
  89. package/dist/server/metadata.js +1 -0
  90. package/dist/server/metadata.js.map +1 -1
  91. package/dist/server/metadata.mjs +1 -0
  92. package/dist/server/navigation.d.mts +2 -2
  93. package/dist/server/navigation.d.ts +2 -2
  94. package/dist/server/navigation.js +1 -0
  95. package/dist/server/navigation.js.map +1 -1
  96. package/dist/server/navigation.mjs +1 -0
  97. package/dist/server/next/revalidate.js +5 -4
  98. package/dist/server/next/revalidate.js.map +1 -1
  99. package/dist/server/next/revalidate.mjs +3 -2
  100. package/dist/server/next/revalidate.mjs.map +1 -1
  101. package/dist/server/next/tags.d.mts +3 -0
  102. package/dist/server/next/tags.d.ts +3 -0
  103. package/dist/server/next/tags.js +3 -1
  104. package/dist/server/next/tags.js.map +1 -1
  105. package/dist/server/next/tags.mjs +2 -0
  106. package/dist/server/next/tags.mjs.map +1 -1
  107. package/dist/server/next.d.mts +5 -5
  108. package/dist/server/next.d.ts +5 -5
  109. package/dist/server/next.js +5 -4
  110. package/dist/server/next.js.map +1 -1
  111. package/dist/server/next.mjs +3 -2
  112. package/dist/server/next.mjs.map +1 -1
  113. package/dist/server/rendering/server.d.mts +4 -4
  114. package/dist/server/rendering/server.d.ts +4 -4
  115. package/dist/server/rendering/server.js +1 -0
  116. package/dist/server/rendering/server.js.map +1 -1
  117. package/dist/server/rendering/server.mjs +1 -0
  118. package/dist/server/rendering.d.mts +7 -7
  119. package/dist/server/rendering.d.ts +7 -7
  120. package/dist/server/rendering.js +1 -0
  121. package/dist/server/rendering.js.map +1 -1
  122. package/dist/server/rendering.mjs +1 -0
  123. package/dist/server/routing.d.mts +3 -3
  124. package/dist/server/routing.d.ts +3 -3
  125. package/dist/server/routing.js +4 -2
  126. package/dist/server/routing.js.map +1 -1
  127. package/dist/server/routing.mjs +3 -1
  128. package/dist/server/routing.mjs.map +1 -1
  129. package/dist/server/server.d.mts +5 -5
  130. package/dist/server/server.d.ts +5 -5
  131. package/dist/server/server.js +3 -2
  132. package/dist/server/server.js.map +1 -1
  133. package/dist/server/server.mjs +2 -1
  134. package/dist/server/theme-bridge.js +1 -0
  135. package/dist/server/theme-bridge.js.map +1 -1
  136. package/dist/server/theme-bridge.mjs +1 -0
  137. package/dist/server/theme-bridge.mjs.map +1 -1
  138. package/dist/server/theme.js +3 -1
  139. package/dist/server/theme.js.map +1 -1
  140. package/dist/server/theme.mjs +2 -0
  141. package/dist/server/theme.mjs.map +1 -1
  142. package/dist/server/{types-DnkRh0UL.d.ts → types-BRQyLrQU.d.ts} +14 -2
  143. package/dist/server/{types-Dsu9wsUh.d.mts → types-BSV6Vc-P.d.mts} +2 -2
  144. package/dist/server/{types-MF2AWoKv.d.mts → types-C-LShyIg.d.mts} +14 -2
  145. package/dist/server/{types-CVykEqXN.d.ts → types-Dt98DeYa.d.ts} +2 -2
  146. package/dist/server/webhooks.d.mts +8 -2
  147. package/dist/server/webhooks.d.ts +8 -2
  148. package/dist/server/webhooks.js +3 -2
  149. package/dist/server/webhooks.js.map +1 -1
  150. package/dist/server/webhooks.mjs +2 -1
  151. package/package.json +7 -1
  152. package/dist/client/resolver-BhueZVxZ.d.mts +0 -61
  153. package/dist/client/resolver-BhueZVxZ.d.ts +0 -61
  154. package/dist/client/usePage--fGlyrgj.d.mts +0 -6439
  155. package/dist/client/usePage-BBcFCxOU.d.ts +0 -6297
  156. package/dist/client/usePage-BC8Q2E3t.d.mts +0 -6431
  157. package/dist/client/usePage-BTPnCuWC.d.mts +0 -6511
  158. package/dist/client/usePage-BXjk8BhD.d.mts +0 -6704
  159. package/dist/client/usePage-BafOS9UT.d.mts +0 -6512
  160. package/dist/client/usePage-BcjWPXvh.d.mts +0 -6388
  161. package/dist/client/usePage-BiOReg0_.d.ts +0 -6704
  162. package/dist/client/usePage-Bnx-kA6x.d.mts +0 -6670
  163. package/dist/client/usePage-BvKAa3Zw.d.mts +0 -366
  164. package/dist/client/usePage-BvKAa3Zw.d.ts +0 -366
  165. package/dist/client/usePage-BydHcMYB.d.mts +0 -6297
  166. package/dist/client/usePage-C3ZKNwY7.d.mts +0 -6393
  167. package/dist/client/usePage-CE7X5NcN.d.ts +0 -6439
  168. package/dist/client/usePage-CHEybPMD.d.ts +0 -6429
  169. package/dist/client/usePage-CrKw1H6Y.d.ts +0 -6338
  170. package/dist/client/usePage-CyYpOJud.d.ts +0 -6388
  171. package/dist/client/usePage-D4fxZbRR.d.mts +0 -6429
  172. package/dist/client/usePage-DMI8ImsU.d.mts +0 -6338
  173. package/dist/client/usePage-DoPI6b8V.d.ts +0 -6511
  174. package/dist/client/usePage-DpRNZUtP.d.ts +0 -6431
  175. package/dist/client/usePage-QNWArrVO.d.ts +0 -6670
  176. package/dist/client/usePage-fBgPB6Oq.d.ts +0 -6512
  177. package/dist/client/usePage-gpVaeWDy.d.ts +0 -6393
  178. package/dist/server/chunk-5JT452F2.mjs.map +0 -1
  179. package/dist/server/chunk-AET56TQX.mjs.map +0 -1
  180. package/dist/server/chunk-HMENX4Y7.js.map +0 -1
  181. package/dist/server/chunk-LQUKXIW7.mjs +0 -13
  182. package/dist/server/chunk-LQUKXIW7.mjs.map +0 -1
  183. package/dist/server/chunk-VODFQMUW.js.map +0 -1
  184. package/dist/server/chunk-WYNEYDXO.js +0 -13
  185. package/dist/server/chunk-WYNEYDXO.js.map +0 -1
  186. package/dist/server/loadPage-6I7F6GRF.js.map +0 -1
  187. /package/dist/server/{loadPage-JI2SML4M.mjs.map → chunk-NFEGQTCC.mjs.map} +0 -0
@@ -1,5 +1,5 @@
1
- import { R as RiverbankClient, P as PageProps, T as Theme, a as ResolvedBlockData, b as RiverbankClientConfig } from './usePage-C9tJpuKa.mjs';
2
- export { d as Page, U as UsePageParams, c as UsePageResult, u as usePage } from './usePage-C9tJpuKa.mjs';
1
+ import { R as RiverbankClient, P as PageProps, T as Theme, a as ResolvedBlockData, b as RiverbankClientConfig } from './usePage-DZtrWajy.mjs';
2
+ export { d as Page, U as UsePageParams, c as UsePageResult, u as usePage } from './usePage-DZtrWajy.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, P as PageProps, T as Theme, a as ResolvedBlockData, b as RiverbankClientConfig } from './usePage-Db9kzA41.js';
2
- export { d as Page, U as UsePageParams, c as UsePageResult, u as usePage } from './usePage-Db9kzA41.js';
1
+ import { R as RiverbankClient, P as PageProps, T as Theme, a as ResolvedBlockData, b as RiverbankClientConfig } from './usePage-BYmJCCm1.js';
2
+ export { d as Page, U as UsePageParams, c as UsePageResult, u as usePage } from './usePage-BYmJCCm1.js';
3
3
  import '@riverbankcms/ai';
4
4
  import 'zod';
5
5
  import '@riverbankcms/media-storage-supabase';
@@ -17694,7 +17694,7 @@ var SimpleCache = class {
17694
17694
  const ttl = options?.ttl ?? this.ttl;
17695
17695
  const staleTtl = options?.staleTtl ?? this.staleTtl;
17696
17696
  const now = Date.now();
17697
- if (this.cache.size >= this.maxSize && !this.cache.has(key)) {
17697
+ while (this.cache.size >= this.maxSize && !this.cache.has(key)) {
17698
17698
  this.evictOne(now);
17699
17699
  }
17700
17700
  this.cache.set(key, {
@@ -17764,7 +17764,7 @@ var SimpleCache = class {
17764
17764
  };
17765
17765
 
17766
17766
  // src/version.ts
17767
- var SDK_VERSION = "0.7.2";
17767
+ var SDK_VERSION = "0.7.4";
17768
17768
 
17769
17769
  // src/client/error.ts
17770
17770
  var RiverbankApiError = class _RiverbankApiError extends Error {
@@ -18039,6 +18039,19 @@ var CircuitOpenError = class extends Error {
18039
18039
  };
18040
18040
 
18041
18041
  // src/client/index.ts
18042
+ var prebuildModule = null;
18043
+ function getPrebuildModule() {
18044
+ if (prebuildModule !== null) return prebuildModule;
18045
+ if (typeof process === "undefined" || !process.versions?.node) {
18046
+ return null;
18047
+ }
18048
+ try {
18049
+ prebuildModule = require("../prebuild/loader");
18050
+ return prebuildModule;
18051
+ } catch {
18052
+ return null;
18053
+ }
18054
+ }
18042
18055
  setSdkVersion(SDK_VERSION);
18043
18056
  var DEFAULT_BROWSER_TIMEOUT_MS = 5e3;
18044
18057
  var DEFAULT_SERVER_TIMEOUT_MS = 8e3;
@@ -18055,6 +18068,24 @@ function isAbortError(error) {
18055
18068
  return false;
18056
18069
  }
18057
18070
  function getNetworkErrorCode(error) {
18071
+ if (error.name === "TimeoutError" || error.name === "AbortError") {
18072
+ return "network:timeout";
18073
+ }
18074
+ const nodeError = error;
18075
+ if (nodeError.code) {
18076
+ switch (nodeError.code) {
18077
+ case "ETIMEDOUT":
18078
+ case "ESOCKETTIMEDOUT":
18079
+ return "network:timeout";
18080
+ case "ENOTFOUND":
18081
+ case "EAI_AGAIN":
18082
+ return "network:dns_error";
18083
+ case "ECONNREFUSED":
18084
+ case "ECONNRESET":
18085
+ case "EPIPE":
18086
+ return "network:connection_error";
18087
+ }
18088
+ }
18058
18089
  const message = error.message.toLowerCase();
18059
18090
  if (message.includes("timeout") || message.includes("timed out")) {
18060
18091
  return "network:timeout";
@@ -18138,6 +18169,12 @@ function createRiverbankClient(config) {
18138
18169
  staleTtl: staleTtlMs
18139
18170
  });
18140
18171
  const circuitBreaker = new CircuitBreaker(circuitBreakerConfig);
18172
+ const prebuildDir = config.resilience?.prebuildDir;
18173
+ const prebuildMod = prebuildDir ? getPrebuildModule() : null;
18174
+ const prebuildLoader = prebuildMod?.canUsePrebuild() && prebuildDir ? new prebuildMod.PrebuildLoader({
18175
+ prebuildDir,
18176
+ maxPrebuildAgeSec: config.resilience?.maxPrebuildAgeSec
18177
+ }) : null;
18141
18178
  let lastStatus = null;
18142
18179
  let isDegraded = false;
18143
18180
  function emitStatus(source, data, details) {
@@ -18147,6 +18184,7 @@ function createRiverbankClient(config) {
18147
18184
  cacheKey: details.cacheKey,
18148
18185
  error: details.error,
18149
18186
  staleAgeSec: details.staleAgeSec,
18187
+ prebuildAgeSec: details.prebuildAgeSec,
18150
18188
  circuit: circuitBreaker.getState(),
18151
18189
  requestId: details.requestId,
18152
18190
  durationMs: details.durationMs
@@ -18187,13 +18225,20 @@ function createRiverbankClient(config) {
18187
18225
  }));
18188
18226
  }
18189
18227
  }
18190
- if (!options.force) {
18191
- const circuitState = circuitBreaker.getState();
18192
- emitStatus("error", null, statusDetails({
18193
- error: { code: "circuit_open", message: "Circuit breaker is open" }
18194
- }));
18195
- throw new CircuitOpenError(circuitState);
18228
+ if (!isPreview && options.prebuildFallback) {
18229
+ const prebuildResult = options.prebuildFallback();
18230
+ if (prebuildResult) {
18231
+ return emitStatus("prebuild", prebuildResult.data, statusDetails({
18232
+ prebuildAgeSec: prebuildResult.prebuildAgeSec,
18233
+ error: { code: "circuit_open", message: "Circuit breaker is open" }
18234
+ }));
18235
+ }
18196
18236
  }
18237
+ const circuitState = circuitBreaker.getState();
18238
+ emitStatus("error", null, statusDetails({
18239
+ error: { code: "circuit_open", message: "Circuit breaker is open" }
18240
+ }));
18241
+ throw new CircuitOpenError(circuitState);
18197
18242
  }
18198
18243
  try {
18199
18244
  let data;
@@ -18243,6 +18288,16 @@ function createRiverbankClient(config) {
18243
18288
  }));
18244
18289
  }
18245
18290
  }
18291
+ if (!isPreview && options.prebuildFallback) {
18292
+ const prebuildResult = options.prebuildFallback();
18293
+ if (prebuildResult) {
18294
+ const errorInfo2 = error instanceof RiverbankApiError ? { code: error.code, message: error.message } : { message: error.message };
18295
+ return emitStatus("prebuild", prebuildResult.data, statusDetails({
18296
+ prebuildAgeSec: prebuildResult.prebuildAgeSec,
18297
+ error: errorInfo2
18298
+ }));
18299
+ }
18300
+ }
18246
18301
  const errorInfo = error instanceof RiverbankApiError ? { code: error.code, message: error.message } : { message: error.message };
18247
18302
  emitStatus("error", null, statusDetails({ error: errorInfo }));
18248
18303
  throw error;
@@ -18268,20 +18323,29 @@ function createRiverbankClient(config) {
18268
18323
  );
18269
18324
  }
18270
18325
  const cacheKey = `site:${slug || domain || id}`;
18326
+ const siteId = id || slug || domain;
18271
18327
  return resilientFetch(cacheKey, async (sig) => {
18272
18328
  const apiParams = {};
18273
18329
  if (params.slug) apiParams.slug = params.slug;
18274
18330
  if (params.domain) apiParams.domain = params.domain;
18275
18331
  if (params.id) apiParams.id = params.id;
18276
18332
  return await apiClient({ endpoint: "getSite", params: apiParams, options: { signal: sig } });
18277
- }, { signal });
18333
+ }, {
18334
+ signal,
18335
+ prebuildFallback: prebuildLoader && siteId ? () => prebuildLoader.loadSite(siteId) : void 0
18336
+ });
18278
18337
  },
18279
18338
  async getPage(params) {
18280
18339
  const { siteId, path, preview = false, signal } = params;
18281
18340
  const cacheKey = `page:${siteId}:${path}:${preview}`;
18282
18341
  return resilientFetch(cacheKey, async (sig) => {
18283
18342
  return await apiClient({ endpoint: "getContentByPath", params: { siteId }, body: { path, preview }, options: { signal: sig } });
18284
- }, { preview, signal });
18343
+ }, {
18344
+ preview,
18345
+ signal,
18346
+ // Prebuild fallback only for published pages (not preview)
18347
+ prebuildFallback: prebuildLoader && !preview ? () => prebuildLoader.loadPage(siteId, path) : void 0
18348
+ });
18285
18349
  },
18286
18350
  async getEntries(params) {
18287
18351
  const { siteId, contentType, limit, offset, order, preview = false, mode, entryIds, includeMeta, signal } = params;
@@ -18310,7 +18374,12 @@ function createRiverbankClient(config) {
18310
18374
  }
18311
18375
  };
18312
18376
  return await apiClient({ endpoint: "listPublishedEntries", params: apiParams, options: { signal: sig } });
18313
- }, { preview, signal });
18377
+ }, {
18378
+ preview,
18379
+ signal,
18380
+ // Prebuild fallback only for published entries (not preview, not manual mode)
18381
+ prebuildFallback: prebuildLoader && !preview ? () => prebuildLoader.loadEntries(siteId, params) : void 0
18382
+ });
18314
18383
  },
18315
18384
  async getEntry(params) {
18316
18385
  const { siteId, contentType, slug, signal } = params;