@wix/evalforge-evaluator 0.199.0 → 0.201.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/build/index.mjs CHANGED
@@ -7401,7 +7401,7 @@ import {
7401
7401
  import { createHash } from "crypto";
7402
7402
  import path from "path";
7403
7403
  import { spawn, execFileSync } from "child_process";
7404
- var INSTALL_TIMEOUT_MS = 1e5;
7404
+ var INSTALL_TIMEOUT_MS = 12e4;
7405
7405
  var HEARTBEAT_INTERVAL_MS = 5e3;
7406
7406
  function reportRegistry(workDir, onProgress) {
7407
7407
  try {
@@ -11080,22 +11080,38 @@ async function executeWithAiSdk(context) {
11080
11080
  ...topLevelExtras,
11081
11081
  model,
11082
11082
  abortSignal: abortController.signal,
11083
- system: systemPrompt,
11084
- ...hasImages ? {
11085
- messages: [
11083
+ // Anthropic prompt caching: the Vercel AI SDK can't attach cache_control
11084
+ // to the top-level `system` string, so the system prompt is sent as a
11085
+ // `system` message carrying an ephemeral cache breakpoint (Anthropic only).
11086
+ // Anthropic renders tools -> system -> messages, so a breakpoint on the
11087
+ // system block caches the tool definitions too — high value for MCP
11088
+ // scenarios that share a large tool set + system prompt across runs.
11089
+ messages: [
11090
+ ...systemPrompt ? [
11086
11091
  {
11087
- role: "user",
11088
- content: [
11089
- { type: "text", text: scenario.triggerPrompt },
11090
- ...triggerPromptImages.map((img) => ({
11091
- type: "image",
11092
- image: img.base64,
11093
- mediaType: img.mediaType
11094
- }))
11095
- ]
11092
+ role: "system",
11093
+ content: systemPrompt,
11094
+ ...isAnthropic ? {
11095
+ providerOptions: {
11096
+ anthropic: {
11097
+ cacheControl: { type: "ephemeral" }
11098
+ }
11099
+ }
11100
+ } : {}
11096
11101
  }
11097
- ]
11098
- } : { prompt: scenario.triggerPrompt },
11102
+ ] : [],
11103
+ {
11104
+ role: "user",
11105
+ content: hasImages ? [
11106
+ { type: "text", text: scenario.triggerPrompt },
11107
+ ...triggerPromptImages.map((img) => ({
11108
+ type: "image",
11109
+ image: img.base64,
11110
+ mediaType: img.mediaType
11111
+ }))
11112
+ ] : scenario.triggerPrompt
11113
+ }
11114
+ ],
11099
11115
  temperature: supportsThinking ? void 0 : cfg.temperature,
11100
11116
  topP: supportsThinking ? void 0 : cfg.topP,
11101
11117
  frequencyPenalty: cfg.frequencyPenalty,