@riverbankcms/sdk 0.7.2 → 0.7.3

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-VODFQMUW.js → chunk-NBTRDLCM.js} +32 -5
  37. package/dist/server/chunk-NBTRDLCM.js.map +1 -0
  38. package/dist/server/chunk-NFEGQTCC.mjs +27 -0
  39. package/dist/server/{chunk-5JT452F2.mjs → chunk-NFQLH5IA.mjs} +340 -19
  40. package/dist/server/chunk-NFQLH5IA.mjs.map +1 -0
  41. package/dist/server/chunk-PPHZV6YD.mjs +122 -0
  42. package/dist/server/chunk-PPHZV6YD.mjs.map +1 -0
  43. package/dist/server/{chunk-HMENX4Y7.js → chunk-VLXTNB2C.js} +370 -49
  44. package/dist/server/chunk-VLXTNB2C.js.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,4 +1,11 @@
1
1
  "use client";
2
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
3
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
4
+ }) : x)(function(x) {
5
+ if (typeof require !== "undefined") return require.apply(this, arguments);
6
+ throw Error('Dynamic require of "' + x + '" is not supported');
7
+ });
8
+
2
9
  // src/rendering/hooks/usePage.ts
3
10
  import { useState, useEffect } from "react";
4
11
 
@@ -17651,7 +17658,7 @@ var SimpleCache = class {
17651
17658
  const ttl = options?.ttl ?? this.ttl;
17652
17659
  const staleTtl = options?.staleTtl ?? this.staleTtl;
17653
17660
  const now = Date.now();
17654
- if (this.cache.size >= this.maxSize && !this.cache.has(key)) {
17661
+ while (this.cache.size >= this.maxSize && !this.cache.has(key)) {
17655
17662
  this.evictOne(now);
17656
17663
  }
17657
17664
  this.cache.set(key, {
@@ -17721,7 +17728,7 @@ var SimpleCache = class {
17721
17728
  };
17722
17729
 
17723
17730
  // src/version.ts
17724
- var SDK_VERSION = "0.7.2";
17731
+ var SDK_VERSION = "0.7.3";
17725
17732
 
17726
17733
  // src/client/error.ts
17727
17734
  var RiverbankApiError = class _RiverbankApiError extends Error {
@@ -17996,6 +18003,19 @@ var CircuitOpenError = class extends Error {
17996
18003
  };
17997
18004
 
17998
18005
  // src/client/index.ts
18006
+ var prebuildModule = null;
18007
+ function getPrebuildModule() {
18008
+ if (prebuildModule !== null) return prebuildModule;
18009
+ if (typeof process === "undefined" || !process.versions?.node) {
18010
+ return null;
18011
+ }
18012
+ try {
18013
+ prebuildModule = __require("../prebuild/loader");
18014
+ return prebuildModule;
18015
+ } catch {
18016
+ return null;
18017
+ }
18018
+ }
17999
18019
  setSdkVersion(SDK_VERSION);
18000
18020
  var DEFAULT_BROWSER_TIMEOUT_MS = 5e3;
18001
18021
  var DEFAULT_SERVER_TIMEOUT_MS = 8e3;
@@ -18012,6 +18032,24 @@ function isAbortError(error) {
18012
18032
  return false;
18013
18033
  }
18014
18034
  function getNetworkErrorCode(error) {
18035
+ if (error.name === "TimeoutError" || error.name === "AbortError") {
18036
+ return "network:timeout";
18037
+ }
18038
+ const nodeError = error;
18039
+ if (nodeError.code) {
18040
+ switch (nodeError.code) {
18041
+ case "ETIMEDOUT":
18042
+ case "ESOCKETTIMEDOUT":
18043
+ return "network:timeout";
18044
+ case "ENOTFOUND":
18045
+ case "EAI_AGAIN":
18046
+ return "network:dns_error";
18047
+ case "ECONNREFUSED":
18048
+ case "ECONNRESET":
18049
+ case "EPIPE":
18050
+ return "network:connection_error";
18051
+ }
18052
+ }
18015
18053
  const message = error.message.toLowerCase();
18016
18054
  if (message.includes("timeout") || message.includes("timed out")) {
18017
18055
  return "network:timeout";
@@ -18095,6 +18133,12 @@ function createRiverbankClient(config) {
18095
18133
  staleTtl: staleTtlMs
18096
18134
  });
18097
18135
  const circuitBreaker = new CircuitBreaker(circuitBreakerConfig);
18136
+ const prebuildDir = config.resilience?.prebuildDir;
18137
+ const prebuildMod = prebuildDir ? getPrebuildModule() : null;
18138
+ const prebuildLoader = prebuildMod?.canUsePrebuild() && prebuildDir ? new prebuildMod.PrebuildLoader({
18139
+ prebuildDir,
18140
+ maxPrebuildAgeSec: config.resilience?.maxPrebuildAgeSec
18141
+ }) : null;
18098
18142
  let lastStatus = null;
18099
18143
  let isDegraded = false;
18100
18144
  function emitStatus(source, data, details) {
@@ -18104,6 +18148,7 @@ function createRiverbankClient(config) {
18104
18148
  cacheKey: details.cacheKey,
18105
18149
  error: details.error,
18106
18150
  staleAgeSec: details.staleAgeSec,
18151
+ prebuildAgeSec: details.prebuildAgeSec,
18107
18152
  circuit: circuitBreaker.getState(),
18108
18153
  requestId: details.requestId,
18109
18154
  durationMs: details.durationMs
@@ -18144,13 +18189,20 @@ function createRiverbankClient(config) {
18144
18189
  }));
18145
18190
  }
18146
18191
  }
18147
- if (!options.force) {
18148
- const circuitState = circuitBreaker.getState();
18149
- emitStatus("error", null, statusDetails({
18150
- error: { code: "circuit_open", message: "Circuit breaker is open" }
18151
- }));
18152
- throw new CircuitOpenError(circuitState);
18192
+ if (!isPreview && options.prebuildFallback) {
18193
+ const prebuildResult = options.prebuildFallback();
18194
+ if (prebuildResult) {
18195
+ return emitStatus("prebuild", prebuildResult.data, statusDetails({
18196
+ prebuildAgeSec: prebuildResult.prebuildAgeSec,
18197
+ error: { code: "circuit_open", message: "Circuit breaker is open" }
18198
+ }));
18199
+ }
18153
18200
  }
18201
+ const circuitState = circuitBreaker.getState();
18202
+ emitStatus("error", null, statusDetails({
18203
+ error: { code: "circuit_open", message: "Circuit breaker is open" }
18204
+ }));
18205
+ throw new CircuitOpenError(circuitState);
18154
18206
  }
18155
18207
  try {
18156
18208
  let data;
@@ -18200,6 +18252,16 @@ function createRiverbankClient(config) {
18200
18252
  }));
18201
18253
  }
18202
18254
  }
18255
+ if (!isPreview && options.prebuildFallback) {
18256
+ const prebuildResult = options.prebuildFallback();
18257
+ if (prebuildResult) {
18258
+ const errorInfo2 = error instanceof RiverbankApiError ? { code: error.code, message: error.message } : { message: error.message };
18259
+ return emitStatus("prebuild", prebuildResult.data, statusDetails({
18260
+ prebuildAgeSec: prebuildResult.prebuildAgeSec,
18261
+ error: errorInfo2
18262
+ }));
18263
+ }
18264
+ }
18203
18265
  const errorInfo = error instanceof RiverbankApiError ? { code: error.code, message: error.message } : { message: error.message };
18204
18266
  emitStatus("error", null, statusDetails({ error: errorInfo }));
18205
18267
  throw error;
@@ -18225,20 +18287,29 @@ function createRiverbankClient(config) {
18225
18287
  );
18226
18288
  }
18227
18289
  const cacheKey = `site:${slug || domain || id}`;
18290
+ const siteId = id || slug || domain;
18228
18291
  return resilientFetch(cacheKey, async (sig) => {
18229
18292
  const apiParams = {};
18230
18293
  if (params.slug) apiParams.slug = params.slug;
18231
18294
  if (params.domain) apiParams.domain = params.domain;
18232
18295
  if (params.id) apiParams.id = params.id;
18233
18296
  return await apiClient({ endpoint: "getSite", params: apiParams, options: { signal: sig } });
18234
- }, { signal });
18297
+ }, {
18298
+ signal,
18299
+ prebuildFallback: prebuildLoader && siteId ? () => prebuildLoader.loadSite(siteId) : void 0
18300
+ });
18235
18301
  },
18236
18302
  async getPage(params) {
18237
18303
  const { siteId, path, preview = false, signal } = params;
18238
18304
  const cacheKey = `page:${siteId}:${path}:${preview}`;
18239
18305
  return resilientFetch(cacheKey, async (sig) => {
18240
18306
  return await apiClient({ endpoint: "getContentByPath", params: { siteId }, body: { path, preview }, options: { signal: sig } });
18241
- }, { preview, signal });
18307
+ }, {
18308
+ preview,
18309
+ signal,
18310
+ // Prebuild fallback only for published pages (not preview)
18311
+ prebuildFallback: prebuildLoader && !preview ? () => prebuildLoader.loadPage(siteId, path) : void 0
18312
+ });
18242
18313
  },
18243
18314
  async getEntries(params) {
18244
18315
  const { siteId, contentType, limit, offset, order, preview = false, mode, entryIds, includeMeta, signal } = params;
@@ -18267,7 +18338,12 @@ function createRiverbankClient(config) {
18267
18338
  }
18268
18339
  };
18269
18340
  return await apiClient({ endpoint: "listPublishedEntries", params: apiParams, options: { signal: sig } });
18270
- }, { preview, signal });
18341
+ }, {
18342
+ preview,
18343
+ signal,
18344
+ // Prebuild fallback only for published entries (not preview, not manual mode)
18345
+ prebuildFallback: prebuildLoader && !preview ? () => prebuildLoader.loadEntries(siteId, params) : void 0
18346
+ });
18271
18347
  },
18272
18348
  async getEntry(params) {
18273
18349
  const { siteId, contentType, slug, signal } = params;