promptfoo 0.80.2 → 0.81.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 (115) hide show
  1. package/dist/package.json +3 -2
  2. package/dist/src/commands/cache.d.ts.map +1 -1
  3. package/dist/src/commands/cache.js +26 -2
  4. package/dist/src/commands/cache.js.map +1 -1
  5. package/dist/src/commands/eval.d.ts.map +1 -1
  6. package/dist/src/commands/eval.js +2 -4
  7. package/dist/src/commands/eval.js.map +1 -1
  8. package/dist/src/commands/generate/redteam.d.ts.map +1 -1
  9. package/dist/src/commands/generate/redteam.js +0 -2
  10. package/dist/src/commands/generate/redteam.js.map +1 -1
  11. package/dist/src/commands/redteam.d.ts +2 -1
  12. package/dist/src/commands/redteam.d.ts.map +1 -1
  13. package/dist/src/commands/redteam.js +60 -9
  14. package/dist/src/commands/redteam.js.map +1 -1
  15. package/dist/src/config.d.ts.map +1 -1
  16. package/dist/src/config.js +16 -4
  17. package/dist/src/config.js.map +1 -1
  18. package/dist/src/database/tables.d.ts +2 -2
  19. package/dist/src/index.d.ts.map +1 -1
  20. package/dist/src/index.js +1 -0
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/main.d.ts.map +1 -1
  23. package/dist/src/main.js +2 -1
  24. package/dist/src/main.js.map +1 -1
  25. package/dist/src/onboarding.d.ts.map +1 -1
  26. package/dist/src/onboarding.js +19 -0
  27. package/dist/src/onboarding.js.map +1 -1
  28. package/dist/src/providers/ai21.d.ts +39 -0
  29. package/dist/src/providers/ai21.d.ts.map +1 -0
  30. package/dist/src/providers/ai21.js +145 -0
  31. package/dist/src/providers/ai21.js.map +1 -0
  32. package/dist/src/providers/anthropic.d.ts +1 -0
  33. package/dist/src/providers/anthropic.d.ts.map +1 -1
  34. package/dist/src/providers/anthropic.js +3 -1
  35. package/dist/src/providers/anthropic.js.map +1 -1
  36. package/dist/src/providers/cohere.d.ts +12 -1
  37. package/dist/src/providers/cohere.d.ts.map +1 -1
  38. package/dist/src/providers/cohere.js +65 -1
  39. package/dist/src/providers/cohere.js.map +1 -1
  40. package/dist/src/providers/scriptCompletion.js +2 -2
  41. package/dist/src/providers/scriptCompletion.js.map +1 -1
  42. package/dist/src/providers.d.ts.map +1 -1
  43. package/dist/src/providers.js +18 -2
  44. package/dist/src/providers.js.map +1 -1
  45. package/dist/src/python/pythonUtils.js +1 -1
  46. package/dist/src/python/pythonUtils.js.map +1 -1
  47. package/dist/src/python/wrapper.py +2 -2
  48. package/dist/src/redteam/plugins/bfla.d.ts.map +1 -1
  49. package/dist/src/redteam/plugins/bfla.js +3 -4
  50. package/dist/src/redteam/plugins/bfla.js.map +1 -1
  51. package/dist/src/redteam/plugins/harmful.d.ts.map +1 -1
  52. package/dist/src/redteam/plugins/harmful.js +3 -2
  53. package/dist/src/redteam/plugins/harmful.js.map +1 -1
  54. package/dist/src/telemetry.d.ts +3 -2
  55. package/dist/src/telemetry.d.ts.map +1 -1
  56. package/dist/src/telemetry.js +4 -0
  57. package/dist/src/telemetry.js.map +1 -1
  58. package/dist/src/types/index.d.ts +12 -12
  59. package/dist/src/types/index.js +1 -1
  60. package/dist/src/types/index.js.map +1 -1
  61. package/dist/src/types/providers.d.ts +2 -0
  62. package/dist/src/types/providers.d.ts.map +1 -1
  63. package/dist/src/types/providers.js.map +1 -1
  64. package/dist/src/web/nextui/404/index.html +1 -1
  65. package/dist/src/web/nextui/404.html +1 -1
  66. package/dist/src/web/nextui/_next/static/chunks/178-fbe9007ed9d0d1f2.js +54 -0
  67. package/dist/src/web/nextui/_next/static/chunks/258-b24b1292c6e41f6d.js +1 -0
  68. package/dist/src/web/nextui/_next/static/chunks/{947-94ff53974301d426.js → 331-15dd9f932990d5bd.js} +4 -4
  69. package/dist/src/web/nextui/_next/static/chunks/{962-3281929f7790c813.js → 415-f4cc6df99e1d251e.js} +1 -1
  70. package/dist/src/web/nextui/_next/static/chunks/459-2e6701613d682903.js +1 -0
  71. package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/{page-e24502f7b480ebd4.js → page-03861be8c5e5a085.js} +1 -1
  72. package/dist/src/web/nextui/_next/static/chunks/app/eval/{page-b57c790219de0e23.js → page-f70bebead3e6df20.js} +1 -1
  73. package/dist/src/web/nextui/_next/static/chunks/app/{layout-c2e577e7ba204f76.js → layout-389d33c82e892815.js} +1 -1
  74. package/dist/src/web/nextui/_next/static/chunks/app/progress/{page-ea10abd41ddd664a.js → page-7d99e97219b86a6b.js} +1 -1
  75. package/dist/src/web/nextui/_next/static/chunks/app/report/page-6915154f000de6f3.js +1 -0
  76. package/dist/src/web/nextui/_next/static/chunks/main-app-cf76b7c55faa5c9b.js +1 -0
  77. package/dist/src/web/nextui/_next/static/chunks/{webpack-22e0e23bc00c2c23.js → webpack-2bde9ee952171572.js} +1 -1
  78. package/dist/src/web/nextui/_next/static/css/ed73533d059fd179.css +1 -0
  79. package/dist/src/web/nextui/auth/login/index.html +1 -1
  80. package/dist/src/web/nextui/auth/login/index.txt +4 -4
  81. package/dist/src/web/nextui/auth/signup/index.html +1 -1
  82. package/dist/src/web/nextui/auth/signup/index.txt +4 -4
  83. package/dist/src/web/nextui/datasets/index.html +1 -1
  84. package/dist/src/web/nextui/datasets/index.txt +4 -4
  85. package/dist/src/web/nextui/eval/index.html +1 -1
  86. package/dist/src/web/nextui/eval/index.txt +5 -5
  87. package/dist/src/web/nextui/index.html +1 -1
  88. package/dist/src/web/nextui/index.txt +4 -4
  89. package/dist/src/web/nextui/progress/index.html +1 -1
  90. package/dist/src/web/nextui/progress/index.txt +5 -5
  91. package/dist/src/web/nextui/prompts/index.html +1 -1
  92. package/dist/src/web/nextui/prompts/index.txt +4 -4
  93. package/dist/src/web/nextui/report/index.html +1 -1
  94. package/dist/src/web/nextui/report/index.txt +7 -7
  95. package/dist/src/web/nextui/setup/index.html +1 -1
  96. package/dist/src/web/nextui/setup/index.txt +5 -5
  97. package/dist/test/commands/generate/redteam.test.js +0 -29
  98. package/dist/test/commands/generate/redteam.test.js.map +1 -1
  99. package/dist/test/config.test.js +96 -0
  100. package/dist/test/config.test.js.map +1 -1
  101. package/dist/test/providers.anthropic.test.js +2 -2
  102. package/dist/test/providers.anthropic.test.js.map +1 -1
  103. package/dist/test/providers.scriptCompletion.test.js +113 -0
  104. package/dist/test/providers.scriptCompletion.test.js.map +1 -1
  105. package/dist/test/pythonWrapper.test.js +1 -1
  106. package/dist/test/pythonWrapper.test.js.map +1 -1
  107. package/package.json +3 -2
  108. package/dist/src/web/nextui/_next/static/chunks/258-80be16c6d65006f7.js +0 -1
  109. package/dist/src/web/nextui/_next/static/chunks/577-f9ba150349bd60d0.js +0 -1
  110. package/dist/src/web/nextui/_next/static/chunks/798-b5823c11472542e4.js +0 -1
  111. package/dist/src/web/nextui/_next/static/chunks/app/report/page-08095713de946c4b.js +0 -1
  112. package/dist/src/web/nextui/_next/static/chunks/main-app-0dc90092cd7acaaf.js +0 -1
  113. package/dist/src/web/nextui/_next/static/css/32384cb640d2265e.css +0 -1
  114. /package/dist/src/web/nextui/_next/static/{eB8IsXqALt2Ig0R6WJpk9 → -GVTgHf1ZK9GxOyhXqerX}/_buildManifest.js +0 -0
  115. /package/dist/src/web/nextui/_next/static/{eB8IsXqALt2Ig0R6WJpk9 → -GVTgHf1ZK9GxOyhXqerX}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"providers.anthropic.test.js","sourceRoot":"","sources":["../../test/providers.anthropic.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.anthropic.test.js","sourceRoot":"","sources":["../../test/providers.anthropic.test.ts"],"names":[],"mappings":";;;;;AACA,oDAA4B;AAC5B,wCAA+E;AAC/E,0DAOoC;AAEpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;CACrD,CAAC,CAAC,CAAC;AACJ,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAE3B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,IAAA,kBAAU,GAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACjD,MAAM,KAAK,GAAqB;YAC9B;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,6CAA6C;gBAC1D,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,4CAA4C;yBAC1D;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;yBAChC;qBACF;oBACD,QAAQ,EAAE,CAAC,UAAU,CAAC;iBACvB;aACF;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,qCAAyB,CAAC,wBAAwB,EAAE;YACvE,MAAM,EAAE,EAAE,KAAK,EAAE;SAClB,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,IAAI;iBACD,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;iBAC5C,kBAAkB,EAAE;iBACpB,iBAAiB,CAAC;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,+GAA+G;qBACtH;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,+BAA+B;wBACnC,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;qBAC1D;iBACF;aAC4B,CAAC,CAAC;YAEnC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;YAChF,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAChE,CAAC,EACD;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,wCAAwC;gCAC9C,IAAI,EAAE,MAAM;6BACb;yBACF;qBACF;iBACF;gBACD,KAAK;gBACL,WAAW,EAAE,CAAC;gBACd,MAAM,EAAE,KAAK;aACd,EACD,EAAE,CACH,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAA,gBAAM,EAAA;;kJAE4H;gBAC1I,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;YACzF,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,UAAU,GAAiD;gBAC/D,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,MAAM;aACb,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;YACzC,IAAI;iBACD,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;iBAC5C,kBAAkB,EAAE;iBACpB,iBAAiB,CAAC;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,+GAA+G;qBACtH;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,+BAA+B;wBACnC,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;qBAC1D;iBACF;aAC4B,CAAC,CAAC;YAEnC,MAAM,QAAQ,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;YACjE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAChE,CAAC,EACD;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,wCAAwC;gCAC9C,IAAI,EAAE,MAAM;6BACb;yBACF;qBACF;iBACF;gBACD,KAAK;gBACL,WAAW,EAAE,UAAU;gBACvB,WAAW,EAAE,CAAC;gBACd,MAAM,EAAE,KAAK;aACd,EACD,EAAE,CACH,CAAC;YAEF,QAAQ,CAAC,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,IAAI;iBACD,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;iBAC5C,kBAAkB,EAAE;iBACpB,iBAAiB,CAAC;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,+GAA+G;qBACtH;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,+BAA+B;wBACnC,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;qBAC1D;iBACF;aAC4B,CAAC,CAAC;YAEnC,IAAA,oBAAY,GAAE,CAAC;YAEf,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;YAChF,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpE,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,MAAM,EAAE,IAAA,gBAAM,EAAA;;kJAE4H;gBAC1I,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;YAEH,MAAM,QAAQ,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;YACjE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpE,IAAA,mBAAW,GAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,IAAI;iBACD,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;iBAC5C,kBAAkB,EAAE;iBACpB,iBAAiB,CAAC;gBACjB,OAAO,EAAE,EAAE;aAC6B,CAAC,CAAC;YAC9C,IAAA,gBAAQ,GAAE,CAAC,GAAG,CACZ,8fAA8f,EAC9f,aAAa,CACd,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;YAChF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,QAAQ,GAAG,IAAI,qCAAyB,CAAC,wBAAwB,CAAC,CAAC;YACzE,IAAI;iBACD,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;iBAC5C,kBAAkB,EAAE;iBACpB,iBAAiB,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;YAChF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,KAAK,EAAE,wCAAwC;aAChD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,QAAQ,GAAG,IAAI,qCAAyB,CAAC,wBAAwB,EAAE;gBACvE,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;aAC3D,CAAC,CAAC;YACH,IAAI;iBACD,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;iBAC5C,kBAAkB,EAAE;iBACpB,iBAAiB,CAAC;gBACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;gBAChD,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;aACjB,CAAC,CAAC;YAEnC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;YAChF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;gBACtD,IAAI,EAAE,GAAG;aACV,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,IAAI,QAAoC,CAAC;QAEzC,UAAU,CAAC,GAAG,EAAE;YACd,QAAQ,GAAG,IAAI,sCAA0B,CAAC,4BAA4B,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC9D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,eAAe,GAAG;gBACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,gCAAgC;qBACzC;iBACF,CAAC;aACH,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,qCAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAE9F,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAErD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,MAAM,EAAE;oBACN,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,gCAAgC;iBACzC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,eAAe,GAAG;gBACtB,MAAM,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE;aAC5C,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,qCAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAE9F,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAErD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,2DAA2D,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,eAAe,GAAG;gBACtB,MAAM,EAAE,cAAc;aACvB,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,qCAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAE9F,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAErD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,qCAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAExF,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;QACnD,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,QAAQ,GAAG,IAAI,uCAA2B,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,kBAAkB,EAAE,CAAC,iBAAiB,CAAC;gBAC1F,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,aAAa;aAC1B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAErD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,QAAQ,GAAG,IAAI,uCAA2B,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,kBAAkB,EAAE,CAAC,iBAAiB,CAAC;gBAC1F,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,aAAa;aAC1B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAErD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;YAC/D,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAE3D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;gBACjC,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,QAAQ,GAAG,IAAI,uCAA2B,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,kBAAkB,EAAE,CAAC,iBAAiB,CAAC;gBAC1F,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,aAAa;aAC1B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAErD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;YAE/D,IAAA,oBAAY,GAAE,CAAC;YAEf,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAE1D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC;gBAChC,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,QAAQ,GAAG,IAAI,uCAA2B,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI;iBACD,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC;iBAC/C,kBAAkB,EAAE;iBACpB,iBAAiB,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,KAAK,EAAE,wCAAwC;aAChD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,IAAI,GAAG,IAAA,yBAAa,EAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAEhF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,IAAI,GAAG,IAAA,yBAAa,EAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAElE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,IAAI,GAAG,IAAA,yBAAa,EAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAEtE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,OAAO,GAA+B;gBAC1C,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE,EAAE;gBACN,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE;oBACL,YAAY,EAAE,CAAC;oBACf,aAAa,EAAE,CAAC;iBACjB;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,OAAO,GAA+B;gBAC1C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBAC1C,EAAE,EAAE,EAAE;gBACN,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE;oBACL,YAAY,EAAE,CAAC;oBACf,aAAa,EAAE,CAAC;iBACjB;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,OAAO,GAA+B;gBAC1C,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;iBAChC;gBACD,EAAE,EAAE,EAAE;gBACN,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE;oBACL,YAAY,EAAE,CAAC;oBACf,aAAa,EAAE,CAAC;iBACjB;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,OAAO,GAA+B;gBAC1C,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,OAAO;wBACX,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE;qBACzC;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,OAAO;wBACX,IAAI,EAAE,UAAU;wBAChB,KAAK,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE;qBACpC;iBACF;gBACD,EAAE,EAAE,EAAE;gBACN,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE;oBACL,YAAY,EAAE,CAAC;oBACf,aAAa,EAAE,CAAC;iBACjB;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACjB,0LAA0L,CAC3L,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,OAAO,GAA+B;gBAC1C,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC/B;wBACE,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,OAAO;wBACX,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE;qBACzC;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;iBAChC;gBACD,EAAE,EAAE,EAAE;gBACN,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE;oBACL,YAAY,EAAE,CAAC;oBACf,aAAa,EAAE,CAAC;iBACjB;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACjB,kHAAkH,CACnH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,aAAa,GAAG,IAAA,gBAAM,EAAA;2CACS,CAAC;YAEtC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,yBAAa,EAAC,aAAa,CAAC,CAAC;YAEnE,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;YAC/B,MAAM,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC;gBACtC;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAA,gBAAM,EAAA;qDAC2B;yBACxC;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,aAAa,GAAG,IAAA,gBAAM,EAAA;;yCAEO,CAAC;YAEpC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,yBAAa,EAAC,aAAa,CAAC,CAAC;YAEnE,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;YAC/B,MAAM,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC;gBACtC;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAA,gBAAM,EAAA;;+CAEqB;yBAClC;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,aAAa,GAAG,EAAE,CAAC;YAEzB,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,yBAAa,EAAC,aAAa,CAAC,CAAC;YAEnE,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;YAC/B,MAAM,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC;gBACtC;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;iBACtC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,13 +1,41 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
+ const child_process_1 = require("child_process");
6
30
  const crypto_1 = __importDefault(require("crypto"));
7
31
  const fs_1 = __importDefault(require("fs"));
32
+ const cacheModule = __importStar(require("../src/cache"));
8
33
  const scriptCompletion_1 = require("../src/providers/scriptCompletion");
9
34
  jest.mock('fs');
10
35
  jest.mock('crypto');
36
+ jest.mock('child_process');
37
+ jest.mock('../src/cache');
38
+ jest.mock('../src/logger');
11
39
  describe('parseScriptParts', () => {
12
40
  it('should parse script parts correctly', () => {
13
41
  const scriptPath = `node script.js "arg with 'spaces'" 'another arg' simple_arg`;
@@ -74,4 +102,89 @@ describe('getFileHashes', () => {
74
102
  expect(crypto_1.default.createHash).not.toHaveBeenCalled();
75
103
  });
76
104
  });
105
+ describe('ScriptCompletionProvider', () => {
106
+ let provider;
107
+ beforeEach(() => {
108
+ provider = new scriptCompletion_1.ScriptCompletionProvider('node script.js');
109
+ jest.clearAllMocks();
110
+ jest.mocked(cacheModule.getCache).mockReset();
111
+ jest.mocked(cacheModule.isCacheEnabled).mockReset();
112
+ });
113
+ it('should return the correct id', () => {
114
+ expect(provider.id()).toBe('exec:node script.js');
115
+ });
116
+ it('should handle UTF-8 characters in script output', async () => {
117
+ const utf8Output = 'Hello, 世界!';
118
+ jest.mocked(child_process_1.execFile).mockImplementation((cmd, args, options, callback) => {
119
+ callback(null, Buffer.from(utf8Output), '');
120
+ return {};
121
+ });
122
+ const result = await provider.callApi('test prompt');
123
+ expect(result.output).toBe(utf8Output);
124
+ });
125
+ it('should handle UTF-8 characters in error output', async () => {
126
+ const utf8Error = 'エラー発生';
127
+ jest.mocked(child_process_1.execFile).mockImplementation((cmd, args, options, callback) => {
128
+ if (typeof callback === 'function') {
129
+ callback(null, '', Buffer.from(utf8Error));
130
+ }
131
+ return {};
132
+ });
133
+ await expect(provider.callApi('test prompt')).rejects.toThrow(utf8Error);
134
+ });
135
+ it('should use cache when available', async () => {
136
+ const cachedResult = { output: 'cached result' };
137
+ const mockCache = {
138
+ get: jest.fn().mockResolvedValue(JSON.stringify(cachedResult)),
139
+ set: jest.fn(),
140
+ };
141
+ jest.spyOn(cacheModule, 'getCache').mockResolvedValue(mockCache);
142
+ jest.spyOn(cacheModule, 'isCacheEnabled').mockReturnValue(true);
143
+ // Mock fs.existsSync to return true for at least one file
144
+ jest.mocked(fs_1.default.existsSync).mockReturnValue(true);
145
+ jest.mocked(fs_1.default.statSync).mockReturnValue({ isFile: () => true });
146
+ jest.mocked(fs_1.default.readFileSync).mockReturnValue('file content');
147
+ const mockHashUpdate = {
148
+ update: jest.fn().mockReturnThis(),
149
+ digest: jest.fn().mockReturnValue('mock hash'),
150
+ };
151
+ jest.mocked(crypto_1.default.createHash).mockReturnValue(mockHashUpdate);
152
+ const result = await provider.callApi('test prompt');
153
+ expect(result).toEqual(cachedResult);
154
+ expect(mockCache.get).toHaveBeenCalledWith('exec:node script.js:mock hash:mock hash:test prompt:undefined');
155
+ expect(child_process_1.execFile).not.toHaveBeenCalled();
156
+ });
157
+ it('should handle script execution errors', async () => {
158
+ const errorMessage = 'Script execution failed';
159
+ jest.mocked(child_process_1.execFile).mockImplementation((cmd, args, options, callback) => {
160
+ if (typeof callback === 'function') {
161
+ callback(new Error(errorMessage), '', '');
162
+ }
163
+ return {};
164
+ });
165
+ await expect(provider.callApi('test prompt')).rejects.toThrow(errorMessage);
166
+ });
167
+ it('should handle empty standard output with error output', async () => {
168
+ const errorOutput = 'Warning: Something went wrong';
169
+ jest.mocked(child_process_1.execFile).mockImplementation((cmd, args, options, callback) => {
170
+ if (typeof callback === 'function') {
171
+ callback(null, '', Buffer.from(errorOutput));
172
+ }
173
+ return {};
174
+ });
175
+ await expect(provider.callApi('test prompt')).rejects.toThrow(errorOutput);
176
+ });
177
+ it('should strip ANSI escape codes from output', async () => {
178
+ const ansiOutput = '\x1b[31mColored\x1b[0m \x1b[1mBold\x1b[0m';
179
+ const strippedOutput = 'Colored Bold';
180
+ jest.mocked(child_process_1.execFile).mockImplementation((cmd, args, options, callback) => {
181
+ if (typeof callback === 'function') {
182
+ callback(null, Buffer.from(ansiOutput), '');
183
+ }
184
+ return {};
185
+ });
186
+ const result = await provider.callApi('test prompt');
187
+ expect(result.output).toBe(strippedOutput);
188
+ });
189
+ });
77
190
  //# sourceMappingURL=providers.scriptCompletion.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.scriptCompletion.test.js","sourceRoot":"","sources":["../../test/providers.scriptCompletion.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.scriptCompletion.test.js","sourceRoot":"","sources":["../../test/providers.scriptCompletion.test.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ describe('Python Wrapper', () => {
36
36
  expect.stringContaining('promptfoo-python-output-json'),
37
37
  ]),
38
38
  }));
39
- expect(fs_1.promises.writeFile).toHaveBeenCalledWith(expect.stringContaining('promptfoo-python-input-json'), expect.any(String));
39
+ expect(fs_1.promises.writeFile).toHaveBeenCalledWith(expect.stringContaining('promptfoo-python-input-json'), expect.any(String), 'utf-8');
40
40
  expect(fs_1.promises.readFile).toHaveBeenCalledWith(expect.stringContaining('promptfoo-python-output-json'), 'utf-8');
41
41
  expect(fs_1.promises.unlink).toHaveBeenCalledTimes(2); // Once for input JSON, once for output JSON
42
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pythonWrapper.test.js","sourceRoot":"","sources":["../../test/pythonWrapper.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pythonWrapper.test.js","sourceRoot":"","sources":["../../test/pythonWrapper.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "promptfoo",
3
3
  "description": "LLM eval & testing toolkit",
4
4
  "author": "Ian Webster",
5
- "version": "0.80.2",
5
+ "version": "0.81.0",
6
6
  "license": "MIT",
7
7
  "type": "commonjs",
8
8
  "repository": {
@@ -105,6 +105,7 @@
105
105
  "esbuild": "^0.23.1",
106
106
  "eslint": "^8.57.0",
107
107
  "eslint-plugin-jest": "28.6.0",
108
+ "eslint-plugin-react-hooks": "4.6.2",
108
109
  "eslint-plugin-unicorn": "^55.0.0",
109
110
  "eslint-plugin-unused-imports": "^3.2.0",
110
111
  "jest": "^29.7.0",
@@ -121,7 +122,7 @@
121
122
  "zod-to-json-schema": "^3.23.2"
122
123
  },
123
124
  "dependencies": {
124
- "@anthropic-ai/sdk": "^0.26.1",
125
+ "@anthropic-ai/sdk": "^0.27.0",
125
126
  "@apidevtools/json-schema-ref-parser": "^11.7.0",
126
127
  "@googleapis/sheets": "^9.3.0",
127
128
  "ajv": "^8.17.1",
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[258],{49532:function(e,t,n){"use strict";let s,l;async function a(){if(s||(l||(l=fetch("/api/config").then(e=>e.json()).then(e=>s=e.apiBaseUrl)),await l),void 0===s)throw Error("API base URL is undefined");return s}n.d(t,{b:function(){return a}})},55258:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return to}});var s=n(24004),l=n(14978),a=n(77580);let r=a.env.NEXT_PUBLIC_PROMPTFOO_REMOTE_API_BASE_URL||a.env.NEXT_PUBLIC_PROMPTFOO_BASE_URL||a.env.PROMPTFOO_REMOTE_API_BASE_URL||"https://api.promptfoo.dev",i=a.env.NEXT_PUBLIC_PROMPTFOO_BASE_URL||a.env.PROMPTFOO_REMOTE_APP_BASE_URL||"https://app.promptfoo.dev";a?.stdout?.columns&&a?.stdout?.columns>10&&a?.stdout?.columns;var o=n(49532);let c=(0,l.createContext)(void 0),d=e=>{let{children:t}=e,[n,a]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{let e=e=>{"Shift"===e.key&&a(!0)},t=e=>{"Shift"===e.key&&a(!1)};return window.addEventListener("keydown",e),window.addEventListener("keyup",t),()=>{window.removeEventListener("keydown",e),window.removeEventListener("keyup",t)}},[]),(0,s.jsx)(c.Provider,{value:n,children:t})};var u=n(18960),h=n(67070);let p=(0,l.createContext)(void 0),m=()=>{let e=(0,l.useContext)(p);if(!e)throw Error("useToast must be used within a ToastProvider");return e},x=e=>{let{children:t}=e,[n,a]=(0,l.useState)({message:"",severity:"info",open:!1}),r=()=>{a(e=>({...e,open:!1}))};return(0,s.jsxs)(p.Provider,{value:{showToast:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info";a({message:e,severity:t,open:!0})}},children:[t,(0,s.jsx)(u.Z,{open:n.open,autoHideDuration:6e3,onClose:r,children:(0,s.jsx)(h.Z,{onClose:r,severity:n.severity,children:n.message})})]})};var v=n(52428),g=n(6882),j=n(12594),f=n(28891),b=n(10804),y=n(93179),Z=n(47887),w=n(11116),C=n(46446),S=n(13391),k=n(98507),E=n(93295),I=n(72467),N=n(95198),R=n(49605),P=n(79245),F=n(49050),T=n(27760),D=n(47827),M=n(84081),O=n(81679),L=n(50819),A=n(8864),U=n(38212),W=n(33932),z=n(39114),V=n(90923),_=n(10654),B=n(13457),J=n(21975),H=n(78276),K=n(72303),X=n(72053),G=n(94106),Y=n(89394),q=n(42834),$=n(26337),Q=n(91797),ee=n(29872),et=n(73701),en=n(39279),es=n(30666),el=n(15795),ea=n(66988),er=n(98489),ei=n(43226),eo=n(32162),ec=n.n(eo),ed=e=>{let{open:t,onClose:n,recentEvals:a,onRecentEvalSelected:r,title:i,description:o}=e,[c,d]=(0,l.useState)(""),[u,h]=(0,l.useState)(-1),p=l.useRef(null),m=l.useRef(null),x=()=>{n(),d(""),h(-1)},v=a.filter(e=>ec()(c.toLowerCase(),e.label.toLowerCase())||"string"==typeof e.description&&ec()(c.toLowerCase(),e.description.toLowerCase())),g=e=>{r(e),x()},j=l.useCallback(()=>{if(u>=0&&m.current){let e=m.current.querySelectorAll("tbody tr"),t=Math.min(u+3,e.length-1);e[t]&&e[t].scrollIntoView({behavior:"smooth",block:"nearest"})}},[u]);l.useEffect(()=>{j()},[j]),l.useEffect(()=>{t&&(h(0),setTimeout(()=>{var e;null===(e=p.current)||void 0===e||e.focus()},0))},[t]);let f=l.useId();return(0,s.jsxs)(Y.Z,{open:t,onClose:x,maxWidth:"md",fullWidth:!0,children:[i?(0,s.jsx)(Q.Z,{children:i}):null,(0,s.jsxs)($.Z,{children:[o?(0,s.jsx)(P.Z,{sx:{mb:4},children:o}):null,(0,s.jsxs)(P.Z,{sx:{width:"100%",mt:2},children:[(0,s.jsx)(J.Z,{fullWidth:!0,variant:"outlined",placeholder:"Search",value:c,onChange:e=>{d(e.target.value),h(0)},onKeyDown:e=>{if(e.stopPropagation(),t)switch(e.key){case"ArrowDown":e.preventDefault(),h(e=>Math.min(e+1,v.length-1));break;case"ArrowUp":e.preventDefault(),h(e=>Math.max(e-1,0));break;case"Enter":e.preventDefault(),u>=0&&u<v.length?g(v[u].evalId):v.length>0&&g(v[0].evalId);break;case"Escape":e.preventDefault(),x()}},sx:{mb:2},inputRef:p,id:"eval-selector-search-".concat(f)}),(0,s.jsx)(el.Z,{component:ee.Z,sx:{height:"600px",overflow:"auto"},ref:m,children:(0,s.jsxs)(et.Z,{stickyHeader:!0,children:[(0,s.jsx)(ea.Z,{children:(0,s.jsxs)(er.Z,{children:[(0,s.jsx)(es.Z,{children:"Created"}),(0,s.jsx)(es.Z,{children:"Description"}),(0,s.jsx)(es.Z,{children:"# Tests"})]})}),(0,s.jsx)(en.Z,{children:v.length>0?v.map((e,t)=>(0,s.jsxs)(er.Z,{hover:!0,onClick:()=>g(e.evalId),sx:{cursor:"pointer",backgroundColor:t===u?"rgba(255, 255, 0, 0.1)":"inherit"},children:[(0,s.jsx)(es.Z,{children:new Date(e.createdAt).toLocaleString()}),(0,s.jsx)(es.Z,{children:e.description||e.label}),(0,s.jsx)(es.Z,{children:e.numTests})]},e.evalId)):(0,s.jsx)(er.Z,{children:(0,s.jsx)(es.Z,{colSpan:3,align:"center",sx:{py:4},children:(0,s.jsxs)(P.Z,{sx:{textAlign:"center",color:"text.secondary"},children:[(0,s.jsx)(P.Z,{sx:{fontSize:"3rem",mb:2},children:"\uD83D\uDD0D"}),(0,s.jsx)(ei.Z,{variant:"h6",gutterBottom:!0,children:"No evaluations found"}),(0,s.jsx)(ei.Z,{variant:"body2",children:"Try adjusting your search or create a new evaluation"})]})})})})]})})]})]}),(0,s.jsx)(q.Z,{children:(0,s.jsx)(F.Z,{onClick:x,children:"Cancel"})})]})},eu=n(37204),eh=n(94660),ep=n(74810);let em={getItem:async e=>await (0,eu.U2)(e)||null,setItem:async(e,t)=>{await (0,eu.t8)(e,t)},removeItem:async e=>{await (0,eu.IV)(e)}},ex=(0,eh.Ue)()((0,ep.tJ)((e,t)=>({evalId:null,setEvalId:t=>e(()=>({evalId:t})),author:null,setAuthor:t=>e(()=>({author:t})),table:null,setTable:t=>e(()=>({table:t})),config:null,setConfig:t=>e(()=>({config:t})),maxTextLength:250,setMaxTextLength:t=>e(()=>({maxTextLength:t})),wordBreak:"break-word",setWordBreak:t=>e(()=>({wordBreak:t})),showInferenceDetails:!0,setShowInferenceDetails:t=>e(()=>({showInferenceDetails:t})),renderMarkdown:!1,setRenderMarkdown:t=>e(()=>({renderMarkdown:t})),prettifyJson:!1,setPrettifyJson:t=>e(()=>({prettifyJson:t})),showPrompts:!1,setShowPrompts:t=>e(()=>({showPrompts:t})),showPassFail:!0,setShowPassFail:t=>e(()=>({showPassFail:t})),inComparisonMode:!1,setInComparisonMode:t=>e(()=>({inComparisonMode:t})),columnStates:{},setColumnState:(t,n)=>e(e=>({columnStates:{...e.columnStates,[t]:n}}))}),{name:"ResultsViewStorage",storage:(0,ep.FL)(()=>em)}));var ev=function(e){let{initialEvals:t,onComparisonEvalSelected:n}=e,{evalId:a}=ex(),[r,i]=(0,l.useState)(!1),[c,d]=(0,l.useState)(t),u=async()=>{try{let e=await (0,o.b)(),n=a||t[0].evalId,s=await fetch("".concat(e,"/api/results/").concat(n),{cache:"no-store"}),l=await s.json(),r=l.data.datasetId;if(!r){console.error("No datasetId found for current eval "+n);return}let i=await fetch("".concat(e,"/api/results?datasetId=").concat(r),{cache:"no-store"}),c=await i.json();d(c.data.filter(e=>e.evalId!==n))}catch(e){console.error("Error fetching recent evals:",e)}},h=()=>{i(!1)};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(H.Z,{title:"Combine this eval with another eval run",placement:"left",children:(0,s.jsxs)(z.Z,{onClick:()=>{u(),i(!0)},children:[(0,s.jsx)(A.Z,{children:(0,s.jsx)(G.Z,{fontSize:"small"})}),(0,s.jsx)(U.Z,{children:"Compare with another eval"})]})}),(0,s.jsx)(ed,{open:r,onClose:h,recentEvals:c,onRecentEvalSelected:e=>{n(e),h()},title:"Select an eval to compare",description:"Only evals with the same dataset can be compared."})]})},eg=n(54719),ej=n(52481),ef=n(7175),eb=n(52653);function ey(e){let{open:t,onClose:a}=e,{config:r}=ex(),i=l.useRef(null),[o,c]=l.useState(!1),[d,u]=l.useState("");l.useEffect(()=>{t&&(async()=>{let{default:e}=await Promise.resolve().then(n.bind(n,34235));u(e.dump(r))})()},[t,r]);let h=()=>{c(!1),a()};return(0,s.jsxs)(Y.Z,{open:t,onClose:h,"aria-labelledby":"config-dialog-title",maxWidth:"md",fullWidth:!0,children:[(0,s.jsx)(Q.Z,{id:"config-dialog-title",children:(0,s.jsxs)(P.Z,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,s.jsx)(ei.Z,{variant:"h6",style:{flexGrow:1},children:"Config"}),(0,s.jsxs)(P.Z,{children:[(0,s.jsx)(H.Z,{title:"Copy to clipboard",children:(0,s.jsx)(eb.Z,{onClick:()=>{i.current&&(i.current.select(),document.execCommand("copy"),c(!0))},children:o?(0,s.jsx)(eg.Z,{}):(0,s.jsx)(ef.Z,{})})}),(0,s.jsx)(H.Z,{title:"Download .yaml",children:(0,s.jsx)(eb.Z,{onClick:()=>{let e=new Blob([d],{type:"text/yaml;charset=utf-8"}),t=URL.createObjectURL(e),n=document.createElement("a");n.href=t,n.download="config.yaml",document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(t)},children:(0,s.jsx)(ej.Z,{})})})]})]})}),(0,s.jsx)($.Z,{children:(0,s.jsx)(ei.Z,{variant:"body1",component:"div",children:(0,s.jsx)("textarea",{ref:i,readOnly:!0,value:d,style:{width:"100%",minHeight:"400px",fontFamily:"monospace",border:"1px solid #ccc"}})})}),(0,s.jsx)(q.Z,{children:(0,s.jsx)(F.Z,{onClick:h,color:"primary",children:"Close"})})]})}var eZ=n(79715),ew=n(34235),eC=function(){let{table:e,config:t,evalId:n}=ex(),[a,r]=l.useState(!1),i=(e,t)=>{let n=URL.createObjectURL(e),s=document.createElement("a");s.href=n,s.download=t,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(n)},o=()=>{r(!1)};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(z.Z,{onClick:()=>{r(!0)},children:[(0,s.jsx)(A.Z,{children:(0,s.jsx)(ej.Z,{fontSize:"small"})}),(0,s.jsx)(U.Z,{children:"Download"})]}),(0,s.jsx)(Y.Z,{onClose:o,open:a,children:(0,s.jsx)($.Z,{children:(0,s.jsxs)(B.Z,{direction:"column",spacing:2,sx:{width:"100%"},children:[(0,s.jsx)(F.Z,{onClick:()=>{let e=ew.default.dump(t),n=new Blob([e],{type:"text/yaml;charset=utf-8"});i(n,"promptfooconfig.yaml"),o()},startIcon:(0,s.jsx)(ej.Z,{}),fullWidth:!0,sx:{justifyContent:"flex-start"},children:"Download YAML Config"}),(0,s.jsx)(F.Z,{onClick:()=>{if(!e){alert("No table data");return}let t=[],s=[...e.head.vars,...e.head.prompts.map(e=>"[".concat(e.provider,"] ").concat(e.label))];t.push(s),e.body.forEach(e=>{let n=[...e.vars,...e.outputs.map(e=>{let{pass:t,text:n}=e;return(t?"[PASS] ":"[FAIL] ")+n})];t.push(n)});let l=(0,eZ.P)(t),a=new Blob([l],{type:"text/csv;charset=utf-8;"});i(a,"".concat(n,"-table.csv")),o()},startIcon:(0,s.jsx)(ej.Z,{}),fullWidth:!0,sx:{justifyContent:"flex-start"},children:"Download Table CSV"}),(0,s.jsx)(F.Z,{onClick:()=>{if(!e){alert("No table data");return}let t=new Blob([JSON.stringify(e,null,2)],{type:"application/json"});i(t,"".concat(n,"-table.json")),o()},startIcon:(0,s.jsx)(ej.Z,{}),fullWidth:!0,sx:{justifyContent:"flex-start"},children:"Download Table JSON"}),(0,s.jsx)(F.Z,{onClick:()=>{if(!e){alert("No table data");return}let t=e.body.map((t,n)=>({chosen:t.outputs.filter(e=>e.pass).map(e=>e.text),rejected:t.outputs.filter(e=>!e.pass).map(e=>e.text),vars:t.test.vars,providers:e.head.prompts.map(e=>e.provider),prompts:e.head.prompts.map(e=>e.label||e.display||e.raw)})),s=new Blob([JSON.stringify(t,null,2)],{type:"application/json"});i(s,"".concat(n,"-dpo.json")),o()},startIcon:(0,s.jsx)(ej.Z,{}),fullWidth:!0,sx:{justifyContent:"flex-start"},children:"Download DPO JSON"})]})})})]})},eS=n(58991),ek=e=>{let{recentEvals:t,onRecentEvalSelected:n}=e,[a,r]=(0,l.useState)(!1),i="undefined"!=typeof navigator&&/Mac|iPod|iPhone|iPad/.test(navigator.userAgent),o=()=>{r(!0)};return l.useEffect(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&"k"===e.key&&(e.preventDefault(),o())};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(H.Z,{title:i?"Search for Evals (⌘ + K)":"Search for Evals (Ctrl + K)",children:(0,s.jsx)(eb.Z,{onClick:o,size:"large",children:(0,s.jsx)(eS.Z,{})})}),(0,s.jsx)(ed,{title:"Open an Eval",open:a,onClose:()=>{r(!1)},recentEvals:t,onRecentEvalSelected:n})]})},eE=n(69179),eI=n(33533),eN=n(41101),eR=n(36001);let eP=["#fd7f6f","#7eb0d5","#b2e061","#bd7ebe","#ffb55a","#ffee65","#beb9db","#fdcce5","#8bd3c7"];function eF(e){let{table:t}=e,n=(0,l.useRef)(null),a=(0,l.useRef)(null);return(0,l.useEffect)(()=>{if(!n.current)return;a.current&&a.current.destroy();let e=t.body.flatMap(e=>e.outputs.map(e=>e.score)),s=Math.min(...e),l=(Math.ceil(Math.max(...e))-Math.floor(s))/10,r=Array.from({length:11},(e,t)=>Number.parseFloat((Math.floor(s)+t*l).toFixed(2))),i=t.head.prompts.map((e,n)=>{let s=t.body.flatMap(e=>e.outputs[n].score),a=r.map(e=>s.filter(t=>t>=e&&t<e+l).length);return{label:"Column ".concat(n+1),data:a,backgroundColor:eP[n%eP.length]}});a.current=new eR.kL(n.current,{type:"bar",data:{labels:r,datasets:i},options:{animation:!1,plugins:{title:{display:!0,text:"Score Distribution"},legend:{display:!1},tooltip:{callbacks:{title:function(e){let t=e[0].datasetIndex;return"Column ".concat(t+1)},label:function(e){let t=e.dataIndex,n=r[t],s=r[t+1];return s?"".concat(n," <= score < ").concat(s):"".concat(n," <= score")}}}}}})},[t]),(0,s.jsx)("canvas",{ref:n,style:{maxHeight:"300px"}})}function eT(e){let{table:t}=e,n=(0,l.useRef)(null),a=(0,l.useRef)(null);return(0,l.useEffect)(()=>{if(!n.current)return;a.current&&a.current.destroy();let e=t.head.prompts.map((e,n)=>{let s=t.body.flatMap(e=>e.outputs[n]),l=s.filter(e=>e.pass).length,a=l/s.length*100;return{label:"Column ".concat(n+1),data:[a],backgroundColor:eP[n%eP.length]}});a.current=new eR.kL(n.current,{type:"bar",data:{labels:["Pass Rate (%)"],datasets:e},options:{animation:!1,plugins:{title:{display:!0,text:"Pass rate"},legend:{display:!0}}}})},[t]),(0,s.jsx)("canvas",{ref:n,style:{maxHeight:"300px"}})}function eD(e){let{table:t}=e,n=(0,l.useRef)(null),a=(0,l.useRef)(null),[r,i]=(0,l.useState)(0),[o,c]=(0,l.useState)(1),[d,u]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{if(!n.current)return;a.current&&a.current.destroy();let e=t.body.flatMap(e=>e.outputs.map(e=>e.score)),s=Math.min(...e),l=Math.max(...e),i=t.body.map(e=>{let t=e.outputs[r].score,n=e.outputs[o].score;return{x:t,y:n,backgroundColor:n>t?"green":n<t?"red":"gray"}});a.current=new eR.kL(n.current,{type:"scatter",data:{datasets:[{data:i,backgroundColor:i.map(e=>e.backgroundColor)},{type:"line",data:[{x:s,y:s},{x:l,y:l}],borderColor:"gray",borderWidth:1,borderDash:[5,5],pointRadius:0}]},options:{animation:!1,plugins:{legend:{display:!1},tooltip:{callbacks:{label:function(e){let n=t.body[e.dataIndex],s=n.outputs[0].text,l=n.outputs[1].text;return s.length>30&&(s=s.substring(0,30)+"..."),l.length>30&&(l=l.substring(0,30)+"..."),"Output 1: ".concat(s,"\nOutput 2: ").concat(l)}}}},scales:{x:{title:{display:!0,text:"Prompt ".concat(r+1," Score")},ticks:{callback:function(e,t,n){let s=String(Math.round(100*Number(e)));return t===n.length-1&&(s+="%"),s}}},y:{title:{display:!0,text:"Prompt ".concat(o+1," Score")},ticks:{callback:function(e,t,n){let s=String(Math.round(100*Number(e)));return t===n.length-1&&(s+="%"),s}}}}}})},[t,r,o]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(Y.Z,{open:d,onClose:()=>u(!1),children:[(0,s.jsx)(Q.Z,{children:"Compare prompt outputs"}),(0,s.jsxs)($.Z,{children:[(0,s.jsx)(M.Z,{sx:{m:1,minWidth:120},children:(0,s.jsx)(_.Z,{value:r,onChange:e=>i(Number(e.target.value)),children:t.head.prompts.map((e,t)=>(0,s.jsxs)(z.Z,{value:t,children:["Prompt ",t+1]},t))})}),(0,s.jsx)(M.Z,{sx:{m:1,minWidth:120},children:(0,s.jsx)(_.Z,{value:o,onChange:e=>c(Number(e.target.value)),children:t.head.prompts.map((e,t)=>(0,s.jsxs)(z.Z,{value:t,children:["Prompt ",t+1]},t))})})]})]}),(0,s.jsx)("canvas",{ref:n,style:{maxHeight:"300px",cursor:"pointer"},onClick:()=>u(!0)})]})}function eM(e){let{table:t}=e,n=(0,l.useRef)(null),a=(0,l.useRef)(null);return(0,l.useEffect)(()=>{var e;if(!n.current)return;a.current&&a.current.destroy();let s=Object.keys((null===(e=t.head.prompts[0].metrics)||void 0===e?void 0:e.namedScores)||{}),l=t.head.prompts.map((e,n)=>{let l=s.map(n=>{var s;let l=(null===(s=e.metrics)||void 0===s?void 0:s.namedScores[n])||0,a=Math.max(...t.head.prompts.map(e=>{var t;return(null===(t=e.metrics)||void 0===t?void 0:t.namedScores[n])||0}));return l/a});return{label:"".concat(t.head.prompts[n].provider),data:l,backgroundColor:eP[n%eP.length]}});a.current=new eR.kL(n.current,{type:"bar",data:{labels:s,datasets:l},options:{scales:{x:{grid:{display:!1}},y:{ticks:{callback:function(e,t,n){let s=String(Math.round(100*Number(e)));return t===n.length-1&&(s+="%"),s}}}},plugins:{tooltip:{callbacks:{title:function(e){return e[0].dataset.label},label:function(e){let t=e.parsed.y;return"".concat(s[e.dataIndex],": ").concat((100*t).toFixed(2),"% pass rate")}}}}}})},[t]),(0,s.jsx)("canvas",{ref:n,style:{maxHeight:"300px"}})}eR.kL.register(eR.vn,eR.ST,eR.ho,eR.uw,eR.f$,eR.ZL,eR.jn,eR.od,eR.u,eR.wL);var eO=l.memo(function(e){var t;let{columnVisibility:n}=e,a=(0,eN.Z)();eR.kL.defaults.color="dark"===a.palette.mode?"#aaa":"#666";let[r,i]=(0,l.useState)(!0),{table:o}=ex();if(!o||!r||o.head.prompts.length<2)return null;let c=o.body.flatMap(e=>e.outputs.map(e=>e.score)),d=new Set(c);return 1===d.size?null:(0,s.jsx)(eE.SV,{fallback:null,children:(0,s.jsxs)(ee.Z,{sx:{position:"relative",padding:3,mt:2},children:[(0,s.jsx)(eb.Z,{style:{position:"absolute",right:0,top:0},onClick:()=>i(!1),children:(0,s.jsx)(eI.Z,{})}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",width:"100%"},children:[(0,s.jsx)("div",{style:{width:"33%"},children:(0,s.jsx)(eT,{table:o})}),(0,s.jsx)("div",{style:{width:"33%"},children:d.size<=3&&Object.keys((null===(t=o.head.prompts[0].metrics)||void 0===t?void 0:t.namedScores)||{}).length>1?(0,s.jsx)(eM,{table:o}):(0,s.jsx)(eF,{table:o})}),(0,s.jsx)("div",{style:{width:"33%"},children:(0,s.jsx)(eD,{table:o})})]})]})})}),eL=n(7660),eA=n(3216),eU=n(5971);n(55974);var eW=e=>{let{lookup:t,metricTotals:n,onSearchTextChange:a}=e,[r,i]=l.useState(!1);if(!t||!Object.keys(t).length)return null;let o=Object.entries(t),c=r?o:o.slice(0,10);return(0,s.jsxs)("div",{className:"custom-metric-container",children:[c.map(e=>{let[t,l]=e;return t&&void 0!==l?(0,s.jsxs)("span",{onClick:()=>a&&a("metric=".concat(t,":")),className:a?"clickable":"",children:[t,":"," ",n&&n[t]?(0,s.jsxs)(s.Fragment,{children:[(l/n[t]*100).toFixed(2),"% (",l.toFixed(2),"/",n[t].toFixed(2),")"]}):l.toFixed(2)]},t):null}),o.length>10&&(0,s.jsx)("span",{className:"clickable",onClick:()=>i(!r),children:r?"Show less":"Show more..."})]})},ez=n(39329),eV=n(64748);function e_(e,t){return e.length<=t?e:e.slice(0,t)+"..."}function eB(e){let{gradingResults:t}=e,[n,a]=(0,l.useState)({});if(!t)return null;let r=e=>{a(t=>({...t,[e]:!t[e]}))};return(0,s.jsxs)(P.Z,{mt:2,children:[(0,s.jsx)(ei.Z,{variant:"subtitle1",children:"Assertions"}),(0,s.jsx)(el.Z,{children:(0,s.jsxs)(et.Z,{children:[(0,s.jsx)(ea.Z,{children:(0,s.jsxs)(er.Z,{children:[(0,s.jsx)(es.Z,{style:{fontWeight:"bold"},children:"Pass"}),(0,s.jsx)(es.Z,{style:{fontWeight:"bold"},children:"Score"}),(0,s.jsx)(es.Z,{style:{fontWeight:"bold"},children:"Type"}),(0,s.jsx)(es.Z,{style:{fontWeight:"bold"},children:"Value"}),(0,s.jsx)(es.Z,{style:{fontWeight:"bold"},children:"Reason"})]})}),(0,s.jsx)(en.Z,{children:t.map((e,t)=>{var l,a,i;if(!e)return null;let o=(null===(l=e.assertion)||void 0===l?void 0:l.value)?"object"==typeof e.assertion.value?JSON.stringify(e.assertion.value,null,2):String(e.assertion.value):"-",c=e_(o,300),d=n[t]||!1;return(0,s.jsxs)(er.Z,{children:[(0,s.jsx)(es.Z,{children:e.pass?"✅":"❌"}),(0,s.jsx)(es.Z,{children:null===(a=e.score)||void 0===a?void 0:a.toFixed(2)}),(0,s.jsx)(es.Z,{children:(null===(i=e.assertion)||void 0===i?void 0:i.type)||""}),(0,s.jsx)(es.Z,{style:{whiteSpace:"pre-wrap",cursor:"pointer"},onClick:()=>r(t),children:d?o:c}),(0,s.jsx)(es.Z,{style:{whiteSpace:"pre-wrap"},children:e.reason})]},t)})})]})})]})}function eJ(e){let{open:t,onClose:n,prompt:a,provider:r,output:i,gradingResults:o,metadata:c}=e,[d,u]=(0,l.useState)(!1),[h,p]=(0,l.useState)({});(0,l.useEffect)(()=>{u(!1)},[a]);let m=async e=>{await navigator.clipboard.writeText(e),u(!0)},x=e=>{p(t=>({...t,[e]:!t[e]}))};return(0,s.jsxs)(Y.Z,{open:t,onClose:n,fullWidth:!0,maxWidth:"lg",children:[(0,s.jsxs)(Q.Z,{children:["Details",r&&": ".concat(r)]}),(0,s.jsxs)($.Z,{children:[(0,s.jsxs)(P.Z,{mb:2,children:[(0,s.jsx)(ei.Z,{variant:"subtitle1",style:{marginBottom:"1rem"},children:"Prompt"}),(0,s.jsx)(eV.Z,{readOnly:!0,value:a,style:{width:"100%",padding:"0.75rem"},maxRows:20}),(0,s.jsx)(eb.Z,{onClick:()=>m(a),style:{position:"absolute",right:"10px",top:"10px"},children:d?(0,s.jsx)(eg.Z,{}):(0,s.jsx)(ez.Z,{})})]}),(null==c?void 0:c.redteamFinalPrompt)&&(0,s.jsxs)(P.Z,{my:2,children:[(0,s.jsx)(ei.Z,{variant:"subtitle1",style:{marginBottom:"1rem",marginTop:"1rem"},children:"Modified User Input (Red Team)"}),(0,s.jsx)(eV.Z,{readOnly:!0,maxRows:20,value:c.redteamFinalPrompt,style:{width:"100%",padding:"0.75rem"}})]}),i&&(0,s.jsxs)(P.Z,{my:2,children:[(0,s.jsx)(ei.Z,{variant:"subtitle1",style:{marginBottom:"1rem",marginTop:"1rem"},children:"Output"}),(0,s.jsx)(eV.Z,{readOnly:!0,maxRows:20,value:i,style:{width:"100%",padding:"0.75rem"}})]}),(0,s.jsx)(eB,{gradingResults:o}),c&&Object.keys(c).length>0&&(0,s.jsxs)(P.Z,{my:2,children:[(0,s.jsx)(ei.Z,{variant:"subtitle1",style:{marginBottom:"1rem",marginTop:"1rem"},children:"Metadata"}),(0,s.jsx)(el.Z,{children:(0,s.jsxs)(et.Z,{size:"small",children:[(0,s.jsx)(ea.Z,{children:(0,s.jsxs)(er.Z,{children:[(0,s.jsx)(es.Z,{children:(0,s.jsx)("strong",{children:"Key"})}),(0,s.jsx)(es.Z,{children:(0,s.jsx)("strong",{children:"Value"})})]})}),(0,s.jsx)(en.Z,{children:Object.entries(c).map(e=>{let[t,n]=e,l="string"==typeof n?n:JSON.stringify(n),a=e_(l,300),r=h[t]||!1;return(0,s.jsxs)(er.Z,{children:[(0,s.jsx)(es.Z,{children:t}),(0,s.jsx)(es.Z,{style:{whiteSpace:"pre-wrap",cursor:"pointer"},onClick:()=>x(t),children:r?l:a})]},t)})})]})})]})]}),(0,s.jsx)(q.Z,{children:(0,s.jsx)(F.Z,{onClick:n,children:"Close"})})]})}var eH=n(89396),eK=n(64173),eX=function(){let e=(0,eN.Z)(),[t,n]=l.useState(!1),a=()=>{n(!1)};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{style:{textAlign:"center",marginTop:20,marginBottom:40},children:(0,s.jsx)(F.Z,{variant:"text",color:"primary",startIcon:(0,s.jsx)(eH.Z,{}),onClick:()=>{n(!0)},children:"Generate test cases"})}),(0,s.jsxs)(Y.Z,{open:t,onClose:a,children:[(0,s.jsx)(Q.Z,{children:"Run on Command Line"}),(0,s.jsx)($.Z,{children:(0,s.jsxs)(eK.Z,{children:[(0,s.jsx)("p",{children:"This feature is in beta. UI coming soon."}),(0,s.jsxs)("p",{children:["Run"," ",(0,s.jsx)(P.Z,{component:"code",sx:{backgroundColor:"dark"===e.palette.mode?"#424242":"#f0f0f0",padding:"2px 4px",borderRadius:"4px"},children:"promptfoo generate dataset"}),"to generate test cases on the command line."]})]})}),(0,s.jsx)(q.Z,{children:(0,s.jsx)(F.Z,{onClick:a,color:"primary",children:"Close"})})]})]})};function eG(e){return"string"==typeof e||"number"==typeof e?e.toString().length:Array.isArray(e)?e.reduce((e,t)=>e+eG(t),0):l.isValidElement(e)&&e.props.children?l.Children.toArray(e.props.children).reduce((e,t)=>e+eG(t),0):0}let eY=l.memo(function(e){let t,{text:n,maxLength:a}=e,[r,i]=l.useState(!0),o=()=>{i(!r)},c=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if("string"==typeof e||"number"==typeof e){let n=e.toString();return n.slice(0,a-t)}if(Array.isArray(e)){let n=[],s=t;for(let t of e){let e=eG(t);if(s+e>a){n.push(c(t,s));break}n.push(t),s+=e}return n}if(l.isValidElement(e)&&e.props.children){let n=eG(e.props.children);if(n>a-t)return l.cloneElement(e,{...e.props,children:c(e.props.children,t)})}return e};t=l.isValidElement(n)||"string"==typeof n?n:JSON.stringify(n);let d=r?c(t):t,u=eG(t)>a;return(0,s.jsxs)("div",{style:{cursor:u?"pointer":"normal"},onMouseDown:e=>{let t=e.clientX,n=e.clientY,s=e=>{let l=e.clientX,a=e.clientY;5>Math.abs(l-t)&&5>Math.abs(a-n)&&o(),document.removeEventListener("mouseup",s)};document.addEventListener("mouseup",s)},children:[d,r&&eG(t)>a&&(0,s.jsx)("span",{children:"..."})]})});var eq=n(45391),e$=n(40182),eQ=n(38640),e0=n.n(eQ),e1=n(33352),e2=n(15014),e3=n(65101);n(16658);var e5=e=>{let{failReasons:t}=e,[n,a]=(0,l.useState)(0);return t.length<1?null:(0,s.jsxs)("div",{className:"fail-reason",children:[t.length>1&&(0,s.jsxs)("span",{className:"fail-reason-carousel-controls",children:[(0,s.jsx)(eb.Z,{onClick:()=>{a(e=>e>0?e-1:t.length-1)},children:(0,s.jsx)(e2.Z,{sx:{fontSize:12}})}),(0,s.jsxs)("span",{children:[n+1,"/",t.length]}),(0,s.jsx)(eb.Z,{onClick:()=>{a(e=>e<t.length-1?e+1:0)},children:(0,s.jsx)(e3.Z,{sx:{fontSize:12}})})]}),t[n].trim().split("\n").map((e,t)=>(0,s.jsxs)(l.Fragment,{children:[e,(0,s.jsx)("br",{})]},t))]})},e4=e=>{let{open:t,contextText:n,commentText:l,onClose:a,onSave:r,onChange:i}=e,o="dark"===(0,eN.Z)().palette.mode;return(0,s.jsxs)(Y.Z,{open:t,onClose:a,fullWidth:!0,maxWidth:"sm",children:[(0,s.jsx)(Q.Z,{children:"Edit Comment"}),(0,s.jsxs)($.Z,{children:[(0,s.jsx)(P.Z,{sx:{backgroundColor:o?"#1e1e1e":"#f0f0f0",padding:2,marginBottom:2},children:n}),(0,s.jsx)(J.Z,{autoFocus:!0,margin:"dense",type:"text",fullWidth:!0,multiline:!0,rows:4,value:l,onChange:e=>i(e.target.value)})]}),(0,s.jsxs)(q.Z,{children:[(0,s.jsx)(F.Z,{onClick:r,color:"primary",variant:"contained",children:"Save"}),(0,s.jsx)(F.Z,{onClick:a,color:"primary",children:"Cancel"})]})]})};let e8=()=>{let e=(0,l.useContext)(c);if(void 0===e)throw Error("useShiftKey must be used within a ShiftKeyProvider");return e};var e7=n(68192);let e9=l.memo(function(e){var t,n,a,r,i,o,c,d,u,h,p,m,x;let v,g,j,f,b,y,{output:Z,maxTextLength:w,rowIndex:C,promptIndex:S,onRating:k,firstOutput:E,showDiffs:I,searchText:N,showStats:R}=e,{renderMarkdown:P,prettifyJson:F,showPrompts:T,showPassFail:D}=ex(),[M,O]=l.useState(!1),[L,A]=l.useState(!1),[U,W]=l.useState(null),z=e=>{W(e||null),A(!L)},[V,_]=l.useState(!1),[B,J]=l.useState((null===(t=Z.gradingResult)||void 0===t?void 0:t.comment)||""),K=()=>{_(!0)},X="string"==typeof Z.text?Z.text:JSON.stringify(Z.text),G=[];if(!Z.pass&&X.includes("---")&&(G=((null===(h=Z.gradingResult)||void 0===h?void 0:h.componentResults)||[]).filter(e=>!!e&&!e.pass).map(e=>e.reason),X=X.split("---").slice(1).join("---")),I&&E){let e,t="string"==typeof E.text?E.text:JSON.stringify(E.text);t.includes("---")&&(t=t.split("---").slice(1).join("---"));try{JSON.parse(t),JSON.parse(X),e=(0,e7.CT)(t,X)}catch(n){e=t.includes(". ")&&X.includes(". ")?(0,e7.SY)(t,X):(0,e7.NV)(t,X)}v=(0,s.jsx)(s.Fragment,{children:e.map((e,t)=>e.added?(0,s.jsx)("ins",{children:e.value},t):e.removed?(0,s.jsx)("del",{children:e.value},t):(0,s.jsx)("span",{children:e.value},t))})}if(N)try{let e;let t=RegExp(N,"gi"),n=[];for(;null!==(e=t.exec(X));)n.push({start:e.index,end:t.lastIndex});v=(0,s.jsx)(s.Fragment,{children:n.length>0?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{children:X.substring(0,n[0].start)},"text-before"),n.map((e,t)=>(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"search-highlight",children:X.substring(e.start,e.end)},"match-"+t),(0,s.jsx)("span",{children:X.substring(e.end,n[t+1]?n[t+1].start:X.length)},"text-after-"+t)]}))]}):(0,s.jsx)("span",{children:X},"no-match")})}catch(e){console.error("Invalid regular expression:",e.message)}else if(P&&!I)v=(0,s.jsx)(eU.U,{remarkPlugins:[e1.Z],components:{img:e=>{let{src:t,alt:n}=e;return(0,s.jsx)("img",{loading:"lazy",src:t,alt:n,onClick:()=>z(t),style:{cursor:"pointer"}})}},children:X});else if(F)try{v=(0,s.jsx)("pre",{children:JSON.stringify(JSON.parse(X),null,2)})}catch(e){}let Y=l.useCallback(e=>{var t;k(e,void 0,null===(t=Z.gradingResult)||void 0===t?void 0:t.comment)},[k,null===(n=Z.gradingResult)||void 0===n?void 0:n.comment]),q=l.useCallback(()=>{let e=prompt("Set test score (0.0 - 1.0):",String(Z.score));if(null!==e){let n=Number.parseFloat(e);if(!Number.isNaN(n)&&n>=0&&n<=1){var t;k(void 0,n,null===(t=Z.gradingResult)||void 0===t?void 0:t.comment)}else alert("Invalid score. Please enter a value between 0.0 and 1.0.")}},[k,Z.score,null===(a=Z.gradingResult)||void 0===a?void 0:a.comment]),[$,Q]=l.useState(!1),ee=l.useCallback(()=>{navigator.clipboard.writeText(Z.text),Q(!0)},[Z.text]);if(Z.latencyMs&&(j=(0,s.jsxs)("span",{children:[Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(Z.latencyMs)," ms"]})),null===(r=Z.tokenUsage)||void 0===r?void 0:r.completion){let e=Z.tokenUsage.completion/(Z.latencyMs/1e3);f=(0,s.jsx)("span",{children:Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(e)})}if(Z.cost&&(b=(0,s.jsxs)("span",{children:["$",Z.cost.toPrecision(2)]})),null===(i=Z.tokenUsage)||void 0===i?void 0:i.cached)g=(0,s.jsxs)("span",{children:[Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(Z.tokenUsage.cached)," ","(cached)"]});else if(null===(o=Z.tokenUsage)||void 0===o?void 0:o.total){let e=Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(null!==(p=Z.tokenUsage.prompt)&&void 0!==p?p:0),t=Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(null!==(m=Z.tokenUsage.completion)&&void 0!==m?m:0),n=Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(Z.tokenUsage.total);g=(0,s.jsx)(H.Z,{title:"".concat(e," prompt tokens + ").concat(t," completion tokens = ").concat(n," total"),children:(0,s.jsxs)("span",{children:[n,("0"!==e||"0"!==t)&&" (".concat(e,"+").concat(t,")")]})})}let et=(null===(c=Z.gradingResult)||void 0===c?void 0:c.comment)&&"!highlight"!==Z.gradingResult.comment?(0,s.jsx)("div",{className:"comment",onClick:K,children:Z.gradingResult.comment}):null,en=R?(0,s.jsxs)("div",{className:"cell-detail",children:[g&&(0,s.jsxs)("div",{className:"stat-item",children:[(0,s.jsx)("strong",{children:"Tokens:"})," ",g]}),j&&(0,s.jsxs)("div",{className:"stat-item",children:[(0,s.jsx)("strong",{children:"Latency:"})," ",j]}),f&&(0,s.jsxs)("div",{className:"stat-item",children:[(0,s.jsx)("strong",{children:"Tokens/Sec:"})," ",f]}),b&&(0,s.jsxs)("div",{className:"stat-item",children:[(0,s.jsx)("strong",{children:"Cost:"})," ",b]})]}):null,es=e8(),el=(0,s.jsxs)("div",{className:"cell-actions",children:[es&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"action",onClick:ee,onMouseDown:e=>e.preventDefault(),children:(0,s.jsx)(H.Z,{title:"Copy output to clipboard",children:(0,s.jsx)("span",{children:$?"✅":"\uD83D\uDCCB"})})}),(0,s.jsx)("span",{className:"action",onClick:()=>{let e;B.startsWith("!highlight")?k(void 0,void 0,e=B.slice(10).trim()):k(void 0,void 0,e=("!highlight "+B).trim()),J(e)},onMouseDown:e=>e.preventDefault(),children:(0,s.jsx)(H.Z,{title:"Toggle test highlight",children:(0,s.jsx)("span",{children:"\uD83C\uDF1F"})})})]}),Z.prompt&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"action",onClick:()=>{O(!0)},children:(0,s.jsx)(H.Z,{title:"View output and test details",children:(0,s.jsx)("span",{children:"\uD83D\uDD0E"})})}),(0,s.jsx)(eJ,{open:M,onClose:()=>{O(!1)},prompt:Z.prompt,provider:Z.provider,gradingResults:null===(d=Z.gradingResult)||void 0===d?void 0:d.componentResults,output:X,metadata:Z.metadata})]}),(0,s.jsx)("span",{className:"action",onClick:()=>Y(!0),children:(0,s.jsx)(H.Z,{title:"Mark test passed (score 1.0)",children:(0,s.jsx)("span",{children:"\uD83D\uDC4D"})})}),(0,s.jsx)("span",{className:"action",onClick:()=>Y(!1),children:(0,s.jsx)(H.Z,{title:"Mark test failed (score 0.0)",children:(0,s.jsx)("span",{children:"\uD83D\uDC4E"})})}),(0,s.jsx)("span",{className:"action",onClick:q,children:(0,s.jsx)(H.Z,{title:"Set test score",children:(0,s.jsx)("span",{children:"\uD83D\uDD22"})})}),(0,s.jsx)("span",{className:"action",onClick:K,children:(0,s.jsx)(H.Z,{title:"Edit comment",children:(0,s.jsx)("span",{children:"✏️"})})})]}),ea={};(null===(u=Z.gradingResult)||void 0===u?void 0:u.comment)==="!highlight"&&(ea.backgroundColor="#ffffeb");let er=0,ei=0,eo=Z.gradingResult;if(eo?eo.componentResults?eo.componentResults.forEach(e=>{(null==e?void 0:e.pass)?er++:ei++}):(er=eo.pass?1:0,ei=eo.pass?0:1):Z.pass?er=1:Z.pass||(ei=1),1===ei&&1===er)y=(0,s.jsxs)(s.Fragment,{children:["".concat(ei," FAIL")," ","".concat(er," PASS")]});else{let e="";ei>1||er>1&&ei>0?e="".concat(ei," FAIL"):1===ei&&(e="FAIL");let t="";er>1||ei>1&&er>0?t="".concat(er," PASS"):1===er&&0===ei&&(t="PASS");let n=e&&t?" ":"";y=(0,s.jsxs)(s.Fragment,{children:[e,n,t]})}let ec=null===(x=Z.score)||0===x||1===x?"":"(".concat(x.toFixed(2),")");return(0,s.jsxs)("div",{className:"cell",style:ea,children:[D&&(0,s.jsx)(s.Fragment,{children:Z.pass?(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{className:"status pass",children:[(0,s.jsxs)("div",{className:"pill",children:[y,ec&&(0,s.jsxs)("span",{className:"score",children:[" ",ec]})]}),(0,s.jsx)(eW,{lookup:Z.namedScores})]})}):(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{className:"status fail",children:[(0,s.jsxs)("div",{className:"pill",children:[y,ec&&(0,s.jsxs)("span",{className:"score",children:[" ",ec]})]}),(0,s.jsx)(eW,{lookup:Z.namedScores}),(0,s.jsx)("span",{className:"fail-reason",children:(0,s.jsx)(e5,{failReasons:G})})]})})}),T&&E.prompt&&(0,s.jsxs)("div",{className:"prompt",children:[(0,s.jsx)("span",{className:"pill",children:"Prompt"}),Z.prompt]}),(0,s.jsx)(eY,{text:v||X,maxLength:w}),et,en,el,L&&U&&(0,s.jsx)("div",{className:"lightbox",onClick:()=>z(),children:(0,s.jsx)("img",{src:U,alt:"Lightbox"})}),(0,s.jsx)(e4,{open:V,contextText:Z.text,commentText:B,onClose:()=>{_(!1)},onSave:()=>{k(void 0,void 0,B),_(!1)},onChange:J})]})});function e6(e){let{text:t,maxLength:n,expandedText:a,resourceId:r,className:i}=e,[o,c]=l.useState(!1);return(0,s.jsxs)("div",{className:"".concat(i||""),children:[(0,s.jsx)(eY,{text:t,maxLength:n}),a&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(H.Z,{title:"View prompt",children:(0,s.jsx)("span",{className:"action",onClick:()=>{c(!0)},children:"\uD83D\uDD0E"})}),(0,s.jsx)(eJ,{open:o,onClose:()=>{c(!1)},prompt:a}),r&&(0,s.jsx)(H.Z,{title:"View other evals and datasets for this prompt",children:(0,s.jsx)("span",{className:"action",children:(0,s.jsx)(e0(),{href:"/prompts/?id=".concat(r),target:"_blank",children:(0,s.jsx)(eq.Z,{fontSize:"small"})})})})]})]})}n(93207);var te=l.memo(function(e){let{maxTextLength:t,columnVisibility:n,wordBreak:a,filterMode:r,failureFilter:i,searchText:c,showStats:d,onFailureFilterToggle:u,onSearchTextChange:h}=e,{evalId:p,table:x,setTable:v,config:g,inComparisonMode:j}=ex(),{showToast:f}=m();(0,y.Z)(x,"Table should be defined");let{head:b,body:Z}=x,w=l.useCallback(async(e,t,n,s,l)=>{var a,r;let i=[...Z],c={...i[e]},d=[...c.outputs],u=null!=n?n:d[t].pass,h=void 0===s?n?1:0:s||0;d[t].pass=u,d[t].score=h;let m=(null===(a=d[t].gradingResult)||void 0===a?void 0:a.componentResults)||[];if(void 0!==n){let e=m.findIndex(e=>{var t;return(null===(t=e.assertion)||void 0===t?void 0:t.type)==="human"}),t={pass:u,score:h,reason:"Manual result (overrides all other grading results)",comment:l,assertion:{type:"human"}};-1===e?m.push(t):m[e]=t}let x={...d[t].gradingResult||{},pass:u,score:h,reason:"Manual result (overrides all other grading results)",comment:l,assertion:(null===(r=d[t].gradingResult)||void 0===r?void 0:r.assertion)||null,componentResults:m};d[t].gradingResult=x,c.outputs=d,i[e]=c;let g={head:b,body:i};if(v(g),j)f("Ratings are not saved in comparison mode","warning");else try{let e=await fetch("".concat(await (0,o.b)(),"/api/eval/").concat(p),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({table:g})});if(!e.ok)throw Error("Network response was not ok")}catch(e){console.error("Failed to update table:",e)}},[Z,b,v,p,j,f]),C=Object.keys(n).length>0,S=l.useMemo(()=>{try{return RegExp(c,"i")}catch(e){return console.error("Invalid regular expression:",e.message),null}},[c]),k=l.useMemo(()=>{try{return Z.map((e,t)=>({...e,outputs:e.outputs.map((e,n)=>({...e,originalRowIndex:t,originalPromptIndex:n}))})).filter(e=>{let t=!0;return"failures"===r?t=e.outputs.some((e,t)=>{let s="Prompt ".concat(t+1);return i[s]&&!e.pass&&(!C||n[s])}):"different"===r?t=!e.outputs.every(t=>t.text===e.outputs[0].text):"highlights"===r&&(console.log(e.outputs[0].text),t=e.outputs.some(e=>{var t,n;return null===(n=e.gradingResult)||void 0===n?void 0:null===(t=n.comment)||void 0===t?void 0:t.startsWith("!highlight")})),!!t&&(!c||!S||e.outputs.some(t=>{var n,s;let l=e.vars.map(e=>"var=".concat(e)).join(" "),a="".concat(t.text," ").concat(Object.keys(t.namedScores).map(e=>"metric=".concat(e,":").concat(t.namedScores[e])).join(" ")," ").concat((null===(n=t.gradingResult)||void 0===n?void 0:n.reason)||""," ").concat((null===(s=t.gradingResult)||void 0===s?void 0:s.comment)||""),r="".concat(l," ").concat(a);return S.test(r)}))})}catch(e){return console.error("Invalid regular expression:",e.message),Z}},[Z,i,r,c,n,C,S]),[E,I]=l.useState({pageIndex:0,pageSize:50});l.useEffect(()=>{I(e=>({...e,pageIndex:0}))},[i,r,c]);let N=l.useMemo(()=>b.prompts.map((e,t)=>Z.reduce((e,n)=>e+(n.outputs[t].pass?1:0),0)),[b.prompts,Z]),R=l.useMemo(()=>b.prompts.map((e,t)=>Z.reduce((e,n)=>{var s,l;return e+((null===(l=n.outputs[t].gradingResult)||void 0===l?void 0:null===(s=l.componentResults)||void 0===s?void 0:s.length)||0)},0)),[b.prompts,Z]),D=l.useMemo(()=>b.prompts.map((e,t)=>Z.reduce((e,n)=>{var s;let l=null===(s=n.outputs[t].gradingResult)||void 0===s?void 0:s.componentResults;return e+(l?l.filter(e=>null==e?void 0:e.pass).length:0)},0)),[b.prompts,Z]),M=l.useMemo(()=>N.reduce((e,t,n,s)=>t>s[e]?n:e,0),[N]),O=N[M],L=l.useMemo(()=>(0,eL.Cl)(),[]),{renderMarkdown:A}=ex(),U=l.useMemo(()=>b.vars.length>0?[L.group({id:"vars",header:()=>(0,s.jsx)("span",{className:"font-bold",children:"Variables"}),columns:b.vars.map((e,n)=>L.accessor(e=>e.vars[n],{id:"Variable ".concat(n+1),header:()=>(0,s.jsx)(e6,{text:e,maxLength:t,className:"font-bold"}),cell:e=>{let n=e.getValue();return(0,s.jsx)("div",{className:"cell",children:A?(0,s.jsx)(eU.U,{remarkPlugins:[e1.Z],children:n}):(0,s.jsx)(eY,{text:n,maxLength:t})})},size:50}))})]:[],[L,b.vars,t,A]),W=l.useCallback((e,t)=>k[e].outputs[t],[k]),V=l.useCallback(e=>k[e].outputs[0],[k]),B=l.useMemo(()=>{let e={};return null==x||x.body.forEach(t=>{var n;null===(n=t.test.assert)||void 0===n||n.forEach(t=>{t.metric&&(e[t.metric]=(e[t.metric]||0)+1),"assert"in t&&Array.isArray(t.assert)&&t.assert.forEach(t=>{"metric"in t&&t.metric&&(e[t.metric]=(e[t.metric]||0)+1)})})}),e},[x]),K=l.useMemo(()=>[L.group({id:"prompts",header:()=>(0,s.jsx)("span",{className:"font-bold",children:"Outputs"}),columns:b.prompts.map((e,n)=>L.accessor(e=>(function(e){if("string"==typeof e){let t=e.startsWith("[PASS]"),n=e;return e.startsWith("[PASS]")?n=n.slice(6):e.startsWith("[FAIL]")&&(n=n.slice(6)),{text:n,pass:t,score:t?1:0}}return e})(e.outputs[n]),{id:"Prompt ".concat(n+1),header:()=>{var l,a,o,c,p,m,x,v;let j=N[n]&&Z.length?(N[n]/Z.length*100).toFixed(2):"0.00",f=N[n]===O&&0!==O,b="Prompt ".concat(n+1),y=i[b]||!1,w=d?(0,s.jsxs)("div",{className:"prompt-detail",children:[R[n]?(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Asserts:"})," ",D[n],"/",R[n]," passed"]}):null,(null===(l=e.metrics)||void 0===l?void 0:l.totalLatencyMs)?(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Avg Latency:"})," ",Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(e.metrics.totalLatencyMs/Z.length)," ","ms"]}):null,(null===(o=e.metrics)||void 0===o?void 0:null===(a=o.tokenUsage)||void 0===a?void 0:a.total)?(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Avg Tokens:"})," ",Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(e.metrics.tokenUsage.total/Z.length)]}):null,(null===(c=e.metrics)||void 0===c?void 0:c.totalLatencyMs)&&(null===(m=e.metrics)||void 0===m?void 0:null===(p=m.tokenUsage)||void 0===p?void 0:p.completion)?(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Tokens/Sec:"})," ",Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(e.metrics.tokenUsage.completion/(e.metrics.totalLatencyMs/1e3))]}):null,(null===(x=e.metrics)||void 0===x?void 0:x.cost)?(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Cost:"})," $",e.metrics.cost.toPrecision(2)]}):null]}):null,C=Array.isArray(null==g?void 0:g.providers)?g.providers[n]:void 0,S=e.provider?e.provider.split(":"):[],k=(0,s.jsx)(H.Z,{title:C?(0,s.jsx)("pre",{children:ew.default.dump(C)}):"",children:S.length>1?(0,s.jsxs)(s.Fragment,{children:[S[0],":",(0,s.jsx)("strong",{children:S.slice(1).join(":")})]}):(0,s.jsx)("strong",{children:e.provider})});return(0,s.jsxs)("div",{className:"output-header",children:[(0,s.jsxs)("div",{className:"pills",children:[e.provider?(0,s.jsx)("div",{className:"provider",children:k}):null,(0,s.jsx)("div",{className:"summary",children:(0,s.jsxs)("div",{className:"highlight ".concat(f?"success":""),children:[(0,s.jsxs)("strong",{children:[j,"% passing"]})," (",N[n],"/",Z.length," cases)"]})}),(null===(v=e.metrics)||void 0===v?void 0:v.namedScores)&&Object.keys(e.metrics.namedScores).length>0?(0,s.jsx)(eW,{lookup:e.metrics.namedScores,metricTotals:B,onSearchTextChange:h}):null]}),(0,s.jsx)(e6,{className:"prompt-container",text:e.label||e.display||e.raw,expandedText:e.raw,maxLength:t,resourceId:e.id}),w,"failures"===r&&(0,s.jsx)(e$.Z,{sx:{"& .MuiFormControlLabel-label":{fontSize:"0.75rem"}},control:(0,s.jsx)(T.Z,{checked:y,onChange:e=>u(b,e.target.checked)}),label:"Show failures"})]})},cell:e=>{var l,a;let i=W(e.row.index,n);return(0,s.jsx)(e9,{output:i,maxTextLength:t,rowIndex:e.row.index,promptIndex:n,onRating:w.bind(null,null!==(l=i.originalRowIndex)&&void 0!==l?l:e.row.index,null!==(a=i.originalPromptIndex)&&void 0!==a?a:n),firstOutput:V(e.row.index),showDiffs:"different"===r,searchText:c,showStats:d})}}))})],[Z.length,null==g?void 0:g.providers,L,i,r,V,W,w,b.prompts,O,t,B,R,D,N,u,h,c,d]),X=l.useMemo(()=>{let e=Z.some(e=>e.description);return e?{accessorFn:e=>e.description||"",id:"description",header:()=>(0,s.jsx)("span",{className:"font-bold",children:"Description"}),cell:e=>(0,s.jsx)("div",{className:"cell",children:(0,s.jsx)(eY,{text:String(e.getValue()),maxLength:t})}),size:50}:null},[Z,t]),G=l.useMemo(()=>{let e=[];return X&&e.push(X),e.push(...U,...K),e},[X,U,K]),Y=(0,eA.b7)({data:k,columns:G,columnResizeMode:"onChange",getCoreRowModel:(0,eL.sC)(),getPaginationRowModel:(0,eL.G_)(),state:{columnVisibility:n,pagination:E}});return(0,s.jsxs)("div",{children:[(0,s.jsxs)("table",{className:"results-table firefox-fix ".concat(t<=25?"compact":""),style:{wordBreak:a},children:[(0,s.jsx)("thead",{children:Y.getHeaderGroups().map(e=>(0,s.jsx)("tr",{className:"header",children:e.headers.map(e=>(0,s.jsxs)("th",{colSpan:e.colSpan,style:{width:e.getSize()},children:[e.isPlaceholder?null:(0,eA.ie)(e.column.columnDef.header,e.getContext()),(0,s.jsx)("div",{onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),className:"resizer ".concat(e.column.getIsResizing()?"isResizing":"")})]},e.id))},e.id))}),(0,s.jsx)("tbody",{children:Y.getRowModel().rows.map((e,t)=>{let n=!1;return(0,s.jsx)("tr",{children:e.getVisibleCells().map(e=>{let l=e.column.id.startsWith("Variable")||"description"===e.column.id,a=!l&&!n;return a&&(n=!0),(0,s.jsx)("td",{style:{width:e.column.getSize()},className:"".concat(l?"variable":""," ").concat(0!==t||l?"":"first-prompt-row"," ").concat(a?"first-prompt-col":""),children:(0,eA.ie)(e.column.columnDef.cell,e.getContext())},e.id)})},e.id)})})]}),Y.getPageCount()>1&&(0,s.jsxs)(P.Z,{className:"pagination",mx:1,sx:{display:"flex",alignItems:"center",gap:2},children:[(0,s.jsx)(F.Z,{onClick:()=>{I(e=>({...e,pageIndex:Math.max(e.pageIndex-1,0)})),window.scrollTo(0,0)},disabled:0===Y.getState().pagination.pageIndex,variant:"contained",children:"Previous"}),(0,s.jsxs)(ei.Z,{component:"span",sx:{display:"flex",alignItems:"center",gap:1},children:["Page",(0,s.jsx)(J.Z,{size:"small",type:"number",value:Y.getState().pagination.pageIndex+1,onChange:e=>{let t=e.target.value?Number(e.target.value)-1:0;I(e=>({...e,pageIndex:Math.min(Math.max(t,0),Y.getPageCount()-1)}))},InputProps:{style:{width:"60px",textAlign:"center"}},variant:"outlined"}),(0,s.jsxs)("span",{children:["of ",Y.getPageCount()]})]}),(0,s.jsx)(F.Z,{onClick:()=>{I(e=>({...e,pageIndex:Math.min(e.pageIndex+1,Y.getPageCount()-1)})),window.scrollTo(0,0)},disabled:Y.getState().pagination.pageIndex+1>=Y.getPageCount(),variant:"contained",children:"Next"}),(0,s.jsxs)(ei.Z,{component:"span",sx:{display:"flex",alignItems:"center",gap:1},children:[(0,s.jsxs)(_.Z,{value:E.pageSize,onChange:e=>{I({pageIndex:0,pageSize:Number(e.target.value)}),window.scrollTo(0,0)},displayEmpty:!0,inputProps:{"aria-label":"Results per page"},size:"small",sx:{m:1,minWidth:80},children:[(0,s.jsx)(z.Z,{value:10,children:"10"}),(0,s.jsx)(z.Z,{value:50,children:"50"}),(0,s.jsx)(z.Z,{value:100,children:"100"}),(0,s.jsx)(z.Z,{value:500,children:"500"}),(0,s.jsx)(z.Z,{value:1e3,children:"1000"})]}),(0,s.jsx)("span",{children:"results per page"})]})]}),(0,s.jsx)(eX,{})]})}),tt=n(4451),tn=e=>{let{open:t,onClose:n}=e,{maxTextLength:l,setMaxTextLength:a,wordBreak:r,setWordBreak:i,showInferenceDetails:o,setShowInferenceDetails:c,renderMarkdown:d,setRenderMarkdown:u,prettifyJson:h,setPrettifyJson:p,showPrompts:m,setShowPrompts:x,showPassFail:v,setShowPassFail:g}=ex();return(0,s.jsxs)(Y.Z,{open:t,onClose:n,fullWidth:!0,maxWidth:"sm",children:[(0,s.jsx)(Q.Z,{children:"Table View Settings"}),(0,s.jsxs)($.Z,{children:[(0,s.jsx)(P.Z,{children:(0,s.jsx)(H.Z,{title:"Forcing line breaks makes it easier to adjust column widths to your liking",placement:"right",children:(0,s.jsx)(e$.Z,{control:(0,s.jsx)(T.Z,{checked:"break-all"===r,onChange:e=>i(e.target.checked?"break-all":"break-word")}),label:"Force line breaks"})})}),(0,s.jsx)(P.Z,{children:(0,s.jsx)(e$.Z,{control:(0,s.jsx)(T.Z,{checked:d,onChange:e=>u(e.target.checked)}),label:"Render model outputs as Markdown"})}),(0,s.jsx)(P.Z,{children:(0,s.jsx)(e$.Z,{control:(0,s.jsx)(T.Z,{checked:h,onChange:e=>p(e.target.checked)}),label:"Prettify JSON outputs"})}),(0,s.jsx)(P.Z,{children:(0,s.jsx)(H.Z,{title:"Show the final prompt that produced the output in each cell.",placement:"right",children:(0,s.jsx)(e$.Z,{control:(0,s.jsx)(T.Z,{checked:m,onChange:e=>x(e.target.checked)}),label:"Show full prompt in output cell"})})}),(0,s.jsx)(P.Z,{children:(0,s.jsx)(H.Z,{title:"Show pass/fail status for each output.",placement:"right",children:(0,s.jsx)(e$.Z,{control:(0,s.jsx)(T.Z,{checked:v,onChange:e=>g(e.target.checked)}),label:"Show pass/fail status"})})}),(0,s.jsx)(P.Z,{children:(0,s.jsx)(H.Z,{title:"Show detailed inference statistics such as latency, tokens used, cost, etc.",placement:"right",children:(0,s.jsx)(e$.Z,{control:(0,s.jsx)(T.Z,{checked:o,onChange:e=>c(e.target.checked)}),label:"Show inference details"})})}),(0,s.jsxs)(P.Z,{maxWidth:"sm",children:[(0,s.jsxs)(ei.Z,{mt:2,children:["Max text length: ",l]}),(0,s.jsx)(tt.ZP,{min:25,max:1e3,value:l,onChange:(e,t)=>a(t)})]})]}),(0,s.jsx)(q.Z,{children:(0,s.jsx)(F.Z,{onClick:n,children:"Close"})})]})},ts=e=>{let{open:t,onClose:n,shareUrl:a}=e,r=(0,l.useRef)(null),[i,o]=(0,l.useState)(!1),c=()=>{n(),o(!1)};return(0,s.jsxs)(Y.Z,{open:t,onClose:c,PaperProps:{style:{minWidth:"min(660px, 100%)"}},children:[(0,s.jsx)(Q.Z,{children:"Your eval is ready to share"}),(0,s.jsxs)($.Z,{children:[(0,s.jsx)(J.Z,{inputRef:r,value:a,fullWidth:!0,InputProps:{readOnly:!0,endAdornment:(0,s.jsx)(eb.Z,{onClick:()=>{r.current&&(r.current.select(),document.execCommand("copy"),o(!0))},children:i?(0,s.jsx)(eg.Z,{}):(0,s.jsx)(ef.Z,{})})}}),(0,s.jsx)(eK.Z,{sx:{fontSize:"0.75rem"},children:"Shared URLs are deleted after 2 weeks."})]}),(0,s.jsx)(q.Z,{children:(0,s.jsx)(F.Z,{onClick:c,color:"primary",children:"Close"})})]})};n(58022);let tl=(0,K.Z)(B.Z)(e=>{let{theme:t}=e;return{maxWidth:"100%",flexWrap:"wrap",[t.breakpoints.down("sm")]:{flexDirection:"column"}}});function ta(e){var t;let{recentEvals:n,onRecentEvalSelected:a,defaultEvalId:c}=e,d=(0,f.useRouter)(),h=(0,f.useSearchParams)(),{author:p,table:m,setTable:x,config:j,setConfig:b,maxTextLength:B,wordBreak:K,showInferenceDetails:G,evalId:Y,setInComparisonMode:q,columnStates:$,setColumnState:Q}=ex(),{setStateFromConfig:ee}=(0,Z.o)(),[et,en]=l.useState((null==h?void 0:h.get("search"))||""),[es]=(0,X.Nr)(et,1e3),el=e=>{en(e)},[ea,er]=l.useState({}),ei=l.useCallback((e,t)=>{er(n=>({...n,[e]:t}))},[er]);(0,y.Z)(m,"Table data must be loaded before rendering ResultsView");let{head:eo}=m,[ec,eu]=l.useState("all"),[eh,ep]=l.useState(!1),[em,eg]=l.useState(""),[ej,ef]=l.useState(!1),[eb,eZ]=l.useState(null),ew=Y||c||"default",eS=async()=>{ef(!0);let e="";try{if(v.T8){let t=await fetch("".concat(r,"/api/eval"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:{version:2,createdAt:new Date().toISOString(),results:{table:m},config:j}})}),{id:n}=await t.json();e="".concat(i,"/eval/").concat(n)}else e="".concat(window.location.host,"/eval/?evalId=").concat(Y);eg(e),ep(!0)}catch(e){alert("Sorry, something went wrong.")}finally{ef(!1)}},eE=async e=>{eZ(null);try{var t;let n=await fetch("".concat(await (0,o.b)(),"/api/results/").concat(e),{cache:"no-store"}),s=await n.json(),l=s.data.results.table,a={head:{prompts:[...m.head.prompts.map(e=>({...e,label:"[".concat(Y||c||"Eval A","] ").concat(e.label||"")})),...l.head.prompts.map(t=>({...t,label:"[".concat(e,"] ").concat(t.label||"")}))],vars:m.head.vars},body:m.body.map((e,t)=>{var n;return{...e,outputs:[...e.outputs,...(null===(n=l.body[t])||void 0===n?void 0:n.outputs)||[]]}})};x(a),b({...j,...s.data.config,description:'Combined: "'.concat((null==j?void 0:j.description)||"Eval A",'" and "').concat((null===(t=s.data.config)||void 0===t?void 0:t.description)||"Eval B",'"')}),q(!0)}catch(e){console.error("Error fetching comparison eval:",e),alert("Failed to load comparison eval. Please try again.")}},eI=l.useMemo(()=>m.body.some(e=>e.description),[m.body]),eN=eo.prompts.map((e,t)=>{let n=e.label||e.display||e.raw;return{value:"Prompt ".concat(t+1),label:"Prompt ".concat(t+1,": ").concat(n&&n.length>100?n.slice(0,100)+"...":n||""),group:"Prompts"}}),eR=l.useMemo(()=>[...eI?[{value:"description",label:"Description"}]:[],...eo.vars.map((e,t)=>({value:"Variable ".concat(t+1),label:"Var ".concat(t+1,": ").concat(eo.vars[t].length>100?eo.vars[t].slice(0,97)+"...":eo.vars[t]),group:"Variables"})),...eN],[eo.vars,eN,eI]),[eP,eF]=l.useState(!1),[eT,eD]=l.useState(!1),eM=l.useMemo(()=>[...eI?["description"]:[],...eo.vars.map((e,t)=>"Variable ".concat(t+1)),...eo.prompts.map((e,t)=>"Prompt ".concat(t+1))],[eI,eo.vars,eo.prompts]),eL=$[ew]||{selectedColumns:[],columnVisibility:{}},eA=l.useCallback(e=>{let t={};eM.forEach(n=>{t[n]=e.includes(n)}),Q(ew,{selectedColumns:e,columnVisibility:t})},[eM,Q,ew]);l.useEffect(()=>{0!==eL.selectedColumns.length&&eL.selectedColumns.every(e=>eM.includes(e))||eA(eM)},[eM,eL.selectedColumns,eA]);let eU=l.useCallback(e=>{let t=Array.isArray(e.target.value)?e.target.value:e.target.value.split(",");eA(t)},[eA]),eW=async()=>{(0,y.Z)(j,"Config must be loaded before clicking its description");let e=window.prompt("Enter new description:",j.description);if(null!==e&&e!==j.description){let t={...j,description:e};try{let e=await fetch("".concat(await (0,o.b)(),"/api/eval/").concat(Y),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({config:t})});if(!e.ok)throw Error("Network response was not ok");b(t)}catch(e){console.error("Failed to update table:",e)}}},ez=async()=>{if(window.confirm("Are you sure you want to delete this evaluation?"))try{let e=await fetch("".concat(await (0,o.b)(),"/api/eval/").concat(Y),{method:"DELETE"});if(!e.ok)throw Error("Network response was not ok");d.push("/")}catch(e){console.error("Failed to delete evaluation:",e),alert("Failed to delete evaluation")}},[eV,e_]=l.useState(!1),[eB,eJ]=l.useState(!1),eH=async()=>{Y&&(await navigator.clipboard.writeText(Y),e_(!0),setTimeout(()=>{e_(!1)},1e3))};return(0,s.jsxs)("div",{style:{marginLeft:"1rem",marginRight:"1rem"},children:[(0,s.jsxs)(tl,{direction:"row",mb:3,spacing:1,alignItems:"center",className:"eval-header",children:[(0,s.jsxs)(P.Z,{sx:{display:"flex",alignItems:"center",width:"100%",maxWidth:250},children:[(0,s.jsx)(J.Z,{variant:"outlined",size:"small",fullWidth:!0,value:(null==j?void 0:j.description)||Y||"",InputProps:{readOnly:!0,startAdornment:(0,s.jsx)(O.Z,{position:"start",children:(0,s.jsx)(N.Z,{})}),endAdornment:(0,s.jsx)(O.Z,{position:"end",children:(0,s.jsx)(w.Z,{})})},onClick:()=>eJ(!0),placeholder:"Search or select an eval...",sx:{cursor:"pointer"}}),(0,s.jsx)(ed,{open:eB,onClose:()=>eJ(!1),recentEvals:n,onRecentEvalSelected:a,title:"Select an Eval"})]}),(null==j?void 0:j.description)&&Y&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(H.Z,{title:"Click to copy",children:(0,s.jsx)(D.Z,{size:"small",label:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("strong",{children:"ID:"})," ",Y]}),sx:{opacity:.7,cursor:"pointer"},onClick:eH})}),(0,s.jsx)(u.Z,{open:eV,autoHideDuration:1e3,onClose:()=>e_(!1),message:"Eval id copied to clipboard"})]}),(0,s.jsx)(H.Z,{title:p?"":"Set eval author with `promptfoo config set email`",children:(0,s.jsx)(D.Z,{size:"small",label:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("strong",{children:"Author:"})," ",p||"Unknown"]}),sx:{opacity:.7}})})]}),(0,s.jsxs)(tl,{direction:"row",spacing:1,alignItems:"center",children:[(0,s.jsx)(P.Z,{children:(0,s.jsxs)(M.Z,{sx:{minWidth:200,maxWidth:350},size:"small",children:[(0,s.jsx)(L.Z,{id:"visible-columns-label",children:"Columns"}),(0,s.jsx)(_.Z,{labelId:"visible-columns-label",id:"visible-columns",multiple:!0,value:eL.selectedColumns,onChange:eU,input:(0,s.jsx)(V.Z,{label:"Visible columns"}),renderValue:e=>e.join(", "),children:eR.map(e=>(0,s.jsxs)(z.Z,{dense:!0,value:e.value,children:[(0,s.jsx)(T.Z,{checked:eL.selectedColumns.includes(e.value)}),(0,s.jsx)(U.Z,{primary:e.label})]},e.value))})]})}),(0,s.jsx)(P.Z,{children:(0,s.jsxs)(M.Z,{sx:{minWidth:180},size:"small",children:[(0,s.jsx)(L.Z,{id:"failure-filter-mode-label",children:"Display"}),(0,s.jsxs)(_.Z,{labelId:"filter-mode-label",id:"filter-mode",value:ec,onChange:e=>{let t=e.target.value;eu(t);let n={};eo.prompts.forEach((e,s)=>{n["Prompt ".concat(s+1)]="failures"===t}),er(n)},label:"Filter",children:[(0,s.jsx)(z.Z,{value:"all",children:"Show all results"}),(0,s.jsx)(z.Z,{value:"failures",children:"Show failures only"}),(0,s.jsx)(z.Z,{value:"different",children:"Show different only"}),(0,s.jsx)(z.Z,{value:"highlights",children:"Show highlights only"})]})]})}),(0,s.jsx)(P.Z,{children:(0,s.jsx)(J.Z,{sx:{minWidth:180},size:"small",label:"Search",placeholder:"Text or regex",value:et,onChange:e=>el(e.target.value)})}),(0,s.jsx)(P.Z,{flexGrow:1}),(0,s.jsx)(P.Z,{display:"flex",justifyContent:"flex-end",children:(0,s.jsxs)(tl,{direction:"row",spacing:2,children:[(0,s.jsx)(F.Z,{color:"primary",onClick:e=>{eZ(e.currentTarget)},startIcon:(0,s.jsx)(w.Z,{}),children:"Eval actions"}),j&&(0,s.jsxs)(W.Z,{id:"eval-actions-menu",anchorEl:eb,keepMounted:!0,open:!!eb,onClose:()=>{eZ(null)},children:[(0,s.jsx)(H.Z,{title:"Edit the name of this eval",placement:"left",children:(0,s.jsxs)(z.Z,{onClick:eW,children:[(0,s.jsx)(A.Z,{children:(0,s.jsx)(S.Z,{fontSize:"small"})}),"Edit name"]})}),(0,s.jsx)(H.Z,{title:"Edit this eval in the web UI",placement:"left",children:(0,s.jsxs)(z.Z,{onClick:()=>{ee(j),d.push("/setup/")},children:[(0,s.jsx)(A.Z,{children:(0,s.jsx)(k.Z,{fontSize:"small"})}),"Edit and re-run"]})}),(0,s.jsx)(ev,{initialEvals:n,onComparisonEvalSelected:eE}),(0,s.jsx)(H.Z,{title:"View the configuration that defines this eval",placement:"left",children:(0,s.jsxs)(z.Z,{onClick:()=>eF(!0),children:[(0,s.jsx)(A.Z,{children:(0,s.jsx)(R.Z,{fontSize:"small"})}),"View YAML"]})}),(0,s.jsx)(eC,{}),(null==j?void 0:j.sharing)&&(0,s.jsx)(H.Z,{title:"Generate a unique URL that others can access",placement:"left",children:(0,s.jsxs)(z.Z,{onClick:eS,disabled:ej,children:[(0,s.jsx)(A.Z,{children:ej?(0,s.jsx)(g.Z,{size:16}):(0,s.jsx)(I.Z,{fontSize:"small"})}),"Share"]})}),(0,s.jsx)(H.Z,{title:"Delete this eval",placement:"left",children:(0,s.jsxs)(z.Z,{onClick:ez,children:[(0,s.jsx)(A.Z,{children:(0,s.jsx)(C.Z,{fontSize:"small"})}),"Delete"]})})]}),(0,s.jsx)(H.Z,{title:"Edit table view settings",placement:"bottom",children:(0,s.jsx)(F.Z,{color:"primary",onClick:()=>eD(!0),startIcon:(0,s.jsx)(E.Z,{}),children:"Table Settings"})}),((null==j?void 0:j.redteam)||(null==j?void 0:null===(t=j.metadata)||void 0===t?void 0:t.redteam))&&(0,s.jsx)(H.Z,{title:"View vulnerability scan report",placement:"bottom",children:(0,s.jsx)(F.Z,{color:"primary",variant:"contained",startIcon:(0,s.jsx)(R.Z,{}),onClick:()=>d.push("/report/?evalId=".concat(Y||c)),children:"Vulnerability Report"})})]})})]}),(0,s.jsx)(eO,{columnVisibility:eL.columnVisibility}),(0,s.jsx)(te,{maxTextLength:B,columnVisibility:eL.columnVisibility,wordBreak:K,showStats:G,filterMode:ec,failureFilter:ea,searchText:es,onFailureFilterToggle:ei,onSearchTextChange:el}),(0,s.jsx)(ey,{open:eP,onClose:()=>eF(!1)}),(0,s.jsx)(ts,{open:eh,onClose:()=>ep(!1),shareUrl:em}),(0,s.jsx)(tn,{open:eT,onClose:()=>eD(!1)}),(0,s.jsx)(ek,{recentEvals:n,onRecentEvalSelected:a})]})}async function tr(){let e=(0,j.createClientComponentClient)(),{data:{user:t}}=await e.auth.getUser();(0,y.Z)(t,"User not logged in");let{data:n}=await e.from("EvaluationResult").select("id, createdAt").eq("user_id",t.id).order("createdAt",{ascending:!1}).limit(100);return n||[]}async function ti(e){let t=(0,j.createClientComponentClient)(),{data:n}=await t.from("EvaluationResult").select("*").eq("id",e).single();return n}function to(e){var t;let{fetchId:n,preloadedData:a,recentEvals:i,defaultEvalId:c}=e,u=(0,f.useRouter)(),{table:h,setTable:p,config:m,setConfig:j,evalId:Z,setEvalId:w,setAuthor:C,setInComparisonMode:S}=ex(),[k,E]=l.useState(!1),[I,N]=l.useState(!1),[R,P]=l.useState(i||[]),F=async()=>{let e=await fetch("".concat(await (0,o.b)(),"/api/results"),{cache:"no-store"}),t=await e.json();return P(t.data),t.data},T=l.useCallback(async e=>{let t=await fetch("".concat(await (0,o.b)(),"/api/results/").concat(e),{cache:"no-store"}),n=await t.json();p(n.data.results.table),j(n.data.config),C(n.data.author),w(e)},[p,j,w,C]),D=async e=>{v.Ox?(E(!1),u.push("/eval/remote:".concat(encodeURIComponent(e)))):u.push("/eval/?evalId=".concat(encodeURIComponent(e)))},[M,O]=l.useState(c||(null===(t=R[0])||void 0===t?void 0:t.evalId)),L=(0,f.useSearchParams)(),A=L?L.get("evalId"):null;return(l.useEffect(()=>{if(A){console.log("Eval init: Fetching eval by id",A);let e=async()=>{await T(A),E(!0),O(A),F()};e()}else if(a){var e;console.log("Eval init: Using preloaded data"),p(null===(e=a.data.results)||void 0===e?void 0:e.table),j(a.data.config),C(a.data.author||null),E(!0)}else if(n){console.log("Eval init: Fetching eval",n);let e=async()=>{var e;let t=v.T8?r:"",s="".concat(t,"/api/eval/").concat(n);console.log("Fetching eval from remote server",s);let l=await fetch(s);if(!l.ok){N(!0);return}let a=await l.json();p(null===(e=a.data.results)||void 0===e?void 0:e.table),j(a.data.config),C(a.data.author||null),E(!0)};e()}else if(v.T8)console.log("Eval init: Using local server websocket"),(0,o.b)().then(e=>{let t=(0,b.io)(e);return t.on("init",e=>{console.log("Initialized socket connection",e),E(!0),p(null==e?void 0:e.results.table),j(null==e?void 0:e.config),C((null==e?void 0:e.author)||null),F().then(e=>{var t,n,s;O(null===(t=e[0])||void 0===t?void 0:t.evalId),console.log("setting default eval id",null===(n=e[0])||void 0===n?void 0:n.evalId),w(null===(s=e[0])||void 0===s?void 0:s.evalId)})}),t.on("update",e=>{console.log("Received data update",e),p(e.results.table),j(e.config),C(e.author||null),F().then(e=>{var t;let n=null===(t=e[0])||void 0===t?void 0:t.evalId;n&&(O(n),w(n))})}),()=>{t.disconnect()}});else if(v.Ox)console.log("Eval init: Using Supabase"),tr().then(e=>{P(e.map(e=>({evalId:e.id,datasetId:null,label:e.createdAt,createdAt:new Date(e.createdAt).getTime(),description:"None",numTests:-1}))),e.length>0&&ti(e[0].id).then(t=>{(0,y.Z)(t,"Eval not found");let n=t.results,s=t.config;O(e[0].id),p(n.table),j(s),C(null),E(!0)})});else{console.log("Eval init: Fetching eval via recent");let e=async()=>{let e=await F();if(!(e.length>0))return(0,s.jsx)("div",{className:"notice",children:"No evals yet. Share some evals to this server and they will appear here."});{let t=await (0,o.b)(),n=e[0].evalId,s=await fetch("".concat(t,"/api/results/").concat(n)),l=await s.json();p(l.data.results.table),j(l.data.config),C(l.data.author||null),E(!0),O(n),w(n)}};e()}S(!1)},[n,p,j,C,w,T,a,O,A,S]),l.useEffect(()=>{document.title="".concat((null==m?void 0:m.description)||Z||"Eval"," | promptfoo")},[m,Z]),I)?(0,s.jsx)("div",{className:"notice",children:"404 Eval not found"}):k&&h?(0,s.jsx)(x,{children:(0,s.jsx)(d,{children:(0,s.jsx)(ta,{defaultEvalId:M,recentEvals:R,onRecentEvalSelected:D})})}):(0,s.jsxs)("div",{className:"notice",children:[(0,s.jsx)("div",{children:(0,s.jsx)(g.Z,{size:22})}),(0,s.jsx)("div",{children:"Waiting for eval data"})]})}n(94455)},52428:function(e,t,n){"use strict";n.d(t,{Ox:function(){return a},T8:function(){return l},eA:function(){return r}});var s=n(77580);let l=!s.env.NEXT_PUBLIC_PROMPTFOO_BUILD_STANDALONE_SERVER,a=!!s.env.NEXT_PUBLIC_PROMPTFOO_USE_SUPABASE,r=""},47887:function(e,t,n){"use strict";n.d(t,{o:function(){return a}});var s=n(94660),l=n(74810);let a=(0,s.Ue)()((0,l.tJ)((e,t)=>({env:{},testCases:[],description:"",providers:[],prompts:[],defaultTest:{},evaluateOptions:{},scenarios:[],setEnv:t=>e({env:t}),setTestCases:t=>e({testCases:t}),setDescription:t=>e({description:t}),setProviders:t=>e({providers:t}),setPrompts:t=>e({prompts:t}),setDefaultTest:t=>e({defaultTest:t}),setEvaluateOptions:t=>e({evaluateOptions:t}),setScenarios:t=>e({scenarios:t}),setStateFromConfig:t=>{let n={};t.description&&(n.description=t.description||""),t.tests&&(n.testCases=t.tests),t.providers&&(n.providers=t.providers),t.prompts&&("string"==typeof t.prompts?n.prompts=[t.prompts]:Array.isArray(t.prompts)?n.prompts=t.prompts.filter(e=>"string"==typeof e&&!e.endsWith(".txt")&&!e.endsWith(".json")&&!e.endsWith(".yaml")):console.warn("Invalid prompts config",t.prompts)),t.defaultTest&&(n.defaultTest=t.defaultTest),t.evaluateOptions&&(n.evaluateOptions=t.evaluateOptions),t.scenarios&&(n.scenarios=t.scenarios),e(n)},getTestSuite:()=>{let{description:e,testCases:n,providers:s,prompts:l,env:a,scenarios:r}=t();return{env:a,description:e,providers:s,prompts:l,tests:n,scenarios:r}}}),{name:"promptfoo",skipHydration:!0}))},55974:function(){},94455:function(){},16658:function(){},93207:function(){},58022:function(){}}]);