promptfoo 0.10.0 → 0.12.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 (148) hide show
  1. package/README.md +45 -35
  2. package/dist/package.json +87 -0
  3. package/dist/src/__mocks__/esm.d.ts.map +1 -0
  4. package/dist/src/__mocks__/esm.js.map +1 -0
  5. package/dist/{assertions.d.ts → src/assertions.d.ts} +1 -1
  6. package/dist/src/assertions.d.ts.map +1 -0
  7. package/dist/src/assertions.js +374 -0
  8. package/dist/src/assertions.js.map +1 -0
  9. package/dist/src/cache.d.ts.map +1 -0
  10. package/dist/src/cache.js.map +1 -0
  11. package/dist/src/esm.d.ts.map +1 -0
  12. package/dist/src/esm.js.map +1 -0
  13. package/dist/src/evaluator.d.ts.map +1 -0
  14. package/dist/{evaluator.js → src/evaluator.js} +3 -1
  15. package/dist/src/evaluator.js.map +1 -0
  16. package/dist/src/index.d.ts.map +1 -0
  17. package/dist/{index.js → src/index.js} +10 -7
  18. package/dist/src/index.js.map +1 -0
  19. package/dist/src/logger.d.ts.map +1 -0
  20. package/dist/src/logger.js.map +1 -0
  21. package/dist/src/main.d.ts.map +1 -0
  22. package/dist/{main.js → src/main.js} +35 -13
  23. package/dist/src/main.js.map +1 -0
  24. package/dist/src/onboarding.d.ts.map +1 -0
  25. package/dist/src/onboarding.js.map +1 -0
  26. package/dist/src/prompts.d.ts.map +1 -0
  27. package/dist/src/prompts.js.map +1 -0
  28. package/dist/src/providers/localai.d.ts.map +1 -0
  29. package/dist/src/providers/localai.js.map +1 -0
  30. package/dist/src/providers/openai.d.ts.map +1 -0
  31. package/dist/src/providers/openai.js.map +1 -0
  32. package/dist/src/providers/shared.d.ts.map +1 -0
  33. package/dist/src/providers/shared.js.map +1 -0
  34. package/dist/src/providers.d.ts.map +1 -0
  35. package/dist/src/providers.js.map +1 -0
  36. package/dist/src/suggestions.d.ts.map +1 -0
  37. package/dist/src/suggestions.js.map +1 -0
  38. package/dist/src/telemetry.d.ts +10 -0
  39. package/dist/src/telemetry.d.ts.map +1 -0
  40. package/dist/src/telemetry.js +48 -0
  41. package/dist/src/telemetry.js.map +1 -0
  42. package/dist/{types.d.ts → src/types.d.ts} +6 -2
  43. package/dist/src/types.d.ts.map +1 -0
  44. package/dist/src/types.js.map +1 -0
  45. package/dist/src/updates.d.ts +3 -0
  46. package/dist/src/updates.d.ts.map +1 -0
  47. package/dist/src/updates.js +36 -0
  48. package/dist/src/updates.js.map +1 -0
  49. package/dist/{util.d.ts → src/util.d.ts} +3 -3
  50. package/dist/src/util.d.ts.map +1 -0
  51. package/dist/{util.js → src/util.js} +12 -5
  52. package/dist/src/util.js.map +1 -0
  53. package/dist/src/web/client/assets/index-87905193.css +1 -0
  54. package/dist/src/web/client/assets/index-eb6d3769.js +199 -0
  55. package/dist/src/web/client/assets/js-yaml-8bbf9398.js +32 -0
  56. package/dist/{web → src/web}/client/index.html +2 -2
  57. package/dist/src/web/server.d.ts.map +1 -0
  58. package/dist/{web → src/web}/server.js +3 -4
  59. package/dist/src/web/server.js.map +1 -0
  60. package/package.json +13 -9
  61. package/src/assertions.ts +247 -41
  62. package/src/evaluator.ts +5 -2
  63. package/src/index.ts +7 -4
  64. package/src/main.ts +50 -13
  65. package/src/telemetry.ts +57 -0
  66. package/src/types.ts +23 -2
  67. package/src/updates.ts +37 -0
  68. package/src/util.ts +28 -6
  69. package/src/web/client/package-lock.json +3 -6
  70. package/src/web/client/package.json +1 -0
  71. package/src/web/client/src/App.tsx +32 -12
  72. package/src/web/client/src/ConfigModal.tsx +81 -0
  73. package/src/web/client/src/ResultsTable.css +18 -6
  74. package/src/web/client/src/ResultsTable.tsx +101 -35
  75. package/src/web/client/src/ResultsView.tsx +148 -12
  76. package/src/web/client/src/ShareModal.tsx +70 -0
  77. package/src/web/client/src/index.css +6 -0
  78. package/src/web/client/src/store.ts +6 -1
  79. package/src/web/client/src/types.ts +4 -0
  80. package/src/web/server.ts +3 -7
  81. package/dist/__mocks__/esm.d.ts.map +0 -1
  82. package/dist/__mocks__/esm.js.map +0 -1
  83. package/dist/assertions.d.ts.map +0 -1
  84. package/dist/assertions.js +0 -233
  85. package/dist/assertions.js.map +0 -1
  86. package/dist/cache.d.ts.map +0 -1
  87. package/dist/cache.js.map +0 -1
  88. package/dist/esm.d.ts.map +0 -1
  89. package/dist/esm.js.map +0 -1
  90. package/dist/evaluator.d.ts.map +0 -1
  91. package/dist/evaluator.js.map +0 -1
  92. package/dist/index.d.ts.map +0 -1
  93. package/dist/index.js.map +0 -1
  94. package/dist/logger.d.ts.map +0 -1
  95. package/dist/logger.js.map +0 -1
  96. package/dist/main.d.ts.map +0 -1
  97. package/dist/main.js.map +0 -1
  98. package/dist/onboarding.d.ts.map +0 -1
  99. package/dist/onboarding.js.map +0 -1
  100. package/dist/prompts.d.ts.map +0 -1
  101. package/dist/prompts.js.map +0 -1
  102. package/dist/providers/localai.d.ts.map +0 -1
  103. package/dist/providers/localai.js.map +0 -1
  104. package/dist/providers/openai.d.ts.map +0 -1
  105. package/dist/providers/openai.js.map +0 -1
  106. package/dist/providers/shared.d.ts.map +0 -1
  107. package/dist/providers/shared.js.map +0 -1
  108. package/dist/providers.d.ts.map +0 -1
  109. package/dist/providers.js.map +0 -1
  110. package/dist/suggestions.d.ts.map +0 -1
  111. package/dist/suggestions.js.map +0 -1
  112. package/dist/types.d.ts.map +0 -1
  113. package/dist/types.js.map +0 -1
  114. package/dist/util.d.ts.map +0 -1
  115. package/dist/util.js.map +0 -1
  116. package/dist/web/client/assets/index-9a9ba400.css +0 -1
  117. package/dist/web/client/assets/index-b72d3ca9.js +0 -172
  118. package/dist/web/server.d.ts.map +0 -1
  119. package/dist/web/server.js.map +0 -1
  120. /package/dist/{__mocks__ → src/__mocks__}/esm.d.ts +0 -0
  121. /package/dist/{__mocks__ → src/__mocks__}/esm.js +0 -0
  122. /package/dist/{cache.d.ts → src/cache.d.ts} +0 -0
  123. /package/dist/{cache.js → src/cache.js} +0 -0
  124. /package/dist/{esm.d.ts → src/esm.d.ts} +0 -0
  125. /package/dist/{esm.js → src/esm.js} +0 -0
  126. /package/dist/{evaluator.d.ts → src/evaluator.d.ts} +0 -0
  127. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  128. /package/dist/{logger.d.ts → src/logger.d.ts} +0 -0
  129. /package/dist/{logger.js → src/logger.js} +0 -0
  130. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  131. /package/dist/{onboarding.d.ts → src/onboarding.d.ts} +0 -0
  132. /package/dist/{onboarding.js → src/onboarding.js} +0 -0
  133. /package/dist/{prompts.d.ts → src/prompts.d.ts} +0 -0
  134. /package/dist/{prompts.js → src/prompts.js} +0 -0
  135. /package/dist/{providers → src/providers}/localai.d.ts +0 -0
  136. /package/dist/{providers → src/providers}/localai.js +0 -0
  137. /package/dist/{providers → src/providers}/openai.d.ts +0 -0
  138. /package/dist/{providers → src/providers}/openai.js +0 -0
  139. /package/dist/{providers → src/providers}/shared.d.ts +0 -0
  140. /package/dist/{providers → src/providers}/shared.js +0 -0
  141. /package/dist/{providers.d.ts → src/providers.d.ts} +0 -0
  142. /package/dist/{providers.js → src/providers.js} +0 -0
  143. /package/dist/{suggestions.d.ts → src/suggestions.d.ts} +0 -0
  144. /package/dist/{suggestions.js → src/suggestions.js} +0 -0
  145. /package/dist/{types.js → src/types.js} +0 -0
  146. /package/dist/{web → src/web}/client/favicon.ico +0 -0
  147. /package/dist/{web → src/web}/client/logo.svg +0 -0
  148. /package/dist/{web → src/web}/server.d.ts +0 -0
@@ -0,0 +1 @@
1
+ :root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--background-color: #ffffff;--text-color: #404040;--border-color: lightgray;--table-border-color: lightgray;--pass-color: green;--fail-color: #ad0000;--smalltext-color: gray;--success-background-color: #d1ffd7;--variable-background-color: #f7f7f7;--header-background-color: #fffdf7}@media (prefers-color-scheme: dark){:root{--background-color: #1a1a1a;--text-color: #f0f0f0;--border-color: #444444;--table-border-color: #444444;--pass-color: #4caf50;--fail-color: #f44336;--smalltext-color: #888888}}[data-theme=dark]{--background-color: #1a1a1a;--text-color: #f0f0f0;--border-color: #444444;--table-border-color: #444444;--pass-color: #4caf50;--fail-color: #f44336;--smalltext-color: #888888;--success-background-color: #216d2b;--variable-background-color: #333;--header-background-color: #333}html{font-size:calc(14px + (18 - 14) * ((100vw - 300px) / (1600 - 300)))}*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:16px;background-color:var(--background-color);color:var(--text-color)}table,.divTable{border:1px solid var(--table-border-color);border-collapse:collapse;width:100%;margin:1rem 0;box-shadow:0 2px 4px #0000001a}.tr{display:flex}tr,.tr{width:fit-content}tr:hover,.tr:hover{background-color:#0000000d}th,.th,td,.td{position:relative;box-shadow:inset 0 0 0 1px var(--border-color);vertical-align:top;padding:1.5rem}th.variable,.th.variable,td.variable,.td.variable{background-color:var(--variable-background-color)}tr.header{background-color:var(--header-background-color)}th,.th{padding:1rem;position:relative;text-align:center;vertical-align:bottom}tr .cell-rating{visibility:hidden;position:absolute;bottom:1.25rem;right:0;line-height:0;font-size:1.75rem}tr:hover .cell-rating{visibility:visible}tr .cell-rating .rating{cursor:pointer}tr .cell-rating .rating:first-child{margin-right:.5rem}th .smalltext{visibility:hidden;font-weight:400;font-size:.75rem;color:var(--smalltext-color)}th:hover .smalltext{visibility:visible}th .summary{font-weight:400;font-size:.8rem;padding:.25rem}th .summary.highlight{background-color:var(--success-background-color)}td .status{margin-bottom:.5rem;font-weight:700}td .pass{color:var(--pass-color)}td .fail{color:var(--fail-color)}.first-prompt-col{border-left:2px solid #888}.first-prompt-row{border-top:2px solid #888}.resizer{position:absolute;right:0;top:0;height:100%;width:5px;cursor:col-resize;user-select:none;touch-action:none;background:var(--text-color);opacity:.5}.resizer.isResizing{background:var(--text-color);opacity:1}@media (hover: hover){.resizer{opacity:0}*:hover>.resizer{opacity:1}}.logo{display:flex;align-items:center;gap:4px}.logo img{width:30px}.logo span{margin-bottom:6px;color:var(--text-color)}[data-theme=dark] .logo img{filter:invert(1)}nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;color:var(--text-color)}.dark-mode-toggle{background-color:transparent;border:none;color:var(--text-color);cursor:pointer;font-size:16px;padding:8px;transition:color .3s}.dark-mode-toggle:hover{color:var(--pass-color)}body{background-color:var(--background-color);color:var(--text-color)}