@riverbankcms/sdk 0.4.2 → 0.5.0
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 +84 -0
- package/dist/cli/index.js +3104 -120
- package/dist/cli/index.js.map +1 -1
- package/dist/client/analytics.js +1 -1
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/analytics.mjs +1 -1
- package/dist/client/analytics.mjs.map +1 -1
- package/dist/client/bookings.js +6 -6
- package/dist/client/bookings.js.map +1 -1
- package/dist/client/bookings.mjs +6 -6
- 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 +1368 -520
- package/dist/client/client.js.map +1 -1
- package/dist/client/client.mjs +1368 -520
- 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/hooks.js +26 -11
- package/dist/client/hooks.js.map +1 -1
- package/dist/client/hooks.mjs +26 -11
- package/dist/client/hooks.mjs.map +1 -1
- package/dist/client/rendering/client.js +24 -14
- package/dist/client/rendering/client.js.map +1 -1
- package/dist/client/rendering/client.mjs +24 -14
- package/dist/client/rendering/client.mjs.map +1 -1
- package/dist/client/usePage--fGlyrgj.d.mts +6439 -0
- package/dist/client/usePage-BTPnCuWC.d.mts +6511 -0
- package/dist/client/usePage-BafOS9UT.d.mts +6512 -0
- package/dist/client/usePage-Bnx-kA6x.d.mts +6670 -0
- package/dist/client/usePage-CE7X5NcN.d.ts +6439 -0
- package/dist/client/usePage-DoPI6b8V.d.ts +6511 -0
- package/dist/client/usePage-QNWArrVO.d.ts +6670 -0
- package/dist/client/usePage-fBgPB6Oq.d.ts +6512 -0
- package/dist/server/{Layout-kRv5sU81.d.ts → Layout-B-q2Py4v.d.ts} +4 -4
- package/dist/server/{Layout-ByUnm35V.d.mts → Layout-Cc5HUXAH.d.mts} +4 -4
- package/dist/server/{chunk-6JBKKV3G.js → chunk-2KCF2DNK.js} +30 -10
- package/dist/server/chunk-2KCF2DNK.js.map +1 -0
- package/dist/server/{chunk-N3PX76AP.mjs → chunk-4HIRA33Z.mjs} +247 -135
- package/dist/server/chunk-4HIRA33Z.mjs.map +1 -0
- package/dist/server/chunk-5STV4MWD.js +189 -0
- package/dist/server/chunk-5STV4MWD.js.map +1 -0
- package/dist/server/{chunk-R5B6IOFQ.js → chunk-6OSNCH4F.js} +247 -135
- package/dist/server/chunk-6OSNCH4F.js.map +1 -0
- package/dist/server/{chunk-TKMA6D6U.js → chunk-7UPVCT3K.js} +1215 -497
- package/dist/server/chunk-7UPVCT3K.js.map +1 -0
- package/dist/server/{chunk-7DS4Q3GA.mjs → chunk-AEFWG657.mjs} +3 -3
- package/dist/server/chunk-AEFWG657.mjs.map +1 -0
- package/dist/server/{chunk-USQF2XTU.mjs → chunk-BYBJA6SP.mjs} +26 -11
- package/dist/server/chunk-BYBJA6SP.mjs.map +1 -0
- package/dist/server/{chunk-ZEAJW6T3.mjs → chunk-C6FIJC7T.mjs} +4 -3
- package/dist/server/chunk-C6FIJC7T.mjs.map +1 -0
- package/dist/server/{chunk-TO7FD6TQ.js → chunk-I2D7KOEA.js} +4 -4
- package/dist/server/{chunk-TO7FD6TQ.js.map → chunk-I2D7KOEA.js.map} +1 -1
- package/dist/server/chunk-KFLZGNPO.mjs +189 -0
- package/dist/server/chunk-KFLZGNPO.mjs.map +1 -0
- package/dist/server/chunk-L5EA4FXU.mjs +134 -0
- package/dist/server/chunk-L5EA4FXU.mjs.map +1 -0
- package/dist/server/{chunk-TNRADRPH.mjs → chunk-LNOUXALA.mjs} +1137 -419
- package/dist/server/chunk-LNOUXALA.mjs.map +1 -0
- package/dist/server/{chunk-SPXMMX3C.mjs → chunk-OSF34JTQ.mjs} +4 -4
- package/dist/server/{chunk-SWPHIUVE.js → chunk-P3NNN73G.js} +5 -4
- package/dist/server/chunk-P3NNN73G.js.map +1 -0
- package/dist/server/{chunk-I6K5REFT.mjs → chunk-P4K63SBZ.mjs} +24 -4
- package/dist/server/chunk-P4K63SBZ.mjs.map +1 -0
- package/dist/server/{chunk-HOY77YBF.js → chunk-RVDS7VSP.js} +5 -5
- package/dist/server/chunk-RVDS7VSP.js.map +1 -0
- package/dist/server/{chunk-NW5KHH4A.js → chunk-TT5JWA4X.js} +9 -9
- package/dist/server/{chunk-NW5KHH4A.js.map → chunk-TT5JWA4X.js.map} +1 -1
- package/dist/server/chunk-VSFQRHYZ.js +134 -0
- package/dist/server/chunk-VSFQRHYZ.js.map +1 -0
- package/dist/server/{chunk-EGTDJ4PL.js → chunk-YYO3RIFO.js} +26 -11
- package/dist/server/chunk-YYO3RIFO.js.map +1 -0
- package/dist/server/{chunk-OP2GHK27.mjs → chunk-Z5ZA6Q4D.mjs} +2 -2
- package/dist/server/{components-D1Z2mSDr.d.ts → components-CU46ZkAv.d.mts} +20 -75
- package/dist/server/{components-CY8jDQjv.d.mts → components-DvozDwRN.d.ts} +20 -75
- package/dist/server/components.d.mts +11 -8
- package/dist/server/components.d.ts +11 -8
- package/dist/server/components.js +5 -4
- package/dist/server/components.js.map +1 -1
- package/dist/server/components.mjs +4 -3
- package/dist/server/config-validation.d.mts +3 -3
- package/dist/server/config-validation.d.ts +3 -3
- package/dist/server/config-validation.js +9 -5
- package/dist/server/config-validation.js.map +1 -1
- package/dist/server/config-validation.mjs +8 -4
- package/dist/server/config.d.mts +243 -5
- package/dist/server/config.d.ts +243 -5
- package/dist/server/config.js +72 -5
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs +72 -5
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/core-DsNWrl3o.d.mts +44 -0
- package/dist/server/core-DsNWrl3o.d.ts +44 -0
- package/dist/server/data.d.mts +4 -3
- package/dist/server/data.d.ts +4 -3
- package/dist/server/data.js +3 -3
- package/dist/server/data.mjs +2 -2
- package/dist/server/{index-DCIz9Ptv.d.ts → index-CJfMXZQr.d.ts} +2 -1
- package/dist/server/{index-DFQwtj3J.d.mts → index-Q7RLMAQ6.d.mts} +2 -1
- package/dist/server/index.d.mts +63 -6
- package/dist/server/index.d.ts +63 -6
- package/dist/server/index.js +91 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +90 -1
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/link-DjxLyC82.d.mts +23 -0
- package/dist/server/link-DjxLyC82.d.ts +23 -0
- package/dist/server/{loadContent-CWuE8FCx.d.mts → loadContent-DgpSKWqY.d.mts} +4 -4
- package/dist/server/{loadContent-DynBuR5f.d.ts → loadContent-GPvUI1bN.d.ts} +4 -4
- package/dist/server/{loadPage-B8RmlYgV.d.mts → loadPage-DGnIK7s4.d.mts} +17 -47
- package/dist/server/loadPage-DNQTTRHL.mjs +11 -0
- package/dist/server/{loadPage-BTkKpizX.d.ts → loadPage-DW9WB-u9.d.ts} +17 -47
- package/dist/server/loadPage-IDGVDFBB.js +11 -0
- package/dist/server/{loadPage-DUHBXDEW.js.map → loadPage-IDGVDFBB.js.map} +1 -1
- package/dist/server/metadata.d.mts +6 -4
- package/dist/server/metadata.d.ts +6 -4
- package/dist/server/navigation.d.mts +199 -29
- package/dist/server/navigation.d.ts +199 -29
- package/dist/server/navigation.js +27 -43
- package/dist/server/navigation.js.map +1 -1
- package/dist/server/navigation.mjs +20 -36
- package/dist/server/navigation.mjs.map +1 -1
- package/dist/server/rendering/server.d.mts +8 -6
- package/dist/server/rendering/server.d.ts +8 -6
- package/dist/server/rendering/server.js +7 -6
- package/dist/server/rendering/server.js.map +1 -1
- package/dist/server/rendering/server.mjs +6 -5
- package/dist/server/rendering.d.mts +14 -10
- package/dist/server/rendering.d.ts +14 -10
- package/dist/server/rendering.js +9 -8
- package/dist/server/rendering.js.map +1 -1
- package/dist/server/rendering.mjs +8 -7
- package/dist/server/richTextSchema-DURiozvD.d.mts +62 -0
- package/dist/server/richTextSchema-DURiozvD.d.ts +62 -0
- package/dist/server/routing.d.mts +178 -11
- package/dist/server/routing.d.ts +178 -11
- package/dist/server/routing.js +95 -2
- package/dist/server/routing.js.map +1 -1
- package/dist/server/routing.mjs +94 -1
- package/dist/server/routing.mjs.map +1 -1
- package/dist/server/{schema-Bpy9N5ZI.d.ts → schema-Z6-afHJG.d.mts} +1 -1
- package/dist/server/{schema-Bpy9N5ZI.d.mts → schema-Z6-afHJG.d.ts} +1 -1
- package/dist/server/server.d.mts +9 -7
- package/dist/server/server.d.ts +9 -7
- package/dist/server/server.js +6 -6
- package/dist/server/server.mjs +5 -5
- package/dist/server/theme-bridge.js +8 -8
- package/dist/server/theme-bridge.mjs +2 -2
- package/dist/server/{types-oCM-fw4O.d.ts → types-0f4PIlgx.d.mts} +55 -2
- package/dist/server/{types-txWsSxN7.d.mts → types-BjgZt8xJ.d.mts} +63 -2
- package/dist/server/{types-BiRZnxDx.d.ts → types-C28kMfa1.d.ts} +256 -82
- package/dist/server/{types-CL916r6x.d.ts → types-DLBhEPSt.d.ts} +63 -2
- package/dist/server/{types-CdrJqlKx.d.mts → types-DuzJZKJI.d.mts} +256 -82
- package/dist/server/{types-DkKEctWn.d.mts → types-kOQyCFXO.d.ts} +55 -2
- package/dist/server/{validation-DzvDwwRo.d.mts → validation-BGuRo8P1.d.mts} +18 -5
- package/dist/server/{validation-CoU8uAiu.d.ts → validation-DU2YE7u5.d.ts} +18 -5
- package/package.json +5 -3
- package/dist/server/chunk-6JBKKV3G.js.map +0 -1
- package/dist/server/chunk-7BOIO2S7.mjs +0 -833
- package/dist/server/chunk-7BOIO2S7.mjs.map +0 -1
- package/dist/server/chunk-7DS4Q3GA.mjs.map +0 -1
- package/dist/server/chunk-BLKVTULP.js +0 -833
- package/dist/server/chunk-BLKVTULP.js.map +0 -1
- package/dist/server/chunk-EGTDJ4PL.js.map +0 -1
- package/dist/server/chunk-HOY77YBF.js.map +0 -1
- package/dist/server/chunk-I6K5REFT.mjs.map +0 -1
- package/dist/server/chunk-N3PX76AP.mjs.map +0 -1
- package/dist/server/chunk-R5B6IOFQ.js.map +0 -1
- package/dist/server/chunk-SWPHIUVE.js.map +0 -1
- package/dist/server/chunk-TKMA6D6U.js.map +0 -1
- package/dist/server/chunk-TNRADRPH.mjs.map +0 -1
- package/dist/server/chunk-USQF2XTU.mjs.map +0 -1
- package/dist/server/chunk-ZEAJW6T3.mjs.map +0 -1
- package/dist/server/loadPage-DUHBXDEW.js +0 -11
- package/dist/server/loadPage-LYVKY3WZ.mjs +0 -11
- /package/dist/server/{chunk-SPXMMX3C.mjs.map → chunk-OSF34JTQ.mjs.map} +0 -0
- /package/dist/server/{chunk-OP2GHK27.mjs.map → chunk-Z5ZA6Q4D.mjs.map} +0 -0
- /package/dist/server/{loadPage-LYVKY3WZ.mjs.map → loadPage-DNQTTRHL.mjs.map} +0 -0
|
@@ -1457,6 +1457,15 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1457
1457
|
auth: "public",
|
|
1458
1458
|
responseKind: "json"
|
|
1459
1459
|
},
|
|
1460
|
+
// Resolve event occurrence by URL segment (date or UUID)
|
|
1461
|
+
resolveEventOccurrence: {
|
|
1462
|
+
path: "/public/sites/{siteId}/events/occurrences/resolve",
|
|
1463
|
+
method: "GET",
|
|
1464
|
+
revalidate: 60,
|
|
1465
|
+
tags: ["public-events-{siteId}", "event-occurrence"],
|
|
1466
|
+
auth: "public",
|
|
1467
|
+
responseKind: "json"
|
|
1468
|
+
},
|
|
1460
1469
|
// Public event registration
|
|
1461
1470
|
registerForEvent: {
|
|
1462
1471
|
path: "/public/sites/{siteId}/events/register",
|
|
@@ -1634,6 +1643,20 @@ if (typeof window === "undefined") {
|
|
|
1634
1643
|
revalidateTag = null;
|
|
1635
1644
|
}
|
|
1636
1645
|
}
|
|
1646
|
+
var sdkVersion;
|
|
1647
|
+
function generateRequestId() {
|
|
1648
|
+
if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
|
|
1649
|
+
return crypto.randomUUID();
|
|
1650
|
+
}
|
|
1651
|
+
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
1652
|
+
const r = Math.random() * 16 | 0;
|
|
1653
|
+
const v = c === "x" ? r : r & 3 | 8;
|
|
1654
|
+
return v.toString(16);
|
|
1655
|
+
});
|
|
1656
|
+
}
|
|
1657
|
+
function setSdkVersion(version) {
|
|
1658
|
+
sdkVersion = version;
|
|
1659
|
+
}
|
|
1637
1660
|
var ApiRequestError = class extends Error {
|
|
1638
1661
|
constructor(message, options) {
|
|
1639
1662
|
super(message);
|
|
@@ -1645,6 +1668,7 @@ var ApiRequestError = class extends Error {
|
|
|
1645
1668
|
this.requestId = options.requestId;
|
|
1646
1669
|
this.body = options.body;
|
|
1647
1670
|
this.cause = options.cause;
|
|
1671
|
+
this.errorCode = options.errorCode;
|
|
1648
1672
|
}
|
|
1649
1673
|
};
|
|
1650
1674
|
function buildEndpointURL2(baseURL, endpoint) {
|
|
@@ -1681,6 +1705,29 @@ async function parseErrorBody(response) {
|
|
|
1681
1705
|
return null;
|
|
1682
1706
|
}
|
|
1683
1707
|
}
|
|
1708
|
+
function buildSuccessEnvelope(data, requestId) {
|
|
1709
|
+
return {
|
|
1710
|
+
success: true,
|
|
1711
|
+
data,
|
|
1712
|
+
meta: {
|
|
1713
|
+
requestId: _nullishCoalesce(requestId, () => ( generateRequestId())),
|
|
1714
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1715
|
+
apiVersion: "2025-01-01"
|
|
1716
|
+
}
|
|
1717
|
+
};
|
|
1718
|
+
}
|
|
1719
|
+
function buildErrorEnvelope(code, message, status, requestId) {
|
|
1720
|
+
return {
|
|
1721
|
+
success: false,
|
|
1722
|
+
error: {
|
|
1723
|
+
code,
|
|
1724
|
+
message,
|
|
1725
|
+
requestId: _nullishCoalesce(requestId, () => ( generateRequestId())),
|
|
1726
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1727
|
+
status
|
|
1728
|
+
}
|
|
1729
|
+
};
|
|
1730
|
+
}
|
|
1684
1731
|
async function parseSuccessResponse(endpoint, response, config) {
|
|
1685
1732
|
const responseKind = _nullishCoalesce(config.responseKind, () => ( "json"));
|
|
1686
1733
|
const auth = _nullishCoalesce(config.auth, () => ( "user"));
|
|
@@ -1688,14 +1735,15 @@ async function parseSuccessResponse(endpoint, response, config) {
|
|
|
1688
1735
|
switch (responseKind) {
|
|
1689
1736
|
case "json": {
|
|
1690
1737
|
if (response.status === 204 || response.status === 205 || response.status === 304) {
|
|
1691
|
-
return void 0;
|
|
1738
|
+
return buildSuccessEnvelope(void 0, requestId);
|
|
1692
1739
|
}
|
|
1693
1740
|
const raw = await response.text();
|
|
1694
1741
|
if (!raw.trim()) {
|
|
1695
|
-
return void 0;
|
|
1742
|
+
return buildSuccessEnvelope(void 0, requestId);
|
|
1696
1743
|
}
|
|
1744
|
+
let parsed;
|
|
1697
1745
|
try {
|
|
1698
|
-
|
|
1746
|
+
parsed = JSON.parse(raw);
|
|
1699
1747
|
} catch (cause) {
|
|
1700
1748
|
throw new ApiRequestError(
|
|
1701
1749
|
`Failed to parse JSON response for endpoint ${String(endpoint)}`,
|
|
@@ -1710,32 +1758,33 @@ async function parseSuccessResponse(endpoint, response, config) {
|
|
|
1710
1758
|
}
|
|
1711
1759
|
);
|
|
1712
1760
|
}
|
|
1761
|
+
if (parsed && typeof parsed === "object" && "success" in parsed && typeof parsed.success === "boolean") {
|
|
1762
|
+
return parsed;
|
|
1763
|
+
}
|
|
1764
|
+
return buildSuccessEnvelope(parsed, requestId);
|
|
1713
1765
|
}
|
|
1714
1766
|
case "text": {
|
|
1715
|
-
|
|
1767
|
+
const text = await response.text();
|
|
1768
|
+
return buildSuccessEnvelope(text, requestId);
|
|
1716
1769
|
}
|
|
1717
1770
|
case "stream": {
|
|
1718
1771
|
const body = response.body;
|
|
1719
1772
|
if (!body) {
|
|
1720
|
-
|
|
1773
|
+
return buildErrorEnvelope(
|
|
1774
|
+
"server:internal_error",
|
|
1721
1775
|
`Expected a streamed body for endpoint ${String(endpoint)}`,
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
status: response.status,
|
|
1725
|
-
method: config.method,
|
|
1726
|
-
auth,
|
|
1727
|
-
requestId
|
|
1728
|
-
}
|
|
1776
|
+
response.status,
|
|
1777
|
+
requestId
|
|
1729
1778
|
);
|
|
1730
1779
|
}
|
|
1731
1780
|
const stream = body;
|
|
1732
|
-
return stream;
|
|
1781
|
+
return buildSuccessEnvelope(stream, requestId);
|
|
1733
1782
|
}
|
|
1734
1783
|
case "void": {
|
|
1735
|
-
return void 0;
|
|
1784
|
+
return buildSuccessEnvelope(void 0, requestId);
|
|
1736
1785
|
}
|
|
1737
1786
|
default: {
|
|
1738
|
-
return void 0;
|
|
1787
|
+
return buildSuccessEnvelope(void 0, requestId);
|
|
1739
1788
|
}
|
|
1740
1789
|
}
|
|
1741
1790
|
}
|
|
@@ -1801,11 +1850,15 @@ function createRawCMSClient(headers = {}, baseUrl) {
|
|
|
1801
1850
|
const requestInit = {
|
|
1802
1851
|
method,
|
|
1803
1852
|
...options,
|
|
1853
|
+
// Include credentials for same-origin requests (sends cookies for auth)
|
|
1854
|
+
credentials: "same-origin",
|
|
1804
1855
|
// Don't include body for GET/HEAD requests
|
|
1805
1856
|
body: isGetOrHead ? void 0 : isFormData ? body : body ? JSON.stringify(body) : void 0,
|
|
1806
1857
|
headers: {
|
|
1807
1858
|
...options.headers,
|
|
1808
1859
|
...headers,
|
|
1860
|
+
// Include SDK version if set
|
|
1861
|
+
...sdkVersion && { "x-sdk-version": sdkVersion },
|
|
1809
1862
|
// Don't set Content-Type for GET/HEAD requests without body
|
|
1810
1863
|
...isGetOrHead ? {} : isFormData ? {} : { "Content-Type": "application/json" }
|
|
1811
1864
|
},
|
|
@@ -1859,94 +1912,30 @@ function createBearerAPIClient(token, baseUrl) {
|
|
|
1859
1912
|
return createCMSClient(authHeaders, baseUrl);
|
|
1860
1913
|
}
|
|
1861
1914
|
|
|
1862
|
-
// ../api/src/
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
op: _zod.z.literal("copy"),
|
|
1887
|
-
from: _zod.z.string(),
|
|
1888
|
-
path: _zod.z.string()
|
|
1889
|
-
}),
|
|
1890
|
-
// Block-level operations (Phase 2)
|
|
1891
|
-
_zod.z.object({
|
|
1892
|
-
op: _zod.z.literal("add_block"),
|
|
1893
|
-
blockKind: _zod.z.string(),
|
|
1894
|
-
afterBlockId: _zod.z.string().nullable(),
|
|
1895
|
-
content: _zod.z.record(_zod.z.string(), _zod.z.unknown()),
|
|
1896
|
-
rationale: _zod.z.string()
|
|
1897
|
-
}),
|
|
1898
|
-
_zod.z.object({
|
|
1899
|
-
op: _zod.z.literal("delete_block"),
|
|
1900
|
-
blockId: _zod.z.string(),
|
|
1901
|
-
rationale: _zod.z.string()
|
|
1902
|
-
}),
|
|
1903
|
-
_zod.z.object({
|
|
1904
|
-
op: _zod.z.literal("reorder_block"),
|
|
1905
|
-
blockId: _zod.z.string(),
|
|
1906
|
-
afterBlockId: _zod.z.string().nullable(),
|
|
1907
|
-
rationale: _zod.z.string()
|
|
1908
|
-
})
|
|
1909
|
-
]);
|
|
1910
|
-
var PatchEnvelope = _zod.z.object({
|
|
1911
|
-
blockId: _zod.z.string(),
|
|
1912
|
-
blockKind: _zod.z.string().optional(),
|
|
1913
|
-
blockPurpose: _zod.z.string().optional().nullable(),
|
|
1914
|
-
ops: _zod.z.array(Rfc6902PatchOp),
|
|
1915
|
-
rationale: _zod.z.string(),
|
|
1916
|
-
currentContent: _zod.z.record(_zod.z.string(), _zod.z.unknown()).optional()
|
|
1917
|
-
});
|
|
1918
|
-
var ContentUpdateResponse = _zod.z.object({
|
|
1919
|
-
patches: _zod.z.array(PatchEnvelope),
|
|
1920
|
-
assistantMessage: _zod.z.string()
|
|
1921
|
-
});
|
|
1922
|
-
var PlaygroundProposeRequest = _zod.z.object({
|
|
1923
|
-
request: _zod.z.string().min(1).max(2e3)
|
|
1924
|
-
});
|
|
1925
|
-
var PlaygroundProposeResponse = _zod.z.object({
|
|
1926
|
-
patches: _zod.z.array(PatchEnvelope),
|
|
1927
|
-
assistantMessage: _zod.z.string(),
|
|
1928
|
-
validation: _zod.z.object({
|
|
1929
|
-
valid: _zod.z.boolean(),
|
|
1930
|
-
issues: _zod.z.array(_zod.z.string()),
|
|
1931
|
-
filtered: _zod.z.number()
|
|
1932
|
-
})
|
|
1933
|
-
});
|
|
1934
|
-
var MultiPagePatchEnvelope = _zod.z.object({
|
|
1935
|
-
pageId: _zod.z.string(),
|
|
1936
|
-
blockId: _zod.z.string().optional(),
|
|
1937
|
-
// Not present for page-level ops
|
|
1938
|
-
blockKind: _zod.z.string().optional(),
|
|
1939
|
-
blockPurpose: _zod.z.string().optional().nullable(),
|
|
1940
|
-
ops: _zod.z.array(Rfc6902PatchOp),
|
|
1941
|
-
rationale: _zod.z.string(),
|
|
1942
|
-
currentContent: _zod.z.record(_zod.z.string(), _zod.z.unknown()).optional()
|
|
1943
|
-
});
|
|
1944
|
-
var MultiPageUpdateResponse = _zod.z.object({
|
|
1945
|
-
patches: _zod.z.array(MultiPagePatchEnvelope),
|
|
1946
|
-
assistantMessage: _zod.z.string(),
|
|
1947
|
-
pagesModified: _zod.z.number(),
|
|
1948
|
-
toolCallsUsed: _zod.z.number()
|
|
1949
|
-
});
|
|
1915
|
+
// ../api/src/common/envelope.ts
|
|
1916
|
+
function isApiError(result) {
|
|
1917
|
+
return result.success === false;
|
|
1918
|
+
}
|
|
1919
|
+
function isApiSuccess(result) {
|
|
1920
|
+
return result.success === true;
|
|
1921
|
+
}
|
|
1922
|
+
var ApiEnvelopeError = class extends Error {
|
|
1923
|
+
constructor(error) {
|
|
1924
|
+
super(error.message);
|
|
1925
|
+
this.name = "ApiEnvelopeError";
|
|
1926
|
+
this.code = error.code;
|
|
1927
|
+
this.requestId = error.requestId;
|
|
1928
|
+
this.timestamp = error.timestamp;
|
|
1929
|
+
this.status = error.status;
|
|
1930
|
+
this.fieldErrors = error.fieldErrors;
|
|
1931
|
+
}
|
|
1932
|
+
};
|
|
1933
|
+
function unwrapResponse(result) {
|
|
1934
|
+
if (isApiSuccess(result)) {
|
|
1935
|
+
return result.data;
|
|
1936
|
+
}
|
|
1937
|
+
throw new ApiEnvelopeError(result.error);
|
|
1938
|
+
}
|
|
1950
1939
|
|
|
1951
1940
|
// src/client/cache.ts
|
|
1952
1941
|
var SimpleCache = class {
|
|
@@ -1984,7 +1973,100 @@ var SimpleCache = class {
|
|
|
1984
1973
|
}
|
|
1985
1974
|
};
|
|
1986
1975
|
|
|
1976
|
+
// src/version.ts
|
|
1977
|
+
var SDK_VERSION = "0.4.3";
|
|
1978
|
+
|
|
1979
|
+
// src/client/error.ts
|
|
1980
|
+
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
1981
|
+
constructor(apiError) {
|
|
1982
|
+
super(apiError.message);
|
|
1983
|
+
this.name = "RiverbankApiError";
|
|
1984
|
+
this.code = apiError.code;
|
|
1985
|
+
this.requestId = apiError.requestId;
|
|
1986
|
+
this.status = apiError.status;
|
|
1987
|
+
this.fieldErrors = apiError.fieldErrors;
|
|
1988
|
+
this.timestamp = apiError.timestamp;
|
|
1989
|
+
Object.setPrototypeOf(this, _RiverbankApiError.prototype);
|
|
1990
|
+
}
|
|
1991
|
+
/**
|
|
1992
|
+
* Check if this error matches a specific error code
|
|
1993
|
+
*
|
|
1994
|
+
* @example
|
|
1995
|
+
* ```ts
|
|
1996
|
+
* if (error.is('auth:unauthenticated')) {
|
|
1997
|
+
* // Redirect to login
|
|
1998
|
+
* }
|
|
1999
|
+
* ```
|
|
2000
|
+
*/
|
|
2001
|
+
is(code) {
|
|
2002
|
+
return this.code === code;
|
|
2003
|
+
}
|
|
2004
|
+
/**
|
|
2005
|
+
* Check if this is an authentication or authorization error
|
|
2006
|
+
*
|
|
2007
|
+
* Matches: auth:unauthenticated, auth:token_expired, auth:token_invalid,
|
|
2008
|
+
* auth:forbidden, auth:mfa_required, auth:insufficient_permissions
|
|
2009
|
+
*/
|
|
2010
|
+
isAuthError() {
|
|
2011
|
+
return this.code.startsWith("auth:");
|
|
2012
|
+
}
|
|
2013
|
+
/**
|
|
2014
|
+
* Check if this is a validation error
|
|
2015
|
+
*
|
|
2016
|
+
* Matches: validation:invalid_input, validation:missing_field, validation:invalid_format
|
|
2017
|
+
*/
|
|
2018
|
+
isValidationError() {
|
|
2019
|
+
return this.code.startsWith("validation:");
|
|
2020
|
+
}
|
|
2021
|
+
/**
|
|
2022
|
+
* Check if this is a resource error (not found, conflict, etc.)
|
|
2023
|
+
*
|
|
2024
|
+
* Matches: resource:not_found, resource:already_exists, resource:conflict, resource:gone
|
|
2025
|
+
*/
|
|
2026
|
+
isResourceError() {
|
|
2027
|
+
return this.code.startsWith("resource:");
|
|
2028
|
+
}
|
|
2029
|
+
/**
|
|
2030
|
+
* Check if this is a rate limiting error
|
|
2031
|
+
*/
|
|
2032
|
+
isRateLimitError() {
|
|
2033
|
+
return this.code.startsWith("rate_limit:");
|
|
2034
|
+
}
|
|
2035
|
+
/**
|
|
2036
|
+
* Check if this is a billing/payment error
|
|
2037
|
+
*/
|
|
2038
|
+
isBillingError() {
|
|
2039
|
+
return this.code.startsWith("billing:");
|
|
2040
|
+
}
|
|
2041
|
+
/**
|
|
2042
|
+
* Check if this is a server error
|
|
2043
|
+
*/
|
|
2044
|
+
isServerError() {
|
|
2045
|
+
return this.code.startsWith("server:");
|
|
2046
|
+
}
|
|
2047
|
+
};
|
|
2048
|
+
|
|
1987
2049
|
// src/client/index.ts
|
|
2050
|
+
setSdkVersion(SDK_VERSION);
|
|
2051
|
+
function convertToTypedError(error) {
|
|
2052
|
+
if (error instanceof ApiEnvelopeError) {
|
|
2053
|
+
throw new RiverbankApiError({
|
|
2054
|
+
code: error.code,
|
|
2055
|
+
message: error.message,
|
|
2056
|
+
requestId: error.requestId,
|
|
2057
|
+
timestamp: error.timestamp,
|
|
2058
|
+
status: error.status,
|
|
2059
|
+
fieldErrors: error.fieldErrors
|
|
2060
|
+
});
|
|
2061
|
+
}
|
|
2062
|
+
if (error instanceof ApiRequestError && error.body && typeof error.body === "object") {
|
|
2063
|
+
const body = error.body;
|
|
2064
|
+
if (isApiError(body)) {
|
|
2065
|
+
throw new RiverbankApiError(body.error);
|
|
2066
|
+
}
|
|
2067
|
+
}
|
|
2068
|
+
throw error;
|
|
2069
|
+
}
|
|
1988
2070
|
function createRiverbankClient(config) {
|
|
1989
2071
|
if (!config.baseUrl) {
|
|
1990
2072
|
throw new Error(
|
|
@@ -2011,7 +2093,13 @@ function createRiverbankClient(config) {
|
|
|
2011
2093
|
return cached;
|
|
2012
2094
|
}
|
|
2013
2095
|
}
|
|
2014
|
-
|
|
2096
|
+
let data;
|
|
2097
|
+
try {
|
|
2098
|
+
const response = await fetcher();
|
|
2099
|
+
data = unwrapResponse(response);
|
|
2100
|
+
} catch (error) {
|
|
2101
|
+
convertToTypedError(error);
|
|
2102
|
+
}
|
|
2015
2103
|
if (cacheEnabled) {
|
|
2016
2104
|
cache.set(cacheKey, data);
|
|
2017
2105
|
}
|
|
@@ -2046,33 +2134,27 @@ function createRiverbankClient(config) {
|
|
|
2046
2134
|
const entryIdsCacheKey = mode === "manual" && _optionalChain([entryIds, 'optionalAccess', _8 => _8.length]) ? entryIds.join(",") : "";
|
|
2047
2135
|
const cacheKey = `entries:${siteId}:${contentType}:${_nullishCoalesce(limit, () => ( ""))}:${_nullishCoalesce(offset, () => ( ""))}:${_nullishCoalesce(order, () => ( ""))}:${preview}:${_nullishCoalesce(mode, () => ( ""))}:${entryIdsCacheKey}:${_nullishCoalesce(includeMeta, () => ( ""))}`;
|
|
2048
2136
|
return cachedFetch(cacheKey, async () => {
|
|
2049
|
-
|
|
2050
|
-
siteId,
|
|
2051
|
-
type: contentType
|
|
2052
|
-
};
|
|
2053
|
-
if (typeof limit === "number") {
|
|
2054
|
-
apiParams.limit = String(limit);
|
|
2055
|
-
}
|
|
2056
|
-
if (typeof offset === "number") {
|
|
2057
|
-
apiParams.offset = String(offset);
|
|
2058
|
-
}
|
|
2059
|
-
if (includeMeta) {
|
|
2060
|
-
apiParams.meta = "true";
|
|
2061
|
-
}
|
|
2137
|
+
let orderParam;
|
|
2062
2138
|
if (order === "newest") {
|
|
2063
|
-
|
|
2139
|
+
orderParam = "published_at.desc";
|
|
2064
2140
|
} else if (order === "oldest") {
|
|
2065
|
-
|
|
2141
|
+
orderParam = "published_at.asc";
|
|
2066
2142
|
} else if (order === "title") {
|
|
2067
|
-
|
|
2068
|
-
}
|
|
2069
|
-
if (preview) {
|
|
2070
|
-
apiParams.stage = "preview";
|
|
2071
|
-
}
|
|
2072
|
-
if (mode === "manual" && _optionalChain([entryIds, 'optionalAccess', _9 => _9.length])) {
|
|
2073
|
-
apiParams.mode = "manual";
|
|
2074
|
-
apiParams.entryIds = JSON.stringify(entryIds);
|
|
2143
|
+
orderParam = "title.asc";
|
|
2075
2144
|
}
|
|
2145
|
+
const apiParams = {
|
|
2146
|
+
siteId,
|
|
2147
|
+
type: contentType,
|
|
2148
|
+
...typeof limit === "number" && { limit: String(limit) },
|
|
2149
|
+
...typeof offset === "number" && { offset: String(offset) },
|
|
2150
|
+
...includeMeta && { meta: "true" },
|
|
2151
|
+
...orderParam && { order: orderParam },
|
|
2152
|
+
...preview && { stage: "preview" },
|
|
2153
|
+
...mode === "manual" && _optionalChain([entryIds, 'optionalAccess', _9 => _9.length]) && {
|
|
2154
|
+
mode: "manual",
|
|
2155
|
+
entryIds: JSON.stringify(entryIds)
|
|
2156
|
+
}
|
|
2157
|
+
};
|
|
2076
2158
|
return await apiClient({ endpoint: "listPublishedEntries", params: apiParams });
|
|
2077
2159
|
});
|
|
2078
2160
|
},
|
|
@@ -2100,8 +2182,10 @@ function createRiverbankClient(config) {
|
|
|
2100
2182
|
}
|
|
2101
2183
|
const cacheKey = `public-booking-services:${siteId}:${_nullishCoalesce(ids, () => ( ""))}`;
|
|
2102
2184
|
return cachedFetch(cacheKey, async () => {
|
|
2103
|
-
const apiParams = {
|
|
2104
|
-
|
|
2185
|
+
const apiParams = {
|
|
2186
|
+
siteId,
|
|
2187
|
+
...ids && { ids }
|
|
2188
|
+
};
|
|
2105
2189
|
return await apiClient({ endpoint: "getPublicBookingServices", params: apiParams });
|
|
2106
2190
|
});
|
|
2107
2191
|
},
|
|
@@ -2112,14 +2196,42 @@ function createRiverbankClient(config) {
|
|
|
2112
2196
|
}
|
|
2113
2197
|
const cacheKey = `public-events:${siteId}:${_nullishCoalesce(limit, () => ( ""))}:${_nullishCoalesce(from, () => ( ""))}:${_nullishCoalesce(to, () => ( ""))}:${_nullishCoalesce(stage, () => ( ""))}`;
|
|
2114
2198
|
return cachedFetch(cacheKey, async () => {
|
|
2115
|
-
const apiParams = {
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2199
|
+
const apiParams = {
|
|
2200
|
+
siteId,
|
|
2201
|
+
...typeof limit === "number" && { limit: String(limit) },
|
|
2202
|
+
...from && { from },
|
|
2203
|
+
...to && { to },
|
|
2204
|
+
...stage && { stage }
|
|
2205
|
+
};
|
|
2120
2206
|
return await apiClient({ endpoint: "listPublicEvents", params: apiParams });
|
|
2121
2207
|
});
|
|
2122
2208
|
},
|
|
2209
|
+
async resolveEventOccurrence(params) {
|
|
2210
|
+
const { siteId, entryId, segment } = params;
|
|
2211
|
+
if (!siteId || !entryId || !segment) {
|
|
2212
|
+
throw new Error("resolveEventOccurrence() requires siteId, entryId, and segment");
|
|
2213
|
+
}
|
|
2214
|
+
const cacheKey = `event-occurrence:${siteId}:${entryId}:${segment}`;
|
|
2215
|
+
return cachedFetch(cacheKey, async () => {
|
|
2216
|
+
return await apiClient({
|
|
2217
|
+
endpoint: "resolveEventOccurrence",
|
|
2218
|
+
params: { siteId, entryId, segment }
|
|
2219
|
+
});
|
|
2220
|
+
});
|
|
2221
|
+
},
|
|
2222
|
+
async checkRedirect(params) {
|
|
2223
|
+
const { siteId, path } = params;
|
|
2224
|
+
if (!siteId || !path) {
|
|
2225
|
+
throw new Error("checkRedirect() requires siteId and path");
|
|
2226
|
+
}
|
|
2227
|
+
const cacheKey = `redirect:${siteId}:${path}`;
|
|
2228
|
+
return cachedFetch(cacheKey, async () => {
|
|
2229
|
+
return await apiClient({
|
|
2230
|
+
endpoint: "checkRedirect",
|
|
2231
|
+
params: { site: siteId, path }
|
|
2232
|
+
});
|
|
2233
|
+
});
|
|
2234
|
+
},
|
|
2123
2235
|
clearCache() {
|
|
2124
2236
|
cache.clear();
|
|
2125
2237
|
}
|
|
@@ -2133,4 +2245,4 @@ function createRiverbankClient(config) {
|
|
|
2133
2245
|
|
|
2134
2246
|
|
|
2135
2247
|
exports.API_ENDPOINTS = API_ENDPOINTS; exports.buildEndpointURL = buildEndpointURL; exports.createRiverbankClient = createRiverbankClient;
|
|
2136
|
-
//# sourceMappingURL=chunk-
|
|
2248
|
+
//# sourceMappingURL=chunk-6OSNCH4F.js.map
|