braintrust 0.0.22 → 0.0.24
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/dist/cli.js +1 -1
- package/dist/framework.d.ts +8 -1
- package/dist/framework.js +1 -1
- package/dist/logger.d.ts +78 -9
- package/dist/logger.js +194 -48
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -313,7 +313,7 @@ function main() {
|
|
|
313
313
|
const subparser = parser.add_subparsers({
|
|
314
314
|
required: true,
|
|
315
315
|
});
|
|
316
|
-
const parser_run = subparser.add_parser("
|
|
316
|
+
const parser_run = subparser.add_parser("eval", {
|
|
317
317
|
help: "Run evals locally",
|
|
318
318
|
parents: [parentParser],
|
|
319
319
|
});
|
package/dist/framework.d.ts
CHANGED
|
@@ -15,10 +15,17 @@ export type EvalScorerArgs<Input, Output> = DatasetRecord<Input, Output> & {
|
|
|
15
15
|
output: Output;
|
|
16
16
|
};
|
|
17
17
|
export type EvalScorer<Input, Output> = ((args: EvalScorerArgs<Input, Output>) => Score) | ((args: EvalScorerArgs<Input, Output>) => Promise<Score>);
|
|
18
|
+
/**
|
|
19
|
+
* An evaluator is a collection of functions that can be used to evaluate a model.
|
|
20
|
+
* It consists of:
|
|
21
|
+
* - `data`, a function that returns a list of inputs, expected outputs, and metadata
|
|
22
|
+
* - `task`, a function that takes an input and returns an output
|
|
23
|
+
* - `scores`, a set of functions that take an input, output, and expected value and return a score
|
|
24
|
+
*/
|
|
18
25
|
export interface Evaluator<Input, Output> {
|
|
26
|
+
data: EvalData<Input, Output>;
|
|
19
27
|
task: EvalTask<Input, Output>;
|
|
20
28
|
scores: EvalScorer<Input, Output>[];
|
|
21
|
-
data: EvalData<Input, Output>;
|
|
22
29
|
}
|
|
23
30
|
export type EvaluatorDef<Input, Output> = {
|
|
24
31
|
name: string;
|
package/dist/framework.js
CHANGED
|
@@ -80,7 +80,7 @@ function runEvaluator(experiment, evaluator) {
|
|
|
80
80
|
experiment.log({
|
|
81
81
|
// TODO We should rename this from inputs -> input in the logger, etc.
|
|
82
82
|
// https://github.com/braintrustdata/braintrust/issues/217
|
|
83
|
-
|
|
83
|
+
input: datum.input,
|
|
84
84
|
metadata: datum.metadata,
|
|
85
85
|
expected: datum.expected,
|
|
86
86
|
output,
|
package/dist/logger.d.ts
CHANGED
|
@@ -31,6 +31,28 @@ export declare function init(project: string, options?: {
|
|
|
31
31
|
readonly orgName?: string;
|
|
32
32
|
readonly disableCache?: boolean;
|
|
33
33
|
}): Promise<Experiment>;
|
|
34
|
+
/**
|
|
35
|
+
* Create a new dataset in a specified project. If the project does not exist, it will be created.
|
|
36
|
+
*
|
|
37
|
+
* @param project The name of the project to create the dataset in.
|
|
38
|
+
* @param options Additional options for configuring init().
|
|
39
|
+
* @param options.dataset The name of the dataset to create. If not specified, a name will be generated automatically.
|
|
40
|
+
* @param options.description An optional description of the dataset.
|
|
41
|
+
* @param options.apiUrl The URL of the BrainTrust API. Defaults to https://www.braintrustdata.com.
|
|
42
|
+
* @param options.apiKey The API key to use. If the parameter is not specified, will try to use the `BRAINTRUST_API_KEY` environment variable. If no API
|
|
43
|
+
* key is specified, will prompt the user to login.
|
|
44
|
+
* @param options.orgName (Optional) The name of a specific organization to connect to. This is useful if you belong to multiple.
|
|
45
|
+
* @param options.disableCache Do not use cached login information.
|
|
46
|
+
* @returns The newly created Dataset.
|
|
47
|
+
*/
|
|
48
|
+
export declare function initDataset(project: string, options?: {
|
|
49
|
+
readonly dataset?: string;
|
|
50
|
+
readonly description?: string;
|
|
51
|
+
readonly apiUrl?: string;
|
|
52
|
+
readonly apiKey?: string;
|
|
53
|
+
readonly orgName?: string;
|
|
54
|
+
readonly disableCache?: boolean;
|
|
55
|
+
}): Promise<Dataset>;
|
|
34
56
|
/**
|
|
35
57
|
* Log into BrainTrust. This will prompt you for your API token, which you can find at
|
|
36
58
|
* https://www.braintrustdata.com/app/token. This method is called automatically by `init()`.
|
|
@@ -54,10 +76,10 @@ export declare function login(options?: {
|
|
|
54
76
|
* Log a single event to the current experiment. The event will be batched and uploaded behind the scenes.
|
|
55
77
|
*
|
|
56
78
|
* @param event The event to log.
|
|
57
|
-
* @param event.
|
|
58
|
-
* BrainTrust will use the `
|
|
79
|
+
* @param event.input The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on,
|
|
80
|
+
* BrainTrust will use the `input` to know whether two test cases are the same between experiments, so they should
|
|
59
81
|
* not contain experiment-specific state. A simple rule of thumb is that if you run the same experiment twice, the
|
|
60
|
-
* `
|
|
82
|
+
* `input` should be identical.
|
|
61
83
|
* @param event.output The output of your application, including post-processing (an arbitrary, JSON serializable object),
|
|
62
84
|
* that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries,
|
|
63
85
|
* the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may
|
|
@@ -77,15 +99,17 @@ export declare function login(options?: {
|
|
|
77
99
|
* `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
|
|
78
100
|
* JSON-serializable type, but its keys must be strings.
|
|
79
101
|
* @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
102
|
+
* @param event.inputs (Deprecated) the same as `input` (will be removed in a future version)
|
|
80
103
|
* @returns The `id` of the logged event.
|
|
81
104
|
*/
|
|
82
105
|
export declare function log(options: {
|
|
83
|
-
readonly
|
|
106
|
+
readonly input?: unknown;
|
|
84
107
|
readonly output: unknown;
|
|
85
108
|
readonly expected?: unknown;
|
|
86
109
|
readonly scores: Record<string, number>;
|
|
87
110
|
readonly metadata?: Record<string, unknown>;
|
|
88
111
|
readonly id?: string;
|
|
112
|
+
readonly inputs?: unknown;
|
|
89
113
|
}): string;
|
|
90
114
|
/**
|
|
91
115
|
* Summarize the current experiment, including the scores (compared to the closest reference experiment) and metadata.
|
|
@@ -122,10 +146,10 @@ export declare class Experiment {
|
|
|
122
146
|
* Log a single event to the experiment. The event will be batched and uploaded behind the scenes.
|
|
123
147
|
*
|
|
124
148
|
* @param event The event to log.
|
|
125
|
-
* @param event.
|
|
126
|
-
* BrainTrust will use the `
|
|
149
|
+
* @param event.input The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on,
|
|
150
|
+
* BrainTrust will use the `input` to know whether two test cases are the same between experiments, so they should
|
|
127
151
|
* not contain experiment-specific state. A simple rule of thumb is that if you run the same experiment twice, the
|
|
128
|
-
* `
|
|
152
|
+
* `input` should be identical.
|
|
129
153
|
* @param event.output The output of your application, including post-processing (an arbitrary, JSON serializable object),
|
|
130
154
|
* that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries,
|
|
131
155
|
* the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may
|
|
@@ -145,15 +169,20 @@ export declare class Experiment {
|
|
|
145
169
|
* `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
|
|
146
170
|
* JSON-serializable type, but its keys must be strings.
|
|
147
171
|
* @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
172
|
+
* @param event.allowLarge: (Optional) Allow large objects (greater than 64KB) to be uploaded. Proceed with caution, as they may cause issues with the
|
|
173
|
+
* upload pipeline or be truncated.
|
|
174
|
+
* @param event.inputs (Deprecated) the same as `input` (will be removed in a future version)
|
|
148
175
|
* @returns The `id` of the logged event.
|
|
149
176
|
*/
|
|
150
|
-
log({
|
|
151
|
-
readonly
|
|
177
|
+
log({ input, output, expected, scores, metadata, id, allowLarge, inputs, }: {
|
|
178
|
+
readonly input?: unknown;
|
|
152
179
|
readonly output: unknown;
|
|
153
180
|
readonly expected?: unknown;
|
|
154
181
|
readonly scores: Record<string, number>;
|
|
155
182
|
readonly metadata?: Record<string, unknown>;
|
|
156
183
|
readonly id?: string;
|
|
184
|
+
readonly allowLarge?: boolean;
|
|
185
|
+
readonly inputs?: unknown;
|
|
157
186
|
}): string;
|
|
158
187
|
/**
|
|
159
188
|
* Summarize the experiment, including the scores (compared to the closest reference experiment) and metadata.
|
|
@@ -168,6 +197,46 @@ export declare class Experiment {
|
|
|
168
197
|
readonly comparisonExperimentId?: string;
|
|
169
198
|
}): Promise<ExperimentSummary>;
|
|
170
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* A dataset is a collection of records, such as model inputs and outputs, which represent
|
|
202
|
+
* data you can use to evaluate and fine-tune models. You can log production data to datasets,
|
|
203
|
+
* curate them with interesting examples, edit/delete records, and run evaluations against them.
|
|
204
|
+
*
|
|
205
|
+
* You should not create `Dataset` objects directly. Instead, use the `braintrust.initDataset()` method.
|
|
206
|
+
*/
|
|
207
|
+
export declare class Dataset {
|
|
208
|
+
readonly project: Project;
|
|
209
|
+
readonly id: string;
|
|
210
|
+
readonly name: string;
|
|
211
|
+
readonly user_id: string;
|
|
212
|
+
private logger;
|
|
213
|
+
constructor(project: Project, id: string, name: string, user_id: string);
|
|
214
|
+
/**
|
|
215
|
+
* Log a single record to the dataset. The event will be batched and uploaded behind the scenes.
|
|
216
|
+
*
|
|
217
|
+
* @param event The event to log.
|
|
218
|
+
* @param event.input The argument that uniquely define an input case (an arbitrary, JSON serializable object).
|
|
219
|
+
* @param event.output The output of your application, including post-processing (an arbitrary, JSON serializable object).
|
|
220
|
+
* @param event.metadata (Optional) a dictionary with additional data about the test example, model outputs, or just
|
|
221
|
+
* about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the
|
|
222
|
+
* `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
|
|
223
|
+
* JSON-serializable type, but its keys must be strings.
|
|
224
|
+
* @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
225
|
+
* @param event.allowLarge (Optional) Allow large objects (greater than 64KB) to be uploaded. Proceed with caution, as they may cause issues with the
|
|
226
|
+
* upload pipeline or be truncated.
|
|
227
|
+
* @returns The `id` of the logged record.
|
|
228
|
+
*/
|
|
229
|
+
log({ input, output, metadata, id, allowLarge, }: {
|
|
230
|
+
readonly input?: unknown;
|
|
231
|
+
readonly output: unknown;
|
|
232
|
+
readonly expected?: unknown;
|
|
233
|
+
readonly scores: Record<string, number>;
|
|
234
|
+
readonly metadata?: Record<string, unknown>;
|
|
235
|
+
readonly id?: string;
|
|
236
|
+
readonly allowLarge?: boolean;
|
|
237
|
+
}): string;
|
|
238
|
+
delete(id: string): string;
|
|
239
|
+
}
|
|
171
240
|
/**
|
|
172
241
|
* Summary of a score's performance.
|
|
173
242
|
* @property name Name of the score.
|
package/dist/logger.js
CHANGED
|
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.Experiment = exports.summarize = exports.log = exports.login = exports.init = exports.Project = void 0;
|
|
38
|
+
exports.Dataset = exports.Experiment = exports.summarize = exports.log = exports.login = exports.initDataset = exports.init = exports.Project = void 0;
|
|
39
39
|
const http = __importStar(require("http"));
|
|
40
40
|
const https = __importStar(require("https"));
|
|
41
41
|
const axios_1 = __importDefault(require("axios"));
|
|
@@ -106,43 +106,50 @@ class HTTPConnection {
|
|
|
106
106
|
return yield this.session.post(_urljoin(this.base_url, path), params);
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
|
+
get_json(object_type, args = undefined, retries = 0) {
|
|
110
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
const tries = retries + 1;
|
|
112
|
+
for (let i = 0; i < tries; i++) {
|
|
113
|
+
try {
|
|
114
|
+
const resp = yield this.get(`${object_type}`, args);
|
|
115
|
+
return resp.data;
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
if (i < tries - 1) {
|
|
119
|
+
console.log(`Retrying API request ${object_type} ${args} ${e.status} ${e.text}`);
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
throw e;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
post_json(object_type, args = undefined) {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
const resp = yield this.post(`${object_type}`, args);
|
|
130
|
+
return resp.data;
|
|
131
|
+
});
|
|
132
|
+
}
|
|
109
133
|
}
|
|
110
134
|
let _api_conn = null;
|
|
111
135
|
function api_conn() {
|
|
112
136
|
if (!_api_conn) {
|
|
113
|
-
_api_conn = new HTTPConnection(
|
|
137
|
+
_api_conn = new HTTPConnection(API_URL);
|
|
114
138
|
}
|
|
115
139
|
return _api_conn;
|
|
116
140
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return resp.data;
|
|
124
|
-
}
|
|
125
|
-
catch (e) {
|
|
126
|
-
if (i < tries - 1) {
|
|
127
|
-
console.log(`Retrying API request ${object_type} ${args} ${e.status} ${e.text}`);
|
|
128
|
-
continue;
|
|
129
|
-
}
|
|
130
|
-
throw e;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
function api_insert(object_type, args = undefined) {
|
|
136
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
137
|
-
const resp = yield api_conn().post(`${object_type}`, args);
|
|
138
|
-
return resp.data;
|
|
139
|
-
});
|
|
141
|
+
let _log_conn = null;
|
|
142
|
+
function log_conn() {
|
|
143
|
+
if (!_log_conn) {
|
|
144
|
+
_log_conn = new HTTPConnection(LOG_URL);
|
|
145
|
+
}
|
|
146
|
+
return _log_conn;
|
|
140
147
|
}
|
|
141
148
|
let _var_user_info = null;
|
|
142
149
|
function _user_info() {
|
|
143
150
|
return __awaiter(this, void 0, void 0, function* () {
|
|
144
151
|
if (_var_user_info === null) {
|
|
145
|
-
_var_user_info = yield
|
|
152
|
+
_var_user_info = yield log_conn().get_json("ping");
|
|
146
153
|
}
|
|
147
154
|
return _var_user_info;
|
|
148
155
|
});
|
|
@@ -157,16 +164,16 @@ class Project {
|
|
|
157
164
|
exports.Project = Project;
|
|
158
165
|
// NOTE: This is because we do not have async constructors
|
|
159
166
|
const _PROJECTS_ENDPOINT = "projects";
|
|
160
|
-
function
|
|
167
|
+
function _initProject(name) {
|
|
161
168
|
return __awaiter(this, void 0, void 0, function* () {
|
|
162
169
|
const unique_key = { name, org_id: ORG_ID };
|
|
163
170
|
// Can we have an upsert (or insert if not exists) method instead?
|
|
164
171
|
let existing = [];
|
|
165
172
|
if (unique_key) {
|
|
166
|
-
existing = yield
|
|
173
|
+
existing = yield log_conn().get_json(_PROJECTS_ENDPOINT, unique_key);
|
|
167
174
|
}
|
|
168
175
|
if (existing.length === 0) {
|
|
169
|
-
existing = yield
|
|
176
|
+
existing = yield log_conn().post_json(_PROJECTS_ENDPOINT, unique_key);
|
|
170
177
|
}
|
|
171
178
|
if (existing) {
|
|
172
179
|
return existing[0];
|
|
@@ -279,7 +286,7 @@ class LogThread {
|
|
|
279
286
|
this.items = [];
|
|
280
287
|
let ret = [];
|
|
281
288
|
if (items.length > 0) {
|
|
282
|
-
const resp = yield
|
|
289
|
+
const resp = yield log_conn().post_json("logs", items);
|
|
283
290
|
ret = resp.data;
|
|
284
291
|
}
|
|
285
292
|
// If more items were added while we were flushing, flush again
|
|
@@ -329,8 +336,8 @@ function init(project, options = {}) {
|
|
|
329
336
|
apiKey,
|
|
330
337
|
apiUrl,
|
|
331
338
|
});
|
|
332
|
-
_state.current_project = yield
|
|
333
|
-
_state.current_experiment = yield
|
|
339
|
+
_state.current_project = yield _initProject(project);
|
|
340
|
+
_state.current_experiment = yield _initExperiment(_state.current_project, {
|
|
334
341
|
name: experiment,
|
|
335
342
|
description,
|
|
336
343
|
update,
|
|
@@ -340,6 +347,36 @@ function init(project, options = {}) {
|
|
|
340
347
|
});
|
|
341
348
|
}
|
|
342
349
|
exports.init = init;
|
|
350
|
+
/**
|
|
351
|
+
* Create a new dataset in a specified project. If the project does not exist, it will be created.
|
|
352
|
+
*
|
|
353
|
+
* @param project The name of the project to create the dataset in.
|
|
354
|
+
* @param options Additional options for configuring init().
|
|
355
|
+
* @param options.dataset The name of the dataset to create. If not specified, a name will be generated automatically.
|
|
356
|
+
* @param options.description An optional description of the dataset.
|
|
357
|
+
* @param options.apiUrl The URL of the BrainTrust API. Defaults to https://www.braintrustdata.com.
|
|
358
|
+
* @param options.apiKey The API key to use. If the parameter is not specified, will try to use the `BRAINTRUST_API_KEY` environment variable. If no API
|
|
359
|
+
* key is specified, will prompt the user to login.
|
|
360
|
+
* @param options.orgName (Optional) The name of a specific organization to connect to. This is useful if you belong to multiple.
|
|
361
|
+
* @param options.disableCache Do not use cached login information.
|
|
362
|
+
* @returns The newly created Dataset.
|
|
363
|
+
*/
|
|
364
|
+
function initDataset(project, options = {}) {
|
|
365
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
366
|
+
const { dataset, description, apiUrl, apiKey, orgName, disableCache } = options || {};
|
|
367
|
+
yield login({
|
|
368
|
+
orgName: orgName,
|
|
369
|
+
disableCache,
|
|
370
|
+
apiKey,
|
|
371
|
+
apiUrl,
|
|
372
|
+
});
|
|
373
|
+
return yield _initDataset(project, {
|
|
374
|
+
name: dataset,
|
|
375
|
+
description,
|
|
376
|
+
});
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
exports.initDataset = initDataset;
|
|
343
380
|
/**
|
|
344
381
|
* Log into BrainTrust. This will prompt you for your API token, which you can find at
|
|
345
382
|
* https://www.braintrustdata.com/app/token. This method is called automatically by `init()`.
|
|
@@ -368,7 +405,7 @@ function login(options = {}) {
|
|
|
368
405
|
});
|
|
369
406
|
const info = resp.data;
|
|
370
407
|
_check_org_info(info.org_info, orgName);
|
|
371
|
-
conn =
|
|
408
|
+
conn = log_conn();
|
|
372
409
|
conn.set_token(apiKey);
|
|
373
410
|
ping_ok = yield conn.ping();
|
|
374
411
|
}
|
|
@@ -383,6 +420,8 @@ function login(options = {}) {
|
|
|
383
420
|
yield conn.get("ping");
|
|
384
421
|
}
|
|
385
422
|
conn.make_long_lived();
|
|
423
|
+
// Set the same token in the API
|
|
424
|
+
api_conn().set_token(apiKey);
|
|
386
425
|
LOGGED_IN = true;
|
|
387
426
|
});
|
|
388
427
|
}
|
|
@@ -391,10 +430,10 @@ exports.login = login;
|
|
|
391
430
|
* Log a single event to the current experiment. The event will be batched and uploaded behind the scenes.
|
|
392
431
|
*
|
|
393
432
|
* @param event The event to log.
|
|
394
|
-
* @param event.
|
|
395
|
-
* BrainTrust will use the `
|
|
433
|
+
* @param event.input The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on,
|
|
434
|
+
* BrainTrust will use the `input` to know whether two test cases are the same between experiments, so they should
|
|
396
435
|
* not contain experiment-specific state. A simple rule of thumb is that if you run the same experiment twice, the
|
|
397
|
-
* `
|
|
436
|
+
* `input` should be identical.
|
|
398
437
|
* @param event.output The output of your application, including post-processing (an arbitrary, JSON serializable object),
|
|
399
438
|
* that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries,
|
|
400
439
|
* the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may
|
|
@@ -414,6 +453,7 @@ exports.login = login;
|
|
|
414
453
|
* `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
|
|
415
454
|
* JSON-serializable type, but its keys must be strings.
|
|
416
455
|
* @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
456
|
+
* @param event.inputs (Deprecated) the same as `input` (will be removed in a future version)
|
|
417
457
|
* @returns The `id` of the logged event.
|
|
418
458
|
*/
|
|
419
459
|
function log(options) {
|
|
@@ -461,7 +501,7 @@ function _check_org_info(org_info, org_name) {
|
|
|
461
501
|
function _urljoin(...parts) {
|
|
462
502
|
return parts.map((x) => x.replace(/^\//, "")).join("/");
|
|
463
503
|
}
|
|
464
|
-
function
|
|
504
|
+
function _initExperiment(project, { name, description, update, baseExperiment, } = {
|
|
465
505
|
name: undefined,
|
|
466
506
|
description: undefined,
|
|
467
507
|
baseExperiment: undefined,
|
|
@@ -484,7 +524,7 @@ function initExperiment(project, { name, description, update, baseExperiment, }
|
|
|
484
524
|
if (repoStatus) {
|
|
485
525
|
args["repo_info"] = repoStatus;
|
|
486
526
|
}
|
|
487
|
-
const conn =
|
|
527
|
+
const conn = log_conn();
|
|
488
528
|
let base_exp_id = undefined;
|
|
489
529
|
if (baseExperiment !== undefined) {
|
|
490
530
|
const resp = yield conn.get("experiments", {
|
|
@@ -509,7 +549,7 @@ function initExperiment(project, { name, description, update, baseExperiment, }
|
|
|
509
549
|
if (base_exp_id !== undefined) {
|
|
510
550
|
args["base_exp_id"] = base_exp_id;
|
|
511
551
|
}
|
|
512
|
-
const data = (yield
|
|
552
|
+
const data = (yield log_conn().post_json("register-experiment", args))[0];
|
|
513
553
|
// NOTE: This is a deviation from the Python lib and allows the log() method
|
|
514
554
|
// to not be async.
|
|
515
555
|
//
|
|
@@ -541,10 +581,10 @@ class Experiment {
|
|
|
541
581
|
* Log a single event to the experiment. The event will be batched and uploaded behind the scenes.
|
|
542
582
|
*
|
|
543
583
|
* @param event The event to log.
|
|
544
|
-
* @param event.
|
|
545
|
-
* BrainTrust will use the `
|
|
584
|
+
* @param event.input The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on,
|
|
585
|
+
* BrainTrust will use the `input` to know whether two test cases are the same between experiments, so they should
|
|
546
586
|
* not contain experiment-specific state. A simple rule of thumb is that if you run the same experiment twice, the
|
|
547
|
-
* `
|
|
587
|
+
* `input` should be identical.
|
|
548
588
|
* @param event.output The output of your application, including post-processing (an arbitrary, JSON serializable object),
|
|
549
589
|
* that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries,
|
|
550
590
|
* the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may
|
|
@@ -564,9 +604,18 @@ class Experiment {
|
|
|
564
604
|
* `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
|
|
565
605
|
* JSON-serializable type, but its keys must be strings.
|
|
566
606
|
* @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
607
|
+
* @param event.allowLarge: (Optional) Allow large objects (greater than 64KB) to be uploaded. Proceed with caution, as they may cause issues with the
|
|
608
|
+
* upload pipeline or be truncated.
|
|
609
|
+
* @param event.inputs (Deprecated) the same as `input` (will be removed in a future version)
|
|
567
610
|
* @returns The `id` of the logged event.
|
|
568
611
|
*/
|
|
569
|
-
log({
|
|
612
|
+
log({ input, output, expected, scores, metadata, id, allowLarge = false, inputs, }) {
|
|
613
|
+
if (input === undefined && inputs === undefined) {
|
|
614
|
+
throw new Error("Either input or inputs (deprecated) must be specified. Prefer input.");
|
|
615
|
+
}
|
|
616
|
+
else if (input !== undefined && inputs !== undefined) {
|
|
617
|
+
throw new Error("Only one of input or inputs (deprecated) can be specified. Prefer input.");
|
|
618
|
+
}
|
|
570
619
|
for (const [name, score] of Object.entries(scores)) {
|
|
571
620
|
if (typeof name !== "string") {
|
|
572
621
|
throw new Error("score names must be strings");
|
|
@@ -587,7 +636,7 @@ class Experiment {
|
|
|
587
636
|
}
|
|
588
637
|
const args = {
|
|
589
638
|
id: id || (0, uuid_1.v4)(),
|
|
590
|
-
inputs,
|
|
639
|
+
inputs: input !== null && input !== void 0 ? input : inputs,
|
|
591
640
|
output,
|
|
592
641
|
expected,
|
|
593
642
|
scores,
|
|
@@ -597,8 +646,12 @@ class Experiment {
|
|
|
597
646
|
created: new Date().toISOString(),
|
|
598
647
|
metadata,
|
|
599
648
|
};
|
|
600
|
-
if (
|
|
601
|
-
|
|
649
|
+
if (!allowLarge) {
|
|
650
|
+
for (const [key, value] of Object.entries(args)) {
|
|
651
|
+
if (JSON.stringify(value).length > 65535) {
|
|
652
|
+
throw new Error(`Events must be less than 64KB in size. Please reduce the size of your ${key}.`);
|
|
653
|
+
}
|
|
654
|
+
}
|
|
602
655
|
}
|
|
603
656
|
this.logger.log([args]);
|
|
604
657
|
return args.id;
|
|
@@ -621,7 +674,7 @@ class Experiment {
|
|
|
621
674
|
let comparisonExperimentName = undefined;
|
|
622
675
|
if (summarizeScores) {
|
|
623
676
|
if (comparisonExperimentId === undefined) {
|
|
624
|
-
const conn =
|
|
677
|
+
const conn = log_conn();
|
|
625
678
|
const resp = yield conn.get("/crud/base_experiments", {
|
|
626
679
|
id: this.id,
|
|
627
680
|
});
|
|
@@ -632,7 +685,7 @@ class Experiment {
|
|
|
632
685
|
}
|
|
633
686
|
}
|
|
634
687
|
if (comparisonExperimentId !== undefined) {
|
|
635
|
-
scores = yield
|
|
688
|
+
scores = yield log_conn().get_json("/experiment-comparison", {
|
|
636
689
|
experiment_id: this.id,
|
|
637
690
|
base_experiment_id: comparisonExperimentId,
|
|
638
691
|
}, 3);
|
|
@@ -650,3 +703,96 @@ class Experiment {
|
|
|
650
703
|
}
|
|
651
704
|
}
|
|
652
705
|
exports.Experiment = Experiment;
|
|
706
|
+
function _initDataset(project_name, { name, description, } = {
|
|
707
|
+
name: undefined,
|
|
708
|
+
description: undefined,
|
|
709
|
+
}) {
|
|
710
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
711
|
+
const args = {
|
|
712
|
+
project_name,
|
|
713
|
+
dataset_name: name,
|
|
714
|
+
description,
|
|
715
|
+
};
|
|
716
|
+
const response = yield api_conn().post_json("api/dataset/register", args);
|
|
717
|
+
const project = response.project;
|
|
718
|
+
const dataset = response.dataset;
|
|
719
|
+
// NOTE: This is a deviation from the Python lib and allows the log() method
|
|
720
|
+
// to not be async.
|
|
721
|
+
//
|
|
722
|
+
const user_id = (yield _user_info())["id"];
|
|
723
|
+
return new Dataset(project, dataset.id, dataset.name, user_id);
|
|
724
|
+
});
|
|
725
|
+
}
|
|
726
|
+
/**
|
|
727
|
+
* A dataset is a collection of records, such as model inputs and outputs, which represent
|
|
728
|
+
* data you can use to evaluate and fine-tune models. You can log production data to datasets,
|
|
729
|
+
* curate them with interesting examples, edit/delete records, and run evaluations against them.
|
|
730
|
+
*
|
|
731
|
+
* You should not create `Dataset` objects directly. Instead, use the `braintrust.initDataset()` method.
|
|
732
|
+
*/
|
|
733
|
+
class Dataset {
|
|
734
|
+
constructor(project, id, name, user_id) {
|
|
735
|
+
this.project = project;
|
|
736
|
+
this.id = id;
|
|
737
|
+
this.name = name;
|
|
738
|
+
this.user_id = user_id;
|
|
739
|
+
this.logger = new LogThread();
|
|
740
|
+
}
|
|
741
|
+
/**
|
|
742
|
+
* Log a single record to the dataset. The event will be batched and uploaded behind the scenes.
|
|
743
|
+
*
|
|
744
|
+
* @param event The event to log.
|
|
745
|
+
* @param event.input The argument that uniquely define an input case (an arbitrary, JSON serializable object).
|
|
746
|
+
* @param event.output The output of your application, including post-processing (an arbitrary, JSON serializable object).
|
|
747
|
+
* @param event.metadata (Optional) a dictionary with additional data about the test example, model outputs, or just
|
|
748
|
+
* about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the
|
|
749
|
+
* `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
|
|
750
|
+
* JSON-serializable type, but its keys must be strings.
|
|
751
|
+
* @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
752
|
+
* @param event.allowLarge (Optional) Allow large objects (greater than 64KB) to be uploaded. Proceed with caution, as they may cause issues with the
|
|
753
|
+
* upload pipeline or be truncated.
|
|
754
|
+
* @returns The `id` of the logged record.
|
|
755
|
+
*/
|
|
756
|
+
log({ input, output, metadata, id, allowLarge = false, }) {
|
|
757
|
+
if (metadata !== undefined) {
|
|
758
|
+
for (const key of Object.keys(metadata)) {
|
|
759
|
+
if (typeof key !== "string") {
|
|
760
|
+
throw new Error("metadata keys must be strings");
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
const args = {
|
|
765
|
+
id: id || (0, uuid_1.v4)(),
|
|
766
|
+
inputs: input,
|
|
767
|
+
output,
|
|
768
|
+
project_id: this.project.id,
|
|
769
|
+
dataset_id: this.id,
|
|
770
|
+
user_id: this.user_id,
|
|
771
|
+
created: new Date().toISOString(),
|
|
772
|
+
metadata,
|
|
773
|
+
};
|
|
774
|
+
if (!allowLarge) {
|
|
775
|
+
for (const [key, value] of Object.entries(args)) {
|
|
776
|
+
if (JSON.stringify(value).length > 65535) {
|
|
777
|
+
throw new Error(`Records must be less than 64KB in size. Please reduce the size of your ${key}.`);
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
this.logger.log([args]);
|
|
782
|
+
return args.id;
|
|
783
|
+
}
|
|
784
|
+
delete(id) {
|
|
785
|
+
const user_id = this.user_id;
|
|
786
|
+
const args = {
|
|
787
|
+
id,
|
|
788
|
+
project_id: this.project.id,
|
|
789
|
+
dataset_id: this.id,
|
|
790
|
+
user_id,
|
|
791
|
+
created: new Date().toISOString(),
|
|
792
|
+
_object_delete: true,
|
|
793
|
+
};
|
|
794
|
+
this.logger.log([args]);
|
|
795
|
+
return args.id;
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
exports.Dataset = Dataset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/cache.ts","../node_modules/esbuild/lib/main.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@nodelib/fs.stat/out/types/index.d.ts","../node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.stat/out/settings.d.ts","../node_modules/@nodelib/fs.stat/out/providers/async.d.ts","../node_modules/@nodelib/fs.stat/out/index.d.ts","../node_modules/@nodelib/fs.scandir/out/types/index.d.ts","../node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.scandir/out/settings.d.ts","../node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","../node_modules/@nodelib/fs.scandir/out/index.d.ts","../node_modules/@nodelib/fs.walk/out/types/index.d.ts","../node_modules/@nodelib/fs.walk/out/settings.d.ts","../node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","../node_modules/@nodelib/fs.walk/out/readers/async.d.ts","../node_modules/@nodelib/fs.walk/out/providers/async.d.ts","../node_modules/@nodelib/fs.walk/out/index.d.ts","../node_modules/minimatch/dist/cjs/ast.d.ts","../node_modules/minimatch/dist/cjs/escape.d.ts","../node_modules/minimatch/dist/cjs/unescape.d.ts","../node_modules/minimatch/dist/cjs/index.d.ts","../node_modules/@types/argparse/index.d.ts","../node_modules/@types/uuid/index.d.ts","../node_modules/@types/pluralize/index.d.ts","../node_modules/axios/index.d.ts","../node_modules/simple-git/dist/src/lib/tasks/task.d.ts","../node_modules/simple-git/dist/src/lib/types/tasks.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-error.d.ts","../node_modules/simple-git/dist/src/lib/types/handlers.d.ts","../node_modules/simple-git/dist/src/lib/types/index.d.ts","../node_modules/simple-git/dist/src/lib/tasks/log.d.ts","../node_modules/simple-git/dist/typings/response.d.ts","../node_modules/simple-git/dist/src/lib/responses/getremotesummary.d.ts","../node_modules/simple-git/dist/src/lib/args/pathspec.d.ts","../node_modules/simple-git/dist/src/lib/tasks/apply-patch.d.ts","../node_modules/simple-git/dist/src/lib/tasks/check-is-repo.d.ts","../node_modules/simple-git/dist/src/lib/tasks/clean.d.ts","../node_modules/simple-git/dist/src/lib/tasks/clone.d.ts","../node_modules/simple-git/dist/src/lib/tasks/config.d.ts","../node_modules/simple-git/dist/src/lib/tasks/grep.d.ts","../node_modules/simple-git/dist/src/lib/tasks/reset.d.ts","../node_modules/simple-git/dist/src/lib/tasks/version.d.ts","../node_modules/simple-git/dist/typings/types.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-construct-error.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-plugin-error.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-response-error.d.ts","../node_modules/simple-git/dist/src/lib/errors/task-configuration-error.d.ts","../node_modules/simple-git/dist/typings/errors.d.ts","../node_modules/simple-git/dist/typings/simple-git.d.ts","../node_modules/simple-git/dist/typings/index.d.ts","../src/gitutil.ts","../node_modules/sqlite3/lib/sqlite3.d.ts","../node_modules/openai/dist/configuration.d.ts","../node_modules/openai/node_modules/axios/index.d.ts","../node_modules/openai/dist/base.d.ts","../node_modules/openai/dist/api.d.ts","../node_modules/openai/dist/index.d.ts","../src/oai.ts","../src/logger.ts","../node_modules/@types/graceful-fs/index.d.ts","../src/jest/tryrealpath.ts","../src/jest/nodemodulespaths.ts","../../autoevals/jsdist/base.d.ts","../../autoevals/node_modules/openai/dist/index.d.ts","../../autoevals/jsdist/llm.d.ts","../../autoevals/jsdist/string.d.ts","../../autoevals/jsdist/index.d.ts","../src/framework.ts","../src/cli.ts","../src/index.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"43361e6b831db1ef828f60d9219c09bfc43acb1b75ce86ead48f557a0935c0d2","signature":"b4324240466cc26262b0a4876ba6e405a8ad714cd15d4e309b765a3b41d90fb9"},"6145533764e3c4c562481e3c37919312da18245a1d53b6d03be656967e924862","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"f5490f53d40291cc8607f5463434d1ac6c5564bc4fbb03abceb03a8f6b014457","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","c56ef8201a294d65d1132160ebc76ed0c0a98dcf983d20775c8c8c0912210572","de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889","95c617b16c4765ff6de307629b6918181908bee82a59fca0b2c95f170a4be7ea","5adf3c3c7204b3614dbc585681a33ef598c68df387298859f9a2521cfb449437","1d729ea435a93e1a70519d06a6f13fa418c4c39a52b69e6db86750ebfcdf5554","82c661f1f20d29212d2e0408bee2e0f54bf8930cdcdd88f23ef8e03e4618afb4","d53d8a71b9525be3fb65c331f20db99b826edfa922703578af284736dc780db5","6256cf36c8ae7e82bff606595af8fe08a06f8478140fcf304ee2f10c7716ddc8","2ba0457b958954b9b2041077df992fad015e85c615dc1ccebeddb561d4ab89cf","81c4fd49117bc25b8aac796a345db4315cc31861f61772da6bd405989ede0f79","1f8d4c8257ba50385865ce887940c8fdc745bcf3cea2dc09173bc8d3320b6efe","8459a11cb29556837148a3f82ccff6f3d9745070c3ed77264e279e7fe35ed0b7","7c774169686976056434799723bd7a48348df9d2204b928a0b77920505585214","5e95379e81e2d373e5235cedc4579938e39db274a32cfa32f8906e7ff6698763","d3c8a891b0554f4319651b5c89c2d91a442a792bf84afcbc399be033b96b4abd","8758b438b12ea50fb8b678d29ab0ef42d77abfb801cec481596ce6002b537a6f","88074e936d33e224b83f81eebbaf835467e1c0a6ba1239b950e6476dd7f73356","c895675912a8b2d0dcb13d24433757d233de16a3bb5c60f7d903099d96d61ea8","f73cf81342d2a25b65179c262ca7c38df023969129094607d0eb52510a56f10f","e7d7e67bd66b30f2216e4678b97bb09629a2b31766a79119acaa30e3005ef5fb","4a7b9005bef99460ba60da67219f0aff852cfd44038f17626bf59a6b5c6960b5","e137f087bda0256410b28743ef9a1bf57a4cafd43ffa6b62d5c17a8f5a08b3b5","fa8d9c5ea6ad2a5d3d6ee7703cfe1ddd962f1e4da08a370c6db642b1a1a091b8","af504042a6db047c40cc0aeb14550bbc954f194f2b8c5ad8944f2da502f45bf5","5b25b6ab5ad6c17f90b592162b2e9978ad8d81edf24cd3957306eb6e5edb89a9","24693bd77ac3be0b16e564d0ab498a397feb758ce7f4ed9f13478d566e3aafde","208dad548b895c7d02465de6ba79064b7c67bc4d94e5227b09f21d58790e634c","048c0ced65fa41fbf4bcc3d5e8e5b6f6c7f27335ceb54d401be654e821adbc08","f1c7ab18a927d1a9e3a452ef9b5d2d636dc7f39a116add1a48b0b78a323f19eb","9a57d654b0a0e4bf56a8eb0aa3ede1c7d349cec6220e36b5288c26626c8688ed",{"version":"58110fc19e964fec56d787ad4288b6a47d054676983d798a883c19772be222a0","signature":"68212fb8e2c0dae39c22959cf18904f22a1315a856c20173484371cbb74addbf"},"a39db87a3a3aa954ac3f6553b9fbfc642eb22bef7586cc1f0559e676aa073fa8","3ac893bb831cf929af812392e1568467766536d79abd4e29d6ae653695c18cdd","2808645b990069e5f8b5ff14c9f1e6077eb642583c3f7854012d60757f23c70e","98cd87f84eb134151b0b760d49e09f0ae3ca01d9f86e6b64f6bb933cc4a40b29","db750d991d0c6e773c114cfe170c5ee4fc1bea43364e0efa5cecb03d198be80a","c5dde9dd9e1bf7168d8a2480a31f9799158f84e3aa1bb061fd09a0cf5a1fcb14",{"version":"fc81bb73820ade7e5129d68870b774c52743f6a0c88d4be8d0c9f455d3887d38","signature":"002bac90ef81fada08d5f6e9609cf9f0b39e41f75ed344d2d6a06c0f6b455a59"},{"version":"784330647e751fe2c5890af7bb11da4e20bb3fb1e4c05002c28a0ecc41731256","signature":"d3044bc1b43188269c73dded6fb055855596bcbd0ca7d5f5a1a3162f77098121"},"bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e",{"version":"c0b4084226d4ad0a3c78580c50f85985f4a3e808eb59a15c9fb389c8349f9056","signature":"f155bcfea5ae8b647b26fef54caf159a514950ac9cb3c192dcfab787d4588eec"},{"version":"0f3a9fccbf341d90a4be583161e6415c8c0543f5dd180419ea13e3db991ccca0","signature":"d4cb0878684926011f20ef763f982c78e1b0b699c0faefee31d2a7bdcf44a7bb"},"26ed2b3579b00785d7b8028002d5e638444e32e1fad135100a2419e48e5fb458","c5dde9dd9e1bf7168d8a2480a31f9799158f84e3aa1bb061fd09a0cf5a1fcb14","1431f1a26d5b8e1f4f51da61ccf9a324dab9f3f8f9bea6030306b42f92a64fd3","b803d46c443f3b33f0c9ac8248155f6236c6de4785524b133008cf52b3ef33fb","1432431b92e36f0a724c62be7209f771dee76d2c1af311e4e59cb799b6215939",{"version":"db72d66d93a6a64f89003166881b2358bb44f71e994b22c16d17dc122e0e7ca1","signature":"ee5ddf13736caeb640b7065c34804f19ace1ecd3f23c3949f880f7487577b245","affectsGlobalScope":true},{"version":"c4979c2109299118e7a11a54245787b9d457130c16a863ac8d22493f446b8661","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"},{"version":"5d9424cb592482cde8da44f62c888304244771bdcec0b34d35415766bdb35454","signature":"aa7d6d0a9bb4558bbdd6e2a8b1ebb05acd1fce7c706d8533abff10dc36379872"}],"root":[44,150,157,158,160,161,[167,169]],"options":{"declaration":true,"esModuleInterop":true,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":2},"fileIdsList":[[93],[93,162,164,165],[93,156,162],[93,162],[93,152,155],[93,105,106],[93,106,107,108,109],[93,100,106,108],[93,105,107],[64,93,100],[64,93,100,101],[93,101,102,103,104],[93,101,103],[93,102],[81,93,100,110,111,112,115],[93,111,112,114],[63,93,100,110,111,112,113],[93,112],[93,110,111],[93,100,110],[47,93],[50,93],[51,56,84,93],[52,63,64,71,81,92,93],[52,53,63,71,93],[54,93],[55,56,64,72,93],[56,81,89,93],[57,59,63,71,93],[58,93],[59,60,93],[63,93],[61,63,93],[63,64,65,81,92,93],[63,64,65,78,81,84,93],[93,97],[59,63,66,71,81,92,93],[63,64,66,67,71,81,89,92,93],[66,68,81,89,92,93],[47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],[63,69,93],[70,92,93],[59,63,71,81,93],[72,93],[73,93],[50,74,93],[75,91,93,97],[76,93],[77,93],[63,78,79,93],[78,80,93,95],[51,63,81,82,83,84,93],[51,81,83,93],[81,82,93],[84,93],[85,93],[81,93],[63,87,88,93],[87,88,93],[56,71,81,89,93],[90,93],[71,91,93],[51,66,77,92,93],[56,93],[81,93,94],[93,95],[93,96],[51,56,63,65,74,81,92,93,95,97],[81,93,98],[93,120],[93,117,118,119],[93,152,153,154],[93,152,153],[93,127,129],[93,129],[93,127],[93,125,129,149],[93,125,129],[93,149],[93,129,149],[52,93,100,126,128],[93,100,125,129],[93,127,143,144,145,146],[93,131,142,147,148],[93,130],[93,131,142,147],[93,129,130,132,133,134,135,136,137,138,139,140,141],[63,93,100],[72,73,93],[45,46,64,72,73,93,116,120,121,122,123,158,161,167],[93,158,166],[93,158,167],[73,93,160],[93,159],[66,68,93,122,124,150,157],[44,64,73,93,151,156],[158,166],[149],[158,167],[156]],"referencedMap":[[162,1],[166,2],[164,3],[165,4],[163,5],[107,6],[110,7],[109,8],[108,9],[106,10],[102,11],[105,12],[104,13],[103,14],[101,10],[116,15],[115,16],[114,17],[113,18],[112,19],[111,20],[121,1],[159,10],[47,21],[48,21],[50,22],[51,23],[52,24],[53,25],[54,26],[55,27],[56,28],[57,29],[58,30],[59,31],[60,31],[62,32],[61,33],[63,32],[64,34],[65,35],[49,36],[99,1],[66,37],[67,38],[68,39],[100,40],[69,41],[70,42],[71,43],[72,44],[73,45],[74,46],[75,47],[76,48],[77,49],[78,50],[79,50],[80,51],[81,52],[83,53],[82,54],[84,55],[85,56],[86,57],[87,58],[88,59],[89,60],[90,61],[91,62],[92,63],[93,64],[94,65],[95,66],[96,67],[97,68],[98,69],[123,1],[122,1],[124,1],[46,1],[45,1],[117,70],[118,70],[120,71],[119,70],[155,72],[154,73],[152,1],[156,5],[153,1],[133,1],[143,74],[127,75],[144,74],[145,76],[146,76],[132,1],[134,75],[135,75],[136,77],[137,78],[138,79],[139,79],[130,80],[140,75],[125,75],[141,79],[128,76],[129,81],[126,82],[147,83],[149,84],[131,85],[148,86],[142,87],[151,88],[42,1],[43,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[32,1],[29,1],[30,1],[31,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[44,89],[168,90],[167,91],[150,79],[169,92],[161,93],[160,94],[158,95],[157,96]],"exportedModulesMap":[[162,1],[166,2],[164,3],[165,4],[163,5],[107,6],[110,7],[109,8],[108,9],[106,10],[102,11],[105,12],[104,13],[103,14],[101,10],[116,15],[115,16],[114,17],[113,18],[112,19],[111,20],[121,1],[159,10],[47,21],[48,21],[50,22],[51,23],[52,24],[53,25],[54,26],[55,27],[56,28],[57,29],[58,30],[59,31],[60,31],[62,32],[61,33],[63,32],[64,34],[65,35],[49,36],[99,1],[66,37],[67,38],[68,39],[100,40],[69,41],[70,42],[71,43],[72,44],[73,45],[74,46],[75,47],[76,48],[77,49],[78,50],[79,50],[80,51],[81,52],[83,53],[82,54],[84,55],[85,56],[86,57],[87,58],[88,59],[89,60],[90,61],[91,62],[92,63],[93,64],[94,65],[95,66],[96,67],[97,68],[98,69],[123,1],[122,1],[124,1],[46,1],[45,1],[117,70],[118,70],[120,71],[119,70],[155,72],[154,73],[152,1],[156,5],[153,1],[133,1],[143,74],[127,75],[144,74],[145,76],[146,76],[132,1],[134,75],[135,75],[136,77],[137,78],[138,79],[139,79],[130,80],[140,75],[125,75],[141,79],[128,76],[129,81],[126,82],[147,83],[149,84],[131,85],[148,86],[142,87],[151,88],[42,1],[43,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[32,1],[29,1],[30,1],[31,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[167,97],[150,98],[169,99],[157,100]],"semanticDiagnosticsPerFile":[162,166,164,165,163,107,110,109,108,106,102,105,104,103,101,116,115,114,113,112,111,121,159,47,48,50,51,52,53,54,55,56,57,58,59,60,62,61,63,64,65,49,99,66,67,68,100,69,70,71,72,73,74,75,76,77,78,79,80,81,83,82,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,123,122,124,46,45,117,118,120,119,155,154,152,156,153,133,143,127,144,145,146,132,134,135,136,137,138,139,130,140,125,141,128,129,126,147,149,131,148,142,151,42,43,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,1,41,44,168,167,150,169,161,160,158,157]},"version":"5.1.6"}
|
|
1
|
+
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/cache.ts","../node_modules/esbuild/lib/main.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@nodelib/fs.stat/out/types/index.d.ts","../node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.stat/out/settings.d.ts","../node_modules/@nodelib/fs.stat/out/providers/async.d.ts","../node_modules/@nodelib/fs.stat/out/index.d.ts","../node_modules/@nodelib/fs.scandir/out/types/index.d.ts","../node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.scandir/out/settings.d.ts","../node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","../node_modules/@nodelib/fs.scandir/out/index.d.ts","../node_modules/@nodelib/fs.walk/out/types/index.d.ts","../node_modules/@nodelib/fs.walk/out/settings.d.ts","../node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","../node_modules/@nodelib/fs.walk/out/readers/async.d.ts","../node_modules/@nodelib/fs.walk/out/providers/async.d.ts","../node_modules/@nodelib/fs.walk/out/index.d.ts","../node_modules/minimatch/dist/cjs/ast.d.ts","../node_modules/minimatch/dist/cjs/escape.d.ts","../node_modules/minimatch/dist/cjs/unescape.d.ts","../node_modules/minimatch/dist/cjs/index.d.ts","../node_modules/@types/argparse/index.d.ts","../node_modules/@types/uuid/index.d.ts","../node_modules/@types/pluralize/index.d.ts","../node_modules/axios/index.d.ts","../node_modules/simple-git/dist/src/lib/tasks/task.d.ts","../node_modules/simple-git/dist/src/lib/types/tasks.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-error.d.ts","../node_modules/simple-git/dist/src/lib/types/handlers.d.ts","../node_modules/simple-git/dist/src/lib/types/index.d.ts","../node_modules/simple-git/dist/src/lib/tasks/log.d.ts","../node_modules/simple-git/dist/typings/response.d.ts","../node_modules/simple-git/dist/src/lib/responses/getremotesummary.d.ts","../node_modules/simple-git/dist/src/lib/args/pathspec.d.ts","../node_modules/simple-git/dist/src/lib/tasks/apply-patch.d.ts","../node_modules/simple-git/dist/src/lib/tasks/check-is-repo.d.ts","../node_modules/simple-git/dist/src/lib/tasks/clean.d.ts","../node_modules/simple-git/dist/src/lib/tasks/clone.d.ts","../node_modules/simple-git/dist/src/lib/tasks/config.d.ts","../node_modules/simple-git/dist/src/lib/tasks/grep.d.ts","../node_modules/simple-git/dist/src/lib/tasks/reset.d.ts","../node_modules/simple-git/dist/src/lib/tasks/version.d.ts","../node_modules/simple-git/dist/typings/types.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-construct-error.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-plugin-error.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-response-error.d.ts","../node_modules/simple-git/dist/src/lib/errors/task-configuration-error.d.ts","../node_modules/simple-git/dist/typings/errors.d.ts","../node_modules/simple-git/dist/typings/simple-git.d.ts","../node_modules/simple-git/dist/typings/index.d.ts","../src/gitutil.ts","../node_modules/sqlite3/lib/sqlite3.d.ts","../node_modules/openai/dist/configuration.d.ts","../node_modules/openai/node_modules/axios/index.d.ts","../node_modules/openai/dist/base.d.ts","../node_modules/openai/dist/api.d.ts","../node_modules/openai/dist/index.d.ts","../src/oai.ts","../src/logger.ts","../node_modules/@types/graceful-fs/index.d.ts","../src/jest/tryrealpath.ts","../src/jest/nodemodulespaths.ts","../../autoevals/jsdist/base.d.ts","../../autoevals/node_modules/openai/dist/index.d.ts","../../autoevals/jsdist/llm.d.ts","../../autoevals/jsdist/string.d.ts","../../autoevals/jsdist/index.d.ts","../src/framework.ts","../src/cli.ts","../src/index.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"43361e6b831db1ef828f60d9219c09bfc43acb1b75ce86ead48f557a0935c0d2","signature":"b4324240466cc26262b0a4876ba6e405a8ad714cd15d4e309b765a3b41d90fb9"},"6145533764e3c4c562481e3c37919312da18245a1d53b6d03be656967e924862","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"f5490f53d40291cc8607f5463434d1ac6c5564bc4fbb03abceb03a8f6b014457","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","c56ef8201a294d65d1132160ebc76ed0c0a98dcf983d20775c8c8c0912210572","de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889","95c617b16c4765ff6de307629b6918181908bee82a59fca0b2c95f170a4be7ea","5adf3c3c7204b3614dbc585681a33ef598c68df387298859f9a2521cfb449437","1d729ea435a93e1a70519d06a6f13fa418c4c39a52b69e6db86750ebfcdf5554","82c661f1f20d29212d2e0408bee2e0f54bf8930cdcdd88f23ef8e03e4618afb4","d53d8a71b9525be3fb65c331f20db99b826edfa922703578af284736dc780db5","6256cf36c8ae7e82bff606595af8fe08a06f8478140fcf304ee2f10c7716ddc8","2ba0457b958954b9b2041077df992fad015e85c615dc1ccebeddb561d4ab89cf","81c4fd49117bc25b8aac796a345db4315cc31861f61772da6bd405989ede0f79","1f8d4c8257ba50385865ce887940c8fdc745bcf3cea2dc09173bc8d3320b6efe","8459a11cb29556837148a3f82ccff6f3d9745070c3ed77264e279e7fe35ed0b7","7c774169686976056434799723bd7a48348df9d2204b928a0b77920505585214","5e95379e81e2d373e5235cedc4579938e39db274a32cfa32f8906e7ff6698763","d3c8a891b0554f4319651b5c89c2d91a442a792bf84afcbc399be033b96b4abd","8758b438b12ea50fb8b678d29ab0ef42d77abfb801cec481596ce6002b537a6f","88074e936d33e224b83f81eebbaf835467e1c0a6ba1239b950e6476dd7f73356","c895675912a8b2d0dcb13d24433757d233de16a3bb5c60f7d903099d96d61ea8","f73cf81342d2a25b65179c262ca7c38df023969129094607d0eb52510a56f10f","e7d7e67bd66b30f2216e4678b97bb09629a2b31766a79119acaa30e3005ef5fb","4a7b9005bef99460ba60da67219f0aff852cfd44038f17626bf59a6b5c6960b5","e137f087bda0256410b28743ef9a1bf57a4cafd43ffa6b62d5c17a8f5a08b3b5","fa8d9c5ea6ad2a5d3d6ee7703cfe1ddd962f1e4da08a370c6db642b1a1a091b8","af504042a6db047c40cc0aeb14550bbc954f194f2b8c5ad8944f2da502f45bf5","5b25b6ab5ad6c17f90b592162b2e9978ad8d81edf24cd3957306eb6e5edb89a9","24693bd77ac3be0b16e564d0ab498a397feb758ce7f4ed9f13478d566e3aafde","208dad548b895c7d02465de6ba79064b7c67bc4d94e5227b09f21d58790e634c","048c0ced65fa41fbf4bcc3d5e8e5b6f6c7f27335ceb54d401be654e821adbc08","f1c7ab18a927d1a9e3a452ef9b5d2d636dc7f39a116add1a48b0b78a323f19eb","9a57d654b0a0e4bf56a8eb0aa3ede1c7d349cec6220e36b5288c26626c8688ed",{"version":"58110fc19e964fec56d787ad4288b6a47d054676983d798a883c19772be222a0","signature":"68212fb8e2c0dae39c22959cf18904f22a1315a856c20173484371cbb74addbf"},"a39db87a3a3aa954ac3f6553b9fbfc642eb22bef7586cc1f0559e676aa073fa8","3ac893bb831cf929af812392e1568467766536d79abd4e29d6ae653695c18cdd","2808645b990069e5f8b5ff14c9f1e6077eb642583c3f7854012d60757f23c70e","98cd87f84eb134151b0b760d49e09f0ae3ca01d9f86e6b64f6bb933cc4a40b29","db750d991d0c6e773c114cfe170c5ee4fc1bea43364e0efa5cecb03d198be80a","c5dde9dd9e1bf7168d8a2480a31f9799158f84e3aa1bb061fd09a0cf5a1fcb14",{"version":"fc81bb73820ade7e5129d68870b774c52743f6a0c88d4be8d0c9f455d3887d38","signature":"002bac90ef81fada08d5f6e9609cf9f0b39e41f75ed344d2d6a06c0f6b455a59"},{"version":"f6dabda580349f5387e0ec1d5f46715ae909f5b2a438689f8af5d5c5d7e2fd2e","signature":"1522524bea455e5ef716fadc9e3eae54518b522636a6e124f67dccb69c10e4c7"},"bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e",{"version":"c0b4084226d4ad0a3c78580c50f85985f4a3e808eb59a15c9fb389c8349f9056","signature":"f155bcfea5ae8b647b26fef54caf159a514950ac9cb3c192dcfab787d4588eec"},{"version":"0f3a9fccbf341d90a4be583161e6415c8c0543f5dd180419ea13e3db991ccca0","signature":"d4cb0878684926011f20ef763f982c78e1b0b699c0faefee31d2a7bdcf44a7bb"},"26ed2b3579b00785d7b8028002d5e638444e32e1fad135100a2419e48e5fb458","c5dde9dd9e1bf7168d8a2480a31f9799158f84e3aa1bb061fd09a0cf5a1fcb14","1431f1a26d5b8e1f4f51da61ccf9a324dab9f3f8f9bea6030306b42f92a64fd3","b803d46c443f3b33f0c9ac8248155f6236c6de4785524b133008cf52b3ef33fb","1432431b92e36f0a724c62be7209f771dee76d2c1af311e4e59cb799b6215939",{"version":"5020a9536eb4129315f26f68c096897545a725bcbe2f4207d10d614d6acb4524","signature":"93e9554ec9245171079eb839103d043b8e529b7316ace21b374dccd00b5f148f","affectsGlobalScope":true},{"version":"ee4ee3ccf5b3be20eaacb6ddf7c9b9a9c4ef397f1cc6b410da0dbb72cfb404ed","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"},{"version":"5d9424cb592482cde8da44f62c888304244771bdcec0b34d35415766bdb35454","signature":"aa7d6d0a9bb4558bbdd6e2a8b1ebb05acd1fce7c706d8533abff10dc36379872"}],"root":[44,150,157,158,160,161,[167,169]],"options":{"declaration":true,"esModuleInterop":true,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":2},"fileIdsList":[[93],[93,162,164,165],[93,156,162],[93,162],[93,152,155],[93,105,106],[93,106,107,108,109],[93,100,106,108],[93,105,107],[64,93,100],[64,93,100,101],[93,101,102,103,104],[93,101,103],[93,102],[81,93,100,110,111,112,115],[93,111,112,114],[63,93,100,110,111,112,113],[93,112],[93,110,111],[93,100,110],[47,93],[50,93],[51,56,84,93],[52,63,64,71,81,92,93],[52,53,63,71,93],[54,93],[55,56,64,72,93],[56,81,89,93],[57,59,63,71,93],[58,93],[59,60,93],[63,93],[61,63,93],[63,64,65,81,92,93],[63,64,65,78,81,84,93],[93,97],[59,63,66,71,81,92,93],[63,64,66,67,71,81,89,92,93],[66,68,81,89,92,93],[47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],[63,69,93],[70,92,93],[59,63,71,81,93],[72,93],[73,93],[50,74,93],[75,91,93,97],[76,93],[77,93],[63,78,79,93],[78,80,93,95],[51,63,81,82,83,84,93],[51,81,83,93],[81,82,93],[84,93],[85,93],[81,93],[63,87,88,93],[87,88,93],[56,71,81,89,93],[90,93],[71,91,93],[51,66,77,92,93],[56,93],[81,93,94],[93,95],[93,96],[51,56,63,65,74,81,92,93,95,97],[81,93,98],[93,120],[93,117,118,119],[93,152,153,154],[93,152,153],[93,127,129],[93,129],[93,127],[93,125,129,149],[93,125,129],[93,149],[93,129,149],[52,93,100,126,128],[93,100,125,129],[93,127,143,144,145,146],[93,131,142,147,148],[93,130],[93,131,142,147],[93,129,130,132,133,134,135,136,137,138,139,140,141],[63,93,100],[72,73,93],[45,46,64,72,73,93,116,120,121,122,123,158,161,167],[93,158,166],[93,158,167],[73,93,160],[93,159],[66,68,93,122,124,150,157],[44,64,73,93,151,156],[158,166],[149],[158,167],[156]],"referencedMap":[[162,1],[166,2],[164,3],[165,4],[163,5],[107,6],[110,7],[109,8],[108,9],[106,10],[102,11],[105,12],[104,13],[103,14],[101,10],[116,15],[115,16],[114,17],[113,18],[112,19],[111,20],[121,1],[159,10],[47,21],[48,21],[50,22],[51,23],[52,24],[53,25],[54,26],[55,27],[56,28],[57,29],[58,30],[59,31],[60,31],[62,32],[61,33],[63,32],[64,34],[65,35],[49,36],[99,1],[66,37],[67,38],[68,39],[100,40],[69,41],[70,42],[71,43],[72,44],[73,45],[74,46],[75,47],[76,48],[77,49],[78,50],[79,50],[80,51],[81,52],[83,53],[82,54],[84,55],[85,56],[86,57],[87,58],[88,59],[89,60],[90,61],[91,62],[92,63],[93,64],[94,65],[95,66],[96,67],[97,68],[98,69],[123,1],[122,1],[124,1],[46,1],[45,1],[117,70],[118,70],[120,71],[119,70],[155,72],[154,73],[152,1],[156,5],[153,1],[133,1],[143,74],[127,75],[144,74],[145,76],[146,76],[132,1],[134,75],[135,75],[136,77],[137,78],[138,79],[139,79],[130,80],[140,75],[125,75],[141,79],[128,76],[129,81],[126,82],[147,83],[149,84],[131,85],[148,86],[142,87],[151,88],[42,1],[43,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[32,1],[29,1],[30,1],[31,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[44,89],[168,90],[167,91],[150,79],[169,92],[161,93],[160,94],[158,95],[157,96]],"exportedModulesMap":[[162,1],[166,2],[164,3],[165,4],[163,5],[107,6],[110,7],[109,8],[108,9],[106,10],[102,11],[105,12],[104,13],[103,14],[101,10],[116,15],[115,16],[114,17],[113,18],[112,19],[111,20],[121,1],[159,10],[47,21],[48,21],[50,22],[51,23],[52,24],[53,25],[54,26],[55,27],[56,28],[57,29],[58,30],[59,31],[60,31],[62,32],[61,33],[63,32],[64,34],[65,35],[49,36],[99,1],[66,37],[67,38],[68,39],[100,40],[69,41],[70,42],[71,43],[72,44],[73,45],[74,46],[75,47],[76,48],[77,49],[78,50],[79,50],[80,51],[81,52],[83,53],[82,54],[84,55],[85,56],[86,57],[87,58],[88,59],[89,60],[90,61],[91,62],[92,63],[93,64],[94,65],[95,66],[96,67],[97,68],[98,69],[123,1],[122,1],[124,1],[46,1],[45,1],[117,70],[118,70],[120,71],[119,70],[155,72],[154,73],[152,1],[156,5],[153,1],[133,1],[143,74],[127,75],[144,74],[145,76],[146,76],[132,1],[134,75],[135,75],[136,77],[137,78],[138,79],[139,79],[130,80],[140,75],[125,75],[141,79],[128,76],[129,81],[126,82],[147,83],[149,84],[131,85],[148,86],[142,87],[151,88],[42,1],[43,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[32,1],[29,1],[30,1],[31,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[167,97],[150,98],[169,99],[157,100]],"semanticDiagnosticsPerFile":[162,166,164,165,163,107,110,109,108,106,102,105,104,103,101,116,115,114,113,112,111,121,159,47,48,50,51,52,53,54,55,56,57,58,59,60,62,61,63,64,65,49,99,66,67,68,100,69,70,71,72,73,74,75,76,77,78,79,80,81,83,82,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,123,122,124,46,45,117,118,120,119,155,154,152,156,153,133,143,127,144,145,146,132,134,135,136,137,138,139,130,140,125,141,128,129,126,147,149,131,148,142,151,42,43,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,1,41,44,168,167,150,169,161,160,158,157]},"version":"5.1.6"}
|