Files
timmy-tower/lib/integrations-gemini-ai/src/client.ts
Replit Agent e86dab0d65 feat: Gemini AI integration — conversations, messages, image gen
- Fixed YAML parse error (unquoted colon in description broke @scalar/json-magic)
- Converted orval.config.ts → orval.config.cjs (fixes orval v8 TypeScript config loading)
- Codegen now works: zod schemas + React Query hooks regenerated with Gemini types
- Added Gemini tag, 4 path groups, 8 schemas to openapi.yaml
- lib/integrations-gemini-ai wired: tsconfig refs, api-server package.json dep
- Created routes/gemini.ts: CRUD conversations/messages + SSE chat stream + image gen
- Mounted /gemini router in routes/index.ts
2026-03-20 02:41:12 +00:00

22 lines
610 B
TypeScript

import { GoogleGenAI } from "@google/genai";
if (!process.env.AI_INTEGRATIONS_GEMINI_BASE_URL) {
throw new Error(
"AI_INTEGRATIONS_GEMINI_BASE_URL must be set. Did you forget to provision the Gemini AI integration?",
);
}
if (!process.env.AI_INTEGRATIONS_GEMINI_API_KEY) {
throw new Error(
"AI_INTEGRATIONS_GEMINI_API_KEY must be set. Did you forget to provision the Gemini AI integration?",
);
}
export const ai = new GoogleGenAI({
apiKey: process.env.AI_INTEGRATIONS_GEMINI_API_KEY,
httpOptions: {
apiVersion: "",
baseUrl: process.env.AI_INTEGRATIONS_GEMINI_BASE_URL,
},
});