2026-02-13 22:43:55 -08:00
|
|
|
import OpenAI from "openai";
|
|
|
|
|
import Anthropic from "@anthropic-ai/sdk";
|
|
|
|
|
import { env } from "../env.js";
|
|
|
|
|
|
|
|
|
|
export function openaiClient() {
|
|
|
|
|
if (!env.OPENAI_API_KEY) throw new Error("OPENAI_API_KEY not set");
|
|
|
|
|
return new OpenAI({ apiKey: env.OPENAI_API_KEY });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// xAI (Grok) is OpenAI-compatible at https://api.x.ai/v1
|
|
|
|
|
export function xaiClient() {
|
|
|
|
|
if (!env.XAI_API_KEY) throw new Error("XAI_API_KEY not set");
|
|
|
|
|
return new OpenAI({ apiKey: env.XAI_API_KEY, baseURL: "https://api.x.ai/v1" });
|
|
|
|
|
}
|
|
|
|
|
|
2026-05-04 21:52:39 -07:00
|
|
|
export function isHermesAgentConfigured() {
|
|
|
|
|
return Boolean(env.HERMES_AGENT_API_KEY);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function hermesAgentClient() {
|
|
|
|
|
if (!env.HERMES_AGENT_API_KEY) throw new Error("HERMES_AGENT_API_KEY not set");
|
|
|
|
|
return new OpenAI({
|
|
|
|
|
apiKey: env.HERMES_AGENT_API_KEY,
|
|
|
|
|
baseURL: env.HERMES_AGENT_API_BASE_URL,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-13 22:43:55 -08:00
|
|
|
export function anthropicClient() {
|
|
|
|
|
if (!env.ANTHROPIC_API_KEY) throw new Error("ANTHROPIC_API_KEY not set");
|
|
|
|
|
return new Anthropic({ apiKey: env.ANTHROPIC_API_KEY });
|
|
|
|
|
}
|