@proteinjs/conversation 1.5.2 → 1.6.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 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
+ # [1.6.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@1.5.2...@proteinjs/conversation@1.6.0) (2024-07-28)
7
+
8
+
9
+ ### Features
10
+
11
+ * added `OpenAi.generateStreamingResponse` ([2b1ba30](https://github.com/proteinjs/conversation/commit/2b1ba30a7e27f84f4fe076be9d6e2ea46ac4df9d))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [1.5.2](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@1.5.1...@proteinjs/conversation@1.5.2) (2024-07-17)
7
18
 
8
19
  **Note:** Version bump only for package @proteinjs/conversation
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { ChatCompletionMessageParam } from 'openai/resources/chat';
2
3
  import { LogLevel } from '@proteinjs/util';
3
4
  import { ConversationModule } from './ConversationModule';
@@ -34,6 +35,7 @@ export declare class Conversation {
34
35
  addUserMessagesToHistory(messages: string[], unshift?: boolean): void;
35
36
  addMessagesToHistory(messages: ChatCompletionMessageParam[], unshift?: boolean): void;
36
37
  generateResponse(messages: (string | ChatCompletionMessageParam)[], model?: TiktokenModel): Promise<string>;
38
+ generateStreamingResponse(messages: (string | ChatCompletionMessageParam)[], model?: TiktokenModel): Promise<import("stream").Readable>;
37
39
  generateCode(description: string[], model?: TiktokenModel): Promise<string>;
38
40
  updateCodeFromFile(codeToUpdateFilePath: string, dependencyCodeFilePaths: string[], description: string, model?: TiktokenModel): Promise<string>;
39
41
  updateCode(code: string, description: string, model?: TiktokenModel): Promise<string>;
@@ -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,iBAAiB,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAsB,MAAM,UAAU,CAAC;AAG7D,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;gBAEvB,MAAM,EAAE,kBAAkB;IAqBtC,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,oBAAoB;YAId,iBAAiB;IAwD/B,4BAA4B,CAAC,OAAO,EAAE,MAAM;IAK5C,OAAO,CAAC,YAAY;IAKpB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,UAAQ;IAO9D,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,UAAQ;IAOjE,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,UAAQ;IAO5D,oBAAoB,CAAC,QAAQ,EAAE,0BAA0B,EAAE,EAAE,OAAO,UAAQ;IAYtE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa;IAYzF,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa;IAgBzD,kBAAkB,CACtB,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAAE,EACjC,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,aAAa;IAajB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa;IAmBnE,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa;CAahE;AAED,eAAO,MAAM,wCAAwC,iCAAiC,CAAC;AACvF,eAAO,MAAM,oCAAoC,iBAAkB,YAAY;;;;;;;;;;;;;;;mBAgBtD;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;CAE3C,CAAC"}
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,iBAAiB,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAsB,MAAM,UAAU,CAAC;AAG7D,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;gBAEvB,MAAM,EAAE,kBAAkB;IAqBtC,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,oBAAoB;YAId,iBAAiB;IAwD/B,4BAA4B,CAAC,OAAO,EAAE,MAAM;IAK5C,OAAO,CAAC,YAAY;IAKpB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,UAAQ;IAO9D,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,UAAQ;IAOjE,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,UAAQ;IAO5D,oBAAoB,CAAC,QAAQ,EAAE,0BAA0B,EAAE,EAAE,OAAO,UAAQ;IAYtE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa;IAYzF,yBAAyB,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa;IAYlG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa;IAgBzD,kBAAkB,CACtB,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAAE,EACjC,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,aAAa;IAajB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa;IAmBnE,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa;CAahE;AAED,eAAO,MAAM,wCAAwC,iCAAiC,CAAC;AACvF,eAAO,MAAM,oCAAoC,iBAAkB,YAAY;;;;;;;;;;;;;;;mBAgBtD;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;CAE3C,CAAC"}
@@ -221,6 +221,19 @@ var Conversation = /** @class */ (function () {
221
221
  });
222
222
  });
223
223
  };
224
+ Conversation.prototype.generateStreamingResponse = function (messages, model) {
225
+ return __awaiter(this, void 0, void 0, function () {
226
+ return __generator(this, function (_a) {
227
+ switch (_a.label) {
228
+ case 0: return [4 /*yield*/, this.enforceTokenLimit(messages, model)];
229
+ case 1:
230
+ _a.sent();
231
+ return [4 /*yield*/, OpenAi_1.OpenAi.generateStreamingResponse(messages, model, this.history, this.functions, this.messageModerators, this.params.logLevel)];
232
+ case 2: return [2 /*return*/, _a.sent()];
233
+ }
234
+ });
235
+ });
236
+ };
224
237
  Conversation.prototype.generateCode = function (description, model) {
225
238
  return __awaiter(this, void 0, void 0, function () {
226
239
  var code;
@@ -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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"}
@@ -1,15 +1,23 @@
1
+ /// <reference types="node" />
1
2
  import { ChatCompletionMessageParam } from 'openai/resources/chat';
2
3
  import { LogLevel } from '@proteinjs/util';
3
4
  import { MessageModerator } from './history/MessageModerator';
4
5
  import { Function } from './Function';
5
6
  import { MessageHistory } from './history/MessageHistory';
6
7
  import { TiktokenModel } from 'tiktoken';
8
+ import { Readable } from 'stream';
7
9
  export declare const DEFAULT_MODEL: TiktokenModel;
8
10
  export declare class OpenAi {
9
11
  static generateResponse(messages: (string | ChatCompletionMessageParam)[], model?: string, history?: MessageHistory, functions?: Omit<Function, 'instructions'>[], messageModerators?: MessageModerator[], logLevel?: LogLevel, maxFunctionCalls?: number): Promise<string>;
10
- static generateResponseHelper(messages: (string | ChatCompletionMessageParam)[], currentFunctionCalls: number, model?: string, history?: MessageHistory, functions?: Omit<Function, 'instructions'>[], messageModerators?: MessageModerator[], logLevel?: LogLevel, maxFunctionCalls?: number): Promise<string>;
12
+ static generateStreamingResponse(messages: (string | ChatCompletionMessageParam)[], model?: string, history?: MessageHistory, functions?: Omit<Function, 'instructions'>[], messageModerators?: MessageModerator[], logLevel?: LogLevel, maxFunctionCalls?: number): Promise<Readable>;
13
+ static generateResponseHelper(messages: (string | ChatCompletionMessageParam)[], stream: boolean, currentFunctionCalls: number, model?: string, history?: MessageHistory, functions?: Omit<Function, 'instructions'>[], messageModerators?: MessageModerator[], logLevel?: LogLevel, maxFunctionCalls?: number): Promise<string | Readable>;
14
+ private static getUpdatedMessageHistory;
11
15
  private static moderateHistory;
12
16
  private static executeRequest;
17
+ private static logRequestDetails;
18
+ private static logResponseDetails;
19
+ private static handleRequestError;
20
+ private static handleToolCalls;
13
21
  private static callTools;
14
22
  private static callFunction;
15
23
  static generateCode(messages: (string | ChatCompletionMessageParam)[], model?: string, history?: MessageHistory, functions?: Omit<Function, 'instructions'>[], messageModerators?: MessageModerator[], includeSystemMessages?: boolean, logLevel?: LogLevel): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAi.d.ts","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAiD,MAAM,uBAAuB,CAAC;AAClH,OAAO,EAAE,QAAQ,EAAwB,MAAM,iBAAiB,CAAC;AACjE,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;AAOzC,eAAO,MAAM,aAAa,EAAE,aAA+B,CAAC;AAC5D,qBAAa,MAAM;WACJ,gBAAgB,CAC3B,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EACjD,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,QAAQ,GAAE,QAAiB,EAC3B,gBAAgB,GAAE,MAAW,GAC5B,OAAO,CAAC,MAAM,CAAC;WAaL,sBAAsB,CACjC,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EACjD,oBAAoB,EAAE,MAAM,EAC5B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,QAAQ,GAAE,QAAiB,EAC3B,gBAAgB,GAAE,MAAW,GAC5B,OAAO,CAAC,MAAM,CAAC;IAgDlB,OAAO,CAAC,MAAM,CAAC,eAAe;mBAQT,cAAc;mBAgEd,SAAS;mBAgBT,YAAY;WAwEpB,YAAY,CACvB,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EACjD,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,qBAAqB,GAAE,OAAc,EACrC,QAAQ,GAAE,QAAiB;WAuBhB,UAAU,CACrB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,qBAAqB,GAAE,OAAc,EACrC,QAAQ,GAAE,QAAiB;IAa7B,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAI9D,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM;WA6B5B,YAAY,CACvB,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EACjD,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,qBAAqB,GAAE,OAAc,EACrC,QAAQ,GAAE,QAAiB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;CAkBrB"}
1
+ {"version":3,"file":"OpenAi.d.ts","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,8 @@ var openai_1 = require("openai");
50
50
  var util_1 = require("@proteinjs/util");
51
51
  var MessageHistory_1 = require("./history/MessageHistory");
52
52
  var ChatCompletionMessageParamFactory_1 = require("./ChatCompletionMessageParamFactory");
53
+ var stream_1 = require("stream");
54
+ var OpenAiStreamProcessor_1 = require("./OpenAiStreamProcessor");
53
55
  function delay(ms) {
54
56
  return new Promise(function (resolve) { return setTimeout(resolve, ms); });
55
57
  }
@@ -63,60 +65,81 @@ var OpenAi = /** @class */ (function () {
63
65
  return __awaiter(this, void 0, void 0, function () {
64
66
  return __generator(this, function (_a) {
65
67
  switch (_a.label) {
66
- case 0: return [4 /*yield*/, this.generateResponseHelper(messages, 0, model, history, functions, messageModerators, logLevel, maxFunctionCalls)];
67
- case 1: return [2 /*return*/, _a.sent()];
68
+ case 0: return [4 /*yield*/, this.generateResponseHelper(messages, false, 0, model, history, functions, messageModerators, logLevel, maxFunctionCalls)];
69
+ case 1: return [2 /*return*/, (_a.sent())];
70
+ }
71
+ });
72
+ });
73
+ };
74
+ OpenAi.generateStreamingResponse = function (messages, model, history, functions, messageModerators, logLevel, maxFunctionCalls) {
75
+ if (logLevel === void 0) { logLevel = 'info'; }
76
+ if (maxFunctionCalls === void 0) { maxFunctionCalls = 50; }
77
+ return __awaiter(this, void 0, void 0, function () {
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0: return [4 /*yield*/, this.generateResponseHelper(messages, true, 0, model, history, functions, messageModerators, logLevel, maxFunctionCalls)];
81
+ case 1: return [2 /*return*/, (_a.sent())];
68
82
  }
69
83
  });
70
84
  });
71
85
  };
72
- OpenAi.generateResponseHelper = function (messages, currentFunctionCalls, model, history, functions, messageModerators, logLevel, maxFunctionCalls) {
86
+ OpenAi.generateResponseHelper = function (messages, stream, currentFunctionCalls, model, history, functions, messageModerators, logLevel, maxFunctionCalls) {
73
87
  if (logLevel === void 0) { logLevel = 'info'; }
74
88
  if (maxFunctionCalls === void 0) { maxFunctionCalls = 50; }
75
89
  return __awaiter(this, void 0, void 0, function () {
76
- var logger, messageParams, messageParamsWithHistory, response, responseMessage, toolMessageParams, responseText;
90
+ var logger, updatedHistory, response, inputStream, onToolCalls, streamProcessor, responseMessage, responseText;
77
91
  return __generator(this, function (_a) {
78
92
  switch (_a.label) {
79
93
  case 0:
80
- logger = new util_1.Logger('OpenAi.generateResponse', logLevel);
81
- messageParams = messages.map(function (message) {
82
- if (typeof message === 'string') {
83
- return { role: 'user', content: message };
84
- }
85
- return message;
86
- });
87
- if (history) {
88
- history.push(messageParams);
89
- }
90
- messageParamsWithHistory = history ? history : new MessageHistory_1.MessageHistory().push(messageParams);
91
- if (messageModerators) {
92
- messageParamsWithHistory = OpenAi.moderateHistory(messageParamsWithHistory, messageModerators);
93
- }
94
- return [4 /*yield*/, OpenAi.executeRequest(messageParamsWithHistory, logLevel, functions, model)];
94
+ logger = new util_1.Logger('OpenAi.generateResponseHelper', logLevel);
95
+ updatedHistory = OpenAi.getUpdatedMessageHistory(messages, history, messageModerators);
96
+ return [4 /*yield*/, OpenAi.executeRequest(updatedHistory, stream, logLevel, functions, model)];
95
97
  case 1:
96
98
  response = _a.sent();
97
- responseMessage = response.choices[0].message;
98
- if (!responseMessage.tool_calls) return [3 /*break*/, 4];
99
- if (currentFunctionCalls >= maxFunctionCalls) {
100
- throw new Error("Max function calls (".concat(maxFunctionCalls, ") reached. Stopping execution."));
99
+ if (stream) {
100
+ logger.info("Processing response stream");
101
+ inputStream = response;
102
+ // For subsequent tool calls, return the raw OpenAI stream to `OpenAiStreamProcessor`
103
+ if (currentFunctionCalls > 0) {
104
+ return [2 /*return*/, stream_1.Readable.from(inputStream)];
105
+ }
106
+ onToolCalls = (function (toolCalls, currentFunctionCalls) {
107
+ return OpenAi.handleToolCalls(toolCalls, true, currentFunctionCalls, updatedHistory, model, functions, messageModerators, logLevel, maxFunctionCalls);
108
+ });
109
+ streamProcessor = new OpenAiStreamProcessor_1.OpenAiStreamProcessor(inputStream, onToolCalls, logLevel);
110
+ return [2 /*return*/, streamProcessor.getOutputStream()];
101
111
  }
102
- messageParamsWithHistory.push([responseMessage]);
103
- return [4 /*yield*/, this.callTools(logLevel, responseMessage.tool_calls, functions)];
104
- case 2:
105
- toolMessageParams = _a.sent();
106
- messageParamsWithHistory.push(__spreadArray([], toolMessageParams, true));
107
- return [4 /*yield*/, this.generateResponseHelper([], currentFunctionCalls + responseMessage.tool_calls.length, model, messageParamsWithHistory, functions, messageModerators, logLevel, maxFunctionCalls)];
108
- case 3: return [2 /*return*/, _a.sent()];
109
- case 4:
112
+ responseMessage = response.choices[0].message;
113
+ if (!responseMessage.tool_calls) return [3 /*break*/, 3];
114
+ return [4 /*yield*/, OpenAi.handleToolCalls(responseMessage.tool_calls, stream, currentFunctionCalls, updatedHistory, model, functions, messageModerators, logLevel, maxFunctionCalls)];
115
+ case 2: return [2 /*return*/, _a.sent()];
116
+ case 3:
110
117
  responseText = responseMessage.content;
111
118
  if (!responseText) {
112
119
  throw new Error("Response was empty for messages: ".concat(messages.join('\n')));
113
120
  }
114
- messageParamsWithHistory.push([responseMessage]);
121
+ updatedHistory.push([responseMessage]);
115
122
  return [2 /*return*/, responseText];
116
123
  }
117
124
  });
118
125
  });
119
126
  };
127
+ OpenAi.getUpdatedMessageHistory = function (messages, history, messageModerators) {
128
+ var messageParams = messages.map(function (message) {
129
+ if (typeof message === 'string') {
130
+ return { role: 'user', content: message };
131
+ }
132
+ return message;
133
+ });
134
+ if (history) {
135
+ history.push(messageParams);
136
+ }
137
+ var messageParamsWithHistory = history ? history : new MessageHistory_1.MessageHistory().push(messageParams);
138
+ if (messageModerators) {
139
+ messageParamsWithHistory = OpenAi.moderateHistory(messageParamsWithHistory, messageModerators);
140
+ }
141
+ return messageParamsWithHistory;
142
+ };
120
143
  OpenAi.moderateHistory = function (history, messageModerators) {
121
144
  for (var _i = 0, messageModerators_1 = messageModerators; _i < messageModerators_1.length; _i++) {
122
145
  var messageModerator = messageModerators_1[_i];
@@ -124,9 +147,9 @@ var OpenAi = /** @class */ (function () {
124
147
  }
125
148
  return history;
126
149
  };
127
- OpenAi.executeRequest = function (messageParamsWithHistory, logLevel, functions, model) {
150
+ OpenAi.executeRequest = function (messageParamsWithHistory, stream, logLevel, functions, model) {
128
151
  return __awaiter(this, void 0, void 0, function () {
129
- var logger, openaiApi, response, latestMessage, responseMessage, error_1, waitTime, remainingTokens, delayMs;
152
+ var logger, openaiApi, latestMessage, response, error_1;
130
153
  return __generator(this, function (_a) {
131
154
  switch (_a.label) {
132
155
  case 0:
@@ -134,18 +157,9 @@ var OpenAi = /** @class */ (function () {
134
157
  openaiApi = new openai_1.OpenAI();
135
158
  _a.label = 1;
136
159
  case 1:
137
- _a.trys.push([1, 3, , 7]);
160
+ _a.trys.push([1, 3, , 4]);
138
161
  latestMessage = messageParamsWithHistory.getMessages()[messageParamsWithHistory.getMessages().length - 1];
139
- if (latestMessage.content) {
140
- logger.info("Sending request: ".concat(latestMessage.content));
141
- }
142
- else if (latestMessage.role == 'function') {
143
- logger.info("Sending request: returning output of ".concat(latestMessage.name, " function"));
144
- }
145
- else {
146
- logger.info("Sending request");
147
- }
148
- logger.debug("Sending messages: ".concat(JSON.stringify(messageParamsWithHistory.getMessages(), null, 2)), true);
162
+ this.logRequestDetails(logger, logLevel, latestMessage, messageParamsWithHistory);
149
163
  return [4 /*yield*/, openaiApi.chat.completions.create({
150
164
  model: model ? model : exports.DEFAULT_MODEL,
151
165
  temperature: 0,
@@ -154,42 +168,107 @@ var OpenAi = /** @class */ (function () {
154
168
  type: 'function',
155
169
  function: f.definition,
156
170
  }); }),
171
+ stream: stream,
157
172
  })];
158
173
  case 2:
159
174
  response = _a.sent();
160
- responseMessage = response.choices[0].message;
161
- if (responseMessage.content) {
162
- logger.info("Received response: ".concat(responseMessage.content));
163
- }
164
- else if (responseMessage.tool_calls) {
165
- logger.info("Received response: call functions: ".concat(JSON.stringify(responseMessage.tool_calls.map(function (toolCall) { return toolCall.function.name; }))));
175
+ if (!stream) {
176
+ this.logResponseDetails(logger, response);
166
177
  }
167
- else {
168
- logger.info("Received response");
169
- }
170
- if (response.usage) {
171
- logger.info(JSON.stringify(response.usage));
172
- }
173
- else {
174
- logger.info(JSON.stringify("Usage data missing"));
175
- }
176
- return [3 /*break*/, 7];
178
+ return [2 /*return*/, response];
177
179
  case 3:
178
180
  error_1 = _a.sent();
179
- logger.info("Received error response, error type: ".concat(error_1.type));
180
- if (!(typeof error_1.status !== 'undefined' && error_1.status == 429)) return [3 /*break*/, 6];
181
- if (!(error_1.type == 'tokens' && typeof error_1.headers['x-ratelimit-reset-tokens'] === 'string')) return [3 /*break*/, 6];
182
- waitTime = parseInt(error_1.headers['x-ratelimit-reset-tokens']);
183
- remainingTokens = error_1.headers['x-ratelimit-remaining-tokens'];
181
+ return [2 /*return*/, this.handleRequestError(logger, error_1, messageParamsWithHistory, stream, logLevel, functions, model)];
182
+ case 4: return [2 /*return*/];
183
+ }
184
+ });
185
+ });
186
+ };
187
+ OpenAi.logRequestDetails = function (logger, logLevel, latestMessage, messageParamsWithHistory) {
188
+ if (latestMessage.role == 'tool') {
189
+ logger.info("Sending request: returning output of tool call (".concat(latestMessage.tool_call_id, ")"));
190
+ }
191
+ else if (latestMessage.content) {
192
+ var requestContent = typeof latestMessage.content === 'string'
193
+ ? latestMessage.content
194
+ : latestMessage.content[0].type === 'text'
195
+ ? latestMessage.content[0].text
196
+ : 'image';
197
+ logger.info("Sending request: ".concat(requestContent));
198
+ }
199
+ else {
200
+ logger.info("Sending request");
201
+ }
202
+ if (logLevel === 'debug') {
203
+ logger.debug("Sending messages: ".concat(JSON.stringify(messageParamsWithHistory.getMessages(), null, 2)), true);
204
+ }
205
+ };
206
+ OpenAi.logResponseDetails = function (logger, response) {
207
+ var responseMessage = response.choices[0].message;
208
+ if (responseMessage.content) {
209
+ logger.info("Received response: ".concat(responseMessage.content));
210
+ }
211
+ else if (responseMessage.tool_calls) {
212
+ logger.info("Received response: call functions: ".concat(JSON.stringify(responseMessage.tool_calls.map(function (toolCall) { return toolCall.function.name; }))));
213
+ }
214
+ else {
215
+ logger.info("Received response");
216
+ }
217
+ if (response.usage) {
218
+ logger.info(JSON.stringify(response.usage));
219
+ }
220
+ else {
221
+ logger.info(JSON.stringify("Usage data missing"));
222
+ }
223
+ };
224
+ OpenAi.handleRequestError = function (logger, error, messageParamsWithHistory, stream, logLevel, functions, model) {
225
+ return __awaiter(this, void 0, void 0, function () {
226
+ var waitTime, remainingTokens, delayMs;
227
+ return __generator(this, function (_a) {
228
+ switch (_a.label) {
229
+ case 0:
230
+ logger.info("Received error response, error type: ".concat(error.type));
231
+ if (!(typeof error.status !== 'undefined' && error.status == 429)) return [3 /*break*/, 3];
232
+ if (!(error.type == 'tokens' && typeof error.headers['x-ratelimit-reset-tokens'] === 'string')) return [3 /*break*/, 3];
233
+ waitTime = parseInt(error.headers['x-ratelimit-reset-tokens']);
234
+ remainingTokens = error.headers['x-ratelimit-remaining-tokens'];
184
235
  delayMs = 15000;
185
236
  logger.warn("Waiting to retry in ".concat(delayMs / 1000, "s, token reset in: ").concat(waitTime, "s, remaining tokens: ").concat(remainingTokens));
186
237
  return [4 /*yield*/, delay(delayMs)];
187
- case 4:
238
+ case 1:
188
239
  _a.sent();
189
- return [4 /*yield*/, OpenAi.executeRequest(messageParamsWithHistory, logLevel, functions, model)];
190
- case 5: return [2 /*return*/, _a.sent()];
191
- case 6: throw error_1;
192
- case 7: return [2 /*return*/, response];
240
+ return [4 /*yield*/, OpenAi.executeRequest(messageParamsWithHistory, stream, logLevel, functions, model)];
241
+ case 2: return [2 /*return*/, _a.sent()];
242
+ case 3: throw error;
243
+ }
244
+ });
245
+ });
246
+ };
247
+ OpenAi.handleToolCalls = function (toolCalls, stream, currentFunctionCalls, history, model, functions, messageModerators, logLevel, maxFunctionCalls) {
248
+ if (logLevel === void 0) { logLevel = 'info'; }
249
+ if (maxFunctionCalls === void 0) { maxFunctionCalls = 50; }
250
+ return __awaiter(this, void 0, void 0, function () {
251
+ var toolCallMessage, toolMessageParams;
252
+ return __generator(this, function (_a) {
253
+ switch (_a.label) {
254
+ case 0:
255
+ if (currentFunctionCalls >= maxFunctionCalls) {
256
+ throw new Error("Max function calls (".concat(maxFunctionCalls, ") reached. Stopping execution."));
257
+ }
258
+ toolCallMessage = {
259
+ role: 'assistant',
260
+ content: null,
261
+ tool_calls: toolCalls,
262
+ };
263
+ // Add the tool call message to the history
264
+ history.push([toolCallMessage]);
265
+ return [4 /*yield*/, this.callTools(logLevel, toolCalls, functions)];
266
+ case 1:
267
+ toolMessageParams = _a.sent();
268
+ // Add the tool responses to the history
269
+ history.push(toolMessageParams);
270
+ // Generate the next response
271
+ return [2 /*return*/, this.generateResponseHelper([], stream, currentFunctionCalls + toolCalls.length, model, history, functions, messageModerators, logLevel, maxFunctionCalls)];
193
272
  }
194
273
  });
195
274
  });
@@ -215,7 +294,7 @@ var OpenAi = /** @class */ (function () {
215
294
  };
216
295
  OpenAi.callFunction = function (logLevel, functionCall, toolCallId, functions) {
217
296
  return __awaiter(this, void 0, void 0, function () {
218
- var logger, error, f, error, returnObject, returnObjectCompletionParams, chatCompletionMessageParamFactory, messageParams, instructionMessageParam, serializedReturnObject, error_2, errorMessage;
297
+ var logger, error, f, error, parsedArguments, returnObject, returnObjectCompletionParams, chatCompletionMessageParamFactory, messageParams, instructionMessageParam, serializedReturnObject, error_2, errorMessage;
219
298
  return __generator(this, function (_a) {
220
299
  switch (_a.label) {
221
300
  case 0:
@@ -235,8 +314,9 @@ var OpenAi = /** @class */ (function () {
235
314
  _a.label = 1;
236
315
  case 1:
237
316
  _a.trys.push([1, 6, , 7]);
238
- logger.info("Assistant calling function: (".concat(toolCallId, ") ").concat(f.definition.name, "(").concat(functionCall.arguments, ")"), 1000);
239
- return [4 /*yield*/, f.call(JSON.parse(functionCall.arguments))];
317
+ parsedArguments = JSON.parse(functionCall.arguments);
318
+ logger.info("Assistant calling function: (".concat(toolCallId, ") ").concat(f.definition.name, "(").concat(JSON.stringify(parsedArguments, null, 2), ")"), 1000);
319
+ return [4 /*yield*/, f.call(parsedArguments)];
240
320
  case 2:
241
321
  returnObject = _a.sent();
242
322
  returnObjectCompletionParams = [];
@@ -251,7 +331,7 @@ var OpenAi = /** @class */ (function () {
251
331
  content: "The the return data from this function is provided in the following messages",
252
332
  };
253
333
  returnObjectCompletionParams.push.apply(returnObjectCompletionParams, __spreadArray([instructionMessageParam], messageParams, false));
254
- logger.info("Assistant called function: (".concat(toolCallId, ") ").concat(f.definition.name, " => ").concat(JSON.stringify(messageParams)), 500);
334
+ logger.info("Assistant called function: (".concat(toolCallId, ") ").concat(f.definition.name, " => ").concat(JSON.stringify(messageParams, null, 2)), 500);
255
335
  return [3 /*break*/, 5];
256
336
  case 4:
257
337
  serializedReturnObject = JSON.stringify(returnObject);
@@ -260,7 +340,7 @@ var OpenAi = /** @class */ (function () {
260
340
  tool_call_id: toolCallId,
261
341
  content: serializedReturnObject,
262
342
  });
263
- logger.info("Assistant called function: (".concat(toolCallId, ") ").concat(f.definition.name, " => ").concat(serializedReturnObject), 1000);
343
+ logger.info("Assistant called function: (".concat(toolCallId, ") ").concat(f.definition.name, " => ").concat(JSON.stringify(returnObject, null, 2)), 1000);
264
344
  _a.label = 5;
265
345
  case 5:
266
346
  if (typeof returnObject === 'undefined') {
@@ -275,9 +355,9 @@ var OpenAi = /** @class */ (function () {
275
355
  return [2 /*return*/, returnObjectCompletionParams];
276
356
  case 6:
277
357
  error_2 = _a.sent();
278
- errorMessage = "Error occurred while executing function ".concat(f.definition.name, ": ").concat(error_2.message);
358
+ errorMessage = "Error occurred while executing function ".concat(f.definition.name, ": (").concat(toolCallId, ") ").concat(error_2.message);
279
359
  logger.error(errorMessage);
280
- return [2 /*return*/, [{ role: 'tool', tool_call_id: toolCallId, content: JSON.stringify({ error: errorMessage }) }]];
360
+ throw error_2;
281
361
  case 7: return [2 /*return*/];
282
362
  }
283
363
  });
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAi.js","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAi.js","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /// <reference types="node" />
2
+ import { ChatCompletionMessageToolCall, ChatCompletionChunk } from 'openai/resources/chat';
3
+ import { LogLevel } from '@proteinjs/util';
4
+ import { Stream } from 'openai/streaming';
5
+ import { Readable } from 'stream';
6
+ /**
7
+ * Processes streaming responses from OpenAI's `ChatCompletions` api.
8
+ * - When a tool call is received, it delegates processing to `onToolCalls`; this can happen recursively
9
+ * - When a response to the user is received, it writes to `outputStream`
10
+ */
11
+ export declare class OpenAiStreamProcessor {
12
+ private onToolCalls;
13
+ private logger;
14
+ private accumulatedToolCalls;
15
+ private toolCallsExecuted;
16
+ private currentToolCall;
17
+ private inputStream;
18
+ private controlStream;
19
+ private outputStream;
20
+ constructor(inputStream: Stream<ChatCompletionChunk>, onToolCalls: (toolCalls: ChatCompletionMessageToolCall[], currentFunctionCalls: number) => Promise<Readable>, logLevel: LogLevel);
21
+ /**
22
+ * @returns a `Readable` stream that will receive the assistant's text response to the user
23
+ */
24
+ getOutputStream(): Readable;
25
+ /**
26
+ * @returns a `Transform` that parses the input stream and delegates to tool calls or writes a text response to the user
27
+ */
28
+ private createControlStream;
29
+ /**
30
+ * Destroy all streams used by `OpenAiStreamProcessor`
31
+ */
32
+ private destroyStreams;
33
+ /**
34
+ * Accumulates tool call deltas into complete tool calls.
35
+ * @param toolCallDeltas `ChatCompletionChunk.Choice.Delta.ToolCall` objects that contain part of a complete `ChatCompletionMessageToolCall`
36
+ */
37
+ private handleToolCallDelta;
38
+ /**
39
+ * Delegates `ChatCompletionMessageToolCall`s to `onToolCalls`.
40
+ * - Manages refreshing the `inputStream` and `controlStream`
41
+ * - Manages tool call state (such as keeping track of the number of tool calls made)
42
+ */
43
+ private handleToolCalls;
44
+ }
45
+ //# sourceMappingURL=OpenAiStreamProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAiStreamProcessor.d.ts","sourceRoot":"","sources":["../../src/OpenAiStreamProcessor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAU,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAA6C,MAAM,QAAQ,CAAC;AAE7E;;;;GAIG;AACH,qBAAa,qBAAqB;IAW9B,OAAO,CAAC,WAAW;IAVrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,oBAAoB,CAAgD;IAC5E,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAAuD;IAC9E,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,YAAY,CAAW;gBAG7B,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAChC,WAAW,EAAE,CACnB,SAAS,EAAE,6BAA6B,EAAE,EAC1C,oBAAoB,EAAE,MAAM,KACzB,OAAO,CAAC,QAAQ,CAAC,EACtB,QAAQ,EAAE,QAAQ;IASpB;;OAEG;IACH,eAAe,IAAI,QAAQ;IAI3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwC3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;;OAIG;YACW,eAAe;CA0B9B"}