@fairspec/agent 0.9.0 → 0.9.2
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/build/examples/client.js +16 -0
- package/build/main.js +6 -0
- package/build/package.json +1 -1
- package/build/server.js +2 -1
- package/build/tools/data/validate.d.ts +180 -178
- package/build/tools/data/validate.js +6 -3
- package/build/tools/data/validate.spec.js +22 -22
- package/build/tools/dataSchema/infer.d.ts +10 -8
- package/build/tools/dataSchema/infer.js +6 -3
- package/build/tools/dataSchema/infer.spec.js +12 -10
- package/build/tools/dataSchema/validate.d.ts +173 -171
- package/build/tools/dataSchema/validate.js +6 -3
- package/build/tools/dataSchema/validate.spec.js +15 -15
- package/build/tools/dataset/infer.d.ts +804 -802
- package/build/tools/dataset/infer.js +6 -3
- package/build/tools/dataset/infer.spec.js +18 -18
- package/build/tools/dataset/validate.d.ts +180 -178
- package/build/tools/dataset/validate.js +6 -3
- package/build/tools/dataset/validate.spec.js +16 -16
- package/build/tools/dialect/infer.d.ts +98 -96
- package/build/tools/dialect/infer.js +6 -3
- package/build/tools/dialect/infer.spec.js +16 -14
- package/build/tools/table/query.d.ts +10 -8
- package/build/tools/table/query.js +6 -3
- package/build/tools/table/query.spec.js +31 -31
- package/build/tools/table/validate.d.ts +180 -178
- package/build/tools/table/validate.js +6 -3
- package/build/tools/table/validate.spec.js +11 -11
- package/build/tools/tableSchema/infer.d.ts +501 -499
- package/build/tools/tableSchema/infer.js +7 -3
- package/build/tools/tableSchema/infer.spec.js +35 -33
- package/build/tools/tableSchema/validate.d.ts +173 -171
- package/build/tools/tableSchema/validate.js +6 -3
- package/build/tools/tableSchema/validate.spec.js +13 -13
- package/package.json +2 -2
- package/build/actions/tableSchema/asHtml.d.ts +0 -4
- package/build/actions/tableSchema/asHtml.js +0 -82
- package/build/actions/tableSchema/asHtml.spec.js +0 -356
- package/build/actions/tableSchema/asMarkdown.d.ts +0 -4
- package/build/actions/tableSchema/asMarkdown.js +0 -65
- package/build/actions/tableSchema/asMarkdown.spec.js +0 -133
- package/build/document/Document.d.ts +0 -2
- package/build/document/Document.js +0 -2
- package/build/document/index.d.ts +0 -3
- package/build/document/index.js +0 -3
- package/build/document/types/Base.d.ts +0 -3
- package/build/document/types/Base.js +0 -2
- package/build/document/types/Json.d.ts +0 -5
- package/build/document/types/Json.js +0 -2
- package/build/document/validate.d.ts +0 -5
- package/build/document/validate.js +0 -23
- package/build/document/validate.spec.d.ts +0 -1
- package/build/document/validate.spec.js +0 -71
- package/build/plugin.d.ts +0 -6
- package/build/plugin.js +0 -15
- package/build/schema/convert/toHtml.d.ts +0 -4
- package/build/schema/convert/toHtml.js +0 -107
- package/build/schema/convert/toHtml.spec.d.ts +0 -1
- package/build/schema/convert/toHtml.spec.js +0 -432
- package/build/schema/convert/toMarkdown.d.ts +0 -4
- package/build/schema/convert/toMarkdown.js +0 -75
- package/build/schema/convert/toMarkdown.spec.d.ts +0 -1
- package/build/schema/convert/toMarkdown.spec.js +0 -137
- package/build/schema/index.d.ts +0 -2
- package/build/schema/index.js +0 -3
- package/build/tableSchema/convert/toHtml.d.ts +0 -4
- package/build/tableSchema/convert/toHtml.js +0 -80
- package/build/tableSchema/convert/toHtml.spec.d.ts +0 -1
- package/build/tableSchema/convert/toHtml.spec.js +0 -375
- package/build/tableSchema/convert/toMarkdown.d.ts +0 -4
- package/build/tableSchema/convert/toMarkdown.js +0 -57
- package/build/tableSchema/convert/toMarkdown.spec.d.ts +0 -1
- package/build/tableSchema/convert/toMarkdown.spec.js +0 -141
- package/build/tableSchema/index.d.ts +0 -2
- package/build/tableSchema/index.js +0 -3
- /package/build/{actions/tableSchema/asHtml.spec.d.ts → examples/client.d.ts} +0 -0
- /package/build/{actions/tableSchema/asMarkdown.spec.d.ts → main.d.ts} +0 -0
|
@@ -32,8 +32,8 @@ describe("validateDatasetTool", () => {
|
|
|
32
32
|
}, {});
|
|
33
33
|
expect.assert(result);
|
|
34
34
|
expect.assert(!("error" in result));
|
|
35
|
-
expect(result.valid).toBe(true);
|
|
36
|
-
expect(result.errors).toHaveLength(0);
|
|
35
|
+
expect(result.report.valid).toBe(true);
|
|
36
|
+
expect(result.report.errors).toHaveLength(0);
|
|
37
37
|
});
|
|
38
38
|
it("detects invalid resource data", async () => {
|
|
39
39
|
const source = {
|
|
@@ -58,9 +58,9 @@ describe("validateDatasetTool", () => {
|
|
|
58
58
|
}, {});
|
|
59
59
|
expect.assert(result);
|
|
60
60
|
expect.assert(!("error" in result));
|
|
61
|
-
expect(result.valid).toBe(false);
|
|
62
|
-
expect(result.errors).toHaveLength(1);
|
|
63
|
-
expect(result.errors).toContainEqual({
|
|
61
|
+
expect(result.report.valid).toBe(false);
|
|
62
|
+
expect(result.report.errors).toHaveLength(1);
|
|
63
|
+
expect(result.report.errors).toContainEqual({
|
|
64
64
|
type: "cell/type",
|
|
65
65
|
columnName: "id",
|
|
66
66
|
columnType: "integer",
|
|
@@ -99,8 +99,8 @@ describe("validateDatasetTool", () => {
|
|
|
99
99
|
}, {});
|
|
100
100
|
expect.assert(result);
|
|
101
101
|
expect.assert(!("error" in result));
|
|
102
|
-
expect(result.valid).toBe(false);
|
|
103
|
-
expect(result.errors).toHaveLength(2);
|
|
102
|
+
expect(result.report.valid).toBe(false);
|
|
103
|
+
expect(result.report.errors).toHaveLength(2);
|
|
104
104
|
});
|
|
105
105
|
it("validates dataset from file path", async () => {
|
|
106
106
|
const dataset = {
|
|
@@ -128,8 +128,8 @@ describe("validateDatasetTool", () => {
|
|
|
128
128
|
}, {});
|
|
129
129
|
expect.assert(result);
|
|
130
130
|
expect.assert(!("error" in result));
|
|
131
|
-
expect(result.valid).toBe(true);
|
|
132
|
-
expect(result.errors).toHaveLength(0);
|
|
131
|
+
expect(result.report.valid).toBe(true);
|
|
132
|
+
expect(result.report.errors).toHaveLength(0);
|
|
133
133
|
});
|
|
134
134
|
it("validates empty dataset", async () => {
|
|
135
135
|
const source = {
|
|
@@ -140,8 +140,8 @@ describe("validateDatasetTool", () => {
|
|
|
140
140
|
}, {});
|
|
141
141
|
expect.assert(result);
|
|
142
142
|
expect.assert(!("error" in result));
|
|
143
|
-
expect(result.valid).toBe(true);
|
|
144
|
-
expect(result.errors).toHaveLength(0);
|
|
143
|
+
expect(result.report.valid).toBe(true);
|
|
144
|
+
expect(result.report.errors).toHaveLength(0);
|
|
145
145
|
});
|
|
146
146
|
it("validates dataset with multiple valid resources", async () => {
|
|
147
147
|
const source = {
|
|
@@ -179,8 +179,8 @@ describe("validateDatasetTool", () => {
|
|
|
179
179
|
}, {});
|
|
180
180
|
expect.assert(result);
|
|
181
181
|
expect.assert(!("error" in result));
|
|
182
|
-
expect(result.valid).toBe(true);
|
|
183
|
-
expect(result.errors).toHaveLength(0);
|
|
182
|
+
expect(result.report.valid).toBe(true);
|
|
183
|
+
expect(result.report.errors).toHaveLength(0);
|
|
184
184
|
});
|
|
185
185
|
it("detects schema mismatch in resource", async () => {
|
|
186
186
|
const source = {
|
|
@@ -205,8 +205,8 @@ describe("validateDatasetTool", () => {
|
|
|
205
205
|
}, {});
|
|
206
206
|
expect.assert(result);
|
|
207
207
|
expect.assert(!("error" in result));
|
|
208
|
-
expect(result.valid).toBe(true);
|
|
209
|
-
expect(result.errors).toHaveLength(0);
|
|
208
|
+
expect(result.report.valid).toBe(true);
|
|
209
|
+
expect(result.report.errors).toHaveLength(0);
|
|
210
210
|
});
|
|
211
211
|
});
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rvb2xzL2RhdGFzZXQvdmFsaWRhdGUuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUVuRCxRQUFRLENBQUMscUJBQXFCLEVBQUUsR0FBRyxFQUFFO0lBQ25DLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7UUFDbEMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBQ3ZELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNwRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDcEQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ3JELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDNUQsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsNENBQTRDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDMUQsTUFBTSxNQUFNLEdBQVk7WUFDdEIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLElBQUksRUFBRSxlQUFlO29CQUNyQixJQUFJLEVBQUU7d0JBQ0osRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7d0JBQ3hCLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVB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QyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGF0YXNldCB9IGZyb20gXCJAZmFpcnNwZWMvbGlicmFyeVwiXG5pbXBvcnQgeyB3cml0ZVRlbXBGaWxlIH0gZnJvbSBcIkBmYWlyc3BlYy9saWJyYXJ5XCJcbmltcG9ydCB7IGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSBcInZpdGVzdFwiXG5pbXBvcnQgeyB2YWxpZGF0ZURhdGFzZXRUb29sIH0gZnJvbSBcIi4vdmFsaWRhdGUudHNcIlxuXG5kZXNjcmliZShcInZhbGlkYXRlRGF0YXNldFRvb2xcIiwgKCkgPT4ge1xuICBpdChcInZhbGlkYXRlcyB0b29sIHN0cnVjdHVyZVwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KHZhbGlkYXRlRGF0YXNldFRvb2wuaWQpLnRvQmUoXCJ2YWxpZGF0ZS1kYXRhc2V0XCIpXG4gICAgZXhwZWN0KHZhbGlkYXRlRGF0YXNldFRvb2wuZGVzY3JpcHRpb24pLnRvQmVUcnV0aHkoKVxuICAgIGV4cGVjdCh2YWxpZGF0ZURhdGFzZXRUb29sLmlucHV0U2NoZW1hKS50b0JlVHJ1dGh5KClcbiAgICBleHBlY3QodmFsaWRhdGVEYXRhc2V0VG9vbC5vdXRwdXRTY2hlbWEpLnRvQmVUcnV0aHkoKVxuICAgIGV4cGVjdCh2YWxpZGF0ZURhdGFzZXRUb29sLmV4ZWN1dGUpLnRvQmVUeXBlT2YoXCJmdW5jdGlvblwiKVxuICB9KVxuXG4gIGl0KFwidmFsaWRhdGVzIGEgdmFsaWQgZGF0YXNldCB3aXRoIGlubGluZSBkYXRhXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzb3VyY2U6IERhdGFzZXQgPSB7XG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwidGVzdF9yZXNvdXJjZVwiLFxuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIHsgaWQ6IDEsIG5hbWU6IFwiQWxpY2VcIiB9LFxuICAgICAgICAgICAgeyBpZDogMiwgbmFtZTogXCJCb2JcIiB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGFibGVTY2hlbWE6IHtcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgaWQ6IHsgdHlwZTogXCJpbnRlZ2VyXCIgfSxcbiAgICAgICAgICAgICAgbmFtZTogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHZhbGlkYXRlRGF0YXNldFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICBzb3VyY2UsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgKVxuXG4gICAgZXhwZWN0LmFzc2VydChyZXN1bHQpXG4gICAgZXhwZWN0LmFzc2VydCghKFwiZXJyb3JcIiBpbiByZXN1bHQpKVxuXG4gICAgZXhwZWN0KHJlc3VsdC52YWxpZCkudG9CZSh0cnVlKVxuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMClcbiAgfSlcblxuICBpdChcImRldGVjdHMgaW52YWxpZCByZXNvdXJjZSBkYXRhXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzb3VyY2U6IERhdGFzZXQgPSB7XG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwidGVzdF9yZXNvdXJjZVwiLFxuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIHsgaWQ6IDEsIG5hbWU6IFwiQWxpY2VcIiB9LFxuICAgICAgICAgICAgeyBpZDogXCJub3QtYS1udW1iZXJcIiwgbmFtZTogXCJCb2JcIiB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGFibGVTY2hlbWE6IHtcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgaWQ6IHsgdHlwZTogXCJpbnRlZ2VyXCIgfSxcbiAgICAgICAgICAgICAgbmFtZTogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHZhbGlkYXRlRGF0YXNldFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICBzb3VyY2UsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgKVxuXG4gICAgZXhwZWN0LmFzc2VydChyZXN1bHQpXG4gICAgZXhwZWN0LmFzc2VydCghKFwiZXJyb3JcIiBpbiByZXN1bHQpKVxuXG4gICAgZXhwZWN0KHJlc3VsdC52YWxpZCkudG9CZShmYWxzZSlcbiAgICBleHBlY3QocmVzdWx0LmVycm9ycykudG9IYXZlTGVuZ3RoKDEpXG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvcnMpLnRvQ29udGFpbkVxdWFsKHtcbiAgICAgIHR5cGU6IFwiY2VsbC90eXBlXCIsXG4gICAgICBjb2x1bW5OYW1lOiBcImlkXCIsXG4gICAgICBjb2x1bW5UeXBlOiBcImludGVnZXJcIixcbiAgICAgIHJvd051bWJlcjogMixcbiAgICAgIHJlc291cmNlTmFtZTogXCJ0ZXN0X3Jlc291cmNlXCIsXG4gICAgICBjZWxsOiBcIm5vdC1hLW51bWJlclwiLFxuICAgIH0pXG4gIH0pXG5cbiAgaXQoXCJkZXRlY3RzIGVycm9ycyBpbiBtdWx0aXBsZSByZXNvdXJjZXNcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNvdXJjZTogRGF0YXNldCA9IHtcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJyZXNvdXJjZV8xXCIsXG4gICAgICAgICAgZGF0YTogW3sgaWQ6IFwiaW52YWxpZFwiLCBuYW1lOiBcIkFsaWNlXCIgfV0sXG4gICAgICAgICAgdGFibGVTY2hlbWE6IHtcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgaWQ6IHsgdHlwZTogXCJpbnRlZ2VyXCIgfSxcbiAgICAgICAgICAgICAgbmFtZTogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcInJlc291cmNlXzJcIixcbiAgICAgICAgICBkYXRhOiBbeyBpZDogMiwgdmFsdWU6IFwiaW52YWxpZFwiIH1dLFxuICAgICAgICAgIHRhYmxlU2NoZW1hOiB7XG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIGlkOiB7IHR5cGU6IFwiaW50ZWdlclwiIH0sXG4gICAgICAgICAgICAgIHZhbHVlOiB7IHR5cGU6IFwiaW50ZWdlclwiIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHZhbGlkYXRlRGF0YXNldFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICBzb3VyY2UsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgKVxuXG4gICAgZXhwZWN0LmFzc2VydChyZXN1bHQpXG4gICAgZXhwZWN0LmFzc2VydCghKFwiZXJyb3JcIiBpbiByZXN1bHQpKVxuXG4gICAgZXhwZWN0KHJlc3VsdC52YWxpZCkudG9CZShmYWxzZSlcbiAgICBleHBlY3QocmVzdWx0LmVycm9ycykudG9IYXZlTGVuZ3RoKDIpXG4gIH0pXG5cbiAgaXQoXCJ2YWxpZGF0ZXMgZGF0YXNldCBmcm9tIGZpbGUgcGF0aFwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZGF0YXNldCA9IHtcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJ0ZXN0XCIsXG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgeyBpZDogMSwgbmFtZTogXCJBbGljZVwiIH0sXG4gICAgICAgICAgICB7IGlkOiAyLCBuYW1lOiBcIkJvYlwiIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICB0YWJsZVNjaGVtYToge1xuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICBpZDogeyB0eXBlOiBcImludGVnZXJcIiB9LFxuICAgICAgICAgICAgICBuYW1lOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfVxuICAgIGNvbnN0IHBhdGggPSBhd2FpdCB3cml0ZVRlbXBGaWxlKEpTT04uc3RyaW5naWZ5KGRhdGFzZXQpLCB7XG4gICAgICBmb3JtYXQ6IFwianNvblwiLFxuICAgIH0pXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB2YWxpZGF0ZURhdGFzZXRUb29sLmV4ZWN1dGU/LihcbiAgICAgIHtcbiAgICAgICAgc291cmNlOiBwYXRoLFxuICAgICAgfSxcbiAgICAgIHt9LFxuICAgIClcblxuICAgIGV4cGVjdC5hc3NlcnQocmVzdWx0KVxuICAgIGV4cGVjdC5hc3NlcnQoIShcImVycm9yXCIgaW4gcmVzdWx0KSlcblxuICAgIGV4cGVjdChyZXN1bHQudmFsaWQpLnRvQmUodHJ1ZSlcbiAgICBleHBlY3QocmVzdWx0LmVycm9ycykudG9IYXZlTGVuZ3RoKDApXG4gIH0pXG5cbiAgaXQoXCJ2YWxpZGF0ZXMgZW1wdHkgZGF0YXNldFwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc291cmNlOiBEYXRhc2V0ID0ge1xuICAgICAgcmVzb3VyY2VzOiBbXSxcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB2YWxpZGF0ZURhdGFzZXRUb29sLmV4ZWN1dGU/LihcbiAgICAgIHtcbiAgICAgICAgc291cmNlLFxuICAgICAgfSxcbiAgICAgIHt9LFxuICAgIClcblxuICAgIGV4cGVjdC5hc3NlcnQocmVzdWx0KVxuICAgIGV4cGVjdC5hc3NlcnQoIShcImVycm9yXCIgaW4gcmVzdWx0KSlcblxuICAgIGV4cGVjdChyZXN1bHQudmFsaWQpLnRvQmUodHJ1ZSlcbiAgICBleHBlY3QocmVzdWx0LmVycm9ycykudG9IYXZlTGVuZ3RoKDApXG4gIH0pXG5cbiAgaXQoXCJ2YWxpZGF0ZXMgZGF0YXNldCB3aXRoIG11bHRpcGxlIHZhbGlkIHJlc291cmNlc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc291cmNlOiBEYXRhc2V0ID0ge1xuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcInVzZXJzXCIsXG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgeyBpZDogMSwgbmFtZTogXCJBbGljZVwiIH0sXG4gICAgICAgICAgICB7IGlkOiAyLCBuYW1lOiBcIkJvYlwiIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICB0YWJsZVNjaGVtYToge1xuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICBpZDogeyB0eXBlOiBcImludGVnZXJcIiB9LFxuICAgICAgICAgICAgICBuYW1lOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwic2NvcmVzXCIsXG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgeyB1c2VyX2lkOiAxLCBzY29yZTogOTUgfSxcbiAgICAgICAgICAgIHsgdXNlcl9pZDogMiwgc2NvcmU6IDg3IH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICB0YWJsZVNjaGVtYToge1xuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICB1c2VyX2lkOiB7IHR5cGU6IFwiaW50ZWdlclwiIH0sXG4gICAgICAgICAgICAgIHNjb3JlOiB7IHR5cGU6IFwiaW50ZWdlclwiIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHZhbGlkYXRlRGF0YXNldFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICBzb3VyY2UsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgKVxuXG4gICAgZXhwZWN0LmFzc2VydChyZXN1bHQpXG4gICAgZXhwZWN0LmFzc2VydCghKFwiZXJyb3JcIiBpbiByZXN1bHQpKVxuXG4gICAgZXhwZWN0KHJlc3VsdC52YWxpZCkudG9CZSh0cnVlKVxuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMClcbiAgfSlcblxuICBpdChcImRldGVjdHMgc2NoZW1hIG1pc21hdGNoIGluIHJlc291cmNlXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzb3VyY2U6IERhdGFzZXQgPSB7XG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwidGVzdFwiLFxuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIHsgaWQ6IDEsIG5hbWU6IFwiQWxpY2VcIiwgZXh0cmE6IFwiZmllbGRcIiB9LFxuICAgICAgICAgICAgeyBpZDogMiwgbmFtZTogXCJCb2JcIiwgZXh0cmE6IFwiZmllbGRcIiB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGFibGVTY2hlbWE6IHtcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgaWQ6IHsgdHlwZTogXCJpbnRlZ2VyXCIgfSxcbiAgICAgICAgICAgICAgbmFtZTogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHZhbGlkYXRlRGF0YXNldFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICBzb3VyY2UsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgKVxuXG4gICAgZXhwZWN0LmFzc2VydChyZXN1bHQpXG4gICAgZXhwZWN0LmFzc2VydCghKFwiZXJyb3JcIiBpbiByZXN1bHQpKVxuXG4gICAgZXhwZWN0KHJlc3VsdC52YWxpZCkudG9CZSh0cnVlKVxuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMClcbiAgfSlcbn0pXG4iXX0=
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rvb2xzL2RhdGFzZXQvdmFsaWRhdGUuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUVuRCxRQUFRLENBQUMscUJBQXFCLEVBQUUsR0FBRyxFQUFFO0lBQ25DLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7UUFDbEMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBQ3ZELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNwRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDcEQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ3JELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDNUQsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsNENBQTRDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDMUQsTUFBTSxNQUFNLEdBQVk7WUFDdEIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLElBQUksRUFBRSxlQUFlO29CQUNyQixJQUFJLEVBQUU7d0JBQ0osRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7d0JBQ3hCLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVB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Q0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN0QyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDOUMsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGF0YXNldCB9IGZyb20gXCJAZmFpcnNwZWMvbGlicmFyeVwiXG5pbXBvcnQgeyB3cml0ZVRlbXBGaWxlIH0gZnJvbSBcIkBmYWlyc3BlYy9saWJyYXJ5XCJcbmltcG9ydCB7IGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSBcInZpdGVzdFwiXG5pbXBvcnQgeyB2YWxpZGF0ZURhdGFzZXRUb29sIH0gZnJvbSBcIi4vdmFsaWRhdGUudHNcIlxuXG5kZXNjcmliZShcInZhbGlkYXRlRGF0YXNldFRvb2xcIiwgKCkgPT4ge1xuICBpdChcInZhbGlkYXRlcyB0b29sIHN0cnVjdHVyZVwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KHZhbGlkYXRlRGF0YXNldFRvb2wuaWQpLnRvQmUoXCJ2YWxpZGF0ZS1kYXRhc2V0XCIpXG4gICAgZXhwZWN0KHZhbGlkYXRlRGF0YXNldFRvb2wuZGVzY3JpcHRpb24pLnRvQmVUcnV0aHkoKVxuICAgIGV4cGVjdCh2YWxpZGF0ZURhdGFzZXRUb29sLmlucHV0U2NoZW1hKS50b0JlVHJ1dGh5KClcbiAgICBleHBlY3QodmFsaWRhdGVEYXRhc2V0VG9vbC5vdXRwdXRTY2hlbWEpLnRvQmVUcnV0aHkoKVxuICAgIGV4cGVjdCh2YWxpZGF0ZURhdGFzZXRUb29sLmV4ZWN1dGUpLnRvQmVUeXBlT2YoXCJmdW5jdGlvblwiKVxuICB9KVxuXG4gIGl0KFwidmFsaWRhdGVzIGEgdmFsaWQgZGF0YXNldCB3aXRoIGlubGluZSBkYXRhXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzb3VyY2U6IERhdGFzZXQgPSB7XG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwidGVzdF9yZXNvdXJjZVwiLFxuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIHsgaWQ6IDEsIG5hbWU6IFwiQWxpY2VcIiB9LFxuICAgICAgICAgICAgeyBpZDogMiwgbmFtZTogXCJCb2JcIiB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGFibGVTY2hlbWE6IHtcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgaWQ6IHsgdHlwZTogXCJpbnRlZ2VyXCIgfSxcbiAgICAgICAgICAgICAgbmFtZTogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHZhbGlkYXRlRGF0YXNldFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICBzb3VyY2UsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgKVxuXG4gICAgZXhwZWN0LmFzc2VydChyZXN1bHQpXG4gICAgZXhwZWN0LmFzc2VydCghKFwiZXJyb3JcIiBpbiByZXN1bHQpKVxuXG4gICAgZXhwZWN0KHJlc3VsdC5yZXBvcnQudmFsaWQpLnRvQmUodHJ1ZSlcbiAgICBleHBlY3QocmVzdWx0LnJlcG9ydC5lcnJvcnMpLnRvSGF2ZUxlbmd0aCgwKVxuICB9KVxuXG4gIGl0KFwiZGV0ZWN0cyBpbnZhbGlkIHJlc291cmNlIGRhdGFcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNvdXJjZTogRGF0YXNldCA9IHtcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJ0ZXN0X3Jlc291cmNlXCIsXG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgeyBpZDogMSwgbmFtZTogXCJBbGljZVwiIH0sXG4gICAgICAgICAgICB7IGlkOiBcIm5vdC1hLW51bWJlclwiLCBuYW1lOiBcIkJvYlwiIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICB0YWJsZVNjaGVtYToge1xuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICBpZDogeyB0eXBlOiBcImludGVnZXJcIiB9LFxuICAgICAgICAgICAgICBuYW1lOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdmFsaWRhdGVEYXRhc2V0VG9vbC5leGVjdXRlPy4oXG4gICAgICB7XG4gICAgICAgIHNvdXJjZSxcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApXG5cbiAgICBleHBlY3QuYXNzZXJ0KHJlc3VsdClcbiAgICBleHBlY3QuYXNzZXJ0KCEoXCJlcnJvclwiIGluIHJlc3VsdCkpXG5cbiAgICBleHBlY3QocmVzdWx0LnJlcG9ydC52YWxpZCkudG9CZShmYWxzZSlcbiAgICBleHBlY3QocmVzdWx0LnJlcG9ydC5lcnJvcnMpLnRvSGF2ZUxlbmd0aCgxKVxuICAgIGV4cGVjdChyZXN1bHQucmVwb3J0LmVycm9ycykudG9Db250YWluRXF1YWwoe1xuICAgICAgdHlwZTogXCJjZWxsL3R5cGVcIixcbiAgICAgIGNvbHVtbk5hbWU6IFwiaWRcIixcbiAgICAgIGNvbHVtblR5cGU6IFwiaW50ZWdlclwiLFxuICAgICAgcm93TnVtYmVyOiAyLFxuICAgICAgcmVzb3VyY2VOYW1lOiBcInRlc3RfcmVzb3VyY2VcIixcbiAgICAgIGNlbGw6IFwibm90LWEtbnVtYmVyXCIsXG4gICAgfSlcbiAgfSlcblxuICBpdChcImRldGVjdHMgZXJyb3JzIGluIG11bHRpcGxlIHJlc291cmNlc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc291cmNlOiBEYXRhc2V0ID0ge1xuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcInJlc291cmNlXzFcIixcbiAgICAgICAgICBkYXRhOiBbeyBpZDogXCJpbnZhbGlkXCIsIG5hbWU6IFwiQWxpY2VcIiB9XSxcbiAgICAgICAgICB0YWJsZVNjaGVtYToge1xuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICBpZDogeyB0eXBlOiBcImludGVnZXJcIiB9LFxuICAgICAgICAgICAgICBuYW1lOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwicmVzb3VyY2VfMlwiLFxuICAgICAgICAgIGRhdGE6IFt7IGlkOiAyLCB2YWx1ZTogXCJpbnZhbGlkXCIgfV0sXG4gICAgICAgICAgdGFibGVTY2hlbWE6IHtcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgaWQ6IHsgdHlwZTogXCJpbnRlZ2VyXCIgfSxcbiAgICAgICAgICAgICAgdmFsdWU6IHsgdHlwZTogXCJpbnRlZ2VyXCIgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdmFsaWRhdGVEYXRhc2V0VG9vbC5leGVjdXRlPy4oXG4gICAgICB7XG4gICAgICAgIHNvdXJjZSxcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApXG5cbiAgICBleHBlY3QuYXNzZXJ0KHJlc3VsdClcbiAgICBleHBlY3QuYXNzZXJ0KCEoXCJlcnJvclwiIGluIHJlc3VsdCkpXG5cbiAgICBleHBlY3QocmVzdWx0LnJlcG9ydC52YWxpZCkudG9CZShmYWxzZSlcbiAgICBleHBlY3QocmVzdWx0LnJlcG9ydC5lcnJvcnMpLnRvSGF2ZUxlbmd0aCgyKVxuICB9KVxuXG4gIGl0KFwidmFsaWRhdGVzIGRhdGFzZXQgZnJvbSBmaWxlIHBhdGhcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGRhdGFzZXQgPSB7XG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwidGVzdFwiLFxuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIHsgaWQ6IDEsIG5hbWU6IFwiQWxpY2VcIiB9LFxuICAgICAgICAgICAgeyBpZDogMiwgbmFtZTogXCJCb2JcIiB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGFibGVTY2hlbWE6IHtcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgaWQ6IHsgdHlwZTogXCJpbnRlZ2VyXCIgfSxcbiAgICAgICAgICAgICAgbmFtZTogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1cbiAgICBjb25zdCBwYXRoID0gYXdhaXQgd3JpdGVUZW1wRmlsZShKU09OLnN0cmluZ2lmeShkYXRhc2V0KSwge1xuICAgICAgZm9ybWF0OiBcImpzb25cIixcbiAgICB9KVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdmFsaWRhdGVEYXRhc2V0VG9vbC5leGVjdXRlPy4oXG4gICAgICB7XG4gICAgICAgIHNvdXJjZTogcGF0aCxcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApXG5cbiAgICBleHBlY3QuYXNzZXJ0KHJlc3VsdClcbiAgICBleHBlY3QuYXNzZXJ0KCEoXCJlcnJvclwiIGluIHJlc3VsdCkpXG5cbiAgICBleHBlY3QocmVzdWx0LnJlcG9ydC52YWxpZCkudG9CZSh0cnVlKVxuICAgIGV4cGVjdChyZXN1bHQucmVwb3J0LmVycm9ycykudG9IYXZlTGVuZ3RoKDApXG4gIH0pXG5cbiAgaXQoXCJ2YWxpZGF0ZXMgZW1wdHkgZGF0YXNldFwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc291cmNlOiBEYXRhc2V0ID0ge1xuICAgICAgcmVzb3VyY2VzOiBbXSxcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB2YWxpZGF0ZURhdGFzZXRUb29sLmV4ZWN1dGU/LihcbiAgICAgIHtcbiAgICAgICAgc291cmNlLFxuICAgICAgfSxcbiAgICAgIHt9LFxuICAgIClcblxuICAgIGV4cGVjdC5hc3NlcnQocmVzdWx0KVxuICAgIGV4cGVjdC5hc3NlcnQoIShcImVycm9yXCIgaW4gcmVzdWx0KSlcblxuICAgIGV4cGVjdChyZXN1bHQucmVwb3J0LnZhbGlkKS50b0JlKHRydWUpXG4gICAgZXhwZWN0KHJlc3VsdC5yZXBvcnQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMClcbiAgfSlcblxuICBpdChcInZhbGlkYXRlcyBkYXRhc2V0IHdpdGggbXVsdGlwbGUgdmFsaWQgcmVzb3VyY2VzXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzb3VyY2U6IERhdGFzZXQgPSB7XG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwidXNlcnNcIixcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICB7IGlkOiAxLCBuYW1lOiBcIkFsaWNlXCIgfSxcbiAgICAgICAgICAgIHsgaWQ6IDIsIG5hbWU6IFwiQm9iXCIgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHRhYmxlU2NoZW1hOiB7XG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIGlkOiB7IHR5cGU6IFwiaW50ZWdlclwiIH0sXG4gICAgICAgICAgICAgIG5hbWU6IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJzY29yZXNcIixcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICB7IHVzZXJfaWQ6IDEsIHNjb3JlOiA5NSB9LFxuICAgICAgICAgICAgeyB1c2VyX2lkOiAyLCBzY29yZTogODcgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHRhYmxlU2NoZW1hOiB7XG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIHVzZXJfaWQ6IHsgdHlwZTogXCJpbnRlZ2VyXCIgfSxcbiAgICAgICAgICAgICAgc2NvcmU6IHsgdHlwZTogXCJpbnRlZ2VyXCIgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdmFsaWRhdGVEYXRhc2V0VG9vbC5leGVjdXRlPy4oXG4gICAgICB7XG4gICAgICAgIHNvdXJjZSxcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApXG5cbiAgICBleHBlY3QuYXNzZXJ0KHJlc3VsdClcbiAgICBleHBlY3QuYXNzZXJ0KCEoXCJlcnJvclwiIGluIHJlc3VsdCkpXG5cbiAgICBleHBlY3QocmVzdWx0LnJlcG9ydC52YWxpZCkudG9CZSh0cnVlKVxuICAgIGV4cGVjdChyZXN1bHQucmVwb3J0LmVycm9ycykudG9IYXZlTGVuZ3RoKDApXG4gIH0pXG5cbiAgaXQoXCJkZXRlY3RzIHNjaGVtYSBtaXNtYXRjaCBpbiByZXNvdXJjZVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc291cmNlOiBEYXRhc2V0ID0ge1xuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcInRlc3RcIixcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICB7IGlkOiAxLCBuYW1lOiBcIkFsaWNlXCIsIGV4dHJhOiBcImZpZWxkXCIgfSxcbiAgICAgICAgICAgIHsgaWQ6IDIsIG5hbWU6IFwiQm9iXCIsIGV4dHJhOiBcImZpZWxkXCIgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHRhYmxlU2NoZW1hOiB7XG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIGlkOiB7IHR5cGU6IFwiaW50ZWdlclwiIH0sXG4gICAgICAgICAgICAgIG5hbWU6IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB2YWxpZGF0ZURhdGFzZXRUb29sLmV4ZWN1dGU/LihcbiAgICAgIHtcbiAgICAgICAgc291cmNlLFxuICAgICAgfSxcbiAgICAgIHt9LFxuICAgIClcblxuICAgIGV4cGVjdC5hc3NlcnQocmVzdWx0KVxuICAgIGV4cGVjdC5hc3NlcnQoIShcImVycm9yXCIgaW4gcmVzdWx0KSlcblxuICAgIGV4cGVjdChyZXN1bHQucmVwb3J0LnZhbGlkKS50b0JlKHRydWUpXG4gICAgZXhwZWN0KHJlc3VsdC5yZXBvcnQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMClcbiAgfSlcbn0pXG4iXX0=
|
|
@@ -302,7 +302,7 @@ export declare const inferDialectTool: import("@mastra/core/tools").Tool<{
|
|
|
302
302
|
title?: string | undefined;
|
|
303
303
|
description?: string | undefined;
|
|
304
304
|
rdfType?: string | undefined;
|
|
305
|
-
format?: undefined;
|
|
305
|
+
format?: "" | undefined;
|
|
306
306
|
enum?: boolean[] | undefined;
|
|
307
307
|
const?: boolean | undefined;
|
|
308
308
|
default?: boolean[] | undefined;
|
|
@@ -333,7 +333,7 @@ export declare const inferDialectTool: import("@mastra/core/tools").Tool<{
|
|
|
333
333
|
multipleOf?: number | undefined;
|
|
334
334
|
groupChar?: string | undefined;
|
|
335
335
|
withText?: boolean | undefined;
|
|
336
|
-
format?: undefined;
|
|
336
|
+
format?: "" | undefined;
|
|
337
337
|
} | {
|
|
338
338
|
type: "integer";
|
|
339
339
|
format: "categorical";
|
|
@@ -381,7 +381,7 @@ export declare const inferDialectTool: import("@mastra/core/tools").Tool<{
|
|
|
381
381
|
decimalChar?: string | undefined;
|
|
382
382
|
groupChar?: string | undefined;
|
|
383
383
|
withText?: boolean | undefined;
|
|
384
|
-
format?: undefined;
|
|
384
|
+
format?: "" | undefined;
|
|
385
385
|
} | {
|
|
386
386
|
type: "string";
|
|
387
387
|
format: "list";
|
|
@@ -592,7 +592,7 @@ export declare const inferDialectTool: import("@mastra/core/tools").Tool<{
|
|
|
592
592
|
minLength?: number | undefined;
|
|
593
593
|
maxLength?: number | undefined;
|
|
594
594
|
pattern?: string | undefined;
|
|
595
|
-
format?: undefined;
|
|
595
|
+
format?: "" | undefined;
|
|
596
596
|
} | {
|
|
597
597
|
type: "string";
|
|
598
598
|
format: "categorical";
|
|
@@ -645,7 +645,7 @@ export declare const inferDialectTool: import("@mastra/core/tools").Tool<{
|
|
|
645
645
|
title?: string | undefined;
|
|
646
646
|
description?: string | undefined;
|
|
647
647
|
rdfType?: string | undefined;
|
|
648
|
-
format?: undefined;
|
|
648
|
+
format?: "" | undefined;
|
|
649
649
|
enum?: unknown[] | undefined;
|
|
650
650
|
const?: unknown[] | undefined;
|
|
651
651
|
default?: unknown[][] | undefined;
|
|
@@ -762,13 +762,13 @@ export declare const inferDialectTool: import("@mastra/core/tools").Tool<{
|
|
|
762
762
|
dependentRequired?: unknown;
|
|
763
763
|
dependentSchemas?: unknown;
|
|
764
764
|
required?: unknown;
|
|
765
|
-
format?: undefined;
|
|
765
|
+
format?: "" | undefined;
|
|
766
766
|
} | {
|
|
767
767
|
title?: string | undefined;
|
|
768
768
|
description?: string | undefined;
|
|
769
769
|
rdfType?: string | undefined;
|
|
770
770
|
type?: "null" | undefined;
|
|
771
|
-
format?: undefined;
|
|
771
|
+
format?: "" | undefined;
|
|
772
772
|
enum?: unknown[][] | undefined;
|
|
773
773
|
const?: unknown[] | undefined;
|
|
774
774
|
default?: unknown[] | undefined;
|
|
@@ -798,92 +798,94 @@ export declare const inferDialectTool: import("@mastra/core/tools").Tool<{
|
|
|
798
798
|
sampleBytes?: number | undefined;
|
|
799
799
|
} | undefined;
|
|
800
800
|
}, {
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
801
|
+
dialect?: {
|
|
802
|
+
format: "csv";
|
|
803
|
+
$schema?: string | undefined;
|
|
804
|
+
title?: string | undefined;
|
|
805
|
+
description?: string | undefined;
|
|
806
|
+
delimiter?: string | undefined;
|
|
807
|
+
lineTerminator?: string | undefined;
|
|
808
|
+
quoteChar?: string | undefined;
|
|
809
|
+
nullSequence?: string | undefined;
|
|
810
|
+
headerRows?: false | number[] | undefined;
|
|
811
|
+
headerJoin?: string | undefined;
|
|
812
|
+
commentRows?: number[] | undefined;
|
|
813
|
+
commentPrefix?: string | undefined;
|
|
814
|
+
columnNames?: string[] | undefined;
|
|
815
|
+
} | {
|
|
816
|
+
format: "tsv";
|
|
817
|
+
$schema?: string | undefined;
|
|
818
|
+
title?: string | undefined;
|
|
819
|
+
description?: string | undefined;
|
|
820
|
+
lineTerminator?: string | undefined;
|
|
821
|
+
nullSequence?: string | undefined;
|
|
822
|
+
headerRows?: false | number[] | undefined;
|
|
823
|
+
headerJoin?: string | undefined;
|
|
824
|
+
commentRows?: number[] | undefined;
|
|
825
|
+
commentPrefix?: string | undefined;
|
|
826
|
+
columnNames?: string[] | undefined;
|
|
827
|
+
} | {
|
|
828
|
+
format: "json";
|
|
829
|
+
$schema?: string | undefined;
|
|
830
|
+
title?: string | undefined;
|
|
831
|
+
description?: string | undefined;
|
|
832
|
+
jsonPointer?: string | undefined;
|
|
833
|
+
rowType?: "object" | "array" | undefined;
|
|
834
|
+
headerRows?: false | number[] | undefined;
|
|
835
|
+
headerJoin?: string | undefined;
|
|
836
|
+
commentRows?: number[] | undefined;
|
|
837
|
+
commentPrefix?: string | undefined;
|
|
838
|
+
columnNames?: string[] | undefined;
|
|
839
|
+
} | {
|
|
840
|
+
format: "jsonl";
|
|
841
|
+
$schema?: string | undefined;
|
|
842
|
+
title?: string | undefined;
|
|
843
|
+
description?: string | undefined;
|
|
844
|
+
rowType?: "object" | "array" | undefined;
|
|
845
|
+
headerRows?: false | number[] | undefined;
|
|
846
|
+
headerJoin?: string | undefined;
|
|
847
|
+
commentRows?: number[] | undefined;
|
|
848
|
+
commentPrefix?: string | undefined;
|
|
849
|
+
columnNames?: string[] | undefined;
|
|
850
|
+
} | {
|
|
851
|
+
format: "xlsx";
|
|
852
|
+
$schema?: string | undefined;
|
|
853
|
+
title?: string | undefined;
|
|
854
|
+
description?: string | undefined;
|
|
855
|
+
sheetName?: string | undefined;
|
|
856
|
+
sheetNumber?: number | undefined;
|
|
857
|
+
headerRows?: false | number[] | undefined;
|
|
858
|
+
headerJoin?: string | undefined;
|
|
859
|
+
commentRows?: number[] | undefined;
|
|
860
|
+
commentPrefix?: string | undefined;
|
|
861
|
+
columnNames?: string[] | undefined;
|
|
862
|
+
} | {
|
|
863
|
+
format: "ods";
|
|
864
|
+
$schema?: string | undefined;
|
|
865
|
+
title?: string | undefined;
|
|
866
|
+
description?: string | undefined;
|
|
867
|
+
sheetName?: string | undefined;
|
|
868
|
+
sheetNumber?: number | undefined;
|
|
869
|
+
headerRows?: false | number[] | undefined;
|
|
870
|
+
headerJoin?: string | undefined;
|
|
871
|
+
commentRows?: number[] | undefined;
|
|
872
|
+
commentPrefix?: string | undefined;
|
|
873
|
+
columnNames?: string[] | undefined;
|
|
874
|
+
} | {
|
|
875
|
+
format: "sqlite";
|
|
876
|
+
$schema?: string | undefined;
|
|
877
|
+
title?: string | undefined;
|
|
878
|
+
description?: string | undefined;
|
|
879
|
+
tableName?: string | undefined;
|
|
880
|
+
} | {
|
|
881
|
+
format: "parquet";
|
|
882
|
+
$schema?: string | undefined;
|
|
883
|
+
title?: string | undefined;
|
|
884
|
+
description?: string | undefined;
|
|
885
|
+
} | {
|
|
886
|
+
format: "arrow";
|
|
887
|
+
$schema?: string | undefined;
|
|
888
|
+
title?: string | undefined;
|
|
889
|
+
description?: string | undefined;
|
|
890
|
+
} | undefined;
|
|
891
|
+
}, unknown, unknown, import("@mastra/core/tools").ToolExecutionContext<unknown, unknown, unknown>, "infer-dialect", unknown>;
|
|
@@ -8,9 +8,12 @@ export const inferDialectTool = createTool({
|
|
|
8
8
|
resource: Resource.describe("The resource to infer dialect from"),
|
|
9
9
|
options: InferDialectOptions.optional().describe("Dialect inference options"),
|
|
10
10
|
}),
|
|
11
|
-
outputSchema:
|
|
11
|
+
outputSchema: z.object({
|
|
12
|
+
dialect: Dialect.optional(),
|
|
13
|
+
}),
|
|
12
14
|
execute: async (input) => {
|
|
13
|
-
|
|
15
|
+
const dialect = await inferDialect(input.resource, input.options);
|
|
16
|
+
return { dialect };
|
|
14
17
|
},
|
|
15
18
|
});
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90b29scy9kaWFsZWN0L2luZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixRQUFRLEdBQ1QsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDL0MsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUV2QixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7SUFDekMsRUFBRSxFQUFFLGVBQWU7SUFDbkIsV0FBVyxFQUNULGdKQUFnSjtJQUNsSixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNwQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxvQ0FBb0MsQ0FBQztRQUNqRSxPQUFPLEVBQUUsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUM5QywyQkFBMkIsQ0FDNUI7S0FDRixDQUFDO0lBQ0YsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDckIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUU7S0FDNUIsQ0FBQztJQUNGLE9BQU8sRUFBRSxLQUFLLEVBQUMsS0FBSyxFQUFDLEVBQUU7UUFDckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFBO0lBQ3BCLENBQUM7Q0FDRixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaWFsZWN0LFxuICBJbmZlckRpYWxlY3RPcHRpb25zLFxuICBpbmZlckRpYWxlY3QsXG4gIFJlc291cmNlLFxufSBmcm9tIFwiQGZhaXJzcGVjL2xpYnJhcnlcIlxuaW1wb3J0IHsgY3JlYXRlVG9vbCB9IGZyb20gXCJAbWFzdHJhL2NvcmUvdG9vbHNcIlxuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIlxuXG5leHBvcnQgY29uc3QgaW5mZXJEaWFsZWN0VG9vbCA9IGNyZWF0ZVRvb2woe1xuICBpZDogXCJpbmZlci1kaWFsZWN0XCIsXG4gIGRlc2NyaXB0aW9uOlxuICAgIFwiSW5mZXIgdGhlIGRpYWxlY3QgKGZvcm1hdCBhbmQgZm9ybWF0LXNwZWNpZmljIHByb3BlcnRpZXMpIGZyb20gYSByZXNvdXJjZS4gQW5hbHl6ZXMgdGhlIGRhdGEgdG8gZGV0ZXJtaW5lIENTViBkZWxpbWl0ZXJzLCBKU09OIHN0cnVjdHVyZSwgZXRjLlwiLFxuICBpbnB1dFNjaGVtYTogei5vYmplY3Qoe1xuICAgIHJlc291cmNlOiBSZXNvdXJjZS5kZXNjcmliZShcIlRoZSByZXNvdXJjZSB0byBpbmZlciBkaWFsZWN0IGZyb21cIiksXG4gICAgb3B0aW9uczogSW5mZXJEaWFsZWN0T3B0aW9ucy5vcHRpb25hbCgpLmRlc2NyaWJlKFxuICAgICAgXCJEaWFsZWN0IGluZmVyZW5jZSBvcHRpb25zXCIsXG4gICAgKSxcbiAgfSksXG4gIG91dHB1dFNjaGVtYTogei5vYmplY3Qoe1xuICAgIGRpYWxlY3Q6IERpYWxlY3Qub3B0aW9uYWwoKSxcbiAgfSksXG4gIGV4ZWN1dGU6IGFzeW5jIGlucHV0ID0+IHtcbiAgICBjb25zdCBkaWFsZWN0ID0gYXdhaXQgaW5mZXJEaWFsZWN0KGlucHV0LnJlc291cmNlLCBpbnB1dC5vcHRpb25zKVxuICAgIHJldHVybiB7IGRpYWxlY3QgfVxuICB9LFxufSlcbiJdfQ==
|
|
@@ -17,7 +17,7 @@ describe("inferDialectTool", () => {
|
|
|
17
17
|
}, {});
|
|
18
18
|
expect.assert(result);
|
|
19
19
|
expect.assert(!("error" in result));
|
|
20
|
-
expect(result).toEqual({
|
|
20
|
+
expect(result.dialect).toEqual({
|
|
21
21
|
format: "csv",
|
|
22
22
|
delimiter: ",",
|
|
23
23
|
headerRows: [1],
|
|
@@ -32,7 +32,7 @@ describe("inferDialectTool", () => {
|
|
|
32
32
|
}, {});
|
|
33
33
|
expect.assert(result);
|
|
34
34
|
expect.assert(!("error" in result));
|
|
35
|
-
expect(result).toEqual({
|
|
35
|
+
expect(result.dialect).toEqual({
|
|
36
36
|
format: "tsv",
|
|
37
37
|
headerRows: [1],
|
|
38
38
|
lineTerminator: "\n",
|
|
@@ -46,7 +46,7 @@ describe("inferDialectTool", () => {
|
|
|
46
46
|
}, {});
|
|
47
47
|
expect.assert(result);
|
|
48
48
|
expect.assert(!("error" in result));
|
|
49
|
-
expect(result).toEqual({
|
|
49
|
+
expect(result.dialect).toEqual({
|
|
50
50
|
format: "json",
|
|
51
51
|
rowType: "object",
|
|
52
52
|
});
|
|
@@ -62,8 +62,8 @@ describe("inferDialectTool", () => {
|
|
|
62
62
|
}, {});
|
|
63
63
|
expect.assert(result);
|
|
64
64
|
expect.assert(!("error" in result));
|
|
65
|
-
expect(result.format).toBe("json");
|
|
66
|
-
expect(result).toHaveProperty("rowType");
|
|
65
|
+
expect(result.dialect?.format).toBe("json");
|
|
66
|
+
expect(result.dialect).toHaveProperty("rowType");
|
|
67
67
|
});
|
|
68
68
|
it("infers JSONL format", async () => {
|
|
69
69
|
const path = await writeTempFile('{"id":1,"name":"alice"}\n{"id":2,"name":"bob"}');
|
|
@@ -73,7 +73,7 @@ describe("inferDialectTool", () => {
|
|
|
73
73
|
}, {});
|
|
74
74
|
expect.assert(result);
|
|
75
75
|
expect.assert(!("error" in result));
|
|
76
|
-
expect(result.format).toBe("jsonl");
|
|
76
|
+
expect(result.dialect?.format).toBe("jsonl");
|
|
77
77
|
});
|
|
78
78
|
it("infers CSV with different delimiter", async () => {
|
|
79
79
|
const path = await writeTempFile("id;name;age\n1;alice;25\n2;bob;30");
|
|
@@ -83,7 +83,7 @@ describe("inferDialectTool", () => {
|
|
|
83
83
|
}, {});
|
|
84
84
|
expect.assert(result);
|
|
85
85
|
expect.assert(!("error" in result));
|
|
86
|
-
expect(result).toMatchObject({
|
|
86
|
+
expect(result.dialect).toMatchObject({
|
|
87
87
|
format: "csv",
|
|
88
88
|
delimiter: ";",
|
|
89
89
|
});
|
|
@@ -96,8 +96,8 @@ describe("inferDialectTool", () => {
|
|
|
96
96
|
}, {});
|
|
97
97
|
expect.assert(result);
|
|
98
98
|
expect.assert(!("error" in result));
|
|
99
|
-
expect(result.format).toBe("csv");
|
|
100
|
-
expect(result).toHaveProperty("delimiter");
|
|
99
|
+
expect(result.dialect?.format).toBe("csv");
|
|
100
|
+
expect(result.dialect).toHaveProperty("delimiter");
|
|
101
101
|
});
|
|
102
102
|
it("returns undefined for inline data", async () => {
|
|
103
103
|
const resource = {
|
|
@@ -106,7 +106,9 @@ describe("inferDialectTool", () => {
|
|
|
106
106
|
const result = await inferDialectTool.execute?.({
|
|
107
107
|
resource,
|
|
108
108
|
}, {});
|
|
109
|
-
expect(result)
|
|
109
|
+
expect.assert(result);
|
|
110
|
+
expect.assert(!("error" in result));
|
|
111
|
+
expect(result.dialect).toBeUndefined();
|
|
110
112
|
});
|
|
111
113
|
it("respects sampleBytes option", async () => {
|
|
112
114
|
const largeData = Array.from({ length: 1000 }, (_, i) => `${i},row${i}`).join("\n");
|
|
@@ -118,7 +120,7 @@ describe("inferDialectTool", () => {
|
|
|
118
120
|
}, {});
|
|
119
121
|
expect.assert(result);
|
|
120
122
|
expect.assert(!("error" in result));
|
|
121
|
-
expect(result.format).toBe("csv");
|
|
123
|
+
expect(result.dialect?.format).toBe("csv");
|
|
122
124
|
});
|
|
123
125
|
it("infers dialect with provided format hint", async () => {
|
|
124
126
|
const path = await writeTempFile("id,name\n1,alice\n2,bob");
|
|
@@ -131,8 +133,8 @@ describe("inferDialectTool", () => {
|
|
|
131
133
|
}, {});
|
|
132
134
|
expect.assert(result);
|
|
133
135
|
expect.assert(!("error" in result));
|
|
134
|
-
expect(result.format).toBe("csv");
|
|
135
|
-
expect(result).toHaveProperty("delimiter");
|
|
136
|
+
expect(result.dialect?.format).toBe("csv");
|
|
137
|
+
expect(result.dialect).toHaveProperty("delimiter");
|
|
136
138
|
});
|
|
137
139
|
});
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mZXIuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rvb2xzL2RpYWxlY3QvaW5mZXIuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUU3QyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO0lBQ2hDLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7UUFDbEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUNqRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDakQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ2pELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNsRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3pELENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLG1CQUFtQixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLE1BQU0sYUFBYSxDQUFDLG1DQUFtQyxDQUFDLENBQUE7UUFDckUsTUFBTSxRQUFRLEdBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFBO1FBRXJFLE1BQU0sTUFBTSxHQUFHLE1BQU0sZ0JBQWdCLENB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LENBQUMsMENBQTBDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDeEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQTtRQUMzRCxNQUFNLFFBQVEsR0FBYTtZQUN6QixJQUFJLEVBQUUsSUFBSTtZQUNWLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7U0FDM0IsQ0FBQTtRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQzdDO1lBQ0UsUUFBUTtTQUNULEVBQ0QsRUFBRSxDQUNILENBQUE7UUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBRW5DLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDNUMsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3N2RGlhbGVjdCwgUmVzb3VyY2UgfSBmcm9tIFwiQGZhaXJzcGVjL2xpYnJhcnlcIlxuaW1wb3J0IHsgd3JpdGVUZW1wRmlsZSB9IGZyb20gXCJAZmFpcnNwZWMvbGlicmFyeVwiXG5pbXBvcnQgeyBkZXNjcmliZSwgZXhwZWN0LCBpdCB9IGZyb20gXCJ2aXRlc3RcIlxuaW1wb3J0IHsgaW5mZXJEaWFsZWN0VG9vbCB9IGZyb20gXCIuL2luZmVyLnRzXCJcblxuZGVzY3JpYmUoXCJpbmZlckRpYWxlY3RUb29sXCIsICgpID0+IHtcbiAgaXQoXCJ2YWxpZGF0ZXMgdG9vbCBzdHJ1Y3R1cmVcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChpbmZlckRpYWxlY3RUb29sLmlkKS50b0JlKFwiaW5mZXItZGlhbGVjdFwiKVxuICAgIGV4cGVjdChpbmZlckRpYWxlY3RUb29sLmRlc2NyaXB0aW9uKS50b0JlVHJ1dGh5KClcbiAgICBleHBlY3QoaW5mZXJEaWFsZWN0VG9vbC5pbnB1dFNjaGVtYSkudG9CZVRydXRoeSgpXG4gICAgZXhwZWN0KGluZmVyRGlhbGVjdFRvb2wub3V0cHV0U2NoZW1hKS50b0JlVHJ1dGh5KClcbiAgICBleHBlY3QoaW5mZXJEaWFsZWN0VG9vbC5leGVjdXRlKS50b0JlVHlwZU9mKFwiZnVuY3Rpb25cIilcbiAgfSlcblxuICBpdChcImluZmVycyBDU1YgZm9ybWF0XCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwYXRoID0gYXdhaXQgd3JpdGVUZW1wRmlsZShcImlkLG5hbWUsYWdlXFxuMSxhbGljZSwyNVxcbjIsYm9iLDMwXCIpXG4gICAgY29uc3QgcmVzb3VyY2U6IFJlc291cmNlID0geyBkYXRhOiBwYXRoLCBkaWFsZWN0OiB7IGZvcm1hdDogXCJjc3ZcIiB9IH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGluZmVyRGlhbGVjdFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICByZXNvdXJjZSxcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApXG5cbiAgICBleHBlY3QuYXNzZXJ0KHJlc3VsdClcbiAgICBleHBlY3QuYXNzZXJ0KCEoXCJlcnJvclwiIGluIHJlc3VsdCkpXG5cbiAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsPENzdkRpYWxlY3Q+KHtcbiAgICAgIGZvcm1hdDogXCJjc3ZcIixcbiAgICAgIGRlbGltaXRlcjogXCIsXCIsXG4gICAgICBoZWFkZXJSb3dzOiBbMV0sXG4gICAgICBsaW5lVGVybWluYXRvcjogXCJcXG5cIixcbiAgICB9KVxuICB9KVxuXG4gIGl0KFwiaW5mZXJzIFRTViBmb3JtYXRcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBhdGggPSBhd2FpdCB3cml0ZVRlbXBGaWxlKFwiaWRcXHRuYW1lXFx0YWdlXFxuMVxcdGFsaWNlXFx0MjVcXG4yXFx0Ym9iXFx0MzBcIilcbiAgICBjb25zdCByZXNvdXJjZTogUmVzb3VyY2UgPSB7IGRhdGE6IHBhdGgsIGRpYWxlY3Q6IHsgZm9ybWF0OiBcImNzdlwiIH0gfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW5mZXJEaWFsZWN0VG9vbC5leGVjdXRlPy4oXG4gICAgICB7XG4gICAgICAgIHJlc291cmNlLFxuICAgICAgfSxcbiAgICAgIHt9LFxuICAgIClcblxuICAgIGV4cGVjdC5hc3NlcnQocmVzdWx0KVxuICAgIGV4cGVjdC5hc3NlcnQoIShcImVycm9yXCIgaW4gcmVzdWx0KSlcblxuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgZm9ybWF0OiBcInRzdlwiLFxuICAgICAgaGVhZGVyUm93czogWzFdLFxuICAgICAgbGluZVRlcm1pbmF0b3I6IFwiXFxuXCIsXG4gICAgfSlcbiAgfSlcblxuICBpdChcImluZmVycyBKU09OIGZvcm1hdCB3aXRoIGFycmF5IG9mIG9iamVjdHNcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBhdGggPSBhd2FpdCB3cml0ZVRlbXBGaWxlKEpTT04uc3RyaW5naWZ5KFt7IGlkOiAxLCBuYW1lOiBcImFsaWNlXCIgfV0pKVxuICAgIGNvbnN0IHJlc291cmNlOiBSZXNvdXJjZSA9IHsgZGF0YTogcGF0aCwgZGlhbGVjdDogeyBmb3JtYXQ6IFwianNvblwiIH0gfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW5mZXJEaWFsZWN0VG9vbC5leGVjdXRlPy4oXG4gICAgICB7XG4gICAgICAgIHJlc291cmNlLFxuICAgICAgfSxcbiAgICAgIHt9LFxuICAgIClcblxuICAgIGV4cGVjdC5hc3NlcnQocmVzdWx0KVxuICAgIGV4cGVjdC5hc3NlcnQoIShcImVycm9yXCIgaW4gcmVzdWx0KSlcblxuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgZm9ybWF0OiBcImpzb25cIixcbiAgICAgIHJvd1R5cGU6IFwib2JqZWN0XCIsXG4gICAgfSlcbiAgfSlcblxuICBpdChcImluZmVycyBKU09OIGZvcm1hdCB3aXRoIGFycmF5IG9mIGFycmF5c1wiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IGF3YWl0IHdyaXRlVGVtcEZpbGUoXG4gICAgICBKU09OLnN0cmluZ2lmeShbXG4gICAgICAgIFsxLCBcImFsaWNlXCJdLFxuICAgICAgICBbMiwgXCJib2JcIl0sXG4gICAgICBdKSxcbiAgICApXG4gICAgY29uc3QgcmVzb3VyY2U6IFJlc291cmNlID0geyBkYXRhOiBwYXRoLCBkaWFsZWN0OiB7IGZvcm1hdDogXCJqc29uXCIgfSB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBpbmZlckRpYWxlY3RUb29sLmV4ZWN1dGU/LihcbiAgICAgIHtcbiAgICAgICAgcmVzb3VyY2UsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgKVxuXG4gICAgZXhwZWN0LmFzc2VydChyZXN1bHQpXG4gICAgZXhwZWN0LmFzc2VydCghKFwiZXJyb3JcIiBpbiByZXN1bHQpKVxuXG4gICAgZXhwZWN0KHJlc3VsdC5mb3JtYXQpLnRvQmUoXCJqc29uXCIpXG4gICAgZXhwZWN0KHJlc3VsdCkudG9IYXZlUHJvcGVydHkoXCJyb3dUeXBlXCIpXG4gIH0pXG5cbiAgaXQoXCJpbmZlcnMgSlNPTkwgZm9ybWF0XCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwYXRoID0gYXdhaXQgd3JpdGVUZW1wRmlsZShcbiAgICAgICd7XCJpZFwiOjEsXCJuYW1lXCI6XCJhbGljZVwifVxcbntcImlkXCI6MixcIm5hbWVcIjpcImJvYlwifScsXG4gICAgKVxuICAgIGNvbnN0IHJlc291cmNlOiBSZXNvdXJjZSA9IHsgZGF0YTogcGF0aCwgZGlhbGVjdDogeyBmb3JtYXQ6IFwianNvbmxcIiB9IH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGluZmVyRGlhbGVjdFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICByZXNvdXJjZSxcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApXG5cbiAgICBleHBlY3QuYXNzZXJ0KHJlc3VsdClcbiAgICBleHBlY3QuYXNzZXJ0KCEoXCJlcnJvclwiIGluIHJlc3VsdCkpXG5cbiAgICBleHBlY3QocmVzdWx0LmZvcm1hdCkudG9CZShcImpzb25sXCIpXG4gIH0pXG5cbiAgaXQoXCJpbmZlcnMgQ1NWIHdpdGggZGlmZmVyZW50IGRlbGltaXRlclwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IGF3YWl0IHdyaXRlVGVtcEZpbGUoXCJpZDtuYW1lO2FnZVxcbjE7YWxpY2U7MjVcXG4yO2JvYjszMFwiKVxuICAgIGNvbnN0IHJlc291cmNlOiBSZXNvdXJjZSA9IHsgZGF0YTogcGF0aCwgZGlhbGVjdDogeyBmb3JtYXQ6IFwiY3N2XCIgfSB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBpbmZlckRpYWxlY3RUb29sLmV4ZWN1dGU/LihcbiAgICAgIHtcbiAgICAgICAgcmVzb3VyY2UsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgKVxuXG4gICAgZXhwZWN0LmFzc2VydChyZXN1bHQpXG4gICAgZXhwZWN0LmFzc2VydCghKFwiZXJyb3JcIiBpbiByZXN1bHQpKVxuXG4gICAgZXhwZWN0KHJlc3VsdCkudG9NYXRjaE9iamVjdCh7XG4gICAgICBmb3JtYXQ6IFwiY3N2XCIsXG4gICAgICBkZWxpbWl0ZXI6IFwiO1wiLFxuICAgIH0pXG4gIH0pXG5cbiAgaXQoXCJpbmZlcnMgQ1NWIHdpdGhvdXQgaGVhZGVyc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IGF3YWl0IHdyaXRlVGVtcEZpbGUoXCIxLGFsaWNlLDI1XFxuMixib2IsMzBcIilcbiAgICBjb25zdCByZXNvdXJjZTogUmVzb3VyY2UgPSB7IGRhdGE6IHBhdGgsIGRpYWxlY3Q6IHsgZm9ybWF0OiBcImNzdlwiIH0gfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW5mZXJEaWFsZWN0VG9vbC5leGVjdXRlPy4oXG4gICAgICB7XG4gICAgICAgIHJlc291cmNlLFxuICAgICAgfSxcbiAgICAgIHt9LFxuICAgIClcblxuICAgIGV4cGVjdC5hc3NlcnQocmVzdWx0KVxuICAgIGV4cGVjdC5hc3NlcnQoIShcImVycm9yXCIgaW4gcmVzdWx0KSlcblxuICAgIGV4cGVjdChyZXN1bHQuZm9ybWF0KS50b0JlKFwiY3N2XCIpXG4gICAgZXhwZWN0KHJlc3VsdCkudG9IYXZlUHJvcGVydHkoXCJkZWxpbWl0ZXJcIilcbiAgfSlcblxuICBpdChcInJldHVybnMgdW5kZWZpbmVkIGZvciBpbmxpbmUgZGF0YVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcmVzb3VyY2U6IFJlc291cmNlID0ge1xuICAgICAgZGF0YTogW3sgaWQ6IDEgfV0sXG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW5mZXJEaWFsZWN0VG9vbC5leGVjdXRlPy4oXG4gICAgICB7XG4gICAgICAgIHJlc291cmNlLFxuICAgICAgfSxcbiAgICAgIHt9LFxuICAgIClcblxuICAgIGV4cGVjdChyZXN1bHQpLnRvQmVVbmRlZmluZWQoKVxuICB9KVxuXG4gIGl0KFwicmVzcGVjdHMgc2FtcGxlQnl0ZXMgb3B0aW9uXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBsYXJnZURhdGEgPSBBcnJheS5mcm9tKFxuICAgICAgeyBsZW5ndGg6IDEwMDAgfSxcbiAgICAgIChfLCBpKSA9PiBgJHtpfSxyb3cke2l9YCxcbiAgICApLmpvaW4oXCJcXG5cIilcbiAgICBjb25zdCBwYXRoID0gYXdhaXQgd3JpdGVUZW1wRmlsZShgaWQsbmFtZVxcbiR7bGFyZ2VEYXRhfWApXG4gICAgY29uc3QgcmVzb3VyY2U6IFJlc291cmNlID0geyBkYXRhOiBwYXRoLCBkaWFsZWN0OiB7IGZvcm1hdDogXCJjc3ZcIiB9IH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGluZmVyRGlhbGVjdFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICByZXNvdXJjZSxcbiAgICAgICAgb3B0aW9uczogeyBzYW1wbGVCeXRlczogMTAwMCB9LFxuICAgICAgfSxcbiAgICAgIHt9LFxuICAgIClcblxuICAgIGV4cGVjdC5hc3NlcnQocmVzdWx0KVxuICAgIGV4cGVjdC5hc3NlcnQoIShcImVycm9yXCIgaW4gcmVzdWx0KSlcblxuICAgIGV4cGVjdChyZXN1bHQuZm9ybWF0KS50b0JlKFwiY3N2XCIpXG4gIH0pXG5cbiAgaXQoXCJpbmZlcnMgZGlhbGVjdCB3aXRoIHByb3ZpZGVkIGZvcm1hdCBoaW50XCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwYXRoID0gYXdhaXQgd3JpdGVUZW1wRmlsZShcImlkLG5hbWVcXG4xLGFsaWNlXFxuMixib2JcIilcbiAgICBjb25zdCByZXNvdXJjZTogUmVzb3VyY2UgPSB7XG4gICAgICBkYXRhOiBwYXRoLFxuICAgICAgZGlhbGVjdDogeyBmb3JtYXQ6IFwiY3N2XCIgfSxcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBpbmZlckRpYWxlY3RUb29sLmV4ZWN1dGU/LihcbiAgICAgIHtcbiAgICAgICAgcmVzb3VyY2UsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgKVxuXG4gICAgZXhwZWN0LmFzc2VydChyZXN1bHQpXG4gICAgZXhwZWN0LmFzc2VydCghKFwiZXJyb3JcIiBpbiByZXN1bHQpKVxuXG4gICAgZXhwZWN0KHJlc3VsdC5mb3JtYXQpLnRvQmUoXCJjc3ZcIilcbiAgICBleHBlY3QocmVzdWx0KS50b0hhdmVQcm9wZXJ0eShcImRlbGltaXRlclwiKVxuICB9KVxufSlcbiJdfQ==
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mZXIuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rvb2xzL2RpYWxlY3QvaW5mZXIuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUU3QyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO0lBQ2hDLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7UUFDbEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUNqRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDakQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ2pELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNsRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3pELENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLG1CQUFtQixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLE1BQU0sYUFBYSxDQUFDLG1DQUFtQyxDQUFDLENBQUE7UUFDckUsTUFBTSxRQUFRLEdBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFBO1FBRXJFLE1BQU0sTUFBTSxHQUFHLE1BQU0sZ0JBQWdCLENB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Q0FBQTtRQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFFbkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzVDLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3hELE1BQU0sSUFBSSxHQUFHLE1BQU0sYUFBYSxDQUFDLHlCQUF5QixDQUFDLENBQUE7UUFDM0QsTUFBTSxRQUFRLEdBQWE7WUFDekIsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1NBQzNCLENBQUE7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUM3QztZQUNFLFFBQVE7U0FDVCxFQUNELEVBQUUsQ0FDSCxDQUFBO1FBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNyQixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUVuQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDcEQsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3N2RGlhbGVjdCwgUmVzb3VyY2UgfSBmcm9tIFwiQGZhaXJzcGVjL2xpYnJhcnlcIlxuaW1wb3J0IHsgd3JpdGVUZW1wRmlsZSB9IGZyb20gXCJAZmFpcnNwZWMvbGlicmFyeVwiXG5pbXBvcnQgeyBkZXNjcmliZSwgZXhwZWN0LCBpdCB9IGZyb20gXCJ2aXRlc3RcIlxuaW1wb3J0IHsgaW5mZXJEaWFsZWN0VG9vbCB9IGZyb20gXCIuL2luZmVyLnRzXCJcblxuZGVzY3JpYmUoXCJpbmZlckRpYWxlY3RUb29sXCIsICgpID0+IHtcbiAgaXQoXCJ2YWxpZGF0ZXMgdG9vbCBzdHJ1Y3R1cmVcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChpbmZlckRpYWxlY3RUb29sLmlkKS50b0JlKFwiaW5mZXItZGlhbGVjdFwiKVxuICAgIGV4cGVjdChpbmZlckRpYWxlY3RUb29sLmRlc2NyaXB0aW9uKS50b0JlVHJ1dGh5KClcbiAgICBleHBlY3QoaW5mZXJEaWFsZWN0VG9vbC5pbnB1dFNjaGVtYSkudG9CZVRydXRoeSgpXG4gICAgZXhwZWN0KGluZmVyRGlhbGVjdFRvb2wub3V0cHV0U2NoZW1hKS50b0JlVHJ1dGh5KClcbiAgICBleHBlY3QoaW5mZXJEaWFsZWN0VG9vbC5leGVjdXRlKS50b0JlVHlwZU9mKFwiZnVuY3Rpb25cIilcbiAgfSlcblxuICBpdChcImluZmVycyBDU1YgZm9ybWF0XCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwYXRoID0gYXdhaXQgd3JpdGVUZW1wRmlsZShcImlkLG5hbWUsYWdlXFxuMSxhbGljZSwyNVxcbjIsYm9iLDMwXCIpXG4gICAgY29uc3QgcmVzb3VyY2U6IFJlc291cmNlID0geyBkYXRhOiBwYXRoLCBkaWFsZWN0OiB7IGZvcm1hdDogXCJjc3ZcIiB9IH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGluZmVyRGlhbGVjdFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICByZXNvdXJjZSxcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApXG5cbiAgICBleHBlY3QuYXNzZXJ0KHJlc3VsdClcbiAgICBleHBlY3QuYXNzZXJ0KCEoXCJlcnJvclwiIGluIHJlc3VsdCkpXG5cbiAgICBleHBlY3QocmVzdWx0LmRpYWxlY3QpLnRvRXF1YWw8Q3N2RGlhbGVjdD4oe1xuICAgICAgZm9ybWF0OiBcImNzdlwiLFxuICAgICAgZGVsaW1pdGVyOiBcIixcIixcbiAgICAgIGhlYWRlclJvd3M6IFsxXSxcbiAgICAgIGxpbmVUZXJtaW5hdG9yOiBcIlxcblwiLFxuICAgIH0pXG4gIH0pXG5cbiAgaXQoXCJpbmZlcnMgVFNWIGZvcm1hdFwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IGF3YWl0IHdyaXRlVGVtcEZpbGUoXCJpZFxcdG5hbWVcXHRhZ2VcXG4xXFx0YWxpY2VcXHQyNVxcbjJcXHRib2JcXHQzMFwiKVxuICAgIGNvbnN0IHJlc291cmNlOiBSZXNvdXJjZSA9IHsgZGF0YTogcGF0aCwgZGlhbGVjdDogeyBmb3JtYXQ6IFwiY3N2XCIgfSB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBpbmZlckRpYWxlY3RUb29sLmV4ZWN1dGU/LihcbiAgICAgIHtcbiAgICAgICAgcmVzb3VyY2UsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgKVxuXG4gICAgZXhwZWN0LmFzc2VydChyZXN1bHQpXG4gICAgZXhwZWN0LmFzc2VydCghKFwiZXJyb3JcIiBpbiByZXN1bHQpKVxuXG4gICAgZXhwZWN0KHJlc3VsdC5kaWFsZWN0KS50b0VxdWFsKHtcbiAgICAgIGZvcm1hdDogXCJ0c3ZcIixcbiAgICAgIGhlYWRlclJvd3M6IFsxXSxcbiAgICAgIGxpbmVUZXJtaW5hdG9yOiBcIlxcblwiLFxuICAgIH0pXG4gIH0pXG5cbiAgaXQoXCJpbmZlcnMgSlNPTiBmb3JtYXQgd2l0aCBhcnJheSBvZiBvYmplY3RzXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwYXRoID0gYXdhaXQgd3JpdGVUZW1wRmlsZShKU09OLnN0cmluZ2lmeShbeyBpZDogMSwgbmFtZTogXCJhbGljZVwiIH1dKSlcbiAgICBjb25zdCByZXNvdXJjZTogUmVzb3VyY2UgPSB7IGRhdGE6IHBhdGgsIGRpYWxlY3Q6IHsgZm9ybWF0OiBcImpzb25cIiB9IH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGluZmVyRGlhbGVjdFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICByZXNvdXJjZSxcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApXG5cbiAgICBleHBlY3QuYXNzZXJ0KHJlc3VsdClcbiAgICBleHBlY3QuYXNzZXJ0KCEoXCJlcnJvclwiIGluIHJlc3VsdCkpXG5cbiAgICBleHBlY3QocmVzdWx0LmRpYWxlY3QpLnRvRXF1YWwoe1xuICAgICAgZm9ybWF0OiBcImpzb25cIixcbiAgICAgIHJvd1R5cGU6IFwib2JqZWN0XCIsXG4gICAgfSlcbiAgfSlcblxuICBpdChcImluZmVycyBKU09OIGZvcm1hdCB3aXRoIGFycmF5IG9mIGFycmF5c1wiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IGF3YWl0IHdyaXRlVGVtcEZpbGUoXG4gICAgICBKU09OLnN0cmluZ2lmeShbXG4gICAgICAgIFsxLCBcImFsaWNlXCJdLFxuICAgICAgICBbMiwgXCJib2JcIl0sXG4gICAgICBdKSxcbiAgICApXG4gICAgY29uc3QgcmVzb3VyY2U6IFJlc291cmNlID0geyBkYXRhOiBwYXRoLCBkaWFsZWN0OiB7IGZvcm1hdDogXCJqc29uXCIgfSB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBpbmZlckRpYWxlY3RUb29sLmV4ZWN1dGU/LihcbiAgICAgIHtcbiAgICAgICAgcmVzb3VyY2UsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgKVxuXG4gICAgZXhwZWN0LmFzc2VydChyZXN1bHQpXG4gICAgZXhwZWN0LmFzc2VydCghKFwiZXJyb3JcIiBpbiByZXN1bHQpKVxuXG4gICAgZXhwZWN0KHJlc3VsdC5kaWFsZWN0Py5mb3JtYXQpLnRvQmUoXCJqc29uXCIpXG4gICAgZXhwZWN0KHJlc3VsdC5kaWFsZWN0KS50b0hhdmVQcm9wZXJ0eShcInJvd1R5cGVcIilcbiAgfSlcblxuICBpdChcImluZmVycyBKU09OTCBmb3JtYXRcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBhdGggPSBhd2FpdCB3cml0ZVRlbXBGaWxlKFxuICAgICAgJ3tcImlkXCI6MSxcIm5hbWVcIjpcImFsaWNlXCJ9XFxue1wiaWRcIjoyLFwibmFtZVwiOlwiYm9iXCJ9JyxcbiAgICApXG4gICAgY29uc3QgcmVzb3VyY2U6IFJlc291cmNlID0geyBkYXRhOiBwYXRoLCBkaWFsZWN0OiB7IGZvcm1hdDogXCJqc29ubFwiIH0gfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW5mZXJEaWFsZWN0VG9vbC5leGVjdXRlPy4oXG4gICAgICB7XG4gICAgICAgIHJlc291cmNlLFxuICAgICAgfSxcbiAgICAgIHt9LFxuICAgIClcblxuICAgIGV4cGVjdC5hc3NlcnQocmVzdWx0KVxuICAgIGV4cGVjdC5hc3NlcnQoIShcImVycm9yXCIgaW4gcmVzdWx0KSlcblxuICAgIGV4cGVjdChyZXN1bHQuZGlhbGVjdD8uZm9ybWF0KS50b0JlKFwianNvbmxcIilcbiAgfSlcblxuICBpdChcImluZmVycyBDU1Ygd2l0aCBkaWZmZXJlbnQgZGVsaW1pdGVyXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwYXRoID0gYXdhaXQgd3JpdGVUZW1wRmlsZShcImlkO25hbWU7YWdlXFxuMTthbGljZTsyNVxcbjI7Ym9iOzMwXCIpXG4gICAgY29uc3QgcmVzb3VyY2U6IFJlc291cmNlID0geyBkYXRhOiBwYXRoLCBkaWFsZWN0OiB7IGZvcm1hdDogXCJjc3ZcIiB9IH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGluZmVyRGlhbGVjdFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICByZXNvdXJjZSxcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApXG5cbiAgICBleHBlY3QuYXNzZXJ0KHJlc3VsdClcbiAgICBleHBlY3QuYXNzZXJ0KCEoXCJlcnJvclwiIGluIHJlc3VsdCkpXG5cbiAgICBleHBlY3QocmVzdWx0LmRpYWxlY3QpLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgZm9ybWF0OiBcImNzdlwiLFxuICAgICAgZGVsaW1pdGVyOiBcIjtcIixcbiAgICB9KVxuICB9KVxuXG4gIGl0KFwiaW5mZXJzIENTViB3aXRob3V0IGhlYWRlcnNcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBhdGggPSBhd2FpdCB3cml0ZVRlbXBGaWxlKFwiMSxhbGljZSwyNVxcbjIsYm9iLDMwXCIpXG4gICAgY29uc3QgcmVzb3VyY2U6IFJlc291cmNlID0geyBkYXRhOiBwYXRoLCBkaWFsZWN0OiB7IGZvcm1hdDogXCJjc3ZcIiB9IH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGluZmVyRGlhbGVjdFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICByZXNvdXJjZSxcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApXG5cbiAgICBleHBlY3QuYXNzZXJ0KHJlc3VsdClcbiAgICBleHBlY3QuYXNzZXJ0KCEoXCJlcnJvclwiIGluIHJlc3VsdCkpXG5cbiAgICBleHBlY3QocmVzdWx0LmRpYWxlY3Q/LmZvcm1hdCkudG9CZShcImNzdlwiKVxuICAgIGV4cGVjdChyZXN1bHQuZGlhbGVjdCkudG9IYXZlUHJvcGVydHkoXCJkZWxpbWl0ZXJcIilcbiAgfSlcblxuICBpdChcInJldHVybnMgdW5kZWZpbmVkIGZvciBpbmxpbmUgZGF0YVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcmVzb3VyY2U6IFJlc291cmNlID0ge1xuICAgICAgZGF0YTogW3sgaWQ6IDEgfV0sXG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW5mZXJEaWFsZWN0VG9vbC5leGVjdXRlPy4oXG4gICAgICB7XG4gICAgICAgIHJlc291cmNlLFxuICAgICAgfSxcbiAgICAgIHt9LFxuICAgIClcblxuICAgIGV4cGVjdC5hc3NlcnQocmVzdWx0KVxuICAgIGV4cGVjdC5hc3NlcnQoIShcImVycm9yXCIgaW4gcmVzdWx0KSlcblxuICAgIGV4cGVjdChyZXN1bHQuZGlhbGVjdCkudG9CZVVuZGVmaW5lZCgpXG4gIH0pXG5cbiAgaXQoXCJyZXNwZWN0cyBzYW1wbGVCeXRlcyBvcHRpb25cIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGxhcmdlRGF0YSA9IEFycmF5LmZyb20oXG4gICAgICB7IGxlbmd0aDogMTAwMCB9LFxuICAgICAgKF8sIGkpID0+IGAke2l9LHJvdyR7aX1gLFxuICAgICkuam9pbihcIlxcblwiKVxuICAgIGNvbnN0IHBhdGggPSBhd2FpdCB3cml0ZVRlbXBGaWxlKGBpZCxuYW1lXFxuJHtsYXJnZURhdGF9YClcbiAgICBjb25zdCByZXNvdXJjZTogUmVzb3VyY2UgPSB7IGRhdGE6IHBhdGgsIGRpYWxlY3Q6IHsgZm9ybWF0OiBcImNzdlwiIH0gfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW5mZXJEaWFsZWN0VG9vbC5leGVjdXRlPy4oXG4gICAgICB7XG4gICAgICAgIHJlc291cmNlLFxuICAgICAgICBvcHRpb25zOiB7IHNhbXBsZUJ5dGVzOiAxMDAwIH0sXG4gICAgICB9LFxuICAgICAge30sXG4gICAgKVxuXG4gICAgZXhwZWN0LmFzc2VydChyZXN1bHQpXG4gICAgZXhwZWN0LmFzc2VydCghKFwiZXJyb3JcIiBpbiByZXN1bHQpKVxuXG4gICAgZXhwZWN0KHJlc3VsdC5kaWFsZWN0Py5mb3JtYXQpLnRvQmUoXCJjc3ZcIilcbiAgfSlcblxuICBpdChcImluZmVycyBkaWFsZWN0IHdpdGggcHJvdmlkZWQgZm9ybWF0IGhpbnRcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBhdGggPSBhd2FpdCB3cml0ZVRlbXBGaWxlKFwiaWQsbmFtZVxcbjEsYWxpY2VcXG4yLGJvYlwiKVxuICAgIGNvbnN0IHJlc291cmNlOiBSZXNvdXJjZSA9IHtcbiAgICAgIGRhdGE6IHBhdGgsXG4gICAgICBkaWFsZWN0OiB7IGZvcm1hdDogXCJjc3ZcIiB9LFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGluZmVyRGlhbGVjdFRvb2wuZXhlY3V0ZT8uKFxuICAgICAge1xuICAgICAgICByZXNvdXJjZSxcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApXG5cbiAgICBleHBlY3QuYXNzZXJ0KHJlc3VsdClcbiAgICBleHBlY3QuYXNzZXJ0KCEoXCJlcnJvclwiIGluIHJlc3VsdCkpXG5cbiAgICBleHBlY3QocmVzdWx0LmRpYWxlY3Q/LmZvcm1hdCkudG9CZShcImNzdlwiKVxuICAgIGV4cGVjdChyZXN1bHQuZGlhbGVjdCkudG9IYXZlUHJvcGVydHkoXCJkZWxpbWl0ZXJcIilcbiAgfSlcbn0pXG4iXX0=
|