@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.
- package/README.md +54 -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 +80 -11
- package/dist/client/client.js.map +1 -1
- package/dist/client/client.mjs +87 -11
- 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-Db9kzA41.d.ts → usePage-BYmJCCm1.d.ts} +14 -2
- package/dist/client/{usePage-C9tJpuKa.d.mts → usePage-DZtrWajy.d.mts} +14 -2
- package/dist/server/{Layout-Ce7PU9I5.d.ts → Layout-Yluyb6sK.d.ts} +1 -1
- package/dist/server/{Layout-WllR8Zug.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-AET56TQX.mjs → chunk-5LRR64Y6.mjs} +32 -5
- package/dist/server/chunk-5LRR64Y6.mjs.map +1 -0
- package/dist/server/{chunk-VODFQMUW.js → chunk-NBTRDLCM.js} +32 -5
- package/dist/server/chunk-NBTRDLCM.js.map +1 -0
- package/dist/server/chunk-NFEGQTCC.mjs +27 -0
- package/dist/server/{chunk-5JT452F2.mjs → chunk-NFQLH5IA.mjs} +340 -19
- 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-HMENX4Y7.js → chunk-VLXTNB2C.js} +370 -49
- package/dist/server/chunk-VLXTNB2C.js.map +1 -0
- package/dist/server/{components-RPzRQve6.d.mts → components-DNHfSCML.d.mts} +3 -3
- package/dist/server/{components--LT61IKp.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 -0
- package/dist/server/components.js.map +1 -1
- package/dist/server/components.mjs +1 -0
- package/dist/server/config-validation.js +1 -0
- package/dist/server/config-validation.js.map +1 -1
- package/dist/server/config-validation.mjs +1 -0
- package/dist/server/config.js +1 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs +1 -0
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/data.d.mts +2 -2
- package/dist/server/data.d.ts +2 -2
- package/dist/server/data.js +1 -0
- package/dist/server/data.js.map +1 -1
- package/dist/server/data.mjs +1 -0
- package/dist/server/env.d.mts +91 -5
- package/dist/server/env.d.ts +91 -5
- package/dist/server/env.js +9 -2
- package/dist/server/env.js.map +1 -1
- package/dist/server/env.mjs +8 -1
- package/dist/server/{index-BL66CU6d.d.mts → index--Oyunk_B.d.mts} +2 -2
- package/dist/server/{index-CJk9iQQW.d.ts → index-C9Ra8dza.d.ts} +2 -2
- package/dist/server/{index-Bkva0WAj.d.mts → index-Clm3skz_.d.mts} +1 -1
- package/dist/server/{index-CSBWKA3r.d.ts → index-DLvNddi-.d.ts} +1 -1
- package/dist/server/index.d.mts +215 -4
- package/dist/server/index.d.ts +215 -4
- package/dist/server/index.js +301 -3
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +301 -3
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/{loadContent-CXUWMuzY.d.ts → loadContent-D7LQwI0o.d.ts} +3 -3
- package/dist/server/{loadContent-F_tAS0Nl.d.mts → loadContent-DVfuBLiZ.d.mts} +3 -3
- package/dist/server/{loadPage-6I7F6GRF.js → loadPage-AXNAERDS.js} +2 -1
- package/dist/server/loadPage-AXNAERDS.js.map +1 -0
- package/dist/server/{loadPage-i2r-X5b9.d.ts → loadPage-BmYJCe_V.d.ts} +2 -2
- package/dist/server/{loadPage-CxlYLe5K.d.mts → loadPage-BucnLHmE.d.mts} +2 -2
- package/dist/server/{loadPage-JI2SML4M.mjs → loadPage-XR7ORQ2E.mjs} +2 -1
- 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 -0
- package/dist/server/metadata.js.map +1 -1
- package/dist/server/metadata.mjs +1 -0
- package/dist/server/navigation.d.mts +2 -2
- package/dist/server/navigation.d.ts +2 -2
- package/dist/server/navigation.js +1 -0
- package/dist/server/navigation.js.map +1 -1
- package/dist/server/navigation.mjs +1 -0
- package/dist/server/next/revalidate.js +5 -4
- package/dist/server/next/revalidate.js.map +1 -1
- package/dist/server/next/revalidate.mjs +3 -2
- package/dist/server/next/revalidate.mjs.map +1 -1
- package/dist/server/next/tags.d.mts +3 -0
- package/dist/server/next/tags.d.ts +3 -0
- package/dist/server/next/tags.js +3 -1
- package/dist/server/next/tags.js.map +1 -1
- package/dist/server/next/tags.mjs +2 -0
- package/dist/server/next/tags.mjs.map +1 -1
- package/dist/server/next.d.mts +5 -5
- package/dist/server/next.d.ts +5 -5
- package/dist/server/next.js +5 -4
- package/dist/server/next.js.map +1 -1
- package/dist/server/next.mjs +3 -2
- 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 -0
- package/dist/server/rendering/server.js.map +1 -1
- package/dist/server/rendering/server.mjs +1 -0
- package/dist/server/rendering.d.mts +7 -7
- package/dist/server/rendering.d.ts +7 -7
- package/dist/server/rendering.js +1 -0
- package/dist/server/rendering.js.map +1 -1
- package/dist/server/rendering.mjs +1 -0
- package/dist/server/routing.d.mts +3 -3
- package/dist/server/routing.d.ts +3 -3
- package/dist/server/routing.js +4 -2
- package/dist/server/routing.js.map +1 -1
- package/dist/server/routing.mjs +3 -1
- package/dist/server/routing.mjs.map +1 -1
- package/dist/server/server.d.mts +5 -5
- package/dist/server/server.d.ts +5 -5
- package/dist/server/server.js +3 -2
- package/dist/server/server.js.map +1 -1
- package/dist/server/server.mjs +2 -1
- package/dist/server/theme-bridge.js +1 -0
- package/dist/server/theme-bridge.js.map +1 -1
- package/dist/server/theme-bridge.mjs +1 -0
- package/dist/server/theme-bridge.mjs.map +1 -1
- package/dist/server/theme.js +3 -1
- package/dist/server/theme.js.map +1 -1
- package/dist/server/theme.mjs +2 -0
- package/dist/server/theme.mjs.map +1 -1
- package/dist/server/{types-DnkRh0UL.d.ts → types-BRQyLrQU.d.ts} +14 -2
- package/dist/server/{types-Dsu9wsUh.d.mts → types-BSV6Vc-P.d.mts} +2 -2
- package/dist/server/{types-MF2AWoKv.d.mts → types-C-LShyIg.d.mts} +14 -2
- package/dist/server/{types-CVykEqXN.d.ts → types-Dt98DeYa.d.ts} +2 -2
- package/dist/server/webhooks.d.mts +8 -2
- package/dist/server/webhooks.d.ts +8 -2
- package/dist/server/webhooks.js +3 -2
- package/dist/server/webhooks.js.map +1 -1
- package/dist/server/webhooks.mjs +2 -1
- package/package.json +7 -1
- 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-BXjk8BhD.d.mts +0 -6704
- package/dist/client/usePage-BafOS9UT.d.mts +0 -6512
- package/dist/client/usePage-BcjWPXvh.d.mts +0 -6388
- package/dist/client/usePage-BiOReg0_.d.ts +0 -6704
- 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-5JT452F2.mjs.map +0 -1
- package/dist/server/chunk-AET56TQX.mjs.map +0 -1
- package/dist/server/chunk-HMENX4Y7.js.map +0 -1
- package/dist/server/chunk-LQUKXIW7.mjs +0 -13
- package/dist/server/chunk-LQUKXIW7.mjs.map +0 -1
- package/dist/server/chunk-VODFQMUW.js.map +0 -1
- package/dist/server/chunk-WYNEYDXO.js +0 -13
- package/dist/server/chunk-WYNEYDXO.js.map +0 -1
- package/dist/server/loadPage-6I7F6GRF.js.map +0 -1
- /package/dist/server/{loadPage-JI2SML4M.mjs.map → chunk-NFEGQTCC.mjs.map} +0 -0
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';
|
|
@@ -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 };
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { c as createRiverbankClient } from './index-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export { c as createRiverbankClient } from './index-DLvNddi-.js';
|
|
2
|
+
import { R as RiverbankClient, S as SiteResponse, P as PageResponse, G as GetEntriesBaseParams, E as EntriesResponse, d as EntriesResponseWithMeta } from './types-BRQyLrQU.js';
|
|
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-BRQyLrQU.js';
|
|
4
|
+
import { A as APIEndpoints, b as APICallParams, a as NavigationItemRecord } from './types-Dt98DeYa.js';
|
|
4
5
|
import './schema-Z6-afHJG.js';
|
|
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-DLBhEPSt.js';
|
|
6
7
|
export { B as BlockKind, C as CustomBlockKind, S as SYSTEM_BLOCK_KINDS, a as SystemBlockKind } from './blockKinds-B6MWzNWp.js';
|
|
@@ -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 };
|