Added environment variables to bypass the initial setup form

This commit is contained in:
Romamo
2025-03-25 17:34:56 +02:00
parent 35fbb5c40c
commit b57a8abc59
3 changed files with 40 additions and 5 deletions

View File

@@ -123,9 +123,19 @@ const StreamSession = ({
export const StreamProvider: React.FC<{ children: ReactNode }> = ({
children,
}) => {
const [apiUrl, setApiUrl] = useQueryState("apiUrl");
// Get environment variables
const envApiUrl = import.meta.env.VITE_API_URL as string;
const envAssistantId = import.meta.env.VITE_ASSISTANT_ID as string;
const envApiKey = import.meta.env.VITE_LANGSMITH_API_KEY as string;
// Use URL params with env var fallbacks
const [apiUrl, setApiUrl] = useQueryState("apiUrl", { defaultValue: envApiUrl || "" });
const [assistantId, setAssistantId] = useQueryState("assistantId", { defaultValue: envAssistantId || "" });
// For API key, use localStorage with env var fallback
const [apiKey, _setApiKey] = useState(() => {
return getApiKey();
const storedKey = getApiKey();
return storedKey || envApiKey || "";
});
const setApiKey = (key: string) => {
@@ -133,9 +143,12 @@ export const StreamProvider: React.FC<{ children: ReactNode }> = ({
_setApiKey(key);
};
const [assistantId, setAssistantId] = useQueryState("assistantId");
if (!apiUrl || !assistantId) {
// Determine final values to use, prioritizing URL params then env vars
const finalApiUrl = apiUrl || envApiUrl;
const finalAssistantId = assistantId || envAssistantId;
// If we're missing any required values, show the form
if (!finalApiUrl || !finalAssistantId) {
return (
<div className="flex items-center justify-center min-h-screen w-full p-4">
<div className="animate-in fade-in-0 zoom-in-95 flex flex-col border bg-background shadow-lg rounded-lg max-w-3xl">