@proteinjs/conversation 2.0.4 → 2.1.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/CHANGELOG.md +11 -0
- package/LICENSE +21 -0
- package/dist/src/Conversation.d.ts +4 -1
- package/dist/src/Conversation.d.ts.map +1 -1
- package/dist/src/Conversation.js +125 -45
- package/dist/src/Conversation.js.map +1 -1
- package/dist/src/ConversationModule.d.ts +1 -1
- package/dist/src/ConversationModule.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/Conversation.ts +52 -9
- package/src/ConversationModule.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [2.1.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@2.0.4...@proteinjs/conversation@2.1.0) (2025-04-21)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* `ConversationModule.getSystemMessages` may now optionally return a promise ([fa676b4](https://github.com/proteinjs/conversation/commit/fa676b4a09536552378c8282178f00a3b1a8d6f8))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [2.0.3](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@2.0.2...@proteinjs/conversation@2.0.3) (2025-04-11)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @proteinjs/conversation
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Brent Bahry
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -24,8 +24,11 @@ export declare class Conversation {
|
|
|
24
24
|
private generatedList;
|
|
25
25
|
private logger;
|
|
26
26
|
private params;
|
|
27
|
+
private modulesProcessed;
|
|
28
|
+
private processingModulesPromise;
|
|
27
29
|
constructor(params: ConversationParams);
|
|
28
|
-
private
|
|
30
|
+
private ensureModulesProcessed;
|
|
31
|
+
private processModules;
|
|
29
32
|
private addFunctions;
|
|
30
33
|
private addMessageModerators;
|
|
31
34
|
private enforceTokenLimit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Conversation.d.ts","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAInE,OAAO,EAAU,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAsB,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE;QACP,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAC;IAChB,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAqB;
|
|
1
|
+
{"version":3,"file":"Conversation.d.ts","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Conversation.js
CHANGED
|
@@ -74,15 +74,14 @@ var Conversation = /** @class */ (function () {
|
|
|
74
74
|
this.messageModerators = [];
|
|
75
75
|
this.generatedCode = false;
|
|
76
76
|
this.generatedList = false;
|
|
77
|
+
this.modulesProcessed = false;
|
|
78
|
+
this.processingModulesPromise = null;
|
|
77
79
|
this.params = params;
|
|
78
80
|
this.history = new MessageHistory_1.MessageHistory({
|
|
79
81
|
maxMessages: (_a = params.limits) === null || _a === void 0 ? void 0 : _a.maxMessagesInHistory,
|
|
80
82
|
enforceMessageLimit: (_b = params.limits) === null || _b === void 0 ? void 0 : _b.enforceLimits,
|
|
81
83
|
});
|
|
82
84
|
this.logger = new logger_1.Logger({ name: params.name, logLevel: params.logLevel });
|
|
83
|
-
if (params.modules) {
|
|
84
|
-
this.addModules(params.modules);
|
|
85
|
-
}
|
|
86
85
|
if (typeof ((_c = params.limits) === null || _c === void 0 ? void 0 : _c.enforceLimits) === 'undefined' || params.limits.enforceLimits) {
|
|
87
86
|
this.addFunctions('Conversation', [(0, exports.summarizeConversationHistoryFunction)(this)]);
|
|
88
87
|
}
|
|
@@ -90,22 +89,85 @@ var Conversation = /** @class */ (function () {
|
|
|
90
89
|
this.tokenLimit = params.limits.tokenLimit;
|
|
91
90
|
}
|
|
92
91
|
}
|
|
93
|
-
Conversation.prototype.
|
|
94
|
-
|
|
95
|
-
var
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
92
|
+
Conversation.prototype.ensureModulesProcessed = function () {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
94
|
+
var error_1;
|
|
95
|
+
return __generator(this, function (_a) {
|
|
96
|
+
switch (_a.label) {
|
|
97
|
+
case 0:
|
|
98
|
+
// If modules are already processed, return immediately
|
|
99
|
+
if (this.modulesProcessed) {
|
|
100
|
+
return [2 /*return*/];
|
|
101
|
+
}
|
|
102
|
+
// If modules are currently being processed, wait for that to complete
|
|
103
|
+
if (this.processingModulesPromise) {
|
|
104
|
+
return [2 /*return*/, this.processingModulesPromise];
|
|
105
|
+
}
|
|
106
|
+
// Start processing modules and keep a reference to the promise
|
|
107
|
+
this.processingModulesPromise = this.processModules();
|
|
108
|
+
_a.label = 1;
|
|
109
|
+
case 1:
|
|
110
|
+
_a.trys.push([1, 3, , 4]);
|
|
111
|
+
return [4 /*yield*/, this.processingModulesPromise];
|
|
112
|
+
case 2:
|
|
113
|
+
_a.sent();
|
|
114
|
+
this.modulesProcessed = true;
|
|
115
|
+
return [3 /*break*/, 4];
|
|
116
|
+
case 3:
|
|
117
|
+
error_1 = _a.sent();
|
|
118
|
+
this.logger.error({ message: 'Error processing modules', obj: { error: error_1 } });
|
|
119
|
+
// Reset the promise so we can try again
|
|
120
|
+
this.processingModulesPromise = null;
|
|
121
|
+
throw error_1;
|
|
122
|
+
case 4: return [2 /*return*/];
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
Conversation.prototype.processModules = function () {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
129
|
+
var _i, _a, module_1, moduleSystemMessagesResult, moduleSystemMessages, formattedSystemMessages;
|
|
130
|
+
return __generator(this, function (_b) {
|
|
131
|
+
switch (_b.label) {
|
|
132
|
+
case 0:
|
|
133
|
+
if (!this.params.modules || this.params.modules.length === 0) {
|
|
134
|
+
return [2 /*return*/];
|
|
135
|
+
}
|
|
136
|
+
_i = 0, _a = this.params.modules;
|
|
137
|
+
_b.label = 1;
|
|
138
|
+
case 1:
|
|
139
|
+
if (!(_i < _a.length)) return [3 /*break*/, 6];
|
|
140
|
+
module_1 = _a[_i];
|
|
141
|
+
moduleSystemMessagesResult = module_1.getSystemMessages();
|
|
142
|
+
moduleSystemMessages = void 0;
|
|
143
|
+
if (!(moduleSystemMessagesResult instanceof Promise)) return [3 /*break*/, 3];
|
|
144
|
+
return [4 /*yield*/, moduleSystemMessagesResult];
|
|
145
|
+
case 2:
|
|
146
|
+
moduleSystemMessages = _b.sent();
|
|
147
|
+
return [3 /*break*/, 4];
|
|
148
|
+
case 3:
|
|
149
|
+
moduleSystemMessages = moduleSystemMessagesResult;
|
|
150
|
+
_b.label = 4;
|
|
151
|
+
case 4:
|
|
152
|
+
if (!moduleSystemMessages || (Array.isArray(moduleSystemMessages) && moduleSystemMessages.length < 1)) {
|
|
153
|
+
return [3 /*break*/, 5];
|
|
154
|
+
}
|
|
155
|
+
formattedSystemMessages = Array.isArray(moduleSystemMessages)
|
|
156
|
+
? moduleSystemMessages.join('. ')
|
|
157
|
+
: moduleSystemMessages;
|
|
158
|
+
this.addSystemMessagesToHistory([
|
|
159
|
+
"The following are instructions from the ".concat(module_1.getName(), " module:\n").concat(formattedSystemMessages),
|
|
160
|
+
]);
|
|
161
|
+
this.addFunctions(module_1.getName(), module_1.getFunctions());
|
|
162
|
+
this.addMessageModerators(module_1.getMessageModerators());
|
|
163
|
+
_b.label = 5;
|
|
164
|
+
case 5:
|
|
165
|
+
_i++;
|
|
166
|
+
return [3 /*break*/, 1];
|
|
167
|
+
case 6: return [2 /*return*/];
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
});
|
|
109
171
|
};
|
|
110
172
|
Conversation.prototype.addFunctions = function (moduleName, functions) {
|
|
111
173
|
var _a;
|
|
@@ -245,8 +307,11 @@ var Conversation = /** @class */ (function () {
|
|
|
245
307
|
return __awaiter(this, void 0, void 0, function () {
|
|
246
308
|
return __generator(this, function (_b) {
|
|
247
309
|
switch (_b.label) {
|
|
248
|
-
case 0: return [4 /*yield*/, this.
|
|
310
|
+
case 0: return [4 /*yield*/, this.ensureModulesProcessed()];
|
|
249
311
|
case 1:
|
|
312
|
+
_b.sent();
|
|
313
|
+
return [4 /*yield*/, this.enforceTokenLimit(messages, model)];
|
|
314
|
+
case 2:
|
|
250
315
|
_b.sent();
|
|
251
316
|
return [4 /*yield*/, new OpenAi_1.OpenAi({
|
|
252
317
|
history: this.history,
|
|
@@ -254,7 +319,7 @@ var Conversation = /** @class */ (function () {
|
|
|
254
319
|
messageModerators: this.messageModerators,
|
|
255
320
|
logLevel: this.params.logLevel,
|
|
256
321
|
}).generateResponse({ messages: messages, model: model })];
|
|
257
|
-
case
|
|
322
|
+
case 3: return [2 /*return*/, _b.sent()];
|
|
258
323
|
}
|
|
259
324
|
});
|
|
260
325
|
});
|
|
@@ -264,8 +329,11 @@ var Conversation = /** @class */ (function () {
|
|
|
264
329
|
return __awaiter(this, void 0, void 0, function () {
|
|
265
330
|
return __generator(this, function (_b) {
|
|
266
331
|
switch (_b.label) {
|
|
267
|
-
case 0: return [4 /*yield*/, this.
|
|
332
|
+
case 0: return [4 /*yield*/, this.ensureModulesProcessed()];
|
|
268
333
|
case 1:
|
|
334
|
+
_b.sent();
|
|
335
|
+
return [4 /*yield*/, this.enforceTokenLimit(messages, model)];
|
|
336
|
+
case 2:
|
|
269
337
|
_b.sent();
|
|
270
338
|
return [4 /*yield*/, new OpenAi_1.OpenAi({
|
|
271
339
|
history: this.history,
|
|
@@ -273,7 +341,7 @@ var Conversation = /** @class */ (function () {
|
|
|
273
341
|
messageModerators: this.messageModerators,
|
|
274
342
|
logLevel: this.params.logLevel,
|
|
275
343
|
}).generateStreamingResponse(__assign({ messages: messages, model: model }, rest))];
|
|
276
|
-
case
|
|
344
|
+
case 3: return [2 /*return*/, _b.sent()];
|
|
277
345
|
}
|
|
278
346
|
});
|
|
279
347
|
});
|
|
@@ -286,6 +354,9 @@ var Conversation = /** @class */ (function () {
|
|
|
286
354
|
switch (_b.label) {
|
|
287
355
|
case 0:
|
|
288
356
|
this.logger.debug({ message: "Generating code", obj: { description: description } });
|
|
357
|
+
return [4 /*yield*/, this.ensureModulesProcessed()];
|
|
358
|
+
case 1:
|
|
359
|
+
_b.sent();
|
|
289
360
|
return [4 /*yield*/, new OpenAi_1.OpenAi({
|
|
290
361
|
history: this.history,
|
|
291
362
|
functions: this.functions,
|
|
@@ -296,7 +367,7 @@ var Conversation = /** @class */ (function () {
|
|
|
296
367
|
model: model,
|
|
297
368
|
includeSystemMessages: !this.generatedCode,
|
|
298
369
|
})];
|
|
299
|
-
case
|
|
370
|
+
case 2:
|
|
300
371
|
code = _b.sent();
|
|
301
372
|
this.logger.debug({ message: "Generated code", obj: { code: code } });
|
|
302
373
|
this.generatedCode = true;
|
|
@@ -311,27 +382,30 @@ var Conversation = /** @class */ (function () {
|
|
|
311
382
|
var codeToUpdate, dependencyDescription, _i, dependencyCodeFilePaths_1, dependencyCodeFilePath, dependencCode;
|
|
312
383
|
return __generator(this, function (_b) {
|
|
313
384
|
switch (_b.label) {
|
|
314
|
-
case 0: return [4 /*yield*/,
|
|
385
|
+
case 0: return [4 /*yield*/, this.ensureModulesProcessed()];
|
|
315
386
|
case 1:
|
|
387
|
+
_b.sent();
|
|
388
|
+
return [4 /*yield*/, util_node_1.Fs.readFile(codeToUpdateFilePath)];
|
|
389
|
+
case 2:
|
|
316
390
|
codeToUpdate = _b.sent();
|
|
317
391
|
dependencyDescription = "Assume the following exists:\n";
|
|
318
392
|
_i = 0, dependencyCodeFilePaths_1 = dependencyCodeFilePaths;
|
|
319
|
-
_b.label =
|
|
320
|
-
case
|
|
321
|
-
if (!(_i < dependencyCodeFilePaths_1.length)) return [3 /*break*/,
|
|
393
|
+
_b.label = 3;
|
|
394
|
+
case 3:
|
|
395
|
+
if (!(_i < dependencyCodeFilePaths_1.length)) return [3 /*break*/, 6];
|
|
322
396
|
dependencyCodeFilePath = dependencyCodeFilePaths_1[_i];
|
|
323
397
|
return [4 /*yield*/, util_node_1.Fs.readFile(dependencyCodeFilePath)];
|
|
324
|
-
case
|
|
398
|
+
case 4:
|
|
325
399
|
dependencCode = _b.sent();
|
|
326
400
|
dependencyDescription += dependencCode + '\n\n';
|
|
327
|
-
_b.label =
|
|
328
|
-
case 4:
|
|
329
|
-
_i++;
|
|
330
|
-
return [3 /*break*/, 2];
|
|
401
|
+
_b.label = 5;
|
|
331
402
|
case 5:
|
|
403
|
+
_i++;
|
|
404
|
+
return [3 /*break*/, 3];
|
|
405
|
+
case 6:
|
|
332
406
|
this.logger.debug({ message: "Updating code from file", obj: { codeToUpdateFilePath: codeToUpdateFilePath } });
|
|
333
407
|
return [4 /*yield*/, this.updateCode({ code: codeToUpdate, description: dependencyDescription + description, model: model })];
|
|
334
|
-
case
|
|
408
|
+
case 7: return [2 /*return*/, _b.sent()];
|
|
335
409
|
}
|
|
336
410
|
});
|
|
337
411
|
});
|
|
@@ -344,6 +418,9 @@ var Conversation = /** @class */ (function () {
|
|
|
344
418
|
switch (_b.label) {
|
|
345
419
|
case 0:
|
|
346
420
|
this.logger.debug({ message: "Updating code", obj: { description: description, code: code } });
|
|
421
|
+
return [4 /*yield*/, this.ensureModulesProcessed()];
|
|
422
|
+
case 1:
|
|
423
|
+
_b.sent();
|
|
347
424
|
return [4 /*yield*/, new OpenAi_1.OpenAi({
|
|
348
425
|
history: this.history,
|
|
349
426
|
functions: this.functions,
|
|
@@ -355,7 +432,7 @@ var Conversation = /** @class */ (function () {
|
|
|
355
432
|
model: model,
|
|
356
433
|
includeSystemMessages: !this.generatedCode,
|
|
357
434
|
})];
|
|
358
|
-
case
|
|
435
|
+
case 2:
|
|
359
436
|
updatedCode = _b.sent();
|
|
360
437
|
this.logger.debug({ message: "Updated code", obj: { updatedCode: updatedCode } });
|
|
361
438
|
this.generatedCode = true;
|
|
@@ -370,17 +447,20 @@ var Conversation = /** @class */ (function () {
|
|
|
370
447
|
var list;
|
|
371
448
|
return __generator(this, function (_b) {
|
|
372
449
|
switch (_b.label) {
|
|
373
|
-
case 0: return [4 /*yield*/,
|
|
374
|
-
history: this.history,
|
|
375
|
-
functions: this.functions,
|
|
376
|
-
messageModerators: this.messageModerators,
|
|
377
|
-
logLevel: this.params.logLevel,
|
|
378
|
-
}).generateList({
|
|
379
|
-
messages: description,
|
|
380
|
-
model: model,
|
|
381
|
-
includeSystemMessages: !this.generatedList,
|
|
382
|
-
})];
|
|
450
|
+
case 0: return [4 /*yield*/, this.ensureModulesProcessed()];
|
|
383
451
|
case 1:
|
|
452
|
+
_b.sent();
|
|
453
|
+
return [4 /*yield*/, new OpenAi_1.OpenAi({
|
|
454
|
+
history: this.history,
|
|
455
|
+
functions: this.functions,
|
|
456
|
+
messageModerators: this.messageModerators,
|
|
457
|
+
logLevel: this.params.logLevel,
|
|
458
|
+
}).generateList({
|
|
459
|
+
messages: description,
|
|
460
|
+
model: model,
|
|
461
|
+
includeSystemMessages: !this.generatedList,
|
|
462
|
+
})];
|
|
463
|
+
case 2:
|
|
384
464
|
list = _b.sent();
|
|
385
465
|
this.generatedList = true;
|
|
386
466
|
return [2 /*return*/, list];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Conversation.js","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Conversation.js","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { MessageModerator } from './history/MessageModerator';
|
|
|
3
3
|
export interface ConversationModule {
|
|
4
4
|
getName(): string;
|
|
5
5
|
/** Return array of strings that will be formatted with periods in between or return a preformatted string */
|
|
6
|
-
getSystemMessages(): string[] | string
|
|
6
|
+
getSystemMessages(): string[] | string | Promise<string[] | string>;
|
|
7
7
|
getFunctions(): Function[];
|
|
8
8
|
getMessageModerators(): MessageModerator[];
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationModule.d.ts","sourceRoot":"","sources":["../../src/ConversationModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,OAAO,IAAI,MAAM,CAAC;IAClB,6GAA6G;IAC7G,iBAAiB,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ConversationModule.d.ts","sourceRoot":"","sources":["../../src/ConversationModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,OAAO,IAAI,MAAM,CAAC;IAClB,6GAA6G;IAC7G,iBAAiB,IAAI,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;IACpE,YAAY,IAAI,QAAQ,EAAE,CAAC;IAC3B,oBAAoB,IAAI,gBAAgB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC7D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proteinjs/conversation",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"publishConfig": {
|
|
@@ -36,5 +36,6 @@
|
|
|
36
36
|
"readline-sync": "1.4.10",
|
|
37
37
|
"tiktoken": "1.0.15",
|
|
38
38
|
"typescript": "5.2.2"
|
|
39
|
-
}
|
|
39
|
+
},
|
|
40
|
+
"gitHead": "9531e08f0aa9004f6f1c4787811538ebb7cb56d1"
|
|
40
41
|
}
|
package/src/Conversation.ts
CHANGED
|
@@ -31,6 +31,8 @@ export class Conversation {
|
|
|
31
31
|
private generatedList = false;
|
|
32
32
|
private logger: Logger;
|
|
33
33
|
private params: ConversationParams;
|
|
34
|
+
private modulesProcessed = false;
|
|
35
|
+
private processingModulesPromise: Promise<void> | null = null;
|
|
34
36
|
|
|
35
37
|
constructor(params: ConversationParams) {
|
|
36
38
|
this.params = params;
|
|
@@ -40,10 +42,6 @@ export class Conversation {
|
|
|
40
42
|
});
|
|
41
43
|
this.logger = new Logger({ name: params.name, logLevel: params.logLevel });
|
|
42
44
|
|
|
43
|
-
if (params.modules) {
|
|
44
|
-
this.addModules(params.modules);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
45
|
if (typeof params.limits?.enforceLimits === 'undefined' || params.limits.enforceLimits) {
|
|
48
46
|
this.addFunctions('Conversation', [summarizeConversationHistoryFunction(this)]);
|
|
49
47
|
}
|
|
@@ -53,19 +51,58 @@ export class Conversation {
|
|
|
53
51
|
}
|
|
54
52
|
}
|
|
55
53
|
|
|
56
|
-
private
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
private async ensureModulesProcessed(): Promise<void> {
|
|
55
|
+
// If modules are already processed, return immediately
|
|
56
|
+
if (this.modulesProcessed) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// If modules are currently being processed, wait for that to complete
|
|
61
|
+
if (this.processingModulesPromise) {
|
|
62
|
+
return this.processingModulesPromise;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Start processing modules and keep a reference to the promise
|
|
66
|
+
this.processingModulesPromise = this.processModules();
|
|
67
|
+
|
|
68
|
+
try {
|
|
69
|
+
await this.processingModulesPromise;
|
|
70
|
+
this.modulesProcessed = true;
|
|
71
|
+
} catch (error) {
|
|
72
|
+
this.logger.error({ message: 'Error processing modules', obj: { error } });
|
|
73
|
+
// Reset the promise so we can try again
|
|
74
|
+
this.processingModulesPromise = null;
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
private async processModules(): Promise<void> {
|
|
80
|
+
if (!this.params.modules || this.params.modules.length === 0) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
for (const module of this.params.modules) {
|
|
85
|
+
// Get system messages and handle potential Promise
|
|
86
|
+
const moduleSystemMessagesResult = module.getSystemMessages();
|
|
87
|
+
let moduleSystemMessages: string[] | string;
|
|
88
|
+
|
|
89
|
+
// Check if the result is a Promise and await it if needed
|
|
90
|
+
if (moduleSystemMessagesResult instanceof Promise) {
|
|
91
|
+
moduleSystemMessages = await moduleSystemMessagesResult;
|
|
92
|
+
} else {
|
|
93
|
+
moduleSystemMessages = moduleSystemMessagesResult;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if (!moduleSystemMessages || (Array.isArray(moduleSystemMessages) && moduleSystemMessages.length < 1)) {
|
|
59
97
|
continue;
|
|
60
98
|
}
|
|
61
99
|
|
|
62
|
-
const moduleSystemMessages = module.getSystemMessages();
|
|
63
100
|
const formattedSystemMessages = Array.isArray(moduleSystemMessages)
|
|
64
101
|
? moduleSystemMessages.join('. ')
|
|
65
102
|
: moduleSystemMessages;
|
|
66
103
|
|
|
67
104
|
this.addSystemMessagesToHistory([
|
|
68
|
-
`The following are instructions from the ${module.getName()} module
|
|
105
|
+
`The following are instructions from the ${module.getName()} module:\n${formattedSystemMessages}`,
|
|
69
106
|
]);
|
|
70
107
|
this.addFunctions(module.getName(), module.getFunctions());
|
|
71
108
|
this.addMessageModerators(module.getMessageModerators());
|
|
@@ -201,6 +238,7 @@ export class Conversation {
|
|
|
201
238
|
messages: (string | ChatCompletionMessageParam)[];
|
|
202
239
|
model?: TiktokenModel;
|
|
203
240
|
}) {
|
|
241
|
+
await this.ensureModulesProcessed();
|
|
204
242
|
await this.enforceTokenLimit(messages, model);
|
|
205
243
|
return await new OpenAi({
|
|
206
244
|
history: this.history,
|
|
@@ -220,6 +258,7 @@ export class Conversation {
|
|
|
220
258
|
abortSignal?: AbortSignal;
|
|
221
259
|
onUsageData?: (usageData: UsageData) => Promise<void>;
|
|
222
260
|
}) {
|
|
261
|
+
await this.ensureModulesProcessed();
|
|
223
262
|
await this.enforceTokenLimit(messages, model);
|
|
224
263
|
return await new OpenAi({
|
|
225
264
|
history: this.history,
|
|
@@ -231,6 +270,7 @@ export class Conversation {
|
|
|
231
270
|
|
|
232
271
|
async generateCode({ description, model }: { description: string[]; model?: TiktokenModel }) {
|
|
233
272
|
this.logger.debug({ message: `Generating code`, obj: { description } });
|
|
273
|
+
await this.ensureModulesProcessed();
|
|
234
274
|
const code = await new OpenAi({
|
|
235
275
|
history: this.history,
|
|
236
276
|
functions: this.functions,
|
|
@@ -257,6 +297,7 @@ export class Conversation {
|
|
|
257
297
|
description: string;
|
|
258
298
|
model?: TiktokenModel;
|
|
259
299
|
}) {
|
|
300
|
+
await this.ensureModulesProcessed();
|
|
260
301
|
const codeToUpdate = await Fs.readFile(codeToUpdateFilePath);
|
|
261
302
|
let dependencyDescription = `Assume the following exists:\n`;
|
|
262
303
|
for (const dependencyCodeFilePath of dependencyCodeFilePaths) {
|
|
@@ -270,6 +311,7 @@ export class Conversation {
|
|
|
270
311
|
|
|
271
312
|
async updateCode({ code, description, model }: { code: string; description: string; model?: TiktokenModel }) {
|
|
272
313
|
this.logger.debug({ message: `Updating code`, obj: { description, code } });
|
|
314
|
+
await this.ensureModulesProcessed();
|
|
273
315
|
const updatedCode = await new OpenAi({
|
|
274
316
|
history: this.history,
|
|
275
317
|
functions: this.functions,
|
|
@@ -287,6 +329,7 @@ export class Conversation {
|
|
|
287
329
|
}
|
|
288
330
|
|
|
289
331
|
async generateList({ description, model }: { description: string[]; model?: TiktokenModel }) {
|
|
332
|
+
await this.ensureModulesProcessed();
|
|
290
333
|
const list = await new OpenAi({
|
|
291
334
|
history: this.history,
|
|
292
335
|
functions: this.functions,
|
|
@@ -4,7 +4,7 @@ import { MessageModerator } from './history/MessageModerator';
|
|
|
4
4
|
export interface ConversationModule {
|
|
5
5
|
getName(): string;
|
|
6
6
|
/** Return array of strings that will be formatted with periods in between or return a preformatted string */
|
|
7
|
-
getSystemMessages(): string[] | string
|
|
7
|
+
getSystemMessages(): string[] | string | Promise<string[] | string>;
|
|
8
8
|
getFunctions(): Function[];
|
|
9
9
|
getMessageModerators(): MessageModerator[];
|
|
10
10
|
}
|