braintrust 0.0.71 → 0.0.73
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/browser-config.d.ts +6 -0
- package/dist/browser.d.ts +1 -0
- package/dist/browser.js +218 -65
- package/dist/cli.js +92 -58
- package/dist/index.d.ts +1 -1
- package/dist/index.js +84 -57
- package/dist/logger.d.ts +24 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/browser.d.ts
CHANGED
package/dist/browser.js
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
// src/isomorph.ts
|
|
2
|
+
var DefaultAsyncLocalStorage = class {
|
|
3
|
+
constructor() {
|
|
4
|
+
}
|
|
5
|
+
enterWith(_) {
|
|
6
|
+
}
|
|
7
|
+
run(_, callback) {
|
|
8
|
+
return callback();
|
|
9
|
+
}
|
|
10
|
+
getStore() {
|
|
11
|
+
return void 0;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
var iso = {
|
|
15
|
+
getRepoStatus: async () => void 0,
|
|
16
|
+
getPastNAncestors: async () => [],
|
|
17
|
+
getEnv: (_name) => void 0,
|
|
18
|
+
getCallerLocation: () => void 0,
|
|
19
|
+
newAsyncLocalStorage: () => new DefaultAsyncLocalStorage(),
|
|
20
|
+
processOn: (_0, _1) => {
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
var isomorph_default = iso;
|
|
24
|
+
|
|
1
25
|
// node_modules/uuid/dist/esm-browser/rng.js
|
|
2
26
|
var getRandomValues;
|
|
3
27
|
var rnds8 = new Uint8Array(16);
|
|
@@ -46,30 +70,6 @@ function v4(options, buf, offset) {
|
|
|
46
70
|
}
|
|
47
71
|
var v4_default = v4;
|
|
48
72
|
|
|
49
|
-
// src/isomorph.ts
|
|
50
|
-
var DefaultAsyncLocalStorage = class {
|
|
51
|
-
constructor() {
|
|
52
|
-
}
|
|
53
|
-
enterWith(_) {
|
|
54
|
-
}
|
|
55
|
-
run(_, callback) {
|
|
56
|
-
return callback();
|
|
57
|
-
}
|
|
58
|
-
getStore() {
|
|
59
|
-
return void 0;
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
var iso = {
|
|
63
|
-
getRepoStatus: async () => void 0,
|
|
64
|
-
getPastNAncestors: async () => [],
|
|
65
|
-
getEnv: (_name) => void 0,
|
|
66
|
-
getCallerLocation: () => void 0,
|
|
67
|
-
newAsyncLocalStorage: () => new DefaultAsyncLocalStorage(),
|
|
68
|
-
processOn: (_0, _1) => {
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
var isomorph_default = iso;
|
|
72
|
-
|
|
73
73
|
// src/util.ts
|
|
74
74
|
var TRANSACTION_ID_FIELD = "_xact_id";
|
|
75
75
|
var IS_MERGE_FIELD = "_is_merge";
|
|
@@ -398,7 +398,7 @@ var Logger = class {
|
|
|
398
398
|
* @param event.expected: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models.
|
|
399
399
|
* @param event.scores: A dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare logs.
|
|
400
400
|
* @param event.metadata: (Optional) a dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings.
|
|
401
|
-
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically
|
|
401
|
+
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically: "start", "end", "caller_functionname", "caller_filename", "caller_lineno".
|
|
402
402
|
* @param event.id: (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
403
403
|
* :returns: The `id` of the logged event.
|
|
404
404
|
*/
|
|
@@ -660,7 +660,7 @@ async function login(options = {}) {
|
|
|
660
660
|
const {
|
|
661
661
|
apiUrl = isomorph_default.getEnv("BRAINTRUST_API_URL") || "https://www.braintrustdata.com",
|
|
662
662
|
apiKey = isomorph_default.getEnv("BRAINTRUST_API_KEY"),
|
|
663
|
-
orgName =
|
|
663
|
+
orgName = isomorph_default.getEnv("BRAINTRUST_ORG_NAME"),
|
|
664
664
|
disableCache = false
|
|
665
665
|
} = options || {};
|
|
666
666
|
let { forceLogin = false } = options || {};
|
|
@@ -729,6 +729,11 @@ function startSpan(args) {
|
|
|
729
729
|
const { name: nameOpt, ...argsRest } = args ?? {};
|
|
730
730
|
const name = (nameOpt ?? isomorph_default.getCallerLocation()?.caller_functionname) || "root";
|
|
731
731
|
const parentSpan = currentSpan();
|
|
732
|
+
if (!parentSpan) {
|
|
733
|
+
throw new Error(
|
|
734
|
+
"Cannot call startSpan() from outside a trace. Please wrap this code in a traced() callback."
|
|
735
|
+
);
|
|
736
|
+
}
|
|
732
737
|
if (!Object.is(parentSpan, noopSpan)) {
|
|
733
738
|
return parentSpan.startSpan(name, argsRest);
|
|
734
739
|
}
|
|
@@ -822,17 +827,6 @@ function validateAndSanitizeExperimentLogPartialArgs(event) {
|
|
|
822
827
|
throw new Error("metric keys must be strings");
|
|
823
828
|
}
|
|
824
829
|
}
|
|
825
|
-
for (const forbiddenKey of [
|
|
826
|
-
"start",
|
|
827
|
-
"end",
|
|
828
|
-
"caller_functionname",
|
|
829
|
-
"caller_filename",
|
|
830
|
-
"caller_lineno"
|
|
831
|
-
]) {
|
|
832
|
-
if (forbiddenKey in event.metrics) {
|
|
833
|
-
throw new Error(`Key ${forbiddenKey} may not be specified in metrics`);
|
|
834
|
-
}
|
|
835
|
-
}
|
|
836
830
|
}
|
|
837
831
|
if ("input" in event && event.input && "inputs" in event && event.inputs) {
|
|
838
832
|
throw new Error(
|
|
@@ -906,7 +900,20 @@ async function _initExperiment(projectName, {
|
|
|
906
900
|
if (isPublic !== void 0) {
|
|
907
901
|
args["public"] = isPublic;
|
|
908
902
|
}
|
|
909
|
-
|
|
903
|
+
let response = null;
|
|
904
|
+
while (true) {
|
|
905
|
+
try {
|
|
906
|
+
response = await _state.apiConn().post_json("api/experiment/register", args);
|
|
907
|
+
break;
|
|
908
|
+
} catch (e) {
|
|
909
|
+
if (args["base_experiment"] && `${"data" in e && e.data}`.includes("base experiment")) {
|
|
910
|
+
console.warn(`Base experiment ${args["base_experiment"]} not found.`);
|
|
911
|
+
delete args["base_experiment"];
|
|
912
|
+
} else {
|
|
913
|
+
throw e;
|
|
914
|
+
}
|
|
915
|
+
}
|
|
916
|
+
}
|
|
910
917
|
const project = response.project;
|
|
911
918
|
const experiment = response.experiment;
|
|
912
919
|
return new Experiment(project, experiment.id, experiment.name, dataset);
|
|
@@ -933,7 +940,7 @@ var Experiment = class {
|
|
|
933
940
|
* @param event.expected: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate your experiments while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models.
|
|
934
941
|
* @param event.scores: A dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare experiments.
|
|
935
942
|
* @param event.metadata: (Optional) a dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings.
|
|
936
|
-
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically
|
|
943
|
+
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically: "start", "end", "caller_functionname", "caller_filename", "caller_lineno".
|
|
937
944
|
* @param event.id: (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
938
945
|
* @param event.dataset_record_id: (Optional) the id of the dataset record that this event is associated with. This field is required if and only if the experiment is associated with a dataset.
|
|
939
946
|
* @param event.inputs: (Deprecated) the same as `input` (will be removed in a future version).
|
|
@@ -994,6 +1001,7 @@ var Experiment = class {
|
|
|
994
1001
|
)}/p/${encodeURIComponent(this.project.name)}`;
|
|
995
1002
|
const experimentUrl = `${projectUrl}/${encodeURIComponent(this.name)}`;
|
|
996
1003
|
let scores = void 0;
|
|
1004
|
+
let metrics = void 0;
|
|
997
1005
|
let comparisonExperimentName = void 0;
|
|
998
1006
|
if (summarizeScores) {
|
|
999
1007
|
if (comparisonExperimentId === void 0) {
|
|
@@ -1008,14 +1016,16 @@ var Experiment = class {
|
|
|
1008
1016
|
}
|
|
1009
1017
|
}
|
|
1010
1018
|
if (comparisonExperimentId !== void 0) {
|
|
1011
|
-
|
|
1012
|
-
"/experiment-
|
|
1019
|
+
const results = await _state.logConn().get_json(
|
|
1020
|
+
"/experiment-comparison2",
|
|
1013
1021
|
{
|
|
1014
1022
|
experiment_id: this.id,
|
|
1015
1023
|
base_experiment_id: comparisonExperimentId
|
|
1016
1024
|
},
|
|
1017
1025
|
3
|
|
1018
1026
|
);
|
|
1027
|
+
scores = results["scores"];
|
|
1028
|
+
metrics = results["metrics"];
|
|
1019
1029
|
}
|
|
1020
1030
|
}
|
|
1021
1031
|
return {
|
|
@@ -1024,7 +1034,8 @@ var Experiment = class {
|
|
|
1024
1034
|
projectUrl,
|
|
1025
1035
|
experimentUrl,
|
|
1026
1036
|
comparisonExperimentName,
|
|
1027
|
-
scores
|
|
1037
|
+
scores,
|
|
1038
|
+
metrics
|
|
1028
1039
|
};
|
|
1029
1040
|
}
|
|
1030
1041
|
/**
|
|
@@ -1053,6 +1064,7 @@ var SpanImpl = class _SpanImpl {
|
|
|
1053
1064
|
constructor(args) {
|
|
1054
1065
|
this.kind = "span";
|
|
1055
1066
|
this.finished = false;
|
|
1067
|
+
this.loggedEndTime = void 0;
|
|
1056
1068
|
this.bgLogger = args.bgLogger;
|
|
1057
1069
|
const callerLocation = isomorph_default.getCallerLocation();
|
|
1058
1070
|
this.internalData = {
|
|
@@ -1060,54 +1072,66 @@ var SpanImpl = class _SpanImpl {
|
|
|
1060
1072
|
start: args.startTime ?? getCurrentUnixTimestamp(),
|
|
1061
1073
|
...callerLocation
|
|
1062
1074
|
},
|
|
1063
|
-
span_attributes: { ...args.spanAttributes, name: args.name }
|
|
1075
|
+
span_attributes: { ...args.spanAttributes, name: args.name },
|
|
1076
|
+
created: (/* @__PURE__ */ new Date()).toISOString()
|
|
1064
1077
|
};
|
|
1065
|
-
|
|
1066
|
-
|
|
1078
|
+
const id = args.event?.id ?? v4_default();
|
|
1079
|
+
const span_id = v4_default();
|
|
1067
1080
|
if ("rootExperiment" in args) {
|
|
1068
|
-
this.root_span_id = this.span_id;
|
|
1069
1081
|
this._object_info = {
|
|
1082
|
+
id,
|
|
1083
|
+
span_id,
|
|
1084
|
+
root_span_id: span_id,
|
|
1070
1085
|
project_id: args.rootExperiment.project.id,
|
|
1071
1086
|
experiment_id: args.rootExperiment.id
|
|
1072
1087
|
};
|
|
1073
|
-
this.internalData = Object.assign(this.internalData, {
|
|
1074
|
-
created: (/* @__PURE__ */ new Date()).toISOString()
|
|
1075
|
-
});
|
|
1076
1088
|
} else if ("rootProject" in args) {
|
|
1077
|
-
this.root_span_id = this.span_id;
|
|
1078
1089
|
this._object_info = {
|
|
1090
|
+
id,
|
|
1091
|
+
span_id,
|
|
1092
|
+
root_span_id: span_id,
|
|
1079
1093
|
org_id: _state.orgId,
|
|
1080
1094
|
project_id: args.rootProject.id,
|
|
1081
1095
|
log_id: "g"
|
|
1082
1096
|
};
|
|
1083
|
-
this.internalData = Object.assign(this.internalData, {
|
|
1084
|
-
created: (/* @__PURE__ */ new Date()).toISOString()
|
|
1085
|
-
});
|
|
1086
1097
|
} else if ("parentSpan" in args) {
|
|
1087
|
-
this.
|
|
1088
|
-
|
|
1098
|
+
this._object_info = {
|
|
1099
|
+
...args.parentSpan._object_info,
|
|
1100
|
+
id,
|
|
1101
|
+
span_id
|
|
1102
|
+
};
|
|
1089
1103
|
this.internalData.span_parents = [args.parentSpan.span_id];
|
|
1090
1104
|
} else {
|
|
1091
1105
|
throw new Error("Must provide either 'rootExperiment' or 'parentSpan'");
|
|
1092
1106
|
}
|
|
1093
1107
|
this.isMerge = false;
|
|
1094
|
-
const { id, ...eventRest } = args.event ?? {};
|
|
1108
|
+
const { id: _id, ...eventRest } = args.event ?? {};
|
|
1095
1109
|
this.log(eventRest);
|
|
1096
1110
|
this.isMerge = true;
|
|
1097
1111
|
unterminatedObjects.addUnterminated(this, callerLocation);
|
|
1098
1112
|
}
|
|
1113
|
+
get id() {
|
|
1114
|
+
return this._object_info.id;
|
|
1115
|
+
}
|
|
1116
|
+
get span_id() {
|
|
1117
|
+
return this._object_info.span_id;
|
|
1118
|
+
}
|
|
1119
|
+
get root_span_id() {
|
|
1120
|
+
return this._object_info.root_span_id;
|
|
1121
|
+
}
|
|
1099
1122
|
log(event) {
|
|
1100
1123
|
this.checkNotFinished();
|
|
1101
1124
|
const sanitized = validateAndSanitizeExperimentLogPartialArgs(event);
|
|
1125
|
+
const sanitizedAndInternalData = { ...this.internalData };
|
|
1126
|
+
mergeDicts(sanitizedAndInternalData, sanitized);
|
|
1102
1127
|
const record = {
|
|
1103
|
-
...
|
|
1104
|
-
...this.internalData,
|
|
1105
|
-
id: this.id,
|
|
1106
|
-
span_id: this.span_id,
|
|
1107
|
-
root_span_id: this.root_span_id,
|
|
1128
|
+
...sanitizedAndInternalData,
|
|
1108
1129
|
...this._object_info,
|
|
1109
1130
|
[IS_MERGE_FIELD]: this.isMerge
|
|
1110
1131
|
};
|
|
1132
|
+
if (record.metrics?.end) {
|
|
1133
|
+
this.loggedEndTime = record.metrics?.end;
|
|
1134
|
+
}
|
|
1111
1135
|
this.internalData = {};
|
|
1112
1136
|
this.bgLogger.log([record]);
|
|
1113
1137
|
}
|
|
@@ -1136,8 +1160,13 @@ var SpanImpl = class _SpanImpl {
|
|
|
1136
1160
|
}
|
|
1137
1161
|
end(args) {
|
|
1138
1162
|
this.checkNotFinished();
|
|
1139
|
-
|
|
1140
|
-
this.
|
|
1163
|
+
let endTime;
|
|
1164
|
+
if (!this.loggedEndTime) {
|
|
1165
|
+
endTime = args?.endTime ?? getCurrentUnixTimestamp();
|
|
1166
|
+
this.internalData = { metrics: { end: endTime } };
|
|
1167
|
+
} else {
|
|
1168
|
+
endTime = this.loggedEndTime;
|
|
1169
|
+
}
|
|
1141
1170
|
this.log({});
|
|
1142
1171
|
this.finished = true;
|
|
1143
1172
|
unterminatedObjects.removeUnterminated(this);
|
|
@@ -1363,8 +1392,130 @@ var Dataset = class {
|
|
|
1363
1392
|
}
|
|
1364
1393
|
};
|
|
1365
1394
|
|
|
1395
|
+
// src/browser-config.ts
|
|
1396
|
+
var browserConfigured = false;
|
|
1397
|
+
function configureBrowser() {
|
|
1398
|
+
if (browserConfigured) {
|
|
1399
|
+
return;
|
|
1400
|
+
}
|
|
1401
|
+
try {
|
|
1402
|
+
isomorph_default.newAsyncLocalStorage = () => new AsyncLocalStorage();
|
|
1403
|
+
} catch {
|
|
1404
|
+
}
|
|
1405
|
+
_internalSetInitialState();
|
|
1406
|
+
browserConfigured = true;
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1409
|
+
// src/oai.ts
|
|
1410
|
+
function wrapOpenAI(openai) {
|
|
1411
|
+
if (openai?.chat?.completions?.create) {
|
|
1412
|
+
return wrapOpenAIv4(openai);
|
|
1413
|
+
} else {
|
|
1414
|
+
console.warn("Unsupported OpenAI library (potentially v3). Not wrapping.");
|
|
1415
|
+
return openai;
|
|
1416
|
+
}
|
|
1417
|
+
}
|
|
1418
|
+
function wrapOpenAIv4(openai) {
|
|
1419
|
+
let completionProxy = new Proxy(openai.chat.completions, {
|
|
1420
|
+
get(target, name, receiver) {
|
|
1421
|
+
const baseVal = Reflect.get(target, name, receiver);
|
|
1422
|
+
if (name === "create") {
|
|
1423
|
+
return wrapChatCompletion(baseVal.bind(target));
|
|
1424
|
+
}
|
|
1425
|
+
return baseVal;
|
|
1426
|
+
}
|
|
1427
|
+
});
|
|
1428
|
+
let chatProxy = new Proxy(openai.chat, {
|
|
1429
|
+
get(target, name, receiver) {
|
|
1430
|
+
if (name === "completions") {
|
|
1431
|
+
return completionProxy;
|
|
1432
|
+
}
|
|
1433
|
+
return Reflect.get(target, name, receiver);
|
|
1434
|
+
}
|
|
1435
|
+
});
|
|
1436
|
+
let proxy = new Proxy(openai, {
|
|
1437
|
+
get(target, name, receiver) {
|
|
1438
|
+
if (name === "chat") {
|
|
1439
|
+
return chatProxy;
|
|
1440
|
+
}
|
|
1441
|
+
return Reflect.get(target, name, receiver);
|
|
1442
|
+
}
|
|
1443
|
+
});
|
|
1444
|
+
return proxy;
|
|
1445
|
+
}
|
|
1446
|
+
function wrapChatCompletion(completion) {
|
|
1447
|
+
return async (params) => {
|
|
1448
|
+
const { messages, ...rest } = params;
|
|
1449
|
+
const span = startSpan({
|
|
1450
|
+
name: "OpenAI Chat Completion",
|
|
1451
|
+
event: {
|
|
1452
|
+
input: messages,
|
|
1453
|
+
metadata: {
|
|
1454
|
+
...rest
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
});
|
|
1458
|
+
if (params.stream) {
|
|
1459
|
+
const startTime = getCurrentUnixTimestamp();
|
|
1460
|
+
const ret = await completion(params);
|
|
1461
|
+
return new WrapperStream(span, startTime, ret);
|
|
1462
|
+
} else {
|
|
1463
|
+
try {
|
|
1464
|
+
const ret = await completion(params);
|
|
1465
|
+
const { messages: messages2, ...rest2 } = params;
|
|
1466
|
+
span.log({
|
|
1467
|
+
input: messages2,
|
|
1468
|
+
metadata: {
|
|
1469
|
+
...rest2
|
|
1470
|
+
},
|
|
1471
|
+
output: ret.choices[0],
|
|
1472
|
+
metrics: {
|
|
1473
|
+
tokens: ret.usage?.total_tokens,
|
|
1474
|
+
prompt_tokens: ret.usage?.prompt_tokens,
|
|
1475
|
+
completion_tokens: ret.usage?.completion_tokens
|
|
1476
|
+
}
|
|
1477
|
+
});
|
|
1478
|
+
return ret;
|
|
1479
|
+
} finally {
|
|
1480
|
+
span.end();
|
|
1481
|
+
}
|
|
1482
|
+
}
|
|
1483
|
+
};
|
|
1484
|
+
}
|
|
1485
|
+
var WrapperStream = class {
|
|
1486
|
+
constructor(span, startTime, iter) {
|
|
1487
|
+
this.span = span;
|
|
1488
|
+
this.iter = iter;
|
|
1489
|
+
this.startTime = startTime;
|
|
1490
|
+
}
|
|
1491
|
+
async *[Symbol.asyncIterator]() {
|
|
1492
|
+
let first = true;
|
|
1493
|
+
let allResults = [];
|
|
1494
|
+
try {
|
|
1495
|
+
for await (const item of this.iter) {
|
|
1496
|
+
if (first) {
|
|
1497
|
+
const now2 = getCurrentUnixTimestamp();
|
|
1498
|
+
this.span.log({
|
|
1499
|
+
metrics: {
|
|
1500
|
+
time_to_first_token: now2 - this.startTime
|
|
1501
|
+
}
|
|
1502
|
+
});
|
|
1503
|
+
first = false;
|
|
1504
|
+
}
|
|
1505
|
+
allResults.push(item);
|
|
1506
|
+
yield item;
|
|
1507
|
+
}
|
|
1508
|
+
this.span.log({
|
|
1509
|
+
output: allResults
|
|
1510
|
+
});
|
|
1511
|
+
} finally {
|
|
1512
|
+
this.span.end();
|
|
1513
|
+
}
|
|
1514
|
+
}
|
|
1515
|
+
};
|
|
1516
|
+
|
|
1366
1517
|
// src/browser.ts
|
|
1367
|
-
|
|
1518
|
+
configureBrowser();
|
|
1368
1519
|
export {
|
|
1369
1520
|
Dataset,
|
|
1370
1521
|
Experiment,
|
|
@@ -1388,5 +1539,7 @@ export {
|
|
|
1388
1539
|
withCurrent,
|
|
1389
1540
|
withDataset,
|
|
1390
1541
|
withExperiment,
|
|
1391
|
-
withLogger
|
|
1542
|
+
withLogger,
|
|
1543
|
+
wrapOpenAI,
|
|
1544
|
+
wrapOpenAIv4
|
|
1392
1545
|
};
|
package/dist/cli.js
CHANGED
|
@@ -8955,7 +8955,7 @@ var require_package = __commonJS({
|
|
|
8955
8955
|
"package.json"(exports2, module2) {
|
|
8956
8956
|
module2.exports = {
|
|
8957
8957
|
name: "braintrust",
|
|
8958
|
-
version: "0.0.
|
|
8958
|
+
version: "0.0.73",
|
|
8959
8959
|
description: "SDK for integrating Braintrust",
|
|
8960
8960
|
main: "./dist/index.js",
|
|
8961
8961
|
browser: {
|
|
@@ -10826,7 +10826,7 @@ async function login(options = {}) {
|
|
|
10826
10826
|
const {
|
|
10827
10827
|
apiUrl = isomorph_default.getEnv("BRAINTRUST_API_URL") || "https://www.braintrustdata.com",
|
|
10828
10828
|
apiKey = isomorph_default.getEnv("BRAINTRUST_API_KEY"),
|
|
10829
|
-
orgName =
|
|
10829
|
+
orgName = isomorph_default.getEnv("BRAINTRUST_ORG_NAME"),
|
|
10830
10830
|
disableCache = false
|
|
10831
10831
|
} = options || {};
|
|
10832
10832
|
let { forceLogin = false } = options || {};
|
|
@@ -10881,6 +10881,11 @@ function startSpan(args) {
|
|
|
10881
10881
|
const { name: nameOpt, ...argsRest } = args ?? {};
|
|
10882
10882
|
const name = (nameOpt ?? isomorph_default.getCallerLocation()?.caller_functionname) || "root";
|
|
10883
10883
|
const parentSpan = currentSpan();
|
|
10884
|
+
if (!parentSpan) {
|
|
10885
|
+
throw new Error(
|
|
10886
|
+
"Cannot call startSpan() from outside a trace. Please wrap this code in a traced() callback."
|
|
10887
|
+
);
|
|
10888
|
+
}
|
|
10884
10889
|
if (!Object.is(parentSpan, noopSpan)) {
|
|
10885
10890
|
return parentSpan.startSpan(name, argsRest);
|
|
10886
10891
|
}
|
|
@@ -10974,17 +10979,6 @@ function validateAndSanitizeExperimentLogPartialArgs(event) {
|
|
|
10974
10979
|
throw new Error("metric keys must be strings");
|
|
10975
10980
|
}
|
|
10976
10981
|
}
|
|
10977
|
-
for (const forbiddenKey of [
|
|
10978
|
-
"start",
|
|
10979
|
-
"end",
|
|
10980
|
-
"caller_functionname",
|
|
10981
|
-
"caller_filename",
|
|
10982
|
-
"caller_lineno"
|
|
10983
|
-
]) {
|
|
10984
|
-
if (forbiddenKey in event.metrics) {
|
|
10985
|
-
throw new Error(`Key ${forbiddenKey} may not be specified in metrics`);
|
|
10986
|
-
}
|
|
10987
|
-
}
|
|
10988
10982
|
}
|
|
10989
10983
|
if ("input" in event && event.input && "inputs" in event && event.inputs) {
|
|
10990
10984
|
throw new Error(
|
|
@@ -11058,7 +11052,20 @@ async function _initExperiment(projectName, {
|
|
|
11058
11052
|
if (isPublic !== void 0) {
|
|
11059
11053
|
args["public"] = isPublic;
|
|
11060
11054
|
}
|
|
11061
|
-
|
|
11055
|
+
let response = null;
|
|
11056
|
+
while (true) {
|
|
11057
|
+
try {
|
|
11058
|
+
response = await _state.apiConn().post_json("api/experiment/register", args);
|
|
11059
|
+
break;
|
|
11060
|
+
} catch (e) {
|
|
11061
|
+
if (args["base_experiment"] && `${"data" in e && e.data}`.includes("base experiment")) {
|
|
11062
|
+
console.warn(`Base experiment ${args["base_experiment"]} not found.`);
|
|
11063
|
+
delete args["base_experiment"];
|
|
11064
|
+
} else {
|
|
11065
|
+
throw e;
|
|
11066
|
+
}
|
|
11067
|
+
}
|
|
11068
|
+
}
|
|
11062
11069
|
const project = response.project;
|
|
11063
11070
|
const experiment = response.experiment;
|
|
11064
11071
|
return new Experiment(project, experiment.id, experiment.name, dataset);
|
|
@@ -11085,7 +11092,7 @@ var Experiment = class {
|
|
|
11085
11092
|
* @param event.expected: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate your experiments while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models.
|
|
11086
11093
|
* @param event.scores: A dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare experiments.
|
|
11087
11094
|
* @param event.metadata: (Optional) a dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings.
|
|
11088
|
-
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically
|
|
11095
|
+
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically: "start", "end", "caller_functionname", "caller_filename", "caller_lineno".
|
|
11089
11096
|
* @param event.id: (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
11090
11097
|
* @param event.dataset_record_id: (Optional) the id of the dataset record that this event is associated with. This field is required if and only if the experiment is associated with a dataset.
|
|
11091
11098
|
* @param event.inputs: (Deprecated) the same as `input` (will be removed in a future version).
|
|
@@ -11146,6 +11153,7 @@ var Experiment = class {
|
|
|
11146
11153
|
)}/p/${encodeURIComponent(this.project.name)}`;
|
|
11147
11154
|
const experimentUrl = `${projectUrl}/${encodeURIComponent(this.name)}`;
|
|
11148
11155
|
let scores = void 0;
|
|
11156
|
+
let metrics = void 0;
|
|
11149
11157
|
let comparisonExperimentName = void 0;
|
|
11150
11158
|
if (summarizeScores) {
|
|
11151
11159
|
if (comparisonExperimentId === void 0) {
|
|
@@ -11160,14 +11168,16 @@ var Experiment = class {
|
|
|
11160
11168
|
}
|
|
11161
11169
|
}
|
|
11162
11170
|
if (comparisonExperimentId !== void 0) {
|
|
11163
|
-
|
|
11164
|
-
"/experiment-
|
|
11171
|
+
const results = await _state.logConn().get_json(
|
|
11172
|
+
"/experiment-comparison2",
|
|
11165
11173
|
{
|
|
11166
11174
|
experiment_id: this.id,
|
|
11167
11175
|
base_experiment_id: comparisonExperimentId
|
|
11168
11176
|
},
|
|
11169
11177
|
3
|
|
11170
11178
|
);
|
|
11179
|
+
scores = results["scores"];
|
|
11180
|
+
metrics = results["metrics"];
|
|
11171
11181
|
}
|
|
11172
11182
|
}
|
|
11173
11183
|
return {
|
|
@@ -11176,7 +11186,8 @@ var Experiment = class {
|
|
|
11176
11186
|
projectUrl,
|
|
11177
11187
|
experimentUrl,
|
|
11178
11188
|
comparisonExperimentName,
|
|
11179
|
-
scores
|
|
11189
|
+
scores,
|
|
11190
|
+
metrics
|
|
11180
11191
|
};
|
|
11181
11192
|
}
|
|
11182
11193
|
/**
|
|
@@ -11205,6 +11216,7 @@ var SpanImpl = class _SpanImpl {
|
|
|
11205
11216
|
constructor(args) {
|
|
11206
11217
|
this.kind = "span";
|
|
11207
11218
|
this.finished = false;
|
|
11219
|
+
this.loggedEndTime = void 0;
|
|
11208
11220
|
this.bgLogger = args.bgLogger;
|
|
11209
11221
|
const callerLocation = isomorph_default.getCallerLocation();
|
|
11210
11222
|
this.internalData = {
|
|
@@ -11212,54 +11224,66 @@ var SpanImpl = class _SpanImpl {
|
|
|
11212
11224
|
start: args.startTime ?? getCurrentUnixTimestamp(),
|
|
11213
11225
|
...callerLocation
|
|
11214
11226
|
},
|
|
11215
|
-
span_attributes: { ...args.spanAttributes, name: args.name }
|
|
11227
|
+
span_attributes: { ...args.spanAttributes, name: args.name },
|
|
11228
|
+
created: (/* @__PURE__ */ new Date()).toISOString()
|
|
11216
11229
|
};
|
|
11217
|
-
|
|
11218
|
-
|
|
11230
|
+
const id = args.event?.id ?? v4_default();
|
|
11231
|
+
const span_id = v4_default();
|
|
11219
11232
|
if ("rootExperiment" in args) {
|
|
11220
|
-
this.root_span_id = this.span_id;
|
|
11221
11233
|
this._object_info = {
|
|
11234
|
+
id,
|
|
11235
|
+
span_id,
|
|
11236
|
+
root_span_id: span_id,
|
|
11222
11237
|
project_id: args.rootExperiment.project.id,
|
|
11223
11238
|
experiment_id: args.rootExperiment.id
|
|
11224
11239
|
};
|
|
11225
|
-
this.internalData = Object.assign(this.internalData, {
|
|
11226
|
-
created: (/* @__PURE__ */ new Date()).toISOString()
|
|
11227
|
-
});
|
|
11228
11240
|
} else if ("rootProject" in args) {
|
|
11229
|
-
this.root_span_id = this.span_id;
|
|
11230
11241
|
this._object_info = {
|
|
11242
|
+
id,
|
|
11243
|
+
span_id,
|
|
11244
|
+
root_span_id: span_id,
|
|
11231
11245
|
org_id: _state.orgId,
|
|
11232
11246
|
project_id: args.rootProject.id,
|
|
11233
11247
|
log_id: "g"
|
|
11234
11248
|
};
|
|
11235
|
-
this.internalData = Object.assign(this.internalData, {
|
|
11236
|
-
created: (/* @__PURE__ */ new Date()).toISOString()
|
|
11237
|
-
});
|
|
11238
11249
|
} else if ("parentSpan" in args) {
|
|
11239
|
-
this.
|
|
11240
|
-
|
|
11250
|
+
this._object_info = {
|
|
11251
|
+
...args.parentSpan._object_info,
|
|
11252
|
+
id,
|
|
11253
|
+
span_id
|
|
11254
|
+
};
|
|
11241
11255
|
this.internalData.span_parents = [args.parentSpan.span_id];
|
|
11242
11256
|
} else {
|
|
11243
11257
|
throw new Error("Must provide either 'rootExperiment' or 'parentSpan'");
|
|
11244
11258
|
}
|
|
11245
11259
|
this.isMerge = false;
|
|
11246
|
-
const { id, ...eventRest } = args.event ?? {};
|
|
11260
|
+
const { id: _id, ...eventRest } = args.event ?? {};
|
|
11247
11261
|
this.log(eventRest);
|
|
11248
11262
|
this.isMerge = true;
|
|
11249
11263
|
unterminatedObjects.addUnterminated(this, callerLocation);
|
|
11250
11264
|
}
|
|
11265
|
+
get id() {
|
|
11266
|
+
return this._object_info.id;
|
|
11267
|
+
}
|
|
11268
|
+
get span_id() {
|
|
11269
|
+
return this._object_info.span_id;
|
|
11270
|
+
}
|
|
11271
|
+
get root_span_id() {
|
|
11272
|
+
return this._object_info.root_span_id;
|
|
11273
|
+
}
|
|
11251
11274
|
log(event) {
|
|
11252
11275
|
this.checkNotFinished();
|
|
11253
11276
|
const sanitized = validateAndSanitizeExperimentLogPartialArgs(event);
|
|
11277
|
+
const sanitizedAndInternalData = { ...this.internalData };
|
|
11278
|
+
mergeDicts(sanitizedAndInternalData, sanitized);
|
|
11254
11279
|
const record = {
|
|
11255
|
-
...
|
|
11256
|
-
...this.internalData,
|
|
11257
|
-
id: this.id,
|
|
11258
|
-
span_id: this.span_id,
|
|
11259
|
-
root_span_id: this.root_span_id,
|
|
11280
|
+
...sanitizedAndInternalData,
|
|
11260
11281
|
...this._object_info,
|
|
11261
11282
|
[IS_MERGE_FIELD]: this.isMerge
|
|
11262
11283
|
};
|
|
11284
|
+
if (record.metrics?.end) {
|
|
11285
|
+
this.loggedEndTime = record.metrics?.end;
|
|
11286
|
+
}
|
|
11263
11287
|
this.internalData = {};
|
|
11264
11288
|
this.bgLogger.log([record]);
|
|
11265
11289
|
}
|
|
@@ -11288,8 +11312,13 @@ var SpanImpl = class _SpanImpl {
|
|
|
11288
11312
|
}
|
|
11289
11313
|
end(args) {
|
|
11290
11314
|
this.checkNotFinished();
|
|
11291
|
-
|
|
11292
|
-
this.
|
|
11315
|
+
let endTime;
|
|
11316
|
+
if (!this.loggedEndTime) {
|
|
11317
|
+
endTime = args?.endTime ?? getCurrentUnixTimestamp();
|
|
11318
|
+
this.internalData = { metrics: { end: endTime } };
|
|
11319
|
+
} else {
|
|
11320
|
+
endTime = this.loggedEndTime;
|
|
11321
|
+
}
|
|
11293
11322
|
this.log({});
|
|
11294
11323
|
this.finished = true;
|
|
11295
11324
|
unterminatedObjects.removeUnterminated(this);
|
|
@@ -15826,24 +15855,22 @@ async function getRepoStatus() {
|
|
|
15826
15855
|
let tag = void 0;
|
|
15827
15856
|
let branch = void 0;
|
|
15828
15857
|
const dirty = (await git.diffSummary()).files.length > 0;
|
|
15829
|
-
|
|
15830
|
-
|
|
15831
|
-
|
|
15832
|
-
|
|
15833
|
-
|
|
15834
|
-
|
|
15835
|
-
|
|
15836
|
-
|
|
15837
|
-
|
|
15838
|
-
|
|
15839
|
-
|
|
15840
|
-
|
|
15841
|
-
|
|
15842
|
-
|
|
15843
|
-
|
|
15844
|
-
|
|
15845
|
-
);
|
|
15846
|
-
}
|
|
15858
|
+
commit = await attempt(async () => await git.revparse(["HEAD"]));
|
|
15859
|
+
commit_message = await attempt(
|
|
15860
|
+
async () => (await git.raw(["log", "-1", "--pretty=%B"])).trim()
|
|
15861
|
+
);
|
|
15862
|
+
commit_time = await attempt(
|
|
15863
|
+
async () => (await git.raw(["log", "-1", "--pretty=%cI"])).trim()
|
|
15864
|
+
);
|
|
15865
|
+
author_name = await attempt(
|
|
15866
|
+
async () => (await git.raw(["log", "-1", "--pretty=%aN"])).trim()
|
|
15867
|
+
);
|
|
15868
|
+
author_email = await attempt(
|
|
15869
|
+
async () => (await git.raw(["log", "-1", "--pretty=%aE"])).trim()
|
|
15870
|
+
);
|
|
15871
|
+
tag = await attempt(
|
|
15872
|
+
async () => (await git.raw(["describe", "--tags", "--exact-match", "--always"])).trim()
|
|
15873
|
+
);
|
|
15847
15874
|
branch = await attempt(
|
|
15848
15875
|
async () => (await git.raw(["rev-parse", "--abbrev-ref", "HEAD"])).trim()
|
|
15849
15876
|
);
|
|
@@ -16031,7 +16058,9 @@ async function initFile(inFile, outFile, opts, args) {
|
|
|
16031
16058
|
function updateEvaluators(evaluators, buildResults, opts) {
|
|
16032
16059
|
for (const result of buildResults) {
|
|
16033
16060
|
if (result.type === "failure") {
|
|
16034
|
-
if (opts.
|
|
16061
|
+
if (opts.terminateOnFailure) {
|
|
16062
|
+
throw result.error;
|
|
16063
|
+
} else if (opts.verbose) {
|
|
16035
16064
|
console.warn(`Failed to compile ${result.sourceFile}`);
|
|
16036
16065
|
console.warn(result.error);
|
|
16037
16066
|
} else {
|
|
@@ -16242,6 +16271,7 @@ async function run(args) {
|
|
|
16242
16271
|
orgName: args.org_name,
|
|
16243
16272
|
apiUrl: args.api_url,
|
|
16244
16273
|
noSendLogs: !!args.no_send_logs,
|
|
16274
|
+
terminateOnFailure: !!args.terminate_on_failure,
|
|
16245
16275
|
watch: !!args.watch,
|
|
16246
16276
|
progressReporter: args.no_progress_bars ? new SimpleProgressReporter() : new BarProgressReporter(),
|
|
16247
16277
|
filters: args.filter ? parseFilters(args.filter) : []
|
|
@@ -16309,6 +16339,10 @@ async function main() {
|
|
|
16309
16339
|
action: "store_true",
|
|
16310
16340
|
help: "Do not show progress bars when processing evaluators."
|
|
16311
16341
|
});
|
|
16342
|
+
parser_run.add_argument("--terminate-on-failure", {
|
|
16343
|
+
action: "store_true",
|
|
16344
|
+
help: "If provided, terminates on a failing eval, instead of the default (moving onto the next one)."
|
|
16345
|
+
});
|
|
16312
16346
|
parser_run.add_argument("files", {
|
|
16313
16347
|
nargs: "*",
|
|
16314
16348
|
help: "A list of files or directories to run. If no files are specified, the current directory is used."
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -7595,24 +7595,22 @@ async function getRepoStatus() {
|
|
|
7595
7595
|
let tag = void 0;
|
|
7596
7596
|
let branch = void 0;
|
|
7597
7597
|
const dirty = (await git.diffSummary()).files.length > 0;
|
|
7598
|
-
|
|
7599
|
-
|
|
7600
|
-
|
|
7601
|
-
|
|
7602
|
-
|
|
7603
|
-
|
|
7604
|
-
|
|
7605
|
-
|
|
7606
|
-
|
|
7607
|
-
|
|
7608
|
-
|
|
7609
|
-
|
|
7610
|
-
|
|
7611
|
-
|
|
7612
|
-
|
|
7613
|
-
|
|
7614
|
-
);
|
|
7615
|
-
}
|
|
7598
|
+
commit = await attempt(async () => await git.revparse(["HEAD"]));
|
|
7599
|
+
commit_message = await attempt(
|
|
7600
|
+
async () => (await git.raw(["log", "-1", "--pretty=%B"])).trim()
|
|
7601
|
+
);
|
|
7602
|
+
commit_time = await attempt(
|
|
7603
|
+
async () => (await git.raw(["log", "-1", "--pretty=%cI"])).trim()
|
|
7604
|
+
);
|
|
7605
|
+
author_name = await attempt(
|
|
7606
|
+
async () => (await git.raw(["log", "-1", "--pretty=%aN"])).trim()
|
|
7607
|
+
);
|
|
7608
|
+
author_email = await attempt(
|
|
7609
|
+
async () => (await git.raw(["log", "-1", "--pretty=%aE"])).trim()
|
|
7610
|
+
);
|
|
7611
|
+
tag = await attempt(
|
|
7612
|
+
async () => (await git.raw(["describe", "--tags", "--exact-match", "--always"])).trim()
|
|
7613
|
+
);
|
|
7616
7614
|
branch = await attempt(
|
|
7617
7615
|
async () => (await git.raw(["rev-parse", "--abbrev-ref", "HEAD"])).trim()
|
|
7618
7616
|
);
|
|
@@ -8047,7 +8045,7 @@ var Logger = class {
|
|
|
8047
8045
|
* @param event.expected: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models.
|
|
8048
8046
|
* @param event.scores: A dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare logs.
|
|
8049
8047
|
* @param event.metadata: (Optional) a dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings.
|
|
8050
|
-
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically
|
|
8048
|
+
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically: "start", "end", "caller_functionname", "caller_filename", "caller_lineno".
|
|
8051
8049
|
* @param event.id: (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
8052
8050
|
* :returns: The `id` of the logged event.
|
|
8053
8051
|
*/
|
|
@@ -8309,7 +8307,7 @@ async function login(options = {}) {
|
|
|
8309
8307
|
const {
|
|
8310
8308
|
apiUrl = isomorph_default.getEnv("BRAINTRUST_API_URL") || "https://www.braintrustdata.com",
|
|
8311
8309
|
apiKey = isomorph_default.getEnv("BRAINTRUST_API_KEY"),
|
|
8312
|
-
orgName =
|
|
8310
|
+
orgName = isomorph_default.getEnv("BRAINTRUST_ORG_NAME"),
|
|
8313
8311
|
disableCache = false
|
|
8314
8312
|
} = options || {};
|
|
8315
8313
|
let { forceLogin = false } = options || {};
|
|
@@ -8378,6 +8376,11 @@ function startSpan(args) {
|
|
|
8378
8376
|
const { name: nameOpt, ...argsRest } = args ?? {};
|
|
8379
8377
|
const name = (nameOpt ?? isomorph_default.getCallerLocation()?.caller_functionname) || "root";
|
|
8380
8378
|
const parentSpan = currentSpan();
|
|
8379
|
+
if (!parentSpan) {
|
|
8380
|
+
throw new Error(
|
|
8381
|
+
"Cannot call startSpan() from outside a trace. Please wrap this code in a traced() callback."
|
|
8382
|
+
);
|
|
8383
|
+
}
|
|
8381
8384
|
if (!Object.is(parentSpan, noopSpan)) {
|
|
8382
8385
|
return parentSpan.startSpan(name, argsRest);
|
|
8383
8386
|
}
|
|
@@ -8471,17 +8474,6 @@ function validateAndSanitizeExperimentLogPartialArgs(event) {
|
|
|
8471
8474
|
throw new Error("metric keys must be strings");
|
|
8472
8475
|
}
|
|
8473
8476
|
}
|
|
8474
|
-
for (const forbiddenKey of [
|
|
8475
|
-
"start",
|
|
8476
|
-
"end",
|
|
8477
|
-
"caller_functionname",
|
|
8478
|
-
"caller_filename",
|
|
8479
|
-
"caller_lineno"
|
|
8480
|
-
]) {
|
|
8481
|
-
if (forbiddenKey in event.metrics) {
|
|
8482
|
-
throw new Error(`Key ${forbiddenKey} may not be specified in metrics`);
|
|
8483
|
-
}
|
|
8484
|
-
}
|
|
8485
8477
|
}
|
|
8486
8478
|
if ("input" in event && event.input && "inputs" in event && event.inputs) {
|
|
8487
8479
|
throw new Error(
|
|
@@ -8555,7 +8547,20 @@ async function _initExperiment(projectName, {
|
|
|
8555
8547
|
if (isPublic !== void 0) {
|
|
8556
8548
|
args["public"] = isPublic;
|
|
8557
8549
|
}
|
|
8558
|
-
|
|
8550
|
+
let response = null;
|
|
8551
|
+
while (true) {
|
|
8552
|
+
try {
|
|
8553
|
+
response = await _state.apiConn().post_json("api/experiment/register", args);
|
|
8554
|
+
break;
|
|
8555
|
+
} catch (e) {
|
|
8556
|
+
if (args["base_experiment"] && `${"data" in e && e.data}`.includes("base experiment")) {
|
|
8557
|
+
console.warn(`Base experiment ${args["base_experiment"]} not found.`);
|
|
8558
|
+
delete args["base_experiment"];
|
|
8559
|
+
} else {
|
|
8560
|
+
throw e;
|
|
8561
|
+
}
|
|
8562
|
+
}
|
|
8563
|
+
}
|
|
8559
8564
|
const project = response.project;
|
|
8560
8565
|
const experiment = response.experiment;
|
|
8561
8566
|
return new Experiment(project, experiment.id, experiment.name, dataset);
|
|
@@ -8582,7 +8587,7 @@ var Experiment = class {
|
|
|
8582
8587
|
* @param event.expected: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate your experiments while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models.
|
|
8583
8588
|
* @param event.scores: A dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare experiments.
|
|
8584
8589
|
* @param event.metadata: (Optional) a dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings.
|
|
8585
|
-
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically
|
|
8590
|
+
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically: "start", "end", "caller_functionname", "caller_filename", "caller_lineno".
|
|
8586
8591
|
* @param event.id: (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
8587
8592
|
* @param event.dataset_record_id: (Optional) the id of the dataset record that this event is associated with. This field is required if and only if the experiment is associated with a dataset.
|
|
8588
8593
|
* @param event.inputs: (Deprecated) the same as `input` (will be removed in a future version).
|
|
@@ -8643,6 +8648,7 @@ var Experiment = class {
|
|
|
8643
8648
|
)}/p/${encodeURIComponent(this.project.name)}`;
|
|
8644
8649
|
const experimentUrl = `${projectUrl}/${encodeURIComponent(this.name)}`;
|
|
8645
8650
|
let scores = void 0;
|
|
8651
|
+
let metrics = void 0;
|
|
8646
8652
|
let comparisonExperimentName = void 0;
|
|
8647
8653
|
if (summarizeScores) {
|
|
8648
8654
|
if (comparisonExperimentId === void 0) {
|
|
@@ -8657,14 +8663,16 @@ var Experiment = class {
|
|
|
8657
8663
|
}
|
|
8658
8664
|
}
|
|
8659
8665
|
if (comparisonExperimentId !== void 0) {
|
|
8660
|
-
|
|
8661
|
-
"/experiment-
|
|
8666
|
+
const results = await _state.logConn().get_json(
|
|
8667
|
+
"/experiment-comparison2",
|
|
8662
8668
|
{
|
|
8663
8669
|
experiment_id: this.id,
|
|
8664
8670
|
base_experiment_id: comparisonExperimentId
|
|
8665
8671
|
},
|
|
8666
8672
|
3
|
|
8667
8673
|
);
|
|
8674
|
+
scores = results["scores"];
|
|
8675
|
+
metrics = results["metrics"];
|
|
8668
8676
|
}
|
|
8669
8677
|
}
|
|
8670
8678
|
return {
|
|
@@ -8673,7 +8681,8 @@ var Experiment = class {
|
|
|
8673
8681
|
projectUrl,
|
|
8674
8682
|
experimentUrl,
|
|
8675
8683
|
comparisonExperimentName,
|
|
8676
|
-
scores
|
|
8684
|
+
scores,
|
|
8685
|
+
metrics
|
|
8677
8686
|
};
|
|
8678
8687
|
}
|
|
8679
8688
|
/**
|
|
@@ -8702,6 +8711,7 @@ var SpanImpl = class _SpanImpl {
|
|
|
8702
8711
|
constructor(args) {
|
|
8703
8712
|
this.kind = "span";
|
|
8704
8713
|
this.finished = false;
|
|
8714
|
+
this.loggedEndTime = void 0;
|
|
8705
8715
|
this.bgLogger = args.bgLogger;
|
|
8706
8716
|
const callerLocation = isomorph_default.getCallerLocation();
|
|
8707
8717
|
this.internalData = {
|
|
@@ -8709,54 +8719,66 @@ var SpanImpl = class _SpanImpl {
|
|
|
8709
8719
|
start: args.startTime ?? getCurrentUnixTimestamp(),
|
|
8710
8720
|
...callerLocation
|
|
8711
8721
|
},
|
|
8712
|
-
span_attributes: { ...args.spanAttributes, name: args.name }
|
|
8722
|
+
span_attributes: { ...args.spanAttributes, name: args.name },
|
|
8723
|
+
created: (/* @__PURE__ */ new Date()).toISOString()
|
|
8713
8724
|
};
|
|
8714
|
-
|
|
8715
|
-
|
|
8725
|
+
const id = args.event?.id ?? v4_default();
|
|
8726
|
+
const span_id = v4_default();
|
|
8716
8727
|
if ("rootExperiment" in args) {
|
|
8717
|
-
this.root_span_id = this.span_id;
|
|
8718
8728
|
this._object_info = {
|
|
8729
|
+
id,
|
|
8730
|
+
span_id,
|
|
8731
|
+
root_span_id: span_id,
|
|
8719
8732
|
project_id: args.rootExperiment.project.id,
|
|
8720
8733
|
experiment_id: args.rootExperiment.id
|
|
8721
8734
|
};
|
|
8722
|
-
this.internalData = Object.assign(this.internalData, {
|
|
8723
|
-
created: (/* @__PURE__ */ new Date()).toISOString()
|
|
8724
|
-
});
|
|
8725
8735
|
} else if ("rootProject" in args) {
|
|
8726
|
-
this.root_span_id = this.span_id;
|
|
8727
8736
|
this._object_info = {
|
|
8737
|
+
id,
|
|
8738
|
+
span_id,
|
|
8739
|
+
root_span_id: span_id,
|
|
8728
8740
|
org_id: _state.orgId,
|
|
8729
8741
|
project_id: args.rootProject.id,
|
|
8730
8742
|
log_id: "g"
|
|
8731
8743
|
};
|
|
8732
|
-
this.internalData = Object.assign(this.internalData, {
|
|
8733
|
-
created: (/* @__PURE__ */ new Date()).toISOString()
|
|
8734
|
-
});
|
|
8735
8744
|
} else if ("parentSpan" in args) {
|
|
8736
|
-
this.
|
|
8737
|
-
|
|
8745
|
+
this._object_info = {
|
|
8746
|
+
...args.parentSpan._object_info,
|
|
8747
|
+
id,
|
|
8748
|
+
span_id
|
|
8749
|
+
};
|
|
8738
8750
|
this.internalData.span_parents = [args.parentSpan.span_id];
|
|
8739
8751
|
} else {
|
|
8740
8752
|
throw new Error("Must provide either 'rootExperiment' or 'parentSpan'");
|
|
8741
8753
|
}
|
|
8742
8754
|
this.isMerge = false;
|
|
8743
|
-
const { id, ...eventRest } = args.event ?? {};
|
|
8755
|
+
const { id: _id, ...eventRest } = args.event ?? {};
|
|
8744
8756
|
this.log(eventRest);
|
|
8745
8757
|
this.isMerge = true;
|
|
8746
8758
|
unterminatedObjects.addUnterminated(this, callerLocation);
|
|
8747
8759
|
}
|
|
8760
|
+
get id() {
|
|
8761
|
+
return this._object_info.id;
|
|
8762
|
+
}
|
|
8763
|
+
get span_id() {
|
|
8764
|
+
return this._object_info.span_id;
|
|
8765
|
+
}
|
|
8766
|
+
get root_span_id() {
|
|
8767
|
+
return this._object_info.root_span_id;
|
|
8768
|
+
}
|
|
8748
8769
|
log(event) {
|
|
8749
8770
|
this.checkNotFinished();
|
|
8750
8771
|
const sanitized = validateAndSanitizeExperimentLogPartialArgs(event);
|
|
8772
|
+
const sanitizedAndInternalData = { ...this.internalData };
|
|
8773
|
+
mergeDicts(sanitizedAndInternalData, sanitized);
|
|
8751
8774
|
const record = {
|
|
8752
|
-
...
|
|
8753
|
-
...this.internalData,
|
|
8754
|
-
id: this.id,
|
|
8755
|
-
span_id: this.span_id,
|
|
8756
|
-
root_span_id: this.root_span_id,
|
|
8775
|
+
...sanitizedAndInternalData,
|
|
8757
8776
|
...this._object_info,
|
|
8758
8777
|
[IS_MERGE_FIELD]: this.isMerge
|
|
8759
8778
|
};
|
|
8779
|
+
if (record.metrics?.end) {
|
|
8780
|
+
this.loggedEndTime = record.metrics?.end;
|
|
8781
|
+
}
|
|
8760
8782
|
this.internalData = {};
|
|
8761
8783
|
this.bgLogger.log([record]);
|
|
8762
8784
|
}
|
|
@@ -8785,8 +8807,13 @@ var SpanImpl = class _SpanImpl {
|
|
|
8785
8807
|
}
|
|
8786
8808
|
end(args) {
|
|
8787
8809
|
this.checkNotFinished();
|
|
8788
|
-
|
|
8789
|
-
this.
|
|
8810
|
+
let endTime;
|
|
8811
|
+
if (!this.loggedEndTime) {
|
|
8812
|
+
endTime = args?.endTime ?? getCurrentUnixTimestamp();
|
|
8813
|
+
this.internalData = { metrics: { end: endTime } };
|
|
8814
|
+
} else {
|
|
8815
|
+
endTime = this.loggedEndTime;
|
|
8816
|
+
}
|
|
8790
8817
|
this.log({});
|
|
8791
8818
|
this.finished = true;
|
|
8792
8819
|
unterminatedObjects.removeUnterminated(this);
|
package/dist/logger.d.ts
CHANGED
|
@@ -161,7 +161,7 @@ export declare class Logger {
|
|
|
161
161
|
* @param event.expected: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models.
|
|
162
162
|
* @param event.scores: A dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare logs.
|
|
163
163
|
* @param event.metadata: (Optional) a dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings.
|
|
164
|
-
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically
|
|
164
|
+
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically: "start", "end", "caller_functionname", "caller_filename", "caller_lineno".
|
|
165
165
|
* @param event.id: (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
166
166
|
* :returns: The `id` of the logged event.
|
|
167
167
|
*/
|
|
@@ -448,7 +448,7 @@ export declare class Experiment {
|
|
|
448
448
|
* @param event.expected: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate your experiments while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models.
|
|
449
449
|
* @param event.scores: A dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare experiments.
|
|
450
450
|
* @param event.metadata: (Optional) a dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings.
|
|
451
|
-
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically
|
|
451
|
+
* @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically: "start", "end", "caller_functionname", "caller_filename", "caller_lineno".
|
|
452
452
|
* @param event.id: (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
|
|
453
453
|
* @param event.dataset_record_id: (Optional) the id of the dataset record that this event is associated with. This field is required if and only if the experiment is associated with a dataset.
|
|
454
454
|
* @param event.inputs: (Deprecated) the same as `input` (will be removed in a future version).
|
|
@@ -497,9 +497,7 @@ export declare class SpanImpl implements Span {
|
|
|
497
497
|
private bgLogger;
|
|
498
498
|
private internalData;
|
|
499
499
|
private isMerge;
|
|
500
|
-
|
|
501
|
-
span_id: string;
|
|
502
|
-
root_span_id: string;
|
|
500
|
+
private loggedEndTime;
|
|
503
501
|
private readonly _object_info;
|
|
504
502
|
kind: "span";
|
|
505
503
|
constructor(args: {
|
|
@@ -516,6 +514,9 @@ export declare class SpanImpl implements Span {
|
|
|
516
514
|
} | {
|
|
517
515
|
parentSpan: SpanImpl;
|
|
518
516
|
}));
|
|
517
|
+
get id(): string;
|
|
518
|
+
get span_id(): string;
|
|
519
|
+
get root_span_id(): string;
|
|
519
520
|
log(event: ExperimentLogPartialArgs): void;
|
|
520
521
|
startSpan(name: string, args?: StartSpanArgs): Span;
|
|
521
522
|
traced<R>(name: string, callback: (span: Span) => R, args?: StartSpanArgs & SetCurrentArg): R;
|
|
@@ -628,6 +629,23 @@ export interface ScoreSummary {
|
|
|
628
629
|
improvements: number;
|
|
629
630
|
regressions: number;
|
|
630
631
|
}
|
|
632
|
+
/**
|
|
633
|
+
* Summary of a metric's performance.
|
|
634
|
+
* @property name Name of the metric.
|
|
635
|
+
* @property metric Average metric across all examples.
|
|
636
|
+
* @property unit Unit label for the metric.
|
|
637
|
+
* @property diff Difference in metric between the current and reference experiment.
|
|
638
|
+
* @property improvements Number of improvements in the metric.
|
|
639
|
+
* @property regressions Number of regressions in the metric.
|
|
640
|
+
*/
|
|
641
|
+
export interface MetricSummary {
|
|
642
|
+
name: string;
|
|
643
|
+
metric: number;
|
|
644
|
+
unit: string;
|
|
645
|
+
diff: number;
|
|
646
|
+
improvements: number;
|
|
647
|
+
regressions: number;
|
|
648
|
+
}
|
|
631
649
|
/**
|
|
632
650
|
* Summary of an experiment's scores and metadata.
|
|
633
651
|
* @property projectName Name of the project that the experiment belongs to.
|
|
@@ -644,6 +662,7 @@ export interface ExperimentSummary {
|
|
|
644
662
|
experimentUrl: string;
|
|
645
663
|
comparisonExperimentName: string | undefined;
|
|
646
664
|
scores: Record<string, ScoreSummary> | undefined;
|
|
665
|
+
metrics: Record<string, MetricSummary> | undefined;
|
|
647
666
|
}
|
|
648
667
|
/**
|
|
649
668
|
* Summary of a dataset's data.
|
|
@@ -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.dom.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","../node_modules/@types/uuid/index.d.ts","../src/isomorph.ts","../src/util.ts","../src/merge_row_batch.ts","../src/logger.ts","../src/browser.ts","../src/cache.ts","../node_modules/esbuild/lib/main.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/pluralize/index.d.ts","../node_modules/@types/cli-progress/index.d.ts","../src/progress.ts","../node_modules/@types/graceful-fs/index.d.ts","../src/jest/tryrealpath.ts","../src/jest/nodemodulespaths.ts","../node_modules/chalk/index.d.ts","../node_modules/autoevals/jsdist/base.d.ts","../node_modules/autoevals/jsdist/oai.d.ts","../node_modules/autoevals/jsdist/templates.d.ts","../node_modules/autoevals/jsdist/llm.d.ts","../node_modules/autoevals/jsdist/string.d.ts","../node_modules/autoevals/jsdist/number.d.ts","../node_modules/autoevals/jsdist/json.d.ts","../node_modules/autoevals/jsdist/index.d.ts","../src/framework.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","../src/stackutil.ts","../src/node.ts","../src/cli.ts","../src/oai.ts","../src/index.ts","../node_modules/form-data/index.d.ts","../node_modules/@types/node-fetch/externals.d.ts","../node_modules/@types/node-fetch/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"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},"95c617b16c4765ff6de307629b6918181908bee82a59fca0b2c95f170a4be7ea",{"version":"e3e7b677e8ad626f8a801ed3f7b49ca3bfc17e869d265a489518b5c5558fd0fa","signature":"f31a68039c0234a972bc0bc4d9388907ece056e3f76c6b9e880313639baa40d7"},{"version":"4e9b0c5aa6c1a4398ee938ebf7bf7649bc85846a5ed6d4140891974e37414bc4","signature":"5456a8d48cefa83fc107de753209d543a8368092fa8da262875d935033e7c9f2"},{"version":"bcafb63b317100f6a35c18a3c513493a141ae524ff78e49134c6dbf9f9be5398","signature":"1deac3c94c91ac1b2e60d29a14b4d4eb1e2964d005b7614a372c9eded6a40f92"},{"version":"c68947f54d1b5428d44c44e762e6130b69f03b80c0000da47549b4f69993854e","signature":"fb6a0346bbdb091efba1e6f1dbb1059aec789214c914454289d68e059a0e1780","affectsGlobalScope":true},{"version":"0cba65fb8472cad9f3a75664388174e8e174294e30ab6f2dfccc199edd1fd6e2","signature":"c967d7ca4d2ecc37d4a12833fad823f02e935542f6be307214ea7d2a9af02995"},{"version":"43361e6b831db1ef828f60d9219c09bfc43acb1b75ce86ead48f557a0935c0d2","signature":"b4324240466cc26262b0a4876ba6e405a8ad714cd15d4e309b765a3b41d90fb9"},"850040826cfa77593d44f44487133af21917f4f21507258bd4269501b80d32f0","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":"8d74c73e21579ffe9f77ce969bc0317470c63797bd4719c8895a60ce6ae6a263","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","765f9f91293be0c057d5bf2b59494e1eac70efae55ff1c27c6e47c359bc889d2","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","3122a3f1136508a27a229e0e4e2848299028300ffa11d0cdfe99df90c492fe20","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"5810080a0da989a944d3b691b7b479a4a13c75947fb538abb8070710baa5ccee","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","c58642af30c06a8e250d248a747ceb045af9a92d8cab22478d80c3bef276bfd5","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"13a50542a358c093fee2d204915241f85ca4f571262ea159960610c21a644f8a","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"4d06f3abc2a6aae86f1be39e397372f74fb6e7964f594d645926b4a3419cc15d","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"562e1951bb48e89df7b821d998bfcd9458d93b0afd06cf6db8286606da5f21fd","46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","c56ef8201a294d65d1132160ebc76ed0c0a98dcf983d20775c8c8c0912210572","de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889","5adf3c3c7204b3614dbc585681a33ef598c68df387298859f9a2521cfb449437","6d8c708a5237a8508ee8553f22143a6d2fb60807de0574b41622c1e281b04c6d",{"version":"d096d550acd00bd6d66825d9a4e572121bd854b28edc5ae2c1d4e80d51a147a9","signature":"46966a0da8f681c479166dd3060b63d3cafc3d5e9e218157490f3697122a3e57"},"bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e",{"version":"c0b4084226d4ad0a3c78580c50f85985f4a3e808eb59a15c9fb389c8349f9056","signature":"f155bcfea5ae8b647b26fef54caf159a514950ac9cb3c192dcfab787d4588eec"},{"version":"0f3a9fccbf341d90a4be583161e6415c8c0543f5dd180419ea13e3db991ccca0","signature":"d4cb0878684926011f20ef763f982c78e1b0b699c0faefee31d2a7bdcf44a7bb"},"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","26ed2b3579b00785d7b8028002d5e638444e32e1fad135100a2419e48e5fb458","41274c6cc805d2945895a3654a9fc6bfd2339f2feb647ab5c5f4df664a04cf53","e725e4e013e946cccba3ec0fb642af7b5b9bd7872357b435ffe551dd80d552bc","b8dcce8ae07139e9f4c6019db31d3d1105806025d41e04a40f38cdd0d2dab92f","209dc81a1af545c80808f08403929d4a28791b0c059f3a4dd5b0724bf142fe03","1f6c6d022f61fe4e98a6fc773e400cead9988bf2353290472d7205dec0604b8f","4abcc60b395352b0b1400e3ee5e4b345c54daa6bd86a6ef39bfb3a66bea3daf0","f1535d688ff92c7f16fcd4ff415413edef056ab63008cbec0ac1a1abbefd8f6b",{"version":"d78a4fff1aa078a06b2b231e76b8fef7d6aedf2c19af2049b2ac66e667debc57","signature":"5f0652ab87ae48561321f15f3c8556a615a224ecb4e1ce914be5e5a37f380830","affectsGlobalScope":true},"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":"2109980c9242bf443fa8937715fea2e5c39f6c85f9ed144106e2b693013c6070","signature":"68212fb8e2c0dae39c22959cf18904f22a1315a856c20173484371cbb74addbf"},{"version":"282c7c74d33d5ec6a9067728647227358018bf878a6c381973efd5be87f0d2a8","signature":"eef6c9e9e2ced98a276734cb82f81b12d154026659e84128ad42a3a69caced38"},{"version":"c1887ec121feae4f6a72ec295ad8cc2acd12e37b278672d1c1aa53d6ebba076c","signature":"1518a19a9cb02ce4439e1bd5d07e5dd4f496d4598142ff82264b40785ba28789"},{"version":"d6c51d936d7270ad0c4639a52f325806bc8454220b9429fda21a0e84444265e6","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"},{"version":"d2b71a94c6597ebe5bc4a28d9068c99eff353919f6b446fcea4afb44455a73f1","signature":"bdc58c2249d6acc63f6fb5acecd4219ee8c7c7ed57c4f87d57e7ac9e84a7e7d8"},{"version":"412e201f9eb70f671b3acb8399d718d8e7d0129166e970ceb78abb5f1db959b5","signature":"fecb7d5df25d549d9b7f94ba017910397c361a144b4aa369bf6402b7bdf81b4f"},"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","4340936f4e937c452ae783514e7c7bbb7fc06d0c97993ff4865370d0962bb9cf","5009c081fd8ca3fcd6f3adcd071a1c79a933a400532b897822aad0943688a1f1"],"root":[[46,51],130,132,133,143,[169,174]],"options":{"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":2},"fileIdsList":[[99,111,112],[99,112,113,114,115],[99,106,112,114],[99,111,113],[70,99,106],[70,99,106,107],[99,107,108,109,110],[99,107,109],[99,108],[87,99,106,116,117,118,121],[99,117,118,120],[69,99,106,116,117,118,119],[99,118],[99,116,117],[99,106,116],[99],[69,99,106],[72,98,99,106,175,176],[53,99],[56,99],[57,62,90,99],[58,69,70,77,87,98,99],[58,59,69,77,99],[60,99],[61,62,70,78,99],[62,87,95,99],[63,65,69,77,99],[64,99],[65,66,99],[69,99],[67,69,99],[69,70,71,87,98,99],[69,70,71,84,87,90,99],[99,103],[65,69,72,77,87,98,99],[69,70,72,73,77,87,95,98,99],[72,74,87,95,98,99],[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,100,101,102,103,104,105],[69,75,99],[76,98,99],[65,69,77,87,99],[78,99],[79,99],[56,80,99],[81,97,99,103],[82,99],[83,99],[69,84,85,99],[84,86,99,101],[57,69,87,88,89,90,99],[57,87,89,99],[87,88,99],[90,99],[91,99],[56,87,99],[69,93,94,99],[93,94,99],[62,77,87,95,99],[96,99],[77,97,99],[57,72,83,98,99],[62,99],[87,99,100],[99,101],[99,102],[57,62,69,71,80,87,98,99,101,103],[87,99,104],[99,135,137,138,139,140,141],[99,135],[99,135,136,137],[72,87,99,106],[99,126],[99,123,124,125],[99,146,148],[99,148],[99,146],[99,144,148,168],[99,144,148],[99,168],[99,148,168],[58,99,106,145,147],[99,106,144,148],[99,146,162,163,164,165],[99,150,161,166,167],[99,149],[99,150,161,166],[99,148,149,151,152,153,154,155,156,157,158,159,160],[49,99],[78,79,99],[45,49,52,70,78,79,99,122,126,127,128,130,133,143,171],[49,99,128,130,134,142],[49,99,143,171,173],[79,99,132],[99,131],[45,46,47,48,99],[47,99],[46,49,56,99,169,170],[47,49,99],[99,129],[46,79,99],[49],[49,130,134,142],[168],[49,143,173],[46,47],[46]],"referencedMap":[[113,1],[116,2],[115,3],[114,4],[112,5],[108,6],[111,7],[110,8],[109,9],[107,5],[122,10],[121,11],[120,12],[119,13],[118,14],[117,15],[127,16],[129,17],[131,5],[176,16],[177,18],[53,19],[54,19],[56,20],[57,21],[58,22],[59,23],[60,24],[61,25],[62,26],[63,27],[64,28],[65,29],[66,29],[68,30],[67,31],[69,30],[70,32],[71,33],[55,34],[105,16],[72,35],[73,36],[74,37],[106,38],[75,39],[76,40],[77,41],[78,42],[79,43],[80,44],[81,45],[82,46],[83,47],[84,48],[85,48],[86,49],[87,50],[89,51],[88,52],[90,53],[91,54],[92,55],[93,56],[94,57],[95,58],[96,59],[97,60],[98,61],[99,62],[100,63],[101,64],[102,65],[103,66],[104,67],[128,16],[45,16],[135,16],[142,68],[141,69],[138,70],[140,69],[136,16],[139,69],[137,16],[134,16],[52,16],[175,71],[123,72],[124,72],[126,73],[125,72],[152,16],[162,74],[146,75],[163,74],[164,76],[165,76],[151,16],[153,75],[154,75],[155,77],[156,78],[157,79],[158,79],[149,80],[159,75],[144,75],[160,79],[147,76],[148,81],[145,82],[166,83],[168,84],[150,85],[167,86],[161,87],[43,16],[44,16],[8,16],[10,16],[9,16],[2,16],[11,16],[12,16],[13,16],[14,16],[15,16],[16,16],[17,16],[18,16],[3,16],[4,16],[22,16],[19,16],[20,16],[21,16],[23,16],[24,16],[25,16],[5,16],[26,16],[27,16],[28,16],[29,16],[6,16],[33,16],[30,16],[31,16],[32,16],[34,16],[7,16],[35,16],[40,16],[41,16],[36,16],[37,16],[38,16],[39,16],[1,16],[42,16],[50,88],[51,89],[172,90],[143,91],[169,79],[174,92],[46,16],[133,93],[132,94],[49,95],[48,96],[171,97],[173,98],[130,99],[170,100],[47,16]],"exportedModulesMap":[[113,1],[116,2],[115,3],[114,4],[112,5],[108,6],[111,7],[110,8],[109,9],[107,5],[122,10],[121,11],[120,12],[119,13],[118,14],[117,15],[127,16],[129,17],[131,5],[176,16],[177,18],[53,19],[54,19],[56,20],[57,21],[58,22],[59,23],[60,24],[61,25],[62,26],[63,27],[64,28],[65,29],[66,29],[68,30],[67,31],[69,30],[70,32],[71,33],[55,34],[105,16],[72,35],[73,36],[74,37],[106,38],[75,39],[76,40],[77,41],[78,42],[79,43],[80,44],[81,45],[82,46],[83,47],[84,48],[85,48],[86,49],[87,50],[89,51],[88,52],[90,53],[91,54],[92,55],[93,56],[94,57],[95,58],[96,59],[97,60],[98,61],[99,62],[100,63],[101,64],[102,65],[103,66],[104,67],[128,16],[45,16],[135,16],[142,68],[141,69],[138,70],[140,69],[136,16],[139,69],[137,16],[134,16],[52,16],[175,71],[123,72],[124,72],[126,73],[125,72],[152,16],[162,74],[146,75],[163,74],[164,76],[165,76],[151,16],[153,75],[154,75],[155,77],[156,78],[157,79],[158,79],[149,80],[159,75],[144,75],[160,79],[147,76],[148,81],[145,82],[166,83],[168,84],[150,85],[167,86],[161,87],[43,16],[44,16],[8,16],[10,16],[9,16],[2,16],[11,16],[12,16],[13,16],[14,16],[15,16],[16,16],[17,16],[18,16],[3,16],[4,16],[22,16],[19,16],[20,16],[21,16],[23,16],[24,16],[25,16],[5,16],[26,16],[27,16],[28,16],[29,16],[6,16],[33,16],[30,16],[31,16],[32,16],[34,16],[7,16],[35,16],[40,16],[41,16],[36,16],[37,16],[38,16],[39,16],[1,16],[42,16],[50,101],[143,102],[169,103],[174,104],[49,105],[170,106]],"semanticDiagnosticsPerFile":[113,116,115,114,112,108,111,110,109,107,122,121,120,119,118,117,127,129,131,176,177,53,54,56,57,58,59,60,61,62,63,64,65,66,68,67,69,70,71,55,105,72,73,74,106,75,76,77,78,79,80,81,82,83,84,85,86,87,89,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,128,45,135,142,141,138,140,136,139,137,134,52,175,123,124,126,125,152,162,146,163,164,165,151,153,154,155,156,157,158,149,159,144,160,147,148,145,166,168,150,167,161,43,44,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,1,42,50,51,172,143,169,174,46,133,132,49,48,171,173,130,170,47]},"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.dom.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/isomorph.ts","../node_modules/@types/uuid/index.d.ts","../src/util.ts","../src/merge_row_batch.ts","../src/logger.ts","../src/browser-config.ts","../src/oai.ts","../src/browser.ts","../src/cache.ts","../node_modules/esbuild/lib/main.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/pluralize/index.d.ts","../node_modules/@types/cli-progress/index.d.ts","../src/progress.ts","../node_modules/@types/graceful-fs/index.d.ts","../src/jest/tryrealpath.ts","../src/jest/nodemodulespaths.ts","../node_modules/chalk/index.d.ts","../node_modules/autoevals/jsdist/base.d.ts","../node_modules/autoevals/jsdist/oai.d.ts","../node_modules/autoevals/jsdist/templates.d.ts","../node_modules/autoevals/jsdist/llm.d.ts","../node_modules/autoevals/jsdist/string.d.ts","../node_modules/autoevals/jsdist/number.d.ts","../node_modules/autoevals/jsdist/json.d.ts","../node_modules/autoevals/jsdist/index.d.ts","../src/framework.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","../src/stackutil.ts","../src/node.ts","../src/cli.ts","../src/index.ts","../node_modules/form-data/index.d.ts","../node_modules/@types/node-fetch/externals.d.ts","../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/command-line-args/index.d.ts","../../../node_modules/@types/command-line-usage/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/js-levenshtein/index.d.ts","../../../node_modules/@types/js-yaml/index.d.ts","../../../node_modules/@types/mustache/index.d.ts","../../../node_modules/@types/pad-left/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"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":"e3e7b677e8ad626f8a801ed3f7b49ca3bfc17e869d265a489518b5c5558fd0fa","signature":"f31a68039c0234a972bc0bc4d9388907ece056e3f76c6b9e880313639baa40d7"},"95c617b16c4765ff6de307629b6918181908bee82a59fca0b2c95f170a4be7ea",{"version":"4e9b0c5aa6c1a4398ee938ebf7bf7649bc85846a5ed6d4140891974e37414bc4","signature":"5456a8d48cefa83fc107de753209d543a8368092fa8da262875d935033e7c9f2"},{"version":"bcafb63b317100f6a35c18a3c513493a141ae524ff78e49134c6dbf9f9be5398","signature":"1deac3c94c91ac1b2e60d29a14b4d4eb1e2964d005b7614a372c9eded6a40f92"},{"version":"7f6b7be299e289d1419ac6c9237bd7d594ccd8a8ddb0c26913f3be0bee6ff57e","signature":"e914a6a25044eaf79aaaca7ae8c3bc2c6d246ab294e483b178f92ecf36d2100e","affectsGlobalScope":true},{"version":"b5f12e5d3f2153df039e2fbd4fe445a54b39d59527093cd3d99d93d822125e1b","signature":"443148657b934a070c73ec27dfbbc63d3fcfdb703009ed36d997337abc2290e4","affectsGlobalScope":true},{"version":"984b4f2569e713a2f41b81685e4d40549ce279a4c8035be0eabc103a9c14c5c9","signature":"bdc58c2249d6acc63f6fb5acecd4219ee8c7c7ed57c4f87d57e7ac9e84a7e7d8"},{"version":"ddf00d2734715528ba52cfaebaff7d70bbc5663688139efd7ffe0d0476688ff5","signature":"82f11771b6ef70327d9a7a1d43aa3e13dfa2825671bb591c7edeb954335b05e1"},{"version":"43361e6b831db1ef828f60d9219c09bfc43acb1b75ce86ead48f557a0935c0d2","signature":"b4324240466cc26262b0a4876ba6e405a8ad714cd15d4e309b765a3b41d90fb9"},"850040826cfa77593d44f44487133af21917f4f21507258bd4269501b80d32f0","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":"8d74c73e21579ffe9f77ce969bc0317470c63797bd4719c8895a60ce6ae6a263","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","765f9f91293be0c057d5bf2b59494e1eac70efae55ff1c27c6e47c359bc889d2","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","3122a3f1136508a27a229e0e4e2848299028300ffa11d0cdfe99df90c492fe20","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"5810080a0da989a944d3b691b7b479a4a13c75947fb538abb8070710baa5ccee","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","c58642af30c06a8e250d248a747ceb045af9a92d8cab22478d80c3bef276bfd5","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"13a50542a358c093fee2d204915241f85ca4f571262ea159960610c21a644f8a","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"4d06f3abc2a6aae86f1be39e397372f74fb6e7964f594d645926b4a3419cc15d","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"562e1951bb48e89df7b821d998bfcd9458d93b0afd06cf6db8286606da5f21fd","46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","c56ef8201a294d65d1132160ebc76ed0c0a98dcf983d20775c8c8c0912210572","de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889","5adf3c3c7204b3614dbc585681a33ef598c68df387298859f9a2521cfb449437","6d8c708a5237a8508ee8553f22143a6d2fb60807de0574b41622c1e281b04c6d",{"version":"d096d550acd00bd6d66825d9a4e572121bd854b28edc5ae2c1d4e80d51a147a9","signature":"46966a0da8f681c479166dd3060b63d3cafc3d5e9e218157490f3697122a3e57"},"bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e",{"version":"c0b4084226d4ad0a3c78580c50f85985f4a3e808eb59a15c9fb389c8349f9056","signature":"f155bcfea5ae8b647b26fef54caf159a514950ac9cb3c192dcfab787d4588eec"},{"version":"0f3a9fccbf341d90a4be583161e6415c8c0543f5dd180419ea13e3db991ccca0","signature":"d4cb0878684926011f20ef763f982c78e1b0b699c0faefee31d2a7bdcf44a7bb"},"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","26ed2b3579b00785d7b8028002d5e638444e32e1fad135100a2419e48e5fb458","41274c6cc805d2945895a3654a9fc6bfd2339f2feb647ab5c5f4df664a04cf53","e725e4e013e946cccba3ec0fb642af7b5b9bd7872357b435ffe551dd80d552bc","b8dcce8ae07139e9f4c6019db31d3d1105806025d41e04a40f38cdd0d2dab92f","209dc81a1af545c80808f08403929d4a28791b0c059f3a4dd5b0724bf142fe03","1f6c6d022f61fe4e98a6fc773e400cead9988bf2353290472d7205dec0604b8f","4abcc60b395352b0b1400e3ee5e4b345c54daa6bd86a6ef39bfb3a66bea3daf0","f1535d688ff92c7f16fcd4ff415413edef056ab63008cbec0ac1a1abbefd8f6b",{"version":"d78a4fff1aa078a06b2b231e76b8fef7d6aedf2c19af2049b2ac66e667debc57","signature":"5f0652ab87ae48561321f15f3c8556a615a224ecb4e1ce914be5e5a37f380830","affectsGlobalScope":true},"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":"5ab9a7f3ffc9b232597a079ff9aa17e8cafaffccfe66ac96cc892e7623bb2d97","signature":"68212fb8e2c0dae39c22959cf18904f22a1315a856c20173484371cbb74addbf"},{"version":"282c7c74d33d5ec6a9067728647227358018bf878a6c381973efd5be87f0d2a8","signature":"eef6c9e9e2ced98a276734cb82f81b12d154026659e84128ad42a3a69caced38"},{"version":"c1887ec121feae4f6a72ec295ad8cc2acd12e37b278672d1c1aa53d6ebba076c","signature":"1518a19a9cb02ce4439e1bd5d07e5dd4f496d4598142ff82264b40785ba28789"},{"version":"84b8f4bbd52cb52123a7e274419cc0745fdcdf3417b0d9ab557a6c4f08a89988","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"},{"version":"1fb79997b88eae2ba6d1f4306832f059ed04453ecb9a368f8733fa53f636daf5","signature":"88c1a4ef1d377f95ba49cb68a724b921ad33861d14bf2fc4f47b3ad683314e41"},"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","4340936f4e937c452ae783514e7c7bbb7fc06d0c97993ff4865370d0962bb9cf","5009c081fd8ca3fcd6f3adcd071a1c79a933a400532b897822aad0943688a1f1","f713064ca751dc588bc13832137c418cb70cf0446de92ade60ad631071558fca","7a1f3d0b8dd0e869c58b44848d9f0be3592c3ff6dc77091e7130306f6d2907ed","96c23535f4f9dd15beb767e070559ea672f6a35f103152836a67100605136a96","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","29a46d003ca3c721e6405f00dee7e3de91b14e09701eba5d887bf76fb2d47d38","3df59a50b6fdd703016b81e254633080b3fa1e9035a462e730235876470d0012","629766229f541d92210f30a92b6038568ec165fab14b7ee53bdf13667da37ca3","29193c018378ca9c8033eaa974c02c1f503e8fcd8a2bf406057c53f7d3fa17a8","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"7607da500c00af67a93aacb928552afd08d519f8e68eca30d4c624a69fd28ee9","affectsGlobalScope":true},"a8d630427635fa316e57fa4949132acde9cf23aa067220bffea30612497824cc","7a1dd1e9c8bf5e23129495b10718b280340c7500570e0cfe5cffcdee51e13e48","b58c81d4cc365d3986aee6c2a86592edc50f141b796899079196ffb103047390","b92ae8263cac4e5a79f55fe6cb63c030b096679b98f603fbc13963c30ab7da5e","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","8495c63868f001b156fdeb6382ddd63dc6b2c9b91529ce08019caf312da37c59"],"root":[45,[47,53],132,134,135,145,[171,175]],"options":{"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":2},"fileIdsList":[[101,179],[101],[101,192],[101,179,180,181,182,183],[101,179,181],[101,187],[101,188],[101,194,197],[101,204],[101,190,196],[101,194],[101,136,195],[101,193],[101,113,114],[101,114,115,116,117],[101,108,114,116],[101,113,115],[72,101,108],[72,101,108,109],[101,109,110,111,112],[101,109,111],[101,110],[89,101,108,118,119,120,123],[101,119,120,122],[71,101,108,118,119,120,121],[101,120],[101,118,119],[101,108,118],[71,101,108],[74,100,101,108,176,177],[55,101],[58,101],[59,64,92,101],[60,71,72,79,89,100,101],[60,61,71,79,101],[62,101],[63,64,72,80,101],[64,89,97,101],[65,67,71,79,101],[66,101],[67,68,101],[71,101],[69,71,101],[71,72,73,89,100,101],[71,72,73,86,89,92,101],[101,105],[67,71,74,79,89,100,101],[71,72,74,75,79,89,97,100,101],[74,76,89,97,100,101],[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,100,101,102,103,104,105,106,107],[71,77,101],[78,100,101],[67,71,79,89,101],[80,101],[81,101],[58,82,101],[83,99,101,105],[84,101],[85,101],[71,86,87,101],[86,88,101,103],[59,71,89,90,91,92,101],[59,89,91,101],[89,90,101],[92,101],[93,101],[58,89,101],[71,95,96,101],[95,96,101],[64,79,89,97,101],[98,101],[79,99,101],[59,74,85,100,101],[64,101],[89,101,102],[101,103],[101,104],[59,64,71,73,82,89,100,101,103,105],[89,101,106],[101,137,139,140,141,142,143],[101,137],[101,137,138,139],[74,89,101,108],[101,128],[101,125,126,127],[101,148,150],[101,150],[101,148],[101,146,150,170],[101,146,150],[101,170],[101,150,170],[60,101,108,147,149],[101,108,146,150],[101,148,164,165,166,167],[101,152,163,168,169],[101,151],[101,152,163,168],[101,150,151,153,154,155,156,157,158,159,160,161,162],[45,49,58,101],[49,50,51,101],[80,81,101],[46,49,54,72,80,81,101,124,128,129,130,132,135,145,173],[49,101,130,132,136,144],[49,51,101,145,173],[81,101,134],[101,133],[45,46,47,48,101],[47,101],[45,49,58,101,171,172],[47,49,101],[101,131],[45,81,101],[58],[49,51],[49,132,136,144],[170],[49,51,145],[45,47],[45]],"referencedMap":[[181,1],[179,2],[190,2],[193,3],[192,2],[184,4],[180,1],[182,5],[183,1],[185,2],[186,2],[187,2],[188,6],[189,7],[198,8],[199,2],[200,2],[201,2],[202,2],[203,2],[204,2],[205,9],[191,2],[197,10],[195,11],[196,12],[194,13],[115,14],[118,15],[117,16],[116,17],[114,18],[110,19],[113,20],[112,21],[111,22],[109,18],[124,23],[123,24],[122,25],[121,26],[120,27],[119,28],[129,2],[131,29],[133,18],[177,2],[178,30],[55,31],[56,31],[58,32],[59,33],[60,34],[61,35],[62,36],[63,37],[64,38],[65,39],[66,40],[67,41],[68,41],[70,42],[69,43],[71,42],[72,44],[73,45],[57,46],[107,2],[74,47],[75,48],[76,49],[108,50],[77,51],[78,52],[79,53],[80,54],[81,55],[82,56],[83,57],[84,58],[85,59],[86,60],[87,60],[88,61],[89,62],[91,63],[90,64],[92,65],[93,66],[94,67],[95,68],[96,69],[97,70],[98,71],[99,72],[100,73],[101,74],[102,75],[103,76],[104,77],[105,78],[106,79],[130,2],[46,2],[137,2],[144,80],[143,81],[140,82],[142,81],[138,2],[141,81],[139,2],[136,2],[54,2],[176,83],[125,84],[126,84],[128,85],[127,84],[154,2],[164,86],[148,87],[165,86],[166,88],[167,88],[153,2],[155,87],[156,87],[157,89],[158,90],[159,91],[160,91],[151,92],[161,87],[146,87],[162,91],[149,88],[150,93],[147,94],[168,95],[170,96],[152,97],[169,98],[163,99],[43,2],[44,2],[8,2],[10,2],[9,2],[2,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[3,2],[4,2],[22,2],[19,2],[20,2],[21,2],[23,2],[24,2],[25,2],[5,2],[26,2],[27,2],[28,2],[29,2],[6,2],[33,2],[30,2],[31,2],[32,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[50,100],[52,101],[53,102],[174,103],[145,104],[171,91],[175,105],[45,2],[135,106],[134,107],[49,108],[48,109],[173,110],[51,111],[132,112],[172,113],[47,2]],"exportedModulesMap":[[181,1],[179,2],[190,2],[193,3],[192,2],[184,4],[180,1],[182,5],[183,1],[185,2],[186,2],[187,2],[188,6],[189,7],[198,8],[199,2],[200,2],[201,2],[202,2],[203,2],[204,2],[205,9],[191,2],[197,10],[195,11],[196,12],[194,13],[115,14],[118,15],[117,16],[116,17],[114,18],[110,19],[113,20],[112,21],[111,22],[109,18],[124,23],[123,24],[122,25],[121,26],[120,27],[119,28],[129,2],[131,29],[133,18],[177,2],[178,30],[55,31],[56,31],[58,32],[59,33],[60,34],[61,35],[62,36],[63,37],[64,38],[65,39],[66,40],[67,41],[68,41],[70,42],[69,43],[71,42],[72,44],[73,45],[57,46],[107,2],[74,47],[75,48],[76,49],[108,50],[77,51],[78,52],[79,53],[80,54],[81,55],[82,56],[83,57],[84,58],[85,59],[86,60],[87,60],[88,61],[89,62],[91,63],[90,64],[92,65],[93,66],[94,67],[95,68],[96,69],[97,70],[98,71],[99,72],[100,73],[101,74],[102,75],[103,76],[104,77],[105,78],[106,79],[130,2],[46,2],[137,2],[144,80],[143,81],[140,82],[142,81],[138,2],[141,81],[139,2],[136,2],[54,2],[176,83],[125,84],[126,84],[128,85],[127,84],[154,2],[164,86],[148,87],[165,86],[166,88],[167,88],[153,2],[155,87],[156,87],[157,89],[158,90],[159,91],[160,91],[151,92],[161,87],[146,87],[162,91],[149,88],[150,93],[147,94],[168,95],[170,96],[152,97],[169,98],[163,99],[43,2],[44,2],[8,2],[10,2],[9,2],[2,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[3,2],[4,2],[22,2],[19,2],[20,2],[21,2],[23,2],[24,2],[25,2],[5,2],[26,2],[27,2],[28,2],[29,2],[6,2],[33,2],[30,2],[31,2],[32,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[50,114],[52,115],[145,116],[171,117],[175,118],[49,119],[172,120]],"semanticDiagnosticsPerFile":[181,179,190,193,192,184,180,182,183,185,186,187,188,189,198,199,200,201,202,203,204,205,191,197,195,196,194,115,118,117,116,114,110,113,112,111,109,124,123,122,121,120,119,129,131,133,177,178,55,56,58,59,60,61,62,63,64,65,66,67,68,70,69,71,72,73,57,107,74,75,76,108,77,78,79,80,81,82,83,84,85,86,87,88,89,91,90,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,130,46,137,144,143,140,142,138,141,139,136,54,176,125,126,128,127,154,164,148,165,166,167,153,155,156,157,158,159,160,151,161,146,162,149,150,147,168,170,152,169,163,43,44,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,1,42,50,52,53,174,145,171,175,45,135,134,49,48,173,51,132,172,47]},"version":"5.1.6"}
|