@proteinjs/conversation 2.0.1 → 2.0.3

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,25 @@
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.3](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@2.0.2...@proteinjs/conversation@2.0.3) (2025-04-11)
7
+
8
+ **Note:** Version bump only for package @proteinjs/conversation
9
+
10
+
11
+
12
+
13
+
14
+ ## [2.0.2](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@2.0.1...@proteinjs/conversation@2.0.2) (2024-09-24)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * omit tools param in executeRequest if functions array doesn't exist or is empty ([9c0f15c](https://github.com/proteinjs/conversation/commit/9c0f15c3450edfeb62db3f7285f1469bcacd00aa))
20
+
21
+
22
+
23
+
24
+
6
25
  # [2.0.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@1.7.5...@proteinjs/conversation@2.0.0) (2024-08-18)
7
26
 
8
27
 
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.
@@ -67,5 +67,20 @@ export declare class OpenAi {
67
67
  model?: TiktokenModel;
68
68
  includeSystemMessages?: boolean;
69
69
  }): Promise<string[]>;
70
+ /**
71
+ * Generates a concise response based on the given context and request.
72
+ * This method is designed to produce brief, focused answers without any
73
+ * conversational elements or additional explanations.
74
+ *
75
+ * @param context - The background information or context for the request.
76
+ * @param request - The specific question or task to be addressed.
77
+ * @param model - Optional. The specific model to use for generating the response. If not provided, the default model set for the class instance will be used.
78
+ *
79
+ */
80
+ generateConciseAnswer({ context, request, model, }: {
81
+ context: string;
82
+ request: string;
83
+ model?: TiktokenModel;
84
+ }): Promise<string>;
70
85
  }
71
86
  //# sourceMappingURL=OpenAi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAi.d.ts","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAi.d.ts","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,7 @@ var ChatCompletionMessageParamFactory_1 = require("./ChatCompletionMessageParamF
76
76
  var stream_1 = require("stream");
77
77
  var OpenAiStreamProcessor_1 = require("./OpenAiStreamProcessor");
78
78
  var UsageData_1 = require("./UsageData");
79
+ var UsageDataContext_1 = require("./UsageDataContext");
79
80
  function delay(ms) {
80
81
  return new Promise(function (resolve) { return setTimeout(resolve, ms); });
81
82
  }
@@ -114,44 +115,58 @@ var OpenAi = /** @class */ (function () {
114
115
  });
115
116
  };
116
117
  OpenAi.prototype.generateResponseHelper = function (_a) {
117
- var messages = _a.messages, model = _a.model, stream = _a.stream, abortSignal = _a.abortSignal, onUsageData = _a.onUsageData, usageDataAccumulator = _a.usageDataAccumulator, _b = _a.currentFunctionCalls, currentFunctionCalls = _b === void 0 ? 0 : _b;
118
+ var _b;
119
+ var messages = _a.messages, model = _a.model, stream = _a.stream, abortSignal = _a.abortSignal, onUsageData = _a.onUsageData, usageDataAccumulator = _a.usageDataAccumulator, _c = _a.currentFunctionCalls, currentFunctionCalls = _c === void 0 ? 0 : _c;
118
120
  return __awaiter(this, void 0, void 0, function () {
119
- var logger, resolvedUsageDataAccumulator, response, inputStream, onToolCalls, streamProcessor, responseMessage, responseText;
121
+ var logger, context, contextDataUsageAccumulator, resolvedUsageDataAccumulator, executeInContext, execute;
120
122
  var _this = this;
121
- return __generator(this, function (_c) {
122
- switch (_c.label) {
123
- case 0:
124
- logger = new logger_1.Logger({ name: 'OpenAi.generateResponseHelper', logLevel: this.logLevel });
125
- this.updateMessageHistory(messages);
126
- resolvedUsageDataAccumulator = usageDataAccumulator !== null && usageDataAccumulator !== void 0 ? usageDataAccumulator : new UsageData_1.UsageDataAccumulator({ model: model });
127
- return [4 /*yield*/, this.executeRequest(model, stream, resolvedUsageDataAccumulator, abortSignal)];
128
- case 1:
129
- response = _c.sent();
130
- if (stream) {
131
- logger.info({ message: "Processing response stream" });
132
- inputStream = response;
133
- // For subsequent tool calls, return the raw OpenAI stream to `OpenAiStreamProcessor`
134
- if (currentFunctionCalls > 0) {
135
- return [2 /*return*/, stream_1.Readable.from(inputStream)];
136
- }
137
- onToolCalls = (function (toolCalls, currentFunctionCalls) {
138
- return _this.handleToolCalls(toolCalls, model, stream, currentFunctionCalls, resolvedUsageDataAccumulator, abortSignal, onUsageData);
139
- });
140
- streamProcessor = new OpenAiStreamProcessor_1.OpenAiStreamProcessor(inputStream, onToolCalls, resolvedUsageDataAccumulator, this.logLevel, abortSignal, onUsageData);
141
- return [2 /*return*/, streamProcessor.getOutputStream()];
142
- }
143
- responseMessage = response.choices[0].message;
144
- if (!responseMessage.tool_calls) return [3 /*break*/, 3];
145
- return [4 /*yield*/, this.handleToolCalls(responseMessage.tool_calls, model, stream, currentFunctionCalls, resolvedUsageDataAccumulator, abortSignal, onUsageData)];
146
- case 2: return [2 /*return*/, _c.sent()];
147
- case 3:
148
- responseText = responseMessage.content;
149
- if (!responseText) {
150
- throw new Error("Response was empty for messages: ".concat(messages.join('\n')));
123
+ return __generator(this, function (_d) {
124
+ logger = new logger_1.Logger({ name: 'OpenAi.generateResponseHelper', logLevel: this.logLevel });
125
+ this.updateMessageHistory(messages);
126
+ context = new UsageDataContext_1.UsageDataAccumulatorContext();
127
+ contextDataUsageAccumulator = context.getUsageDataAccumulator(model);
128
+ resolvedUsageDataAccumulator = (_b = usageDataAccumulator !== null && usageDataAccumulator !== void 0 ? usageDataAccumulator : contextDataUsageAccumulator) !== null && _b !== void 0 ? _b : new UsageData_1.UsageDataAccumulator({ model: model });
129
+ executeInContext = !contextDataUsageAccumulator;
130
+ execute = function () { return __awaiter(_this, void 0, void 0, function () {
131
+ var response, inputStream, onToolCalls, streamProcessor, responseMessage, responseText;
132
+ var _this = this;
133
+ return __generator(this, function (_a) {
134
+ switch (_a.label) {
135
+ case 0: return [4 /*yield*/, this.executeRequest(model, stream, resolvedUsageDataAccumulator, abortSignal)];
136
+ case 1:
137
+ response = _a.sent();
138
+ if (stream) {
139
+ logger.info({ message: "Processing response stream" });
140
+ inputStream = response;
141
+ // For subsequent tool calls, return the raw OpenAI stream to `OpenAiStreamProcessor`
142
+ if (currentFunctionCalls > 0) {
143
+ return [2 /*return*/, stream_1.Readable.from(inputStream)];
144
+ }
145
+ onToolCalls = (function (toolCalls, currentFunctionCalls) {
146
+ return _this.handleToolCalls(toolCalls, model, stream, currentFunctionCalls, resolvedUsageDataAccumulator, abortSignal, onUsageData);
147
+ });
148
+ streamProcessor = new OpenAiStreamProcessor_1.OpenAiStreamProcessor(inputStream, onToolCalls, resolvedUsageDataAccumulator, this.logLevel, abortSignal, onUsageData);
149
+ return [2 /*return*/, streamProcessor.getOutputStream()];
150
+ }
151
+ responseMessage = response.choices[0].message;
152
+ if (!responseMessage.tool_calls) return [3 /*break*/, 3];
153
+ return [4 /*yield*/, this.handleToolCalls(responseMessage.tool_calls, model, stream, currentFunctionCalls, resolvedUsageDataAccumulator, abortSignal, onUsageData)];
154
+ case 2: return [2 /*return*/, _a.sent()];
155
+ case 3:
156
+ responseText = responseMessage.content;
157
+ if (!responseText) {
158
+ throw new Error("Response was empty for messages: ".concat(messages.join('\n')));
159
+ }
160
+ this.history.push([responseMessage]);
161
+ return [2 /*return*/, { message: responseText, usagedata: resolvedUsageDataAccumulator.usageData }];
151
162
  }
152
- this.history.push([responseMessage]);
153
- return [2 /*return*/, { message: responseText, usagedata: resolvedUsageDataAccumulator.usageData }];
163
+ });
164
+ }); };
165
+ // Only wrap in context if this is the first call
166
+ if (executeInContext) {
167
+ return [2 /*return*/, context.runInContext(resolvedUsageDataAccumulator, execute)];
154
168
  }
169
+ return [2 /*return*/, execute()];
155
170
  });
156
171
  });
157
172
  };
@@ -174,31 +189,33 @@ var OpenAi = /** @class */ (function () {
174
189
  }
175
190
  };
176
191
  OpenAi.prototype.executeRequest = function (model, stream, usageDataAccumulator, abortSignal) {
177
- var _a;
178
192
  return __awaiter(this, void 0, void 0, function () {
179
193
  var logger, openaiApi, latestMessage, response, error_1;
180
- return __generator(this, function (_b) {
181
- switch (_b.label) {
194
+ return __generator(this, function (_a) {
195
+ switch (_a.label) {
182
196
  case 0:
183
197
  logger = new logger_1.Logger({ name: 'OpenAi.executeRequest', logLevel: this.logLevel });
184
198
  openaiApi = new openai_1.OpenAI();
185
- _b.label = 1;
199
+ _a.label = 1;
186
200
  case 1:
187
- _b.trys.push([1, 3, , 4]);
201
+ _a.trys.push([1, 3, , 4]);
188
202
  latestMessage = this.history.getMessages()[this.history.getMessages().length - 1];
189
203
  this.logRequestDetails(logger, latestMessage);
190
- return [4 /*yield*/, openaiApi.chat.completions.create(__assign({ model: model, temperature: 0, messages: this.history.getMessages(), tools: (_a = this.functions) === null || _a === void 0 ? void 0 : _a.map(function (f) { return ({
204
+ return [4 /*yield*/, openaiApi.chat.completions.create(__assign(__assign(__assign({ model: model, temperature: 0, messages: this.history.getMessages() }, (this.functions &&
205
+ this.functions.length > 0 && {
206
+ tools: this.functions.map(function (f) { return ({
191
207
  type: 'function',
192
208
  function: f.definition,
193
- }); }), stream: stream }, (stream && { stream_options: { include_usage: true } })), { signal: abortSignal })];
209
+ }); }),
210
+ })), { stream: stream }), (stream && { stream_options: { include_usage: true } })), { signal: abortSignal })];
194
211
  case 2:
195
- response = _b.sent();
212
+ response = _a.sent();
196
213
  if (!stream) {
197
214
  this.logResponseDetails(logger, response, usageDataAccumulator);
198
215
  }
199
216
  return [2 /*return*/, response];
200
217
  case 3:
201
- error_1 = _b.sent();
218
+ error_1 = _a.sent();
202
219
  return [2 /*return*/, this.handleRequestError(model, logger, error_1, stream, usageDataAccumulator, abortSignal)];
203
220
  case 4: return [2 /*return*/];
204
221
  }
@@ -223,6 +240,7 @@ var OpenAi = /** @class */ (function () {
223
240
  logger.debug({ message: "Sending messages:", obj: { messages: this.history.getMessages() } });
224
241
  };
225
242
  OpenAi.prototype.logResponseDetails = function (logger, response, usageDataAccumulator) {
243
+ var _a, _b;
226
244
  var responseMessage = response.choices[0].message;
227
245
  if (responseMessage.content) {
228
246
  logger.info({ message: "Received response", obj: { response: responseMessage.content } });
@@ -240,6 +258,7 @@ var OpenAi = /** @class */ (function () {
240
258
  logger.info({ message: "Usage data", obj: { usageData: response.usage } });
241
259
  usageDataAccumulator.addTokenUsage({
242
260
  promptTokens: response.usage.prompt_tokens,
261
+ cachedPromptTokens: (_b = (_a = response.usage.prompt_tokens_details) === null || _a === void 0 ? void 0 : _a.cached_tokens) !== null && _b !== void 0 ? _b : 0,
243
262
  completionTokens: response.usage.completion_tokens,
244
263
  totalTokens: response.usage.total_tokens,
245
264
  });
@@ -515,6 +534,41 @@ var OpenAi = /** @class */ (function () {
515
534
  });
516
535
  });
517
536
  };
537
+ /**
538
+ * Generates a concise response based on the given context and request.
539
+ * This method is designed to produce brief, focused answers without any
540
+ * conversational elements or additional explanations.
541
+ *
542
+ * @param context - The background information or context for the request.
543
+ * @param request - The specific question or task to be addressed.
544
+ * @param model - Optional. The specific model to use for generating the response. If not provided, the default model set for the class instance will be used.
545
+ *
546
+ */
547
+ OpenAi.prototype.generateConciseAnswer = function (_a) {
548
+ var context = _a.context, request = _a.request, model = _a.model;
549
+ return __awaiter(this, void 0, void 0, function () {
550
+ var systemMessages, message;
551
+ return __generator(this, function (_b) {
552
+ switch (_b.label) {
553
+ case 0:
554
+ systemMessages = [
555
+ { role: 'system', content: "Context: ".concat(context, "\n\nRequest: ").concat(request) },
556
+ {
557
+ role: 'system',
558
+ content: 'Provide only the requested information without any additional explanation or conversational elements.',
559
+ },
560
+ ];
561
+ return [4 /*yield*/, this.generateResponse({
562
+ messages: systemMessages,
563
+ model: model || this.model,
564
+ })];
565
+ case 1:
566
+ message = (_b.sent()).message;
567
+ return [2 /*return*/, message.trim()];
568
+ }
569
+ });
570
+ });
571
+ };
518
572
  return OpenAi;
519
573
  }());
520
574
  exports.OpenAi = OpenAi;
@@ -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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"}
@@ -1 +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,mBAAmB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAA6C,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,qBAAqB;IAY9B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,oBAAoB;IAE5B,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,WAAW,CAAC;IAlBtB,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;IAC/B,OAAO,CAAC,sBAAsB,CAAS;gBAGrC,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAChC,WAAW,EAAE,CACnB,SAAS,EAAE,6BAA6B,EAAE,EAC1C,oBAAoB,EAAE,MAAM,KACzB,OAAO,CAAC,QAAQ,CAAC,EACd,oBAAoB,EAAE,oBAAoB,EAClD,QAAQ,CAAC,EAAE,QAAQ,EACX,WAAW,CAAC,yBAAa,EACzB,WAAW,CAAC,eAAc,SAAS,KAAK,QAAQ,IAAI,CAAC,aAAA;IAS/D;;;OAGG;IACH,eAAe,IAAI,QAAQ;IAI3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2D3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;;OAIG;YACW,eAAe;CA4B9B"}
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,mBAAmB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAA6C,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,qBAAqB;IAY9B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,oBAAoB;IAE5B,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,WAAW,CAAC;IAlBtB,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;IAC/B,OAAO,CAAC,sBAAsB,CAAS;gBAGrC,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAChC,WAAW,EAAE,CACnB,SAAS,EAAE,6BAA6B,EAAE,EAC1C,oBAAoB,EAAE,MAAM,KACzB,OAAO,CAAC,QAAQ,CAAC,EACd,oBAAoB,EAAE,oBAAoB,EAClD,QAAQ,CAAC,EAAE,QAAQ,EACX,WAAW,CAAC,yBAAa,EACzB,WAAW,CAAC,eAAc,SAAS,KAAK,QAAQ,IAAI,CAAC,aAAA;IAS/D;;;OAGG;IACH,eAAe,IAAI,QAAQ;IAI3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4D3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;;OAIG;YACW,eAAe;CA4B9B"}
@@ -76,7 +76,7 @@ var OpenAiStreamProcessor = /** @class */ (function () {
76
76
  return new stream_1.Transform({
77
77
  objectMode: true,
78
78
  transform: function (chunk, encoding, callback) {
79
- var _a, _b, _c, _d, _e, _f, _g, _h;
79
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
80
80
  try {
81
81
  if (_this.outputStream.destroyed) {
82
82
  _this.logger.warn({ message: "Destroying input and control streams since output stream is destroyed" });
@@ -116,6 +116,7 @@ var OpenAiStreamProcessor = /** @class */ (function () {
116
116
  else if (chunk.usage) {
117
117
  _this.usageDataAccumulator.addTokenUsage({
118
118
  promptTokens: chunk.usage.prompt_tokens,
119
+ cachedPromptTokens: (_k = (_j = chunk.usage.prompt_tokens_details) === null || _j === void 0 ? void 0 : _j.cached_tokens) !== null && _k !== void 0 ? _k : 0,
119
120
  completionTokens: chunk.usage.completion_tokens,
120
121
  totalTokens: chunk.usage.total_tokens,
121
122
  });
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiStreamProcessor.js","sourceRoot":"","sources":["../../src/OpenAiStreamProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAiStreamProcessor.js","sourceRoot":"","sources":["../../src/OpenAiStreamProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { TiktokenModel } from 'tiktoken';
2
2
  export type TokenUsage = {
3
3
  promptTokens: number;
4
+ cachedPromptTokens: number;
4
5
  completionTokens: number;
5
6
  totalTokens: number;
6
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UsageData.d.ts","sourceRoot":"","sources":["../../src/UsageData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,sCAAsC;IACtC,KAAK,EAAE,aAAa,CAAC;IACrB,mEAAmE;IACnE,wBAAwB,EAAE,UAAU,CAAC;IACrC,4HAA4H;IAC5H,eAAe,EAAE,UAAU,CAAC;IAC5B,mDAAmD;IACnD,wBAAwB,EAAE,MAAM,CAAC;IACjC,gEAAgE;IAChE,YAAY,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,uBAAuB,CAAS;IACjC,SAAS,EAAE,SAAS,CAAC;gBAEhB,EAAE,KAAK,EAAE,EAAE,0BAA0B;IAmBjD,aAAa,CAAC,UAAU,EAAE,UAAU;IAapC,cAAc,CAAC,QAAQ,EAAE,MAAM;CAQhC"}
1
+ {"version":3,"file":"UsageData.d.ts","sourceRoot":"","sources":["../../src/UsageData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,sCAAsC;IACtC,KAAK,EAAE,aAAa,CAAC;IACrB,mEAAmE;IACnE,wBAAwB,EAAE,UAAU,CAAC;IACrC,4HAA4H;IAC5H,eAAe,EAAE,UAAU,CAAC;IAC5B,mDAAmD;IACnD,wBAAwB,EAAE,MAAM,CAAC;IACjC,gEAAgE;IAChE,YAAY,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,uBAAuB,CAAS;IACjC,SAAS,EAAE,SAAS,CAAC;gBAEhB,EAAE,KAAK,EAAE,EAAE,0BAA0B;IAqBjD,aAAa,CAAC,UAAU,EAAE,UAAU;IAcpC,cAAc,CAAC,QAAQ,EAAE,MAAM;CAQhC"}
@@ -9,11 +9,13 @@ var UsageDataAccumulator = /** @class */ (function () {
9
9
  model: model,
10
10
  initialRequestTokenUsage: {
11
11
  promptTokens: 0,
12
+ cachedPromptTokens: 0,
12
13
  completionTokens: 0,
13
14
  totalTokens: 0,
14
15
  },
15
16
  totalTokenUsage: {
16
17
  promptTokens: 0,
18
+ cachedPromptTokens: 0,
17
19
  completionTokens: 0,
18
20
  totalTokens: 0,
19
21
  },
@@ -30,6 +32,7 @@ var UsageDataAccumulator = /** @class */ (function () {
30
32
  }
31
33
  this.usageData.totalTokenUsage = {
32
34
  promptTokens: this.usageData.totalTokenUsage.promptTokens + tokenUsage.promptTokens,
35
+ cachedPromptTokens: this.usageData.totalTokenUsage.promptTokens + tokenUsage.cachedPromptTokens,
33
36
  completionTokens: this.usageData.totalTokenUsage.completionTokens + tokenUsage.completionTokens,
34
37
  totalTokens: this.usageData.totalTokenUsage.totalTokens + tokenUsage.totalTokens,
35
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UsageData.js","sourceRoot":"","sources":["../../src/UsageData.ts"],"names":[],"mappings":";;;AA+BA;IAIE,8BAAY,EAAqC;YAAnC,KAAK,WAAA;QAHX,4BAAuB,GAAG,KAAK,CAAC;QAItC,IAAI,CAAC,SAAS,GAAG;YACf,KAAK,OAAA;YACL,wBAAwB,EAAE;gBACxB,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC;aACf;YACD,eAAe,EAAE;gBACf,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC;aACf;YACD,wBAAwB,EAAE,CAAC;YAC3B,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;IAED,4CAAa,GAAb,UAAc,UAAsB;QAClC,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACjC,IAAI,CAAC,SAAS,CAAC,wBAAwB,GAAG,UAAU,CAAC;YACrD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;SACrC;QACD,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG;YAC/B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY;YACnF,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB;YAC/F,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW;SACjF,CAAC;IACJ,CAAC;IAED,6CAAc,GAAd,UAAe,QAAgB;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;YAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IACH,2BAAC;AAAD,CAAC,AA5CD,IA4CC;AA5CY,oDAAoB"}
1
+ {"version":3,"file":"UsageData.js","sourceRoot":"","sources":["../../src/UsageData.ts"],"names":[],"mappings":";;;AAgCA;IAIE,8BAAY,EAAqC;YAAnC,KAAK,WAAA;QAHX,4BAAuB,GAAG,KAAK,CAAC;QAItC,IAAI,CAAC,SAAS,GAAG;YACf,KAAK,OAAA;YACL,wBAAwB,EAAE;gBACxB,YAAY,EAAE,CAAC;gBACf,kBAAkB,EAAE,CAAC;gBACrB,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC;aACf;YACD,eAAe,EAAE;gBACf,YAAY,EAAE,CAAC;gBACf,kBAAkB,EAAE,CAAC;gBACrB,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC;aACf;YACD,wBAAwB,EAAE,CAAC;YAC3B,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;IAED,4CAAa,GAAb,UAAc,UAAsB;QAClC,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACjC,IAAI,CAAC,SAAS,CAAC,wBAAwB,GAAG,UAAU,CAAC;YACrD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;SACrC;QACD,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG;YAC/B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY;YACnF,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,GAAG,UAAU,CAAC,kBAAkB;YAC/F,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB;YAC/F,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW;SACjF,CAAC;IACJ,CAAC;IAED,6CAAc,GAAd,UAAe,QAAgB;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;YAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IACH,2BAAC;AAAD,CAAC,AA/CD,IA+CC;AA/CY,oDAAoB"}
@@ -0,0 +1,12 @@
1
+ import { UsageDataAccumulator } from './UsageData';
2
+ import { TiktokenModel } from 'tiktoken';
3
+ export declare class UsageDataAccumulatorContext {
4
+ private static readonly storage;
5
+ /**
6
+ * Returns the `UsageDataAccumulator` stored in context depending on the `model` param provided.
7
+ * If no `UsageDataAccumulator` is stored, returns `undefined`.
8
+ */
9
+ getUsageDataAccumulator(model: TiktokenModel): UsageDataAccumulator | undefined;
10
+ runInContext<T>(usageDataAccumulator: UsageDataAccumulator, fn: () => Promise<T>): Promise<T>;
11
+ }
12
+ //# sourceMappingURL=UsageDataContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UsageDataContext.d.ts","sourceRoot":"","sources":["../../src/UsageDataContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMzC,qBAAa,2BAA2B;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAEvE;;;OAGG;IACH,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,GAAG,SAAS;IAU/E,YAAY,CAAC,CAAC,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAgB9F"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.UsageDataAccumulatorContext = void 0;
40
+ var async_hooks_1 = require("async_hooks");
41
+ var UsageDataAccumulatorContext = /** @class */ (function () {
42
+ function UsageDataAccumulatorContext() {
43
+ }
44
+ /**
45
+ * Returns the `UsageDataAccumulator` stored in context depending on the `model` param provided.
46
+ * If no `UsageDataAccumulator` is stored, returns `undefined`.
47
+ */
48
+ UsageDataAccumulatorContext.prototype.getUsageDataAccumulator = function (model) {
49
+ var context = UsageDataAccumulatorContext.storage.getStore();
50
+ if (!context || !context.data.has(model)) {
51
+ return;
52
+ }
53
+ return context.data.get(model);
54
+ };
55
+ UsageDataAccumulatorContext.prototype.runInContext = function (usageDataAccumulator, fn) {
56
+ var _this = this;
57
+ var initialContext = {
58
+ data: new Map([[usageDataAccumulator.usageData.model, usageDataAccumulator]]),
59
+ };
60
+ return new Promise(function (resolve, reject) {
61
+ UsageDataAccumulatorContext.storage.run(initialContext, function () { return __awaiter(_this, void 0, void 0, function () {
62
+ var result, error_1;
63
+ return __generator(this, function (_a) {
64
+ switch (_a.label) {
65
+ case 0:
66
+ _a.trys.push([0, 2, , 3]);
67
+ return [4 /*yield*/, fn()];
68
+ case 1:
69
+ result = _a.sent();
70
+ resolve(result);
71
+ return [3 /*break*/, 3];
72
+ case 2:
73
+ error_1 = _a.sent();
74
+ reject(error_1);
75
+ return [3 /*break*/, 3];
76
+ case 3: return [2 /*return*/];
77
+ }
78
+ });
79
+ }); });
80
+ });
81
+ };
82
+ UsageDataAccumulatorContext.storage = new async_hooks_1.AsyncLocalStorage();
83
+ return UsageDataAccumulatorContext;
84
+ }());
85
+ exports.UsageDataAccumulatorContext = UsageDataAccumulatorContext;
86
+ //# sourceMappingURL=UsageDataContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UsageDataContext.js","sourceRoot":"","sources":["../../src/UsageDataContext.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAgD;AAQhD;IAAA;IAiCA,CAAC;IA9BC;;;OAGG;IACH,6DAAuB,GAAvB,UAAwB,KAAoB;QAC1C,IAAM,OAAO,GAAG,2BAA2B,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAE/D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACxC,OAAO;SACR;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,kDAAY,GAAZ,UAAgB,oBAA0C,EAAE,EAAoB;QAAhF,iBAeC;QAdC,IAAM,cAAc,GAAgB;YAClC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;SAC9E,CAAC;QAEF,OAAO,IAAI,OAAO,CAAI,UAAC,OAAO,EAAE,MAAM;YACpC,2BAA2B,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;;;;;;4BAErC,qBAAM,EAAE,EAAE,EAAA;;4BAAnB,MAAM,GAAG,SAAU;4BACzB,OAAO,CAAC,MAAM,CAAC,CAAC;;;;4BAEhB,MAAM,CAAC,OAAK,CAAC,CAAC;;;;;iBAEjB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IA/BuB,mCAAO,GAAG,IAAI,+BAAiB,EAAe,CAAC;IAgCzE,kCAAC;CAAA,AAjCD,IAiCC;AAjCY,kEAA2B"}
@@ -20,6 +20,7 @@ export declare class ConversationFsModerator implements MessageModerator {
20
20
  private logLevel;
21
21
  private logger;
22
22
  constructor(logLevel?: LogLevel);
23
+ /** Only compatible with message content of type string. */
23
24
  observe(messages: ChatCompletionMessageParam[]): ChatCompletionMessageParam[];
24
25
  }
25
26
  //# sourceMappingURL=ConversationFsModerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationFsModerator.d.ts","sourceRoot":"","sources":["../../../../src/fs/conversation_fs/ConversationFsModerator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAU,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAA8B;gBAEhC,MAAM,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC;IAKzD,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,GAAG,cAAc;CA6B3E;AAED,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,MAAM,CAAS;gBAEX,QAAQ,CAAC,EAAE,QAAQ;IAO/B,OAAO,CAAC,QAAQ,EAAE,0BAA0B,EAAE,GAAG,0BAA0B,EAAE;CAqE9E"}
1
+ {"version":3,"file":"ConversationFsModerator.d.ts","sourceRoot":"","sources":["../../../../src/fs/conversation_fs/ConversationFsModerator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAU,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAA8B;gBAEhC,MAAM,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC;IAKzD,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,GAAG,cAAc;CA6B3E;AAED,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,MAAM,CAAS;gBAEX,QAAQ,CAAC,EAAE,QAAQ;IAO/B,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,EAAE,0BAA0B,EAAE,GAAG,0BAA0B,EAAE;CAuE9E"}
@@ -52,6 +52,7 @@ var ConversationFsModerator = /** @class */ (function () {
52
52
  }
53
53
  this.logger = new logger_1.Logger({ name: this.constructor.name, logLevel: this.logLevel });
54
54
  }
55
+ /** Only compatible with message content of type string. */
55
56
  ConversationFsModerator.prototype.observe = function (messages) {
56
57
  var conversationFileSystemMessageIndex = -1;
57
58
  var conversationFileSystem;
@@ -63,7 +64,9 @@ var ConversationFsModerator = /** @class */ (function () {
63
64
  if (message.role == 'system' && message.content) {
64
65
  var parsedContent = void 0;
65
66
  try {
66
- parsedContent = JSON.parse(message.content);
67
+ if (typeof message.content === 'string') {
68
+ parsedContent = JSON.parse(message.content);
69
+ }
67
70
  }
68
71
  catch (error) { }
69
72
  if (!parsedContent || !parsedContent['fileSystem']) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationFsModerator.js","sourceRoot":"","sources":["../../../../src/fs/conversation_fs/ConversationFsModerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConversationFsModerator.js","sourceRoot":"","sources":["../../../../src/fs/conversation_fs/ConversationFsModerator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { ChatCompletionMessageParam } from 'openai/resources/chat';
2
2
  export interface MessageModerator {
3
+ /** Given a set of messages, modify and return. Only compatible with message content of type string. */
3
4
  observe(messages: ChatCompletionMessageParam[]): ChatCompletionMessageParam[];
4
5
  }
5
6
  //# sourceMappingURL=MessageModerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageModerator.d.ts","sourceRoot":"","sources":["../../../src/history/MessageModerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAE/B,OAAO,CAAC,QAAQ,EAAE,0BAA0B,EAAE,GAAG,0BAA0B,EAAE,CAAC;CAC/E"}
1
+ {"version":3,"file":"MessageModerator.d.ts","sourceRoot":"","sources":["../../../src/history/MessageModerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,uGAAuG;IACvG,OAAO,CAAC,QAAQ,EAAE,0BAA0B,EAAE,GAAG,0BAA0B,EAAE,CAAC;CAC/E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteinjs/conversation",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "publishConfig": {
@@ -32,9 +32,10 @@
32
32
  "@proteinjs/util": "1.4.1",
33
33
  "@proteinjs/util-node": "1.4.1",
34
34
  "fs-extra": "11.1.1",
35
- "openai": "4.52.0",
35
+ "openai": "4.85.3",
36
36
  "readline-sync": "1.4.10",
37
37
  "tiktoken": "1.0.15",
38
38
  "typescript": "5.2.2"
39
- }
39
+ },
40
+ "gitHead": "d6f20a5aef5e524f6a5ce13c7c11cce34a791b56"
40
41
  }
package/src/OpenAi.ts CHANGED
@@ -16,6 +16,7 @@ import { Stream } from 'openai/streaming';
16
16
  import { Readable } from 'stream';
17
17
  import { OpenAiStreamProcessor } from './OpenAiStreamProcessor';
18
18
  import { UsageData, UsageDataAccumulator } from './UsageData';
19
+ import { UsageDataAccumulatorContext } from './UsageDataContext';
19
20
 
20
21
  function delay(ms: number) {
21
22
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -102,59 +103,74 @@ export class OpenAi {
102
103
  }: GenerateResponseHelperParams): Promise<GenerateResponseReturn | Readable> {
103
104
  const logger = new Logger({ name: 'OpenAi.generateResponseHelper', logLevel: this.logLevel });
104
105
  this.updateMessageHistory(messages);
105
- const resolvedUsageDataAccumulator = usageDataAccumulator ?? new UsageDataAccumulator({ model });
106
- const response = await this.executeRequest(model, stream, resolvedUsageDataAccumulator, abortSignal);
107
- if (stream) {
108
- logger.info({ message: `Processing response stream` });
109
- const inputStream = response as Stream<ChatCompletionChunk>;
110
-
111
- // For subsequent tool calls, return the raw OpenAI stream to `OpenAiStreamProcessor`
112
- if (currentFunctionCalls > 0) {
113
- return Readable.from(inputStream);
106
+
107
+ const context = new UsageDataAccumulatorContext();
108
+ const contextDataUsageAccumulator = context.getUsageDataAccumulator(model);
109
+ const resolvedUsageDataAccumulator =
110
+ usageDataAccumulator ?? contextDataUsageAccumulator ?? new UsageDataAccumulator({ model });
111
+ const executeInContext = !contextDataUsageAccumulator;
112
+
113
+ const execute = async () => {
114
+ const response = await this.executeRequest(model, stream, resolvedUsageDataAccumulator, abortSignal);
115
+ if (stream) {
116
+ logger.info({ message: `Processing response stream` });
117
+ const inputStream = response as Stream<ChatCompletionChunk>;
118
+
119
+ // For subsequent tool calls, return the raw OpenAI stream to `OpenAiStreamProcessor`
120
+ if (currentFunctionCalls > 0) {
121
+ return Readable.from(inputStream);
122
+ }
123
+
124
+ // For the initial call to `generateResponseHelper`, return the `OpenAiStreamProcessor` output stream
125
+ const onToolCalls = ((toolCalls, currentFunctionCalls) =>
126
+ this.handleToolCalls(
127
+ toolCalls,
128
+ model,
129
+ stream,
130
+ currentFunctionCalls,
131
+ resolvedUsageDataAccumulator,
132
+ abortSignal,
133
+ onUsageData
134
+ )) as (toolCalls: ChatCompletionMessageToolCall[], currentFunctionCalls: number) => Promise<Readable>;
135
+ const streamProcessor = new OpenAiStreamProcessor(
136
+ inputStream,
137
+ onToolCalls,
138
+ resolvedUsageDataAccumulator,
139
+ this.logLevel,
140
+ abortSignal,
141
+ onUsageData
142
+ );
143
+ return streamProcessor.getOutputStream();
114
144
  }
115
145
 
116
- // For the initial call to `generateResponseHelper`, return the `OpenAiStreamProcessor` output stream
117
- const onToolCalls = ((toolCalls, currentFunctionCalls) =>
118
- this.handleToolCalls(
119
- toolCalls,
146
+ const responseMessage = (response as ChatCompletion).choices[0].message;
147
+ if (responseMessage.tool_calls) {
148
+ return await this.handleToolCalls(
149
+ responseMessage.tool_calls,
120
150
  model,
121
151
  stream,
122
152
  currentFunctionCalls,
123
153
  resolvedUsageDataAccumulator,
124
154
  abortSignal,
125
155
  onUsageData
126
- )) as (toolCalls: ChatCompletionMessageToolCall[], currentFunctionCalls: number) => Promise<Readable>;
127
- const streamProcessor = new OpenAiStreamProcessor(
128
- inputStream,
129
- onToolCalls,
130
- resolvedUsageDataAccumulator,
131
- this.logLevel,
132
- abortSignal,
133
- onUsageData
134
- );
135
- return streamProcessor.getOutputStream();
136
- }
156
+ );
157
+ }
137
158
 
138
- const responseMessage = (response as ChatCompletion).choices[0].message;
139
- if (responseMessage.tool_calls) {
140
- return await this.handleToolCalls(
141
- responseMessage.tool_calls,
142
- model,
143
- stream,
144
- currentFunctionCalls,
145
- resolvedUsageDataAccumulator,
146
- abortSignal,
147
- onUsageData
148
- );
149
- }
159
+ const responseText = responseMessage.content;
160
+ if (!responseText) {
161
+ throw new Error(`Response was empty for messages: ${messages.join('\n')}`);
162
+ }
163
+
164
+ this.history.push([responseMessage]);
165
+ return { message: responseText, usagedata: resolvedUsageDataAccumulator.usageData };
166
+ };
150
167
 
151
- const responseText = responseMessage.content;
152
- if (!responseText) {
153
- throw new Error(`Response was empty for messages: ${messages.join('\n')}`);
168
+ // Only wrap in context if this is the first call
169
+ if (executeInContext) {
170
+ return context.runInContext(resolvedUsageDataAccumulator, execute);
154
171
  }
155
172
 
156
- this.history.push([responseMessage]);
157
- return { message: responseText, usagedata: resolvedUsageDataAccumulator.usageData };
173
+ return execute();
158
174
  }
159
175
 
160
176
  private updateMessageHistory(messages: (string | ChatCompletionMessageParam)[]) {
@@ -194,10 +210,13 @@ export class OpenAi {
194
210
  model,
195
211
  temperature: 0,
196
212
  messages: this.history.getMessages(),
197
- tools: this.functions?.map((f) => ({
198
- type: 'function',
199
- function: f.definition,
200
- })),
213
+ ...(this.functions &&
214
+ this.functions.length > 0 && {
215
+ tools: this.functions.map((f) => ({
216
+ type: 'function',
217
+ function: f.definition,
218
+ })),
219
+ }),
201
220
  stream: stream,
202
221
  ...(stream && { stream_options: { include_usage: true } }),
203
222
  },
@@ -248,6 +267,7 @@ export class OpenAi {
248
267
  logger.info({ message: `Usage data`, obj: { usageData: response.usage } });
249
268
  usageDataAccumulator.addTokenUsage({
250
269
  promptTokens: response.usage.prompt_tokens,
270
+ cachedPromptTokens: response.usage.prompt_tokens_details?.cached_tokens ?? 0,
251
271
  completionTokens: response.usage.completion_tokens,
252
272
  totalTokens: response.usage.total_tokens,
253
273
  });
@@ -521,4 +541,40 @@ export class OpenAi {
521
541
  const { message } = await this.generateResponse({ messages, model });
522
542
  return message.split(';').map((item) => item.trim());
523
543
  }
544
+
545
+ /**
546
+ * Generates a concise response based on the given context and request.
547
+ * This method is designed to produce brief, focused answers without any
548
+ * conversational elements or additional explanations.
549
+ *
550
+ * @param context - The background information or context for the request.
551
+ * @param request - The specific question or task to be addressed.
552
+ * @param model - Optional. The specific model to use for generating the response. If not provided, the default model set for the class instance will be used.
553
+ *
554
+ */
555
+ async generateConciseAnswer({
556
+ context,
557
+ request,
558
+ model,
559
+ }: {
560
+ context: string;
561
+ request: string;
562
+ model?: TiktokenModel;
563
+ }): Promise<string> {
564
+ const systemMessages: ChatCompletionMessageParam[] = [
565
+ { role: 'system', content: `Context: ${context}\n\nRequest: ${request}` },
566
+ {
567
+ role: 'system',
568
+ content:
569
+ 'Provide only the requested information without any additional explanation or conversational elements.',
570
+ },
571
+ ];
572
+
573
+ const { message } = await this.generateResponse({
574
+ messages: systemMessages,
575
+ model: model || this.model,
576
+ });
577
+
578
+ return message.trim();
579
+ }
524
580
  }
@@ -91,6 +91,7 @@ export class OpenAiStreamProcessor {
91
91
  } else if (chunk.usage) {
92
92
  this.usageDataAccumulator.addTokenUsage({
93
93
  promptTokens: chunk.usage.prompt_tokens,
94
+ cachedPromptTokens: chunk.usage.prompt_tokens_details?.cached_tokens ?? 0,
94
95
  completionTokens: chunk.usage.completion_tokens,
95
96
  totalTokens: chunk.usage.total_tokens,
96
97
  });
package/src/UsageData.ts CHANGED
@@ -2,6 +2,7 @@ import { TiktokenModel } from 'tiktoken';
2
2
 
3
3
  export type TokenUsage = {
4
4
  promptTokens: number;
5
+ cachedPromptTokens: number;
5
6
  completionTokens: number;
6
7
  totalTokens: number;
7
8
  };
@@ -38,11 +39,13 @@ export class UsageDataAccumulator {
38
39
  model,
39
40
  initialRequestTokenUsage: {
40
41
  promptTokens: 0,
42
+ cachedPromptTokens: 0,
41
43
  completionTokens: 0,
42
44
  totalTokens: 0,
43
45
  },
44
46
  totalTokenUsage: {
45
47
  promptTokens: 0,
48
+ cachedPromptTokens: 0,
46
49
  completionTokens: 0,
47
50
  totalTokens: 0,
48
51
  },
@@ -60,6 +63,7 @@ export class UsageDataAccumulator {
60
63
  }
61
64
  this.usageData.totalTokenUsage = {
62
65
  promptTokens: this.usageData.totalTokenUsage.promptTokens + tokenUsage.promptTokens,
66
+ cachedPromptTokens: this.usageData.totalTokenUsage.promptTokens + tokenUsage.cachedPromptTokens,
63
67
  completionTokens: this.usageData.totalTokenUsage.completionTokens + tokenUsage.completionTokens,
64
68
  totalTokens: this.usageData.totalTokenUsage.totalTokens + tokenUsage.totalTokens,
65
69
  };
@@ -0,0 +1,42 @@
1
+ import { AsyncLocalStorage } from 'async_hooks';
2
+ import { UsageDataAccumulator } from './UsageData';
3
+ import { TiktokenModel } from 'tiktoken';
4
+
5
+ interface ContextData {
6
+ data: Map<TiktokenModel, UsageDataAccumulator>;
7
+ }
8
+
9
+ export class UsageDataAccumulatorContext {
10
+ private static readonly storage = new AsyncLocalStorage<ContextData>();
11
+
12
+ /**
13
+ * Returns the `UsageDataAccumulator` stored in context depending on the `model` param provided.
14
+ * If no `UsageDataAccumulator` is stored, returns `undefined`.
15
+ */
16
+ getUsageDataAccumulator(model: TiktokenModel): UsageDataAccumulator | undefined {
17
+ const context = UsageDataAccumulatorContext.storage.getStore();
18
+
19
+ if (!context || !context.data.has(model)) {
20
+ return;
21
+ }
22
+
23
+ return context.data.get(model);
24
+ }
25
+
26
+ runInContext<T>(usageDataAccumulator: UsageDataAccumulator, fn: () => Promise<T>): Promise<T> {
27
+ const initialContext: ContextData = {
28
+ data: new Map([[usageDataAccumulator.usageData.model, usageDataAccumulator]]),
29
+ };
30
+
31
+ return new Promise<T>((resolve, reject) => {
32
+ UsageDataAccumulatorContext.storage.run(initialContext, async () => {
33
+ try {
34
+ const result = await fn();
35
+ resolve(result);
36
+ } catch (error) {
37
+ reject(error);
38
+ }
39
+ });
40
+ });
41
+ }
42
+ }
@@ -65,6 +65,7 @@ export class ConversationFsModerator implements MessageModerator {
65
65
  this.logger = new Logger({ name: this.constructor.name, logLevel: this.logLevel });
66
66
  }
67
67
 
68
+ /** Only compatible with message content of type string. */
68
69
  observe(messages: ChatCompletionMessageParam[]): ChatCompletionMessageParam[] {
69
70
  let conversationFileSystemMessageIndex: number = -1;
70
71
  let conversationFileSystem: ConversationFs | undefined;
@@ -76,7 +77,9 @@ export class ConversationFsModerator implements MessageModerator {
76
77
  if (message.role == 'system' && message.content) {
77
78
  let parsedContent: any;
78
79
  try {
79
- parsedContent = JSON.parse(message.content);
80
+ if (typeof message.content === 'string') {
81
+ parsedContent = JSON.parse(message.content);
82
+ }
80
83
  } catch (error) {}
81
84
  if (!parsedContent || !parsedContent['fileSystem']) {
82
85
  continue;
@@ -1,6 +1,6 @@
1
1
  import { ChatCompletionMessageParam } from 'openai/resources/chat';
2
2
 
3
3
  export interface MessageModerator {
4
- // given a set of messages, modify and return
4
+ /** Given a set of messages, modify and return. Only compatible with message content of type string. */
5
5
  observe(messages: ChatCompletionMessageParam[]): ChatCompletionMessageParam[];
6
6
  }