judgeval 0.2.3 → 0.2.5

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 (110) hide show
  1. package/dist/cjs/common/logger.js +28 -24
  2. package/dist/cjs/common/logger.js.map +1 -1
  3. package/dist/cjs/common/tracer.js +104 -130
  4. package/dist/cjs/common/tracer.js.map +1 -1
  5. package/dist/cjs/constants.js +2 -1
  6. package/dist/cjs/constants.js.map +1 -1
  7. package/dist/cjs/data/datasets/eval-dataset-client.js +45 -0
  8. package/dist/cjs/data/datasets/eval-dataset-client.js.map +1 -1
  9. package/dist/cjs/e2etests/eval-operations.test.js +3 -3
  10. package/dist/cjs/exporters/otel-exporter.js +352 -0
  11. package/dist/cjs/exporters/otel-exporter.js.map +1 -0
  12. package/dist/cjs/judges/index.js +217 -0
  13. package/dist/cjs/judges/index.js.map +1 -0
  14. package/dist/cjs/run-evaluation.js +13 -13
  15. package/dist/cjs/run-evaluation.js.map +1 -1
  16. package/dist/cjs/scorers/metrics/answer-correctness/answer-correctness.js +610 -0
  17. package/dist/cjs/scorers/metrics/answer-correctness/answer-correctness.js.map +1 -0
  18. package/dist/cjs/scorers/metrics/answer-correctness/index.js +19 -0
  19. package/dist/cjs/scorers/metrics/answer-correctness/index.js.map +1 -0
  20. package/dist/cjs/scorers/metrics/answer-correctness/prompts.js +175 -0
  21. package/dist/cjs/scorers/metrics/answer-correctness/prompts.js.map +1 -0
  22. package/dist/cjs/scorers/metrics/answer-relevancy/answer-relevancy.js +525 -0
  23. package/dist/cjs/scorers/metrics/answer-relevancy/answer-relevancy.js.map +1 -0
  24. package/dist/cjs/scorers/metrics/answer-relevancy/index.js +19 -0
  25. package/dist/cjs/scorers/metrics/answer-relevancy/index.js.map +1 -0
  26. package/dist/cjs/scorers/metrics/answer-relevancy/prompts.js +179 -0
  27. package/dist/cjs/scorers/metrics/answer-relevancy/prompts.js.map +1 -0
  28. package/dist/cjs/scorers/metrics/faithfulness/faithfulness.js +524 -0
  29. package/dist/cjs/scorers/metrics/faithfulness/faithfulness.js.map +1 -0
  30. package/dist/cjs/scorers/metrics/faithfulness/index.js +19 -0
  31. package/dist/cjs/scorers/metrics/faithfulness/index.js.map +1 -0
  32. package/dist/cjs/scorers/metrics/faithfulness/prompts.js +232 -0
  33. package/dist/cjs/scorers/metrics/faithfulness/prompts.js.map +1 -0
  34. package/dist/cjs/scorers/metrics/hallucination/hallucination.js +390 -0
  35. package/dist/cjs/scorers/metrics/hallucination/hallucination.js.map +1 -0
  36. package/dist/cjs/scorers/metrics/hallucination/index.js +11 -0
  37. package/dist/cjs/scorers/metrics/hallucination/index.js.map +1 -0
  38. package/dist/cjs/scorers/metrics/hallucination/prompts.js +106 -0
  39. package/dist/cjs/scorers/metrics/hallucination/prompts.js.map +1 -0
  40. package/dist/cjs/scorers/metrics/instruction-adherence/index.js +19 -0
  41. package/dist/cjs/scorers/metrics/instruction-adherence/index.js.map +1 -0
  42. package/dist/cjs/scorers/metrics/instruction-adherence/instruction-adherence.js +382 -0
  43. package/dist/cjs/scorers/metrics/instruction-adherence/instruction-adherence.js.map +1 -0
  44. package/dist/cjs/scorers/metrics/instruction-adherence/prompts.js +124 -0
  45. package/dist/cjs/scorers/metrics/instruction-adherence/prompts.js.map +1 -0
  46. package/dist/esm/common/logger.js +16 -11
  47. package/dist/esm/common/logger.js.map +1 -1
  48. package/dist/esm/common/tracer.js +102 -128
  49. package/dist/esm/common/tracer.js.map +1 -1
  50. package/dist/esm/constants.js +1 -0
  51. package/dist/esm/constants.js.map +1 -1
  52. package/dist/esm/data/datasets/eval-dataset-client.js +46 -1
  53. package/dist/esm/data/datasets/eval-dataset-client.js.map +1 -1
  54. package/dist/esm/e2etests/eval-operations.test.js +3 -3
  55. package/dist/esm/exporters/otel-exporter.js +348 -0
  56. package/dist/esm/exporters/otel-exporter.js.map +1 -0
  57. package/dist/esm/judges/index.js +185 -0
  58. package/dist/esm/judges/index.js.map +1 -0
  59. package/dist/esm/scorers/metrics/answer-correctness/answer-correctness.js +601 -0
  60. package/dist/esm/scorers/metrics/answer-correctness/answer-correctness.js.map +1 -0
  61. package/dist/esm/scorers/metrics/answer-correctness/index.js +3 -0
  62. package/dist/esm/scorers/metrics/answer-correctness/index.js.map +1 -0
  63. package/dist/esm/scorers/metrics/answer-correctness/prompts.js +171 -0
  64. package/dist/esm/scorers/metrics/answer-correctness/prompts.js.map +1 -0
  65. package/dist/esm/scorers/metrics/answer-relevancy/answer-relevancy.js +521 -0
  66. package/dist/esm/scorers/metrics/answer-relevancy/answer-relevancy.js.map +1 -0
  67. package/dist/esm/scorers/metrics/answer-relevancy/index.js +3 -0
  68. package/dist/esm/scorers/metrics/answer-relevancy/index.js.map +1 -0
  69. package/dist/esm/scorers/metrics/answer-relevancy/prompts.js +175 -0
  70. package/dist/esm/scorers/metrics/answer-relevancy/prompts.js.map +1 -0
  71. package/dist/esm/scorers/metrics/faithfulness/faithfulness.js +520 -0
  72. package/dist/esm/scorers/metrics/faithfulness/faithfulness.js.map +1 -0
  73. package/dist/esm/scorers/metrics/faithfulness/index.js +3 -0
  74. package/dist/esm/scorers/metrics/faithfulness/index.js.map +1 -0
  75. package/dist/esm/scorers/metrics/faithfulness/prompts.js +228 -0
  76. package/dist/esm/scorers/metrics/faithfulness/prompts.js.map +1 -0
  77. package/dist/esm/scorers/metrics/hallucination/hallucination.js +386 -0
  78. package/dist/esm/scorers/metrics/hallucination/hallucination.js.map +1 -0
  79. package/dist/esm/scorers/metrics/hallucination/index.js +3 -0
  80. package/dist/esm/scorers/metrics/hallucination/index.js.map +1 -0
  81. package/dist/esm/scorers/metrics/hallucination/prompts.js +102 -0
  82. package/dist/esm/scorers/metrics/hallucination/prompts.js.map +1 -0
  83. package/dist/esm/scorers/metrics/instruction-adherence/index.js +3 -0
  84. package/dist/esm/scorers/metrics/instruction-adherence/index.js.map +1 -0
  85. package/dist/esm/scorers/metrics/instruction-adherence/instruction-adherence.js +378 -0
  86. package/dist/esm/scorers/metrics/instruction-adherence/instruction-adherence.js.map +1 -0
  87. package/dist/esm/scorers/metrics/instruction-adherence/prompts.js +120 -0
  88. package/dist/esm/scorers/metrics/instruction-adherence/prompts.js.map +1 -0
  89. package/dist/types/common/logger.d.ts +1 -1
  90. package/dist/types/common/tracer.d.ts +6 -0
  91. package/dist/types/constants.d.ts +1 -0
  92. package/dist/types/data/datasets/eval-dataset-client.d.ts +5 -0
  93. package/dist/types/exporters/otel-exporter.d.ts +16 -0
  94. package/dist/types/judges/index.d.ts +50 -0
  95. package/dist/types/scorers/metrics/answer-correctness/answer-correctness.d.ts +99 -0
  96. package/dist/types/scorers/metrics/answer-correctness/index.d.ts +2 -0
  97. package/dist/types/scorers/metrics/answer-correctness/prompts.d.ts +71 -0
  98. package/dist/types/scorers/metrics/answer-relevancy/answer-relevancy.d.ts +78 -0
  99. package/dist/types/scorers/metrics/answer-relevancy/index.d.ts +2 -0
  100. package/dist/types/scorers/metrics/answer-relevancy/prompts.d.ts +71 -0
  101. package/dist/types/scorers/metrics/faithfulness/faithfulness.d.ts +77 -0
  102. package/dist/types/scorers/metrics/faithfulness/index.d.ts +2 -0
  103. package/dist/types/scorers/metrics/faithfulness/prompts.d.ts +94 -0
  104. package/dist/types/scorers/metrics/hallucination/hallucination.d.ts +67 -0
  105. package/dist/types/scorers/metrics/hallucination/index.d.ts +3 -0
  106. package/dist/types/scorers/metrics/hallucination/prompts.d.ts +63 -0
  107. package/dist/types/scorers/metrics/instruction-adherence/index.d.ts +2 -0
  108. package/dist/types/scorers/metrics/instruction-adherence/instruction-adherence.d.ts +67 -0
  109. package/dist/types/scorers/metrics/instruction-adherence/prompts.d.ts +78 -0
  110. package/package.json +32 -14
@@ -6,7 +6,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6
6
  return (mod && mod.__esModule) ? mod : { "default": mod };
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.print = exports.printResults = exports.formatEvaluationResults = exports.withExampleContext = exports.clearExampleContext = exports.setExampleContext = exports.error = exports.warn = exports.warning = exports.info = exports.log = exports.debug = void 0;
9
+ exports.debug = debug;
10
+ exports.log = log;
11
+ exports.info = info;
12
+ exports.warning = warning;
13
+ exports.warn = warn;
14
+ exports.error = error;
15
+ exports.setExampleContext = setExampleContext;
16
+ exports.clearExampleContext = clearExampleContext;
17
+ exports.withExampleContext = withExampleContext;
18
+ exports.formatEvaluationResults = formatEvaluationResults;
19
+ exports.printResults = printResults;
20
+ exports.print = print;
10
21
  // Remove fs and path imports if no longer needed
11
22
  // import * as fs from 'fs';
12
23
  // import * as path from 'path';
@@ -18,49 +29,48 @@ let currentTimestamp = null;
18
29
  * Log a debug message
19
30
  */
20
31
  function debug(message, meta) {
21
- logger_instance_js_1.default.debug(message, Object.assign(Object.assign({}, meta), { exampleId: currentExampleId, timestamp: currentTimestamp }));
32
+ // Prioritize meta.exampleId over currentExampleId
33
+ const exampleId = (meta === null || meta === void 0 ? void 0 : meta.exampleId) !== undefined ? meta.exampleId : currentExampleId;
34
+ logger_instance_js_1.default.debug(message, Object.assign(Object.assign({}, meta), { exampleId, timestamp: currentTimestamp }));
22
35
  }
23
- exports.debug = debug;
24
36
  /**
25
37
  * Log an info message (alias for info)
26
38
  */
27
- function log(message, ...args) {
28
- // Simple handling for additional args, could be improved
29
- let meta = { args: [] };
30
- if (args.length > 0) {
31
- meta = { args: args };
32
- }
33
- logger_instance_js_1.default.info(message, Object.assign(Object.assign({}, meta), { exampleId: currentExampleId, timestamp: currentTimestamp }));
39
+ function log(message, meta) {
40
+ // Prioritize meta.exampleId over currentExampleId
41
+ const exampleId = (meta === null || meta === void 0 ? void 0 : meta.exampleId) !== undefined ? meta.exampleId : currentExampleId;
42
+ logger_instance_js_1.default.info(message, Object.assign(Object.assign({}, meta), { exampleId, timestamp: currentTimestamp }));
34
43
  }
35
- exports.log = log;
36
44
  /**
37
45
  * Log an info message
38
46
  */
39
47
  function info(message, meta) {
40
- logger_instance_js_1.default.info(message, Object.assign(Object.assign({}, meta), { exampleId: currentExampleId, timestamp: currentTimestamp }));
48
+ // Prioritize meta.exampleId over currentExampleId
49
+ const exampleId = (meta === null || meta === void 0 ? void 0 : meta.exampleId) !== undefined ? meta.exampleId : currentExampleId;
50
+ logger_instance_js_1.default.info(message, Object.assign(Object.assign({}, meta), { exampleId, timestamp: currentTimestamp }));
41
51
  }
42
- exports.info = info;
43
52
  /**
44
53
  * Log a warning message
45
54
  */
46
55
  function warning(message, meta) {
47
- logger_instance_js_1.default.warn(message, Object.assign(Object.assign({}, meta), { exampleId: currentExampleId, timestamp: currentTimestamp }));
56
+ // Prioritize meta.exampleId over currentExampleId
57
+ const exampleId = (meta === null || meta === void 0 ? void 0 : meta.exampleId) !== undefined ? meta.exampleId : currentExampleId;
58
+ logger_instance_js_1.default.warn(message, Object.assign(Object.assign({}, meta), { exampleId, timestamp: currentTimestamp }));
48
59
  }
49
- exports.warning = warning;
50
60
  /**
51
61
  * Alias for warning
52
62
  */
53
63
  function warn(message, meta) {
54
64
  warning(message, meta);
55
65
  }
56
- exports.warn = warn;
57
66
  /**
58
67
  * Log an error message
59
68
  */
60
69
  function error(message, meta) {
61
- logger_instance_js_1.default.error(message, Object.assign(Object.assign({}, meta), { exampleId: currentExampleId, timestamp: currentTimestamp }));
70
+ // Prioritize meta.exampleId over currentExampleId
71
+ const exampleId = (meta === null || meta === void 0 ? void 0 : meta.exampleId) !== undefined ? meta.exampleId : currentExampleId;
72
+ logger_instance_js_1.default.error(message, Object.assign(Object.assign({}, meta), { exampleId, timestamp: currentTimestamp }));
62
73
  }
63
- exports.error = error;
64
74
  /**
65
75
  * Set the current example context for logging (Keep for potential context integration)
66
76
  */
@@ -68,7 +78,6 @@ function setExampleContext(exampleId, timestamp) {
68
78
  currentExampleId = exampleId;
69
79
  currentTimestamp = timestamp;
70
80
  }
71
- exports.setExampleContext = setExampleContext;
72
81
  /**
73
82
  * Clear the current example context (Keep for potential context integration)
74
83
  */
@@ -76,7 +85,6 @@ function clearExampleContext() {
76
85
  currentExampleId = null;
77
86
  currentTimestamp = null;
78
87
  }
79
- exports.clearExampleContext = clearExampleContext;
80
88
  /**
81
89
  * Create a context for example-specific logging (Keep for potential context integration)
82
90
  */
@@ -89,7 +97,6 @@ function withExampleContext(exampleId, timestamp, fn) {
89
97
  clearExampleContext();
90
98
  }
91
99
  }
92
- exports.withExampleContext = withExampleContext;
93
100
  /**
94
101
  * Format evaluation results for display
95
102
  * This matches the Python SDK's output format with clickable links
@@ -127,7 +134,6 @@ function formatEvaluationResults(results, projectName, evalName) {
127
134
  }
128
135
  return output;
129
136
  }
130
- exports.formatEvaluationResults = formatEvaluationResults;
131
137
  /**
132
138
  * Print evaluation results to the console
133
139
  * This matches the Python SDK's output format exactly
@@ -150,7 +156,6 @@ function printResults(results, projectName, evalName) {
150
156
  // Print raw results in the same format as Python SDK
151
157
  console.log(JSON.stringify(results, null, 2));
152
158
  }
153
- exports.printResults = printResults;
154
159
  /**
155
160
  * Simplified print function for results - matches Python SDK's print(results) behavior
156
161
  * This is the preferred way to print results
@@ -217,5 +222,4 @@ function print(data) {
217
222
  console.log(JSON.stringify(data, null, 2));
218
223
  }
219
224
  }
220
- exports.print = print;
221
225
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.TraceManagerClient = exports.TraceClient = exports.Tracer = exports.wrap = void 0;
15
+ exports.TraceManagerClient = exports.TraceClient = exports.Tracer = void 0;
16
+ exports.wrap = wrap;
16
17
  // Core Node.js imports
17
18
  const uuid_1 = require("uuid");
18
19
  const async_hooks_1 = require("async_hooks");
@@ -49,6 +50,10 @@ function asyncFunctionWrapper(func) {
49
50
  }
50
51
  const result = yield traceClientContextAsyncLocalStorage
51
52
  .run(traceClientContext, () => func(...args));
53
+ if (traceClientContext.entries.length > parentTraceClientContext.entries.length) {
54
+ [traceClientContext.entries, parentTraceClientContext.entries] =
55
+ [parentTraceClientContext.entries, traceClientContext.entries];
56
+ }
52
57
  parentTraceClientContext.entries.push(...traceClientContext.entries);
53
58
  return result;
54
59
  });
@@ -380,6 +385,26 @@ class TraceClient {
380
385
  this.endSpan();
381
386
  }
382
387
  }
388
+ /**
389
+ * Retrieves the ID of the currently active span in this trace context.
390
+ * Relies on AsyncLocalStorage context established by observe/span.
391
+ * @returns {string | undefined} The ID of the current span, or undefined if none is active.
392
+ */
393
+ getCurrentSpanId() {
394
+ const traceClientContext = getTraceClientContext(); // Internal function using AsyncLocalStorage
395
+ if (!traceClientContext) {
396
+ // Should ideally not happen if called within an observe/trace context
397
+ console.warn("[Judgeval] getCurrentSpanId called outside of an active trace context.");
398
+ return undefined;
399
+ }
400
+ const currentEntry = traceClientContext.entryStack.at(-1); // Get the latest 'enter' entry
401
+ if (!currentEntry) {
402
+ // This might happen if called right at the start of a trace before the first span
403
+ // console.warn("[Judgeval] getCurrentSpanId called but span stack is empty.");
404
+ return undefined;
405
+ }
406
+ return currentEntry.span_id;
407
+ }
383
408
  getDuration() {
384
409
  return (Date.now() / 1000) - this.startTime;
385
410
  }
@@ -495,14 +520,16 @@ class TraceClient {
495
520
  }
496
521
  save() {
497
522
  return __awaiter(this, arguments, void 0, function* (emptySave = false) {
498
- var _a, _b, _c, _d, _e;
499
- if (!this.enableMonitoring || !this.traceManager) {
523
+ var _a, _b;
524
+ // If monitoring is disabled or trace hasn't started, don't save
525
+ if (!this.enableMonitoring || this.startTime === -1 || !this.traceManager) {
526
+ logger_instance_js_1.default.info(`[TraceClient ${this.traceId}] Monitoring disabled or trace not started. Not saving.`);
500
527
  return null;
501
528
  }
502
- const traceClientContext = getTraceClientContext();
503
- const totalDuration = this.getDuration();
504
- // Use the tuple returned by condenseTrace
505
- const [condensedEntries, evaluationRuns] = this.condenseTrace(traceClientContext.entries);
529
+ const endTime = Date.now() / 1000; // Current time in seconds
530
+ const duration = endTime - this.startTime;
531
+ const [condensedEntries, evalRuns] = this.condenseTrace(getTraceClientContext().entries);
532
+ // Calculate token counts and costs
506
533
  const tokenCounts = {
507
534
  prompt_tokens: 0,
508
535
  completion_tokens: 0,
@@ -511,146 +538,94 @@ class TraceClient {
511
538
  completion_tokens_cost_usd: 0.0,
512
539
  total_cost_usd: 0.0
513
540
  };
514
- // First pass: collect all LLM calls with their token counts
515
- const llmCalls = [];
516
- let index = 0;
517
- for (const entry of condensedEntries) {
541
+ // Flatten the condensed entries for iteration
542
+ const flatEntries = [];
543
+ function flatten(entry) {
544
+ flatEntries.push(entry);
545
+ if (entry.children) {
546
+ entry.children.forEach(flatten);
547
+ }
548
+ }
549
+ condensedEntries.forEach(flatten);
550
+ // Use a Set to avoid double-counting tokens from nested calls if structure is complex
551
+ // Note: Assuming span_ids are unique across the trace
552
+ const processedSpanIds = new Set();
553
+ let firstModel = null;
554
+ for (const entry of flatEntries) {
555
+ if (processedSpanIds.has(entry.span_id))
556
+ continue;
557
+ processedSpanIds.add(entry.span_id);
518
558
  if (entry.span_type === 'llm' && ((_a = entry.output) === null || _a === void 0 ? void 0 : _a.usage)) {
519
- const usage = entry.output.usage;
520
- const modelName = ((_b = entry.inputs) === null || _b === void 0 ? void 0 : _b.model) || "";
521
- let promptTokens = 0;
522
- let completionTokens = 0;
523
- // Handle different token naming conventions
524
- if (usage.prompt_tokens !== undefined || usage.completion_tokens !== undefined) {
525
- promptTokens = usage.prompt_tokens || 0;
526
- completionTokens = usage.completion_tokens || 0;
527
- }
528
- else if (usage.input_tokens !== undefined || usage.output_tokens !== undefined) {
529
- promptTokens = usage.input_tokens || 0;
530
- completionTokens = usage.output_tokens || 0;
531
- // Standardize naming
532
- usage.prompt_tokens = promptTokens;
533
- usage.completion_tokens = completionTokens;
534
- delete usage.input_tokens;
535
- delete usage.output_tokens;
536
- }
537
- tokenCounts.prompt_tokens += promptTokens;
538
- tokenCounts.completion_tokens += completionTokens;
539
- tokenCounts.total_tokens += usage.total_tokens || (promptTokens + completionTokens);
540
- // Add to list of calls for cost calculation
541
- if (modelName) {
542
- llmCalls.push({
543
- modelName,
544
- promptTokens,
545
- completionTokens,
546
- entryIndex: index
547
- });
559
+ tokenCounts.prompt_tokens += entry.output.usage.prompt_tokens || 0;
560
+ tokenCounts.completion_tokens += entry.output.usage.completion_tokens || 0;
561
+ // Total tokens are often directly provided, otherwise sum
562
+ tokenCounts.total_tokens += entry.output.usage.total_tokens ||
563
+ ((entry.output.usage.prompt_tokens || 0) +
564
+ (entry.output.usage.completion_tokens || 0));
565
+ // Capture the first model encountered in LLM spans
566
+ if (!firstModel && ((_b = entry.inputs) === null || _b === void 0 ? void 0 : _b.model)) {
567
+ firstModel = entry.inputs.model;
548
568
  }
549
569
  }
550
- index++;
551
570
  }
552
- // Second pass: calculate costs for each LLM call using the API
553
- if (this.traceManager && llmCalls.length > 0) {
554
- // Process each LLM call
555
- for (const call of llmCalls) {
556
- try {
557
- // Get costs from the API
558
- const costs = yield this.traceManager.calculateTokenCosts(call.modelName, call.promptTokens, call.completionTokens);
559
- if (costs) {
560
- // Update the entry with the costs
561
- const entry = condensedEntries[call.entryIndex];
562
- // Ensure output and usage objects exist before assigning costs
563
- if (entry.output && entry.output.usage) {
564
- // --- This part assigns costs to the individual span ---
565
- entry.output.usage.prompt_tokens_cost_usd = costs.prompt_tokens_cost_usd;
566
- entry.output.usage.completion_tokens_cost_usd = costs.completion_tokens_cost_usd;
567
- entry.output.usage.total_cost_usd = costs.total_cost_usd;
568
- logger_instance_js_1.default.debug(`Assigned costs to span ${entry.span_id} (model: ${call.modelName})`, { costs }); // Added debug log
569
- // -----------------------------------------------------
570
- }
571
- else {
572
- logger_instance_js_1.default.warn(`Could not assign costs to span ${entry.span_id} (model: ${call.modelName}): Missing 'output' or 'output.usage' object.`, { output: entry.output }); // Log if structure is missing
573
- }
574
- // Add to the total costs for the trace
575
- tokenCounts.prompt_tokens_cost_usd += (_c = costs.prompt_tokens_cost_usd) !== null && _c !== void 0 ? _c : 0.0;
576
- tokenCounts.completion_tokens_cost_usd += (_d = costs.completion_tokens_cost_usd) !== null && _d !== void 0 ? _d : 0.0;
577
- tokenCounts.total_cost_usd += (_e = costs.total_cost_usd) !== null && _e !== void 0 ? _e : 0.0;
578
- }
579
- else {
580
- // If calculation failed, set costs to null in the entry (matching Python behavior)
581
- const entry = condensedEntries[call.entryIndex];
582
- // Ensure output and usage objects exist before assigning null costs
583
- if (entry.output && entry.output.usage) {
584
- // --- Sets null costs on the individual span ---
585
- entry.output.usage.prompt_tokens_cost_usd = null;
586
- entry.output.usage.completion_tokens_cost_usd = null;
587
- entry.output.usage.total_cost_usd = null;
588
- // ------------------------------------------
589
- }
590
- else {
591
- // Log if we can't even assign null because the structure is missing
592
- logger_instance_js_1.default.warn(`Could not assign null costs to span ${entry.span_id} (model: ${call.modelName}): Missing 'output' or 'output.usage' object.`, { output: entry.output });
593
- }
594
- logger_instance_js_1.default.warn(`Token cost calculation failed for model '${call.modelName}'. Cost information will be null for this span.`); // More specific warning
595
- }
571
+ // <<< NEW: Fetch costs from backend if a model was found and tokens exist >>>
572
+ if (firstModel && (tokenCounts.prompt_tokens > 0 || tokenCounts.completion_tokens > 0)) {
573
+ try {
574
+ const costResponse = yield this.traceManager.calculateTokenCosts(firstModel, tokenCounts.prompt_tokens, tokenCounts.completion_tokens);
575
+ if (costResponse) {
576
+ tokenCounts.prompt_tokens_cost_usd = costResponse.prompt_tokens_cost_usd;
577
+ tokenCounts.completion_tokens_cost_usd = costResponse.completion_tokens_cost_usd;
578
+ tokenCounts.total_cost_usd = costResponse.total_cost_usd;
579
+ logger_instance_js_1.default.info(`[TraceClient ${this.traceId}] Calculated costs for model ${firstModel}: $${tokenCounts.total_cost_usd.toFixed(6)}`);
596
580
  }
597
- catch (e) {
598
- logger_instance_js_1.default.warn(`Error during cost calculation loop for model '${call.modelName}':`, e); // Adjusted logging
599
- // Set costs to null in the entry if an error occurs during the loop iteration
600
- const entry = condensedEntries[call.entryIndex];
601
- // Ensure output and usage objects exist before assigning null costs on error
602
- if (entry.output && entry.output.usage) {
603
- // --- Sets null costs on the individual span on error ---
604
- entry.output.usage.prompt_tokens_cost_usd = null;
605
- entry.output.usage.completion_tokens_cost_usd = null;
606
- entry.output.usage.total_cost_usd = null;
607
- // ----------------------------------------------------
608
- }
609
- else {
610
- // Log if we can't assign null on error because the structure is missing
611
- logger_instance_js_1.default.warn(`Could not assign null costs to span ${entry.span_id} (model: ${call.modelName}) on error: Missing 'output' or 'output.usage' object.`, { output: entry.output });
612
- }
581
+ else {
582
+ logger_instance_js_1.default.warn(`[TraceClient ${this.traceId}] Could not fetch token costs for model ${firstModel}. Costs will be 0.`);
613
583
  }
614
584
  }
585
+ catch (error) {
586
+ logger_instance_js_1.default.error(`[TraceClient ${this.traceId}] Error fetching token costs: ${error}`);
587
+ // Costs remain 0.0
588
+ }
615
589
  }
616
- // Convert rules array to a dictionary (Record<string, Rule>)
617
- const rulesDict = {};
618
- this.rules.forEach(rule => {
619
- var _a;
620
- // Use rule_id if available, otherwise fallback to name
621
- const key = (_a = rule.rule_id) !== null && _a !== void 0 ? _a : rule.name;
622
- rulesDict[key] = rule;
623
- });
590
+ // <<< END NEW >>>
624
591
  const traceData = {
625
592
  trace_id: this.traceId,
626
- name: this.name,
593
+ name: this.name, // Use the sanitized name
627
594
  project_name: this.projectName,
628
- created_at: new Date(this.startTime * 1000).toISOString(),
629
- duration: totalDuration,
595
+ created_at: new Date(this.startTime * 1000).toISOString(), // Convert start time to ISO string
596
+ duration: duration < 0 ? 0 : duration,
630
597
  token_counts: tokenCounts,
631
- entries: condensedEntries,
632
- evaluation_runs: evaluationRuns,
598
+ entries: condensedEntries, // Send the potentially nested structure from condenseTrace
599
+ evaluation_runs: evalRuns, // Send evaluation runs collected
633
600
  overwrite: this.overwrite,
634
601
  parent_trace_id: this.parentTraceId,
635
- parent_name: this.parentName
602
+ parent_name: this.parentName,
636
603
  };
637
- try {
638
- yield this.traceManager.saveTrace(traceData);
639
- logger_instance_js_1.default.info(`Trace ${this.traceId} saved successfully.`);
640
- if (this.enableEvaluations) {
641
- try {
642
- yield this.traceManager.addTraceToEvalQueue(traceData);
643
- logger_instance_js_1.default.info(`Trace ${this.traceId} added to evaluation queue.`);
644
- }
645
- catch (evalError) {
646
- logger_instance_js_1.default.warn(`Failed to add trace ${this.traceId} to evaluation queue.`, { error: evalError instanceof Error ? evalError.message : String(evalError) });
647
- }
648
- }
604
+ // <<< ADD LOGGING HERE >>>
605
+ logger_instance_js_1.default.info(`[TraceClient ${this.traceId}] Payload to be saved:`, JSON.stringify(traceData, null, 2));
606
+ // <<< END LOGGING >>>
607
+ if (emptySave) {
608
+ // Skip actual saving if emptySave is true (used for context management in generators)
609
+ logger_instance_js_1.default.info(`[TraceClient ${this.traceId}] emptySave=true, skipping actual save call.`);
649
610
  return { traceId: this.traceId, traceData };
650
611
  }
612
+ try {
613
+ logger_instance_js_1.default.info(`[TraceClient ${this.traceId}] Calling traceManager.saveTrace...`);
614
+ const response = yield this.traceManager.saveTrace(traceData);
615
+ logger_instance_js_1.default.info(`[TraceClient ${this.traceId}] Trace saved successfully. Response:`, response);
616
+ // Reset trace context after successful save
617
+ getTraceClientContext().entries = [];
618
+ getTraceClientContext().entryStack = [];
619
+ this.startTime = -1; // Reset start time
620
+ return { traceId: this.traceId, traceData: traceData }; // Return payload on success
621
+ }
651
622
  catch (error) {
652
- logger_instance_js_1.default.error(`Failed to save trace ${this.traceId}.`, { error: error instanceof Error ? error.message : String(error) });
653
- return null;
623
+ logger_instance_js_1.default.error(`[TraceClient ${this.traceId}] Error saving trace:`, error);
624
+ // Optionally reset context even on error?
625
+ // getTraceClientContext().entries = [];
626
+ // getTraceClientContext().entryStack = [];
627
+ // this.startTime = -1;
628
+ return null; // Indicate save failure
654
629
  }
655
630
  });
656
631
  }
@@ -1106,5 +1081,4 @@ function wrap(client) {
1106
1081
  }
1107
1082
  return client;
1108
1083
  }
1109
- exports.wrap = wrap;
1110
1084
  //# sourceMappingURL=tracer.js.map