@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,15 +1,56 @@
1
1
  /**
2
2
  * Environment detection utilities for SDK
3
3
  *
4
- * Provides helpers for detecting preview mode and other environment states.
4
+ * Provides helpers for detecting preview mode and auto-selecting the correct API key.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { getRiverbankEnv } from '@riverbankcms/sdk/env';
9
+ * import { createRiverbankClient } from '@riverbankcms/sdk';
10
+ *
11
+ * const env = getRiverbankEnv();
12
+ * const client = createRiverbankClient({
13
+ * apiKey: env.apiKey,
14
+ * baseUrl: env.baseUrl,
15
+ * });
16
+ * ```
17
+ */
18
+ /**
19
+ * Environment target: 'local' for development, 'remote' for production
20
+ */
21
+ type RiverbankEnvTarget = 'local' | 'remote';
22
+ /**
23
+ * Runtime environment configuration
5
24
  */
25
+ interface RiverbankEnvConfig {
26
+ /** The detected environment target */
27
+ target: RiverbankEnvTarget;
28
+ /** Whether preview mode is enabled */
29
+ previewMode: boolean;
30
+ /** Site ID */
31
+ siteId: string;
32
+ /** Dashboard/API base URL */
33
+ baseUrl: string;
34
+ /** The auto-selected API key (preview or content key based on mode) */
35
+ apiKey: string;
36
+ /** The type of key being used */
37
+ keyType: 'preview' | 'content';
38
+ }
39
+ /**
40
+ * Error thrown when required environment variables are missing
41
+ */
42
+ declare class RiverbankEnvError extends Error {
43
+ readonly missingVars: string[];
44
+ constructor(message: string, missingVars: string[]);
45
+ }
6
46
  /**
7
47
  * Detects if the current environment is in preview mode.
8
48
  *
9
49
  * Precedence:
10
- * 1. RIVERBANK_PREVIEW env var (explicit override) - 'true' or 'false'
11
- * 2. VERCEL_ENV === 'preview' (Vercel preview deployments)
12
- * 3. Default: false (production behavior)
50
+ * 1. RIVERBANK_PREVIEW_MODE env var (explicit override) - 'true' or 'false'
51
+ * 2. RIVERBANK_PREVIEW env var (legacy) - 'true' or 'false'
52
+ * 3. VERCEL_ENV === 'preview' (Vercel preview deployments)
53
+ * 4. Default: false (production behavior)
13
54
  *
14
55
  * In preview mode:
15
56
  * - Draft content is visible
@@ -19,5 +60,50 @@
19
60
  * @returns true if in preview mode, false otherwise
20
61
  */
21
62
  declare function isPreviewMode(): boolean;
63
+ /**
64
+ * Get the current environment target.
65
+ *
66
+ * This is a convenience function for checking `RIVERBANK_ENV`.
67
+ *
68
+ * @returns 'local' or 'remote'
69
+ */
70
+ declare function getRiverbankTarget(): RiverbankEnvTarget;
71
+ /**
72
+ * Get runtime environment configuration with automatic API key selection.
73
+ *
74
+ * This helper reads environment variables and automatically selects the correct
75
+ * API key based on the current environment and preview mode:
76
+ *
77
+ * - When `RIVERBANK_PREVIEW_MODE=true`: Uses preview API key (bld_preview_sk_...)
78
+ * - When `RIVERBANK_PREVIEW_MODE=false` (default): Uses content API key (bld_live_sk_...)
79
+ *
80
+ * Environment variable patterns:
81
+ * - `RIVERBANK_ENV`: 'local' (default) or 'remote'
82
+ * - `RIVERBANK_PREVIEW_MODE`: 'true' or 'false' (default)
83
+ * - `RIVERBANK_{LOCAL|REMOTE}_SITE_ID`: Site ID
84
+ * - `RIVERBANK_{LOCAL|REMOTE}_DASHBOARD_URL`: Dashboard URL
85
+ * - `RIVERBANK_{LOCAL|REMOTE}_API_KEY`: Content/live API key
86
+ * - `RIVERBANK_{LOCAL|REMOTE}_PREVIEW_API_KEY`: Preview API key
87
+ *
88
+ * @returns Environment configuration with auto-selected API key
89
+ * @throws {RiverbankEnvError} If required environment variables are missing
90
+ *
91
+ * @example
92
+ * ```ts
93
+ * // lib/builder-client.ts
94
+ * import { getRiverbankEnv } from '@riverbankcms/sdk/env';
95
+ * import { createRiverbankClient } from '@riverbankcms/sdk';
96
+ *
97
+ * const env = getRiverbankEnv();
98
+ *
99
+ * export const client = createRiverbankClient({
100
+ * apiKey: env.apiKey,
101
+ * baseUrl: env.baseUrl,
102
+ * });
103
+ *
104
+ * export const siteId = env.siteId;
105
+ * ```
106
+ */
107
+ declare function getRiverbankEnv(): RiverbankEnvConfig;
22
108
 
23
- export { isPreviewMode };
109
+ export { type RiverbankEnvConfig, RiverbankEnvError, type RiverbankEnvTarget, getRiverbankEnv, getRiverbankTarget, isPreviewMode };
@@ -1,15 +1,56 @@
1
1
  /**
2
2
  * Environment detection utilities for SDK
3
3
  *
4
- * Provides helpers for detecting preview mode and other environment states.
4
+ * Provides helpers for detecting preview mode and auto-selecting the correct API key.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { getRiverbankEnv } from '@riverbankcms/sdk/env';
9
+ * import { createRiverbankClient } from '@riverbankcms/sdk';
10
+ *
11
+ * const env = getRiverbankEnv();
12
+ * const client = createRiverbankClient({
13
+ * apiKey: env.apiKey,
14
+ * baseUrl: env.baseUrl,
15
+ * });
16
+ * ```
17
+ */
18
+ /**
19
+ * Environment target: 'local' for development, 'remote' for production
20
+ */
21
+ type RiverbankEnvTarget = 'local' | 'remote';
22
+ /**
23
+ * Runtime environment configuration
5
24
  */
25
+ interface RiverbankEnvConfig {
26
+ /** The detected environment target */
27
+ target: RiverbankEnvTarget;
28
+ /** Whether preview mode is enabled */
29
+ previewMode: boolean;
30
+ /** Site ID */
31
+ siteId: string;
32
+ /** Dashboard/API base URL */
33
+ baseUrl: string;
34
+ /** The auto-selected API key (preview or content key based on mode) */
35
+ apiKey: string;
36
+ /** The type of key being used */
37
+ keyType: 'preview' | 'content';
38
+ }
39
+ /**
40
+ * Error thrown when required environment variables are missing
41
+ */
42
+ declare class RiverbankEnvError extends Error {
43
+ readonly missingVars: string[];
44
+ constructor(message: string, missingVars: string[]);
45
+ }
6
46
  /**
7
47
  * Detects if the current environment is in preview mode.
8
48
  *
9
49
  * Precedence:
10
- * 1. RIVERBANK_PREVIEW env var (explicit override) - 'true' or 'false'
11
- * 2. VERCEL_ENV === 'preview' (Vercel preview deployments)
12
- * 3. Default: false (production behavior)
50
+ * 1. RIVERBANK_PREVIEW_MODE env var (explicit override) - 'true' or 'false'
51
+ * 2. RIVERBANK_PREVIEW env var (legacy) - 'true' or 'false'
52
+ * 3. VERCEL_ENV === 'preview' (Vercel preview deployments)
53
+ * 4. Default: false (production behavior)
13
54
  *
14
55
  * In preview mode:
15
56
  * - Draft content is visible
@@ -19,5 +60,50 @@
19
60
  * @returns true if in preview mode, false otherwise
20
61
  */
21
62
  declare function isPreviewMode(): boolean;
63
+ /**
64
+ * Get the current environment target.
65
+ *
66
+ * This is a convenience function for checking `RIVERBANK_ENV`.
67
+ *
68
+ * @returns 'local' or 'remote'
69
+ */
70
+ declare function getRiverbankTarget(): RiverbankEnvTarget;
71
+ /**
72
+ * Get runtime environment configuration with automatic API key selection.
73
+ *
74
+ * This helper reads environment variables and automatically selects the correct
75
+ * API key based on the current environment and preview mode:
76
+ *
77
+ * - When `RIVERBANK_PREVIEW_MODE=true`: Uses preview API key (bld_preview_sk_...)
78
+ * - When `RIVERBANK_PREVIEW_MODE=false` (default): Uses content API key (bld_live_sk_...)
79
+ *
80
+ * Environment variable patterns:
81
+ * - `RIVERBANK_ENV`: 'local' (default) or 'remote'
82
+ * - `RIVERBANK_PREVIEW_MODE`: 'true' or 'false' (default)
83
+ * - `RIVERBANK_{LOCAL|REMOTE}_SITE_ID`: Site ID
84
+ * - `RIVERBANK_{LOCAL|REMOTE}_DASHBOARD_URL`: Dashboard URL
85
+ * - `RIVERBANK_{LOCAL|REMOTE}_API_KEY`: Content/live API key
86
+ * - `RIVERBANK_{LOCAL|REMOTE}_PREVIEW_API_KEY`: Preview API key
87
+ *
88
+ * @returns Environment configuration with auto-selected API key
89
+ * @throws {RiverbankEnvError} If required environment variables are missing
90
+ *
91
+ * @example
92
+ * ```ts
93
+ * // lib/builder-client.ts
94
+ * import { getRiverbankEnv } from '@riverbankcms/sdk/env';
95
+ * import { createRiverbankClient } from '@riverbankcms/sdk';
96
+ *
97
+ * const env = getRiverbankEnv();
98
+ *
99
+ * export const client = createRiverbankClient({
100
+ * apiKey: env.apiKey,
101
+ * baseUrl: env.baseUrl,
102
+ * });
103
+ *
104
+ * export const siteId = env.siteId;
105
+ * ```
106
+ */
107
+ declare function getRiverbankEnv(): RiverbankEnvConfig;
22
108
 
23
- export { isPreviewMode };
109
+ export { type RiverbankEnvConfig, RiverbankEnvError, type RiverbankEnvTarget, getRiverbankEnv, getRiverbankTarget, isPreviewMode };
@@ -1,7 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkWYNEYDXOjs = require('./chunk-WYNEYDXO.js');
4
3
 
5
4
 
6
- exports.isPreviewMode = _chunkWYNEYDXOjs.isPreviewMode;
5
+
6
+ var _chunk2IZ6S225js = require('./chunk-2IZ6S225.js');
7
+ require('./chunk-4CV4JOE5.js');
8
+
9
+
10
+
11
+
12
+
13
+ exports.RiverbankEnvError = _chunk2IZ6S225js.RiverbankEnvError; exports.getRiverbankEnv = _chunk2IZ6S225js.getRiverbankEnv; exports.getRiverbankTarget = _chunk2IZ6S225js.getRiverbankTarget; exports.isPreviewMode = _chunk2IZ6S225js.isPreviewMode;
7
14
  //# sourceMappingURL=env.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/env.js"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,uDAAC","file":"/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/env.js"}
1
+ {"version":3,"sources":["/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/env.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACA;AACF,qPAAC","file":"/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/env.js"}
@@ -1,7 +1,14 @@
1
1
  import {
2
+ RiverbankEnvError,
3
+ getRiverbankEnv,
4
+ getRiverbankTarget,
2
5
  isPreviewMode
3
- } from "./chunk-LQUKXIW7.mjs";
6
+ } from "./chunk-PPHZV6YD.mjs";
7
+ import "./chunk-NFEGQTCC.mjs";
4
8
  export {
9
+ RiverbankEnvError,
10
+ getRiverbankEnv,
11
+ getRiverbankTarget,
5
12
  isPreviewMode
6
13
  };
7
14
  //# sourceMappingURL=env.mjs.map
@@ -1,5 +1,5 @@
1
- import { a as LoadPageResult } from './loadPage-CxlYLe5K.mjs';
2
- import { S as SiteResponse } from './types-MF2AWoKv.mjs';
1
+ import { a as LoadPageResult } from './loadPage-BucnLHmE.mjs';
2
+ import { S as SiteResponse } from './types-C-LShyIg.mjs';
3
3
 
4
4
  /**
5
5
  * Metadata generation helper for Next.js pages
@@ -1,5 +1,5 @@
1
- import { a as LoadPageResult } from './loadPage-i2r-X5b9.js';
2
- import { S as SiteResponse } from './types-DnkRh0UL.js';
1
+ import { a as LoadPageResult } from './loadPage-BmYJCe_V.js';
2
+ import { S as SiteResponse } from './types-BRQyLrQU.js';
3
3
 
4
4
  /**
5
5
  * Metadata generation helper for Next.js pages
@@ -1,4 +1,4 @@
1
- import { a as RiverbankClientConfig, R as RiverbankClient } from './types-MF2AWoKv.mjs';
1
+ import { a as RiverbankClientConfig, R as RiverbankClient } from './types-C-LShyIg.mjs';
2
2
  import './schema-Z6-afHJG.mjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { a as RiverbankClientConfig, R as RiverbankClient } from './types-DnkRh0UL.js';
1
+ import { a as RiverbankClientConfig, R as RiverbankClient } from './types-BRQyLrQU.js';
2
2
  import './schema-Z6-afHJG.js';
3
3
 
4
4
  /**
@@ -1,6 +1,7 @@
1
- export { c as createRiverbankClient } from './index-Bkva0WAj.mjs';
2
- export { E as EntriesResponse, c as EntriesResponseWithMeta, b as EntryResponse, P as PageResponse, d as PaginationMeta, R as RiverbankClient, a as RiverbankClientConfig, S as SiteResponse } from './types-MF2AWoKv.mjs';
3
- import { A as APIEndpoints, b as APICallParams } from './types-Dsu9wsUh.mjs';
1
+ export { c as createRiverbankClient } from './index-Clm3skz_.mjs';
2
+ import { R as RiverbankClient, S as SiteResponse, P as PageResponse, G as GetEntriesBaseParams, E as EntriesResponse, d as EntriesResponseWithMeta } from './types-C-LShyIg.mjs';
3
+ export { j as CircuitBreakerConfig, C as CircuitState, b as EntryResponse, e as PaginationMeta, f as ResilienceConfig, h as ResilienceSource, g as ResilienceStatus, i as RetryConfig, a as RiverbankClientConfig } from './types-C-LShyIg.mjs';
4
+ import { A as APIEndpoints, b as APICallParams, a as NavigationItemRecord } from './types-BSV6Vc-P.mjs';
4
5
  import './schema-Z6-afHJG.mjs';
5
6
  export { g as ContainerAlignment, f as ContainerMaxWidth, d as ContainerOptionsConfig, R as RiverbankSiteConfig, b as SectionBackground, c as SectionOptionsConfig, e as SectionSpacing, S as SiteStyleConfig } from './types-BjgZt8xJ.mjs';
6
7
  export { B as BlockKind, C as CustomBlockKind, S as SYSTEM_BLOCK_KINDS, a as SystemBlockKind } from './blockKinds-B6MWzNWp.mjs';
@@ -1644,4 +1645,214 @@ declare const API_ENDPOINTS: {
1644
1645
  };
1645
1646
  declare function buildEndpointURL(baseURL: string, endpoint: keyof APIEndpoints): string;
1646
1647
 
1647
- export { API_ENDPOINTS, type ApiClient, buildEndpointURL };
1648
+ /**
1649
+ * Types for prebuild cache functionality
1650
+ *
1651
+ * The prebuild cache generates static JSON files at build time that serve
1652
+ * as a last-resort fallback when the CMS is unavailable.
1653
+ */
1654
+
1655
+ /**
1656
+ * Content types that can be included in the prebuild cache.
1657
+ */
1658
+ type PrebuildContentType = 'site' | 'pages' | 'entries' | 'navigation';
1659
+ /**
1660
+ * Progress callback data for prebuild operations.
1661
+ */
1662
+ interface PrebuildProgress {
1663
+ /** Current item number (1-indexed) */
1664
+ current: number;
1665
+ /** Total items to process */
1666
+ total: number;
1667
+ /** Description of current item being processed */
1668
+ item: string;
1669
+ /** Content type being processed */
1670
+ contentType: PrebuildContentType;
1671
+ }
1672
+ /**
1673
+ * Options for the prebuildCache function.
1674
+ */
1675
+ interface PrebuildOptions {
1676
+ /** Configured Riverbank client */
1677
+ client: RiverbankClient;
1678
+ /** Site ID to prebuild */
1679
+ siteId: string;
1680
+ /** Output directory for prebuild cache (e.g., '.riverbank-cache') */
1681
+ outputDir: string;
1682
+ /** Content types to include (default: all) */
1683
+ include?: PrebuildContentType[];
1684
+ /** Filter entries to specific content types (default: all configured) */
1685
+ contentTypes?: string[];
1686
+ /** Gzip compress output files (default: false) */
1687
+ compress?: boolean;
1688
+ /** Progress callback fired during generation */
1689
+ onProgress?: (progress: PrebuildProgress) => void;
1690
+ }
1691
+ /**
1692
+ * Result from prebuildCache function.
1693
+ */
1694
+ interface PrebuildResult {
1695
+ /** Whether prebuild completed successfully */
1696
+ success: boolean;
1697
+ /** Output directory path */
1698
+ outputDir: string;
1699
+ /** List of generated files (relative to outputDir) */
1700
+ files: string[];
1701
+ /** Total size of all files in bytes */
1702
+ totalSize: number;
1703
+ /** ISO timestamp when prebuild was generated */
1704
+ generatedAt: string;
1705
+ /** SHA256 checksum of manifest for validation */
1706
+ checksum: string;
1707
+ /** Any errors encountered (partial success possible) */
1708
+ errors?: string[];
1709
+ }
1710
+ /**
1711
+ * Manifest file structure for prebuild cache.
1712
+ */
1713
+ interface PrebuildManifest {
1714
+ /** Manifest version for compatibility checking */
1715
+ version: string;
1716
+ /** ISO timestamp when prebuild was generated */
1717
+ generatedAt: string;
1718
+ /** SHA256 checksum of manifest contents (excluding checksum field) */
1719
+ checksum: string;
1720
+ /** Site ID this prebuild is for */
1721
+ siteId: string;
1722
+ /** SDK version used to generate prebuild */
1723
+ sdkVersion: string;
1724
+ /** Mapping of cache keys to file paths */
1725
+ keyToFile: Record<string, string>;
1726
+ /** Content types included in this prebuild */
1727
+ includedTypes: PrebuildContentType[];
1728
+ /** Total number of files generated */
1729
+ fileCount: number;
1730
+ /** Total size in bytes */
1731
+ totalSize: number;
1732
+ }
1733
+ /**
1734
+ * Navigation cache file structure.
1735
+ */
1736
+ interface NavigationCacheFile {
1737
+ /** Navigation menu data */
1738
+ menus: Array<{
1739
+ /** Menu identifier (used as lookup key) */
1740
+ identifier: string | null;
1741
+ /** Menu ID (fallback if no identifier) */
1742
+ id: string;
1743
+ /** Menu display name */
1744
+ name: string;
1745
+ /** Navigation items in this menu */
1746
+ items: NavigationItemRecord[];
1747
+ }>;
1748
+ /** When this was generated */
1749
+ generatedAt: string;
1750
+ }
1751
+
1752
+ /**
1753
+ * Prebuild cache generation
1754
+ *
1755
+ * Exports static content at build time for use as a last-resort fallback
1756
+ * when the CMS is unavailable.
1757
+ */
1758
+
1759
+ /**
1760
+ * Generate a prebuild cache for the specified site.
1761
+ *
1762
+ * The prebuild cache contains static JSON files that can serve as a
1763
+ * last-resort fallback when the CMS is unavailable.
1764
+ *
1765
+ * @param options - Prebuild configuration
1766
+ * @returns Result with generated files and metadata
1767
+ *
1768
+ * @example
1769
+ * ```typescript
1770
+ * import { createRiverbankClient, prebuildCache } from '@riverbankcms/sdk';
1771
+ *
1772
+ * const client = createRiverbankClient({ apiKey, baseUrl });
1773
+ *
1774
+ * const result = await prebuildCache({
1775
+ * client,
1776
+ * siteId: 'your-site-id',
1777
+ * outputDir: '.riverbank-cache',
1778
+ * onProgress: (p) => console.log(`${p.current}/${p.total}: ${p.item}`),
1779
+ * });
1780
+ *
1781
+ * console.log(`Generated ${result.files.length} files (${result.totalSize} bytes)`);
1782
+ * ```
1783
+ */
1784
+ declare function prebuildCache(options: PrebuildOptions): Promise<PrebuildResult>;
1785
+
1786
+ /**
1787
+ * Prebuild cache loader
1788
+ *
1789
+ * Loads content from the prebuild cache at runtime as a last-resort fallback.
1790
+ */
1791
+
1792
+ interface PrebuildLoaderConfig {
1793
+ /** Path to prebuild cache directory */
1794
+ prebuildDir: string;
1795
+ /** Maximum age in seconds for prebuild cache */
1796
+ maxPrebuildAgeSec?: number;
1797
+ }
1798
+ interface LoadResult<T> {
1799
+ /** Loaded data */
1800
+ data: T;
1801
+ /** Age of prebuild in seconds */
1802
+ prebuildAgeSec: number;
1803
+ }
1804
+ /**
1805
+ * Check if we're running in a Node.js environment with filesystem access.
1806
+ * Edge runtimes (Vercel Edge, Cloudflare Workers) don't have fs access.
1807
+ */
1808
+ declare function canUsePrebuild(): boolean;
1809
+ /**
1810
+ * Loader for reading data from the prebuild cache.
1811
+ *
1812
+ * Used as a last-resort fallback when the CMS is unavailable and
1813
+ * there's no cached data.
1814
+ */
1815
+ declare class PrebuildLoader {
1816
+ private readonly prebuildDir;
1817
+ private readonly maxPrebuildAgeSec;
1818
+ constructor(config: PrebuildLoaderConfig);
1819
+ /**
1820
+ * Check if prebuild is available and not expired.
1821
+ */
1822
+ isAvailable(): boolean;
1823
+ /**
1824
+ * Load site data from prebuild cache.
1825
+ */
1826
+ loadSite(siteId: string): LoadResult<SiteResponse> | null;
1827
+ /**
1828
+ * Load page data from prebuild cache.
1829
+ */
1830
+ loadPage(siteId: string, pagePath: string): LoadResult<PageResponse> | null;
1831
+ /**
1832
+ * Load entries from prebuild cache with runtime filtering.
1833
+ *
1834
+ * The prebuild stores ALL entries for each content type.
1835
+ * Filtering, ordering, and pagination are applied at runtime.
1836
+ */
1837
+ loadEntries(siteId: string, params: GetEntriesBaseParams & {
1838
+ includeMeta?: boolean;
1839
+ }): LoadResult<EntriesResponse | EntriesResponseWithMeta> | null;
1840
+ /**
1841
+ * Load navigation data from prebuild cache.
1842
+ */
1843
+ loadNavigation(): LoadResult<NavigationCacheFile['menus']> | null;
1844
+ /**
1845
+ * Get the manifest for inspection.
1846
+ */
1847
+ getManifest(): PrebuildManifest | null;
1848
+ /**
1849
+ * Clear the cached manifest (for testing).
1850
+ */
1851
+ clearCache(): void;
1852
+ }
1853
+ /**
1854
+ * Create a prebuild loader instance.
1855
+ */
1856
+ declare function createPrebuildLoader(config: PrebuildLoaderConfig): PrebuildLoader;
1857
+
1858
+ export { API_ENDPOINTS, type ApiClient, EntriesResponse, EntriesResponseWithMeta, type LoadResult, PageResponse, type PrebuildContentType, PrebuildLoader, type PrebuildLoaderConfig, type PrebuildManifest, type PrebuildOptions, type PrebuildProgress, type PrebuildResult, RiverbankClient, SiteResponse, buildEndpointURL, canUsePrebuild, createPrebuildLoader, prebuildCache };