promptfoo 0.5.1 → 0.6.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.
- package/README.md +20 -248
- package/dist/__mocks__/esm.js +5 -1
- package/dist/__mocks__/esm.js.map +1 -1
- package/dist/assertions.d.ts +18 -0
- package/dist/assertions.d.ts.map +1 -0
- package/dist/assertions.js +128 -0
- package/dist/assertions.js.map +1 -0
- package/dist/esm.d.ts.map +1 -1
- package/dist/esm.js +10 -3
- package/dist/esm.js.map +1 -1
- package/dist/evaluator.d.ts.map +1 -1
- package/dist/evaluator.js +88 -117
- package/dist/evaluator.js.map +1 -1
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -5
- package/dist/index.js.map +1 -1
- package/dist/logger.js +18 -11
- package/dist/logger.js.map +1 -1
- package/dist/main.js +95 -53
- package/dist/main.js.map +1 -1
- package/dist/prompts.d.ts +4 -0
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +12 -1
- package/dist/prompts.js.map +1 -1
- package/dist/providers/localai.js +21 -13
- package/dist/providers/localai.js.map +1 -1
- package/dist/providers/openai.d.ts +9 -4
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +39 -29
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/shared.d.ts.map +1 -1
- package/dist/providers/shared.js +5 -2
- package/dist/providers/shared.js.map +1 -1
- package/dist/providers.d.ts +10 -0
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +51 -14
- package/dist/providers.js.map +1 -1
- package/dist/suggestions.d.ts +9 -0
- package/dist/suggestions.d.ts.map +1 -0
- package/dist/suggestions.js +54 -0
- package/dist/suggestions.js.map +1 -0
- package/dist/types.d.ts +11 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -1
- package/dist/util.d.ts +1 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +86 -31
- package/dist/util.js.map +1 -1
- package/dist/web/client/assets/index-207192fc.css +1 -0
- package/dist/web/client/assets/index-8751749f.js +172 -0
- package/dist/web/client/index.html +2 -2
- package/dist/web/server.js +38 -31
- package/dist/web/server.js.map +1 -1
- package/package.json +14 -4
- package/src/assertions.ts +154 -0
- package/src/esm.ts +5 -2
- package/src/evaluator.ts +61 -139
- package/src/index.ts +12 -0
- package/src/main.ts +28 -3
- package/src/prompts.ts +9 -0
- package/src/providers/openai.ts +16 -9
- package/src/providers/shared.ts +1 -1
- package/src/providers.ts +8 -0
- package/src/suggestions.ts +63 -0
- package/src/types.ts +14 -2
- package/src/util.ts +24 -3
- package/src/web/client/package.json +1 -0
- package/src/web/client/src/App.css +4 -0
- package/src/web/client/src/App.tsx +29 -5
- package/src/web/client/src/Logo.css +5 -0
- package/src/web/client/src/NavBar.css +18 -0
- package/src/web/client/src/NavBar.tsx +12 -1
- package/src/web/client/src/index.css +10 -0
- package/src/web/server.ts +2 -2
- package/dist/web/client/assets/index-710f1308.css +0 -1
- package/dist/web/client/assets/index-900b20c0.js +0 -172
package/dist/evaluator.js
CHANGED
|
@@ -1,10 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.evaluate = void 0;
|
|
30
|
+
const node_readline_1 = __importDefault(require("node:readline"));
|
|
31
|
+
const async_1 = __importDefault(require("async"));
|
|
32
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
33
|
+
const nunjucks_1 = __importDefault(require("nunjucks"));
|
|
34
|
+
const logger_js_1 = __importDefault(require("./logger.js"));
|
|
35
|
+
const assertions_js_1 = require("./assertions.js");
|
|
36
|
+
const suggestions_js_1 = require("./suggestions.js");
|
|
6
37
|
const DEFAULT_MAX_CONCURRENCY = 4;
|
|
7
|
-
const SIMILAR_REGEX = /similar(?::|\((\d+(\.\d+)?)\):)/;
|
|
8
38
|
class Evaluator {
|
|
9
39
|
constructor(options) {
|
|
10
40
|
this.options = options;
|
|
@@ -18,111 +48,9 @@ class Evaluator {
|
|
|
18
48
|
},
|
|
19
49
|
};
|
|
20
50
|
}
|
|
21
|
-
async gradeOutput(expected, output) {
|
|
22
|
-
const { grading } = this.options;
|
|
23
|
-
if (!grading) {
|
|
24
|
-
throw new Error('Cannot grade output without grading config. Specify --grader option or grading config.');
|
|
25
|
-
}
|
|
26
|
-
const prompt = nunjucks.renderString(grading.prompt || DEFAULT_GRADING_PROMPT, {
|
|
27
|
-
content: output,
|
|
28
|
-
rubric: expected,
|
|
29
|
-
});
|
|
30
|
-
const resp = await grading.provider.callApi(prompt);
|
|
31
|
-
if (resp.error || !resp.output) {
|
|
32
|
-
return {
|
|
33
|
-
pass: false,
|
|
34
|
-
reason: resp.error || 'No output',
|
|
35
|
-
tokensUsed: {
|
|
36
|
-
total: resp.tokenUsage?.total || 0,
|
|
37
|
-
prompt: resp.tokenUsage?.prompt || 0,
|
|
38
|
-
completion: resp.tokenUsage?.completion || 0,
|
|
39
|
-
},
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
try {
|
|
43
|
-
const parsed = JSON.parse(resp.output);
|
|
44
|
-
parsed.tokensUsed = {
|
|
45
|
-
total: resp.tokenUsage?.total || 0,
|
|
46
|
-
prompt: resp.tokenUsage?.prompt || 0,
|
|
47
|
-
completion: resp.tokenUsage?.completion || 0,
|
|
48
|
-
};
|
|
49
|
-
return parsed;
|
|
50
|
-
}
|
|
51
|
-
catch (err) {
|
|
52
|
-
return {
|
|
53
|
-
pass: false,
|
|
54
|
-
reason: `Output is not valid JSON: ${resp.output}`,
|
|
55
|
-
tokensUsed: {
|
|
56
|
-
total: resp.tokenUsage?.total || 0,
|
|
57
|
-
prompt: resp.tokenUsage?.prompt || 0,
|
|
58
|
-
completion: resp.tokenUsage?.completion || 0,
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
async checkSimilarity(expected, output, threshold) {
|
|
64
|
-
const expectedEmbedding = await DefaultEmbeddingProvider.callEmbeddingApi(expected);
|
|
65
|
-
const outputEmbedding = await DefaultEmbeddingProvider.callEmbeddingApi(output);
|
|
66
|
-
const tokensUsed = {
|
|
67
|
-
total: (expectedEmbedding.tokenUsage?.total || 0) + (outputEmbedding.tokenUsage?.total || 0),
|
|
68
|
-
prompt: (expectedEmbedding.tokenUsage?.prompt || 0) + (outputEmbedding.tokenUsage?.prompt || 0),
|
|
69
|
-
completion: (expectedEmbedding.tokenUsage?.completion || 0) +
|
|
70
|
-
(outputEmbedding.tokenUsage?.completion || 0),
|
|
71
|
-
};
|
|
72
|
-
if (expectedEmbedding.error || outputEmbedding.error) {
|
|
73
|
-
return {
|
|
74
|
-
pass: false,
|
|
75
|
-
reason: expectedEmbedding.error || outputEmbedding.error || 'Unknown error fetching embeddings',
|
|
76
|
-
tokensUsed,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
if (!expectedEmbedding.embedding || !outputEmbedding.embedding) {
|
|
80
|
-
return {
|
|
81
|
-
pass: false,
|
|
82
|
-
reason: 'Embedding not found',
|
|
83
|
-
tokensUsed,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
const similarity = cosineSimilarity(expectedEmbedding.embedding, outputEmbedding.embedding);
|
|
87
|
-
if (similarity < threshold) {
|
|
88
|
-
return {
|
|
89
|
-
pass: false,
|
|
90
|
-
reason: `Similarity ${similarity} is less than threshold ${threshold}`,
|
|
91
|
-
tokensUsed,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
return {
|
|
95
|
-
pass: true,
|
|
96
|
-
reason: `Similarity ${similarity} is greater than threshold ${threshold}`,
|
|
97
|
-
tokensUsed,
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
async checkExpectedValue(expected, output) {
|
|
101
|
-
const match = expected.match(SIMILAR_REGEX);
|
|
102
|
-
if (match) {
|
|
103
|
-
const threshold = parseFloat(match[1]) || 0.8;
|
|
104
|
-
const rest = expected.replace(SIMILAR_REGEX, '').trim();
|
|
105
|
-
return this.checkSimilarity(rest, output, threshold);
|
|
106
|
-
}
|
|
107
|
-
else if (expected.startsWith('eval:')) {
|
|
108
|
-
const evalBody = expected.slice(5);
|
|
109
|
-
const evalFunction = new Function('output', `return ${evalBody}`);
|
|
110
|
-
return { pass: evalFunction(output) };
|
|
111
|
-
}
|
|
112
|
-
else if (expected.startsWith('grade:')) {
|
|
113
|
-
return this.gradeOutput(expected.slice(6), output);
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
const pass = expected === output;
|
|
117
|
-
return {
|
|
118
|
-
pass,
|
|
119
|
-
reason: pass ? undefined : `Expected: ${expected}, Output: ${output}`,
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
51
|
async runEval({ provider, prompt, vars, includeProviderId, }) {
|
|
124
52
|
vars = vars || {};
|
|
125
|
-
const renderedPrompt =
|
|
53
|
+
const renderedPrompt = nunjucks_1.default.renderString(prompt, vars);
|
|
126
54
|
// Note that we're using original prompt, not renderedPrompt
|
|
127
55
|
const promptDisplay = includeProviderId ? `[${provider.id()}] ${prompt}` : prompt;
|
|
128
56
|
const setup = {
|
|
@@ -144,7 +72,7 @@ class Evaluator {
|
|
|
144
72
|
}
|
|
145
73
|
else if (response.output) {
|
|
146
74
|
const checkResult = vars.__expected
|
|
147
|
-
? await
|
|
75
|
+
? await (0, assertions_js_1.matchesExpectedValue)(vars.__expected, response.output, this.options)
|
|
148
76
|
: { pass: true };
|
|
149
77
|
if (!checkResult.pass) {
|
|
150
78
|
ret.error = checkResult.reason || `Expected: ${vars.__expected}`;
|
|
@@ -178,6 +106,42 @@ class Evaluator {
|
|
|
178
106
|
async evaluate() {
|
|
179
107
|
const options = this.options;
|
|
180
108
|
const prompts = [];
|
|
109
|
+
if (options.prompt?.generateSuggestions) {
|
|
110
|
+
logger_js_1.default.info(`Generating prompt variations...`);
|
|
111
|
+
const { prompts: newPrompts, error } = await (0, suggestions_js_1.generatePrompts)(options.prompts[0], 1);
|
|
112
|
+
if (error || !newPrompts) {
|
|
113
|
+
throw new Error(`Failed to generate prompts: ${error}`);
|
|
114
|
+
}
|
|
115
|
+
logger_js_1.default.info(chalk_1.default.blue('Generated prompts:'));
|
|
116
|
+
let numAdded = 0;
|
|
117
|
+
for (const prompt of newPrompts) {
|
|
118
|
+
logger_js_1.default.info('--------------------------------------------------------');
|
|
119
|
+
logger_js_1.default.info(`${prompt}`);
|
|
120
|
+
logger_js_1.default.info('--------------------------------------------------------');
|
|
121
|
+
// Ask the user if they want to continue
|
|
122
|
+
await new Promise((resolve) => {
|
|
123
|
+
const rl = node_readline_1.default.createInterface({
|
|
124
|
+
input: process.stdin,
|
|
125
|
+
output: process.stdout,
|
|
126
|
+
});
|
|
127
|
+
rl.question(`${chalk_1.default.blue('Do you want to test this prompt?')} (y/N): `, async (answer) => {
|
|
128
|
+
rl.close();
|
|
129
|
+
if (answer.toLowerCase().startsWith('y')) {
|
|
130
|
+
options.prompts.push(prompt);
|
|
131
|
+
numAdded++;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
logger_js_1.default.info('Skipping this prompt.');
|
|
135
|
+
}
|
|
136
|
+
resolve(true);
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
if (numAdded < 1) {
|
|
141
|
+
logger_js_1.default.info(chalk_1.default.red('No prompts selected. Aborting.'));
|
|
142
|
+
process.exit(1);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
181
145
|
for (const promptContent of options.prompts) {
|
|
182
146
|
for (const provider of options.providers) {
|
|
183
147
|
const display = options.providers.length > 1 ? `[${provider.id()}] ${promptContent}` : promptContent;
|
|
@@ -188,23 +152,27 @@ class Evaluator {
|
|
|
188
152
|
}
|
|
189
153
|
}
|
|
190
154
|
const vars = options.vars && options.vars.length > 0 ? options.vars : [{}];
|
|
191
|
-
const
|
|
155
|
+
const varsWithSpecialColsRemoved = vars.map((v) => {
|
|
192
156
|
const ret = { ...v };
|
|
193
|
-
|
|
157
|
+
Object.keys(ret).forEach((key) => {
|
|
158
|
+
if (key.startsWith('__')) {
|
|
159
|
+
delete ret[key];
|
|
160
|
+
}
|
|
161
|
+
});
|
|
194
162
|
return ret;
|
|
195
163
|
});
|
|
196
164
|
const isTest = vars[0].__expected;
|
|
197
165
|
const table = {
|
|
198
166
|
head: {
|
|
199
167
|
prompts: prompts.map((p) => p.display),
|
|
200
|
-
vars: Object.keys(
|
|
168
|
+
vars: Object.keys(varsWithSpecialColsRemoved[0]),
|
|
201
169
|
},
|
|
202
170
|
body: [],
|
|
203
171
|
};
|
|
204
172
|
let progressbar;
|
|
205
173
|
if (options.showProgressBar) {
|
|
206
174
|
const totalNumRuns = options.prompts.length * options.providers.length * (options.vars?.length || 1);
|
|
207
|
-
const cliProgress = await
|
|
175
|
+
const cliProgress = await Promise.resolve().then(() => __importStar(require('cli-progress')));
|
|
208
176
|
progressbar = new cliProgress.SingleBar({
|
|
209
177
|
format: 'Eval: [{bar}] {percentage}% | ETA: {eta}s | {value}/{total} | {provider} "{prompt}" {vars}',
|
|
210
178
|
}, cliProgress.Presets.shades_classic);
|
|
@@ -218,11 +186,13 @@ class Evaluator {
|
|
|
218
186
|
let rowIndex = 0;
|
|
219
187
|
for (const row of vars) {
|
|
220
188
|
let colIndex = 0;
|
|
189
|
+
const prependToPrompt = row.__prefix || options.prompt?.prefix || '';
|
|
190
|
+
const appendToPrompt = row.__suffix || options.prompt?.suffix || '';
|
|
221
191
|
for (const promptContent of options.prompts) {
|
|
222
192
|
for (const provider of options.providers) {
|
|
223
193
|
runEvalOptions.push({
|
|
224
194
|
provider,
|
|
225
|
-
prompt: promptContent,
|
|
195
|
+
prompt: prependToPrompt + promptContent + appendToPrompt,
|
|
226
196
|
vars: row,
|
|
227
197
|
includeProviderId: options.providers.length > 1,
|
|
228
198
|
rowIndex,
|
|
@@ -234,7 +204,7 @@ class Evaluator {
|
|
|
234
204
|
rowIndex++;
|
|
235
205
|
}
|
|
236
206
|
const results = [];
|
|
237
|
-
await
|
|
207
|
+
await async_1.default.forEachOfLimit(runEvalOptions, options.maxConcurrency || DEFAULT_MAX_CONCURRENCY, async (options, index) => {
|
|
238
208
|
const row = await this.runEval(options);
|
|
239
209
|
results.push(row);
|
|
240
210
|
if (progressbar) {
|
|
@@ -283,8 +253,9 @@ class Evaluator {
|
|
|
283
253
|
return { version: 1, results, stats: this.stats, table };
|
|
284
254
|
}
|
|
285
255
|
}
|
|
286
|
-
|
|
256
|
+
function evaluate(options) {
|
|
287
257
|
const ev = new Evaluator(options);
|
|
288
258
|
return ev.evaluate();
|
|
289
259
|
}
|
|
260
|
+
exports.evaluate = evaluate;
|
|
290
261
|
//# sourceMappingURL=evaluator.js.map
|
package/dist/evaluator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
|
+
import { loadApiProvider } from './providers.js';
|
|
1
2
|
import type { ApiProvider, EvaluateOptions, EvaluateSummary } from './types.js';
|
|
3
|
+
export * from './types.js';
|
|
2
4
|
declare function evaluate(providers: (string | ApiProvider)[] | (string | ApiProvider), options: Omit<EvaluateOptions, 'providers'>): Promise<EvaluateSummary>;
|
|
3
5
|
declare const _default: {
|
|
4
6
|
evaluate: typeof evaluate;
|
|
7
|
+
assertions: {
|
|
8
|
+
matchesSimilarity: typeof import("./assertions.js").matchesSimilarity;
|
|
9
|
+
matchesLlmRubric: typeof import("./assertions.js").matchesLlmRubric;
|
|
10
|
+
};
|
|
11
|
+
providers: {
|
|
12
|
+
OpenAiCompletionProvider: typeof import("./providers/openai.js").OpenAiCompletionProvider;
|
|
13
|
+
OpenAiChatCompletionProvider: typeof import("./providers/openai.js").OpenAiChatCompletionProvider;
|
|
14
|
+
LocalAiCompletionProvider: typeof import("./providers/localai.js").LocalAiCompletionProvider;
|
|
15
|
+
LocalAiChatProvider: typeof import("./providers/localai.js").LocalAiChatProvider;
|
|
16
|
+
loadApiProvider: typeof loadApiProvider;
|
|
17
|
+
};
|
|
5
18
|
};
|
|
6
19
|
export default _default;
|
|
7
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEhF,cAAc,YAAY,CAAC;AAE3B,iBAAe,QAAQ,CACrB,SAAS,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAC5D,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,GAC1C,OAAO,CAAC,eAAe,CAAC,CAsB1B;;;;;;;;;;;;;;;AAQD,wBAIE"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
const evaluator_js_1 = require("./evaluator.js");
|
|
21
|
+
const providers_js_1 = require("./providers.js");
|
|
22
|
+
const assertions_js_1 = __importDefault(require("./assertions.js"));
|
|
23
|
+
const providers_js_2 = __importDefault(require("./providers.js"));
|
|
24
|
+
__exportStar(require("./types.js"), exports);
|
|
3
25
|
async function evaluate(providers, options) {
|
|
4
26
|
let apiProviders = [];
|
|
5
27
|
const addProvider = async (provider) => {
|
|
6
28
|
if (typeof provider === 'string') {
|
|
7
|
-
apiProviders.push(await loadApiProvider(provider));
|
|
29
|
+
apiProviders.push(await (0, providers_js_1.loadApiProvider)(provider));
|
|
8
30
|
}
|
|
9
31
|
else {
|
|
10
32
|
apiProviders.push(provider);
|
|
@@ -18,12 +40,19 @@ async function evaluate(providers, options) {
|
|
|
18
40
|
else {
|
|
19
41
|
await addProvider(providers);
|
|
20
42
|
}
|
|
21
|
-
return
|
|
43
|
+
return (0, evaluator_js_1.evaluate)({
|
|
22
44
|
...options,
|
|
23
45
|
providers: apiProviders,
|
|
24
46
|
});
|
|
25
47
|
}
|
|
26
|
-
|
|
48
|
+
module.exports = {
|
|
49
|
+
evaluate,
|
|
50
|
+
assertions: assertions_js_1.default,
|
|
51
|
+
providers: providers_js_2.default,
|
|
52
|
+
};
|
|
53
|
+
exports.default = {
|
|
27
54
|
evaluate,
|
|
55
|
+
assertions: assertions_js_1.default,
|
|
56
|
+
providers: providers_js_2.default,
|
|
28
57
|
};
|
|
29
58
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,iDAAwD;AACxD,iDAAiD;AACjD,oEAAyC;AACzC,kEAAuC;AAIvC,6CAA2B;AAE3B,KAAK,UAAU,QAAQ,CACrB,SAA4D,EAC5D,OAA2C;IAE3C,IAAI,YAAY,GAAkB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,KAAK,EAAE,QAA8B,EAAE,EAAE;QAC3D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,YAAY,CAAC,IAAI,CAAC,MAAM,IAAA,8BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;SACpD;aAAM;YACL,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC5B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC7B;KACF;SAAM;QACL,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;KAC9B;IAED,OAAO,IAAA,uBAAU,EAAC;QAChB,GAAG,OAAO;QACV,SAAS,EAAE,YAAY;KACxB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACf,QAAQ;IACR,UAAU,EAAV,uBAAU;IACV,SAAS,EAAT,sBAAS;CACV,CAAC;AAEF,kBAAe;IACb,QAAQ;IACR,UAAU,EAAV,uBAAU;IACV,SAAS,EAAT,sBAAS;CACV,CAAC"}
|
package/dist/logger.js
CHANGED
|
@@ -1,32 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.setLogLevel = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const winston_1 = __importDefault(require("winston"));
|
|
3
9
|
const logLevels = {
|
|
4
10
|
error: 0,
|
|
5
11
|
warn: 1,
|
|
6
12
|
info: 2,
|
|
7
13
|
debug: 3,
|
|
8
14
|
};
|
|
9
|
-
const customFormatter =
|
|
15
|
+
const customFormatter = winston_1.default.format.printf(({ level, message, ...args }) => {
|
|
10
16
|
if (level === 'error') {
|
|
11
|
-
return
|
|
17
|
+
return chalk_1.default.red(message);
|
|
12
18
|
}
|
|
13
19
|
else if (level === 'warn') {
|
|
14
|
-
return
|
|
20
|
+
return chalk_1.default.yellow(message);
|
|
15
21
|
}
|
|
16
22
|
else if (level === 'info') {
|
|
17
23
|
return message;
|
|
18
24
|
}
|
|
19
25
|
else if (level === 'debug') {
|
|
20
|
-
return
|
|
26
|
+
return chalk_1.default.cyan(message);
|
|
21
27
|
}
|
|
22
28
|
throw new Error(`Invalid log level: ${level}`);
|
|
23
29
|
});
|
|
24
|
-
const logger =
|
|
30
|
+
const logger = winston_1.default.createLogger({
|
|
25
31
|
levels: logLevels,
|
|
26
|
-
format:
|
|
27
|
-
transports: [new
|
|
32
|
+
format: winston_1.default.format.combine(winston_1.default.format.simple(), customFormatter),
|
|
33
|
+
transports: [new winston_1.default.transports.Console()],
|
|
28
34
|
});
|
|
29
|
-
|
|
35
|
+
function setLogLevel(level) {
|
|
30
36
|
if (logLevels.hasOwnProperty(level)) {
|
|
31
37
|
logger.transports[0].level = level;
|
|
32
38
|
}
|
|
@@ -34,5 +40,6 @@ export function setLogLevel(level) {
|
|
|
34
40
|
throw new Error(`Invalid log level: ${level}`);
|
|
35
41
|
}
|
|
36
42
|
}
|
|
37
|
-
|
|
43
|
+
exports.setLogLevel = setLogLevel;
|
|
44
|
+
exports.default = logger;
|
|
38
45
|
//# sourceMappingURL=logger.js.map
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,sDAA8B;AAE9B,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,eAAe,GAAG,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAC5E,IAAI,KAAK,KAAK,OAAO,EAAE;QACrB,OAAO,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAC3B;SAAM,IAAI,KAAK,KAAK,MAAM,EAAE;QAC3B,OAAO,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC9B;SAAM,IAAI,KAAK,KAAK,MAAM,EAAE;QAC3B,OAAO,OAAO,CAAC;KAChB;SAAM,IAAI,KAAK,KAAK,OAAO,EAAE;QAC5B,OAAO,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC5B;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,iBAAO,CAAC,YAAY,CAAC;IAClC,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC;IACxE,UAAU,EAAE,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;CAC/C,CAAC,CAAC;AAEH,SAAgB,WAAW,CAAC,KAA6B;IACvD,IAAI,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;QACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;KACpC;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;KAChD;AACH,CAAC;AAND,kCAMC;AAED,kBAAe,MAAM,CAAC"}
|