@gleanwork/mcp-server-tester 1.1.0 → 1.1.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/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { L as LLMProvider, M as MCPFixtureApi, a as MCPHostConfig, b as MCPHostSimulationResult, O as OAuthSetupConfig, V as ValidationResult, S as SchemaValidatorOptions, T as TextValidatorOptions, P as PatternValidatorOptions, c as SizeValidatorOptions, d as SnapshotSanitizer, R as RubricSpec, J as JudgeMatcherOptions, e as ToolPredicate, f as ToolCallExpectation, g as ToolCallCountOptions, A as AuthType, h as JudgeConfig, i as Judge } from './index-BcUWzQCx.cjs';
2
- export { B as BUILT_IN_RUBRICS, j as BuiltInRubric, k as BuiltInSanitizer, C as CLIConfig, l as CLIOAuthClient, m as CLIOAuthClientConfig, n as CLIOAuthResult, o as CLIOutputFormat, p as CaseComparisonResult, q as ClientCredentialsConfig, r as CompareEvalRunsOptions, s as ComparisonOutcome, t as ContentBlock, u as CreateMCPClientOptions, v as CustomJudgeExecutor, w as CustomJudgeResult, D as DiscoveryError, E as ENV_VAR_NAMES, x as EvalCase, y as EvalCaseComparison, z as EvalCaseComparisonOutcome, F as EvalCaseRequest, G as EvalCaseResult, H as EvalCaseSchema, I as EvalContext, K as EvalDataset, N as EvalDatasetSchema, Q as EvalExpectBlock, U as EvalExpectationResult, W as EvalMode, X as EvalResultStore, Y as EvalResultStoreConfig, Z as EvalResultStoreLike, _ as EvalRunComparisonLabels, $ as EvalRunComparisonResult, a0 as EvalRunMetadata, a1 as EvalRunnerOptions, a2 as EvalRunnerResult, a3 as ExpectationBreakdown, a4 as ExpectationResultMap, a5 as ExpectationType, a6 as ExperimentMetric, a7 as FieldRemovalSanitizer, a8 as FileEvalResultStore, a9 as FileEvalResultStoreConfig, aa as GCSEvalResultStore, ab as GCSEvalResultStoreConfig, ac as HostType, ad as HttpMCPConfig, ae as IterationResult, af as JudgeExpectConfig, ag as JudgeResult, ah as JudgeValidatorConfig, ai as LLMToolCall, aj as ListStoredArtifactsOptions, ak as LoadDatasetOptions, al as MCPAuthConfig, am as MCPAuthFixtures, an as MCPClientCredentialsConfig, ao as MCPConfig, ap as MCPConfigSchema, aq as MCPConformanceCheck, ar as MCPConformanceOptions, as as MCPConformanceRaw, at as MCPConformanceResult, au as MCPConformanceResultData, av as MCPEvalData, aw as MCPEvalHistoricalSummary, ax as MCPEvalReporterConfig, ay as MCPEvalRunData, az as MCPFixtureOptions, aA as MCPHostCapabilities, aB as MCPHostSimulator, aC as MCPOAuthConfig, aD as MCPServerCapabilitiesData, aE as MCP_PROTOCOL_VERSION, aF as NormalizedToolResponse, aG as PlaywrightOAuthClientProvider, aH as PlaywrightOAuthClientProviderConfig, aI as PredicateResult, aJ as ProposeVariantsContext, aK as ProtectedResourceDiscoveryResult, aL as ProtectedResourceMetadata, aM as ProviderKind, aN as RegexSanitizer, aO as ResultSource, aP as SaveBaselineOptions, aQ as SaveEvalRunComparisonOptions, aR as SaveServerComparisonOptions, aS as SchemaRegistry, aT as SerializedEvalDataset, aU as ServerComparisonOptions, aV as ServerComparisonResult, aW as SnapshotSanitizers, aX as StdioMCPConfig, aY as StoredArtifactKind, aZ as StoredArtifactSummary, a_ as StoredClientInfo, a$ as StoredEvalArtifact, b0 as StoredEvalArtifactMetadata, b1 as StoredEvalResultLoadOptions, b2 as StoredEvalResultRef, b3 as StoredEvalResultSaveOptions, b4 as StoredEvalRunRef, b5 as StoredOAuthState, b6 as StoredServerMetadata, b7 as StoredTokens, b8 as TokenResult, b9 as ToolMetadataOverride, ba as ToolOverrideVariant, bb as UsageMetrics, bc as VariantCandidateResult, bd as VariantExperimentOptions, be as VariantExperimentReason, bf as VariantExperimentResult, bg as VariantExperimentRound, bh as VariantImprovementProposal, bi as VariantRecommendation, bj as clearJudgeRegistry, bk as closeMCPClient, bl as compareEvalRuns, bm as createDefaultArtifactId, bn as createEvalResultStore, bo as createMCPClientForConfig, bp as createMCPFixture, bq as createStoredEvalArtifact, br as defaultEnvironmentMetadata, bs as discoverAuthorizationServer, bt as discoverProtectedResource, bu as extractText, bv as getRegisteredJudge, bw as hasValidTokens, bx as injectTokens, by as isBuiltInRubric, bz as isEvalResultStore, bA as isHttpConfig, bB as isStdioConfig, bC as loadBaseline, bD as loadEvalDataset, bE as loadEvalDatasetFromObject, bF as loadStoredEvalRunnerResult, bG as loadTokens, bH as loadTokensFromEnv, bI as mcpAuthTest, bJ as normalizeToolResponse, bK as performClientCredentialsFlow, bL as refreshAccessToken, bM as registerJudge, bN as resolveEvalResultStore, bO as resolveRubric, bP as runConformanceChecks, bQ as runEvalCase, bR as runEvalDataset, bS as runServerComparison, bT as runVariantExperiment, bU as saveBaseline, bV as saveEvalRunComparison, bW as saveServerComparison, bX as validateEvalCase, bY as validateEvalDataset, bZ as validateJudge, b_ as validateMCPConfig, b$ as validateToolCallCount, c0 as validateToolCalls } from './index-BcUWzQCx.cjs';
1
+ import { L as LLMProvider, M as MCPFixtureApi, a as MCPHostConfig, b as MCPHostSimulationResult, O as OAuthSetupConfig, V as ValidationResult, S as SchemaValidatorOptions, T as TextValidatorOptions, P as PatternValidatorOptions, c as SizeValidatorOptions, d as SnapshotSanitizer, R as RubricSpec, J as JudgeMatcherOptions, e as ToolPredicate, f as ToolCallExpectation, g as ToolCallCountOptions, A as AuthType, h as JudgeConfig, i as Judge } from './index-BlqLvjnP.cjs';
2
+ export { B as BUILT_IN_RUBRICS, j as BuiltInRubric, k as BuiltInSanitizer, C as CLIConfig, l as CLIOAuthClient, m as CLIOAuthClientConfig, n as CLIOAuthResult, o as CLIOutputFormat, p as CaseComparisonResult, q as ClientCredentialsConfig, r as CompareEvalRunsOptions, s as ComparisonOutcome, t as ContentBlock, u as CreateMCPClientOptions, v as CustomJudgeExecutor, w as CustomJudgeResult, D as DiscoveryError, E as ENV_VAR_NAMES, x as EvalCase, y as EvalCaseComparison, z as EvalCaseComparisonOutcome, F as EvalCaseRequest, G as EvalCaseResult, H as EvalCaseSchema, I as EvalContext, K as EvalDataset, N as EvalDatasetSchema, Q as EvalExpectBlock, U as EvalExpectationResult, W as EvalMode, X as EvalResultStore, Y as EvalResultStoreConfig, Z as EvalResultStoreLike, _ as EvalRunComparisonLabels, $ as EvalRunComparisonResult, a0 as EvalRunMetadata, a1 as EvalRunnerOptions, a2 as EvalRunnerResult, a3 as ExpectationBreakdown, a4 as ExpectationResultMap, a5 as ExpectationType, a6 as ExperimentMetric, a7 as FieldRemovalSanitizer, a8 as FileEvalResultStore, a9 as FileEvalResultStoreConfig, aa as GCSEvalResultStore, ab as GCSEvalResultStoreConfig, ac as HostType, ad as HttpMCPConfig, ae as IterationResult, af as JudgeExpectConfig, ag as JudgeResult, ah as JudgeValidatorConfig, ai as LLMToolCall, aj as ListStoredArtifactsOptions, ak as LoadDatasetOptions, al as MCPAuthConfig, am as MCPAuthFixtures, an as MCPClientCredentialsConfig, ao as MCPConfig, ap as MCPConfigSchema, aq as MCPConformanceCheck, ar as MCPConformanceOptions, as as MCPConformanceRaw, at as MCPConformanceResult, au as MCPConformanceResultData, av as MCPEvalData, aw as MCPEvalHistoricalSummary, ax as MCPEvalReporterConfig, ay as MCPEvalRunData, az as MCPFixtureOptions, aA as MCPHostCapabilities, aB as MCPHostSimulator, aC as MCPOAuthConfig, aD as MCPServerCapabilitiesData, aE as MCP_PROTOCOL_VERSION, aF as NormalizedToolResponse, aG as PlaywrightOAuthClientProvider, aH as PlaywrightOAuthClientProviderConfig, aI as PredicateResult, aJ as ProposeVariantsContext, aK as ProtectedResourceDiscoveryResult, aL as ProtectedResourceMetadata, aM as ProviderKind, aN as RegexSanitizer, aO as ResultSource, aP as SaveBaselineOptions, aQ as SaveEvalRunComparisonOptions, aR as SaveServerComparisonOptions, aS as SchemaRegistry, aT as SerializedEvalDataset, aU as ServerComparisonOptions, aV as ServerComparisonResult, aW as SnapshotSanitizers, aX as StdioMCPConfig, aY as StoredArtifactKind, aZ as StoredArtifactSummary, a_ as StoredClientInfo, a$ as StoredEvalArtifact, b0 as StoredEvalArtifactMetadata, b1 as StoredEvalResultLoadOptions, b2 as StoredEvalResultRef, b3 as StoredEvalResultSaveOptions, b4 as StoredEvalRunRef, b5 as StoredOAuthState, b6 as StoredServerMetadata, b7 as StoredTokens, b8 as TokenResult, b9 as ToolMetadataOverride, ba as ToolOverrideVariant, bb as UsageMetrics, bc as VariantCandidateResult, bd as VariantExperimentOptions, be as VariantExperimentReason, bf as VariantExperimentResult, bg as VariantExperimentRound, bh as VariantImprovementProposal, bi as VariantRecommendation, bj as clearJudgeRegistry, bk as closeMCPClient, bl as compareEvalRuns, bm as createDefaultArtifactId, bn as createEvalResultStore, bo as createMCPClientForConfig, bp as createMCPFixture, bq as createStoredEvalArtifact, br as defaultEnvironmentMetadata, bs as discoverAuthorizationServer, bt as discoverProtectedResource, bu as extractText, bv as getRegisteredJudge, bw as hasValidTokens, bx as injectTokens, by as isBuiltInRubric, bz as isEvalResultStore, bA as isHttpConfig, bB as isStdioConfig, bC as loadBaseline, bD as loadEvalDataset, bE as loadEvalDatasetFromObject, bF as loadStoredEvalRunnerResult, bG as loadTokens, bH as loadTokensFromEnv, bI as mcpAuthTest, bJ as normalizeToolResponse, bK as performClientCredentialsFlow, bL as refreshAccessToken, bM as registerJudge, bN as resolveEvalResultStore, bO as resolveRubric, bP as runConformanceChecks, bQ as runEvalCase, bR as runEvalDataset, bS as runServerComparison, bT as runVariantExperiment, bU as saveBaseline, bV as saveEvalRunComparison, bW as saveServerComparison, bX as validateEvalCase, bY as validateEvalDataset, bZ as validateJudge, b_ as validateMCPConfig, b$ as validateToolCallCount, c0 as validateToolCalls } from './index-BlqLvjnP.cjs';
3
3
  import { ZodType } from 'zod';
4
4
  import * as playwright_test from 'playwright/test';
5
5
  import { Client } from '@modelcontextprotocol/sdk/client/index.js';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { L as LLMProvider, M as MCPFixtureApi, a as MCPHostConfig, b as MCPHostSimulationResult, O as OAuthSetupConfig, V as ValidationResult, S as SchemaValidatorOptions, T as TextValidatorOptions, P as PatternValidatorOptions, c as SizeValidatorOptions, d as SnapshotSanitizer, R as RubricSpec, J as JudgeMatcherOptions, e as ToolPredicate, f as ToolCallExpectation, g as ToolCallCountOptions, A as AuthType, h as JudgeConfig, i as Judge } from './index-BcUWzQCx.js';
2
- export { B as BUILT_IN_RUBRICS, j as BuiltInRubric, k as BuiltInSanitizer, C as CLIConfig, l as CLIOAuthClient, m as CLIOAuthClientConfig, n as CLIOAuthResult, o as CLIOutputFormat, p as CaseComparisonResult, q as ClientCredentialsConfig, r as CompareEvalRunsOptions, s as ComparisonOutcome, t as ContentBlock, u as CreateMCPClientOptions, v as CustomJudgeExecutor, w as CustomJudgeResult, D as DiscoveryError, E as ENV_VAR_NAMES, x as EvalCase, y as EvalCaseComparison, z as EvalCaseComparisonOutcome, F as EvalCaseRequest, G as EvalCaseResult, H as EvalCaseSchema, I as EvalContext, K as EvalDataset, N as EvalDatasetSchema, Q as EvalExpectBlock, U as EvalExpectationResult, W as EvalMode, X as EvalResultStore, Y as EvalResultStoreConfig, Z as EvalResultStoreLike, _ as EvalRunComparisonLabels, $ as EvalRunComparisonResult, a0 as EvalRunMetadata, a1 as EvalRunnerOptions, a2 as EvalRunnerResult, a3 as ExpectationBreakdown, a4 as ExpectationResultMap, a5 as ExpectationType, a6 as ExperimentMetric, a7 as FieldRemovalSanitizer, a8 as FileEvalResultStore, a9 as FileEvalResultStoreConfig, aa as GCSEvalResultStore, ab as GCSEvalResultStoreConfig, ac as HostType, ad as HttpMCPConfig, ae as IterationResult, af as JudgeExpectConfig, ag as JudgeResult, ah as JudgeValidatorConfig, ai as LLMToolCall, aj as ListStoredArtifactsOptions, ak as LoadDatasetOptions, al as MCPAuthConfig, am as MCPAuthFixtures, an as MCPClientCredentialsConfig, ao as MCPConfig, ap as MCPConfigSchema, aq as MCPConformanceCheck, ar as MCPConformanceOptions, as as MCPConformanceRaw, at as MCPConformanceResult, au as MCPConformanceResultData, av as MCPEvalData, aw as MCPEvalHistoricalSummary, ax as MCPEvalReporterConfig, ay as MCPEvalRunData, az as MCPFixtureOptions, aA as MCPHostCapabilities, aB as MCPHostSimulator, aC as MCPOAuthConfig, aD as MCPServerCapabilitiesData, aE as MCP_PROTOCOL_VERSION, aF as NormalizedToolResponse, aG as PlaywrightOAuthClientProvider, aH as PlaywrightOAuthClientProviderConfig, aI as PredicateResult, aJ as ProposeVariantsContext, aK as ProtectedResourceDiscoveryResult, aL as ProtectedResourceMetadata, aM as ProviderKind, aN as RegexSanitizer, aO as ResultSource, aP as SaveBaselineOptions, aQ as SaveEvalRunComparisonOptions, aR as SaveServerComparisonOptions, aS as SchemaRegistry, aT as SerializedEvalDataset, aU as ServerComparisonOptions, aV as ServerComparisonResult, aW as SnapshotSanitizers, aX as StdioMCPConfig, aY as StoredArtifactKind, aZ as StoredArtifactSummary, a_ as StoredClientInfo, a$ as StoredEvalArtifact, b0 as StoredEvalArtifactMetadata, b1 as StoredEvalResultLoadOptions, b2 as StoredEvalResultRef, b3 as StoredEvalResultSaveOptions, b4 as StoredEvalRunRef, b5 as StoredOAuthState, b6 as StoredServerMetadata, b7 as StoredTokens, b8 as TokenResult, b9 as ToolMetadataOverride, ba as ToolOverrideVariant, bb as UsageMetrics, bc as VariantCandidateResult, bd as VariantExperimentOptions, be as VariantExperimentReason, bf as VariantExperimentResult, bg as VariantExperimentRound, bh as VariantImprovementProposal, bi as VariantRecommendation, bj as clearJudgeRegistry, bk as closeMCPClient, bl as compareEvalRuns, bm as createDefaultArtifactId, bn as createEvalResultStore, bo as createMCPClientForConfig, bp as createMCPFixture, bq as createStoredEvalArtifact, br as defaultEnvironmentMetadata, bs as discoverAuthorizationServer, bt as discoverProtectedResource, bu as extractText, bv as getRegisteredJudge, bw as hasValidTokens, bx as injectTokens, by as isBuiltInRubric, bz as isEvalResultStore, bA as isHttpConfig, bB as isStdioConfig, bC as loadBaseline, bD as loadEvalDataset, bE as loadEvalDatasetFromObject, bF as loadStoredEvalRunnerResult, bG as loadTokens, bH as loadTokensFromEnv, bI as mcpAuthTest, bJ as normalizeToolResponse, bK as performClientCredentialsFlow, bL as refreshAccessToken, bM as registerJudge, bN as resolveEvalResultStore, bO as resolveRubric, bP as runConformanceChecks, bQ as runEvalCase, bR as runEvalDataset, bS as runServerComparison, bT as runVariantExperiment, bU as saveBaseline, bV as saveEvalRunComparison, bW as saveServerComparison, bX as validateEvalCase, bY as validateEvalDataset, bZ as validateJudge, b_ as validateMCPConfig, b$ as validateToolCallCount, c0 as validateToolCalls } from './index-BcUWzQCx.js';
1
+ import { L as LLMProvider, M as MCPFixtureApi, a as MCPHostConfig, b as MCPHostSimulationResult, O as OAuthSetupConfig, V as ValidationResult, S as SchemaValidatorOptions, T as TextValidatorOptions, P as PatternValidatorOptions, c as SizeValidatorOptions, d as SnapshotSanitizer, R as RubricSpec, J as JudgeMatcherOptions, e as ToolPredicate, f as ToolCallExpectation, g as ToolCallCountOptions, A as AuthType, h as JudgeConfig, i as Judge } from './index-BlqLvjnP.js';
2
+ export { B as BUILT_IN_RUBRICS, j as BuiltInRubric, k as BuiltInSanitizer, C as CLIConfig, l as CLIOAuthClient, m as CLIOAuthClientConfig, n as CLIOAuthResult, o as CLIOutputFormat, p as CaseComparisonResult, q as ClientCredentialsConfig, r as CompareEvalRunsOptions, s as ComparisonOutcome, t as ContentBlock, u as CreateMCPClientOptions, v as CustomJudgeExecutor, w as CustomJudgeResult, D as DiscoveryError, E as ENV_VAR_NAMES, x as EvalCase, y as EvalCaseComparison, z as EvalCaseComparisonOutcome, F as EvalCaseRequest, G as EvalCaseResult, H as EvalCaseSchema, I as EvalContext, K as EvalDataset, N as EvalDatasetSchema, Q as EvalExpectBlock, U as EvalExpectationResult, W as EvalMode, X as EvalResultStore, Y as EvalResultStoreConfig, Z as EvalResultStoreLike, _ as EvalRunComparisonLabels, $ as EvalRunComparisonResult, a0 as EvalRunMetadata, a1 as EvalRunnerOptions, a2 as EvalRunnerResult, a3 as ExpectationBreakdown, a4 as ExpectationResultMap, a5 as ExpectationType, a6 as ExperimentMetric, a7 as FieldRemovalSanitizer, a8 as FileEvalResultStore, a9 as FileEvalResultStoreConfig, aa as GCSEvalResultStore, ab as GCSEvalResultStoreConfig, ac as HostType, ad as HttpMCPConfig, ae as IterationResult, af as JudgeExpectConfig, ag as JudgeResult, ah as JudgeValidatorConfig, ai as LLMToolCall, aj as ListStoredArtifactsOptions, ak as LoadDatasetOptions, al as MCPAuthConfig, am as MCPAuthFixtures, an as MCPClientCredentialsConfig, ao as MCPConfig, ap as MCPConfigSchema, aq as MCPConformanceCheck, ar as MCPConformanceOptions, as as MCPConformanceRaw, at as MCPConformanceResult, au as MCPConformanceResultData, av as MCPEvalData, aw as MCPEvalHistoricalSummary, ax as MCPEvalReporterConfig, ay as MCPEvalRunData, az as MCPFixtureOptions, aA as MCPHostCapabilities, aB as MCPHostSimulator, aC as MCPOAuthConfig, aD as MCPServerCapabilitiesData, aE as MCP_PROTOCOL_VERSION, aF as NormalizedToolResponse, aG as PlaywrightOAuthClientProvider, aH as PlaywrightOAuthClientProviderConfig, aI as PredicateResult, aJ as ProposeVariantsContext, aK as ProtectedResourceDiscoveryResult, aL as ProtectedResourceMetadata, aM as ProviderKind, aN as RegexSanitizer, aO as ResultSource, aP as SaveBaselineOptions, aQ as SaveEvalRunComparisonOptions, aR as SaveServerComparisonOptions, aS as SchemaRegistry, aT as SerializedEvalDataset, aU as ServerComparisonOptions, aV as ServerComparisonResult, aW as SnapshotSanitizers, aX as StdioMCPConfig, aY as StoredArtifactKind, aZ as StoredArtifactSummary, a_ as StoredClientInfo, a$ as StoredEvalArtifact, b0 as StoredEvalArtifactMetadata, b1 as StoredEvalResultLoadOptions, b2 as StoredEvalResultRef, b3 as StoredEvalResultSaveOptions, b4 as StoredEvalRunRef, b5 as StoredOAuthState, b6 as StoredServerMetadata, b7 as StoredTokens, b8 as TokenResult, b9 as ToolMetadataOverride, ba as ToolOverrideVariant, bb as UsageMetrics, bc as VariantCandidateResult, bd as VariantExperimentOptions, be as VariantExperimentReason, bf as VariantExperimentResult, bg as VariantExperimentRound, bh as VariantImprovementProposal, bi as VariantRecommendation, bj as clearJudgeRegistry, bk as closeMCPClient, bl as compareEvalRuns, bm as createDefaultArtifactId, bn as createEvalResultStore, bo as createMCPClientForConfig, bp as createMCPFixture, bq as createStoredEvalArtifact, br as defaultEnvironmentMetadata, bs as discoverAuthorizationServer, bt as discoverProtectedResource, bu as extractText, bv as getRegisteredJudge, bw as hasValidTokens, bx as injectTokens, by as isBuiltInRubric, bz as isEvalResultStore, bA as isHttpConfig, bB as isStdioConfig, bC as loadBaseline, bD as loadEvalDataset, bE as loadEvalDatasetFromObject, bF as loadStoredEvalRunnerResult, bG as loadTokens, bH as loadTokensFromEnv, bI as mcpAuthTest, bJ as normalizeToolResponse, bK as performClientCredentialsFlow, bL as refreshAccessToken, bM as registerJudge, bN as resolveEvalResultStore, bO as resolveRubric, bP as runConformanceChecks, bQ as runEvalCase, bR as runEvalDataset, bS as runServerComparison, bT as runVariantExperiment, bU as saveBaseline, bV as saveEvalRunComparison, bW as saveServerComparison, bX as validateEvalCase, bY as validateEvalDataset, bZ as validateJudge, b_ as validateMCPConfig, b$ as validateToolCallCount, c0 as validateToolCalls } from './index-BlqLvjnP.js';
3
3
  import { ZodType } from 'zod';
4
4
  import * as playwright_test from 'playwright/test';
5
5
  import { Client } from '@modelcontextprotocol/sdk/client/index.js';
package/dist/index.js CHANGED
@@ -4398,7 +4398,7 @@ function escapeHtml(text) {
4398
4398
 
4399
4399
  // package.json
4400
4400
  var package_default = {
4401
- version: "1.1.0"};
4401
+ version: "1.1.1"};
4402
4402
 
4403
4403
  // src/mcp/clientFactory.ts
4404
4404
  function getRetryAfterDelayMs(err) {
@@ -6811,8 +6811,8 @@ Hint: run \`getMissingDependencyMessage('${provider}')\` or check docs/mcp-host.
6811
6811
  Hint: check your API key environment variable (e.g. ANTHROPIC_API_KEY, GOOGLE_APPLICATION_CREDENTIALS).`;
6812
6812
  }
6813
6813
  if (raw.includes("404") || raw.includes("Not Found") || raw.toLowerCase().includes("model") && raw.toLowerCase().includes("not found")) {
6814
- return `MCP host simulation failed: model not found.
6815
- Hint: check the model name format for your provider. For vertex-anthropic use 'claude-3-5-haiku@20241022' (with @).`;
6814
+ return `MCP host simulation failed: ${raw}
6815
+ Hint: a 404 usually means the model id is wrong or retired, or a base-URL override (e.g. ANTHROPIC_BASE_URL / OPENAI_BASE_URL pointing at a gateway) is routing requests somewhere that doesn't serve this model. Verify the model id and that no unexpected *_BASE_URL is set.`;
6816
6816
  }
6817
6817
  if (raw.includes("ENOTFOUND") || raw.includes("fetch failed") || raw.includes("ECONNREFUSED")) {
6818
6818
  return `MCP host simulation failed: network error.
@@ -6910,12 +6910,18 @@ function createVercelOrchestrator() {
6910
6910
  tools[toolName] = {
6911
6911
  description: mcpTool.description ?? "",
6912
6912
  inputSchema: jsonSchema2(rawSchema),
6913
- execute: async (args) => {
6913
+ execute: async (args, opts) => {
6914
6914
  const mcpStart = Date.now();
6915
6915
  const result2 = await mcp.callTool(toolName, args);
6916
6916
  mcpDurationMs += Date.now() - mcpStart;
6917
- allToolCalls.push({ name: toolName, arguments: args });
6918
- return extractText(result2);
6917
+ const output = extractText(result2);
6918
+ allToolCalls.push({
6919
+ id: opts?.toolCallId,
6920
+ name: toolName,
6921
+ arguments: args,
6922
+ output
6923
+ });
6924
+ return output;
6919
6925
  }
6920
6926
  };
6921
6927
  }
@@ -6937,10 +6943,17 @@ function createVercelOrchestrator() {
6937
6943
  totalCostUsd: 0,
6938
6944
  durationMs: llmDurationMs
6939
6945
  } : void 0;
6940
- const conversationHistory = (result.steps ?? []).map((step) => ({
6941
- role: step.toolCalls?.length > 0 ? "tool" : "assistant",
6942
- content: step.toolCalls?.length > 0 ? JSON.stringify(step.toolResults) : step.text ?? ""
6943
- }));
6946
+ const conversationHistory = (result.steps ?? []).flatMap((step) => {
6947
+ if (step.toolCalls?.length > 0) {
6948
+ return step.toolCalls.map(
6949
+ (tc) => ({
6950
+ role: "tool",
6951
+ toolCallId: tc.toolCallId
6952
+ })
6953
+ );
6954
+ }
6955
+ return step.text ? [{ role: "assistant", content: step.text }] : [];
6956
+ });
6944
6957
  return {
6945
6958
  success: true,
6946
6959
  toolCalls: allToolCalls,
@@ -6996,7 +7009,13 @@ function parseStreamJson(stdout) {
6996
7009
  for (const block of event.message.content) {
6997
7010
  if (block.type === "tool_result") {
6998
7011
  const content = typeof block.content === "string" ? block.content : JSON.stringify(block.content);
6999
- conversationHistory.push({ role: "tool", content });
7012
+ const call = block.tool_use_id ? toolCalls.find((tc) => tc.id === block.tool_use_id) : void 0;
7013
+ if (call) {
7014
+ call.output = content;
7015
+ conversationHistory.push({ role: "tool", toolCallId: call.id });
7016
+ } else {
7017
+ conversationHistory.push({ role: "tool", content });
7018
+ }
7000
7019
  }
7001
7020
  }
7002
7021
  }
@@ -7952,6 +7971,7 @@ async function getGitHash() {
7952
7971
  const result = await execFileNoThrow("git", ["rev-parse", "HEAD"]);
7953
7972
  return result.status === 0 ? result.stdout.trim() : void 0;
7954
7973
  }
7974
+ var warnedNoTestInfo = false;
7955
7975
  async function runEvalDataset(options, context) {
7956
7976
  const {
7957
7977
  dataset,
@@ -8122,7 +8142,8 @@ async function runEvalDataset(options, context) {
8122
8142
  contentType: "application/json",
8123
8143
  body: Buffer.from(JSON.stringify({ caseResults }))
8124
8144
  });
8125
- } else if (caseResults.length > 0) {
8145
+ } else if (caseResults.length > 0 && !warnedNoTestInfo) {
8146
+ warnedNoTestInfo = true;
8126
8147
  console.warn(
8127
8148
  "[mcp-server-tester] runEvalDataset: testInfo not provided \u2014 results will not appear in the MCP reporter.\nTo enable reporting, pass testInfo from the Playwright test function:\n await runEvalDataset({ dataset }, { mcp, testInfo });"
8128
8149
  );
@@ -8402,9 +8423,13 @@ async function runVariantExperiment(options, context) {
8402
8423
  const maxRounds = options.maxRounds ?? 1;
8403
8424
  const minImprovement = options.minImprovement ?? 0;
8404
8425
  const allowRegressions = options.allowRegressions ?? false;
8426
+ const internalContext = {
8427
+ mcp: context.mcp,
8428
+ expect: context.expect
8429
+ };
8405
8430
  const baseline = await runEvalDataset(
8406
8431
  buildRunOptions(options, void 0),
8407
- context
8432
+ internalContext
8408
8433
  );
8409
8434
  const baselineValue = readMetric(baseline, metric);
8410
8435
  if (baselineValue === void 0) {
@@ -8432,7 +8457,7 @@ async function runVariantExperiment(options, context) {
8432
8457
  for (const variant of variants) {
8433
8458
  const candidate = await scoreVariant(
8434
8459
  options,
8435
- context,
8460
+ internalContext,
8436
8461
  baseline,
8437
8462
  baselineValue,
8438
8463
  metric,
@@ -8459,7 +8484,7 @@ async function runVariantExperiment(options, context) {
8459
8484
  const winner = bestSoFar;
8460
8485
  const proposalSource = winner ?? bestAttempted;
8461
8486
  const proposal = proposalSource ? buildProposal(metric, baselineValue, proposalSource, winner !== void 0) : void 0;
8462
- return {
8487
+ const result = {
8463
8488
  metric,
8464
8489
  baseline,
8465
8490
  rounds,
@@ -8468,6 +8493,42 @@ async function runVariantExperiment(options, context) {
8468
8493
  converged: true,
8469
8494
  reason
8470
8495
  };
8496
+ if (context.testInfo) {
8497
+ const surfaceRun = winner?.result ?? bestAttempted?.result ?? baseline;
8498
+ await context.testInfo.attach("mcp-test-results", {
8499
+ contentType: "application/json",
8500
+ body: Buffer.from(
8501
+ JSON.stringify({ caseResults: surfaceRun.caseResults })
8502
+ )
8503
+ });
8504
+ await context.testInfo.attach("mcp-variant-experiment", {
8505
+ contentType: "application/json",
8506
+ body: Buffer.from(
8507
+ JSON.stringify(buildExperimentData(result, baselineValue))
8508
+ )
8509
+ });
8510
+ }
8511
+ return result;
8512
+ }
8513
+ function buildExperimentData(result, baselineValue) {
8514
+ return {
8515
+ metric: result.metric,
8516
+ baselineValue,
8517
+ bestValue: result.winner?.metricValue ?? result.proposal?.candidateValue ?? baselineValue,
8518
+ rounds: result.rounds.map((round) => {
8519
+ const best = round.best ?? round.candidates[0];
8520
+ return {
8521
+ round: round.round,
8522
+ variantId: best?.variant.id ?? "(none)",
8523
+ metricValue: best?.metricValue ?? baselineValue,
8524
+ metricDelta: best?.metricDelta ?? 0,
8525
+ disqualified: best?.disqualified ?? false
8526
+ };
8527
+ }),
8528
+ winnerVariantId: result.winner?.variant.id,
8529
+ recommendation: result.proposal?.recommendation,
8530
+ reason: result.reason
8531
+ };
8471
8532
  }
8472
8533
  async function gatherVariants(options, context) {
8473
8534
  if (context.round === 0 && options.variants && options.variants.length > 0) {