@mate-academy/llm-gateway 2.2.3-canary.7 โ 2.3.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/README.md +1 -156
- package/dist/LLMService.typedefs.d.ts +1 -0
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +15 -3
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -1
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js +3 -0
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js.map +1 -1
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js +5 -2
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js.map +1 -1
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.js +3 -0
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.js.map +1 -1
- package/dist/providers/OpenAI/OpenAI.entity.d.ts +1 -0
- package/dist/providers/OpenAI/OpenAI.entity.js +3 -0
- package/dist/providers/OpenAI/OpenAI.entity.js.map +1 -1
- package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +15 -0
- package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -1
- package/dist/providers/OpenAI/services/OpenAICompletion.service.js +3 -0
- package/dist/providers/OpenAI/services/OpenAICompletion.service.js.map +1 -1
- package/dist/providers/OpenAI/services/OpenAISpeechToText.service.js +5 -1
- package/dist/providers/OpenAI/services/OpenAISpeechToText.service.js.map +1 -1
- package/dist/providers/OpenAI/services/OpenAITextToSpeech.service.js +3 -0
- package/dist/providers/OpenAI/services/OpenAITextToSpeech.service.js.map +1 -1
- package/package.json +11 -17
- package/dist/tests/helpers.d.ts +0 -20
- package/dist/tests/helpers.js +0 -1
- package/dist/tests/helpers.js.map +0 -1
- package/dist/tests/integration/LLMAssistance.service.integration.test.d.ts +0 -1
- package/dist/tests/integration/LLMAssistance.service.integration.test.js +0 -1
- package/dist/tests/integration/LLMAssistance.service.integration.test.js.map +0 -1
- package/dist/tests/integration/LLMCompletion.service.integration.test.d.ts +0 -1
- package/dist/tests/integration/LLMCompletion.service.integration.test.js +0 -1
- package/dist/tests/integration/LLMCompletion.service.integration.test.js.map +0 -1
- package/dist/tests/integration/LLMSpeechToText.service.integration.test.d.ts +0 -1
- package/dist/tests/integration/LLMSpeechToText.service.integration.test.js +0 -1
- package/dist/tests/integration/LLMSpeechToText.service.integration.test.js.map +0 -1
- package/dist/tests/integration/LLMTextToSpeech.service.integration.test.d.ts +0 -1
- package/dist/tests/integration/LLMTextToSpeech.service.integration.test.js +0 -1
- package/dist/tests/integration/LLMTextToSpeech.service.integration.test.js.map +0 -1
- package/dist/tests/setup.d.ts +0 -1
- package/dist/tests/setup.js +0 -1
- package/dist/tests/setup.js.map +0 -1
- package/dist/tests/unit/promptBuilder.test.d.ts +0 -1
- package/dist/tests/unit/promptBuilder.test.js +0 -1
- package/dist/tests/unit/promptBuilder.test.js.map +0 -1
package/README.md
CHANGED
|
@@ -255,6 +255,7 @@ const transcription = await speechToTextService.transcribe({
|
|
|
255
255
|
pathToAudio: '/path/to/audio.mp3',
|
|
256
256
|
mimeType: LLMUploadFileMimeTypes.AUDIO_MP3, // Optional, but recommended
|
|
257
257
|
model: preferredModel,
|
|
258
|
+
instructions: 'Transcribe the audio file', // Optional instructions
|
|
258
259
|
});
|
|
259
260
|
|
|
260
261
|
console.log(transcription.text); // Transcribed text
|
|
@@ -762,38 +763,6 @@ npm run test:silent
|
|
|
762
763
|
ENABLE_LOGGING=true npm test
|
|
763
764
|
```
|
|
764
765
|
|
|
765
|
-
### Interactive Prepublish Testing
|
|
766
|
-
|
|
767
|
-
The package includes an interactive test runner that supports both source and distributive testing:
|
|
768
|
-
|
|
769
|
-
```bash
|
|
770
|
-
# Run the interactive prepublish test suite
|
|
771
|
-
npm run prepublish-tests
|
|
772
|
-
```
|
|
773
|
-
|
|
774
|
-
**Features:**
|
|
775
|
-
- **Dual test discovery**: Automatically discovers both source (TypeScript) and distributive (compiled JavaScript) tests
|
|
776
|
-
- **Interactive selection**: Choose which tests to run with visual grouping by type and mode
|
|
777
|
-
- **Smart execution**: Runs source tests first, then distributive tests (if source tests pass)
|
|
778
|
-
- **Automatic preparation**: Builds package and generates distributive tests automatically
|
|
779
|
-
- **Comprehensive coverage**: Ensures both development and production code work identically
|
|
780
|
-
|
|
781
|
-
**Test Organization:**
|
|
782
|
-
- **Source Tests** ๐งช๐: Tests run against TypeScript source code
|
|
783
|
-
- Unit Tests: Fast, isolated component testing
|
|
784
|
-
- Integration Tests: API integration with real services
|
|
785
|
-
- **Distributive Tests** ๐ฆ: Tests run against compiled JavaScript
|
|
786
|
-
- Same test logic, different execution environment
|
|
787
|
-
- Validates the built package works as expected
|
|
788
|
-
|
|
789
|
-
**Usage Flow:**
|
|
790
|
-
1. **Discovery**: Script finds all available tests in both source and distributive modes
|
|
791
|
-
2. **Selection**: Interactive interface lets you choose which tests to run
|
|
792
|
-
3. **Source Execution**: Selected source tests run first using standard Jest config
|
|
793
|
-
4. **Distributive Preparation**: If source tests pass, builds package and generates distributive tests
|
|
794
|
-
5. **Distributive Execution**: Runs distributive tests using specialized Jest configuration
|
|
795
|
-
6. **Results**: Comprehensive reporting of both test modes
|
|
796
|
-
|
|
797
766
|
### Test Configuration
|
|
798
767
|
|
|
799
768
|
Integration tests require API keys for the respective providers:
|
|
@@ -906,130 +875,6 @@ describe('Custom LLM Integration Test', () => {
|
|
|
906
875
|
});
|
|
907
876
|
```
|
|
908
877
|
|
|
909
|
-
## Distributive Testing
|
|
910
|
-
|
|
911
|
-
The LLM Gateway includes advanced distributive testing capabilities that ensure your built package works identically to your source code. This system automatically creates mirror tests that run against the compiled JavaScript distributive.
|
|
912
|
-
|
|
913
|
-
### Overview
|
|
914
|
-
|
|
915
|
-
Distributive testing automatically:
|
|
916
|
-
1. Builds your package (`npm run build`)
|
|
917
|
-
2. Creates mirror test files that import from `dist/` instead of `src/`
|
|
918
|
-
3. Runs tests against the compiled JavaScript distributive
|
|
919
|
-
4. Maintains identical test logic and assertions
|
|
920
|
-
|
|
921
|
-
### Available Commands
|
|
922
|
-
|
|
923
|
-
#### Source Tests (Original)
|
|
924
|
-
```bash
|
|
925
|
-
npm run test # Run all source tests with logging
|
|
926
|
-
npm run test:silent # Run all source tests without logging
|
|
927
|
-
npm run test:integration # Run only integration tests with logging
|
|
928
|
-
```
|
|
929
|
-
|
|
930
|
-
#### Distributive Tests
|
|
931
|
-
```bash
|
|
932
|
-
npm run test:dist # Run all distributive tests with logging
|
|
933
|
-
npm run test:dist:silent # Run all distributive tests without logging
|
|
934
|
-
npm run test:dist:integration # Run only distributive integration tests
|
|
935
|
-
```
|
|
936
|
-
|
|
937
|
-
#### Combined Testing
|
|
938
|
-
```bash
|
|
939
|
-
npm run test:both # Run both source and distributive tests
|
|
940
|
-
```
|
|
941
|
-
|
|
942
|
-
#### Utility Commands
|
|
943
|
-
```bash
|
|
944
|
-
npm run create-dist-tests # Generate distributive test files
|
|
945
|
-
npm run clean # Clean both dist/ and dist-tests/ folders
|
|
946
|
-
```
|
|
947
|
-
|
|
948
|
-
### How It Works
|
|
949
|
-
|
|
950
|
-
#### 1. Automatic Test Generation
|
|
951
|
-
The `scripts/create-dist-tests.js` script:
|
|
952
|
-
- Scans `src/tests/` for all `*.test.ts` files
|
|
953
|
-
- Creates mirror copies in `dist-tests/`
|
|
954
|
-
- Transforms imports from `@/...` to `../../dist/...`
|
|
955
|
-
- Generates `helpers.ts` from source helpers with updated imports
|
|
956
|
-
- Copies the entire `assets/` folder with test files
|
|
957
|
-
|
|
958
|
-
#### 2. Import Transformation
|
|
959
|
-
**Original source test:**
|
|
960
|
-
```typescript
|
|
961
|
-
import { LLMServiceFactory } from '@/index';
|
|
962
|
-
import { resolveTestConfig } from '@/tests/helpers';
|
|
963
|
-
```
|
|
964
|
-
|
|
965
|
-
**Generated distributive test:**
|
|
966
|
-
```typescript
|
|
967
|
-
import { LLMServiceFactory } from '../../dist/index';
|
|
968
|
-
import { resolveTestConfig } from '../helpers';
|
|
969
|
-
```
|
|
970
|
-
|
|
971
|
-
#### 3. Logging Differentiation
|
|
972
|
-
Distributive tests are clearly marked in logs:
|
|
973
|
-
- Source tests: `[INFO] message`
|
|
974
|
-
- Distributive tests: `[INFO][DIST] message`
|
|
975
|
-
|
|
976
|
-
### File Structure
|
|
977
|
-
|
|
978
|
-
```
|
|
979
|
-
src/tests/
|
|
980
|
-
โโโ helpers.ts # Source test helpers
|
|
981
|
-
โโโ setup.ts # Test setup
|
|
982
|
-
โโโ assets/ # Test assets (audio files, etc.)
|
|
983
|
-
โ โโโ stt.mp3
|
|
984
|
-
โ โโโ stt.wav
|
|
985
|
-
โ โโโ ...
|
|
986
|
-
โโโ unit/
|
|
987
|
-
โโโ integration/
|
|
988
|
-
|
|
989
|
-
dist/ # Built package (auto-generated)
|
|
990
|
-
|
|
991
|
-
dist-tests/ # Distributive tests (auto-generated)
|
|
992
|
-
โโโ helpers.ts # Generated from src/tests/helpers.ts
|
|
993
|
-
โโโ setup.ts # Copied from src/tests/setup.ts
|
|
994
|
-
โโโ assets/ # Copied from src/tests/assets/
|
|
995
|
-
โโโ unit/
|
|
996
|
-
โโโ integration/
|
|
997
|
-
```
|
|
998
|
-
|
|
999
|
-
### Key Benefits
|
|
1000
|
-
|
|
1001
|
-
1. **Confidence in Distribution**: Ensures your built package works exactly like your source
|
|
1002
|
-
2. **CI/CD Integration**: Can be run as part of your build pipeline
|
|
1003
|
-
3. **Debugging Aid**: Helps identify build-time issues vs runtime issues
|
|
1004
|
-
4. **Zero Maintenance**: Tests are auto-generated from source tests
|
|
1005
|
-
|
|
1006
|
-
### Usage Examples
|
|
1007
|
-
|
|
1008
|
-
#### Test Everything Before Publishing
|
|
1009
|
-
```bash
|
|
1010
|
-
npm run test:both # Verify both source and distributive work
|
|
1011
|
-
npm run prepublishOnly # Includes distributive testing
|
|
1012
|
-
```
|
|
1013
|
-
|
|
1014
|
-
#### Debug Distribution Issues
|
|
1015
|
-
```bash
|
|
1016
|
-
npm run test:dist # Test only the built distributive
|
|
1017
|
-
```
|
|
1018
|
-
|
|
1019
|
-
#### Integration with CI/CD
|
|
1020
|
-
```bash
|
|
1021
|
-
# In your CI pipeline
|
|
1022
|
-
npm run build
|
|
1023
|
-
npm run test:both # Test both source and dist
|
|
1024
|
-
```
|
|
1025
|
-
|
|
1026
|
-
### Notes
|
|
1027
|
-
|
|
1028
|
-
- Distributive tests use a relaxed TypeScript configuration to handle type differences between source and compiled code
|
|
1029
|
-
- Integration tests may require credentials (see environment variables above)
|
|
1030
|
-
- Test assets are automatically copied to `dist-tests/`
|
|
1031
|
-
- The `dist-tests/` folder is gitignored and cleaned automatically
|
|
1032
|
-
|
|
1033
878
|
## Developer Guide: Adding a New Provider
|
|
1034
879
|
|
|
1035
880
|
To add support for a new LLM provider, follow these steps:
|
|
@@ -364,6 +364,7 @@ export interface LLMTranscribeOptions<Provider extends LLMProviders> extends LLM
|
|
|
364
364
|
pathToAudio: string;
|
|
365
365
|
mimeType?: LLMAudioMimeType;
|
|
366
366
|
model: LLMModel<Provider>;
|
|
367
|
+
instructions?: string;
|
|
367
368
|
}
|
|
368
369
|
/**
|
|
369
370
|
* Result type for LLM transcription requests.
|
|
@@ -32,6 +32,7 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
|
|
|
32
32
|
if (existingFile) {
|
|
33
33
|
return existingFile;
|
|
34
34
|
}
|
|
35
|
+
abortSignal?.throwIfAborted();
|
|
35
36
|
const uploadResult = await this.instance.files.upload({
|
|
36
37
|
file: path,
|
|
37
38
|
config: {
|
|
@@ -40,6 +41,7 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
|
|
|
40
41
|
abortSignal,
|
|
41
42
|
},
|
|
42
43
|
});
|
|
44
|
+
abortSignal?.throwIfAborted();
|
|
43
45
|
if (!uploadResult.name) {
|
|
44
46
|
throw new Error('Upload result did not return a name');
|
|
45
47
|
}
|
|
@@ -55,6 +57,7 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
|
|
|
55
57
|
fileId: uploadResult.name,
|
|
56
58
|
path: uploadResult.uri,
|
|
57
59
|
};
|
|
60
|
+
abortSignal?.throwIfAborted();
|
|
58
61
|
this.uploadedFiles.set(path, uploadedFile);
|
|
59
62
|
return uploadedFile;
|
|
60
63
|
}
|
|
@@ -77,10 +80,12 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
|
|
|
77
80
|
async createFileStorage(options) {
|
|
78
81
|
const { uploadedFiles, model, instructions, abortSignal, } = options;
|
|
79
82
|
try {
|
|
83
|
+
abortSignal?.throwIfAborted();
|
|
80
84
|
const parts = GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.getFileDataParts(uploadedFiles);
|
|
81
85
|
const countTokensFn = GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity
|
|
82
86
|
.getCountTokensFn(this.instance);
|
|
83
87
|
const tokenCount = await countTokensFn(parts, model);
|
|
88
|
+
abortSignal?.throwIfAborted();
|
|
84
89
|
if (tokenCount < GoogleGenerativeAI_constants_1.MIN_CACHE_CONTENT_LENGTH) {
|
|
85
90
|
/**
|
|
86
91
|
* Note: For small files that can't be cached, store them in uncachedFileStorages
|
|
@@ -95,6 +100,7 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
|
|
|
95
100
|
tokenCount,
|
|
96
101
|
minRequired: GoogleGenerativeAI_constants_1.MIN_CACHE_CONTENT_LENGTH,
|
|
97
102
|
});
|
|
103
|
+
abortSignal?.throwIfAborted();
|
|
98
104
|
return {
|
|
99
105
|
storageId,
|
|
100
106
|
};
|
|
@@ -113,12 +119,14 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
|
|
|
113
119
|
abortSignal,
|
|
114
120
|
},
|
|
115
121
|
});
|
|
122
|
+
abortSignal?.throwIfAborted();
|
|
116
123
|
if (!cacheResult.name) {
|
|
117
124
|
throw new Error('Cache result did not return a name');
|
|
118
125
|
}
|
|
119
126
|
if (abortSignal?.aborted) {
|
|
120
127
|
throw new Error('File storage creation aborted');
|
|
121
128
|
}
|
|
129
|
+
abortSignal?.throwIfAborted();
|
|
122
130
|
this.cachedContent.set(cacheResult.name, cacheResult);
|
|
123
131
|
return {
|
|
124
132
|
storageId: cacheResult.name,
|
|
@@ -157,9 +165,11 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
|
|
|
157
165
|
const uncachedFiles = storageId
|
|
158
166
|
? this.uncachedFileStorages.get(storageId)
|
|
159
167
|
: undefined;
|
|
168
|
+
abortSignal?.throwIfAborted();
|
|
160
169
|
const history = providedHistory
|
|
161
170
|
? await Promise.all(providedHistory.map((message) => (GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.getContent(message, this.instance, this.logger))))
|
|
162
171
|
: [];
|
|
172
|
+
abortSignal?.throwIfAborted();
|
|
163
173
|
if (!cachedContent && files && files.length > 0) {
|
|
164
174
|
const fileParts = GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.getFileDataParts(files);
|
|
165
175
|
history.push({
|
|
@@ -187,6 +197,7 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
|
|
|
187
197
|
...(cachedContent && { cachedContent: cachedContent.name }),
|
|
188
198
|
},
|
|
189
199
|
});
|
|
200
|
+
abortSignal?.throwIfAborted();
|
|
190
201
|
const chatId = (0, uuid_1.v4)();
|
|
191
202
|
this.chatSessions.set(chatId, chatSession);
|
|
192
203
|
return Promise.resolve({ chatId });
|
|
@@ -208,9 +219,7 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
|
|
|
208
219
|
createAssistant(options) {
|
|
209
220
|
const { abortSignal, } = options;
|
|
210
221
|
try {
|
|
211
|
-
|
|
212
|
-
throw new Error('Assistant creation aborted');
|
|
213
|
-
}
|
|
222
|
+
abortSignal?.throwIfAborted();
|
|
214
223
|
// Google Generative AI does not have an assistant concept at the moment
|
|
215
224
|
return Promise.resolve({
|
|
216
225
|
assistantId: '',
|
|
@@ -237,7 +246,9 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
|
|
|
237
246
|
if (!chatSession) {
|
|
238
247
|
throw new Error('Chat session not found');
|
|
239
248
|
}
|
|
249
|
+
abortSignal?.throwIfAborted();
|
|
240
250
|
const messageContent = await GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.getContent(message, this.instance, this.logger);
|
|
251
|
+
abortSignal?.throwIfAborted();
|
|
241
252
|
if (!messageContent.parts) {
|
|
242
253
|
return {
|
|
243
254
|
text: '',
|
|
@@ -249,6 +260,7 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
|
|
|
249
260
|
abortSignal,
|
|
250
261
|
},
|
|
251
262
|
});
|
|
263
|
+
abortSignal?.throwIfAborted();
|
|
252
264
|
return {
|
|
253
265
|
text: chatResponse.text ?? '',
|
|
254
266
|
};
|
package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGenerativeAIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GoogleGenerativeAIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ class GoogleGenerativeAICompletionService extends services_1.LLMCompletionServic
|
|
|
23
23
|
const { model, message, history = [], instructions, abortSignal, } = options;
|
|
24
24
|
const countTokensFn = GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity
|
|
25
25
|
.getCountTokensFn(this.instance);
|
|
26
|
+
abortSignal?.throwIfAborted();
|
|
26
27
|
const combinedMessages = await GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.combineMessagesWithLimit({
|
|
27
28
|
history,
|
|
28
29
|
message,
|
|
@@ -31,12 +32,14 @@ class GoogleGenerativeAICompletionService extends services_1.LLMCompletionServic
|
|
|
31
32
|
instance: this.instance,
|
|
32
33
|
logger: this.logger,
|
|
33
34
|
});
|
|
35
|
+
abortSignal?.throwIfAborted();
|
|
34
36
|
const result = await this.instance.models.generateContent(GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.getContentParameters({
|
|
35
37
|
model,
|
|
36
38
|
messages: combinedMessages,
|
|
37
39
|
instructions,
|
|
38
40
|
abortSignal,
|
|
39
41
|
}));
|
|
42
|
+
abortSignal?.throwIfAborted();
|
|
40
43
|
return {
|
|
41
44
|
text: result.text ?? '',
|
|
42
45
|
};
|
package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGenerativeAICompletion.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.ts"],"names":[],"mappings":";;;AACA,yCAA4C;AAC5C,+DAK+B;AAC/B,yCAEoB;AACpB,wGAAoG;AAEpG,MAAa,mCACX,SAAQ,+BAAqD;IAC7D,SAAS,GAAuB,IAAI,CAAC;IAErC,YACE,MAAc,EACd,OAA4D;QAE5D,KAAK,CAAC,kCAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,mBAAW,CAAC;gBAC/B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAoD;QAEpD,IAAI,CAAC;YACH,MAAM,EACJ,KAAK,EACL,OAAO,EACP,OAAO,GAAG,EAAE,EACZ,YAAY,EACZ,WAAW,GACZ,GAAG,OAAO,CAAC;YAEZ,MAAM,aAAa,GAAG,oDAAwB;iBAC3C,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEnC,MAAM,gBAAgB,GAAG,MAAM,oDAAwB,CAAC,wBAAwB,CAAC;gBAC/E,OAAO;gBACP,OAAO;gBACP,KAAK;gBACL,aAAa;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CACvD,oDAAwB,CAAC,oBAAoB,CAAC;gBAC5C,KAAK;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,YAAY;gBACZ,WAAW;aACZ,CAAC,CACH,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;aACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;iBACR,KAAK,CAAC,aAAa,CAAC;iBACpB,KAAK,CAAC,uBAAuB,EAAE;gBAC9B,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YAEL,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"GoogleGenerativeAICompletion.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.ts"],"names":[],"mappings":";;;AACA,yCAA4C;AAC5C,+DAK+B;AAC/B,yCAEoB;AACpB,wGAAoG;AAEpG,MAAa,mCACX,SAAQ,+BAAqD;IAC7D,SAAS,GAAuB,IAAI,CAAC;IAErC,YACE,MAAc,EACd,OAA4D;QAE5D,KAAK,CAAC,kCAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,mBAAW,CAAC;gBAC/B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAoD;QAEpD,IAAI,CAAC;YACH,MAAM,EACJ,KAAK,EACL,OAAO,EACP,OAAO,GAAG,EAAE,EACZ,YAAY,EACZ,WAAW,GACZ,GAAG,OAAO,CAAC;YAEZ,MAAM,aAAa,GAAG,oDAAwB;iBAC3C,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEnC,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,gBAAgB,GAAG,MAAM,oDAAwB,CAAC,wBAAwB,CAAC;gBAC/E,OAAO;gBACP,OAAO;gBACP,KAAK;gBACL,aAAa;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CACvD,oDAAwB,CAAC,oBAAoB,CAAC;gBAC5C,KAAK;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,YAAY;gBACZ,WAAW;aACZ,CAAC,CACH,CAAC;YAEF,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;aACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;iBACR,KAAK,CAAC,aAAa,CAAC;iBACpB,KAAK,CAAC,uBAAuB,EAAE;gBAC9B,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YAEL,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AA1ED,kFA0EC"}
|
package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js
CHANGED
|
@@ -25,7 +25,7 @@ class GoogleGenerativeAISpeechToTextService extends services_1.LLMSpeechToTextSe
|
|
|
25
25
|
}
|
|
26
26
|
async transcribe(options) {
|
|
27
27
|
try {
|
|
28
|
-
const { model, pathToAudio, mimeType, abortSignal, } = options;
|
|
28
|
+
const { model, pathToAudio, mimeType, instructions, abortSignal, } = options;
|
|
29
29
|
const { maxFileSize, supportedMimeTypes, } = GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.transcribeLimits;
|
|
30
30
|
const fileSize = (0, fs_1.statSync)(pathToAudio).size;
|
|
31
31
|
if (fileSize > maxFileSize) {
|
|
@@ -35,6 +35,7 @@ class GoogleGenerativeAISpeechToTextService extends services_1.LLMSpeechToTextSe
|
|
|
35
35
|
if (!resolvedMimeType || !supportedMimeTypes.includes(resolvedMimeType)) {
|
|
36
36
|
throw new Error(`Unsupported audio file type: ${resolvedMimeType}. Supported types are: ${supportedMimeTypes.join(', ')}`);
|
|
37
37
|
}
|
|
38
|
+
abortSignal?.throwIfAborted();
|
|
38
39
|
const audioFile = await this.instance.files.upload({
|
|
39
40
|
file: pathToAudio,
|
|
40
41
|
config: {
|
|
@@ -42,6 +43,7 @@ class GoogleGenerativeAISpeechToTextService extends services_1.LLMSpeechToTextSe
|
|
|
42
43
|
abortSignal,
|
|
43
44
|
},
|
|
44
45
|
});
|
|
46
|
+
abortSignal?.throwIfAborted();
|
|
45
47
|
if (!audioFile || !audioFile.uri || !audioFile.mimeType) {
|
|
46
48
|
throw new Error(`Failed to upload audio file, response: ${JSON.stringify(audioFile)}`);
|
|
47
49
|
}
|
|
@@ -49,13 +51,14 @@ class GoogleGenerativeAISpeechToTextService extends services_1.LLMSpeechToTextSe
|
|
|
49
51
|
model: model.name,
|
|
50
52
|
contents: (0, genai_1.createUserContent)([
|
|
51
53
|
(0, genai_1.createPartFromUri)(audioFile.uri, audioFile.mimeType),
|
|
52
|
-
GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.transcribeInstructions,
|
|
54
|
+
instructions || GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.transcribeInstructions,
|
|
53
55
|
]),
|
|
54
56
|
config: {
|
|
55
57
|
...model.config,
|
|
56
58
|
abortSignal,
|
|
57
59
|
},
|
|
58
60
|
});
|
|
61
|
+
abortSignal?.throwIfAborted();
|
|
59
62
|
return {
|
|
60
63
|
text: response.text ?? '',
|
|
61
64
|
};
|
package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGenerativeAISpeechToText.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.ts"],"names":[],"mappings":";;;;;;AAAA,2BAA8B;AAE9B,yCAIuB;AACvB,+DAK+B;AAC/B,yCAEoB;AACpB,wGAAoG;AACpG,4DAA8B;AAE9B,MAAa,qCACX,SAAQ,iCAAuD;IAC/D,SAAS,GAAuB,IAAI,CAAC;IAErC,YACE,MAAc,EACd,OAA4D;QAE5D,KAAK,CAAC,kCAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,mBAAW,CAAC;gBAC/B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,OAAmD;QAEnD,IAAI,CAAC;YACH,MAAM,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,WAAW,GACZ,GAAG,OAAO,CAAC;YAEZ,MAAM,EACJ,WAAW,EACX,kBAAkB,GACnB,GAAG,oDAAwB,CAAC,gBAAgB,CAAC;YAE9C,MAAM,QAAQ,GAAG,IAAA,aAAQ,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAE5C,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,kCAAkC,WAAW,QAAQ,CACtD,CAAC;YACJ,CAAC;YAED,MAAM,gBAAgB,GAAG,QAAQ,IAAI,oBAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAE9D,IAAI,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAuB,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,KAAK,CACb,gCAAgC,gBAAgB,0BAA0B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1G,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBACjD,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,WAAW;iBACZ;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;gBAC1D,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,QAAQ,EAAE,IAAA,yBAAiB,EAAC;oBAC1B,IAAA,yBAAiB,EAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC;oBACpD,oDAAwB,CAAC,sBAAsB;
|
|
1
|
+
{"version":3,"file":"GoogleGenerativeAISpeechToText.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.ts"],"names":[],"mappings":"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"}
|
package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.js
CHANGED
|
@@ -19,6 +19,7 @@ class GoogleGenerativeAITextToSpeechService extends services_1.LLMTextToSpeechSe
|
|
|
19
19
|
try {
|
|
20
20
|
const { text, model, instructions, speechOptions, abortSignal, } = options;
|
|
21
21
|
const contents = `${instructions ?? ''} <text_input>${text}</text_input>`;
|
|
22
|
+
abortSignal?.throwIfAborted();
|
|
22
23
|
const audioResponse = await this.instance.models.generateContent({
|
|
23
24
|
model: model.name,
|
|
24
25
|
contents,
|
|
@@ -29,11 +30,13 @@ class GoogleGenerativeAITextToSpeechService extends services_1.LLMTextToSpeechSe
|
|
|
29
30
|
abortSignal,
|
|
30
31
|
},
|
|
31
32
|
});
|
|
33
|
+
abortSignal?.throwIfAborted();
|
|
32
34
|
const data = audioResponse.candidates?.[0]?.content?.parts?.[0]?.inlineData?.data;
|
|
33
35
|
if (!data) {
|
|
34
36
|
throw new Error('No audio data received from the model');
|
|
35
37
|
}
|
|
36
38
|
const audioBuffer = Buffer.from(data, 'base64');
|
|
39
|
+
abortSignal?.throwIfAborted();
|
|
37
40
|
return {
|
|
38
41
|
audio: audioBuffer,
|
|
39
42
|
mimeType: LLMService_typedefs_1.LLMUploadFileMimeTypes.AUDIO_WAV,
|
package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGenerativeAITextToSpeech.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.ts"],"names":[],"mappings":";;;AACA,yCAA4C;AAC5C,+DAM+B;AAC/B,yCAAoD;AAEpD,MAAa,qCACX,SAAQ,iCAAuD;IAC/D,SAAS,GAAuB,IAAI,CAAC;IAErC,YACE,MAAc,EACd,OAA4D;QAE5D,KAAK,CAAC,kCAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,mBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAqD;QAErD,IAAI,CAAC;YACH,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,GAAG,OAAO,CAAC;YAEZ,MAAM,QAAQ,GAAG,GAAG,YAAY,IAAI,EAAE,gBAAgB,IAAI,eAAe,CAAC;YAE1E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;gBAC/D,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,QAAQ;gBACR,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;oBACf,kBAAkB,EAAE,CAAC,OAAO,CAAC;oBAC7B,YAAY,EAAE,aAAa,EAAE,YAAY;oBACzC,WAAW;iBACZ;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC;YAElF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAEhD,OAAO;gBACL,KAAK,EAAE,WAAW;gBAClB,QAAQ,EAAE,4CAAsB,CAAC,SAAS;aAC3C,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;iBACR,KAAK,CAAC,cAAc,CAAC;iBACrB,KAAK,CAAC,uBAAuB,EAAE;gBAC9B,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YAEL,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"GoogleGenerativeAITextToSpeech.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.ts"],"names":[],"mappings":";;;AACA,yCAA4C;AAC5C,+DAM+B;AAC/B,yCAAoD;AAEpD,MAAa,qCACX,SAAQ,iCAAuD;IAC/D,SAAS,GAAuB,IAAI,CAAC;IAErC,YACE,MAAc,EACd,OAA4D;QAE5D,KAAK,CAAC,kCAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,mBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAqD;QAErD,IAAI,CAAC;YACH,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,GAAG,OAAO,CAAC;YAEZ,MAAM,QAAQ,GAAG,GAAG,YAAY,IAAI,EAAE,gBAAgB,IAAI,eAAe,CAAC;YAE1E,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;gBAC/D,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,QAAQ;gBACR,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;oBACf,kBAAkB,EAAE,CAAC,OAAO,CAAC;oBAC7B,YAAY,EAAE,aAAa,EAAE,YAAY;oBACzC,WAAW;iBACZ;aACF,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC;YAElF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAEhD,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,OAAO;gBACL,KAAK,EAAE,WAAW;gBAClB,QAAQ,EAAE,4CAAsB,CAAC,SAAS;aAC3C,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;iBACR,KAAK,CAAC,cAAc,CAAC;iBACrB,KAAK,CAAC,uBAAuB,EAAE;gBAC9B,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YAEL,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AA1ED,sFA0EC"}
|
|
@@ -11,4 +11,5 @@ export declare class OpenAIEntity {
|
|
|
11
11
|
static getAssistanceContentParameters(content: LLMAssistanceMessageContent[]): MessageContentPartParam[];
|
|
12
12
|
static combineMessagesWithLimit({ modelContext, history, message, model, countTokensFn, }: CombineMessagesOptions<LLMProviders.OpenAI, LLMCountTokensFunction<LLMProviders.OpenAI, LLMCompletionsMessageContent[]>>): Promise<LLMCompletionMessage[]>;
|
|
13
13
|
static get transcribeLimits(): LLMFileLimits;
|
|
14
|
+
static get transcribeInstructions(): string;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAI.entity.js","sourceRoot":"","sources":["../../../src/providers/OpenAI/OpenAI.entity.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"OpenAI.entity.js","sourceRoot":"","sources":["../../../src/providers/OpenAI/OpenAI.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,9 +22,11 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
22
22
|
async uploadFile(fileOptions) {
|
|
23
23
|
try {
|
|
24
24
|
const { path, abortSignal } = fileOptions;
|
|
25
|
+
abortSignal?.throwIfAborted();
|
|
25
26
|
const exstingFileId = this.uploadedFiles.get(path);
|
|
26
27
|
if (exstingFileId) {
|
|
27
28
|
const storedFile = await this.instance.files.retrieve(exstingFileId);
|
|
29
|
+
abortSignal?.throwIfAborted();
|
|
28
30
|
if (storedFile.id) {
|
|
29
31
|
return {
|
|
30
32
|
name: fileOptions.name,
|
|
@@ -35,13 +37,16 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
39
|
const readableStream = (0, fs_1.createReadStream)(path, { signal: abortSignal });
|
|
40
|
+
abortSignal?.throwIfAborted();
|
|
38
41
|
const uploadedFile = await this.instance.files.create({
|
|
39
42
|
purpose: 'assistants',
|
|
40
43
|
file: readableStream,
|
|
41
44
|
}, {
|
|
42
45
|
signal: abortSignal,
|
|
43
46
|
});
|
|
47
|
+
abortSignal?.throwIfAborted();
|
|
44
48
|
await this.instance.files.waitForProcessing(uploadedFile.id);
|
|
49
|
+
abortSignal?.throwIfAborted();
|
|
45
50
|
this.uploadedFiles.set(path, uploadedFile.id);
|
|
46
51
|
return {
|
|
47
52
|
...fileOptions,
|
|
@@ -73,8 +78,10 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
73
78
|
}, {
|
|
74
79
|
signal: abortSignal,
|
|
75
80
|
});
|
|
81
|
+
abortSignal?.throwIfAborted();
|
|
76
82
|
await this.instance.vectorStores.fileBatches
|
|
77
83
|
.createAndPoll(vectorStore.id, { file_ids: uploadedFiles.map(({ fileId }) => fileId) });
|
|
84
|
+
abortSignal?.throwIfAborted();
|
|
78
85
|
return {
|
|
79
86
|
storageId: vectorStore.id,
|
|
80
87
|
};
|
|
@@ -95,6 +102,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
95
102
|
async createChat(options) {
|
|
96
103
|
try {
|
|
97
104
|
const { storageId, history = [], files, abortSignal, } = options;
|
|
105
|
+
abortSignal?.throwIfAborted();
|
|
98
106
|
const fileSearchOptions = storageId
|
|
99
107
|
? {
|
|
100
108
|
tool_resources: {
|
|
@@ -127,6 +135,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
127
135
|
}, {
|
|
128
136
|
signal: abortSignal,
|
|
129
137
|
});
|
|
138
|
+
abortSignal?.throwIfAborted();
|
|
130
139
|
return {
|
|
131
140
|
chatId: thread.id,
|
|
132
141
|
};
|
|
@@ -147,6 +156,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
147
156
|
async createAssistant(options) {
|
|
148
157
|
try {
|
|
149
158
|
const { model, instructions, storageIds, name, abortSignal, } = options;
|
|
159
|
+
abortSignal?.throwIfAborted();
|
|
150
160
|
const fileSearchOptions = storageIds?.length
|
|
151
161
|
? {
|
|
152
162
|
tools: [
|
|
@@ -171,6 +181,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
171
181
|
}, {
|
|
172
182
|
signal: abortSignal,
|
|
173
183
|
});
|
|
184
|
+
abortSignal?.throwIfAborted();
|
|
174
185
|
return {
|
|
175
186
|
assistantId: assistant.id,
|
|
176
187
|
};
|
|
@@ -191,6 +202,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
191
202
|
async assistInChat(options) {
|
|
192
203
|
try {
|
|
193
204
|
const { message, chatId, assistantId, storageId, abortSignal, } = options;
|
|
205
|
+
abortSignal?.throwIfAborted();
|
|
194
206
|
const { attachments, content, role, } = message;
|
|
195
207
|
const messageContent = [];
|
|
196
208
|
if (attachments) {
|
|
@@ -226,6 +238,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
226
238
|
const hasTextAttachments = attachments
|
|
227
239
|
&& attachments.some(this.isNotImageFile);
|
|
228
240
|
await this.instance.beta.threads.messages.create(chatId, threadMessageData, { signal: abortSignal });
|
|
241
|
+
abortSignal?.throwIfAborted();
|
|
229
242
|
const threadRun = await this.instance.beta.threads.runs.createAndPoll(chatId, {
|
|
230
243
|
assistant_id: assistantId,
|
|
231
244
|
...(hasTextAttachments && storageId
|
|
@@ -244,6 +257,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
244
257
|
if (status !== 'completed') {
|
|
245
258
|
throw new Error(`Thread run did not complete for message, status: ${status}`);
|
|
246
259
|
}
|
|
260
|
+
abortSignal?.throwIfAborted();
|
|
247
261
|
const threadRunMessages = await this.instance.beta.threads.messages.list(chatId, {
|
|
248
262
|
run_id: threadRun.id,
|
|
249
263
|
}, {
|
|
@@ -252,6 +266,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
252
266
|
const assistantResponse = threadRunMessages.data.find((message) => message.role === OpenAI_typedefs_1.OpenAIRoles.Assistant);
|
|
253
267
|
const textContent = assistantResponse?.content
|
|
254
268
|
.find((content) => (content.type === 'text' && 'text' in content));
|
|
269
|
+
abortSignal?.throwIfAborted();
|
|
255
270
|
return {
|
|
256
271
|
text: textContent?.text?.value ?? '',
|
|
257
272
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAIAssistance.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"OpenAIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAIAssistance.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ class OpenAICompletionService extends services_1.LLMCompletionService {
|
|
|
19
19
|
async sendMessage(options) {
|
|
20
20
|
try {
|
|
21
21
|
const { model, message, history = [], abortSignal, } = options;
|
|
22
|
+
abortSignal?.throwIfAborted();
|
|
22
23
|
const countTokensFn = OpenAI_entity_1.OpenAIEntity.getCountTokensFn();
|
|
23
24
|
const combinedMessages = await OpenAI_entity_1.OpenAIEntity.combineMessagesWithLimit({
|
|
24
25
|
history,
|
|
@@ -30,6 +31,7 @@ class OpenAICompletionService extends services_1.LLMCompletionService {
|
|
|
30
31
|
});
|
|
31
32
|
const chatCompletionMessageParam = OpenAI_entity_1.OpenAIEntity
|
|
32
33
|
.getChatCompletionMessageParam(combinedMessages, this.logger);
|
|
34
|
+
abortSignal?.throwIfAborted();
|
|
33
35
|
const completion = await this.instance.chat.completions.create({
|
|
34
36
|
model: model.name,
|
|
35
37
|
messages: chatCompletionMessageParam,
|
|
@@ -38,6 +40,7 @@ class OpenAICompletionService extends services_1.LLMCompletionService {
|
|
|
38
40
|
}, {
|
|
39
41
|
signal: abortSignal,
|
|
40
42
|
});
|
|
43
|
+
abortSignal?.throwIfAborted();
|
|
41
44
|
return {
|
|
42
45
|
text: completion.choices[0]?.message.content ?? '',
|
|
43
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAICompletion.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAICompletion.service.ts"],"names":[],"mappings":";;;AACA,mCAAgC;AAChC,+DAK+B;AAC/B,yCAEoB;AACpB,oEAAgE;AAEhE,MAAa,uBACX,SAAQ,+BAAyC;IACjD,SAAS,GAAkB,IAAI,CAAC;IAEhC,YACE,MAAc,EACd,OAAgD;QAEhD,KAAK,CAAC,kCAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAoD;QAEpD,IAAI,CAAC;YACH,MAAM,EACJ,KAAK,EACL,OAAO,EACP,OAAO,GAAG,EAAE,EACZ,WAAW,GACZ,GAAG,OAAO,CAAC;YAEZ,MAAM,aAAa,GAAG,4BAAY,CAAC,gBAAgB,EAAE,CAAC;YAEtD,MAAM,gBAAgB,GAAG,MAAM,4BAAY,CAAC,wBAAwB,CAAC;gBACnE,OAAO;gBACP,OAAO;gBACP,KAAK;gBACL,aAAa;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YAEH,MAAM,0BAA0B,GAAG,4BAAY;iBAC5C,6BAA6B,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC7D,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,QAAQ,EAAE,0BAA0B;gBACpC,CAAC,EAAE,CAAC;gBACJ,GAAG,KAAK,CAAC,MAAM;aAChB,EAAE;gBACD,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;aACnD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;iBACR,KAAK,CAAC,aAAa,CAAC;iBACpB,KAAK,CAAC,uBAAuB,EAAE;gBAC9B,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YAEL,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"OpenAICompletion.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAICompletion.service.ts"],"names":[],"mappings":";;;AACA,mCAAgC;AAChC,+DAK+B;AAC/B,yCAEoB;AACpB,oEAAgE;AAEhE,MAAa,uBACX,SAAQ,+BAAyC;IACjD,SAAS,GAAkB,IAAI,CAAC;IAEhC,YACE,MAAc,EACd,OAAgD;QAEhD,KAAK,CAAC,kCAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAoD;QAEpD,IAAI,CAAC;YACH,MAAM,EACJ,KAAK,EACL,OAAO,EACP,OAAO,GAAG,EAAE,EACZ,WAAW,GACZ,GAAG,OAAO,CAAC;YAEZ,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,aAAa,GAAG,4BAAY,CAAC,gBAAgB,EAAE,CAAC;YAEtD,MAAM,gBAAgB,GAAG,MAAM,4BAAY,CAAC,wBAAwB,CAAC;gBACnE,OAAO;gBACP,OAAO;gBACP,KAAK;gBACL,aAAa;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YAEH,MAAM,0BAA0B,GAAG,4BAAY;iBAC5C,6BAA6B,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhE,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC7D,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,QAAQ,EAAE,0BAA0B;gBACpC,CAAC,EAAE,CAAC;gBACJ,GAAG,KAAK,CAAC,MAAM;aAChB,EAAE;gBACD,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;aACnD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;iBACR,KAAK,CAAC,aAAa,CAAC;iBACpB,KAAK,CAAC,uBAAuB,EAAE;gBAC9B,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YAEL,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AAzED,0DAyEC"}
|
|
@@ -23,7 +23,8 @@ class OpenAISpeechToTextService extends services_1.LLMSpeechToTextService {
|
|
|
23
23
|
}
|
|
24
24
|
async transcribe(options) {
|
|
25
25
|
try {
|
|
26
|
-
const { model, pathToAudio, mimeType, abortSignal, } = options;
|
|
26
|
+
const { model, pathToAudio, mimeType, instructions, abortSignal, } = options;
|
|
27
|
+
abortSignal?.throwIfAborted();
|
|
27
28
|
const { maxFileSize, supportedMimeTypes, } = OpenAI_entity_1.OpenAIEntity.transcribeLimits;
|
|
28
29
|
const fileSize = (0, fs_1.statSync)(pathToAudio).size;
|
|
29
30
|
if (fileSize > maxFileSize) {
|
|
@@ -34,14 +35,17 @@ class OpenAISpeechToTextService extends services_1.LLMSpeechToTextService {
|
|
|
34
35
|
throw new Error(`Unsupported audio file type: ${resolvedMimeType}. Supported types are: ${supportedMimeTypes.join(', ')}`);
|
|
35
36
|
}
|
|
36
37
|
const audioFileStream = (0, fs_1.createReadStream)(pathToAudio, { signal: abortSignal });
|
|
38
|
+
abortSignal?.throwIfAborted();
|
|
37
39
|
const response = await this.instance.audio.transcriptions.create({
|
|
38
40
|
model: model.name,
|
|
39
41
|
file: audioFileStream,
|
|
40
42
|
response_format: 'json',
|
|
41
43
|
temperature: model.config?.temperature,
|
|
44
|
+
prompt: instructions || OpenAI_entity_1.OpenAIEntity.transcribeInstructions,
|
|
42
45
|
}, {
|
|
43
46
|
signal: abortSignal,
|
|
44
47
|
});
|
|
48
|
+
abortSignal?.throwIfAborted();
|
|
45
49
|
return { text: response.text };
|
|
46
50
|
}
|
|
47
51
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAISpeechToText.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAISpeechToText.service.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAgD;AAEhD,mCAAgC;AAChC,+DAK+B;AAC/B,yCAAoD;AACpD,oEAAgE;AAChE,4DAA8B;AAE9B,MAAa,yBACX,SAAQ,iCAA2C;IACnD,SAAS,GAAkB,IAAI,CAAC;IAEhC,YACE,MAAc,EACd,OAAgD;QAEhD,KAAK,CAAC,kCAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,OAAmD;QAEnD,IAAI,CAAC;YACH,MAAM,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,WAAW,GACZ,GAAG,OAAO,CAAC;YAEZ,MAAM,EACJ,WAAW,EACX,kBAAkB,GACnB,GAAG,4BAAY,CAAC,gBAAgB,CAAC;YAElC,MAAM,QAAQ,GAAG,IAAA,aAAQ,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAE5C,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,kCAAkC,WAAW,QAAQ,CACtD,CAAC;YACJ,CAAC;YAED,MAAM,gBAAgB,GAAG,QAAQ,IAAI,oBAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAE9D,IAAI,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAuB,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,KAAK,CACb,gCAAgC,gBAAgB,0BAA0B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1G,CAAC;YACJ,CAAC;YAED,MAAM,eAAe,GAAG,IAAA,qBAAgB,EAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAE/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC/D,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,IAAI,EAAE,eAAe;gBACrB,eAAe,EAAE,MAAM;gBACvB,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"OpenAISpeechToText.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAISpeechToText.service.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAgD;AAEhD,mCAAgC;AAChC,+DAK+B;AAC/B,yCAAoD;AACpD,oEAAgE;AAChE,4DAA8B;AAE9B,MAAa,yBACX,SAAQ,iCAA2C;IACnD,SAAS,GAAkB,IAAI,CAAC;IAEhC,YACE,MAAc,EACd,OAAgD;QAEhD,KAAK,CAAC,kCAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,OAAmD;QAEnD,IAAI,CAAC;YACH,MAAM,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,WAAW,GACZ,GAAG,OAAO,CAAC;YAEZ,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,EACJ,WAAW,EACX,kBAAkB,GACnB,GAAG,4BAAY,CAAC,gBAAgB,CAAC;YAElC,MAAM,QAAQ,GAAG,IAAA,aAAQ,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAE5C,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,kCAAkC,WAAW,QAAQ,CACtD,CAAC;YACJ,CAAC;YAED,MAAM,gBAAgB,GAAG,QAAQ,IAAI,oBAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAE9D,IAAI,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAuB,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,KAAK,CACb,gCAAgC,gBAAgB,0BAA0B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1G,CAAC;YACJ,CAAC;YAED,MAAM,eAAe,GAAG,IAAA,qBAAgB,EAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAE/E,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC/D,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,IAAI,EAAE,eAAe;gBACrB,eAAe,EAAE,MAAM;gBACvB,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW;gBACtC,MAAM,EAAE,YAAY,IAAI,4BAAY,CAAC,sBAAsB;aAC5D,EAAE;gBACD,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;iBACR,KAAK,CAAC,YAAY,CAAC;iBACnB,KAAK,CAAC,0BAA0B,EAAE;gBACjC,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YAEL,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AAlFD,8DAkFC"}
|
|
@@ -18,6 +18,7 @@ class OpenAITextToSpeechService extends services_1.LLMTextToSpeechService {
|
|
|
18
18
|
async createSpeech(options) {
|
|
19
19
|
try {
|
|
20
20
|
const { text, model, instructions, speechOptions, abortSignal, } = options;
|
|
21
|
+
abortSignal?.throwIfAborted();
|
|
21
22
|
const audioResponse = await this.instance.audio.speech.create({
|
|
22
23
|
model: model.name,
|
|
23
24
|
input: text,
|
|
@@ -28,8 +29,10 @@ class OpenAITextToSpeechService extends services_1.LLMTextToSpeechService {
|
|
|
28
29
|
}, {
|
|
29
30
|
signal: abortSignal,
|
|
30
31
|
});
|
|
32
|
+
abortSignal?.throwIfAborted();
|
|
31
33
|
const audioArrayBuffer = await audioResponse.arrayBuffer();
|
|
32
34
|
const audioBuffer = Buffer.from(audioArrayBuffer);
|
|
35
|
+
abortSignal?.throwIfAborted();
|
|
33
36
|
return {
|
|
34
37
|
audio: audioBuffer,
|
|
35
38
|
mimeType: audioResponse.headers.get('Content-Type'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAITextToSpeech.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAITextToSpeech.service.ts"],"names":[],"mappings":";;;AACA,mCAAgC;AAChC,+DAK+B;AAC/B,yCAAoD;AAEpD,MAAa,yBACX,SAAQ,iCAA2C;IACnD,SAAS,GAAkB,IAAI,CAAC;IAEhC,YACE,MAAc,EACd,OAAgD;QAEhD,KAAK,CAAC,kCAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAqD;QAErD,IAAI,CAAC;YACH,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,GAAG,OAAO,CAAC;YAEZ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC5D,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,KAAK,EAAE,IAAI;gBACX,YAAY;gBACZ,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,OAAO;gBACtC,eAAe,EAAE,aAAa,EAAE,eAAe;gBAC/C,KAAK,EAAE,aAAa,EAAE,KAAK;aAC5B,EAAE;gBACD,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAElD,OAAO;gBACL,KAAK,EAAE,WAAW;gBAClB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;aACpD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;iBACR,KAAK,CAAC,cAAc,CAAC;iBACrB,KAAK,CAAC,uBAAuB,EAAE;gBAC9B,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YAEL,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"OpenAITextToSpeech.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAITextToSpeech.service.ts"],"names":[],"mappings":";;;AACA,mCAAgC;AAChC,+DAK+B;AAC/B,yCAAoD;AAEpD,MAAa,yBACX,SAAQ,iCAA2C;IACnD,SAAS,GAAkB,IAAI,CAAC;IAEhC,YACE,MAAc,EACd,OAAgD;QAEhD,KAAK,CAAC,kCAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAqD;QAErD,IAAI,CAAC;YACH,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,GAAG,OAAO,CAAC;YAEZ,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC5D,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,KAAK,EAAE,IAAI;gBACX,YAAY;gBACZ,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,OAAO;gBACtC,eAAe,EAAE,aAAa,EAAE,eAAe;gBAC/C,KAAK,EAAE,aAAa,EAAE,KAAK;aAC5B,EAAE;gBACD,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAElD,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,OAAO;gBACL,KAAK,EAAE,WAAW;gBAClB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;aACpD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;iBACR,KAAK,CAAC,cAAc,CAAC;iBACrB,KAAK,CAAC,uBAAuB,EAAE;gBAC9B,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YAEL,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AAlED,8DAkEC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mate-academy/llm-gateway",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "A gateway package for LLM services.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -13,17 +13,11 @@
|
|
|
13
13
|
"test": "ENABLE_LOGGING=true jest",
|
|
14
14
|
"test:silent": "jest",
|
|
15
15
|
"test:integration": "ENABLE_LOGGING=true jest src/tests/integration --verbose",
|
|
16
|
-
"test:dist:prepare": "npm run build && npm run create-dist-tests",
|
|
17
|
-
"test:dist": "npm run test:dist:prepare && ENABLE_LOGGING=true jest --config=jest.dist.config.js",
|
|
18
|
-
"test:dist:silent": "npm run test:dist:prepare && jest --config=jest.dist.config.js",
|
|
19
|
-
"test:dist:integration": "npm run test:dist:prepare && ENABLE_LOGGING=true jest --config=jest.dist.config.js dist-tests/integration --verbose",
|
|
20
|
-
"test:both": "npm run test && npm run test:dist",
|
|
21
|
-
"create-dist-tests": "node scripts/create-dist-tests.js",
|
|
22
16
|
"prepublish-tests": "node scripts/prepublish-tests.js",
|
|
23
|
-
"prepublishOnly": "npm run lint:fix && npm run type-check && npm run
|
|
17
|
+
"prepublishOnly": "npm run lint:fix && npm run type-check && npm run prepublish-tests && npm run build",
|
|
24
18
|
"type-check": "tsc --noEmit",
|
|
25
19
|
"postpublish": "npm run clean",
|
|
26
|
-
"clean": "rm -rf ./dist
|
|
20
|
+
"clean": "rm -rf ./dist",
|
|
27
21
|
"patch": "npm version patch && npm publish",
|
|
28
22
|
"minor": "npm version minor && npm publish",
|
|
29
23
|
"major": "npm version major && npm publish",
|
|
@@ -60,26 +54,26 @@
|
|
|
60
54
|
"@types/inquirer": "^9.0.8",
|
|
61
55
|
"@types/jest": "^30.0.0",
|
|
62
56
|
"@types/mime-types": "^3.0.1",
|
|
63
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
64
|
-
"dotenv": "^17.2.
|
|
57
|
+
"@typescript-eslint/eslint-plugin": "^8.38.0",
|
|
58
|
+
"dotenv": "^17.2.1",
|
|
65
59
|
"eslint": "^9.31.0",
|
|
66
60
|
"eslint-plugin-no-only-tests": "^3.3.0",
|
|
67
61
|
"glob": "^11.0.3",
|
|
68
|
-
"inquirer": "^12.
|
|
69
|
-
"jest": "^30.0.
|
|
62
|
+
"inquirer": "^12.8.2",
|
|
63
|
+
"jest": "^30.0.5",
|
|
70
64
|
"terser": "^5.43.1",
|
|
71
65
|
"ts-jest": "^29.4.0",
|
|
72
66
|
"tsc-alias": "^1.8.16",
|
|
73
67
|
"typescript": "^5.8.3",
|
|
74
|
-
"typescript-eslint": "^8.
|
|
68
|
+
"typescript-eslint": "^8.38.0"
|
|
75
69
|
},
|
|
76
70
|
"dependencies": {
|
|
77
|
-
"@google/genai": "^1.
|
|
71
|
+
"@google/genai": "^1.11.0",
|
|
78
72
|
"@mate-academy/core": "^1.10.4",
|
|
79
|
-
"axios": "^1.
|
|
73
|
+
"axios": "^1.11.0",
|
|
80
74
|
"js-tiktoken": "^1.0.20",
|
|
81
75
|
"mime-types": "^3.0.1",
|
|
82
|
-
"openai": "^5.10.
|
|
76
|
+
"openai": "^5.10.2",
|
|
83
77
|
"uuid": "^11.1.0"
|
|
84
78
|
}
|
|
85
79
|
}
|
package/dist/tests/helpers.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { LLMProviders, type LLMInstanceOptions, type LLMProviderAvailableModels, type LLMPurposes } from '../LLMService.typedefs';
|
|
2
|
-
import type { Logger } from '@mate-academy/core';
|
|
3
|
-
export declare const mockLogger: Logger;
|
|
4
|
-
type TestConfig = {
|
|
5
|
-
[Provider in LLMProviders]: {
|
|
6
|
-
provider: Provider;
|
|
7
|
-
availableModels: Partial<LLMProviderAvailableModels<Provider>>;
|
|
8
|
-
clientOptions: LLMInstanceOptions[Provider];
|
|
9
|
-
requireCredentials: () => void;
|
|
10
|
-
isEnabled: boolean;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
export declare const resolveTestConfig: (purpose: LLMPurposes) => TestConfig;
|
|
14
|
-
export declare const hasText: (result: any) => result is {
|
|
15
|
-
text: string;
|
|
16
|
-
};
|
|
17
|
-
export declare const hasError: (result: any) => result is {
|
|
18
|
-
error: any;
|
|
19
|
-
};
|
|
20
|
-
export {};
|
package/dist/tests/helpers.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.hasError=exports.hasText=exports.resolveTestConfig=exports.mockLogger=void 0;const LLMService_typedefs_1=require("../LLMService.typedefs"),providers_1=require("../providers"),globals_1=require("@jest/globals");function hasOpenAICredentials(){return!!(process.env.OPENAI_SECRET_API_KEY&&"OPENAI_SECRET_API_KEY"!==process.env.OPENAI_SECRET_API_KEY&&process.env.OPENAI_SECRET_API_KEY.length>10)}function hasGoogleAICredentials(){return!!(process.env.GOOGLE_GENERATIVE_AI_API_KEY&&"GOOGLE_GENERATIVE_AI_API_KEY"!==process.env.GOOGLE_GENERATIVE_AI_API_KEY&&process.env.GOOGLE_GENERATIVE_AI_API_KEY.length>10)}function requireOpenAICredentials(){if(!hasOpenAICredentials())throw new Error("OpenAI credentials required for integration tests. Please set OPENAI_SECRET_API_KEY environment variable. You can find the proper keys in .env.file.sample")}function requireGoogleAICredentials(){if(!hasGoogleAICredentials())throw new Error("Google Generative AI credentials required for integration tests. Please set GOOGLE_GENERATIVE_AI_API_KEY environment variable. You can find the proper keys in .env.file.sample")}const ENABLE_LOGGING="true"===process.env.ENABLE_LOGGING;exports.mockLogger={info:globals_1.jest.fn((e,r)=>ENABLE_LOGGING&&console.log("[INFO]",e,r)),error:globals_1.jest.fn((e,r)=>ENABLE_LOGGING&&console.log("[ERROR]",e,r)),warn:globals_1.jest.fn((e,r)=>ENABLE_LOGGING&&console.log("[WARN]",e,r)),debug:globals_1.jest.fn((e,r)=>ENABLE_LOGGING&&console.log("[DEBUG]",e,r)),child:globals_1.jest.fn(()=>exports.mockLogger)};const resolveTestConfig=e=>({[LLMService_typedefs_1.LLMProviders.OpenAI]:{provider:LLMService_typedefs_1.LLMProviders.OpenAI,availableModels:providers_1.OPEN_AI_MODELS[e],clientOptions:{apiKey:process.env.OPENAI_SECRET_API_KEY,organization:process.env.OPENAI_ORG_ID,baseURL:process.env.OPENAI_BASE_URL},requireCredentials:requireOpenAICredentials,isEnabled:!0},[LLMService_typedefs_1.LLMProviders.GoogleGenerativeAI]:{provider:LLMService_typedefs_1.LLMProviders.GoogleGenerativeAI,availableModels:providers_1.GOOGLE_AI_MODELS[e],clientOptions:{apiKey:process.env.GOOGLE_GENERATIVE_AI_API_KEY},requireCredentials:requireGoogleAICredentials,isEnabled:!1}});exports.resolveTestConfig=resolveTestConfig;const hasText=e=>"text"in e;exports.hasText=hasText;const hasError=e=>"error"in e;exports.hasError=hasError;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/tests/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const globals_1=require("@jest/globals"),index_1=require("../../index"),helpers_1=require("../../tests/helpers"),fs_1=require("fs"),path_1=require("path"),os_1=require("os"),axios_1=__importDefault(require("axios")),testConfig=(0,helpers_1.resolveTestConfig)(index_1.LLMPurposes.Assistance);(0,globals_1.describe)("LLM Assistance Service",()=>{Object.values(testConfig).forEach(e=>{const{provider:t,availableModels:s,clientOptions:a,requireCredentials:o,isEnabled:i}=e;i?(0,globals_1.describe)(`${t} Provider`,()=>{let e;(0,globals_1.beforeAll)(()=>{o(),e=index_1.LLMServiceFactory.getAssistanceService(t,helpers_1.mockLogger,a)}),(0,globals_1.beforeEach)(()=>{globals_1.jest.clearAllMocks()}),(0,globals_1.describe)("Service Initialization",()=>{(0,globals_1.it)("should create assistance service instance",()=>{(0,globals_1.expect)(e).toBeDefined(),(0,globals_1.expect)(e.provider).toBe(t)})}),Object.values(s).forEach(a=>{const o=a.name;(0,globals_1.describe)(`Model: ${o}`,()=>{const a=s[o];(0,globals_1.describe)("File Management",()=>{(0,globals_1.it)("should upload a text file successfully",async()=>{const t="This is a test file content for LLM assistance integration tests.",s=(0,os_1.tmpdir)(),a=(0,path_1.join)(s,`test-file-${Date.now()}.txt`);(0,fs_1.writeFileSync)(a,t);const o={name:"test-file.txt",path:a,mimeType:index_1.LLMUploadFileMimeTypes.PLAIN_TEXT,content:t};let i;try{i=await e.uploadFile(o),(0,globals_1.expect)((0,helpers_1.hasError)(i)).toBe(!1),(0,helpers_1.hasError)(i)||((0,globals_1.expect)(i.fileId).toBeDefined(),(0,globals_1.expect)(i.name).toBe(o.name),(0,globals_1.expect)(i.mimeType).toBe(o.mimeType))}finally{(0,fs_1.unlinkSync)(a)}}),(0,globals_1.it)("should handle file upload errors gracefully",async()=>{const t={name:"invalid-file.txt",path:"",mimeType:index_1.LLMUploadFileMimeTypes.PLAIN_TEXT,content:"test content"},s=await e.uploadFile(t);(0,globals_1.expect)(s).toBeDefined(),(0,helpers_1.hasError)(s)&&(0,globals_1.expect)(s.error).toBeDefined()})}),(0,globals_1.describe)("File Storage Management",()=>{(0,globals_1.it)("should create file storage with uploaded files",async()=>{const t="Content for file storage test.",s=(0,os_1.tmpdir)(),o=(0,path_1.join)(s,`storage-test-file-${Date.now()}.txt`);(0,fs_1.writeFileSync)(o,t);const i={name:"storage-test-file.txt",path:o,mimeType:index_1.LLMUploadFileMimeTypes.PLAIN_TEXT,content:t};let r;try{if(r=await e.uploadFile(i),(0,helpers_1.hasError)(r))throw new Error('File upload failed in "should create file storage with uploaded files"');{const t=await e.createFileStorage({uploadedFiles:[r],model:a,instructions:"Test instructions with files"});(0,globals_1.expect)((0,helpers_1.hasError)(t)).toBe(!1),(0,helpers_1.hasError)(t)||(0,globals_1.expect)(t.storageId).toBeDefined()}}finally{(0,fs_1.unlinkSync)(o)}})}),(0,globals_1.describe)("Assistant Management",()=>{(0,globals_1.it)("should create an assistant successfully",async()=>{const t=await e.createFileStorage({uploadedFiles:[],model:a,instructions:"Base instructions for assistant"});if(!(0,helpers_1.hasError)(t)){const s=await e.createAssistant({model:a,instructions:"You are a helpful assistant for testing purposes.",storageIds:[t.storageId]});(0,globals_1.expect)((0,helpers_1.hasError)(s)).toBe(!1),(0,helpers_1.hasError)(s)||(0,globals_1.expect)(s.assistantId).toBeDefined()}}),(0,globals_1.it)("should create an assistant without storage",async()=>{const t=await e.createAssistant({model:a,instructions:"You are a simple assistant without file storage."});(0,globals_1.expect)((0,helpers_1.hasError)(t)).toBe(!1),(0,helpers_1.hasError)(t)||(0,globals_1.expect)(t.assistantId).toBeDefined()}),(0,globals_1.it)("should create an assistant with a custom name",async()=>{const t=await e.createAssistant({model:a,instructions:"You are a named assistant for testing.",name:"Test Assistant With Name"});(0,globals_1.expect)((0,helpers_1.hasError)(t)).toBe(!1),(0,helpers_1.hasError)(t)||(0,globals_1.expect)(t.assistantId).toBeDefined()})}),(0,globals_1.describe)("Chat Management",()=>{(0,globals_1.it)("should create a chat successfully",async()=>{const t=await e.createChat({model:a,instructions:"Chat instructions for testing"});(0,globals_1.expect)((0,helpers_1.hasError)(t)).toBe(!1),(0,helpers_1.hasError)(t)||(0,globals_1.expect)(t.chatId).toBeDefined()}),(0,globals_1.it)("should create a chat with file storage",async()=>{const t=await e.createFileStorage({uploadedFiles:[],model:a,instructions:"Storage for chat test"});if(!(0,helpers_1.hasError)(t)){const s=await e.createChat({model:a,instructions:"Chat with file storage",storageId:t.storageId});(0,globals_1.expect)((0,helpers_1.hasError)(s)).toBe(!1),(0,helpers_1.hasError)(s)||(0,globals_1.expect)(s.chatId).toBeDefined()}}),(0,globals_1.it)("should create a chat with structured message history",async()=>{const t=await e.createChat({model:a,instructions:"Chat with message history",history:[{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"Hello, I am starting a conversation."}]},{role:index_1.LLMRoles.Assistant,content:[{type:index_1.LLMMessageContentType.TEXT,text:"Hello! How can I help you today?"}]}]});(0,helpers_1.hasError)(t)&&console.error("Chat creation with structured history failed:",t),(0,globals_1.expect)((0,helpers_1.hasError)(t)).toBe(!1),(0,helpers_1.hasError)(t)||(0,globals_1.expect)(t.chatId).toBeDefined()}),(0,globals_1.it)("should create a chat with mixed content in history",async()=>{const t=await e.createChat({model:a,instructions:"Chat with mixed content history",history:[{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"Please analyze this image."},{type:index_1.LLMMessageContentType.IMAGE_URL,image_url:{url:"https://dev-media.mate.academy/llm-gateway-test-image.png"}}]},{role:index_1.LLMRoles.Assistant,content:[{type:index_1.LLMMessageContentType.TEXT,text:"I can see the image with learning content."}]}]});(0,helpers_1.hasError)(t)&&console.error("Chat creation with mixed content history failed:",t),(0,globals_1.expect)((0,helpers_1.hasError)(t)).toBe(!1),(0,helpers_1.hasError)(t)||(0,globals_1.expect)(t.chatId).toBeDefined()})}),(0,globals_1.describe)("Chat Assistance",()=>{(0,globals_1.it)("should assist in chat with simple message",async()=>{const t=await e.createAssistant({model:a,instructions:'You are a test assistant. Respond with "TEST SUCCESS" to any message. No other text is allowed.'});if(!(0,helpers_1.hasError)(t)){const s=await e.createChat({model:a,instructions:'You are a test assistant. Respond with "TEST SUCCESS" to any message. No other text is allowed.'});if(!(0,helpers_1.hasError)(s)){const a=await e.assistInChat({message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:'Hello, this is a test message. Please respond with "TEST SUCCESS".'}]},chatId:s.chatId,assistantId:t.assistantId});(0,globals_1.expect)((0,helpers_1.hasText)(a)).toBe(!0),(0,helpers_1.hasText)(a)&&(0,globals_1.expect)(a.text).toMatch(/test success/i)}}}),(0,globals_1.it)("should handle multiple messages in conversation",async()=>{const t=await e.createAssistant({model:a,instructions:"You are a helpful assistant. Keep responses concise."});if(!(0,helpers_1.hasError)(t)){const s=await e.createChat({model:a,instructions:"Conversational test chat"});if(!(0,helpers_1.hasError)(s)){const a=await e.assistInChat({message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"My name is Test User."}]},chatId:s.chatId,assistantId:t.assistantId});if((0,globals_1.expect)((0,helpers_1.hasText)(a)).toBe(!0),(0,helpers_1.hasText)(a)){(0,globals_1.expect)(a.text).toBeDefined();const o=await e.assistInChat({message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"What is my name?"}]},chatId:s.chatId,assistantId:t.assistantId});(0,globals_1.expect)((0,helpers_1.hasText)(o)).toBe(!0),(0,helpers_1.hasText)(o)&&(0,globals_1.expect)(o.text).toMatch(/test[\s]*user/i)}}}},12e4),(0,globals_1.it)("should assist with file-based context",async()=>{const t="ASSISTANT_TEST_123",s=`This file contains important information: The secret code is ${t}.`,o=(0,os_1.tmpdir)(),i=(0,path_1.join)(o,`context-file-${Date.now()}.txt`);(0,fs_1.writeFileSync)(i,s);const r={name:"context-file.txt",path:i,mimeType:index_1.LLMUploadFileMimeTypes.PLAIN_TEXT,content:s};let n;try{if(n=await e.uploadFile(r),(0,helpers_1.hasError)(n))throw new Error('File upload failed in "should assist with file-based context"');{const s=await e.createFileStorage({uploadedFiles:[n],model:a,instructions:"Use the uploaded files to answer questions"});if((0,helpers_1.hasError)(s))throw new Error('File storage creation failed in "should assist with file-based context"');{const o=await e.createAssistant({model:a,instructions:"You are an assistant that can access uploaded files. Use the file content to answer questions.",storageIds:[s.storageId]});if((0,helpers_1.hasError)(o))throw new Error('Assistant creation failed in "should assist with file-based context"');{const i=await e.createChat({model:a,instructions:"Chat with file context",storageId:s.storageId});if((0,helpers_1.hasError)(i))throw console.error("Chat creation error:",i),new Error(`Chat creation failed in "should assist with file-based context": ${JSON.stringify(i)}`);{const s=await e.assistInChat({message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"What is the secret code mentioned in the uploaded file?"}]},chatId:i.chatId,assistantId:o.assistantId});(0,globals_1.expect)((0,helpers_1.hasText)(s)).toBe(!0),(0,helpers_1.hasText)(s)&&(0,globals_1.expect)(s.text).toMatch(new RegExp(t,"i"))}}}}}finally{(0,fs_1.unlinkSync)(i)}},12e4),t!==index_1.LLMProviders.OpenAI&&(0,globals_1.it)("should handle attachments in assistance messages",async()=>{const t=Math.floor(1e3*Math.random()),s=`Test attachment: ATTACHMENT_CONTENT_TEST_${t}`,o=(0,os_1.tmpdir)(),i=(0,path_1.join)(o,`attachment-test-${Date.now()}.txt`);(0,fs_1.writeFileSync)(i,s);const r={name:"attachment-test.txt",path:i,mimeType:index_1.LLMUploadFileMimeTypes.PLAIN_TEXT,content:s};let n;try{if(n=await e.uploadFile(r),(0,helpers_1.hasError)(n))throw new Error('File upload failed in "should handle attachments in assistance messages"');{const s=await e.createAssistant({model:a,instructions:"You can process file attachments. Read the content and respond accordingly."});if((0,helpers_1.hasError)(s))throw new Error('Assistant creation failed in "should handle attachments in assistance messages"');{const o=await e.createChat({model:a,instructions:"Chat with attachment capabilities"});if((0,helpers_1.hasError)(o))throw console.error("Chat creation error:",o),new Error(`Chat creation failed in "should handle attachments in assistance messages": ${JSON.stringify(o)}`);{const a=await e.assistInChat({message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"Please read the attached file and tell me what test content it contains. Your response should include number in the attachment."}],attachments:[n]},chatId:o.chatId,assistantId:s.assistantId});(0,globals_1.expect)((0,helpers_1.hasText)(a)).toBe(!0),(0,helpers_1.hasText)(a)&&(0,globals_1.expect)(a.text).toMatch(new RegExp(t.toString(),"i"))}}}}finally{(0,fs_1.unlinkSync)(i)}},12e4),t===index_1.LLMProviders.OpenAI&&(0,globals_1.it)("should assist in chat with image file",async()=>{const t=await axios_1.default.get("https://dev-media.mate.academy/llm-gateway-test-image.png",{responseType:"arraybuffer"}),s=(0,os_1.tmpdir)(),o=(0,path_1.join)(s,`image-test-${Date.now()}.png`);(0,fs_1.writeFileSync)(o,t.data);const i={name:"image-test.png",path:o,mimeType:index_1.LLMUploadFileMimeTypes.IMAGE_PNG};let r;try{if(r=await e.uploadFile(i),(0,helpers_1.hasError)(r))throw new Error('File upload failed in "should assist in chat with image file"');{const t=await e.createAssistant({model:a,instructions:"You can analyze images. Respond with text written in the image."});if((0,helpers_1.hasError)(t))throw new Error('Assistant creation failed in "should assist in chat with image file"');{const s=await e.createChat({model:a,instructions:"Chat with image analysis capabilities. Assist with image content. Respond with text from the image.",files:[r]});if((0,helpers_1.hasError)(s))throw new Error(`Chat creation failed in "should assist in chat with image file": ${JSON.stringify(s)}`);{const a=await e.assistInChat({message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"What text do you see in the image?"}]},chatId:s.chatId,assistantId:t.assistantId});(0,globals_1.expect)((0,helpers_1.hasText)(a)).toBe(!0),(0,helpers_1.hasText)(a)&&(0,globals_1.expect)(a.text).toMatch(/learn/i)}}}}finally{(0,fs_1.unlinkSync)(o)}})}),(0,globals_1.describe)("Error Handling",()=>{(0,globals_1.it)("should handle invalid chat ID gracefully",async()=>{const t=await e.createAssistant({model:a,instructions:"Test assistant"});if((0,helpers_1.hasError)(t))throw new Error("Assistant creation failed");{const s=await e.assistInChat({message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"Test message"}]},chatId:"invalid-chat-id",assistantId:t.assistantId});(0,globals_1.expect)((0,helpers_1.hasError)(s)).toBe(!0)}}),t===index_1.LLMProviders.OpenAI&&(0,globals_1.it)("should handle invalid assistant ID gracefully",async()=>{const t=await e.createChat({model:a,instructions:"Test chat"});if((0,helpers_1.hasError)(t))throw new Error("Chat creation failed");{const s=await e.assistInChat({message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"Test message"}]},chatId:t.chatId,assistantId:"invalid-assistant-id"});(0,globals_1.expect)((0,helpers_1.hasError)(s)).toBe(!0)}})}),(0,globals_1.describe)("Abort signal handling",()=>{let t,s;(0,globals_1.beforeEach)(()=>{t=new AbortController,s=t.signal}),(0,globals_1.it)("should abort file upload when signal is aborted",async()=>{const a="Content for aborted file upload test.",o=(0,os_1.tmpdir)(),i=(0,path_1.join)(o,`storage-test-file-${Date.now()}.txt`);(0,fs_1.writeFileSync)(i,a);const r={name:"storage-test-file.txt",path:i,mimeType:index_1.LLMUploadFileMimeTypes.PLAIN_TEXT,content:a,abortSignal:s};try{t.abort();const s=await e.uploadFile(r);(0,globals_1.expect)((0,helpers_1.hasError)(s)).toBe(!0),(0,helpers_1.hasError)(s)&&(0,globals_1.expect)(s.error).toEqual(globals_1.expect.objectContaining({message:globals_1.expect.stringMatching(/aborted/i)}))}finally{(0,fs_1.unlinkSync)(i)}}),(0,globals_1.it)("should abort file storage creation when signal is aborted",async()=>{const o="Content for aborted file storage test.",i=(0,os_1.tmpdir)(),r=(0,path_1.join)(i,`storage-test-file-${Date.now()}.txt`);(0,fs_1.writeFileSync)(r,o);const n={name:"storage-test-file.txt",path:r,mimeType:index_1.LLMUploadFileMimeTypes.PLAIN_TEXT,content:o};let l;try{if(l=await e.uploadFile(n),(0,helpers_1.hasError)(l))throw new Error('File upload failed in "should abort file storage creation when signal is aborted"');{t.abort();const o=await e.createFileStorage({uploadedFiles:[l],model:a,instructions:"Test instructions for aborted file storage",abortSignal:s});(0,globals_1.expect)((0,helpers_1.hasError)(o)).toBe(!0),(0,helpers_1.hasError)(o)&&(0,globals_1.expect)(o.error).toEqual(globals_1.expect.objectContaining({message:globals_1.expect.stringMatching(/aborted/i)}))}}finally{(0,fs_1.unlinkSync)(r)}}),(0,globals_1.it)("should abort assistant creation when signal is aborted",async()=>{t.abort();const o=await e.createAssistant({model:a,instructions:"You are a test assistant.",abortSignal:s});(0,globals_1.expect)((0,helpers_1.hasError)(o)).toBe(!0),(0,helpers_1.hasError)(o)&&(0,globals_1.expect)(o.error).toEqual(globals_1.expect.objectContaining({message:globals_1.expect.stringMatching(/aborted/i)}))}),(0,globals_1.it)("should abort chat creation when signal is aborted",async()=>{t.abort();const o=await e.createChat({model:a,instructions:"You are a test chat.",abortSignal:s});(0,globals_1.expect)((0,helpers_1.hasError)(o)).toBe(!0),(0,helpers_1.hasError)(o)&&(0,globals_1.expect)(o.error).toEqual(globals_1.expect.objectContaining({message:globals_1.expect.stringMatching(/aborted/i)}))}),(0,globals_1.it)("should abort assistance in chat when signal is aborted",async()=>{const o=await e.createAssistant({model:a,instructions:"You are a test assistant."});if((0,helpers_1.hasError)(o))throw new Error('Assistant creation failed in "should abort assistance in chat when signal is aborted"');{const i=await e.createChat({model:a,instructions:"You are a test chat."});if((0,helpers_1.hasError)(i))throw new Error('Chat creation failed in "should abort assistance in chat when signal is aborted"');{t.abort();const a=await e.assistInChat({message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"This message should be aborted."}]},chatId:i.chatId,assistantId:o.assistantId,abortSignal:s});(0,globals_1.expect)((0,helpers_1.hasError)(a)).toBe(!0),(0,helpers_1.hasError)(a)&&(0,globals_1.expect)(a.error).toEqual(globals_1.expect.objectContaining({message:globals_1.expect.stringMatching(/aborted/i)}))}}})})})})}):console.warn(`Skipping tests for ${t} provider: disabled in test config.`)})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LLMAssistance.service.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/LLMAssistance.service.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const globals_1=require("@jest/globals"),index_1=require("../../index"),helpers_1=require("../../tests/helpers"),testConfig=(0,helpers_1.resolveTestConfig)(index_1.LLMPurposes.Completion);(0,globals_1.describe)("LLM Completion Service",()=>{Object.values(testConfig).forEach(e=>{const{provider:t,availableModels:s,clientOptions:o,requireCredentials:a,isEnabled:l}=e;l?(0,globals_1.describe)(`${t} Provider`,()=>{let e;(0,globals_1.beforeAll)(()=>{a(),e=index_1.LLMServiceFactory.getCompletionService(t,helpers_1.mockLogger,o)}),(0,globals_1.beforeEach)(()=>{globals_1.jest.clearAllMocks()}),(0,globals_1.describe)("Service Initialization",()=>{(0,globals_1.it)("should create completion service instance",()=>{(0,globals_1.expect)(e).toBeDefined(),(0,globals_1.expect)(e.provider).toBe(t)})}),Object.values(s).forEach(t=>{const o=t.name;(0,globals_1.describe)(`Model: ${o}`,()=>{const t=s[o];(0,globals_1.it)("should send a simple message and receive a response",async()=>{const s=await e.sendMessage({model:t,message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:'Hello, this is a test message for LLM completion. Respond with a single word - "OK".'}]}});(0,globals_1.expect)((0,helpers_1.hasText)(s)).toBe(!0),(0,helpers_1.hasText)(s)&&(0,globals_1.expect)(s.text).toMatch(/OK/i)}),(0,globals_1.it)("should handle message with history",async()=>{const s=await e.sendMessage({model:t,message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:'Continue the conversation, respond with a single word - "SUCCESS".'}]},history:[{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:'Hello, this is a test message for LLM completion. Respond with a single word - "FAILURE".'}]},{role:index_1.LLMRoles.Assistant,content:[{type:index_1.LLMMessageContentType.TEXT,text:"FAILURE"}]}]});(0,globals_1.expect)((0,helpers_1.hasText)(s)).toBe(!0),(0,helpers_1.hasText)(s)&&(0,globals_1.expect)(s.text).toMatch(/SUCCESS/i)}),(0,globals_1.it)("should handle custom instructions",async()=>{const s=await e.sendMessage({model:t,message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"My name is John"}]},instructions:"You are an assistant that always responds with a greeting. Always include user's name in your response, like this: \"Hi, {{name}}!\". Important: replace {{name}} with the user's name."});(0,globals_1.expect)((0,helpers_1.hasText)(s)).toBe(!0),(0,helpers_1.hasText)(s)&&(0,globals_1.expect)(s.text).toMatch(/John/i)}),(0,globals_1.it)("should extract text from image url and use it in response template",async()=>{const s=await e.sendMessage({model:t,instructions:'You must respond with ONLY two words: the text from the image followed by "CONFIRMED". No other text.',message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"Reply with exactly two words: [word from image] CONFIRMED"},{type:index_1.LLMMessageContentType.IMAGE_URL,image_url:{url:"https://dev-media.mate.academy/llm-gateway-test-image.png"}}]}});(0,globals_1.expect)((0,helpers_1.hasText)(s)).toBe(!0),(0,helpers_1.hasText)(s)&&(0,globals_1.expect)(s.text).toMatch(/learn\s+confirmed/i)}),(0,globals_1.it)("should handle multiple content items in a single message",async()=>{const s=await e.sendMessage({model:t,message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:'Extract the word from the image and respond with "[word] TO CODE" where [word] is the text you see in the image.'},{type:index_1.LLMMessageContentType.IMAGE_URL,image_url:{url:"https://dev-media.mate.academy/llm-gateway-test-image.png"}}]}});(0,globals_1.expect)((0,helpers_1.hasText)(s)).toBe(!0),(0,helpers_1.hasText)(s)&&(0,globals_1.expect)(s.text).toMatch(/learn\s*to\s*code/i)}),(0,globals_1.it)("should handle mixed content with text and image",async()=>{const s=await e.sendMessage({model:t,instructions:"Respond to the text instruction and mention if you can see an image.",message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:'Take the word from the image and complete this template: "[word from image] AND TEXT"'},{type:index_1.LLMMessageContentType.IMAGE_URL,image_url:{url:"https://dev-media.mate.academy/llm-gateway-test-image.png",detail:"low"}}]}});(0,globals_1.expect)((0,helpers_1.hasText)(s)).toBe(!0),(0,helpers_1.hasText)(s)&&(0,globals_1.expect)(s.text).toMatch(/learn\s*and\s*text/i)}),(0,globals_1.describe)("Abort signal handling",()=>{let s,o;(0,globals_1.beforeEach)(()=>{s=new AbortController,o=s.signal}),(0,globals_1.it)("should abort message sending when signal is aborted",async()=>{s.abort();const a=await e.sendMessage({model:t,message:{role:index_1.LLMRoles.User,content:[{type:index_1.LLMMessageContentType.TEXT,text:"This message should be aborted."}]},abortSignal:o});(0,globals_1.expect)((0,helpers_1.hasError)(a)).toBe(!0),(0,helpers_1.hasError)(a)&&(0,globals_1.expect)(a.error).toEqual(globals_1.expect.objectContaining({message:globals_1.expect.stringMatching(/aborted/i)}))})})})})}):console.warn(`Skipping tests for ${t} provider: disabled in test config.`)})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LLMCompletion.service.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/LLMCompletion.service.integration.test.ts"],"names":[],"mappings":";;AAAA,2CAOuB;AACvB,mCAMiB;AACjB,6CAKyB;AAEzB,MAAM,UAAU,GAAG,IAAA,2BAAiB,EAAC,mBAAW,CAAC,UAAU,CAAC,CAAC;AAE7D,IAAA,kBAAQ,EAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACzC,MAAM,EACJ,QAAQ,EACR,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,SAAS,GACV,GAAG,IAAI,CAAC;QAET,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,sBAAsB,QAAQ,qCAAqC,CAAC,CAAC;YAElF,OAAO;QACT,CAAC;QAED,IAAA,kBAAQ,EAAC,GAAG,QAAQ,WAAW,EAAE,GAAG,EAAE;YACpC,IAAI,OAA8C,CAAC;YAEnD,IAAA,mBAAS,EAAC,GAAG,EAAE;gBACb,kBAAkB,EAAE,CAAC;gBAErB,OAAO,GAAG,yBAAiB,CAAC,oBAAoB,CAC9C,QAAQ,EACR,oBAAU,EACV,aAAa,CACd,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,IAAA,oBAAU,EAAC,GAAG,EAAE;gBACd,cAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,IAAA,kBAAQ,EAAC,wBAAwB,EAAE,GAAG,EAAE;gBACtC,IAAA,YAAE,EAAC,2CAA2C,EAAE,GAAG,EAAE;oBACnD,IAAA,gBAAM,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC9B,IAAA,gBAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAW,CAAC;gBAEpC,IAAA,kBAAQ,EAAC,UAAU,SAAS,EAAE,EAAE,GAAG,EAAE;oBACnC,MAAM,KAAK,GAAG,eAAe,CAAC,SAAyC,CAAE,CAAC;oBAE1E,IAAA,YAAE,EAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;wBACnE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;4BACvC,KAAK;4BACL,OAAO,EAAE;gCACP,IAAI,EAAE,gBAAQ,CAAC,IAAI;gCACnB,OAAO,EAAE,CAAC;wCACR,IAAI,EAAE,6BAAqB,CAAC,IAAI;wCAChC,IAAI,EAAE,sFAAsF;qCAC7F,CAAC;6BACH;yBACF,CAAC,CAAC;wBAEH,IAAA,gBAAM,EAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEnC,IAAI,IAAA,iBAAO,EAAC,MAAM,CAAC,EAAE,CAAC;4BACpB,IAAA,gBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAA,YAAE,EAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;wBAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;4BACvC,KAAK;4BACL,OAAO,EAAE;gCACP,IAAI,EAAE,gBAAQ,CAAC,IAAI;gCACnB,OAAO,EAAE,CAAC;wCACR,IAAI,EAAE,6BAAqB,CAAC,IAAI;wCAChC,IAAI,EAAE,oEAAoE;qCAC3E,CAAC;6BACH;4BACD,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,gBAAQ,CAAC,IAAI;oCACnB,OAAO,EAAE,CAAC;4CACR,IAAI,EAAE,6BAAqB,CAAC,IAAI;4CAChC,IAAI,EAAE,2FAA2F;yCAClG,CAAC;iCACH;gCACD;oCACE,IAAI,EAAE,gBAAQ,CAAC,SAAS;oCACxB,OAAO,EAAE,CAAC;4CACR,IAAI,EAAE,6BAAqB,CAAC,IAAI;4CAChC,IAAI,EAAE,SAAS;yCAChB,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;wBAEH,IAAA,gBAAM,EAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEnC,IAAI,IAAA,iBAAO,EAAC,MAAM,CAAC,EAAE,CAAC;4BACpB,IAAA,gBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAA,YAAE,EAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;wBACjD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;4BACvC,KAAK;4BACL,OAAO,EAAE;gCACP,IAAI,EAAE,gBAAQ,CAAC,IAAI;gCACnB,OAAO,EAAE,CAAC;wCACR,IAAI,EAAE,6BAAqB,CAAC,IAAI;wCAChC,IAAI,EAAE,iBAAiB;qCACxB,CAAC;6BACH;4BACD,YAAY,EAAE,yLAAyL;yBACxM,CAAC,CAAC;wBAEH,IAAA,gBAAM,EAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEnC,IAAI,IAAA,iBAAO,EAAC,MAAM,CAAC,EAAE,CAAC;4BACpB,IAAA,gBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACvC,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAA,YAAE,EAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;wBAClF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;4BACvC,KAAK;4BACL,YAAY,EAAE,uGAAuG;4BACrH,OAAO,EAAE;gCACP,IAAI,EAAE,gBAAQ,CAAC,IAAI;gCACnB,OAAO,EAAE,CAAC;wCACR,IAAI,EAAE,6BAAqB,CAAC,IAAI;wCAChC,IAAI,EAAE,2DAA2D;qCAClE;oCACD;wCACE,IAAI,EAAE,6BAAqB,CAAC,SAAS;wCACrC,SAAS,EAAE;4CACT,GAAG,EAAE,2DAA2D;yCACjE;qCACF,CAAC;6BACH;yBACF,CAAC,CAAC;wBAEH,IAAA,gBAAM,EAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEnC,IAAI,IAAA,iBAAO,EAAC,MAAM,CAAC,EAAE,CAAC;4BACpB,IAAA,gBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;wBACpD,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAA,YAAE,EAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;wBACxE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;4BACvC,KAAK;4BACL,OAAO,EAAE;gCACP,IAAI,EAAE,gBAAQ,CAAC,IAAI;gCACnB,OAAO,EAAE;oCACP;wCACE,IAAI,EAAE,6BAAqB,CAAC,IAAI;wCAChC,IAAI,EAAE,kHAAkH;qCACzH;oCACD;wCACE,IAAI,EAAE,6BAAqB,CAAC,SAAS;wCACrC,SAAS,EAAE;4CACT,GAAG,EAAE,2DAA2D;yCACjE;qCACF;iCACF;6BACF;yBACF,CAAC,CAAC;wBAEH,IAAA,gBAAM,EAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEnC,IAAI,IAAA,iBAAO,EAAC,MAAM,CAAC,EAAE,CAAC;4BACpB,IAAA,gBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;wBACpD,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAA,YAAE,EAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;wBAC/D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;4BACvC,KAAK;4BACL,YAAY,EAAE,sEAAsE;4BACpF,OAAO,EAAE;gCACP,IAAI,EAAE,gBAAQ,CAAC,IAAI;gCACnB,OAAO,EAAE;oCACP;wCACE,IAAI,EAAE,6BAAqB,CAAC,IAAI;wCAChC,IAAI,EAAE,uFAAuF;qCAC9F;oCACD;wCACE,IAAI,EAAE,6BAAqB,CAAC,SAAS;wCACrC,SAAS,EAAE;4CACT,GAAG,EAAE,2DAA2D;4CAChE,MAAM,EAAE,KAAK;yCACd;qCACF;iCACF;6BACF;yBACF,CAAC,CAAC;wBAEH,IAAA,gBAAM,EAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEnC,IAAI,IAAA,iBAAO,EAAC,MAAM,CAAC,EAAE,CAAC;4BACpB,IAAA,gBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;wBACrD,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAA,kBAAQ,EAAC,uBAAuB,EAAE,GAAG,EAAE;wBACrC,IAAI,eAAgC,CAAC;wBACrC,IAAI,WAAwB,CAAC;wBAE7B,IAAA,oBAAU,EAAC,GAAG,EAAE;4BACd,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;4BACxC,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC;wBACvC,CAAC,CAAC,CAAC;wBAEH,IAAA,YAAE,EAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;4BACnE,eAAe,CAAC,KAAK,EAAE,CAAC;4BAExB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;gCACvC,KAAK;gCACL,OAAO,EAAE;oCACP,IAAI,EAAE,gBAAQ,CAAC,IAAI;oCACnB,OAAO,EAAE,CAAC;4CACR,IAAI,EAAE,6BAAqB,CAAC,IAAI;4CAChC,IAAI,EAAE,iCAAiC;yCACxC,CAAC;iCACH;gCACD,WAAW;6BACZ,CAAC,CAAC;4BAEH,IAAA,gBAAM,EAAC,IAAA,kBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAEpC,IAAI,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE,CAAC;gCACrB,IAAA,gBAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAC1B,gBAAM,CAAC,gBAAgB,CAAC;oCACtB,OAAO,EAAE,gBAAM,CAAC,cAAc,CAAC,UAAU,CAAC;iCAC3C,CAAC,CACH,CAAC;4BACJ,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const globals_1=require("@jest/globals"),path_1=require("path"),index_1=require("../../index"),helpers_1=require("../../tests/helpers"),testConfig=(0,helpers_1.resolveTestConfig)(index_1.LLMPurposes.SpeechToText),mockedSpeechFiles={[index_1.LLMUploadFileMimeTypes.AUDIO_MP3]:(0,path_1.join)(__dirname,"..","assets","stt.mp3"),[index_1.LLMUploadFileMimeTypes.AUDIO_WAV]:(0,path_1.join)(__dirname,"..","assets","stt.wav"),[index_1.LLMUploadFileMimeTypes.AUDIO_WEBM]:(0,path_1.join)(__dirname,"..","assets","stt.webm"),[index_1.LLMUploadFileMimeTypes.AUDIO_OGG]:(0,path_1.join)(__dirname,"..","assets","stt.ogg")};(0,globals_1.describe)("LLM Speech To Text Service",()=>{Object.values(testConfig).forEach(e=>{const{provider:s,availableModels:t,clientOptions:o,requireCredentials:a,isEnabled:l}=e;l?(0,globals_1.describe)(`${s} Provider`,()=>{let e;(0,globals_1.beforeAll)(()=>{a(),e=index_1.LLMServiceFactory.getSpeechToTextService(s,helpers_1.mockLogger,o)}),(0,globals_1.beforeEach)(()=>{globals_1.jest.clearAllMocks()}),(0,globals_1.describe)("Service Initialization",()=>{(0,globals_1.it)("should create speech-to-text service instance",()=>{(0,globals_1.expect)(e).toBeDefined(),(0,globals_1.expect)(e.provider).toBe(s)})}),Object.values(t).forEach(s=>{const o=s.name;(0,globals_1.describe)(`Model: ${o}`,()=>{const s=t[o];Object.entries(mockedSpeechFiles).forEach(([t,o])=>{(0,globals_1.it)(`should transcribe ${t} file and return text containing "learn to code"`,async()=>{const a=await e.transcribe({pathToAudio:o,mimeType:t,model:s});(0,globals_1.expect)((0,helpers_1.hasText)(a)).toBe(!0),(0,helpers_1.hasText)(a)&&(0,globals_1.expect)(a.text).toMatch(/learn.*to.*code/i)})}),(0,globals_1.it)("should handle invalid audio file path",async()=>{const t=(0,path_1.join)(__dirname,"..","nonexistent.mp3"),o=await e.transcribe({pathToAudio:t,model:s});(0,globals_1.expect)((0,helpers_1.hasError)(o)).toBe(!0)}),(0,globals_1.describe)("Abort signal handling",()=>{let t,o;(0,globals_1.beforeEach)(()=>{t=new AbortController,o=t.signal}),(0,globals_1.it)("should abort transcription when signal is aborted",async()=>{t.abort();const a=await e.transcribe({pathToAudio:mockedSpeechFiles[index_1.LLMUploadFileMimeTypes.AUDIO_MP3],model:s,abortSignal:o});(0,globals_1.expect)((0,helpers_1.hasError)(a)).toBe(!0),(0,helpers_1.hasError)(a)&&(0,globals_1.expect)(a.error).toEqual(globals_1.expect.objectContaining({message:globals_1.expect.stringMatching(/aborted/i)}))})})})})}):console.warn(`Skipping tests for ${s} provider: disabled in test config.`)})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LLMSpeechToText.service.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/LLMSpeechToText.service.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const globals_1=require("@jest/globals"),index_1=require("../../index"),helpers_1=require("../../tests/helpers"),testConfig=(0,helpers_1.resolveTestConfig)(index_1.LLMPurposes.TextToSpeech);(0,globals_1.describe)("LLM Text To Speech Service",()=>{Object.values(testConfig).forEach(e=>{const{provider:t,availableModels:o,clientOptions:s,requireCredentials:l,isEnabled:r}=e;r?(0,globals_1.describe)(`${t} Provider`,()=>{let e;(0,globals_1.beforeAll)(()=>{l(),e=index_1.LLMServiceFactory.getTextToSpeechService(t,helpers_1.mockLogger,s)}),(0,globals_1.beforeEach)(()=>{globals_1.jest.clearAllMocks()}),(0,globals_1.describe)("Service Initialization",()=>{(0,globals_1.it)("should create text-to-speech service instance",()=>{(0,globals_1.expect)(e).toBeDefined(),(0,globals_1.expect)(e.provider).toBe(t)})}),Object.values(o).forEach(t=>{const s=t.name;(0,globals_1.describe)(`Model: ${s}`,()=>{const t=o[s];(0,globals_1.it)("should convert text to speech and return audio file buffer",async()=>{const o=await e.createSpeech({text:"Hello, this is a test of text to speech functionality.",model:t});(0,globals_1.expect)((0,helpers_1.hasError)(o)).toBe(!1),(0,helpers_1.hasError)(o)||(0,globals_1.expect)(o.audio).toBeDefined()}),(0,globals_1.it)("should convert text to speech with instructions and return audio file buffer",async()=>{const o=await e.createSpeech({text:"This is a test with instructions.",model:t,instructions:"Please read this text in a calm and clear voice."});(0,globals_1.expect)((0,helpers_1.hasError)(o)).toBe(!1),(0,helpers_1.hasError)(o)||(0,globals_1.expect)(o.audio).toBeDefined()}),(0,globals_1.describe)("Abort signal handling",()=>{let o,s;(0,globals_1.beforeEach)(()=>{o=new AbortController,s=o.signal}),(0,globals_1.it)("should abort speech creation when signal is aborted",async()=>{o.abort();const l=await e.createSpeech({text:"This should not be processed",model:t,abortSignal:s});(0,globals_1.expect)((0,helpers_1.hasError)(l)).toBe(!0),(0,helpers_1.hasError)(l)&&(0,globals_1.expect)(l.error).toEqual(globals_1.expect.objectContaining({message:globals_1.expect.stringMatching(/aborted/i)}))})})})})}):console.warn(`Skipping tests for ${t} provider: disabled in test config.`)})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LLMTextToSpeech.service.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/LLMTextToSpeech.service.integration.test.ts"],"names":[],"mappings":"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"}
|
package/dist/tests/setup.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/tests/setup.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const globals_1=require("@jest/globals"),dotenv_1=require("dotenv"),path_1=__importDefault(require("path")),envPath=path_1.default.resolve(__dirname,"../../../..",".env.file");(0,dotenv_1.config)({path:envPath}),globals_1.jest.setTimeout(45e3);
|
package/dist/tests/setup.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/tests/setup.ts"],"names":[],"mappings":";;;;;AAAA,2CAAqC;AACrC,mCAAgC;AAChC,gDAAwB;AAExB,gEAAgE;AAChE,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;AACpE,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAE1B,4CAA4C;AAC5C,cAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const globals_1=require("@jest/globals"),promptBuilder_1=require("../../promptBuilder");(0,globals_1.describe)("PromptBuilder",()=>{(0,globals_1.describe)("createPromptTemplate",()=>{(0,globals_1.it)("should create a template without placeholders",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("This is a simple message without placeholders.")();(0,globals_1.expect)(e).toBe("This is a simple message without placeholders.")}),(0,globals_1.it)("should create a template with a single placeholder",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Hello, {{name}}!")({name:"John"});(0,globals_1.expect)(e).toBe("Hello, John!")}),(0,globals_1.it)("should create a template with multiple placeholders",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Generate a welcome message for {{user}} who started {{topic}} on {{date}}.")({user:"Alice",topic:"JavaScript Basics",date:"2024-01-15"});(0,globals_1.expect)(e).toBe("Generate a welcome message for Alice who started JavaScript Basics on 2024-01-15.")}),(0,globals_1.it)("should handle numeric values in placeholders",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("The user has {{score}} points out of {{total}}.")({score:85,total:100});(0,globals_1.expect)(e).toBe("The user has 85 points out of 100.")}),(0,globals_1.it)("should handle placeholders with whitespace in content",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Hello, {{ name }}! Your score is {{ score }}.")({" name ":"Bob"," score ":95});(0,globals_1.expect)(e).toBe("Hello, Bob! Your score is 95.")}),(0,globals_1.it)("should replace multiple occurrences of the same placeholder",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("{{name}} is learning {{subject}}. {{name}} enjoys {{subject}} very much.")({name:"Charlie",subject:"TypeScript"});(0,globals_1.expect)(e).toBe("Charlie is learning TypeScript. Charlie enjoys TypeScript very much.")}),(0,globals_1.it)("should trim whitespace from template",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("\n\n Generate a message for {{user}}.\n\n ")({user:"Dave"});(0,globals_1.expect)(e).toBe("Generate a message for Dave.")}),(0,globals_1.it)("should handle complex multiline templates",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("\n Generate a welcome message for a user who has just started their auto tech check attempt on {{topicTitle}}.\n The user's name is {{userName}} and they are at level {{level}}.\n Please make the message encouraging and informative.\n ")({topicTitle:"React Hooks",userName:"Emma",level:2});(0,globals_1.expect)(e).toBe("Generate a welcome message for a user who has just started their auto tech check attempt on React Hooks.\n The user's name is Emma and they are at level 2.\n Please make the message encouraging and informative.")}),(0,globals_1.it)("should handle templates with no variables when none are needed",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("This is a static message.")();(0,globals_1.expect)(e).toBe("This is a static message.")}),(0,globals_1.it)("should preserve template structure with special characters",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Email: {{email}} | Phone: {{phone}} | Score: {{score}}%")({email:"test@example.com",phone:"+1-555-0123",score:87});(0,globals_1.expect)(e).toBe("Email: test@example.com | Phone: +1-555-0123 | Score: 87%")}),(0,globals_1.describe)("conditional sections",()=>{(0,globals_1.it)("should handle true conditional section",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Welcome, {{userName}}! {{#showBonus}}You have a bonus!{{/showBonus}}")({userName:"Alice",showBonus:!0});(0,globals_1.expect)(e).toBe("Welcome, Alice! You have a bonus!")}),(0,globals_1.it)("should handle truthy conditional section",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Welcome, {{userName}}! {{#showBonus}}You have a bonus!{{/showBonus}}")({userName:"Charlie",showBonus:"yes"});(0,globals_1.expect)(e).toBe("Welcome, Charlie! You have a bonus!")}),(0,globals_1.it)("should handle false conditional section",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Welcome, {{userName}}! {{#showBonus}}You have a bonus!{{/showBonus}}")({userName:"Bob",showBonus:!1});(0,globals_1.expect)(e).toBe("Welcome, Bob! ")}),(0,globals_1.it)("should handle falsy conditional section",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Welcome, {{userName}}! {{#showBonus}}You have a bonus!{{/showBonus}}")({userName:"Dave",showBonus:""});(0,globals_1.expect)(e).toBe("Welcome, Dave! ")}),(0,globals_1.it)("should handle nested conditional sections, all visible sections",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Welcome, {{userName}}! {{#showBonus}}You have a bonus! {{#showDiscount}}Your discount is 20%.{{/showDiscount}}{{/showBonus}}")({userName:"Eve",showBonus:!0,showDiscount:!0});(0,globals_1.expect)(e).toBe("Welcome, Eve! You have a bonus! Your discount is 20%.")}),(0,globals_1.it)("should handle nested conditional sections, outer section visible, inner section hidden",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Welcome, {{userName}}! {{#showBonus}}You have a bonus! {{#showDiscount}}Your discount is 20%.{{/showDiscount}}{{/showBonus}}")({userName:"Frank",showBonus:!0,showDiscount:!1});(0,globals_1.expect)(e).toBe("Welcome, Frank! You have a bonus! ")}),(0,globals_1.it)("should handle nested conditional sections, outer section hidden",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Welcome, {{userName}}! {{#showBonus}}You have a bonus! {{#showDiscount}}Your discount is 20%.{{/showDiscount}}{{/showBonus}}")({userName:"Grace",showBonus:!1,showDiscount:!0});(0,globals_1.expect)(e).toBe("Welcome, Grace! ")}),(0,globals_1.it)("should handle section with variable as condition",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Welcome, {{userName}}! {{#valueAsCondition}}This section is visible because the value is truthy: {{valueAsCondition}}{{/valueAsCondition}}")({userName:"Hannah",valueAsCondition:"This is a test value"});(0,globals_1.expect)(e).toBe("Welcome, Hannah! This section is visible because the value is truthy: This is a test value")}),(0,globals_1.it)("should handle multiple sections with the same name",()=>{const e=(0,promptBuilder_1.createPromptTemplate)("Welcome, {{userName}}! {{#section}}This is section 1.{{/section}} {{#section}}This is section 2.{{/section}}")({userName:"Ivy",section:!0});(0,globals_1.expect)(e).toBe("Welcome, Ivy! This is section 1. This is section 2.")})})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"promptBuilder.test.js","sourceRoot":"","sources":["../../../src/tests/unit/promptBuilder.test.ts"],"names":[],"mappings":"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"}
|