@cartanova/qgrid-cli 1.6.2 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/dist/application/qgrid/qgrid.dispatcher.js +13 -6
- package/bundle/dist/application/qgrid/qgrid.frame.js +5 -3
- package/bundle/dist/application/qgrid/qgrid.types.js +3 -2
- package/bundle/dist/application/request-log/request-log.model.js +3 -3
- package/bundle/src/application/qgrid/qgrid.dispatcher.ts +22 -5
- package/bundle/src/application/qgrid/qgrid.frame.ts +2 -1
- package/bundle/src/application/qgrid/qgrid.types.ts +1 -0
- package/bundle/src/application/request-log/request-log.model.ts +2 -2
- package/bundle/src/application/sonamu.generated.http +2 -1
- package/bundle/web-dist/client/assets/index-D-D8GkQh.css +1 -0
- package/bundle/web-dist/client/assets/{index-C1um9umC.js → index-DUmwX7rR.js} +2 -2
- package/bundle/web-dist/client/assets/{logs-Codp88zO.js → logs-ci_3vzTT.js} +1 -1
- package/bundle/web-dist/client/assets/{routes-fpJMuLAs.js → routes-Ch5LFN0K.js} +1 -1
- package/bundle/web-dist/client/assets/{services.generated-B2N0iPav.js → services.generated-BrB-RELO.js} +1 -1
- package/bundle/web-dist/client/assets/show-D3N15Krg.js +29 -0
- package/bundle/web-dist/client/assets/tokens-BAlIaa6X.js +1 -0
- package/bundle/web-dist/client/index.html +2 -2
- package/bundle/web-dist/server/assets/{logs-C7lTCP1X.js → logs-CDacVwTQ.js} +1 -1
- package/bundle/web-dist/server/assets/{routes-p2n4SfAB.js → routes-BLm-zF86.js} +1 -1
- package/bundle/web-dist/server/assets/{services.generated-DIeiDdqy.js → services.generated-wCfUuY7Z.js} +4 -3
- package/bundle/web-dist/server/assets/{show-DZ_U1u-N.js → show-DjJyZunM.js} +1841 -123
- package/bundle/web-dist/server/assets/{tokens-DTUDs-4D.js → tokens-rQIIgqMo.js} +3 -2
- package/bundle/web-dist/server/entry-server.generated.js +4 -4
- package/package.json +1 -1
- package/bundle/web-dist/client/assets/index-BkbCF47q.css +0 -1
- package/bundle/web-dist/client/assets/show-xk8Zz6U1.js +0 -29
- package/bundle/web-dist/client/assets/tokens-CPoiSVb6.js +0 -1
|
@@ -75,24 +75,30 @@ var QgridDispatcherClass = class {
|
|
|
75
75
|
async function executeClaude(input, token, timeoutMs) {
|
|
76
76
|
const model = input.model ?? DEFAULT_MODEL;
|
|
77
77
|
const timeout = input.timeout ?? timeoutMs;
|
|
78
|
+
const useStructuredOutput = input.jsonSchema && input.jsonSchema.length > 0;
|
|
78
79
|
const args = [
|
|
79
80
|
"-p",
|
|
81
|
+
...useStructuredOutput ? [
|
|
82
|
+
"--tools",
|
|
83
|
+
"",
|
|
84
|
+
"--allowed-tools",
|
|
85
|
+
"StructuredOutput"
|
|
86
|
+
] : ["--tools", ""],
|
|
80
87
|
"--output-format",
|
|
81
88
|
"stream-json",
|
|
82
89
|
"--verbose",
|
|
83
90
|
"--max-turns",
|
|
84
|
-
"1",
|
|
91
|
+
useStructuredOutput ? "2" : "1",
|
|
85
92
|
"--permission-mode",
|
|
86
93
|
"bypassPermissions",
|
|
87
94
|
"--setting-sources",
|
|
88
95
|
"project",
|
|
89
96
|
"--model",
|
|
90
97
|
model,
|
|
91
|
-
"--tools",
|
|
92
|
-
"",
|
|
93
98
|
"--exclude-dynamic-system-prompt-sections",
|
|
94
99
|
"--no-session-persistence"
|
|
95
100
|
];
|
|
101
|
+
if (useStructuredOutput) args.push("--json-schema", input.jsonSchema);
|
|
96
102
|
if (input.system) args.push("--append-system-prompt", input.system);
|
|
97
103
|
args.push(input.prompt);
|
|
98
104
|
const env = {
|
|
@@ -131,8 +137,9 @@ async function executeClaude(input, token, timeoutMs) {
|
|
|
131
137
|
try {
|
|
132
138
|
const j = JSON.parse(line);
|
|
133
139
|
if (j.type === "result" && !settled) {
|
|
134
|
-
let text
|
|
135
|
-
text =
|
|
140
|
+
let text;
|
|
141
|
+
if (j.structured_output !== void 0) text = JSON.stringify(j.structured_output);
|
|
142
|
+
else text = (j.result ?? "").replace(/^```(?:json)?\s*\n?/i, "").replace(/\n?```\s*$/i, "");
|
|
136
143
|
if (text.startsWith("You've hit")) {
|
|
137
144
|
settled = true;
|
|
138
145
|
clearTimeout(timer);
|
|
@@ -175,4 +182,4 @@ const QgridDispatcher = new QgridDispatcherClass();
|
|
|
175
182
|
//#endregion
|
|
176
183
|
export { QgridDispatcher };
|
|
177
184
|
|
|
178
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQuZGlzcGF0Y2hlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vcWdyaWQvcWdyaWQuZGlzcGF0Y2hlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFFncmlkRGlzcGF0Y2hlciDigJQgT0F1dGgg7Yag7YGwIOyEoO2DnSArIGNsYXVkZSBDTEkgZnJlc2ggc3Bhd24g65SU7Iqk7Yyo7LKYIOyLseq4gO2EtC5cbiAqXG4gKiAtIOunpCDsmpTssq3rp4jri6Qg7IOIIGNsYXVkZSBDTEkg7ZSE66Gc7IS47IqkIHNwYXduIOKGkiDsnZHri7Ug7ZuEIOyiheujjFxuICogLSBzeXN0ZW0g7J2AIC0tYXBwZW5kLXN5c3RlbS1wcm9tcHQg66GcIOu2hOumrCDsoITri6wgKHVzZXIgdHVybiDsmKTsl7wg67Cp7KeAKVxuICogLSBsZWFzdC11c2VkIHJvdW5kLXJvYmluIOycvOuhnCDthqDtgbAg7ISg7YOdXG4gKiAtIFF1b3RhRXJyb3Ig64qUIOq3uOuMgOuhnCDsg4HsnIQg7KCE7YyMICjsnpDrj5kgZmFpbG92ZXIg7JeG7J2MLCBVSSDsl5DshJwg7IiY64+ZIO2GoOq4gClcbiAqXG4gKiBlbnYgYWxsb3dsaXN0OiBQQVRILCBUTVBESVIsIENMQVVERV9DT0RFX09BVVRIX1RPS0VOICsgQ0xBVURFX0NPREVfRElTQUJMRV8qXG4gKi9cbmltcG9ydCB7IHNwYXduIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHsgbWtkaXJTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcblxuaW1wb3J0IHsgdHlwZSBDbGlSZXN1bHQsIHR5cGUgUXVlcnlJbnB1dCwgdHlwZSBUb2tlblN0YXRzIH0gZnJvbSBcIi4vcWdyaWQudHlwZXNcIjtcbmltcG9ydCB7IG1hc2tUb2tlbiwgUHJvY2Vzc0Vycm9yLCBRdW90YUVycm9yLCBUaW1lb3V0RXJyb3IgfSBmcm9tIFwiLi9xZ3JpZC50eXBlc1wiO1xuXG5jb25zdCBERUZBVUxUX01PREVMID0gXCJzb25uZXRcIjtcbmNvbnN0IERFRkFVTFRfVElNRU9VVF9NUyA9IDYwMF8wMDA7XG5cbi8vIGNsYXVkZSBDTEkg7J2YIGN3ZC4g7J20IOqyveuhnOydmCAuY2xhdWRlL3NldHRpbmdzLmpzb24g7J20IHByb2plY3Qgc2NvcGUg66GcIOuhnOuTnOuQmOyWtFxuLy8g7Zi57Iuc652864+EIOyeiOydhCB1c2VyIHNjb3BlICh+Ly5jbGF1ZGUvc2V0dGluZ3MuanNvbinrpbwg642u7Ja07JSAICgtLXNldHRpbmctc291cmNlcyBwcm9qZWN0IOyZgCDtlajqu5gpLlxuY29uc3QgQ0xBVURFX0NXRCA9IFwiL3RtcC9xZ3JpZFwiO1xuXG4vLyBxZ3JpZCDsoITsmqkgcHJvamVjdCBzZXR0aW5ncyDigJQgdXNlciBzY29wZSDqsqnrpqzsmqlcbmNvbnN0IFFHUklEX0NMQVVERV9TRVRUSU5HUyA9IHtcbiAgYWx3YXlzVGhpbmtpbmdFbmFibGVkOiBmYWxzZSwgLy8gdGhpbmtpbmcgYmxvY2sg7LCo64uoXG4gIGluY2x1ZGVHaXRJbnN0cnVjdGlvbnM6IGZhbHNlLCAvLyBzeXN0ZW0gcHJvbXB0IOydmCBnaXQg6rCA7J2065OcIOygnOqxsFxuICBjbGVhbnVwUGVyaW9kRGF5czogMSxcbn07XG5cbmNsYXNzIFFncmlkRGlzcGF0Y2hlckNsYXNzIHtcbiAgdG9rZW5zID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgcmVxdWVzdENvdW50cyA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG4gIHJySW5kZXggPSAwO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIG1rZGlyU3luYyhgJHtDTEFVREVfQ1dEfS8uY2xhdWRlYCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgd3JpdGVGaWxlU3luYyhcbiAgICAgIGAke0NMQVVERV9DV0R9Ly5jbGF1ZGUvc2V0dGluZ3MuanNvbmAsXG4gICAgICBKU09OLnN0cmluZ2lmeShRR1JJRF9DTEFVREVfU0VUVElOR1MsIG51bGwsIDIpLFxuICAgICk7XG4gIH1cblxuICBnZXRTdGF0cygpOiBUb2tlblN0YXRzW10ge1xuICAgIHJldHVybiBbLi4udGhpcy50b2tlbnMuZW50cmllcygpXS5tYXAoKFt0b2tlbiwgbmFtZV0pID0+ICh7XG4gICAgICB0b2tlbixcbiAgICAgIG5hbWUsXG4gICAgICByZXF1ZXN0czogdGhpcy5yZXF1ZXN0Q291bnRzLmdldCh0b2tlbikgPz8gMCxcbiAgICB9KSk7XG4gIH1cblxuICBzZWxlY3RUb2tlbigpOiB7IHRva2VuOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9IHwgbnVsbCB7XG4gICAgY29uc3QgZW50cmllcyA9IFsuLi50aGlzLnRva2Vucy5lbnRyaWVzKCldO1xuICAgIGlmIChlbnRyaWVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBtaW5Db3VudCA9IE1hdGgubWluKC4uLmVudHJpZXMubWFwKChbdF0pID0+IHRoaXMucmVxdWVzdENvdW50cy5nZXQodCkgPz8gMCkpO1xuICAgIGNvbnN0IGlkbGUgPSBlbnRyaWVzLmZpbHRlcigoW3RdKSA9PiAodGhpcy5yZXF1ZXN0Q291bnRzLmdldCh0KSA/PyAwKSA9PT0gbWluQ291bnQpO1xuICAgIGNvbnN0IHBpY2tlZCA9IGlkbGVbdGhpcy5yckluZGV4ICUgaWRsZS5sZW5ndGhdITtcbiAgICB0aGlzLnJySW5kZXgrKztcbiAgICByZXR1cm4geyB0b2tlbjogcGlja2VkWzBdLCBuYW1lOiBwaWNrZWRbMV0gfTtcbiAgfVxuXG4gIGFzeW5jIHF1ZXJ5KGlucHV0OiBRdWVyeUlucHV0LCB0aW1lb3V0TXM/OiBudW1iZXIpOiBQcm9taXNlPENsaVJlc3VsdD4ge1xuICAgIGNvbnN0IHNlbCA9IHRoaXMuc2VsZWN0VG9rZW4oKTtcbiAgICBpZiAoIXNlbCkgdGhyb3cgbmV3IFF1b3RhRXJyb3IoXCJObyB0b2tlbnMgYXZhaWxhYmxlXCIpO1xuXG4gICAgLy8gYXdhaXQg7KCE7JeQIGNvdW50IOyEoOuwmOyYgS4g67OR66CsIOyalOyyreydtCDrj5nsi5zsl5Ag64+E7LCp7ZW064+EIOqwgeyekCDri6Trpbgg7Yag7YGw7J2EIOqzoOultOuPhOuhnS5cbiAgICB0aGlzLnJlcXVlc3RDb3VudHMuc2V0KHNlbC50b2tlbiwgKHRoaXMucmVxdWVzdENvdW50cy5nZXQoc2VsLnRva2VuKSA/PyAwKSArIDEpO1xuXG4gICAgY29uc29sZS5sb2coYFtxZ3JpZF0g4oaSICR7c2VsLm5hbWV9IChtb2RlbDogJHtpbnB1dC5tb2RlbCA/PyBERUZBVUxUX01PREVMfSlgKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGV4ZWN1dGVDbGF1ZGUoaW5wdXQsIHNlbC50b2tlbiwgdGltZW91dE1zID8/IERFRkFVTFRfVElNRU9VVF9NUyk7XG4gICAgcmV0dXJuIHsgLi4ucmVzdWx0LCB0b2tlbk5hbWU6IHNlbC5uYW1lLCBtb2RlbDogaW5wdXQubW9kZWwgPz8gREVGQVVMVF9NT0RFTCB9O1xuICB9XG5cbiAgYWRkVG9rZW4odG9rZW46IHN0cmluZywgbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9rZW5zLmhhcyh0b2tlbikpIHJldHVybjtcbiAgICB0aGlzLnRva2Vucy5zZXQodG9rZW4sIG5hbWUpO1xuICAgIHRoaXMucmVxdWVzdENvdW50cy5zZXQodG9rZW4sIDApO1xuICB9XG5cbiAgcmVtb3ZlVG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudG9rZW5zLmRlbGV0ZSh0b2tlbik7XG4gICAgdGhpcy5yZXF1ZXN0Q291bnRzLmRlbGV0ZSh0b2tlbik7XG4gIH1cblxuICBoYXNUb2tlbih0b2tlbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zLmhhcyh0b2tlbik7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZUNsYXVkZShcbiAgaW5wdXQ6IFF1ZXJ5SW5wdXQsXG4gIHRva2VuOiBzdHJpbmcsXG4gIHRpbWVvdXRNczogbnVtYmVyLFxuKTogUHJvbWlzZTxDbGlSZXN1bHQ+IHtcbiAgY29uc3QgbW9kZWwgPSBpbnB1dC5tb2RlbCA/PyBERUZBVUxUX01PREVMO1xuICBjb25zdCB0aW1lb3V0ID0gaW5wdXQudGltZW91dCA/PyB0aW1lb3V0TXM7XG5cbiAgY29uc3QgYXJnczogc3RyaW5nW10gPSBbXG4gICAgXCItcFwiLFxuICAgIFwiLS1vdXRwdXQtZm9ybWF0XCIsXG4gICAgXCJzdHJlYW0tanNvblwiLFxuICAgIFwiLS12ZXJib3NlXCIsXG4gICAgXCItLW1heC10dXJuc1wiLFxuICAgIFwiMVwiLFxuICAgIFwiLS1wZXJtaXNzaW9uLW1vZGVcIixcbiAgICBcImJ5cGFzc1Blcm1pc3Npb25zXCIsXG4gICAgXCItLXNldHRpbmctc291cmNlc1wiLFxuICAgIFwicHJvamVjdFwiLFxuICAgIFwiLS1tb2RlbFwiLFxuICAgIG1vZGVsLFxuICAgIC8vIHRoaW5raW5nIOu5hO2ZnOyEse2ZlOuKlCBwcm9qZWN0IHNldHRpbmdzIChhbHdheXNUaGlua2luZ0VuYWJsZWQ6IGZhbHNlKSDsl5DshJwg7LKY66asXG4gICAgXCItLXRvb2xzXCIsXG4gICAgXCJcIixcbiAgICBcIi0tZXhjbHVkZS1keW5hbWljLXN5c3RlbS1wcm9tcHQtc2VjdGlvbnNcIiwgLy8gY3dkL2VudiDrpbwgdXNlciBtc2cg66GcIOydtOuPmSDihpIgcHJlZml4IGNhY2hlIOyViOygle2ZlFxuICAgIFwiLS1uby1zZXNzaW9uLXBlcnNpc3RlbmNlXCIsIC8vIH4vLmNsYXVkZS9wcm9qZWN0cy8g7J2YIG9ycGhhbiBqc29ubCDriITsoIEg67Cp7KeAXG4gIF07XG4gIGlmIChpbnB1dC5zeXN0ZW0pIHtcbiAgICBhcmdzLnB1c2goXCItLWFwcGVuZC1zeXN0ZW0tcHJvbXB0XCIsIGlucHV0LnN5c3RlbSk7XG4gIH1cbiAgYXJncy5wdXNoKGlucHV0LnByb21wdCk7XG5cbiAgY29uc3QgZW52OiBOb2RlSlMuUHJvY2Vzc0VudiA9IHtcbiAgICBQQVRIOiBwcm9jZXNzLmVudi5QQVRILFxuICAgIFRNUERJUjogcHJvY2Vzcy5lbnYuVE1QRElSLFxuICAgIENMQVVERV9DT0RFX09BVVRIX1RPS0VOOiB0b2tlbixcbiAgICBDTEFVREVfQ09ERV9ESVNBQkxFX0FVVE9fTUVNT1JZOiBcIjFcIixcbiAgICBDTEFVREVfQ09ERV9ESVNBQkxFX0FEQVBUSVZFX1RISU5LSU5HOiBcIjFcIixcbiAgICBDTEFVREVfQ09ERV9ESVNBQkxFXzFNX0NPTlRFWFQ6IFwiMVwiLFxuICB9O1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZTxDbGlSZXN1bHQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBjaGlsZCA9IHNwYXduKFwiY2xhdWRlXCIsIGFyZ3MsIHtcbiAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJwaXBlXCIsIFwiaWdub3JlXCJdLFxuICAgICAgZW52LFxuICAgICAgY3dkOiBDTEFVREVfQ1dELFxuICAgIH0pO1xuXG4gICAgbGV0IGJ1ZmZlciA9IFwiXCI7XG4gICAgbGV0IHNldHRsZWQgPSBmYWxzZTtcbiAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHNldHRsZWQpIHJldHVybjtcbiAgICAgIHNldHRsZWQgPSB0cnVlO1xuICAgICAgY2hpbGQua2lsbCgpO1xuICAgICAgcmVqZWN0KG5ldyBUaW1lb3V0RXJyb3IoYFRpbWVvdXQgYWZ0ZXIgJHt0aW1lb3V0IC8gMTAwMH1zICh0b2tlbjogJHttYXNrVG9rZW4odG9rZW4pfSlgKSk7XG4gICAgfSwgdGltZW91dCk7XG5cbiAgICBjaGlsZC5zdGRvdXQ/Lm9uKFwiZGF0YVwiLCAoZDogQnVmZmVyKSA9PiB7XG4gICAgICBpZiAoc2V0dGxlZCkgcmV0dXJuO1xuICAgICAgYnVmZmVyICs9IGQudG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IGxpbmVzID0gYnVmZmVyLnNwbGl0KFwiXFxuXCIpO1xuICAgICAgYnVmZmVyID0gbGluZXMucG9wKCkgPz8gXCJcIjtcbiAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcykge1xuICAgICAgICBpZiAoIWxpbmUudHJpbSgpKSBjb250aW51ZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBqID0gSlNPTi5wYXJzZShsaW5lKTtcbiAgICAgICAgICBpZiAoai50eXBlID09PSBcInJlc3VsdFwiICYmICFzZXR0bGVkKSB7XG4gICAgICAgICAgICBsZXQgdGV4dDogc3RyaW5nID0gai5yZXN1bHQgPz8gXCJcIjtcbiAgICAgICAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoL15gYGAoPzpqc29uKT9cXHMqXFxuPy9pLCBcIlwiKS5yZXBsYWNlKC9cXG4/YGBgXFxzKiQvaSwgXCJcIik7XG5cbiAgICAgICAgICAgIGlmICh0ZXh0LnN0YXJ0c1dpdGgoXCJZb3UndmUgaGl0XCIpKSB7XG4gICAgICAgICAgICAgIHNldHRsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgICAgICAgICByZWplY3QobmV3IFF1b3RhRXJyb3IoYFF1b3RhIGV4aGF1c3RlZCAodG9rZW46ICR7bWFza1Rva2VuKHRva2VuKX0pYCkpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHUgPSBqLnVzYWdlID8/IHt9O1xuICAgICAgICAgICAgc2V0dGxlZCA9IHRydWU7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICAgIHVzYWdlOiB7XG4gICAgICAgICAgICAgICAgaW5wdXRfdG9rZW5zOiB1LmlucHV0X3Rva2VucyA/PyAwLFxuICAgICAgICAgICAgICAgIG91dHB1dF90b2tlbnM6IHUub3V0cHV0X3Rva2VucyA/PyAwLFxuICAgICAgICAgICAgICAgIGNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VuczogdS5jYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMgPz8gMCxcbiAgICAgICAgICAgICAgICBjYWNoZV9yZWFkX2lucHV0X3Rva2VuczogdS5jYWNoZV9yZWFkX2lucHV0X3Rva2VucyA/PyAwLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBkdXJhdGlvbk1zOiBqLmR1cmF0aW9uX21zID8/IDAsXG4gICAgICAgICAgICAgIGNvc3RVc2Q6IGoudG90YWxfY29zdF91c2QgPz8gMCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCB7fVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY2hpbGQub24oXCJjbG9zZVwiLCAoKSA9PiB7XG4gICAgICBpZiAoc2V0dGxlZCkgcmV0dXJuO1xuICAgICAgc2V0dGxlZCA9IHRydWU7XG4gICAgICBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgcmVqZWN0KG5ldyBQcm9jZXNzRXJyb3IoYENMSSBwcm9jZXNzIGNsb3NlZCB3aXRob3V0IHJlc3VsdCAodG9rZW46ICR7bWFza1Rva2VuKHRva2VuKX0pYCkpO1xuICAgIH0pO1xuXG4gICAgY2hpbGQub24oXCJlcnJvclwiLCAoZXJyKSA9PiB7XG4gICAgICBpZiAoc2V0dGxlZCkgcmV0dXJuO1xuICAgICAgc2V0dGxlZCA9IHRydWU7XG4gICAgICBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgcmVqZWN0KG5ldyBQcm9jZXNzRXJyb3IoYENMSSBwcm9jZXNzIGVycm9yOiAke2Vyci5tZXNzYWdlfSAodG9rZW46ICR7bWFza1Rva2VuKHRva2VuKX0pYCkpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IFFncmlkRGlzcGF0Y2hlciA9IG5ldyBRZ3JpZERpc3BhdGNoZXJDbGFzcygpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsTUFBTSxnQkFBZ0I7QUFDdEIsTUFBTSxxQkFBcUI7QUFJM0IsTUFBTSxhQUFhO0FBR25C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
|
|
185
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQuZGlzcGF0Y2hlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vcWdyaWQvcWdyaWQuZGlzcGF0Y2hlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFFncmlkRGlzcGF0Y2hlciDigJQgT0F1dGgg7Yag7YGwIOyEoO2DnSArIGNsYXVkZSBDTEkgZnJlc2ggc3Bhd24g65SU7Iqk7Yyo7LKYIOyLseq4gO2EtC5cbiAqXG4gKiAtIOunpCDsmpTssq3rp4jri6Qg7IOIIGNsYXVkZSBDTEkg7ZSE66Gc7IS47IqkIHNwYXduIOKGkiDsnZHri7Ug7ZuEIOyiheujjFxuICogLSBzeXN0ZW0g7J2AIC0tYXBwZW5kLXN5c3RlbS1wcm9tcHQg66GcIOu2hOumrCDsoITri6wgKHVzZXIgdHVybiDsmKTsl7wg67Cp7KeAKVxuICogLSBsZWFzdC11c2VkIHJvdW5kLXJvYmluIOycvOuhnCDthqDtgbAg7ISg7YOdXG4gKiAtIFF1b3RhRXJyb3Ig64qUIOq3uOuMgOuhnCDsg4HsnIQg7KCE7YyMICjsnpDrj5kgZmFpbG92ZXIg7JeG7J2MLCBVSSDsl5DshJwg7IiY64+ZIO2GoOq4gClcbiAqXG4gKiBlbnYgYWxsb3dsaXN0OiBQQVRILCBUTVBESVIsIENMQVVERV9DT0RFX09BVVRIX1RPS0VOICsgQ0xBVURFX0NPREVfRElTQUJMRV8qXG4gKi9cbmltcG9ydCB7IHNwYXduIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHsgbWtkaXJTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcblxuaW1wb3J0IHsgdHlwZSBDbGlSZXN1bHQsIHR5cGUgUXVlcnlJbnB1dCwgdHlwZSBUb2tlblN0YXRzIH0gZnJvbSBcIi4vcWdyaWQudHlwZXNcIjtcbmltcG9ydCB7IG1hc2tUb2tlbiwgUHJvY2Vzc0Vycm9yLCBRdW90YUVycm9yLCBUaW1lb3V0RXJyb3IgfSBmcm9tIFwiLi9xZ3JpZC50eXBlc1wiO1xuXG5jb25zdCBERUZBVUxUX01PREVMID0gXCJzb25uZXRcIjtcbmNvbnN0IERFRkFVTFRfVElNRU9VVF9NUyA9IDYwMF8wMDA7XG5cbi8vIGNsYXVkZSBDTEkg7J2YIGN3ZC4g7J20IOqyveuhnOydmCAuY2xhdWRlL3NldHRpbmdzLmpzb24g7J20IHByb2plY3Qgc2NvcGUg66GcIOuhnOuTnOuQmOyWtFxuLy8g7Zi57Iuc652864+EIOyeiOydhCB1c2VyIHNjb3BlICh+Ly5jbGF1ZGUvc2V0dGluZ3MuanNvbinrpbwg642u7Ja07JSAICgtLXNldHRpbmctc291cmNlcyBwcm9qZWN0IOyZgCDtlajqu5gpLlxuY29uc3QgQ0xBVURFX0NXRCA9IFwiL3RtcC9xZ3JpZFwiO1xuXG4vLyBxZ3JpZCDsoITsmqkgcHJvamVjdCBzZXR0aW5ncyDigJQgdXNlciBzY29wZSDqsqnrpqzsmqlcbmNvbnN0IFFHUklEX0NMQVVERV9TRVRUSU5HUyA9IHtcbiAgYWx3YXlzVGhpbmtpbmdFbmFibGVkOiBmYWxzZSwgLy8gdGhpbmtpbmcgYmxvY2sg7LCo64uoXG4gIGluY2x1ZGVHaXRJbnN0cnVjdGlvbnM6IGZhbHNlLCAvLyBzeXN0ZW0gcHJvbXB0IOydmCBnaXQg6rCA7J2065OcIOygnOqxsFxuICBjbGVhbnVwUGVyaW9kRGF5czogMSxcbn07XG5cbmNsYXNzIFFncmlkRGlzcGF0Y2hlckNsYXNzIHtcbiAgdG9rZW5zID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgcmVxdWVzdENvdW50cyA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG4gIHJySW5kZXggPSAwO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIG1rZGlyU3luYyhgJHtDTEFVREVfQ1dEfS8uY2xhdWRlYCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgd3JpdGVGaWxlU3luYyhcbiAgICAgIGAke0NMQVVERV9DV0R9Ly5jbGF1ZGUvc2V0dGluZ3MuanNvbmAsXG4gICAgICBKU09OLnN0cmluZ2lmeShRR1JJRF9DTEFVREVfU0VUVElOR1MsIG51bGwsIDIpLFxuICAgICk7XG4gIH1cblxuICBnZXRTdGF0cygpOiBUb2tlblN0YXRzW10ge1xuICAgIHJldHVybiBbLi4udGhpcy50b2tlbnMuZW50cmllcygpXS5tYXAoKFt0b2tlbiwgbmFtZV0pID0+ICh7XG4gICAgICB0b2tlbixcbiAgICAgIG5hbWUsXG4gICAgICByZXF1ZXN0czogdGhpcy5yZXF1ZXN0Q291bnRzLmdldCh0b2tlbikgPz8gMCxcbiAgICB9KSk7XG4gIH1cblxuICBzZWxlY3RUb2tlbigpOiB7IHRva2VuOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9IHwgbnVsbCB7XG4gICAgY29uc3QgZW50cmllcyA9IFsuLi50aGlzLnRva2Vucy5lbnRyaWVzKCldO1xuICAgIGlmIChlbnRyaWVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBtaW5Db3VudCA9IE1hdGgubWluKC4uLmVudHJpZXMubWFwKChbdF0pID0+IHRoaXMucmVxdWVzdENvdW50cy5nZXQodCkgPz8gMCkpO1xuICAgIGNvbnN0IGlkbGUgPSBlbnRyaWVzLmZpbHRlcigoW3RdKSA9PiAodGhpcy5yZXF1ZXN0Q291bnRzLmdldCh0KSA/PyAwKSA9PT0gbWluQ291bnQpO1xuICAgIGNvbnN0IHBpY2tlZCA9IGlkbGVbdGhpcy5yckluZGV4ICUgaWRsZS5sZW5ndGhdITtcbiAgICB0aGlzLnJySW5kZXgrKztcbiAgICByZXR1cm4geyB0b2tlbjogcGlja2VkWzBdLCBuYW1lOiBwaWNrZWRbMV0gfTtcbiAgfVxuXG4gIGFzeW5jIHF1ZXJ5KGlucHV0OiBRdWVyeUlucHV0LCB0aW1lb3V0TXM/OiBudW1iZXIpOiBQcm9taXNlPENsaVJlc3VsdD4ge1xuICAgIGNvbnN0IHNlbCA9IHRoaXMuc2VsZWN0VG9rZW4oKTtcbiAgICBpZiAoIXNlbCkgdGhyb3cgbmV3IFF1b3RhRXJyb3IoXCJObyB0b2tlbnMgYXZhaWxhYmxlXCIpO1xuXG4gICAgLy8gYXdhaXQg7KCE7JeQIGNvdW50IOyEoOuwmOyYgS4g67OR66CsIOyalOyyreydtCDrj5nsi5zsl5Ag64+E7LCp7ZW064+EIOqwgeyekCDri6Trpbgg7Yag7YGw7J2EIOqzoOultOuPhOuhnS5cbiAgICB0aGlzLnJlcXVlc3RDb3VudHMuc2V0KHNlbC50b2tlbiwgKHRoaXMucmVxdWVzdENvdW50cy5nZXQoc2VsLnRva2VuKSA/PyAwKSArIDEpO1xuXG4gICAgY29uc29sZS5sb2coYFtxZ3JpZF0g4oaSICR7c2VsLm5hbWV9IChtb2RlbDogJHtpbnB1dC5tb2RlbCA/PyBERUZBVUxUX01PREVMfSlgKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGV4ZWN1dGVDbGF1ZGUoaW5wdXQsIHNlbC50b2tlbiwgdGltZW91dE1zID8/IERFRkFVTFRfVElNRU9VVF9NUyk7XG4gICAgcmV0dXJuIHsgLi4ucmVzdWx0LCB0b2tlbk5hbWU6IHNlbC5uYW1lLCBtb2RlbDogaW5wdXQubW9kZWwgPz8gREVGQVVMVF9NT0RFTCB9O1xuICB9XG5cbiAgYWRkVG9rZW4odG9rZW46IHN0cmluZywgbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9rZW5zLmhhcyh0b2tlbikpIHJldHVybjtcbiAgICB0aGlzLnRva2Vucy5zZXQodG9rZW4sIG5hbWUpO1xuICAgIHRoaXMucmVxdWVzdENvdW50cy5zZXQodG9rZW4sIDApO1xuICB9XG5cbiAgcmVtb3ZlVG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudG9rZW5zLmRlbGV0ZSh0b2tlbik7XG4gICAgdGhpcy5yZXF1ZXN0Q291bnRzLmRlbGV0ZSh0b2tlbik7XG4gIH1cblxuICBoYXNUb2tlbih0b2tlbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zLmhhcyh0b2tlbik7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZUNsYXVkZShcbiAgaW5wdXQ6IFF1ZXJ5SW5wdXQsXG4gIHRva2VuOiBzdHJpbmcsXG4gIHRpbWVvdXRNczogbnVtYmVyLFxuKTogUHJvbWlzZTxDbGlSZXN1bHQ+IHtcbiAgY29uc3QgbW9kZWwgPSBpbnB1dC5tb2RlbCA/PyBERUZBVUxUX01PREVMO1xuICBjb25zdCB0aW1lb3V0ID0gaW5wdXQudGltZW91dCA/PyB0aW1lb3V0TXM7XG4gIGNvbnN0IHVzZVN0cnVjdHVyZWRPdXRwdXQgPSBpbnB1dC5qc29uU2NoZW1hICYmIGlucHV0Lmpzb25TY2hlbWEubGVuZ3RoID4gMDtcblxuICAvLyAtLXRvb2xzIFwiXCIg66GcIOuqqOuToCB0b29sIOydhCDquLDrs7gg7LCo64uoLiBzdHJ1Y3R1cmVkIG91dHB1dCDsk7DrqbQgU3RydWN0dXJlZE91dHB1dCDrp4wg7ZmU7J207Yq466as7Iqk7Yq4LlxuICAvLyAtLXRvb2xzIFwiXCIg64qUIOuwmOuTnOyLnCDrkqTsl5Ag64uk66W4IO2UjOuemOq3uOqwgCDsmYDslbwgQ0xJIO2MjOyLseydtCDruYgg66y47J6Q7Je066GcIOyduOyLnVxuICBjb25zdCB0b29sQXJncyA9IHVzZVN0cnVjdHVyZWRPdXRwdXRcbiAgICA/IFtcIi0tdG9vbHNcIiwgXCJcIiwgXCItLWFsbG93ZWQtdG9vbHNcIiwgXCJTdHJ1Y3R1cmVkT3V0cHV0XCJdXG4gICAgOiBbXCItLXRvb2xzXCIsIFwiXCJdO1xuXG4gIGNvbnN0IGFyZ3M6IHN0cmluZ1tdID0gW1xuICAgIFwiLXBcIixcbiAgICAuLi50b29sQXJncyxcbiAgICBcIi0tb3V0cHV0LWZvcm1hdFwiLFxuICAgIFwic3RyZWFtLWpzb25cIixcbiAgICBcIi0tdmVyYm9zZVwiLFxuICAgIFwiLS1tYXgtdHVybnNcIixcbiAgICAvLyBzdHJ1Y3R1cmVkIG91dHB1dCDsnYAgdG9vbF91c2UgKyB0b29sX3Jlc3VsdCDroZwgMu2EtCDshozruYRcbiAgICB1c2VTdHJ1Y3R1cmVkT3V0cHV0ID8gXCIyXCIgOiBcIjFcIixcbiAgICBcIi0tcGVybWlzc2lvbi1tb2RlXCIsXG4gICAgXCJieXBhc3NQZXJtaXNzaW9uc1wiLFxuICAgIFwiLS1zZXR0aW5nLXNvdXJjZXNcIixcbiAgICBcInByb2plY3RcIixcbiAgICBcIi0tbW9kZWxcIixcbiAgICBtb2RlbCxcbiAgICAvLyB0aGlua2luZyDruYTtmZzshLHtmZTripQgcHJvamVjdCBzZXR0aW5ncyAoYWx3YXlzVGhpbmtpbmdFbmFibGVkOiBmYWxzZSkg7JeQ7IScIOyymOumrFxuICAgIFwiLS1leGNsdWRlLWR5bmFtaWMtc3lzdGVtLXByb21wdC1zZWN0aW9uc1wiLCAvLyBjd2QvZW52IOulvCB1c2VyIG1zZyDroZwg7J2064+ZIOKGkiBwcmVmaXggY2FjaGUg7JWI7KCV7ZmUXG4gICAgXCItLW5vLXNlc3Npb24tcGVyc2lzdGVuY2VcIiwgLy8gfi8uY2xhdWRlL3Byb2plY3RzLyDsnZggb3JwaGFuIGpzb25sIOuIhOyggSDrsKnsp4BcbiAgXTtcbiAgaWYgKHVzZVN0cnVjdHVyZWRPdXRwdXQpIHtcbiAgICBhcmdzLnB1c2goXCItLWpzb24tc2NoZW1hXCIsIGlucHV0Lmpzb25TY2hlbWEhKTtcbiAgfVxuICBpZiAoaW5wdXQuc3lzdGVtKSB7XG4gICAgYXJncy5wdXNoKFwiLS1hcHBlbmQtc3lzdGVtLXByb21wdFwiLCBpbnB1dC5zeXN0ZW0pO1xuICB9XG4gIGFyZ3MucHVzaChpbnB1dC5wcm9tcHQpO1xuXG4gIGNvbnN0IGVudjogTm9kZUpTLlByb2Nlc3NFbnYgPSB7XG4gICAgUEFUSDogcHJvY2Vzcy5lbnYuUEFUSCxcbiAgICBUTVBESVI6IHByb2Nlc3MuZW52LlRNUERJUixcbiAgICBDTEFVREVfQ09ERV9PQVVUSF9UT0tFTjogdG9rZW4sXG4gICAgQ0xBVURFX0NPREVfRElTQUJMRV9BVVRPX01FTU9SWTogXCIxXCIsXG4gICAgQ0xBVURFX0NPREVfRElTQUJMRV9BREFQVElWRV9USElOS0lORzogXCIxXCIsXG4gICAgQ0xBVURFX0NPREVfRElTQUJMRV8xTV9DT05URVhUOiBcIjFcIixcbiAgfTtcblxuICByZXR1cm4gbmV3IFByb21pc2U8Q2xpUmVzdWx0PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgY2hpbGQgPSBzcGF3bihcImNsYXVkZVwiLCBhcmdzLCB7XG4gICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwicGlwZVwiLCBcImlnbm9yZVwiXSxcbiAgICAgIGVudixcbiAgICAgIGN3ZDogQ0xBVURFX0NXRCxcbiAgICB9KTtcblxuICAgIGxldCBidWZmZXIgPSBcIlwiO1xuICAgIGxldCBzZXR0bGVkID0gZmFsc2U7XG4gICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmIChzZXR0bGVkKSByZXR1cm47XG4gICAgICBzZXR0bGVkID0gdHJ1ZTtcbiAgICAgIGNoaWxkLmtpbGwoKTtcbiAgICAgIHJlamVjdChuZXcgVGltZW91dEVycm9yKGBUaW1lb3V0IGFmdGVyICR7dGltZW91dCAvIDEwMDB9cyAodG9rZW46ICR7bWFza1Rva2VuKHRva2VuKX0pYCkpO1xuICAgIH0sIHRpbWVvdXQpO1xuXG4gICAgY2hpbGQuc3Rkb3V0Py5vbihcImRhdGFcIiwgKGQ6IEJ1ZmZlcikgPT4ge1xuICAgICAgaWYgKHNldHRsZWQpIHJldHVybjtcbiAgICAgIGJ1ZmZlciArPSBkLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdChcIlxcblwiKTtcbiAgICAgIGJ1ZmZlciA9IGxpbmVzLnBvcCgpID8/IFwiXCI7XG4gICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgICAgaWYgKCFsaW5lLnRyaW0oKSkgY29udGludWU7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgaiA9IEpTT04ucGFyc2UobGluZSk7XG4gICAgICAgICAgaWYgKGoudHlwZSA9PT0gXCJyZXN1bHRcIiAmJiAhc2V0dGxlZCkge1xuICAgICAgICAgICAgLy8gLS1qc29uLXNjaGVtYSDsgqzsmqkg7IucIHN0cnVjdHVyZWRfb3V0cHV0IOyXkCDtjIzsi7HrkJwg6rCd7LK06rCAIOyYqOuLpCDihpIg7Jqw7ISgIOyCrOyaqVxuICAgICAgICAgICAgbGV0IHRleHQ6IHN0cmluZztcbiAgICAgICAgICAgIGlmIChqLnN0cnVjdHVyZWRfb3V0cHV0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgdGV4dCA9IEpTT04uc3RyaW5naWZ5KGouc3RydWN0dXJlZF9vdXRwdXQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGV4dCA9IChqLnJlc3VsdCA/PyBcIlwiKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9eYGBgKD86anNvbik/XFxzKlxcbj8vaSwgXCJcIilcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxuP2BgYFxccyokL2ksIFwiXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGV4dC5zdGFydHNXaXRoKFwiWW91J3ZlIGhpdFwiKSkge1xuICAgICAgICAgICAgICBzZXR0bGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgICAgICAgICAgcmVqZWN0KG5ldyBRdW90YUVycm9yKGBRdW90YSBleGhhdXN0ZWQgKHRva2VuOiAke21hc2tUb2tlbih0b2tlbil9KWApKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1ID0gai51c2FnZSA/PyB7fTtcbiAgICAgICAgICAgIHNldHRsZWQgPSB0cnVlO1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgICB0ZXh0LFxuICAgICAgICAgICAgICB1c2FnZToge1xuICAgICAgICAgICAgICAgIGlucHV0X3Rva2VuczogdS5pbnB1dF90b2tlbnMgPz8gMCxcbiAgICAgICAgICAgICAgICBvdXRwdXRfdG9rZW5zOiB1Lm91dHB1dF90b2tlbnMgPz8gMCxcbiAgICAgICAgICAgICAgICBjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnM6IHUuY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zID8/IDAsXG4gICAgICAgICAgICAgICAgY2FjaGVfcmVhZF9pbnB1dF90b2tlbnM6IHUuY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMgPz8gMCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZHVyYXRpb25Nczogai5kdXJhdGlvbl9tcyA/PyAwLFxuICAgICAgICAgICAgICBjb3N0VXNkOiBqLnRvdGFsX2Nvc3RfdXNkID8/IDAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2gge31cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNoaWxkLm9uKFwiY2xvc2VcIiwgKCkgPT4ge1xuICAgICAgaWYgKHNldHRsZWQpIHJldHVybjtcbiAgICAgIHNldHRsZWQgPSB0cnVlO1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgIHJlamVjdChuZXcgUHJvY2Vzc0Vycm9yKGBDTEkgcHJvY2VzcyBjbG9zZWQgd2l0aG91dCByZXN1bHQgKHRva2VuOiAke21hc2tUb2tlbih0b2tlbil9KWApKTtcbiAgICB9KTtcblxuICAgIGNoaWxkLm9uKFwiZXJyb3JcIiwgKGVycikgPT4ge1xuICAgICAgaWYgKHNldHRsZWQpIHJldHVybjtcbiAgICAgIHNldHRsZWQgPSB0cnVlO1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgIHJlamVjdChuZXcgUHJvY2Vzc0Vycm9yKGBDTEkgcHJvY2VzcyBlcnJvcjogJHtlcnIubWVzc2FnZX0gKHRva2VuOiAke21hc2tUb2tlbih0b2tlbil9KWApKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBRZ3JpZERpc3BhdGNoZXIgPSBuZXcgUWdyaWREaXNwYXRjaGVyQ2xhc3MoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLE1BQU0sZ0JBQWdCO0FBQ3RCLE1BQU0scUJBQXFCO0FBSTNCLE1B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
|
|
@@ -12,11 +12,12 @@ var QgridFrameClass = class extends BaseFrameClass {
|
|
|
12
12
|
constructor() {
|
|
13
13
|
super("Qgrid");
|
|
14
14
|
}
|
|
15
|
-
async query(prompt, system, timeout, model, projectName) {
|
|
15
|
+
async query(prompt, system, timeout, model, projectName, jsonSchema) {
|
|
16
16
|
const result = await QgridDispatcher.query({
|
|
17
17
|
system,
|
|
18
18
|
prompt,
|
|
19
|
-
model
|
|
19
|
+
model,
|
|
20
|
+
jsonSchema
|
|
20
21
|
}, timeout);
|
|
21
22
|
RequestLogModel.save([{
|
|
22
23
|
token_name: result.tokenName,
|
|
@@ -186,6 +187,7 @@ __decorate([
|
|
|
186
187
|
String,
|
|
187
188
|
Number,
|
|
188
189
|
String,
|
|
190
|
+
String,
|
|
189
191
|
String
|
|
190
192
|
]),
|
|
191
193
|
__decorateMetadata("design:returntype", Promise)
|
|
@@ -293,4 +295,4 @@ const QgridFrame = new QgridFrameClass();
|
|
|
293
295
|
//#endregion
|
|
294
296
|
export { QgridFrame };
|
|
295
297
|
|
|
296
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQuZnJhbWUuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3FncmlkL3FncmlkLmZyYW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRmFzdGlmeVJlcGx5IH0gZnJvbSBcImZhc3RpZnlcIjtcbmltcG9ydCB7IGFwaSwgQmFzZUZyYW1lQ2xhc3MgfSBmcm9tIFwic29uYW11XCI7XG5cbmltcG9ydCB7IE1JQ1JPX1VTRCwgUmVxdWVzdExvZ01vZGVsIH0gZnJvbSBcIi4uL3JlcXVlc3QtbG9nL3JlcXVlc3QtbG9nLm1vZGVsXCI7XG5pbXBvcnQgeyBUb2tlbk1vZGVsIH0gZnJvbSBcIi4uL3Rva2VuL3Rva2VuLm1vZGVsXCI7XG5pbXBvcnQgeyB0eXBlIFJlZnJlc2hUb2tlblBhcmFtcyB9IGZyb20gXCIuLi90b2tlbi90b2tlbi50eXBlc1wiO1xuaW1wb3J0IHtcbiAgYnVpbGRBdXRoVXJsLFxuICBleGNoYW5nZUNvZGVGb3JUb2tlbnMsXG4gIGZldGNoVXNhZ2UsXG4gIGdlbmVyYXRlUEtDRSxcbiAgcmVmcmVzaEFjY2Vzc1Rva2VuLFxufSBmcm9tIFwiLi9vYXV0aFwiO1xuaW1wb3J0IHsgUWdyaWREaXNwYXRjaGVyIH0gZnJvbSBcIi4vcWdyaWQuZGlzcGF0Y2hlclwiO1xuaW1wb3J0IHtcbiAgdHlwZSBDbGlSZXN1bHQsXG4gIHR5cGUgSGVhbHRoUmVzcG9uc2UsXG4gIHR5cGUgT0F1dGhTdGFydFJlc3VsdCxcbiAgdHlwZSBUb2tlblN0YXRzLFxuICB0eXBlIFVzYWdlUmVzcG9uc2UsXG59IGZyb20gXCIuL3FncmlkLnR5cGVzXCI7XG5cbmNvbnN0IHBlbmRpbmdPQXV0aCA9IG5ldyBNYXA8c3RyaW5nLCB7IGNvZGVWZXJpZmllcjogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IHJlZGlyZWN0VXJpOiBzdHJpbmcgfT4oKTtcblxuY2xhc3MgUWdyaWRGcmFtZUNsYXNzIGV4dGVuZHMgQmFzZUZyYW1lQ2xhc3Mge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcIlFncmlkXCIpO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiUE9TVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLW11dGF0aW9uXCJdIH0pXG4gIGFzeW5jIHF1ZXJ5KFxuICAgIHByb21wdDogc3RyaW5nLFxuICAgIHN5c3RlbT86IHN0cmluZyxcbiAgICB0aW1lb3V0PzogbnVtYmVyLFxuICAgIG1vZGVsPzogc3RyaW5nLFxuICAgIHByb2plY3ROYW1lPzogc3RyaW5nLFxuICApOiBQcm9taXNlPENsaVJlc3VsdD4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFFncmlkRGlzcGF0Y2hlci5xdWVyeSh7IHN5c3RlbSwgcHJvbXB0LCBtb2RlbCB9LCB0aW1lb3V0KTtcblxuICAgIFJlcXVlc3RMb2dNb2RlbC5zYXZlKFtcbiAgICAgIHtcbiAgICAgICAgdG9rZW5fbmFtZTogcmVzdWx0LnRva2VuTmFtZSxcbiAgICAgICAgcHJvamVjdF9uYW1lOiBwcm9qZWN0TmFtZSAmJiBwcm9qZWN0TmFtZS5sZW5ndGggPiAwID8gcHJvamVjdE5hbWUgOiBudWxsLFxuICAgICAgICBtb2RlbF9uYW1lOiByZXN1bHQubW9kZWwgPz8gbnVsbCxcbiAgICAgICAgdXNlcl9wcm9tcHQ6IHByb21wdCxcbiAgICAgICAgc3lzdGVtX3Byb21wdDogc3lzdGVtID8/IG51bGwsXG4gICAgICAgIHJlc3BvbnNlOiByZXN1bHQudGV4dCxcbiAgICAgICAgaW5wdXRfdG9rZW5zOiByZXN1bHQudXNhZ2UuaW5wdXRfdG9rZW5zLFxuICAgICAgICBvdXRwdXRfdG9rZW5zOiByZXN1bHQudXNhZ2Uub3V0cHV0X3Rva2VucyxcbiAgICAgICAgY2FjaGVfcmVhZF90b2tlbnM6IHJlc3VsdC51c2FnZS5jYWNoZV9yZWFkX2lucHV0X3Rva2VucyxcbiAgICAgICAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiByZXN1bHQudXNhZ2UuY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zLFxuICAgICAgICBkdXJhdGlvbl9tczogcmVzdWx0LmR1cmF0aW9uTXMsXG4gICAgICAgIGNvc3RfdXNkOiByZXN1bHQuY29zdFVzZCAhPT0gbnVsbCA/IE1hdGgucm91bmQocmVzdWx0LmNvc3RVc2QgKiBNSUNST19VU0QpIDogbnVsbCxcbiAgICAgIH0sXG4gICAgXSkuY2F0Y2goKGUpID0+IGNvbnNvbGUuZXJyb3IoXCJyZXF1ZXN0TG9nIHNhdmUgZmFpbGVkOlwiLCBlKSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stcXVlcnlcIl0gfSlcbiAgYXN5bmMgc3RhdHMoKTogUHJvbWlzZTxUb2tlblN0YXRzW10+IHtcbiAgICByZXR1cm4gUWdyaWREaXNwYXRjaGVyLmdldFN0YXRzKCk7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1xdWVyeVwiXSB9KVxuICBhc3luYyB0b3RhbENvc3QodG9rZW5OYW1lPzogc3RyaW5nKTogUHJvbWlzZTx7IHVzZDogbnVtYmVyIH0+IHtcbiAgICByZXR1cm4geyB1c2Q6IGF3YWl0IFJlcXVlc3RMb2dNb2RlbC50b3RhbENvc3QoeyB0b2tlbl9uYW1lOiB0b2tlbk5hbWUgfSkgfTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIkdFVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLXF1ZXJ5XCJdIH0pXG4gIGFzeW5jIHByb2plY3ROYW1lcygpOiBQcm9taXNlPHsgbmFtZXM6IHN0cmluZ1tdIH0+IHtcbiAgICByZXR1cm4geyBuYW1lczogYXdhaXQgUmVxdWVzdExvZ01vZGVsLmRpc3RpbmN0UHJvamVjdE5hbWVzKCkgfTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyBhZGRUb2tlbih0b2tlbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIHJlZnJlc2hUb2tlbj86IHN0cmluZyk6IFByb21pc2U8eyBhZGRlZDogYm9vbGVhbiB9PiB7XG4gICAgYXdhaXQgVG9rZW5Nb2RlbC5zYXZlKFtcbiAgICAgIHtcbiAgICAgICAgdG9rZW4sXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLihyZWZyZXNoVG9rZW4gJiYgcmVmcmVzaFRva2VuLmxlbmd0aCA+IDAgPyB7IHJlZnJlc2hfdG9rZW46IHJlZnJlc2hUb2tlbiB9IDoge30pLFxuICAgICAgfSxcbiAgICBdKTtcbiAgICBRZ3JpZERpc3BhdGNoZXIuYWRkVG9rZW4odG9rZW4sIG5hbWUpO1xuICAgIHJldHVybiB7IGFkZGVkOiB0cnVlIH07XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stbXV0YXRpb25cIl0gfSlcbiAgYXN5bmMgdXBkYXRlVG9rZW4oXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBuYW1lPzogc3RyaW5nLFxuICAgIG5ld1Rva2VuPzogc3RyaW5nLFxuICAgIHJlZnJlc2hUb2tlbj86IHN0cmluZyxcbiAgKTogUHJvbWlzZTx7IHVwZGF0ZWQ6IGJvb2xlYW4gfT4ge1xuICAgIGNvbnN0IGVudHJ5ID0gYXdhaXQgVG9rZW5Nb2RlbC5maW5kQnlUb2tlbihcIkFcIiwgdG9rZW4pO1xuICAgIGlmICghZW50cnkpIHJldHVybiB7IHVwZGF0ZWQ6IGZhbHNlIH07XG5cbiAgICBjb25zdCBoYXNOZXdUb2tlbiA9IG5ld1Rva2VuICE9PSB1bmRlZmluZWQgJiYgbmV3VG9rZW4ubGVuZ3RoID4gMDtcbiAgICBjb25zdCBoYXNSZWZyZXNoVG9rZW4gPSByZWZyZXNoVG9rZW4gIT09IHVuZGVmaW5lZCAmJiByZWZyZXNoVG9rZW4ubGVuZ3RoID4gMDtcbiAgICBhd2FpdCBUb2tlbk1vZGVsLnNhdmUoW1xuICAgICAge1xuICAgICAgICBpZDogZW50cnkuaWQsXG4gICAgICAgIHRva2VuOiBoYXNOZXdUb2tlbiA/IG5ld1Rva2VuIDogZW50cnkudG9rZW4sXG4gICAgICAgIG5hbWU6IG5hbWUgIT09IHVuZGVmaW5lZCA/IG5hbWUgOiBlbnRyeS5uYW1lLFxuICAgICAgICAuLi4oaGFzUmVmcmVzaFRva2VuID8geyByZWZyZXNoX3Rva2VuOiByZWZyZXNoVG9rZW4gfSA6IHt9KSxcbiAgICAgIH0sXG4gICAgXSk7XG5cbiAgICBpZiAoaGFzTmV3VG9rZW4pIHtcbiAgICAgIFFncmlkRGlzcGF0Y2hlci5yZW1vdmVUb2tlbih0b2tlbik7XG4gICAgICBRZ3JpZERpc3BhdGNoZXIuYWRkVG9rZW4obmV3VG9rZW4sIG5hbWUgPz8gZW50cnkubmFtZSk7XG4gICAgfVxuICAgIHJldHVybiB7IHVwZGF0ZWQ6IHRydWUgfTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyByZW1vdmVUb2tlbih0b2tlbjogc3RyaW5nKTogUHJvbWlzZTx7IHJlbW92ZWQ6IGJvb2xlYW4gfT4ge1xuICAgIGlmICghUWdyaWREaXNwYXRjaGVyLmhhc1Rva2VuKHRva2VuKSkgcmV0dXJuIHsgcmVtb3ZlZDogZmFsc2UgfTtcblxuICAgIGNvbnN0IGVudHJ5ID0gYXdhaXQgVG9rZW5Nb2RlbC5maW5kQnlUb2tlbihcIkFcIiwgdG9rZW4pO1xuICAgIGlmIChlbnRyeSkgYXdhaXQgVG9rZW5Nb2RlbC5kZWwoW2VudHJ5LmlkXSk7XG4gICAgUWdyaWREaXNwYXRjaGVyLnJlbW92ZVRva2VuKHRva2VuKTtcbiAgICByZXR1cm4geyByZW1vdmVkOiB0cnVlIH07XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGlkIHRva2VuX2lkXG4gICAqIO2GoO2BsCDtmZzshLHtmZQv67mE7Zmc7ISx7ZmUIO2GoOq4gCAoZGlzcGF0Y2hlciDrk7HroZ0v7KCc6rGwICYgRELsnZggYWN0aXZlIO2VhOuTnCDsl4XrjbDsnbTtirgpXG4gICAqIEByZXR1cm5zIO2GoO2BsCDtmZzshLHtmZQg7Jes67aAXG4gICAqL1xuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stbXV0YXRpb25cIl0gfSlcbiAgYXN5bmMgdG9nZ2xlVG9rZW4oaWQ6IG51bWJlcik6IFByb21pc2U8eyBhY3RpdmU6IGJvb2xlYW4gfT4ge1xuICAgIGNvbnN0IGVudHJ5ID0gYXdhaXQgVG9rZW5Nb2RlbC5maW5kT25lKFwiQVwiLCB7IGlkIH0pO1xuICAgIGlmICghZW50cnkpIHJldHVybiB7IGFjdGl2ZTogZmFsc2UgfTtcblxuICAgIGNvbnN0IG5ld0FjdGl2ZSA9ICFlbnRyeS5hY3RpdmU7XG4gICAgYXdhaXQgVG9rZW5Nb2RlbC5zYXZlKFt7IGlkLCB0b2tlbjogZW50cnkudG9rZW4sIGFjdGl2ZTogbmV3QWN0aXZlLCBuYW1lOiBlbnRyeS5uYW1lIH1dKTtcblxuICAgIGlmIChuZXdBY3RpdmUpIHtcbiAgICAgIFFncmlkRGlzcGF0Y2hlci5hZGRUb2tlbihlbnRyeS50b2tlbiwgZW50cnkubmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFFncmlkRGlzcGF0Y2hlci5yZW1vdmVUb2tlbihlbnRyeS50b2tlbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgYWN0aXZlOiBuZXdBY3RpdmUgfTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyBvYXV0aFN0YXJ0KG5hbWU6IHN0cmluZyk6IFByb21pc2U8T0F1dGhTdGFydFJlc3VsdD4ge1xuICAgIGNvbnN0IHsgY29kZVZlcmlmaWVyLCBjb2RlQ2hhbGxlbmdlLCBzdGF0ZSB9ID0gZ2VuZXJhdGVQS0NFKCk7XG5cbiAgICBjb25zdCBzZXJ2ZXJQb3J0ID0gcHJvY2Vzcy5lbnYuUE9SVCA/PyBcIjQ0OTAwXCI7XG4gICAgY29uc3QgcmVkaXJlY3RVcmkgPSBgaHR0cDovL2xvY2FsaG9zdDoke3NlcnZlclBvcnR9L2NhbGxiYWNrYDtcbiAgICBjb25zdCBhdXRoVXJsID0gYnVpbGRBdXRoVXJsKGNvZGVDaGFsbGVuZ2UsIHN0YXRlLCByZWRpcmVjdFVyaSk7XG5cbiAgICBwZW5kaW5nT0F1dGguc2V0KHN0YXRlLCB7IGNvZGVWZXJpZmllciwgbmFtZSwgcmVkaXJlY3RVcmkgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiBwZW5kaW5nT0F1dGguZGVsZXRlKHN0YXRlKSwgMzAwXzAwMCk7XG5cbiAgICByZXR1cm4geyBhdXRoVXJsIH07XG4gIH1cblxuICBhc3luYyBoYW5kbGVPQXV0aENhbGxiYWNrKGNvZGU6IHN0cmluZywgc3RhdGU6IHN0cmluZywgcmVwbHk6IEZhc3RpZnlSZXBseSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHBlbmRpbmcgPSBwZW5kaW5nT0F1dGguZ2V0KHN0YXRlKTtcbiAgICBpZiAoIXBlbmRpbmcpIHtcbiAgICAgIHJldHVybiByZXBseS5yZWRpcmVjdChcIi8/b2F1dGg9ZXJyb3ImcmVhc29uPWludmFsaWRfc3RhdGVcIik7XG4gICAgfVxuICAgIHBlbmRpbmdPQXV0aC5kZWxldGUoc3RhdGUpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRva2VucyA9IGF3YWl0IGV4Y2hhbmdlQ29kZUZvclRva2VucyhcbiAgICAgICAgY29kZSxcbiAgICAgICAgcGVuZGluZy5jb2RlVmVyaWZpZXIsXG4gICAgICAgIHN0YXRlLFxuICAgICAgICBwZW5kaW5nLnJlZGlyZWN0VXJpLFxuICAgICAgKTtcblxuICAgICAgaWYgKHRva2Vucy5hY2NvdW50VXVpZCkge1xuICAgICAgICBjb25zdCBvbGRFbnRyaWVzID0gYXdhaXQgVG9rZW5Nb2RlbC5maW5kQnlBY2NvdW50VXVpZChcIkFcIiwgdG9rZW5zLmFjY291bnRVdWlkKTtcbiAgICAgICAgaWYgKG9sZEVudHJpZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGZvciAoY29uc3Qgb2xkIG9mIG9sZEVudHJpZXMpIFFncmlkRGlzcGF0Y2hlci5yZW1vdmVUb2tlbihvbGQudG9rZW4pO1xuICAgICAgICAgIGF3YWl0IFRva2VuTW9kZWwuZGVsKG9sZEVudHJpZXMubWFwKChvKSA9PiBvLmlkKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYXdhaXQgVG9rZW5Nb2RlbC5zYXZlKFtcbiAgICAgICAge1xuICAgICAgICAgIHRva2VuOiB0b2tlbnMuYWNjZXNzVG9rZW4sXG4gICAgICAgICAgbmFtZTogcGVuZGluZy5uYW1lLFxuICAgICAgICAgIHJlZnJlc2hfdG9rZW46IHRva2Vucy5yZWZyZXNoVG9rZW4sXG4gICAgICAgICAgZXhwaXJlc19hdDogdG9rZW5zLmV4cGlyZXNBdCA/IEJpZ0ludCh0b2tlbnMuZXhwaXJlc0F0KSA6IG51bGwsXG4gICAgICAgICAgYWNjb3VudF91dWlkOiB0b2tlbnMuYWNjb3VudFV1aWQsXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICAgIFFncmlkRGlzcGF0Y2hlci5hZGRUb2tlbih0b2tlbnMuYWNjZXNzVG9rZW4sIHBlbmRpbmcubmFtZSk7XG5cbiAgICAgIHJldHVybiByZXBseS5yZWRpcmVjdChgLz9vYXV0aD1zdWNjZXNzJm5hbWU9JHtlbmNvZGVVUklDb21wb25lbnQocGVuZGluZy5uYW1lKX1gKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gcmVwbHkucmVkaXJlY3QoYC8/b2F1dGg9ZXJyb3ImcmVhc29uPSR7ZW5jb2RlVVJJQ29tcG9uZW50KChlIGFzIEVycm9yKS5tZXNzYWdlKX1gKTtcbiAgICB9XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1xdWVyeVwiXSB9KVxuICBhc3luYyB1c2FnZSh0b2tlbk5hbWU/OiBzdHJpbmcpOiBQcm9taXNlPFVzYWdlUmVzcG9uc2U+IHtcbiAgICBjb25zdCB7IHJvd3M6IGFsbFRva2VucyB9ID0gYXdhaXQgVG9rZW5Nb2RlbC5maW5kTWFueShcIkFcIik7XG4gICAgY29uc3QgZW50cnkgPSB0b2tlbk5hbWVcbiAgICAgID8gYWxsVG9rZW5zLmZpbmQoKGUpID0+IGUubmFtZSA9PT0gdG9rZW5OYW1lKVxuICAgICAgOiBhbGxUb2tlbnMuZmluZExhc3QoKGUpID0+IGUuYWN0aXZlKTtcblxuICAgIGlmICghZW50cnkpIHJldHVybiB7IGVycm9yOiBcIk5PVF9GT1VORFwiIH07XG5cbiAgICBsZXQgYWNjZXNzVG9rZW4gPSBlbnRyeS50b2tlbjtcbiAgICBjb25zdCBpc0V4cGlyZWQgPSBlbnRyeS5leHBpcmVzX2F0ICYmIE51bWJlcihlbnRyeS5leHBpcmVzX2F0KSA8IERhdGUubm93KCk7XG5cbiAgICBpZiAoaXNFeHBpcmVkICYmIGVudHJ5LnJlZnJlc2hfdG9rZW4pIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGFjY2Vzc1Rva2VuID0gYXdhaXQgdGhpcy5yZWZyZXNoVG9rZW4oZW50cnkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFt1c2FnZV0gcmVmcmVzaCBmYWlsZWQgZm9yICR7ZW50cnkubmFtZX06ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCk7XG4gICAgICAgIHJldHVybiB7IGVycm9yOiBcInJlLWxvZ2luIHJlcXVpcmVkXCIgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmZXRjaFVzYWdlKGFjY2Vzc1Rva2VuKTtcblxuICAgIGlmIChyZXN1bHQuZXJyb3IgJiYgZW50cnkucmVmcmVzaF90b2tlbikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYWNjZXNzVG9rZW4gPSBhd2FpdCB0aGlzLnJlZnJlc2hUb2tlbihlbnRyeSk7XG4gICAgICAgIHJldHVybiBhd2FpdCBmZXRjaFVzYWdlKGFjY2Vzc1Rva2VuKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBbdXNhZ2VdIHJlZnJlc2ggZmFpbGVkIGZvciAke2VudHJ5Lm5hbWV9OiAkeyhlIGFzIEVycm9yKS5tZXNzYWdlfWApO1xuICAgICAgICByZXR1cm4geyBlcnJvcjogXCJyZS1sb2dpbiByZXF1aXJlZFwiIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbih0b2tlbjogUmVmcmVzaFRva2VuUGFyYW1zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAoIXRva2VuLnJlZnJlc2hfdG9rZW4pIHRocm93IG5ldyBFcnJvcihcIk5vIHJlZnJlc2ggdG9rZW5cIik7XG4gICAgY29uc3QgcmVmcmVzaGVkID0gYXdhaXQgcmVmcmVzaEFjY2Vzc1Rva2VuKHRva2VuLnJlZnJlc2hfdG9rZW4pO1xuICAgIGF3YWl0IFRva2VuTW9kZWwuc2F2ZShbXG4gICAgICB7XG4gICAgICAgIGlkOiB0b2tlbi5pZCxcbiAgICAgICAgdG9rZW46IHJlZnJlc2hlZC5hY2Nlc3NUb2tlbixcbiAgICAgICAgcmVmcmVzaF90b2tlbjogcmVmcmVzaGVkLnJlZnJlc2hUb2tlbixcbiAgICAgICAgZXhwaXJlc19hdDogQmlnSW50KHJlZnJlc2hlZC5leHBpcmVzQXQpLFxuICAgICAgICBuYW1lOiB0b2tlbi5uYW1lID8/IFwiXCIsXG4gICAgICB9LFxuICAgIF0pO1xuICAgIFFncmlkRGlzcGF0Y2hlci5yZW1vdmVUb2tlbih0b2tlbi50b2tlbik7XG4gICAgUWdyaWREaXNwYXRjaGVyLmFkZFRva2VuKHJlZnJlc2hlZC5hY2Nlc3NUb2tlbiwgdG9rZW4ubmFtZSk7XG4gICAgcmV0dXJuIHJlZnJlc2hlZC5hY2Nlc3NUb2tlbjtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIkdFVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLXF1ZXJ5XCJdIH0pXG4gIGFzeW5jIGhlYWx0aCgpOiBQcm9taXNlPEhlYWx0aFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHsgc3RhdHVzOiBcIm9rXCIsIGFjdGl2ZVRva2VuczogUWdyaWREaXNwYXRjaGVyLnRva2Vucy5zaXplIH07XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IFFncmlkRnJhbWUgPSBuZXcgUWdyaWRGcmFtZUNsYXNzKCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQXNCQSxNQUFNLCtCQUFlLElBQUksS0FBMEU7QUFFbkcsSUFBTSxrQkFBTixjQUE4QixlQUFlO0NBQzNDLGNBQWM7QUFDWixRQUFNLFFBQVE7O0NBR2hCLE1BQ00sTUFDSixRQUNBLFFBQ0EsU0FDQSxPQUNBLGFBQ29CO0VBQ3BCLE1BQU0sU0FBUyxNQUFNLGdCQUFnQixNQUFNO0dBQUU7R0FBUTtHQUFRO0dBQU8sRUFBRSxRQUFRO0FBRTlFLGtCQUFnQixLQUFLLENBQ25CO0dBQ0UsWUFBWSxPQUFPO0dBQ25CLGNBQWMsZUFBZSxZQUFZLFNBQVMsSUFBSSxjQUFjO0dBQ3BFLFlBQVksT0FBTyxTQUFTO0dBQzVCLGFBQWE7R0FDYixlQUFlLFVBQVU7R0FDekIsVUFBVSxPQUFPO0dBQ2pCLGNBQWMsT0FBTyxNQUFNO0dBQzNCLGVBQWUsT0FBTyxNQUFNO0dBQzVCLG1CQUFtQixPQUFPLE1BQU07R0FDaEMsdUJBQXVCLE9BQU8sTUFBTTtHQUNwQyxhQUFhLE9BQU87R0FDcEIsVUFBVSxPQUFPLFlBQVksT0FBTyxLQUFLLE1BQU0sT0FBTyxVQUFVLFVBQVUsR0FBRztHQUM5RSxDQUNGLENBQUMsQ0FBQyxPQUFPLE1BQU0sUUFBUSxNQUFNLDJCQUEyQixFQUFFLENBQUM7QUFFNUQsU0FBTzs7Q0FHVCxNQUNNLFFBQStCO0FBQ25DLFNBQU8sZ0JBQWdCLFVBQVU7O0NBR25DLE1BQ00sVUFBVSxXQUE4QztBQUM1RCxTQUFPLEVB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
|
|
298
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQuZnJhbWUuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3FncmlkL3FncmlkLmZyYW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRmFzdGlmeVJlcGx5IH0gZnJvbSBcImZhc3RpZnlcIjtcbmltcG9ydCB7IGFwaSwgQmFzZUZyYW1lQ2xhc3MgfSBmcm9tIFwic29uYW11XCI7XG5cbmltcG9ydCB7IE1JQ1JPX1VTRCwgUmVxdWVzdExvZ01vZGVsIH0gZnJvbSBcIi4uL3JlcXVlc3QtbG9nL3JlcXVlc3QtbG9nLm1vZGVsXCI7XG5pbXBvcnQgeyBUb2tlbk1vZGVsIH0gZnJvbSBcIi4uL3Rva2VuL3Rva2VuLm1vZGVsXCI7XG5pbXBvcnQgeyB0eXBlIFJlZnJlc2hUb2tlblBhcmFtcyB9IGZyb20gXCIuLi90b2tlbi90b2tlbi50eXBlc1wiO1xuaW1wb3J0IHtcbiAgYnVpbGRBdXRoVXJsLFxuICBleGNoYW5nZUNvZGVGb3JUb2tlbnMsXG4gIGZldGNoVXNhZ2UsXG4gIGdlbmVyYXRlUEtDRSxcbiAgcmVmcmVzaEFjY2Vzc1Rva2VuLFxufSBmcm9tIFwiLi9vYXV0aFwiO1xuaW1wb3J0IHsgUWdyaWREaXNwYXRjaGVyIH0gZnJvbSBcIi4vcWdyaWQuZGlzcGF0Y2hlclwiO1xuaW1wb3J0IHtcbiAgdHlwZSBDbGlSZXN1bHQsXG4gIHR5cGUgSGVhbHRoUmVzcG9uc2UsXG4gIHR5cGUgT0F1dGhTdGFydFJlc3VsdCxcbiAgdHlwZSBUb2tlblN0YXRzLFxuICB0eXBlIFVzYWdlUmVzcG9uc2UsXG59IGZyb20gXCIuL3FncmlkLnR5cGVzXCI7XG5cbmNvbnN0IHBlbmRpbmdPQXV0aCA9IG5ldyBNYXA8c3RyaW5nLCB7IGNvZGVWZXJpZmllcjogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IHJlZGlyZWN0VXJpOiBzdHJpbmcgfT4oKTtcblxuY2xhc3MgUWdyaWRGcmFtZUNsYXNzIGV4dGVuZHMgQmFzZUZyYW1lQ2xhc3Mge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcIlFncmlkXCIpO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiUE9TVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLW11dGF0aW9uXCJdIH0pXG4gIGFzeW5jIHF1ZXJ5KFxuICAgIHByb21wdDogc3RyaW5nLFxuICAgIHN5c3RlbT86IHN0cmluZyxcbiAgICB0aW1lb3V0PzogbnVtYmVyLFxuICAgIG1vZGVsPzogc3RyaW5nLFxuICAgIHByb2plY3ROYW1lPzogc3RyaW5nLFxuICAgIGpzb25TY2hlbWE/OiBzdHJpbmcsXG4gICk6IFByb21pc2U8Q2xpUmVzdWx0PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgUWdyaWREaXNwYXRjaGVyLnF1ZXJ5KHsgc3lzdGVtLCBwcm9tcHQsIG1vZGVsLCBqc29uU2NoZW1hIH0sIHRpbWVvdXQpO1xuXG4gICAgUmVxdWVzdExvZ01vZGVsLnNhdmUoW1xuICAgICAge1xuICAgICAgICB0b2tlbl9uYW1lOiByZXN1bHQudG9rZW5OYW1lLFxuICAgICAgICBwcm9qZWN0X25hbWU6IHByb2plY3ROYW1lICYmIHByb2plY3ROYW1lLmxlbmd0aCA+IDAgPyBwcm9qZWN0TmFtZSA6IG51bGwsXG4gICAgICAgIG1vZGVsX25hbWU6IHJlc3VsdC5tb2RlbCA/PyBudWxsLFxuICAgICAgICB1c2VyX3Byb21wdDogcHJvbXB0LFxuICAgICAgICBzeXN0ZW1fcHJvbXB0OiBzeXN0ZW0gPz8gbnVsbCxcbiAgICAgICAgcmVzcG9uc2U6IHJlc3VsdC50ZXh0LFxuICAgICAgICBpbnB1dF90b2tlbnM6IHJlc3VsdC51c2FnZS5pbnB1dF90b2tlbnMsXG4gICAgICAgIG91dHB1dF90b2tlbnM6IHJlc3VsdC51c2FnZS5vdXRwdXRfdG9rZW5zLFxuICAgICAgICBjYWNoZV9yZWFkX3Rva2VuczogcmVzdWx0LnVzYWdlLmNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zLFxuICAgICAgICBjYWNoZV9jcmVhdGlvbl90b2tlbnM6IHJlc3VsdC51c2FnZS5jYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMsXG4gICAgICAgIGR1cmF0aW9uX21zOiByZXN1bHQuZHVyYXRpb25NcyxcbiAgICAgICAgY29zdF91c2Q6IHJlc3VsdC5jb3N0VXNkICE9PSBudWxsID8gTWF0aC5yb3VuZChyZXN1bHQuY29zdFVzZCAqIE1JQ1JPX1VTRCkgOiBudWxsLFxuICAgICAgfSxcbiAgICBdKS5jYXRjaCgoZSkgPT4gY29uc29sZS5lcnJvcihcInJlcXVlc3RMb2cgc2F2ZSBmYWlsZWQ6XCIsIGUpKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1xdWVyeVwiXSB9KVxuICBhc3luYyBzdGF0cygpOiBQcm9taXNlPFRva2VuU3RhdHNbXT4ge1xuICAgIHJldHVybiBRZ3JpZERpc3BhdGNoZXIuZ2V0U3RhdHMoKTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIkdFVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLXF1ZXJ5XCJdIH0pXG4gIGFzeW5jIHRvdGFsQ29zdCh0b2tlbk5hbWU/OiBzdHJpbmcpOiBQcm9taXNlPHsgdXNkOiBudW1iZXIgfT4ge1xuICAgIHJldHVybiB7IHVzZDogYXdhaXQgUmVxdWVzdExvZ01vZGVsLnRvdGFsQ29zdCh7IHRva2VuX25hbWU6IHRva2VuTmFtZSB9KSB9O1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stcXVlcnlcIl0gfSlcbiAgYXN5bmMgcHJvamVjdE5hbWVzKCk6IFByb21pc2U8eyBuYW1lczogc3RyaW5nW10gfT4ge1xuICAgIHJldHVybiB7IG5hbWVzOiBhd2FpdCBSZXF1ZXN0TG9nTW9kZWwuZGlzdGluY3RQcm9qZWN0TmFtZXMoKSB9O1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiUE9TVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLW11dGF0aW9uXCJdIH0pXG4gIGFzeW5jIGFkZFRva2VuKHRva2VuOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgcmVmcmVzaFRva2VuPzogc3RyaW5nKTogUHJvbWlzZTx7IGFkZGVkOiBib29sZWFuIH0+IHtcbiAgICBhd2FpdCBUb2tlbk1vZGVsLnNhdmUoW1xuICAgICAge1xuICAgICAgICB0b2tlbixcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uKHJlZnJlc2hUb2tlbiAmJiByZWZyZXNoVG9rZW4ubGVuZ3RoID4gMCA/IHsgcmVmcmVzaF90b2tlbjogcmVmcmVzaFRva2VuIH0gOiB7fSksXG4gICAgICB9LFxuICAgIF0pO1xuICAgIFFncmlkRGlzcGF0Y2hlci5hZGRUb2tlbih0b2tlbiwgbmFtZSk7XG4gICAgcmV0dXJuIHsgYWRkZWQ6IHRydWUgfTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyB1cGRhdGVUb2tlbihcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIG5hbWU/OiBzdHJpbmcsXG4gICAgbmV3VG9rZW4/OiBzdHJpbmcsXG4gICAgcmVmcmVzaFRva2VuPzogc3RyaW5nLFxuICApOiBQcm9taXNlPHsgdXBkYXRlZDogYm9vbGVhbiB9PiB7XG4gICAgY29uc3QgZW50cnkgPSBhd2FpdCBUb2tlbk1vZGVsLmZpbmRCeVRva2VuKFwiQVwiLCB0b2tlbik7XG4gICAgaWYgKCFlbnRyeSkgcmV0dXJuIHsgdXBkYXRlZDogZmFsc2UgfTtcblxuICAgIGNvbnN0IGhhc05ld1Rva2VuID0gbmV3VG9rZW4gIT09IHVuZGVmaW5lZCAmJiBuZXdUb2tlbi5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGhhc1JlZnJlc2hUb2tlbiA9IHJlZnJlc2hUb2tlbiAhPT0gdW5kZWZpbmVkICYmIHJlZnJlc2hUb2tlbi5sZW5ndGggPiAwO1xuICAgIGF3YWl0IFRva2VuTW9kZWwuc2F2ZShbXG4gICAgICB7XG4gICAgICAgIGlkOiBlbnRyeS5pZCxcbiAgICAgICAgdG9rZW46IGhhc05ld1Rva2VuID8gbmV3VG9rZW4gOiBlbnRyeS50b2tlbixcbiAgICAgICAgbmFtZTogbmFtZSAhPT0gdW5kZWZpbmVkID8gbmFtZSA6IGVudHJ5Lm5hbWUsXG4gICAgICAgIC4uLihoYXNSZWZyZXNoVG9rZW4gPyB7IHJlZnJlc2hfdG9rZW46IHJlZnJlc2hUb2tlbiB9IDoge30pLFxuICAgICAgfSxcbiAgICBdKTtcblxuICAgIGlmIChoYXNOZXdUb2tlbikge1xuICAgICAgUWdyaWREaXNwYXRjaGVyLnJlbW92ZVRva2VuKHRva2VuKTtcbiAgICAgIFFncmlkRGlzcGF0Y2hlci5hZGRUb2tlbihuZXdUb2tlbiwgbmFtZSA/PyBlbnRyeS5uYW1lKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgdXBkYXRlZDogdHJ1ZSB9O1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiUE9TVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLW11dGF0aW9uXCJdIH0pXG4gIGFzeW5jIHJlbW92ZVRva2VuKHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPHsgcmVtb3ZlZDogYm9vbGVhbiB9PiB7XG4gICAgaWYgKCFRZ3JpZERpc3BhdGNoZXIuaGFzVG9rZW4odG9rZW4pKSByZXR1cm4geyByZW1vdmVkOiBmYWxzZSB9O1xuXG4gICAgY29uc3QgZW50cnkgPSBhd2FpdCBUb2tlbk1vZGVsLmZpbmRCeVRva2VuKFwiQVwiLCB0b2tlbik7XG4gICAgaWYgKGVudHJ5KSBhd2FpdCBUb2tlbk1vZGVsLmRlbChbZW50cnkuaWRdKTtcbiAgICBRZ3JpZERpc3BhdGNoZXIucmVtb3ZlVG9rZW4odG9rZW4pO1xuICAgIHJldHVybiB7IHJlbW92ZWQ6IHRydWUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gaWQgdG9rZW5faWRcbiAgICog7Yag7YGwIO2ZnOyEse2ZlC/ruYTtmZzshLHtmZQg7Yag6riAIChkaXNwYXRjaGVyIOuTseuhnS/soJzqsbAgJiBEQuydmCBhY3RpdmUg7ZWE65OcIOyXheuNsOydtO2KuClcbiAgICogQHJldHVybnMg7Yag7YGwIO2ZnOyEse2ZlCDsl6zrtoBcbiAgICovXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyB0b2dnbGVUb2tlbihpZDogbnVtYmVyKTogUHJvbWlzZTx7IGFjdGl2ZTogYm9vbGVhbiB9PiB7XG4gICAgY29uc3QgZW50cnkgPSBhd2FpdCBUb2tlbk1vZGVsLmZpbmRPbmUoXCJBXCIsIHsgaWQgfSk7XG4gICAgaWYgKCFlbnRyeSkgcmV0dXJuIHsgYWN0aXZlOiBmYWxzZSB9O1xuXG4gICAgY29uc3QgbmV3QWN0aXZlID0gIWVudHJ5LmFjdGl2ZTtcbiAgICBhd2FpdCBUb2tlbk1vZGVsLnNhdmUoW3sgaWQsIHRva2VuOiBlbnRyeS50b2tlbiwgYWN0aXZlOiBuZXdBY3RpdmUsIG5hbWU6IGVudHJ5Lm5hbWUgfV0pO1xuXG4gICAgaWYgKG5ld0FjdGl2ZSkge1xuICAgICAgUWdyaWREaXNwYXRjaGVyLmFkZFRva2VuKGVudHJ5LnRva2VuLCBlbnRyeS5uYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUWdyaWREaXNwYXRjaGVyLnJlbW92ZVRva2VuKGVudHJ5LnRva2VuKTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBhY3RpdmU6IG5ld0FjdGl2ZSB9O1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiUE9TVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLW11dGF0aW9uXCJdIH0pXG4gIGFzeW5jIG9hdXRoU3RhcnQobmFtZTogc3RyaW5nKTogUHJvbWlzZTxPQXV0aFN0YXJ0UmVzdWx0PiB7XG4gICAgY29uc3QgeyBjb2RlVmVyaWZpZXIsIGNvZGVDaGFsbGVuZ2UsIHN0YXRlIH0gPSBnZW5lcmF0ZVBLQ0UoKTtcblxuICAgIGNvbnN0IHNlcnZlclBvcnQgPSBwcm9jZXNzLmVudi5QT1JUID8/IFwiNDQ5MDBcIjtcbiAgICBjb25zdCByZWRpcmVjdFVyaSA9IGBodHRwOi8vbG9jYWxob3N0OiR7c2VydmVyUG9ydH0vY2FsbGJhY2tgO1xuICAgIGNvbnN0IGF1dGhVcmwgPSBidWlsZEF1dGhVcmwoY29kZUNoYWxsZW5nZSwgc3RhdGUsIHJlZGlyZWN0VXJpKTtcblxuICAgIHBlbmRpbmdPQXV0aC5zZXQoc3RhdGUsIHsgY29kZVZlcmlmaWVyLCBuYW1lLCByZWRpcmVjdFVyaSB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHBlbmRpbmdPQXV0aC5kZWxldGUoc3RhdGUpLCAzMDBfMDAwKTtcblxuICAgIHJldHVybiB7IGF1dGhVcmwgfTtcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZU9BdXRoQ2FsbGJhY2soY29kZTogc3RyaW5nLCBzdGF0ZTogc3RyaW5nLCByZXBseTogRmFzdGlmeVJlcGx5KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGVuZGluZyA9IHBlbmRpbmdPQXV0aC5nZXQoc3RhdGUpO1xuICAgIGlmICghcGVuZGluZykge1xuICAgICAgcmV0dXJuIHJlcGx5LnJlZGlyZWN0KFwiLz9vYXV0aD1lcnJvciZyZWFzb249aW52YWxpZF9zdGF0ZVwiKTtcbiAgICB9XG4gICAgcGVuZGluZ09BdXRoLmRlbGV0ZShzdGF0ZSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgdG9rZW5zID0gYXdhaXQgZXhjaGFuZ2VDb2RlRm9yVG9rZW5zKFxuICAgICAgICBjb2RlLFxuICAgICAgICBwZW5kaW5nLmNvZGVWZXJpZmllcixcbiAgICAgICAgc3RhdGUsXG4gICAgICAgIHBlbmRpbmcucmVkaXJlY3RVcmksXG4gICAgICApO1xuXG4gICAgICBpZiAodG9rZW5zLmFjY291bnRVdWlkKSB7XG4gICAgICAgIGNvbnN0IG9sZEVudHJpZXMgPSBhd2FpdCBUb2tlbk1vZGVsLmZpbmRCeUFjY291bnRVdWlkKFwiQVwiLCB0b2tlbnMuYWNjb3VudFV1aWQpO1xuICAgICAgICBpZiAob2xkRW50cmllcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBvbGQgb2Ygb2xkRW50cmllcykgUWdyaWREaXNwYXRjaGVyLnJlbW92ZVRva2VuKG9sZC50b2tlbik7XG4gICAgICAgICAgYXdhaXQgVG9rZW5Nb2RlbC5kZWwob2xkRW50cmllcy5tYXAoKG8pID0+IG8uaWQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBUb2tlbk1vZGVsLnNhdmUoW1xuICAgICAgICB7XG4gICAgICAgICAgdG9rZW46IHRva2Vucy5hY2Nlc3NUb2tlbixcbiAgICAgICAgICBuYW1lOiBwZW5kaW5nLm5hbWUsXG4gICAgICAgICAgcmVmcmVzaF90b2tlbjogdG9rZW5zLnJlZnJlc2hUb2tlbixcbiAgICAgICAgICBleHBpcmVzX2F0OiB0b2tlbnMuZXhwaXJlc0F0ID8gQmlnSW50KHRva2Vucy5leHBpcmVzQXQpIDogbnVsbCxcbiAgICAgICAgICBhY2NvdW50X3V1aWQ6IHRva2Vucy5hY2NvdW50VXVpZCxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgICAgUWdyaWREaXNwYXRjaGVyLmFkZFRva2VuKHRva2Vucy5hY2Nlc3NUb2tlbiwgcGVuZGluZy5uYW1lKTtcblxuICAgICAgcmV0dXJuIHJlcGx5LnJlZGlyZWN0KGAvP29hdXRoPXN1Y2Nlc3MmbmFtZT0ke2VuY29kZVVSSUNvbXBvbmVudChwZW5kaW5nLm5hbWUpfWApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiByZXBseS5yZWRpcmVjdChgLz9vYXV0aD1lcnJvciZyZWFzb249JHtlbmNvZGVVUklDb21wb25lbnQoKGUgYXMgRXJyb3IpLm1lc3NhZ2UpfWApO1xuICAgIH1cbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIkdFVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLXF1ZXJ5XCJdIH0pXG4gIGFzeW5jIHVzYWdlKHRva2VuTmFtZT86IHN0cmluZyk6IFByb21pc2U8VXNhZ2VSZXNwb25zZT4ge1xuICAgIGNvbnN0IHsgcm93czogYWxsVG9rZW5zIH0gPSBhd2FpdCBUb2tlbk1vZGVsLmZpbmRNYW55KFwiQVwiKTtcbiAgICBjb25zdCBlbnRyeSA9IHRva2VuTmFtZVxuICAgICAgPyBhbGxUb2tlbnMuZmluZCgoZSkgPT4gZS5uYW1lID09PSB0b2tlbk5hbWUpXG4gICAgICA6IGFsbFRva2Vucy5maW5kTGFzdCgoZSkgPT4gZS5hY3RpdmUpO1xuXG4gICAgaWYgKCFlbnRyeSkgcmV0dXJuIHsgZXJyb3I6IFwiTk9UX0ZPVU5EXCIgfTtcblxuICAgIGxldCBhY2Nlc3NUb2tlbiA9IGVudHJ5LnRva2VuO1xuICAgIGNvbnN0IGlzRXhwaXJlZCA9IGVudHJ5LmV4cGlyZXNfYXQgJiYgTnVtYmVyKGVudHJ5LmV4cGlyZXNfYXQpIDwgRGF0ZS5ub3coKTtcblxuICAgIGlmIChpc0V4cGlyZWQgJiYgZW50cnkucmVmcmVzaF90b2tlbikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYWNjZXNzVG9rZW4gPSBhd2FpdCB0aGlzLnJlZnJlc2hUb2tlbihlbnRyeSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgW3VzYWdlXSByZWZyZXNoIGZhaWxlZCBmb3IgJHtlbnRyeS5uYW1lfTogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKTtcbiAgICAgICAgcmV0dXJuIHsgZXJyb3I6IFwicmUtbG9naW4gcmVxdWlyZWRcIiB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZldGNoVXNhZ2UoYWNjZXNzVG9rZW4pO1xuXG4gICAgaWYgKHJlc3VsdC5lcnJvciAmJiBlbnRyeS5yZWZyZXNoX3Rva2VuKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhY2Nlc3NUb2tlbiA9IGF3YWl0IHRoaXMucmVmcmVzaFRva2VuKGVudHJ5KTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGZldGNoVXNhZ2UoYWNjZXNzVG9rZW4pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFt1c2FnZV0gcmVmcmVzaCBmYWlsZWQgZm9yICR7ZW50cnkubmFtZX06ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCk7XG4gICAgICAgIHJldHVybiB7IGVycm9yOiBcInJlLWxvZ2luIHJlcXVpcmVkXCIgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgYXN5bmMgcmVmcmVzaFRva2VuKHRva2VuOiBSZWZyZXNoVG9rZW5QYXJhbXMpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGlmICghdG9rZW4ucmVmcmVzaF90b2tlbikgdGhyb3cgbmV3IEVycm9yKFwiTm8gcmVmcmVzaCB0b2tlblwiKTtcbiAgICBjb25zdCByZWZyZXNoZWQgPSBhd2FpdCByZWZyZXNoQWNjZXNzVG9rZW4odG9rZW4ucmVmcmVzaF90b2tlbik7XG4gICAgYXdhaXQgVG9rZW5Nb2RlbC5zYXZlKFtcbiAgICAgIHtcbiAgICAgICAgaWQ6IHRva2VuLmlkLFxuICAgICAgICB0b2tlbjogcmVmcmVzaGVkLmFjY2Vzc1Rva2VuLFxuICAgICAgICByZWZyZXNoX3Rva2VuOiByZWZyZXNoZWQucmVmcmVzaFRva2VuLFxuICAgICAgICBleHBpcmVzX2F0OiBCaWdJbnQocmVmcmVzaGVkLmV4cGlyZXNBdCksXG4gICAgICAgIG5hbWU6IHRva2VuLm5hbWUgPz8gXCJcIixcbiAgICAgIH0sXG4gICAgXSk7XG4gICAgUWdyaWREaXNwYXRjaGVyLnJlbW92ZVRva2VuKHRva2VuLnRva2VuKTtcbiAgICBRZ3JpZERpc3BhdGNoZXIuYWRkVG9rZW4ocmVmcmVzaGVkLmFjY2Vzc1Rva2VuLCB0b2tlbi5uYW1lKTtcbiAgICByZXR1cm4gcmVmcmVzaGVkLmFjY2Vzc1Rva2VuO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stcXVlcnlcIl0gfSlcbiAgYXN5bmMgaGVhbHRoKCk6IFByb21pc2U8SGVhbHRoUmVzcG9uc2U+IHtcbiAgICByZXR1cm4geyBzdGF0dXM6IFwib2tcIiwgYWN0aXZlVG9rZW5zOiBRZ3JpZERpc3BhdGNoZXIudG9rZW5zLnNpemUgfTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgUWdyaWRGcmFtZSA9IG5ldyBRZ3JpZEZyYW1lQ2xhc3MoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBc0JBLE1BQU0sK0JBQWUsSUFBSSxLQUEwRTtBQUVuRyxJQUFNLGtCQUFOLGNBQThCLGVBQWU7Q0FDM0MsY0FBYztBQUNaLFFBQU0sUUFBUTs7Q0FHaEIsTUFDTSxNQUNKLFFBQ0EsUUFDQSxTQUNBLE9BQ0EsYUFDQSxZQUNvQjtFQUNwQixNQUFNLFNBQVMsTUFBTSxnQkFBZ0IsTUFBTTtHQUFFO0dBQVE7R0FBUTtHQUFPO0dBQVksRUFBRSxRQUFRO0FBRTFGLGtCQUFnQixLQUFLLENBQ25CO0dBQ0UsWUFBWSxPQUFPO0dBQ25CLGNBQWMsZUFBZSxZQUFZLFNBQVMsSUFBSSxjQUFjO0dBQ3BFLFlBQVksT0FBTyxTQUFTO0dBQzVCLGFBQWE7R0FDYixlQUFlLFVBQVU7R0FDekIsVUFBVSxPQUFPO0dBQ2pCLGNBQWMsT0FBTyxNQUFNO0dBQzNCLGVBQWUsT0FBTyxNQUFNO0dBQzVCLG1CQUFtQixPQUFPLE1BQU07R0FDaEMsdUJBQXVCLE9BQU8sTUFBTTtHQUNwQyxhQUFhLE9BQU87R0FDcEIsVUFBVSxPQUFPLFlBQVksT0FBTyxLQUFLLE1BQU0sT0FBTyxVQUFVLFVBQVUsR0FBRztHQUM5RSxDQUNGLENBQUMsQ0FBQyxPQUFPLE1BQU0sUUFBUSxNQUFNLDJCQUEyQixFQUFFLENBQUM7QUFFNUQsU0FBTzs7Q0FHVCxNQUNNLFFBQStCO0FBQ25DLFNBQU8s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
|
|
@@ -5,7 +5,8 @@ const QueryInput = z.object({
|
|
|
5
5
|
system: z.string().optional(),
|
|
6
6
|
prompt: z.string(),
|
|
7
7
|
model: z.string().optional(),
|
|
8
|
-
timeout: z.number().optional()
|
|
8
|
+
timeout: z.number().optional(),
|
|
9
|
+
jsonSchema: z.string().optional()
|
|
9
10
|
});
|
|
10
11
|
const CliResult = z.object({
|
|
11
12
|
text: z.string(),
|
|
@@ -69,4 +70,4 @@ function maskToken(token) {
|
|
|
69
70
|
//#endregion
|
|
70
71
|
export { AddTokenInput, CliResult, HealthResponse, OAuthStartResult, ProcessError, QueryInput, QuotaError, RemoveTokenInput, TimeoutError, TokenStats, UsageResponse, maskToken };
|
|
71
72
|
|
|
72
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQudHlwZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3FncmlkL3FncmlkLnR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbi8vIOKUgOKUgOKUgCBRdWVyeSDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IFF1ZXJ5SW5wdXQgPSB6Lm9iamVjdCh7XG4gIHN5c3RlbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBwcm9tcHQ6IHouc3RyaW5nKCksXG4gIG1vZGVsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHRpbWVvdXQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAganNvblNjaGVtYTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBRdWVyeUlucHV0ID0gei5pbmZlcjx0eXBlb2YgUXVlcnlJbnB1dD47XG5cbmV4cG9ydCBjb25zdCBDbGlSZXN1bHQgPSB6Lm9iamVjdCh7XG4gIHRleHQ6IHouc3RyaW5nKCksXG4gIHRva2VuTmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtb2RlbDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1c2FnZTogei5vYmplY3Qoe1xuICAgIGlucHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgICBvdXRwdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgIGNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgICBjYWNoZV9yZWFkX2lucHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgfSksXG4gIGR1cmF0aW9uTXM6IHoubnVtYmVyKCksXG4gIGNvc3RVc2Q6IHoubnVtYmVyKCksXG59KTtcbmV4cG9ydCB0eXBlIENsaVJlc3VsdCA9IHouaW5mZXI8dHlwZW9mIENsaVJlc3VsdD47XG5cbi8vIOKUgOKUgOKUgCBUb2tlbiBNYW5hZ2VtZW50IOKUgOKUgOKUgFxuXG5leHBvcnQgY29uc3QgQWRkVG9rZW5JbnB1dCA9IHoub2JqZWN0KHtcbiAgdG9rZW46IHouc3RyaW5nKCksXG4gIG5hbWU6IHouc3RyaW5nKCksXG59KTtcbmV4cG9ydCB0eXBlIEFkZFRva2VuSW5wdXQgPSB6LmluZmVyPHR5cGVvZiBBZGRUb2tlbklucHV0PjtcblxuZXhwb3J0IGNvbnN0IFJlbW92ZVRva2VuSW5wdXQgPSB6Lm9iamVjdCh7XG4gIHRva2VuOiB6LnN0cmluZygpLFxufSk7XG5leHBvcnQgdHlwZSBSZW1vdmVUb2tlbklucHV0ID0gei5pbmZlcjx0eXBlb2YgUmVtb3ZlVG9rZW5JbnB1dD47XG5cbmV4cG9ydCBjb25zdCBUb2tlblN0YXRzID0gei5vYmplY3Qoe1xuICB0b2tlbjogei5zdHJpbmcoKSxcbiAgbmFtZTogei5zdHJpbmcoKSxcbiAgcmVxdWVzdHM6IHoubnVtYmVyKCksXG59KTtcbmV4cG9ydCB0eXBlIFRva2VuU3RhdHMgPSB6LmluZmVyPHR5cGVvZiBUb2tlblN0YXRzPjtcblxuLy8g4pSA4pSA4pSAIE9BdXRoIOKUgOKUgOKUgFxuXG5leHBvcnQgY29uc3QgT0F1dGhTdGFydFJlc3VsdCA9IHoub2JqZWN0KHtcbiAgYXV0aFVybDogei5zdHJpbmcoKSxcbn0pO1xuZXhwb3J0IHR5cGUgT0F1dGhTdGFydFJlc3VsdCA9IHouaW5mZXI8dHlwZW9mIE9BdXRoU3RhcnRSZXN1bHQ+O1xuXG5jb25zdCBSYXRlTGltaXQgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHV0aWxpemF0aW9uOiB6Lm51bWJlcigpLm51bGxhYmxlKCksXG4gICAgcmVzZXRzX2F0OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIH0pXG4gIC5udWxsYWJsZSgpO1xuXG5leHBvcnQgY29uc3QgVXNhZ2VSZXNwb25zZSA9IHoub2JqZWN0KHtcbiAgZXJyb3I6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZml2ZV9ob3VyOiBSYXRlTGltaXQub3B0aW9uYWwoKSxcbiAgc2V2ZW5fZGF5OiBSYXRlTGltaXQub3B0aW9uYWwoKSxcbiAgc2V2ZW5fZGF5X29wdXM6IFJhdGVMaW1pdC5vcHRpb25hbCgpLFxuICBzZXZlbl9kYXlfc29ubmV0OiBSYXRlTGltaXQub3B0aW9uYWwoKSxcbiAgc2V2ZW5fZGF5X29hdXRoX2FwcHM6IFJhdGVMaW1pdC5vcHRpb25hbCgpLFxuICBzZXZlbl9kYXlfY293b3JrOiBSYXRlTGltaXQub3B0aW9uYWwoKSxcbiAgZXh0cmFfdXNhZ2U6IHpcbiAgICAub2JqZWN0KHtcbiAgICAgIGlzX2VuYWJsZWQ6IHouYm9vbGVhbigpLFxuICAgICAgbW9udGhseV9saW1pdDogei5udW1iZXIoKS5udWxsYWJsZSgpLFxuICAgICAgdXNlZF9jcmVkaXRzOiB6Lm51bWJlcigpLm51bGxhYmxlKCksXG4gICAgICB1dGlsaXphdGlvbjogei5udW1iZXIoKS5udWxsYWJsZSgpLFxuICAgIH0pXG4gICAgLm51bGxhYmxlKClcbiAgICAub3B0aW9uYWwoKSxcbn0pO1xuZXhwb3J0IHR5cGUgVXNhZ2VSZXNwb25zZSA9IHouaW5mZXI8dHlwZW9mIFVzYWdlUmVzcG9uc2U+O1xuXG4vLyDilIDilIDilIAgSGVhbHRoIOKUgOKUgOKUgFxuXG5leHBvcnQgY29uc3QgSGVhbHRoUmVzcG9uc2UgPSB6Lm9iamVjdCh7XG4gIHN0YXR1czogei5zdHJpbmcoKSxcbiAgYWN0aXZlVG9rZW5zOiB6Lm51bWJlcigpLFxufSk7XG5leHBvcnQgdHlwZSBIZWFsdGhSZXNwb25zZSA9IHouaW5mZXI8dHlwZW9mIEhlYWx0aFJlc3BvbnNlPjtcblxuLy8g4pSA4pSA4pSAIEVycm9ycyDilIDilIDilIBcblxuZXhwb3J0IGNsYXNzIFF1b3RhRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHJlYWRvbmx5IGNvZGUgPSBcIlFVT1RBX0VYSEFVU1RFRFwiIGFzIGNvbnN0O1xufVxuZXhwb3J0IGNsYXNzIFRpbWVvdXRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcmVhZG9ubHkgY29kZSA9IFwiVElNRU9VVFwiIGFzIGNvbnN0O1xufVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcmVhZG9ubHkgY29kZSA9IFwiUFJPQ0VTU19FUlJPUlwiIGFzIGNvbnN0O1xufVxuXG4vLyDilIDilIDilIAgVXRpbHMg4pSA4pSA4pSAXG5cbmV4cG9ydCBmdW5jdGlvbiBtYXNrVG9rZW4odG9rZW46IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB0b2tlbi5sZW5ndGggPiA0ID8gYC4uLiR7dG9rZW4uc2xpY2UoLTQpfWAgOiB0b2tlbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsTUFBYSxhQUFhLEVBQUUsT0FBTztDQUNqQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDN0IsUUFBUSxFQUFFLFFBQVE7Q0FDbEIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQzVCLFNBQVMsRUFBRSxRQUFRLENBQUMsVUFBVTtDQUM5QixZQUFZLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDbEMsQ0FBQztBQUdGLE1BQWEsWUFBWSxFQUFFLE9BQU87Q0FDaEMsTUFBTSxFQUFFLFFBQVE7Q0FDaEIsV0FBVyxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQ2hDLE9BQU8sRUFBRSxRQUFRLENBQUMsVUFBVTtDQUM1QixPQUFPLEVBQUUsT0FBTztFQUNkLGNBQWMsRUFBRSxRQUFRO0VBQ3hCLGVBQWUsRUFBRSxRQUFRO0VBQ3pCLDZCQUE2QixFQUFFLFFBQVE7RUFDdkMseUJBQXlCLEVBQUUsUUFBUTtFQUNwQyxDQUFDO0NBQ0YsWUFBWSxFQUFFLFFBQVE7Q0FDdEIsU0FBUyxFQUFFLFFBQVE7Q0FDcEIsQ0FBQztBQUtGLE1BQWEsZ0JBQWdCLEVBQUUsT0FBTztDQUNwQyxPQUFPLEVBQUUsUUFBUTtDQUNqQixNQUFNLEVBQUUsUUFBUTtDQUNqQixDQUFDO0FBR0YsTUFBYSxtQkFBbUIsRUFBRSxPQUFPLEVBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQ2xCLENBQUM7QUFHRixNQUFhLGFBQWEsRUFBRSxPQUFPO0NBQ2pDLE9BQU8sRUFBRSxRQUFRO0NBQ2pCLE1BQU0sRUFBRSxRQUFRO0NBQ2hCLFVBQVUsRUFBRSxRQUFRO0NBQ3JCLENBQUM7QUFLRixNQUFhLG1CQUFtQixFQUFFLE9BQU8sRUFDdkMsU0FBUyxFQUFFLFFBQVEsRUFDcEIsQ0FBQztBQUdGLE1BQU0sWUFBWSxFQUNmLE9BQU87Q0FDTixhQUFhLEVBQUUsUUFBUSxDQUFDLFVBQVU7Q0FDbEMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQ2pDLENBQUMsQ0FDRCxVQUFVO0FBRWIsTUFBYSxnQkFBZ0IsRUFBRSxPQUFPO0NBQ3BDLE9BQU8sRUFBRSxRQUFRLENBQUMsVUFBVTtDQUM1QixXQUFXLFVBQVUsVUFBVTtDQUMvQixXQUFXLFVBQVUsVUFBVTtDQUMvQixnQkFBZ0IsVUFBVSxVQUFVO0NBQ3BDLGtCQUFrQixVQUFVLFVBQVU7Q0FDdEMsc0JBQXNCLFVBQVUsVUFBVTtDQUMxQyxrQkFBa0IsVUFBVSxVQUFVO0NBQ3RDLGFBQWEsRUFDVixPQUFPO0VBQ04sWUFBWSxFQUFFLFNBQVM7RUFDdkIsZUFBZSxFQUFFLFFBQVEsQ0FBQyxVQUFVO0VBQ3BDLGNBQWMsRUFBRSxRQUFRLENBQUMsVUFBVTtFQUNuQyxhQUFhLEVBQUUsUUFBUSxDQUFDLFVBQVU7RUFDbkMsQ0FBQyxDQUNELFVBQVUsQ0FDVixVQUFVO0NBQ2QsQ0FBQztBQUtGLE1BQWEsaUJBQWlCLEVBQUUsT0FBTztDQUNyQyxRQUFRLEVBQUUsUUFBUTtDQUNsQixjQUFjLEVBQUUsUUFBUTtDQUN6QixDQUFDO0FBS0YsSUFBYSxhQUFiLGNBQWdDLE1BQU07Q0FDcEMsT0FBZ0I7O0FBRWxCLElBQWEsZUFBYixjQUFrQyxNQUFNO0NBQ3RDLE9BQWdCOztBQUVsQixJQUFhLGVBQWIsY0FBa0MsTUFBTTtDQUN0QyxPQUFnQjs7QUFLbEIsU0FBZ0IsVUFBVSxPQUF1QjtBQUMvQyxRQUFPLE1BQU0sU0FBUyxJQUFJLE1BQU0sTUFBTSxNQUFNLEdBQUcsS0FBSyJ9
|
|
@@ -37,7 +37,7 @@ var RequestLogModelClass = class extends BaseModelClass {
|
|
|
37
37
|
};
|
|
38
38
|
const { qb, onSubset: _ } = this.getSubsetQueries(subset);
|
|
39
39
|
if (params.id) qb.whereIn("request_logs.id", asArray(params.id));
|
|
40
|
-
if (params.token_name) qb.where("request_logs.token_name",
|
|
40
|
+
if (params.token_name) qb.where("request_logs.token_name", params.token_name);
|
|
41
41
|
if (params.project_name_is_null) qb.where("request_logs.project_name", null);
|
|
42
42
|
else if (params.project_name_is_not_null) qb.where("request_logs.project_name", "!=", null);
|
|
43
43
|
else if (params.project_name) qb.where("request_logs.project_name", params.project_name);
|
|
@@ -68,7 +68,7 @@ var RequestLogModelClass = class extends BaseModelClass {
|
|
|
68
68
|
}
|
|
69
69
|
async totalCost(params = {}) {
|
|
70
70
|
const qb = this.getDB("r")("request_logs");
|
|
71
|
-
if (params.token_name) qb.where("token_name",
|
|
71
|
+
if (params.token_name) qb.where("token_name", params.token_name);
|
|
72
72
|
const row = await qb.sum({ sum: "cost_usd" }).first();
|
|
73
73
|
return Number(row?.sum ?? 0) / MICRO_USD;
|
|
74
74
|
}
|
|
@@ -124,4 +124,4 @@ const RequestLogModel = new RequestLogModelClass();
|
|
|
124
124
|
//#endregion
|
|
125
125
|
export { MICRO_USD, RequestLogModel };
|
|
126
126
|
|
|
127
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1sb2cubW9kZWwuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3JlcXVlc3QtbG9nL3JlcXVlc3QtbG9nLm1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwaSxcbiAgYXNBcnJheSxcbiAgQmFkUmVxdWVzdEV4Y2VwdGlvbixcbiAgQmFzZU1vZGVsQ2xhc3MsXG4gIGV4aGF1c3RpdmUsXG4gIHR5cGUgTGlzdFJlc3VsdCxcbiAgTm90Rm91bmRFeGNlcHRpb24sXG59IGZyb20gXCJzb25hbXVcIjtcblxuaW1wb3J0IHsgU0QgfSBmcm9tIFwiLi4vLi4vaTE4bi9zZC5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7IHR5cGUgUmVxdWVzdExvZ1N1YnNldEtleSwgdHlwZSBSZXF1ZXN0TG9nU3Vic2V0TWFwcGluZyB9IGZyb20gXCIuLi9zb25hbXUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgeyByZXF1ZXN0TG9nTG9hZGVyUXVlcmllcywgcmVxdWVzdExvZ1N1YnNldFF1ZXJpZXMgfSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZC5zc29cIjtcbmltcG9ydCB7IHR5cGUgUmVxdWVzdExvZ0xpc3RQYXJhbXMsIHR5cGUgUmVxdWVzdExvZ1NhdmVQYXJhbXMgfSBmcm9tIFwiLi9yZXF1ZXN0LWxvZy50eXBlc1wiO1xuXG4vLyBjb3N0X3VzZOuKlCDsoJXsiJggbWljcm8tVVNE66GcIOyggOyepS4g7Iuk7KCcIFVTRCA9IGNvc3RfdXNkIC8gTUlDUk9fVVNELlxuZXhwb3J0IGNvbnN0IE1JQ1JPX1VTRCA9IDFfMDAwXzAwMDtcblxuLypcbiAgUmVxdWVzdExvZyBNb2RlbFxuKi9cbmNsYXNzIFJlcXVlc3RMb2dNb2RlbENsYXNzIGV4dGVuZHMgQmFzZU1vZGVsQ2xhc3M8XG4gIFJlcXVlc3RMb2dTdWJzZXRLZXksXG4gIFJlcXVlc3RMb2dTdWJzZXRNYXBwaW5nLFxuICB0eXBlb2YgcmVxdWVzdExvZ1N1YnNldFF1ZXJpZXMsXG4gIHR5cGVvZiByZXF1ZXN0TG9nTG9hZGVyUXVlcmllc1xuPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwiUmVxdWVzdExvZ1wiLCByZXF1ZXN0TG9nU3Vic2V0UXVlcmllcywgcmVxdWVzdExvZ0xvYWRlclF1ZXJpZXMpO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stcXVlcnlcIl0sIHJlc291cmNlTmFtZTogXCJSZXF1ZXN0TG9nXCIgfSlcbiAgYXN5bmMgZmluZEJ5SWQ8VCBleHRlbmRzIFJlcXVlc3RMb2dTdWJzZXRLZXk+KFxuICAgIHN1YnNldDogVCxcbiAgICBpZDogbnVtYmVyLFxuICApOiBQcm9taXNlPFJlcXVlc3RMb2dTdWJzZXRNYXBwaW5nW1RdPiB7XG4gICAgY29uc3QgeyByb3dzIH0gPSBhd2FpdCB0aGlzLmZpbmRNYW55KHN1YnNldCwge1xuICAgICAgaWQsXG4gICAgICBudW06IDEsXG4gICAgICBwYWdlOiAxLFxuICAgIH0pO1xuICAgIGlmICghcm93c1swXSkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXhjZXB0aW9uKFNEKFwiZXJyb3IuZW50aXR5Tm90Rm91bmRcIikoXCJSZXF1ZXN0TG9nXCIsIGlkKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvd3NbMF07XG4gIH1cblxuICBhc3luYyBmaW5kT25lPFQgZXh0ZW5kcyBSZXF1ZXN0TG9nU3Vic2V0S2V5PihcbiAgICBzdWJzZXQ6IFQsXG4gICAgbGlzdFBhcmFtczogUmVxdWVzdExvZ0xpc3RQYXJhbXMsXG4gICk6IFByb21pc2U8UmVxdWVzdExvZ1N1YnNldE1hcHBpbmdbVF0gfCBudWxsPiB7XG4gICAgY29uc3QgeyByb3dzIH0gPSBhd2FpdCB0aGlzLmZpbmRNYW55KHN1YnNldCwge1xuICAgICAgLi4ubGlzdFBhcmFtcyxcbiAgICAgIG51bTogMSxcbiAgICAgIHBhZ2U6IDEsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcm93c1swXSA/PyBudWxsO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stcXVlcnlcIl0sIHJlc291cmNlTmFtZTogXCJSZXF1ZXN0TG9nc1wiIH0pXG4gIGFzeW5jIGZpbmRNYW55PFQgZXh0ZW5kcyBSZXF1ZXN0TG9nU3Vic2V0S2V5LCBMUCBleHRlbmRzIFJlcXVlc3RMb2dMaXN0UGFyYW1zPihcbiAgICBzdWJzZXQ6IFQsXG4gICAgcmF3UGFyYW1zPzogTFAsXG4gICk6IFByb21pc2U8TGlzdFJlc3VsdDxMUCwgUmVxdWVzdExvZ1N1YnNldE1hcHBpbmdbVF0+PiB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgbnVtOiAyNCxcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBzZWFyY2g6IFwiaWRcIiBhcyBjb25zdCxcbiAgICAgIG9yZGVyQnk6IFwiaWQtZGVzY1wiIGFzIGNvbnN0LFxuICAgICAgLi4ucmF3UGFyYW1zLFxuICAgIH0gc2F0aXNmaWVzIFJlcXVlc3RMb2dMaXN0UGFyYW1zO1xuXG4gICAgY29uc3QgeyBxYiwgb25TdWJzZXQ6IF8gfSA9IHRoaXMuZ2V0U3Vic2V0UXVlcmllcyhzdWJzZXQpO1xuXG4gICAgaWYgKHBhcmFtcy5pZCkge1xuICAgICAgcWIud2hlcmVJbihcInJlcXVlc3RfbG9ncy5pZFwiLCBhc0FycmF5KHBhcmFtcy5pZCkpO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMudG9rZW5fbmFtZSkge1xuICAgICAgcWIud2hlcmUoXCJyZXF1ZXN0X2xvZ3MudG9rZW5fbmFtZVwiLCBcImxpa2VcIiwgYCR7cGFyYW1zLnRva2VuX25hbWV9LSVgKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnByb2plY3RfbmFtZV9pc19udWxsKSB7XG4gICAgICBxYi53aGVyZShcInJlcXVlc3RfbG9ncy5wcm9qZWN0X25hbWVcIiwgbnVsbCk7XG4gICAgfSBlbHNlIGlmIChwYXJhbXMucHJvamVjdF9uYW1lX2lzX25vdF9udWxsKSB7XG4gICAgICBxYi53aGVyZShcInJlcXVlc3RfbG9ncy5wcm9qZWN0X25hbWVcIiwgXCIhPVwiLCBudWxsKTtcbiAgICB9IGVsc2UgaWYgKHBhcmFtcy5wcm9qZWN0X25hbWUpIHtcbiAgICAgIHFiLndoZXJlKFwicmVxdWVzdF9sb2dzLnByb2plY3RfbmFtZVwiLCBwYXJhbXMucHJvamVjdF9uYW1lKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLm1vZGVsX25hbWUpIHtcbiAgICAgIHFiLndoZXJlKFwicmVxdWVzdF9sb2dzLm1vZGVsX25hbWVcIiwgcGFyYW1zLm1vZGVsX25hbWUpO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMuc2VhcmNoICYmIHBhcmFtcy5rZXl3b3JkICYmIHBhcmFtcy5rZXl3b3JkLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmIChwYXJhbXMuc2VhcmNoID09PSBcImlkXCIpIHtcbiAgICAgICAgcWIud2hlcmUoXCJyZXF1ZXN0X2xvZ3MuaWRcIiwgTnVtYmVyKHBhcmFtcy5rZXl3b3JkKSk7XG4gICAgICB9IGVsc2UgaWYgKHBhcmFtcy5zZWFyY2ggPT09IFwidG9rZW5fbmFtZVwiKSB7XG4gICAgICAgIHFiLndoZXJlKFwicmVxdWVzdF9sb2dzLnRva2VuX25hbWVcIiwgXCJsaWtlXCIsIGAlJHtwYXJhbXMua2V5d29yZH0lYCk7XG4gICAgICB9IGVsc2UgaWYgKHBhcmFtcy5zZWFyY2ggPT09IFwidXNlcl9wcm9tcHRcIikge1xuICAgICAgICBxYi53aGVyZShcInJlcXVlc3RfbG9ncy51c2VyX3Byb21wdFwiLCBcImxpa2VcIiwgYCUke3BhcmFtcy5rZXl3b3JkfSVgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXhjZXB0aW9uKFNEKFwiZXJyb3IudW5rbm93blNlYXJjaEZpZWxkXCIpKHBhcmFtcy5zZWFyY2gpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBvcmRlckJ5XG4gICAgaWYgKHBhcmFtcy5vcmRlckJ5KSB7XG4gICAgICAvLyBkZWZhdWx0IG9yZGVyQnlcbiAgICAgIGlmIChwYXJhbXMub3JkZXJCeSA9PT0gXCJpZC1kZXNjXCIpIHtcbiAgICAgICAgcWIub3JkZXJCeShcInJlcXVlc3RfbG9ncy5pZFwiLCBcImRlc2NcIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGhhdXN0aXZlKHBhcmFtcy5vcmRlckJ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBlbmhhbmNlcnMgPSB0aGlzLmNyZWF0ZUVuaGFuY2Vycyh7XG4gICAgICBBOiAocm93KSA9PiAoe1xuICAgICAgICAuLi5yb3csXG4gICAgICAgIC8vIOyEnOu4jOyFi+uzhOuhnCB2aXJ0dWFsIO2VhOuTnCDqs4TsgrDroZzsp4Eg7LaU6rCAXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVTdWJzZXRRdWVyeSh7XG4gICAgICBzdWJzZXQsXG4gICAgICBxYixcbiAgICAgIHBhcmFtcyxcbiAgICAgIGVuaGFuY2VycyxcbiAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyBzYXZlKHNwYTogUmVxdWVzdExvZ1NhdmVQYXJhbXNbXSk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgICBjb25zdCB3ZGIgPSB0aGlzLmdldFB1cmkoXCJ3XCIpO1xuXG4gICAgLy8gcmVnaXN0ZXJcbiAgICBzcGEuZm9yRWFjaCgoc3ApID0+IHtcbiAgICAgIHdkYi51YlJlZ2lzdGVyKFwicmVxdWVzdF9sb2dzXCIsIHNwKTtcbiAgICB9KTtcblxuICAgIC8vIHRyYW5zYWN0aW9uXG4gICAgcmV0dXJuIHdkYi50cmFuc2FjdGlvbihhc3luYyAodHJ4KSA9PiB7XG4gICAgICBjb25zdCBpZHMgPSBhd2FpdCB0cngudWJVcHNlcnQoXCJyZXF1ZXN0X2xvZ3NcIik7XG5cbiAgICAgIHJldHVybiBpZHM7XG4gICAgfSk7XG4gIH1cblxuICAvLyBTb25hbXUgZmluZE1hbnnripQgc3Vic2V0IOyghOyytCDsu6zrn7wodGV4dCDtj6ztlagp7J2EIO2OmOy5mO2VtOyEnCBhZ2dyZWdhdGXsl5Qg64SI66y0IOustOqxsOybgCDihpIgcmF3IHN1bSDsgqzsmqkuXG4gIGFzeW5jIHRvdGFsQ29zdChwYXJhbXM6IHsgdG9rZW5fbmFtZT86IHN0cmluZyB9ID0ge30pOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGNvbnN0IHFiID0gdGhpcy5nZXREQihcInJcIikoXCJyZXF1ZXN0X2xvZ3NcIik7XG4gICAgaWYgKHBhcmFtcy50b2tlbl9uYW1lKSB7XG4gICAgICBxYi53aGVyZShcInRva2VuX25hbWVcIiwgXCJsaWtlXCIsIGAke3BhcmFtcy50b2tlbl9uYW1lfS0lYCk7XG4gICAgfVxuICAgIC8vIGtuZXjripQgcGfsl5DshJwgbnVtZXJpYyBhZ2dyZWdhdGXrpbwgc3RyaW5n7Jy866GcIOuwmO2ZmC5cbiAgICBjb25zdCByb3cgPSAoYXdhaXQgcWIuc3VtKHsgc3VtOiBcImNvc3RfdXNkXCIgfSkuZmlyc3QoKSkgYXMgeyBzdW06IHN0cmluZyB8IG51bGwgfSB8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gTnVtYmVyKHJvdz8uc3VtID8/IDApIC8gTUlDUk9fVVNEO1xuICB9XG5cbiAgYXN5bmMgZGlzdGluY3RQcm9qZWN0TmFtZXMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IHJvd3MgPSBhd2FpdCB0aGlzLmdldFB1cmkoXCJyXCIpXG4gICAgICAuZnJvbShcInJlcXVlc3RfbG9nc1wiKVxuICAgICAgLmRpc3RpbmN0KFwicHJvamVjdF9uYW1lXCIpXG4gICAgICAud2hlcmUoXCJwcm9qZWN0X25hbWVcIiwgXCIhPVwiLCBudWxsKVxuICAgICAgLm9yZGVyQnkoXCJwcm9qZWN0X25hbWVcIiwgXCJhc2NcIilcbiAgICAgIC5zZWxlY3Qoe1xuICAgICAgICBwcm9qZWN0X25hbWU6IFwicHJvamVjdF9uYW1lXCIsXG4gICAgICB9KTtcbiAgICByZXR1cm4gcm93cy5tYXAoKHIpID0+IHIucHJvamVjdF9uYW1lISk7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stbXV0YXRpb25cIl0gfSlcbiAgYXN5bmMgZGVsKGlkczogbnVtYmVyW10pOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGNvbnN0IHdkYiA9IHRoaXMuZ2V0UHVyaShcIndcIik7XG5cbiAgICAvLyB0cmFuc2FjdGlvblxuICAgIGF3YWl0IHdkYi50cmFuc2FjdGlvbihhc3luYyAodHJ4KSA9PiB7XG4gICAgICByZXR1cm4gdHJ4LnRhYmxlKFwicmVxdWVzdF9sb2dzXCIpLndoZXJlSW4oXCJyZXF1ZXN0X2xvZ3MuaWRcIiwgaWRzKS5kZWxldGUoKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpZHMubGVuZ3RoO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nTW9kZWwgPSBuZXcgUmVxdWVzdExvZ01vZGVsQ2xhc3MoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQWdCQSxNQUFhLFlBQVk7QUFLekIsSUFBTSx1QkFBTixjQUFtQyxlQUtqQztDQUNBLGNBQWM7QUFDWixRQUFNLGNBQWMseUJBQXlCLHdCQUF3Qjs7Q0FHdkUsTUFDTSxTQUNKLFFBQ0EsSUFDcUM7RUFDckMsTUFBTSxFQUFFLFNBQVMsTUFBTSxLQUFLLFNBQVMsUUFBUTtHQUMzQztHQUNBLEtBQUs7R0FDTCxNQUFNO0dBQ1AsQ0FBQztBQUNGLE1BQUksQ0FBQyxLQUFLLEdBQ1IsT0FBTSxJQUFJLGtCQUFrQixHQUFHLHVCQUF1QixDQUFDLGNBQWMsR0FBRyxDQUFDO0FBRzNFLFNBQU8sS0FBSzs7Q0FHZCxNQUFNLFFBQ0osUUFDQSxZQUM0QztFQUM1QyxNQUFNLEVB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
|
|
127
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1sb2cubW9kZWwuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3JlcXVlc3QtbG9nL3JlcXVlc3QtbG9nLm1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwaSxcbiAgYXNBcnJheSxcbiAgQmFkUmVxdWVzdEV4Y2VwdGlvbixcbiAgQmFzZU1vZGVsQ2xhc3MsXG4gIGV4aGF1c3RpdmUsXG4gIHR5cGUgTGlzdFJlc3VsdCxcbiAgTm90Rm91bmRFeGNlcHRpb24sXG59IGZyb20gXCJzb25hbXVcIjtcblxuaW1wb3J0IHsgU0QgfSBmcm9tIFwiLi4vLi4vaTE4bi9zZC5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7IHR5cGUgUmVxdWVzdExvZ1N1YnNldEtleSwgdHlwZSBSZXF1ZXN0TG9nU3Vic2V0TWFwcGluZyB9IGZyb20gXCIuLi9zb25hbXUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgeyByZXF1ZXN0TG9nTG9hZGVyUXVlcmllcywgcmVxdWVzdExvZ1N1YnNldFF1ZXJpZXMgfSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZC5zc29cIjtcbmltcG9ydCB7IHR5cGUgUmVxdWVzdExvZ0xpc3RQYXJhbXMsIHR5cGUgUmVxdWVzdExvZ1NhdmVQYXJhbXMgfSBmcm9tIFwiLi9yZXF1ZXN0LWxvZy50eXBlc1wiO1xuXG4vLyBjb3N0X3VzZOuKlCDsoJXsiJggbWljcm8tVVNE66GcIOyggOyepS4g7Iuk7KCcIFVTRCA9IGNvc3RfdXNkIC8gTUlDUk9fVVNELlxuZXhwb3J0IGNvbnN0IE1JQ1JPX1VTRCA9IDFfMDAwXzAwMDtcblxuLypcbiAgUmVxdWVzdExvZyBNb2RlbFxuKi9cbmNsYXNzIFJlcXVlc3RMb2dNb2RlbENsYXNzIGV4dGVuZHMgQmFzZU1vZGVsQ2xhc3M8XG4gIFJlcXVlc3RMb2dTdWJzZXRLZXksXG4gIFJlcXVlc3RMb2dTdWJzZXRNYXBwaW5nLFxuICB0eXBlb2YgcmVxdWVzdExvZ1N1YnNldFF1ZXJpZXMsXG4gIHR5cGVvZiByZXF1ZXN0TG9nTG9hZGVyUXVlcmllc1xuPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwiUmVxdWVzdExvZ1wiLCByZXF1ZXN0TG9nU3Vic2V0UXVlcmllcywgcmVxdWVzdExvZ0xvYWRlclF1ZXJpZXMpO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stcXVlcnlcIl0sIHJlc291cmNlTmFtZTogXCJSZXF1ZXN0TG9nXCIgfSlcbiAgYXN5bmMgZmluZEJ5SWQ8VCBleHRlbmRzIFJlcXVlc3RMb2dTdWJzZXRLZXk+KFxuICAgIHN1YnNldDogVCxcbiAgICBpZDogbnVtYmVyLFxuICApOiBQcm9taXNlPFJlcXVlc3RMb2dTdWJzZXRNYXBwaW5nW1RdPiB7XG4gICAgY29uc3QgeyByb3dzIH0gPSBhd2FpdCB0aGlzLmZpbmRNYW55KHN1YnNldCwge1xuICAgICAgaWQsXG4gICAgICBudW06IDEsXG4gICAgICBwYWdlOiAxLFxuICAgIH0pO1xuICAgIGlmICghcm93c1swXSkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXhjZXB0aW9uKFNEKFwiZXJyb3IuZW50aXR5Tm90Rm91bmRcIikoXCJSZXF1ZXN0TG9nXCIsIGlkKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvd3NbMF07XG4gIH1cblxuICBhc3luYyBmaW5kT25lPFQgZXh0ZW5kcyBSZXF1ZXN0TG9nU3Vic2V0S2V5PihcbiAgICBzdWJzZXQ6IFQsXG4gICAgbGlzdFBhcmFtczogUmVxdWVzdExvZ0xpc3RQYXJhbXMsXG4gICk6IFByb21pc2U8UmVxdWVzdExvZ1N1YnNldE1hcHBpbmdbVF0gfCBudWxsPiB7XG4gICAgY29uc3QgeyByb3dzIH0gPSBhd2FpdCB0aGlzLmZpbmRNYW55KHN1YnNldCwge1xuICAgICAgLi4ubGlzdFBhcmFtcyxcbiAgICAgIG51bTogMSxcbiAgICAgIHBhZ2U6IDEsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcm93c1swXSA/PyBudWxsO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stcXVlcnlcIl0sIHJlc291cmNlTmFtZTogXCJSZXF1ZXN0TG9nc1wiIH0pXG4gIGFzeW5jIGZpbmRNYW55PFQgZXh0ZW5kcyBSZXF1ZXN0TG9nU3Vic2V0S2V5LCBMUCBleHRlbmRzIFJlcXVlc3RMb2dMaXN0UGFyYW1zPihcbiAgICBzdWJzZXQ6IFQsXG4gICAgcmF3UGFyYW1zPzogTFAsXG4gICk6IFByb21pc2U8TGlzdFJlc3VsdDxMUCwgUmVxdWVzdExvZ1N1YnNldE1hcHBpbmdbVF0+PiB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgbnVtOiAyNCxcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBzZWFyY2g6IFwiaWRcIiBhcyBjb25zdCxcbiAgICAgIG9yZGVyQnk6IFwiaWQtZGVzY1wiIGFzIGNvbnN0LFxuICAgICAgLi4ucmF3UGFyYW1zLFxuICAgIH0gc2F0aXNmaWVzIFJlcXVlc3RMb2dMaXN0UGFyYW1zO1xuXG4gICAgY29uc3QgeyBxYiwgb25TdWJzZXQ6IF8gfSA9IHRoaXMuZ2V0U3Vic2V0UXVlcmllcyhzdWJzZXQpO1xuXG4gICAgaWYgKHBhcmFtcy5pZCkge1xuICAgICAgcWIud2hlcmVJbihcInJlcXVlc3RfbG9ncy5pZFwiLCBhc0FycmF5KHBhcmFtcy5pZCkpO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMudG9rZW5fbmFtZSkge1xuICAgICAgcWIud2hlcmUoXCJyZXF1ZXN0X2xvZ3MudG9rZW5fbmFtZVwiLCBwYXJhbXMudG9rZW5fbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5wcm9qZWN0X25hbWVfaXNfbnVsbCkge1xuICAgICAgcWIud2hlcmUoXCJyZXF1ZXN0X2xvZ3MucHJvamVjdF9uYW1lXCIsIG51bGwpO1xuICAgIH0gZWxzZSBpZiAocGFyYW1zLnByb2plY3RfbmFtZV9pc19ub3RfbnVsbCkge1xuICAgICAgcWIud2hlcmUoXCJyZXF1ZXN0X2xvZ3MucHJvamVjdF9uYW1lXCIsIFwiIT1cIiwgbnVsbCk7XG4gICAgfSBlbHNlIGlmIChwYXJhbXMucHJvamVjdF9uYW1lKSB7XG4gICAgICBxYi53aGVyZShcInJlcXVlc3RfbG9ncy5wcm9qZWN0X25hbWVcIiwgcGFyYW1zLnByb2plY3RfbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5tb2RlbF9uYW1lKSB7XG4gICAgICBxYi53aGVyZShcInJlcXVlc3RfbG9ncy5tb2RlbF9uYW1lXCIsIHBhcmFtcy5tb2RlbF9uYW1lKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnNlYXJjaCAmJiBwYXJhbXMua2V5d29yZCAmJiBwYXJhbXMua2V5d29yZC5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAocGFyYW1zLnNlYXJjaCA9PT0gXCJpZFwiKSB7XG4gICAgICAgIHFiLndoZXJlKFwicmVxdWVzdF9sb2dzLmlkXCIsIE51bWJlcihwYXJhbXMua2V5d29yZCkpO1xuICAgICAgfSBlbHNlIGlmIChwYXJhbXMuc2VhcmNoID09PSBcInRva2VuX25hbWVcIikge1xuICAgICAgICBxYi53aGVyZShcInJlcXVlc3RfbG9ncy50b2tlbl9uYW1lXCIsIFwibGlrZVwiLCBgJSR7cGFyYW1zLmtleXdvcmR9JWApO1xuICAgICAgfSBlbHNlIGlmIChwYXJhbXMuc2VhcmNoID09PSBcInVzZXJfcHJvbXB0XCIpIHtcbiAgICAgICAgcWIud2hlcmUoXCJyZXF1ZXN0X2xvZ3MudXNlcl9wcm9tcHRcIiwgXCJsaWtlXCIsIGAlJHtwYXJhbXMua2V5d29yZH0lYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbihTRChcImVycm9yLnVua25vd25TZWFyY2hGaWVsZFwiKShwYXJhbXMuc2VhcmNoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gb3JkZXJCeVxuICAgIGlmIChwYXJhbXMub3JkZXJCeSkge1xuICAgICAgLy8gZGVmYXVsdCBvcmRlckJ5XG4gICAgICBpZiAocGFyYW1zLm9yZGVyQnkgPT09IFwiaWQtZGVzY1wiKSB7XG4gICAgICAgIHFiLm9yZGVyQnkoXCJyZXF1ZXN0X2xvZ3MuaWRcIiwgXCJkZXNjXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhoYXVzdGl2ZShwYXJhbXMub3JkZXJCeSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZW5oYW5jZXJzID0gdGhpcy5jcmVhdGVFbmhhbmNlcnMoe1xuICAgICAgQTogKHJvdykgPT4gKHtcbiAgICAgICAgLi4ucm93LFxuICAgICAgICAvLyDshJzruIzshYvrs4TroZwgdmlydHVhbCDtlYTrk5wg6rOE7IKw66Gc7KeBIOy2lOqwgFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5leGVjdXRlU3Vic2V0UXVlcnkoe1xuICAgICAgc3Vic2V0LFxuICAgICAgcWIsXG4gICAgICBwYXJhbXMsXG4gICAgICBlbmhhbmNlcnMsXG4gICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stbXV0YXRpb25cIl0gfSlcbiAgYXN5bmMgc2F2ZShzcGE6IFJlcXVlc3RMb2dTYXZlUGFyYW1zW10pOiBQcm9taXNlPG51bWJlcltdPiB7XG4gICAgY29uc3Qgd2RiID0gdGhpcy5nZXRQdXJpKFwid1wiKTtcblxuICAgIC8vIHJlZ2lzdGVyXG4gICAgc3BhLmZvckVhY2goKHNwKSA9PiB7XG4gICAgICB3ZGIudWJSZWdpc3RlcihcInJlcXVlc3RfbG9nc1wiLCBzcCk7XG4gICAgfSk7XG5cbiAgICAvLyB0cmFuc2FjdGlvblxuICAgIHJldHVybiB3ZGIudHJhbnNhY3Rpb24oYXN5bmMgKHRyeCkgPT4ge1xuICAgICAgY29uc3QgaWRzID0gYXdhaXQgdHJ4LnViVXBzZXJ0KFwicmVxdWVzdF9sb2dzXCIpO1xuXG4gICAgICByZXR1cm4gaWRzO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gU29uYW11IGZpbmRNYW5564qUIHN1YnNldCDsoITssrQg7Lus65+8KHRleHQg7Y+s7ZWoKeydhCDtjpjsuZjtlbTshJwgYWdncmVnYXRl7JeUIOuEiOustCDrrLTqsbDsm4Ag4oaSIHJhdyBzdW0g7IKs7JqpLlxuICBhc3luYyB0b3RhbENvc3QocGFyYW1zOiB7IHRva2VuX25hbWU/OiBzdHJpbmcgfSA9IHt9KTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCBxYiA9IHRoaXMuZ2V0REIoXCJyXCIpKFwicmVxdWVzdF9sb2dzXCIpO1xuICAgIGlmIChwYXJhbXMudG9rZW5fbmFtZSkge1xuICAgICAgcWIud2hlcmUoXCJ0b2tlbl9uYW1lXCIsIHBhcmFtcy50b2tlbl9uYW1lKTtcbiAgICB9XG4gICAgLy8ga25leOuKlCBwZ+yXkOyEnCBudW1lcmljIGFnZ3JlZ2F0ZeulvCBzdHJpbmfsnLzroZwg67CY7ZmYLlxuICAgIGNvbnN0IHJvdyA9IChhd2FpdCBxYi5zdW0oeyBzdW06IFwiY29zdF91c2RcIiB9KS5maXJzdCgpKSBhcyB7IHN1bTogc3RyaW5nIHwgbnVsbCB9IHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiBOdW1iZXIocm93Py5zdW0gPz8gMCkgLyBNSUNST19VU0Q7XG4gIH1cblxuICBhc3luYyBkaXN0aW5jdFByb2plY3ROYW1lcygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3Qgcm93cyA9IGF3YWl0IHRoaXMuZ2V0UHVyaShcInJcIilcbiAgICAgIC5mcm9tKFwicmVxdWVzdF9sb2dzXCIpXG4gICAgICAuZGlzdGluY3QoXCJwcm9qZWN0X25hbWVcIilcbiAgICAgIC53aGVyZShcInByb2plY3RfbmFtZVwiLCBcIiE9XCIsIG51bGwpXG4gICAgICAub3JkZXJCeShcInByb2plY3RfbmFtZVwiLCBcImFzY1wiKVxuICAgICAgLnNlbGVjdCh7XG4gICAgICAgIHByb2plY3RfbmFtZTogXCJwcm9qZWN0X25hbWVcIixcbiAgICAgIH0pO1xuICAgIHJldHVybiByb3dzLm1hcCgocikgPT4gci5wcm9qZWN0X25hbWUhKTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyBkZWwoaWRzOiBudW1iZXJbXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3Qgd2RiID0gdGhpcy5nZXRQdXJpKFwid1wiKTtcblxuICAgIC8vIHRyYW5zYWN0aW9uXG4gICAgYXdhaXQgd2RiLnRyYW5zYWN0aW9uKGFzeW5jICh0cngpID0+IHtcbiAgICAgIHJldHVybiB0cngudGFibGUoXCJyZXF1ZXN0X2xvZ3NcIikud2hlcmVJbihcInJlcXVlc3RfbG9ncy5pZFwiLCBpZHMpLmRlbGV0ZSgpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGlkcy5sZW5ndGg7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dNb2RlbCA9IG5ldyBSZXF1ZXN0TG9nTW9kZWxDbGFzcygpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBZ0JBLE1BQWEsWUFBWTtBQUt6QixJQUFNLHVCQUFOLGNBQW1DLGVBS2pDO0NBQ0EsY0FBYztBQUNaLFFBQU0sY0FBYyx5QkFBeUIsd0JBQXdCOztDQUd2RSxNQUNNLFNBQ0osUUFDQSxJQUNxQztFQUNyQyxNQUFNLEVBQUUsU0FBUyxNQUFNLEtBQUssU0FBUyxRQUFRO0dBQzNDO0dBQ0EsS0FBSztHQUNMLE1BQU07R0FDUCxDQUFDO0FBQ0YsTUFBSSxDQUFDLEtBQUssR0FDUixPQUFNLElBQUksa0JBQWtCLEdBQUcsdUJBQXVCLENBQUMsY0FBYyxHQUFHLENBQUM7QUFHM0UsU0FBTyxLQUFLOztDQUdkLE1BQU0sUUFDSixRQUNBLFlBQzRDO0VBQzVDLE1BQU0sRUFBRSxTQUFTLE1BQU0sS0FBSyxTQUFTLFFBQVE7R0FDM0Ms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
|
|
@@ -96,14 +96,23 @@ async function executeClaude(
|
|
|
96
96
|
): Promise<CliResult> {
|
|
97
97
|
const model = input.model ?? DEFAULT_MODEL;
|
|
98
98
|
const timeout = input.timeout ?? timeoutMs;
|
|
99
|
+
const useStructuredOutput = input.jsonSchema && input.jsonSchema.length > 0;
|
|
100
|
+
|
|
101
|
+
// --tools "" 로 모든 tool 을 기본 차단. structured output 쓰면 StructuredOutput 만 화이트리스트.
|
|
102
|
+
// --tools "" 는 반드시 뒤에 다른 플래그가 와야 CLI 파싱이 빈 문자열로 인식
|
|
103
|
+
const toolArgs = useStructuredOutput
|
|
104
|
+
? ["--tools", "", "--allowed-tools", "StructuredOutput"]
|
|
105
|
+
: ["--tools", ""];
|
|
99
106
|
|
|
100
107
|
const args: string[] = [
|
|
101
108
|
"-p",
|
|
109
|
+
...toolArgs,
|
|
102
110
|
"--output-format",
|
|
103
111
|
"stream-json",
|
|
104
112
|
"--verbose",
|
|
105
113
|
"--max-turns",
|
|
106
|
-
|
|
114
|
+
// structured output 은 tool_use + tool_result 로 2턴 소비
|
|
115
|
+
useStructuredOutput ? "2" : "1",
|
|
107
116
|
"--permission-mode",
|
|
108
117
|
"bypassPermissions",
|
|
109
118
|
"--setting-sources",
|
|
@@ -111,11 +120,12 @@ async function executeClaude(
|
|
|
111
120
|
"--model",
|
|
112
121
|
model,
|
|
113
122
|
// thinking 비활성화는 project settings (alwaysThinkingEnabled: false) 에서 처리
|
|
114
|
-
"--tools",
|
|
115
|
-
"",
|
|
116
123
|
"--exclude-dynamic-system-prompt-sections", // cwd/env 를 user msg 로 이동 → prefix cache 안정화
|
|
117
124
|
"--no-session-persistence", // ~/.claude/projects/ 의 orphan jsonl 누적 방지
|
|
118
125
|
];
|
|
126
|
+
if (useStructuredOutput) {
|
|
127
|
+
args.push("--json-schema", input.jsonSchema!);
|
|
128
|
+
}
|
|
119
129
|
if (input.system) {
|
|
120
130
|
args.push("--append-system-prompt", input.system);
|
|
121
131
|
}
|
|
@@ -156,8 +166,15 @@ async function executeClaude(
|
|
|
156
166
|
try {
|
|
157
167
|
const j = JSON.parse(line);
|
|
158
168
|
if (j.type === "result" && !settled) {
|
|
159
|
-
|
|
160
|
-
|
|
169
|
+
// --json-schema 사용 시 structured_output 에 파싱된 객체가 온다 → 우선 사용
|
|
170
|
+
let text: string;
|
|
171
|
+
if (j.structured_output !== undefined) {
|
|
172
|
+
text = JSON.stringify(j.structured_output);
|
|
173
|
+
} else {
|
|
174
|
+
text = (j.result ?? "")
|
|
175
|
+
.replace(/^```(?:json)?\s*\n?/i, "")
|
|
176
|
+
.replace(/\n?```\s*$/i, "");
|
|
177
|
+
}
|
|
161
178
|
|
|
162
179
|
if (text.startsWith("You've hit")) {
|
|
163
180
|
settled = true;
|
|
@@ -34,8 +34,9 @@ class QgridFrameClass extends BaseFrameClass {
|
|
|
34
34
|
timeout?: number,
|
|
35
35
|
model?: string,
|
|
36
36
|
projectName?: string,
|
|
37
|
+
jsonSchema?: string,
|
|
37
38
|
): Promise<CliResult> {
|
|
38
|
-
const result = await QgridDispatcher.query({ system, prompt, model }, timeout);
|
|
39
|
+
const result = await QgridDispatcher.query({ system, prompt, model, jsonSchema }, timeout);
|
|
39
40
|
|
|
40
41
|
RequestLogModel.save([
|
|
41
42
|
{
|
|
@@ -79,7 +79,7 @@ class RequestLogModelClass extends BaseModelClass<
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
if (params.token_name) {
|
|
82
|
-
qb.where("request_logs.token_name",
|
|
82
|
+
qb.where("request_logs.token_name", params.token_name);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
if (params.project_name_is_null) {
|
|
@@ -153,7 +153,7 @@ class RequestLogModelClass extends BaseModelClass<
|
|
|
153
153
|
async totalCost(params: { token_name?: string } = {}): Promise<number> {
|
|
154
154
|
const qb = this.getDB("r")("request_logs");
|
|
155
155
|
if (params.token_name) {
|
|
156
|
-
qb.where("token_name",
|
|
156
|
+
qb.where("token_name", params.token_name);
|
|
157
157
|
}
|
|
158
158
|
// knex는 pg에서 numeric aggregate를 string으로 반환.
|
|
159
159
|
const row = (await qb.sum({ sum: "cost_usd" }).first()) as { sum: string | null } | undefined;
|