@wirecat/drive-cli 0.17.3 → 0.18.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 +19 -8
- package/dist/commands/config.d.ts +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +37 -2
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/discovery.d.ts +1 -1
- package/dist/commands/discovery.d.ts.map +1 -1
- package/dist/commands/discovery.js +15 -5
- package/dist/commands/discovery.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +9 -3
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +22 -6
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/skill.d.ts +4 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +25 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/failure.d.ts +2 -0
- package/dist/failure.d.ts.map +1 -1
- package/dist/failure.js +6 -4
- package/dist/failure.js.map +1 -1
- package/dist/first-screen.d.ts +5 -0
- package/dist/first-screen.d.ts.map +1 -0
- package/dist/first-screen.js +62 -0
- package/dist/first-screen.js.map +1 -0
- package/dist/login.d.ts.map +1 -1
- package/dist/login.js +2 -1
- package/dist/login.js.map +1 -1
- package/dist/mcp.d.ts +3 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +56 -17
- package/dist/mcp.js.map +1 -1
- package/dist/policy.d.ts +1 -0
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +12 -3
- package/dist/policy.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +9 -1
- package/dist/program.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +13 -2
- package/dist/registry.js.map +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +7 -21
- package/dist/store.js.map +1 -1
- package/dist/tokens.d.ts +8 -0
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +31 -2
- package/dist/tokens.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -3
- package/scenarios/agent-access.md +16 -0
- package/scenarios/brief-document.md +20 -0
- package/scenarios/find-decision.md +19 -0
- package/scenarios/set-up.md +21 -0
- package/skills/drive-cli/SKILL.md +36 -0
package/README.md
CHANGED
|
@@ -8,8 +8,8 @@ and reuses WireCat's shared keyword search and optional local embeddings. Shared
|
|
|
8
8
|
editor identities and evidence-backed memories stay attached to the imported documents.
|
|
9
9
|
|
|
10
10
|
Drive uses Google's official Node clients.
|
|
11
|
-
Sources supported now: native Google Docs and uploaded Markdown/TXT.
|
|
12
|
-
are reported as skipped; shortcuts are not followed outside the selected scope.
|
|
11
|
+
Sources supported now: native Google Docs and Sheets, PDF, docx, xlsx, CSV, TSV, and uploaded Markdown/TXT.
|
|
12
|
+
Other types and shortcuts are reported as skipped; shortcuts are not followed outside the selected scope.
|
|
13
13
|
|
|
14
14
|
## Install
|
|
15
15
|
|
|
@@ -25,6 +25,11 @@ drive --help
|
|
|
25
25
|
See [installation and Google connection](docs/installation.md). Source builds are for
|
|
26
26
|
[contributors](docs/dev/DEVELOPMENT.md).
|
|
27
27
|
|
|
28
|
+
`drive guide` lists scenarios — the commands for a common task, in order — and `drive commands --json` is the full
|
|
29
|
+
command tree. For an agent, `drive skill install` puts drive's instructions where Claude Code, Codex and Gemini CLI
|
|
30
|
+
look, `drive personal mcp` serves three MCP tools (search, read, write), and `DRIVE_READ_ONLY=1` refuses every
|
|
31
|
+
change, as `--read-only` does.
|
|
32
|
+
|
|
28
33
|
## Sign in and choose folders
|
|
29
34
|
|
|
30
35
|
Sign in with WireCat's included Google application. Each user approves their own account in the
|
|
@@ -77,10 +82,16 @@ Search results include the original Google URL. `documents show` includes each t
|
|
|
77
82
|
and title. Native Markdown exports are saved separately from the all-tab text used for indexing.
|
|
78
83
|
Export refuses to overwrite an existing destination file.
|
|
79
84
|
|
|
80
|
-
Semantic search uses
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
85
|
+
Semantic search uses the shared local text model (about 135 MB). Download it once; it needs no profile or sign-in,
|
|
86
|
+
and every WireCat CLI shares it:
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
drive models text download e5-small
|
|
90
|
+
drive personal sync --embed
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Drive never downloads a model on its own; a missing one is reported. `--exact` searches words without semantic
|
|
94
|
+
retrieval.
|
|
84
95
|
|
|
85
96
|
## Keep it current
|
|
86
97
|
|
|
@@ -122,7 +133,7 @@ when layout or tab coverage matters.
|
|
|
122
133
|
|
|
123
134
|
One sync reads at most 10,000 entries under the chosen folders, and at most 10,000 changes from
|
|
124
135
|
Google's change feed; past either, it stops with nothing lost and says what to do. Text caps at
|
|
125
|
-
|
|
136
|
+
2,000,000 characters and snapshots at 50 MiB, with bounded pagination. Oversized input is refused rather than truncated. Google's native export
|
|
126
137
|
also has its own 10 MB limit. Documents changing during export remain pending for retry.
|
|
127
138
|
|
|
128
139
|
## Document knowledge and remote actions
|
|
@@ -146,7 +157,7 @@ Use the shared model setup with `models set --provider openai --model MODEL_ID`.
|
|
|
146
157
|
come from the corresponding API-key environment variable and never enter regular configuration.
|
|
147
158
|
Source content changes and scope removals mark source-backed memories stale. User notes stay local.
|
|
148
159
|
|
|
149
|
-
The generated API exposes
|
|
160
|
+
The generated API exposes 85 methods: 64 Drive, 17 Sheets, 3 Docs and 1 Activity. Convenient commands include
|
|
150
161
|
file listing/copying/moving, trash/restore, folder creation, Docs creation/batch updates, comments,
|
|
151
162
|
permissions, revisions and Shared Drives. Read grants remain the default. JSON API calls require
|
|
152
163
|
explicit flags for mutation and permanent deletion; Google still enforces file roles and API policy.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Command } from "commander";
|
|
2
2
|
import type { CommandContext } from "./context.js";
|
|
3
3
|
export declare const installConfigCommands: (program: Command, { env, selected, output }: CommandContext) => void;
|
|
4
|
-
export declare const installModelCommands: (program: Command, { env, output }: CommandContext) => void;
|
|
4
|
+
export declare const installModelCommands: (program: Command, { env, output, streams, policyFlags }: CommandContext) => void;
|
|
5
5
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAA;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,eAAO,MAAM,qBAAqB,YAAa,OAAO,6BAA6B,cAAc,SA2DhG,CAAA;AAED,eAAO,MAAM,oBAAoB,YAAa,OAAO,yCAAyC,cAAc,SAgF3G,CAAA"}
|
package/dist/commands/config.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
1
2
|
import { CliError } from "@wirecat/cli-base";
|
|
2
3
|
import { annotate } from "@wirecat/cli-base/commands";
|
|
3
|
-
import { itemOf, LOCAL_READ, LOCAL_WRITE } from "@wirecat/cli-core/cli";
|
|
4
|
+
import { FETCH, itemOf, LOCAL_READ, LOCAL_WRITE } from "@wirecat/cli-core/cli";
|
|
4
5
|
import { Option } from "commander";
|
|
5
6
|
import { activeProfile, checkTextLimit, configKey, readConfig, SETTING_NAMES, writeConfig } from "../config.js";
|
|
6
7
|
import { examples } from "../registry.js";
|
|
@@ -56,7 +57,7 @@ export const installConfigCommands = (program, { env, selected, output }) => {
|
|
|
56
57
|
output(itemOf({ key, updated: true, scope: args.defaults ? "defaults" : selected() }));
|
|
57
58
|
});
|
|
58
59
|
};
|
|
59
|
-
export const installModelCommands = (program, { env, output }) => {
|
|
60
|
+
export const installModelCommands = (program, { env, output, streams, policyFlags }) => {
|
|
60
61
|
const models = annotate(program.command("models"), { effects: LOCAL_READ }).description("choose the model that proposes memories; keys stay out of config");
|
|
61
62
|
examples(annotate(models.command("set"), { effects: LOCAL_WRITE }).description("set the provider and model for one use"), ["drive personal models set --provider openai --model MODEL_ID", "drive personal models set --provider off"])
|
|
62
63
|
.option("--purpose <purpose>", "what the model is used for", "memories")
|
|
@@ -77,5 +78,39 @@ export const installModelCommands = (program, { env, output }) => {
|
|
|
77
78
|
writeConfig(env, config);
|
|
78
79
|
output(itemOf({ purpose: args.purpose, configured: true }));
|
|
79
80
|
});
|
|
81
|
+
const download = async (kind, id, acceptTerms) => {
|
|
82
|
+
if (policyFlags().offline)
|
|
83
|
+
throw new CliError("permission_error", "downloading a model needs the network; --offline was requested", {
|
|
84
|
+
reason: "offline.refused",
|
|
85
|
+
});
|
|
86
|
+
const { downloadImageModel, downloadTextModel } = await import("@wirecat/cli-core/services");
|
|
87
|
+
const progress = (line) => {
|
|
88
|
+
if (!program.opts().quiet)
|
|
89
|
+
streams.diagnostic(line);
|
|
90
|
+
};
|
|
91
|
+
const { model, directory } = kind === "text"
|
|
92
|
+
? await downloadTextModel(id, { env, acceptTerms, progress })
|
|
93
|
+
: await downloadImageModel(id, { env, progress });
|
|
94
|
+
output(itemOf({
|
|
95
|
+
id: model.id,
|
|
96
|
+
kind,
|
|
97
|
+
title: model.title,
|
|
98
|
+
languages: model.languages,
|
|
99
|
+
licence: model.licence,
|
|
100
|
+
size_bytes: model.files.reduce((sum, file) => sum + file.bytes, 0),
|
|
101
|
+
downloaded: true,
|
|
102
|
+
path: join(directory, model.id),
|
|
103
|
+
}));
|
|
104
|
+
};
|
|
105
|
+
const text = annotate(models.command("text"), { effects: LOCAL_READ }).description("the local model that search by meaning uses");
|
|
106
|
+
examples(annotate(text.command("download"), { effects: FETCH, mcp: false, output: { entity: "model" } }).description("download a search model once into the folder every WireCat CLI shares"), ["drive models text download e5-small"])
|
|
107
|
+
.argument("<model>", "model id, such as e5-small")
|
|
108
|
+
.option("--accept-terms", "accept the model's licence terms, for a model that has its own")
|
|
109
|
+
.action((id, args) => download("text", id, args.acceptTerms === true));
|
|
110
|
+
const images = annotate(program.command("images"), { effects: LOCAL_READ, mcp: false }).description("the local model that picture search uses");
|
|
111
|
+
const imageModels = annotate(images.command("models"), { effects: LOCAL_READ }).description("models that read pictures, for picture search");
|
|
112
|
+
examples(annotate(imageModels.command("download"), { effects: FETCH, mcp: false, output: { entity: "model" } }).description("download a picture model once into the folder every WireCat CLI shares"), ["drive images models download clip-b32"])
|
|
113
|
+
.argument("<model>", "model id, such as clip-b32")
|
|
114
|
+
.action((id) => download("image", id, false));
|
|
80
115
|
};
|
|
81
116
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Command } from "commander";
|
|
2
2
|
import type { CommandContext } from "./context.js";
|
|
3
3
|
export declare const installCompleteCommand: (program: Command, { streams }: CommandContext) => void;
|
|
4
|
-
export declare const installCommandsCommand: (program: Command, { print }: CommandContext) => void;
|
|
4
|
+
export declare const installCommandsCommand: (program: Command, { print, streams }: CommandContext) => void;
|
|
5
5
|
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/commands/discovery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,eAAO,MAAM,sBAAsB,YAAa,OAAO,eAAe,cAAc,
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/commands/discovery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,eAAO,MAAM,sBAAsB,YAAa,OAAO,eAAe,cAAc,SAyBnF,CAAA;AAED,eAAO,MAAM,sBAAsB,YAAa,OAAO,sBAAsB,cAAc,SAgB1F,CAAA"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-base";
|
|
2
2
|
import { annotate, describeOptions } from "@wirecat/cli-base/commands";
|
|
3
3
|
import { formatSuggestions, suggest } from "@wirecat/cli-base/completion";
|
|
4
|
-
import { NO_EFFECTS } from "@wirecat/cli-core/cli";
|
|
4
|
+
import { commandsText, NO_EFFECTS } from "@wirecat/cli-core/cli";
|
|
5
5
|
import { commandsDocument, describeDriveProgram, examples } from "../registry.js";
|
|
6
6
|
export const installCompleteCommand = (program, { streams }) => {
|
|
7
7
|
examples(annotate(program.command("complete"), { effects: NO_EFFECTS }).description("print a shell completion script, or complete words"), ["drive complete zsh"])
|
|
8
8
|
.argument("[words...]", "a shell name, or after -- the words typed so far")
|
|
9
9
|
.allowUnknownOption()
|
|
10
10
|
.helpOption(false)
|
|
11
|
-
.action(async (words)
|
|
11
|
+
.action(async function (words) {
|
|
12
12
|
if (!program.rawArgs.includes("--")) {
|
|
13
|
+
// The help option stays off: during a Tab, `--help` is a word being completed, not a request.
|
|
14
|
+
if (words[0] === "--help" || words[0] === "-h")
|
|
15
|
+
return streams.data(this.helpInformation());
|
|
13
16
|
if (!["bash", "zsh", "fish", "powershell"].includes(words[0] ?? ""))
|
|
14
17
|
throw new CliError("validation_error", "choose a supported shell");
|
|
15
18
|
const { script } = await import("@bomb.sh/tab");
|
|
@@ -19,9 +22,16 @@ export const installCompleteCommand = (program, { streams }) => {
|
|
|
19
22
|
streams.data(formatSuggestions(suggest({ commands: describeDriveProgram(program), globalOptions: describeOptions(program), words })));
|
|
20
23
|
});
|
|
21
24
|
};
|
|
22
|
-
export const installCommandsCommand = (program, { print }) => {
|
|
23
|
-
examples(annotate(program.command("commands"), { effects: NO_EFFECTS }).description("
|
|
25
|
+
export const installCommandsCommand = (program, { print, streams }) => {
|
|
26
|
+
examples(annotate(program.command("commands"), { effects: NO_EFFECTS }).description("every command by section, one line each; --json: the command tree as data"), ["drive commands", "drive commands files copy --json"])
|
|
24
27
|
.argument("[path...]", "only this command or group, as words")
|
|
25
|
-
.action((path) =>
|
|
28
|
+
.action((path) => {
|
|
29
|
+
const document = commandsDocument(program, path);
|
|
30
|
+
const { json, jsonl } = program.opts();
|
|
31
|
+
// By format, not by terminal: piped, a reader got hundreds of kilobytes of JSON it never asked for.
|
|
32
|
+
if (!json && !jsonl)
|
|
33
|
+
return streams.data(commandsText(program, document.commands, document.scope).replace(/\n$/, ""));
|
|
34
|
+
print((renderer) => renderer.result(document));
|
|
35
|
+
});
|
|
26
36
|
};
|
|
27
37
|
//# sourceMappingURL=discovery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/commands/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/commands/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElE,eAAO,MAAM,iBAAiB,YACnB,OAAO,2DACyC,cAAc,iBACxD,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,SAgCpD,CAAA"}
|
package/dist/commands/mcp.js
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { annotate } from "@wirecat/cli-base/commands";
|
|
2
|
+
import { writes } from "@wirecat/cli-base/standards";
|
|
2
3
|
import { REMOTE_WRITE } from "@wirecat/cli-core/cli";
|
|
3
4
|
import { allOf } from "../output.js";
|
|
4
5
|
import { examples } from "../registry.js";
|
|
5
6
|
export const installMcpCommand = (program, { env, options, selected, output, policyFlags, signal }, createProgram) => {
|
|
6
|
-
examples(annotate(program.command("mcp"), { effects: REMOTE_WRITE, lifetime: "persistent" }).description("serve drive's commands to an agent over MCP
|
|
7
|
-
.option("--tools", "list the
|
|
7
|
+
examples(annotate(program.command("mcp"), { effects: REMOTE_WRITE, lifetime: "persistent" }).description("serve drive's commands to an agent over MCP: search, then read or write"), ["drive personal mcp", "drive personal mcp --tools"])
|
|
8
|
+
.option("--tools", "list the commands the server offers instead of starting it")
|
|
8
9
|
.action(async (args) => {
|
|
9
10
|
const { mcpTools, serveMcp } = await import("../mcp.js");
|
|
10
11
|
if (args.tools)
|
|
11
|
-
output(allOf(mcpTools(createProgram, { ...options, env }, selected(), policyFlags()).map(({
|
|
12
|
+
output(allOf(mcpTools(createProgram, { ...options, env }, selected(), policyFlags()).map(({ schema, command }) => ({
|
|
13
|
+
command: command.path.join(" "),
|
|
14
|
+
writes: writes(command.effects),
|
|
15
|
+
input_schema: schema,
|
|
16
|
+
effects: command.effects,
|
|
17
|
+
}))));
|
|
12
18
|
else {
|
|
13
19
|
const active = signal();
|
|
14
20
|
await serveMcp(createProgram, { ...options, env, ...(active ? { signal: active } : {}) }, selected(), policyFlags());
|
package/dist/commands/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAkB,EACvE,aAAmD,EACnD,EAAE;IACF,QAAQ,CACN,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,CAC7F,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAkB,EACvE,aAAmD,EACnD,EAAE;IACF,QAAQ,CACN,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,CAC7F,yEAAyE,CAC1E,EACD,CAAC,oBAAoB,EAAE,4BAA4B,CAAC,CACrD;SACE,MAAM,CAAC,SAAS,EAAE,4DAA4D,CAAC;SAC/E,MAAM,CAAC,KAAK,EAAE,IAAyB,EAAE,EAAE;QAC1C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;QACxD,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,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpG,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC/B,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC/B,YAAY,EAAE,MAAM;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC,CACJ,CACF,CAAA;aACE,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,EAAE,CAAA;YACvB,MAAM,QAAQ,CACZ,aAAa,EACb,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAC1D,QAAQ,EAAE,EACV,WAAW,EAAE,CACd,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,OAAO,EAAE,KAAK,cAAc,EAAY,MAAM,cAAc,CAAA;AAE5D,eAAO,MAAM,oBAAoB,YAAa,OAAO,wCAAwC,cAAc,SA4B1G,CAAA"}
|
package/dist/commands/search.js
CHANGED
|
@@ -2,6 +2,7 @@ import { annotate } from "@wirecat/cli-base/commands";
|
|
|
2
2
|
import { itemOf, LOCAL_READ } from "@wirecat/cli-core/cli";
|
|
3
3
|
import { activeProfile, pictureSearch } from "../config.js";
|
|
4
4
|
import { examples } from "../registry.js";
|
|
5
|
+
import { readState } from "../state.js";
|
|
5
6
|
import { positive } from "./context.js";
|
|
6
7
|
export const installSearchCommand = (program, { env, selected, output, withIndex }) => {
|
|
7
8
|
examples(annotate(program.command("search"), { effects: LOCAL_READ })
|
|
@@ -10,11 +11,26 @@ export const installSearchCommand = (program, { env, selected, output, withIndex
|
|
|
10
11
|
.option("--limit <n>", "how many results to return", positive, 20)
|
|
11
12
|
.option("--page <n>", "which page to return", positive, 1)
|
|
12
13
|
.option("--exact", "match the words exactly: no word forms, no meaning")
|
|
13
|
-
.action(async (query, { page, ...args }) =>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
.action(async (query, { page, ...args }) => {
|
|
15
|
+
const name = selected();
|
|
16
|
+
const profile = activeProfile(env, name);
|
|
17
|
+
const result = await withIndex((index) => index.search(profile.principal, query, {
|
|
18
|
+
...args,
|
|
19
|
+
offset: (page - 1) * args.limit,
|
|
20
|
+
exact: args.exact ?? false,
|
|
21
|
+
...(pictureSearch(env, name) ? { pictures: true } : {}),
|
|
22
|
+
}));
|
|
23
|
+
const hint = notImported(name, profile.roots.length, Object.keys(readState(env, name, profile.principal).documents));
|
|
24
|
+
output(itemOf(hint ? { ...result, not_imported: hint } : result));
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
// An empty answer over an empty import reads to an agent as "no such document".
|
|
28
|
+
const notImported = (name, folders, documents) => {
|
|
29
|
+
if (documents.length > 0)
|
|
30
|
+
return undefined;
|
|
31
|
+
return folders === 0
|
|
32
|
+
? `profile ${name} has no folders selected, so nothing is imported to search — ` +
|
|
33
|
+
`drive ${name} folders add FOLDER_ID, then drive ${name} sync`
|
|
34
|
+
: `profile ${name} has imported no documents yet — drive ${name} sync`;
|
|
19
35
|
};
|
|
20
36
|
//# sourceMappingURL=search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAuB,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAkB,EAAE,EAAE;IAC7G,QAAQ,CACN,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SACzD,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,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAuB,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAkB,EAAE,EAAE;IAC7G,QAAQ,CACN,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SACzD,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;QACnG,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CACvC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE;YACrC,GAAG,IAAI;YACP,MAAM,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;YAC1B,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CACH,CAAA;QACD,MAAM,IAAI,GAAG,WAAW,CACtB,IAAI,EACJ,OAAO,CAAC,KAAK,CAAC,MAAM,EACpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAC/D,CAAA;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAI,MAAiB,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/E,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,gFAAgF;AAChF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,SAAmB,EAAsB,EAAE;IAC7F,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1C,OAAO,OAAO,KAAK,CAAC;QAClB,CAAC,CAAC,WAAW,IAAI,+DAA+D;YAC5E,SAAS,IAAI,sCAAsC,IAAI,OAAO;QAClE,CAAC,CAAC,WAAW,IAAI,0CAA0C,IAAI,OAAO,CAAA;AAC1E,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,eAAO,MAAM,mBAAmB,YAAa,OAAO,4BAA4B,cAAc,SAsB7F,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createRenderer } from "@wirecat/cli-base";
|
|
2
|
+
import { annotate } from "@wirecat/cli-base/commands";
|
|
3
|
+
import { skillCommand } from "@wirecat/cli-base/skill";
|
|
4
|
+
import { itemOf, LOCAL_WRITE, NO_EFFECTS } from "@wirecat/cli-core/cli";
|
|
5
|
+
import { VERSION } from "../version.js";
|
|
6
|
+
export const installSkillCommand = (program, { env, streams, output }) => {
|
|
7
|
+
const skill = skillCommand({ command: "drive", appName: "drive-cli", version: VERSION }, new URL("../../skills/drive-cli/SKILL.md", import.meta.url), () => ({
|
|
8
|
+
renderer: {
|
|
9
|
+
...createRenderer({ format: "pretty", color: false, streams, quiet: program.opts().quiet === true }),
|
|
10
|
+
result: (value) => output(itemOf(value)),
|
|
11
|
+
},
|
|
12
|
+
streams,
|
|
13
|
+
env,
|
|
14
|
+
}));
|
|
15
|
+
for (const child of skill.commands) {
|
|
16
|
+
const install = child.name() === "install";
|
|
17
|
+
// The text skill show prints ships inside the package.
|
|
18
|
+
annotate(child, {
|
|
19
|
+
effects: install ? LOCAL_WRITE : NO_EFFECTS,
|
|
20
|
+
examples: [install ? "drive skill install --for all" : "drive skill show"],
|
|
21
|
+
}).summary(install ? "put SKILL.md where Claude Code, Codex and Gemini CLI look" : "print drive's SKILL.md");
|
|
22
|
+
}
|
|
23
|
+
program.addCommand(annotate(skill, { effects: NO_EFFECTS }));
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAGvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAkB,EAAE,EAAE;IAChG,MAAM,KAAK,GAAG,YAAY,CACxB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EAC5D,IAAI,GAAG,CAAC,iCAAiC,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAC3D,GAAG,EAAE,CAAC,CAAC;QACL,QAAQ,EAAE;YACR,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACpG,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC,CAAC;SACpE;QACD,OAAO;QACP,GAAG;KACJ,CAAC,CACH,CAAA;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,SAAS,CAAA;QAC1C,uDAAuD;QACvD,QAAQ,CAAC,KAAK,EAAE;YACd,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;YAC3C,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,kBAAkB,CAAC;SAC3E,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAA;IAC9G,CAAC;IACD,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;AAC9D,CAAC,CAAA"}
|
package/dist/failure.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export declare const errorObject: (error: unknown, invalidArguments?: string, ef
|
|
|
19
19
|
args: {
|
|
20
20
|
[x: string]: unknown;
|
|
21
21
|
};
|
|
22
|
+
line?: string | undefined;
|
|
22
23
|
why: string;
|
|
23
24
|
safe_to_auto_execute: boolean;
|
|
24
25
|
} | {
|
|
@@ -55,6 +56,7 @@ export declare const mcpFailure: (error: unknown, effects?: Effects) => {
|
|
|
55
56
|
args: {
|
|
56
57
|
[x: string]: unknown;
|
|
57
58
|
};
|
|
59
|
+
line?: string | undefined;
|
|
58
60
|
why: string;
|
|
59
61
|
safe_to_auto_execute: boolean;
|
|
60
62
|
} | {
|
package/dist/failure.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure.d.ts","sourceRoot":"","sources":["../src/failure.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,OAAO,EACb,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAiB,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE3F,OAAO,EAAE,KAAK,OAAO,EAAkB,MAAM,WAAW,CAAA;AA0ExD,2FAA2F;AAC3F,eAAO,MAAM,OAAO,EAAE,WAAW,EAEhC,CAAA;
|
|
1
|
+
{"version":3,"file":"failure.d.ts","sourceRoot":"","sources":["../src/failure.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,OAAO,EACb,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAiB,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE3F,OAAO,EAAE,KAAK,OAAO,EAAkB,MAAM,WAAW,CAAA;AA0ExD,2FAA2F;AAC3F,eAAO,MAAM,OAAO,EAAE,WAAW,EAEhC,CAAA;AAmBD,eAAO,MAAM,WAAW,UACf,OAAO,uCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAC0D,CAAA;AAE7E,eAAO,MAAM,UAAU,UAAW,OAAO,YAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACW,CAAA;AASvE,iEAAiE;AACjE,eAAO,MAAM,aAAa,SAAU,SAAS,MAAM,EAAE,OAAO,OAAO,YACF,CAAA;AAejE,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IACvB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,OAAO,CAAA;CACb;AAED,oFAAoF;AACpF,eAAO,MAAM,aAAa,UAAW,OAAO,mCAAmC,aAAa,KAAG,MAW9F,CAAA"}
|
package/dist/failure.js
CHANGED
|
@@ -75,10 +75,12 @@ const ENTRIES = [
|
|
|
75
75
|
/** Every reason drive raises; cli-base's base reasons are known to the handler already. */
|
|
76
76
|
export const REASONS = defineReasons(ENTRIES.map(([reason, code, message, details = []]) => ({ reason, code, message, details })));
|
|
77
77
|
// Commander words the cause itself: unknown command with a suggestion, missing argument, missing option.
|
|
78
|
-
const parseMessage = (error, fallback) => error.
|
|
79
|
-
|
|
80
|
-
.
|
|
81
|
-
|
|
78
|
+
const parseMessage = (error, fallback) => error.code === "commander.help"
|
|
79
|
+
? "no command given after the profile name; list them with drive --help"
|
|
80
|
+
: error.message
|
|
81
|
+
.replace(/^error: /, "")
|
|
82
|
+
.replace(/\s*\n\s*/g, " ")
|
|
83
|
+
.trim() || fallback;
|
|
82
84
|
const recognisable = (error, invalidArguments) => error instanceof CommanderError ? new CliError("validation_error", parseMessage(error, invalidArguments)) : error;
|
|
83
85
|
const contextOf = (effects) => ({
|
|
84
86
|
...failureContext({ reasons: REASONS }),
|
package/dist/failure.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure.js","sourceRoot":"","sources":["../src/failure.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"failure.js","sourceRoot":"","sources":["../src/failure.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
export declare const guide: () => Command;
|
|
3
|
+
/** Last: the first screen's pointers name only commands that exist, and `help` must see every command. */
|
|
4
|
+
export declare const installFirstScreen: (program: Command) => void;
|
|
5
|
+
//# sourceMappingURL=first-screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"first-screen.d.ts","sourceRoot":"","sources":["../src/first-screen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAkCxC,eAAO,MAAM,KAAK,eAOf,CAAA;AAEH,0GAA0G;AAC1G,eAAO,MAAM,kBAAkB,YAAa,OAAO,SAqBlD,CAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { fileURLToPath } from "node:url";
|
|
2
|
+
import { guideCommand, inSection, installHelp } from "@wirecat/cli-core/cli";
|
|
3
|
+
const SECTIONS = {
|
|
4
|
+
search: "read",
|
|
5
|
+
status: "read",
|
|
6
|
+
documents: "read",
|
|
7
|
+
catalog: "read",
|
|
8
|
+
api: "read",
|
|
9
|
+
comments: "read",
|
|
10
|
+
permissions: "read",
|
|
11
|
+
revisions: "read",
|
|
12
|
+
"shared-drives": "read",
|
|
13
|
+
files: "write",
|
|
14
|
+
sheets: "write",
|
|
15
|
+
tags: "organise",
|
|
16
|
+
relationships: "organise",
|
|
17
|
+
notes: "organise",
|
|
18
|
+
memories: "organise",
|
|
19
|
+
facts: "organise",
|
|
20
|
+
identities: "organise",
|
|
21
|
+
sync: "automate",
|
|
22
|
+
mcp: "automate",
|
|
23
|
+
session: "setup",
|
|
24
|
+
folders: "setup",
|
|
25
|
+
store: "setup",
|
|
26
|
+
config: "setup",
|
|
27
|
+
models: "setup",
|
|
28
|
+
images: "setup",
|
|
29
|
+
complete: "setup",
|
|
30
|
+
commands: "setup",
|
|
31
|
+
guide: "setup",
|
|
32
|
+
skill: "setup",
|
|
33
|
+
};
|
|
34
|
+
export const guide = () => guideCommand({ command: "drive" }, {
|
|
35
|
+
directory: fileURLToPath(new URL("../scenarios", import.meta.url)),
|
|
36
|
+
worksWith: [{ tool: "memo", name: "person-brief", title: "one person across every tool" }],
|
|
37
|
+
});
|
|
38
|
+
/** Last: the first screen's pointers name only commands that exist, and `help` must see every command. */
|
|
39
|
+
export const installFirstScreen = (program) => {
|
|
40
|
+
for (const command of program.commands) {
|
|
41
|
+
const section = SECTIONS[command.name()];
|
|
42
|
+
if (section)
|
|
43
|
+
inSection(command, section);
|
|
44
|
+
}
|
|
45
|
+
installHelp(program, {
|
|
46
|
+
pitch: "chosen Google Drive folders as a local, searchable library: Docs, Sheets, PDF and docx as text, offline.",
|
|
47
|
+
can: [
|
|
48
|
+
{ command: "folders add <url>", does: "choose folders; only these are imported" },
|
|
49
|
+
{ command: "sync --embed", does: "import what changed and index it by meaning" },
|
|
50
|
+
{ command: 'search "budget decision"', does: "every imported document, by words and meaning" },
|
|
51
|
+
{ command: "documents context <doc>", does: "a document with its tags, notes and editors" },
|
|
52
|
+
{ command: "documents history <doc> --activity", does: "who did what (needs --grant activity)" },
|
|
53
|
+
{ command: "memories extract <doc>", does: "memories with exact quotes, proposed by a model" },
|
|
54
|
+
{ command: "documents export <doc>", does: "Markdown in a new file (--output); never overwrites" },
|
|
55
|
+
{ command: "--read-only …", does: "this run refuses every change" },
|
|
56
|
+
],
|
|
57
|
+
start: "drive personal session start",
|
|
58
|
+
});
|
|
59
|
+
const help = program.commands.find((command) => command.name() === "help");
|
|
60
|
+
help?.exitOverride().configureOutput(program.configureOutput());
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=first-screen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"first-screen.js","sourceRoot":"","sources":["../src/first-screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,YAAY,EAAoB,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAG9F,MAAM,QAAQ,GAAgC;IAC5C,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,MAAM;IACX,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,MAAM;IACjB,eAAe,EAAE,MAAM;IACvB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,UAAU;IAChB,aAAa,EAAE,UAAU;IACzB,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,UAAU;IACjB,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,UAAU;IACf,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACf,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE,CACxB,YAAY,CACV,EAAE,OAAO,EAAE,OAAO,EAAE,EACpB;IACE,SAAS,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IAClE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;CAC3F,CACF,CAAA;AAEH,0GAA0G;AAC1G,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACrD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QACxC,IAAI,OAAO;YAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IACD,WAAW,CAAC,OAAO,EAAE;QACnB,KAAK,EAAE,0GAA0G;QACjH,GAAG,EAAE;YACH,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,yCAAyC,EAAE;YACjF,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,6CAA6C,EAAE;YAChF,EAAE,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE,+CAA+C,EAAE;YAC9F,EAAE,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,6CAA6C,EAAE;YAC3F,EAAE,OAAO,EAAE,oCAAoC,EAAE,IAAI,EAAE,uCAAuC,EAAE;YAChG,EAAE,OAAO,EAAE,wBAAwB,EAAE,IAAI,EAAE,iDAAiD,EAAE;YAC9F,EAAE,OAAO,EAAE,wBAAwB,EAAE,IAAI,EAAE,qDAAqD,EAAE;YAClG,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,+BAA+B,EAAE;SACpE;QACD,KAAK,EAAE,8BAA8B;KACtC,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,CAAA;IAC1E,IAAI,EAAE,YAAY,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;AACjE,CAAC,CAAA"}
|
package/dist/login.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAyD,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACzG,OAAO,EAAE,KAAK,gBAAgB,EAAwC,MAAM,aAAa,CAAA;AAIzF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,gBAAgB,CAAA;IAC7B,OAAO,EAAE,SAAS,GAAG,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,YAAY,CAAA;IAC/C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACpD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AACD,eAAO,MAAM,KAAK,YAAmB,YAAY,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAyD,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACzG,OAAO,EAAE,KAAK,gBAAgB,EAAwC,MAAM,aAAa,CAAA;AAIzF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,gBAAgB,CAAA;IAC7B,OAAO,EAAE,SAAS,GAAG,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,YAAY,CAAA;IAC/C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACpD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AACD,eAAO,MAAM,KAAK,YAAmB,YAAY,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAwHhH,CAAA"}
|
package/dist/login.js
CHANGED
|
@@ -4,7 +4,7 @@ import { CliError } from "@wirecat/cli-base";
|
|
|
4
4
|
import { CodeChallengeMethod, OAuth2Client } from "google-auth-library";
|
|
5
5
|
import { profileName, readConfig, writeConfig } from "./config.js";
|
|
6
6
|
import { googleSource } from "./google.js";
|
|
7
|
-
import { ACTIVITY_SCOPE, APPS_SCOPE, READ_SCOPE, saveSession, WRITE_SCOPE } from "./tokens.js";
|
|
7
|
+
import { ACTIVITY_SCOPE, APPS_SCOPE, checkSessionStorage, READ_SCOPE, saveSession, WRITE_SCOPE } from "./tokens.js";
|
|
8
8
|
export const login = async (options) => {
|
|
9
9
|
const name = profileName(options.profile);
|
|
10
10
|
const state = randomBytes(32).toString("base64url");
|
|
@@ -51,6 +51,7 @@ export const login = async (options) => {
|
|
|
51
51
|
try {
|
|
52
52
|
if (options.signal?.aborted)
|
|
53
53
|
throw new CliError("cancelled", "Google sign-in was cancelled");
|
|
54
|
+
checkSessionStorage(options.env, name, options.storage, options.keyring);
|
|
54
55
|
await new Promise((resolve, fail) => {
|
|
55
56
|
server.once("error", fail);
|
|
56
57
|
server.listen(0, "127.0.0.1", resolve);
|
package/dist/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAqB,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAoC,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACzG,OAAO,EAAyB,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAqB,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAoC,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACzG,OAAO,EAAyB,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAkBnH,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,OAAqB,EAAkE,EAAE;IACnH,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACnD,IAAI,MAAM,GAA2B,GAAG,EAAE,GAAE,CAAC,CAAA;IAC7C,IAAI,MAAM,GAA2B,GAAG,EAAE,GAAE,CAAC,CAAA;IAC7C,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,IAAI,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,GAAG,OAAO,CAAA;QAChB,MAAM,GAAG,IAAI,CAAA;IACf,CAAC,CAAC,CAAA;IACF,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACzB,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QAChD,IAAI,GAAQ,CAAA;QACZ,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAA;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;YAC7B,OAAM;QACR,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7D,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;YAC7B,OAAM;QACR,CAAC;QACD,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,OAAO,EAAE,CAAC;YACvD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACvD,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;YACrD,OAAM;QACR,CAAC;QACD,OAAO,GAAG,IAAI,CAAA;QACd,QAAQ,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;QAC/D,IAAI,KAAK;YAAE,MAAM,CAAC,KAAK,CAAC,CAAA;;YACnB,MAAM,CAAC,IAAI,QAAQ,CAAC,sBAAsB,EAAE,6BAA6B,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAA;IAClH,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAA;IACzF,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACpE,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC,EACjE,OAAO,CAAC,SAAS,IAAI,MAAM,CAC5B,CAAA;IACD,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAA;QAC5F,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QACxE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;YACxC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAChC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YACzC,MAAM,IAAI,QAAQ,CAAC,qBAAqB,EAAE,yCAAyC,CAAC,CAAA;QACtF,MAAM,QAAQ,GAAG,oBAAoB,OAAO,CAAC,IAAI,WAAW,CAAA;QAC5D,MAAM,MAAM,GACV,OAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;YAC9B,IAAI,YAAY,CAAC;gBACf,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ;gBACtC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,YAAY;gBAC9C,WAAW,EAAE,QAAQ;gBACrB,kBAAkB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aAC9F,CAAC,CAAA;QACJ,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,EAAE,CAAA;QAChF,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC;YACjC,WAAW,EAAE,SAAS;YACtB,MAAM,EAAE,wBAAwB;YAChC,KAAK,EAAE;gBACL,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;gBACxC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC;YACD,KAAK;YACL,cAAc,EAAE,aAAa;YAC7B,qBAAqB,EAAE,mBAAmB,CAAC,IAAI;SAChD,CAAC,CAAA;QACF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACpB,KAAK,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC7C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAA;QACjC,IAAI,MAAoB,CAAA;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;QACjF,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,kEAAkE,EAAE;gBAC7G,MAAM,EAAE,gBAAgB;aACzB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,aAAa;YACvB,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,yDAAyD,EAAE;gBACpG,MAAM,EAAE,gBAAgB;aACzB,CAAC,CAAA;QACJ,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QAC7B,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAA;QAC5F,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACvF,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;YAC9C,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,4DAA4D,EAAE;gBACvG,MAAM,EAAE,uBAAuB;aAChC,CAAC,CAAA;QACJ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;YAC/G,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,iFAAiF,CAClF,CAAA;QACH,WAAW,CACT,OAAO,CAAC,GAAG,EACX,IAAI,EACJ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,EACjG,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,CAChB,CAAA;QACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAA;QAC7F,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAA;IACrE,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACvD,MAAM,CAAC,mBAAmB,EAAE,CAAA;QAC5B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACrE,CAAC;AACH,CAAC,CAAA"}
|