promptfoo 0.101.2 → 0.102.1

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 (121) hide show
  1. package/README.md +1 -0
  2. package/dist/package.json +6 -2
  3. package/dist/src/app/assets/index-D_AFYNLU.js +860 -0
  4. package/dist/src/app/assets/{index-CRUXRgeT.css → index-Du5kx2S7.css} +1 -1
  5. package/dist/src/app/assets/{index.es-DkWVRNuq.js → index.es-DN5mwlYx.js} +1 -1
  6. package/dist/src/app/assets/{sync-DRb-_5lp.js → sync-DlkJUfz6.js} +1 -1
  7. package/dist/src/app/index.html +2 -2
  8. package/dist/src/cliState.d.ts +1 -0
  9. package/dist/src/cliState.d.ts.map +1 -1
  10. package/dist/src/cliState.js.map +1 -1
  11. package/dist/src/commands/eval.d.ts +2 -1
  12. package/dist/src/commands/eval.d.ts.map +1 -1
  13. package/dist/src/commands/eval.js +10 -5
  14. package/dist/src/commands/eval.js.map +1 -1
  15. package/dist/src/evaluator.d.ts.map +1 -1
  16. package/dist/src/evaluator.js +44 -6
  17. package/dist/src/evaluator.js.map +1 -1
  18. package/dist/src/logger.d.ts +2 -0
  19. package/dist/src/logger.d.ts.map +1 -1
  20. package/dist/src/logger.js +14 -4
  21. package/dist/src/logger.js.map +1 -1
  22. package/dist/src/providers/promptfoo.js +1 -1
  23. package/dist/src/redteam/commands/generate.d.ts +1 -1
  24. package/dist/src/redteam/commands/generate.d.ts.map +1 -1
  25. package/dist/src/redteam/commands/generate.js +18 -10
  26. package/dist/src/redteam/commands/generate.js.map +1 -1
  27. package/dist/src/redteam/commands/run.d.ts.map +1 -1
  28. package/dist/src/redteam/commands/run.js +3 -49
  29. package/dist/src/redteam/commands/run.js.map +1 -1
  30. package/dist/src/redteam/constants.d.ts +5 -5
  31. package/dist/src/redteam/constants.d.ts.map +1 -1
  32. package/dist/src/redteam/constants.js +260 -199
  33. package/dist/src/redteam/constants.js.map +1 -1
  34. package/dist/src/redteam/extraction/entities.d.ts.map +1 -1
  35. package/dist/src/redteam/extraction/entities.js +2 -1
  36. package/dist/src/redteam/extraction/entities.js.map +1 -1
  37. package/dist/src/redteam/extraction/purpose.d.ts.map +1 -1
  38. package/dist/src/redteam/extraction/purpose.js +3 -2
  39. package/dist/src/redteam/extraction/purpose.js.map +1 -1
  40. package/dist/src/redteam/extraction/util.d.ts.map +1 -1
  41. package/dist/src/redteam/extraction/util.js +1 -1
  42. package/dist/src/redteam/extraction/util.js.map +1 -1
  43. package/dist/src/redteam/index.d.ts +1 -1
  44. package/dist/src/redteam/index.d.ts.map +1 -1
  45. package/dist/src/redteam/index.js +57 -7
  46. package/dist/src/redteam/index.js.map +1 -1
  47. package/dist/src/redteam/plugins/harmful/graders.js +1 -1
  48. package/dist/src/redteam/plugins/intent.d.ts.map +1 -1
  49. package/dist/src/redteam/plugins/intent.js +2 -1
  50. package/dist/src/redteam/plugins/intent.js.map +1 -1
  51. package/dist/src/redteam/providers/crescendo/index.js +1 -1
  52. package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
  53. package/dist/src/redteam/remoteGeneration.d.ts +5 -0
  54. package/dist/src/redteam/remoteGeneration.d.ts.map +1 -1
  55. package/dist/src/redteam/remoteGeneration.js +26 -0
  56. package/dist/src/redteam/remoteGeneration.js.map +1 -1
  57. package/dist/src/redteam/shared.d.ts +3 -3
  58. package/dist/src/redteam/shared.d.ts.map +1 -1
  59. package/dist/src/redteam/shared.js +106 -13
  60. package/dist/src/redteam/shared.js.map +1 -1
  61. package/dist/src/redteam/sharedFrontend.d.ts +4 -0
  62. package/dist/src/redteam/sharedFrontend.d.ts.map +1 -0
  63. package/dist/src/redteam/sharedFrontend.js +18 -0
  64. package/dist/src/redteam/sharedFrontend.js.map +1 -0
  65. package/dist/src/redteam/types.d.ts +18 -0
  66. package/dist/src/redteam/types.d.ts.map +1 -1
  67. package/dist/src/server/routes/eval.d.ts +2 -0
  68. package/dist/src/server/routes/eval.d.ts.map +1 -1
  69. package/dist/src/server/routes/eval.js +26 -8
  70. package/dist/src/server/routes/eval.js.map +1 -1
  71. package/dist/src/server/routes/redteam.d.ts.map +1 -1
  72. package/dist/src/server/routes/redteam.js +107 -0
  73. package/dist/src/server/routes/redteam.js.map +1 -1
  74. package/dist/src/server/server.d.ts +0 -5
  75. package/dist/src/server/server.d.ts.map +1 -1
  76. package/dist/src/server/server.js +4 -56
  77. package/dist/src/server/server.js.map +1 -1
  78. package/dist/src/types/index.d.ts +6 -2
  79. package/dist/src/types/index.d.ts.map +1 -1
  80. package/dist/src/types/index.js.map +1 -1
  81. package/dist/src/util/apiHealth.d.ts +11 -0
  82. package/dist/src/util/apiHealth.d.ts.map +1 -0
  83. package/dist/src/util/apiHealth.js +59 -0
  84. package/dist/src/util/apiHealth.js.map +1 -0
  85. package/dist/src/util/config/load.d.ts.map +1 -1
  86. package/dist/src/util/config/load.js +2 -2
  87. package/dist/src/util/config/load.js.map +1 -1
  88. package/dist/src/util/config/manage.d.ts +1 -1
  89. package/dist/src/util/config/manage.d.ts.map +1 -1
  90. package/dist/src/util/config/manage.js +2 -1
  91. package/dist/src/util/config/manage.js.map +1 -1
  92. package/dist/src/validators/redteam.d.ts.map +1 -1
  93. package/dist/src/validators/redteam.js +11 -13
  94. package/dist/src/validators/redteam.js.map +1 -1
  95. package/dist/test/evaluator.test.js +32 -0
  96. package/dist/test/evaluator.test.js.map +1 -1
  97. package/dist/test/redteam/commands/generate.test.js +174 -2
  98. package/dist/test/redteam/commands/generate.test.js.map +1 -1
  99. package/dist/test/redteam/extraction/entities.test.js +3 -4
  100. package/dist/test/redteam/extraction/entities.test.js.map +1 -1
  101. package/dist/test/redteam/extraction/purpose.test.js +6 -4
  102. package/dist/test/redteam/extraction/purpose.test.js.map +1 -1
  103. package/dist/test/redteam/extraction/util.test.js +2 -2
  104. package/dist/test/redteam/extraction/util.test.js.map +1 -1
  105. package/dist/test/redteam/index.test.js +77 -0
  106. package/dist/test/redteam/index.test.js.map +1 -1
  107. package/dist/test/redteam/remoteGeneration.test.js +70 -0
  108. package/dist/test/redteam/remoteGeneration.test.js.map +1 -1
  109. package/dist/test/redteam/validators.test.js +136 -16
  110. package/dist/test/redteam/validators.test.js.map +1 -1
  111. package/dist/test/server/server.test.js +40 -111
  112. package/dist/test/server/server.test.js.map +1 -1
  113. package/dist/test/util/apiHealth.test.d.ts +2 -0
  114. package/dist/test/util/apiHealth.test.d.ts.map +1 -0
  115. package/dist/test/util/apiHealth.test.js +89 -0
  116. package/dist/test/util/apiHealth.test.js.map +1 -0
  117. package/dist/test/util/config/load.test.js +129 -0
  118. package/dist/test/util/config/load.test.js.map +1 -1
  119. package/dist/tsconfig.tsbuildinfo +1 -1
  120. package/package.json +6 -2
  121. package/dist/src/app/assets/index-BTdK1U9T.js +0 -817
@@ -59,9 +59,9 @@ export declare const HARM_PLUGINS: {
59
59
  export type HarmPlugin = keyof typeof HARM_PLUGINS;
60
60
  export declare const PII_PLUGINS: readonly ["pii:api-db", "pii:direct", "pii:session", "pii:social"];
61
61
  export type PIIPlugin = (typeof PII_PLUGINS)[number];
62
- export declare const BASE_PLUGINS: readonly ["contracts", "cross-session-leak", "excessive-agency", "hallucination", "hijacking", "politics"];
62
+ export declare const BASE_PLUGINS: readonly ["contracts", "excessive-agency", "hallucination", "hijacking", "politics"];
63
63
  export type BasePlugin = (typeof BASE_PLUGINS)[number];
64
- export declare const ADDITIONAL_PLUGINS: readonly ["ascii-smuggling", "bfla", "bola", "competitors", "debug-access", "imitation", "indirect-prompt-injection", "overreliance", "prompt-extraction", "rbac", "religion", "shell-injection", "sql-injection", "ssrf"];
64
+ export declare const ADDITIONAL_PLUGINS: readonly ["ascii-smuggling", "bfla", "bola", "competitors", "cross-session-leak", "debug-access", "imitation", "indirect-prompt-injection", "overreliance", "prompt-extraction", "rbac", "religion", "shell-injection", "sql-injection", "ssrf"];
65
65
  export type AdditionalPlugin = (typeof ADDITIONAL_PLUGINS)[number];
66
66
  export declare const CONFIG_REQUIRED_PLUGINS: readonly ["intent", "policy"];
67
67
  export type ConfigRequiredPlugin = (typeof CONFIG_REQUIRED_PLUGINS)[number];
@@ -90,15 +90,15 @@ export declare const ALIASED_PLUGIN_MAPPINGS: Record<string, Record<string, {
90
90
  plugins: string[];
91
91
  strategies: string[];
92
92
  }>>;
93
- export declare const DEFAULT_STRATEGIES: readonly ["jailbreak", "prompt-injection"];
93
+ export declare const DEFAULT_STRATEGIES: readonly ["jailbreak", "jailbreak:composite"];
94
94
  export type DefaultStrategy = (typeof DEFAULT_STRATEGIES)[number];
95
95
  export declare const MULTI_TURN_STRATEGIES: readonly ["crescendo", "goat"];
96
96
  export type MultiTurnStrategy = (typeof MULTI_TURN_STRATEGIES)[number];
97
97
  export declare const AGENTIC_STRATEGIES: readonly ["jailbreak", "jailbreak:tree", "crescendo", "goat"];
98
98
  export type AgenticStrategy = (typeof AGENTIC_STRATEGIES)[number];
99
- export declare const ADDITIONAL_STRATEGIES: readonly ["ascii-smuggling", "base64", "citation", "crescendo", "goat", "jailbreak:composite", "jailbreak:tree", "leetspeak", "math-prompt", "multilingual", "rot13"];
99
+ export declare const ADDITIONAL_STRATEGIES: readonly ["prompt-injection", "ascii-smuggling", "base64", "citation", "crescendo", "goat", "jailbreak:tree", "leetspeak", "math-prompt", "multilingual", "rot13"];
100
100
  export type AdditionalStrategy = (typeof ADDITIONAL_STRATEGIES)[number];
101
- export declare const ALL_STRATEGIES: readonly ["basic", "default", "jailbreak", "prompt-injection", "ascii-smuggling", "base64", "citation", "crescendo", "goat", "jailbreak:composite", "jailbreak:tree", "leetspeak", "math-prompt", "multilingual", "rot13"];
101
+ export declare const ALL_STRATEGIES: readonly ["basic", "default", "jailbreak", "jailbreak:composite", "prompt-injection", "ascii-smuggling", "base64", "citation", "crescendo", "goat", "jailbreak:tree", "leetspeak", "math-prompt", "multilingual", "rot13"];
102
102
  export type Strategy = (typeof ALL_STRATEGIES)[number];
103
103
  export declare const subCategoryDescriptions: Record<Plugin | Strategy, string>;
104
104
  export declare const displayNameOverrides: Record<Plugin | Strategy, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/redteam/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/redteam/constants.ts"],"names":[],"mappings":"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"}