@bernierllc/ai-provider-openai 1.0.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/.eslintrc.js +35 -0
- package/README.md +294 -0
- package/__tests__/OpenAIProvider.test.ts +574 -0
- package/__tests__/error-handling.test.ts +315 -0
- package/__tests__/model-registry.test.ts +270 -0
- package/__tests__/openai-specific.test.ts +333 -0
- package/dist/OpenAIProvider.d.ts +22 -0
- package/dist/OpenAIProvider.d.ts.map +1 -0
- package/dist/OpenAIProvider.js +320 -0
- package/dist/OpenAIProvider.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/models/model-registry.d.ts +8 -0
- package/dist/models/model-registry.d.ts.map +1 -0
- package/dist/models/model-registry.js +147 -0
- package/dist/models/model-registry.js.map +1 -0
- package/dist/types/openai-types.d.ts +28 -0
- package/dist/types/openai-types.d.ts.map +1 -0
- package/dist/types/openai-types.js +3 -0
- package/dist/types/openai-types.js.map +1 -0
- package/dist/utils/error-handling.d.ts +5 -0
- package/dist/utils/error-handling.d.ts.map +1 -0
- package/dist/utils/error-handling.js +67 -0
- package/dist/utils/error-handling.js.map +1 -0
- package/jest.config.cjs +29 -0
- package/package.json +63 -0
- package/src/OpenAIProvider.ts +435 -0
- package/src/index.ts +12 -0
- package/src/models/model-registry.ts +178 -0
- package/src/types/openai-types.ts +51 -0
- package/src/utils/error-handling.ts +101 -0
- package/tsconfig.json +31 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../src/OpenAIProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
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.OpenAIProvider = void 0;
|
|
18
|
+
var OpenAIProvider_1 = require("./OpenAIProvider");
|
|
19
|
+
Object.defineProperty(exports, "OpenAIProvider", { enumerable: true, get: function () { return OpenAIProvider_1.OpenAIProvider; } });
|
|
20
|
+
__exportStar(require("./types/openai-types"), exports);
|
|
21
|
+
__exportStar(require("./models/model-registry"), exports);
|
|
22
|
+
__exportStar(require("./utils/error-handling"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAQA,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,uDAAqC;AACrC,0DAAwC;AACxC,yDAAuC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ModelInfo } from '@bernierllc/ai-provider-core';
|
|
2
|
+
export declare const OPENAI_MODELS: ModelInfo[];
|
|
3
|
+
export declare function getModelInfo(modelId: string): ModelInfo | undefined;
|
|
4
|
+
export declare function getChatModels(): ModelInfo[];
|
|
5
|
+
export declare function getEmbeddingModels(): ModelInfo[];
|
|
6
|
+
export declare function getVisionModels(): ModelInfo[];
|
|
7
|
+
export declare function supportsFunctionCalling(modelId: string): boolean;
|
|
8
|
+
//# sourceMappingURL=model-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../src/models/model-registry.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAMzD,eAAO,MAAM,aAAa,EAAE,SAAS,EAyHpC,CAAC;AAKF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEnE;AAKD,wBAAgB,aAAa,IAAI,SAAS,EAAE,CAI3C;AAKD,wBAAgB,kBAAkB,IAAI,SAAS,EAAE,CAIhD;AAKD,wBAAgB,eAAe,IAAI,SAAS,EAAE,CAI7C;AAKD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGhE"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OPENAI_MODELS = void 0;
|
|
4
|
+
exports.getModelInfo = getModelInfo;
|
|
5
|
+
exports.getChatModels = getChatModels;
|
|
6
|
+
exports.getEmbeddingModels = getEmbeddingModels;
|
|
7
|
+
exports.getVisionModels = getVisionModels;
|
|
8
|
+
exports.supportsFunctionCalling = supportsFunctionCalling;
|
|
9
|
+
exports.OPENAI_MODELS = [
|
|
10
|
+
{
|
|
11
|
+
id: 'gpt-4-turbo',
|
|
12
|
+
name: 'GPT-4 Turbo',
|
|
13
|
+
contextWindow: 128000,
|
|
14
|
+
maxOutputTokens: 4096,
|
|
15
|
+
pricing: {
|
|
16
|
+
inputPricePerToken: 0.01 / 1000,
|
|
17
|
+
outputPricePerToken: 0.03 / 1000,
|
|
18
|
+
currency: 'USD'
|
|
19
|
+
},
|
|
20
|
+
capabilities: ['chat', 'completion', 'function-calling', 'vision']
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 'gpt-4-turbo-preview',
|
|
24
|
+
name: 'GPT-4 Turbo Preview',
|
|
25
|
+
contextWindow: 128000,
|
|
26
|
+
maxOutputTokens: 4096,
|
|
27
|
+
pricing: {
|
|
28
|
+
inputPricePerToken: 0.01 / 1000,
|
|
29
|
+
outputPricePerToken: 0.03 / 1000,
|
|
30
|
+
currency: 'USD'
|
|
31
|
+
},
|
|
32
|
+
capabilities: ['chat', 'completion', 'function-calling']
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 'gpt-4',
|
|
36
|
+
name: 'GPT-4',
|
|
37
|
+
contextWindow: 8192,
|
|
38
|
+
maxOutputTokens: 8192,
|
|
39
|
+
pricing: {
|
|
40
|
+
inputPricePerToken: 0.03 / 1000,
|
|
41
|
+
outputPricePerToken: 0.06 / 1000,
|
|
42
|
+
currency: 'USD'
|
|
43
|
+
},
|
|
44
|
+
capabilities: ['chat', 'completion', 'function-calling']
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: 'gpt-4-32k',
|
|
48
|
+
name: 'GPT-4 32K',
|
|
49
|
+
contextWindow: 32768,
|
|
50
|
+
maxOutputTokens: 32768,
|
|
51
|
+
pricing: {
|
|
52
|
+
inputPricePerToken: 0.06 / 1000,
|
|
53
|
+
outputPricePerToken: 0.12 / 1000,
|
|
54
|
+
currency: 'USD'
|
|
55
|
+
},
|
|
56
|
+
capabilities: ['chat', 'completion', 'function-calling']
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: 'gpt-3.5-turbo',
|
|
60
|
+
name: 'GPT-3.5 Turbo',
|
|
61
|
+
contextWindow: 16385,
|
|
62
|
+
maxOutputTokens: 4096,
|
|
63
|
+
pricing: {
|
|
64
|
+
inputPricePerToken: 0.0005 / 1000,
|
|
65
|
+
outputPricePerToken: 0.0015 / 1000,
|
|
66
|
+
currency: 'USD'
|
|
67
|
+
},
|
|
68
|
+
capabilities: ['chat', 'completion', 'function-calling']
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: 'gpt-3.5-turbo-16k',
|
|
72
|
+
name: 'GPT-3.5 Turbo 16K',
|
|
73
|
+
contextWindow: 16385,
|
|
74
|
+
maxOutputTokens: 16385,
|
|
75
|
+
pricing: {
|
|
76
|
+
inputPricePerToken: 0.003 / 1000,
|
|
77
|
+
outputPricePerToken: 0.004 / 1000,
|
|
78
|
+
currency: 'USD'
|
|
79
|
+
},
|
|
80
|
+
capabilities: ['chat', 'completion', 'function-calling']
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: 'gpt-4-vision-preview',
|
|
84
|
+
name: 'GPT-4 Vision Preview',
|
|
85
|
+
contextWindow: 128000,
|
|
86
|
+
maxOutputTokens: 4096,
|
|
87
|
+
pricing: {
|
|
88
|
+
inputPricePerToken: 0.01 / 1000,
|
|
89
|
+
outputPricePerToken: 0.03 / 1000,
|
|
90
|
+
currency: 'USD'
|
|
91
|
+
},
|
|
92
|
+
capabilities: ['chat', 'completion', 'vision']
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: 'text-embedding-3-small',
|
|
96
|
+
name: 'Text Embedding 3 Small',
|
|
97
|
+
contextWindow: 8191,
|
|
98
|
+
maxOutputTokens: 0,
|
|
99
|
+
pricing: {
|
|
100
|
+
inputPricePerToken: 0.00002 / 1000,
|
|
101
|
+
outputPricePerToken: 0,
|
|
102
|
+
currency: 'USD'
|
|
103
|
+
},
|
|
104
|
+
capabilities: ['embeddings']
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
id: 'text-embedding-3-large',
|
|
108
|
+
name: 'Text Embedding 3 Large',
|
|
109
|
+
contextWindow: 8191,
|
|
110
|
+
maxOutputTokens: 0,
|
|
111
|
+
pricing: {
|
|
112
|
+
inputPricePerToken: 0.00013 / 1000,
|
|
113
|
+
outputPricePerToken: 0,
|
|
114
|
+
currency: 'USD'
|
|
115
|
+
},
|
|
116
|
+
capabilities: ['embeddings']
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
id: 'text-embedding-ada-002',
|
|
120
|
+
name: 'Text Embedding Ada 002',
|
|
121
|
+
contextWindow: 8191,
|
|
122
|
+
maxOutputTokens: 0,
|
|
123
|
+
pricing: {
|
|
124
|
+
inputPricePerToken: 0.0001 / 1000,
|
|
125
|
+
outputPricePerToken: 0,
|
|
126
|
+
currency: 'USD'
|
|
127
|
+
},
|
|
128
|
+
capabilities: ['embeddings']
|
|
129
|
+
}
|
|
130
|
+
];
|
|
131
|
+
function getModelInfo(modelId) {
|
|
132
|
+
return exports.OPENAI_MODELS.find(model => model.id === modelId);
|
|
133
|
+
}
|
|
134
|
+
function getChatModels() {
|
|
135
|
+
return exports.OPENAI_MODELS.filter(model => model.capabilities.includes('chat') || model.capabilities.includes('completion'));
|
|
136
|
+
}
|
|
137
|
+
function getEmbeddingModels() {
|
|
138
|
+
return exports.OPENAI_MODELS.filter(model => model.capabilities.includes('embeddings'));
|
|
139
|
+
}
|
|
140
|
+
function getVisionModels() {
|
|
141
|
+
return exports.OPENAI_MODELS.filter(model => model.capabilities.includes('vision'));
|
|
142
|
+
}
|
|
143
|
+
function supportsFunctionCalling(modelId) {
|
|
144
|
+
const model = getModelInfo(modelId);
|
|
145
|
+
return model?.capabilities.includes('function-calling') ?? false;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=model-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-registry.js","sourceRoot":"","sources":["../../src/models/model-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AIProviderConfig } from '@bernierllc/ai-provider-core';
|
|
2
|
+
export interface OpenAIProviderConfig extends AIProviderConfig {
|
|
3
|
+
providerName: 'openai';
|
|
4
|
+
organizationId?: string;
|
|
5
|
+
baseURL?: string;
|
|
6
|
+
timeout?: number;
|
|
7
|
+
maxRetries?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface OpenAIFunction {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
parameters: {
|
|
13
|
+
type: 'object';
|
|
14
|
+
properties: Record<string, unknown>;
|
|
15
|
+
required?: string[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface OpenAIVisionRequest {
|
|
19
|
+
imageUrl: string;
|
|
20
|
+
prompt: string;
|
|
21
|
+
model?: string;
|
|
22
|
+
maxTokens?: number;
|
|
23
|
+
}
|
|
24
|
+
export interface OpenAIModelPricing {
|
|
25
|
+
inputPrice: number;
|
|
26
|
+
outputPrice: number;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=openai-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-types.d.ts","sourceRoot":"","sources":["../../src/types/openai-types.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKhE,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,YAAY,EAAE,QAAQ,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAKD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-types.js","sourceRoot":"","sources":["../../src/types/openai-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AIProviderError } from '@bernierllc/ai-provider-core';
|
|
2
|
+
export declare function handleOpenAIError(error: unknown): AIProviderError;
|
|
3
|
+
export declare function isRetryableError(error: AIProviderError): boolean;
|
|
4
|
+
export declare function getRetryDelay(error: AIProviderError, attempt: number): number;
|
|
5
|
+
//# sourceMappingURL=error-handling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-handling.d.ts","sourceRoot":"","sources":["../../src/utils/error-handling.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAM/D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CA4BjE;AAiCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAQhE;AAKD,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAY7E"}
|
|
@@ -0,0 +1,67 @@
|
|
|
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.handleOpenAIError = handleOpenAIError;
|
|
7
|
+
exports.isRetryableError = isRetryableError;
|
|
8
|
+
exports.getRetryDelay = getRetryDelay;
|
|
9
|
+
const ai_provider_core_1 = require("@bernierllc/ai-provider-core");
|
|
10
|
+
const openai_1 = __importDefault(require("openai"));
|
|
11
|
+
function handleOpenAIError(error) {
|
|
12
|
+
if (error instanceof openai_1.default.APIError) {
|
|
13
|
+
const status = typeof error.status === 'number' ? error.status : undefined;
|
|
14
|
+
return new ai_provider_core_1.AIProviderError(`OpenAI API Error: ${error.message}`, mapOpenAIErrorCode(status), 'openai', {
|
|
15
|
+
status,
|
|
16
|
+
type: error.type,
|
|
17
|
+
code: error.code
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
if (error instanceof Error) {
|
|
21
|
+
return new ai_provider_core_1.AIProviderError(error.message, 'UNKNOWN_ERROR', 'openai');
|
|
22
|
+
}
|
|
23
|
+
return new ai_provider_core_1.AIProviderError('Unknown error occurred', 'UNKNOWN_ERROR', 'openai');
|
|
24
|
+
}
|
|
25
|
+
function mapOpenAIErrorCode(status) {
|
|
26
|
+
if (!status)
|
|
27
|
+
return 'UNKNOWN_ERROR';
|
|
28
|
+
switch (status) {
|
|
29
|
+
case 400:
|
|
30
|
+
return 'INVALID_REQUEST';
|
|
31
|
+
case 401:
|
|
32
|
+
return 'AUTHENTICATION_ERROR';
|
|
33
|
+
case 403:
|
|
34
|
+
return 'PERMISSION_DENIED';
|
|
35
|
+
case 404:
|
|
36
|
+
return 'NOT_FOUND';
|
|
37
|
+
case 429:
|
|
38
|
+
return 'RATE_LIMIT_ERROR';
|
|
39
|
+
case 500:
|
|
40
|
+
case 502:
|
|
41
|
+
case 503:
|
|
42
|
+
return 'SERVER_ERROR';
|
|
43
|
+
case 504:
|
|
44
|
+
return 'TIMEOUT_ERROR';
|
|
45
|
+
default:
|
|
46
|
+
return 'UNKNOWN_ERROR';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function isRetryableError(error) {
|
|
50
|
+
const retryableCodes = [
|
|
51
|
+
'RATE_LIMIT_ERROR',
|
|
52
|
+
'SERVER_ERROR',
|
|
53
|
+
'TIMEOUT_ERROR',
|
|
54
|
+
'NETWORK_ERROR'
|
|
55
|
+
];
|
|
56
|
+
return retryableCodes.includes(error.code);
|
|
57
|
+
}
|
|
58
|
+
function getRetryDelay(error, attempt) {
|
|
59
|
+
if (error.code === 'RATE_LIMIT_ERROR') {
|
|
60
|
+
return Math.min(Math.pow(2, attempt) * 1000, 60000);
|
|
61
|
+
}
|
|
62
|
+
if (isRetryableError(error)) {
|
|
63
|
+
return Math.min(Math.pow(2, attempt) * 500, 30000);
|
|
64
|
+
}
|
|
65
|
+
return 0;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=error-handling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-handling.js","sourceRoot":"","sources":["../../src/utils/error-handling.ts"],"names":[],"mappings":";;;;;AAcA,8CA4BC;AAiCD,4CAQC;AAKD,sCAYC;AA5FD,mEAA+D;AAC/D,oDAA4B;AAK5B,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,IAAI,KAAK,YAAY,gBAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,OAAO,IAAI,kCAAe,CACxB,qBAAqB,KAAK,CAAC,OAAO,EAAE,EACpC,kBAAkB,CAAC,MAAM,CAAC,EAC1B,QAAQ,EACR;YACE,MAAM;YACN,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CACF,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,IAAI,kCAAe,CACxB,KAAK,CAAC,OAAO,EACb,eAAe,EACf,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,kCAAe,CACxB,wBAAwB,EACxB,eAAe,EACf,QAAQ,CACT,CAAC;AACJ,CAAC;AAKD,SAAS,kBAAkB,CAAC,MAA0B;IACpD,IAAI,CAAC,MAAM;QAAE,OAAO,eAAe,CAAC;IAEpC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG;YACN,OAAO,iBAAiB,CAAC;QAC3B,KAAK,GAAG;YACN,OAAO,sBAAsB,CAAC;QAChC,KAAK,GAAG;YACN,OAAO,mBAAmB,CAAC;QAC7B,KAAK,GAAG;YACN,OAAO,WAAW,CAAC;QACrB,KAAK,GAAG;YACN,OAAO,kBAAkB,CAAC;QAC5B,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG;YACN,OAAO,cAAc,CAAC;QACxB,KAAK,GAAG;YACN,OAAO,eAAe,CAAC;QACzB;YACE,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAKD,SAAgB,gBAAgB,CAAC,KAAsB;IACrD,MAAM,cAAc,GAAG;QACrB,kBAAkB;QAClB,cAAc;QACd,eAAe;QACf,eAAe;KAChB,CAAC;IACF,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAKD,SAAgB,aAAa,CAAC,KAAsB,EAAE,OAAe;IAEnE,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAGD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/jest.config.cjs
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) 2025 Bernier LLC
|
|
3
|
+
|
|
4
|
+
This file is licensed to the client under a limited-use license.
|
|
5
|
+
The client may use and modify this code only within the scope of the project it was delivered for.
|
|
6
|
+
Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
module.exports = {
|
|
10
|
+
preset: 'ts-jest',
|
|
11
|
+
testEnvironment: 'node',
|
|
12
|
+
roots: ['<rootDir>/__tests__'],
|
|
13
|
+
testMatch: ['**/__tests__/**/*.test.ts'],
|
|
14
|
+
collectCoverageFrom: [
|
|
15
|
+
'src/**/*.{ts,tsx}',
|
|
16
|
+
'!src/**/*.d.ts',
|
|
17
|
+
'!src/index.ts'
|
|
18
|
+
],
|
|
19
|
+
coverageThreshold: {
|
|
20
|
+
global: {
|
|
21
|
+
branches: 90,
|
|
22
|
+
functions: 90,
|
|
23
|
+
lines: 90,
|
|
24
|
+
statements: 90
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
coverageDirectory: 'coverage',
|
|
28
|
+
verbose: true
|
|
29
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bernierllc/ai-provider-openai",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "OpenAI API adapter implementing the unified AI provider interface",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"test": "jest --watch",
|
|
10
|
+
"test:run": "jest",
|
|
11
|
+
"test:coverage": "jest --coverage",
|
|
12
|
+
"lint": "eslint src --ext .ts",
|
|
13
|
+
"clean": "rm -rf dist"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"ai",
|
|
17
|
+
"openai",
|
|
18
|
+
"gpt",
|
|
19
|
+
"gpt-4",
|
|
20
|
+
"gpt-3.5",
|
|
21
|
+
"embeddings",
|
|
22
|
+
"moderation",
|
|
23
|
+
"vision",
|
|
24
|
+
"function-calling",
|
|
25
|
+
"provider"
|
|
26
|
+
],
|
|
27
|
+
"author": "Bernier LLC",
|
|
28
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@bernierllc/ai-provider-core": "^1.0.1",
|
|
31
|
+
"@bernierllc/retry-policy": "^0.1.3",
|
|
32
|
+
"@bernierllc/logger": "^1.0.1",
|
|
33
|
+
"openai": "^4.20.0"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@types/jest": "^29.5.0",
|
|
37
|
+
"@types/node": "^20.0.0",
|
|
38
|
+
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
39
|
+
"@typescript-eslint/parser": "^6.0.0",
|
|
40
|
+
"eslint": "^8.50.0",
|
|
41
|
+
"jest": "^29.7.0",
|
|
42
|
+
"ts-jest": "^29.1.0",
|
|
43
|
+
"typescript": "^5.3.0"
|
|
44
|
+
},
|
|
45
|
+
"bernierllc": {
|
|
46
|
+
"category": "core",
|
|
47
|
+
"tags": [
|
|
48
|
+
"ai",
|
|
49
|
+
"openai",
|
|
50
|
+
"provider",
|
|
51
|
+
"gpt",
|
|
52
|
+
"embeddings",
|
|
53
|
+
"moderation",
|
|
54
|
+
"vision",
|
|
55
|
+
"function-calling"
|
|
56
|
+
],
|
|
57
|
+
"integration": {
|
|
58
|
+
"neverhub": "optional",
|
|
59
|
+
"logger": "required",
|
|
60
|
+
"docs-suite": "ready"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|