mirror of
https://github.com/stackblitz-labs/bolt.diy
synced 2025-04-26 17:12:41 +00:00
* Fix: error building my application #1414 * fix for vite * Update vite.config.ts * Update root.tsx * fix the root.tsx and the debugtab * lm studio fix and fix for the api key * Update api.enhancer for prompt enhancement * bugfixes * Revert api.enhancer.ts back to original code * Update api.enhancer.ts * Update api.git-proxy.$.ts * Update api.git-proxy.$.ts * Update api.enhancer.ts
42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import type { LoaderFunction } from '@remix-run/cloudflare';
|
|
import { LLMManager } from '~/lib/modules/llm/manager';
|
|
import { getApiKeysFromCookie } from '~/lib/api/cookies';
|
|
|
|
export const loader: LoaderFunction = async ({ context, request }) => {
|
|
const url = new URL(request.url);
|
|
const provider = url.searchParams.get('provider');
|
|
|
|
if (!provider) {
|
|
return Response.json({ isSet: false });
|
|
}
|
|
|
|
const llmManager = LLMManager.getInstance(context?.cloudflare?.env as any);
|
|
const providerInstance = llmManager.getProvider(provider);
|
|
|
|
if (!providerInstance || !providerInstance.config.apiTokenKey) {
|
|
return Response.json({ isSet: false });
|
|
}
|
|
|
|
const envVarName = providerInstance.config.apiTokenKey;
|
|
|
|
// Get API keys from cookie
|
|
const cookieHeader = request.headers.get('Cookie');
|
|
const apiKeys = getApiKeysFromCookie(cookieHeader);
|
|
|
|
/*
|
|
* Check API key in order of precedence:
|
|
* 1. Client-side API keys (from cookies)
|
|
* 2. Server environment variables (from Cloudflare env)
|
|
* 3. Process environment variables (from .env.local)
|
|
* 4. LLMManager environment variables
|
|
*/
|
|
const isSet = !!(
|
|
apiKeys?.[provider] ||
|
|
(context?.cloudflare?.env as Record<string, any>)?.[envVarName] ||
|
|
process.env[envVarName] ||
|
|
llmManager.env[envVarName]
|
|
);
|
|
|
|
return Response.json({ isSet });
|
|
};
|