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,387 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { Example } from '../example.js'; // Use Example class
11
- import { EvalDataset } from './eval-dataset.js';
12
- import axios from 'axios'; // Use axios
13
- import cliProgress from 'cli-progress'; // Use cli-progress
14
- import colors from 'ansi-colors'; // For colored progress bar text
15
- import logger from '../../common/logger-instance.js'; // Adjust path as needed
16
- // Import constants (assuming they are correctly defined in constants.ts)
17
- import { JUDGMENT_DATASETS_PUSH_API_URL, JUDGMENT_DATASETS_APPEND_API_URL, JUDGMENT_DATASETS_PULL_API_URL, JUDGMENT_DATASETS_DELETE_API_URL, JUDGMENT_DATASETS_PROJECT_STATS_API_URL, JUDGMENT_DATASETS_INSERT_API_URL, JUDGMENT_DATASETS_EXPORT_JSONL_API_URL } from '../../constants.js'; // Adjust path as needed
18
- export class EvalDatasetClient {
19
- constructor(judgmentApiKey, organizationId) {
20
- if (!judgmentApiKey)
21
- throw new Error('Judgment API Key is required for EvalDatasetClient.');
22
- if (!organizationId)
23
- throw new Error('Organization ID is required for EvalDatasetClient.');
24
- this.judgmentApiKey = judgmentApiKey;
25
- this.organizationId = organizationId;
26
- // Optional: Log initialization if desired
27
- logger.info('Initialized EvalDatasetClient.');
28
- }
29
- createDataset(examples = []) {
30
- return new EvalDataset(examples);
31
- }
32
- /**
33
- * Pushes the dataset to the Judgment platform.
34
- * @returns True if successful, false otherwise.
35
- */
36
- pushDataset(dataset_1, alias_1, projectName_1) {
37
- return __awaiter(this, arguments, void 0, function* (dataset, alias, projectName, overwrite = false) {
38
- var _a;
39
- logger.debug(`Pushing dataset with alias '${alias}' for project '${projectName}' (overwrite=${overwrite})`);
40
- if (overwrite) {
41
- logger.warn(`Overwrite enabled for dataset alias '${alias}' in project '${projectName}'`);
42
- }
43
- const progressBar = new cliProgress.SingleBar({
44
- format: `Pushing ${colors.magenta(alias)} to Judgment... | ${colors.cyan('{bar}')} | {percentage}% || {status}`,
45
- barCompleteChar: '\u2588',
46
- barIncompleteChar: '\u2591',
47
- hideCursor: true,
48
- clearOnComplete: false,
49
- stopOnComplete: true,
50
- }, cliProgress.Presets.shades_classic);
51
- progressBar.start(100, 0, { status: 'Starting...' });
52
- const content = {
53
- dataset_alias: alias,
54
- project_name: projectName,
55
- examples: dataset.examples.map((e) => e.toJSON()),
56
- overwrite: overwrite,
57
- };
58
- try {
59
- progressBar.update(30, { status: 'Sending request...' });
60
- const response = yield axios.post(JUDGMENT_DATASETS_PUSH_API_URL, content, {
61
- headers: this.getAuthHeaders(),
62
- });
63
- progressBar.update(80, { status: 'Processing response...' });
64
- if (response.status >= 200 && response.status < 300) {
65
- const payload = response.data;
66
- dataset.alias = (_a = payload === null || payload === void 0 ? void 0 : payload._alias) !== null && _a !== void 0 ? _a : alias;
67
- dataset.id = payload === null || payload === void 0 ? void 0 : payload._id;
68
- logger.info(`Successfully pushed dataset with alias '${alias}' to project '${projectName}'`);
69
- progressBar.update(100, { status: colors.green('Done!') });
70
- return true;
71
- }
72
- else {
73
- logger.error(`Server error during push dataset: ${response.status} ${response.statusText}`);
74
- progressBar.stop();
75
- return false;
76
- }
77
- }
78
- catch (error) {
79
- this.handleApiError(error, 'pushDataset');
80
- progressBar.stop();
81
- return false;
82
- }
83
- });
84
- }
85
- /**
86
- * Pulls the dataset from the Judgment platform.
87
- */
88
- pullDataset(alias, projectName) {
89
- return __awaiter(this, void 0, void 0, function* () {
90
- var _a, _b;
91
- logger.debug(`Pulling dataset with alias '${alias}' from project '${projectName}'`);
92
- const dataset = this.createDataset(); // Use own createDataset
93
- const progressBar = new cliProgress.SingleBar({
94
- format: `Pulling ${colors.magenta(alias)} from Judgment... | ${colors.cyan('{bar}')} | {percentage}% || {status}`,
95
- barCompleteChar: '\u2588',
96
- barIncompleteChar: '\u2591',
97
- hideCursor: true,
98
- clearOnComplete: false,
99
- stopOnComplete: true,
100
- }, cliProgress.Presets.shades_classic);
101
- progressBar.start(100, 0, { status: 'Starting...' });
102
- const requestBody = {
103
- dataset_alias: alias,
104
- project_name: projectName
105
- };
106
- try {
107
- progressBar.update(30, { status: 'Sending request...' });
108
- const response = yield axios.post(JUDGMENT_DATASETS_PULL_API_URL, requestBody, {
109
- headers: this.getAuthHeaders()
110
- });
111
- progressBar.update(80, { status: 'Processing response...' });
112
- if (response.status >= 200 && response.status < 300) {
113
- const payload = response.data;
114
- const examplesFromApi = (_a = payload === null || payload === void 0 ? void 0 : payload.examples) !== null && _a !== void 0 ? _a : [];
115
- // Map API response (assuming snake_case based on Python) to ExampleOptions
116
- dataset.examples = examplesFromApi.map((e_api) => {
117
- const options = {
118
- input: e_api.input,
119
- actualOutput: e_api.actual_output,
120
- expectedOutput: e_api.expected_output,
121
- context: e_api.context,
122
- retrievalContext: e_api.retrieval_context,
123
- additionalMetadata: e_api.additional_metadata,
124
- toolsCalled: e_api.tools_called,
125
- expectedTools: e_api.expected_tools,
126
- exampleId: e_api.example_id,
127
- exampleIndex: e_api.example_index,
128
- timestamp: e_api.timestamp,
129
- example: e_api.example,
130
- };
131
- return new Example(options);
132
- });
133
- dataset.alias = (_b = payload === null || payload === void 0 ? void 0 : payload.alias) !== null && _b !== void 0 ? _b : alias;
134
- dataset.id = payload === null || payload === void 0 ? void 0 : payload.id;
135
- logger.info(`Successfully pulled dataset with alias '${alias}' from project '${projectName}'`);
136
- progressBar.update(100, { status: colors.green('Done!') });
137
- return dataset;
138
- }
139
- else {
140
- logger.error(`Server error during pull dataset: ${response.status} ${response.statusText}`);
141
- progressBar.stop();
142
- throw new Error(`Failed to pull dataset '${alias}': ${response.statusText}`);
143
- }
144
- }
145
- catch (error) {
146
- this.handleApiError(error, 'pullDataset');
147
- progressBar.stop();
148
- throw error;
149
- }
150
- });
151
- }
152
- /**
153
- * Deletes the dataset from the Judgment platform.
154
- * @returns True if successful, false otherwise.
155
- */
156
- deleteDataset(alias, projectName) {
157
- return __awaiter(this, void 0, void 0, function* () {
158
- logger.debug(`Deleting dataset with alias '${alias}' from project '${projectName}'`);
159
- const progressBar = new cliProgress.SingleBar({
160
- format: `Deleting ${colors.magenta(alias)} from Judgment... | ${colors.cyan('{bar}')} | {percentage}% || {status}`,
161
- barCompleteChar: '\u2588',
162
- barIncompleteChar: '\u2591',
163
- hideCursor: true,
164
- clearOnComplete: false,
165
- stopOnComplete: true,
166
- }, cliProgress.Presets.shades_classic);
167
- progressBar.start(100, 0, { status: 'Starting...' });
168
- const requestBody = {
169
- dataset_alias: alias,
170
- project_name: projectName
171
- };
172
- try {
173
- progressBar.update(30, { status: 'Sending request...' });
174
- yield axios.post(JUDGMENT_DATASETS_DELETE_API_URL, requestBody, {
175
- headers: this.getAuthHeaders()
176
- });
177
- progressBar.update(100, { status: colors.green('Done!') });
178
- logger.info(`Successfully deleted dataset with alias '${alias}' from project '${projectName}'`);
179
- return true;
180
- }
181
- catch (error) {
182
- this.handleApiError(error, 'deleteDataset');
183
- progressBar.stop();
184
- return false;
185
- }
186
- });
187
- }
188
- /**
189
- * Pulls dataset statistics for a project from the Judgment platform.
190
- */
191
- pullProjectDatasetStats(projectName) {
192
- return __awaiter(this, void 0, void 0, function* () {
193
- logger.debug(`Pulling project dataset stats for project '${projectName}'`);
194
- const progressBar = new cliProgress.SingleBar({
195
- format: `Pulling project stats for ${colors.magenta(projectName)}... | ${colors.cyan('{bar}')} | {percentage}% || {status}`,
196
- barCompleteChar: '\u2588',
197
- barIncompleteChar: '\u2591',
198
- hideCursor: true,
199
- clearOnComplete: false,
200
- stopOnComplete: true,
201
- }, cliProgress.Presets.shades_classic);
202
- progressBar.start(100, 0, { status: 'Starting...' });
203
- const requestBody = {
204
- project_name: projectName
205
- };
206
- try {
207
- progressBar.update(30, { status: 'Sending request...' });
208
- const response = yield axios.post(JUDGMENT_DATASETS_PROJECT_STATS_API_URL, requestBody, {
209
- headers: this.getAuthHeaders()
210
- });
211
- progressBar.update(80, { status: 'Processing response...' });
212
- if (response.status >= 200 && response.status < 300) {
213
- logger.info(`Successfully pulled project stats for '${projectName}'`);
214
- progressBar.update(100, { status: colors.green('Done!') });
215
- return response.data;
216
- }
217
- else {
218
- logger.error(`Server error pulling project stats: ${response.status} ${response.statusText}`);
219
- progressBar.stop();
220
- throw new Error(`Failed to pull project stats for '${projectName}': ${response.statusText}`);
221
- }
222
- }
223
- catch (error) {
224
- this.handleApiError(error, 'pullProjectDatasetStats');
225
- progressBar.stop();
226
- throw error;
227
- }
228
- });
229
- }
230
- /**
231
- * Inserts new examples into an existing dataset on the Judgment platform.
232
- * @returns True if successful, false otherwise.
233
- */
234
- insertDataset(alias, examples, projectName) {
235
- return __awaiter(this, void 0, void 0, function* () {
236
- logger.debug(`Inserting ${examples.length} examples into dataset '${alias}' for project '${projectName}'`);
237
- const progressBar = new cliProgress.SingleBar({
238
- format: `Inserting examples into ${colors.magenta(alias)}... | ${colors.cyan('{bar}')} | {percentage}% || {status}`,
239
- barCompleteChar: '\u2588',
240
- barIncompleteChar: '\u2591',
241
- hideCursor: true,
242
- clearOnComplete: false,
243
- stopOnComplete: true,
244
- }, cliProgress.Presets.shades_classic);
245
- progressBar.start(100, 0, { status: 'Starting...' });
246
- const content = {
247
- dataset_alias: alias,
248
- examples: examples.map((e) => e.toJSON()),
249
- project_name: projectName
250
- };
251
- try {
252
- progressBar.update(30, { status: 'Sending request...' });
253
- yield axios.post(JUDGMENT_DATASETS_INSERT_API_URL, content, {
254
- headers: this.getAuthHeaders()
255
- });
256
- progressBar.update(100, { status: colors.green('Done!') });
257
- logger.info(`Successfully inserted examples into dataset '${alias}' in project '${projectName}'`);
258
- return true;
259
- }
260
- catch (error) {
261
- this.handleApiError(error, 'insertDataset');
262
- progressBar.stop();
263
- return false;
264
- }
265
- });
266
- }
267
- /**
268
- * Exports a dataset in JSONL format from the Judgment platform.
269
- * @returns AxiosResponse containing the stream if successful.
270
- */
271
- exportJsonl(alias, projectName) {
272
- return __awaiter(this, void 0, void 0, function* () {
273
- logger.debug(`Exporting dataset '${alias}' from project '${projectName}' as JSONL`);
274
- const progressBar = new cliProgress.SingleBar({
275
- format: `Exporting ${colors.magenta(alias)} as JSONL... | ${colors.cyan('{bar}')} | {percentage}% || {status}`,
276
- barCompleteChar: '\u2588',
277
- barIncompleteChar: '\u2591',
278
- hideCursor: true,
279
- clearOnComplete: false,
280
- stopOnComplete: true,
281
- }, cliProgress.Presets.shades_classic);
282
- progressBar.start(100, 0, { status: 'Starting...' });
283
- const requestBody = {
284
- dataset_alias: alias,
285
- project_name: projectName,
286
- };
287
- try {
288
- progressBar.update(30, { status: 'Sending request...' });
289
- const response = yield axios.post(JUDGMENT_DATASETS_EXPORT_JSONL_API_URL, requestBody, {
290
- headers: this.getAuthHeaders(),
291
- responseType: 'stream',
292
- });
293
- progressBar.update(100, { status: colors.green('Done!') });
294
- logger.info(`Successfully initiated export for dataset '${alias}' from project '${projectName}'`);
295
- return response;
296
- }
297
- catch (error) {
298
- this.handleApiError(error, 'exportJsonl');
299
- progressBar.stop();
300
- throw error;
301
- }
302
- });
303
- }
304
- /**
305
- * Appends examples to an existing dataset on the Judgment platform.
306
- * @returns True if successful, false otherwise.
307
- */
308
- append(alias, examples, projectName) {
309
- return __awaiter(this, void 0, void 0, function* () {
310
- logger.debug(`Appending ${examples.length} examples to dataset '${alias}' for project '${projectName}'`);
311
- const progressBar = new cliProgress.SingleBar({
312
- format: `Appending to ${colors.magenta(alias)}... | ${colors.cyan('{bar}')} | {percentage}% || {status}`,
313
- barCompleteChar: '\u2588',
314
- barIncompleteChar: '\u2591',
315
- hideCursor: true,
316
- clearOnComplete: false,
317
- stopOnComplete: true,
318
- }, cliProgress.Presets.shades_classic);
319
- progressBar.start(100, 0, { status: 'Starting...' });
320
- const content = {
321
- dataset_alias: alias,
322
- examples: examples.map((e) => e.toJSON()),
323
- project_name: projectName
324
- };
325
- try {
326
- progressBar.update(30, { status: 'Sending request...' });
327
- const response = yield axios.post(JUDGMENT_DATASETS_APPEND_API_URL, content, {
328
- headers: this.getAuthHeaders()
329
- });
330
- progressBar.update(80, { status: 'Processing response...' });
331
- if (response.status >= 200 && response.status < 300) {
332
- logger.info(`Successfully appended examples to dataset '${alias}' in project '${projectName}'`);
333
- progressBar.update(100, { status: colors.green('Done!') });
334
- return true;
335
- }
336
- else {
337
- logger.error(`Server error during append dataset: ${response.status} ${response.statusText}`, response.data);
338
- progressBar.stop();
339
- return false;
340
- }
341
- }
342
- catch (error) {
343
- this.handleApiError(error, 'appendDataset');
344
- progressBar.stop();
345
- return false;
346
- }
347
- });
348
- }
349
- // --- Helper Methods ---
350
- getAuthHeaders() {
351
- return {
352
- 'Content-Type': 'application/json',
353
- 'Authorization': `Bearer ${this.judgmentApiKey}`,
354
- 'X-Organization-Id': this.organizationId,
355
- };
356
- }
357
- handleApiError(error, context) {
358
- logger.error(`API Error during ${context}:`);
359
- if (axios.isAxiosError(error)) {
360
- const axiosError = error;
361
- const response = axiosError.response;
362
- if (response) {
363
- logger.error(`Status: ${response.status} ${response.statusText}`);
364
- logger.debug('Response Data:', response.data);
365
- if (response.status === 422) {
366
- logger.error('Validation Error Detail:', response.data);
367
- }
368
- else if (context === 'exportJsonl' && response.status === 404) {
369
- logger.error(`Dataset not found.`);
370
- }
371
- else if (context.startsWith('delete') && response.status === 404) {
372
- logger.warn(`${context}: Resource not found, may have already been deleted.`);
373
- }
374
- }
375
- else if (axiosError.request) {
376
- logger.error('No response received from server.'); // Simplified log call
377
- }
378
- else {
379
- logger.error(`Error setting up API request for ${context}`); // Simplified log call
380
- }
381
- }
382
- else {
383
- logger.error(`Unexpected error during ${context}`); // Simplified log call
384
- }
385
- }
386
- }
387
- //# sourceMappingURL=eval-dataset-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eval-dataset-client.js","sourceRoot":"","sources":["../../../../src/data/datasets/eval-dataset-client.ts"],"names":[],"mappings":"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"}