Spaces:
Runtime error
Runtime error
File size: 1,138 Bytes
69f2236 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | const readEnvString = (value: unknown): string | undefined =>
typeof value === "string" && value.trim() ? value.trim() : undefined;
export const workflowId = (() => {
const id = readEnvString(import.meta.env.VITE_CHATKIT_WORKFLOW_ID);
if (!id || id.startsWith("wf_replace")) {
throw new Error("Set VITE_CHATKIT_WORKFLOW_ID in your .env file.");
}
return id;
})();
export function createClientSecretFetcher(
workflow: string,
endpoint = "/api/create-session"
) {
return async (currentSecret: string | null) => {
if (currentSecret) return currentSecret;
const response = await fetch(endpoint, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ workflow: { id: workflow } }),
});
const payload = (await response.json().catch(() => ({}))) as {
client_secret?: string;
error?: string;
};
if (!response.ok) {
throw new Error(payload.error ?? "Failed to create session");
}
if (!payload.client_secret) {
throw new Error("Missing client secret in response");
}
return payload.client_secret;
};
}
|