judgeval 0.2.9 → 0.3.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.
Files changed (408) hide show
  1. package/dist/constants.d.ts +2 -0
  2. package/dist/constants.d.ts.map +1 -0
  3. package/dist/constants.js +2 -0
  4. package/dist/constants.js.map +1 -0
  5. package/dist/data/example-params.d.ts +13 -0
  6. package/dist/data/example-params.d.ts.map +1 -0
  7. package/dist/data/example-params.js +12 -0
  8. package/dist/data/example-params.js.map +1 -0
  9. package/dist/data/example.d.ts +4 -0
  10. package/dist/data/example.d.ts.map +1 -0
  11. package/dist/data/example.js +10 -0
  12. package/dist/data/example.js.map +1 -0
  13. package/dist/data/index.d.ts +3 -0
  14. package/dist/data/index.d.ts.map +1 -0
  15. package/dist/data/index.js +3 -0
  16. package/dist/data/index.js.map +1 -0
  17. package/dist/env.d.ts +6 -0
  18. package/dist/env.d.ts.map +1 -0
  19. package/dist/env.js +13 -0
  20. package/dist/env.js.map +1 -0
  21. package/dist/index.d.ts +9 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +2 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/index.mjs +2 -0
  26. package/dist/index.mjs.map +1 -0
  27. package/dist/index.umd.js +2 -0
  28. package/dist/index.umd.js.map +1 -0
  29. package/dist/internal/api/index.d.ts +23 -0
  30. package/dist/internal/api/index.d.ts.map +1 -0
  31. package/dist/internal/api/index.js +132 -0
  32. package/dist/internal/api/index.js.map +1 -0
  33. package/dist/internal/api/models/BaseScorer.d.ts +23 -0
  34. package/dist/internal/api/models/BaseScorer.d.ts.map +1 -0
  35. package/dist/internal/api/models/BaseScorer.js +6 -0
  36. package/dist/internal/api/models/BaseScorer.js.map +1 -0
  37. package/dist/internal/api/models/EvalResults.d.ts +12 -0
  38. package/dist/internal/api/models/EvalResults.d.ts.map +1 -0
  39. package/dist/internal/api/models/EvalResults.js +6 -0
  40. package/dist/internal/api/models/EvalResults.js.map +1 -0
  41. package/dist/internal/api/models/EvalResultsFetch.d.ts +9 -0
  42. package/dist/internal/api/models/EvalResultsFetch.d.ts.map +1 -0
  43. package/dist/internal/api/models/EvalResultsFetch.js +6 -0
  44. package/dist/internal/api/models/EvalResultsFetch.js.map +1 -0
  45. package/dist/internal/api/models/Example.d.ts +10 -0
  46. package/dist/internal/api/models/Example.d.ts.map +1 -0
  47. package/dist/internal/api/models/Example.js +6 -0
  48. package/dist/internal/api/models/Example.js.map +1 -0
  49. package/dist/internal/api/models/ExampleEvaluationRun.d.ts +20 -0
  50. package/dist/internal/api/models/ExampleEvaluationRun.d.ts.map +1 -0
  51. package/dist/internal/api/models/ExampleEvaluationRun.js +6 -0
  52. package/dist/internal/api/models/ExampleEvaluationRun.js.map +1 -0
  53. package/dist/internal/api/models/FetchPromptScorersRequest.d.ts +8 -0
  54. package/dist/internal/api/models/FetchPromptScorersRequest.d.ts.map +1 -0
  55. package/dist/internal/api/models/FetchPromptScorersRequest.js +6 -0
  56. package/dist/internal/api/models/FetchPromptScorersRequest.js.map +1 -0
  57. package/dist/internal/api/models/FetchPromptScorersResponse.d.ts +9 -0
  58. package/dist/internal/api/models/FetchPromptScorersResponse.d.ts.map +1 -0
  59. package/dist/internal/api/models/FetchPromptScorersResponse.js +6 -0
  60. package/dist/internal/api/models/FetchPromptScorersResponse.js.map +1 -0
  61. package/dist/internal/api/models/OtelTraceSpan.d.ts +33 -0
  62. package/dist/internal/api/models/OtelTraceSpan.d.ts.map +1 -0
  63. package/dist/internal/api/models/OtelTraceSpan.js +6 -0
  64. package/dist/internal/api/models/OtelTraceSpan.js.map +1 -0
  65. package/dist/internal/api/models/PromptScorer.d.ts +14 -0
  66. package/dist/internal/api/models/PromptScorer.d.ts.map +1 -0
  67. package/dist/internal/api/models/PromptScorer.js +6 -0
  68. package/dist/internal/api/models/PromptScorer.js.map +1 -0
  69. package/dist/internal/api/models/ResolveProjectNameRequest.d.ts +8 -0
  70. package/dist/internal/api/models/ResolveProjectNameRequest.d.ts.map +1 -0
  71. package/dist/internal/api/models/ResolveProjectNameRequest.js +6 -0
  72. package/dist/internal/api/models/ResolveProjectNameRequest.js.map +1 -0
  73. package/dist/internal/api/models/ResolveProjectNameResponse.d.ts +8 -0
  74. package/dist/internal/api/models/ResolveProjectNameResponse.d.ts.map +1 -0
  75. package/dist/internal/api/models/ResolveProjectNameResponse.js +6 -0
  76. package/dist/internal/api/models/ResolveProjectNameResponse.js.map +1 -0
  77. package/dist/internal/api/models/SavePromptScorerRequest.d.ts +12 -0
  78. package/dist/internal/api/models/SavePromptScorerRequest.d.ts.map +1 -0
  79. package/dist/internal/api/models/SavePromptScorerRequest.js +6 -0
  80. package/dist/internal/api/models/SavePromptScorerRequest.js.map +1 -0
  81. package/dist/internal/api/models/SavePromptScorerResponse.d.ts +9 -0
  82. package/dist/internal/api/models/SavePromptScorerResponse.d.ts.map +1 -0
  83. package/dist/internal/api/models/SavePromptScorerResponse.js +6 -0
  84. package/dist/internal/api/models/SavePromptScorerResponse.js.map +1 -0
  85. package/dist/internal/api/models/ScorerConfig.d.ts +13 -0
  86. package/dist/internal/api/models/ScorerConfig.d.ts.map +1 -0
  87. package/dist/internal/api/models/ScorerConfig.js +6 -0
  88. package/dist/internal/api/models/ScorerConfig.js.map +1 -0
  89. package/dist/internal/api/models/ScorerData.d.ts +17 -0
  90. package/dist/internal/api/models/ScorerData.d.ts.map +1 -0
  91. package/dist/internal/api/models/ScorerData.js +6 -0
  92. package/dist/internal/api/models/ScorerData.js.map +1 -0
  93. package/dist/internal/api/models/ScorerExistsRequest.d.ts +8 -0
  94. package/dist/internal/api/models/ScorerExistsRequest.d.ts.map +1 -0
  95. package/dist/internal/api/models/ScorerExistsRequest.js +6 -0
  96. package/dist/internal/api/models/ScorerExistsRequest.js.map +1 -0
  97. package/dist/internal/api/models/ScorerExistsResponse.d.ts +8 -0
  98. package/dist/internal/api/models/ScorerExistsResponse.d.ts.map +1 -0
  99. package/dist/internal/api/models/ScorerExistsResponse.js +6 -0
  100. package/dist/internal/api/models/ScorerExistsResponse.js.map +1 -0
  101. package/dist/internal/api/models/ScoringResult.d.ts +17 -0
  102. package/dist/internal/api/models/ScoringResult.d.ts.map +1 -0
  103. package/dist/internal/api/models/ScoringResult.js +6 -0
  104. package/dist/internal/api/models/ScoringResult.js.map +1 -0
  105. package/dist/internal/api/models/TraceEvaluationRun.d.ts +18 -0
  106. package/dist/internal/api/models/TraceEvaluationRun.d.ts.map +1 -0
  107. package/dist/internal/api/models/TraceEvaluationRun.js +6 -0
  108. package/dist/internal/api/models/TraceEvaluationRun.js.map +1 -0
  109. package/dist/internal/api/models.d.ts +24 -0
  110. package/dist/internal/api/models.d.ts.map +1 -0
  111. package/dist/internal/api/models.js +24 -0
  112. package/dist/internal/api/models.js.map +1 -0
  113. package/dist/scorers/api-scorer.d.ts +23 -0
  114. package/dist/scorers/api-scorer.d.ts.map +1 -0
  115. package/dist/scorers/api-scorer.js +36 -0
  116. package/dist/scorers/api-scorer.js.map +1 -0
  117. package/dist/scorers/api_scorers/answer-correctness-scorer.d.ts +11 -0
  118. package/dist/scorers/api_scorers/answer-correctness-scorer.d.ts.map +1 -0
  119. package/dist/scorers/api_scorers/answer-correctness-scorer.js +20 -0
  120. package/dist/scorers/api_scorers/answer-correctness-scorer.js.map +1 -0
  121. package/dist/scorers/api_scorers/answer-relevancy-scorer.d.ts +11 -0
  122. package/dist/scorers/api_scorers/answer-relevancy-scorer.d.ts.map +1 -0
  123. package/dist/scorers/api_scorers/answer-relevancy-scorer.js +19 -0
  124. package/dist/scorers/api_scorers/answer-relevancy-scorer.js.map +1 -0
  125. package/dist/scorers/api_scorers/faithfulness-scorer.d.ts +11 -0
  126. package/dist/scorers/api_scorers/faithfulness-scorer.d.ts.map +1 -0
  127. package/dist/scorers/api_scorers/faithfulness-scorer.js +20 -0
  128. package/dist/scorers/api_scorers/faithfulness-scorer.js.map +1 -0
  129. package/dist/scorers/api_scorers/index.d.ts +2 -0
  130. package/dist/scorers/api_scorers/index.d.ts.map +1 -0
  131. package/dist/scorers/api_scorers/index.js +2 -0
  132. package/dist/scorers/api_scorers/index.js.map +1 -0
  133. package/dist/scorers/api_scorers/instruction-adherence-scorer.d.ts +11 -0
  134. package/dist/scorers/api_scorers/instruction-adherence-scorer.d.ts.map +1 -0
  135. package/dist/scorers/api_scorers/instruction-adherence-scorer.js +20 -0
  136. package/dist/scorers/api_scorers/instruction-adherence-scorer.js.map +1 -0
  137. package/dist/scorers/api_scorers/prompt_scorer/base-prompt-scorer.d.ts +48 -0
  138. package/dist/scorers/api_scorers/prompt_scorer/base-prompt-scorer.d.ts.map +1 -0
  139. package/dist/scorers/api_scorers/prompt_scorer/base-prompt-scorer.js +133 -0
  140. package/dist/scorers/api_scorers/prompt_scorer/base-prompt-scorer.js.map +1 -0
  141. package/dist/scorers/api_scorers/prompt_scorer/index.d.ts +5 -0
  142. package/dist/scorers/api_scorers/prompt_scorer/index.d.ts.map +1 -0
  143. package/dist/scorers/api_scorers/prompt_scorer/index.js +5 -0
  144. package/dist/scorers/api_scorers/prompt_scorer/index.js.map +1 -0
  145. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer-utils.d.ts +14 -0
  146. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer-utils.d.ts.map +1 -0
  147. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer-utils.js +44 -0
  148. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer-utils.js.map +1 -0
  149. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer.d.ts +7 -0
  150. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer.d.ts.map +1 -0
  151. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer.js +9 -0
  152. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer.js.map +1 -0
  153. package/dist/scorers/api_scorers/prompt_scorer/trace-prompt-scorer.d.ts +6 -0
  154. package/dist/scorers/api_scorers/prompt_scorer/trace-prompt-scorer.d.ts.map +1 -0
  155. package/dist/scorers/api_scorers/prompt_scorer/trace-prompt-scorer.js +8 -0
  156. package/dist/scorers/api_scorers/prompt_scorer/trace-prompt-scorer.js.map +1 -0
  157. package/dist/scorers/base-scorer.d.ts +10 -0
  158. package/dist/scorers/base-scorer.d.ts.map +1 -0
  159. package/dist/scorers/base-scorer.js +41 -0
  160. package/dist/scorers/base-scorer.js.map +1 -0
  161. package/dist/scorers/index.d.ts +4 -0
  162. package/dist/scorers/index.d.ts.map +1 -0
  163. package/dist/scorers/index.js +4 -0
  164. package/dist/scorers/index.js.map +1 -0
  165. package/dist/tracer/OpenTelemetryKeys.d.ts +12 -0
  166. package/dist/tracer/OpenTelemetryKeys.d.ts.map +1 -0
  167. package/dist/tracer/OpenTelemetryKeys.js +12 -0
  168. package/dist/tracer/OpenTelemetryKeys.js.map +1 -0
  169. package/dist/tracer/Tracer.d.ts +47 -0
  170. package/dist/tracer/Tracer.d.ts.map +1 -0
  171. package/dist/tracer/Tracer.js +235 -0
  172. package/dist/tracer/Tracer.js.map +1 -0
  173. package/dist/tracer/TracerConfiguration.d.ts +71 -0
  174. package/dist/tracer/TracerConfiguration.d.ts.map +1 -0
  175. package/dist/tracer/TracerConfiguration.js +111 -0
  176. package/dist/tracer/TracerConfiguration.js.map +1 -0
  177. package/dist/tracer/exporters/JudgmentSpanExporter.d.ts +36 -0
  178. package/dist/tracer/exporters/JudgmentSpanExporter.d.ts.map +1 -0
  179. package/dist/tracer/exporters/JudgmentSpanExporter.js +72 -0
  180. package/dist/tracer/exporters/JudgmentSpanExporter.js.map +1 -0
  181. package/dist/tracer/exporters/NoOpSpanExporter.d.ts +12 -0
  182. package/dist/tracer/exporters/NoOpSpanExporter.d.ts.map +1 -0
  183. package/dist/tracer/exporters/NoOpSpanExporter.js +16 -0
  184. package/dist/tracer/exporters/NoOpSpanExporter.js.map +1 -0
  185. package/dist/tracer/exporters/index.d.ts +3 -0
  186. package/dist/tracer/exporters/index.d.ts.map +1 -0
  187. package/dist/tracer/exporters/index.js +3 -0
  188. package/dist/tracer/exporters/index.js.map +1 -0
  189. package/dist/tracer/index.d.ts +5 -0
  190. package/dist/tracer/index.d.ts.map +1 -0
  191. package/dist/tracer/index.js +5 -0
  192. package/dist/tracer/index.js.map +1 -0
  193. package/dist/umd.d.ts +2 -0
  194. package/dist/umd.d.ts.map +1 -0
  195. package/dist/umd.js +2 -0
  196. package/dist/umd.js.map +1 -0
  197. package/dist/utils/annotate.d.ts +2 -0
  198. package/dist/utils/annotate.d.ts.map +1 -0
  199. package/dist/utils/annotate.js +27 -0
  200. package/dist/utils/annotate.js.map +1 -0
  201. package/dist/utils/index.d.ts +5 -0
  202. package/dist/utils/index.d.ts.map +1 -0
  203. package/dist/utils/index.js +5 -0
  204. package/dist/utils/index.js.map +1 -0
  205. package/dist/utils/logger.d.ts +27 -0
  206. package/dist/utils/logger.d.ts.map +1 -0
  207. package/dist/utils/logger.js +70 -0
  208. package/dist/utils/logger.js.map +1 -0
  209. package/dist/utils/types.d.ts +4 -0
  210. package/dist/utils/types.d.ts.map +1 -0
  211. package/dist/utils/types.js +2 -0
  212. package/dist/utils/types.js.map +1 -0
  213. package/dist/utils/validation.d.ts +11 -0
  214. package/dist/utils/validation.d.ts.map +1 -0
  215. package/dist/utils/validation.js +16 -0
  216. package/dist/utils/validation.js.map +1 -0
  217. package/dist/version.d.ts +2 -0
  218. package/dist/version.d.ts.map +1 -0
  219. package/dist/version.js +2 -0
  220. package/dist/version.js.map +1 -0
  221. package/package.json +57 -108
  222. package/LICENSE.md +0 -202
  223. package/README.md +0 -372
  224. package/dist/cjs/clients.js +0 -78
  225. package/dist/cjs/clients.js.map +0 -1
  226. package/dist/cjs/common/integrations/langgraph.js +0 -471
  227. package/dist/cjs/common/integrations/langgraph.js.map +0 -1
  228. package/dist/cjs/common/logger-instance.js +0 -64
  229. package/dist/cjs/common/logger-instance.js.map +0 -1
  230. package/dist/cjs/common/logger.js +0 -225
  231. package/dist/cjs/common/logger.js.map +0 -1
  232. package/dist/cjs/common/token-costs.js +0 -95
  233. package/dist/cjs/common/token-costs.js.map +0 -1
  234. package/dist/cjs/common/tracer.js +0 -1099
  235. package/dist/cjs/common/tracer.js.map +0 -1
  236. package/dist/cjs/constants.js +0 -347
  237. package/dist/cjs/constants.js.map +0 -1
  238. package/dist/cjs/data/datasets/eval-dataset-client.js +0 -394
  239. package/dist/cjs/data/datasets/eval-dataset-client.js.map +0 -1
  240. package/dist/cjs/data/datasets/eval-dataset.js +0 -405
  241. package/dist/cjs/data/datasets/eval-dataset.js.map +0 -1
  242. package/dist/cjs/data/example.js +0 -159
  243. package/dist/cjs/data/example.js.map +0 -1
  244. package/dist/cjs/data/result.js +0 -83
  245. package/dist/cjs/data/result.js.map +0 -1
  246. package/dist/cjs/e2etests/eval-operations.test.js +0 -282
  247. package/dist/cjs/e2etests/eval-operations.test.js.map +0 -1
  248. package/dist/cjs/e2etests/judgee-traces.test.js +0 -278
  249. package/dist/cjs/e2etests/judgee-traces.test.js.map +0 -1
  250. package/dist/cjs/evaluation-run.js +0 -136
  251. package/dist/cjs/evaluation-run.js.map +0 -1
  252. package/dist/cjs/exporters/otel-exporter.js +0 -352
  253. package/dist/cjs/exporters/otel-exporter.js.map +0 -1
  254. package/dist/cjs/index.js +0 -78
  255. package/dist/cjs/index.js.map +0 -1
  256. package/dist/cjs/judges/index.js +0 -237
  257. package/dist/cjs/judges/index.js.map +0 -1
  258. package/dist/cjs/judgment-client.js +0 -798
  259. package/dist/cjs/judgment-client.js.map +0 -1
  260. package/dist/cjs/rules.js +0 -322
  261. package/dist/cjs/rules.js.map +0 -1
  262. package/dist/cjs/run-evaluation.js +0 -700
  263. package/dist/cjs/run-evaluation.js.map +0 -1
  264. package/dist/cjs/scorers/api-scorer.js +0 -304
  265. package/dist/cjs/scorers/api-scorer.js.map +0 -1
  266. package/dist/cjs/scorers/base-scorer.js +0 -293
  267. package/dist/cjs/scorers/base-scorer.js.map +0 -1
  268. package/dist/cjs/scorers/metrics/answer-correctness/answer-correctness.js +0 -562
  269. package/dist/cjs/scorers/metrics/answer-correctness/answer-correctness.js.map +0 -1
  270. package/dist/cjs/scorers/metrics/answer-correctness/index.js +0 -19
  271. package/dist/cjs/scorers/metrics/answer-correctness/index.js.map +0 -1
  272. package/dist/cjs/scorers/metrics/answer-correctness/prompts.js +0 -175
  273. package/dist/cjs/scorers/metrics/answer-correctness/prompts.js.map +0 -1
  274. package/dist/cjs/scorers/metrics/answer-relevancy/answer-relevancy.js +0 -514
  275. package/dist/cjs/scorers/metrics/answer-relevancy/answer-relevancy.js.map +0 -1
  276. package/dist/cjs/scorers/metrics/answer-relevancy/index.js +0 -19
  277. package/dist/cjs/scorers/metrics/answer-relevancy/index.js.map +0 -1
  278. package/dist/cjs/scorers/metrics/answer-relevancy/prompts.js +0 -179
  279. package/dist/cjs/scorers/metrics/answer-relevancy/prompts.js.map +0 -1
  280. package/dist/cjs/scorers/metrics/faithfulness/faithfulness.js +0 -512
  281. package/dist/cjs/scorers/metrics/faithfulness/faithfulness.js.map +0 -1
  282. package/dist/cjs/scorers/metrics/faithfulness/index.js +0 -19
  283. package/dist/cjs/scorers/metrics/faithfulness/index.js.map +0 -1
  284. package/dist/cjs/scorers/metrics/faithfulness/prompts.js +0 -232
  285. package/dist/cjs/scorers/metrics/faithfulness/prompts.js.map +0 -1
  286. package/dist/cjs/scorers/metrics/hallucination/hallucination.js +0 -386
  287. package/dist/cjs/scorers/metrics/hallucination/hallucination.js.map +0 -1
  288. package/dist/cjs/scorers/metrics/hallucination/index.js +0 -11
  289. package/dist/cjs/scorers/metrics/hallucination/index.js.map +0 -1
  290. package/dist/cjs/scorers/metrics/hallucination/prompts.js +0 -106
  291. package/dist/cjs/scorers/metrics/hallucination/prompts.js.map +0 -1
  292. package/dist/cjs/scorers/metrics/instruction-adherence/index.js +0 -19
  293. package/dist/cjs/scorers/metrics/instruction-adherence/index.js.map +0 -1
  294. package/dist/cjs/scorers/metrics/instruction-adherence/instruction-adherence.js +0 -378
  295. package/dist/cjs/scorers/metrics/instruction-adherence/instruction-adherence.js.map +0 -1
  296. package/dist/cjs/scorers/metrics/instruction-adherence/prompts.js +0 -124
  297. package/dist/cjs/scorers/metrics/instruction-adherence/prompts.js.map +0 -1
  298. package/dist/esm/clients.js +0 -47
  299. package/dist/esm/clients.js.map +0 -1
  300. package/dist/esm/common/integrations/langgraph.js +0 -444
  301. package/dist/esm/common/integrations/langgraph.js.map +0 -1
  302. package/dist/esm/common/logger-instance.js +0 -59
  303. package/dist/esm/common/logger-instance.js.map +0 -1
  304. package/dist/esm/common/logger.js +0 -208
  305. package/dist/esm/common/logger.js.map +0 -1
  306. package/dist/esm/common/token-costs.js +0 -91
  307. package/dist/esm/common/token-costs.js.map +0 -1
  308. package/dist/esm/common/tracer.js +0 -1093
  309. package/dist/esm/common/tracer.js.map +0 -1
  310. package/dist/esm/constants.js +0 -341
  311. package/dist/esm/constants.js.map +0 -1
  312. package/dist/esm/data/datasets/eval-dataset-client.js +0 -387
  313. package/dist/esm/data/datasets/eval-dataset-client.js.map +0 -1
  314. package/dist/esm/data/datasets/eval-dataset.js +0 -375
  315. package/dist/esm/data/datasets/eval-dataset.js.map +0 -1
  316. package/dist/esm/data/example.js +0 -154
  317. package/dist/esm/data/example.js.map +0 -1
  318. package/dist/esm/data/result.js +0 -78
  319. package/dist/esm/data/result.js.map +0 -1
  320. package/dist/esm/e2etests/eval-operations.test.js +0 -254
  321. package/dist/esm/e2etests/eval-operations.test.js.map +0 -1
  322. package/dist/esm/e2etests/judgee-traces.test.js +0 -253
  323. package/dist/esm/e2etests/judgee-traces.test.js.map +0 -1
  324. package/dist/esm/evaluation-run.js +0 -132
  325. package/dist/esm/evaluation-run.js.map +0 -1
  326. package/dist/esm/exporters/otel-exporter.js +0 -348
  327. package/dist/esm/exporters/otel-exporter.js.map +0 -1
  328. package/dist/esm/index.js +0 -20
  329. package/dist/esm/index.js.map +0 -1
  330. package/dist/esm/judges/index.js +0 -205
  331. package/dist/esm/judges/index.js.map +0 -1
  332. package/dist/esm/judgment-client.js +0 -768
  333. package/dist/esm/judgment-client.js.map +0 -1
  334. package/dist/esm/rules.js +0 -314
  335. package/dist/esm/rules.js.map +0 -1
  336. package/dist/esm/run-evaluation.js +0 -681
  337. package/dist/esm/run-evaluation.js.map +0 -1
  338. package/dist/esm/scorers/api-scorer.js +0 -286
  339. package/dist/esm/scorers/api-scorer.js.map +0 -1
  340. package/dist/esm/scorers/base-scorer.js +0 -287
  341. package/dist/esm/scorers/base-scorer.js.map +0 -1
  342. package/dist/esm/scorers/metrics/answer-correctness/answer-correctness.js +0 -558
  343. package/dist/esm/scorers/metrics/answer-correctness/answer-correctness.js.map +0 -1
  344. package/dist/esm/scorers/metrics/answer-correctness/index.js +0 -3
  345. package/dist/esm/scorers/metrics/answer-correctness/index.js.map +0 -1
  346. package/dist/esm/scorers/metrics/answer-correctness/prompts.js +0 -171
  347. package/dist/esm/scorers/metrics/answer-correctness/prompts.js.map +0 -1
  348. package/dist/esm/scorers/metrics/answer-relevancy/answer-relevancy.js +0 -510
  349. package/dist/esm/scorers/metrics/answer-relevancy/answer-relevancy.js.map +0 -1
  350. package/dist/esm/scorers/metrics/answer-relevancy/index.js +0 -3
  351. package/dist/esm/scorers/metrics/answer-relevancy/index.js.map +0 -1
  352. package/dist/esm/scorers/metrics/answer-relevancy/prompts.js +0 -175
  353. package/dist/esm/scorers/metrics/answer-relevancy/prompts.js.map +0 -1
  354. package/dist/esm/scorers/metrics/faithfulness/faithfulness.js +0 -508
  355. package/dist/esm/scorers/metrics/faithfulness/faithfulness.js.map +0 -1
  356. package/dist/esm/scorers/metrics/faithfulness/index.js +0 -3
  357. package/dist/esm/scorers/metrics/faithfulness/index.js.map +0 -1
  358. package/dist/esm/scorers/metrics/faithfulness/prompts.js +0 -228
  359. package/dist/esm/scorers/metrics/faithfulness/prompts.js.map +0 -1
  360. package/dist/esm/scorers/metrics/hallucination/hallucination.js +0 -382
  361. package/dist/esm/scorers/metrics/hallucination/hallucination.js.map +0 -1
  362. package/dist/esm/scorers/metrics/hallucination/index.js +0 -3
  363. package/dist/esm/scorers/metrics/hallucination/index.js.map +0 -1
  364. package/dist/esm/scorers/metrics/hallucination/prompts.js +0 -102
  365. package/dist/esm/scorers/metrics/hallucination/prompts.js.map +0 -1
  366. package/dist/esm/scorers/metrics/instruction-adherence/index.js +0 -3
  367. package/dist/esm/scorers/metrics/instruction-adherence/index.js.map +0 -1
  368. package/dist/esm/scorers/metrics/instruction-adherence/instruction-adherence.js +0 -374
  369. package/dist/esm/scorers/metrics/instruction-adherence/instruction-adherence.js.map +0 -1
  370. package/dist/esm/scorers/metrics/instruction-adherence/prompts.js +0 -120
  371. package/dist/esm/scorers/metrics/instruction-adherence/prompts.js.map +0 -1
  372. package/dist/types/clients.d.ts +0 -6
  373. package/dist/types/common/integrations/langgraph.d.ts +0 -39
  374. package/dist/types/common/logger-instance.d.ts +0 -3
  375. package/dist/types/common/logger.d.ts +0 -54
  376. package/dist/types/common/token-costs.d.ts +0 -36
  377. package/dist/types/common/tracer.d.ts +0 -249
  378. package/dist/types/constants.d.ts +0 -51
  379. package/dist/types/data/datasets/eval-dataset-client.d.ts +0 -44
  380. package/dist/types/data/datasets/eval-dataset.d.ts +0 -45
  381. package/dist/types/data/example.d.ts +0 -82
  382. package/dist/types/data/result.d.ts +0 -51
  383. package/dist/types/e2etests/eval-operations.test.d.ts +0 -5
  384. package/dist/types/e2etests/judgee-traces.test.d.ts +0 -5
  385. package/dist/types/evaluation-run.d.ts +0 -44
  386. package/dist/types/exporters/otel-exporter.d.ts +0 -16
  387. package/dist/types/index.d.ts +0 -11
  388. package/dist/types/judges/index.d.ts +0 -50
  389. package/dist/types/judgment-client.d.ts +0 -149
  390. package/dist/types/rules.d.ts +0 -120
  391. package/dist/types/run-evaluation.d.ts +0 -78
  392. package/dist/types/scorers/api-scorer.d.ts +0 -84
  393. package/dist/types/scorers/base-scorer.d.ts +0 -162
  394. package/dist/types/scorers/metrics/answer-correctness/answer-correctness.d.ts +0 -80
  395. package/dist/types/scorers/metrics/answer-correctness/index.d.ts +0 -2
  396. package/dist/types/scorers/metrics/answer-correctness/prompts.d.ts +0 -71
  397. package/dist/types/scorers/metrics/answer-relevancy/answer-relevancy.d.ts +0 -74
  398. package/dist/types/scorers/metrics/answer-relevancy/index.d.ts +0 -2
  399. package/dist/types/scorers/metrics/answer-relevancy/prompts.d.ts +0 -71
  400. package/dist/types/scorers/metrics/faithfulness/faithfulness.d.ts +0 -73
  401. package/dist/types/scorers/metrics/faithfulness/index.d.ts +0 -2
  402. package/dist/types/scorers/metrics/faithfulness/prompts.d.ts +0 -94
  403. package/dist/types/scorers/metrics/hallucination/hallucination.d.ts +0 -63
  404. package/dist/types/scorers/metrics/hallucination/index.d.ts +0 -3
  405. package/dist/types/scorers/metrics/hallucination/prompts.d.ts +0 -63
  406. package/dist/types/scorers/metrics/instruction-adherence/index.d.ts +0 -2
  407. package/dist/types/scorers/metrics/instruction-adherence/instruction-adherence.d.ts +0 -63
  408. package/dist/types/scorers/metrics/instruction-adherence/prompts.d.ts +0 -78
@@ -1,471 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.JudgevalLanggraphCallbackHandler = void 0;
36
- const base_1 = require("@langchain/core/callbacks/base");
37
- const tracer_js_1 = require("../tracer.js");
38
- const uuid = __importStar(require("uuid"));
39
- // Removed ActiveNodeSpan interface
40
- // Match Python structure more closely
41
- class JudgevalLanggraphCallbackHandler extends base_1.BaseCallbackHandler {
42
- constructor(tracer) {
43
- super();
44
- this.name = "judgeval_langgraph_callback_handler";
45
- this._startTime = 0; // Needed for TS manual duration calculation (if needed)
46
- this.finished = false;
47
- this.rootSpanStarted = false; // Still useful to track root
48
- // Removed activeNodeSpans array
49
- // Attributes for users to access (matching Python)
50
- this.executedNodeTools = [];
51
- this.executedNodes = []; // Add this like Python
52
- this.executedTools = [];
53
- this.tracer = tracer !== null && tracer !== void 0 ? tracer : tracer_js_1.Tracer.getInstance();
54
- console.log(`[Judgeval Handler] Initialized. Monitoring Enabled: ${this.tracer.enableMonitoring}`);
55
- // traceClient will be initialized in handleChainStart if needed
56
- }
57
- // --- Reset state helper (called internally) ---
58
- initializeRunState(client) {
59
- this.traceClient = client;
60
- this.previousNode = undefined;
61
- this._startTime = 0;
62
- this.finished = false;
63
- this.rootSpanStarted = true; // Mark as started since we just created/found the client
64
- this.executedNodeTools.length = 0;
65
- this.executedNodes.length = 0;
66
- this.executedTools.length = 0;
67
- console.log(`[Judgeval Handler] Run state initialized for TraceClient ID: ${client.traceId}`);
68
- }
69
- // --- Span management (simplified, relies on TraceClient internals) ---
70
- startSpan(name, spanType = "span") {
71
- if (!this.traceClient) {
72
- console.warn(`[Judgeval Handler] startSpan(${name}, ${spanType}) called but traceClient is undefined.`);
73
- return undefined;
74
- }
75
- const parentSpanId = this.traceClient.getCurrentSpanId();
76
- console.log(`[Judgeval Handler] Before startSpan(${name}): Current Span ID = ${parentSpanId}`);
77
- this.traceClient.startSpan(name, { spanType }); // TraceClient handles stack
78
- const newSpanId = this.traceClient.getCurrentSpanId();
79
- console.log(`[Judgeval Handler] Started span: ${name} (ID: ${newSpanId}), Parent reported: ${parentSpanId}, Type: ${spanType}`);
80
- return newSpanId;
81
- }
82
- endSpan(context) {
83
- if (!this.traceClient) {
84
- console.warn(`[Judgeval Handler] endSpan(${context !== null && context !== void 0 ? context : ''}) called but traceClient is undefined.`);
85
- return;
86
- }
87
- const currentSpanId = this.traceClient.getCurrentSpanId();
88
- console.log(`[Judgeval Handler] Before endSpan(${context !== null && context !== void 0 ? context : ''}): Current Span ID = ${currentSpanId}`);
89
- this.traceClient.endSpan(); // TraceClient handles stack
90
- const spanIdAfterEnd = this.traceClient.getCurrentSpanId();
91
- console.log(`[Judgeval Handler] Ended span: ${currentSpanId} (Context: ${context !== null && context !== void 0 ? context : 'N/A'}). Current Span ID after end: ${spanIdAfterEnd}`);
92
- // Save logic: Python saves when depth returns to 0.
93
- // TS TraceClient doesn't expose depth. Rely on external context ending or manual save?
94
- // For now, let's stick to the previous logic: save if root finished and stack is empty.
95
- // The final endSpan call will be triggered by the tracer wrapper ideally.
96
- if (this.rootSpanStarted && this.finished && spanIdAfterEnd === undefined) {
97
- console.log("[Judgeval Handler] Root context likely ended and graph finished. Saving trace.");
98
- if (this.traceClient) {
99
- // Save might need to happen *before* clearing the client
100
- const clientToSave = this.traceClient;
101
- this.traceClient = undefined; // Clear reference first?
102
- this.rootSpanStarted = false;
103
- clientToSave.save(true) // Save with overwrite=true
104
- .then(() => console.log(`[Judgeval Handler] Trace ${clientToSave.traceId} saved.`))
105
- .catch(err => console.error(`[Judgeval Handler] Error saving trace ${clientToSave.traceId}:`, err));
106
- }
107
- else {
108
- console.warn("[Judgeval Handler] Cannot save trace as traceClient is undefined after root span ended.");
109
- }
110
- }
111
- }
112
- // --- Get or Create Client (Python logic adapted) ---
113
- getOrCreateRootTraceClient(name, runType) {
114
- if (!this.tracer.enableMonitoring)
115
- return undefined;
116
- // If a client already exists for this handler instance, return it
117
- if (this.traceClient) {
118
- // console.log(`[Judgeval Handler] Re-using existing TraceClient instance (ID: ${this.traceClient.traceId}).`);
119
- return this.traceClient;
120
- }
121
- // Check if we are starting the root LangGraph run (like Python's check)
122
- const isLangGraphRootStart = (name === 'LangGraph' || runType === 'Graph'); // Check both name and runType
123
- if (isLangGraphRootStart) {
124
- console.log("[Judgeval Handler] LangGraph root run detected. Getting/Creating TraceClient.");
125
- // Check context first, in case external wrapper is used
126
- let client = this.tracer.getCurrentTrace();
127
- if (client) {
128
- console.log(`[Judgeval Handler] Found existing TraceClient in context (ID: ${client.traceId}). Initializing run state.`);
129
- this.initializeRunState(client);
130
- }
131
- else {
132
- // Create a new TraceClient if none exists (like Python)
133
- console.log("[Judgeval Handler] No TraceClient in context, creating new one.");
134
- const traceId = uuid.v4();
135
- client = new tracer_js_1.TraceClient({
136
- tracer: this.tracer,
137
- traceId: traceId,
138
- name: "LangGraphRun", // Default name
139
- projectName: this.tracer.projectName,
140
- overwrite: false,
141
- rules: this.tracer.defaultRules,
142
- enableMonitoring: this.tracer.enableMonitoring,
143
- enableEvaluations: this.tracer.enableEvaluations,
144
- apiKey: this.tracer.apiKey,
145
- organizationId: this.tracer.organizationId
146
- });
147
- // Save empty trace immediately (like Python)
148
- client.save(false).catch(err => console.error("[Judgeval Handler] Error saving initial empty trace:", err));
149
- this.initializeRunState(client);
150
- // We might need to manually set this client into the async context
151
- // if LangChain doesn't propagate it from the initial invoke context.
152
- // This is complex and might require changes to the Tracer class or usage pattern.
153
- // For now, we store it locally in the handler.
154
- console.log(`[Judgeval Handler] Created new TraceClient (ID: ${client.traceId}). Run state initialized.`);
155
- }
156
- // Start the root span *after* initializing the state
157
- this.startSpan("LangGraphRoot", "Main Function");
158
- return this.traceClient;
159
- }
160
- else {
161
- // If it's not the root start, try to get the client from context (might exist due to wrapper)
162
- let client = this.tracer.getCurrentTrace();
163
- if (client) {
164
- // If we find a client but haven't initialized state, initialize now
165
- if (!this.traceClient) {
166
- console.log(`[Judgeval Handler] Found TraceClient in context mid-run (ID: ${client.traceId}). Initializing run state.`);
167
- this.initializeRunState(client);
168
- }
169
- return this.traceClient;
170
- }
171
- else {
172
- // No client found, and it's not the root start - likely context issue
173
- console.warn(`[Judgeval Handler] handleChainStart called for non-root chain ('${name}') but no TraceClient found in context.`);
174
- return undefined;
175
- }
176
- }
177
- }
178
- // --- Callback Handlers (Adapted to Python logic) ---
179
- handleRetrieverStart(serialized, query, runId, parentRunId, tags, metadata, name, options) {
180
- return __awaiter(this, void 0, void 0, function* () {
181
- // Ensure client exists, but don't create it here
182
- this.traceClient = this.tracer.getCurrentTrace();
183
- if (!this.traceClient) {
184
- console.warn(`[Judgeval Handler] handleRetrieverStart: No TraceClient found.`);
185
- return;
186
- }
187
- let name_ = "RETRIEVER_CALL";
188
- if (name) {
189
- name_ = `RETRIEVER_${name.toUpperCase()}`;
190
- }
191
- else if (serialized === null || serialized === void 0 ? void 0 : serialized.name) {
192
- name_ = `RETRIEVER_${serialized.name.toUpperCase()}`;
193
- }
194
- this.startSpan(name_, "retriever");
195
- this.traceClient.recordInput({
196
- query,
197
- tags,
198
- metadata,
199
- options,
200
- });
201
- });
202
- }
203
- handleRetrieverEnd(documents, runId, parentRunId, tags, options) {
204
- return __awaiter(this, void 0, void 0, function* () {
205
- // Use existing client
206
- if (!this.traceClient || !this.traceClient.getCurrentSpanId())
207
- return;
208
- // ... record output (docSummary)
209
- const docSummary = documents.map((doc, i) => ({
210
- index: i,
211
- page_content: doc.pageContent.length > 100
212
- ? doc.pageContent.substring(0, 97) + "..."
213
- : doc.pageContent,
214
- metadata: doc.metadata,
215
- }));
216
- this.traceClient.recordOutput({ document_count: documents.length, documents: docSummary });
217
- this.endSpan("RetrieverEnd");
218
- });
219
- }
220
- handleRetrieverError(error, runId, parentRunId, tags, options) {
221
- return __awaiter(this, void 0, void 0, function* () {
222
- console.error(`[Judgeval Handler] Retriever error: ${error}`);
223
- if (!this.traceClient || !this.traceClient.getCurrentSpanId())
224
- return;
225
- this.traceClient.recordError(error);
226
- this.endSpan("RetrieverError");
227
- });
228
- }
229
- handleChainStart(serialized, inputs, runId, parentRunId, tags, metadata, runType, name, options) {
230
- return __awaiter(this, void 0, void 0, function* () {
231
- var _a;
232
- console.log(`[Judgeval Handler] handleChainStart: Name=${name}, Type=${runType}, Node=${metadata === null || metadata === void 0 ? void 0 : metadata.langgraph_node}, RunID=${runId}`);
233
- // Initialize client and root span if this is the LangGraph start
234
- // Otherwise, ensure client exists from context
235
- const client = this.getOrCreateRootTraceClient(name, runType);
236
- if (!client)
237
- return; // If no client (monitoring off or context issue), do nothing
238
- // Now handle node detection (if not the root start event itself)
239
- const isLangGraphRootStartEvent = (name === 'LangGraph' || runType === 'Graph') && this.rootSpanStarted;
240
- const nodeName = metadata === null || metadata === void 0 ? void 0 : metadata.langgraph_node;
241
- // Don't process the root start event as a node start
242
- if (isLangGraphRootStartEvent && nodeName === undefined) { // Check nodeName too
243
- console.log(`[Judgeval Handler] Skipping node processing for root start event.`);
244
- return;
245
- }
246
- // If it's a node and different from the previous one
247
- if (nodeName && nodeName !== this.previousNode) {
248
- console.log(`[Judgeval Handler] New node detected: ${nodeName}`);
249
- // Start a span for the node
250
- this.startSpan(nodeName, "node");
251
- // Update tracking (like Python)
252
- this.executedNodes.push(nodeName);
253
- // Update node:tool tracking context
254
- this.previousNode = nodeName;
255
- // Record input for the node span (like Python)
256
- (_a = this.traceClient) === null || _a === void 0 ? void 0 : _a.recordInput({
257
- args: inputs,
258
- kwargs: { tags, metadata, runType, name: nodeName, options }
259
- });
260
- }
261
- else if (nodeName && nodeName === this.previousNode) {
262
- // It's a chain start within the *same* node, log but don't start new node span
263
- console.log(`[Judgeval Handler] Chain start ('${name}') within existing node context ('${nodeName}').`);
264
- }
265
- else {
266
- // It's some other chain, maybe log it?
267
- console.log(`[Judgeval Handler] Generic chain start ('${name}') detected. Node context: '${this.previousNode}'.`);
268
- }
269
- });
270
- }
271
- handleChainEnd(outputs, runId, parentRunId, tags, metadata, // Need metadata
272
- name, options) {
273
- return __awaiter(this, void 0, void 0, function* () {
274
- var _a, _b, _c;
275
- const currentSpanId = (_a = this.traceClient) === null || _a === void 0 ? void 0 : _a.getCurrentSpanId();
276
- const nodeNameFromMetadata = metadata === null || metadata === void 0 ? void 0 : metadata.langgraph_node;
277
- console.log(`[Judgeval Handler] handleChainEnd: RunID=${runId}, Node=${nodeNameFromMetadata}, CurrentSpanID=${currentSpanId}`);
278
- if (!this.traceClient || !currentSpanId) {
279
- console.warn(`[Judgeval Handler] handleChainEnd called but no active span. RunID=${runId}`);
280
- return;
281
- }
282
- // Always record output
283
- this.traceClient.recordOutput(outputs);
284
- // Check if this marks the end of a graph step (node)
285
- const isGraphStepEnd = tags === null || tags === void 0 ? void 0 : tags.some(tag => tag.includes("graph:step"));
286
- if (isGraphStepEnd) {
287
- console.log(`[Judgeval Handler] Graph step end detected for span: ${currentSpanId}. Ending span as 'node'.`);
288
- // Assume the current span *is* the node span
289
- this.endSpan(`NodeEnd: ${(_b = this.previousNode) !== null && _b !== void 0 ? _b : 'unknown'}`); // Use previousNode hint
290
- }
291
- // Check for graph finish signal AFTER potentially ending the node span
292
- const isEndSignal = outputs === "__end__";
293
- const isGraphFinishTag = tags === null || tags === void 0 ? void 0 : tags.some(tag => tag.includes(":graph:finish") || tag.includes(":__end__"));
294
- if (isEndSignal || isGraphFinishTag) {
295
- console.log(`[Judgeval Handler] Graph finished signal detected.`);
296
- this.finished = true;
297
- // End the root span if it's currently active
298
- const currentSpanIdAfterNodeEnd = (_c = this.traceClient) === null || _c === void 0 ? void 0 : _c.getCurrentSpanId();
299
- if (this.rootSpanStarted && !currentSpanIdAfterNodeEnd) {
300
- console.log(`[Judgeval Handler] Graph finished signal and span stack is empty. Save should occur.`);
301
- }
302
- }
303
- });
304
- }
305
- handleChainError(error, runId, parentRunId, tags, metadata, name, options) {
306
- return __awaiter(this, void 0, void 0, function* () {
307
- var _a, _b;
308
- console.error(`[Judgeval Handler] Chain error: ${error}`);
309
- const currentSpanId = (_a = this.traceClient) === null || _a === void 0 ? void 0 : _a.getCurrentSpanId();
310
- console.log(`[Judgeval Handler] ChainError occurred during span: ${currentSpanId}`);
311
- if (!this.traceClient || !currentSpanId)
312
- return;
313
- this.traceClient.recordError(error);
314
- // Check if the error occurred within a node span we are tracking
315
- // Need a robust way to know if the current span is a node span started by us
316
- // For now, assume if it's a graph step error, end the current span as node error
317
- const isGraphStepError = tags === null || tags === void 0 ? void 0 : tags.some(tag => tag.includes("graph:step"));
318
- if (isGraphStepError) {
319
- console.log(`[Judgeval Handler] Ending current span ${currentSpanId} as NodeError due to graph:step tag.`);
320
- this.endSpan(`NodeError: ${(_b = this.previousNode) !== null && _b !== void 0 ? _b : 'unknown'}`);
321
- }
322
- // Don't end generic chain errors otherwise, might pop root span too early.
323
- });
324
- }
325
- handleToolStart(serialized, inputStr, runId, parentRunId, tags, metadata, name, options) {
326
- return __awaiter(this, void 0, void 0, function* () {
327
- var _a;
328
- const toolName = (_a = name !== null && name !== void 0 ? name : serialized === null || serialized === void 0 ? void 0 : serialized.name) !== null && _a !== void 0 ? _a : "unknown_tool";
329
- console.log(`[Judgeval Handler] handleToolStart: Name=${toolName}, RunID=${runId}`);
330
- // Ensure client exists
331
- this.traceClient = this.tracer.getCurrentTrace();
332
- if (!this.traceClient) {
333
- console.warn(`[Judgeval Handler] handleToolStart: No TraceClient found.`);
334
- return;
335
- }
336
- // this.previousNode should be set by the last handleChainStart for the node
337
- console.log(`[Judgeval Handler] Starting tool span: ${toolName} (Parent Node Hint: ${this.previousNode})`);
338
- this.startSpan(toolName, "tool");
339
- this.executedTools.push(toolName);
340
- const nodeTool = this.previousNode ? `${this.previousNode}:${toolName}` : toolName;
341
- this.executedNodeTools.push(nodeTool);
342
- this.traceClient.recordInput({
343
- args: inputStr,
344
- kwargs: { tags, metadata, options }
345
- });
346
- });
347
- }
348
- handleToolEnd(output, runId, parentRunId, tags, options) {
349
- return __awaiter(this, void 0, void 0, function* () {
350
- var _a;
351
- const currentSpanId = (_a = this.traceClient) === null || _a === void 0 ? void 0 : _a.getCurrentSpanId();
352
- console.log(`[Judgeval Handler] handleToolEnd: RunID=${runId}, CurrentSpanID=${currentSpanId}`);
353
- if (!this.traceClient || !currentSpanId)
354
- return;
355
- this.traceClient.recordOutput(output);
356
- this.endSpan("ToolEnd"); // End specifically for tool
357
- });
358
- }
359
- handleToolError(error, runId, parentRunId, tags, options) {
360
- return __awaiter(this, void 0, void 0, function* () {
361
- var _a;
362
- console.error(`[Judgeval Handler] Tool error: ${error}`);
363
- const currentSpanId = (_a = this.traceClient) === null || _a === void 0 ? void 0 : _a.getCurrentSpanId();
364
- if (!this.traceClient || !currentSpanId)
365
- return;
366
- this.traceClient.recordError(error);
367
- this.endSpan("ToolError"); // End specifically for tool error
368
- });
369
- }
370
- // AgentAction / AgentFinish remain no-op for span management
371
- handleAgentAction( /* ... */) {
372
- return __awaiter(this, void 0, void 0, function* () { });
373
- }
374
- handleAgentFinish( /* ... */) {
375
- return __awaiter(this, void 0, void 0, function* () { });
376
- }
377
- handleLLMStart(serialized, prompts, runId, parentRunId, extraParams, tags, metadata, name, options) {
378
- return __awaiter(this, void 0, void 0, function* () {
379
- const llmName = name !== null && name !== void 0 ? name : "LLM call";
380
- // Ensure client exists
381
- this.traceClient = this.tracer.getCurrentTrace();
382
- if (!this.traceClient) {
383
- console.warn(`[Judgeval Handler] handleLLMStart: No TraceClient found.`);
384
- return;
385
- }
386
- console.log(`[Judgeval Handler] Starting LLM span: ${llmName}`);
387
- this.startSpan(llmName, "llm");
388
- this.traceClient.recordInput({
389
- args: prompts,
390
- kwargs: Object.assign({ extra_params: extraParams, tags: tags, metadata: metadata, serialized_id: serialized === null || serialized === void 0 ? void 0 : serialized.id }, options),
391
- });
392
- });
393
- }
394
- handleLLMEnd(output, runId, parentRunId, tags, options) {
395
- return __awaiter(this, void 0, void 0, function* () {
396
- if (!this.traceClient || !this.traceClient.getCurrentSpanId())
397
- return;
398
- // ... extract textOutput ...
399
- let textOutput = "No text output found";
400
- try {
401
- if (output.generations && output.generations.length > 0 && output.generations[0].length > 0) {
402
- const firstGen = output.generations[0][0];
403
- if (firstGen.text) {
404
- textOutput = firstGen.text;
405
- }
406
- else if ('message' in firstGen && firstGen.message && typeof firstGen.message === 'object' && firstGen.message !== null && 'content' in firstGen.message) {
407
- const messageContent = firstGen.message.content;
408
- textOutput = typeof messageContent === 'string'
409
- ? messageContent
410
- : JSON.stringify(messageContent);
411
- }
412
- }
413
- else if (output.llmOutput) {
414
- textOutput = JSON.stringify(output.llmOutput);
415
- }
416
- }
417
- catch (e) {
418
- console.error("[Judgeval Handler] Error extracting LLM output text:", e);
419
- textOutput = `Error extracting output: ${e instanceof Error ? e.message : String(e)}`;
420
- }
421
- this.traceClient.recordOutput(textOutput);
422
- console.log(`[Judgeval Handler] Ending LLM span: ${this.traceClient.getCurrentSpanId()}`);
423
- this.endSpan("LLMEnd"); // End specifically for LLM
424
- });
425
- }
426
- handleLLMError(error, runId, parentRunId, tags, options) {
427
- return __awaiter(this, void 0, void 0, function* () {
428
- var _a;
429
- console.error(`[Judgeval Handler] LLM error: ${error}`);
430
- const currentSpanId = (_a = this.traceClient) === null || _a === void 0 ? void 0 : _a.getCurrentSpanId();
431
- if (!this.traceClient || !currentSpanId)
432
- return;
433
- this.traceClient.recordError(error);
434
- this.endSpan("LLMError"); // End specifically for LLM error
435
- });
436
- }
437
- handleChatModelStart(serialized, messages, runId, parentRunId, extraParams, tags, metadata, name, options) {
438
- return __awaiter(this, void 0, void 0, function* () {
439
- var _a, _b;
440
- // Ensure client exists
441
- this.traceClient = this.tracer.getCurrentTrace();
442
- if (!this.traceClient) {
443
- console.warn(`[Judgeval Handler] handleChatModelStart: No TraceClient found.`);
444
- return;
445
- }
446
- let modelName = "LLM call";
447
- const serializedId = (_b = (_a = serialized === null || serialized === void 0 ? void 0 : serialized.id) === null || _a === void 0 ? void 0 : _a.join("::")) !== null && _b !== void 0 ? _b : "";
448
- if (name) {
449
- modelName = name;
450
- }
451
- else if (serializedId.includes("openai")) {
452
- modelName = "OPENAI_API_CALL";
453
- }
454
- else if (serializedId.includes("anthropic")) {
455
- modelName = "ANTHROPIC_API_CALL";
456
- }
457
- else if (serializedId.includes("together")) {
458
- modelName = "TOGETHER_API_CALL";
459
- }
460
- console.log(`[Judgeval Handler] Starting ChatModel span: ${modelName}`);
461
- this.startSpan(modelName, "llm");
462
- this.traceClient.recordInput({
463
- args: JSON.stringify(messages.map(msgList => msgList.map(msg => msg.toDict()))),
464
- kwargs: Object.assign({ extra_params: extraParams, tags: tags, metadata: metadata, serialized_id: serializedId }, options),
465
- });
466
- // Note: handleLLMEnd will end this span
467
- });
468
- }
469
- }
470
- exports.JudgevalLanggraphCallbackHandler = JudgevalLanggraphCallbackHandler;
471
- //# sourceMappingURL=langgraph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"langgraph.js","sourceRoot":"","sources":["../../../../src/common/integrations/langgraph.ts"],"names":[],"mappings":"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"}
@@ -1,64 +0,0 @@
1
- "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- const winston_1 = __importDefault(require("winston"));
18
- // Define the logger configuration
19
- const logger = winston_1.default.createLogger({
20
- level: process.env.JUDGMENT_LOG_LEVEL || 'info', // Default to 'info', allow override via env var
21
- format: winston_1.default.format.combine(winston_1.default.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston_1.default.format.printf((_a) => {
22
- var { timestamp, level, message } = _a, meta = __rest(_a, ["timestamp", "level", "message"]);
23
- // Simple format: Timestamp [LEVEL]: message {meta}
24
- let metaString = '';
25
- if (Object.keys(meta).length > 0) {
26
- try {
27
- // Attempt to stringify metadata, handle potential circular references
28
- metaString = ` ${JSON.stringify(meta, (key, value) => {
29
- if (typeof value === 'object' && value !== null) {
30
- // Basic check for circular reference, might need refinement
31
- if (key === '')
32
- return value; // Root object
33
- if (metaString.includes(JSON.stringify(value)))
34
- return '[Circular]';
35
- }
36
- return value;
37
- })}`;
38
- }
39
- catch (error) {
40
- metaString = ' [Meta stringify error]';
41
- }
42
- }
43
- return `${timestamp} [${level.toUpperCase()}]: ${message}${metaString}`;
44
- }), winston_1.default.format.colorize({ all: true }) // Optional: Add colors
45
- ),
46
- transports: [
47
- // Log to the console
48
- new winston_1.default.transports.Console(),
49
- // Future enhancement: Add file transport
50
- // new winston.transports.File({ filename: 'judgeval.log' })
51
- ],
52
- // Handle exceptions
53
- exceptionHandlers: [
54
- new winston_1.default.transports.Console()
55
- // new winston.transports.File({ filename: 'exceptions.log' })
56
- ],
57
- // Handle promise rejections
58
- rejectionHandlers: [
59
- new winston_1.default.transports.Console()
60
- // new winston.transports.File({ filename: 'rejections.log' })
61
- ]
62
- });
63
- exports.default = logger;
64
- //# sourceMappingURL=logger-instance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger-instance.js","sourceRoot":"","sources":["../../../src/common/logger-instance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAA8B;AAE9B,kCAAkC;AAClC,MAAM,MAAM,GAAG,iBAAO,CAAC,YAAY,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM,EAAE,gDAAgD;IACjG,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,iBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,EAC3D,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAsC,EAAE,EAAE;YAA1C,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,OAAW,EAAN,IAAI,cAApC,iCAAsC,CAAF;QACzD,mDAAmD;QACnD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,sEAAsE;gBACtE,UAAU,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAChD,4DAA4D;wBAC5D,IAAI,GAAG,KAAK,EAAE;4BAAE,OAAO,KAAK,CAAC,CAAC,cAAc;wBAC5C,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4BAAE,OAAO,YAAY,CAAC;oBACtE,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,EAAE,CAAC;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,GAAG,yBAAyB,CAAC;YACzC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,SAAS,KAAK,KAAK,CAAC,WAAW,EAAE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC1E,CAAC,CAAC,EACF,iBAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,uBAAuB;KAC/D;IACD,UAAU,EAAE;QACV,qBAAqB;QACrB,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE;QAChC,yCAAyC;QACzC,4DAA4D;KAC7D;IACD,oBAAoB;IACpB,iBAAiB,EAAE;QACjB,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE;QAChC,8DAA8D;KAC/D;IACD,4BAA4B;IAC5B,iBAAiB,EAAE;QACjB,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE;QAChC,8DAA8D;KAC/D;CACF,CAAC,CAAC;AAEH,kBAAe,MAAM,CAAC"}