@mate-academy/llm-gateway 8.0.0 → 8.2.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 (102) hide show
  1. package/README.md +76 -4
  2. package/dist/LLMGateway.d.ts +2 -2
  3. package/dist/LLMGateway.js.map +1 -1
  4. package/dist/LLMGateway.typedefs.d.ts +2 -2
  5. package/dist/LLMService.typedefs.d.ts +20 -0
  6. package/dist/LLMService.typedefs.js.map +1 -1
  7. package/dist/client/LLMAgent.d.ts +17 -4
  8. package/dist/client/LLMAgent.js +4 -0
  9. package/dist/client/LLMAgent.js.map +1 -1
  10. package/dist/client/LLMClientEngine.d.ts +81 -0
  11. package/dist/client/LLMClientEngine.js +350 -0
  12. package/dist/client/LLMClientEngine.js.map +1 -0
  13. package/dist/client/agentRun.typedefs.d.ts +18 -3
  14. package/dist/client/agentRun.typedefs.js +1 -0
  15. package/dist/client/agentRun.typedefs.js.map +1 -1
  16. package/dist/client/agentRunner.d.ts +38 -3
  17. package/dist/client/agentRunner.js +206 -80
  18. package/dist/client/agentRunner.js.map +1 -1
  19. package/dist/client/codegen/fetchPromptRecords.d.ts +1 -1
  20. package/dist/client/codegen/index.d.ts +1 -0
  21. package/dist/client/codegen/index.js +1 -0
  22. package/dist/client/codegen/index.js.map +1 -1
  23. package/dist/client/codegen/renderSnapshot.constants.d.ts +12 -0
  24. package/dist/client/codegen/renderSnapshot.constants.js +21 -0
  25. package/dist/client/codegen/renderSnapshot.constants.js.map +1 -0
  26. package/dist/client/codegen/renderSnapshot.d.ts +6 -18
  27. package/dist/client/codegen/renderSnapshot.js +152 -125
  28. package/dist/client/codegen/renderSnapshot.js.map +1 -1
  29. package/dist/client/codegen/renderSnapshot.typedefs.d.ts +20 -0
  30. package/dist/client/codegen/renderSnapshot.typedefs.js +3 -0
  31. package/dist/client/codegen/renderSnapshot.typedefs.js.map +1 -0
  32. package/dist/client/coerceToolResult.d.ts +10 -0
  33. package/dist/client/coerceToolResult.js +38 -0
  34. package/dist/client/coerceToolResult.js.map +1 -0
  35. package/dist/client/createLLMClient.d.ts +1 -40
  36. package/dist/client/createLLMClient.js +5 -329
  37. package/dist/client/createLLMClient.js.map +1 -1
  38. package/dist/client/index.d.ts +3 -1
  39. package/dist/client/index.js +3 -1
  40. package/dist/client/index.js.map +1 -1
  41. package/dist/client/llmClient.typedefs.d.ts +180 -0
  42. package/dist/client/{createLLMClient.typedefs.js → llmClient.typedefs.js} +1 -1
  43. package/dist/client/llmClient.typedefs.js.map +1 -0
  44. package/dist/client/plainMessages.d.ts +1 -1
  45. package/dist/client/promptRegistry.runtime.d.ts +2 -2
  46. package/dist/client/promptRegistry.runtime.js.map +1 -1
  47. package/dist/client/promptVariables.d.ts +7 -0
  48. package/dist/client/promptVariables.js +13 -0
  49. package/dist/client/promptVariables.js.map +1 -0
  50. package/dist/client/snapshotRuntime.d.ts +17 -0
  51. package/dist/client/snapshotRuntime.js +42 -0
  52. package/dist/client/snapshotRuntime.js.map +1 -0
  53. package/dist/client/snapshotRuntime.typedefs.d.ts +13 -0
  54. package/dist/client/snapshotRuntime.typedefs.js +3 -0
  55. package/dist/client/snapshotRuntime.typedefs.js.map +1 -0
  56. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +6 -0
  57. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -1
  58. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js +6 -0
  59. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js.map +1 -1
  60. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js +3 -0
  61. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js.map +1 -1
  62. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.d.ts +0 -2
  63. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js +43 -25
  64. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js.map +1 -1
  65. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.d.ts +0 -2
  66. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.js +18 -17
  67. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.js.map +1 -1
  68. package/dist/providers/LLMAPI/utilities/index.d.ts +1 -1
  69. package/dist/providers/LLMAPI/utilities/index.js +3 -4
  70. package/dist/providers/LLMAPI/utilities/index.js.map +1 -1
  71. package/dist/providers/LLMAPI/utilities/validateStructuredResponse.d.ts +10 -0
  72. package/dist/providers/LLMAPI/utilities/validateStructuredResponse.js +21 -0
  73. package/dist/providers/LLMAPI/utilities/validateStructuredResponse.js.map +1 -0
  74. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +6 -0
  75. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -1
  76. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.js +6 -0
  77. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.js.map +1 -1
  78. package/dist/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.js +3 -0
  79. package/dist/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.js.map +1 -1
  80. package/dist/services/LLMBaseService.abstract.d.ts +4 -3
  81. package/dist/services/LLMBaseService.abstract.js +6 -3
  82. package/dist/services/LLMBaseService.abstract.js.map +1 -1
  83. package/dist/utilities/index.d.ts +0 -1
  84. package/dist/utilities/index.js +0 -1
  85. package/dist/utilities/index.js.map +1 -1
  86. package/dist/utilities/llmTracing/llmTracing.constants.d.ts +5 -4
  87. package/dist/utilities/llmTracing/llmTracing.constants.js +6 -5
  88. package/dist/utilities/llmTracing/llmTracing.constants.js.map +1 -1
  89. package/dist/utilities/llmTracing/llmTracing.typedefs.d.ts +18 -9
  90. package/dist/utilities/llmTracing/noopLLMTracing.d.ts +2 -2
  91. package/dist/utilities/llmTracing/noopLLMTracing.js.map +1 -1
  92. package/dist/utilities/tools/LLMTool.d.ts +3 -12
  93. package/dist/utilities/tools/LLMTool.js.map +1 -1
  94. package/package.json +2 -1
  95. package/dist/client/createLLMClient.typedefs.d.ts +0 -91
  96. package/dist/client/createLLMClient.typedefs.js.map +0 -1
  97. package/dist/providers/LLMAPI/utilities/LLMAPIJsonFixer.d.ts +0 -24
  98. package/dist/providers/LLMAPI/utilities/LLMAPIJsonFixer.js +0 -237
  99. package/dist/providers/LLMAPI/utilities/LLMAPIJsonFixer.js.map +0 -1
  100. package/dist/utilities/traceIO.d.ts +0 -17
  101. package/dist/utilities/traceIO.js +0 -48
  102. package/dist/utilities/traceIO.js.map +0 -1
@@ -156,7 +156,7 @@ class LLMBaseService {
156
156
  if (!this.tracer.isEnabled) {
157
157
  return undefined;
158
158
  }
159
- const { method, traceContext, input, output, modelParameters } = params;
159
+ const { method, traceContext, input, output, modelParameters, startedAt, } = params;
160
160
  return {
161
161
  name: traceContext?.prompt?.name
162
162
  ?? traceContext?.promptName
@@ -166,6 +166,7 @@ class LLMBaseService {
166
166
  output,
167
167
  modelParameters,
168
168
  metadata: traceContext?.metadata,
169
+ startedAt,
169
170
  };
170
171
  }
171
172
  /**
@@ -280,14 +281,16 @@ class LLMBaseService {
280
281
  const generationTraceRecord = {
281
282
  name: generationTrace.name ?? this.getDefaultTraceName(method),
282
283
  prompt: generationTrace.prompt,
283
- input: (0, utilities_1.truncateTraceIO)(generationTrace.input),
284
- output: (0, utilities_1.truncateTraceIO)(generationTrace.output),
284
+ input: generationTrace.input,
285
+ output: generationTrace.output,
285
286
  model: model?.name ?? null,
286
287
  modelParameters: generationTrace.modelParameters,
287
288
  metadata: generationTrace.metadata,
288
289
  usageDetails,
289
290
  costDetails,
290
291
  isError,
292
+ startedAt: generationTrace.startedAt,
293
+ endedAt: Date.now(),
291
294
  };
292
295
  this.tracer.recordGeneration(generationTraceRecord);
293
296
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LLMBaseService.abstract.js","sourceRoot":"","sources":["../../src/services/LLMBaseService.abstract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LLMBaseService.abstract.js","sourceRoot":"","sources":["../../src/services/LLMBaseService.abstract.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAWpC,+DAA4D;AAC5D,iEAAkF;AAElF,2CAOqB;AAOrB,MAAsB,cAAc;IAUhB;IACA;IACA;IACT;IACA;IACA;IAVD,MAAM,CAAU,mBAAmB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAE7E,MAAM,GAAqB,gCAAoB,CAAC;IAExD,YACkB,QAAkB,EAClB,WAAmB,EACnB,OAAgB,EACzB,MAAsC,EACtC,QAAkB,EAClB,OAAsC;QAL7B,aAAQ,GAAR,QAAQ,CAAU;QAClB,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAS;QACzB,WAAM,GAAN,MAAM,CAAgC;QACtC,aAAQ,GAAR,QAAQ,CAAU;QAClB,YAAO,GAAP,OAAO,CAA+B;QAE7C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAwB;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAES,SAAS;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAOD;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,yCAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAA2D,CAAC;IACnH,CAAC;IAED;;OAEG;IACO,UAAU;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAExC,OAAO,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAEhE,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;oBACnF,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,sEAAsE;IAC5D,aAAa,CAAC,IAAwC;QAC9D,OAAO,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACO,sBAAsB,CAC9B,OAAiD;QAEjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,CAAC,QAAQ,UAAU,CAAC;QACpC,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEnE,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACO,mBAAmB,CAC3B,OAAqC;QAErC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,QAAQ,iCAAiC,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEhE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,OAAO,MAAM,CAAC,QAAkC,CAAC;QACnD,CAAC;QAED,IAAI,cAAc,CAAC,mBAAmB,CAAC,IAAI,IAAI,2CAAoB,EAAE,CAAC;YACpE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;QAE3B,cAAc,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC/C,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,UAAU,GAAG,QAAQ,CAAC;QAE1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,cAAc,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;YACxE,IAAI,KAAK,CAAC,QAAQ,GAAG,UAAU,EAAE,CAAC;gBAChC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAC5B,SAAS,GAAG,GAAG,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,OAAqC;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACvB,cAAc,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC7C,CAAC;IAES,mBAAmB,CAAC,MAAc;QAC1C,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACO,oBAAoB,CAAC,MAO9B;QACC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EACJ,MAAM,EACN,YAAY,EACZ,KAAK,EACL,MAAM,EACN,eAAe,EACf,SAAS,GACV,GAAG,MAAM,CAAC;QAEX,OAAO;YACL,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI;mBAC3B,YAAY,EAAE,UAAU;mBACxB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YACrC,MAAM,EAAE,YAAY,EAAE,MAAM;YAC5B,KAAK;YACL,MAAM;YACN,eAAe;YACf,QAAQ,EAAE,YAAY,EAAE,QAAQ;YAChC,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACO,mBAAmB,CAAoC,MAMhE;QACC,MAAM,EACJ,MAAM,EACN,KAAK,EACL,KAAK,EAAE,EACL,eAAe,GAAG,CAAC,EACnB,gBAAgB,GAAG,CAAC,EACpB,gBAAgB,GAAG,CAAC,EACpB,iBAAiB,GAAG,CAAC,GACtB,EACD,YAAY,EACZ,eAAe,GAChB,GAAG,MAAM,CAAC;QAEX,MAAM,KAAK,GAAG,IAAA,0BAAc,EAAC,KAAK,EAAE;YAClC,eAAe;YACf,gBAAgB;YAChB,gBAAgB;YAChB,iBAAiB;SAClB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,eAAe,GAAG,gBAAgB,CAAC;QACjD,MAAM,MAAM,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;QAEpD,IAAI,CAAC,qBAAqB,CAAC;YACzB,MAAM;YACN,KAAK;YACL,eAAe;YACf,YAAY,EAAE;gBACZ,KAAK;gBACL,MAAM;gBACN,KAAK,EAAE,KAAK,GAAG,MAAM;aACtB;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,OAAO,YAAY,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI;YAC1B,WAAW,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI;YAClC,MAAM;YACN,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE;gBACN,KAAK;gBACL,MAAM;gBACN,KAAK,EAAE,KAAK,GAAG,MAAM;aACtB;YACD,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,iBAAiB,CAAoC,MAO9D;QACC,MAAM,EACJ,MAAM,EACN,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,YAAY,EACZ,eAAe,EACf,KAAK,GACN,GAAG,MAAM,CAAC;QAEX,MAAM,oBAAoB,GAAmC,eAAe;YAC1E,CAAC,CAAC;gBACA,GAAG,eAAe;gBAClB,MAAM,EAAE,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;aAC5D;YACD,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC,qBAAqB,CAAC;YACzB,MAAM;YACN,KAAK;YACL,eAAe,EAAE,oBAAoB;YACrC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,OAAO,YAAY,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI;YAC1B,WAAW,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI;YAClC,MAAM;YACN,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO;YACzC,MAAM,EAAE;gBACN,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,CAAC;aACT;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACO,iBAAiB,CAAC,MAM3B;QACC,MAAM,EACJ,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,IAAI,GACL,GAAG,MAAM,CAAC;QAEX,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,IAAA,+BAAc,EAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;QAE1D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE/B,OAAO;QACT,CAAC;QAED,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAEO,qBAAqB,CAAoC,MAOhE;QACC,MAAM,EACJ,MAAM,EACN,KAAK,EACL,eAAe,EACf,YAAY,EACZ,WAAW,EACX,OAAO,GACR,GAAG,MAAM,CAAC;QAEX,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,qBAAqB,GAA6B;YACtD,IAAI,EAAE,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAC9D,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI;YAC1B,eAAe,EAAE,eAAe,CAAC,eAAe;YAChD,QAAQ,EAAE,eAAe,CAAC,QAAQ;YAClC,YAAY;YACZ,WAAW;YACX,OAAO;YACP,SAAS,EAAE,eAAe,CAAC,SAAS;YACpC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;SACpB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IACtD,CAAC;IAEO,aAAa,CAAC,KAAc;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;;AA5aH,wCA6aC"}
@@ -7,4 +7,3 @@ export * from './reporter';
7
7
  export * from './schema';
8
8
  export * from './serializeError';
9
9
  export * from './tools';
10
- export * from './traceIO';
@@ -23,5 +23,4 @@ __exportStar(require("./reporter"), exports);
23
23
  __exportStar(require("./schema"), exports);
24
24
  __exportStar(require("./serializeError"), exports);
25
25
  __exportStar(require("./tools"), exports);
26
- __exportStar(require("./traceIO"), exports);
27
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,+CAA6B;AAC7B,kDAAgC;AAChC,mDAAiC;AACjC,2CAAyB;AACzB,6CAA2B;AAC3B,2CAAyB;AACzB,mDAAiC;AACjC,0CAAwB;AACxB,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,+CAA6B;AAC7B,kDAAgC;AAChC,mDAAiC;AACjC,2CAAyB;AACzB,6CAA2B;AAC3B,2CAAyB;AACzB,mDAAiC;AACjC,0CAAwB"}
@@ -1,6 +1,7 @@
1
1
  /**
2
- * CloudWatch namespace + metric name for the fallback-serving alarm. The alarm
3
- * is provisioned against these exact values, so they are a published contract.
2
+ * CloudWatch namespace + metric name for the prompt-fallback-serving alarm.
3
+ * The alarm is provisioned against these exact string values, so they are a
4
+ * published contract — renaming a value requires re-pointing the alarm first.
4
5
  */
5
- export declare const LANGFUSE_METRIC_NAMESPACE = "LLMGateway";
6
- export declare const LANGFUSE_FALLBACK_SERVED_METRIC = "LangfuseFallbackServed";
6
+ export declare const LLM_GATEWAY_METRIC_NAMESPACE = "LLMGateway";
7
+ export declare const PROMPT_FALLBACK_SERVED_METRIC = "LangfuseFallbackServed";
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LANGFUSE_FALLBACK_SERVED_METRIC = exports.LANGFUSE_METRIC_NAMESPACE = void 0;
3
+ exports.PROMPT_FALLBACK_SERVED_METRIC = exports.LLM_GATEWAY_METRIC_NAMESPACE = void 0;
4
4
  /**
5
- * CloudWatch namespace + metric name for the fallback-serving alarm. The alarm
6
- * is provisioned against these exact values, so they are a published contract.
5
+ * CloudWatch namespace + metric name for the prompt-fallback-serving alarm.
6
+ * The alarm is provisioned against these exact string values, so they are a
7
+ * published contract — renaming a value requires re-pointing the alarm first.
7
8
  */
8
- exports.LANGFUSE_METRIC_NAMESPACE = 'LLMGateway';
9
- exports.LANGFUSE_FALLBACK_SERVED_METRIC = 'LangfuseFallbackServed';
9
+ exports.LLM_GATEWAY_METRIC_NAMESPACE = 'LLMGateway';
10
+ exports.PROMPT_FALLBACK_SERVED_METRIC = 'LangfuseFallbackServed';
10
11
  //# sourceMappingURL=llmTracing.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llmTracing.constants.js","sourceRoot":"","sources":["../../../src/utilities/llmTracing/llmTracing.constants.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,yBAAyB,GAAG,YAAY,CAAC;AAEzC,QAAA,+BAA+B,GAAG,wBAAwB,CAAC"}
1
+ {"version":3,"file":"llmTracing.constants.js","sourceRoot":"","sources":["../../../src/utilities/llmTracing/llmTracing.constants.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACU,QAAA,4BAA4B,GAAG,YAAY,CAAC;AAE5C,QAAA,6BAA6B,GAAG,wBAAwB,CAAC"}
@@ -14,8 +14,8 @@ export interface LLMTraceContext {
14
14
  /**
15
15
  * Structural reference to the managed prompt a generation was produced from.
16
16
  * SDK-free by design: the gateway only carries `name`/`version`/`isFallback`,
17
- * and `@mate-academy/llm-tracer` turns it into a Langfuse prompt link (a
18
- * fallback prompt intentionally produces no link).
17
+ * and the tracer implementation turns it into a prompt link (a fallback
18
+ * prompt intentionally produces no link).
19
19
  */
20
20
  export interface LLMTracedPrompt {
21
21
  name: string;
@@ -23,13 +23,18 @@ export interface LLMTracedPrompt {
23
23
  isFallback?: boolean;
24
24
  }
25
25
  /**
26
- * Escape-hatch update applied to the active trace of a single tracer. `name`
27
- * and `input` replace the previous values; `metadata` merges. Outside an
28
- * active scope the call is a safe no-op.
26
+ * Escape-hatch update applied to the active trace of a single tracer. `name`,
27
+ * `input` and `output` replace the previous values; `metadata` merges. Outside
28
+ * an active scope the call is a safe no-op.
29
+ *
30
+ * `output` is the only way a trace gets one: the root never harvests the
31
+ * wrapped operation's return value, so a feature that wants a meaningful trace
32
+ * output states it here, in whatever trimmed shape is worth reading.
29
33
  */
30
34
  export interface LLMActiveTraceUpdate {
31
35
  name?: string;
32
36
  input?: unknown;
37
+ output?: unknown;
33
38
  metadata?: LLMTraceMetadata;
34
39
  }
35
40
  /**
@@ -45,9 +50,11 @@ export interface LLMGenerationTrace {
45
50
  metadata?: LLMTraceMetadata;
46
51
  /**
47
52
  * The managed prompt this generation used. Threaded through so the tracer can
48
- * link the observation to its prompt version in Langfuse.
53
+ * link the observation to its prompt version.
49
54
  */
50
55
  prompt?: LLMTracedPrompt;
56
+ /** Epoch milliseconds captured immediately before the provider call. */
57
+ startedAt: number;
51
58
  }
52
59
  /**
53
60
  * Full per-call generation record passed to `recordGeneration`. Extracted from
@@ -55,6 +62,8 @@ export interface LLMGenerationTrace {
55
62
  * exact same recorded shape.
56
63
  */
57
64
  export interface LLMGenerationTraceRecord extends LLMGenerationTrace {
65
+ /** Epoch milliseconds stamped when the generation is handed to the tracer. */
66
+ endedAt: number;
58
67
  model: string | null;
59
68
  usageDetails?: Record<string, number>;
60
69
  costDetails?: Record<string, number>;
@@ -62,7 +71,7 @@ export interface LLMGenerationTraceRecord extends LLMGenerationTrace {
62
71
  }
63
72
  /**
64
73
  * The tracing surface the gateway depends on. Any implementation (the no-op,
65
- * or `@mate-academy/llm-tracer`'s Langfuse-backed tracer) satisfies it, so
74
+ * or a real tracer from `@mate-academy/llm-tracer`) satisfies it, so
66
75
  * consumers hold a single type regardless of whether tracing is configured.
67
76
  */
68
77
  export interface LLMGatewayTracer {
@@ -83,7 +92,7 @@ export interface LLMGatewayTracer {
83
92
  */
84
93
  shutdown?(): Promise<void>;
85
94
  }
86
- export interface LangfuseFallbackMetricDimensions {
95
+ export interface LLMFallbackMetricDimensions {
87
96
  feature?: string;
88
97
  promptName?: string;
89
98
  reason?: string;
@@ -93,4 +102,4 @@ export interface LangfuseFallbackMetricDimensions {
93
102
  * implementation when they build the gateway; the default is a no-op so the
94
103
  * gateway carries no AWS dependency and tracing stays fire-and-forget.
95
104
  */
96
- export type LangfuseFallbackMetricEmitter = (dimensions: LangfuseFallbackMetricDimensions) => void;
105
+ export type LLMFallbackMetricEmitter = (dimensions: LLMFallbackMetricDimensions) => void;
@@ -1,3 +1,3 @@
1
- import { type LangfuseFallbackMetricEmitter, type LLMGatewayTracer } from '../../utilities/llmTracing/llmTracing.typedefs';
1
+ import { type LLMFallbackMetricEmitter, type LLMGatewayTracer } from '../../utilities/llmTracing/llmTracing.typedefs';
2
2
  export declare const noopLLMGatewayTracer: LLMGatewayTracer;
3
- export declare const noopFallbackMetricEmitter: LangfuseFallbackMetricEmitter;
3
+ export declare const noopFallbackMetricEmitter: LLMFallbackMetricEmitter;
@@ -1 +1 @@
1
- {"version":3,"file":"noopLLMTracing.js","sourceRoot":"","sources":["../../../src/utilities/llmTracing/noopLLMTracing.ts"],"names":[],"mappings":";;;AAMA,MAAM,oBAAoB;IACf,SAAS,GAAG,KAAK,CAAC;IAE3B,KAAK,CAAC,SAAS,CACb,KAAa,EACb,QAAyB,EACzB,EAAyB;QAEzB,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,sBAAsB;IACxB,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,KAAa,EACb,MAAe,EACf,EAAyB;QAEzB,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAED,iBAAiB;QACf,sBAAsB;IACxB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,sBAAsB;IACxB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,sBAAsB;IACxB,CAAC;CACF;AAEY,QAAA,oBAAoB,GAAqB,IAAI,oBAAoB,EAAE,CAAC;AAE1E,MAAM,yBAAyB,GAAkC,GAAG,EAAE;IAC3E,oCAAoC;AACtC,CAAC,CAAC;AAFW,QAAA,yBAAyB,6BAEpC"}
1
+ {"version":3,"file":"noopLLMTracing.js","sourceRoot":"","sources":["../../../src/utilities/llmTracing/noopLLMTracing.ts"],"names":[],"mappings":";;;AAMA,MAAM,oBAAoB;IACf,SAAS,GAAG,KAAK,CAAC;IAE3B,KAAK,CAAC,SAAS,CACb,KAAa,EACb,QAAyB,EACzB,EAAyB;QAEzB,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,sBAAsB;IACxB,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,KAAa,EACb,MAAe,EACf,EAAyB;QAEzB,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAED,iBAAiB;QACf,sBAAsB;IACxB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,sBAAsB;IACxB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,sBAAsB;IACxB,CAAC;CACF;AAEY,QAAA,oBAAoB,GAAqB,IAAI,oBAAoB,EAAE,CAAC;AAE1E,MAAM,yBAAyB,GAA6B,GAAG,EAAE;IACtE,oCAAoC;AACtC,CAAC,CAAC;AAFW,QAAA,yBAAyB,6BAEpC"}
@@ -1,14 +1,5 @@
1
- import { type LLMToolDefinition, type LLMToolResult } from '../../LLMService.typedefs';
2
- import { type LLMSchemaInterface, type InferSchema } from '../../utilities/schema';
1
+ import { type LLMToolDefinition } from '../../LLMService.typedefs';
2
+ import { type LLMSchemaInterface } from '../../utilities/schema';
3
3
  export declare class LLMTool {
4
- static create<Schema extends LLMSchemaInterface>(config: {
5
- name: string;
6
- description: string;
7
- parameters: Schema;
8
- execute: (args: InferSchema<Schema>) => Promise<LLMToolResult> | LLMToolResult;
9
- /**
10
- * Ends the turn once this tool runs; see `LLMToolDefinition.terminal`.
11
- */
12
- terminal?: boolean;
13
- }): LLMToolDefinition<Schema>;
4
+ static create<Schema extends LLMSchemaInterface>(config: LLMToolDefinition<Schema>): LLMToolDefinition<Schema>;
14
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LLMTool.js","sourceRoot":"","sources":["../../../src/utilities/tools/LLMTool.ts"],"names":[],"mappings":";;;AASA,MAAa,OAAO;IAClB,MAAM,CAAC,MAAM,CAAoC,MAWhD;QACC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAfD,0BAeC"}
1
+ {"version":3,"file":"LLMTool.js","sourceRoot":"","sources":["../../../src/utilities/tools/LLMTool.ts"],"names":[],"mappings":";;;AAGA,MAAa,OAAO;IAClB,MAAM,CAAC,MAAM,CACX,MAAiC;QAEjC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAND,0BAMC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mate-academy/llm-gateway",
3
- "version": "8.0.0",
3
+ "version": "8.2.0",
4
4
  "description": "A gateway package for LLM services.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -117,6 +117,7 @@
117
117
  "mime-types": "^3.0.1",
118
118
  "music-metadata": "^11.10.1",
119
119
  "openai": "^6.27.0",
120
+ "ts-morph": "^28.0.0",
120
121
  "uuid": "^9.0.1",
121
122
  "zod": "^4.1.12"
122
123
  }
@@ -1,91 +0,0 @@
1
- import { type LLMProviders, type LLMInstanceOptions } from '../LLMService.typedefs';
2
- import { type LLMGateway } from '../LLMGateway';
3
- import { type LLMLoggerInterface } from '../utilities/logger';
4
- import { type LLMReporterInterface } from '../utilities/reporter';
5
- import { type InferSchema, type LLMSchemaInterface } from '../utilities/schema';
6
- import { type LLMGatewayPromptClient } from '../client/promptClientPort.typedefs';
7
- import { type LLMPromptBinding, type LLMPromptRegistry } from '../client/defineLLMPrompts';
8
- import { type LLMPromptSnapshot } from '../client/promptSnapshot.typedefs';
9
- import { type LLMVariableValue } from '../client/promptSnapshot.typedefs';
10
- export type LLMClientMode = 'production' | 'experiment';
11
- /**
12
- * The explicit opt-out for the reporter pipeline; unlike tracing/prompts,
13
- * reporting has no safe silent default, so tests must opt out loudly. Passed
14
- * where `reporting` is expected to disable the Reporter/DWHSync wiring (tests,
15
- * scripts).
16
- */
17
- export declare const ReportingDisabled: unique symbol;
18
- export type ReportingDisabledToken = typeof ReportingDisabled;
19
- /**
20
- * Resolves provider credentials for one call, scoped by provider + prompt +
21
- * product, preserving the existing per-feature Secrets Manager layout.
22
- */
23
- export type LLMCredentialsResolver = <Provider extends LLMProviders>(scope: {
24
- provider: Provider;
25
- promptName: string;
26
- product?: string;
27
- }) => Promise<LLMInstanceOptions[Provider]>;
28
- export interface LLMClientStaticContext {
29
- product?: string;
30
- appEnvironment?: string;
31
- [key: string]: string | undefined;
32
- }
33
- export interface LLMClientCallContext {
34
- userId?: string | number | null;
35
- [key: string]: string | number | boolean | null | undefined;
36
- }
37
- export interface LLMReportingConfig {
38
- reporter: LLMReporterInterface<any>;
39
- }
40
- export interface CreateLLMClientConfig<Registry extends LLMPromptRegistry> {
41
- gateway: LLMGateway;
42
- registry: Registry;
43
- snapshot: LLMPromptSnapshot;
44
- credentials: LLMCredentialsResolver;
45
- reporting: LLMReportingConfig | ReportingDisabledToken;
46
- logger?: LLMLoggerInterface;
47
- context?: LLMClientStaticContext;
48
- mode?: LLMClientMode;
49
- promptClient?: LLMGatewayPromptClient;
50
- defaultLabel?: string;
51
- cacheTtlSeconds?: number;
52
- }
53
- /**
54
- * The variables a prompt requires. Strict on required keys, tolerant of extras
55
- * (`& Record<string, LLMVariableValue>`) so a Langfuse edit that drops a variable
56
- * can never break a build — the stale extra is accepted, never rejected.
57
- */
58
- export type LLMPromptVariables<RequiredKeys extends string> = Record<RequiredKeys, LLMVariableValue> & Record<string, LLMVariableValue>;
59
- /**
60
- * The return type of `generate` for one prompt: the bound schema's inferred type
61
- * when a schema is present, else the raw completion string.
62
- */
63
- export type LLMGenerateResult<Binding extends LLMPromptBinding> = Binding extends {
64
- schema: infer Schema;
65
- } ? Schema extends LLMSchemaInterface ? InferSchema<Schema> : string : string;
66
- export interface LLMGenerateOptions<Variables extends Record<string, LLMVariableValue>, Schema extends LLMSchemaInterface = never> {
67
- variables: Variables;
68
- context?: LLMClientCallContext;
69
- history?: LLMPlainMessage[];
70
- abortSignal?: AbortSignal;
71
- overrides?: LLMCallOverrides;
72
- /**
73
- * Per-call structured-output schema. Overrides the registry binding's `schema`
74
- * for this call and drives the return type (`InferSchema<Schema>`). Use it when
75
- * the output contract is dynamic per call (e.g. a schema whose shape depends on
76
- * runtime input). The schema is the code-owned output contract, not a routing
77
- * control, so it is honored in every mode.
78
- */
79
- schema?: Schema;
80
- }
81
- export interface LLMCallOverrides {
82
- model?: string;
83
- provider?: LLMProviders;
84
- promptVersion?: number;
85
- promptLabel?: string;
86
- }
87
- export type LLMPlainMessageRole = 'user' | 'assistant';
88
- export interface LLMPlainMessage {
89
- role: LLMPlainMessageRole;
90
- text: string;
91
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"createLLMClient.typedefs.js","sourceRoot":"","sources":["../../src/client/createLLMClient.typedefs.ts"],"names":[],"mappings":";;;AAeA;;;;;GAKG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
@@ -1,24 +0,0 @@
1
- import type { OpenAI } from 'openai';
2
- import type { LLMLoggerInterface } from '../../../utilities/logger';
3
- import type { LLMReporterInterface } from '../../../utilities/reporter';
4
- import type { LLMSchemaInterface } from '../../../utilities/schema';
5
- import type { LLMStructuredResult } from '../../../LLMService.typedefs';
6
- import { type LLMModelUsage } from '../../../utilities';
7
- interface ParseStructuredResponseOptions {
8
- content: string;
9
- schema: LLMSchemaInterface;
10
- jsonSchema: any;
11
- reporterContext?: any;
12
- abortSignal?: AbortSignal;
13
- primaryUsage: LLMModelUsage;
14
- }
15
- export declare class LLMAPIJsonFixer {
16
- private readonly instance;
17
- private readonly logger;
18
- private readonly reporter;
19
- constructor(instance: OpenAI, logger: LLMLoggerInterface | undefined, reporter: LLMReporterInterface<any> | undefined);
20
- parseStructuredResponse(options: ParseStructuredResponseOptions): Promise<LLMStructuredResult>;
21
- private fixAndParseJson;
22
- }
23
- export declare function sanitizeJsonResponse(response: string): string;
24
- export {};
@@ -1,237 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LLMAPIJsonFixer = void 0;
4
- exports.sanitizeJsonResponse = sanitizeJsonResponse;
5
- const serializeError_1 = require("../../../utilities/serializeError");
6
- const LLMAPI_typedefs_1 = require("../../../providers/LLMAPI/LLMAPI.typedefs");
7
- const utilities_1 = require("../../../utilities");
8
- class LLMAPIJsonFixer {
9
- instance;
10
- logger;
11
- reporter;
12
- constructor(instance, logger, reporter) {
13
- this.instance = instance;
14
- this.logger = logger;
15
- this.reporter = reporter;
16
- }
17
- async parseStructuredResponse(options) {
18
- const { content, schema, jsonSchema, reporterContext, abortSignal, primaryUsage, } = options;
19
- const sanitized = sanitizeJsonResponse(content);
20
- try {
21
- const parsed = JSON.parse(sanitized);
22
- const validation = schema._parse(parsed);
23
- if (validation.error) {
24
- this.logger
25
- ?.child('parseStructuredResponse')
26
- .warn('Schema validation failed, attempting fix', { validationError: validation.error });
27
- return this.fixAndParseJson({
28
- rawResponse: sanitized,
29
- parsingError: validation.error,
30
- schema,
31
- jsonSchema,
32
- reporterContext,
33
- abortSignal,
34
- primaryUsage,
35
- });
36
- }
37
- return {
38
- text: sanitized,
39
- data: validation.data,
40
- usage: primaryUsage,
41
- };
42
- }
43
- catch (parseError) {
44
- this.logger
45
- ?.child('parseStructuredResponse')
46
- .warn('Failed to parse JSON response, attempting fix', {
47
- content: sanitized,
48
- parseError: parseError.message,
49
- });
50
- return this.fixAndParseJson({
51
- rawResponse: sanitized,
52
- parsingError: parseError.message,
53
- schema,
54
- jsonSchema,
55
- reporterContext,
56
- abortSignal,
57
- primaryUsage,
58
- });
59
- }
60
- }
61
- async fixAndParseJson(options) {
62
- const { rawResponse, parsingError, schema, jsonSchema, reporterContext, abortSignal, primaryUsage, } = options;
63
- const fixWriteMetrics = this.reporter?.initWriter(reporterContext);
64
- try {
65
- abortSignal?.throwIfAborted();
66
- const fixCompletion = await this.instance.chat.completions.create({
67
- model: LLMAPI_typedefs_1.LLMAPI_JSON_FIX_MODEL.name,
68
- messages: [
69
- {
70
- role: 'system',
71
- content: 'You are a JSON fixer.'
72
- + ' Fix the provided broken or invalid JSON'
73
- + ' so it matches the expected schema.'
74
- + ' Return ONLY the corrected JSON'
75
- + ' without any explanations or formatting.',
76
- },
77
- {
78
- role: 'user',
79
- content: buildFixJsonPrompt({
80
- rawResponse,
81
- parsingError,
82
- jsonSchema,
83
- }),
84
- },
85
- ],
86
- n: 1,
87
- ...LLMAPI_typedefs_1.LLMAPI_JSON_FIX_MODEL.config,
88
- response_format: { type: 'json_object' },
89
- }, {
90
- signal: abortSignal,
91
- });
92
- const fixedContent = sanitizeJsonResponse(fixCompletion.choices[0]?.message.content ?? '');
93
- const fixPromptTokens = fixCompletion.usage?.prompt_tokens ?? 0;
94
- const fixCachedTokens = fixCompletion.usage?.prompt_tokens_details
95
- ?.cached_tokens ?? 0;
96
- const fixOutputTokens = fixCompletion.usage?.completion_tokens ?? 0;
97
- const fixUsage = {
98
- inputTextTokens: fixPromptTokens - fixCachedTokens,
99
- inputCachedTextTokens: fixCachedTokens,
100
- outputTextTokens: fixOutputTokens,
101
- };
102
- await writeSuccessMetrics({
103
- model: LLMAPI_typedefs_1.LLMAPI_JSON_FIX_MODEL,
104
- usage: fixUsage,
105
- writeMetrics: fixWriteMetrics,
106
- });
107
- const combinedUsage = (0, utilities_1.addUsage)(primaryUsage, fixUsage);
108
- const parsed = JSON.parse(fixedContent);
109
- const validation = schema._parse(parsed);
110
- if (validation.error) {
111
- this.logger
112
- ?.child('fixAndParseJson')
113
- .error('JSON fix attempt failed schema validation', {
114
- fixedContent,
115
- validationError: validation.error,
116
- });
117
- return {
118
- text: fixedContent,
119
- parseError: validation.error,
120
- usage: combinedUsage,
121
- };
122
- }
123
- this.logger
124
- ?.child('fixAndParseJson')
125
- .info('JSON fix succeeded');
126
- return {
127
- text: fixedContent,
128
- data: validation.data,
129
- usage: combinedUsage,
130
- };
131
- }
132
- catch (fixError) {
133
- await writeErrorMetrics({
134
- model: LLMAPI_typedefs_1.LLMAPI_JSON_FIX_MODEL,
135
- isAborted: abortSignal?.aborted,
136
- writeMetrics: fixWriteMetrics,
137
- });
138
- const fixLogger = this.logger?.child('fixAndParseJson');
139
- const fixErrorPayload = { error: (0, serializeError_1.serializeError)(fixError) };
140
- if (abortSignal?.aborted) {
141
- fixLogger?.warn('JSON fix request failed', fixErrorPayload);
142
- }
143
- else {
144
- fixLogger?.error('JSON fix request failed', fixErrorPayload);
145
- }
146
- return {
147
- text: rawResponse,
148
- error: fixError,
149
- parseError: 'Failed to fix structured response from LLMAPI',
150
- usage: primaryUsage,
151
- };
152
- }
153
- }
154
- }
155
- exports.LLMAPIJsonFixer = LLMAPIJsonFixer;
156
- function sanitizeJsonResponse(response) {
157
- return response
158
- .replace(/^```(?:json)?/, '')
159
- .replace(/```$/, '')
160
- .trim();
161
- }
162
- function buildFixJsonPrompt(options) {
163
- const { rawResponse, parsingError, jsonSchema } = options;
164
- return [
165
- 'Fix the following JSON response'
166
- + ' so it matches the expected schema.',
167
- '',
168
- 'Expected JSON Schema:',
169
- JSON.stringify(jsonSchema, null, 2),
170
- '',
171
- 'Broken JSON response:',
172
- rawResponse,
173
- '',
174
- 'Parsing error:',
175
- parsingError,
176
- '',
177
- 'Common issues to fix:',
178
- '- Missing or extra commas',
179
- '- Unescaped special characters in strings',
180
- '- Missing quotes around keys or values',
181
- '- Wrong field names (rename to match schema)',
182
- '- Wrong field types (convert to match schema)',
183
- '- Truncated JSON (complete it logically)',
184
- '',
185
- 'Return ONLY the corrected JSON.',
186
- ].join('\n');
187
- }
188
- async function writeSuccessMetrics(params) {
189
- const { model, usage: { inputTextTokens = 0, outputTextTokens = 0, inputAudioTokens = 0, outputAudioTokens = 0, }, writeMetrics, } = params;
190
- if (!writeMetrics) {
191
- return;
192
- }
193
- const costs = (0, utilities_1.calculateCosts)(model, {
194
- inputTextTokens,
195
- outputTextTokens,
196
- inputAudioTokens,
197
- outputAudioTokens,
198
- });
199
- const input = inputTextTokens + inputAudioTokens;
200
- const output = outputTextTokens + outputAudioTokens;
201
- return writeMetrics({
202
- provider: 'LLMAPI',
203
- purpose: 'Completion',
204
- model: model.name,
205
- modelConfig: model.config ?? null,
206
- method: 'fixAndParseJson',
207
- status: 'success',
208
- tokens: {
209
- input,
210
- output,
211
- total: input + output,
212
- },
213
- costs,
214
- });
215
- }
216
- async function writeErrorMetrics(params) {
217
- const { model, isAborted = false, writeMetrics } = params;
218
- if (!writeMetrics) {
219
- return;
220
- }
221
- return writeMetrics({
222
- provider: 'LLMAPI',
223
- purpose: 'Completion',
224
- model: model.name,
225
- modelConfig: model.config ?? null,
226
- method: 'fixAndParseJson',
227
- status: isAborted ? 'cancelled' : 'error',
228
- tokens: { input: 0, output: 0, total: 0 },
229
- costs: {
230
- total: 0,
231
- input: 0,
232
- output: 0,
233
- currency: 'USD',
234
- },
235
- });
236
- }
237
- //# sourceMappingURL=LLMAPIJsonFixer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LLMAPIJsonFixer.js","sourceRoot":"","sources":["../../../../src/providers/LLMAPI/utilities/LLMAPIJsonFixer.ts"],"names":[],"mappings":";;;AAoOA,oDAOC;AAlOD,+DAA4D;AAC5D,wEAA2E;AAC3E,2CAA2E;AAqB3E,MAAa,eAAe;IAEP;IACA;IACA;IAHnB,YACmB,QAAgB,EAChB,MAAsC,EACtC,QAA+C;QAF/C,aAAQ,GAAR,QAAQ,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAgC;QACtC,aAAQ,GAAR,QAAQ,CAAuC;IAC/D,CAAC;IAEJ,KAAK,CAAC,uBAAuB,CAC3B,OAAuC;QAEvC,MAAM,EACJ,OAAO,EACP,MAAM,EACN,UAAU,EACV,eAAe,EACf,WAAW,EACX,YAAY,GACb,GAAG,OAAO,CAAC;QAEZ,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEzC,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM;oBACT,EAAE,KAAK,CAAC,yBAAyB,CAAC;qBACjC,IAAI,CACH,0CAA0C,EAC1C,EAAE,eAAe,EAAE,UAAU,CAAC,KAAK,EAAE,CACtC,CAAC;gBAEJ,OAAO,IAAI,CAAC,eAAe,CAAC;oBAC1B,WAAW,EAAE,SAAS;oBACtB,YAAY,EAAE,UAAU,CAAC,KAAK;oBAC9B,MAAM;oBACN,UAAU;oBACV,eAAe;oBACf,WAAW;oBACX,YAAY;iBACb,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,KAAK,EAAE,YAAY;aACpB,CAAC;QACJ,CAAC;QAAC,OAAO,UAAe,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM;gBACT,EAAE,KAAK,CAAC,yBAAyB,CAAC;iBACjC,IAAI,CACH,+CAA+C,EAC/C;gBACE,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,UAAU,CAAC,OAAO;aAC/B,CACF,CAAC;YAEJ,OAAO,IAAI,CAAC,eAAe,CAAC;gBAC1B,WAAW,EAAE,SAAS;gBACtB,YAAY,EAAE,UAAU,CAAC,OAAO;gBAChC,MAAM;gBACN,UAAU;gBACV,eAAe;gBACf,WAAW;gBACX,YAAY;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,OAA+B;QAE/B,MAAM,EACJ,WAAW,EACX,YAAY,EACZ,MAAM,EACN,UAAU,EACV,eAAe,EACf,WAAW,EACX,YAAY,GACb,GAAG,OAAO,CAAC;QAEZ,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAChE,KAAK,EAAE,uCAAqB,CAAC,IAAI;gBACjC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,uBAAuB;8BAC5B,0CAA0C;8BAC1C,qCAAqC;8BACrC,iCAAiC;8BACjC,0CAA0C;qBAC/C;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,kBAAkB,CAAC;4BAC1B,WAAW;4BACX,YAAY;4BACZ,UAAU;yBACX,CAAC;qBACH;iBACF;gBACD,CAAC,EAAE,CAAC;gBACJ,GAAG,uCAAqB,CAAC,MAAM;gBAC/B,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;aACzC,EAAE;gBACD,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,oBAAoB,CACvC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAChD,CAAC;YAEF,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;YAChE,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,EAAE,qBAAqB;gBAChE,EAAE,aAAa,IAAI,CAAC,CAAC;YACvB,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC,CAAC;YAEpE,MAAM,QAAQ,GAAG;gBACf,eAAe,EAAE,eAAe,GAAG,eAAe;gBAClD,qBAAqB,EAAE,eAAe;gBACtC,gBAAgB,EAAE,eAAe;aAClC,CAAC;YAEF,MAAM,mBAAmB,CAAC;gBACxB,KAAK,EAAE,uCAAqB;gBAC5B,KAAK,EAAE,QAAQ;gBACf,YAAY,EAAE,eAAe;aAC9B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,IAAA,oBAAQ,EAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAEvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEzC,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM;oBACT,EAAE,KAAK,CAAC,iBAAiB,CAAC;qBACzB,KAAK,CACJ,2CAA2C,EAC3C;oBACE,YAAY;oBACZ,eAAe,EAAE,UAAU,CAAC,KAAK;iBAClC,CACF,CAAC;gBAEJ,OAAO;oBACL,IAAI,EAAE,YAAY;oBAClB,UAAU,EAAE,UAAU,CAAC,KAAK;oBAC5B,KAAK,EAAE,aAAa;iBACrB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM;gBACT,EAAE,KAAK,CAAC,iBAAiB,CAAC;iBACzB,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAE9B,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,KAAK,EAAE,aAAa;aACrB,CAAC;QACJ,CAAC;QAAC,OAAO,QAAa,EAAE,CAAC;YACvB,MAAM,iBAAiB,CAAC;gBACtB,KAAK,EAAE,uCAAqB;gBAC5B,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY,EAAE,eAAe;aAC9B,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACxD,MAAM,eAAe,GAAG,EAAE,KAAK,EAAE,IAAA,+BAAc,EAAC,QAAQ,CAAC,EAAE,CAAC;YAE5D,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;gBACzB,SAAS,EAAE,IAAI,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,SAAS,EAAE,KAAK,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;YAC/D,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,+CAA+C;gBAC3D,KAAK,EAAE,YAAY;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAlMD,0CAkMC;AAED,SAAgB,oBAAoB,CAClC,QAAgB;IAEhB,OAAO,QAAQ;SACZ,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAI3B;IACC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE1D,OAAO;QACL,iCAAiC;cAC/B,qCAAqC;QACvC,EAAE;QACF,uBAAuB;QACvB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,EAAE;QACF,uBAAuB;QACvB,WAAW;QACX,EAAE;QACF,gBAAgB;QAChB,YAAY;QACZ,EAAE;QACF,uBAAuB;QACvB,2BAA2B;QAC3B,2CAA2C;QAC3C,wCAAwC;QACxC,8CAA8C;QAC9C,+CAA+C;QAC/C,0CAA0C;QAC1C,EAAE;QACF,iCAAiC;KAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAIlC;IACC,MAAM,EACJ,KAAK,EACL,KAAK,EAAE,EACL,eAAe,GAAG,CAAC,EACnB,gBAAgB,GAAG,CAAC,EACpB,gBAAgB,GAAG,CAAC,EACpB,iBAAiB,GAAG,CAAC,GACtB,EACD,YAAY,GACb,GAAG,MAAM,CAAC;IAEX,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,0BAAc,EAAC,KAAK,EAAE;QAClC,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;KAClB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,eAAe,GAAG,gBAAgB,CAAC;IACjD,MAAM,MAAM,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;IAEpD,OAAO,YAAY,CAAC;QAClB,QAAQ,EAAE,QAAwB;QAClC,OAAO,EAAE,YAAmB;QAC5B,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,WAAW,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QACjC,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE;YACN,KAAK;YACL,MAAM;YACN,KAAK,EAAE,KAAK,GAAG,MAAM;SACtB;QACD,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAIhC;IACC,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAE1D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,OAAO,YAAY,CAAC;QAClB,QAAQ,EAAE,QAAwB;QAClC,OAAO,EAAE,YAAmB;QAC5B,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,WAAW,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QACjC,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO;QACzC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACzC,KAAK,EAAE;YACL,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,KAAK;SAChB;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,17 +0,0 @@
1
- export interface TruncateTraceIOOptions {
2
- maxChars?: number;
3
- }
4
- /**
5
- * Caps a single trace/observation IO value so a large prompt or completion
6
- * cannot inflate trace payloads (the PR1 carry-over: `withTrace` serialized full
7
- * results). Strings over the limit are sliced with a notice; objects are
8
- * serialized first, then capped; non-serializable values fall back to `String`.
9
- * Returns the value unchanged when it is already within budget so small payloads
10
- * keep their original type in the UI.
11
- *
12
- * Applied by `LLMBaseService` to every generation it records, so each tracing
13
- * path (completion, assistance, speech-to-text) is capped at the single point
14
- * that stamps the observation rather than per call site.
15
- */
16
- export declare function truncateTraceIO(value: unknown, options?: TruncateTraceIOOptions): unknown;
17
- export declare const TRACE_IO_MAX_CHARS = 16384;