@inspectr/mcplab-core 1.19.0 → 1.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +4 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +94 -6
- package/dist/agent.js.map +1 -1
- package/dist/browser.d.ts +8 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +3 -0
- package/dist/browser.js.map +1 -0
- package/dist/check-counts.d.ts +7 -0
- package/dist/check-counts.d.ts.map +1 -0
- package/dist/check-counts.js +16 -0
- package/dist/check-counts.js.map +1 -0
- package/dist/eval.d.ts +23 -2
- package/dist/eval.d.ts.map +1 -1
- package/dist/eval.js +182 -21
- package/dist/eval.js.map +1 -1
- package/dist/evaluation-config-store.d.ts +20 -0
- package/dist/evaluation-config-store.d.ts.map +1 -0
- package/dist/evaluation-config-store.js +42 -0
- package/dist/evaluation-config-store.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/langsmith-tracing.d.ts +38 -0
- package/dist/langsmith-tracing.d.ts.map +1 -0
- package/dist/langsmith-tracing.js +199 -0
- package/dist/langsmith-tracing.js.map +1 -0
- package/dist/results.d.ts +1 -0
- package/dist/results.d.ts.map +1 -1
- package/dist/results.js +8 -0
- package/dist/results.js.map +1 -1
- package/dist/runner.d.ts +2 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +36 -0
- package/dist/runner.js.map +1 -1
- package/dist/test-case-store.d.ts +24 -0
- package/dist/test-case-store.d.ts.map +1 -0
- package/dist/test-case-store.js +61 -0
- package/dist/test-case-store.js.map +1 -0
- package/dist/types.d.ts +34 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +20 -2
package/dist/eval.js
CHANGED
|
@@ -12,18 +12,29 @@ export function buildNotEvaluatedCheckResults(evalRules) {
|
|
|
12
12
|
reason: undefined
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
|
-
const
|
|
16
|
-
if (
|
|
15
|
+
const sequence = evalRules.tool_sequence ?? [];
|
|
16
|
+
if (sequence.length > 0) {
|
|
17
17
|
results.push({
|
|
18
18
|
type: 'tool_sequence',
|
|
19
|
-
label:
|
|
19
|
+
label: formatToolSequenceLabel(sequence),
|
|
20
20
|
status: 'not_evaluated',
|
|
21
|
-
metadata: { actual: [],
|
|
21
|
+
metadata: { actual: [], expected: sequence }
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
24
|
for (const rule of (evalRules.response_assertions ?? []).map(toCheckResultTemplateForResponseAssertion)) {
|
|
25
25
|
results.push({ ...rule, status: 'not_evaluated', reason: undefined });
|
|
26
26
|
}
|
|
27
|
+
for (const rule of evalRules.tool_input_assertions ?? []) {
|
|
28
|
+
results.push({
|
|
29
|
+
type: toolInputAssertionType(rule),
|
|
30
|
+
label: formatToolInputAssertionLabel(rule),
|
|
31
|
+
status: 'not_evaluated',
|
|
32
|
+
metadata: {
|
|
33
|
+
tool: rule.tool,
|
|
34
|
+
...(rule.type === 'jsonpath' ? { path: rule.path } : {})
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
27
38
|
for (const assertion of evalRules.agent_assertions ?? []) {
|
|
28
39
|
results.push({
|
|
29
40
|
type: 'agent_check',
|
|
@@ -33,7 +44,7 @@ export function buildNotEvaluatedCheckResults(evalRules) {
|
|
|
33
44
|
}
|
|
34
45
|
return results;
|
|
35
46
|
}
|
|
36
|
-
export function evaluateScenario(finalText, toolSequence, evalRules) {
|
|
47
|
+
export function evaluateScenario(finalText, toolSequence, evalRules, toolCalls = []) {
|
|
37
48
|
const failures = [];
|
|
38
49
|
const check_results = [];
|
|
39
50
|
if (evalRules?.tool_constraints) {
|
|
@@ -41,8 +52,13 @@ export function evaluateScenario(finalText, toolSequence, evalRules) {
|
|
|
41
52
|
failures.push(...results.failures);
|
|
42
53
|
check_results.push(...results.check_results);
|
|
43
54
|
}
|
|
44
|
-
if (evalRules?.tool_sequence?.
|
|
45
|
-
const results = evaluateToolSequence(toolSequence, evalRules.tool_sequence
|
|
55
|
+
if (evalRules?.tool_sequence?.length) {
|
|
56
|
+
const results = evaluateToolSequence(toolSequence, evalRules.tool_sequence);
|
|
57
|
+
failures.push(...results.failures);
|
|
58
|
+
check_results.push(...results.check_results);
|
|
59
|
+
}
|
|
60
|
+
if (evalRules?.tool_input_assertions?.length) {
|
|
61
|
+
const results = evaluateToolInputAssertions(toolCalls, evalRules.tool_input_assertions);
|
|
46
62
|
failures.push(...results.failures);
|
|
47
63
|
check_results.push(...results.check_results);
|
|
48
64
|
}
|
|
@@ -54,7 +70,7 @@ export function evaluateScenario(finalText, toolSequence, evalRules) {
|
|
|
54
70
|
return { pass: failures.length === 0, failures, check_results };
|
|
55
71
|
}
|
|
56
72
|
export async function evaluateScenarioWithAgentChecks(finalText, toolSequence, evalRules, options) {
|
|
57
|
-
const base = evaluateScenario(finalText, toolSequence, evalRules);
|
|
73
|
+
const base = evaluateScenario(finalText, toolSequence, evalRules, options?.toolCalls ?? []);
|
|
58
74
|
const failures = [...base.failures];
|
|
59
75
|
const check_results = [...base.check_results];
|
|
60
76
|
const agentAssertions = evalRules?.agent_assertions ?? [];
|
|
@@ -81,7 +97,15 @@ export async function evaluateScenarioWithAgentChecks(finalText, toolSequence, e
|
|
|
81
97
|
...(cfg.include_prompt && options.scenarioPrompt != null && options.scenarioPrompt !== ''
|
|
82
98
|
? { scenario_prompt: options.scenarioPrompt }
|
|
83
99
|
: {}),
|
|
84
|
-
...(cfg.include_tool_sequence ? { tool_sequence: toolSequence } : {})
|
|
100
|
+
...(cfg.include_tool_sequence ? { tool_sequence: toolSequence } : {}),
|
|
101
|
+
...(cfg.include_tool_inputs
|
|
102
|
+
? {
|
|
103
|
+
tool_inputs: (options.toolCalls ?? []).map(({ name, arguments: args }) => ({
|
|
104
|
+
tool: name,
|
|
105
|
+
arguments: args
|
|
106
|
+
}))
|
|
107
|
+
}
|
|
108
|
+
: {})
|
|
85
109
|
}
|
|
86
110
|
: {};
|
|
87
111
|
const context = Object.keys(builtContext).length > 0 ? builtContext : undefined;
|
|
@@ -151,36 +175,170 @@ function evaluateToolConstraints(toolSequence, constraints) {
|
|
|
151
175
|
});
|
|
152
176
|
return { failures, check_results };
|
|
153
177
|
}
|
|
154
|
-
function evaluateToolSequence(actual,
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
if (!allowedKeys.has(actualKey)) {
|
|
158
|
-
const reason = 'Tool sequence did not match any allowed sequence';
|
|
178
|
+
function evaluateToolSequence(actual, expected) {
|
|
179
|
+
const label = formatToolSequenceLabel(expected);
|
|
180
|
+
if (expected.length === 0) {
|
|
159
181
|
return {
|
|
160
|
-
failures: [
|
|
182
|
+
failures: [],
|
|
161
183
|
check_results: [
|
|
162
184
|
{
|
|
163
185
|
type: 'tool_sequence',
|
|
164
|
-
label
|
|
165
|
-
status: '
|
|
166
|
-
|
|
167
|
-
metadata: { actual, allowed }
|
|
186
|
+
label,
|
|
187
|
+
status: 'passed',
|
|
188
|
+
metadata: { actual, expected }
|
|
168
189
|
}
|
|
169
190
|
]
|
|
170
191
|
};
|
|
171
192
|
}
|
|
193
|
+
let cursor = 0;
|
|
194
|
+
for (const tool of expected) {
|
|
195
|
+
const index = actual.indexOf(tool, cursor);
|
|
196
|
+
if (index < 0) {
|
|
197
|
+
const reason = actual.includes(tool)
|
|
198
|
+
? `Tool sequence order was not satisfied: ${expected.join(' -> ')}`
|
|
199
|
+
: `Required tool in sequence not used: ${tool}`;
|
|
200
|
+
return {
|
|
201
|
+
failures: [reason],
|
|
202
|
+
check_results: [
|
|
203
|
+
{
|
|
204
|
+
type: 'tool_sequence',
|
|
205
|
+
label,
|
|
206
|
+
status: 'failed',
|
|
207
|
+
reason,
|
|
208
|
+
metadata: { actual, expected }
|
|
209
|
+
}
|
|
210
|
+
]
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
cursor = index + 1;
|
|
214
|
+
}
|
|
172
215
|
return {
|
|
173
216
|
failures: [],
|
|
174
217
|
check_results: [
|
|
175
218
|
{
|
|
176
219
|
type: 'tool_sequence',
|
|
177
|
-
label
|
|
220
|
+
label,
|
|
178
221
|
status: 'passed',
|
|
179
|
-
metadata: { actual,
|
|
222
|
+
metadata: { actual, expected }
|
|
180
223
|
}
|
|
181
224
|
]
|
|
182
225
|
};
|
|
183
226
|
}
|
|
227
|
+
function toolInputAssertionType(assertion) {
|
|
228
|
+
return `tool_input_${assertion.type}`;
|
|
229
|
+
}
|
|
230
|
+
export function formatToolInputAssertionLabel(assertion) {
|
|
231
|
+
const operator = assertion.type === 'contains'
|
|
232
|
+
? `contains ${assertion.value}`
|
|
233
|
+
: assertion.type === 'regex'
|
|
234
|
+
? `matches regex ${assertion.pattern}`
|
|
235
|
+
: assertion.equals !== undefined
|
|
236
|
+
? `JSONPath ${assertion.path} == ${String(assertion.equals)}`
|
|
237
|
+
: `JSONPath ${assertion.path} exists`;
|
|
238
|
+
return `Tool input · ${assertion.tool} ${operator}`;
|
|
239
|
+
}
|
|
240
|
+
function usesSerializedToolInput(assertion) {
|
|
241
|
+
return assertion.type === 'contains' || assertion.type === 'regex';
|
|
242
|
+
}
|
|
243
|
+
export function formatToolInputAssertionFailureReason(assertion, kind) {
|
|
244
|
+
if (kind === 'tool_not_used') {
|
|
245
|
+
return `Tool input assertion failed: tool not used: ${assertion.tool}`;
|
|
246
|
+
}
|
|
247
|
+
if (kind === 'invalid_regex' && assertion.type === 'regex') {
|
|
248
|
+
return `Tool input assertion failed: invalid regex ${assertion.pattern}`;
|
|
249
|
+
}
|
|
250
|
+
const expectation = assertion.type === 'contains'
|
|
251
|
+
? `contains ${assertion.value}`
|
|
252
|
+
: assertion.type === 'regex'
|
|
253
|
+
? `regex ${assertion.pattern}`
|
|
254
|
+
: assertion.equals !== undefined
|
|
255
|
+
? `JSONPath ${assertion.path} == ${String(assertion.equals)}`
|
|
256
|
+
: `JSONPath ${assertion.path} exists`;
|
|
257
|
+
if (kind === 'invalid_jsonpath' && assertion.type === 'jsonpath') {
|
|
258
|
+
return `Tool input assertion failed: invalid JSONPath ${assertion.path} (expected: ${expectation})`;
|
|
259
|
+
}
|
|
260
|
+
if (kind === 'serialization' && usesSerializedToolInput(assertion)) {
|
|
261
|
+
return `Tool input assertion failed: could not serialize tool input for ${assertion.tool} (expected: ${expectation})`;
|
|
262
|
+
}
|
|
263
|
+
return `Tool input assertion failed: ${assertion.tool} input did not match (expected: ${expectation})`;
|
|
264
|
+
}
|
|
265
|
+
function evaluateToolInputAssertions(toolCalls, assertions) {
|
|
266
|
+
const failures = [];
|
|
267
|
+
const check_results = assertions.map((assertion) => {
|
|
268
|
+
const matchingCalls = toolCalls.filter((call) => call.name === assertion.tool);
|
|
269
|
+
let reason;
|
|
270
|
+
let matchedCallCount = 0;
|
|
271
|
+
let inputErrorCount = 0;
|
|
272
|
+
if (assertion.type === 'regex') {
|
|
273
|
+
try {
|
|
274
|
+
new RegExp(assertion.pattern);
|
|
275
|
+
}
|
|
276
|
+
catch {
|
|
277
|
+
reason = formatToolInputAssertionFailureReason(assertion, 'invalid_regex');
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
if (!reason) {
|
|
281
|
+
for (const call of matchingCalls) {
|
|
282
|
+
try {
|
|
283
|
+
const values = usesSerializedToolInput(assertion)
|
|
284
|
+
? [JSON.stringify(call.arguments)]
|
|
285
|
+
: JSONPath({ path: assertion.path, json: call.arguments });
|
|
286
|
+
if (matchesToolInputAssertion(assertion, values))
|
|
287
|
+
matchedCallCount += 1;
|
|
288
|
+
}
|
|
289
|
+
catch {
|
|
290
|
+
inputErrorCount += 1;
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
if (matchedCallCount === 0 && !reason) {
|
|
296
|
+
reason =
|
|
297
|
+
matchingCalls.length === 0
|
|
298
|
+
? formatToolInputAssertionFailureReason(assertion, 'tool_not_used')
|
|
299
|
+
: inputErrorCount === matchingCalls.length && assertion.type === 'jsonpath'
|
|
300
|
+
? formatToolInputAssertionFailureReason(assertion, 'invalid_jsonpath')
|
|
301
|
+
: inputErrorCount === matchingCalls.length && usesSerializedToolInput(assertion)
|
|
302
|
+
? formatToolInputAssertionFailureReason(assertion, 'serialization')
|
|
303
|
+
: formatToolInputAssertionFailureReason(assertion, 'input_mismatch');
|
|
304
|
+
}
|
|
305
|
+
if (reason)
|
|
306
|
+
failures.push(reason);
|
|
307
|
+
return {
|
|
308
|
+
type: toolInputAssertionType(assertion),
|
|
309
|
+
label: formatToolInputAssertionLabel(assertion),
|
|
310
|
+
status: reason ? 'failed' : 'passed',
|
|
311
|
+
reason,
|
|
312
|
+
metadata: {
|
|
313
|
+
tool: assertion.tool,
|
|
314
|
+
...(assertion.type === 'contains' ? { value: assertion.value } : {}),
|
|
315
|
+
...(assertion.type === 'regex' ? { pattern: assertion.pattern } : {}),
|
|
316
|
+
...(assertion.type === 'jsonpath'
|
|
317
|
+
? {
|
|
318
|
+
path: assertion.path,
|
|
319
|
+
...(assertion.equals !== undefined ? { equals: assertion.equals } : {})
|
|
320
|
+
}
|
|
321
|
+
: {}),
|
|
322
|
+
matched_call_count: matchedCallCount,
|
|
323
|
+
observed_call_count: matchingCalls.length
|
|
324
|
+
}
|
|
325
|
+
};
|
|
326
|
+
});
|
|
327
|
+
return { failures, check_results };
|
|
328
|
+
}
|
|
329
|
+
function matchesToolInputAssertion(assertion, values) {
|
|
330
|
+
if (assertion.type === 'contains') {
|
|
331
|
+
return values.some((value) => String(value ?? '')
|
|
332
|
+
.toLowerCase()
|
|
333
|
+
.includes(assertion.value.toLowerCase()));
|
|
334
|
+
}
|
|
335
|
+
if (assertion.type === 'regex') {
|
|
336
|
+
return new RegExp(assertion.pattern).test(String(values[0] ?? ''));
|
|
337
|
+
}
|
|
338
|
+
return assertion.equals === undefined
|
|
339
|
+
? values.length > 0
|
|
340
|
+
: values.some((value) => value === assertion.equals);
|
|
341
|
+
}
|
|
184
342
|
function evaluateResponseAssertions(text, assertions) {
|
|
185
343
|
const failures = [];
|
|
186
344
|
const check_results = [];
|
|
@@ -404,4 +562,7 @@ function toCheckResultTemplateForResponseAssertion(assertion) {
|
|
|
404
562
|
status: 'passed'
|
|
405
563
|
};
|
|
406
564
|
}
|
|
565
|
+
export function formatToolSequenceLabel(sequence) {
|
|
566
|
+
return sequence.length > 0 ? `Tool sequence · ${sequence.join(' -> ')}` : 'Tool sequence';
|
|
567
|
+
}
|
|
407
568
|
//# sourceMappingURL=eval.js.map
|
package/dist/eval.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SourceEvalConfig } from './types.js';
|
|
2
|
+
export type CreatedEvaluationConfigFile = {
|
|
3
|
+
fileName: string;
|
|
4
|
+
path: string;
|
|
5
|
+
relativePath: string;
|
|
6
|
+
config: SourceEvalConfig;
|
|
7
|
+
warnings: string[];
|
|
8
|
+
};
|
|
9
|
+
/** The canonical filename policy used by the app API and MCP creation tool. */
|
|
10
|
+
export declare function safeEvaluationConfigFileName(name: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a normalized MCPLab evaluation config in the configured evals root.
|
|
13
|
+
* Both the app API and MCP server call this function to keep persistence rules identical.
|
|
14
|
+
*/
|
|
15
|
+
export declare function createEvaluationConfigFile(params: {
|
|
16
|
+
evalsDir: string;
|
|
17
|
+
fileName: string;
|
|
18
|
+
config: SourceEvalConfig;
|
|
19
|
+
}): CreatedEvaluationConfigFile;
|
|
20
|
+
//# sourceMappingURL=evaluation-config-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluation-config-store.d.ts","sourceRoot":"","sources":["../src/evaluation-config-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASjE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;CAC1B,GAAG,2BAA2B,CAuB9B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { join, relative, resolve, sep } from 'node:path';
|
|
3
|
+
import { stringify as stringifyYaml } from 'yaml';
|
|
4
|
+
import { normalizeSourceConfig } from './config.js';
|
|
5
|
+
/** The canonical filename policy used by the app API and MCP creation tool. */
|
|
6
|
+
export function safeEvaluationConfigFileName(name) {
|
|
7
|
+
return (name
|
|
8
|
+
.trim()
|
|
9
|
+
.toLowerCase()
|
|
10
|
+
.replace(/[^a-z0-9-_]/g, '-')
|
|
11
|
+
.replace(/-+/g, '-')
|
|
12
|
+
.replace(/^-|-$/g, '') || `config-${Date.now()}`);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Creates a normalized MCPLab evaluation config in the configured evals root.
|
|
16
|
+
* Both the app API and MCP server call this function to keep persistence rules identical.
|
|
17
|
+
*/
|
|
18
|
+
export function createEvaluationConfigFile(params) {
|
|
19
|
+
const evalsDir = resolve(params.evalsDir);
|
|
20
|
+
const fileName = safeEvaluationConfigFileName(params.fileName);
|
|
21
|
+
const { config, warnings } = normalizeSourceConfig(params.config);
|
|
22
|
+
mkdirSync(evalsDir, { recursive: true });
|
|
23
|
+
let target = join(evalsDir, `${fileName}.yaml`);
|
|
24
|
+
let suffix = 1;
|
|
25
|
+
while (existsSync(target)) {
|
|
26
|
+
target = join(evalsDir, `${fileName}-${suffix}.yaml`);
|
|
27
|
+
suffix += 1;
|
|
28
|
+
}
|
|
29
|
+
const resolvedTarget = resolve(target);
|
|
30
|
+
if (!resolvedTarget.startsWith(`${evalsDir}${sep}`)) {
|
|
31
|
+
throw new Error('Evaluation config path is outside the configured evals directory.');
|
|
32
|
+
}
|
|
33
|
+
writeFileSync(resolvedTarget, `${stringifyYaml(config)}\n`, 'utf8');
|
|
34
|
+
return {
|
|
35
|
+
fileName: resolvedTarget.slice(evalsDir.length + 1).replace(/\.yaml$/i, ''),
|
|
36
|
+
path: resolvedTarget,
|
|
37
|
+
relativePath: relative(evalsDir, resolvedTarget).split(sep).join('/'),
|
|
38
|
+
config,
|
|
39
|
+
warnings
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=evaluation-config-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluation-config-store.js","sourceRoot":"","sources":["../src/evaluation-config-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAWpD,+EAA+E;AAC/E,MAAM,UAAU,4BAA4B,CAAC,IAAY;IACvD,OAAO,CACL,IAAI;SACD,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;SAC5B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE,CACnD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAI1C;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,4BAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IAChD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,IAAI,MAAM,OAAO,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,aAAa,CAAC,cAAc,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpE,OAAO;QACL,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QAC3E,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACrE,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './types.js';
|
|
2
|
+
export { tallyCheckCounts } from './check-counts.js';
|
|
2
3
|
export {
|
|
3
4
|
loadConfig,
|
|
4
5
|
hashConfig,
|
|
@@ -11,6 +12,12 @@ export {
|
|
|
11
12
|
} from './config.js';
|
|
12
13
|
export { runAll, type RunProgressEvent } from './runner.js';
|
|
13
14
|
export { renderSummaryMarkdown } from './results.js';
|
|
15
|
+
export {
|
|
16
|
+
formatToolInputAssertionFailureReason,
|
|
17
|
+
formatToolInputAssertionLabel,
|
|
18
|
+
formatToolSequenceLabel,
|
|
19
|
+
type ToolInputAssertionFailureKind
|
|
20
|
+
} from './eval.js';
|
|
14
21
|
export { McpClientManager } from './mcp.js';
|
|
15
22
|
export { chatWithAgent } from './agent.js';
|
|
16
23
|
export { formatAssistantToolName } from './assistant-tools.js';
|
|
@@ -18,5 +25,13 @@ export { createAbortError, isAbortError, throwIfAborted } from './abort.js';
|
|
|
18
25
|
export * from './attachments.js';
|
|
19
26
|
export * from './results-query.js';
|
|
20
27
|
export { applyRuntimeServerOverrides, type RuntimeServerOverrides } from './runtime-overrides.js';
|
|
28
|
+
export {
|
|
29
|
+
createLangSmithTraceExporter,
|
|
30
|
+
type LangSmithRun,
|
|
31
|
+
type LangSmithRunFactory,
|
|
32
|
+
type ScenarioTraceSpan,
|
|
33
|
+
type TraceExporter,
|
|
34
|
+
type TraceSpan
|
|
35
|
+
} from './langsmith-tracing.js';
|
|
21
36
|
export * from './queue-contract.js';
|
|
22
37
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5E,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,2BAA2B,EAAE,KAAK,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAClG,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,uBAAuB,EACvB,KAAK,6BAA6B,EACnC,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5E,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,2BAA2B,EAAE,KAAK,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EACL,4BAA4B,EAC5B,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export * from './types.js';
|
|
2
|
+
export { tallyCheckCounts } from './check-counts.js';
|
|
2
3
|
export { loadConfig, hashConfig, selectScenarios, expandConfigForAgents, normalizeSourceConfig, readLibraryAgentsAndServers, normalizeLibraryServers, normalizeLibraryAgents } from './config.js';
|
|
3
4
|
export { runAll } from './runner.js';
|
|
4
5
|
export { renderSummaryMarkdown } from './results.js';
|
|
6
|
+
export { formatToolInputAssertionFailureReason, formatToolInputAssertionLabel, formatToolSequenceLabel } from './eval.js';
|
|
5
7
|
export { McpClientManager } from './mcp.js';
|
|
6
8
|
export { chatWithAgent } from './agent.js';
|
|
7
9
|
export { formatAssistantToolName } from './assistant-tools.js';
|
|
@@ -9,5 +11,6 @@ export { createAbortError, isAbortError, throwIfAborted } from './abort.js';
|
|
|
9
11
|
export * from './attachments.js';
|
|
10
12
|
export * from './results-query.js';
|
|
11
13
|
export { applyRuntimeServerOverrides } from './runtime-overrides.js';
|
|
14
|
+
export { createLangSmithTraceExporter } from './langsmith-tracing.js';
|
|
12
15
|
export * from './queue-contract.js';
|
|
13
16
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAyB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5E,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,2BAA2B,EAA+B,MAAM,wBAAwB,CAAC;AAClG,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAyB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,uBAAuB,EAExB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5E,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,2BAA2B,EAA+B,MAAM,wBAAwB,CAAC;AAClG,OAAO,EACL,4BAA4B,EAM7B,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type RunTreeConfig } from 'langsmith';
|
|
2
|
+
import type { TraceMessage } from './types.js';
|
|
3
|
+
type Environment = Record<string, string | undefined>;
|
|
4
|
+
type Values = Record<string, unknown>;
|
|
5
|
+
export interface LangSmithRun {
|
|
6
|
+
id?: string;
|
|
7
|
+
trace_id?: string;
|
|
8
|
+
project_name?: string;
|
|
9
|
+
client?: {
|
|
10
|
+
getProjectUrl(options: { projectName?: string; projectId?: string }): Promise<string>;
|
|
11
|
+
};
|
|
12
|
+
end(outputs?: Values, error?: string): Promise<void>;
|
|
13
|
+
postRun(excludeChildRuns?: boolean): Promise<void>;
|
|
14
|
+
createChild(config: RunTreeConfig): LangSmithRun;
|
|
15
|
+
}
|
|
16
|
+
export type LangSmithRunFactory = (config: RunTreeConfig) => LangSmithRun;
|
|
17
|
+
export interface TraceSpan {
|
|
18
|
+
end(values: { outputs?: Values; error?: string }): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
export interface ScenarioTraceSpan extends TraceSpan {
|
|
21
|
+
startLlm(values: { turn: number; inputs: Values; metadata?: Values }): TraceSpan;
|
|
22
|
+
startTool(values: { server: string; tool: string; inputs: Values }): TraceSpan;
|
|
23
|
+
}
|
|
24
|
+
export interface TraceExporter {
|
|
25
|
+
startScenario(values: Values): ScenarioTraceSpan;
|
|
26
|
+
flush(): Promise<{
|
|
27
|
+
traceUrls: Record<string, string>;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
30
|
+
type LangSmithMessage = Record<string, unknown>;
|
|
31
|
+
/** Convert MCPLab's local trace schema to LangSmith's message schema. */
|
|
32
|
+
export declare function toLangSmithMessages(traceMessages: TraceMessage[]): LangSmithMessage[];
|
|
33
|
+
export declare function createLangSmithTraceExporter(
|
|
34
|
+
env?: Environment,
|
|
35
|
+
factory?: LangSmithRunFactory
|
|
36
|
+
): TraceExporter;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=langsmith-tracing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langsmith-tracing.d.ts","sourceRoot":"","sources":["../src/langsmith-tracing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,YAAY,CAAC;AAEzE,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AACtD,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtC,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE;QACP,aAAa,CAAC,OAAO,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;KACvF,CAAC;IACF,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAAC;CAClD;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,YAAY,CAAC;AAE1E,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,QAAQ,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACjF,SAAS,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAChF;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACjD,KAAK,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;CACzD;AAED,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAwChD,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAyBrF;AAyID,wBAAgB,4BAA4B,CAC1C,GAAG,GAAE,WAAyB,EAC9B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,aAAa,CAKf"}
|