UNPKG

@devvai/devv-code-backend

Version:

Backend SDK for Devv Code - Provides authentication, data management, email and AI capabilities

42 lines (41 loc) 1.44 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.DevvAI = void 0; const openai_1 = __importDefault(require("openai")); const device_1 = require("./device"); const session_1 = require("./session"); const constants_1 = require("./constants"); /** * DevvAI extends OpenAI client with pre-configured authentication * * Usage: * ```typescript * const ai = new DevvAI(); * const response = await ai.chat.completions.create({ * model: 'gpt-3.5-turbo', // Model parameter is provided by backend * messages: [{ role: 'user', content: 'Hello!' }] * }); * ``` * * Note: The model parameter is required in requests but will be overridden by backend. * The actual model used is determined by your Devv project configuration. */ class DevvAI extends openai_1.default { constructor() { const sid = (0, session_1.getSid)(); const deviceId = (0, device_1.getEncryptedDeviceId)(); super({ apiKey: sid || '', // OpenAI SDK requires an API key, but we use session-based auth baseURL: `${constants_1.BASE_URL}openai/v1`, dangerouslyAllowBrowser: true, defaultHeaders: { 'Device-Id': deviceId, 'sid': sid } }); } } exports.DevvAI = DevvAI;