@memberjunction/testing-engine 2.129.0 → 2.130.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/dist/drivers/AgentEvalDriver.d.ts +38 -10
- package/dist/drivers/AgentEvalDriver.d.ts.map +1 -1
- package/dist/drivers/AgentEvalDriver.js +209 -87
- package/dist/drivers/AgentEvalDriver.js.map +1 -1
- package/dist/drivers/BaseTestDriver.d.ts +52 -1
- package/dist/drivers/BaseTestDriver.d.ts.map +1 -1
- package/dist/drivers/BaseTestDriver.js +78 -1
- package/dist/drivers/BaseTestDriver.js.map +1 -1
- package/dist/engine/TestEngine.d.ts +17 -3
- package/dist/engine/TestEngine.d.ts.map +1 -1
- package/dist/engine/TestEngine.js +149 -17
- package/dist/engine/TestEngine.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +15 -312
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/execution-context.d.ts +23 -0
- package/dist/utils/execution-context.d.ts.map +1 -0
- package/dist/utils/execution-context.js +177 -0
- package/dist/utils/execution-context.js.map +1 -0
- package/package.json +10 -10
|
@@ -172,6 +172,25 @@ export interface AgentEvalExpectedOutcomes {
|
|
|
172
172
|
* ```
|
|
173
173
|
*/
|
|
174
174
|
export declare class AgentEvalDriver extends BaseTestDriver {
|
|
175
|
+
/**
|
|
176
|
+
* Entity name for AI Agent Runs - used for proper FK linkage in TestRun
|
|
177
|
+
*/
|
|
178
|
+
private static readonly AI_AGENT_RUNS_ENTITY_NAME;
|
|
179
|
+
/**
|
|
180
|
+
* Cached Entity ID for AI Agent Runs
|
|
181
|
+
*/
|
|
182
|
+
private _aiAgentRunsEntityId;
|
|
183
|
+
/**
|
|
184
|
+
* Returns true as this driver supports cancellation via AbortSignal.
|
|
185
|
+
* When timeout occurs, the AbortController signals the agent to stop execution.
|
|
186
|
+
*/
|
|
187
|
+
supportsCancellation(): boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Get the Entity ID for "MJ: AI Agent Runs" for proper FK linkage.
|
|
190
|
+
* Caches the result after first lookup.
|
|
191
|
+
* @private
|
|
192
|
+
*/
|
|
193
|
+
private getAIAgentRunsEntityId;
|
|
175
194
|
/**
|
|
176
195
|
* Execute agent evaluation test.
|
|
177
196
|
*
|
|
@@ -208,19 +227,16 @@ export declare class AgentEvalDriver extends BaseTestDriver {
|
|
|
208
227
|
private loadAgent;
|
|
209
228
|
/**
|
|
210
229
|
* Execute agent (single or multi-turn) and return results.
|
|
230
|
+
* Uses AbortController for proper cancellation support when timeout occurs.
|
|
211
231
|
* @private
|
|
212
232
|
*/
|
|
213
233
|
private executeAgent;
|
|
214
234
|
/**
|
|
215
235
|
* Execute a single turn in a multi-turn test.
|
|
236
|
+
* Passes cancellation token to agent for proper timeout handling.
|
|
216
237
|
* @private
|
|
217
238
|
*/
|
|
218
239
|
private executeSingleTurn;
|
|
219
|
-
/**
|
|
220
|
-
* Create a timeout promise that rejects after specified milliseconds.
|
|
221
|
-
* @private
|
|
222
|
-
*/
|
|
223
|
-
private createTimeoutPromise;
|
|
224
240
|
/**
|
|
225
241
|
* Normalize input to multi-turn format for consistent processing.
|
|
226
242
|
* @private
|
|
@@ -232,11 +248,6 @@ export declare class AgentEvalDriver extends BaseTestDriver {
|
|
|
232
248
|
* @private
|
|
233
249
|
*/
|
|
234
250
|
private extractOutputPayload;
|
|
235
|
-
/**
|
|
236
|
-
* Create bidirectional links between TestRun and multiple AgentRuns.
|
|
237
|
-
* @private
|
|
238
|
-
*/
|
|
239
|
-
private linkTestRunToAgentRuns;
|
|
240
251
|
/**
|
|
241
252
|
* Extract agent output from agent run.
|
|
242
253
|
* @private
|
|
@@ -277,5 +288,22 @@ export declare class AgentEvalDriver extends BaseTestDriver {
|
|
|
277
288
|
* @private
|
|
278
289
|
*/
|
|
279
290
|
private calculateDurationMs;
|
|
291
|
+
/**
|
|
292
|
+
* Build conversation name with standardized format.
|
|
293
|
+
*
|
|
294
|
+
* Format:
|
|
295
|
+
* - Individual test (no suite): "[Test] TestName" or "[Test][tag1, tag2] TestName"
|
|
296
|
+
* - Suite test: "[1] TestName" or "[1][tag1, tag2] TestName"
|
|
297
|
+
* - Multi-turn adds " - Turn N" suffix
|
|
298
|
+
*
|
|
299
|
+
* @param testName - Name of the test
|
|
300
|
+
* @param sequence - Sequence number within suite (null for standalone tests)
|
|
301
|
+
* @param tagsJson - JSON string array of tags (null if no tags)
|
|
302
|
+
* @param turnNumber - Current turn number (1-indexed)
|
|
303
|
+
* @param totalTurns - Total number of turns
|
|
304
|
+
* @returns Formatted conversation name
|
|
305
|
+
* @private
|
|
306
|
+
*/
|
|
307
|
+
private buildConversationName;
|
|
280
308
|
}
|
|
281
309
|
//# sourceMappingURL=AgentEvalDriver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentEvalDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/AgentEvalDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAmC,UAAU,EAAiB,MAAM,+BAA+B,CAAC;AAG3G,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACH,sBAAsB,EACtB,qBAAqB,EAIrB,gBAAgB,EAGnB,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IAEJ;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,iBAAiB,GAAG,WAAW,GAAG,qBAAqB,CAAC;CAChF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC;;OAEG;IACH,eAAe,CAAC,EAAE;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IAEF;;;OAGG;IACH,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IAExB;;OAEG;IACH,mBAAmB,CAAC,EAAE;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,KAAK,CAAC;YAClB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;YAC3B,OAAO,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;KACN,CAAC;IAEF;;OAEG;IACH,eAAe,CAAC,EAAE;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,OAAO,CAAC;KAC3B,CAAC,CAAC;IAEH;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBACa,eAAgB,SAAQ,cAAc;IAC/C;;;;;;;;;;;;;OAaG;IACU,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentEvalDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/AgentEvalDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
9
9
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
10
10
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
11
|
};
|
|
12
|
+
var AgentEvalDriver_1;
|
|
12
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
14
|
exports.AgentEvalDriver = void 0;
|
|
14
15
|
const global_1 = require("@memberjunction/global");
|
|
@@ -53,7 +54,36 @@ const BaseTestDriver_1 = require("./BaseTestDriver");
|
|
|
53
54
|
* }
|
|
54
55
|
* ```
|
|
55
56
|
*/
|
|
56
|
-
let AgentEvalDriver = class AgentEvalDriver extends BaseTestDriver_1.BaseTestDriver {
|
|
57
|
+
let AgentEvalDriver = AgentEvalDriver_1 = class AgentEvalDriver extends BaseTestDriver_1.BaseTestDriver {
|
|
58
|
+
constructor() {
|
|
59
|
+
super(...arguments);
|
|
60
|
+
/**
|
|
61
|
+
* Cached Entity ID for AI Agent Runs
|
|
62
|
+
*/
|
|
63
|
+
this._aiAgentRunsEntityId = null;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Returns true as this driver supports cancellation via AbortSignal.
|
|
67
|
+
* When timeout occurs, the AbortController signals the agent to stop execution.
|
|
68
|
+
*/
|
|
69
|
+
supportsCancellation() {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get the Entity ID for "MJ: AI Agent Runs" for proper FK linkage.
|
|
74
|
+
* Caches the result after first lookup.
|
|
75
|
+
* @private
|
|
76
|
+
*/
|
|
77
|
+
getAIAgentRunsEntityId() {
|
|
78
|
+
if (this._aiAgentRunsEntityId === null) {
|
|
79
|
+
const entityInfo = this._metadata.Entities.find(e => e.Name === AgentEvalDriver_1.AI_AGENT_RUNS_ENTITY_NAME);
|
|
80
|
+
this._aiAgentRunsEntityId = entityInfo?.ID || null;
|
|
81
|
+
if (!this._aiAgentRunsEntityId) {
|
|
82
|
+
this.logError(`Could not find Entity ID for ${AgentEvalDriver_1.AI_AGENT_RUNS_ENTITY_NAME}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return this._aiAgentRunsEntityId;
|
|
86
|
+
}
|
|
57
87
|
/**
|
|
58
88
|
* Execute agent evaluation test.
|
|
59
89
|
*
|
|
@@ -69,7 +99,7 @@ let AgentEvalDriver = class AgentEvalDriver extends BaseTestDriver_1.BaseTestDri
|
|
|
69
99
|
* @returns Execution result
|
|
70
100
|
*/
|
|
71
101
|
async Execute(context) {
|
|
72
|
-
this.
|
|
102
|
+
this.logToTestRun(context, 'info', 'Starting agent evaluation');
|
|
73
103
|
try {
|
|
74
104
|
// Parse configuration
|
|
75
105
|
const config = this.parseConfig(context.test);
|
|
@@ -80,16 +110,42 @@ let AgentEvalDriver = class AgentEvalDriver extends BaseTestDriver_1.BaseTestDri
|
|
|
80
110
|
// Normalize input to multi-turn format
|
|
81
111
|
const turns = this.normalizeTurns(input);
|
|
82
112
|
const isMultiTurn = turns.length > 1;
|
|
83
|
-
this.
|
|
84
|
-
// Execute agent (single or multi-turn)
|
|
85
|
-
const { agentRuns, turnResults } = await this.executeAgent(agent, input, context.contextUser, context.test, config.maxExecutionTime, context.testRun);
|
|
86
|
-
//
|
|
87
|
-
|
|
113
|
+
this.logToTestRun(context, 'info', `Executing agent: ${agent.Name} (${turns.length} turn${turns.length > 1 ? 's' : ''})`);
|
|
114
|
+
// Execute agent (single or multi-turn) with timeout/cancellation support
|
|
115
|
+
const { agentRuns, turnResults, timedOut, timeoutMessage } = await this.executeAgent(agent, input, context.contextUser, context.test, config.maxExecutionTime, context.testRun, context);
|
|
116
|
+
// Handle timeout case
|
|
117
|
+
if (timedOut) {
|
|
118
|
+
this.logToTestRun(context, 'error', timeoutMessage || 'Test execution timed out');
|
|
119
|
+
// Build timeout result with partial data if available
|
|
120
|
+
const result = {
|
|
121
|
+
targetType: 'AI Agent',
|
|
122
|
+
targetLogEntityId: this.getAIAgentRunsEntityId() || undefined,
|
|
123
|
+
targetLogId: agentRuns.length > 0 ? agentRuns[agentRuns.length - 1].ID : '',
|
|
124
|
+
status: 'Timeout',
|
|
125
|
+
score: 0,
|
|
126
|
+
oracleResults: [],
|
|
127
|
+
passedChecks: 0,
|
|
128
|
+
failedChecks: 0,
|
|
129
|
+
totalChecks: 0,
|
|
130
|
+
inputData: input,
|
|
131
|
+
expectedOutput: expected,
|
|
132
|
+
actualOutput: agentRuns.length > 0 ? this.extractAgentOutput(agentRuns[agentRuns.length - 1]) : undefined,
|
|
133
|
+
errorMessage: timeoutMessage,
|
|
134
|
+
totalCost: turnResults.reduce((sum, tr) => sum + (tr.cost || 0), 0),
|
|
135
|
+
durationMs: turnResults.reduce((sum, tr) => sum + (tr.durationMs || 0), 0),
|
|
136
|
+
totalTurns: isMultiTurn ? turns.length : undefined,
|
|
137
|
+
turnResults: isMultiTurn ? turnResults : undefined,
|
|
138
|
+
allAgentRunIds: agentRuns.length > 0 ? agentRuns.map(ar => ar.ID) : undefined
|
|
139
|
+
};
|
|
140
|
+
// Note: Linking already happened via onAgentRunCreated callback for completed turns
|
|
141
|
+
return result;
|
|
142
|
+
}
|
|
143
|
+
// Note: Bidirectional linking already happened via onAgentRunCreated callback
|
|
88
144
|
// Get final agent run and output
|
|
89
145
|
const finalAgentRun = agentRuns[agentRuns.length - 1];
|
|
90
146
|
const actualOutput = this.extractAgentOutput(finalAgentRun);
|
|
91
147
|
// Run oracles
|
|
92
|
-
this.
|
|
148
|
+
this.logToTestRun(context, 'info', 'Running oracles for evaluation');
|
|
93
149
|
const oracleResults = await this.runOraclesForMultiTurn(config, turns, turnResults, expected, context);
|
|
94
150
|
// Calculate score and status
|
|
95
151
|
// When oracles are disabled, consider test passed if final agent run succeeded
|
|
@@ -106,6 +162,7 @@ let AgentEvalDriver = class AgentEvalDriver extends BaseTestDriver_1.BaseTestDri
|
|
|
106
162
|
// Build result
|
|
107
163
|
const result = {
|
|
108
164
|
targetType: 'AI Agent',
|
|
165
|
+
targetLogEntityId: this.getAIAgentRunsEntityId() || undefined,
|
|
109
166
|
targetLogId: finalAgentRun.ID,
|
|
110
167
|
status,
|
|
111
168
|
score,
|
|
@@ -123,11 +180,12 @@ let AgentEvalDriver = class AgentEvalDriver extends BaseTestDriver_1.BaseTestDri
|
|
|
123
180
|
turnResults: isMultiTurn ? turnResults : undefined,
|
|
124
181
|
allAgentRunIds: isMultiTurn ? agentRuns.map(ar => ar.ID) : undefined
|
|
125
182
|
};
|
|
126
|
-
this.
|
|
183
|
+
this.logToTestRun(context, 'info', `Agent evaluation completed: ${status} (Score: ${score})`);
|
|
127
184
|
return result;
|
|
128
185
|
}
|
|
129
186
|
catch (error) {
|
|
130
|
-
|
|
187
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
188
|
+
this.logToTestRun(context, 'error', `Agent evaluation failed: ${errorMessage}`);
|
|
131
189
|
throw error;
|
|
132
190
|
}
|
|
133
191
|
}
|
|
@@ -257,47 +315,81 @@ let AgentEvalDriver = class AgentEvalDriver extends BaseTestDriver_1.BaseTestDri
|
|
|
257
315
|
}
|
|
258
316
|
/**
|
|
259
317
|
* Execute agent (single or multi-turn) and return results.
|
|
318
|
+
* Uses AbortController for proper cancellation support when timeout occurs.
|
|
260
319
|
* @private
|
|
261
320
|
*/
|
|
262
|
-
async executeAgent(agent, input, contextUser, test, maxExecutionTime, testRun) {
|
|
321
|
+
async executeAgent(agent, input, contextUser, test, maxExecutionTime, testRun, context) {
|
|
263
322
|
// Normalize to multi-turn format
|
|
264
323
|
const turns = this.normalizeTurns(input);
|
|
265
324
|
const agentRuns = [];
|
|
266
325
|
const turnResults = [];
|
|
326
|
+
// Get effective timeout using priority: config JSON > entity field > default
|
|
327
|
+
const config = this.parseConfig(test);
|
|
328
|
+
const effectiveTimeout = this.getEffectiveTimeout(test, config);
|
|
329
|
+
// Create AbortController for cancellation
|
|
330
|
+
const abortController = new AbortController();
|
|
331
|
+
let timeoutId;
|
|
332
|
+
let timedOut = false;
|
|
333
|
+
let timeoutMessage;
|
|
334
|
+
// Set up timeout to abort execution
|
|
335
|
+
if (effectiveTimeout > 0) {
|
|
336
|
+
timeoutId = setTimeout(() => {
|
|
337
|
+
timedOut = true;
|
|
338
|
+
timeoutMessage = `Test execution timed out after ${effectiveTimeout}ms`;
|
|
339
|
+
this.logToTestRun(context, 'warn', timeoutMessage);
|
|
340
|
+
abortController.abort();
|
|
341
|
+
}, effectiveTimeout);
|
|
342
|
+
}
|
|
267
343
|
let conversationId = input.conversationContext?.conversationId;
|
|
268
344
|
let previousOutputPayload;
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
345
|
+
try {
|
|
346
|
+
// Execute each turn sequentially
|
|
347
|
+
for (let i = 0; i < turns.length; i++) {
|
|
348
|
+
// Check if aborted before starting turn
|
|
349
|
+
if (abortController.signal.aborted) {
|
|
350
|
+
this.logToTestRun(context, 'info', `Skipping turn ${i + 1} due to timeout/cancellation`);
|
|
351
|
+
break;
|
|
352
|
+
}
|
|
353
|
+
const turn = turns[i];
|
|
354
|
+
const turnNumber = i + 1;
|
|
355
|
+
// Determine input payload for this turn
|
|
356
|
+
const inputPayload = i === 0
|
|
357
|
+
? turn.inputPayload // First turn: use provided payload
|
|
358
|
+
: previousOutputPayload; // Subsequent turns: use previous output
|
|
359
|
+
this.logToTestRun(context, 'info', `Executing turn ${turnNumber} of ${turns.length}`);
|
|
360
|
+
// Execute single turn with cancellation token
|
|
361
|
+
const turnResult = await this.executeSingleTurn({
|
|
362
|
+
agent,
|
|
363
|
+
turn,
|
|
364
|
+
turnNumber,
|
|
365
|
+
totalTurns: turns.length,
|
|
366
|
+
conversationId,
|
|
367
|
+
inputPayload,
|
|
368
|
+
priorMessages: input.conversationContext?.priorMessages,
|
|
369
|
+
contextUser,
|
|
370
|
+
test,
|
|
371
|
+
testRun,
|
|
372
|
+
cancellationToken: abortController.signal
|
|
373
|
+
});
|
|
374
|
+
agentRuns.push(turnResult.agentRun);
|
|
375
|
+
turnResults.push(turnResult);
|
|
376
|
+
this.logToTestRun(context, 'info', `Turn ${turnNumber} completed: ${turnResult.agentRun.Status}`);
|
|
377
|
+
// Update context for next turn
|
|
378
|
+
conversationId = turnResult.agentRun.ConversationID;
|
|
379
|
+
previousOutputPayload = this.extractOutputPayload(turnResult.agentRun);
|
|
380
|
+
}
|
|
296
381
|
}
|
|
297
|
-
|
|
382
|
+
finally {
|
|
383
|
+
// Clean up timeout
|
|
384
|
+
if (timeoutId) {
|
|
385
|
+
clearTimeout(timeoutId);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
return { agentRuns, turnResults, timedOut, timeoutMessage };
|
|
298
389
|
}
|
|
299
390
|
/**
|
|
300
391
|
* Execute a single turn in a multi-turn test.
|
|
392
|
+
* Passes cancellation token to agent for proper timeout handling.
|
|
301
393
|
* @private
|
|
302
394
|
*/
|
|
303
395
|
async executeSingleTurn(params) {
|
|
@@ -318,15 +410,13 @@ let AgentEvalDriver = class AgentEvalDriver extends BaseTestDriver_1.BaseTestDri
|
|
|
318
410
|
role: 'user',
|
|
319
411
|
content: params.turn.userMessage
|
|
320
412
|
});
|
|
321
|
-
// Build conversation name
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
: `[Test] ${params.test.Name}`);
|
|
329
|
-
// Build execution parameters
|
|
413
|
+
// Build conversation name with format:
|
|
414
|
+
// - Individual test (no suite): "[Test] TestName" or "[Test][tag1, tag2] TestName"
|
|
415
|
+
// - Suite test: "[1] TestName" or "[1][tag1, tag2] TestName"
|
|
416
|
+
const conversationName = this.buildConversationName(params.test.Name, params.testRun.Sequence, params.testRun.Tags, params.turnNumber, params.totalTurns);
|
|
417
|
+
// Get Entity ID for AI Agent Runs for proper FK linkage
|
|
418
|
+
const aiAgentRunsEntityId = this.getAIAgentRunsEntityId();
|
|
419
|
+
// Build execution parameters with cancellation token and onAgentRunCreated callback
|
|
330
420
|
const runParams = {
|
|
331
421
|
agent: params.agent,
|
|
332
422
|
conversationId: params.conversationId, // Continue same conversation for multi-turn
|
|
@@ -335,22 +425,38 @@ let AgentEvalDriver = class AgentEvalDriver extends BaseTestDriver_1.BaseTestDri
|
|
|
335
425
|
payload: params.inputPayload, // Pass payload from previous turn
|
|
336
426
|
override: params.turn.executionParams?.modelOverride ? {
|
|
337
427
|
modelId: params.turn.executionParams.modelOverride
|
|
338
|
-
} : undefined
|
|
428
|
+
} : undefined,
|
|
429
|
+
cancellationToken: params.cancellationToken, // Pass cancellation token to agent
|
|
430
|
+
// Callback to immediately link TestRun <-> AgentRun when AgentRun is created
|
|
431
|
+
onAgentRunCreated: async (agentRunId) => {
|
|
432
|
+
// For the first turn (or single-turn tests), link TestRun.TargetLogID to this AgentRun
|
|
433
|
+
// Subsequent turns still get TestRunID set on their AgentRun (via testRunId param below)
|
|
434
|
+
// but the TestRun only points to the first/primary AgentRun
|
|
435
|
+
if (params.turnNumber === 1) {
|
|
436
|
+
params.testRun.TargetLogID = agentRunId;
|
|
437
|
+
if (aiAgentRunsEntityId) {
|
|
438
|
+
params.testRun.TargetLogEntityID = aiAgentRunsEntityId;
|
|
439
|
+
}
|
|
440
|
+
const saved = await params.testRun.Save();
|
|
441
|
+
if (saved) {
|
|
442
|
+
this.log(`✓ Linked TestRun ${params.testRun.ID} -> AgentRun ${agentRunId}`, true);
|
|
443
|
+
}
|
|
444
|
+
else {
|
|
445
|
+
this.logError(`Failed to link TestRun to AgentRun: ${params.testRun.LatestResult?.Message}`);
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
// Note: AgentRun.TestRunID is set by BaseAgent via the testRunId param passed to RunAgentInConversation
|
|
449
|
+
}
|
|
339
450
|
};
|
|
340
|
-
|
|
341
|
-
|
|
451
|
+
const startTime = Date.now();
|
|
452
|
+
// Execute agent - cancellation is handled via AbortSignal, not Promise.race
|
|
453
|
+
// Note: BaseAgent already sets AgentRun.TestRunID from the testRunId param and invokes onAgentRunCreated callback
|
|
454
|
+
const runResult = await runner.RunAgentInConversation(runParams, {
|
|
342
455
|
userMessage: params.turn.userMessage,
|
|
343
456
|
createArtifacts: true,
|
|
344
457
|
conversationName: conversationName,
|
|
345
458
|
testRunId: params.testRun.ID
|
|
346
459
|
});
|
|
347
|
-
const startTime = Date.now();
|
|
348
|
-
const runResult = params.maxExecutionTime
|
|
349
|
-
? await Promise.race([
|
|
350
|
-
executePromise,
|
|
351
|
-
this.createTimeoutPromise(params.maxExecutionTime)
|
|
352
|
-
])
|
|
353
|
-
: await executePromise;
|
|
354
460
|
const endTime = Date.now();
|
|
355
461
|
const agentRun = runResult.agentResult.agentRun;
|
|
356
462
|
return {
|
|
@@ -362,13 +468,6 @@ let AgentEvalDriver = class AgentEvalDriver extends BaseTestDriver_1.BaseTestDri
|
|
|
362
468
|
cost: agentRun.TotalCost || 0
|
|
363
469
|
};
|
|
364
470
|
}
|
|
365
|
-
/**
|
|
366
|
-
* Create a timeout promise that rejects after specified milliseconds.
|
|
367
|
-
* @private
|
|
368
|
-
*/
|
|
369
|
-
createTimeoutPromise(timeoutMs) {
|
|
370
|
-
return new Promise((_, reject) => setTimeout(() => reject(new Error(`Agent execution timeout after ${timeoutMs}ms`)), timeoutMs));
|
|
371
|
-
}
|
|
372
471
|
/**
|
|
373
472
|
* Normalize input to multi-turn format for consistent processing.
|
|
374
473
|
* @private
|
|
@@ -398,27 +497,6 @@ let AgentEvalDriver = class AgentEvalDriver extends BaseTestDriver_1.BaseTestDri
|
|
|
398
497
|
const finalPayloadObject = (0, global_1.SafeJSONParse)(agentRun.FinalPayload);
|
|
399
498
|
return finalPayloadObject || {};
|
|
400
499
|
}
|
|
401
|
-
/**
|
|
402
|
-
* Create bidirectional links between TestRun and multiple AgentRuns.
|
|
403
|
-
* @private
|
|
404
|
-
*/
|
|
405
|
-
async linkTestRunToAgentRuns(testRun, agentRuns) {
|
|
406
|
-
// Link each AgentRun to TestRun with TurnNumber
|
|
407
|
-
for (let i = 0; i < agentRuns.length; i++) {
|
|
408
|
-
const agentRun = agentRuns[i];
|
|
409
|
-
const turnNumber = i + 1;
|
|
410
|
-
// Update AgentRun with hard FK to TestRun
|
|
411
|
-
agentRun.TestRunID = testRun.ID;
|
|
412
|
-
// Set turn number if field exists (check dynamically)
|
|
413
|
-
if ('TurnNumber' in agentRun) {
|
|
414
|
-
agentRun.TurnNumber = turnNumber;
|
|
415
|
-
}
|
|
416
|
-
const saved = await agentRun.Save();
|
|
417
|
-
if (!saved) {
|
|
418
|
-
this.logError(`Failed to link AgentRun (Turn ${turnNumber}) to TestRun`, new Error(agentRun.LatestResult?.Message));
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
500
|
/**
|
|
423
501
|
* Extract agent output from agent run.
|
|
424
502
|
* @private
|
|
@@ -582,9 +660,53 @@ let AgentEvalDriver = class AgentEvalDriver extends BaseTestDriver_1.BaseTestDri
|
|
|
582
660
|
const end = new Date(agentRun.CompletedAt).getTime();
|
|
583
661
|
return end - start;
|
|
584
662
|
}
|
|
663
|
+
/**
|
|
664
|
+
* Build conversation name with standardized format.
|
|
665
|
+
*
|
|
666
|
+
* Format:
|
|
667
|
+
* - Individual test (no suite): "[Test] TestName" or "[Test][tag1, tag2] TestName"
|
|
668
|
+
* - Suite test: "[1] TestName" or "[1][tag1, tag2] TestName"
|
|
669
|
+
* - Multi-turn adds " - Turn N" suffix
|
|
670
|
+
*
|
|
671
|
+
* @param testName - Name of the test
|
|
672
|
+
* @param sequence - Sequence number within suite (null for standalone tests)
|
|
673
|
+
* @param tagsJson - JSON string array of tags (null if no tags)
|
|
674
|
+
* @param turnNumber - Current turn number (1-indexed)
|
|
675
|
+
* @param totalTurns - Total number of turns
|
|
676
|
+
* @returns Formatted conversation name
|
|
677
|
+
* @private
|
|
678
|
+
*/
|
|
679
|
+
buildConversationName(testName, sequence, tagsJson, turnNumber, totalTurns) {
|
|
680
|
+
// Build prefix: [Test] for standalone, [sequence] for suite
|
|
681
|
+
const sequencePrefix = sequence != null ? `[${sequence}]` : '[Test]';
|
|
682
|
+
// Build tags suffix if tags exist
|
|
683
|
+
let tagsPrefix = '';
|
|
684
|
+
if (tagsJson) {
|
|
685
|
+
try {
|
|
686
|
+
const tags = JSON.parse(tagsJson);
|
|
687
|
+
if (tags && tags.length > 0) {
|
|
688
|
+
tagsPrefix = `[${tags.join(', ')}]`;
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
catch {
|
|
692
|
+
// Invalid JSON, skip tags
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
// Build base name
|
|
696
|
+
const baseName = `${sequencePrefix}${tagsPrefix} ${testName}`;
|
|
697
|
+
// Add turn suffix for multi-turn tests
|
|
698
|
+
if (totalTurns > 1) {
|
|
699
|
+
return `${baseName} - Turn ${turnNumber}`;
|
|
700
|
+
}
|
|
701
|
+
return baseName;
|
|
702
|
+
}
|
|
585
703
|
};
|
|
586
704
|
exports.AgentEvalDriver = AgentEvalDriver;
|
|
587
|
-
|
|
705
|
+
/**
|
|
706
|
+
* Entity name for AI Agent Runs - used for proper FK linkage in TestRun
|
|
707
|
+
*/
|
|
708
|
+
AgentEvalDriver.AI_AGENT_RUNS_ENTITY_NAME = 'MJ: AI Agent Runs';
|
|
709
|
+
exports.AgentEvalDriver = AgentEvalDriver = AgentEvalDriver_1 = __decorate([
|
|
588
710
|
(0, global_1.RegisterClass)(BaseTestDriver_1.BaseTestDriver, 'AgentEvalDriver')
|
|
589
711
|
], AgentEvalDriver);
|
|
590
712
|
//# sourceMappingURL=AgentEvalDriver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentEvalDriver.js","sourceRoot":"","sources":["../../src/drivers/AgentEvalDriver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgentEvalDriver.js","sourceRoot":"","sources":["../../src/drivers/AgentEvalDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Metadata } from '@memberjunction/core';
|
|
6
6
|
import { TestEntity } from '@memberjunction/core-entities';
|
|
7
|
-
import { DriverExecutionContext, DriverExecutionResult, OracleResult, ScoringWeights, ValidationResult } from '../types';
|
|
7
|
+
import { DriverExecutionContext, DriverExecutionResult, OracleResult, ScoringWeights, ValidationResult, TestLogMessage } from '../types';
|
|
8
|
+
/**
|
|
9
|
+
* Default timeout for test execution in milliseconds (5 minutes)
|
|
10
|
+
*/
|
|
11
|
+
export declare const DEFAULT_TEST_TIMEOUT_MS = 300000;
|
|
8
12
|
/**
|
|
9
13
|
* Abstract base class for test driver implementations.
|
|
10
14
|
*
|
|
@@ -141,5 +145,52 @@ export declare abstract class BaseTestDriver {
|
|
|
141
145
|
* @protected
|
|
142
146
|
*/
|
|
143
147
|
protected logError(message: string, error?: Error): void;
|
|
148
|
+
/**
|
|
149
|
+
* Whether this driver supports cancellation via AbortSignal.
|
|
150
|
+
*
|
|
151
|
+
* Drivers should override this to return true if they properly handle
|
|
152
|
+
* cancellation tokens. When a driver doesn't support cancellation,
|
|
153
|
+
* timeout will still mark the test as failed but the underlying
|
|
154
|
+
* execution may continue in the background.
|
|
155
|
+
*
|
|
156
|
+
* @returns true if driver supports cancellation, false otherwise
|
|
157
|
+
*/
|
|
158
|
+
supportsCancellation(): boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Get the effective timeout for a test.
|
|
161
|
+
*
|
|
162
|
+
* Priority (highest to lowest):
|
|
163
|
+
* 1. Configuration JSON maxExecutionTime field (backward compatibility)
|
|
164
|
+
* 2. Test.MaxExecutionTimeMS column
|
|
165
|
+
* 3. DEFAULT_TEST_TIMEOUT_MS constant (5 minutes)
|
|
166
|
+
*
|
|
167
|
+
* @param test - The test entity
|
|
168
|
+
* @param config - Parsed configuration object (optional)
|
|
169
|
+
* @returns Timeout in milliseconds
|
|
170
|
+
* @protected
|
|
171
|
+
*/
|
|
172
|
+
protected getEffectiveTimeout(test: TestEntity, config?: {
|
|
173
|
+
maxExecutionTime?: number;
|
|
174
|
+
}): number;
|
|
175
|
+
/**
|
|
176
|
+
* Create a log message for the test execution log.
|
|
177
|
+
*
|
|
178
|
+
* @param level - Log level
|
|
179
|
+
* @param message - Log message
|
|
180
|
+
* @param metadata - Optional metadata
|
|
181
|
+
* @returns TestLogMessage object
|
|
182
|
+
* @protected
|
|
183
|
+
*/
|
|
184
|
+
protected createLogMessage(level: 'info' | 'warn' | 'error' | 'debug', message: string, metadata?: Record<string, unknown>): TestLogMessage;
|
|
185
|
+
/**
|
|
186
|
+
* Log a message to both the console (if verbose) and accumulate for test run log.
|
|
187
|
+
*
|
|
188
|
+
* @param context - Driver execution context
|
|
189
|
+
* @param level - Log level
|
|
190
|
+
* @param message - Log message
|
|
191
|
+
* @param metadata - Optional metadata
|
|
192
|
+
* @protected
|
|
193
|
+
*/
|
|
194
|
+
protected logToTestRun(context: DriverExecutionContext, level: 'info' | 'warn' | 'error' | 'debug', message: string, metadata?: Record<string, unknown>): void;
|
|
144
195
|
}
|
|
145
196
|
//# sourceMappingURL=BaseTestDriver.d.ts.map
|