@bernierllc/openai-client 1.5.1 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bernierllc/openai-client",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "Type-safe OpenAI API client with automatic rate limiting, retry logic, streaming support, and cost tracking",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "openai": "^4.73.0",
32
- "@bernierllc/logger": "1.7.1",
32
+ "@bernierllc/logger": "2.0.0",
33
33
  "@bernierllc/retry-policy": "0.7.0"
34
34
  },
35
35
  "devDependencies": {
@@ -1,17 +0,0 @@
1
- import { OpenAIClientConfig, CompletionOptions, CompletionResult, StreamChunkCallback, UsageStats, RateLimitStatus } from './types';
2
- export declare class OpenAIClient {
3
- private client;
4
- private logger;
5
- private rateLimiter;
6
- private config;
7
- private stats;
8
- constructor(config: OpenAIClientConfig);
9
- complete(prompt: string, options?: CompletionOptions): Promise<CompletionResult>;
10
- stream(prompt: string, onChunk: StreamChunkCallback, options?: CompletionOptions): Promise<CompletionResult>;
11
- getUsage(): UsageStats;
12
- getRateLimitStatus(): RateLimitStatus | null;
13
- resetUsage(): void;
14
- private updateStats;
15
- private sleep;
16
- }
17
- //# sourceMappingURL=OpenAIClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OpenAIClient.d.ts","sourceRoot":"","sources":["../src/OpenAIClient.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,eAAe,EAGhB,MAAM,SAAS,CAAC;AA2CjB,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,MAAM,CAAiF;IAC/F,OAAO,CAAC,KAAK,CAOX;gBAEU,MAAM,EAAE,kBAAkB;IA+ChC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuHpF,MAAM,CACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAmG5B,QAAQ,IAAI,UAAU;IAOtB,kBAAkB,IAAI,eAAe,GAAG,IAAI;IAkB5C,UAAU,IAAI,IAAI;IAYlB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,KAAK;CAGd"}
@@ -1,299 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.OpenAIClient = void 0;
7
- const openai_1 = __importDefault(require("openai"));
8
- const logger_1 = require("@bernierllc/logger");
9
- const retry_policy_1 = require("@bernierllc/retry-policy");
10
- const types_1 = require("./types");
11
- class SimpleRateLimiter {
12
- maxRequests;
13
- windowMs;
14
- requests = [];
15
- constructor(maxRequests, windowMs) {
16
- this.maxRequests = maxRequests;
17
- this.windowMs = windowMs;
18
- }
19
- tryAcquire() {
20
- const now = Date.now();
21
- this.requests = this.requests.filter(time => now - time < this.windowMs);
22
- if (this.requests.length < this.maxRequests) {
23
- this.requests.push(now);
24
- return true;
25
- }
26
- return false;
27
- }
28
- getWaitTime() {
29
- if (this.requests.length === 0)
30
- return 0;
31
- const oldestRequest = Math.min(...this.requests);
32
- const waitTime = this.windowMs - (Date.now() - oldestRequest);
33
- return Math.max(0, waitTime);
34
- }
35
- getRemainingRequests() {
36
- const now = Date.now();
37
- this.requests = this.requests.filter(time => now - time < this.windowMs);
38
- return Math.max(0, this.maxRequests - this.requests.length);
39
- }
40
- }
41
- class OpenAIClient {
42
- client;
43
- logger;
44
- rateLimiter = null;
45
- config;
46
- stats = {
47
- totalRequests: 0,
48
- totalInputTokens: 0,
49
- totalOutputTokens: 0,
50
- totalTokens: 0,
51
- totalCost: 0,
52
- requestsByModel: {}
53
- };
54
- constructor(config) {
55
- if (!config.apiKey) {
56
- throw new Error('API key is required');
57
- }
58
- this.config = {
59
- apiKey: config.apiKey,
60
- maxRetries: config.maxRetries ?? 3,
61
- rateLimit: config.rateLimit === null ? null : (config.rateLimit ?? {
62
- requestsPerMinute: 60,
63
- tokensPerMinute: 90000
64
- }),
65
- defaultModel: config.defaultModel ?? types_1.OpenAIModel.GPT_4O_MINI,
66
- enableLogging: config.enableLogging ?? true,
67
- organization: config.organization
68
- };
69
- this.client = new openai_1.default({
70
- apiKey: this.config.apiKey,
71
- organization: this.config.organization
72
- });
73
- this.logger = new logger_1.Logger({
74
- level: this.config.enableLogging ? logger_1.LogLevel.INFO : logger_1.LogLevel.ERROR,
75
- transports: [
76
- new logger_1.ConsoleTransport({
77
- level: this.config.enableLogging ? logger_1.LogLevel.INFO : logger_1.LogLevel.ERROR
78
- })
79
- ]
80
- });
81
- if (this.config.rateLimit) {
82
- this.rateLimiter = new SimpleRateLimiter(this.config.rateLimit.requestsPerMinute, 60000);
83
- }
84
- this.logger.info('OpenAIClient initialized', {
85
- model: this.config.defaultModel,
86
- rateLimit: this.config.rateLimit
87
- });
88
- }
89
- async complete(prompt, options = {}) {
90
- const model = options.model ?? this.config.defaultModel;
91
- const maxTokens = options.maxTokens ?? 1024;
92
- this.logger.debug('Starting completion request', { model, promptLength: prompt.length });
93
- let attempt = 0;
94
- let lastError = null;
95
- while (attempt < this.config.maxRetries) {
96
- try {
97
- if (this.rateLimiter && !this.rateLimiter.tryAcquire()) {
98
- const waitTime = this.rateLimiter.getWaitTime();
99
- this.logger.warn('Rate limit reached, waiting', { waitTime });
100
- await this.sleep(waitTime);
101
- continue;
102
- }
103
- const messages = [];
104
- if (options.systemPrompt) {
105
- messages.push({ role: 'system', content: options.systemPrompt });
106
- }
107
- messages.push({ role: 'user', content: prompt });
108
- const response = await this.client.chat.completions.create({
109
- model,
110
- messages,
111
- max_tokens: maxTokens,
112
- temperature: options.temperature,
113
- top_p: options.topP,
114
- frequency_penalty: options.frequencyPenalty,
115
- presence_penalty: options.presencePenalty,
116
- stop: options.stopSequences,
117
- user: options.user
118
- });
119
- const content = response.choices[0]?.message?.content || '';
120
- const inputTokens = response.usage?.prompt_tokens || 0;
121
- const outputTokens = response.usage?.completion_tokens || 0;
122
- const totalTokens = inputTokens + outputTokens;
123
- const pricing = types_1.MODEL_PRICING[model];
124
- const inputCost = (inputTokens / 1_000_000) * pricing.input;
125
- const outputCost = (outputTokens / 1_000_000) * pricing.output;
126
- const totalCost = inputCost + outputCost;
127
- this.updateStats(model, inputTokens, outputTokens, totalCost);
128
- this.logger.info('Completion successful', {
129
- model,
130
- inputTokens,
131
- outputTokens,
132
- totalCost: totalCost.toFixed(6)
133
- });
134
- return {
135
- success: true,
136
- content,
137
- usage: {
138
- inputTokens,
139
- outputTokens,
140
- totalTokens
141
- },
142
- cost: {
143
- inputCost,
144
- outputCost,
145
- totalCost
146
- },
147
- model,
148
- finishReason: response.choices[0]?.finish_reason || undefined
149
- };
150
- }
151
- catch (error) {
152
- lastError = error;
153
- attempt++;
154
- if (attempt < this.config.maxRetries && (0, retry_policy_1.shouldRetry)(attempt, error)) {
155
- const delay = (0, retry_policy_1.calculateRetryDelay)(attempt, {
156
- initialDelayMs: 1000,
157
- maxDelayMs: 30000,
158
- jitter: true
159
- });
160
- this.logger.warn('Request failed, retrying', {
161
- attempt,
162
- delay,
163
- error: error.message
164
- });
165
- await this.sleep(delay);
166
- }
167
- else {
168
- break;
169
- }
170
- }
171
- }
172
- if (lastError) {
173
- this.logger.error('Completion failed after retries', lastError, {
174
- attempts: attempt
175
- });
176
- }
177
- return {
178
- success: false,
179
- error: lastError?.message ?? 'Unknown error'
180
- };
181
- }
182
- async stream(prompt, onChunk, options = {}) {
183
- const model = options.model ?? this.config.defaultModel;
184
- const maxTokens = options.maxTokens ?? 1024;
185
- this.logger.debug('Starting streaming request', { model, promptLength: prompt.length });
186
- try {
187
- if (this.rateLimiter && !this.rateLimiter.tryAcquire()) {
188
- const waitTime = this.rateLimiter.getWaitTime();
189
- this.logger.warn('Rate limit reached, waiting', { waitTime });
190
- await this.sleep(waitTime);
191
- }
192
- const messages = [];
193
- if (options.systemPrompt) {
194
- messages.push({ role: 'system', content: options.systemPrompt });
195
- }
196
- messages.push({ role: 'user', content: prompt });
197
- const stream = await this.client.chat.completions.create({
198
- model,
199
- messages,
200
- max_tokens: maxTokens,
201
- temperature: options.temperature,
202
- top_p: options.topP,
203
- frequency_penalty: options.frequencyPenalty,
204
- presence_penalty: options.presencePenalty,
205
- stop: options.stopSequences,
206
- user: options.user,
207
- stream: true
208
- });
209
- let fullContent = '';
210
- let finishReason = '';
211
- for await (const chunk of stream) {
212
- const delta = chunk.choices[0]?.delta?.content;
213
- if (delta) {
214
- fullContent += delta;
215
- await onChunk(delta);
216
- }
217
- if (chunk.choices[0]?.finish_reason) {
218
- finishReason = chunk.choices[0].finish_reason;
219
- }
220
- }
221
- const estimatedInputTokens = Math.ceil((prompt.length + (options.systemPrompt?.length || 0)) / 4);
222
- const estimatedOutputTokens = Math.ceil(fullContent.length / 4);
223
- const totalTokens = estimatedInputTokens + estimatedOutputTokens;
224
- const pricing = types_1.MODEL_PRICING[model];
225
- const inputCost = (estimatedInputTokens / 1_000_000) * pricing.input;
226
- const outputCost = (estimatedOutputTokens / 1_000_000) * pricing.output;
227
- const totalCost = inputCost + outputCost;
228
- this.updateStats(model, estimatedInputTokens, estimatedOutputTokens, totalCost);
229
- this.logger.info('Streaming completed', {
230
- model,
231
- estimatedInputTokens,
232
- estimatedOutputTokens,
233
- totalCost: totalCost.toFixed(6)
234
- });
235
- return {
236
- success: true,
237
- content: fullContent,
238
- usage: {
239
- inputTokens: estimatedInputTokens,
240
- outputTokens: estimatedOutputTokens,
241
- totalTokens
242
- },
243
- cost: {
244
- inputCost,
245
- outputCost,
246
- totalCost
247
- },
248
- model,
249
- finishReason
250
- };
251
- }
252
- catch (error) {
253
- this.logger.error('Streaming failed', error);
254
- return {
255
- success: false,
256
- error: error.message
257
- };
258
- }
259
- }
260
- getUsage() {
261
- return { ...this.stats };
262
- }
263
- getRateLimitStatus() {
264
- if (!this.rateLimiter) {
265
- return null;
266
- }
267
- const requestsRemaining = this.rateLimiter.getRemainingRequests();
268
- const resetTime = new Date(Date.now() + this.rateLimiter.getWaitTime());
269
- return {
270
- requestsRemaining,
271
- tokensRemaining: 0,
272
- resetTime
273
- };
274
- }
275
- resetUsage() {
276
- this.stats = {
277
- totalRequests: 0,
278
- totalInputTokens: 0,
279
- totalOutputTokens: 0,
280
- totalTokens: 0,
281
- totalCost: 0,
282
- requestsByModel: {}
283
- };
284
- this.logger.info('Usage statistics reset');
285
- }
286
- updateStats(model, inputTokens, outputTokens, cost) {
287
- this.stats.totalRequests++;
288
- this.stats.totalInputTokens += inputTokens;
289
- this.stats.totalOutputTokens += outputTokens;
290
- this.stats.totalTokens += inputTokens + outputTokens;
291
- this.stats.totalCost += cost;
292
- this.stats.requestsByModel[model] = (this.stats.requestsByModel[model] || 0) + 1;
293
- }
294
- sleep(ms) {
295
- return new Promise((resolve) => setTimeout(resolve, ms));
296
- }
297
- }
298
- exports.OpenAIClient = OpenAIClient;
299
- //# sourceMappingURL=OpenAIClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OpenAIClient.js","sourceRoot":"","sources":["../src/OpenAIClient.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts DELETED
@@ -1,12 +0,0 @@
1
- export type OpenaiClientErrorCode = 'OPENAI_CLIENT_ERROR' | 'INVALID_INPUT' | 'OPERATION_FAILED';
2
- export interface OpenaiClientErrorOptions {
3
- cause?: Error;
4
- code?: OpenaiClientErrorCode;
5
- context?: Record<string, unknown>;
6
- }
7
- export declare class OpenaiClientError extends Error {
8
- readonly code: OpenaiClientErrorCode;
9
- readonly context?: Record<string, unknown>;
10
- constructor(message: string, options?: OpenaiClientErrorOptions);
11
- }
12
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,qBAAqB,GAC7B,qBAAqB,GACrB,eAAe,GACf,kBAAkB,CAAC;AAEvB,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE/B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB;CAShE"}
package/dist/errors.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpenaiClientError = void 0;
4
- class OpenaiClientError extends Error {
5
- code;
6
- context;
7
- constructor(message, options) {
8
- super(message, options?.cause ? { cause: options.cause } : undefined);
9
- this.name = 'OpenaiClientError';
10
- this.code = options?.code ?? 'OPENAI_CLIENT_ERROR';
11
- if (options?.context !== undefined) {
12
- this.context = options.context;
13
- }
14
- Error.captureStackTrace?.(this, this.constructor);
15
- }
16
- }
17
- exports.OpenaiClientError = OpenaiClientError;
18
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAmBA,MAAa,iBAAkB,SAAQ,KAAK;IACjC,IAAI,CAAwB;IAC5B,OAAO,CAA2B;IAE3C,YAAY,OAAe,EAAE,OAAkC;QAC7D,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,qBAAqB,CAAC;QACnD,IAAI,OAAO,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,CAAC;QACD,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;CACF;AAbD,8CAaC"}
package/dist/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export { OpenAIClient } from './OpenAIClient';
2
- export * from './types';
3
- export { OpenaiClientError, type OpenaiClientErrorCode, type OpenaiClientErrorOptions } from './errors';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,KAAK,wBAAwB,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js DELETED
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.OpenaiClientError = exports.OpenAIClient = void 0;
18
- var OpenAIClient_1 = require("./OpenAIClient");
19
- Object.defineProperty(exports, "OpenAIClient", { enumerable: true, get: function () { return OpenAIClient_1.OpenAIClient; } });
20
- __exportStar(require("./types"), exports);
21
- var errors_1 = require("./errors");
22
- Object.defineProperty(exports, "OpenaiClientError", { enumerable: true, get: function () { return errors_1.OpenaiClientError; } });
23
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAQA,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,0CAAwB;AACxB,mCAAwG;AAA/F,2GAAA,iBAAiB,OAAA"}
package/dist/types.d.ts DELETED
@@ -1,67 +0,0 @@
1
- export declare enum OpenAIModel {
2
- GPT_4 = "gpt-4",
3
- GPT_4_TURBO = "gpt-4-turbo-preview",
4
- GPT_4O = "gpt-4o",
5
- GPT_4O_MINI = "gpt-4o-mini",
6
- GPT_35_TURBO = "gpt-3.5-turbo",
7
- GPT_35_TURBO_16K = "gpt-3.5-turbo-16k"
8
- }
9
- export interface ModelPricing {
10
- input: number;
11
- output: number;
12
- }
13
- export declare const MODEL_PRICING: Record<OpenAIModel, ModelPricing>;
14
- export interface OpenAIClientConfig {
15
- apiKey: string;
16
- maxRetries?: number;
17
- rateLimit?: {
18
- requestsPerMinute: number;
19
- tokensPerMinute: number;
20
- } | null;
21
- defaultModel?: OpenAIModel;
22
- enableLogging?: boolean;
23
- organization?: string;
24
- }
25
- export interface CompletionOptions {
26
- model?: OpenAIModel;
27
- maxTokens?: number;
28
- temperature?: number;
29
- topP?: number;
30
- frequencyPenalty?: number;
31
- presencePenalty?: number;
32
- stopSequences?: string[];
33
- systemPrompt?: string;
34
- user?: string;
35
- }
36
- export interface CompletionResult {
37
- success: boolean;
38
- content?: string;
39
- usage?: {
40
- inputTokens: number;
41
- outputTokens: number;
42
- totalTokens: number;
43
- };
44
- cost?: {
45
- inputCost: number;
46
- outputCost: number;
47
- totalCost: number;
48
- };
49
- model?: string;
50
- finishReason?: string;
51
- error?: string;
52
- }
53
- export type StreamChunkCallback = (chunk: string) => void | Promise<void>;
54
- export interface UsageStats {
55
- totalRequests: number;
56
- totalInputTokens: number;
57
- totalOutputTokens: number;
58
- totalTokens: number;
59
- totalCost: number;
60
- requestsByModel: Record<string, number>;
61
- }
62
- export interface RateLimitStatus {
63
- requestsRemaining: number;
64
- tokensRemaining: number;
65
- resetTime: Date;
66
- }
67
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAWA,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,WAAW,wBAAwB;IACnC,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,YAAY,kBAAkB;IAC9B,gBAAgB,sBAAsB;CACvC;AAKD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CAO3D,CAAC;AAKF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QACV,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,IAAI,CAAC;IACT,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAK1E,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAKD,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;CACjB"}
package/dist/types.js DELETED
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MODEL_PRICING = exports.OpenAIModel = void 0;
4
- var OpenAIModel;
5
- (function (OpenAIModel) {
6
- OpenAIModel["GPT_4"] = "gpt-4";
7
- OpenAIModel["GPT_4_TURBO"] = "gpt-4-turbo-preview";
8
- OpenAIModel["GPT_4O"] = "gpt-4o";
9
- OpenAIModel["GPT_4O_MINI"] = "gpt-4o-mini";
10
- OpenAIModel["GPT_35_TURBO"] = "gpt-3.5-turbo";
11
- OpenAIModel["GPT_35_TURBO_16K"] = "gpt-3.5-turbo-16k";
12
- })(OpenAIModel || (exports.OpenAIModel = OpenAIModel = {}));
13
- exports.MODEL_PRICING = {
14
- [OpenAIModel.GPT_4]: { input: 30.0, output: 60.0 },
15
- [OpenAIModel.GPT_4_TURBO]: { input: 10.0, output: 30.0 },
16
- [OpenAIModel.GPT_4O]: { input: 2.5, output: 10.0 },
17
- [OpenAIModel.GPT_4O_MINI]: { input: 0.15, output: 0.6 },
18
- [OpenAIModel.GPT_35_TURBO]: { input: 0.5, output: 1.5 },
19
- [OpenAIModel.GPT_35_TURBO_16K]: { input: 3.0, output: 4.0 }
20
- };
21
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAWA,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,kDAAmC,CAAA;IACnC,gCAAiB,CAAA;IACjB,0CAA2B,CAAA;IAC3B,6CAA8B,CAAA;IAC9B,qDAAsC,CAAA;AACxC,CAAC,EAPW,WAAW,2BAAX,WAAW,QAOtB;AAaY,QAAA,aAAa,GAAsC;IAC9D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAClD,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACxD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IAClD,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IACvD,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACvD,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;CAC5D,CAAC"}