@timbenniks/contentstack-platform-sdk 0.1.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/dist/auth/index.cjs +607 -0
- package/dist/auth/index.cjs.map +1 -0
- package/dist/auth/index.d.cts +108 -0
- package/dist/auth/index.d.ts +108 -0
- package/dist/auth/index.mjs +25 -0
- package/dist/auth/index.mjs.map +1 -0
- package/dist/brandkit/index.cjs +525 -0
- package/dist/brandkit/index.cjs.map +1 -0
- package/dist/brandkit/index.d.cts +95 -0
- package/dist/brandkit/index.d.ts +95 -0
- package/dist/brandkit/index.mjs +11 -0
- package/dist/brandkit/index.mjs.map +1 -0
- package/dist/chunk-3C6J2BDB.mjs +84 -0
- package/dist/chunk-3C6J2BDB.mjs.map +1 -0
- package/dist/chunk-3KE63N3I.mjs +64 -0
- package/dist/chunk-3KE63N3I.mjs.map +1 -0
- package/dist/chunk-4CJ4IVPJ.mjs +212 -0
- package/dist/chunk-4CJ4IVPJ.mjs.map +1 -0
- package/dist/chunk-4JFUI7MJ.mjs +368 -0
- package/dist/chunk-4JFUI7MJ.mjs.map +1 -0
- package/dist/chunk-7VFGD32I.mjs +26 -0
- package/dist/chunk-7VFGD32I.mjs.map +1 -0
- package/dist/chunk-ARPJDW3A.mjs +44 -0
- package/dist/chunk-ARPJDW3A.mjs.map +1 -0
- package/dist/chunk-AVJHCFRK.mjs +52 -0
- package/dist/chunk-AVJHCFRK.mjs.map +1 -0
- package/dist/chunk-BK2IBTQS.mjs +131 -0
- package/dist/chunk-BK2IBTQS.mjs.map +1 -0
- package/dist/chunk-BUZ6CQHE.mjs +75 -0
- package/dist/chunk-BUZ6CQHE.mjs.map +1 -0
- package/dist/chunk-CKMAOWBQ.mjs +379 -0
- package/dist/chunk-CKMAOWBQ.mjs.map +1 -0
- package/dist/chunk-DJQLN4TR.mjs +1 -0
- package/dist/chunk-DJQLN4TR.mjs.map +1 -0
- package/dist/chunk-DMERADWM.mjs +67 -0
- package/dist/chunk-DMERADWM.mjs.map +1 -0
- package/dist/chunk-EREPKWTW.mjs +926 -0
- package/dist/chunk-EREPKWTW.mjs.map +1 -0
- package/dist/chunk-FQP4PB5X.mjs +88 -0
- package/dist/chunk-FQP4PB5X.mjs.map +1 -0
- package/dist/chunk-GNPQJBFX.mjs +144 -0
- package/dist/chunk-GNPQJBFX.mjs.map +1 -0
- package/dist/chunk-GOSB24M6.mjs +87 -0
- package/dist/chunk-GOSB24M6.mjs.map +1 -0
- package/dist/chunk-JL2E3EOT.mjs +255 -0
- package/dist/chunk-JL2E3EOT.mjs.map +1 -0
- package/dist/chunk-JYGZBKTH.mjs +222 -0
- package/dist/chunk-JYGZBKTH.mjs.map +1 -0
- package/dist/chunk-JZE2W7VW.mjs +52 -0
- package/dist/chunk-JZE2W7VW.mjs.map +1 -0
- package/dist/chunk-K76DKSHJ.mjs +18 -0
- package/dist/chunk-K76DKSHJ.mjs.map +1 -0
- package/dist/chunk-KLVIROVU.mjs +232 -0
- package/dist/chunk-KLVIROVU.mjs.map +1 -0
- package/dist/chunk-LPVVA5J3.mjs +18 -0
- package/dist/chunk-LPVVA5J3.mjs.map +1 -0
- package/dist/chunk-NKLOZ5VI.mjs +112 -0
- package/dist/chunk-NKLOZ5VI.mjs.map +1 -0
- package/dist/chunk-QGA4WBDC.mjs +7 -0
- package/dist/chunk-QGA4WBDC.mjs.map +1 -0
- package/dist/chunk-QW7TVYOA.mjs +56 -0
- package/dist/chunk-QW7TVYOA.mjs.map +1 -0
- package/dist/chunk-SU5QEKYW.mjs +83 -0
- package/dist/chunk-SU5QEKYW.mjs.map +1 -0
- package/dist/chunk-T5A2E2RI.mjs +654 -0
- package/dist/chunk-T5A2E2RI.mjs.map +1 -0
- package/dist/chunk-T5OIJQK7.mjs +116 -0
- package/dist/chunk-T5OIJQK7.mjs.map +1 -0
- package/dist/chunk-VW7DD6HV.mjs +253 -0
- package/dist/chunk-VW7DD6HV.mjs.map +1 -0
- package/dist/chunk-XH7NLHGW.mjs +133 -0
- package/dist/chunk-XH7NLHGW.mjs.map +1 -0
- package/dist/client-DJ5haQGd.d.cts +22 -0
- package/dist/client-DwVGVSQz.d.ts +22 -0
- package/dist/cma/index.cjs +1349 -0
- package/dist/cma/index.cjs.map +1 -0
- package/dist/cma/index.d.cts +22 -0
- package/dist/cma/index.d.ts +22 -0
- package/dist/cma/index.mjs +70 -0
- package/dist/cma/index.mjs.map +1 -0
- package/dist/errors-CAw-IRCP.d.cts +65 -0
- package/dist/errors-CAw-IRCP.d.ts +65 -0
- package/dist/generative-ai/index.cjs +401 -0
- package/dist/generative-ai/index.cjs.map +1 -0
- package/dist/generative-ai/index.d.cts +31 -0
- package/dist/generative-ai/index.d.ts +31 -0
- package/dist/generative-ai/index.mjs +10 -0
- package/dist/generative-ai/index.mjs.map +1 -0
- package/dist/images/index.cjs +185 -0
- package/dist/images/index.cjs.map +1 -0
- package/dist/images/index.d.cts +27 -0
- package/dist/images/index.d.ts +27 -0
- package/dist/images/index.mjs +8 -0
- package/dist/images/index.mjs.map +1 -0
- package/dist/index.cjs +2909 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +30 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.mjs +153 -0
- package/dist/index.mjs.map +1 -0
- package/dist/knowledge-vault/index.cjs +413 -0
- package/dist/knowledge-vault/index.cjs.map +1 -0
- package/dist/knowledge-vault/index.d.cts +49 -0
- package/dist/knowledge-vault/index.d.ts +49 -0
- package/dist/knowledge-vault/index.mjs +10 -0
- package/dist/knowledge-vault/index.mjs.map +1 -0
- package/dist/launch/index.cjs +624 -0
- package/dist/launch/index.cjs.map +1 -0
- package/dist/launch/index.d.cts +169 -0
- package/dist/launch/index.d.ts +169 -0
- package/dist/launch/index.mjs +11 -0
- package/dist/launch/index.mjs.map +1 -0
- package/dist/react/auth/index.cjs +113 -0
- package/dist/react/auth/index.cjs.map +1 -0
- package/dist/react/auth/index.d.cts +33 -0
- package/dist/react/auth/index.d.ts +33 -0
- package/dist/react/auth/index.mjs +13 -0
- package/dist/react/auth/index.mjs.map +1 -0
- package/dist/react/content/index.cjs +113 -0
- package/dist/react/content/index.cjs.map +1 -0
- package/dist/react/content/index.d.cts +25 -0
- package/dist/react/content/index.d.ts +25 -0
- package/dist/react/content/index.mjs +7 -0
- package/dist/react/content/index.mjs.map +1 -0
- package/dist/react/hooks/index.cjs +2097 -0
- package/dist/react/hooks/index.cjs.map +1 -0
- package/dist/react/hooks/index.d.cts +77 -0
- package/dist/react/hooks/index.d.ts +77 -0
- package/dist/react/hooks/index.mjs +46 -0
- package/dist/react/hooks/index.mjs.map +1 -0
- package/dist/react/index.cjs +2307 -0
- package/dist/react/index.cjs.map +1 -0
- package/dist/react/index.d.cts +16 -0
- package/dist/react/index.d.ts +16 -0
- package/dist/react/index.mjs +67 -0
- package/dist/react/index.mjs.map +1 -0
- package/dist/react/provider/index.cjs +83 -0
- package/dist/react/provider/index.cjs.map +1 -0
- package/dist/react/provider/index.d.cts +30 -0
- package/dist/react/provider/index.d.ts +30 -0
- package/dist/react/provider/index.mjs +11 -0
- package/dist/react/provider/index.mjs.map +1 -0
- package/dist/regions/index.cjs +171 -0
- package/dist/regions/index.cjs.map +1 -0
- package/dist/regions/index.d.cts +55 -0
- package/dist/regions/index.d.ts +55 -0
- package/dist/regions/index.mjs +13 -0
- package/dist/regions/index.mjs.map +1 -0
- package/dist/request-builders-BxeolQIw.d.ts +735 -0
- package/dist/request-builders-C2IG1LUo.d.cts +735 -0
- package/dist/rte/index.cjs +683 -0
- package/dist/rte/index.cjs.map +1 -0
- package/dist/rte/index.d.cts +33 -0
- package/dist/rte/index.d.ts +33 -0
- package/dist/rte/index.mjs +17 -0
- package/dist/rte/index.mjs.map +1 -0
- package/dist/server/index.cjs +917 -0
- package/dist/server/index.cjs.map +1 -0
- package/dist/server/index.d.cts +6 -0
- package/dist/server/index.d.ts +6 -0
- package/dist/server/index.mjs +45 -0
- package/dist/server/index.mjs.map +1 -0
- package/dist/server/middleware/index.cjs +614 -0
- package/dist/server/middleware/index.cjs.map +1 -0
- package/dist/server/middleware/index.d.cts +77 -0
- package/dist/server/middleware/index.d.ts +77 -0
- package/dist/server/middleware/index.mjs +27 -0
- package/dist/server/middleware/index.mjs.map +1 -0
- package/dist/server/proxy/index.cjs +329 -0
- package/dist/server/proxy/index.cjs.map +1 -0
- package/dist/server/proxy/index.d.cts +143 -0
- package/dist/server/proxy/index.d.ts +143 -0
- package/dist/server/proxy/index.mjs +29 -0
- package/dist/server/proxy/index.mjs.map +1 -0
- package/dist/server/webhooks/index.cjs +131 -0
- package/dist/server/webhooks/index.cjs.map +1 -0
- package/dist/server/webhooks/index.d.cts +230 -0
- package/dist/server/webhooks/index.d.ts +230 -0
- package/dist/server/webhooks/index.mjs +23 -0
- package/dist/server/webhooks/index.mjs.map +1 -0
- package/dist/types-6D9VR7pT.d.cts +26 -0
- package/dist/types-AelT0rFJ.d.cts +21 -0
- package/dist/types-AelT0rFJ.d.ts +21 -0
- package/dist/types-Bu5yCgmw.d.ts +26 -0
- package/dist/types-DgixK-ll.d.cts +23 -0
- package/dist/types-DgixK-ll.d.ts +23 -0
- package/dist/types-DrMwdlH9.d.cts +245 -0
- package/dist/types-DrMwdlH9.d.ts +245 -0
- package/dist/ui/css/index.cjs +31 -0
- package/dist/ui/css/index.cjs.map +1 -0
- package/dist/ui/css/index.d.cts +15 -0
- package/dist/ui/css/index.d.ts +15 -0
- package/dist/ui/css/index.mjs +7 -0
- package/dist/ui/css/index.mjs.map +1 -0
- package/dist/ui/index.cjs +368 -0
- package/dist/ui/index.cjs.map +1 -0
- package/dist/ui/index.d.cts +4 -0
- package/dist/ui/index.d.ts +4 -0
- package/dist/ui/index.mjs +33 -0
- package/dist/ui/index.mjs.map +1 -0
- package/dist/ui/theme/index.cjs +105 -0
- package/dist/ui/theme/index.cjs.map +1 -0
- package/dist/ui/theme/index.d.cts +33 -0
- package/dist/ui/theme/index.d.ts +33 -0
- package/dist/ui/theme/index.mjs +15 -0
- package/dist/ui/theme/index.mjs.map +1 -0
- package/dist/ui/tokens/index.cjs +286 -0
- package/dist/ui/tokens/index.cjs.map +1 -0
- package/dist/ui/tokens/index.d.cts +54 -0
- package/dist/ui/tokens/index.d.ts +54 -0
- package/dist/ui/tokens/index.mjs +17 -0
- package/dist/ui/tokens/index.mjs.map +1 -0
- package/dist/ui/tokens.css +408 -0
- package/dist/vue/auth/index.cjs +141 -0
- package/dist/vue/auth/index.cjs.map +1 -0
- package/dist/vue/auth/index.d.cts +78 -0
- package/dist/vue/auth/index.d.ts +78 -0
- package/dist/vue/auth/index.mjs +13 -0
- package/dist/vue/auth/index.mjs.map +1 -0
- package/dist/vue/composables/index.cjs +2108 -0
- package/dist/vue/composables/index.cjs.map +1 -0
- package/dist/vue/composables/index.d.cts +78 -0
- package/dist/vue/composables/index.d.ts +78 -0
- package/dist/vue/composables/index.mjs +46 -0
- package/dist/vue/composables/index.mjs.map +1 -0
- package/dist/vue/content/index.cjs +142 -0
- package/dist/vue/content/index.cjs.map +1 -0
- package/dist/vue/content/index.d.cts +47 -0
- package/dist/vue/content/index.d.ts +47 -0
- package/dist/vue/content/index.mjs +7 -0
- package/dist/vue/content/index.mjs.map +1 -0
- package/dist/vue/index.cjs +2389 -0
- package/dist/vue/index.cjs.map +1 -0
- package/dist/vue/index.d.cts +16 -0
- package/dist/vue/index.d.ts +16 -0
- package/dist/vue/index.mjs +69 -0
- package/dist/vue/index.mjs.map +1 -0
- package/dist/vue/provider/index.cjs +97 -0
- package/dist/vue/provider/index.cjs.map +1 -0
- package/dist/vue/provider/index.d.cts +90 -0
- package/dist/vue/provider/index.d.ts +90 -0
- package/dist/vue/provider/index.mjs +13 -0
- package/dist/vue/provider/index.mjs.map +1 -0
- package/package.json +195 -0
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useContentstackContext
|
|
3
|
+
} from "./chunk-K76DKSHJ.mjs";
|
|
4
|
+
import {
|
|
5
|
+
parseErrorResponse
|
|
6
|
+
} from "./chunk-7VFGD32I.mjs";
|
|
7
|
+
import {
|
|
8
|
+
createBrandKitClient
|
|
9
|
+
} from "./chunk-XH7NLHGW.mjs";
|
|
10
|
+
import {
|
|
11
|
+
createGenerativeAIClient
|
|
12
|
+
} from "./chunk-AVJHCFRK.mjs";
|
|
13
|
+
import {
|
|
14
|
+
buildAssetsParams,
|
|
15
|
+
buildCreateEntryRequest,
|
|
16
|
+
buildDeleteEntryRequest,
|
|
17
|
+
buildEntriesParams,
|
|
18
|
+
buildEntryParams,
|
|
19
|
+
buildPublishEntryRequest,
|
|
20
|
+
buildUpdateEntryRequest,
|
|
21
|
+
createCMAClient
|
|
22
|
+
} from "./chunk-EREPKWTW.mjs";
|
|
23
|
+
import {
|
|
24
|
+
createLaunchClient
|
|
25
|
+
} from "./chunk-KLVIROVU.mjs";
|
|
26
|
+
import {
|
|
27
|
+
createKnowledgeVaultClient
|
|
28
|
+
} from "./chunk-3KE63N3I.mjs";
|
|
29
|
+
import {
|
|
30
|
+
ContentstackError
|
|
31
|
+
} from "./chunk-DMERADWM.mjs";
|
|
32
|
+
|
|
33
|
+
// src/react/hooks/shared/useQuery.ts
|
|
34
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
35
|
+
function useQuery(path, params, options) {
|
|
36
|
+
const { proxyBasePath } = useContentstackContext();
|
|
37
|
+
const [data, setData] = useState(void 0);
|
|
38
|
+
const [loading, setLoading] = useState(false);
|
|
39
|
+
const [error, setError] = useState(null);
|
|
40
|
+
const abortRef = useRef(null);
|
|
41
|
+
const enabled = options?.enabled ?? true;
|
|
42
|
+
const refetchInterval = options?.refetchInterval ?? 0;
|
|
43
|
+
const search = params ? `?${new URLSearchParams(params).toString()}` : "";
|
|
44
|
+
const url = `${proxyBasePath}${path}${search}`;
|
|
45
|
+
const fetchData = useCallback(
|
|
46
|
+
async (signal) => {
|
|
47
|
+
setLoading(true);
|
|
48
|
+
setError(null);
|
|
49
|
+
try {
|
|
50
|
+
const response = await fetch(url, { signal });
|
|
51
|
+
if (signal?.aborted) return;
|
|
52
|
+
if (!response.ok) {
|
|
53
|
+
const err = await parseErrorResponse(response, path);
|
|
54
|
+
setError(err);
|
|
55
|
+
setData(void 0);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const json = await response.json();
|
|
59
|
+
setData(json);
|
|
60
|
+
} catch (err) {
|
|
61
|
+
if (err instanceof DOMException && err.name === "AbortError") return;
|
|
62
|
+
setError(
|
|
63
|
+
new ContentstackError(err instanceof Error ? err.message : "Network error", {
|
|
64
|
+
requestPath: path,
|
|
65
|
+
cause: err instanceof Error ? err : void 0
|
|
66
|
+
})
|
|
67
|
+
);
|
|
68
|
+
setData(void 0);
|
|
69
|
+
} finally {
|
|
70
|
+
if (!signal?.aborted) {
|
|
71
|
+
setLoading(false);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
[url, path]
|
|
76
|
+
);
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
if (!enabled) return;
|
|
79
|
+
abortRef.current?.abort();
|
|
80
|
+
const controller = new AbortController();
|
|
81
|
+
abortRef.current = controller;
|
|
82
|
+
fetchData(controller.signal);
|
|
83
|
+
return () => {
|
|
84
|
+
controller.abort();
|
|
85
|
+
};
|
|
86
|
+
}, [enabled, fetchData]);
|
|
87
|
+
useEffect(() => {
|
|
88
|
+
if (!enabled || refetchInterval <= 0) return;
|
|
89
|
+
const id = setInterval(() => {
|
|
90
|
+
abortRef.current?.abort();
|
|
91
|
+
const controller = new AbortController();
|
|
92
|
+
abortRef.current = controller;
|
|
93
|
+
fetchData(controller.signal);
|
|
94
|
+
}, refetchInterval);
|
|
95
|
+
return () => {
|
|
96
|
+
clearInterval(id);
|
|
97
|
+
};
|
|
98
|
+
}, [enabled, refetchInterval, fetchData]);
|
|
99
|
+
const refetch = useCallback(async () => {
|
|
100
|
+
abortRef.current?.abort();
|
|
101
|
+
const controller = new AbortController();
|
|
102
|
+
abortRef.current = controller;
|
|
103
|
+
await fetchData(controller.signal);
|
|
104
|
+
}, [fetchData]);
|
|
105
|
+
return { data, loading, error, refetch };
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// src/react/hooks/useEntries.ts
|
|
109
|
+
function useEntries(contentTypeUid, options) {
|
|
110
|
+
const result = useQuery(
|
|
111
|
+
`/content_types/${contentTypeUid}/entries`,
|
|
112
|
+
buildEntriesParams(options),
|
|
113
|
+
options
|
|
114
|
+
);
|
|
115
|
+
return {
|
|
116
|
+
...result,
|
|
117
|
+
data: result.data?.entries,
|
|
118
|
+
count: result.data?.count
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// src/react/hooks/useEntry.ts
|
|
123
|
+
function useEntry(contentTypeUid, entryUid, options) {
|
|
124
|
+
const result = useQuery(
|
|
125
|
+
`/content_types/${contentTypeUid}/entries/${entryUid}`,
|
|
126
|
+
buildEntryParams(options),
|
|
127
|
+
options
|
|
128
|
+
);
|
|
129
|
+
return {
|
|
130
|
+
...result,
|
|
131
|
+
data: result.data?.entry
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// src/react/hooks/useAssets.ts
|
|
136
|
+
function useAssets(options) {
|
|
137
|
+
const result = useQuery("/assets", buildAssetsParams(options), options);
|
|
138
|
+
return {
|
|
139
|
+
...result,
|
|
140
|
+
data: result.data?.assets
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// src/react/hooks/useContentTypes.ts
|
|
145
|
+
function useContentTypes(options) {
|
|
146
|
+
const result = useQuery("/content_types", void 0, options);
|
|
147
|
+
return {
|
|
148
|
+
...result,
|
|
149
|
+
data: result.data?.content_types
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// src/react/hooks/useCMA.ts
|
|
154
|
+
import { useMemo } from "react";
|
|
155
|
+
function useCMA() {
|
|
156
|
+
const { proxyBasePath, region, apiKey } = useContentstackContext();
|
|
157
|
+
return useMemo(
|
|
158
|
+
() => createCMAClient({
|
|
159
|
+
region,
|
|
160
|
+
apiKey: apiKey ?? "proxy",
|
|
161
|
+
auth: { type: "oauth", accessToken: "proxy" },
|
|
162
|
+
httpOptions: { baseUrl: proxyBasePath }
|
|
163
|
+
}),
|
|
164
|
+
[proxyBasePath, region, apiKey]
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// src/react/hooks/useLaunch.ts
|
|
169
|
+
import { useMemo as useMemo2 } from "react";
|
|
170
|
+
function useLaunch() {
|
|
171
|
+
const { launchProxyBasePath = "/api/launch", region, organizationUid } = useContentstackContext();
|
|
172
|
+
return useMemo2(
|
|
173
|
+
() => createLaunchClient({
|
|
174
|
+
region,
|
|
175
|
+
organizationUid: organizationUid ?? "proxy",
|
|
176
|
+
auth: { type: "oauth", accessToken: "proxy" },
|
|
177
|
+
httpOptions: { baseUrl: launchProxyBasePath }
|
|
178
|
+
}),
|
|
179
|
+
[launchProxyBasePath, region, organizationUid]
|
|
180
|
+
);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// src/react/hooks/useBrandKit.ts
|
|
184
|
+
import { useMemo as useMemo3 } from "react";
|
|
185
|
+
function useBrandKit() {
|
|
186
|
+
const {
|
|
187
|
+
brandKitProxyBasePath = "/api/brandkit",
|
|
188
|
+
region,
|
|
189
|
+
organizationUid
|
|
190
|
+
} = useContentstackContext();
|
|
191
|
+
return useMemo3(
|
|
192
|
+
() => createBrandKitClient({
|
|
193
|
+
region,
|
|
194
|
+
organizationUid: organizationUid ?? "proxy",
|
|
195
|
+
auth: { type: "oauth", accessToken: "proxy" },
|
|
196
|
+
httpOptions: { baseUrl: brandKitProxyBasePath }
|
|
197
|
+
}),
|
|
198
|
+
[brandKitProxyBasePath, region, organizationUid]
|
|
199
|
+
);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// src/react/hooks/useKnowledgeVault.ts
|
|
203
|
+
import { useMemo as useMemo4 } from "react";
|
|
204
|
+
function useKnowledgeVault() {
|
|
205
|
+
const {
|
|
206
|
+
brandKitProxyBasePath = "/api/brandkit",
|
|
207
|
+
region,
|
|
208
|
+
organizationUid,
|
|
209
|
+
brandKitUid
|
|
210
|
+
} = useContentstackContext();
|
|
211
|
+
return useMemo4(
|
|
212
|
+
() => createKnowledgeVaultClient({
|
|
213
|
+
region,
|
|
214
|
+
organizationUid: organizationUid ?? "proxy",
|
|
215
|
+
brandKitUid: brandKitUid ?? "proxy",
|
|
216
|
+
auth: { type: "oauth", accessToken: "proxy" },
|
|
217
|
+
httpOptions: { baseUrl: brandKitProxyBasePath }
|
|
218
|
+
}),
|
|
219
|
+
[brandKitProxyBasePath, region, organizationUid, brandKitUid]
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// src/react/hooks/useGenerativeAI.ts
|
|
224
|
+
import { useMemo as useMemo5 } from "react";
|
|
225
|
+
function useGenerativeAI() {
|
|
226
|
+
const {
|
|
227
|
+
brandKitProxyBasePath = "/api/brandkit",
|
|
228
|
+
region,
|
|
229
|
+
organizationUid,
|
|
230
|
+
brandKitUid
|
|
231
|
+
} = useContentstackContext();
|
|
232
|
+
return useMemo5(
|
|
233
|
+
() => createGenerativeAIClient({
|
|
234
|
+
region,
|
|
235
|
+
organizationUid: organizationUid ?? "proxy",
|
|
236
|
+
brandKitUid: brandKitUid ?? "proxy",
|
|
237
|
+
auth: { type: "oauth", accessToken: "proxy" },
|
|
238
|
+
httpOptions: { baseUrl: brandKitProxyBasePath }
|
|
239
|
+
}),
|
|
240
|
+
[brandKitProxyBasePath, region, organizationUid, brandKitUid]
|
|
241
|
+
);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// src/react/hooks/shared/useMutation.ts
|
|
245
|
+
import { useCallback as useCallback2, useRef as useRef2, useState as useState2 } from "react";
|
|
246
|
+
function useMutation(method, buildRequest) {
|
|
247
|
+
const { proxyBasePath } = useContentstackContext();
|
|
248
|
+
const [data, setData] = useState2(void 0);
|
|
249
|
+
const [loading, setLoading] = useState2(false);
|
|
250
|
+
const [error, setError] = useState2(null);
|
|
251
|
+
const buildRequestRef = useRef2(buildRequest);
|
|
252
|
+
buildRequestRef.current = buildRequest;
|
|
253
|
+
const mutate = useCallback2(
|
|
254
|
+
async (variables) => {
|
|
255
|
+
const { path, body } = buildRequestRef.current(variables);
|
|
256
|
+
const url = `${proxyBasePath}${path}`;
|
|
257
|
+
setLoading(true);
|
|
258
|
+
setError(null);
|
|
259
|
+
try {
|
|
260
|
+
const response = await fetch(url, {
|
|
261
|
+
method,
|
|
262
|
+
headers: body !== void 0 ? { "Content-Type": "application/json" } : void 0,
|
|
263
|
+
body: body !== void 0 ? JSON.stringify(body) : void 0
|
|
264
|
+
});
|
|
265
|
+
if (!response.ok) {
|
|
266
|
+
const err = await parseErrorResponse(response, path);
|
|
267
|
+
setError(err);
|
|
268
|
+
setData(void 0);
|
|
269
|
+
throw err;
|
|
270
|
+
}
|
|
271
|
+
let json;
|
|
272
|
+
try {
|
|
273
|
+
json = await response.json();
|
|
274
|
+
} catch {
|
|
275
|
+
json = void 0;
|
|
276
|
+
}
|
|
277
|
+
setData(json);
|
|
278
|
+
return json;
|
|
279
|
+
} catch (err) {
|
|
280
|
+
if (err instanceof ContentstackError) throw err;
|
|
281
|
+
const csError = new ContentstackError(
|
|
282
|
+
err instanceof Error ? err.message : "Network error",
|
|
283
|
+
{
|
|
284
|
+
requestPath: path,
|
|
285
|
+
cause: err instanceof Error ? err : void 0
|
|
286
|
+
}
|
|
287
|
+
);
|
|
288
|
+
setError(csError);
|
|
289
|
+
setData(void 0);
|
|
290
|
+
throw csError;
|
|
291
|
+
} finally {
|
|
292
|
+
setLoading(false);
|
|
293
|
+
}
|
|
294
|
+
},
|
|
295
|
+
[proxyBasePath, method]
|
|
296
|
+
);
|
|
297
|
+
const reset = useCallback2(() => {
|
|
298
|
+
setData(void 0);
|
|
299
|
+
setError(null);
|
|
300
|
+
}, []);
|
|
301
|
+
return { mutate, loading, error, data, reset };
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
// src/react/hooks/usePublishEntry.ts
|
|
305
|
+
function usePublishEntry() {
|
|
306
|
+
return useMutation("POST", buildPublishEntryRequest);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
// src/react/hooks/useCreateEntry.ts
|
|
310
|
+
import { useCallback as useCallback3 } from "react";
|
|
311
|
+
function useCreateEntry() {
|
|
312
|
+
const result = useMutation(
|
|
313
|
+
"POST",
|
|
314
|
+
buildCreateEntryRequest
|
|
315
|
+
);
|
|
316
|
+
const mutate = useCallback3(
|
|
317
|
+
async (variables) => {
|
|
318
|
+
const raw = await result.mutate(variables);
|
|
319
|
+
return raw.entry;
|
|
320
|
+
},
|
|
321
|
+
[result.mutate]
|
|
322
|
+
);
|
|
323
|
+
return {
|
|
324
|
+
...result,
|
|
325
|
+
data: result.data?.entry,
|
|
326
|
+
mutate
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// src/react/hooks/useUpdateEntry.ts
|
|
331
|
+
import { useCallback as useCallback4 } from "react";
|
|
332
|
+
function useUpdateEntry() {
|
|
333
|
+
const result = useMutation("PUT", buildUpdateEntryRequest);
|
|
334
|
+
const mutate = useCallback4(
|
|
335
|
+
async (variables) => {
|
|
336
|
+
const raw = await result.mutate(variables);
|
|
337
|
+
return raw.entry;
|
|
338
|
+
},
|
|
339
|
+
[result.mutate]
|
|
340
|
+
);
|
|
341
|
+
return {
|
|
342
|
+
...result,
|
|
343
|
+
data: result.data?.entry,
|
|
344
|
+
mutate
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
// src/react/hooks/useDeleteEntry.ts
|
|
349
|
+
function useDeleteEntry() {
|
|
350
|
+
return useMutation("DELETE", buildDeleteEntryRequest);
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
export {
|
|
354
|
+
useEntries,
|
|
355
|
+
useEntry,
|
|
356
|
+
useAssets,
|
|
357
|
+
useContentTypes,
|
|
358
|
+
useCMA,
|
|
359
|
+
useLaunch,
|
|
360
|
+
useBrandKit,
|
|
361
|
+
useKnowledgeVault,
|
|
362
|
+
useGenerativeAI,
|
|
363
|
+
usePublishEntry,
|
|
364
|
+
useCreateEntry,
|
|
365
|
+
useUpdateEntry,
|
|
366
|
+
useDeleteEntry
|
|
367
|
+
};
|
|
368
|
+
//# sourceMappingURL=chunk-4JFUI7MJ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react/hooks/shared/useQuery.ts","../src/react/hooks/useEntries.ts","../src/react/hooks/useEntry.ts","../src/react/hooks/useAssets.ts","../src/react/hooks/useContentTypes.ts","../src/react/hooks/useCMA.ts","../src/react/hooks/useLaunch.ts","../src/react/hooks/useBrandKit.ts","../src/react/hooks/useKnowledgeVault.ts","../src/react/hooks/useGenerativeAI.ts","../src/react/hooks/shared/useMutation.ts","../src/react/hooks/usePublishEntry.ts","../src/react/hooks/useCreateEntry.ts","../src/react/hooks/useUpdateEntry.ts","../src/react/hooks/useDeleteEntry.ts"],"sourcesContent":["\"use client\"\n\nimport { useCallback, useEffect, useRef, useState } from \"react\"\nimport { ContentstackError, parseErrorResponse } from \"../../../index.js\"\nimport { useContentstackContext } from \"../../provider/context\"\n\nexport interface UseQueryOptions {\n enabled?: boolean\n refetchInterval?: number\n}\n\nexport interface UseQueryResult<T> {\n data: T | undefined\n loading: boolean\n error: ContentstackError | null\n refetch: () => Promise<void>\n}\n\nexport function useQuery<T>(\n path: string,\n params?: Record<string, string>,\n options?: UseQueryOptions,\n): UseQueryResult<T> {\n const { proxyBasePath } = useContentstackContext()\n const [data, setData] = useState<T | undefined>(undefined)\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState<ContentstackError | null>(null)\n const abortRef = useRef<AbortController | null>(null)\n\n const enabled = options?.enabled ?? true\n const refetchInterval = options?.refetchInterval ?? 0\n\n const search = params ? `?${new URLSearchParams(params).toString()}` : \"\"\n const url = `${proxyBasePath}${path}${search}`\n\n const fetchData = useCallback(\n async (signal?: AbortSignal) => {\n setLoading(true)\n setError(null)\n\n try {\n const response = await fetch(url, { signal })\n\n if (signal?.aborted) return\n\n if (!response.ok) {\n const err = await parseErrorResponse(response, path)\n setError(err)\n setData(undefined)\n return\n }\n\n const json = await response.json()\n setData(json as T)\n } catch (err) {\n if (err instanceof DOMException && err.name === \"AbortError\") return\n setError(\n new ContentstackError(err instanceof Error ? err.message : \"Network error\", {\n requestPath: path,\n cause: err instanceof Error ? err : undefined,\n }),\n )\n setData(undefined)\n } finally {\n if (!signal?.aborted) {\n setLoading(false)\n }\n }\n },\n [url, path],\n )\n\n useEffect(() => {\n if (!enabled) return\n\n abortRef.current?.abort()\n const controller = new AbortController()\n abortRef.current = controller\n\n fetchData(controller.signal)\n\n return () => {\n controller.abort()\n }\n }, [enabled, fetchData])\n\n useEffect(() => {\n if (!enabled || refetchInterval <= 0) return\n\n const id = setInterval(() => {\n abortRef.current?.abort()\n const controller = new AbortController()\n abortRef.current = controller\n fetchData(controller.signal)\n }, refetchInterval)\n\n return () => {\n clearInterval(id)\n }\n }, [enabled, refetchInterval, fetchData])\n\n const refetch = useCallback(async () => {\n abortRef.current?.abort()\n const controller = new AbortController()\n abortRef.current = controller\n await fetchData(controller.signal)\n }, [fetchData])\n\n return { data, loading, error, refetch }\n}\n","\"use client\"\n\nimport { type Entry, buildEntriesParams } from \"../../index.js\"\nimport type { UseQueryOptions, UseQueryResult } from \"./shared/useQuery\"\nimport { useQuery } from \"./shared/useQuery\"\n\nexport interface UseEntriesOptions extends UseQueryOptions {\n locale?: string\n limit?: number\n skip?: number\n includePublishDetails?: boolean\n query?: Record<string, unknown>\n}\n\nexport interface UseEntriesResult extends Omit<UseQueryResult<Entry[]>, \"data\"> {\n data: Entry[] | undefined\n count?: number\n}\n\nexport function useEntries(contentTypeUid: string, options?: UseEntriesOptions): UseEntriesResult {\n const result = useQuery<{ entries: Entry[]; count?: number }>(\n `/content_types/${contentTypeUid}/entries`,\n buildEntriesParams(options),\n options,\n )\n\n return {\n ...result,\n data: result.data?.entries,\n count: result.data?.count,\n }\n}\n","\"use client\"\n\nimport { type Entry, buildEntryParams } from \"../../index.js\"\nimport type { UseQueryOptions, UseQueryResult } from \"./shared/useQuery\"\nimport { useQuery } from \"./shared/useQuery\"\n\nexport interface UseEntryOptions extends UseQueryOptions {\n locale?: string\n version?: number\n includePublishDetails?: boolean\n}\n\nexport function useEntry(\n contentTypeUid: string,\n entryUid: string,\n options?: UseEntryOptions,\n): UseQueryResult<Entry> {\n const result = useQuery<{ entry: Entry }>(\n `/content_types/${contentTypeUid}/entries/${entryUid}`,\n buildEntryParams(options),\n options,\n )\n\n return {\n ...result,\n data: result.data?.entry,\n }\n}\n","\"use client\"\n\nimport { type Asset, buildAssetsParams } from \"../../index.js\"\nimport type { UseQueryOptions, UseQueryResult } from \"./shared/useQuery\"\nimport { useQuery } from \"./shared/useQuery\"\n\nexport interface UseAssetsOptions extends UseQueryOptions {\n folder?: string\n limit?: number\n skip?: number\n}\n\nexport function useAssets(options?: UseAssetsOptions): UseQueryResult<Asset[]> {\n const result = useQuery<{ assets: Asset[] }>(\"/assets\", buildAssetsParams(options), options)\n\n return {\n ...result,\n data: result.data?.assets,\n }\n}\n","\"use client\"\n\nimport type { ContentType } from \"../../index.js\"\nimport type { UseQueryOptions, UseQueryResult } from \"./shared/useQuery\"\nimport { useQuery } from \"./shared/useQuery\"\n\nexport function useContentTypes(options?: UseQueryOptions): UseQueryResult<ContentType[]> {\n const result = useQuery<{ content_types: ContentType[] }>(\"/content_types\", undefined, options)\n\n return {\n ...result,\n data: result.data?.content_types,\n }\n}\n","\"use client\"\n\nimport { useMemo } from \"react\"\nimport { type CMAClient, createCMAClient } from \"../../index.js\"\nimport { useContentstackContext } from \"../provider/context\"\n\nexport function useCMA(): CMAClient {\n const { proxyBasePath, region, apiKey } = useContentstackContext()\n\n return useMemo(\n () =>\n createCMAClient({\n region,\n apiKey: apiKey ?? \"proxy\",\n auth: { type: \"oauth\", accessToken: \"proxy\" },\n httpOptions: { baseUrl: proxyBasePath },\n }),\n [proxyBasePath, region, apiKey],\n )\n}\n","\"use client\"\n\nimport { useMemo } from \"react\"\nimport { type LaunchClient, createLaunchClient } from \"../../index.js\"\nimport { useContentstackContext } from \"../provider/context\"\n\nexport function useLaunch(): LaunchClient {\n const { launchProxyBasePath = \"/api/launch\", region, organizationUid } = useContentstackContext()\n\n return useMemo(\n () =>\n createLaunchClient({\n region,\n organizationUid: organizationUid ?? \"proxy\",\n auth: { type: \"oauth\", accessToken: \"proxy\" },\n httpOptions: { baseUrl: launchProxyBasePath },\n }),\n [launchProxyBasePath, region, organizationUid],\n )\n}\n","\"use client\"\n\nimport { useMemo } from \"react\"\nimport { type BrandKitClient, createBrandKitClient } from \"../../index.js\"\nimport { useContentstackContext } from \"../provider/context\"\n\nexport function useBrandKit(): BrandKitClient {\n const {\n brandKitProxyBasePath = \"/api/brandkit\",\n region,\n organizationUid,\n } = useContentstackContext()\n\n return useMemo(\n () =>\n createBrandKitClient({\n region,\n organizationUid: organizationUid ?? \"proxy\",\n auth: { type: \"oauth\", accessToken: \"proxy\" },\n httpOptions: { baseUrl: brandKitProxyBasePath },\n }),\n [brandKitProxyBasePath, region, organizationUid],\n )\n}\n","\"use client\"\n\nimport { useMemo } from \"react\"\nimport { type KnowledgeVaultClient, createKnowledgeVaultClient } from \"../../index.js\"\nimport { useContentstackContext } from \"../provider/context\"\n\nexport function useKnowledgeVault(): KnowledgeVaultClient {\n const {\n brandKitProxyBasePath = \"/api/brandkit\",\n region,\n organizationUid,\n brandKitUid,\n } = useContentstackContext()\n\n return useMemo(\n () =>\n createKnowledgeVaultClient({\n region,\n organizationUid: organizationUid ?? \"proxy\",\n brandKitUid: brandKitUid ?? \"proxy\",\n auth: { type: \"oauth\", accessToken: \"proxy\" },\n httpOptions: { baseUrl: brandKitProxyBasePath },\n }),\n [brandKitProxyBasePath, region, organizationUid, brandKitUid],\n )\n}\n","\"use client\"\n\nimport { useMemo } from \"react\"\nimport { type GenerativeAIClient, createGenerativeAIClient } from \"../../index.js\"\nimport { useContentstackContext } from \"../provider/context\"\n\nexport function useGenerativeAI(): GenerativeAIClient {\n const {\n brandKitProxyBasePath = \"/api/brandkit\",\n region,\n organizationUid,\n brandKitUid,\n } = useContentstackContext()\n\n return useMemo(\n () =>\n createGenerativeAIClient({\n region,\n organizationUid: organizationUid ?? \"proxy\",\n brandKitUid: brandKitUid ?? \"proxy\",\n auth: { type: \"oauth\", accessToken: \"proxy\" },\n httpOptions: { baseUrl: brandKitProxyBasePath },\n }),\n [brandKitProxyBasePath, region, organizationUid, brandKitUid],\n )\n}\n","\"use client\"\n\nimport { useCallback, useRef, useState } from \"react\"\nimport { ContentstackError, parseErrorResponse } from \"../../../index.js\"\nimport { useContentstackContext } from \"../../provider/context\"\n\nexport interface UseMutationResult<TData, TVariables> {\n mutate: (variables: TVariables) => Promise<TData>\n loading: boolean\n error: ContentstackError | null\n data: TData | undefined\n reset: () => void\n}\n\nexport function useMutation<TData, TVariables>(\n method: \"POST\" | \"PUT\" | \"DELETE\",\n buildRequest: (variables: TVariables) => { path: string; body?: unknown },\n): UseMutationResult<TData, TVariables> {\n const { proxyBasePath } = useContentstackContext()\n const [data, setData] = useState<TData | undefined>(undefined)\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState<ContentstackError | null>(null)\n const buildRequestRef = useRef(buildRequest)\n buildRequestRef.current = buildRequest\n\n const mutate = useCallback(\n async (variables: TVariables): Promise<TData> => {\n const { path, body } = buildRequestRef.current(variables)\n const url = `${proxyBasePath}${path}`\n\n setLoading(true)\n setError(null)\n\n try {\n const response = await fetch(url, {\n method,\n headers: body !== undefined ? { \"Content-Type\": \"application/json\" } : undefined,\n body: body !== undefined ? JSON.stringify(body) : undefined,\n })\n\n if (!response.ok) {\n const err = await parseErrorResponse(response, path)\n setError(err)\n setData(undefined)\n throw err\n }\n\n let json: TData | undefined\n try {\n json = (await response.json()) as TData\n } catch {\n // Support successful 204/empty-body mutation responses.\n json = undefined\n }\n setData(json)\n return json as TData\n } catch (err) {\n if (err instanceof ContentstackError) throw err\n const csError = new ContentstackError(\n err instanceof Error ? err.message : \"Network error\",\n {\n requestPath: path,\n cause: err instanceof Error ? err : undefined,\n },\n )\n setError(csError)\n setData(undefined)\n throw csError\n } finally {\n setLoading(false)\n }\n },\n [proxyBasePath, method],\n )\n\n const reset = useCallback(() => {\n setData(undefined)\n setError(null)\n }, [])\n\n return { mutate, loading, error, data, reset }\n}\n","\"use client\"\n\nimport { type PublishEntryVariables, buildPublishEntryRequest } from \"../../index.js\"\nimport type { UseMutationResult } from \"./shared/useMutation\"\nimport { useMutation } from \"./shared/useMutation\"\n\nexport function usePublishEntry(): UseMutationResult<void, PublishEntryVariables> {\n return useMutation<void, PublishEntryVariables>(\"POST\", buildPublishEntryRequest)\n}\n","\"use client\"\n\nimport { useCallback } from \"react\"\nimport { type CreateEntryVariables, type Entry, buildCreateEntryRequest } from \"../../index.js\"\nimport type { UseMutationResult } from \"./shared/useMutation\"\nimport { useMutation } from \"./shared/useMutation\"\n\nexport function useCreateEntry(): UseMutationResult<Entry, CreateEntryVariables> {\n const result = useMutation<{ entry: Entry }, CreateEntryVariables>(\n \"POST\",\n buildCreateEntryRequest,\n )\n\n const mutate = useCallback(\n async (variables: CreateEntryVariables) => {\n const raw = await result.mutate(variables)\n return raw.entry\n },\n [result.mutate],\n )\n\n return {\n ...result,\n data: result.data?.entry,\n mutate,\n }\n}\n","\"use client\"\n\nimport { useCallback } from \"react\"\nimport { type Entry, type UpdateEntryVariables, buildUpdateEntryRequest } from \"../../index.js\"\nimport type { UseMutationResult } from \"./shared/useMutation\"\nimport { useMutation } from \"./shared/useMutation\"\n\nexport function useUpdateEntry(): UseMutationResult<Entry, UpdateEntryVariables> {\n const result = useMutation<{ entry: Entry }, UpdateEntryVariables>(\"PUT\", buildUpdateEntryRequest)\n\n const mutate = useCallback(\n async (variables: UpdateEntryVariables) => {\n const raw = await result.mutate(variables)\n return raw.entry\n },\n [result.mutate],\n )\n\n return {\n ...result,\n data: result.data?.entry,\n mutate,\n }\n}\n","\"use client\"\n\nimport { type DeleteEntryVariables, buildDeleteEntryRequest } from \"../../index.js\"\nimport type { UseMutationResult } from \"./shared/useMutation\"\nimport { useMutation } from \"./shared/useMutation\"\n\nexport function useDeleteEntry(): UseMutationResult<void, DeleteEntryVariables> {\n return useMutation<void, DeleteEntryVariables>(\"DELETE\", buildDeleteEntryRequest)\n}\n"],"mappings":"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","names":["useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useCallback","useRef","useState","useState","useRef","useCallback","useCallback","useCallback","useCallback","useCallback"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ContentstackError
|
|
3
|
+
} from "./chunk-DMERADWM.mjs";
|
|
4
|
+
|
|
5
|
+
// src/http/parse-error.ts
|
|
6
|
+
async function parseErrorResponse(response, path) {
|
|
7
|
+
try {
|
|
8
|
+
const body = await response.json();
|
|
9
|
+
return new ContentstackError(body.error_message ?? body.message ?? response.statusText, {
|
|
10
|
+
status: response.status,
|
|
11
|
+
errorCode: body.error_code,
|
|
12
|
+
errors: body.errors,
|
|
13
|
+
requestPath: path
|
|
14
|
+
});
|
|
15
|
+
} catch {
|
|
16
|
+
return new ContentstackError(response.statusText, {
|
|
17
|
+
status: response.status,
|
|
18
|
+
requestPath: path
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export {
|
|
24
|
+
parseErrorResponse
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=chunk-7VFGD32I.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/http/parse-error.ts"],"sourcesContent":["import { ContentstackError } from \"./errors.js\"\n\n/**\n * Parse a non-ok fetch Response into a ContentstackError.\n *\n * Handles the Contentstack API error format (error_message, error_code, errors)\n * and falls back to the HTTP status text when the body is not parseable.\n *\n * This is a shared utility used by React hooks and Vue composables to avoid\n * duplicating error-parsing logic across frameworks.\n */\nexport async function parseErrorResponse(\n response: Response,\n path: string,\n): Promise<ContentstackError> {\n try {\n const body = await response.json()\n return new ContentstackError(body.error_message ?? body.message ?? response.statusText, {\n status: response.status,\n errorCode: body.error_code,\n errors: body.errors,\n requestPath: path,\n })\n } catch {\n return new ContentstackError(response.statusText, {\n status: response.status,\n requestPath: path,\n })\n }\n}\n"],"mappings":";;;;;AAWA,eAAsB,mBACpB,UACA,MAC4B;AAC5B,MAAI;AACF,UAAM,OAAO,MAAM,SAAS,KAAK;AACjC,WAAO,IAAI,kBAAkB,KAAK,iBAAiB,KAAK,WAAW,SAAS,YAAY;AAAA,MACtF,QAAQ,SAAS;AAAA,MACjB,WAAW,KAAK;AAAA,MAChB,QAAQ,KAAK;AAAA,MACb,aAAa;AAAA,IACf,CAAC;AAAA,EACH,QAAQ;AACN,WAAO,IAAI,kBAAkB,SAAS,YAAY;AAAA,MAChD,QAAQ,SAAS;AAAA,MACjB,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ContentstackContext
|
|
3
|
+
} from "./chunk-K76DKSHJ.mjs";
|
|
4
|
+
|
|
5
|
+
// src/react/provider/ContentstackProvider.tsx
|
|
6
|
+
import { useMemo } from "react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
function ContentstackProvider({
|
|
9
|
+
region,
|
|
10
|
+
proxyBasePath = "/api/cma",
|
|
11
|
+
apiKey,
|
|
12
|
+
organizationUid,
|
|
13
|
+
brandKitUid,
|
|
14
|
+
launchProxyBasePath = "/api/launch",
|
|
15
|
+
brandKitProxyBasePath = "/api/brandkit",
|
|
16
|
+
children
|
|
17
|
+
}) {
|
|
18
|
+
const value = useMemo(
|
|
19
|
+
() => ({
|
|
20
|
+
region,
|
|
21
|
+
proxyBasePath,
|
|
22
|
+
apiKey,
|
|
23
|
+
organizationUid,
|
|
24
|
+
brandKitUid,
|
|
25
|
+
launchProxyBasePath,
|
|
26
|
+
brandKitProxyBasePath
|
|
27
|
+
}),
|
|
28
|
+
[
|
|
29
|
+
region,
|
|
30
|
+
proxyBasePath,
|
|
31
|
+
apiKey,
|
|
32
|
+
organizationUid,
|
|
33
|
+
brandKitUid,
|
|
34
|
+
launchProxyBasePath,
|
|
35
|
+
brandKitProxyBasePath
|
|
36
|
+
]
|
|
37
|
+
);
|
|
38
|
+
return /* @__PURE__ */ jsx(ContentstackContext.Provider, { value, children });
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export {
|
|
42
|
+
ContentstackProvider
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=chunk-ARPJDW3A.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react/provider/ContentstackProvider.tsx"],"sourcesContent":["\"use client\"\n\nimport { useMemo } from \"react\"\nimport type { ContentstackRegion } from \"../../index.js\"\nimport { ContentstackContext, type ContentstackContextValue } from \"./context\"\n\nexport interface ContentstackProviderProps {\n region: ContentstackRegion\n proxyBasePath?: string\n apiKey?: string\n organizationUid?: string\n brandKitUid?: string\n launchProxyBasePath?: string\n brandKitProxyBasePath?: string\n children: React.ReactNode\n}\n\nexport function ContentstackProvider({\n region,\n proxyBasePath = \"/api/cma\",\n apiKey,\n organizationUid,\n brandKitUid,\n launchProxyBasePath = \"/api/launch\",\n brandKitProxyBasePath = \"/api/brandkit\",\n children,\n}: ContentstackProviderProps): React.JSX.Element {\n const value = useMemo<ContentstackContextValue>(\n () => ({\n region,\n proxyBasePath,\n apiKey,\n organizationUid,\n brandKitUid,\n launchProxyBasePath,\n brandKitProxyBasePath,\n }),\n [\n region,\n proxyBasePath,\n apiKey,\n organizationUid,\n brandKitUid,\n launchProxyBasePath,\n brandKitProxyBasePath,\n ],\n )\n\n return <ContentstackContext.Provider value={value}>{children}</ContentstackContext.Provider>\n}\n"],"mappings":";;;;;AAEA,SAAS,eAAe;AA8Cf;AA/BF,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB;AACF,GAAiD;AAC/C,QAAM,QAAQ;AAAA,IACZ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO,oBAAC,oBAAoB,UAApB,EAA6B,OAAe,UAAS;AAC/D;","names":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ContentstackHttpClient
|
|
3
|
+
} from "./chunk-4CJ4IVPJ.mjs";
|
|
4
|
+
import {
|
|
5
|
+
resolveEndpoints
|
|
6
|
+
} from "./chunk-BK2IBTQS.mjs";
|
|
7
|
+
|
|
8
|
+
// src/generative-ai/client.ts
|
|
9
|
+
function createGenerativeAIClient(config) {
|
|
10
|
+
const endpoints = resolveEndpoints(config.region);
|
|
11
|
+
const headers = {
|
|
12
|
+
organization_uid: config.organizationUid,
|
|
13
|
+
brand_kit_uid: config.brandKitUid
|
|
14
|
+
};
|
|
15
|
+
switch (config.auth.type) {
|
|
16
|
+
case "oauth":
|
|
17
|
+
headers.authorization = `Bearer ${config.auth.accessToken}`;
|
|
18
|
+
break;
|
|
19
|
+
case "authtoken":
|
|
20
|
+
headers.authtoken = config.auth.token;
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
const http = new ContentstackHttpClient({
|
|
24
|
+
...config.httpOptions,
|
|
25
|
+
baseUrl: config.httpOptions?.baseUrl ?? endpoints.brandKitAI,
|
|
26
|
+
headers: {
|
|
27
|
+
...config.httpOptions?.headers,
|
|
28
|
+
...headers
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
async generate(data) {
|
|
33
|
+
const body = { prompt: data.prompt };
|
|
34
|
+
if (data.voiceProfileUid) {
|
|
35
|
+
body.voice_profile_uid = data.voiceProfileUid;
|
|
36
|
+
}
|
|
37
|
+
if (data.useKnowledgeVault !== void 0) {
|
|
38
|
+
body.knowledge_vault = data.useKnowledgeVault;
|
|
39
|
+
}
|
|
40
|
+
const response = await http.post(
|
|
41
|
+
"/v1/generative-ai/generate",
|
|
42
|
+
body
|
|
43
|
+
);
|
|
44
|
+
return response.data.data;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export {
|
|
50
|
+
createGenerativeAIClient
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=chunk-AVJHCFRK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generative-ai/client.ts"],"sourcesContent":["import { ContentstackHttpClient } from \"../http/client.js\"\nimport type { HttpClientConfig } from \"../http/types.js\"\nimport type { ContentstackRegion } from \"../regions/resolver.js\"\nimport { resolveEndpoints } from \"../regions/resolver.js\"\nimport type { GenerateContentData, GenerateContentResult } from \"./types.js\"\n\nexport interface GenerativeAIClientConfig {\n region: ContentstackRegion\n organizationUid: string\n brandKitUid: string\n auth: { type: \"oauth\"; accessToken: string } | { type: \"authtoken\"; token: string }\n httpOptions?: Partial<HttpClientConfig>\n}\n\nexport interface GenerativeAIClient {\n generate(data: GenerateContentData): Promise<GenerateContentResult>\n}\n\nexport function createGenerativeAIClient(config: GenerativeAIClientConfig): GenerativeAIClient {\n const endpoints = resolveEndpoints(config.region)\n\n const headers: Record<string, string> = {\n organization_uid: config.organizationUid,\n brand_kit_uid: config.brandKitUid,\n }\n\n switch (config.auth.type) {\n case \"oauth\":\n headers.authorization = `Bearer ${config.auth.accessToken}`\n break\n case \"authtoken\":\n headers.authtoken = config.auth.token\n break\n }\n\n const http = new ContentstackHttpClient({\n ...config.httpOptions,\n baseUrl: config.httpOptions?.baseUrl ?? endpoints.brandKitAI,\n headers: {\n ...config.httpOptions?.headers,\n ...headers,\n },\n })\n\n return {\n async generate(data: GenerateContentData): Promise<GenerateContentResult> {\n const body: Record<string, unknown> = { prompt: data.prompt }\n if (data.voiceProfileUid) {\n body.voice_profile_uid = data.voiceProfileUid\n }\n if (data.useKnowledgeVault !== undefined) {\n body.knowledge_vault = data.useKnowledgeVault\n }\n const response = await http.post<{ data: GenerateContentResult }>(\n \"/v1/generative-ai/generate\",\n body,\n )\n return response.data.data\n },\n }\n}\n"],"mappings":";;;;;;;;AAkBO,SAAS,yBAAyB,QAAsD;AAC7F,QAAM,YAAY,iBAAiB,OAAO,MAAM;AAEhD,QAAM,UAAkC;AAAA,IACtC,kBAAkB,OAAO;AAAA,IACzB,eAAe,OAAO;AAAA,EACxB;AAEA,UAAQ,OAAO,KAAK,MAAM;AAAA,IACxB,KAAK;AACH,cAAQ,gBAAgB,UAAU,OAAO,KAAK,WAAW;AACzD;AAAA,IACF,KAAK;AACH,cAAQ,YAAY,OAAO,KAAK;AAChC;AAAA,EACJ;AAEA,QAAM,OAAO,IAAI,uBAAuB;AAAA,IACtC,GAAG,OAAO;AAAA,IACV,SAAS,OAAO,aAAa,WAAW,UAAU;AAAA,IAClD,SAAS;AAAA,MACP,GAAG,OAAO,aAAa;AAAA,MACvB,GAAG;AAAA,IACL;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL,MAAM,SAAS,MAA2D;AACxE,YAAM,OAAgC,EAAE,QAAQ,KAAK,OAAO;AAC5D,UAAI,KAAK,iBAAiB;AACxB,aAAK,oBAAoB,KAAK;AAAA,MAChC;AACA,UAAI,KAAK,sBAAsB,QAAW;AACxC,aAAK,kBAAkB,KAAK;AAAA,MAC9B;AACA,YAAM,WAAW,MAAM,KAAK;AAAA,QAC1B;AAAA,QACA;AAAA,MACF;AACA,aAAO,SAAS,KAAK;AAAA,IACvB;AAAA,EACF;AACF;","names":[]}
|