datasquirel/package-shared/utils/grab-user-ai-info.ts
Benjamin Toby 8ac8b8eb51 Updates
2025-07-28 07:23:45 +01:00

38 lines
918 B
TypeScript

import { AIOptions, AIOptionsObject, SiteConfig } from "../types";
type Params = {
userConfig?: SiteConfig | null;
};
export type GrabUserAIConfigReturn = {};
export default function grabUserAIInfo({
userConfig: passedConfig,
}: Params): AIOptionsObject | undefined {
const userConfig: SiteConfig | undefined = passedConfig
? passedConfig
: undefined;
if (!userConfig) return undefined;
const targetAI = userConfig?.main.target_ai;
if (!targetAI?.name || !userConfig?.main.api_keys) return undefined;
const targetAIAPIKey = userConfig.main.api_keys[targetAI.name].key;
if (!targetAIAPIKey) return undefined;
const targetAIOption = AIOptions.find(
(aiOpt) => aiOpt.name == targetAI.name
);
targetAI.apiKey = targetAIAPIKey;
if (targetAIOption?.baseUrl) {
targetAI.baseUrl = targetAIOption.baseUrl;
}
return targetAI;
}