elasticdash-test 0.1.20 → 0.1.21-alpha-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/README.md CHANGED
@@ -45,6 +45,20 @@ npm install elasticdash-test
45
45
 
46
46
  **Requirements:** Node 20+. For Deno projects, see [Using elasticdash-test in Deno](docs/deno.md).
47
47
 
48
+ ### Cloud Setup
49
+
50
+ Add these to your `.env` (or CI secrets):
51
+
52
+ ```bash
53
+ ELASTICDASH_API_URL=https://server.elasticdash.com
54
+ ELASTICDASH_API_KEY=ed_your_api_key_here
55
+ ```
56
+
57
+ - **`ELASTICDASH_API_URL`** — The ElasticDash cloud backend URL. For cloud users this is always `https://server.elasticdash.com`. For self-hosted instances, use your own backend URL.
58
+ - **`ELASTICDASH_API_KEY`** — Your project API key. Find it in the [ElasticDash dashboard](https://app.elasticdash.com) under project settings.
59
+
60
+ > **Note:** `ELASTICDASH_SERVER` is an alias for `ELASTICDASH_API_URL`. Both work — the SDK checks `ELASTICDASH_API_URL` first, then falls back to `ELASTICDASH_SERVER`.
61
+
48
62
  **Git ignore:** ElasticDash writes temporary runtime artifacts under `.temp/`. Add this to your `.gitignore`:
49
63
 
50
64
  ```gitignore
@@ -422,11 +436,11 @@ Run your ElasticDash test groups directly from CI pipelines. The `ci` command fe
422
436
  ### CLI Usage
423
437
 
424
438
  ```bash
425
- # Basic — uses env vars
426
- ELASTICDASH_API_URL=https://your-api.com ELASTICDASH_API_KEY=ed_xxx npx elasticdash ci
439
+ # Basic — uses env vars (set in .env or CI secrets)
440
+ npx elasticdash ci
427
441
 
428
- # Explicit flags
429
- npx elasticdash ci --server https://your-api.com --api-key ed_xxx
442
+ # Explicit flags (if not using env vars)
443
+ npx elasticdash ci --server https://server.elasticdash.com --api-key ed_xxx
430
444
 
431
445
  # Filter by workflow or tags
432
446
  npx elasticdash ci --server $ELASTICDASH_API_URL --api-key $ELASTICDASH_API_KEY \
@@ -613,8 +627,9 @@ setHttpRunContext(runId, dashboardUrl)
613
627
 
614
628
  ```bash
615
629
  # Set before starting your server or script
616
- ELASTICDASH_SERVER=http://localhost:4573 # required
617
- ELASTICDASH_RUN_ID=<run-id-from-dashboard> # optional, enables step freezing
630
+ ELASTICDASH_API_URL=https://server.elasticdash.com # cloud (or http://localhost:4573 for local dashboard)
631
+ ELASTICDASH_API_KEY=ed_your_api_key_here # your project API key
632
+ ELASTICDASH_RUN_ID=<run-id-from-dashboard> # optional, enables step freezing
618
633
  ```
619
634
 
620
635
  `wrapTool` and `wrapAI` will auto-connect on their first call. See [Dashboard Auto-Detection](#dashboard-auto-detection-env-var-mode) for details.
@@ -624,7 +639,7 @@ ELASTICDASH_RUN_ID=<run-id-from-dashboard> # optional, enables step freezing
624
639
  ```ts
625
640
  import { runCI } from 'elasticdash-test'
626
641
 
627
- const summary = await runCI({ serverUrl: 'https://your-api.com', apiKey: 'ed_xxx' })
642
+ const summary = await runCI({ serverUrl: 'https://server.elasticdash.com', apiKey: 'ed_xxx' })
628
643
  // summary.total, summary.passed, summary.failed, summary.batchId, summary.results
629
644
  ```
630
645
 
@@ -30,7 +30,7 @@ export interface EvaluatorConfig {
30
30
  apiKey: string | null;
31
31
  }
32
32
  /**
33
- * Fetch the project's evaluator config (with user-level fallback).
33
+ * Fetch the user's default evaluator config.
34
34
  * Used by ed-test llm_judge benchmarks when judge_provider/judge_model
35
35
  * are not specified in the test definition.
36
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/ci/api-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AA0C9C;;;GAGG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACpE,OAAO,CAAC,YAAY,EAAE,CAAC,CAUzB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAOzB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAOzB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,CAAC,CAI1B"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/ci/api-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AA6C9C;;;GAGG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACpE,OAAO,CAAC,YAAY,EAAE,CAAC,CAUzB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAOzB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAOzB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAUD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,CAAC,CAS1B"}
@@ -27,7 +27,10 @@ async function apiRequest(url, apiKey, options = {}) {
27
27
  }
28
28
  const json = await res.json();
29
29
  // Backend wraps responses in generalApiResponseSender which sends { result: ... }
30
- return (json.result ?? json.data ?? json);
30
+ // Use 'in' check instead of nullish coalescing — result:null is valid data, not "missing"
31
+ const result = 'result' in json ? json.result : ('data' in json ? json.data : json);
32
+ console.log(`[elasticdash ci] ${method} ${url} → ${res.status} (result keys: ${result && typeof result === 'object' ? Object.keys(result).join(',') : typeof result})`);
33
+ return result;
31
34
  }
32
35
  /**
33
36
  * Fetch all active test groups (with nested tests & expectations) for the project
@@ -68,14 +71,26 @@ export async function createBatch(serverUrl, apiKey, payload) {
68
71
  body: JSON.stringify(payload),
69
72
  });
70
73
  }
74
+ /** Maps backend llmProviderId to provider name. */
75
+ const LLM_PROVIDER_MAP = {
76
+ 1: 'openai',
77
+ 2: 'gemini',
78
+ 3: 'anthropic',
79
+ 4: 'moonshot',
80
+ };
71
81
  /**
72
- * Fetch the project's evaluator config (with user-level fallback).
82
+ * Fetch the user's default evaluator config.
73
83
  * Used by ed-test llm_judge benchmarks when judge_provider/judge_model
74
84
  * are not specified in the test definition.
75
85
  */
76
86
  export async function fetchEvaluatorConfig(serverUrl, apiKey) {
77
87
  const base = normalizeBase(serverUrl);
78
- const url = `${base}/api/test-runs/evaluator-config`;
79
- return apiRequest(url, apiKey);
88
+ const url = `${base}/api/user/settings/llm/default-evaluator`;
89
+ const raw = await apiRequest(url, apiKey);
90
+ return {
91
+ provider: raw?.llmProviderId ? (LLM_PROVIDER_MAP[raw.llmProviderId] ?? null) : null,
92
+ model: raw?.model ?? null,
93
+ apiKey: null,
94
+ };
80
95
  }
81
96
  //# sourceMappingURL=api-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/ci/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/ci/api-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/ci/benchmark.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,WAAW,CAAA;AAEjH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB;AAaD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,cAAc,EAC1B,UAAU,CAAC,EAAE,OAAO,EACpB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,GACvC,OAAO,CAAC,eAAe,CAAC,CA6J1B"}
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/ci/benchmark.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,WAAW,CAAA;AAEjH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB;AAuCD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,cAAc,EAC1B,UAAU,CAAC,EAAE,OAAO,EACpB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,GACvC,OAAO,CAAC,eAAe,CAAC,CAwK1B"}
@@ -7,11 +7,36 @@
7
7
  * Generated/updated on 2026-04-20.
8
8
  */
9
9
  import { callProviderLLM } from '../matchers/index.js';
10
+ import { prepareOutputForJudge } from '../core/judge-utils.js';
10
11
  /** Maps backend provider names to SDK provider names used by callProviderLLM. */
11
12
  const PROVIDER_NAME_MAP = {
12
13
  anthropic: 'claude',
13
14
  moonshot: 'kimi',
14
15
  };
16
+ /** Default model for each provider, used when no explicit model is set or
17
+ * when the evaluator config model doesn't belong to the resolved provider. */
18
+ const DEFAULT_PROVIDER_MODELS = {
19
+ openai: 'gpt-4o',
20
+ claude: 'claude-sonnet-4-20250514',
21
+ gemini: 'gemini-2.0-flash',
22
+ grok: 'grok-3',
23
+ kimi: 'moonshot-v1-auto',
24
+ };
25
+ /** Known model prefixes per provider — used to check if a model belongs to a provider. */
26
+ const PROVIDER_MODEL_PREFIXES = {
27
+ openai: ['gpt-', 'o1-', 'o3-', 'o4-', 'chatgpt-'],
28
+ claude: ['claude-'],
29
+ gemini: ['gemini-'],
30
+ grok: ['grok-'],
31
+ kimi: ['moonshot-'],
32
+ };
33
+ /** Check if a model name belongs to the given provider. */
34
+ function isModelForProvider(model, provider) {
35
+ const prefixes = PROVIDER_MODEL_PREFIXES[provider];
36
+ if (!prefixes)
37
+ return false;
38
+ return prefixes.some(p => model.toLowerCase().startsWith(p));
39
+ }
15
40
  /** Normalize provider name from backend format to SDK format. */
16
41
  function normalizeSdkProvider(provider) {
17
42
  return PROVIDER_NAME_MAP[provider] ?? provider;
@@ -89,7 +114,17 @@ export async function compareBenchmarks(measurement, benchmarks, stepOutput, eva
89
114
  // Resolve provider/model: test definition takes priority, then backend
90
115
  // evaluator config, then fall back to 'openai' default.
91
116
  const resolvedProvider = normalizeSdkProvider(judge.judge_provider ?? evaluatorConfig?.provider ?? 'openai');
92
- const resolvedModel = judge.judge_model ?? evaluatorConfig?.model ?? undefined;
117
+ // Model resolution: judge_model > evaluatorConfig.model (if compatible) > provider default
118
+ let resolvedModel = judge.judge_model ?? undefined;
119
+ if (!resolvedModel && evaluatorConfig?.model) {
120
+ // Only use the evaluator config model if it belongs to the resolved provider
121
+ if (isModelForProvider(evaluatorConfig.model, resolvedProvider)) {
122
+ resolvedModel = evaluatorConfig.model;
123
+ }
124
+ }
125
+ if (!resolvedModel) {
126
+ resolvedModel = DEFAULT_PROVIDER_MODELS[resolvedProvider];
127
+ }
93
128
  // If the backend provided an API key and we're using its provider,
94
129
  // set it in the environment so callProviderLLM can pick it up.
95
130
  const envKeyMap = {
@@ -113,7 +148,8 @@ export async function compareBenchmarks(measurement, benchmarks, stepOutput, eva
113
148
  }
114
149
  try {
115
150
  console.log(` [llm_judge] provider=${resolvedProvider}, model=${resolvedModel ?? '(default)'}`);
116
- const evalPrompt = `${judge.judge_prompt}\n\nOutput to evaluate:\n${outputStr}\n\nScore this output on a scale of 0-10. Respond with only the number.`;
151
+ const preparedOutput = prepareOutputForJudge(outputStr, judge.judge_prompt);
152
+ const evalPrompt = `${judge.judge_prompt}\n\n<output>\n${preparedOutput}\n</output>\n\nBased on the evaluation criteria above, score this output on a scale of 0-10. Respond with only the number.`;
117
153
  const result = await callProviderLLM(evalPrompt, { provider: resolvedProvider, model: resolvedModel }, 'You are an expert test judge. Return only a number between 0 and 10.', 16, 0);
118
154
  restoreEnv?.();
119
155
  const score = parseFloat(result.content.match(/-?\d+(?:\.\d+)?/)?.[0] ?? '');
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/ci/benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/ci/benchmark.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAqB9D,iFAAiF;AACjF,MAAM,iBAAiB,GAA2B;IAChD,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,MAAM;CACjB,CAAA;AAED;+EAC+E;AAC/E,MAAM,uBAAuB,GAA2B;IACtD,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,0BAA0B;IAClC,MAAM,EAAE,kBAAkB;IAC1B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,kBAAkB;CACzB,CAAA;AAED,0FAA0F;AAC1F,MAAM,uBAAuB,GAA6B;IACxD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,IAAI,EAAE,CAAC,WAAW,CAAC;CACpB,CAAA;AAED,2DAA2D;AAC3D,SAAS,kBAAkB,CAAC,KAAa,EAAE,QAAgB;IACzD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAA;IAClD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED,iEAAiE;AACjE,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,OAAO,iBAAiB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAA;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAA4B,EAC5B,UAA0B,EAC1B,UAAoB,EACpB,eAAwC;IAExC,MAAM,OAAO,GAAmB,EAAE,CAAA;IAClC,IAAI,YAAgC,CAAA;IAEpC,IAAI,UAAU,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,IAAI,UAAU,CAAC,eAAe,CAAA;QACpE,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,WAAW,CAAC,WAAW;YAC9B,SAAS,EAAE,UAAU,CAAC,eAAe;YACrC,MAAM;SACP,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,YAAY,GAAG,gBAAgB,WAAW,CAAC,WAAW,6BAA6B,UAAU,CAAC,eAAe,GAAG,CAAA;QAClH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,IAAI,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,KAAK,IAAI,UAAU,CAAC,gBAAgB,CAAA;QACnD,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,cAAc;YACpB,KAAK;YACL,SAAS,EAAE,UAAU,CAAC,gBAAgB;YACtC,MAAM;SACP,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,YAAY,GAAG,iBAAiB,KAAK,6BAA6B,UAAU,CAAC,gBAAgB,GAAG,CAAA;QAClG,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,IAAI,UAAU,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAA;QACzF,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,SAAS,EAAE,CAAC;YACZ,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,4BAA4B,UAAU,CAAC,eAAe,GAAG;SACvF,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,YAAY,GAAG,4BAA4B,UAAU,CAAC,eAAe,GAAG,CAAA;QAC1E,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,IAAI,UAAU,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAA;QAC9F,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,SAAS,EAAE,CAAC;YACZ,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iCAAiC,UAAU,CAAC,mBAAmB,GAAG;SAChG,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,YAAY,GAAG,iCAAiC,UAAU,CAAC,mBAAmB,GAAG,CAAA;QACnF,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAA;QAClC,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;QAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAA;QAElD,uEAAuE;QACvE,wDAAwD;QACxD,MAAM,gBAAgB,GAAG,oBAAoB,CAC3C,KAAK,CAAC,cAAc,IAAI,eAAe,EAAE,QAAQ,IAAI,QAAQ,CAC9D,CAAA;QACD,2FAA2F;QAC3F,IAAI,aAAa,GAAG,KAAK,CAAC,WAAW,IAAI,SAAS,CAAA;QAClD,IAAI,CAAC,aAAa,IAAI,eAAe,EAAE,KAAK,EAAE,CAAC;YAC7C,6EAA6E;YAC7E,IAAI,kBAAkB,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBAChE,aAAa,GAAG,eAAe,CAAC,KAAK,CAAA;YACvC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,CAAA;QAC3D,CAAC;QAED,mEAAmE;QACnE,+DAA+D;QAC/D,MAAM,SAAS,GAA2B;YACxC,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,mBAAmB;YAC3B,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,cAAc;SACrB,CAAA;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAA;QAC1C,IAAI,UAAoC,CAAA;QACxC,IAAI,eAAe,EAAE,MAAM,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAA;YAC5C,UAAU,GAAG,GAAG,EAAE;gBAChB,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;;oBAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;YACjC,CAAC,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,0BAA0B,gBAAgB,WAAW,aAAa,IAAI,WAAW,EAAE,CAAC,CAAA;YAChG,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;YAC3E,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,YAAY,iBAAiB,cAAc,4HAA4H,CAAA;YAEnM,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,UAAU,EACV,EAAE,QAAQ,EAAE,gBAAoE,EAAE,KAAK,EAAE,aAAa,EAAE,EACxG,sEAAsE,EACtE,EAAE,EACF,CAAC,CACF,CAAA;YAED,UAAU,EAAE,EAAE,CAAA;YAEd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YAC5E,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,CAAC;oBACR,SAAS;oBACT,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,6CAA6C,MAAM,CAAC,OAAO,GAAG;iBACvE,CAAC,CAAA;gBACF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,YAAY,GAAG,gDAAgD,CAAA;gBACjE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,KAAK,IAAI,SAAS,CAAA;gBACjC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,KAAK;oBACZ,SAAS;oBACT,MAAM;oBACN,MAAM,EAAE,UAAU,KAAK,IAAI,SAAS,EAAE;iBACvC,CAAC,CAAA;gBACF,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC7B,YAAY,GAAG,oBAAoB,KAAK,sBAAsB,SAAS,GAAG,CAAA;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,EAAE,EAAE,CAAA;YACd,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC/D,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,CAAC;gBACR,SAAS;gBACT,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,oBAAoB,MAAM,EAAE;aACrC,CAAC,CAAA;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,oBAAoB,MAAM,EAAE,CAAA;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC9C,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,cAAc,EAAE,YAAY;QAC5B,OAAO;KACR,CAAA;AACH,CAAC;AAED,kEAAkE;AAClE,SAAS,eAAe,CAAC,MAAe;IACtC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IACtD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAA;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/ci/executor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAEhB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,YAAY,CAAA;AAMnB,UAAU,eAAe;IACvB,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,EAAE,iBAAiB,EAAE,CAAA;IAC/B,kBAAkB,EAAE,mBAAmB,EAAE,CAAA;IACzC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,gBAAgB,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,CA+C1B"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/ci/executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gBAAgB,EAEhB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,YAAY,CAAA;AAMnB,UAAU,eAAe;IACvB,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,EAAE,iBAAiB,EAAE,CAAA;IAC/B,kBAAkB,EAAE,mBAAmB,EAAE,CAAA;IACzC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,gBAAgB,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,CA+C1B"}
@@ -1,6 +1,7 @@
1
1
  import { executePortalTask, checkToolAvailability, checkAIAvailability } from '../portal-executor.js';
2
2
  import { scanTools } from '../execution/tool-runner.js';
3
3
  import { callProviderLLM } from '../matchers/index.js';
4
+ import { prepareOutputForJudge } from '../core/judge-utils.js';
4
5
  /**
5
6
  * Execute a test (single-step or full-flow) according to its configuration.
6
7
  */
@@ -476,12 +477,14 @@ async function evaluateLLMJudge(exp, runs) {
476
477
  const outputStr = typeof run.output === 'string'
477
478
  ? run.output
478
479
  : JSON.stringify(run.output ?? '');
480
+ const preparedOutput = prepareOutputForJudge(outputStr, exp.judge_prompt);
479
481
  const evalPrompt = `${exp.judge_prompt}
480
482
 
481
- Output to evaluate:
482
- ${outputStr}
483
+ <output>
484
+ ${preparedOutput}
485
+ </output>
483
486
 
484
- Score this output on a scale of 0-10. Respond with only the number.`;
487
+ Based on the evaluation criteria above, score this output on a scale of 0-10. Respond with only the number.`;
485
488
  try {
486
489
  const provider = exp.judge_provider || 'openai';
487
490
  const result = await callProviderLLM(evalPrompt, { provider, model: exp.judge_model ?? undefined }, 'You are an expert test judge. Return only a number between 0 and 10.', 16, 0);
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/ci/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/ci/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * judge-utils.ts
3
+ *
4
+ * Utilities for preprocessing outputs before sending to LLM-as-a-judge evaluators.
5
+ * Addresses two problems:
6
+ * 1. Large outputs cause slow inference
7
+ * 2. LLMs miss attributes in large JSON payloads due to attention degradation
8
+ */
9
+ /**
10
+ * Prepare an output string for LLM judge evaluation.
11
+ *
12
+ * - Small outputs (< maxChars) pass through unchanged.
13
+ * - Large JSON outputs: extracts subtrees whose keys match keywords from the judge prompt.
14
+ * - Large non-JSON outputs: truncates with head + tail and a marker in between.
15
+ *
16
+ * @param output - The raw output string to prepare.
17
+ * @param judgePrompt - The judge/evaluation prompt, used to identify relevant JSON keys.
18
+ * @param maxChars - Maximum character budget for the prepared output. Default 8000.
19
+ * @returns The prepared output string, possibly trimmed.
20
+ */
21
+ export declare function prepareOutputForJudge(output: string, judgePrompt: string, maxChars?: number): string;
22
+ //# sourceMappingURL=judge-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"judge-utils.d.ts","sourceRoot":"","sources":["../../src/core/judge-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAA0B,GACnC,MAAM,CAUR"}
@@ -0,0 +1,209 @@
1
+ /**
2
+ * judge-utils.ts
3
+ *
4
+ * Utilities for preprocessing outputs before sending to LLM-as-a-judge evaluators.
5
+ * Addresses two problems:
6
+ * 1. Large outputs cause slow inference
7
+ * 2. LLMs miss attributes in large JSON payloads due to attention degradation
8
+ */
9
+ const DEFAULT_MAX_CHARS = 8000;
10
+ const MAX_STRING_VALUE_LENGTH = 500;
11
+ const MAX_ARRAY_EDGE_ITEMS = 5;
12
+ /**
13
+ * Prepare an output string for LLM judge evaluation.
14
+ *
15
+ * - Small outputs (< maxChars) pass through unchanged.
16
+ * - Large JSON outputs: extracts subtrees whose keys match keywords from the judge prompt.
17
+ * - Large non-JSON outputs: truncates with head + tail and a marker in between.
18
+ *
19
+ * @param output - The raw output string to prepare.
20
+ * @param judgePrompt - The judge/evaluation prompt, used to identify relevant JSON keys.
21
+ * @param maxChars - Maximum character budget for the prepared output. Default 8000.
22
+ * @returns The prepared output string, possibly trimmed.
23
+ */
24
+ export function prepareOutputForJudge(output, judgePrompt, maxChars = DEFAULT_MAX_CHARS) {
25
+ if (!output)
26
+ return output;
27
+ if (output.length <= maxChars)
28
+ return output;
29
+ // Try JSON-aware extraction first
30
+ const jsonResult = tryJsonExtract(output, judgePrompt, maxChars);
31
+ if (jsonResult !== null)
32
+ return jsonResult;
33
+ // Fallback: head/tail truncation for non-JSON or unparseable content
34
+ return truncateHeadTail(output, maxChars);
35
+ }
36
+ /**
37
+ * Attempt to parse the output as JSON and extract only the subtrees
38
+ * whose keys are relevant to the judge prompt.
39
+ * Returns null if the output is not valid JSON.
40
+ */
41
+ function tryJsonExtract(output, judgePrompt, maxChars) {
42
+ let parsed;
43
+ try {
44
+ parsed = JSON.parse(output);
45
+ }
46
+ catch {
47
+ return null;
48
+ }
49
+ if (typeof parsed !== 'object' || parsed === null)
50
+ return null;
51
+ const keywords = extractKeywords(judgePrompt);
52
+ if (keywords.length === 0) {
53
+ // No keywords to match — truncate large values then serialize
54
+ const trimmed = truncateJsonValues(parsed);
55
+ const trimmedStr = JSON.stringify(trimmed, null, 2);
56
+ if (trimmedStr.length <= maxChars)
57
+ return trimmedStr;
58
+ return truncateHeadTail(trimmedStr, maxChars);
59
+ }
60
+ const extracted = extractRelevantPaths(parsed, keywords);
61
+ // If extraction found relevant content, truncate large values then serialize
62
+ if (extracted !== undefined && Object.keys(extracted).length > 0) {
63
+ const trimmed = truncateJsonValues(extracted);
64
+ const extractedStr = JSON.stringify(trimmed, null, 2);
65
+ if (extractedStr.length <= maxChars) {
66
+ const omittedKeys = countOmittedKeys(parsed, extracted);
67
+ if (omittedKeys > 0) {
68
+ return `${extractedStr}\n\n[Note: ${omittedKeys} irrelevant key(s) omitted from original output for brevity. Total original size: ${output.length} chars.]`;
69
+ }
70
+ return extractedStr;
71
+ }
72
+ // Extracted content is still too large — truncate it
73
+ return truncateHeadTail(extractedStr, maxChars);
74
+ }
75
+ // Extraction found nothing relevant — truncate values in full object
76
+ const trimmedFull = truncateJsonValues(parsed);
77
+ const trimmedFullStr = JSON.stringify(trimmedFull, null, 2);
78
+ if (trimmedFullStr.length <= maxChars)
79
+ return trimmedFullStr;
80
+ return truncateHeadTail(trimmedFullStr, maxChars);
81
+ }
82
+ /**
83
+ * Extract lowercase keywords from the judge prompt.
84
+ * Filters out common stop words and short tokens.
85
+ */
86
+ function extractKeywords(prompt) {
87
+ const stopWords = new Set([
88
+ 'the', 'a', 'an', 'is', 'are', 'was', 'were', 'be', 'been', 'being',
89
+ 'have', 'has', 'had', 'do', 'does', 'did', 'will', 'would', 'could',
90
+ 'should', 'may', 'might', 'shall', 'can', 'need', 'must',
91
+ 'and', 'or', 'but', 'if', 'then', 'else', 'when', 'where', 'how',
92
+ 'what', 'which', 'who', 'whom', 'this', 'that', 'these', 'those',
93
+ 'it', 'its', 'of', 'in', 'on', 'at', 'to', 'for', 'with', 'by',
94
+ 'from', 'as', 'into', 'about', 'between', 'through', 'after', 'before',
95
+ 'not', 'no', 'nor', 'only', 'also', 'just', 'more', 'most', 'very',
96
+ 'all', 'each', 'every', 'any', 'some', 'such', 'than', 'too',
97
+ 'output', 'evaluate', 'score', 'check', 'whether', 'contains',
98
+ 'following', 'given', 'based', 'respond', 'number', 'scale',
99
+ 'text', 'result', 'response', 'answer', 'return', 'value',
100
+ ]);
101
+ const words = prompt
102
+ .toLowerCase()
103
+ .replace(/[^a-z0-9_\s-]/g, ' ')
104
+ .split(/\s+/)
105
+ .filter(w => w.length > 2 && !stopWords.has(w));
106
+ return [...new Set(words)];
107
+ }
108
+ /**
109
+ * Recursively extract object entries whose keys match any of the keywords.
110
+ * For arrays, preserves items that contain matching keys.
111
+ */
112
+ function extractRelevantPaths(obj, keywords) {
113
+ if (Array.isArray(obj)) {
114
+ // For arrays: keep items that have relevant keys, limit to first few items
115
+ const relevant = obj
116
+ .map(item => extractRelevantPaths(item, keywords))
117
+ .filter(item => item !== undefined);
118
+ if (relevant.length === 0)
119
+ return undefined;
120
+ return relevant;
121
+ }
122
+ if (typeof obj === 'object' && obj !== null) {
123
+ const result = {};
124
+ let hasMatch = false;
125
+ for (const [key, value] of Object.entries(obj)) {
126
+ const keyLower = key.toLowerCase();
127
+ const keyMatchesDirectly = keywords.some(kw => keyLower.includes(kw) || kw.includes(keyLower));
128
+ if (keyMatchesDirectly) {
129
+ result[key] = value;
130
+ hasMatch = true;
131
+ }
132
+ else if (typeof value === 'object' && value !== null) {
133
+ // Recurse into nested objects/arrays
134
+ const nested = extractRelevantPaths(value, keywords);
135
+ if (nested !== undefined) {
136
+ result[key] = nested;
137
+ hasMatch = true;
138
+ }
139
+ }
140
+ }
141
+ return hasMatch ? result : undefined;
142
+ }
143
+ return undefined;
144
+ }
145
+ /**
146
+ * Recursively truncate large values inside a JSON structure.
147
+ * - Long strings: keep first/last portions with a marker in between.
148
+ * - Long arrays: keep first 5 and last 5 items, skip the rest with a marker.
149
+ */
150
+ function truncateJsonValues(obj) {
151
+ if (obj === null || obj === undefined)
152
+ return obj;
153
+ if (typeof obj === 'string') {
154
+ if (obj.length <= MAX_STRING_VALUE_LENGTH)
155
+ return obj;
156
+ const headLen = Math.floor(MAX_STRING_VALUE_LENGTH * 0.6);
157
+ const tailLen = MAX_STRING_VALUE_LENGTH - headLen;
158
+ return `${obj.slice(0, headLen)}...[${obj.length - headLen - tailLen} chars truncated]...${obj.slice(obj.length - tailLen)}`;
159
+ }
160
+ if (Array.isArray(obj)) {
161
+ if (obj.length <= MAX_ARRAY_EDGE_ITEMS * 2) {
162
+ return obj.map(item => truncateJsonValues(item));
163
+ }
164
+ const head = obj.slice(0, MAX_ARRAY_EDGE_ITEMS).map(item => truncateJsonValues(item));
165
+ const tail = obj.slice(obj.length - MAX_ARRAY_EDGE_ITEMS).map(item => truncateJsonValues(item));
166
+ const skipped = obj.length - MAX_ARRAY_EDGE_ITEMS * 2;
167
+ return [...head, `[...${skipped} items skipped...]`, ...tail];
168
+ }
169
+ if (typeof obj === 'object') {
170
+ const result = {};
171
+ for (const [key, value] of Object.entries(obj)) {
172
+ result[key] = truncateJsonValues(value);
173
+ }
174
+ return result;
175
+ }
176
+ return obj;
177
+ }
178
+ /**
179
+ * Count how many top-level keys from the original object are not in the extracted object.
180
+ */
181
+ function countOmittedKeys(original, extracted) {
182
+ if (typeof original !== 'object' || original === null)
183
+ return 0;
184
+ if (typeof extracted !== 'object' || extracted === null)
185
+ return 0;
186
+ if (Array.isArray(original))
187
+ return 0;
188
+ const origKeys = Object.keys(original);
189
+ const extKeys = new Set(Object.keys(extracted));
190
+ return origKeys.filter(k => !extKeys.has(k)).length;
191
+ }
192
+ /**
193
+ * Truncate a string by keeping the head and tail portions,
194
+ * inserting a marker in the middle.
195
+ */
196
+ function truncateHeadTail(text, maxChars) {
197
+ if (text.length <= maxChars)
198
+ return text;
199
+ // Reserve space for the marker
200
+ const marker = `\n\n[...truncated ${text.length - maxChars} chars out of ${text.length} total...]\n\n`;
201
+ const available = maxChars - marker.length;
202
+ if (available <= 0)
203
+ return text.slice(0, maxChars);
204
+ // 70% head, 30% tail — head is usually more important
205
+ const headSize = Math.floor(available * 0.7);
206
+ const tailSize = available - headSize;
207
+ return text.slice(0, headSize) + marker + text.slice(text.length - tailSize);
208
+ }
209
+ //# sourceMappingURL=judge-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"judge-utils.js","sourceRoot":"","sources":["../../src/core/judge-utils.ts"],"names":[],"mappings":"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"}