@xbg.solutions/utils-llm-connector 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/lib/index.d.ts +16 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +54 -0
- package/lib/index.js.map +1 -0
- package/lib/llm-connector.d.ts +67 -0
- package/lib/llm-connector.d.ts.map +1 -0
- package/lib/llm-connector.js +206 -0
- package/lib/llm-connector.js.map +1 -0
- package/lib/providers/base.provider.d.ts +51 -0
- package/lib/providers/base.provider.d.ts.map +1 -0
- package/lib/providers/base.provider.js +106 -0
- package/lib/providers/base.provider.js.map +1 -0
- package/lib/providers/claude.provider.d.ts +26 -0
- package/lib/providers/claude.provider.d.ts.map +1 -0
- package/lib/providers/claude.provider.js +180 -0
- package/lib/providers/claude.provider.js.map +1 -0
- package/lib/providers/gemini.provider.d.ts +34 -0
- package/lib/providers/gemini.provider.d.ts.map +1 -0
- package/lib/providers/gemini.provider.js +285 -0
- package/lib/providers/gemini.provider.js.map +1 -0
- package/lib/providers/google-lens.provider.d.ts +58 -0
- package/lib/providers/google-lens.provider.d.ts.map +1 -0
- package/lib/providers/google-lens.provider.js +354 -0
- package/lib/providers/google-lens.provider.js.map +1 -0
- package/lib/providers/index.d.ts +6 -0
- package/lib/providers/index.d.ts.map +1 -0
- package/lib/providers/index.js +16 -0
- package/lib/providers/index.js.map +1 -0
- package/lib/providers/openai.provider.d.ts +30 -0
- package/lib/providers/openai.provider.d.ts.map +1 -0
- package/lib/providers/openai.provider.js +258 -0
- package/lib/providers/openai.provider.js.map +1 -0
- package/lib/providers/providers.types.d.ts +64 -0
- package/lib/providers/providers.types.d.ts.map +1 -0
- package/lib/providers/providers.types.js +3 -0
- package/lib/providers/providers.types.js.map +1 -0
- package/lib/requests.types.d.ts +69 -0
- package/lib/requests.types.d.ts.map +1 -0
- package/lib/requests.types.js +3 -0
- package/lib/requests.types.js.map +1 -0
- package/lib/types.d.ts +7 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +25 -0
- package/lib/types.js.map +1 -0
- package/package.json +30 -0
|
@@ -0,0 +1,354 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.GoogleLensProvider = void 0;
|
|
37
|
+
const base_provider_1 = require("./base.provider");
|
|
38
|
+
/**
|
|
39
|
+
* Google Lens provider implementation using Cloud Vision API
|
|
40
|
+
* Specialized for product identification and visual search
|
|
41
|
+
*/
|
|
42
|
+
class GoogleLensProvider extends base_provider_1.BaseProvider {
|
|
43
|
+
constructor(config) {
|
|
44
|
+
super('google-lens', config);
|
|
45
|
+
}
|
|
46
|
+
async generateText(request) {
|
|
47
|
+
const requestId = this.generateRequestId();
|
|
48
|
+
const processingTime = Date.now();
|
|
49
|
+
return Object.assign(Object.assign({}, this.handleProviderError({ message: 'Google Lens provider does not support text generation' }, requestId, request.model)), { text: '', finishReason: 'error', usage: {
|
|
50
|
+
inputTokens: 0,
|
|
51
|
+
outputTokens: 0,
|
|
52
|
+
totalTokens: 0,
|
|
53
|
+
processingTimeMs: Date.now() - processingTime
|
|
54
|
+
} });
|
|
55
|
+
}
|
|
56
|
+
async analyzeImage(request) {
|
|
57
|
+
const startTime = Date.now();
|
|
58
|
+
const requestId = this.generateRequestId();
|
|
59
|
+
try {
|
|
60
|
+
this.validateRequest(request);
|
|
61
|
+
await this.applyRateLimit();
|
|
62
|
+
// Import Google Cloud Vision SDK dynamically
|
|
63
|
+
const vision = await this.getVisionSDK();
|
|
64
|
+
// Use user API key if provided, otherwise platform credentials
|
|
65
|
+
const client = this.createVisionClient(vision, request.userApiKey);
|
|
66
|
+
// Prepare image request
|
|
67
|
+
const imageRequest = this.buildImageRequest(request);
|
|
68
|
+
const features = this.getAnalysisFeatures(request.analysisType);
|
|
69
|
+
const visionRequest = {
|
|
70
|
+
image: imageRequest,
|
|
71
|
+
features
|
|
72
|
+
};
|
|
73
|
+
const [result] = await client.annotateImage(visionRequest);
|
|
74
|
+
const processingTime = Date.now() - startTime;
|
|
75
|
+
// Google Vision API doesn't use tokens, pricing is per request
|
|
76
|
+
const usage = {
|
|
77
|
+
inputTokens: 0,
|
|
78
|
+
outputTokens: 0,
|
|
79
|
+
totalTokens: 0,
|
|
80
|
+
estimatedCost: this.calculateCost(request.analysisType),
|
|
81
|
+
processingTimeMs: processingTime
|
|
82
|
+
};
|
|
83
|
+
const analysis = this.parseVisionResult(result, request.analysisType);
|
|
84
|
+
return Object.assign(Object.assign({}, this.createBaseResponse(requestId, usage)), { model: request.model, analysis });
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
const processingTime = Date.now() - startTime;
|
|
88
|
+
return Object.assign(Object.assign({}, this.handleProviderError(error, requestId, request.model)), { analysis: {
|
|
89
|
+
description: '',
|
|
90
|
+
detectedObjects: [],
|
|
91
|
+
extractedText: ''
|
|
92
|
+
}, usage: {
|
|
93
|
+
inputTokens: 0,
|
|
94
|
+
outputTokens: 0,
|
|
95
|
+
totalTokens: 0,
|
|
96
|
+
processingTimeMs: processingTime
|
|
97
|
+
} });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
getInfo() {
|
|
101
|
+
return {
|
|
102
|
+
name: 'google-lens',
|
|
103
|
+
displayName: 'Google Lens (Vision API)',
|
|
104
|
+
availableModels: [
|
|
105
|
+
{
|
|
106
|
+
id: 'vision-product-search',
|
|
107
|
+
displayName: 'Vision Product Search',
|
|
108
|
+
contextWindow: 0, // Not applicable for vision
|
|
109
|
+
costPer1kTokens: undefined
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
id: 'vision-object-detection',
|
|
113
|
+
displayName: 'Vision Object Detection',
|
|
114
|
+
contextWindow: 0,
|
|
115
|
+
costPer1kTokens: undefined
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
id: 'vision-text-detection',
|
|
119
|
+
displayName: 'Vision Text Detection (OCR)',
|
|
120
|
+
contextWindow: 0,
|
|
121
|
+
costPer1kTokens: undefined
|
|
122
|
+
}
|
|
123
|
+
],
|
|
124
|
+
supportedFeatures: ['image-analysis']
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
getApiKeyEnvVar() {
|
|
128
|
+
return 'GOOGLE_CLOUD_API_KEY';
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Build the image request object for Vision API
|
|
132
|
+
*/
|
|
133
|
+
buildImageRequest(request) {
|
|
134
|
+
if (request.imageUrl) {
|
|
135
|
+
return { source: { imageUri: request.imageUrl } };
|
|
136
|
+
}
|
|
137
|
+
else if (request.imageBase64) {
|
|
138
|
+
return { content: request.imageBase64 };
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
throw new Error('Either imageUrl or imageBase64 is required');
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Get the appropriate features for analysis type
|
|
146
|
+
*/
|
|
147
|
+
getAnalysisFeatures(analysisType) {
|
|
148
|
+
switch (analysisType) {
|
|
149
|
+
case 'product-identification':
|
|
150
|
+
return [
|
|
151
|
+
{ type: 'PRODUCT_SEARCH', maxResults: 10 },
|
|
152
|
+
{ type: 'OBJECT_LOCALIZATION', maxResults: 20 },
|
|
153
|
+
{ type: 'LABEL_DETECTION', maxResults: 20 },
|
|
154
|
+
{ type: 'TEXT_DETECTION' }
|
|
155
|
+
];
|
|
156
|
+
case 'text-extraction':
|
|
157
|
+
return [
|
|
158
|
+
{ type: 'TEXT_DETECTION' },
|
|
159
|
+
{ type: 'DOCUMENT_TEXT_DETECTION' }
|
|
160
|
+
];
|
|
161
|
+
case 'general-description':
|
|
162
|
+
return [
|
|
163
|
+
{ type: 'LABEL_DETECTION', maxResults: 20 },
|
|
164
|
+
{ type: 'OBJECT_LOCALIZATION', maxResults: 20 },
|
|
165
|
+
{ type: 'IMAGE_PROPERTIES' },
|
|
166
|
+
{ type: 'SAFE_SEARCH_DETECTION' }
|
|
167
|
+
];
|
|
168
|
+
default:
|
|
169
|
+
return [
|
|
170
|
+
{ type: 'LABEL_DETECTION', maxResults: 10 },
|
|
171
|
+
{ type: 'TEXT_DETECTION' }
|
|
172
|
+
];
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Parse Vision API results into our standard format
|
|
177
|
+
*/
|
|
178
|
+
parseVisionResult(result, analysisType) {
|
|
179
|
+
var _a, _b;
|
|
180
|
+
const analysis = {
|
|
181
|
+
description: this.buildDescription(result, analysisType),
|
|
182
|
+
confidence: this.calculateOverallConfidence(result),
|
|
183
|
+
detectedObjects: this.mapDetectedObjects(result.localizedObjectAnnotations || []),
|
|
184
|
+
extractedText: ((_b = (_a = result.textAnnotations) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.description) || ''
|
|
185
|
+
};
|
|
186
|
+
// Add product info for product identification
|
|
187
|
+
if (analysisType === 'product-identification' && result.productSearchResults) {
|
|
188
|
+
analysis.productInfo = this.extractProductInfo(result.productSearchResults);
|
|
189
|
+
}
|
|
190
|
+
return analysis;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Build a description from various Vision API results
|
|
194
|
+
*/
|
|
195
|
+
buildDescription(result, analysisType) {
|
|
196
|
+
var _a, _b, _c, _d, _e, _f;
|
|
197
|
+
const descriptions = [];
|
|
198
|
+
// Add labels
|
|
199
|
+
if (((_a = result.labelAnnotations) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
200
|
+
const topLabels = result.labelAnnotations
|
|
201
|
+
.slice(0, 5)
|
|
202
|
+
.map((label) => label.description)
|
|
203
|
+
.join(', ');
|
|
204
|
+
descriptions.push(`Detected: ${topLabels}`);
|
|
205
|
+
}
|
|
206
|
+
// Add objects
|
|
207
|
+
if (((_b = result.localizedObjectAnnotations) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
208
|
+
const topObjects = result.localizedObjectAnnotations
|
|
209
|
+
.slice(0, 3)
|
|
210
|
+
.map((obj) => obj.name)
|
|
211
|
+
.join(', ');
|
|
212
|
+
descriptions.push(`Objects: ${topObjects}`);
|
|
213
|
+
}
|
|
214
|
+
// Add product information
|
|
215
|
+
if (((_d = (_c = result.productSearchResults) === null || _c === void 0 ? void 0 : _c.results) === null || _d === void 0 ? void 0 : _d.length) > 0) {
|
|
216
|
+
const topProduct = result.productSearchResults.results[0];
|
|
217
|
+
if ((_e = topProduct.product) === null || _e === void 0 ? void 0 : _e.displayName) {
|
|
218
|
+
descriptions.push(`Product: ${topProduct.product.displayName}`);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
// Add text if it's the main focus
|
|
222
|
+
if (analysisType === 'text-extraction' && ((_f = result.textAnnotations) === null || _f === void 0 ? void 0 : _f.length) > 0) {
|
|
223
|
+
const text = result.textAnnotations[0].description;
|
|
224
|
+
if (text && text.length > 0) {
|
|
225
|
+
descriptions.push(`Text found: "${text.substring(0, 100)}${text.length > 100 ? '...' : ''}"`);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return descriptions.length > 0 ? descriptions.join('. ') : 'No significant features detected.';
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Calculate overall confidence from all detections
|
|
232
|
+
*/
|
|
233
|
+
calculateOverallConfidence(result) {
|
|
234
|
+
var _a, _b;
|
|
235
|
+
const confidences = [];
|
|
236
|
+
// Add label confidences
|
|
237
|
+
if (((_a = result.labelAnnotations) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
238
|
+
confidences.push(...result.labelAnnotations.map((label) => label.score || 0));
|
|
239
|
+
}
|
|
240
|
+
// Add object detection confidences
|
|
241
|
+
if (((_b = result.localizedObjectAnnotations) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
242
|
+
confidences.push(...result.localizedObjectAnnotations.map((obj) => obj.score || 0));
|
|
243
|
+
}
|
|
244
|
+
if (confidences.length === 0)
|
|
245
|
+
return 0;
|
|
246
|
+
// Return average of top 3 confidences
|
|
247
|
+
const topConfidences = confidences.sort((a, b) => b - a).slice(0, 3);
|
|
248
|
+
return topConfidences.reduce((sum, conf) => sum + conf, 0) / topConfidences.length;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Map Vision API objects to our standard format
|
|
252
|
+
*/
|
|
253
|
+
mapDetectedObjects(objects) {
|
|
254
|
+
return objects.map(obj => ({
|
|
255
|
+
name: obj.name,
|
|
256
|
+
confidence: obj.score || 0,
|
|
257
|
+
boundingBox: this.mapBoundingBox(obj.boundingPoly)
|
|
258
|
+
}));
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Map Vision API bounding poly to our standard bounding box
|
|
262
|
+
*/
|
|
263
|
+
mapBoundingBox(boundingPoly) {
|
|
264
|
+
var _a;
|
|
265
|
+
if (!((_a = boundingPoly === null || boundingPoly === void 0 ? void 0 : boundingPoly.vertices) === null || _a === void 0 ? void 0 : _a.length))
|
|
266
|
+
return undefined;
|
|
267
|
+
const vertices = boundingPoly.vertices;
|
|
268
|
+
const xs = vertices.map((v) => v.x || 0);
|
|
269
|
+
const ys = vertices.map((v) => v.y || 0);
|
|
270
|
+
const minX = Math.min(...xs);
|
|
271
|
+
const minY = Math.min(...ys);
|
|
272
|
+
const maxX = Math.max(...xs);
|
|
273
|
+
const maxY = Math.max(...ys);
|
|
274
|
+
return {
|
|
275
|
+
x: minX,
|
|
276
|
+
y: minY,
|
|
277
|
+
width: maxX - minX,
|
|
278
|
+
height: maxY - minY
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Extract product information from product search results
|
|
283
|
+
*/
|
|
284
|
+
extractProductInfo(productResults) {
|
|
285
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
286
|
+
if (!((_a = productResults === null || productResults === void 0 ? void 0 : productResults.results) === null || _a === void 0 ? void 0 : _a.length))
|
|
287
|
+
return undefined;
|
|
288
|
+
const topResult = productResults.results[0];
|
|
289
|
+
const product = topResult.product;
|
|
290
|
+
if (!product)
|
|
291
|
+
return undefined;
|
|
292
|
+
return {
|
|
293
|
+
name: product.displayName,
|
|
294
|
+
brand: (_c = (_b = product.productLabels) === null || _b === void 0 ? void 0 : _b.find((label) => { var _a; return (_a = label.key) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('brand'); })) === null || _c === void 0 ? void 0 : _c.value,
|
|
295
|
+
description: product.description,
|
|
296
|
+
price: (_e = (_d = product.productLabels) === null || _d === void 0 ? void 0 : _d.find((label) => { var _a; return (_a = label.key) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('price'); })) === null || _e === void 0 ? void 0 : _e.value,
|
|
297
|
+
availability: (_g = (_f = product.productLabels) === null || _f === void 0 ? void 0 : _f.find((label) => { var _a; return (_a = label.key) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('availability'); })) === null || _g === void 0 ? void 0 : _g.value,
|
|
298
|
+
urls: topResult.image ? [topResult.image.uri] : undefined
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Calculate estimated cost based on analysis type
|
|
303
|
+
*/
|
|
304
|
+
calculateCost(analysisType) {
|
|
305
|
+
// Google Vision API pricing (as of 2024)
|
|
306
|
+
switch (analysisType) {
|
|
307
|
+
case 'product-identification':
|
|
308
|
+
return 0.003; // Product Search is ~$3 per 1000 requests
|
|
309
|
+
case 'text-extraction':
|
|
310
|
+
return 0.0015; // OCR is ~$1.50 per 1000 requests
|
|
311
|
+
case 'general-description':
|
|
312
|
+
return 0.0015; // Label/Object detection is ~$1.50 per 1000 requests
|
|
313
|
+
default:
|
|
314
|
+
return 0.0015;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Create Vision client with appropriate authentication
|
|
319
|
+
*/
|
|
320
|
+
createVisionClient(vision, userApiKey) {
|
|
321
|
+
if (userApiKey) {
|
|
322
|
+
// Use provided API key
|
|
323
|
+
return new vision.ImageAnnotatorClient({
|
|
324
|
+
auth: userApiKey
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
// Use service account or default credentials
|
|
329
|
+
const credentialsPath = process.env.GOOGLE_APPLICATION_CREDENTIALS;
|
|
330
|
+
if (credentialsPath) {
|
|
331
|
+
return new vision.ImageAnnotatorClient({
|
|
332
|
+
keyFilename: credentialsPath
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
// Use default application credentials
|
|
337
|
+
return new vision.ImageAnnotatorClient();
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Dynamically import Google Cloud Vision SDK
|
|
343
|
+
*/
|
|
344
|
+
async getVisionSDK() {
|
|
345
|
+
try {
|
|
346
|
+
return await Promise.resolve().then(() => __importStar(require('@google-cloud/vision')));
|
|
347
|
+
}
|
|
348
|
+
catch (error) {
|
|
349
|
+
throw new Error('Google Cloud Vision SDK not found. Please install @google-cloud/vision: npm install @google-cloud/vision');
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
exports.GoogleLensProvider = GoogleLensProvider;
|
|
354
|
+
//# sourceMappingURL=google-lens.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-lens.provider.js","sourceRoot":"","sources":["../../src/providers/google-lens.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { BaseProvider } from './base.provider';
|
|
2
|
+
export { ClaudeProvider } from './claude.provider';
|
|
3
|
+
export { OpenAIProvider } from './openai.provider';
|
|
4
|
+
export { GeminiProvider } from './gemini.provider';
|
|
5
|
+
export { GoogleLensProvider } from './google-lens.provider';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GoogleLensProvider = exports.GeminiProvider = exports.OpenAIProvider = exports.ClaudeProvider = exports.BaseProvider = void 0;
|
|
4
|
+
// Base provider
|
|
5
|
+
var base_provider_1 = require("./base.provider");
|
|
6
|
+
Object.defineProperty(exports, "BaseProvider", { enumerable: true, get: function () { return base_provider_1.BaseProvider; } });
|
|
7
|
+
// Concrete provider implementations
|
|
8
|
+
var claude_provider_1 = require("./claude.provider");
|
|
9
|
+
Object.defineProperty(exports, "ClaudeProvider", { enumerable: true, get: function () { return claude_provider_1.ClaudeProvider; } });
|
|
10
|
+
var openai_provider_1 = require("./openai.provider");
|
|
11
|
+
Object.defineProperty(exports, "OpenAIProvider", { enumerable: true, get: function () { return openai_provider_1.OpenAIProvider; } });
|
|
12
|
+
var gemini_provider_1 = require("./gemini.provider");
|
|
13
|
+
Object.defineProperty(exports, "GeminiProvider", { enumerable: true, get: function () { return gemini_provider_1.GeminiProvider; } });
|
|
14
|
+
var google_lens_provider_1 = require("./google-lens.provider");
|
|
15
|
+
Object.defineProperty(exports, "GoogleLensProvider", { enumerable: true, get: function () { return google_lens_provider_1.GoogleLensProvider; } });
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":";;;AAAA,gBAAgB;AAChB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAErB,oCAAoC;AACpC,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { BaseProvider } from './base.provider';
|
|
2
|
+
import { TextGenerationRequest, TextGenerationResponse, ImageAnalysisRequest, ImageAnalysisResponse, ProviderInfo, ProviderConfig } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* OpenAI provider implementation
|
|
5
|
+
* Supports GPT models for text generation
|
|
6
|
+
*/
|
|
7
|
+
export declare class OpenAIProvider extends BaseProvider {
|
|
8
|
+
constructor(config: ProviderConfig);
|
|
9
|
+
generateText(request: TextGenerationRequest): Promise<TextGenerationResponse>;
|
|
10
|
+
analyzeImage(request: ImageAnalysisRequest): Promise<ImageAnalysisResponse>;
|
|
11
|
+
getInfo(): ProviderInfo;
|
|
12
|
+
protected getApiKeyEnvVar(): string;
|
|
13
|
+
/**
|
|
14
|
+
* Calculate estimated cost based on usage and model
|
|
15
|
+
*/
|
|
16
|
+
private calculateCost;
|
|
17
|
+
/**
|
|
18
|
+
* Map OpenAI's finish reasons to our standard format
|
|
19
|
+
*/
|
|
20
|
+
private mapFinishReason;
|
|
21
|
+
/**
|
|
22
|
+
* Get default prompt for image analysis type
|
|
23
|
+
*/
|
|
24
|
+
private getDefaultImagePrompt;
|
|
25
|
+
/**
|
|
26
|
+
* Dynamically import OpenAI SDK
|
|
27
|
+
*/
|
|
28
|
+
private getOpenAISDK;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=openai.provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.provider.d.ts","sourceRoot":"","sources":["../../src/providers/openai.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EAErB,YAAY,EACZ,cAAc,EACf,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,qBAAa,cAAe,SAAQ,YAAY;gBAClC,MAAM,EAAE,cAAc;IAI5B,YAAY,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmE7E,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAyFjF,OAAO,IAAI,YAAY;IAkCvB,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;YACW,YAAY;CAQ3B"}
|