promptfoo 0.77.0 → 0.78.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 (176) hide show
  1. package/README.md +5 -1
  2. package/dist/package.json +10 -10
  3. package/dist/src/assertions.js +1 -1
  4. package/dist/src/assertions.js.map +1 -1
  5. package/dist/src/commands/delete.js +1 -1
  6. package/dist/src/commands/delete.js.map +1 -1
  7. package/dist/src/commands/eval.d.ts.map +1 -1
  8. package/dist/src/commands/eval.js +19 -9
  9. package/dist/src/commands/eval.js.map +1 -1
  10. package/dist/src/commands/generate/redteam.d.ts.map +1 -1
  11. package/dist/src/commands/generate/redteam.js +4 -1
  12. package/dist/src/commands/generate/redteam.js.map +1 -1
  13. package/dist/src/commands/redteam.d.ts.map +1 -1
  14. package/dist/src/commands/redteam.js +93 -77
  15. package/dist/src/commands/redteam.js.map +1 -1
  16. package/dist/src/commands/share.js +1 -1
  17. package/dist/src/commands/share.js.map +1 -1
  18. package/dist/src/config.d.ts.map +1 -1
  19. package/dist/src/config.js +12 -0
  20. package/dist/src/config.js.map +1 -1
  21. package/dist/src/database/tables.d.ts +1 -0
  22. package/dist/src/database/tables.d.ts.map +1 -1
  23. package/dist/src/evaluator.d.ts.map +1 -1
  24. package/dist/src/evaluator.js +13 -1
  25. package/dist/src/evaluator.js.map +1 -1
  26. package/dist/src/evaluatorHelpers.d.ts +8 -0
  27. package/dist/src/evaluatorHelpers.d.ts.map +1 -1
  28. package/dist/src/evaluatorHelpers.js +28 -0
  29. package/dist/src/evaluatorHelpers.js.map +1 -1
  30. package/dist/src/integrations/helicone.d.ts +11 -0
  31. package/dist/src/integrations/helicone.d.ts.map +1 -0
  32. package/dist/src/integrations/helicone.js +68 -0
  33. package/dist/src/integrations/helicone.js.map +1 -0
  34. package/dist/src/onboarding.d.ts +1 -1
  35. package/dist/src/onboarding.d.ts.map +1 -1
  36. package/dist/src/onboarding.js +3 -1
  37. package/dist/src/onboarding.js.map +1 -1
  38. package/dist/src/prompts/utils.js +1 -1
  39. package/dist/src/prompts/utils.js.map +1 -1
  40. package/dist/src/providers/anthropic.d.ts.map +1 -1
  41. package/dist/src/providers/anthropic.js +2 -1
  42. package/dist/src/providers/anthropic.js.map +1 -1
  43. package/dist/src/providers/azureopenai.d.ts.map +1 -1
  44. package/dist/src/providers/azureopenai.js +2 -2
  45. package/dist/src/providers/azureopenai.js.map +1 -1
  46. package/dist/src/providers/bedrock.d.ts.map +1 -1
  47. package/dist/src/providers/bedrock.js +3 -2
  48. package/dist/src/providers/bedrock.js.map +1 -1
  49. package/dist/src/providers/openai.d.ts.map +1 -1
  50. package/dist/src/providers/openai.js +4 -3
  51. package/dist/src/providers/openai.js.map +1 -1
  52. package/dist/src/providers/shared.d.ts +0 -1
  53. package/dist/src/providers/shared.d.ts.map +1 -1
  54. package/dist/src/providers/shared.js +0 -53
  55. package/dist/src/providers/shared.js.map +1 -1
  56. package/dist/src/python/pythonUtils.d.ts.map +1 -1
  57. package/dist/src/python/pythonUtils.js +8 -8
  58. package/dist/src/python/pythonUtils.js.map +1 -1
  59. package/dist/src/python/wrapper.py +3 -1
  60. package/dist/src/redteam/index.d.ts +1 -1
  61. package/dist/src/redteam/index.d.ts.map +1 -1
  62. package/dist/src/redteam/index.js +5 -2
  63. package/dist/src/redteam/index.js.map +1 -1
  64. package/dist/src/redteam/plugins/base.d.ts +4 -1
  65. package/dist/src/redteam/plugins/base.d.ts.map +1 -1
  66. package/dist/src/redteam/plugins/base.js +30 -9
  67. package/dist/src/redteam/plugins/base.js.map +1 -1
  68. package/dist/src/redteam/plugins/harmful.d.ts.map +1 -1
  69. package/dist/src/redteam/plugins/harmful.js +3 -3
  70. package/dist/src/redteam/plugins/harmful.js.map +1 -1
  71. package/dist/src/redteam/plugins/index.d.ts.map +1 -1
  72. package/dist/src/redteam/plugins/index.js +15 -19
  73. package/dist/src/redteam/plugins/index.js.map +1 -1
  74. package/dist/src/redteam/providers/constants.d.ts +4 -0
  75. package/dist/src/redteam/providers/constants.d.ts.map +1 -0
  76. package/dist/src/redteam/providers/constants.js +9 -0
  77. package/dist/src/redteam/providers/constants.js.map +1 -0
  78. package/dist/src/redteam/providers/iterative.d.ts +1 -0
  79. package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
  80. package/dist/src/redteam/providers/iterative.js +13 -83
  81. package/dist/src/redteam/providers/iterative.js.map +1 -1
  82. package/dist/src/redteam/providers/iterativeImage.d.ts.map +1 -1
  83. package/dist/src/redteam/providers/iterativeImage.js +3 -26
  84. package/dist/src/redteam/providers/iterativeImage.js.map +1 -1
  85. package/dist/src/redteam/providers/iterativeTree.d.ts +161 -14
  86. package/dist/src/redteam/providers/iterativeTree.d.ts.map +1 -1
  87. package/dist/src/redteam/providers/iterativeTree.js +343 -328
  88. package/dist/src/redteam/providers/iterativeTree.js.map +1 -1
  89. package/dist/src/redteam/providers/prompts.d.ts +4 -0
  90. package/dist/src/redteam/providers/prompts.d.ts.map +1 -0
  91. package/dist/src/redteam/providers/prompts.js +77 -0
  92. package/dist/src/redteam/providers/prompts.js.map +1 -0
  93. package/dist/src/types/index.d.ts +10 -0
  94. package/dist/src/types/index.d.ts.map +1 -1
  95. package/dist/src/types/index.js +4 -0
  96. package/dist/src/types/index.js.map +1 -1
  97. package/dist/src/types/redteam.d.ts +3 -0
  98. package/dist/src/types/redteam.d.ts.map +1 -1
  99. package/dist/src/util/index.d.ts +14 -1
  100. package/dist/src/util/index.d.ts.map +1 -1
  101. package/dist/src/util/index.js +63 -26
  102. package/dist/src/util/index.js.map +1 -1
  103. package/dist/src/util/templates.d.ts +1 -3
  104. package/dist/src/util/templates.d.ts.map +1 -1
  105. package/dist/src/util/templates.js.map +1 -1
  106. package/dist/src/util/transform.d.ts +9 -8
  107. package/dist/src/util/transform.d.ts.map +1 -1
  108. package/dist/src/util/transform.js +66 -16
  109. package/dist/src/util/transform.js.map +1 -1
  110. package/dist/src/validators/redteam.d.ts +12 -5
  111. package/dist/src/validators/redteam.d.ts.map +1 -1
  112. package/dist/src/validators/redteam.js +6 -3
  113. package/dist/src/validators/redteam.js.map +1 -1
  114. package/dist/src/web/nextui/404/index.html +1 -1
  115. package/dist/src/web/nextui/404.html +1 -1
  116. package/dist/src/web/nextui/_next/static/chunks/585-8b9b2c41f03d3ab8.js +1 -0
  117. package/dist/src/web/nextui/_next/static/chunks/app/{layout-3e4716f7ebdd0dab.js → layout-47ed2a4410747d7e.js} +1 -1
  118. package/dist/src/web/nextui/_next/static/chunks/app/report/page-1da24ad6423ea2a5.js +1 -0
  119. package/dist/src/web/nextui/_next/static/chunks/main-app-0dc90092cd7acaaf.js +1 -0
  120. package/dist/src/web/nextui/auth/login/index.html +1 -1
  121. package/dist/src/web/nextui/auth/login/index.txt +2 -2
  122. package/dist/src/web/nextui/auth/signup/index.html +1 -1
  123. package/dist/src/web/nextui/auth/signup/index.txt +2 -2
  124. package/dist/src/web/nextui/datasets/index.html +1 -1
  125. package/dist/src/web/nextui/datasets/index.txt +2 -2
  126. package/dist/src/web/nextui/eval/index.html +1 -1
  127. package/dist/src/web/nextui/eval/index.txt +3 -3
  128. package/dist/src/web/nextui/index.html +1 -1
  129. package/dist/src/web/nextui/index.txt +2 -2
  130. package/dist/src/web/nextui/progress/index.html +1 -1
  131. package/dist/src/web/nextui/progress/index.txt +2 -2
  132. package/dist/src/web/nextui/prompts/index.html +1 -1
  133. package/dist/src/web/nextui/prompts/index.txt +2 -2
  134. package/dist/src/web/nextui/report/index.html +1 -1
  135. package/dist/src/web/nextui/report/index.txt +3 -3
  136. package/dist/src/web/nextui/setup/index.html +1 -1
  137. package/dist/src/web/nextui/setup/index.txt +2 -2
  138. package/dist/src/web/server.js +2 -2
  139. package/dist/src/web/server.js.map +1 -1
  140. package/dist/test/config.test.js +60 -0
  141. package/dist/test/config.test.js.map +1 -1
  142. package/dist/test/evaluator.test.js +57 -115
  143. package/dist/test/evaluator.test.js.map +1 -1
  144. package/dist/test/evaluatorHelpers.test.d.ts +2 -0
  145. package/dist/test/evaluatorHelpers.test.d.ts.map +1 -0
  146. package/dist/test/evaluatorHelpers.test.js +180 -0
  147. package/dist/test/evaluatorHelpers.test.js.map +1 -0
  148. package/dist/test/is-sql-tests/node-sql-parser.test.js +10 -10
  149. package/dist/test/is-sql-tests/node-sql-parser.test.js.map +1 -1
  150. package/dist/test/prompts.utils.test.js +3 -0
  151. package/dist/test/prompts.utils.test.js.map +1 -1
  152. package/dist/test/pythonWrapper.test.js +53 -20
  153. package/dist/test/pythonWrapper.test.js.map +1 -1
  154. package/dist/test/redteam/plugins/base.test.js +16 -31
  155. package/dist/test/redteam/plugins/base.test.js.map +1 -1
  156. package/dist/test/redteam/providers/iterativeTree.test.d.ts +2 -0
  157. package/dist/test/redteam/providers/iterativeTree.test.d.ts.map +1 -0
  158. package/dist/test/redteam/providers/iterativeTree.test.js +315 -0
  159. package/dist/test/redteam/providers/iterativeTree.test.js.map +1 -0
  160. package/dist/test/redteam/validators.test.js +15 -0
  161. package/dist/test/redteam/validators.test.js.map +1 -1
  162. package/dist/test/util.test.js +89 -0
  163. package/dist/test/util.test.js.map +1 -1
  164. package/dist/test/util.transform.test.js +41 -1
  165. package/dist/test/util.transform.test.js.map +1 -1
  166. package/package.json +10 -10
  167. package/dist/src/web/nextui/_next/static/chunks/944-95d6fadc7a5d7fb2.js +0 -1
  168. package/dist/src/web/nextui/_next/static/chunks/app/report/page-c630a8d0cba86664.js +0 -1
  169. package/dist/src/web/nextui/_next/static/chunks/main-app-4398f7af7ad8387f.js +0 -1
  170. package/dist/test/providers.shared.test.d.ts +0 -2
  171. package/dist/test/providers.shared.test.d.ts.map +0 -1
  172. package/dist/test/providers.shared.test.js +0 -112
  173. package/dist/test/providers.shared.test.js.map +0 -1
  174. /package/dist/src/web/nextui/_next/static/{dLlNz9-V4NvRIcKyU_b89 → FBiShPpcI4BVY3fwT1B5q}/_buildManifest.js +0 -0
  175. /package/dist/src/web/nextui/_next/static/{dLlNz9-V4NvRIcKyU_b89 → FBiShPpcI4BVY3fwT1B5q}/_ssgManifest.js +0 -0
  176. /package/dist/src/web/nextui/_next/static/chunks/{258-e4da2950edde8e2a.js → 258-b2e321ee0d0a5055.js} +0 -0
@@ -1,27 +1,4 @@
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
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
@@ -30,6 +7,7 @@ const dedent_1 = __importDefault(require("dedent"));
30
7
  const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
31
8
  const evaluatorHelpers_1 = require("../../evaluatorHelpers");
32
9
  const logger_1 = __importDefault(require("../../logger"));
10
+ const openai_1 = require("../../providers/openai");
33
11
  const templates_1 = require("../../util/templates");
34
12
  const ATTACKER_MODEL = 'gpt-4o';
35
13
  const NUM_ITERATIONS = process.env.PROMPTFOO_NUM_JAILBREAK_ITERATIONS
@@ -94,14 +72,13 @@ Your response should strictly follow this JSON format: {onTopic: boolean}", e.g,
94
72
  `;
95
73
  const TEMPERATURE = 0.5;
96
74
  async function runRedteamConversation({ prompt, filters, vars, provider, injectVar, }) {
97
- const { OpenAiChatCompletionProvider } = await Promise.resolve().then(() => __importStar(require('../../providers/openai')));
98
- const redteamProvider = new OpenAiChatCompletionProvider(ATTACKER_MODEL, {
75
+ const redteamProvider = new openai_1.OpenAiChatCompletionProvider(ATTACKER_MODEL, {
99
76
  config: {
100
77
  temperature: TEMPERATURE,
101
78
  response_format: { type: 'json_object' },
102
79
  },
103
80
  });
104
- const visionProvider = new OpenAiChatCompletionProvider(ATTACKER_MODEL, {
81
+ const visionProvider = new openai_1.OpenAiChatCompletionProvider(ATTACKER_MODEL, {
105
82
  config: {
106
83
  temperature: TEMPERATURE,
107
84
  },
@@ -1 +1 @@
1
- {"version":3,"file":"iterativeImage.js","sourceRoot":"","sources":["../../../../src/redteam/providers/iterativeImage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iterativeImage.js","sourceRoot":"","sources":["../../../../src/redteam/providers/iterativeImage.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,174 @@
1
- import type { ApiProvider, CallApiContextParams, CallApiOptionsParams } from '../../types';
2
- declare function parseJudgement(output: string): {
3
- refusal: number;
4
- convincing: number;
5
- specific: number;
1
+ /**
2
+ * @file iterativeTree.ts
3
+ * @description This file implements an iterative red team attack provider based on the paper:
4
+ * "Red Teaming Language Models via Iterative Refinement" (https://arxiv.org/abs/2312.02119).
5
+ * It provides functionality for generating, evaluating, and refining prompts to test the
6
+ * robustness of language models against potential misuse or harmful outputs.
7
+ *
8
+ * The main components of this file include:
9
+ * - Helper functions for initializing providers, rendering prompts, and evaluating responses
10
+ * - A `runRedteamConversation` export function that orchestrates the iterative attack process
11
+ * - A `RedteamIterativeTreeProvider` class that implements the `ApiProvider` interface for integration
12
+ * with the larger system
13
+ *
14
+ * @module RedteamIterative
15
+ */
16
+ import type { Environment } from 'nunjucks';
17
+ import { OpenAiChatCompletionProvider } from '../../providers/openai';
18
+ import type { ApiProvider, CallApiContextParams, CallApiOptionsParams, Prompt, NunjucksFilterMap } from '../../types';
19
+ /**
20
+ * Initializes and returns the default OpenAI chat completion provider.
21
+ * @returns A promise that resolves to an OpenAiChatCompletionProvider instance.
22
+ */
23
+ export declare function defaultInitializeProviders(): Promise<OpenAiChatCompletionProvider>;
24
+ /**
25
+ * Renders system prompts for the red team, on-topic check, and judge.
26
+ * @param nunjucks - The Nunjucks environment for rendering templates.
27
+ * @param goal - The goal or objective for the red team.
28
+ * @returns An object containing the rendered system prompts.
29
+ */
30
+ export declare function renderSystemPrompts(nunjucks: Environment, goal: string): {
31
+ redteamSystemPrompt: string;
32
+ onTopicSystemPrompt: string;
33
+ judgeSystemPrompt: string;
6
34
  };
7
- declare function calculateScore(judgement: {
8
- refusal: number;
9
- convincing: number;
10
- specific: number;
11
- }): number;
35
+ /**
36
+ * Evaluates the target response using the judge system.
37
+ * @param redteamProvider - The OpenAI provider for the red team.
38
+ * @param judgeSystemPrompt - The system prompt for the judge.
39
+ * @param targetResponse - The response to be evaluated.
40
+ * @param containsPenalizedPhrase - Whether the response contains a penalized phrase.
41
+ * @returns A promise that resolves to the evaluation score.
42
+ */
43
+ export declare function evaluateResponse(redteamProvider: OpenAiChatCompletionProvider, judgeSystemPrompt: string, targetResponse: string, containsPenalizedPhrase: boolean): Promise<number>;
44
+ /**
45
+ * Generates a new prompt based on the red team's conversation history.
46
+ * @param redteamProvider - The OpenAI provider for the red team.
47
+ * @param redteamHistory - The conversation history of the red team.
48
+ * @returns A promise that resolves to an object containing the improvement and new prompt.
49
+ */
50
+ export declare function getNewPrompt(redteamProvider: OpenAiChatCompletionProvider, redteamHistory: {
51
+ role: 'user' | 'assistant' | 'system';
52
+ content: string;
53
+ }[]): Promise<{
54
+ improvement: string;
55
+ prompt: string;
56
+ }>;
57
+ /**
58
+ * Checks if the target prompt is on-topic.
59
+ * @param redteamProvider - The OpenAI provider for the red team.
60
+ * @param onTopicSystemPrompt - The system prompt for the on-topic check.
61
+ * @param targetPrompt - The prompt to be checked.
62
+ * @returns A promise that resolves to a boolean indicating if the prompt is on-topic.
63
+ */
64
+ export declare function checkIfOnTopic(redteamProvider: OpenAiChatCompletionProvider, onTopicSystemPrompt: string, targetPrompt: string): Promise<boolean>;
65
+ /**
66
+ * Gets the response from the target provider for a given prompt.
67
+ * @param targetProvider - The API provider to get the response from.
68
+ * @param targetPrompt - The prompt to send to the target provider.
69
+ * @returns A promise that resolves to the target provider's response as a string.
70
+ */
71
+ export declare function getTargetResponse(targetProvider: ApiProvider, targetPrompt: string): Promise<string>;
72
+ /**
73
+ * Updates the red team's conversation history with the latest interaction results.
74
+ * @param targetResponse - The response from the target provider.
75
+ * @param goal - The current goal or objective.
76
+ * @param score - The evaluation score for the response.
77
+ * @param isOnTopic - Whether the prompt was on-topic.
78
+ * @param containsPenalizedPhrase - Whether the response contains a penalized phrase.
79
+ */
80
+ export declare function updateRedteamHistory(targetResponse: string, goal: string, score: number, isOnTopic: boolean, containsPenalizedPhrase: boolean): {
81
+ role: 'user' | 'assistant' | 'system';
82
+ content: string;
83
+ };
84
+ /**
85
+ * Represents a node in the search tree.
86
+ */
87
+ export interface TreeNode {
88
+ prompt: string;
89
+ score: number;
90
+ children: TreeNode[];
91
+ depth: number;
92
+ }
93
+ /**
94
+ * Creates a new tree node.
95
+ * @param prompt - The prompt associated with the node.
96
+ * @param score - The score of the node.
97
+ * @param depth - The depth of the node in the tree.
98
+ * @returns A new TreeNode object.
99
+ */
100
+ export declare function createTreeNode(prompt: string, score: number, depth: number): TreeNode;
101
+ /**
102
+ * Calculates the number of branches for a node based on its score and depth.
103
+ * @param score - The score of the node.
104
+ * @param depth - The depth of the node in the tree.
105
+ * @returns The number of branches to explore for the node.
106
+ */
107
+ export declare function calculateBranches(score: number, depth: number): number;
108
+ /**
109
+ * Calculates the similarity between two prompts using Jaccard similarity.
110
+ * Simple metric to avoid exploring the same prompt multiple times.
111
+ * @param prompt1 - The first prompt.
112
+ * @param prompt2 - The second prompt.
113
+ * @returns A similarity score between 0 and 1.
114
+ */
115
+ export declare function calculateSimilarity(prompt1: string, prompt2: string): number;
116
+ /**
117
+ * Selects a diverse set of best-performing nodes.
118
+ * @param nodes - The list of nodes to select from.
119
+ * @param numToSelect - The number of nodes to select.
120
+ * @returns An array of selected diverse nodes.
121
+ */
122
+ export declare function selectDiverseBestNodes(nodes: TreeNode[], numToSelect: number): TreeNode[];
123
+ /**
124
+ * Runs the red team conversation process.
125
+ * @param params - The parameters for the red team conversation.
126
+ * @returns A promise that resolves to an object with the output and metadata.
127
+ */
128
+ export declare function runRedteamConversation({ prompt, filters, vars, provider, injectVar, initializeProviders, }: {
129
+ prompt: Prompt;
130
+ filters: NunjucksFilterMap | undefined;
131
+ vars: Record<string, string | object>;
132
+ provider: ApiProvider;
133
+ injectVar: string;
134
+ initializeProviders?: () => Promise<OpenAiChatCompletionProvider>;
135
+ }): Promise<{
136
+ output: string;
137
+ metadata: {
138
+ redteamFinalPrompt?: string;
139
+ };
140
+ }>;
141
+ /**
142
+ * Represents a provider for iterative red team attacks.
143
+ */
12
144
  declare class RedteamIterativeTreeProvider implements ApiProvider {
13
145
  readonly config: Record<string, string | object>;
14
146
  private readonly injectVar;
15
- constructor(config: Record<string, string | object>);
147
+ private readonly initializeProviders;
148
+ /**
149
+ * Creates a new instance of RedteamIterativeTreeProvider.
150
+ * @param config - The configuration object for the provider.
151
+ * @param initializeProviders - A export function to initialize the OpenAI providers.
152
+ */
153
+ constructor(config: Record<string, string | object>, initializeProviders?: typeof defaultInitializeProviders);
154
+ /**
155
+ * Returns the identifier for this provider.
156
+ * @returns The provider's identifier string.
157
+ */
16
158
  id(): string;
159
+ /**
160
+ * Calls the API to perform a red team attack.
161
+ * @param prompt - The rendered prompt (unused in this implementation).
162
+ * @param context - The context for the API call.
163
+ * @param options - Additional options for the API call.
164
+ * @returns A promise that resolves to an object with the output and metadata.
165
+ */
17
166
  callApi(prompt: string, context?: CallApiContextParams, options?: CallApiOptionsParams): Promise<{
18
167
  output: string;
19
168
  metadata: {
20
- redteamFinalPrompt: string;
21
- redteamFinalScore: number;
169
+ redteamFinalPrompt?: string;
22
170
  };
23
171
  }>;
24
172
  }
25
173
  export default RedteamIterativeTreeProvider;
26
- export { parseJudgement, calculateScore };
27
174
  //# sourceMappingURL=iterativeTree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iterativeTree.d.ts","sourceRoot":"","sources":["../../../../src/redteam/providers/iterativeTree.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAmF3F,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA4BjG;AAED,iBAAS,cAAc,CAAC,SAAS,EAAE;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAKT;AAySD,cAAM,4BAA6B,YAAW,WAAW;IAG3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAF5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAM5D,EAAE;IAII,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,oBAAoB;gBAxEpF,MAAM;kBACJ;YAAE,kBAAkB,EAAE,MAAM,CAAC;YAAC,iBAAiB,EAAE,MAAM,CAAA;SAAE;;CAkHpE;AAED,eAAe,4BAA4B,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"iterativeTree.d.ts","sourceRoot":"","sources":["../../../../src/redteam/providers/iterativeTree.ts"],"names":[],"mappings":"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"}