@proteinjs/conversation 1.7.5 → 2.0.1
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 +18 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/src/CodegenConversation.d.ts.map +1 -1
- package/dist/src/CodegenConversation.js +9 -6
- package/dist/src/CodegenConversation.js.map +1 -1
- package/dist/src/Conversation.d.ts +30 -6
- package/dist/src/Conversation.d.ts.map +1 -1
- package/dist/src/Conversation.js +119 -47
- package/dist/src/Conversation.js.map +1 -1
- package/dist/src/OpenAi.d.ts +57 -15
- package/dist/src/OpenAi.d.ts.map +1 -1
- package/dist/src/OpenAi.js +148 -124
- package/dist/src/OpenAi.js.map +1 -1
- package/dist/src/OpenAiStreamProcessor.d.ts +5 -1
- package/dist/src/OpenAiStreamProcessor.d.ts.map +1 -1
- package/dist/src/OpenAiStreamProcessor.js +25 -5
- package/dist/src/OpenAiStreamProcessor.js.map +1 -1
- package/dist/src/UsageData.d.ts +38 -0
- package/dist/src/UsageData.d.ts.map +1 -0
- package/dist/src/UsageData.js +47 -0
- package/dist/src/UsageData.js.map +1 -0
- package/dist/src/code_template/Code.js +1 -1
- package/dist/src/code_template/Code.js.map +1 -1
- package/dist/test/openai/openai.generateList.test.js +1 -1
- package/dist/test/openai/openai.generateList.test.js.map +1 -1
- package/index.ts +1 -0
- package/package.json +2 -2
- package/src/CodegenConversation.ts +6 -3
- package/src/Conversation.ts +87 -80
- package/src/OpenAi.ts +197 -210
- package/src/OpenAiStreamProcessor.ts +25 -6
- package/src/UsageData.ts +76 -0
- package/src/code_template/Code.ts +1 -1
- package/test/openai/openai.generateList.test.ts +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,24 @@
|
|
|
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.0.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@1.7.5...@proteinjs/conversation@2.0.0) (2024-08-18)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* `OpenAi` now returns `UsageData` for `generateResponse` and `generateStreamingResponse` methods. ([c4f5488](https://github.com/proteinjs/conversation/commit/c4f54888949a3c64beda24a1735f6af2dbf7329d))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### BREAKING CHANGES
|
|
15
|
+
|
|
16
|
+
* converted `OpenAi` static methods to be instance methods. Also updated params to be a single object for most methods in `OpenAi` and `Conversation`.
|
|
17
|
+
|
|
18
|
+
Made these changes to simplify the maintenance of `OpenAi` and also to simplify the code calling the api to not need order args (and pass in undefined often) with such a large number of optional parameters.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
6
24
|
## [1.7.4](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@1.7.3...@proteinjs/conversation@1.7.4) (2024-08-16)
|
|
7
25
|
|
|
8
26
|
|
package/dist/index.d.ts
CHANGED
|
@@ -11,4 +11,5 @@ export * from './src/history/MessageModerator';
|
|
|
11
11
|
export * from './src/history/MessageHistory';
|
|
12
12
|
export * from './src/ChatCompletionMessageParamFactory';
|
|
13
13
|
export { AssistantResponseStreamChunk } from './src/OpenAiStreamProcessor';
|
|
14
|
+
export { UsageData } from './src/UsageData';
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodegenConversation.d.ts","sourceRoot":"","sources":["../../src/CodegenConversation.ts"],"names":[],"mappings":"AAcA,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAoC;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAA0B;IAC9C,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAItB,KAAK;
|
|
1
|
+
{"version":3,"file":"CodegenConversation.d.ts","sourceRoot":"","sources":["../../src/CodegenConversation.ts"],"names":[],"mappings":"AAcA,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAoC;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAA0B;IAC9C,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAItB,KAAK;YAeG,kBAAkB;YAUlB,UAAU;IAgBxB,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,aAAa;CAGtB"}
|
|
@@ -74,7 +74,7 @@ var CodegenConversation = /** @class */ (function () {
|
|
|
74
74
|
}
|
|
75
75
|
CodegenConversation.prototype.start = function () {
|
|
76
76
|
return __awaiter(this, void 0, void 0, function () {
|
|
77
|
-
var conversation, initialUserInput,
|
|
77
|
+
var conversation, initialUserInput, responseObject, userInput;
|
|
78
78
|
return __generator(this, function (_a) {
|
|
79
79
|
switch (_a.label) {
|
|
80
80
|
case 0: return [4 /*yield*/, this.createConversation()];
|
|
@@ -82,16 +82,19 @@ var CodegenConversation = /** @class */ (function () {
|
|
|
82
82
|
conversation = _a.sent();
|
|
83
83
|
conversation.addAssistantMessagesToHistory([CodegenConversation.INITIAL_QUESTION]);
|
|
84
84
|
initialUserInput = this.respondToUser(CodegenConversation.INITIAL_QUESTION);
|
|
85
|
-
return [4 /*yield*/, conversation.generateResponse(
|
|
85
|
+
return [4 /*yield*/, conversation.generateResponse({
|
|
86
|
+
messages: [initialUserInput],
|
|
87
|
+
model: CodegenConversation.MODEL,
|
|
88
|
+
})];
|
|
86
89
|
case 2:
|
|
87
|
-
|
|
90
|
+
responseObject = _a.sent();
|
|
88
91
|
_a.label = 3;
|
|
89
92
|
case 3:
|
|
90
93
|
if (!true) return [3 /*break*/, 5];
|
|
91
|
-
userInput = this.respondToUser(
|
|
92
|
-
return [4 /*yield*/, conversation.generateResponse([userInput], CodegenConversation.MODEL)];
|
|
94
|
+
userInput = this.respondToUser(responseObject.message);
|
|
95
|
+
return [4 /*yield*/, conversation.generateResponse({ messages: [userInput], model: CodegenConversation.MODEL })];
|
|
93
96
|
case 4:
|
|
94
|
-
|
|
97
|
+
responseObject = _a.sent();
|
|
95
98
|
return [3 /*break*/, 3];
|
|
96
99
|
case 5: return [2 /*return*/];
|
|
97
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodegenConversation.js","sourceRoot":"","sources":["../../src/CodegenConversation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA0C;AAC1C,+CAA8C;AAC9C,mGAAyG;AACzG,oFAA0F;AAC1F,kFAAwF;AACxF,4DAAkE;AAElE,wCAAsD;AACtD,gDAAsD;AAMtD;IAME,6BAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEK,mCAAK,GAAX;;;;;4BACuB,qBAAM,IAAI,CAAC,kBAAkB,EAAE,EAAA;;wBAA9C,YAAY,GAAG,SAA+B;wBACpD,YAAY,CAAC,6BAA6B,CAAC,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBAC7E,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"CodegenConversation.js","sourceRoot":"","sources":["../../src/CodegenConversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { ChatCompletionMessageParam } from 'openai/resources/chat';
|
|
|
3
3
|
import { LogLevel } from '@proteinjs/logger';
|
|
4
4
|
import { ConversationModule } from './ConversationModule';
|
|
5
5
|
import { TiktokenModel } from 'tiktoken';
|
|
6
|
+
import { UsageData } from './UsageData';
|
|
6
7
|
export type ConversationParams = {
|
|
7
8
|
name: string;
|
|
8
9
|
modules?: ConversationModule[];
|
|
@@ -34,12 +35,35 @@ export declare class Conversation {
|
|
|
34
35
|
addAssistantMessagesToHistory(messages: string[], unshift?: boolean): void;
|
|
35
36
|
addUserMessagesToHistory(messages: string[], unshift?: boolean): void;
|
|
36
37
|
addMessagesToHistory(messages: ChatCompletionMessageParam[], unshift?: boolean): void;
|
|
37
|
-
generateResponse(messages
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
generateResponse({ messages, model, }: {
|
|
39
|
+
messages: (string | ChatCompletionMessageParam)[];
|
|
40
|
+
model?: TiktokenModel;
|
|
41
|
+
}): Promise<import("./OpenAi").GenerateResponseReturn>;
|
|
42
|
+
generateStreamingResponse({ messages, model, ...rest }: {
|
|
43
|
+
messages: (string | ChatCompletionMessageParam)[];
|
|
44
|
+
model?: TiktokenModel;
|
|
45
|
+
abortSignal?: AbortSignal;
|
|
46
|
+
onUsageData?: (usageData: UsageData) => Promise<void>;
|
|
47
|
+
}): Promise<import("stream").Readable>;
|
|
48
|
+
generateCode({ description, model }: {
|
|
49
|
+
description: string[];
|
|
50
|
+
model?: TiktokenModel;
|
|
51
|
+
}): Promise<string>;
|
|
52
|
+
updateCodeFromFile({ codeToUpdateFilePath, dependencyCodeFilePaths, description, model, }: {
|
|
53
|
+
codeToUpdateFilePath: string;
|
|
54
|
+
dependencyCodeFilePaths: string[];
|
|
55
|
+
description: string;
|
|
56
|
+
model?: TiktokenModel;
|
|
57
|
+
}): Promise<string>;
|
|
58
|
+
updateCode({ code, description, model }: {
|
|
59
|
+
code: string;
|
|
60
|
+
description: string;
|
|
61
|
+
model?: TiktokenModel;
|
|
62
|
+
}): Promise<string>;
|
|
63
|
+
generateList({ description, model }: {
|
|
64
|
+
description: string[];
|
|
65
|
+
model?: TiktokenModel;
|
|
66
|
+
}): Promise<string[]>;
|
|
43
67
|
}
|
|
44
68
|
export declare const summarizeConversationHistoryFunctionName = "summarizeConversationHistory";
|
|
45
69
|
export declare const summarizeConversationHistoryFunction: (conversation: Conversation) => {
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"Conversation.d.ts","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Conversation.js
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
14
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -35,6 +46,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
47
|
}
|
|
37
48
|
};
|
|
49
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
50
|
+
var t = {};
|
|
51
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
52
|
+
t[p] = s[p];
|
|
53
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
54
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
55
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
56
|
+
t[p[i]] = s[p[i]];
|
|
57
|
+
}
|
|
58
|
+
return t;
|
|
59
|
+
};
|
|
38
60
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
61
|
exports.summarizeConversationHistoryFunction = exports.summarizeConversationHistoryFunctionName = exports.Conversation = void 0;
|
|
40
62
|
var OpenAi_1 = require("./OpenAi");
|
|
@@ -153,11 +175,21 @@ var Conversation = /** @class */ (function () {
|
|
|
153
175
|
return [2 /*return*/];
|
|
154
176
|
}
|
|
155
177
|
summarizeConversationRequest = "First, call the ".concat(exports.summarizeConversationHistoryFunctionName, " function");
|
|
156
|
-
return [4 /*yield*/, OpenAi_1.OpenAi
|
|
178
|
+
return [4 /*yield*/, new OpenAi_1.OpenAi({
|
|
179
|
+
history: this.history,
|
|
180
|
+
functions: this.functions,
|
|
181
|
+
messageModerators: this.messageModerators,
|
|
182
|
+
logLevel: this.params.logLevel,
|
|
183
|
+
}).generateResponse({ messages: [summarizeConversationRequest], model: model })];
|
|
157
184
|
case 1:
|
|
158
185
|
_b.sent();
|
|
159
186
|
referenceSummaryRequest = "If there's a file mentioned in the conversation summary, find and read the file to better respond to my next request. If that doesn't find anything, call the ".concat(PackageFunctions_1.searchLibrariesFunctionName, " function on other keywords in the conversation summary to find a file to read");
|
|
160
|
-
return [4 /*yield*/, OpenAi_1.OpenAi
|
|
187
|
+
return [4 /*yield*/, new OpenAi_1.OpenAi({
|
|
188
|
+
history: this.history,
|
|
189
|
+
functions: this.functions,
|
|
190
|
+
messageModerators: this.messageModerators,
|
|
191
|
+
logLevel: this.params.logLevel,
|
|
192
|
+
}).generateResponse({ messages: [referenceSummaryRequest], model: model })];
|
|
161
193
|
case 2:
|
|
162
194
|
_b.sent();
|
|
163
195
|
return [2 /*return*/];
|
|
@@ -208,108 +240,148 @@ var Conversation = /** @class */ (function () {
|
|
|
208
240
|
(_c = this.systemMessages).push.apply(_c, systemMessages);
|
|
209
241
|
}
|
|
210
242
|
};
|
|
211
|
-
Conversation.prototype.generateResponse = function (
|
|
243
|
+
Conversation.prototype.generateResponse = function (_a) {
|
|
244
|
+
var messages = _a.messages, model = _a.model;
|
|
212
245
|
return __awaiter(this, void 0, void 0, function () {
|
|
213
|
-
return __generator(this, function (
|
|
214
|
-
switch (
|
|
246
|
+
return __generator(this, function (_b) {
|
|
247
|
+
switch (_b.label) {
|
|
215
248
|
case 0: return [4 /*yield*/, this.enforceTokenLimit(messages, model)];
|
|
216
249
|
case 1:
|
|
217
|
-
|
|
218
|
-
return [4 /*yield*/, OpenAi_1.OpenAi
|
|
219
|
-
|
|
250
|
+
_b.sent();
|
|
251
|
+
return [4 /*yield*/, new OpenAi_1.OpenAi({
|
|
252
|
+
history: this.history,
|
|
253
|
+
functions: this.functions,
|
|
254
|
+
messageModerators: this.messageModerators,
|
|
255
|
+
logLevel: this.params.logLevel,
|
|
256
|
+
}).generateResponse({ messages: messages, model: model })];
|
|
257
|
+
case 2: return [2 /*return*/, _b.sent()];
|
|
220
258
|
}
|
|
221
259
|
});
|
|
222
260
|
});
|
|
223
261
|
};
|
|
224
|
-
Conversation.prototype.generateStreamingResponse = function (
|
|
262
|
+
Conversation.prototype.generateStreamingResponse = function (_a) {
|
|
263
|
+
var messages = _a.messages, model = _a.model, rest = __rest(_a, ["messages", "model"]);
|
|
225
264
|
return __awaiter(this, void 0, void 0, function () {
|
|
226
|
-
return __generator(this, function (
|
|
227
|
-
switch (
|
|
265
|
+
return __generator(this, function (_b) {
|
|
266
|
+
switch (_b.label) {
|
|
228
267
|
case 0: return [4 /*yield*/, this.enforceTokenLimit(messages, model)];
|
|
229
268
|
case 1:
|
|
230
|
-
|
|
231
|
-
return [4 /*yield*/, OpenAi_1.OpenAi
|
|
232
|
-
|
|
269
|
+
_b.sent();
|
|
270
|
+
return [4 /*yield*/, new OpenAi_1.OpenAi({
|
|
271
|
+
history: this.history,
|
|
272
|
+
functions: this.functions,
|
|
273
|
+
messageModerators: this.messageModerators,
|
|
274
|
+
logLevel: this.params.logLevel,
|
|
275
|
+
}).generateStreamingResponse(__assign({ messages: messages, model: model }, rest))];
|
|
276
|
+
case 2: return [2 /*return*/, _b.sent()];
|
|
233
277
|
}
|
|
234
278
|
});
|
|
235
279
|
});
|
|
236
280
|
};
|
|
237
|
-
Conversation.prototype.generateCode = function (
|
|
281
|
+
Conversation.prototype.generateCode = function (_a) {
|
|
282
|
+
var description = _a.description, model = _a.model;
|
|
238
283
|
return __awaiter(this, void 0, void 0, function () {
|
|
239
284
|
var code;
|
|
240
|
-
return __generator(this, function (
|
|
241
|
-
switch (
|
|
285
|
+
return __generator(this, function (_b) {
|
|
286
|
+
switch (_b.label) {
|
|
242
287
|
case 0:
|
|
243
|
-
this.logger.
|
|
244
|
-
return [4 /*yield*/, OpenAi_1.OpenAi
|
|
288
|
+
this.logger.debug({ message: "Generating code", obj: { description: description } });
|
|
289
|
+
return [4 /*yield*/, new OpenAi_1.OpenAi({
|
|
290
|
+
history: this.history,
|
|
291
|
+
functions: this.functions,
|
|
292
|
+
messageModerators: this.messageModerators,
|
|
293
|
+
logLevel: this.params.logLevel,
|
|
294
|
+
}).generateCode({
|
|
295
|
+
messages: description,
|
|
296
|
+
model: model,
|
|
297
|
+
includeSystemMessages: !this.generatedCode,
|
|
298
|
+
})];
|
|
245
299
|
case 1:
|
|
246
|
-
code =
|
|
247
|
-
this.logger.
|
|
300
|
+
code = _b.sent();
|
|
301
|
+
this.logger.debug({ message: "Generated code", obj: { code: code } });
|
|
248
302
|
this.generatedCode = true;
|
|
249
303
|
return [2 /*return*/, code];
|
|
250
304
|
}
|
|
251
305
|
});
|
|
252
306
|
});
|
|
253
307
|
};
|
|
254
|
-
Conversation.prototype.updateCodeFromFile = function (
|
|
308
|
+
Conversation.prototype.updateCodeFromFile = function (_a) {
|
|
309
|
+
var codeToUpdateFilePath = _a.codeToUpdateFilePath, dependencyCodeFilePaths = _a.dependencyCodeFilePaths, description = _a.description, model = _a.model;
|
|
255
310
|
return __awaiter(this, void 0, void 0, function () {
|
|
256
311
|
var codeToUpdate, dependencyDescription, _i, dependencyCodeFilePaths_1, dependencyCodeFilePath, dependencCode;
|
|
257
|
-
return __generator(this, function (
|
|
258
|
-
switch (
|
|
312
|
+
return __generator(this, function (_b) {
|
|
313
|
+
switch (_b.label) {
|
|
259
314
|
case 0: return [4 /*yield*/, util_node_1.Fs.readFile(codeToUpdateFilePath)];
|
|
260
315
|
case 1:
|
|
261
|
-
codeToUpdate =
|
|
316
|
+
codeToUpdate = _b.sent();
|
|
262
317
|
dependencyDescription = "Assume the following exists:\n";
|
|
263
318
|
_i = 0, dependencyCodeFilePaths_1 = dependencyCodeFilePaths;
|
|
264
|
-
|
|
319
|
+
_b.label = 2;
|
|
265
320
|
case 2:
|
|
266
321
|
if (!(_i < dependencyCodeFilePaths_1.length)) return [3 /*break*/, 5];
|
|
267
322
|
dependencyCodeFilePath = dependencyCodeFilePaths_1[_i];
|
|
268
323
|
return [4 /*yield*/, util_node_1.Fs.readFile(dependencyCodeFilePath)];
|
|
269
324
|
case 3:
|
|
270
|
-
dependencCode =
|
|
325
|
+
dependencCode = _b.sent();
|
|
271
326
|
dependencyDescription += dependencCode + '\n\n';
|
|
272
|
-
|
|
327
|
+
_b.label = 4;
|
|
273
328
|
case 4:
|
|
274
329
|
_i++;
|
|
275
330
|
return [3 /*break*/, 2];
|
|
276
331
|
case 5:
|
|
277
|
-
this.logger.
|
|
278
|
-
return [4 /*yield*/, this.updateCode(codeToUpdate, dependencyDescription + description, model)];
|
|
279
|
-
case 6: return [2 /*return*/,
|
|
332
|
+
this.logger.debug({ message: "Updating code from file", obj: { codeToUpdateFilePath: codeToUpdateFilePath } });
|
|
333
|
+
return [4 /*yield*/, this.updateCode({ code: codeToUpdate, description: dependencyDescription + description, model: model })];
|
|
334
|
+
case 6: return [2 /*return*/, _b.sent()];
|
|
280
335
|
}
|
|
281
336
|
});
|
|
282
337
|
});
|
|
283
338
|
};
|
|
284
|
-
Conversation.prototype.updateCode = function (
|
|
339
|
+
Conversation.prototype.updateCode = function (_a) {
|
|
340
|
+
var code = _a.code, description = _a.description, model = _a.model;
|
|
285
341
|
return __awaiter(this, void 0, void 0, function () {
|
|
286
342
|
var updatedCode;
|
|
287
|
-
return __generator(this, function (
|
|
288
|
-
switch (
|
|
343
|
+
return __generator(this, function (_b) {
|
|
344
|
+
switch (_b.label) {
|
|
289
345
|
case 0:
|
|
290
|
-
this.logger.
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
346
|
+
this.logger.debug({ message: "Updating code", obj: { description: description, code: code } });
|
|
347
|
+
return [4 /*yield*/, new OpenAi_1.OpenAi({
|
|
348
|
+
history: this.history,
|
|
349
|
+
functions: this.functions,
|
|
350
|
+
messageModerators: this.messageModerators,
|
|
351
|
+
logLevel: this.params.logLevel,
|
|
352
|
+
}).updateCode({
|
|
353
|
+
code: code,
|
|
354
|
+
description: description,
|
|
355
|
+
model: model,
|
|
356
|
+
includeSystemMessages: !this.generatedCode,
|
|
357
|
+
})];
|
|
294
358
|
case 1:
|
|
295
|
-
updatedCode =
|
|
296
|
-
this.logger.
|
|
297
|
-
message: "Updated code:\n".concat(updatedCode.slice(0, 150)).concat(updatedCode.length > 150 ? '...' : ''),
|
|
298
|
-
});
|
|
359
|
+
updatedCode = _b.sent();
|
|
360
|
+
this.logger.debug({ message: "Updated code", obj: { updatedCode: updatedCode } });
|
|
299
361
|
this.generatedCode = true;
|
|
300
362
|
return [2 /*return*/, updatedCode];
|
|
301
363
|
}
|
|
302
364
|
});
|
|
303
365
|
});
|
|
304
366
|
};
|
|
305
|
-
Conversation.prototype.generateList = function (
|
|
367
|
+
Conversation.prototype.generateList = function (_a) {
|
|
368
|
+
var description = _a.description, model = _a.model;
|
|
306
369
|
return __awaiter(this, void 0, void 0, function () {
|
|
307
370
|
var list;
|
|
308
|
-
return __generator(this, function (
|
|
309
|
-
switch (
|
|
310
|
-
case 0: return [4 /*yield*/, OpenAi_1.OpenAi
|
|
371
|
+
return __generator(this, function (_b) {
|
|
372
|
+
switch (_b.label) {
|
|
373
|
+
case 0: return [4 /*yield*/, new OpenAi_1.OpenAi({
|
|
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
|
+
})];
|
|
311
383
|
case 1:
|
|
312
|
-
list =
|
|
384
|
+
list = _b.sent();
|
|
313
385
|
this.generatedList = true;
|
|
314
386
|
return [2 /*return*/, list];
|
|
315
387
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Conversation.js","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Conversation.js","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"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"}
|
package/dist/src/OpenAi.d.ts
CHANGED
|
@@ -6,24 +6,66 @@ import { Function } from './Function';
|
|
|
6
6
|
import { MessageHistory } from './history/MessageHistory';
|
|
7
7
|
import { TiktokenModel } from 'tiktoken';
|
|
8
8
|
import { Readable } from 'stream';
|
|
9
|
+
import { UsageData } from './UsageData';
|
|
10
|
+
export type GenerateResponseParams = {
|
|
11
|
+
messages: (string | ChatCompletionMessageParam)[];
|
|
12
|
+
model?: TiktokenModel;
|
|
13
|
+
};
|
|
14
|
+
export type GenerateResponseReturn = {
|
|
15
|
+
message: string;
|
|
16
|
+
usagedata: UsageData;
|
|
17
|
+
};
|
|
18
|
+
export type GenerateStreamingResponseParams = GenerateResponseParams & {
|
|
19
|
+
abortSignal?: AbortSignal;
|
|
20
|
+
onUsageData?: (usageData: UsageData) => Promise<void>;
|
|
21
|
+
};
|
|
22
|
+
export type OpenAiParams = {
|
|
23
|
+
model?: TiktokenModel;
|
|
24
|
+
history?: MessageHistory;
|
|
25
|
+
functions?: Omit<Function, 'instructions'>[];
|
|
26
|
+
messageModerators?: MessageModerator[];
|
|
27
|
+
maxFunctionCalls?: number;
|
|
28
|
+
logLevel?: LogLevel;
|
|
29
|
+
};
|
|
9
30
|
export declare const DEFAULT_MODEL: TiktokenModel;
|
|
31
|
+
export declare const DEFAULT_MAX_FUNCTION_CALLS = 50;
|
|
10
32
|
export declare class OpenAi {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
private
|
|
15
|
-
private
|
|
16
|
-
private
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
private
|
|
21
|
-
private
|
|
22
|
-
private
|
|
23
|
-
|
|
24
|
-
|
|
33
|
+
private model;
|
|
34
|
+
private history;
|
|
35
|
+
private functions?;
|
|
36
|
+
private messageModerators?;
|
|
37
|
+
private maxFunctionCalls;
|
|
38
|
+
private logLevel?;
|
|
39
|
+
constructor({ model, history, functions, messageModerators, maxFunctionCalls, logLevel, }?: OpenAiParams);
|
|
40
|
+
generateResponse({ model, ...rest }: GenerateResponseParams): Promise<GenerateResponseReturn>;
|
|
41
|
+
generateStreamingResponse({ model, ...rest }: GenerateStreamingResponseParams): Promise<Readable>;
|
|
42
|
+
private generateResponseHelper;
|
|
43
|
+
private updateMessageHistory;
|
|
44
|
+
private moderateHistory;
|
|
45
|
+
private executeRequest;
|
|
46
|
+
private logRequestDetails;
|
|
47
|
+
private logResponseDetails;
|
|
48
|
+
private handleRequestError;
|
|
49
|
+
private handleToolCalls;
|
|
50
|
+
private callTools;
|
|
51
|
+
private callFunction;
|
|
52
|
+
generateCode({ messages, model, includeSystemMessages, }: {
|
|
53
|
+
messages: (string | ChatCompletionMessageParam)[];
|
|
54
|
+
model?: TiktokenModel;
|
|
55
|
+
includeSystemMessages?: boolean;
|
|
56
|
+
}): Promise<string>;
|
|
57
|
+
updateCode({ code, description, model, includeSystemMessages, }: {
|
|
58
|
+
code: string;
|
|
59
|
+
description: string;
|
|
60
|
+
model?: TiktokenModel;
|
|
61
|
+
includeSystemMessages?: boolean;
|
|
62
|
+
}): Promise<string>;
|
|
25
63
|
static updateCodeDescription(code: string, description: string): string;
|
|
26
64
|
static parseCodeFromMarkdown(code: string): string;
|
|
27
|
-
|
|
65
|
+
generateList({ messages, model, includeSystemMessages, }: {
|
|
66
|
+
messages: (string | ChatCompletionMessageParam)[];
|
|
67
|
+
model?: TiktokenModel;
|
|
68
|
+
includeSystemMessages?: boolean;
|
|
69
|
+
}): Promise<string[]>;
|
|
28
70
|
}
|
|
29
71
|
//# sourceMappingURL=OpenAi.d.ts.map
|
package/dist/src/OpenAi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAi.d.ts","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":";AACA,OAAO,EACL,0BAA0B,EAI3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAU,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenAi.d.ts","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":"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"}
|