@axlsdk/eval 0.23.1 → 0.23.2

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/cli.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  rescore,
7
7
  runEval,
8
8
  scorerCounts
9
- } from "./chunk-FQHKBSZD.js";
9
+ } from "./chunk-AFUNZE7W.js";
10
10
 
11
11
  // src/cli.ts
12
12
  import { readdirSync, statSync } from "fs";
package/dist/index.cjs CHANGED
@@ -393,6 +393,18 @@ function extractUserMetadata(result, label = "executeWorkflow") {
393
393
  }
394
394
  return meta;
395
395
  }
396
+ function mergeMetadata(tracked, user) {
397
+ const merged = { ...tracked, ...user };
398
+ for (const [list, counts] of [
399
+ ["models", "modelCallCounts"],
400
+ ["workflows", "workflowCallCounts"]
401
+ ]) {
402
+ if (user && Object.hasOwn(user, list) && !Object.hasOwn(user, counts)) {
403
+ delete merged[counts];
404
+ }
405
+ }
406
+ return merged;
407
+ }
396
408
  async function runEval(config, executeWorkflow, runtime, options) {
397
409
  const startTime = Date.now();
398
410
  const id = (0, import_node_crypto.randomUUID)();
@@ -476,7 +488,7 @@ async function runEval(config, executeWorkflow, runtime, options) {
476
488
  evalItem.output = tracked.result.output;
477
489
  evalItem.cost = extractUserCost(tracked.result) ?? tracked.cost;
478
490
  if (tracked.unpriced) evalItem.unpriced = true;
479
- evalItem.metadata = extractUserMetadata(tracked.result) ?? tracked.metadata;
491
+ evalItem.metadata = mergeMetadata(tracked.metadata, extractUserMetadata(tracked.result));
480
492
  absorbTiming(tracked.modelTiming, evalItem);
481
493
  if (tracked.traces && tracked.traces.length > 0) {
482
494
  evalItem.traces = tracked.traces;
@@ -486,6 +498,7 @@ async function runEval(config, executeWorkflow, runtime, options) {
486
498
  }
487
499
  } else {
488
500
  let trackedTiming;
501
+ let trackedMetadata;
489
502
  let result;
490
503
  if (typeof runtime.trackExecution === "function") {
491
504
  const tracked = await runtime.trackExecution(
@@ -494,6 +507,7 @@ async function runEval(config, executeWorkflow, runtime, options) {
494
507
  );
495
508
  result = tracked.result;
496
509
  trackedTiming = tracked.modelTiming;
510
+ trackedMetadata = tracked.metadata;
497
511
  } else {
498
512
  result = await executeWorkflow(item.input, runtime);
499
513
  }
@@ -501,7 +515,7 @@ async function runEval(config, executeWorkflow, runtime, options) {
501
515
  evalItem.output = result.output;
502
516
  evalItem.cost = extractUserCost(result);
503
517
  const meta = extractUserMetadata(result);
504
- if (meta) evalItem.metadata = meta;
518
+ if (trackedMetadata || meta) evalItem.metadata = mergeMetadata(trackedMetadata, meta);
505
519
  absorbTiming(trackedTiming, evalItem);
506
520
  if (evalItem.cost != null) {
507
521
  totalCost += evalItem.cost;