@mate-academy/llm-gateway 8.7.0 → 8.8.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 (55) hide show
  1. package/README.md +21 -25
  2. package/dist/client/LLMClientEngine.d.ts +1 -0
  3. package/dist/client/LLMClientEngine.js +5 -4
  4. package/dist/client/LLMClientEngine.js.map +1 -1
  5. package/dist/client/agentRunner.d.ts +1 -0
  6. package/dist/client/agentRunner.js +30 -29
  7. package/dist/client/agentRunner.js.map +1 -1
  8. package/dist/client/codegen/fetchPromptRecords.js +0 -5
  9. package/dist/client/codegen/fetchPromptRecords.js.map +1 -1
  10. package/dist/client/codegen/index.d.ts +0 -1
  11. package/dist/client/codegen/index.js +0 -1
  12. package/dist/client/codegen/index.js.map +1 -1
  13. package/dist/client/codegen/renderSnapshot.constants.d.ts +0 -5
  14. package/dist/client/codegen/renderSnapshot.constants.js +1 -6
  15. package/dist/client/codegen/renderSnapshot.constants.js.map +1 -1
  16. package/dist/client/codegen/renderSnapshot.d.ts +4 -8
  17. package/dist/client/codegen/renderSnapshot.js +6 -81
  18. package/dist/client/codegen/renderSnapshot.js.map +1 -1
  19. package/dist/client/codegen/renderSnapshot.typedefs.d.ts +0 -1
  20. package/dist/client/createLLMClient.d.ts +5 -5
  21. package/dist/client/createLLMClient.js +4 -4
  22. package/dist/client/defineLLMPrompts.d.ts +6 -9
  23. package/dist/client/defineLLMPrompts.js.map +1 -1
  24. package/dist/client/llmClient.typedefs.d.ts +15 -14
  25. package/dist/client/promptRegistry.runtime.js +0 -6
  26. package/dist/client/promptRegistry.runtime.js.map +1 -1
  27. package/dist/client/promptSnapshot.typedefs.d.ts +3 -5
  28. package/dist/client/validationGate.d.ts +4 -8
  29. package/dist/client/validationGate.js +3 -25
  30. package/dist/client/validationGate.js.map +1 -1
  31. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs.d.ts +1 -7
  32. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs.js +0 -6
  33. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs.js.map +1 -1
  34. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.d.ts +2 -1
  35. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +13 -37
  36. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -1
  37. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js +6 -8
  38. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js.map +1 -1
  39. package/dist/providers/OpenAI/services/OpenAIAssistance.service.d.ts +1 -0
  40. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +10 -14
  41. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -1
  42. package/dist/services/LLMBaseService.abstract.d.ts +2 -2
  43. package/dist/services/LLMBaseService.abstract.js +3 -1
  44. package/dist/services/LLMBaseService.abstract.js.map +1 -1
  45. package/dist/services/agentRounds/LLMAgentRounds.d.ts +5 -8
  46. package/dist/services/agentRounds/LLMAgentRounds.js +21 -8
  47. package/dist/services/agentRounds/LLMAgentRounds.js.map +1 -1
  48. package/dist/services/agentRounds/agentRounds.typedefs.d.ts +18 -10
  49. package/dist/utilities/llmTracing/llmTracing.typedefs.d.ts +1 -0
  50. package/dist/utilities/llmTracing/noopLLMTracing.js +3 -0
  51. package/dist/utilities/llmTracing/noopLLMTracing.js.map +1 -1
  52. package/package.json +1 -1
  53. package/dist/client/codegen/extractVariables.d.ts +0 -7
  54. package/dist/client/codegen/extractVariables.js +0 -21
  55. package/dist/client/codegen/extractVariables.js.map +0 -1
@@ -7,14 +7,8 @@ import { type LLMModelUsage } from '../../LLMService.typedefs';
7
7
  * provider actually assembled — system instructions included — rather than a
8
8
  * shared message shape none of them speaks.
9
9
  */
10
- export interface LLMAgentRound {
10
+ interface LLMAgentRoundBase {
11
11
  input: unknown;
12
- /**
13
- * The round's assistant output, in the provider's own shape, so a round that
14
- * only requested tools still shows the calls it made. Absent on a round whose
15
- * provider call threw; `error` then describes the failure instead.
16
- */
17
- output?: unknown;
18
12
  /**
19
13
  * The round's own token usage. Providers that report usage per call fill it
20
14
  * on every round; one that only totals a run leaves it unset until the last
@@ -23,10 +17,18 @@ export interface LLMAgentRound {
23
17
  usage?: LLMModelUsage;
24
18
  /** Epoch milliseconds stamped immediately before the provider call. */
25
19
  startedAt: number;
26
- error?: unknown;
27
- /** Marks a round whose provider call threw, traced at `level: ERROR`. */
28
- isError?: boolean;
29
20
  }
21
+ interface LLMSuccessfulAgentRound extends LLMAgentRoundBase {
22
+ output: unknown;
23
+ error?: never;
24
+ isError?: false;
25
+ }
26
+ interface LLMFailedAgentRound extends LLMAgentRoundBase {
27
+ output?: never;
28
+ error: unknown;
29
+ isError: true;
30
+ }
31
+ export type LLMAgentRound = LLMSuccessfulAgentRound | LLMFailedAgentRound;
30
32
  /**
31
33
  * What one round's response contributes to its generation. Produced by the
32
34
  * provider because only the provider knows which part of its response is the
@@ -36,5 +38,11 @@ export interface LLMAgentRoundOutcome {
36
38
  output: unknown;
37
39
  usage?: LLMModelUsage;
38
40
  }
41
+ export interface LLMAgentRoundSpec<ProviderResponse> {
42
+ input: unknown;
43
+ call: () => Promise<ProviderResponse>;
44
+ describeOutcome: (response: ProviderResponse) => LLMAgentRoundOutcome;
45
+ }
39
46
  /** Emits the generation observation of a single agent round. */
40
47
  export type LLMAgentRoundWriter = (round: LLMAgentRound) => void;
48
+ export {};
@@ -92,6 +92,7 @@ export interface LLMGatewayTracer {
92
92
  withTrace<Result>(name: string, context: LLMTraceContext, fn: () => Promise<Result>): Promise<Result>;
93
93
  recordGeneration(generation: LLMGenerationTraceRecord): void;
94
94
  withToolObservation<Result>(name: string, input: unknown, fn: () => Promise<Result>): Promise<Result>;
95
+ withAgentObservation<Result>(name: string, input: unknown, fn: () => Promise<Result>): Promise<Result>;
95
96
  /**
96
97
  * Updates the active trace of this tracer only (name/input replace, metadata
97
98
  * merges). A no-op outside an active scope. Isolated per tracer so it can
@@ -12,6 +12,9 @@ class NoopLLMGatewayTracer {
12
12
  async withToolObservation(_name, _input, fn) {
13
13
  return fn();
14
14
  }
15
+ async withAgentObservation(_name, _input, fn) {
16
+ return fn();
17
+ }
15
18
  updateActiveTrace() {
16
19
  // no-op when disabled
17
20
  }
@@ -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,qBAAqB;QACnB,OAAO,SAAS,CAAC;IACnB,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
+ {"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,KAAK,CAAC,oBAAoB,CACxB,KAAa,EACb,MAAe,EACf,EAAyB;QAEzB,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAED,iBAAiB;QACf,sBAAsB;IACxB,CAAC;IAED,qBAAqB;QACnB,OAAO,SAAS,CAAC;IACnB,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mate-academy/llm-gateway",
3
- "version": "8.7.0",
3
+ "version": "8.8.0",
4
4
  "description": "A gateway package for LLM services.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,7 +0,0 @@
1
- /**
2
- * Extracts the plain variable names a prompt references, matching the runtime
3
- * compile path (only `{{var}}` survives the conditional drop, see plan §1.3).
4
- * Section/closer tokens (`{{#cond}}`, `{{/cond}}`) are excluded so the generated
5
- * required-variable set agrees with what the validation gate counts as provided.
6
- */
7
- export declare function extractRequiredVariables(promptText: string): string[];
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractRequiredVariables = extractRequiredVariables;
4
- const VARIABLE_PATTERN = /{{\s*([\w.]+)\s*}}/g;
5
- /**
6
- * Extracts the plain variable names a prompt references, matching the runtime
7
- * compile path (only `{{var}}` survives the conditional drop, see plan §1.3).
8
- * Section/closer tokens (`{{#cond}}`, `{{/cond}}`) are excluded so the generated
9
- * required-variable set agrees with what the validation gate counts as provided.
10
- */
11
- function extractRequiredVariables(promptText) {
12
- const names = new Set();
13
- for (const match of promptText.matchAll(VARIABLE_PATTERN)) {
14
- const token = match[1];
15
- if (!token.startsWith('#') && !token.startsWith('/')) {
16
- names.add(token);
17
- }
18
- }
19
- return [...names].sort();
20
- }
21
- //# sourceMappingURL=extractVariables.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractVariables.js","sourceRoot":"","sources":["../../../src/client/codegen/extractVariables.ts"],"names":[],"mappings":";;AAQA,4DAYC;AApBD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAE/C;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,UAAkB;IACzD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEvB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC"}