@mate-academy/llm-gateway 8.12.0 → 8.12.1

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/README.md CHANGED
@@ -339,8 +339,17 @@ const turn = await llm.runAgent(LLMPrompt.ContentEditorRootAgent, {
339
339
  description: 'Researches sources for course content',
340
340
  variables: { courseName },
341
341
  tools: [searchTool],
342
+ reportCap: {
343
+ maxLength: 8192,
344
+ truncationNote: '\n\nCheck the persisted artifact.',
345
+ },
342
346
  }],
343
347
  context: { userId },
348
+ // Optional: omitted for backward-compatible retry/delegation behaviour.
349
+ failurePolicy: {
350
+ identicalToolCallNudgeAfter: 2,
351
+ identicalToolCallAbortAfter: 5,
352
+ },
344
353
  onEvent: (event) => publishAndPersist(event), // WS updates + run history
345
354
  });
346
355
 
@@ -351,6 +360,22 @@ if (turn.stopReason === LLMToolLoopStopReasons.TerminalTool) {
351
360
  }
352
361
  ```
353
362
 
363
+ `failurePolicy` is opt-in. It tracks consecutive failures of the exact same
364
+ tool name and canonicalized input per agent run, adds a corrective hint at the
365
+ configured nudge threshold, and stops only the affected delegation at the abort
366
+ threshold. Only a call that ran and produced a result resets that tool's
367
+ streak: a refused call and a delegation the policy stopped both keep it
368
+ running, and both carry the escalation in the text the model reads. The
369
+ thresholds are validated, so a nudge that could never fire is a configuration
370
+ error rather than silence.
371
+
372
+ `reportCap` is declared per subagent, because how much prose a specialist may
373
+ hand back belongs to that delegation's contract — a specialist that names every
374
+ entity it touched legitimately reports more than one summarising a document it
375
+ persisted elsewhere. A capped text report is cut on a code-point boundary and
376
+ the note is appended; a capped structured report is replaced by a valid JSON
377
+ envelope carrying an excerpt, never by half a JSON document.
378
+
354
379
  - **Structured progress events.** Every step emits an `LLMAgentEvent`
355
380
  (`agent_started/step_started/message/completed/failed`,
356
381
  `tool_call_started/completed/failed/rejected`,
@@ -3,6 +3,7 @@ import { type LLMSchemaInterface } from '../utilities/schema';
3
3
  import { type LLMPromptRegistry } from '../client/defineLLMPrompts';
4
4
  import { type LLMVariableValue } from '../client/promptSnapshot.typedefs';
5
5
  import { type LLMDelegationGate, type LLMPromptVariables, type LLMSubagentVariableSource } from '../client/llmClient.typedefs';
6
+ import { type LLMAgentSubagentReportCap } from '../client/agentRun.typedefs';
6
7
  /**
7
8
  * A bounded specialist the root agent may delegate to, as a plain object.
8
9
  * `prompt` names the registry entry whose Langfuse prompt is the subagent's
@@ -18,6 +19,7 @@ export type LLMAgentSubagentDefinition<Registry extends LLMPromptRegistry, Varia
18
19
  description: string;
19
20
  tools?: LLMToolDefinition[];
20
21
  canExecute?: LLMDelegationGate;
22
+ reportCap?: LLMAgentSubagentReportCap;
21
23
  maxToolIterations?: number;
22
24
  } & LLMSubagentVariableSource<VariableMap[Key]>;
23
25
  }[keyof Registry];
@@ -51,6 +53,11 @@ export interface LLMAgentDefinition<Registry extends LLMPromptRegistry, Variable
51
53
  inputSchema?: LLMSchemaInterface;
52
54
  /** Refuses a delegation call before it runs; see `LLMDelegationGate`. */
53
55
  canExecute?: LLMDelegationGate;
56
+ /**
57
+ * How much prose this agent may hand a parent back when it is delegated to.
58
+ * Only meaningful as a subagent.
59
+ */
60
+ reportCap?: LLMAgentSubagentReportCap;
54
61
  maxToolIterations?: number;
55
62
  }
56
63
  /**
@@ -71,6 +78,7 @@ export declare class LLMAgent<Registry extends LLMPromptRegistry = LLMPromptRegi
71
78
  readonly subagents: LLMAgentSubagent<Registry, VariableMap>[] | undefined;
72
79
  readonly inputSchema: LLMSchemaInterface | undefined;
73
80
  readonly canExecute: LLMDelegationGate | undefined;
81
+ readonly reportCap: LLMAgentSubagentReportCap | undefined;
74
82
  readonly maxToolIterations: number | undefined;
75
83
  constructor(definition: LLMAgentDefinition<Registry, VariableMap, Key>);
76
84
  }
@@ -19,6 +19,7 @@ class LLMAgent {
19
19
  subagents;
20
20
  inputSchema;
21
21
  canExecute;
22
+ reportCap;
22
23
  maxToolIterations;
23
24
  constructor(definition) {
24
25
  this.prompt = definition.prompt;
@@ -29,6 +30,7 @@ class LLMAgent {
29
30
  this.subagents = definition.subagents;
30
31
  this.inputSchema = definition.inputSchema;
31
32
  this.canExecute = definition.canExecute;
33
+ this.reportCap = definition.reportCap;
32
34
  this.maxToolIterations = definition.maxToolIterations;
33
35
  }
34
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LLMAgent.js","sourceRoot":"","sources":["../../src/client/LLMAgent.ts"],"names":[],"mappings":";;;AA2EA;;;;;;;;GAQG;AACH,MAAa,QAAQ;IAMV,MAAM,CAAM;IAEZ,IAAI,CAAqB;IAEzB,WAAW,CAAqB;IAEhC,SAAS,CAA+C;IAExD,KAAK,CAAkC;IAEvC,SAAS,CAAwD;IAEjE,WAAW,CAAiC;IAE5C,UAAU,CAAgC;IAE1C,iBAAiB,CAAqB;IAE/C,YAAY,UAA0D;QACpE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;IACxD,CAAC;CACF;AAnCD,4BAmCC"}
1
+ {"version":3,"file":"LLMAgent.js","sourceRoot":"","sources":["../../src/client/LLMAgent.ts"],"names":[],"mappings":";;;AAoFA;;;;;;;;GAQG;AACH,MAAa,QAAQ;IAMV,MAAM,CAAM;IAEZ,IAAI,CAAqB;IAEzB,WAAW,CAAqB;IAEhC,SAAS,CAA+C;IAExD,KAAK,CAAkC;IAEvC,SAAS,CAAwD;IAEjE,WAAW,CAAiC;IAE5C,UAAU,CAAgC;IAE1C,SAAS,CAAwC;IAEjD,iBAAiB,CAAqB;IAE/C,YAAY,UAA0D;QACpE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;IACxD,CAAC;CACF;AAtCD,4BAsCC"}
@@ -77,6 +77,7 @@ class LLMClientEngine {
77
77
  abortSignal: options.abortSignal,
78
78
  overrides: options.overrides,
79
79
  onEvent: options.onEvent,
80
+ failurePolicy: options.failurePolicy,
80
81
  });
81
82
  return runResult;
82
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LLMClientEngine.js","sourceRoot":"","sources":["../../src/client/LLMClientEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LLMClientEngine.js","sourceRoot":"","sources":["../../src/client/LLMClientEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { type LLMAgentFailurePolicy, type SystemicToolFailureReport, type ToolFailedResultContext, type ToolFailureContext } from '../client/agentRun.typedefs';
2
+ export declare class SystemicToolFailureError extends Error {
3
+ readonly report: SystemicToolFailureReport;
4
+ constructor(report: SystemicToolFailureReport);
5
+ }
6
+ /**
7
+ * One tracker belongs to one agent run. Nested runs get their own tracker, so
8
+ * five failures inside one delegation stop that delegation without poisoning
9
+ * its siblings or the root agent's counters.
10
+ *
11
+ * A refused call counts as a failure, not as a success: a gate that keeps
12
+ * saying no to the same arguments is exactly the unbounded retry loop the
13
+ * streak exists to bound, and it is what the transcript already records it as.
14
+ */
15
+ export declare class AgentToolFailurePolicy {
16
+ private readonly policy;
17
+ private readonly abortOnSystemicFailure?;
18
+ private readonly streaks;
19
+ constructor(policy: LLMAgentFailurePolicy, abortOnSystemicFailure?: ((error: SystemicToolFailureError) => void) | undefined);
20
+ recordSuccess(toolName: string): void;
21
+ /**
22
+ * Records a thrown failure and returns the error the model should read —
23
+ * the original one, one carrying the corrective nudge, or the systemic
24
+ * report that also stops the delegation.
25
+ */
26
+ describeFailure(failure: ToolFailureContext): Error;
27
+ /**
28
+ * Two outcomes the model reads as a result rather than as a throw: a call a
29
+ * gate refused, and a delegation this policy itself stopped. Neither did the
30
+ * work, so both keep the streak running and both carry the escalation in the
31
+ * text — a root that re-delegates the same doomed work is in exactly the
32
+ * retry loop the counter exists to break.
33
+ */
34
+ describeFailedResult(failure: ToolFailedResultContext): string;
35
+ private recordAttempt;
36
+ private hasReachedAbortThreshold;
37
+ private hasReachedNudgeThreshold;
38
+ private appendNudge;
39
+ private buildSystemicFailure;
40
+ /**
41
+ * A nudge that can never fire, or an abort that fires on the first failure,
42
+ * silently turns the policy into something other than what it says. Both are
43
+ * configuration mistakes, so they fail where configuration is read.
44
+ */
45
+ private static assertUsableThresholds;
46
+ }
47
+ /**
48
+ * Two calls are "the same call" when their arguments carry the same values,
49
+ * whatever order the model happened to serialize the keys in. Ordering is a
50
+ * plain code-unit comparison rather than `localeCompare`, which is locale
51
+ * sensitive and may call two distinct keys equal.
52
+ */
53
+ export declare function canonicalizeToolInput(value: unknown): unknown;
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentToolFailurePolicy = exports.SystemicToolFailureError = void 0;
4
+ exports.canonicalizeToolInput = canonicalizeToolInput;
5
+ const agentRun_typedefs_1 = require("../client/agentRun.typedefs");
6
+ const errors_1 = require("../client/errors");
7
+ const FAILURE_POLICY_PROMPT_NAME = 'agent failure policy';
8
+ class SystemicToolFailureError extends Error {
9
+ report;
10
+ constructor(report) {
11
+ super(report.message);
12
+ this.report = report;
13
+ this.name = 'SystemicToolFailureError';
14
+ }
15
+ }
16
+ exports.SystemicToolFailureError = SystemicToolFailureError;
17
+ /**
18
+ * One tracker belongs to one agent run. Nested runs get their own tracker, so
19
+ * five failures inside one delegation stop that delegation without poisoning
20
+ * its siblings or the root agent's counters.
21
+ *
22
+ * A refused call counts as a failure, not as a success: a gate that keeps
23
+ * saying no to the same arguments is exactly the unbounded retry loop the
24
+ * streak exists to bound, and it is what the transcript already records it as.
25
+ */
26
+ class AgentToolFailurePolicy {
27
+ policy;
28
+ abortOnSystemicFailure;
29
+ streaks = new Map();
30
+ constructor(policy, abortOnSystemicFailure) {
31
+ this.policy = policy;
32
+ this.abortOnSystemicFailure = abortOnSystemicFailure;
33
+ AgentToolFailurePolicy.assertUsableThresholds(policy);
34
+ }
35
+ recordSuccess(toolName) {
36
+ this.streaks.delete(toolName);
37
+ }
38
+ /**
39
+ * Records a thrown failure and returns the error the model should read —
40
+ * the original one, one carrying the corrective nudge, or the systemic
41
+ * report that also stops the delegation.
42
+ */
43
+ describeFailure(failure) {
44
+ const streak = this.recordAttempt(failure.toolName, {
45
+ input: failure.input,
46
+ error: (0, errors_1.toErrorMessage)(failure.error),
47
+ });
48
+ if (this.hasReachedAbortThreshold(streak)) {
49
+ return this.buildSystemicFailure(failure.toolName, streak);
50
+ }
51
+ if (this.hasReachedNudgeThreshold(streak)) {
52
+ return new Error(this.appendNudge({
53
+ text: (0, errors_1.toErrorMessage)(failure.error),
54
+ toolName: failure.toolName,
55
+ count: streak.count,
56
+ }));
57
+ }
58
+ return failure.error instanceof Error
59
+ ? failure.error
60
+ : new Error((0, errors_1.toErrorMessage)(failure.error));
61
+ }
62
+ /**
63
+ * Two outcomes the model reads as a result rather than as a throw: a call a
64
+ * gate refused, and a delegation this policy itself stopped. Neither did the
65
+ * work, so both keep the streak running and both carry the escalation in the
66
+ * text — a root that re-delegates the same doomed work is in exactly the
67
+ * retry loop the counter exists to break.
68
+ */
69
+ describeFailedResult(failure) {
70
+ const streak = this.recordAttempt(failure.toolName, {
71
+ input: failure.input,
72
+ error: failure.error,
73
+ });
74
+ if (this.hasReachedAbortThreshold(streak)) {
75
+ return `${failure.text}\n\n${this.buildSystemicFailure(failure.toolName, streak).message}`;
76
+ }
77
+ if (this.hasReachedNudgeThreshold(streak)) {
78
+ return this.appendNudge({
79
+ text: failure.text,
80
+ toolName: failure.toolName,
81
+ count: streak.count,
82
+ });
83
+ }
84
+ return failure.text;
85
+ }
86
+ recordAttempt(toolName, attempt) {
87
+ const inputKey = JSON.stringify(canonicalizeToolInput(attempt.input));
88
+ const previous = this.streaks.get(toolName);
89
+ const streak = {
90
+ inputKey,
91
+ count: previous?.inputKey === inputKey ? previous.count + 1 : 1,
92
+ lastError: attempt.error,
93
+ };
94
+ this.streaks.set(toolName, streak);
95
+ return streak;
96
+ }
97
+ hasReachedAbortThreshold(streak) {
98
+ return streak.count >= this.policy.identicalToolCallAbortAfter;
99
+ }
100
+ hasReachedNudgeThreshold(streak) {
101
+ return streak.count === this.policy.identicalToolCallNudgeAfter;
102
+ }
103
+ appendNudge(nudge) {
104
+ return `${nudge.text}\n\n[Agent runtime: this exact "${nudge.toolName}" `
105
+ + `call failed ${nudge.count} times in a row. Change the input or the `
106
+ + 'approach, or report the blocker; do not resend the unchanged call.]';
107
+ }
108
+ buildSystemicFailure(toolName, streak) {
109
+ const message = this.abortOnSystemicFailure
110
+ ? `Delegation stopped after ${streak.count} consecutive failures of the `
111
+ + `exact same "${toolName}" call. The failure appears systemic; `
112
+ + 'report the blocker instead of retrying it.'
113
+ : `The exact same "${toolName}" call failed ${streak.count} consecutive `
114
+ + 'times. The failure appears systemic; stop retrying it and report '
115
+ + 'the blocker.';
116
+ const systemicError = new SystemicToolFailureError({
117
+ status: agentRun_typedefs_1.LLMAgentToolFailureStatus.Systemic,
118
+ tool: toolName,
119
+ consecutiveFailures: streak.count,
120
+ lastError: streak.lastError,
121
+ message,
122
+ });
123
+ this.abortOnSystemicFailure?.(systemicError);
124
+ return systemicError;
125
+ }
126
+ /**
127
+ * A nudge that can never fire, or an abort that fires on the first failure,
128
+ * silently turns the policy into something other than what it says. Both are
129
+ * configuration mistakes, so they fail where configuration is read.
130
+ */
131
+ static assertUsableThresholds(policy) {
132
+ const { identicalToolCallNudgeAfter, identicalToolCallAbortAfter } = policy;
133
+ if (!Number.isInteger(identicalToolCallNudgeAfter)
134
+ || identicalToolCallNudgeAfter < 1) {
135
+ throw new errors_1.LLMConfigError('failurePolicy.identicalToolCallNudgeAfter must be an integer of at'
136
+ + ` least 1, got ${identicalToolCallNudgeAfter}`, { promptName: FAILURE_POLICY_PROMPT_NAME });
137
+ }
138
+ if (!Number.isInteger(identicalToolCallAbortAfter)
139
+ || identicalToolCallAbortAfter <= identicalToolCallNudgeAfter) {
140
+ throw new errors_1.LLMConfigError('failurePolicy.identicalToolCallAbortAfter must be an integer greater'
141
+ + ` than identicalToolCallNudgeAfter (${identicalToolCallNudgeAfter}),`
142
+ + ` got ${identicalToolCallAbortAfter}`, { promptName: FAILURE_POLICY_PROMPT_NAME });
143
+ }
144
+ }
145
+ }
146
+ exports.AgentToolFailurePolicy = AgentToolFailurePolicy;
147
+ /**
148
+ * Two calls are "the same call" when their arguments carry the same values,
149
+ * whatever order the model happened to serialize the keys in. Ordering is a
150
+ * plain code-unit comparison rather than `localeCompare`, which is locale
151
+ * sensitive and may call two distinct keys equal.
152
+ */
153
+ function canonicalizeToolInput(value) {
154
+ if (Array.isArray(value)) {
155
+ return value.map(canonicalizeToolInput);
156
+ }
157
+ if (!value || typeof value !== 'object') {
158
+ return value;
159
+ }
160
+ return Object.fromEntries(Object.entries(value)
161
+ .sort(([firstKey], [secondKey]) => (firstKey < secondKey ? -1 : 1))
162
+ .map(([key, nestedValue]) => [key, canonicalizeToolInput(nestedValue)]));
163
+ }
164
+ //# sourceMappingURL=agentFailurePolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentFailurePolicy.js","sourceRoot":"","sources":["../../src/client/agentFailurePolicy.ts"],"names":[],"mappings":"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"}
@@ -166,6 +166,62 @@ export interface LLMAgentTerminalToolRunResult {
166
166
  * application by a terminal tool.
167
167
  */
168
168
  export type LLMAgentRunResult<Output> = LLMAgentAnsweredRunResult<Output> | LLMAgentTerminalToolRunResult;
169
+ /**
170
+ * Optional safeguards for agents that persist work outside their returned
171
+ * prose. Omit this policy to preserve the gateway's historical retry and
172
+ * delegation behaviour.
173
+ */
174
+ export interface LLMAgentFailurePolicy {
175
+ /** Add a corrective machine hint after this many identical failures. */
176
+ identicalToolCallNudgeAfter: number;
177
+ /** Stop only the affected delegation after this many identical failures. */
178
+ identicalToolCallAbortAfter: number;
179
+ }
180
+ /**
181
+ * How much prose one specialist may hand back. Declared per subagent because
182
+ * the ceiling belongs to that delegation's contract: a specialist asked to
183
+ * name every entity it touched legitimately reports more than one asked for a
184
+ * short summary of a document it persisted elsewhere. The note travels with
185
+ * the length so a cap can never be configured without one.
186
+ */
187
+ export interface LLMAgentSubagentReportCap {
188
+ maxLength: number;
189
+ truncationNote: string;
190
+ }
191
+ export declare enum LLMAgentSubagentReportStatus {
192
+ Truncated = "REPORT_TRUNCATED"
193
+ }
194
+ export declare enum LLMAgentToolFailureStatus {
195
+ Systemic = "SYSTEMIC_TOOL_FAILURE"
196
+ }
197
+ /**
198
+ * What the parent model reads in place of a delegation that was stopped for
199
+ * repeating one failing call. It is JSON so the parent can act on the fields
200
+ * rather than on prose.
201
+ */
202
+ export interface SystemicToolFailureReport {
203
+ status: LLMAgentToolFailureStatus;
204
+ tool: string;
205
+ consecutiveFailures: number;
206
+ lastError: string;
207
+ message: string;
208
+ }
209
+ export interface ToolFailureStreak {
210
+ inputKey: string;
211
+ count: number;
212
+ lastError: string;
213
+ }
214
+ export interface ToolFailureContext {
215
+ toolName: string;
216
+ input: Record<string, unknown>;
217
+ error: unknown;
218
+ }
219
+ export interface ToolFailedResultContext {
220
+ toolName: string;
221
+ input: Record<string, unknown>;
222
+ error: string;
223
+ text: string;
224
+ }
169
225
  /**
170
226
  * Per-run inputs shared by both `runAgent` forms. When running an `LLMAgent`
171
227
  * instance these are the only options — the agent already carries its tools,
@@ -201,6 +257,7 @@ export interface LLMAgentRunOptions<Variables extends Record<string, LLMVariable
201
257
  abortSignal?: AbortSignal;
202
258
  overrides?: LLMCallOverrides;
203
259
  onEvent?: LLMAgentEventListener;
260
+ failurePolicy?: LLMAgentFailurePolicy;
204
261
  }
205
262
  /**
206
263
  * Options for the prompt-key form of `runAgent`, where the agent shape is
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LLMAgentEventTypes = void 0;
3
+ exports.LLMAgentToolFailureStatus = exports.LLMAgentSubagentReportStatus = exports.LLMAgentEventTypes = void 0;
4
4
  /**
5
5
  * Structured progress events an agent run emits while it works. They exist for
6
6
  * two consumers with different needs: live UI updates (publish each event over
@@ -24,4 +24,12 @@ var LLMAgentEventTypes;
24
24
  LLMAgentEventTypes["SubagentCompleted"] = "subagent_completed";
25
25
  LLMAgentEventTypes["SubagentFailed"] = "subagent_failed";
26
26
  })(LLMAgentEventTypes || (exports.LLMAgentEventTypes = LLMAgentEventTypes = {}));
27
+ var LLMAgentSubagentReportStatus;
28
+ (function (LLMAgentSubagentReportStatus) {
29
+ LLMAgentSubagentReportStatus["Truncated"] = "REPORT_TRUNCATED";
30
+ })(LLMAgentSubagentReportStatus || (exports.LLMAgentSubagentReportStatus = LLMAgentSubagentReportStatus = {}));
31
+ var LLMAgentToolFailureStatus;
32
+ (function (LLMAgentToolFailureStatus) {
33
+ LLMAgentToolFailureStatus["Systemic"] = "SYSTEMIC_TOOL_FAILURE";
34
+ })(LLMAgentToolFailureStatus || (exports.LLMAgentToolFailureStatus = LLMAgentToolFailureStatus = {}));
27
35
  //# sourceMappingURL=agentRun.typedefs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentRun.typedefs.js","sourceRoot":"","sources":["../../src/client/agentRun.typedefs.ts"],"names":[],"mappings":";;;AAeA;;;;;;GAMG;AACH,IAAY,kBAcX;AAdD,WAAY,kBAAkB;IAC5B,oDAA8B,CAAA;IAC9B,6DAAuC,CAAA;IACvC,oDAA8B,CAAA;IAC9B,wDAAkC,CAAA;IAClC,kDAA4B,CAAA;IAC5B,2DAAqC,CAAA;IACrC,+DAAyC,CAAA;IACzC,yDAAmC,CAAA;IACnC,yDAAmC,CAAA;IACnC,6DAAuC,CAAA;IACvC,0DAAoC,CAAA;IACpC,8DAAwC,CAAA;IACxC,wDAAkC,CAAA;AACpC,CAAC,EAdW,kBAAkB,kCAAlB,kBAAkB,QAc7B"}
1
+ {"version":3,"file":"agentRun.typedefs.js","sourceRoot":"","sources":["../../src/client/agentRun.typedefs.ts"],"names":[],"mappings":";;;AAeA;;;;;;GAMG;AACH,IAAY,kBAcX;AAdD,WAAY,kBAAkB;IAC5B,oDAA8B,CAAA;IAC9B,6DAAuC,CAAA;IACvC,oDAA8B,CAAA;IAC9B,wDAAkC,CAAA;IAClC,kDAA4B,CAAA;IAC5B,2DAAqC,CAAA;IACrC,+DAAyC,CAAA;IACzC,yDAAmC,CAAA;IACnC,yDAAmC,CAAA;IACnC,6DAAuC,CAAA;IACvC,0DAAoC,CAAA;IACpC,8DAAwC,CAAA;IACxC,wDAAkC,CAAA;AACpC,CAAC,EAdW,kBAAkB,kCAAlB,kBAAkB,QAc7B;AAwND,IAAY,4BAEX;AAFD,WAAY,4BAA4B;IACtC,8DAA8B,CAAA;AAChC,CAAC,EAFW,4BAA4B,4CAA5B,4BAA4B,QAEvC;AAED,IAAY,yBAEX;AAFD,WAAY,yBAAyB;IACnC,+DAAkC,CAAA;AACpC,CAAC,EAFW,yBAAyB,yCAAzB,yBAAyB,QAEpC"}
@@ -9,7 +9,7 @@ import { type LLMVariableValue } from '../client/promptSnapshot.typedefs';
9
9
  import { type ResolvedPrompt } from '../client/promptRegistry.runtime';
10
10
  import { type LLMCallOverrides, type LLMClientCallContext, type LLMDelegationGate, type LLMHistoryMessage, type LLMProviderServiceScope, type LLMToolResultContext, type LLMTraceContextScope } from '../client/llmClient.typedefs';
11
11
  import { LLMAgent } from '../client/LLMAgent';
12
- import { type LLMAgentEventListener, type LLMAgentRunResult } from '../client/agentRun.typedefs';
12
+ import { type LLMAgentEventListener, type LLMAgentFailurePolicy, type LLMAgentRunResult, type LLMAgentSubagentReportCap } from '../client/agentRun.typedefs';
13
13
  type AgentAssistanceService = LLMAssistanceService<LLMProviders, LLMReporterInterface<any> | undefined>;
14
14
  type AgentSendResult = {
15
15
  text: string;
@@ -57,6 +57,7 @@ export interface LLMAgentSubagentSpec {
57
57
  tools?: LLMToolDefinition[];
58
58
  inputSchema?: LLMSchemaInterface;
59
59
  canExecute?: LLMDelegationGate;
60
+ reportCap?: LLMAgentSubagentReportCap;
60
61
  maxToolIterations?: number;
61
62
  }
62
63
  type SubagentEntry = LLMAgentSubagentSpec | LLMAgent;
@@ -80,6 +81,7 @@ export interface LLMAgentRunInput {
80
81
  abortSignal?: AbortSignal;
81
82
  overrides?: LLMCallOverrides;
82
83
  onEvent?: LLMAgentEventListener;
84
+ failurePolicy?: LLMAgentFailurePolicy;
83
85
  }
84
86
  /**
85
87
  * Runs one agent: instructions resolved from the prompt registry (Langfuse is
@@ -107,6 +109,13 @@ export declare class LLMAgentRunner {
107
109
  private assistInChat;
108
110
  private buildTools;
109
111
  private wrapToolWithEvents;
112
+ /**
113
+ * Feeds one finished invocation back to the failure policy. Only a call that
114
+ * actually ran and produced a result resets its tool's streak — a refusal is
115
+ * a call that did nothing, and a delegation the policy stopped is the
116
+ * opposite of a success, so both keep the streak running instead.
117
+ */
118
+ private static policeToolOutcome;
110
119
  /**
111
120
  * The lifecycle of one tool invocation. The completion event depends on what
112
121
  * the invocation produced: a refused call reports `tool_call_denied` in place
@@ -127,6 +136,17 @@ export declare class LLMAgentRunner {
127
136
  private buildSubagentTool;
128
137
  private buildDelegationLifecycle;
129
138
  private delegateToSubagent;
139
+ /**
140
+ * Runs the delegated agent tree and converts the one rejection a stopped
141
+ * delegation is entitled to swallow: this same call's own abort, raised as
142
+ * `LLMAbortedError` once `systemicFailureController` fires. The shared
143
+ * `abortSignal` can also be aborted by an unrelated sibling delegation, so a
144
+ * rejection that arrives while `abortSignal.reason` happens to be a
145
+ * `SystemicToolFailureError` is not, by itself, proof that this delegation
146
+ * failed for that reason — network or auth errors must still propagate as
147
+ * themselves.
148
+ */
149
+ private runDelegatedAgent;
130
150
  /**
131
151
  * A typed delegation hands the whole argument object to the subagent as its
132
152
  * request, since the parent model filled a schema rather than writing a
@@ -148,6 +168,15 @@ export declare class LLMAgentRunner {
148
168
  * back as the delegation result and the parent's loop continues.
149
169
  */
150
170
  private stringifySubagentOutcome;
171
+ private static capReportText;
172
+ /**
173
+ * A structured report is never cut where it stands: half a JSON document
174
+ * parses as nothing while still looking structured to whatever reads it
175
+ * next. Over the cap it is replaced by a valid envelope that says the report
176
+ * was too long and carries an excerpt short enough to survive being escaped
177
+ * into it.
178
+ */
179
+ private static capStructuredReport;
151
180
  private normalizeSubagent;
152
181
  private withLifecycleEvents;
153
182
  /**
@@ -10,8 +10,14 @@ const plainMessages_1 = require("../client/plainMessages");
10
10
  const promptVariables_1 = require("../client/promptVariables");
11
11
  const LLMAgent_1 = require("../client/LLMAgent");
12
12
  const agentRun_typedefs_1 = require("../client/agentRun.typedefs");
13
+ const agentFailurePolicy_1 = require("../client/agentFailurePolicy");
13
14
  const errors_1 = require("../client/errors");
14
15
  const TOOL_NAME_PATTERN = /^[a-zA-Z0-9_-]+$/;
16
+ /**
17
+ * A JSON excerpt is re-escaped when it goes into the truncation envelope, so
18
+ * it is taken at half the cap to leave room for the escaping.
19
+ */
20
+ const STRUCTURED_EXCERPT_DIVISOR = 2;
15
21
  /**
16
22
  * The delegation-tool parameters a subagent gets when it declares no
17
23
  * `inputSchema`: one free-form task string, which also becomes the nested
@@ -32,8 +38,16 @@ class AgentRunIdSequence {
32
38
  return this.currentId;
33
39
  }
34
40
  }
35
- function toErrorMessage(error) {
36
- return error instanceof Error ? error.message : String(error);
41
+ /**
42
+ * Cuts a report to the cap without ever leaving half a code point behind: a
43
+ * lone high surrogate at the cut renders as a replacement character and can
44
+ * corrupt whatever the caller does with the text next.
45
+ */
46
+ function sliceWithoutSplittingCodePoints(text, maxLength) {
47
+ const sliced = text.slice(0, maxLength);
48
+ const lastCode = sliced.charCodeAt(sliced.length - 1);
49
+ const endsOnHighSurrogate = lastCode >= 0xd800 && lastCode <= 0xdbff;
50
+ return endsOnHighSurrogate ? sliced.slice(0, -1) : sliced;
37
51
  }
38
52
  /**
39
53
  * Runs one agent: instructions resolved from the prompt registry (Langfuse is
@@ -110,7 +124,10 @@ class LLMAgentRunner {
110
124
  };
111
125
  }
112
126
  async executeRun(run, sequence, runId) {
113
- const tools = this.buildTools(run, sequence, runId);
127
+ const failurePolicy = run.failurePolicy
128
+ ? new agentFailurePolicy_1.AgentToolFailurePolicy(run.failurePolicy, run.abortOnSystemicToolFailure)
129
+ : undefined;
130
+ const tools = this.buildTools(run, sequence, runId, failurePolicy);
114
131
  const resolved = await this.services.resolvePrompt(run.promptName, run.binding, run.variables, {
115
132
  purpose: LLMService_typedefs_1.LLMPurposes.Assistance,
116
133
  additionalRequires: tools.length > 0 ? ['tools'] : [],
@@ -220,12 +237,12 @@ class LLMAgentRunner {
220
237
  throw this.services.toTaxonomyError(error, resolved, run.abortSignal);
221
238
  }
222
239
  }
223
- buildTools(run, sequence, runId) {
224
- const explicitTools = (run.tools ?? []).map((tool) => this.wrapToolWithEvents(tool, run, sequence, runId));
225
- const subagentTools = (run.subagents ?? []).map((subagent) => this.buildSubagentTool(subagent, run, sequence, runId));
240
+ buildTools(run, sequence, runId, failurePolicy) {
241
+ const explicitTools = (run.tools ?? []).map((tool) => this.wrapToolWithEvents(tool, run, sequence, runId, failurePolicy));
242
+ const subagentTools = (run.subagents ?? []).map((subagent) => this.buildSubagentTool(subagent, run, sequence, runId, failurePolicy));
226
243
  return [...explicitTools, ...subagentTools];
227
244
  }
228
- wrapToolWithEvents(tool, run, sequence, runId) {
245
+ wrapToolWithEvents(tool, run, sequence, runId, failurePolicy) {
229
246
  return {
230
247
  ...tool,
231
248
  tracing: {
@@ -239,15 +256,70 @@ class LLMAgentRunner {
239
256
  run,
240
257
  runId,
241
258
  invocationId,
242
- }), async () => this.executeGatedTool({
243
- tool,
244
- args: toolInput,
245
- agentName: run.agentName,
246
- }));
259
+ }), async () => {
260
+ try {
261
+ const outcome = await this.executeGatedTool({
262
+ tool,
263
+ args: toolInput,
264
+ agentName: run.agentName,
265
+ });
266
+ return LLMAgentRunner.policeToolOutcome({
267
+ failurePolicy,
268
+ toolName: tool.name,
269
+ input: toolInput,
270
+ outcome,
271
+ });
272
+ }
273
+ catch (error) {
274
+ throw failurePolicy
275
+ ? failurePolicy.describeFailure({
276
+ toolName: tool.name,
277
+ input: toolInput,
278
+ error,
279
+ })
280
+ : error;
281
+ }
282
+ });
247
283
  return outcome.result;
248
284
  },
249
285
  };
250
286
  }
287
+ /**
288
+ * Feeds one finished invocation back to the failure policy. Only a call that
289
+ * actually ran and produced a result resets its tool's streak — a refusal is
290
+ * a call that did nothing, and a delegation the policy stopped is the
291
+ * opposite of a success, so both keep the streak running instead.
292
+ */
293
+ static policeToolOutcome(policing) {
294
+ const { failurePolicy, toolName, input, outcome, } = policing;
295
+ if (!failurePolicy) {
296
+ return outcome;
297
+ }
298
+ if (outcome.denialReason !== undefined) {
299
+ return {
300
+ ...outcome,
301
+ result: failurePolicy.describeFailedResult({
302
+ toolName,
303
+ input,
304
+ error: outcome.denialReason,
305
+ text: outcome.result,
306
+ }),
307
+ };
308
+ }
309
+ if (outcome.systemicFailure) {
310
+ return {
311
+ ...outcome,
312
+ result: failurePolicy.describeFailedResult({
313
+ toolName,
314
+ input,
315
+ error: outcome.systemicFailure.message,
316
+ text: outcome.result,
317
+ }),
318
+ };
319
+ }
320
+ failurePolicy.recordSuccess(toolName);
321
+ return outcome;
322
+ }
251
323
  /**
252
324
  * The lifecycle of one tool invocation. The completion event depends on what
253
325
  * the invocation produced: a refused call reports `tool_call_denied` in place
@@ -335,7 +407,7 @@ class LLMAgentRunner {
335
407
  denialReason: reason,
336
408
  };
337
409
  }
338
- buildSubagentTool(subagentEntry, run, sequence, runId) {
410
+ buildSubagentTool(subagentEntry, run, sequence, runId, failurePolicy) {
339
411
  const subagent = this.normalizeSubagent(subagentEntry);
340
412
  const binding = this.services.getBinding(subagent.prompt);
341
413
  if (!binding) {
@@ -364,15 +436,34 @@ class LLMAgentRunner {
364
436
  runId,
365
437
  invocationId,
366
438
  subagentRunId,
367
- }), async () => this.delegateToSubagent({
368
- subagent,
369
- binding,
370
- args,
371
- input,
372
- run,
373
- sequence,
374
- subagentRunId,
375
- }));
439
+ }), async () => {
440
+ try {
441
+ const delegationOutcome = await this.delegateToSubagent({
442
+ subagent,
443
+ binding,
444
+ args,
445
+ input,
446
+ run,
447
+ sequence,
448
+ subagentRunId,
449
+ });
450
+ return LLMAgentRunner.policeToolOutcome({
451
+ failurePolicy,
452
+ toolName: subagent.name,
453
+ input: args,
454
+ outcome: delegationOutcome,
455
+ });
456
+ }
457
+ catch (error) {
458
+ throw failurePolicy
459
+ ? failurePolicy.describeFailure({
460
+ toolName: subagent.name,
461
+ input: args,
462
+ error,
463
+ })
464
+ : error;
465
+ }
466
+ });
376
467
  return outcome.result;
377
468
  },
378
469
  });
@@ -422,30 +513,73 @@ class LLMAgentRunner {
422
513
  const result = await this.services.withToolObservation(subagent.name, args, () => Promise.resolve(denial.result), { level: llmTracing_1.LLMObservationLevel.Warning });
423
514
  return { ...denial, result };
424
515
  }
425
- const subagentResult = await this.runAgentTree({
426
- agentName: subagent.name,
427
- promptName: subagent.prompt,
428
- binding: delegation.binding,
429
- variables: this.buildDelegationVariables(subagent, args),
430
- input: delegation.input,
431
- tools: subagent.tools,
432
- subagents: subagent.subagents,
433
- maxToolIterations: subagent.maxToolIterations,
434
- context: run.context,
435
- sessionId: run.sessionId,
436
- traceTags: run.traceTags,
437
- abortSignal: run.abortSignal,
438
- overrides: run.overrides,
439
- onEvent: run.onEvent,
440
- }, delegation.sequence, delegation.subagentRunId);
441
- return {
442
- result: this.services.normalizeToolResult({
443
- tool: subagent.name,
444
- agent: run.agentName,
445
- input: args,
446
- result: this.stringifySubagentOutcome(subagentResult),
447
- }),
448
- };
516
+ const systemicFailureController = new AbortController();
517
+ const abortSignal = run.abortSignal
518
+ ? AbortSignal.any([run.abortSignal, systemicFailureController.signal])
519
+ : systemicFailureController.signal;
520
+ return this.runDelegatedAgent({
521
+ delegation,
522
+ abortSignal,
523
+ systemicFailureController,
524
+ });
525
+ }
526
+ /**
527
+ * Runs the delegated agent tree and converts the one rejection a stopped
528
+ * delegation is entitled to swallow: this same call's own abort, raised as
529
+ * `LLMAbortedError` once `systemicFailureController` fires. The shared
530
+ * `abortSignal` can also be aborted by an unrelated sibling delegation, so a
531
+ * rejection that arrives while `abortSignal.reason` happens to be a
532
+ * `SystemicToolFailureError` is not, by itself, proof that this delegation
533
+ * failed for that reason — network or auth errors must still propagate as
534
+ * themselves.
535
+ */
536
+ async runDelegatedAgent(context) {
537
+ const { delegation, abortSignal, systemicFailureController } = context;
538
+ const { subagent, args, run } = delegation;
539
+ try {
540
+ const subagentResult = await this.runAgentTree({
541
+ agentName: subagent.name,
542
+ promptName: subagent.prompt,
543
+ binding: delegation.binding,
544
+ variables: this.buildDelegationVariables(subagent, args),
545
+ input: delegation.input,
546
+ tools: subagent.tools,
547
+ subagents: subagent.subagents,
548
+ maxToolIterations: subagent.maxToolIterations,
549
+ context: run.context,
550
+ sessionId: run.sessionId,
551
+ traceTags: run.traceTags,
552
+ abortSignal,
553
+ overrides: run.overrides,
554
+ onEvent: run.onEvent,
555
+ failurePolicy: run.failurePolicy,
556
+ abortOnSystemicToolFailure: run.failurePolicy
557
+ ? (error) => systemicFailureController.abort(error)
558
+ : undefined,
559
+ }, delegation.sequence, delegation.subagentRunId);
560
+ return {
561
+ result: this.services.normalizeToolResult({
562
+ tool: subagent.name,
563
+ agent: run.agentName,
564
+ input: args,
565
+ result: this.stringifySubagentOutcome({
566
+ subagentResult,
567
+ reportCap: subagent.reportCap,
568
+ }),
569
+ }),
570
+ };
571
+ }
572
+ catch (error) {
573
+ const systemicError = abortSignal.reason;
574
+ if (!(systemicError instanceof agentFailurePolicy_1.SystemicToolFailureError)
575
+ || !(error instanceof errors_1.LLMAbortedError)) {
576
+ throw error;
577
+ }
578
+ return {
579
+ result: JSON.stringify(systemicError.report),
580
+ systemicFailure: systemicError,
581
+ };
582
+ }
449
583
  }
450
584
  /**
451
585
  * A typed delegation hands the whole argument object to the subagent as its
@@ -477,13 +611,40 @@ class LLMAgentRunner {
477
611
  * subagent that stopped on its own terminal tool hands that tool's output
478
612
  * back as the delegation result and the parent's loop continues.
479
613
  */
480
- stringifySubagentOutcome(subagentResult) {
481
- const outcome = subagentResult.terminalTool
482
- ? subagentResult.terminalTool.output
483
- : subagentResult.output;
614
+ stringifySubagentOutcome(options) {
615
+ const outcome = options.subagentResult.terminalTool
616
+ ? options.subagentResult.terminalTool.output
617
+ : options.subagentResult.output;
484
618
  return typeof outcome === 'string'
485
- ? outcome
486
- : JSON.stringify(outcome);
619
+ ? LLMAgentRunner.capReportText(outcome, options.reportCap)
620
+ : LLMAgentRunner.capStructuredReport(outcome, options.reportCap);
621
+ }
622
+ static capReportText(report, reportCap) {
623
+ if (!reportCap || report.length <= reportCap.maxLength) {
624
+ return report;
625
+ }
626
+ return sliceWithoutSplittingCodePoints(report, reportCap.maxLength)
627
+ + reportCap.truncationNote;
628
+ }
629
+ /**
630
+ * A structured report is never cut where it stands: half a JSON document
631
+ * parses as nothing while still looking structured to whatever reads it
632
+ * next. Over the cap it is replaced by a valid envelope that says the report
633
+ * was too long and carries an excerpt short enough to survive being escaped
634
+ * into it.
635
+ */
636
+ static capStructuredReport(outcome, reportCap) {
637
+ const report = JSON.stringify(outcome);
638
+ if (!reportCap || report.length <= reportCap.maxLength) {
639
+ return report;
640
+ }
641
+ return JSON.stringify({
642
+ status: agentRun_typedefs_1.LLMAgentSubagentReportStatus.Truncated,
643
+ maxLength: reportCap.maxLength,
644
+ reportLength: report.length,
645
+ excerpt: sliceWithoutSplittingCodePoints(report, Math.floor(reportCap.maxLength / STRUCTURED_EXCERPT_DIVISOR)),
646
+ note: reportCap.truncationNote,
647
+ });
487
648
  }
488
649
  normalizeSubagent(subagentEntry) {
489
650
  if (!(subagentEntry instanceof LLMAgent_1.LLMAgent)) {
@@ -503,6 +664,7 @@ class LLMAgentRunner {
503
664
  subagents: subagentEntry.subagents,
504
665
  inputSchema: subagentEntry.inputSchema,
505
666
  canExecute: subagentEntry.canExecute,
667
+ reportCap: subagentEntry.reportCap,
506
668
  maxToolIterations: subagentEntry.maxToolIterations,
507
669
  };
508
670
  }
@@ -515,7 +677,7 @@ class LLMAgentRunner {
515
677
  return workResult;
516
678
  }
517
679
  catch (error) {
518
- this.emit(listener, lifecycle.failed(toErrorMessage(error), Date.now() - startedAt));
680
+ this.emit(listener, lifecycle.failed((0, errors_1.toErrorMessage)(error), Date.now() - startedAt));
519
681
  throw error;
520
682
  }
521
683
  }
@@ -553,7 +715,7 @@ class LLMAgentRunner {
553
715
  warnListenerFailure(event, error) {
554
716
  this.logger?.warn('Agent event listener failed', {
555
717
  eventType: event.type,
556
- error: toErrorMessage(error),
718
+ error: (0, errors_1.toErrorMessage)(error),
557
719
  });
558
720
  }
559
721
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agentRunner.js","sourceRoot":"","sources":["../../src/client/agentRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentRunner.js","sourceRoot":"","sources":["../../src/client/agentRunner.ts"],"names":[],"mappings":"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"}
@@ -55,3 +55,4 @@ export declare class LLMAbortedError extends LLMGatewayError {
55
55
  export declare class LLMConfigError extends LLMGatewayError {
56
56
  }
57
57
  export declare function isLLMGatewayError(error: unknown): error is LLMGatewayError;
58
+ export declare function toErrorMessage(error: unknown): string;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LLMConfigError = exports.LLMAbortedError = exports.LLMSchemaValidationError = exports.LLMProviderError = exports.LLMGatewayError = void 0;
4
4
  exports.isLLMGatewayError = isLLMGatewayError;
5
+ exports.toErrorMessage = toErrorMessage;
5
6
  /**
6
7
  * Base class for every error the v2 client throws. Carries the prompt name plus
7
8
  * the resolved provider/model so callers can attribute a failure to one
@@ -67,4 +68,7 @@ exports.LLMConfigError = LLMConfigError;
67
68
  function isLLMGatewayError(error) {
68
69
  return error instanceof LLMGatewayError;
69
70
  }
71
+ function toErrorMessage(error) {
72
+ return error instanceof Error ? error.message : String(error);
73
+ }
70
74
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":";;;AAqFA,8CAEC;AA9ED;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,KAAK;IAC/B,UAAU,CAAS;IAEnB,QAAQ,CAA2B;IAEnC,KAAK,CAAqB;IAEnC,YAAY,OAAe,EAAE,OAA+B;QAC1D,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF;AAfD,0CAeC;AAED;;;;GAIG;AACH,MAAa,gBAAiB,SAAQ,eAAe;IAC1C,SAAS,CAAU;IAEnB,MAAM,CAAgB;IAE/B,YACE,OAAe,EACf,OAAgF;QAEhF,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAExB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;IACvC,CAAC;CACF;AAdD,4CAcC;AAED;;;;GAIG;AACH,MAAa,wBAAyB,SAAQ,eAAe;IAClD,OAAO,CAAS;IAEhB,YAAY,CAAS;IAE9B,YACE,OAAe,EACf,OAA2E;QAE3E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAExB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC3C,CAAC;CACF;AAdD,4DAcC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,eAAe;CAAG;AAAvD,0CAAuD;AAEvD;;;;GAIG;AACH,MAAa,cAAe,SAAQ,eAAe;CAAG;AAAtD,wCAAsD;AAEtD,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,OAAO,KAAK,YAAY,eAAe,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":";;;AAqFA,8CAEC;AAED,wCAEC;AAlFD;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,KAAK;IAC/B,UAAU,CAAS;IAEnB,QAAQ,CAA2B;IAEnC,KAAK,CAAqB;IAEnC,YAAY,OAAe,EAAE,OAA+B;QAC1D,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF;AAfD,0CAeC;AAED;;;;GAIG;AACH,MAAa,gBAAiB,SAAQ,eAAe;IAC1C,SAAS,CAAU;IAEnB,MAAM,CAAgB;IAE/B,YACE,OAAe,EACf,OAAgF;QAEhF,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAExB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;IACvC,CAAC;CACF;AAdD,4CAcC;AAED;;;;GAIG;AACH,MAAa,wBAAyB,SAAQ,eAAe;IAClD,OAAO,CAAS;IAEhB,YAAY,CAAS;IAE9B,YACE,OAAe,EACf,OAA2E;QAE3E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAExB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC3C,CAAC;CACF;AAdD,4DAcC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,eAAe;CAAG;AAAvD,0CAAuD;AAEvD;;;;GAIG;AACH,MAAa,cAAe,SAAQ,eAAe;CAAG;AAAtD,wCAAsD;AAEtD,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,OAAO,KAAK,YAAY,eAAe,CAAC;AAC1C,CAAC;AAED,SAAgB,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mate-academy/llm-gateway",
3
- "version": "8.12.0",
3
+ "version": "8.12.1",
4
4
  "description": "A gateway package for LLM services.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",