@mate-academy/llm-gateway 8.12.0 → 8.12.2

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,22 @@ 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
+ },
346
+ // Optional: flags this specialist's report when it never searched.
347
+ grounding: {
348
+ groundingToolNames: ['web_search', 'web_fetch'],
349
+ ungroundedReportNote: '[UNGROUNDED - no web access was used.]\n\n',
350
+ },
342
351
  }],
343
352
  context: { userId },
353
+ // Optional: omitted for backward-compatible retry/delegation behaviour.
354
+ failurePolicy: {
355
+ identicalToolCallNudgeAfter: 2,
356
+ identicalToolCallAbortAfter: 5,
357
+ },
344
358
  onEvent: (event) => publishAndPersist(event), // WS updates + run history
345
359
  });
346
360
 
@@ -351,6 +365,34 @@ if (turn.stopReason === LLMToolLoopStopReasons.TerminalTool) {
351
365
  }
352
366
  ```
353
367
 
368
+ `failurePolicy` is opt-in. It tracks consecutive failures of the exact same
369
+ tool name and canonicalized input per agent run, adds a corrective hint at the
370
+ configured nudge threshold, and stops only the affected delegation at the abort
371
+ threshold. Only a call that ran and produced a result resets that tool's
372
+ streak: a refused call and a delegation the policy stopped both keep it
373
+ running, and both carry the escalation in the text the model reads. The
374
+ thresholds are validated, so a nudge that could never fire is a configuration
375
+ error rather than silence.
376
+
377
+ `reportCap` is declared per subagent, because how much prose a specialist may
378
+ hand back belongs to that delegation's contract — a specialist that names every
379
+ entity it touched legitimately reports more than one summarising a document it
380
+ persisted elsewhere. A capped text report is cut on a code-point boundary and
381
+ the note is appended; a capped structured report is replaced by a valid JSON
382
+ envelope carrying an excerpt, never by half a JSON document.
383
+
384
+ A subagent's `grounding` is opt-in too, and it is a counter over the trajectory
385
+ rather than a reading of the report: the runner already dispatches every call
386
+ the specialist makes, so a delegation that executed none of
387
+ `groundingToolNames` gets `ungroundedReportNote` prepended to the report the
388
+ parent model reads. A refused or failed call does not ground anything — only an
389
+ execution does. A prose report is noted before it is capped, so a long report
390
+ cannot bury the warning; a structured one is noted after, because its cap
391
+ replaces the document with an envelope that has to stay whole. Declaring
392
+ `grounding` on a subagent whose report is structured therefore means an
393
+ ungrounded delegation returns note-then-JSON rather than JSON — capped or not —
394
+ so do not declare it on a subagent whose delegation result you parse.
395
+
354
396
  - **Structured progress events.** Every step emits an `LLMAgentEvent`
355
397
  (`agent_started/step_started/message/completed/failed`,
356
398
  `tool_call_started/completed/failed/rejected`,
@@ -2,7 +2,8 @@ import { type LLMToolDefinition } from '../LLMService.typedefs';
2
2
  import { type LLMSchemaInterface } from '../utilities/schema';
3
3
  import { type LLMPromptRegistry } from '../client/defineLLMPrompts';
4
4
  import { type LLMVariableValue } from '../client/promptSnapshot.typedefs';
5
- import { type LLMDelegationGate, type LLMPromptVariables, type LLMSubagentVariableSource } from '../client/llmClient.typedefs';
5
+ import { type LLMAgentGroundingRequirement, 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,8 @@ export type LLMAgentSubagentDefinition<Registry extends LLMPromptRegistry, Varia
18
19
  description: string;
19
20
  tools?: LLMToolDefinition[];
20
21
  canExecute?: LLMDelegationGate;
22
+ reportCap?: LLMAgentSubagentReportCap;
23
+ grounding?: LLMAgentGroundingRequirement;
21
24
  maxToolIterations?: number;
22
25
  } & LLMSubagentVariableSource<VariableMap[Key]>;
23
26
  }[keyof Registry];
@@ -51,6 +54,16 @@ export interface LLMAgentDefinition<Registry extends LLMPromptRegistry, Variable
51
54
  inputSchema?: LLMSchemaInterface;
52
55
  /** Refuses a delegation call before it runs; see `LLMDelegationGate`. */
53
56
  canExecute?: LLMDelegationGate;
57
+ /**
58
+ * How much prose this agent may hand a parent back when it is delegated to.
59
+ * Only meaningful as a subagent.
60
+ */
61
+ reportCap?: LLMAgentSubagentReportCap;
62
+ /**
63
+ * Flags this agent's report when the delegated run used none of the tools
64
+ * that ground it. Only meaningful as a subagent.
65
+ */
66
+ grounding?: LLMAgentGroundingRequirement;
54
67
  maxToolIterations?: number;
55
68
  }
56
69
  /**
@@ -71,6 +84,8 @@ export declare class LLMAgent<Registry extends LLMPromptRegistry = LLMPromptRegi
71
84
  readonly subagents: LLMAgentSubagent<Registry, VariableMap>[] | undefined;
72
85
  readonly inputSchema: LLMSchemaInterface | undefined;
73
86
  readonly canExecute: LLMDelegationGate | undefined;
87
+ readonly reportCap: LLMAgentSubagentReportCap | undefined;
88
+ readonly grounding: LLMAgentGroundingRequirement | undefined;
74
89
  readonly maxToolIterations: number | undefined;
75
90
  constructor(definition: LLMAgentDefinition<Registry, VariableMap, Key>);
76
91
  }
@@ -19,6 +19,8 @@ class LLMAgent {
19
19
  subagents;
20
20
  inputSchema;
21
21
  canExecute;
22
+ reportCap;
23
+ grounding;
22
24
  maxToolIterations;
23
25
  constructor(definition) {
24
26
  this.prompt = definition.prompt;
@@ -29,6 +31,8 @@ class LLMAgent {
29
31
  this.subagents = definition.subagents;
30
32
  this.inputSchema = definition.inputSchema;
31
33
  this.canExecute = definition.canExecute;
34
+ this.reportCap = definition.reportCap;
35
+ this.grounding = definition.grounding;
32
36
  this.maxToolIterations = definition.maxToolIterations;
33
37
  }
34
38
  }
@@ -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":";;;AA2FA;;;;;;;;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,SAAS,CAA2C;IAEpD,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,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;IACxD,CAAC;CACF;AAzCD,4BAyCC"}
@@ -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"}
@@ -7,9 +7,9 @@ import { type LLMToolObservationOptions } from '../utilities/llmTracing';
7
7
  import { type LLMCapabilityRequirement, type LLMPromptBinding } from '../client/defineLLMPrompts';
8
8
  import { type LLMVariableValue } from '../client/promptSnapshot.typedefs';
9
9
  import { type ResolvedPrompt } from '../client/promptRegistry.runtime';
10
- import { type LLMCallOverrides, type LLMClientCallContext, type LLMDelegationGate, type LLMHistoryMessage, type LLMProviderServiceScope, type LLMToolResultContext, type LLMTraceContextScope } from '../client/llmClient.typedefs';
10
+ import { type LLMAgentGroundingRequirement, 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,8 @@ export interface LLMAgentSubagentSpec {
57
57
  tools?: LLMToolDefinition[];
58
58
  inputSchema?: LLMSchemaInterface;
59
59
  canExecute?: LLMDelegationGate;
60
+ reportCap?: LLMAgentSubagentReportCap;
61
+ grounding?: LLMAgentGroundingRequirement;
60
62
  maxToolIterations?: number;
61
63
  }
62
64
  type SubagentEntry = LLMAgentSubagentSpec | LLMAgent;
@@ -80,6 +82,7 @@ export interface LLMAgentRunInput {
80
82
  abortSignal?: AbortSignal;
81
83
  overrides?: LLMCallOverrides;
82
84
  onEvent?: LLMAgentEventListener;
85
+ failurePolicy?: LLMAgentFailurePolicy;
83
86
  }
84
87
  /**
85
88
  * Runs one agent: instructions resolved from the prompt registry (Langfuse is
@@ -107,6 +110,14 @@ export declare class LLMAgentRunner {
107
110
  private assistInChat;
108
111
  private buildTools;
109
112
  private wrapToolWithEvents;
113
+ /**
114
+ * The single place that decides whether one finished invocation actually did
115
+ * anything, and the only place the policies watching it are told. A refusal
116
+ * is a call that did nothing and a delegation the failure policy stopped is
117
+ * the opposite of a success, so neither resets that tool's streak and
118
+ * neither grounds the delegation it ran in.
119
+ */
120
+ private static policeToolOutcome;
110
121
  /**
111
122
  * The lifecycle of one tool invocation. The completion event depends on what
112
123
  * the invocation produced: a refused call reports `tool_call_denied` in place
@@ -127,6 +138,17 @@ export declare class LLMAgentRunner {
127
138
  private buildSubagentTool;
128
139
  private buildDelegationLifecycle;
129
140
  private delegateToSubagent;
141
+ /**
142
+ * Runs the delegated agent tree and converts the one rejection a stopped
143
+ * delegation is entitled to swallow: this same call's own abort, raised as
144
+ * `LLMAbortedError` once `systemicFailureController` fires. The shared
145
+ * `abortSignal` can also be aborted by an unrelated sibling delegation, so a
146
+ * rejection that arrives while `abortSignal.reason` happens to be a
147
+ * `SystemicToolFailureError` is not, by itself, proof that this delegation
148
+ * failed for that reason — network or auth errors must still propagate as
149
+ * themselves.
150
+ */
151
+ private runDelegatedAgent;
130
152
  /**
131
153
  * A typed delegation hands the whole argument object to the subagent as its
132
154
  * request, since the parent model filled a schema rather than writing a
@@ -146,8 +168,22 @@ export declare class LLMAgentRunner {
146
168
  * the parent model. A delegation tool is never itself terminal, so a
147
169
  * subagent that stopped on its own terminal tool hands that tool's output
148
170
  * back as the delegation result and the parent's loop continues.
171
+ *
172
+ * A prose report is noted before it is capped, so a specialist cannot bury
173
+ * the grounding warning under a report long enough to be truncated. A
174
+ * structured one is noted after, because over the cap it is replaced by an
175
+ * envelope that a prefix counted into the budget would cut back open.
149
176
  */
150
177
  private stringifySubagentOutcome;
178
+ private static capReportText;
179
+ /**
180
+ * A structured report is never cut where it stands: half a JSON document
181
+ * parses as nothing while still looking structured to whatever reads it
182
+ * next. Over the cap it is replaced by a valid envelope that says the report
183
+ * was too long and carries an excerpt short enough to survive being escaped
184
+ * into it.
185
+ */
186
+ private static capStructuredReport;
151
187
  private normalizeSubagent;
152
188
  private withLifecycleEvents;
153
189
  /**
@@ -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
@@ -20,6 +26,35 @@ const TOOL_NAME_PATTERN = /^[a-zA-Z0-9_-]+$/;
20
26
  const DELEGATION_PROMPT_SCHEMA = schema_1.LLMSchema.object({
21
27
  prompt: schema_1.LLMSchema.string().describe('The task or question to delegate to this agent'),
22
28
  });
29
+ /**
30
+ * One tracker belongs to one delegation, and it counts what that delegation's
31
+ * run actually executed. A specialist that never reached for its grounding
32
+ * tools answered from the model's own knowledge, so its report is prefixed
33
+ * with the requirement's note before the parent model reads it.
34
+ *
35
+ * It reads the trajectory rather than the prose because a report may claim any
36
+ * source it likes while an execution either happened or it did not. What it
37
+ * proves is only that: a floor, not diligence. One search that returned
38
+ * nothing, or one fetch of an unrelated page, satisfies it — telling a useful
39
+ * source from a useless one is the reviewing model's job, not a counter's.
40
+ */
41
+ class AgentGroundingPolicy {
42
+ requirement;
43
+ executedGroundingTools = new Set();
44
+ constructor(requirement) {
45
+ this.requirement = requirement;
46
+ }
47
+ recordExecutedTool(toolName) {
48
+ if (this.requirement.groundingToolNames.includes(toolName)) {
49
+ this.executedGroundingTools.add(toolName);
50
+ }
51
+ }
52
+ noteWhenUngrounded(report) {
53
+ return this.executedGroundingTools.size > 0
54
+ ? report
55
+ : `${this.requirement.ungroundedReportNote}${report}`;
56
+ }
57
+ }
23
58
  /**
24
59
  * Allocates the `runId`/`invocationId` values that correlate events within one
25
60
  * root run. One sequence spans the whole run tree so every id is unique across
@@ -32,8 +67,16 @@ class AgentRunIdSequence {
32
67
  return this.currentId;
33
68
  }
34
69
  }
35
- function toErrorMessage(error) {
36
- return error instanceof Error ? error.message : String(error);
70
+ /**
71
+ * Cuts a report to the cap without ever leaving half a code point behind: a
72
+ * lone high surrogate at the cut renders as a replacement character and can
73
+ * corrupt whatever the caller does with the text next.
74
+ */
75
+ function sliceWithoutSplittingCodePoints(text, maxLength) {
76
+ const sliced = text.slice(0, maxLength);
77
+ const lastCode = sliced.charCodeAt(sliced.length - 1);
78
+ const endsOnHighSurrogate = lastCode >= 0xd800 && lastCode <= 0xdbff;
79
+ return endsOnHighSurrogate ? sliced.slice(0, -1) : sliced;
37
80
  }
38
81
  /**
39
82
  * Runs one agent: instructions resolved from the prompt registry (Langfuse is
@@ -110,7 +153,10 @@ class LLMAgentRunner {
110
153
  };
111
154
  }
112
155
  async executeRun(run, sequence, runId) {
113
- const tools = this.buildTools(run, sequence, runId);
156
+ const failurePolicy = run.failurePolicy
157
+ ? new agentFailurePolicy_1.AgentToolFailurePolicy(run.failurePolicy, run.abortOnSystemicToolFailure)
158
+ : undefined;
159
+ const tools = this.buildTools(run, sequence, runId, failurePolicy);
114
160
  const resolved = await this.services.resolvePrompt(run.promptName, run.binding, run.variables, {
115
161
  purpose: LLMService_typedefs_1.LLMPurposes.Assistance,
116
162
  additionalRequires: tools.length > 0 ? ['tools'] : [],
@@ -220,12 +266,12 @@ class LLMAgentRunner {
220
266
  throw this.services.toTaxonomyError(error, resolved, run.abortSignal);
221
267
  }
222
268
  }
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));
269
+ buildTools(run, sequence, runId, failurePolicy) {
270
+ const explicitTools = (run.tools ?? []).map((tool) => this.wrapToolWithEvents(tool, run, sequence, runId, failurePolicy));
271
+ const subagentTools = (run.subagents ?? []).map((subagent) => this.buildSubagentTool(subagent, run, sequence, runId, failurePolicy));
226
272
  return [...explicitTools, ...subagentTools];
227
273
  }
228
- wrapToolWithEvents(tool, run, sequence, runId) {
274
+ wrapToolWithEvents(tool, run, sequence, runId, failurePolicy) {
229
275
  return {
230
276
  ...tool,
231
277
  tracing: {
@@ -239,15 +285,74 @@ class LLMAgentRunner {
239
285
  run,
240
286
  runId,
241
287
  invocationId,
242
- }), async () => this.executeGatedTool({
243
- tool,
244
- args: toolInput,
245
- agentName: run.agentName,
246
- }));
288
+ }), async () => {
289
+ try {
290
+ const outcome = await this.executeGatedTool({
291
+ tool,
292
+ args: toolInput,
293
+ agentName: run.agentName,
294
+ });
295
+ return LLMAgentRunner.policeToolOutcome({
296
+ failurePolicy,
297
+ groundingPolicy: run.groundingPolicy,
298
+ toolName: tool.name,
299
+ input: toolInput,
300
+ outcome,
301
+ });
302
+ }
303
+ catch (error) {
304
+ throw failurePolicy
305
+ ? failurePolicy.describeFailure({
306
+ toolName: tool.name,
307
+ input: toolInput,
308
+ error,
309
+ })
310
+ : error;
311
+ }
312
+ });
247
313
  return outcome.result;
248
314
  },
249
315
  };
250
316
  }
317
+ /**
318
+ * The single place that decides whether one finished invocation actually did
319
+ * anything, and the only place the policies watching it are told. A refusal
320
+ * is a call that did nothing and a delegation the failure policy stopped is
321
+ * the opposite of a success, so neither resets that tool's streak and
322
+ * neither grounds the delegation it ran in.
323
+ */
324
+ static policeToolOutcome(policing) {
325
+ const { failurePolicy, groundingPolicy, toolName, input, outcome, } = policing;
326
+ if (outcome.denialReason !== undefined) {
327
+ return failurePolicy
328
+ ? {
329
+ ...outcome,
330
+ result: failurePolicy.describeFailedResult({
331
+ toolName,
332
+ input,
333
+ error: outcome.denialReason,
334
+ text: outcome.result,
335
+ }),
336
+ }
337
+ : outcome;
338
+ }
339
+ if (outcome.systemicFailure) {
340
+ return failurePolicy
341
+ ? {
342
+ ...outcome,
343
+ result: failurePolicy.describeFailedResult({
344
+ toolName,
345
+ input,
346
+ error: outcome.systemicFailure.message,
347
+ text: outcome.result,
348
+ }),
349
+ }
350
+ : outcome;
351
+ }
352
+ failurePolicy?.recordSuccess(toolName);
353
+ groundingPolicy?.recordExecutedTool(toolName);
354
+ return outcome;
355
+ }
251
356
  /**
252
357
  * The lifecycle of one tool invocation. The completion event depends on what
253
358
  * the invocation produced: a refused call reports `tool_call_denied` in place
@@ -335,7 +440,7 @@ class LLMAgentRunner {
335
440
  denialReason: reason,
336
441
  };
337
442
  }
338
- buildSubagentTool(subagentEntry, run, sequence, runId) {
443
+ buildSubagentTool(subagentEntry, run, sequence, runId, failurePolicy) {
339
444
  const subagent = this.normalizeSubagent(subagentEntry);
340
445
  const binding = this.services.getBinding(subagent.prompt);
341
446
  if (!binding) {
@@ -364,15 +469,34 @@ class LLMAgentRunner {
364
469
  runId,
365
470
  invocationId,
366
471
  subagentRunId,
367
- }), async () => this.delegateToSubagent({
368
- subagent,
369
- binding,
370
- args,
371
- input,
372
- run,
373
- sequence,
374
- subagentRunId,
375
- }));
472
+ }), async () => {
473
+ try {
474
+ const delegationOutcome = await this.delegateToSubagent({
475
+ subagent,
476
+ binding,
477
+ args,
478
+ input,
479
+ run,
480
+ sequence,
481
+ subagentRunId,
482
+ });
483
+ return LLMAgentRunner.policeToolOutcome({
484
+ failurePolicy,
485
+ toolName: subagent.name,
486
+ input: args,
487
+ outcome: delegationOutcome,
488
+ });
489
+ }
490
+ catch (error) {
491
+ throw failurePolicy
492
+ ? failurePolicy.describeFailure({
493
+ toolName: subagent.name,
494
+ input: args,
495
+ error,
496
+ })
497
+ : error;
498
+ }
499
+ });
376
500
  return outcome.result;
377
501
  },
378
502
  });
@@ -422,30 +546,79 @@ class LLMAgentRunner {
422
546
  const result = await this.services.withToolObservation(subagent.name, args, () => Promise.resolve(denial.result), { level: llmTracing_1.LLMObservationLevel.Warning });
423
547
  return { ...denial, result };
424
548
  }
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
- };
549
+ const systemicFailureController = new AbortController();
550
+ const abortSignal = run.abortSignal
551
+ ? AbortSignal.any([run.abortSignal, systemicFailureController.signal])
552
+ : systemicFailureController.signal;
553
+ const groundingPolicy = subagent.grounding
554
+ ? new AgentGroundingPolicy(subagent.grounding)
555
+ : undefined;
556
+ return this.runDelegatedAgent({
557
+ delegation,
558
+ abortSignal,
559
+ systemicFailureController,
560
+ groundingPolicy,
561
+ });
562
+ }
563
+ /**
564
+ * Runs the delegated agent tree and converts the one rejection a stopped
565
+ * delegation is entitled to swallow: this same call's own abort, raised as
566
+ * `LLMAbortedError` once `systemicFailureController` fires. The shared
567
+ * `abortSignal` can also be aborted by an unrelated sibling delegation, so a
568
+ * rejection that arrives while `abortSignal.reason` happens to be a
569
+ * `SystemicToolFailureError` is not, by itself, proof that this delegation
570
+ * failed for that reason — network or auth errors must still propagate as
571
+ * themselves.
572
+ */
573
+ async runDelegatedAgent(context) {
574
+ const { delegation, abortSignal, systemicFailureController, groundingPolicy, } = context;
575
+ const { subagent, args, run } = delegation;
576
+ try {
577
+ const subagentResult = await this.runAgentTree({
578
+ agentName: subagent.name,
579
+ promptName: subagent.prompt,
580
+ binding: delegation.binding,
581
+ variables: this.buildDelegationVariables(subagent, args),
582
+ input: delegation.input,
583
+ tools: subagent.tools,
584
+ subagents: subagent.subagents,
585
+ maxToolIterations: subagent.maxToolIterations,
586
+ context: run.context,
587
+ sessionId: run.sessionId,
588
+ traceTags: run.traceTags,
589
+ abortSignal,
590
+ overrides: run.overrides,
591
+ onEvent: run.onEvent,
592
+ failurePolicy: run.failurePolicy,
593
+ abortOnSystemicToolFailure: run.failurePolicy
594
+ ? (error) => systemicFailureController.abort(error)
595
+ : undefined,
596
+ groundingPolicy,
597
+ }, delegation.sequence, delegation.subagentRunId);
598
+ return {
599
+ result: this.services.normalizeToolResult({
600
+ tool: subagent.name,
601
+ agent: run.agentName,
602
+ input: args,
603
+ result: this.stringifySubagentOutcome({
604
+ subagentResult,
605
+ reportCap: subagent.reportCap,
606
+ groundingPolicy,
607
+ }),
608
+ }),
609
+ };
610
+ }
611
+ catch (error) {
612
+ const systemicError = abortSignal.reason;
613
+ if (!(systemicError instanceof agentFailurePolicy_1.SystemicToolFailureError)
614
+ || !(error instanceof errors_1.LLMAbortedError)) {
615
+ throw error;
616
+ }
617
+ return {
618
+ result: JSON.stringify(systemicError.report),
619
+ systemicFailure: systemicError,
620
+ };
621
+ }
449
622
  }
450
623
  /**
451
624
  * A typed delegation hands the whole argument object to the subagent as its
@@ -476,14 +649,48 @@ class LLMAgentRunner {
476
649
  * the parent model. A delegation tool is never itself terminal, so a
477
650
  * subagent that stopped on its own terminal tool hands that tool's output
478
651
  * back as the delegation result and the parent's loop continues.
652
+ *
653
+ * A prose report is noted before it is capped, so a specialist cannot bury
654
+ * the grounding warning under a report long enough to be truncated. A
655
+ * structured one is noted after, because over the cap it is replaced by an
656
+ * envelope that a prefix counted into the budget would cut back open.
657
+ */
658
+ stringifySubagentOutcome(options) {
659
+ const outcome = options.subagentResult.terminalTool
660
+ ? options.subagentResult.terminalTool.output
661
+ : options.subagentResult.output;
662
+ if (typeof outcome !== 'string') {
663
+ const report = LLMAgentRunner.capStructuredReport(outcome, options.reportCap);
664
+ return options.groundingPolicy?.noteWhenUngrounded(report) ?? report;
665
+ }
666
+ return LLMAgentRunner.capReportText(options.groundingPolicy?.noteWhenUngrounded(outcome) ?? outcome, options.reportCap);
667
+ }
668
+ static capReportText(report, reportCap) {
669
+ if (!reportCap || report.length <= reportCap.maxLength) {
670
+ return report;
671
+ }
672
+ return sliceWithoutSplittingCodePoints(report, reportCap.maxLength)
673
+ + reportCap.truncationNote;
674
+ }
675
+ /**
676
+ * A structured report is never cut where it stands: half a JSON document
677
+ * parses as nothing while still looking structured to whatever reads it
678
+ * next. Over the cap it is replaced by a valid envelope that says the report
679
+ * was too long and carries an excerpt short enough to survive being escaped
680
+ * into it.
479
681
  */
480
- stringifySubagentOutcome(subagentResult) {
481
- const outcome = subagentResult.terminalTool
482
- ? subagentResult.terminalTool.output
483
- : subagentResult.output;
484
- return typeof outcome === 'string'
485
- ? outcome
486
- : JSON.stringify(outcome);
682
+ static capStructuredReport(outcome, reportCap) {
683
+ const report = JSON.stringify(outcome);
684
+ if (!reportCap || report.length <= reportCap.maxLength) {
685
+ return report;
686
+ }
687
+ return JSON.stringify({
688
+ status: agentRun_typedefs_1.LLMAgentSubagentReportStatus.Truncated,
689
+ maxLength: reportCap.maxLength,
690
+ reportLength: report.length,
691
+ excerpt: sliceWithoutSplittingCodePoints(report, Math.floor(reportCap.maxLength / STRUCTURED_EXCERPT_DIVISOR)),
692
+ note: reportCap.truncationNote,
693
+ });
487
694
  }
488
695
  normalizeSubagent(subagentEntry) {
489
696
  if (!(subagentEntry instanceof LLMAgent_1.LLMAgent)) {
@@ -503,6 +710,8 @@ class LLMAgentRunner {
503
710
  subagents: subagentEntry.subagents,
504
711
  inputSchema: subagentEntry.inputSchema,
505
712
  canExecute: subagentEntry.canExecute,
713
+ reportCap: subagentEntry.reportCap,
714
+ grounding: subagentEntry.grounding,
506
715
  maxToolIterations: subagentEntry.maxToolIterations,
507
716
  };
508
717
  }
@@ -515,7 +724,7 @@ class LLMAgentRunner {
515
724
  return workResult;
516
725
  }
517
726
  catch (error) {
518
- this.emit(listener, lifecycle.failed(toErrorMessage(error), Date.now() - startedAt));
727
+ this.emit(listener, lifecycle.failed((0, errors_1.toErrorMessage)(error), Date.now() - startedAt));
519
728
  throw error;
520
729
  }
521
730
  }
@@ -553,7 +762,7 @@ class LLMAgentRunner {
553
762
  warnListenerFailure(event, error) {
554
763
  this.logger?.warn('Agent event listener failed', {
555
764
  eventType: event.type,
556
- error: toErrorMessage(error),
765
+ error: (0, errors_1.toErrorMessage)(error),
557
766
  });
558
767
  }
559
768
  }
@@ -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"}
@@ -123,6 +123,21 @@ export type LLMToolResultNormalizer = (context: LLMToolResultContext) => LLMTool
123
123
  * when it declares one, and `{ prompt }` otherwise.
124
124
  */
125
125
  export type LLMDelegationGate = (args: Record<string, unknown>) => Promise<LLMToolGateResult> | LLMToolGateResult;
126
+ /**
127
+ * What makes a delegated agent's report worth reading. A specialist whose value
128
+ * is the evidence it gathered — a researcher, a source checker — writes the
129
+ * same confident prose whether it read real sources or answered from the
130
+ * model's own knowledge, and the parent model cannot tell the two apart. The
131
+ * runner dispatches every call the specialist makes, so the requirement is met
132
+ * by counting executions of the named tools rather than by reading the report
133
+ * for citations.
134
+ */
135
+ export interface LLMAgentGroundingRequirement {
136
+ /** Executing any one of these grounds the delegation's report. */
137
+ groundingToolNames: string[];
138
+ /** Prepended to the report when the run executed none of them. */
139
+ ungroundedReportNote: string;
140
+ }
126
141
  /**
127
142
  * `ReporterContext` ties the reporter to the mapper that feeds it: declare it
128
143
  * and a `LLMReporterInterface<T>` forces `buildContext` to return exactly `T`,
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.2",
4
4
  "description": "A gateway package for LLM services.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",