@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.
Files changed (43) hide show
  1. package/dist/agent.d.ts +4 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +94 -6
  4. package/dist/agent.js.map +1 -1
  5. package/dist/browser.d.ts +8 -0
  6. package/dist/browser.d.ts.map +1 -0
  7. package/dist/browser.js +3 -0
  8. package/dist/browser.js.map +1 -0
  9. package/dist/check-counts.d.ts +7 -0
  10. package/dist/check-counts.d.ts.map +1 -0
  11. package/dist/check-counts.js +16 -0
  12. package/dist/check-counts.js.map +1 -0
  13. package/dist/eval.d.ts +23 -2
  14. package/dist/eval.d.ts.map +1 -1
  15. package/dist/eval.js +182 -21
  16. package/dist/eval.js.map +1 -1
  17. package/dist/evaluation-config-store.d.ts +20 -0
  18. package/dist/evaluation-config-store.d.ts.map +1 -0
  19. package/dist/evaluation-config-store.js +42 -0
  20. package/dist/evaluation-config-store.js.map +1 -0
  21. package/dist/index.d.ts +15 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +3 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/langsmith-tracing.d.ts +38 -0
  26. package/dist/langsmith-tracing.d.ts.map +1 -0
  27. package/dist/langsmith-tracing.js +199 -0
  28. package/dist/langsmith-tracing.js.map +1 -0
  29. package/dist/results.d.ts +1 -0
  30. package/dist/results.d.ts.map +1 -1
  31. package/dist/results.js +8 -0
  32. package/dist/results.js.map +1 -1
  33. package/dist/runner.d.ts +2 -0
  34. package/dist/runner.d.ts.map +1 -1
  35. package/dist/runner.js +36 -0
  36. package/dist/runner.js.map +1 -1
  37. package/dist/test-case-store.d.ts +24 -0
  38. package/dist/test-case-store.d.ts.map +1 -0
  39. package/dist/test-case-store.js +61 -0
  40. package/dist/test-case-store.js.map +1 -0
  41. package/dist/types.d.ts +34 -4
  42. package/dist/types.d.ts.map +1 -1
  43. 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 hasSequence = Boolean(evalRules.tool_sequence?.allow?.length);
16
- if (hasSequence) {
15
+ const sequence = evalRules.tool_sequence ?? [];
16
+ if (sequence.length > 0) {
17
17
  results.push({
18
18
  type: 'tool_sequence',
19
- label: 'Allowed tool sequence',
19
+ label: formatToolSequenceLabel(sequence),
20
20
  status: 'not_evaluated',
21
- metadata: { actual: [], allowed: evalRules.tool_sequence?.allow ?? [] }
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?.allow?.length) {
45
- const results = evaluateToolSequence(toolSequence, evalRules.tool_sequence.allow);
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, allowed) {
155
- const actualKey = JSON.stringify(actual);
156
- const allowedKeys = new Set(allowed.map((seq) => JSON.stringify(seq)));
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: [reason],
182
+ failures: [],
161
183
  check_results: [
162
184
  {
163
185
  type: 'tool_sequence',
164
- label: 'Allowed tool sequence',
165
- status: 'failed',
166
- reason,
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: 'Allowed tool sequence',
220
+ label,
178
221
  status: 'passed',
179
- metadata: { actual, allowed }
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
@@ -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"}