@mastra/evals 0.1.0-alpha.7 → 0.1.0-alpha.9

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 (140) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/attachListeners.d.ts +3 -0
  3. package/dist/attachListeners.d.ts.map +1 -0
  4. package/dist/constants.d.ts +2 -0
  5. package/dist/constants.d.ts.map +1 -0
  6. package/dist/evals.cjs.development.js +135 -20
  7. package/dist/evals.cjs.development.js.map +1 -1
  8. package/dist/evals.cjs.production.min.js +1 -1
  9. package/dist/evals.cjs.production.min.js.map +1 -1
  10. package/dist/evals.esm.js +135 -22
  11. package/dist/evals.esm.js.map +1 -1
  12. package/dist/evaluation.d.ts +4 -0
  13. package/dist/evaluation.d.ts.map +1 -1
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/llm.esm.js +332 -189
  17. package/dist/llm.esm.js.map +1 -1
  18. package/dist/metrics/llm/answer-relevancy/index.d.ts +3 -5
  19. package/dist/metrics/llm/answer-relevancy/index.d.ts.map +1 -1
  20. package/dist/metrics/llm/answer-relevancy/metricJudge.d.ts.map +1 -1
  21. package/dist/metrics/llm/answer-relevancy/prompts.d.ts.map +1 -1
  22. package/dist/metrics/llm/bias/index.d.ts +3 -5
  23. package/dist/metrics/llm/bias/index.d.ts.map +1 -1
  24. package/dist/metrics/llm/bias/metricJudge.d.ts +1 -0
  25. package/dist/metrics/llm/bias/metricJudge.d.ts.map +1 -1
  26. package/dist/metrics/llm/bias/prompts.d.ts +4 -0
  27. package/dist/metrics/llm/bias/prompts.d.ts.map +1 -1
  28. package/dist/metrics/llm/context-position/index.d.ts +6 -7
  29. package/dist/metrics/llm/context-position/index.d.ts.map +1 -1
  30. package/dist/metrics/llm/context-position/prompts.d.ts +6 -6
  31. package/dist/metrics/llm/context-position/prompts.d.ts.map +1 -1
  32. package/dist/metrics/llm/context-precision/index.d.ts +6 -7
  33. package/dist/metrics/llm/context-precision/index.d.ts.map +1 -1
  34. package/dist/metrics/llm/context-relevancy/index.d.ts +6 -7
  35. package/dist/metrics/llm/context-relevancy/index.d.ts.map +1 -1
  36. package/dist/metrics/llm/context-relevancy/metricJudge.d.ts +6 -1
  37. package/dist/metrics/llm/context-relevancy/metricJudge.d.ts.map +1 -1
  38. package/dist/metrics/llm/context-relevancy/prompts.d.ts +6 -0
  39. package/dist/metrics/llm/context-relevancy/prompts.d.ts.map +1 -1
  40. package/dist/metrics/llm/contextual-recall/index.d.ts +6 -7
  41. package/dist/metrics/llm/contextual-recall/index.d.ts.map +1 -1
  42. package/dist/metrics/llm/contextual-recall/metricJudge.d.ts +6 -0
  43. package/dist/metrics/llm/contextual-recall/metricJudge.d.ts.map +1 -1
  44. package/dist/metrics/llm/contextual-recall/prompts.d.ts +7 -1
  45. package/dist/metrics/llm/contextual-recall/prompts.d.ts.map +1 -1
  46. package/dist/metrics/llm/faithfulness/index.d.ts +6 -7
  47. package/dist/metrics/llm/faithfulness/index.d.ts.map +1 -1
  48. package/dist/metrics/llm/faithfulness/metricJudge.d.ts +11 -4
  49. package/dist/metrics/llm/faithfulness/metricJudge.d.ts.map +1 -1
  50. package/dist/metrics/llm/hallucination/index.d.ts +6 -7
  51. package/dist/metrics/llm/hallucination/index.d.ts.map +1 -1
  52. package/dist/metrics/llm/hallucination/metricJudge.d.ts +11 -4
  53. package/dist/metrics/llm/hallucination/metricJudge.d.ts.map +1 -1
  54. package/dist/metrics/llm/hallucination/prompts.d.ts.map +1 -1
  55. package/dist/metrics/llm/prompt-alignment/index.d.ts +3 -5
  56. package/dist/metrics/llm/prompt-alignment/index.d.ts.map +1 -1
  57. package/dist/metrics/llm/prompt-alignment/metricJudge.d.ts +10 -4
  58. package/dist/metrics/llm/prompt-alignment/metricJudge.d.ts.map +1 -1
  59. package/dist/metrics/llm/summarization/index.d.ts +8 -5
  60. package/dist/metrics/llm/summarization/index.d.ts.map +1 -1
  61. package/dist/metrics/llm/summarization/metricJudge.d.ts +16 -7
  62. package/dist/metrics/llm/summarization/metricJudge.d.ts.map +1 -1
  63. package/dist/metrics/llm/toxicity/index.d.ts +3 -5
  64. package/dist/metrics/llm/toxicity/index.d.ts.map +1 -1
  65. package/dist/metrics/llm/toxicity/metricJudge.d.ts +4 -4
  66. package/dist/metrics/llm/toxicity/metricJudge.d.ts.map +1 -1
  67. package/dist/metrics/llm/toxicity/prompts.d.ts +2 -5
  68. package/dist/metrics/llm/toxicity/prompts.d.ts.map +1 -1
  69. package/dist/metrics/llm/types.d.ts +7 -0
  70. package/dist/metrics/llm/types.d.ts.map +1 -0
  71. package/dist/metrics/nlp/completeness/index.d.ts +14 -6
  72. package/dist/metrics/nlp/completeness/index.d.ts.map +1 -1
  73. package/dist/metrics/nlp/content-similarity/index.d.ts +13 -7
  74. package/dist/metrics/nlp/content-similarity/index.d.ts.map +1 -1
  75. package/dist/metrics/nlp/keyword-coverage/index.d.ts +9 -6
  76. package/dist/metrics/nlp/keyword-coverage/index.d.ts.map +1 -1
  77. package/dist/metrics/nlp/textual-difference/index.d.ts +11 -6
  78. package/dist/metrics/nlp/textual-difference/index.d.ts.map +1 -1
  79. package/dist/metrics/nlp/tone/index.d.ts +13 -6
  80. package/dist/metrics/nlp/tone/index.d.ts.map +1 -1
  81. package/dist/nlp.esm.js +13 -41
  82. package/dist/nlp.esm.js.map +1 -1
  83. package/package.json +2 -2
  84. package/src/attachListeners.ts +26 -0
  85. package/src/constants.ts +1 -0
  86. package/src/evaluation.test.ts +12 -9
  87. package/src/evaluation.ts +44 -11
  88. package/src/index.ts +1 -0
  89. package/src/metrics/llm/answer-relevancy/index.test.ts +9 -44
  90. package/src/metrics/llm/answer-relevancy/index.ts +6 -4
  91. package/src/metrics/llm/answer-relevancy/metricJudge.ts +2 -1
  92. package/src/metrics/llm/answer-relevancy/prompts.ts +26 -28
  93. package/src/metrics/llm/bias/index.test.ts +4 -20
  94. package/src/metrics/llm/bias/index.ts +10 -2
  95. package/src/metrics/llm/bias/metricJudge.ts +17 -1
  96. package/src/metrics/llm/bias/prompts.ts +27 -0
  97. package/src/metrics/llm/context-position/index.test.ts +24 -62
  98. package/src/metrics/llm/context-position/index.ts +11 -13
  99. package/src/metrics/llm/context-position/prompts.ts +31 -36
  100. package/src/metrics/llm/context-precision/index.test.ts +20 -52
  101. package/src/metrics/llm/context-precision/index.ts +11 -13
  102. package/src/metrics/llm/context-relevancy/index.test.ts +6 -18
  103. package/src/metrics/llm/context-relevancy/index.ts +20 -12
  104. package/src/metrics/llm/context-relevancy/metricJudge.ts +17 -3
  105. package/src/metrics/llm/context-relevancy/prompts.ts +37 -0
  106. package/src/metrics/llm/contextual-recall/index.test.ts +6 -17
  107. package/src/metrics/llm/contextual-recall/index.ts +17 -12
  108. package/src/metrics/llm/contextual-recall/metricJudge.ts +17 -2
  109. package/src/metrics/llm/contextual-recall/prompts.ts +42 -1
  110. package/src/metrics/llm/faithfulness/index.test.ts +24 -62
  111. package/src/metrics/llm/faithfulness/index.ts +20 -15
  112. package/src/metrics/llm/faithfulness/metricJudge.ts +10 -10
  113. package/src/metrics/llm/hallucination/index.test.ts +22 -57
  114. package/src/metrics/llm/hallucination/index.ts +19 -14
  115. package/src/metrics/llm/hallucination/metricJudge.ts +11 -13
  116. package/src/metrics/llm/hallucination/prompts.ts +28 -35
  117. package/src/metrics/llm/prompt-alignment/index.test.ts +6 -25
  118. package/src/metrics/llm/prompt-alignment/index.ts +13 -5
  119. package/src/metrics/llm/prompt-alignment/metricJudge.ts +10 -14
  120. package/src/metrics/llm/summarization/index.test.ts +15 -60
  121. package/src/metrics/llm/summarization/index.ts +16 -8
  122. package/src/metrics/llm/summarization/metricJudge.ts +12 -25
  123. package/src/metrics/llm/toxicity/index.test.ts +3 -12
  124. package/src/metrics/llm/toxicity/index.ts +7 -5
  125. package/src/metrics/llm/toxicity/metricJudge.ts +5 -4
  126. package/src/metrics/llm/toxicity/prompts.ts +5 -12
  127. package/src/metrics/llm/types.ts +7 -0
  128. package/src/metrics/nlp/completeness/index.test.ts +19 -19
  129. package/src/metrics/nlp/completeness/index.ts +14 -6
  130. package/src/metrics/nlp/content-similarity/index.test.ts +16 -47
  131. package/src/metrics/nlp/content-similarity/index.ts +15 -8
  132. package/src/metrics/nlp/keyword-coverage/index.test.ts +30 -59
  133. package/src/metrics/nlp/keyword-coverage/index.ts +10 -9
  134. package/src/metrics/nlp/textual-difference/index.test.ts +33 -61
  135. package/src/metrics/nlp/textual-difference/index.ts +12 -6
  136. package/src/metrics/nlp/tone/index.test.ts +48 -71
  137. package/src/metrics/nlp/tone/index.ts +16 -9
  138. package/dist/metrics/nlp/types.d.ts +0 -12
  139. package/dist/metrics/nlp/types.d.ts.map +0 -1
  140. package/src/metrics/nlp/types.ts +0 -13
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @mastra/evals
2
2
 
3
+ ## 0.1.0-alpha.9
4
+
5
+ ### Patch Changes
6
+
7
+ - 1944807: Unified logger and major step in better logs
8
+ - 9ade36e: Changed measure for evals, added endpoints, attached metrics to agent, added ui for evals in playground, and updated docs
9
+ - Updated dependencies [1944807]
10
+ - Updated dependencies [9ade36e]
11
+ - @mastra/core@0.1.27-alpha.69
12
+
13
+ ## 0.1.0-alpha.8
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [0be7181]
18
+ - Updated dependencies [0be7181]
19
+ - @mastra/core@0.1.27-alpha.68
20
+
3
21
  ## 0.1.0-alpha.7
4
22
 
5
23
  ### Patch Changes
@@ -0,0 +1,3 @@
1
+ export declare function attachListeners(): Promise<void>;
2
+ export declare function globalSetup(): Promise<void>;
3
+ //# sourceMappingURL=attachListeners.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachListeners.d.ts","sourceRoot":"","sources":["../src/attachListeners.ts"],"names":[],"mappings":"AAMA,wBAAsB,eAAe,kBAUpC;AAED,wBAAsB,WAAW,kBAOhC"}
@@ -0,0 +1,2 @@
1
+ export declare const GLOBAL_RUN_ID_ENV_KEY = "_MASTRA_GLOBAL_RUN_ID_";
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,2BAA2B,CAAC"}
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var core = require('@mastra/core');
6
+ var fs = require('fs');
7
+ var path = require('path');
6
8
 
7
9
  function asyncGeneratorStep(n, t, e, r, o, a, c) {
8
10
  try {
@@ -331,41 +333,154 @@ function _regeneratorRuntime() {
331
333
  }, e;
332
334
  }
333
335
 
336
+ var GLOBAL_RUN_ID_ENV_KEY = '_MASTRA_GLOBAL_RUN_ID_';
337
+
334
338
  function evaluate(_x, _x2, _x3) {
335
339
  return _evaluate.apply(this, arguments);
336
340
  }
337
341
  function _evaluate() {
338
- _evaluate = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(agent, input, metric) {
339
- var agentOutput, metricResult;
340
- return _regeneratorRuntime().wrap(function _callee$(_context) {
341
- while (1) switch (_context.prev = _context.next) {
342
+ _evaluate = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(agent, input, metric) {
343
+ var testInfo, globalRunId, runId, agentOutput, metricResult;
344
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
345
+ while (1) switch (_context2.prev = _context2.next) {
342
346
  case 0:
343
- _context.next = 2;
344
- return agent.generate(input);
347
+ _context2.next = 2;
348
+ return getCurrentTestInfo();
345
349
  case 2:
346
- agentOutput = _context.sent;
347
- _context.next = 5;
348
- return metric.measure({
349
- input: input.toString(),
350
- output: agentOutput.text
350
+ testInfo = _context2.sent;
351
+ globalRunId = process.env[GLOBAL_RUN_ID_ENV_KEY];
352
+ runId = crypto.randomUUID();
353
+ _context2.next = 7;
354
+ return agent.generate(input, {
355
+ runId: runId
351
356
  });
352
- case 5:
353
- metricResult = _context.sent;
354
- // capture infomration about the evaluation
355
- core.executeHook(core.AvailableHooks.ON_EVALUATION, {
356
- input: input.toString(),
357
+ case 7:
358
+ agentOutput = _context2.sent;
359
+ if (!globalRunId) {
360
+ globalRunId = process.env[GLOBAL_RUN_ID_ENV_KEY] = crypto.randomUUID();
361
+ console.warn('Global run id not set, you should run "globalSetup" from "@mastra/evals" before evaluating.');
362
+ }
363
+ _context2.next = 11;
364
+ return core.evaluate({
365
+ agentName: agent.name,
366
+ input: input,
367
+ metric: metric,
357
368
  output: agentOutput.text,
358
- result: metricResult
369
+ globalRunId: globalRunId,
370
+ runId: runId,
371
+ testInfo: testInfo
359
372
  });
360
- return _context.abrupt("return", metricResult);
361
- case 8:
373
+ case 11:
374
+ metricResult = _context2.sent;
375
+ return _context2.abrupt("return", metricResult);
376
+ case 13:
377
+ case "end":
378
+ return _context2.stop();
379
+ }
380
+ }, _callee2);
381
+ }));
382
+ return _evaluate.apply(this, arguments);
383
+ }
384
+ var getCurrentTestInfo = /*#__PURE__*/function () {
385
+ var _ref = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
386
+ var state, _vitest$expect, vitest, _state;
387
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
388
+ while (1) switch (_context.prev = _context.next) {
389
+ case 0:
390
+ if (!(typeof expect !== 'undefined' && expect.getState)) {
391
+ _context.next = 3;
392
+ break;
393
+ }
394
+ state = expect.getState();
395
+ return _context.abrupt("return", {
396
+ testName: state.currentTestName,
397
+ testPath: state.testPath
398
+ });
399
+ case 3:
400
+ _context.prev = 3;
401
+ _context.next = 6;
402
+ return import('vitest');
403
+ case 6:
404
+ vitest = _context.sent;
405
+ if (!(typeof vitest !== 'undefined' && (_vitest$expect = vitest.expect) != null && _vitest$expect.getState)) {
406
+ _context.next = 10;
407
+ break;
408
+ }
409
+ _state = vitest.expect.getState();
410
+ return _context.abrupt("return", {
411
+ testName: _state.currentTestName,
412
+ testPath: _state.testPath
413
+ });
414
+ case 10:
415
+ _context.next = 14;
416
+ break;
417
+ case 12:
418
+ _context.prev = 12;
419
+ _context.t0 = _context["catch"](3);
420
+ case 14:
421
+ return _context.abrupt("return", null);
422
+ case 15:
423
+ case "end":
424
+ return _context.stop();
425
+ }
426
+ }, _callee, null, [[3, 12]]);
427
+ }));
428
+ return function getCurrentTestInfo() {
429
+ return _ref.apply(this, arguments);
430
+ };
431
+ }();
432
+
433
+ function attachListeners() {
434
+ return _attachListeners.apply(this, arguments);
435
+ }
436
+ function _attachListeners() {
437
+ _attachListeners = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
438
+ var dotMastraPath;
439
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
440
+ while (1) switch (_context.prev = _context.next) {
441
+ case 0:
442
+ dotMastraPath = path.join(process.cwd(), '.mastra');
443
+ try {
444
+ fs.mkdirSync(dotMastraPath);
445
+ } catch (error) {}
446
+ core.registerHook(core.AvailableHooks.ON_EVALUATION, function (traceObject) {
447
+ fs.appendFile(path.join(dotMastraPath, 'evals.json'), JSON.stringify(traceObject) + '\n', function () {});
448
+ });
449
+ case 3:
362
450
  case "end":
363
451
  return _context.stop();
364
452
  }
365
453
  }, _callee);
366
454
  }));
367
- return _evaluate.apply(this, arguments);
455
+ return _attachListeners.apply(this, arguments);
456
+ }
457
+ function globalSetup() {
458
+ return _globalSetup.apply(this, arguments);
459
+ }
460
+ function _globalSetup() {
461
+ _globalSetup = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
462
+ var globalRunId;
463
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
464
+ while (1) switch (_context2.prev = _context2.next) {
465
+ case 0:
466
+ if (!process.env[GLOBAL_RUN_ID_ENV_KEY]) {
467
+ _context2.next = 2;
468
+ break;
469
+ }
470
+ throw new Error('Global run id already set, you should only run "GlobalSetup" once');
471
+ case 2:
472
+ globalRunId = crypto.randomUUID();
473
+ process.env[GLOBAL_RUN_ID_ENV_KEY] = globalRunId;
474
+ case 4:
475
+ case "end":
476
+ return _context2.stop();
477
+ }
478
+ }, _callee2);
479
+ }));
480
+ return _globalSetup.apply(this, arguments);
368
481
  }
369
482
 
483
+ exports.attachListeners = attachListeners;
370
484
  exports.evaluate = evaluate;
485
+ exports.globalSetup = globalSetup;
371
486
  //# sourceMappingURL=evals.cjs.development.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evals.cjs.development.js","sources":["../src/evaluation.ts"],"sourcesContent":["import { AvailableHooks, executeHook } from '@mastra/core';\nimport { type Agent, type Metric } from '@mastra/core';\n\nexport async function evaluate<T extends Agent>(agent: T, input: Parameters<T['generate']>[0], metric: Metric) {\n const agentOutput = await agent.generate(input);\n\n const metricResult = await metric.measure({\n input: input.toString(),\n output: agentOutput.text,\n });\n\n // capture infomration about the evaluation\n executeHook(AvailableHooks.ON_EVALUATION, {\n input: input.toString(),\n output: agentOutput.text,\n result: metricResult,\n });\n\n return metricResult;\n}\n"],"names":["evaluate","_x","_x2","_x3","_evaluate","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","agent","input","metric","agentOutput","metricResult","wrap","_callee$","_context","prev","next","generate","sent","measure","toString","output","text","executeHook","AvailableHooks","ON_EVALUATION","result","abrupt","stop"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,SAAsBA,QAAQA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA;AAAA,EAAA,OAAAC,SAAA,CAAAC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAgB7B,SAAAF,SAAA,GAAA;AAAAA,EAAAA,SAAA,GAAAG,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAhBM,SAAAC,OAAyCC,CAAAA,KAAQ,EAAEC,KAAmC,EAAEC,MAAc,EAAA;IAAA,IAAAC,WAAA,EAAAC,YAAA,CAAA;AAAA,IAAA,OAAAP,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAF,UAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OACjFT,KAAK,CAACU,QAAQ,CAACT,KAAK,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAAzCE,WAAW,GAAAI,QAAA,CAAAI,IAAA,CAAA;AAAAJ,UAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;UAAA,OAEUP,MAAM,CAACU,OAAO,CAAC;AACxCX,YAAAA,KAAK,EAAEA,KAAK,CAACY,QAAQ,EAAE;YACvBC,MAAM,EAAEX,WAAW,CAACY,IAAAA;AACrB,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAHIX,YAAY,GAAAG,QAAA,CAAAI,IAAA,CAAA;AAKlB;AACAK,UAAAA,gBAAW,CAACC,mBAAc,CAACC,aAAa,EAAE;AACxCjB,YAAAA,KAAK,EAAEA,KAAK,CAACY,QAAQ,EAAE;YACvBC,MAAM,EAAEX,WAAW,CAACY,IAAI;AACxBI,YAAAA,MAAM,EAAEf,YAAAA;AACT,WAAA,CAAC,CAAA;AAAC,UAAA,OAAAG,QAAA,CAAAa,MAAA,CAAA,QAAA,EAEIhB,YAAY,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAG,QAAA,CAAAc,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAtB,OAAA,CAAA,CAAA;GACpB,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAN,SAAA,CAAAC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"evals.cjs.development.js","sources":["../src/constants.ts","../src/evaluation.ts","../src/attachListeners.ts"],"sourcesContent":["export const GLOBAL_RUN_ID_ENV_KEY = '_MASTRA_GLOBAL_RUN_ID_';\n","import { type Agent, type Metric, evaluate as coreEvaluate } from '@mastra/core';\n\nimport { GLOBAL_RUN_ID_ENV_KEY } from './constants';\n\nexport async function evaluate<T extends Agent>(agent: T, input: Parameters<T['generate']>[0], metric: Metric) {\n const testInfo = await getCurrentTestInfo();\n let globalRunId = process.env[GLOBAL_RUN_ID_ENV_KEY];\n const runId = crypto.randomUUID();\n const agentOutput = await agent.generate(input, {\n runId,\n });\n\n if (!globalRunId) {\n globalRunId = process.env[GLOBAL_RUN_ID_ENV_KEY] = crypto.randomUUID();\n console.warn('Global run id not set, you should run \"globalSetup\" from \"@mastra/evals\" before evaluating.');\n }\n\n const metricResult = await coreEvaluate({\n agentName: agent.name,\n input,\n metric,\n output: agentOutput.text,\n globalRunId,\n runId,\n testInfo,\n });\n\n return metricResult;\n}\n\nexport const getCurrentTestInfo = async () => {\n // Jest\n if (typeof expect !== 'undefined' && expect.getState) {\n const state = expect.getState();\n return {\n testName: state.currentTestName,\n testPath: state.testPath,\n };\n }\n\n try {\n const vitest = await import('vitest');\n if (typeof vitest !== 'undefined' && vitest.expect?.getState) {\n const state = vitest.expect.getState();\n return {\n testName: state.currentTestName,\n testPath: state.testPath,\n };\n }\n } catch {}\n\n return null;\n};\n","import { AvailableHooks, registerHook } from '@mastra/core';\nimport { mkdirSync, appendFile } from 'fs';\nimport { join } from 'path';\n\nimport { GLOBAL_RUN_ID_ENV_KEY } from './constants';\n\nexport async function attachListeners() {\n const dotMastraPath = join(process.cwd(), '.mastra');\n\n try {\n mkdirSync(dotMastraPath);\n } catch (error) {}\n\n registerHook(AvailableHooks.ON_EVALUATION, traceObject => {\n appendFile(join(dotMastraPath, 'evals.json'), JSON.stringify(traceObject) + '\\n', () => {});\n });\n}\n\nexport async function globalSetup() {\n if (process.env[GLOBAL_RUN_ID_ENV_KEY]) {\n throw new Error('Global run id already set, you should only run \"GlobalSetup\" once');\n }\n\n const globalRunId = crypto.randomUUID();\n process.env[GLOBAL_RUN_ID_ENV_KEY] = globalRunId;\n}\n"],"names":["GLOBAL_RUN_ID_ENV_KEY","evaluate","_x","_x2","_x3","_evaluate","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","agent","input","metric","testInfo","globalRunId","runId","agentOutput","metricResult","wrap","_callee2$","_context2","prev","next","getCurrentTestInfo","sent","process","env","crypto","randomUUID","generate","console","warn","coreEvaluate","agentName","name","output","text","abrupt","stop","_ref","_callee","state","_vitest$expect","vitest","_state","_callee$","_context","expect","getState","testName","currentTestName","testPath","t0","attachListeners","_attachListeners","dotMastraPath","join","cwd","mkdirSync","error","registerHook","AvailableHooks","ON_EVALUATION","traceObject","appendFile","JSON","stringify","globalSetup","_globalSetup","Error"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@mastra/core");function r(t,r,e,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void e(t)}u.done?r(c):Promise.resolve(c).then(n,o)}function e(){e=function(){return r};var t,r={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(t,r,e){t[r]=e.value},a="function"==typeof Symbol?Symbol:{},u=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function f(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{f({},"")}catch(t){f=function(t,r,e){return t[r]=e}}function h(t,r,e,n){var o=Object.create((r&&r.prototype instanceof m?r:m).prototype),a=new S(n||[]);return i(o,"_invoke",{value:k(t,e,a)}),o}function l(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}r.wrap=h;var p="suspendedStart",v="suspendedYield",y="executing",d="completed",g={};function m(){}function w(){}function x(){}var b={};f(b,u,(function(){return this}));var L=Object.getPrototypeOf,E=L&&L(L(T([])));E&&E!==n&&o.call(E,u)&&(b=E);var _=x.prototype=m.prototype=Object.create(b);function O(t){["next","throw","return"].forEach((function(r){f(t,r,(function(t){return this._invoke(r,t)}))}))}function j(t,r){function e(n,i,a,u){var c=l(t[n],t,i);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"==typeof f&&o.call(f,"__await")?r.resolve(f.__await).then((function(t){e("next",t,a,u)}),(function(t){e("throw",t,a,u)})):r.resolve(f).then((function(t){s.value=t,a(s)}),(function(t){return e("throw",t,a,u)}))}u(c.arg)}var n;i(this,"_invoke",{value:function(t,o){function i(){return new r((function(r,n){e(t,o,r,n)}))}return n=n?n.then(i,i):i()}})}function k(r,e,n){var o=p;return function(i,a){if(o===y)throw Error("Generator is already running");if(o===d){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var u=n.delegate;if(u){var c=N(u,n);if(c){if(c===g)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var s=l(r,e,n);if("normal"===s.type){if(o=n.done?d:v,s.arg===g)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=d,n.method="throw",n.arg=s.arg)}}}function N(r,e){var n=e.method,o=r.iterator[n];if(o===t)return e.delegate=null,"throw"===n&&r.iterator.return&&(e.method="return",e.arg=t,N(r,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var i=l(o,r.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,g;var a=i.arg;return a?a.done?(e[r.resultName]=a.value,e.next=r.nextLoc,"return"!==e.method&&(e.method="next",e.arg=t),e.delegate=null,g):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,g)}function P(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function G(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function T(r){if(r||""===r){var e=r[u];if(e)return e.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var n=-1,i=function e(){for(;++n<r.length;)if(o.call(r,n))return e.value=r[n],e.done=!1,e;return e.value=t,e.done=!0,e};return i.next=i}}throw new TypeError(typeof r+" is not iterable")}return w.prototype=x,i(_,"constructor",{value:x,configurable:!0}),i(x,"constructor",{value:w,configurable:!0}),w.displayName=f(x,s,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===w||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,x):(t.__proto__=x,f(t,s,"GeneratorFunction")),t.prototype=Object.create(_),t},r.awrap=function(t){return{__await:t}},O(j.prototype),f(j.prototype,c,(function(){return this})),r.AsyncIterator=j,r.async=function(t,e,n,o,i){void 0===i&&(i=Promise);var a=new j(h(t,e,n,o),i);return r.isGeneratorFunction(e)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},O(_),f(_,s,"Generator"),f(_,u,(function(){return this})),f(_,"toString",(function(){return"[object Generator]"})),r.keys=function(t){var r=Object(t),e=[];for(var n in r)e.push(n);return e.reverse(),function t(){for(;e.length;){var n=e.pop();if(n in r)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=T,S.prototype={constructor:S,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(G),!r)for(var e in this)"t"===e.charAt(0)&&o.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var e=this;function n(n,o){return u.type="throw",u.arg=r,e.next=n,o&&(e.method="next",e.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=o.call(a,"catchLoc"),s=o.call(a,"finallyLoc");if(c&&s){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,r){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=r,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(a)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),g},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),G(e),g}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;G(e)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,e,n){return this.delegate={iterator:T(r),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=t),g}},r}function n(){var o;return o=e().mark((function r(n,o,i){var a,u;return e().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,n.generate(o);case 2:return a=r.sent,r.next=5,i.measure({input:o.toString(),output:a.text});case 5:return u=r.sent,t.executeHook(t.AvailableHooks.ON_EVALUATION,{input:o.toString(),output:a.text,result:u}),r.abrupt("return",u);case 8:case"end":return r.stop()}}),r)})),n=function(){var t=this,e=arguments;return new Promise((function(n,i){var a=o.apply(t,e);function u(t){r(a,n,i,u,c,"next",t)}function c(t){r(a,n,i,u,c,"throw",t)}u(void 0)}))},n.apply(this,arguments)}exports.evaluate=function(t,r,e){return n.apply(this,arguments)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@mastra/core"),e=require("fs"),r=require("path");function n(t,e,r,n,o,a,i){try{var c=t[a](i),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(o,a){var i=t.apply(e,r);function c(t){n(i,o,a,c,u,"next",t)}function u(t){n(i,o,a,c,u,"throw",t)}c(void 0)}))}}function a(){a=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},c=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var a=Object.create((e&&e.prototype instanceof m?e:m).prototype),i=new G(n||[]);return o(a,"_invoke",{value:j(t,r,i)}),a}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var p="suspendedStart",v="suspendedYield",y="executing",d="completed",g={};function m(){}function w(){}function x(){}var b={};l(b,c,(function(){return this}));var L=Object.getPrototypeOf,E=L&&L(L(I([])));E&&E!==r&&n.call(E,c)&&(b=E);var _=x.prototype=m.prototype=Object.create(b);function k(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function r(o,a,i,c){var u=h(t[o],t,a);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,c)}))}c(u.arg)}var a;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return a=a?a.then(o,o):o()}})}function j(e,r,n){var o=p;return function(a,i){if(o===y)throw Error("Generator is already running");if(o===d){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var c=n.delegate;if(c){var u=N(c,n);if(u){if(u===g)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var s=h(e,r,n);if("normal"===s.type){if(o=n.done?d:v,s.arg===g)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=d,n.method="throw",n.arg=s.arg)}}}function N(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,N(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var a=h(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,g;var i=a.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,g):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,g)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function G(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function I(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(typeof e+" is not iterable")}return w.prototype=x,o(_,"constructor",{value:x,configurable:!0}),o(x,"constructor",{value:w,configurable:!0}),w.displayName=l(x,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===w||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,x):(t.__proto__=x,l(t,s,"GeneratorFunction")),t.prototype=Object.create(_),t},e.awrap=function(t){return{__await:t}},k(O.prototype),l(O.prototype,u,(function(){return this})),e.AsyncIterator=O,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new O(f(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},k(_),l(_,s,"Generator"),l(_,c,(function(){return this})),l(_,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=I,G.prototype={constructor:G,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(P),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var u=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,g):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),g},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),P(r),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;P(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:I(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}var i="_MASTRA_GLOBAL_RUN_ID_";function c(){return(c=o(a().mark((function e(r,n,o){var c,s,l,f;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,u();case 2:return c=e.sent,s=process.env[i],l=crypto.randomUUID(),e.next=7,r.generate(n,{runId:l});case 7:return f=e.sent,s||(s=process.env[i]=crypto.randomUUID(),console.warn('Global run id not set, you should run "globalSetup" from "@mastra/evals" before evaluating.')),e.next=11,t.evaluate({agentName:r.name,input:n,metric:o,output:f.text,globalRunId:s,runId:l,testInfo:c});case 11:return e.abrupt("return",e.sent);case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var u=function(){var t=o(a().mark((function t(){var e,r,n,o;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("undefined"==typeof expect||!expect.getState){t.next=3;break}return e=expect.getState(),t.abrupt("return",{testName:e.currentTestName,testPath:e.testPath});case 3:return t.prev=3,t.next=6,import("vitest");case 6:if(void 0===(n=t.sent)||null==(r=n.expect)||!r.getState){t.next=10;break}return o=n.expect.getState(),t.abrupt("return",{testName:o.currentTestName,testPath:o.testPath});case 10:t.next=14;break;case 12:t.prev=12,t.t0=t.catch(3);case 14:return t.abrupt("return",null);case 15:case"end":return t.stop()}}),t,null,[[3,12]])})));return function(){return t.apply(this,arguments)}}();function s(){return(s=o(a().mark((function n(){var o;return a().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:o=r.join(process.cwd(),".mastra");try{e.mkdirSync(o)}catch(t){}t.registerHook(t.AvailableHooks.ON_EVALUATION,(function(t){e.appendFile(r.join(o,"evals.json"),JSON.stringify(t)+"\n",(function(){}))}));case 3:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function l(){return(l=o(a().mark((function t(){var e;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!process.env[i]){t.next=2;break}throw new Error('Global run id already set, you should only run "GlobalSetup" once');case 2:e=crypto.randomUUID(),process.env[i]=e;case 4:case"end":return t.stop()}}),t)})))).apply(this,arguments)}exports.attachListeners=function(){return s.apply(this,arguments)},exports.evaluate=function(t,e,r){return c.apply(this,arguments)},exports.globalSetup=function(){return l.apply(this,arguments)};
2
2
  //# sourceMappingURL=evals.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evals.cjs.production.min.js","sources":["../src/evaluation.ts"],"sourcesContent":["import { AvailableHooks, executeHook } from '@mastra/core';\nimport { type Agent, type Metric } from '@mastra/core';\n\nexport async function evaluate<T extends Agent>(agent: T, input: Parameters<T['generate']>[0], metric: Metric) {\n const agentOutput = await agent.generate(input);\n\n const metricResult = await metric.measure({\n input: input.toString(),\n output: agentOutput.text,\n });\n\n // capture infomration about the evaluation\n executeHook(AvailableHooks.ON_EVALUATION, {\n input: input.toString(),\n output: agentOutput.text,\n result: metricResult,\n });\n\n return metricResult;\n}\n"],"names":["_evaluate","_regeneratorRuntime","mark","_callee","agent","input","metric","agentOutput","metricResult","wrap","_context","prev","next","generate","sent","measure","toString","output","text","executeHook","AvailableHooks","ON_EVALUATION","result","abrupt","stop","apply","this","arguments","_x","_x2","_x3"],"mappings":"+jNAmBC,SAAAA,UAAA,SAAAC,IAAAC,MAhBM,SAAAC,EAAyCC,EAAUC,EAAqCC,GAAc,IAAAC,EAAAC,EAAA,OAAAP,IAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAE,KAAA,EACjFR,EAAMS,SAASR,GAAM,KAAA,EAA9B,OAAXE,EAAWG,EAAAI,KAAAJ,EAAAE,KAAA,EAEUN,EAAOS,QAAQ,CACxCV,MAAOA,EAAMW,WACbC,OAAQV,EAAYW,OACpB,KAAA,EAOC,OAVGV,EAAYE,EAAAI,KAMlBK,EAAWA,YAACC,EAAcA,eAACC,cAAe,CACxChB,MAAOA,EAAMW,WACbC,OAAQV,EAAYW,KACpBI,OAAQd,IACPE,EAAAa,OAAA,SAEIf,GAAY,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAc,OAAA,GAAArB,EACpB,IAAAH,gLAAAA,EAAAyB,MAAAC,KAAAC,UAAA,kBAhBD,SAA8BC,EAAAC,EAAAC,GAAA,OAAA9B,EAAAyB,MAAAC,KAAAC,UAAA"}
1
+ {"version":3,"file":"evals.cjs.production.min.js","sources":["../src/constants.ts","../src/evaluation.ts","../src/attachListeners.ts"],"sourcesContent":["export const GLOBAL_RUN_ID_ENV_KEY = '_MASTRA_GLOBAL_RUN_ID_';\n","import { type Agent, type Metric, evaluate as coreEvaluate } from '@mastra/core';\n\nimport { GLOBAL_RUN_ID_ENV_KEY } from './constants';\n\nexport async function evaluate<T extends Agent>(agent: T, input: Parameters<T['generate']>[0], metric: Metric) {\n const testInfo = await getCurrentTestInfo();\n let globalRunId = process.env[GLOBAL_RUN_ID_ENV_KEY];\n const runId = crypto.randomUUID();\n const agentOutput = await agent.generate(input, {\n runId,\n });\n\n if (!globalRunId) {\n globalRunId = process.env[GLOBAL_RUN_ID_ENV_KEY] = crypto.randomUUID();\n console.warn('Global run id not set, you should run \"globalSetup\" from \"@mastra/evals\" before evaluating.');\n }\n\n const metricResult = await coreEvaluate({\n agentName: agent.name,\n input,\n metric,\n output: agentOutput.text,\n globalRunId,\n runId,\n testInfo,\n });\n\n return metricResult;\n}\n\nexport const getCurrentTestInfo = async () => {\n // Jest\n if (typeof expect !== 'undefined' && expect.getState) {\n const state = expect.getState();\n return {\n testName: state.currentTestName,\n testPath: state.testPath,\n };\n }\n\n try {\n const vitest = await import('vitest');\n if (typeof vitest !== 'undefined' && vitest.expect?.getState) {\n const state = vitest.expect.getState();\n return {\n testName: state.currentTestName,\n testPath: state.testPath,\n };\n }\n } catch {}\n\n return null;\n};\n","import { AvailableHooks, registerHook } from '@mastra/core';\nimport { mkdirSync, appendFile } from 'fs';\nimport { join } from 'path';\n\nimport { GLOBAL_RUN_ID_ENV_KEY } from './constants';\n\nexport async function attachListeners() {\n const dotMastraPath = join(process.cwd(), '.mastra');\n\n try {\n mkdirSync(dotMastraPath);\n } catch (error) {}\n\n registerHook(AvailableHooks.ON_EVALUATION, traceObject => {\n appendFile(join(dotMastraPath, 'evals.json'), JSON.stringify(traceObject) + '\\n', () => {});\n });\n}\n\nexport async function globalSetup() {\n if (process.env[GLOBAL_RUN_ID_ENV_KEY]) {\n throw new Error('Global run id already set, you should only run \"GlobalSetup\" once');\n }\n\n const globalRunId = crypto.randomUUID();\n process.env[GLOBAL_RUN_ID_ENV_KEY] = globalRunId;\n}\n"],"names":["GLOBAL_RUN_ID_ENV_KEY","_evaluate","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","agent","input","metric","testInfo","globalRunId","runId","agentOutput","wrap","_context2","prev","next","getCurrentTestInfo","sent","process","env","crypto","randomUUID","generate","console","warn","coreEvaluate","agentName","name","output","text","abrupt","stop","apply","this","arguments","_ref","_callee","state","_vitest$expect","vitest","_state","_context","expect","getState","testName","currentTestName","testPath","import","t0","_attachListeners","dotMastraPath","join","cwd","mkdirSync","error","registerHook","AvailableHooks","ON_EVALUATION","traceObject","appendFile","JSON","stringify","_globalSetup","Error","_x","_x2","_x3"],"mappings":"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"}
package/dist/evals.esm.js CHANGED
@@ -1,4 +1,6 @@
1
- import { executeHook, AvailableHooks } from '@mastra/core';
1
+ import { evaluate as evaluate$1, registerHook, AvailableHooks } from '@mastra/core';
2
+ import { mkdirSync, appendFile } from 'fs';
3
+ import { join } from 'path';
2
4
 
3
5
  function asyncGeneratorStep(n, t, e, r, o, a, c) {
4
6
  try {
@@ -327,41 +329,152 @@ function _regeneratorRuntime() {
327
329
  }, e;
328
330
  }
329
331
 
332
+ var GLOBAL_RUN_ID_ENV_KEY = '_MASTRA_GLOBAL_RUN_ID_';
333
+
330
334
  function evaluate(_x, _x2, _x3) {
331
335
  return _evaluate.apply(this, arguments);
332
336
  }
333
337
  function _evaluate() {
334
- _evaluate = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(agent, input, metric) {
335
- var agentOutput, metricResult;
336
- return _regeneratorRuntime().wrap(function _callee$(_context) {
337
- while (1) switch (_context.prev = _context.next) {
338
+ _evaluate = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(agent, input, metric) {
339
+ var testInfo, globalRunId, runId, agentOutput, metricResult;
340
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
341
+ while (1) switch (_context2.prev = _context2.next) {
338
342
  case 0:
339
- _context.next = 2;
340
- return agent.generate(input);
343
+ _context2.next = 2;
344
+ return getCurrentTestInfo();
341
345
  case 2:
342
- agentOutput = _context.sent;
343
- _context.next = 5;
344
- return metric.measure({
345
- input: input.toString(),
346
- output: agentOutput.text
346
+ testInfo = _context2.sent;
347
+ globalRunId = process.env[GLOBAL_RUN_ID_ENV_KEY];
348
+ runId = crypto.randomUUID();
349
+ _context2.next = 7;
350
+ return agent.generate(input, {
351
+ runId: runId
347
352
  });
348
- case 5:
349
- metricResult = _context.sent;
350
- // capture infomration about the evaluation
351
- executeHook(AvailableHooks.ON_EVALUATION, {
352
- input: input.toString(),
353
+ case 7:
354
+ agentOutput = _context2.sent;
355
+ if (!globalRunId) {
356
+ globalRunId = process.env[GLOBAL_RUN_ID_ENV_KEY] = crypto.randomUUID();
357
+ console.warn('Global run id not set, you should run "globalSetup" from "@mastra/evals" before evaluating.');
358
+ }
359
+ _context2.next = 11;
360
+ return evaluate$1({
361
+ agentName: agent.name,
362
+ input: input,
363
+ metric: metric,
353
364
  output: agentOutput.text,
354
- result: metricResult
365
+ globalRunId: globalRunId,
366
+ runId: runId,
367
+ testInfo: testInfo
355
368
  });
356
- return _context.abrupt("return", metricResult);
357
- case 8:
369
+ case 11:
370
+ metricResult = _context2.sent;
371
+ return _context2.abrupt("return", metricResult);
372
+ case 13:
373
+ case "end":
374
+ return _context2.stop();
375
+ }
376
+ }, _callee2);
377
+ }));
378
+ return _evaluate.apply(this, arguments);
379
+ }
380
+ var getCurrentTestInfo = /*#__PURE__*/function () {
381
+ var _ref = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
382
+ var state, _vitest$expect, vitest, _state;
383
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
384
+ while (1) switch (_context.prev = _context.next) {
385
+ case 0:
386
+ if (!(typeof expect !== 'undefined' && expect.getState)) {
387
+ _context.next = 3;
388
+ break;
389
+ }
390
+ state = expect.getState();
391
+ return _context.abrupt("return", {
392
+ testName: state.currentTestName,
393
+ testPath: state.testPath
394
+ });
395
+ case 3:
396
+ _context.prev = 3;
397
+ _context.next = 6;
398
+ return import('vitest');
399
+ case 6:
400
+ vitest = _context.sent;
401
+ if (!(typeof vitest !== 'undefined' && (_vitest$expect = vitest.expect) != null && _vitest$expect.getState)) {
402
+ _context.next = 10;
403
+ break;
404
+ }
405
+ _state = vitest.expect.getState();
406
+ return _context.abrupt("return", {
407
+ testName: _state.currentTestName,
408
+ testPath: _state.testPath
409
+ });
410
+ case 10:
411
+ _context.next = 14;
412
+ break;
413
+ case 12:
414
+ _context.prev = 12;
415
+ _context.t0 = _context["catch"](3);
416
+ case 14:
417
+ return _context.abrupt("return", null);
418
+ case 15:
419
+ case "end":
420
+ return _context.stop();
421
+ }
422
+ }, _callee, null, [[3, 12]]);
423
+ }));
424
+ return function getCurrentTestInfo() {
425
+ return _ref.apply(this, arguments);
426
+ };
427
+ }();
428
+
429
+ function attachListeners() {
430
+ return _attachListeners.apply(this, arguments);
431
+ }
432
+ function _attachListeners() {
433
+ _attachListeners = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
434
+ var dotMastraPath;
435
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
436
+ while (1) switch (_context.prev = _context.next) {
437
+ case 0:
438
+ dotMastraPath = join(process.cwd(), '.mastra');
439
+ try {
440
+ mkdirSync(dotMastraPath);
441
+ } catch (error) {}
442
+ registerHook(AvailableHooks.ON_EVALUATION, function (traceObject) {
443
+ appendFile(join(dotMastraPath, 'evals.json'), JSON.stringify(traceObject) + '\n', function () {});
444
+ });
445
+ case 3:
358
446
  case "end":
359
447
  return _context.stop();
360
448
  }
361
449
  }, _callee);
362
450
  }));
363
- return _evaluate.apply(this, arguments);
451
+ return _attachListeners.apply(this, arguments);
452
+ }
453
+ function globalSetup() {
454
+ return _globalSetup.apply(this, arguments);
455
+ }
456
+ function _globalSetup() {
457
+ _globalSetup = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
458
+ var globalRunId;
459
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
460
+ while (1) switch (_context2.prev = _context2.next) {
461
+ case 0:
462
+ if (!process.env[GLOBAL_RUN_ID_ENV_KEY]) {
463
+ _context2.next = 2;
464
+ break;
465
+ }
466
+ throw new Error('Global run id already set, you should only run "GlobalSetup" once');
467
+ case 2:
468
+ globalRunId = crypto.randomUUID();
469
+ process.env[GLOBAL_RUN_ID_ENV_KEY] = globalRunId;
470
+ case 4:
471
+ case "end":
472
+ return _context2.stop();
473
+ }
474
+ }, _callee2);
475
+ }));
476
+ return _globalSetup.apply(this, arguments);
364
477
  }
365
478
 
366
- export { evaluate };
479
+ export { attachListeners, evaluate, globalSetup };
367
480
  //# sourceMappingURL=evals.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evals.esm.js","sources":["../src/evaluation.ts"],"sourcesContent":["import { AvailableHooks, executeHook } from '@mastra/core';\nimport { type Agent, type Metric } from '@mastra/core';\n\nexport async function evaluate<T extends Agent>(agent: T, input: Parameters<T['generate']>[0], metric: Metric) {\n const agentOutput = await agent.generate(input);\n\n const metricResult = await metric.measure({\n input: input.toString(),\n output: agentOutput.text,\n });\n\n // capture infomration about the evaluation\n executeHook(AvailableHooks.ON_EVALUATION, {\n input: input.toString(),\n output: agentOutput.text,\n result: metricResult,\n });\n\n return metricResult;\n}\n"],"names":["evaluate","_x","_x2","_x3","_evaluate","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","agent","input","metric","agentOutput","metricResult","wrap","_callee$","_context","prev","next","generate","sent","measure","toString","output","text","executeHook","AvailableHooks","ON_EVALUATION","result","abrupt","stop"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,SAAsBA,QAAQA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA;AAAA,EAAA,OAAAC,SAAA,CAAAC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,CAAA;AAgB7B,SAAAF,SAAA,GAAA;AAAAA,EAAAA,SAAA,GAAAG,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAhBM,SAAAC,OAAyCC,CAAAA,KAAQ,EAAEC,KAAmC,EAAEC,MAAc,EAAA;IAAA,IAAAC,WAAA,EAAAC,YAAA,CAAA;AAAA,IAAA,OAAAP,mBAAA,EAAA,CAAAQ,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAF,UAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OACjFT,KAAK,CAACU,QAAQ,CAACT,KAAK,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAAzCE,WAAW,GAAAI,QAAA,CAAAI,IAAA,CAAA;AAAAJ,UAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;UAAA,OAEUP,MAAM,CAACU,OAAO,CAAC;AACxCX,YAAAA,KAAK,EAAEA,KAAK,CAACY,QAAQ,EAAE;YACvBC,MAAM,EAAEX,WAAW,CAACY,IAAAA;AACrB,WAAA,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAHIX,YAAY,GAAAG,QAAA,CAAAI,IAAA,CAAA;AAKlB;AACAK,UAAAA,WAAW,CAACC,cAAc,CAACC,aAAa,EAAE;AACxCjB,YAAAA,KAAK,EAAEA,KAAK,CAACY,QAAQ,EAAE;YACvBC,MAAM,EAAEX,WAAW,CAACY,IAAI;AACxBI,YAAAA,MAAM,EAAEf,YAAAA;AACT,WAAA,CAAC,CAAA;AAAC,UAAA,OAAAG,QAAA,CAAAa,MAAA,CAAA,QAAA,EAEIhB,YAAY,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAG,QAAA,CAAAc,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAtB,OAAA,CAAA,CAAA;GACpB,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAN,SAAA,CAAAC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"evals.esm.js","sources":["../src/constants.ts","../src/evaluation.ts","../src/attachListeners.ts"],"sourcesContent":["export const GLOBAL_RUN_ID_ENV_KEY = '_MASTRA_GLOBAL_RUN_ID_';\n","import { type Agent, type Metric, evaluate as coreEvaluate } from '@mastra/core';\n\nimport { GLOBAL_RUN_ID_ENV_KEY } from './constants';\n\nexport async function evaluate<T extends Agent>(agent: T, input: Parameters<T['generate']>[0], metric: Metric) {\n const testInfo = await getCurrentTestInfo();\n let globalRunId = process.env[GLOBAL_RUN_ID_ENV_KEY];\n const runId = crypto.randomUUID();\n const agentOutput = await agent.generate(input, {\n runId,\n });\n\n if (!globalRunId) {\n globalRunId = process.env[GLOBAL_RUN_ID_ENV_KEY] = crypto.randomUUID();\n console.warn('Global run id not set, you should run \"globalSetup\" from \"@mastra/evals\" before evaluating.');\n }\n\n const metricResult = await coreEvaluate({\n agentName: agent.name,\n input,\n metric,\n output: agentOutput.text,\n globalRunId,\n runId,\n testInfo,\n });\n\n return metricResult;\n}\n\nexport const getCurrentTestInfo = async () => {\n // Jest\n if (typeof expect !== 'undefined' && expect.getState) {\n const state = expect.getState();\n return {\n testName: state.currentTestName,\n testPath: state.testPath,\n };\n }\n\n try {\n const vitest = await import('vitest');\n if (typeof vitest !== 'undefined' && vitest.expect?.getState) {\n const state = vitest.expect.getState();\n return {\n testName: state.currentTestName,\n testPath: state.testPath,\n };\n }\n } catch {}\n\n return null;\n};\n","import { AvailableHooks, registerHook } from '@mastra/core';\nimport { mkdirSync, appendFile } from 'fs';\nimport { join } from 'path';\n\nimport { GLOBAL_RUN_ID_ENV_KEY } from './constants';\n\nexport async function attachListeners() {\n const dotMastraPath = join(process.cwd(), '.mastra');\n\n try {\n mkdirSync(dotMastraPath);\n } catch (error) {}\n\n registerHook(AvailableHooks.ON_EVALUATION, traceObject => {\n appendFile(join(dotMastraPath, 'evals.json'), JSON.stringify(traceObject) + '\\n', () => {});\n });\n}\n\nexport async function globalSetup() {\n if (process.env[GLOBAL_RUN_ID_ENV_KEY]) {\n throw new Error('Global run id already set, you should only run \"GlobalSetup\" once');\n }\n\n const globalRunId = crypto.randomUUID();\n process.env[GLOBAL_RUN_ID_ENV_KEY] = globalRunId;\n}\n"],"names":["GLOBAL_RUN_ID_ENV_KEY","evaluate","_x","_x2","_x3","_evaluate","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","agent","input","metric","testInfo","globalRunId","runId","agentOutput","metricResult","wrap","_callee2$","_context2","prev","next","getCurrentTestInfo","sent","process","env","crypto","randomUUID","generate","console","warn","coreEvaluate","agentName","name","output","text","abrupt","stop","_ref","_callee","state","_vitest$expect","vitest","_state","_callee$","_context","expect","getState","testName","currentTestName","testPath","t0","attachListeners","_attachListeners","dotMastraPath","join","cwd","mkdirSync","error","registerHook","AvailableHooks","ON_EVALUATION","traceObject","appendFile","JSON","stringify","globalSetup","_globalSetup","Error"],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  import { type Agent, type Metric } from '@mastra/core';
2
2
  export declare function evaluate<T extends Agent>(agent: T, input: Parameters<T['generate']>[0], metric: Metric): Promise<import("@mastra/core").MetricResult>;
3
+ export declare const getCurrentTestInfo: () => Promise<{
4
+ testName: string | undefined;
5
+ testPath: string | undefined;
6
+ } | null>;
3
7
  //# sourceMappingURL=evaluation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluation.d.ts","sourceRoot":"","sources":["../src/evaluation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAEvD,wBAAsB,QAAQ,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,gDAgB5G"}
1
+ {"version":3,"file":"evaluation.d.ts","sourceRoot":"","sources":["../src/evaluation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAA4B,MAAM,cAAc,CAAC;AAIjF,wBAAsB,QAAQ,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,gDAwB5G;AAED,eAAO,MAAM,kBAAkB;;;SAsB9B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export { evaluate } from './evaluation';
2
+ export { attachListeners, globalSetup } from './attachListeners';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}