@bernierllc/openai-client 1.2.5 → 1.4.0
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/dist/OpenAIClient.js +19 -14
- package/dist/OpenAIClient.js.map +1 -1
- package/dist/errors.d.ts +12 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +18 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/OpenAIClient.js
CHANGED
|
@@ -9,10 +9,12 @@ const logger_1 = require("@bernierllc/logger");
|
|
|
9
9
|
const retry_policy_1 = require("@bernierllc/retry-policy");
|
|
10
10
|
const types_1 = require("./types");
|
|
11
11
|
class SimpleRateLimiter {
|
|
12
|
+
maxRequests;
|
|
13
|
+
windowMs;
|
|
14
|
+
requests = [];
|
|
12
15
|
constructor(maxRequests, windowMs) {
|
|
13
16
|
this.maxRequests = maxRequests;
|
|
14
17
|
this.windowMs = windowMs;
|
|
15
|
-
this.requests = [];
|
|
16
18
|
}
|
|
17
19
|
tryAcquire() {
|
|
18
20
|
const now = Date.now();
|
|
@@ -37,16 +39,19 @@ class SimpleRateLimiter {
|
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
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
|
+
};
|
|
40
54
|
constructor(config) {
|
|
41
|
-
this.rateLimiter = null;
|
|
42
|
-
this.stats = {
|
|
43
|
-
totalRequests: 0,
|
|
44
|
-
totalInputTokens: 0,
|
|
45
|
-
totalOutputTokens: 0,
|
|
46
|
-
totalTokens: 0,
|
|
47
|
-
totalCost: 0,
|
|
48
|
-
requestsByModel: {}
|
|
49
|
-
};
|
|
50
55
|
if (!config.apiKey) {
|
|
51
56
|
throw new Error('API key is required');
|
|
52
57
|
}
|
|
@@ -116,8 +121,8 @@ class OpenAIClient {
|
|
|
116
121
|
const outputTokens = response.usage?.completion_tokens || 0;
|
|
117
122
|
const totalTokens = inputTokens + outputTokens;
|
|
118
123
|
const pricing = types_1.MODEL_PRICING[model];
|
|
119
|
-
const inputCost = (inputTokens /
|
|
120
|
-
const outputCost = (outputTokens /
|
|
124
|
+
const inputCost = (inputTokens / 1_000_000) * pricing.input;
|
|
125
|
+
const outputCost = (outputTokens / 1_000_000) * pricing.output;
|
|
121
126
|
const totalCost = inputCost + outputCost;
|
|
122
127
|
this.updateStats(model, inputTokens, outputTokens, totalCost);
|
|
123
128
|
this.logger.info('Completion successful', {
|
|
@@ -217,8 +222,8 @@ class OpenAIClient {
|
|
|
217
222
|
const estimatedOutputTokens = Math.ceil(fullContent.length / 4);
|
|
218
223
|
const totalTokens = estimatedInputTokens + estimatedOutputTokens;
|
|
219
224
|
const pricing = types_1.MODEL_PRICING[model];
|
|
220
|
-
const inputCost = (estimatedInputTokens /
|
|
221
|
-
const outputCost = (estimatedOutputTokens /
|
|
225
|
+
const inputCost = (estimatedInputTokens / 1_000_000) * pricing.input;
|
|
226
|
+
const outputCost = (estimatedOutputTokens / 1_000_000) * pricing.output;
|
|
222
227
|
const totalCost = inputCost + outputCost;
|
|
223
228
|
this.updateStats(model, estimatedInputTokens, estimatedOutputTokens, totalCost);
|
|
224
229
|
this.logger.info('Streaming completed', {
|
package/dist/OpenAIClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIClient.js","sourceRoot":"","sources":["../src/OpenAIClient.ts"],"names":[],"mappings":";;;;;;AAQA,oDAA4B;AAC5B,+CAAwE;AACxE,2DAA4E;AAC5E,mCASiB;AAKjB,MAAM,iBAAiB;
|
|
1
|
+
{"version":3,"file":"OpenAIClient.js","sourceRoot":"","sources":["../src/OpenAIClient.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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"}
|
|
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
CHANGED
|
@@ -14,8 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.OpenAIClient = void 0;
|
|
17
|
+
exports.OpenaiClientError = exports.OpenAIClient = void 0;
|
|
18
18
|
var OpenAIClient_1 = require("./OpenAIClient");
|
|
19
19
|
Object.defineProperty(exports, "OpenAIClient", { enumerable: true, get: function () { return OpenAIClient_1.OpenAIClient; } });
|
|
20
20
|
__exportStar(require("./types"), exports);
|
|
21
|
+
var errors_1 = require("./errors");
|
|
22
|
+
Object.defineProperty(exports, "OpenaiClientError", { enumerable: true, get: function () { return errors_1.OpenaiClientError; } });
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAQA,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,0CAAwB"}
|
|
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/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bernierllc/openai-client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
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",
|
|
7
7
|
"files": [
|
|
8
|
-
"dist",
|
|
8
|
+
"dist/**/*",
|
|
9
9
|
"README.md",
|
|
10
10
|
"LICENSE"
|
|
11
11
|
],
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"openai": "^4.73.0",
|
|
32
|
-
"@bernierllc/
|
|
33
|
-
"@bernierllc/
|
|
32
|
+
"@bernierllc/retry-policy": "0.6.0",
|
|
33
|
+
"@bernierllc/logger": "1.6.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/jest": "^29.5.14",
|