@wirecat/drive-cli 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/catalog-commands.d.ts +2 -1
- package/dist/catalog-commands.d.ts.map +1 -1
- package/dist/catalog-commands.js +16 -16
- package/dist/catalog-commands.js.map +1 -1
- package/dist/catalog.d.ts +1 -0
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +19 -0
- package/dist/catalog.js.map +1 -1
- package/dist/failure.js +1 -1
- package/dist/failure.js.map +1 -1
- package/dist/knowledge-commands.d.ts +2 -1
- package/dist/knowledge-commands.d.ts.map +1 -1
- package/dist/knowledge-commands.js +39 -24
- package/dist/knowledge-commands.js.map +1 -1
- package/dist/knowledge.d.ts +8 -2
- package/dist/knowledge.d.ts.map +1 -1
- package/dist/knowledge.js.map +1 -1
- package/dist/mcp.d.ts +8 -5
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +10 -11
- package/dist/mcp.js.map +1 -1
- package/dist/output.d.ts +3 -8
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +5 -35
- package/dist/output.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +105 -75
- package/dist/program.js.map +1 -1
- package/dist/provider-json.d.ts +10 -0
- package/dist/provider-json.d.ts.map +1 -0
- package/dist/provider-json.js +24 -0
- package/dist/provider-json.js.map +1 -0
- package/dist/remote-commands.d.ts +2 -1
- package/dist/remote-commands.d.ts.map +1 -1
- package/dist/remote-commands.js +68 -50
- package/dist/remote-commands.js.map +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +21 -8
- package/dist/store.js.map +1 -1
- package/package.json +3 -3
package/dist/program.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
1
2
|
import { readFileSync, writeFileSync } from "node:fs";
|
|
2
|
-
import { CliError, createDeadline, createOutputBuffer, createRenderer, processStreams, } from "@wirecat/cli-base";
|
|
3
|
+
import { CliError, createDeadline, createOutputBuffer, createRenderer, fieldsOf, processStreams, projectFields, } from "@wirecat/cli-base";
|
|
3
4
|
import { annotate, describeOptions, flatten, metaOf } from "@wirecat/cli-base/commands";
|
|
4
5
|
import { formatSuggestions, suggest } from "@wirecat/cli-base/completion";
|
|
5
6
|
import { writes } from "@wirecat/cli-base/standards";
|
|
6
|
-
import { commandWords,
|
|
7
|
+
import { commandWords, itemOf, liftJson, liftProfile, parseDuration, refuseCommandName, renderAnswer, } from "@wirecat/cli-core/cli";
|
|
7
8
|
import { Command, Help, InvalidArgumentError, Option } from "commander";
|
|
8
9
|
import { validateRequest } from "./api-contract.js";
|
|
9
10
|
import { installCatalogCommands } from "./catalog-commands.js";
|
|
@@ -15,9 +16,10 @@ import { apiMethod, googleApi } from "./google-api.js";
|
|
|
15
16
|
import { installKnowledgeCommands } from "./knowledge-commands.js";
|
|
16
17
|
import { login } from "./login.js";
|
|
17
18
|
import { FOLDER, metadataJson, skipJson } from "./model.js";
|
|
18
|
-
import {
|
|
19
|
+
import { allOf, snakeKeys } from "./output.js";
|
|
19
20
|
import { checkPolicy, guardedGoogleWrite, methodPolicyKeys } from "./policy.js";
|
|
20
21
|
import { lockProfile } from "./profile-lock.js";
|
|
22
|
+
import { checkProviderJson, checkResultFields, providerJsonFields } from "./provider-json.js";
|
|
21
23
|
import { ACCOUNT_FREE_COMMANDS, commandsDocument, describeDriveProgram, examples } from "./registry.js";
|
|
22
24
|
import { installRemoteCommands } from "./remote-commands.js";
|
|
23
25
|
import { readSnapshot, readState } from "./state.js";
|
|
@@ -39,6 +41,20 @@ const offset = (input) => {
|
|
|
39
41
|
throw new InvalidArgumentError("use a nonnegative integer");
|
|
40
42
|
return n;
|
|
41
43
|
};
|
|
44
|
+
const eachItem = (body, change) => "items" in body ? { ...body, items: body.items.map(change) } : { ...body, item: change(body.item) };
|
|
45
|
+
const commandIn = (root, words) => {
|
|
46
|
+
let at = root;
|
|
47
|
+
for (const word of words) {
|
|
48
|
+
if (word.startsWith("-"))
|
|
49
|
+
continue;
|
|
50
|
+
const child = at?.commands.find((command) => command.name() === word);
|
|
51
|
+
if (child)
|
|
52
|
+
at = child;
|
|
53
|
+
}
|
|
54
|
+
return at === root ? undefined : at;
|
|
55
|
+
};
|
|
56
|
+
class Preview extends Error {
|
|
57
|
+
}
|
|
42
58
|
export const createProgram = (options = {}) => {
|
|
43
59
|
const startedAt = Date.now();
|
|
44
60
|
const env = options.env ?? process.env;
|
|
@@ -48,12 +64,12 @@ export const createProgram = (options = {}) => {
|
|
|
48
64
|
.version(VERSION)
|
|
49
65
|
.usage("<profile> [options] <command>")
|
|
50
66
|
.option("--profile <name>", "explicit Google account profile (alternative to the first word)")
|
|
51
|
-
.option("--json", "print machine-readable JSON")
|
|
67
|
+
.option("--json", "print machine-readable JSON; --json=id,title keeps only those fields")
|
|
52
68
|
.option("--jsonl", "print machine-readable JSON lines")
|
|
53
69
|
.option("--quiet", "suppress optional diagnostics")
|
|
54
70
|
.option("--debug", "on failure, show the full error record: cause and stack")
|
|
55
71
|
.option("--timeout <duration>", "whole-command deadline, e.g. 30s", (raw) => parseDuration(raw, "--timeout"))
|
|
56
|
-
.option("--max-output-bytes <
|
|
72
|
+
.option("--max-output-bytes <bytes>", "largest result to print, in bytes; 0 for no limit", offset, 4 * 1024 * 1024)
|
|
57
73
|
.option("--read-only", "refuse local and remote mutations")
|
|
58
74
|
.option("--offline", "answer only operations that use local cached data")
|
|
59
75
|
.option("--dry-run", "validate command/policy and preview without acting")
|
|
@@ -79,6 +95,7 @@ export const createProgram = (options = {}) => {
|
|
|
79
95
|
return profileName(name);
|
|
80
96
|
};
|
|
81
97
|
let currentAction;
|
|
98
|
+
let fields;
|
|
82
99
|
let activeSignal = options.signal;
|
|
83
100
|
let deadline;
|
|
84
101
|
const confirmations = new Set();
|
|
@@ -94,26 +111,35 @@ export const createProgram = (options = {}) => {
|
|
|
94
111
|
...program.opts(),
|
|
95
112
|
allowDangerous: program.opts().allowDangerous || currentAction?.opts().allowDelete,
|
|
96
113
|
});
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
114
|
+
const runId = randomUUID();
|
|
115
|
+
const print = (render) => {
|
|
116
|
+
const format = program.opts().jsonl
|
|
117
|
+
? "jsonl"
|
|
118
|
+
: program.opts().json || !process.stdout.isTTY
|
|
119
|
+
? "json"
|
|
120
|
+
: "pretty";
|
|
101
121
|
const buffer = createOutputBuffer({ maxOutputBytes: program.opts().maxOutputBytes });
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
color: false,
|
|
105
|
-
streams: { ...streams, data: (text) => buffer.data(text) },
|
|
106
|
-
quiet: program.opts().quiet === true,
|
|
107
|
-
});
|
|
108
|
-
if (!answer)
|
|
109
|
-
renderer.result(value);
|
|
110
|
-
else if (program.opts().jsonl)
|
|
111
|
-
for (const record of jsonlRecords(answer))
|
|
112
|
-
renderer.result(record);
|
|
113
|
-
else
|
|
114
|
-
renderer.result(answer);
|
|
122
|
+
const buffered = { ...streams, data: (text) => buffer.data(text) };
|
|
123
|
+
render(createRenderer({ format, color: false, streams: buffered, quiet: program.opts().quiet === true }), format, buffered);
|
|
115
124
|
buffer.flush((text) => streams.data(text));
|
|
116
125
|
};
|
|
126
|
+
const output = (body) => {
|
|
127
|
+
const snaked = eachItem(body, (item) => snakeKeys(item));
|
|
128
|
+
const whole = {
|
|
129
|
+
...snaked,
|
|
130
|
+
meta: {
|
|
131
|
+
run_id: runId,
|
|
132
|
+
duration_ms: Math.max(0, Math.round(Date.now() - startedAt)),
|
|
133
|
+
complete: true,
|
|
134
|
+
...body.meta,
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
if (fields && currentAction)
|
|
138
|
+
checkResultFields(currentAction, whole, fields);
|
|
139
|
+
const paths = fields ? fieldsOf(fields) : undefined;
|
|
140
|
+
const answer = paths ? eachItem(whole, (item) => projectFields(item, paths)) : whole;
|
|
141
|
+
print((renderer, format, buffered) => renderAnswer(currentAction ?? program, { renderer, format, streams: buffered }, answer));
|
|
142
|
+
};
|
|
117
143
|
const source = async () => {
|
|
118
144
|
const name = selected();
|
|
119
145
|
if (options.source)
|
|
@@ -142,7 +168,7 @@ export const createProgram = (options = {}) => {
|
|
|
142
168
|
.action(async (args) => {
|
|
143
169
|
if (args.credentialStorage !== "keyring" && args.credentialStorage !== "file")
|
|
144
170
|
throw new CliError("validation_error", "credential storage is keyring or file");
|
|
145
|
-
output(await login({
|
|
171
|
+
output(itemOf(await login({
|
|
146
172
|
env,
|
|
147
173
|
profile: selected(),
|
|
148
174
|
application: application(env, args.clientFile),
|
|
@@ -154,18 +180,18 @@ export const createProgram = (options = {}) => {
|
|
|
154
180
|
...(activeSignal ? { signal: activeSignal } : {}),
|
|
155
181
|
openBrowser: args.browser ? (options.openBrowser ?? (async () => { })) : async () => { },
|
|
156
182
|
showUrl: (url) => streams.diagnostic(`Open Google sign-in: ${url}\n`),
|
|
157
|
-
}));
|
|
183
|
+
})));
|
|
158
184
|
});
|
|
159
185
|
examples(session.command("list").description("list the configured profiles; credentials are never printed"), [
|
|
160
186
|
"drive personal session list",
|
|
161
|
-
]).action(() => output({
|
|
187
|
+
]).action(() => output(itemOf({
|
|
162
188
|
scope: "all-configured-profiles",
|
|
163
189
|
items: Object.entries(readConfig(env).profiles).map(([name, p]) => ({
|
|
164
190
|
profile: name,
|
|
165
191
|
selected_folders: p.roots.length,
|
|
166
192
|
storage: p.storage,
|
|
167
193
|
})),
|
|
168
|
-
}));
|
|
194
|
+
})));
|
|
169
195
|
examples(session.command("end").description("sign this profile out; imported documents stay"), [
|
|
170
196
|
"drive personal session end",
|
|
171
197
|
]).action(() => {
|
|
@@ -175,7 +201,7 @@ export const createProgram = (options = {}) => {
|
|
|
175
201
|
credentials(env, profile.storage, options.keyring).remove(name);
|
|
176
202
|
// Preserve the principal and roots so reauthorization resumes the same source identities.
|
|
177
203
|
writeConfig(env, config);
|
|
178
|
-
output({ profile: name, signed_out: true, cached_data: "retained" });
|
|
204
|
+
output(itemOf({ profile: name, signed_out: true, cached_data: "retained" }));
|
|
179
205
|
});
|
|
180
206
|
const folders = program.command("folders").description("choose the Google Drive folders that sync imports");
|
|
181
207
|
const folderArgument = "folder id or Google Drive URL";
|
|
@@ -194,11 +220,11 @@ export const createProgram = (options = {}) => {
|
|
|
194
220
|
profile.roots.push(metadata.id);
|
|
195
221
|
config.profiles[name] = profile;
|
|
196
222
|
writeConfig(env, config);
|
|
197
|
-
output({ id: metadata.id, name: metadata.name, added: true });
|
|
223
|
+
output(itemOf({ id: metadata.id, name: metadata.name, added: true }));
|
|
198
224
|
});
|
|
199
225
|
examples(folders.command("list").description("list the folder ids sync imports"), [
|
|
200
226
|
"drive personal folders list",
|
|
201
|
-
]).action(() => output(
|
|
227
|
+
]).action(() => output(allOf(activeProfile(env, selected()).roots.map((id) => ({ id })))));
|
|
202
228
|
examples(folders
|
|
203
229
|
.command("remove")
|
|
204
230
|
.argument("<folder>", folderArgument)
|
|
@@ -210,7 +236,7 @@ export const createProgram = (options = {}) => {
|
|
|
210
236
|
profile.roots = profile.roots.filter((root) => root !== id);
|
|
211
237
|
config.profiles[name] = profile;
|
|
212
238
|
writeConfig(env, config);
|
|
213
|
-
output({ id, removed: true });
|
|
239
|
+
output(itemOf({ id, removed: true }));
|
|
214
240
|
});
|
|
215
241
|
examples(program
|
|
216
242
|
.command("sync")
|
|
@@ -226,7 +252,7 @@ export const createProgram = (options = {}) => {
|
|
|
226
252
|
...(await sync(remote, index, env, selected(), args.limit, activeSignal, args.rescan)),
|
|
227
253
|
...(args.embed ? { embeddings: await index.embed(600) } : {}),
|
|
228
254
|
}));
|
|
229
|
-
output(result);
|
|
255
|
+
output(itemOf(result));
|
|
230
256
|
if (result.errors.length || result.pending)
|
|
231
257
|
streams.diagnostic(`${result.pending} source operations remain; run drive ${selected()} sync again\n`);
|
|
232
258
|
if (result.errors.length)
|
|
@@ -240,16 +266,16 @@ export const createProgram = (options = {}) => {
|
|
|
240
266
|
const name = selected();
|
|
241
267
|
const profile = activeProfile(env, name);
|
|
242
268
|
const state = readState(env, name, profile.principal);
|
|
243
|
-
output({
|
|
269
|
+
output(itemOf({
|
|
244
270
|
profile: name,
|
|
245
271
|
selected_folders: profile.roots,
|
|
246
272
|
documents: Object.keys(state.documents).length,
|
|
247
273
|
pending: state.pending?.jobs.length ?? 0,
|
|
248
274
|
skipped: state.skipped.map(skipJson),
|
|
249
275
|
last_sync: state.lastSync ?? null,
|
|
250
|
-
coverage: "Google Docs and Markdown/TXT; native export tab fidelity and assets are not verified",
|
|
276
|
+
coverage: "Google Docs/Sheets, PDF/DOCX/XLSX and Markdown/TXT/CSV/TSV; native export layout, tab fidelity and assets are not verified",
|
|
251
277
|
remote_checked: false,
|
|
252
|
-
});
|
|
278
|
+
}));
|
|
253
279
|
});
|
|
254
280
|
const documents = program.command("documents").description("read imported documents and Google Docs");
|
|
255
281
|
const documentArgument = "document id or Google Docs URL";
|
|
@@ -258,28 +284,30 @@ export const createProgram = (options = {}) => {
|
|
|
258
284
|
"drive personal documents list --tag budget",
|
|
259
285
|
])
|
|
260
286
|
.option("--tag <tag>", "only documents with this tag")
|
|
261
|
-
.option("--person <
|
|
287
|
+
.option("--person <uid>", "only documents linked to this person, by uid or person:<uid>")
|
|
262
288
|
.action(async (args) => {
|
|
263
289
|
const profile = activeProfile(env, selected());
|
|
264
290
|
const state = readState(env, selected(), profile.principal);
|
|
265
291
|
let docs = Object.values(state.documents);
|
|
292
|
+
const filters = {
|
|
293
|
+
...(args.tag ? { tag: args.tag } : {}),
|
|
294
|
+
...(args.person ? { person: args.person.startsWith("person:") ? args.person : `person:${args.person}` } : {}),
|
|
295
|
+
};
|
|
266
296
|
if (args.tag || args.person)
|
|
267
297
|
docs = await withIndex(async (index) => {
|
|
268
298
|
if (!index.knowledge)
|
|
269
299
|
throw new CliError("configuration_error", "index has no shared knowledge adapter");
|
|
270
300
|
const filtered = [];
|
|
271
301
|
for (const doc of docs)
|
|
272
|
-
if (await index.knowledge.matches(profile.principal, doc.reference,
|
|
302
|
+
if (await index.knowledge.matches(profile.principal, doc.reference, filters))
|
|
273
303
|
filtered.push(doc);
|
|
274
304
|
return filtered;
|
|
275
305
|
});
|
|
276
|
-
output({
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
})),
|
|
282
|
-
});
|
|
306
|
+
output(allOf(docs.map((doc) => ({
|
|
307
|
+
...metadataJson(doc.metadata),
|
|
308
|
+
reference: doc.reference,
|
|
309
|
+
tabs: doc.tabs,
|
|
310
|
+
}))));
|
|
283
311
|
});
|
|
284
312
|
const imported = (input) => {
|
|
285
313
|
const id = fileId(input);
|
|
@@ -297,32 +325,32 @@ export const createProgram = (options = {}) => {
|
|
|
297
325
|
.argument("<document>", documentArgument)
|
|
298
326
|
.description("show an imported document's text, tabs and metadata"), ["drive personal documents show DOC_ID"]).action((input) => {
|
|
299
327
|
const { snapshot } = imported(input);
|
|
300
|
-
output({
|
|
328
|
+
output(itemOf({
|
|
301
329
|
metadata: metadataJson(snapshot.metadata),
|
|
302
330
|
text: snapshot.text,
|
|
303
331
|
tabs: snapshot.tabs,
|
|
304
332
|
...(snapshot.notRead ? { not_read: snapshot.notRead } : {}),
|
|
305
|
-
});
|
|
333
|
+
}));
|
|
306
334
|
});
|
|
307
335
|
examples(documents
|
|
308
336
|
.command("export")
|
|
309
337
|
.argument("<document>", documentArgument)
|
|
310
|
-
.description("write an imported document to a new Markdown file"), ["drive personal documents export DOC_ID --
|
|
311
|
-
.requiredOption("--
|
|
338
|
+
.description("write an imported document to a new Markdown file"), ["drive personal documents export DOC_ID --output notes.md"])
|
|
339
|
+
.requiredOption("--output <file>", "path of the Markdown file to write; an existing file is refused")
|
|
312
340
|
.action((input, args) => {
|
|
313
341
|
const { id, snapshot } = imported(input);
|
|
314
342
|
try {
|
|
315
|
-
writeFileSync(args.
|
|
343
|
+
writeFileSync(args.output, snapshot.markdown, { flag: "wx", mode: 0o600 });
|
|
316
344
|
}
|
|
317
345
|
catch (error) {
|
|
318
346
|
if (error.code === "EEXIST")
|
|
319
|
-
throw new CliError("validation_error", "the output file already exists; choose another --
|
|
347
|
+
throw new CliError("validation_error", "the output file already exists; choose another --output", {
|
|
320
348
|
reason: "export.exists",
|
|
321
|
-
param: "--
|
|
349
|
+
param: "--output",
|
|
322
350
|
});
|
|
323
351
|
throw error;
|
|
324
352
|
}
|
|
325
|
-
output({ id, path: args.
|
|
353
|
+
output(itemOf({ id, path: args.output, format: "markdown" }));
|
|
326
354
|
});
|
|
327
355
|
examples(program
|
|
328
356
|
.command("search")
|
|
@@ -331,12 +359,12 @@ export const createProgram = (options = {}) => {
|
|
|
331
359
|
.option("--limit <n>", "how many results to return", positive, 20)
|
|
332
360
|
.option("--page <n>", "which page to return", positive, 1)
|
|
333
361
|
.option("--exact", "match the words exactly: no word forms, no meaning")
|
|
334
|
-
.action(async (query, { page, ...args }) => output(await withIndex((index) => index.search(activeProfile(env, selected()).principal, query, {
|
|
362
|
+
.action(async (query, { page, ...args }) => output(itemOf(await withIndex((index) => index.search(activeProfile(env, selected()).principal, query, {
|
|
335
363
|
...args,
|
|
336
364
|
offset: (page - 1) * args.limit,
|
|
337
365
|
exact: args.exact ?? false,
|
|
338
366
|
...(pictureSearch(env, selected()) ? { pictures: true } : {}),
|
|
339
|
-
}))));
|
|
367
|
+
})))));
|
|
340
368
|
installCatalogCommands(program, { env, selected, output, positive, offset, withIndex });
|
|
341
369
|
installKnowledgeCommands(program, {
|
|
342
370
|
document: imported,
|
|
@@ -388,14 +416,16 @@ export const createProgram = (options = {}) => {
|
|
|
388
416
|
throw new CliError("permission_error", "this operation needs Google; --offline was requested", {
|
|
389
417
|
reason: "offline.refused",
|
|
390
418
|
});
|
|
391
|
-
if (flags.dryRun)
|
|
392
|
-
|
|
419
|
+
if (flags.dryRun) {
|
|
420
|
+
output(itemOf({
|
|
393
421
|
dry_run: true,
|
|
394
422
|
method,
|
|
395
423
|
mutates: descriptor.mutates,
|
|
396
424
|
parameters: params,
|
|
397
425
|
body_provided: body !== undefined,
|
|
398
|
-
};
|
|
426
|
+
}));
|
|
427
|
+
throw new Preview();
|
|
428
|
+
}
|
|
399
429
|
const act = async () => {
|
|
400
430
|
try {
|
|
401
431
|
if (options.api)
|
|
@@ -414,7 +444,7 @@ export const createProgram = (options = {}) => {
|
|
|
414
444
|
const config = program.command("config").description("read and change settings; credentials are kept apart");
|
|
415
445
|
examples(config.command("show").description("show the defaults and every profile's settings"), [
|
|
416
446
|
"drive personal config show",
|
|
417
|
-
]).action(() => output(readConfig(env)));
|
|
447
|
+
]).action(() => output(itemOf(readConfig(env))));
|
|
418
448
|
examples(config.command("set").description("set one setting of this profile, or of the defaults"), [
|
|
419
449
|
"drive personal config set read_only true",
|
|
420
450
|
`drive personal config set permissions.files '"readonly"' --defaults`,
|
|
@@ -464,7 +494,7 @@ export const createProgram = (options = {}) => {
|
|
|
464
494
|
else
|
|
465
495
|
throw new CliError("validation_error", "unknown setting path");
|
|
466
496
|
writeConfig(env, value);
|
|
467
|
-
output({ key, updated: true, scope: args.defaults ? "defaults" : selected() });
|
|
497
|
+
output(itemOf({ key, updated: true, scope: args.defaults ? "defaults" : selected() }));
|
|
468
498
|
});
|
|
469
499
|
examples(program.command("complete").description("print a shell completion script, or complete words"), [
|
|
470
500
|
"drive complete zsh",
|
|
@@ -503,7 +533,7 @@ export const createProgram = (options = {}) => {
|
|
|
503
533
|
...(args.baseUrl ? { base_url: args.baseUrl } : {}),
|
|
504
534
|
};
|
|
505
535
|
writeConfig(env, config);
|
|
506
|
-
output({ purpose: args.purpose, configured: true });
|
|
536
|
+
output(itemOf({ purpose: args.purpose, configured: true }));
|
|
507
537
|
});
|
|
508
538
|
const mcp = examples(program.command("mcp").description("serve drive's commands to an agent over MCP on stdio"), [
|
|
509
539
|
"drive personal mcp",
|
|
@@ -514,22 +544,16 @@ export const createProgram = (options = {}) => {
|
|
|
514
544
|
.action(async (args) => {
|
|
515
545
|
const { mcpTools, serveMcp } = await import("./mcp.js");
|
|
516
546
|
if (args.tools)
|
|
517
|
-
output({
|
|
518
|
-
items: mcpTools({ ...options, env }, selected(), policyFlags()).map(({ name, schema, command }) => ({
|
|
519
|
-
name,
|
|
520
|
-
input_schema: schema,
|
|
521
|
-
effects: command.effects,
|
|
522
|
-
})),
|
|
523
|
-
});
|
|
547
|
+
output(allOf(mcpTools(createProgram, { ...options, env }, selected(), policyFlags()).map(({ name, schema, command }) => ({ name, input_schema: schema, effects: command.effects }))));
|
|
524
548
|
else
|
|
525
|
-
await serveMcp({ ...options, env, ...(activeSignal ? { signal: activeSignal } : {}) }, selected(), policyFlags());
|
|
549
|
+
await serveMcp(createProgram, { ...options, env, ...(activeSignal ? { signal: activeSignal } : {}) }, selected(), policyFlags());
|
|
526
550
|
});
|
|
527
551
|
examples(program.command("commands").description("print the command tree and its options as data"), [
|
|
528
552
|
"drive commands --json",
|
|
529
553
|
"drive commands files copy --json",
|
|
530
554
|
])
|
|
531
555
|
.argument("[path...]", "only this command or group, as words")
|
|
532
|
-
.action((path) =>
|
|
556
|
+
.action((path) => print((renderer) => renderer.result(commandsDocument(program, path))));
|
|
533
557
|
for (const info of flatten(describeDriveProgram(program))) {
|
|
534
558
|
let command = program;
|
|
535
559
|
for (const part of info.path)
|
|
@@ -579,13 +603,15 @@ export const createProgram = (options = {}) => {
|
|
|
579
603
|
origin: metaOf(command).origin ?? "handwritten",
|
|
580
604
|
effects: metaOf(command).effects ?? {
|
|
581
605
|
remote,
|
|
582
|
-
local: localWrites.includes(name)
|
|
606
|
+
local: localWrites.includes(name)
|
|
607
|
+
? "write"
|
|
608
|
+
: remote !== "none" || ACCOUNT_FREE_COMMANDS.has(name)
|
|
609
|
+
? "none"
|
|
610
|
+
: "read",
|
|
583
611
|
},
|
|
584
612
|
state: "beta",
|
|
585
613
|
});
|
|
586
614
|
}
|
|
587
|
-
class Preview extends Error {
|
|
588
|
-
}
|
|
589
615
|
const pathOf = (command) => {
|
|
590
616
|
const path = [];
|
|
591
617
|
for (let at = command; at?.parent; at = at.parent)
|
|
@@ -594,6 +620,7 @@ export const createProgram = (options = {}) => {
|
|
|
594
620
|
};
|
|
595
621
|
program.hook("preAction", async (_root, action) => {
|
|
596
622
|
currentAction = action;
|
|
623
|
+
checkProviderJson(action, { json: program.opts().json === true, ...(fields ? { fields } : {}) }, process.stdout.isTTY);
|
|
597
624
|
if (program.opts().timeout !== undefined && !deadline) {
|
|
598
625
|
deadline = createDeadline({
|
|
599
626
|
timeoutMs: program.opts().timeout,
|
|
@@ -615,8 +642,8 @@ export const createProgram = (options = {}) => {
|
|
|
615
642
|
const method = metadata.api_operation ?? rawMethod;
|
|
616
643
|
if (rawMethod) {
|
|
617
644
|
const descriptor = apiMethod(rawMethod);
|
|
618
|
-
if (descriptor.mutates && !action.opts().
|
|
619
|
-
throw new CliError("permission_error", "this method changes Google data; pass --allow-
|
|
645
|
+
if (descriptor.mutates && !action.opts().allowWrites)
|
|
646
|
+
throw new CliError("permission_error", "this method changes Google data; pass --allow-writes", {
|
|
620
647
|
reason: "write.not-allowed",
|
|
621
648
|
});
|
|
622
649
|
if (descriptor.destructive && !action.opts().allowDelete && !flags.allowDangerous)
|
|
@@ -636,7 +663,7 @@ export const createProgram = (options = {}) => {
|
|
|
636
663
|
path[0] !== "api" &&
|
|
637
664
|
!NETWORK_GROUPS.includes(path[0] ?? "") &&
|
|
638
665
|
!["documents get", "documents create", "documents update", "documents history"].includes(words)) {
|
|
639
|
-
output({ dry_run: true, command: words, effects: metadata.effects });
|
|
666
|
+
output(itemOf({ dry_run: true, command: words, effects: metadata.effects }));
|
|
640
667
|
throw new Preview();
|
|
641
668
|
}
|
|
642
669
|
if (words === "session start")
|
|
@@ -646,7 +673,10 @@ export const createProgram = (options = {}) => {
|
|
|
646
673
|
program.parseAsync = async (argv = process.argv, settings) => {
|
|
647
674
|
const prefix = settings?.from === "user" ? [] : argv.slice(0, 2);
|
|
648
675
|
const args = settings?.from === "user" ? argv : argv.slice(2);
|
|
649
|
-
const
|
|
676
|
+
const profiled = liftProfile([...args], commandWords(program));
|
|
677
|
+
const requested = liftJson(profiled.rest, (words) => commandIn(program, words), providerJsonFields);
|
|
678
|
+
fields = requested.fields;
|
|
679
|
+
const lifted = { ...profiled, rest: requested.argv };
|
|
650
680
|
// Refuse conflicting/repeated selectors rather than letting Commander pick the last one.
|
|
651
681
|
const flags = lifted.rest.slice(0, lifted.rest.indexOf("--") < 0 ? lifted.rest.length : lifted.rest.indexOf("--"));
|
|
652
682
|
const selectors = flags.filter((arg) => arg === "--profile" || arg.startsWith("--profile="));
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,EACL,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,QAAQ,EAER,cAAc,EACd,aAAa,GAId,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACvF,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AACpD,OAAO,EAEL,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,GACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACd,SAAS,EACT,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,GACZ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAiB,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,SAAS,EAAkB,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAsB,MAAM,EAAqB,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAA;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC7F,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACvG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAetC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAA;AACzF,MAAM,gBAAgB,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAA;AACtF,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE;IACjC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,wBAAwB,CAAC,CAAA;IAC/F,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AACD,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;IAC/B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,2BAA2B,CAAC,CAAA;IAClG,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AACD,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAE,MAAkC,EAAQ,EAAE,CACxE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;AACrG,MAAM,SAAS,GAAG,CAAC,IAAa,EAAE,KAAwB,EAAE,EAAE;IAC5D,IAAI,EAAE,GAAwB,IAAI,CAAA;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAQ;QAClC,MAAM,KAAK,GAAwB,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAA;QAC1F,IAAI,KAAK;YAAE,EAAE,GAAG,KAAK,CAAA;IACvB,CAAC;IACD,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;AACrC,CAAC,CAAA;AACD,MAAM,OAAQ,SAAQ,KAAK;CAAG;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAO,GAAmB,EAAE,EAAW,EAAE;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IACtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,CAAA;IACjD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;SACjC,WAAW,CAAC,2EAA2E,CAAC;SACxF,OAAO,CAAC,OAAO,CAAC;SAChB,KAAK,CAAC,+BAA+B,CAAC;SACtC,MAAM,CAAC,kBAAkB,EAAE,iEAAiE,CAAC;SAC7F,MAAM,CAAC,QAAQ,EAAE,sEAAsE,CAAC;SACxF,MAAM,CAAC,SAAS,EAAE,mCAAmC,CAAC;SACtD,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;SAClD,MAAM,CAAC,SAAS,EAAE,yDAAyD,CAAC;SAC5E,MAAM,CAAC,sBAAsB,EAAE,kCAAkC,EAAE,CAAC,GAAW,EAAE,EAAE,CAClF,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAChC;SACA,MAAM,CAAC,4BAA4B,EAAE,mDAAmD,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;SAClH,MAAM,CAAC,aAAa,EAAE,mCAAmC,CAAC;SAC1D,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;SACxE,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;SACzE,MAAM,CAAC,OAAO,EAAE,gEAAgE,CAAC;SACjF,MAAM,CAAC,mBAAmB,EAAE,0CAA0C,CAAC;SACvE,MAAM,CACL,0BAA0B,EAC1B,+CAA+C,EAC/C,CAAC,KAAa,EAAE,QAAQ,GAAa,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CACjE,CAAA;IACH,OAAO;SACJ,eAAe,CAAC;QACf,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAC5C,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;KAC7B,CAAC;SACD,YAAY,EAAE,CAAA;IACjB,MAAM,QAAQ,GAAG,GAAW,EAAE;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAwB,CAAC,OAAO,CAAA;QACzD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;YAC5D,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,8FAA8F;gBAC5F,CAAC,OAAO,CAAC,MAAM;oBACb,CAAC,CAAC,wBAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC9C,CAAC,CAAC,mEAAmE,CAAC,EAC1E,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAClD,CAAA;QACH,CAAC;QACD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC,CAAA;IACD,IAAI,aAAkC,CAAA;IACtC,IAAI,MAA0B,CAAA;IAC9B,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;IACjC,IAAI,QAAuD,CAAA;IAC3D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;IACvC,MAAM,OAAO,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;QACpC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QACvC,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAA;QACpD,IAAI,QAAQ;YAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACpC,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,GAAwC,EAAE,CAAC,CAAC;QAC9D,GAAG,OAAO,CAAC,IAAI,EAAE;QACjB,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,cAAc,IAAI,aAAa,EAAE,IAAI,EAAE,CAAC,WAAW;KACnF,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,UAAU,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,CAAC,MAA4E,EAAE,EAAE;QAC7F,MAAM,MAAM,GAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK;YAC/C,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;gBAC5C,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,QAAQ,CAAA;QACd,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAA;QACpF,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;QAC1E,MAAM,CACJ,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,EACjG,MAAM,EACN,QAAQ,CACT,CAAA;QACD,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,CAAC,IAAU,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QACxD,MAAM,KAAK,GAAG;YACZ,GAAG,MAAM;YACT,IAAI,EAAE;gBACJ,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;gBAC5D,QAAQ,EAAE,IAAI;gBACd,GAAG,IAAI,CAAC,IAAI;aACb;SACF,CAAA;QACD,IAAI,MAAM,IAAI,aAAa;YAAE,iBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACpF,KAAK,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CACnC,YAAY,CAAC,aAAa,IAAI,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CACxF,CAAA;IACH,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAA;QACvB,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QACzE,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAChC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,KAAK,EAAK,EAAwC,EAAc,EAAE;QAClF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;QACzD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;gBAAS,CAAC;YACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;IACH,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,6CAA6C,CAAC,CAAA;IACrG,QAAQ,CACN,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,qEAAqE,CAAC,EAC3G,CAAC,8BAA8B,EAAE,6CAA6C,CAAC,CAChF;SACE,MAAM,CAAC,sBAAsB,EAAE,uEAAuE,CAAC;SACvG,MAAM,CACL,gCAAgC,EAChC,gEAAgE,EAChE,SAAS,CACV;SACA,MAAM,CAAC,cAAc,EAAE,oDAAoD,CAAC;SAC5E,MAAM,CAAC,SAAS,EAAE,wDAAwD,CAAC;SAC3E,MAAM,CAAC,YAAY,EAAE,wDAAwD,CAAC;SAC9E,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC;SACvE,MAAM,CACL,KAAK,EAAE,IAON,EAAE,EAAE;QACH,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,MAAM;YAC3E,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,uCAAuC,CAAC,CAAA;QACjF,MAAM,CACJ,MAAM,CACJ,MAAM,KAAK,CAAC;YACV,GAAG;YACH,OAAO,EAAE,QAAQ,EAAE;YACnB,WAAW,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;YAC9C,OAAO,EAAE,IAAI,CAAC,iBAAiB;YAC/B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC;YACtF,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,wBAAwB,GAAG,IAAI,CAAC;SACtE,CAAC,CACH,CACF,CAAA;IACH,CAAC,CACF,CAAA;IACH,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,6DAA6D,CAAC,EAAE;QAC3G,6BAA6B;KAC9B,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CACb,MAAM,CACJ,MAAM,CAAC;QACL,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;YAChC,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC,CAAC;KACJ,CAAC,CACH,CACF,CAAA;IACD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,EAAE;QAC7F,4BAA4B;KAC7B,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAA;QACvB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACxC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC/D,0FAA0F;QAC1F,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACxB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;IAC9E,CAAC,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,mDAAmD,CAAC,CAAA;IAC3G,MAAM,cAAc,GAAG,+BAA+B,CAAA;IACtD,QAAQ,CACN,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;SACpC,WAAW,CAAC,0DAA0D,CAAC,EAC1E,CAAC,sCAAsC,CAAC,CACzC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;QAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACxB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACpD,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,OAAO;YAC9C,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,2CAA2C,CAAC,CAAA;QACrF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACzE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAA;QAC/B,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACxB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,kCAAkC,CAAC,EAAE;QAChF,6BAA6B;KAC9B,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1F,QAAQ,CACN,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;SACpC,WAAW,CAAC,4DAA4D,CAAC,EAC5E,CAAC,yCAAyC,CAAC,CAC5C,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACxB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACxC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;QAC3D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAA;QAC/B,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACxB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IACF,QAAQ,CACN,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,OAAO,CAAC,0EAA0E,CAAC;SACnF,WAAW,CACV,4EAA4E;QAC1E,0BAA0B,WAAW,wDAAwD,CAChG,EACH,CAAC,qBAAqB,EAAE,0CAA0C,CAAC,CACpE;SACE,MAAM,CAAC,aAAa,EAAE,oDAAoD,EAAE,QAAQ,EAAE,GAAG,CAAC;SAC1F,MAAM,CAAC,UAAU,EAAE,6DAA6D,CAAC;SACjF,MAAM,CAAC,SAAS,EAAE,6EAA6E,CAAC;SAChG,MAAM,CAAC,KAAK,EAAE,IAA0D,EAAE,EAAE;QAC3E,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACvF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/C,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC,CAAC,CAAA;QACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QACtB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO;YACxC,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,OAAO,wCAAwC,QAAQ,EAAE,eAAe,CAAC,CAAA;QACxG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM;YACtB,MAAM,IAAI,QAAQ,CAAC,gBAAgB,EAAE,4DAA4D,EAAE;gBACjG,MAAM,EAAE,cAAc;aACvB,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IACJ,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,yDAAyD,CAAC,EAAE;QACzG,uBAAuB;KACxB,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QACrD,MAAM,CACJ,MAAM,CAAC;YACL,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,OAAO,CAAC,KAAK;YAC/B,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM;YAC9C,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;YACxC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YACpC,SAAS,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;YACjC,QAAQ,EACN,4HAA4H;YAC9H,cAAc,EAAE,KAAK;SACtB,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAA;IACrG,MAAM,gBAAgB,GAAG,gCAAgC,CAAA;IACzD,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,EAAE;QAChG,+BAA+B;QAC/B,4CAA4C;KAC7C,CAAC;SACC,MAAM,CAAC,aAAa,EAAE,8BAA8B,CAAC;SACrD,MAAM,CAAC,gBAAgB,EAAE,8DAA8D,CAAC;SACxF,MAAM,CAAC,KAAK,EAAE,IAAuC,EAAE,EAAE;QACxD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAC3D,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACzC,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9G,CAAA;QACD,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM;YACzB,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrC,IAAI,CAAC,KAAK,CAAC,SAAS;oBAAE,MAAM,IAAI,QAAQ,CAAC,qBAAqB,EAAE,uCAAuC,CAAC,CAAA;gBACxG,MAAM,QAAQ,GAAG,EAAE,CAAA;gBACnB,KAAK,MAAM,GAAG,IAAI,IAAI;oBACpB,IAAI,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC;wBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAClG,OAAO,QAAQ,CAAA;YACjB,CAAC,CAAC,CAAA;QACJ,MAAM,CACJ,KAAK,CACH,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjB,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC,CACJ,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IACJ,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE;QACjC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACxB,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAC3D,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,qDAAqD,EAAE;gBACrF,MAAM,EAAE,uBAAuB;aAChC,CAAC,CAAA;QACJ,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC/B,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,CAAA;IAChG,CAAC,CAAA;IACD,QAAQ,CACN,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACxC,WAAW,CAAC,qDAAqD,CAAC,EACrE,CAAC,sCAAsC,CAAC,CACzC,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QACpC,MAAM,CACJ,MAAM,CAAC;YACL,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACzC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IACF,QAAQ,CACN,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACxC,WAAW,CAAC,mDAAmD,CAAC,EACnE,CAAC,0DAA0D,CAAC,CAC7D;SACE,cAAc,CAAC,iBAAiB,EAAE,iEAAiE,CAAC;SACpG,MAAM,CAAC,CAAC,KAAa,EAAE,IAAwB,EAAE,EAAE;QAClD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,CAAC;YACH,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBACpD,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yDAAyD,EAAE;oBAChG,MAAM,EAAE,eAAe;oBACvB,KAAK,EAAE,UAAU;iBAClB,CAAC,CAAA;YACJ,MAAM,KAAK,CAAA;QACb,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IACJ,QAAQ,CACN,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;SACxC,WAAW,CAAC,iEAAiE,CAAC,EACjF,CAAC,8BAA8B,EAAE,0DAA0D,CAAC,CAC7F;SACE,MAAM,CAAC,aAAa,EAAE,4BAA4B,EAAE,QAAQ,EAAE,EAAE,CAAC;SACjE,MAAM,CAAC,YAAY,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,CAAC;SACzD,MAAM,CAAC,SAAS,EAAE,oDAAoD,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAoD,EAAE,EAAE,CACnG,MAAM,CACJ,MAAM,CACJ,MAAM,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE;QAC5D,GAAG,IAAI;QACP,MAAM,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;QAC1B,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC,CACH,CACF,CACF,CACF,CAAA;IACH,sBAAsB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IACvF,wBAAwB,CAAC,OAAO,EAAE;QAChC,QAAQ,EAAE,QAAQ;QAClB,MAAM;QACN,QAAQ;QACR,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,YAAY,CAAC;QAC9E,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC/C,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBACrC,IAAI,CAAC,UAAU,EAAE,CAAA;oBACjB,IAAI,CAAC,KAAK,CAAC,SAAS;wBAAE,MAAM,IAAI,QAAQ,CAAC,qBAAqB,EAAE,uCAAuC,CAAC,CAAA;oBACxG,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAA;oBAC1D,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;oBAChE,MAAM,GAAG,GAAG,KAAK,EAAE,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAA;oBAC7C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;oBACxD,IAAI,CAAC,UAAU,EAAE,CAAA;oBACjB,OAAO,MAAM,CAAA;gBACf,CAAC,CAAC,CAAA;YACJ,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YACtB,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IACF,qBAAqB,CAAC,OAAO,EAAE;QAC7B,MAAM;QACN,QAAQ;QACR,QAAQ,EACN,OAAO,CAAC,QAAQ;YAChB,CAAC,CAAC,IAAI,EAAE,EAAE;gBACR,IAAI,CAAC;oBACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBACnC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yCAAyC,EAAE;wBAChF,MAAM,EAAE,iBAAiB;wBACzB,KAAK,EAAE,aAAa;qBACrB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC,CAAC;QACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YACnC,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;YACpC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YACrC,MAAM,KAAK,GAAG,WAAW,EAAE,CAAA;YAC3B,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC;gBACxC,MAAM,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YAC7E,IAAI,KAAK,CAAC,OAAO;gBACf,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,sDAAsD,EAAE;oBAC7F,MAAM,EAAE,iBAAiB;iBAC1B,CAAC,CAAA;YACJ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,CACJ,MAAM,CAAC;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM;oBACN,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,UAAU,EAAE,MAAM;oBAClB,aAAa,EAAE,IAAI,KAAK,SAAS;iBAClC,CAAC,CACH,CAAA;gBACD,MAAM,IAAI,OAAO,EAAE,CAAA;YACrB,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;gBACrB,IAAI,CAAC;oBACH,IAAI,OAAO,CAAC,GAAG;wBAAE,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;oBACpE,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;oBAC/E,MAAM,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;oBAClD,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;gBAC3D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,WAAW,CAAC,KAAK,CAAC,CAAA;gBAC1B,CAAC;YACH,CAAC,CAAA;YACD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QAC/G,CAAC;KACF,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,sDAAsD,CAAC,CAAA;IAC5G,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,EAAE;QAC7F,4BAA4B;KAC7B,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAChD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,qDAAqD,CAAC,EAAE;QACjG,0CAA0C;QAC1C,qEAAqE;KACtE,CAAC;SACC,QAAQ,CACP,OAAO,EACP,8GAA8G,CAC/G;SACA,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;SAClD,MAAM,CAAC,YAAY,EAAE,6CAA6C,CAAC;SACnE,MAAM,CAAC,CAAC,MAAc,EAAE,GAAW,EAAE,IAA4B,EAAE,EAAE;QACpE,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,KAAK,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ;YAC1B,CAAC,CAAE,KAAK,CAAC,QAA+C;YACxD,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAA;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAyC,CAAA;QAC1F,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACvC,IACE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9E,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,4DAA4D,CAAC,CAAA;QACtG,IAAI,MAAe,CAAA;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,SAAS;gBAC9D,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,kDAAkD,CAAC,CAC3F;YAAC,MAAuC,CAAC,cAAc,GAAG,MAAM,CAAA;QACnE,CAAC;aAAM,IAAI,IAAI,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;aAChG,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;aAC3D,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAChC,MAAM,CAAC,WAAW,KAAK,EAAE,CAAA;YACzB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QAClE,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,MAAM,CAAC,MAAM,KAAK,EAAE,CAAA;YACpB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;YAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QAC1E,CAAC;;YAAM,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAA;QACrE,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACvB,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;IACxF,CAAC,CAAC,CAAA;IACJ,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC,EAAE;QACtG,oBAAoB;KACrB,CAAC;SACC,QAAQ,CAAC,YAAY,EAAE,kDAAkD,CAAC;SAC1E,kBAAkB,EAAE;SACpB,UAAU,CAAC,KAAK,CAAC;SACjB,MAAM,CAAC,KAAK,EAAE,KAAe,EAAE,EAAE;QAChC,IAAI,CAAE,OAA2C,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAA;YACpE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;YAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;;YACC,OAAO,CAAC,IAAI,CACV,iBAAiB,CACf,OAAO,CAAC,EAAE,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CACrG,CACF,CAAA;IACL,CAAC,CAAC,CAAA;IACJ,QAAQ,CACN,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kEAAkE,CAAC;SAC/E,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,wCAAwC,CAAC,EACxD,CAAC,8DAA8D,EAAE,0CAA0C,CAAC,CAC7G;SACE,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,UAAU,CAAC;SACvE,SAAS,CACR,IAAI,MAAM,CAAC,uBAAuB,EAAE,wCAAwC,CAAC;SAC1E,OAAO,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;SACvC,mBAAmB,EAAE,CACzB;SACA,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,kBAAkB,EAAE,mEAAmE,CAAC;SAC/F,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAA;QACtB,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,EAAE,CAAA;QAC7B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAA;QACD,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACxB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IACJ,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,sDAAsD,CAAC,EAAE;QAC/G,oBAAoB;QACpB,4BAA4B;KAC7B,CAAC,CAAA;IACF,GAAG;SACA,MAAM,CAAC,SAAS,EAAE,uDAAuD,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,IAAyB,EAAE,EAAE;QAC1C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;QACvD,IAAI,IAAI,CAAC,KAAK;YACZ,MAAM,CACJ,KAAK,CACH,QAAQ,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,GAAG,CACzE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC1F,CACF,CACF,CAAA;;YAED,MAAM,QAAQ,CACZ,aAAa,EACb,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACtE,QAAQ,EAAE,EACV,WAAW,EAAE,CACd,CAAA;IACL,CAAC,CAAC,CAAA;IACJ,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,EAAE;QAClG,uBAAuB;QACvB,kCAAkC;KACnC,CAAC;SACC,QAAQ,CAAC,WAAW,EAAE,sCAAsC,CAAC;SAC7D,MAAM,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACpG,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,OAAO,GAAG,OAAO,CAAA;QACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,OAAO,CAAA;QAC1G,MAAM,WAAW,GAAG;YAClB,eAAe;YACf,aAAa;YACb,aAAa;YACb,gBAAgB;YAChB,MAAM;YACN,kBAAkB;YAClB,UAAU;YACV,aAAa;YACb,mBAAmB;YACnB,sBAAsB;YACtB,WAAW;YACX,YAAY;YACZ,cAAc;YACd,cAAc;YACd,kBAAkB;YAClB,gBAAgB;YAChB,kBAAkB;YAClB,WAAW;YACX,eAAe;YACf,iBAAiB;YACjB,YAAY;YACZ,YAAY;SACb,CAAA;QACD,MAAM,YAAY,GAAG;YACnB,UAAU;YACV,YAAY;YACZ,YAAY;YACZ,cAAc;YACd,aAAa;YACb,eAAe;YACf,aAAa;YACb,kBAAkB;YAClB,kBAAkB;SACnB,CAAA;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChC,MAAM,MAAM,GACV,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,kBAAkB;YACpF,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC9E,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAA;QACd,QAAQ,CAAC,OAAO,EAAE;YAChB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,aAAa;YAC/C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI;gBAClC,MAAM;gBACN,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC/B,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC;wBACpD,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,MAAM;aACb;YACD,KAAK,EAAE,MAAM;SACd,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,EAAE;QAClC,MAAM,IAAI,GAAa,EAAE,CAAA;QACzB,KAAK,IAAI,EAAE,GAAmB,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1F,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAChD,aAAa,GAAG,MAAM,CAAA;QACtB,iBAAiB,CACf,MAAM,EACN,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CACrB,CAAA;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtD,QAAQ,GAAG,cAAc,CAAC;gBACxB,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO;gBACjC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,CAAC,CAAA;YACF,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAA;QAChC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5B,uFAAuF;QACvF,IAAI,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAC5C,QAAQ,EAAE,CAAA;QACV,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAM;QACjG,MAAM,KAAK,GAAG,WAAW,EAAE,CAAA;QAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QAC/B,MAAM,SAAS,GAAG,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,IAAI,SAAS,CAAA;QAClD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW;gBAClD,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,sDAAsD,EAAE;oBAC7F,MAAM,EAAE,mBAAmB;iBAC5B,CAAC,CAAA;YACJ,IAAI,UAAU,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,cAAc;gBAC/E,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,2EAA2E,EAC3E,EAAE,MAAM,EAAE,oBAAoB,EAAE,CACjC,CAAA;YACH,IAAI,KAAK,CAAC,cAAc;gBAAE,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QACtE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC7E,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAChE,MAAM,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QACzE,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;YAClE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,kEAAkE,EAAE;gBACzG,MAAM,EAAE,iBAAiB;aAC1B,CAAC,CAAA;QACJ,IACE,KAAK,CAAC,MAAM;YACZ,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK;YACjB,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvC,CAAC,CAAC,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC/F,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAC5E,MAAM,IAAI,OAAO,EAAE,CAAA;QACrB,CAAC;QACD,IAAI,KAAK,KAAK,eAAe;YAAE,iBAAiB,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;IAC9F,CAAC,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,OAAO,CAAC,UAAU,GAAG,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChE,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC7D,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAA;QACnG,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;QACzB,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAA;QACpD,yFAAyF;QACzF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QAClH,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;QAC5F,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC;YAC9D,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,wDAAwD,CAAC,CAAA;QAClG,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;QACtG,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAA;YACrD,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAA;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,OAAO;gBAAE,OAAO,OAAO,CAAA;YAC5C,MAAM,KAAK,CAAA;QACb,CAAC;gBAAS,CAAC;YACT,QAAQ,EAAE,OAAO,EAAE,CAAA;QACrB,CAAC;IACH,CAAC,CAAA;IACD,kFAAkF;IAClF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,OAAO,GAAG,OAAO,CAAA;QACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,OAAO,CAAA;QAC1G,OAAO,CAAC,aAAa,CAAC;YACpB,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;gBACvB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBAC7C,OAAO,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACxD,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;YAClD,CAAC;SACF,CAAC,CAAA;QACF,OAAO,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC;YACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAC5C,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;SACtB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ItemEnvelope, ListEnvelope } from "@wirecat/cli-base/standards";
|
|
2
|
+
import type { Command } from "commander";
|
|
3
|
+
export declare const providerJsonFields: (command: Command | undefined) => string[] | undefined;
|
|
4
|
+
export declare const checkProviderJson: (command: Command, request: {
|
|
5
|
+
json: boolean;
|
|
6
|
+
fields?: string;
|
|
7
|
+
}, terminal: boolean) => void;
|
|
8
|
+
/** Unregistered provider answers still reject an unknown top-level field before projection. */
|
|
9
|
+
export declare const checkResultFields: (command: Command, answer: ItemEnvelope<unknown> | ListEnvelope<unknown>, fields: string) => void;
|
|
10
|
+
//# sourceMappingURL=provider-json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-json.d.ts","sourceRoot":"","sources":["../src/provider-json.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAG7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,eAAO,MAAM,kBAAkB,YAAa,OAAO,GAAG,SAAS,KAAG,MAAM,EAAE,GAAG,SAG9D,CAAA;AAEf,eAAO,MAAM,iBAAiB,YAAa,OAAO,WAAW;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,YAAY,OAAO,SAMjH,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB,YACnB,OAAO,UACR,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,UAC7C,MAAM,SAMf,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
import { metaOf } from "@wirecat/cli-base/commands";
|
|
3
|
+
import { writes } from "@wirecat/cli-base/standards";
|
|
4
|
+
import { answerFields, checkJson } from "@wirecat/cli-core/cli";
|
|
5
|
+
import { CATALOG_FIELDS } from "./catalog.js";
|
|
6
|
+
export const providerJsonFields = (command) => command?.parent?.name() === "catalog" && ["list", "search", "show"].includes(command.name())
|
|
7
|
+
? CATALOG_FIELDS
|
|
8
|
+
: undefined;
|
|
9
|
+
export const checkProviderJson = (command, request, terminal) => {
|
|
10
|
+
checkJson(command, request, terminal, providerJsonFields);
|
|
11
|
+
if (request.fields && writes(metaOf(command).effects) && !answerFields(command, providerJsonFields))
|
|
12
|
+
throw new CliError("validation_error", "this write has no declared result fields; use --json without selection", {
|
|
13
|
+
param: "--json",
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
/** Unregistered provider answers still reject an unknown top-level field before projection. */
|
|
17
|
+
export const checkResultFields = (command, answer, fields) => {
|
|
18
|
+
const rows = "items" in answer ? answer.items : [answer.item];
|
|
19
|
+
if (!rows.length)
|
|
20
|
+
return;
|
|
21
|
+
const available = [...new Set(rows.flatMap((row) => (row && typeof row === "object" ? Object.keys(row) : [])))];
|
|
22
|
+
checkJson(command, { json: true, fields }, false, () => available);
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=provider-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-json.js","sourceRoot":"","sources":["../src/provider-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAA4B,EAAwB,EAAE,CACvF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1F,CAAC,CAAC,cAAc;IAChB,CAAC,CAAC,SAAS,CAAA;AAEf,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAE,OAA2C,EAAE,QAAiB,EAAE,EAAE;IACpH,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IACzD,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,kBAAkB,CAAC;QACjG,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,wEAAwE,EAAE;YAC/G,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAA;AACN,CAAC,CAAA;AAED,+FAA+F;AAC/F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,MAAqD,EACrD,MAAc,EACd,EAAE;IACF,MAAM,IAAI,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7D,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAM;IACxB,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/G,SAAS,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AACpE,CAAC,CAAA"}
|