@riverbankcms/sdk 0.7.0 → 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.
- package/README.md +229 -0
- package/dist/cli/index.js +42 -95
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init-docs/content/agents-section.md +50 -0
- package/dist/cli/init-docs/content/cli-reference.md +574 -0
- package/dist/cli/init-docs/content/content-management.md +384 -0
- package/dist/cli/init-docs/content/context-brand.md +125 -0
- package/dist/cli/init-docs/content/context-brief.md +77 -0
- package/dist/cli/init-docs/content/context-knowledge.md +111 -0
- package/dist/cli/init-docs/content/getting-started.md +130 -0
- package/dist/cli/init-docs/content/site-workflows-readme.md +96 -0
- package/dist/cli/init-docs/content/workflow-add-block.md +228 -0
- package/dist/cli/init-docs/content/workflow-create-page.md +193 -0
- package/dist/cli/init-docs/content/workflow-publish.md +280 -0
- package/dist/client/bookings.d.mts +2 -0
- package/dist/client/bookings.d.ts +2 -0
- package/dist/client/bookings.js +2956 -104
- package/dist/client/bookings.js.map +1 -1
- package/dist/client/bookings.mjs +2929 -70
- package/dist/client/bookings.mjs.map +1 -1
- package/dist/client/client.d.mts +2 -2
- package/dist/client/client.d.ts +2 -2
- package/dist/client/client.js +602 -68
- package/dist/client/client.js.map +1 -1
- package/dist/client/client.mjs +602 -68
- package/dist/client/client.mjs.map +1 -1
- package/dist/client/hooks.d.mts +2 -2
- package/dist/client/hooks.d.ts +2 -2
- package/dist/client/rendering/client.js +3070 -259
- package/dist/client/rendering/client.js.map +1 -1
- package/dist/client/rendering/client.mjs +3212 -395
- package/dist/client/rendering/client.mjs.map +1 -1
- package/dist/client/spam-protection.d.mts +55 -0
- package/dist/client/spam-protection.d.ts +55 -0
- package/dist/client/spam-protection.js +2915 -0
- package/dist/client/spam-protection.js.map +1 -0
- package/dist/client/spam-protection.mjs +2893 -0
- package/dist/client/spam-protection.mjs.map +1 -0
- package/dist/client/{usePage-BiOReg0_.d.ts → usePage-BYmJCCm1.d.ts} +132 -11
- package/dist/client/{usePage-BXjk8BhD.d.mts → usePage-DZtrWajy.d.mts} +132 -11
- package/dist/server/{Layout-wBtJLTVX.d.ts → Layout-Yluyb6sK.d.ts} +1 -1
- package/dist/server/{Layout-B7cvis7r.d.mts → Layout-qWLdVm5-.d.mts} +1 -1
- package/dist/server/chunk-2IZ6S225.js +122 -0
- package/dist/server/chunk-2IZ6S225.js.map +1 -0
- package/dist/server/chunk-4CV4JOE5.js +27 -0
- package/dist/server/chunk-4CV4JOE5.js.map +1 -0
- package/dist/server/chunk-5LRR64Y6.mjs +72 -0
- package/dist/server/chunk-5LRR64Y6.mjs.map +1 -0
- package/dist/server/chunk-NBTRDLCM.js +72 -0
- package/dist/server/chunk-NBTRDLCM.js.map +1 -0
- package/dist/server/chunk-NFEGQTCC.mjs +27 -0
- package/dist/server/{chunk-7FIJSGHU.mjs → chunk-NFQLH5IA.mjs} +856 -74
- package/dist/server/chunk-NFQLH5IA.mjs.map +1 -0
- package/dist/server/chunk-PPHZV6YD.mjs +122 -0
- package/dist/server/chunk-PPHZV6YD.mjs.map +1 -0
- package/dist/server/{chunk-P7UVAMK6.js → chunk-VLXTNB2C.js} +866 -84
- package/dist/server/chunk-VLXTNB2C.js.map +1 -0
- package/dist/server/{components-CMMwDXTW.d.mts → components-DNHfSCML.d.mts} +3 -3
- package/dist/server/{components-CICSJyp_.d.ts → components-Di5ME6He.d.ts} +3 -3
- package/dist/server/components.d.mts +5 -5
- package/dist/server/components.d.ts +5 -5
- package/dist/server/components.js +1 -1
- package/dist/server/components.mjs +1 -1
- package/dist/server/config-validation.js +1 -1
- package/dist/server/config-validation.mjs +1 -1
- package/dist/server/config.js +1 -1
- package/dist/server/config.mjs +1 -1
- package/dist/server/data.d.mts +2 -2
- package/dist/server/data.d.ts +2 -2
- package/dist/server/data.js +1 -1
- package/dist/server/data.mjs +1 -1
- package/dist/server/env.d.mts +109 -0
- package/dist/server/env.d.ts +109 -0
- package/dist/server/env.js +14 -0
- package/dist/server/env.js.map +1 -0
- package/dist/server/env.mjs +14 -0
- package/dist/server/{index-DI_qlYx3.d.mts → index--Oyunk_B.d.mts} +2 -2
- package/dist/server/{index-BTwWvSBu.d.ts → index-C9Ra8dza.d.ts} +2 -2
- package/dist/server/{index-Bucs6UqG.d.mts → index-Clm3skz_.d.mts} +1 -1
- package/dist/server/{index-Cp7tJuRt.d.ts → index-DLvNddi-.d.ts} +1 -1
- package/dist/server/index.d.mts +216 -5
- package/dist/server/index.d.ts +216 -5
- package/dist/server/index.js +301 -4
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +301 -4
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/{loadContent-DmgpFcFC.d.ts → loadContent-D7LQwI0o.d.ts} +3 -3
- package/dist/server/{loadContent-C-YYUKQa.d.mts → loadContent-DVfuBLiZ.d.mts} +3 -3
- package/dist/server/{loadPage-IDGVDFBB.js → loadPage-AXNAERDS.js} +2 -2
- package/dist/server/{loadPage-IDGVDFBB.js.map → loadPage-AXNAERDS.js.map} +1 -1
- package/dist/server/{loadPage-DP3nrHBi.d.ts → loadPage-BmYJCe_V.d.ts} +2 -2
- package/dist/server/{loadPage-B8mQUUSo.d.mts → loadPage-BucnLHmE.d.mts} +2 -2
- package/dist/server/{loadPage-DNQTTRHL.mjs → loadPage-XR7ORQ2E.mjs} +2 -2
- package/dist/server/loadPage-XR7ORQ2E.mjs.map +1 -0
- package/dist/server/metadata.d.mts +4 -4
- package/dist/server/metadata.d.ts +4 -4
- package/dist/server/metadata.js +1 -1
- package/dist/server/metadata.mjs +1 -1
- package/dist/server/navigation.d.mts +2 -2
- package/dist/server/navigation.d.ts +2 -2
- package/dist/server/navigation.js +1 -1
- package/dist/server/navigation.mjs +1 -1
- package/dist/server/next/revalidate.d.mts +66 -0
- package/dist/server/next/revalidate.d.ts +66 -0
- package/dist/server/next/revalidate.js +60 -0
- package/dist/server/next/revalidate.js.map +1 -0
- package/dist/server/next/revalidate.mjs +60 -0
- package/dist/server/next/revalidate.mjs.map +1 -0
- package/dist/server/next/tags.d.mts +81 -0
- package/dist/server/next/tags.d.ts +81 -0
- package/dist/server/next/tags.js +36 -0
- package/dist/server/next/tags.js.map +1 -0
- package/dist/server/next/tags.mjs +36 -0
- package/dist/server/next/tags.mjs.map +1 -0
- package/dist/server/next.d.mts +164 -6
- package/dist/server/next.d.ts +164 -6
- package/dist/server/next.js +79 -11
- package/dist/server/next.js.map +1 -1
- package/dist/server/next.mjs +76 -8
- package/dist/server/next.mjs.map +1 -1
- package/dist/server/rendering/server.d.mts +4 -4
- package/dist/server/rendering/server.d.ts +4 -4
- package/dist/server/rendering/server.js +1 -1
- package/dist/server/rendering/server.mjs +1 -1
- package/dist/server/rendering.d.mts +7 -7
- package/dist/server/rendering.d.ts +7 -7
- package/dist/server/rendering.js +3 -3
- package/dist/server/rendering.js.map +1 -1
- package/dist/server/rendering.mjs +4 -4
- package/dist/server/routing.d.mts +3 -3
- package/dist/server/routing.d.ts +3 -3
- package/dist/server/routing.js +2 -2
- package/dist/server/routing.mjs +2 -2
- package/dist/server/server.d.mts +5 -5
- package/dist/server/server.d.ts +5 -5
- package/dist/server/server.js +5 -5
- package/dist/server/server.js.map +1 -1
- package/dist/server/server.mjs +5 -5
- package/dist/server/theme-bridge.js +1 -1
- package/dist/server/theme-bridge.mjs +1 -1
- package/dist/server/theme.js +1 -1
- package/dist/server/theme.mjs +1 -1
- package/dist/server/{types-BvcJU7zk.d.ts → types-BRQyLrQU.d.ts} +132 -11
- package/dist/server/{types-Dsu9wsUh.d.mts → types-BSV6Vc-P.d.mts} +2 -2
- package/dist/server/{types-1cLz0vnq.d.mts → types-C-LShyIg.d.mts} +132 -11
- package/dist/server/{types-CVykEqXN.d.ts → types-Dt98DeYa.d.ts} +2 -2
- package/dist/server/webhooks.d.mts +81 -0
- package/dist/server/webhooks.d.ts +81 -0
- package/dist/server/webhooks.js +12 -0
- package/dist/server/webhooks.js.map +1 -0
- package/dist/server/webhooks.mjs +12 -0
- package/dist/server/webhooks.mjs.map +1 -0
- package/package.json +29 -3
- package/dist/client/resolver-BhueZVxZ.d.mts +0 -61
- package/dist/client/resolver-BhueZVxZ.d.ts +0 -61
- package/dist/client/usePage--fGlyrgj.d.mts +0 -6439
- package/dist/client/usePage-BBcFCxOU.d.ts +0 -6297
- package/dist/client/usePage-BC8Q2E3t.d.mts +0 -6431
- package/dist/client/usePage-BTPnCuWC.d.mts +0 -6511
- package/dist/client/usePage-BafOS9UT.d.mts +0 -6512
- package/dist/client/usePage-BcjWPXvh.d.mts +0 -6388
- package/dist/client/usePage-Bnx-kA6x.d.mts +0 -6670
- package/dist/client/usePage-BvKAa3Zw.d.mts +0 -366
- package/dist/client/usePage-BvKAa3Zw.d.ts +0 -366
- package/dist/client/usePage-BydHcMYB.d.mts +0 -6297
- package/dist/client/usePage-C3ZKNwY7.d.mts +0 -6393
- package/dist/client/usePage-CE7X5NcN.d.ts +0 -6439
- package/dist/client/usePage-CHEybPMD.d.ts +0 -6429
- package/dist/client/usePage-CrKw1H6Y.d.ts +0 -6338
- package/dist/client/usePage-CyYpOJud.d.ts +0 -6388
- package/dist/client/usePage-D4fxZbRR.d.mts +0 -6429
- package/dist/client/usePage-DMI8ImsU.d.mts +0 -6338
- package/dist/client/usePage-DoPI6b8V.d.ts +0 -6511
- package/dist/client/usePage-DpRNZUtP.d.ts +0 -6431
- package/dist/client/usePage-QNWArrVO.d.ts +0 -6670
- package/dist/client/usePage-fBgPB6Oq.d.ts +0 -6512
- package/dist/client/usePage-gpVaeWDy.d.ts +0 -6393
- package/dist/server/chunk-7FIJSGHU.mjs.map +0 -1
- package/dist/server/chunk-BJTO5JO5.mjs +0 -11
- package/dist/server/chunk-DGUM43GV.js +0 -11
- package/dist/server/chunk-DGUM43GV.js.map +0 -1
- package/dist/server/chunk-P7UVAMK6.js.map +0 -1
- /package/dist/server/{chunk-BJTO5JO5.mjs.map → chunk-NFEGQTCC.mjs.map} +0 -0
- /package/dist/server/{loadPage-DNQTTRHL.mjs.map → env.mjs.map} +0 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment detection utilities for SDK
|
|
3
|
+
*
|
|
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
|
|
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
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Detects if the current environment is in preview mode.
|
|
48
|
+
*
|
|
49
|
+
* Precedence:
|
|
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)
|
|
54
|
+
*
|
|
55
|
+
* In preview mode:
|
|
56
|
+
* - Draft content is visible
|
|
57
|
+
* - ISR revalidation is more aggressive
|
|
58
|
+
* - Cache bypass may be enabled
|
|
59
|
+
*
|
|
60
|
+
* @returns true if in preview mode, false otherwise
|
|
61
|
+
*/
|
|
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;
|
|
108
|
+
|
|
109
|
+
export { type RiverbankEnvConfig, RiverbankEnvError, type RiverbankEnvTarget, getRiverbankEnv, getRiverbankTarget, isPreviewMode };
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment detection utilities for SDK
|
|
3
|
+
*
|
|
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
|
|
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
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Detects if the current environment is in preview mode.
|
|
48
|
+
*
|
|
49
|
+
* Precedence:
|
|
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)
|
|
54
|
+
*
|
|
55
|
+
* In preview mode:
|
|
56
|
+
* - Draft content is visible
|
|
57
|
+
* - ISR revalidation is more aggressive
|
|
58
|
+
* - Cache bypass may be enabled
|
|
59
|
+
*
|
|
60
|
+
* @returns true if in preview mode, false otherwise
|
|
61
|
+
*/
|
|
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;
|
|
108
|
+
|
|
109
|
+
export { type RiverbankEnvConfig, RiverbankEnvError, type RiverbankEnvTarget, getRiverbankEnv, getRiverbankTarget, isPreviewMode };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
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;
|
|
14
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RiverbankEnvError,
|
|
3
|
+
getRiverbankEnv,
|
|
4
|
+
getRiverbankTarget,
|
|
5
|
+
isPreviewMode
|
|
6
|
+
} from "./chunk-PPHZV6YD.mjs";
|
|
7
|
+
import "./chunk-NFEGQTCC.mjs";
|
|
8
|
+
export {
|
|
9
|
+
RiverbankEnvError,
|
|
10
|
+
getRiverbankEnv,
|
|
11
|
+
getRiverbankTarget,
|
|
12
|
+
isPreviewMode
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=env.mjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as LoadPageResult } from './loadPage-
|
|
2
|
-
import { S as SiteResponse } from './types-
|
|
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-
|
|
2
|
-
import { S as SiteResponse } from './types-
|
|
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
|
package/dist/server/index.d.mts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { c as createRiverbankClient } from './index-
|
|
2
|
-
|
|
3
|
-
|
|
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';
|
|
@@ -35,7 +36,7 @@ interface ApiResponse<TData> {
|
|
|
35
36
|
data: TData;
|
|
36
37
|
meta: ResponseMeta;
|
|
37
38
|
}
|
|
38
|
-
type ApiErrorCode = 'auth:unauthenticated' | 'auth:token_expired' | 'auth:token_invalid' | 'auth:forbidden' | 'auth:mfa_required' | 'auth:sudo_required' | 'auth:insufficient_permissions' | 'auth:impersonation_restricted' | 'validation:invalid_input' | 'validation:missing_field' | 'validation:invalid_format' | 'validation:payload_too_large' | 'resource:not_found' | 'resource:already_exists' | 'resource:conflict' | 'resource:gone' | 'rate_limit:exceeded' | 'billing:payment_required' | 'billing:plan_limit_exceeded' | 'server:internal_error' | 'server:unavailable' | 'external:service_error';
|
|
39
|
+
type ApiErrorCode = 'auth:unauthenticated' | 'auth:token_expired' | 'auth:token_invalid' | 'auth:forbidden' | 'auth:mfa_required' | 'auth:sudo_required' | 'auth:insufficient_permissions' | 'auth:impersonation_restricted' | 'validation:invalid_input' | 'validation:missing_field' | 'validation:invalid_format' | 'validation:payload_too_large' | 'resource:not_found' | 'resource:already_exists' | 'resource:conflict' | 'resource:gone' | 'rate_limit:exceeded' | 'billing:payment_required' | 'billing:plan_limit_exceeded' | 'server:internal_error' | 'server:unavailable' | 'external:service_error' | 'network:connection_error' | 'network:timeout' | 'network:dns_error';
|
|
39
40
|
interface FieldError {
|
|
40
41
|
field: string;
|
|
41
42
|
code: string;
|
|
@@ -1644,4 +1645,214 @@ declare const API_ENDPOINTS: {
|
|
|
1644
1645
|
};
|
|
1645
1646
|
declare function buildEndpointURL(baseURL: string, endpoint: keyof APIEndpoints): string;
|
|
1646
1647
|
|
|
1647
|
-
|
|
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 };
|