@gentrace/openai
Version:
Gentrace OpenAI v4 plugin for Node.JS
1 lines • 15.9 kB
Source Map (JSON)
{"version":3,"file":"simple.mjs","sources":["simple.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { Configuration as GentraceConfiguration, GENTRACE_API_KEY, globalGentraceConfig, } from \"@gentrace/core\";\nimport OpenAI from \"openai\";\nimport { GentraceBetaChatCompletions, GentraceChatCompletions, GentraceCompletions, GentraceEmbeddings, GentraceModerations, OpenAIPipelineHandler, } from \"../openai\";\nimport { Chat } from \"openai/resources/beta/chat/chat\";\nclass SimpleOpenAI extends OpenAIPipelineHandler {\n constructor(options) {\n var _a;\n const { gentraceApiKey, gentraceBasePath, gentraceLogger } = options, oaiOptions = __rest(options, [\"gentraceApiKey\", \"gentraceBasePath\", \"gentraceLogger\"]);\n if (options.gentraceBasePath) {\n try {\n const url = new URL(options.gentraceBasePath);\n if (url.pathname.startsWith(\"/api/v1\")) {\n }\n else {\n throw new Error('Gentrace base path must end in \"/api/v1\".');\n }\n }\n catch (err) {\n throw new Error(`Invalid Gentrace base path: ${err.message}`);\n }\n }\n let gentraceConfig = null;\n if (options.gentraceApiKey) {\n gentraceConfig = new GentraceConfiguration({\n apiKey: (_a = options.gentraceApiKey) !== null && _a !== void 0 ? _a : GENTRACE_API_KEY,\n basePath: options.gentraceBasePath,\n logger: options.gentraceLogger,\n });\n }\n else if (!globalGentraceConfig) {\n throw new Error(\"Gentrace API key not provided. Please provide it in the init() call.\");\n }\n else {\n gentraceConfig = globalGentraceConfig;\n }\n super(Object.assign(Object.assign({}, oaiOptions), { gentraceConfig }));\n // @ts-ignore\n this.completions = new SimpleGentraceCompletions(Object.assign(Object.assign({ \n // @ts-ignore\n client: this }, options), { gentraceConfig }));\n // @ts-ignore\n this.chat = new SimpleGentraceChat(Object.assign(Object.assign({ \n // @ts-ignore\n client: this }, options), { gentraceConfig }));\n // @ts-ignore\n this.beta = new SimpleGentraceBeta(Object.assign(Object.assign({ \n // @ts-ignore\n client: this }, options), { gentraceConfig }));\n // @ts-ignore\n this.moderations = new SimpleGentraceModerations(Object.assign(Object.assign({ \n // @ts-ignore\n client: this }, options), { gentraceConfig }));\n this.embeddings = new SimpleGentraceEmbeddings(Object.assign(Object.assign({ \n // @ts-ignore\n client: this }, options), { gentraceConfig }));\n }\n getConfig() {\n return this.config;\n }\n setPipelineRun(pipelineRun) {\n this.pipelineRun = pipelineRun;\n }\n}\nclass SimpleGentraceEmbeddings extends GentraceEmbeddings {\n constructor({ client, pipelineRun, gentraceConfig, }) {\n super({\n client,\n gentraceConfig,\n pipelineRun,\n });\n }\n // @ts-ignore\n create(body, options) {\n const _super = Object.create(null, {\n createInner: { get: () => super.createInner }\n });\n return __awaiter(this, void 0, void 0, function* () {\n return _super.createInner.call(this, body, options);\n });\n }\n}\nclass SimpleGentraceModerations extends GentraceModerations {\n constructor({ client, pipelineRun, gentraceConfig, }) {\n super({\n client,\n gentraceConfig,\n pipelineRun,\n });\n }\n // @ts-ignore\n create(body, options) {\n const _super = Object.create(null, {\n createInner: { get: () => super.createInner }\n });\n return __awaiter(this, void 0, void 0, function* () {\n return _super.createInner.call(this, body, options);\n });\n }\n}\nexport class SimpleGentraceCompletions extends GentraceCompletions {\n constructor({ client, pipelineRun, gentraceConfig, }) {\n super({\n client,\n pipelineRun,\n gentraceConfig,\n });\n }\n // @ts-ignore\n create(body, requestOptions) {\n const _super = Object.create(null, {\n createInner: { get: () => super.createInner }\n });\n return __awaiter(this, void 0, void 0, function* () {\n return _super.createInner.call(this, body, requestOptions);\n });\n }\n}\nexport class SimpleGentraceBeta extends OpenAI.Beta {\n constructor({ client, pipelineRun, gentraceConfig, }) {\n super(client);\n // @ts-ignore\n this.chat = new SimpleGentraceBetaChat({\n // @ts-ignore\n client,\n pipelineRun,\n gentraceConfig,\n });\n }\n}\nexport class SimpleGentraceBetaChat extends Chat {\n constructor({ client, pipelineRun, gentraceConfig, }) {\n super(client);\n // @ts-ignore\n this.completions = new SimpleGentraceBetaChatCompletions({\n // @ts-ignore\n client,\n pipelineRun,\n gentraceConfig,\n });\n }\n}\nclass SimpleGentraceBetaChatCompletions extends GentraceBetaChatCompletions {\n constructor({ client, pipelineRun, gentraceConfig, }) {\n super({\n client,\n pipelineRun,\n gentraceConfig,\n });\n }\n // @ts-ignore\n parse(body, options) {\n const _super = Object.create(null, {\n parseInner: { get: () => super.parseInner }\n });\n return __awaiter(this, void 0, void 0, function* () {\n return _super.parseInner.call(this, body, options);\n });\n }\n}\nexport class SimpleGentraceChat extends OpenAI.Chat {\n constructor({ client, pipelineRun, gentraceConfig, }) {\n super(client);\n // @ts-ignore\n this.completions = new SimpleGentraceChatCompletions({\n // @ts-ignore\n client,\n pipelineRun,\n gentraceConfig,\n });\n }\n}\nclass SimpleGentraceChatCompletions extends GentraceChatCompletions {\n constructor({ client, pipelineRun, gentraceConfig, }) {\n super({\n client,\n pipelineRun,\n gentraceConfig,\n });\n }\n // @ts-ignore\n create(body, requestOptions) {\n const _super = Object.create(null, {\n createInner: { get: () => super.createInner }\n });\n return __awaiter(this, void 0, void 0, function* () {\n return _super.createInner.call(this, body, requestOptions);\n });\n }\n}\nexport { SimpleOpenAI };\n"],"names":["this","GentraceConfiguration"],"mappings":"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"}