@mate-academy/llm-gateway 8.6.0 → 8.7.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.
Files changed (32) hide show
  1. package/README.md +19 -14
  2. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs.d.ts +7 -1
  3. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs.js +6 -0
  4. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs.js.map +1 -1
  5. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.d.ts +13 -0
  6. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +118 -37
  7. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -1
  8. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.d.ts +6 -0
  9. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js +47 -33
  10. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js.map +1 -1
  11. package/dist/providers/OpenAI/OpenAI.typedefs.d.ts +10 -1
  12. package/dist/providers/OpenAI/OpenAI.typedefs.js +1 -0
  13. package/dist/providers/OpenAI/OpenAI.typedefs.js.map +1 -1
  14. package/dist/providers/OpenAI/services/OpenAIAssistance.service.d.ts +8 -0
  15. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +98 -47
  16. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -1
  17. package/dist/services/LLMBaseService.abstract.d.ts +33 -0
  18. package/dist/services/LLMBaseService.abstract.js +87 -15
  19. package/dist/services/LLMBaseService.abstract.js.map +1 -1
  20. package/dist/services/agentRounds/LLMAgentRounds.d.ts +35 -0
  21. package/dist/services/agentRounds/LLMAgentRounds.js +64 -0
  22. package/dist/services/agentRounds/LLMAgentRounds.js.map +1 -0
  23. package/dist/services/agentRounds/agentRounds.typedefs.d.ts +40 -0
  24. package/dist/services/agentRounds/agentRounds.typedefs.js +3 -0
  25. package/dist/services/agentRounds/agentRounds.typedefs.js.map +1 -0
  26. package/dist/services/agentRounds/index.d.ts +2 -0
  27. package/dist/services/agentRounds/index.js +19 -0
  28. package/dist/services/agentRounds/index.js.map +1 -0
  29. package/dist/services/index.d.ts +1 -0
  30. package/dist/services/index.js +1 -0
  31. package/dist/services/index.js.map +1 -1
  32. package/package.json +1 -1
@@ -182,6 +182,12 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
182
182
  const writeMetrics = this.reporter?.initWriter(reporterContext);
183
183
  const method = this.getMethodName(this.assistInChatText);
184
184
  const generationStartedAt = Date.now();
185
+ const rounds = this.openAgentRounds({
186
+ method,
187
+ model,
188
+ traceContext,
189
+ modelParameters: model.config,
190
+ });
185
191
  try {
186
192
  const { storageId, tools, } = this.prepareChatForAssist(options);
187
193
  const toolLoopResult = await this.executeToolLoop({
@@ -192,6 +198,7 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
192
198
  customTools,
193
199
  maxToolIterations,
194
200
  abortSignal,
201
+ rounds,
195
202
  onAssistantNarration: options.onAssistantNarration,
196
203
  });
197
204
  const text = toolLoopResult.text;
@@ -201,14 +208,6 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
201
208
  model,
202
209
  usage: this.buildToolLoopUsage(toolLoopResult),
203
210
  writeMetrics,
204
- generationTrace: this.buildGenerationTrace({
205
- method,
206
- traceContext,
207
- input: options.message,
208
- output: text,
209
- modelParameters: model.config,
210
- startedAt: generationStartedAt,
211
- }),
212
211
  });
213
212
  return {
214
213
  text,
@@ -229,7 +228,8 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
229
228
  isAborted: abortSignal?.aborted,
230
229
  writeMetrics,
231
230
  error,
232
- generationTrace: this.buildGenerationTrace({
231
+ generationTrace: this.buildUnstartedRunTrace({
232
+ rounds,
233
233
  method,
234
234
  traceContext,
235
235
  input: options.message,
@@ -256,6 +256,12 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
256
256
  const writeMetrics = this.reporter?.initWriter(reporterContext);
257
257
  const method = this.getMethodName(this.assistInChatStructured);
258
258
  const generationStartedAt = Date.now();
259
+ const rounds = this.openAgentRounds({
260
+ method,
261
+ model,
262
+ traceContext,
263
+ modelParameters: model.config,
264
+ });
259
265
  try {
260
266
  const { storageId, tools } = this.prepareChatForAssist(options);
261
267
  const jsonSchema = schema._toProviderSchema(LLMService_typedefs_1.LLMProviders.LLMAPI);
@@ -273,6 +279,7 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
273
279
  maxToolIterations,
274
280
  abortSignal,
275
281
  responseFormat,
282
+ rounds,
276
283
  onAssistantNarration: options.onAssistantNarration,
277
284
  });
278
285
  const text = (0, utilities_1.stripThinkingTags)(toolLoopResult.text);
@@ -285,14 +292,6 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
285
292
  model,
286
293
  usage,
287
294
  writeMetrics,
288
- generationTrace: this.buildGenerationTrace({
289
- method,
290
- traceContext,
291
- input: options.message,
292
- output: text,
293
- modelParameters: model.config,
294
- startedAt: generationStartedAt,
295
- }),
296
295
  });
297
296
  return {
298
297
  text,
@@ -320,14 +319,6 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
320
319
  model,
321
320
  usage,
322
321
  writeMetrics,
323
- generationTrace: this.buildGenerationTrace({
324
- method,
325
- traceContext,
326
- input: options.message,
327
- output: text,
328
- modelParameters: model.config,
329
- startedAt: generationStartedAt,
330
- }),
331
322
  });
332
323
  if ('error' in structuredResult) {
333
324
  return structuredResult;
@@ -348,7 +339,8 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
348
339
  isAborted: abortSignal?.aborted,
349
340
  writeMetrics,
350
341
  error,
351
- generationTrace: this.buildGenerationTrace({
342
+ generationTrace: this.buildUnstartedRunTrace({
343
+ rounds,
352
344
  method,
353
345
  traceContext,
354
346
  input: options.message,
@@ -427,6 +419,21 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
427
419
  messages.shift();
428
420
  };
429
421
  }
422
+ /**
423
+ * One round's usage, mapped exactly as `buildToolLoopUsage` maps the run
424
+ * total, so the per-round generations add up to the single metrics point the
425
+ * run still writes.
426
+ */
427
+ buildRoundUsage(usage) {
428
+ const promptTokens = usage?.prompt_tokens ?? 0;
429
+ const cachedTokens = usage?.prompt_tokens_details?.cached_tokens ?? 0;
430
+ return {
431
+ inputTextTokens: promptTokens - cachedTokens,
432
+ inputCachedTextTokens: cachedTokens,
433
+ outputTextTokens: usage?.completion_tokens ?? 0,
434
+ outputReasoningTokens: usage?.completion_tokens_details?.reasoning_tokens ?? 0,
435
+ };
436
+ }
430
437
  buildToolLoopUsage(result) {
431
438
  return {
432
439
  inputTextTokens: result.totalPromptTokens
@@ -493,7 +500,7 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
493
500
  return tools;
494
501
  }
495
502
  async executeToolLoop(options) {
496
- const { chatId, model, tools, storageId, customTools, maxToolIterations, abortSignal, responseFormat, onAssistantNarration, } = options;
503
+ const { chatId, model, tools, storageId, customTools, maxToolIterations, abortSignal, rounds, responseFormat, onAssistantNarration, } = options;
497
504
  let totalPromptTokens = 0;
498
505
  let totalCachedTokens = 0;
499
506
  let totalOutputTokens = 0;
@@ -508,12 +515,19 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
508
515
  toolIterationsExhausted = toolIterationsUsed >= maxToolIterations;
509
516
  const hasTools = tools.length > 0;
510
517
  this.logOutgoingToolCalls(chatId, iteration);
511
- const response = await this.createToolLoopCompletion({
512
- chatId,
513
- model,
514
- tools: hasTools ? tools : undefined,
515
- responseFormat,
516
- abortSignal,
518
+ const response = await rounds.run({
519
+ input: [...this.chatState.getMessages(chatId)],
520
+ call: () => this.createToolLoopCompletion({
521
+ chatId,
522
+ model,
523
+ tools: hasTools ? tools : undefined,
524
+ responseFormat,
525
+ abortSignal,
526
+ }),
527
+ describeOutcome: (completion) => ({
528
+ output: completion.choices[0]?.message,
529
+ usage: this.buildRoundUsage(completion.usage),
530
+ }),
517
531
  });
518
532
  const choice = response.choices[0];
519
533
  totalPromptTokens += response.usage?.prompt_tokens ?? 0;
@@ -1 +1 @@
1
- {"version":3,"file":"LLMAPIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/LLMAPI/services/LLMAPIAssistance.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LLMAPIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/LLMAPI/services/LLMAPIAssistance.service.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,8 @@ export declare enum OpenAIModelNames {
19
19
  }
20
20
  export declare enum OpenAIRoles {
21
21
  User = "user",
22
- Assistant = "assistant"
22
+ Assistant = "assistant",
23
+ Developer = "developer"
23
24
  }
24
25
  export type OpenAIClient = OpenAI;
25
26
  export type OpenAIClientOptions = ClientOptions;
@@ -41,6 +42,14 @@ export interface OpenAIResponsesAPIConfig {
41
42
  export type OpenAITool = OpenAI.Responses.Tool;
42
43
  export type ResponseInput = OpenAI.Responses.ResponseInput;
43
44
  export type ResponseInputContent = OpenAI.Responses.ResponseInputContent;
45
+ /**
46
+ * The trace-only transcript of one Responses-API turn: the items sent as
47
+ * input, the items the model produced, and the tool outputs handed back to it.
48
+ * Wider than `ResponseInput` because output items — narration, reasoning, tool
49
+ * calls — are exactly what makes a round readable, and safe to widen because
50
+ * this array is never sent to the provider.
51
+ */
52
+ export type TracedResponseConversation = (OpenAI.Responses.ResponseInputItem | OpenAI.Responses.ResponseOutputItem)[];
44
53
  export declare enum OpenAIErrorType {
45
54
  InvalidRequestError = "invalid_request_error"
46
55
  }
@@ -22,6 +22,7 @@ var OpenAIRoles;
22
22
  (function (OpenAIRoles) {
23
23
  OpenAIRoles["User"] = "user";
24
24
  OpenAIRoles["Assistant"] = "assistant";
25
+ OpenAIRoles["Developer"] = "developer";
25
26
  })(OpenAIRoles || (exports.OpenAIRoles = OpenAIRoles = {}));
26
27
  var OpenAIErrorType;
27
28
  (function (OpenAIErrorType) {
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAI.typedefs.js","sourceRoot":"","sources":["../../../src/providers/OpenAI/OpenAI.typedefs.ts"],"names":[],"mappings":";;;AAC6C,CAAC;AAI9C,IAAY,gBAcX;AAdD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,iDAA6B,CAAA;IAC7B,iDAA6B,CAAA;IAC7B,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;IACzB,6CAAyB,CAAA;IACzB,+DAA2C,CAAA;IAC3C,yEAAqD,CAAA;IACrD,mCAAe,CAAA;IACf,2DAAuC,CAAA;AACzC,CAAC,EAdW,gBAAgB,gCAAhB,gBAAgB,QAc3B;AAED,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,sCAAuB,CAAA;AACzB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AA+CD,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,gEAA6C,CAAA;AAC/C,CAAC,EAFW,eAAe,+BAAf,eAAe,QAE1B;AAED,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,iDAA8B,CAAA;AAChC,CAAC,EAFW,eAAe,+BAAf,eAAe,QAE1B;AAED,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;AACf,CAAC,EAFW,gBAAgB,gCAAhB,gBAAgB,QAE3B"}
1
+ {"version":3,"file":"OpenAI.typedefs.js","sourceRoot":"","sources":["../../../src/providers/OpenAI/OpenAI.typedefs.ts"],"names":[],"mappings":";;;AAC6C,CAAC;AAI9C,IAAY,gBAcX;AAdD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,iDAA6B,CAAA;IAC7B,iDAA6B,CAAA;IAC7B,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;IACzB,6CAAyB,CAAA;IACzB,+DAA2C,CAAA;IAC3C,yEAAqD,CAAA;IACrD,mCAAe,CAAA;IACf,2DAAuC,CAAA;AACzC,CAAC,EAdW,gBAAgB,gCAAhB,gBAAgB,QAc3B;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;AACzB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AA2DD,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,gEAA6C,CAAA;AAC/C,CAAC,EAFW,eAAe,+BAAf,eAAe,QAE1B;AAED,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,iDAA8B,CAAA;AAChC,CAAC,EAFW,eAAe,+BAAf,eAAe,QAE1B;AAED,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;AACf,CAAC,EAFW,gBAAgB,gCAAhB,gBAAgB,QAE3B"}
@@ -20,6 +20,14 @@ export declare class OpenAIAssistanceService<Reporter extends LLMReporterInterfa
20
20
  private prepareAssistTools;
21
21
  private extractUsageFromResponse;
22
22
  private buildUsageMetrics;
23
+ /**
24
+ * The transcript a traced round of this turn shows. The Responses API keeps
25
+ * earlier turns of the chat server-side and refers to them by
26
+ * `previous_response_id`, so what a round can honestly show is what this call
27
+ * put on the wire: the chat's instructions, this turn's input items, and
28
+ * everything the tool loop appends to them afterwards.
29
+ */
30
+ private startTracedConversation;
23
31
  protected assistInChatText(options: LLMAssistanceOptions<LLMProviders.OpenAI, Reporter>): Promise<LLMAssistanceResult>;
24
32
  protected assistInChatStructured(options: LLMAssistanceOptions<LLMProviders.OpenAI, Reporter> & {
25
33
  schema: LLMSchemaInterface;
@@ -245,25 +245,61 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
245
245
  outputTextTokens: usage.outputTokens + usage.reasoningTokens,
246
246
  };
247
247
  }
248
+ /**
249
+ * The transcript a traced round of this turn shows. The Responses API keeps
250
+ * earlier turns of the chat server-side and refers to them by
251
+ * `previous_response_id`, so what a round can honestly show is what this call
252
+ * put on the wire: the chat's instructions, this turn's input items, and
253
+ * everything the tool loop appends to them afterwards.
254
+ */
255
+ startTracedConversation(params) {
256
+ const instructions = this.chatInstructions.get(params.chatId);
257
+ return [
258
+ ...(instructions
259
+ ? [{
260
+ role: OpenAI_typedefs_1.OpenAIRoles.Developer,
261
+ content: instructions,
262
+ }]
263
+ : []),
264
+ ...params.messageInput,
265
+ ];
266
+ }
248
267
  async assistInChatText(options) {
249
268
  const { model, chatId, abortSignal, reporterContext, traceContext, } = options;
250
269
  const writeMetrics = this.reporter?.initWriter(reporterContext);
251
270
  const method = this.getMethodName(this.assistInChatText);
252
271
  const generationStartedAt = Date.now();
272
+ const rounds = this.openAgentRounds({
273
+ method,
274
+ model,
275
+ traceContext,
276
+ modelParameters: model.config,
277
+ });
253
278
  try {
254
279
  abortSignal?.throwIfAborted();
255
280
  const lastResponseId = this.responseHistory.get(chatId);
256
281
  const { messageInput, tools } = this.prepareAssistTools(options);
257
282
  const customTools = options.tools ?? [];
258
- const initialResponse = await this.instance.responses.create({
259
- model: model.name,
260
- input: messageInput,
261
- previous_response_id: lastResponseId,
262
- tools: tools.length > 0
263
- ? tools
264
- : undefined,
265
- instructions: this.chatInstructions.get(chatId),
266
- }, { signal: abortSignal });
283
+ const conversation = this.startTracedConversation({
284
+ chatId,
285
+ messageInput,
286
+ });
287
+ const initialResponse = await rounds.run({
288
+ input: [...conversation],
289
+ call: () => this.instance.responses.create({
290
+ model: model.name,
291
+ input: messageInput,
292
+ previous_response_id: lastResponseId,
293
+ tools: tools.length > 0
294
+ ? tools
295
+ : undefined,
296
+ instructions: this.chatInstructions.get(chatId),
297
+ }, { signal: abortSignal }),
298
+ describeOutcome: (response) => ({
299
+ output: response.output,
300
+ usage: this.buildUsageMetrics(this.extractUsageFromResponse(response)),
301
+ }),
302
+ });
267
303
  this.responseHistory.set(chatId, initialResponse.id);
268
304
  const maxIterations = options.maxToolIterations
269
305
  ?? LLMService_constants_1.DEFAULT_MAX_TOOL_ITERATIONS;
@@ -275,6 +311,8 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
275
311
  maxIterations,
276
312
  abortSignal,
277
313
  allTools: tools,
314
+ rounds,
315
+ conversation,
278
316
  onAssistantNarration: options.onAssistantNarration,
279
317
  });
280
318
  const { response: finalResponse, totalUsage } = toolLoopResult;
@@ -284,14 +322,6 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
284
322
  model,
285
323
  usage: this.buildUsageMetrics(totalUsage),
286
324
  writeMetrics,
287
- generationTrace: this.buildGenerationTrace({
288
- method,
289
- traceContext,
290
- input: options.message,
291
- output: text,
292
- modelParameters: model.config,
293
- startedAt: generationStartedAt,
294
- }),
295
325
  });
296
326
  return {
297
327
  text,
@@ -312,7 +342,8 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
312
342
  isAborted: abortSignal?.aborted,
313
343
  writeMetrics,
314
344
  error,
315
- generationTrace: this.buildGenerationTrace({
345
+ generationTrace: this.buildUnstartedRunTrace({
346
+ rounds,
316
347
  method,
317
348
  traceContext,
318
349
  input: options.message,
@@ -339,6 +370,12 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
339
370
  const writeMetrics = this.reporter?.initWriter(reporterContext);
340
371
  const method = this.getMethodName(this.assistInChatStructured);
341
372
  const generationStartedAt = Date.now();
373
+ const rounds = this.openAgentRounds({
374
+ method,
375
+ model,
376
+ traceContext,
377
+ modelParameters: model.config,
378
+ });
342
379
  try {
343
380
  abortSignal?.throwIfAborted();
344
381
  const lastResponseId = this.responseHistory.get(chatId);
@@ -353,16 +390,27 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
353
390
  schema: jsonSchema,
354
391
  },
355
392
  };
356
- const initialResponse = await this.instance.responses.create({
357
- model: model.name,
358
- input: messageInput,
359
- previous_response_id: lastResponseId,
360
- tools: tools.length > 0
361
- ? tools
362
- : undefined,
363
- instructions: this.chatInstructions.get(chatId),
364
- text: textFormat,
365
- }, { signal: abortSignal });
393
+ const conversation = this.startTracedConversation({
394
+ chatId,
395
+ messageInput,
396
+ });
397
+ const initialResponse = await rounds.run({
398
+ input: [...conversation],
399
+ call: () => this.instance.responses.create({
400
+ model: model.name,
401
+ input: messageInput,
402
+ previous_response_id: lastResponseId,
403
+ tools: tools.length > 0
404
+ ? tools
405
+ : undefined,
406
+ instructions: this.chatInstructions.get(chatId),
407
+ text: textFormat,
408
+ }, { signal: abortSignal }),
409
+ describeOutcome: (response) => ({
410
+ output: response.output,
411
+ usage: this.buildUsageMetrics(this.extractUsageFromResponse(response)),
412
+ }),
413
+ });
366
414
  this.responseHistory.set(chatId, initialResponse.id);
367
415
  const maxIterations = options.maxToolIterations
368
416
  ?? LLMService_constants_1.DEFAULT_MAX_TOOL_ITERATIONS;
@@ -374,6 +422,8 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
374
422
  maxIterations,
375
423
  abortSignal,
376
424
  allTools: tools,
425
+ rounds,
426
+ conversation,
377
427
  textFormat,
378
428
  onAssistantNarration: options.onAssistantNarration,
379
429
  });
@@ -404,14 +454,6 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
404
454
  model,
405
455
  usage: this.buildUsageMetrics(totalUsage),
406
456
  writeMetrics,
407
- generationTrace: this.buildGenerationTrace({
408
- method,
409
- traceContext,
410
- input: options.message,
411
- output: content,
412
- modelParameters: model.config,
413
- startedAt: generationStartedAt,
414
- }),
415
457
  });
416
458
  return {
417
459
  text: content,
@@ -444,7 +486,8 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
444
486
  isAborted: abortSignal?.aborted,
445
487
  writeMetrics,
446
488
  error,
447
- generationTrace: this.buildGenerationTrace({
489
+ generationTrace: this.buildUnstartedRunTrace({
490
+ rounds,
448
491
  method,
449
492
  traceContext,
450
493
  input: options.message,
@@ -534,7 +577,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
534
577
  }
535
578
  }
536
579
  async executeToolLoop(parameters) {
537
- const { tools, model, chatId, maxIterations, abortSignal, allTools, textFormat, onAssistantNarration, } = parameters;
580
+ const { tools, model, chatId, maxIterations, abortSignal, allTools, rounds, conversation, textFormat, onAssistantNarration, } = parameters;
538
581
  let currentResponse = parameters.response;
539
582
  const totalUsage = this.extractUsageFromResponse(currentResponse);
540
583
  let toolIterationsUsed = 1;
@@ -560,14 +603,22 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
560
603
  }
561
604
  const outputItems = executedCalls.map((executed) => executed.outputItem);
562
605
  abortSignal?.throwIfAborted();
563
- const nextResponse = await this.instance.responses.create({
564
- model: model.name,
565
- input: outputItems,
566
- previous_response_id: currentResponse.id,
567
- tools: allTools,
568
- instructions: this.chatInstructions.get(chatId),
569
- ...(textFormat && { text: textFormat }),
570
- }, { signal: abortSignal });
606
+ conversation.push(...currentResponse.output, ...outputItems);
607
+ const nextResponse = await rounds.run({
608
+ input: [...conversation],
609
+ call: () => this.instance.responses.create({
610
+ model: model.name,
611
+ input: outputItems,
612
+ previous_response_id: currentResponse.id,
613
+ tools: allTools,
614
+ instructions: this.chatInstructions.get(chatId),
615
+ ...(textFormat && { text: textFormat }),
616
+ }, { signal: abortSignal }),
617
+ describeOutcome: (response) => ({
618
+ output: response.output,
619
+ usage: this.buildUsageMetrics(this.extractUsageFromResponse(response)),
620
+ }),
621
+ });
571
622
  this.responseHistory.set(chatId, nextResponse.id);
572
623
  toolIterationsUsed += 1;
573
624
  const iterationUsage = this.extractUsageFromResponse(nextResponse);
@@ -650,7 +701,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
650
701
  return [{
651
702
  role: role === LLMService_typedefs_1.LLMRoles.User
652
703
  ? OpenAI_typedefs_1.OpenAIRoles.User
653
- : 'developer',
704
+ : OpenAI_typedefs_1.OpenAIRoles.Developer,
654
705
  content: messageContent,
655
706
  }];
656
707
  }