@wirecat/drive-cli 0.17.2 → 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.
Files changed (59) hide show
  1. package/README.md +20 -56
  2. package/dist/commands/config.d.ts +1 -1
  3. package/dist/commands/config.d.ts.map +1 -1
  4. package/dist/commands/config.js +37 -2
  5. package/dist/commands/config.js.map +1 -1
  6. package/dist/commands/discovery.d.ts +1 -1
  7. package/dist/commands/discovery.d.ts.map +1 -1
  8. package/dist/commands/discovery.js +15 -5
  9. package/dist/commands/discovery.js.map +1 -1
  10. package/dist/commands/mcp.d.ts.map +1 -1
  11. package/dist/commands/mcp.js +9 -3
  12. package/dist/commands/mcp.js.map +1 -1
  13. package/dist/commands/search.d.ts.map +1 -1
  14. package/dist/commands/search.js +22 -6
  15. package/dist/commands/search.js.map +1 -1
  16. package/dist/commands/skill.d.ts +4 -0
  17. package/dist/commands/skill.d.ts.map +1 -0
  18. package/dist/commands/skill.js +25 -0
  19. package/dist/commands/skill.js.map +1 -0
  20. package/dist/failure.d.ts +2 -0
  21. package/dist/failure.d.ts.map +1 -1
  22. package/dist/failure.js +8 -1
  23. package/dist/failure.js.map +1 -1
  24. package/dist/first-screen.d.ts +5 -0
  25. package/dist/first-screen.d.ts.map +1 -0
  26. package/dist/first-screen.js +62 -0
  27. package/dist/first-screen.js.map +1 -0
  28. package/dist/login.d.ts.map +1 -1
  29. package/dist/login.js +2 -1
  30. package/dist/login.js.map +1 -1
  31. package/dist/mcp.d.ts +3 -0
  32. package/dist/mcp.d.ts.map +1 -1
  33. package/dist/mcp.js +56 -17
  34. package/dist/mcp.js.map +1 -1
  35. package/dist/policy.d.ts +1 -0
  36. package/dist/policy.d.ts.map +1 -1
  37. package/dist/policy.js +12 -3
  38. package/dist/policy.js.map +1 -1
  39. package/dist/program.d.ts.map +1 -1
  40. package/dist/program.js +13 -5
  41. package/dist/program.js.map +1 -1
  42. package/dist/registry.d.ts.map +1 -1
  43. package/dist/registry.js +13 -2
  44. package/dist/registry.js.map +1 -1
  45. package/dist/store.d.ts.map +1 -1
  46. package/dist/store.js +10 -21
  47. package/dist/store.js.map +1 -1
  48. package/dist/tokens.d.ts +8 -0
  49. package/dist/tokens.d.ts.map +1 -1
  50. package/dist/tokens.js +31 -2
  51. package/dist/tokens.js.map +1 -1
  52. package/dist/version.d.ts +1 -1
  53. package/dist/version.js +1 -1
  54. package/package.json +5 -3
  55. package/scenarios/agent-access.md +16 -0
  56. package/scenarios/brief-document.md +20 -0
  57. package/scenarios/find-decision.md +19 -0
  58. package/scenarios/set-up.md +21 -0
  59. 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. Other types and shortcuts
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
@@ -57,7 +62,7 @@ your own Desktop client and leave it in Testing, Google usually ends its sign-in
57
62
  [Google OAuth guide](https://developers.google.com/identity/protocols/oauth2/native-app),
58
63
  [Drive permissions](https://developers.google.com/workspace/drive/api/guides/api-specific-auth).
59
64
 
60
- Use `--profile work` for another account. Each Google account has one local profile. `session list`
65
+ Use `--profile work` for another account. Each Google account has one local profile. `drive personal session list`
61
66
  lists configured profiles. `session end` removes local sign-in while retaining cached data and
62
67
  configuration so re-login preserves document identities.
63
68
 
@@ -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 an already-downloaded shared text model. Prepare the existing model cache
81
- with `tg personal models text download e5-small` or its `max` equivalent, then use `drive personal sync --embed`.
82
- There is no replacement model downloader or implicit download here. Missing models are reported.
83
- `--exact` searches words without semantic retrieval.
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,26 +133,9 @@ 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
- 200,000 characters and snapshots at 50 MiB, with bounded pagination. Oversized input is refused rather than truncated. Google's native export
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
- ## Development
129
-
130
- Google logic stays here. SQL, chunking, embeddings and search live in the shared WireCat packages.
131
-
132
- ```sh
133
- pnpm standards:check
134
- pnpm lint
135
- pnpm typecheck
136
- pnpm test
137
- pnpm build
138
- pnpm smoke
139
- pnpm docs:check
140
- ```
141
-
142
- See [architecture](docs/dev/ARCHITECTURE.md), [testing](docs/dev/TESTING.md),
143
- [development](docs/dev/DEVELOPMENT.md) and [releasing](docs/dev/RELEASING.md).
144
-
145
139
  ## Document knowledge and remote actions
146
140
 
147
141
  ```sh
@@ -163,7 +157,7 @@ Use the shared model setup with `models set --provider openai --model MODEL_ID`.
163
157
  come from the corresponding API-key environment variable and never enter regular configuration.
164
158
  Source content changes and scope removals mark source-backed memories stale. User notes stay local.
165
159
 
166
- The generated API exposes 68 Drive, Docs and Activity methods. Convenient commands include
160
+ The generated API exposes 85 methods: 64 Drive, 17 Sheets, 3 Docs and 1 Activity. Convenient commands include
167
161
  file listing/copying/moving, trash/restore, folder creation, Docs creation/batch updates, comments,
168
162
  permissions, revisions and Shared Drives. Read grants remain the default. JSON API calls require
169
163
  explicit flags for mutation and permanent deletion; Google still enforces file roles and API policy.
@@ -171,33 +165,3 @@ explicit flags for mutation and permanent deletion; Google still enforces file r
171
165
  Read the [knowledge and API command guide](docs/dev/KNOWLEDGE_AND_API.md) for complete examples,
172
166
  permissions, history limits, AI settings and supported request formats. Contributor checks use
173
167
  isolated sources and mocked provider requests; see the [testing guide](docs/dev/TESTING.md).
174
-
175
- ## Shared CLI conventions
176
-
177
- Committed Google Discovery snapshots feed a provider adapter into cli-base's shared code generators. cli-core builds the generated
178
- commands and validates their input; Google's SDK remains the transport. `pnpm generate` rebuilds
179
- types, validators, the operation manifest, coverage and [command reference](docs/commands.md).
180
- `pnpm generate:check` checks freshness offline. Only `pnpm spec:sync` fetches a new public specification.
181
-
182
- ```sh
183
- drive personal api drive-files-get --help
184
- drive api show docs.documents.batchUpdate --json
185
- drive personal --dry-run api drive-files-get --file-id synthetic-doc --json
186
- drive complete zsh
187
- drive personal --read-only mcp --tools --json
188
- ```
189
-
190
- Profiles accept `drive work ...` as well as `--profile work`. Shared permission levels are deny,
191
- readonly, ask and allow, configured under profile/default permissions. OAuth permission is a
192
- separate gate. `--read-only` also stops local mutations; `--yes` and `--allow-dangerous` answer
193
- confirmation but cannot override a denial. `--offline` refuses commands that may require network.
194
- Writes use the shared journal and uncertain Google outcomes are reported without automatic retry.
195
-
196
- MCP stdio tools derive from the same command registry and call the CLI executor with its guards.
197
- They exclude sign-in/config changes, arbitrary file export, body-file access and raw API dispatch.
198
- Generated typed methods remain available according to the profile's permissions. Agent-facing
199
- output shows control characters visibly; results use a shared output buffer and optional deadline.
200
-
201
- See the [alignment guide](docs/dev/CLI_ALIGNMENT.md) for policy examples, generation, compatibility
202
- checks and the remaining differences from MAX. The shared package pins now match the reviewed
203
- MAX versions; existing stores still require an explicit path and compatibility review.
@@ -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":"AAGA,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,mBAAmB,cAAc,SA4BrF,CAAA"}
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"}
@@ -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":"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"}
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,SAuBnF,CAAA;AAED,eAAO,MAAM,sBAAsB,YAAa,OAAO,aAAa,cAAc,SASjF,CAAA"}
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("print the command tree and its options as data"), ["drive commands --json", "drive commands files copy --json"])
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) => print((renderer) => renderer.result(commandsDocument(program, 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;AAElD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAgB,EAAE,EAAE,OAAO,EAAkB,EAAE,EAAE;IACtF,QAAQ,CACN,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,WAAW,CACxE,oDAAoD,CACrD,EACD,CAAC,oBAAoB,CAAC,CACvB;SACE,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;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAgB,EAAE,EAAE,KAAK,EAAkB,EAAE,EAAE;IACpF,QAAQ,CACN,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,WAAW,CACxE,gDAAgD,CACjD,EACD,CAAC,uBAAuB,EAAE,kCAAkC,CAAC,CAC9D;SACE,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;AACtG,CAAC,CAAA"}
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,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEhE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAgB,EAAE,EAAE,OAAO,EAAkB,EAAE,EAAE;IACtF,QAAQ,CACN,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,WAAW,CACxE,oDAAoD,CACrD,EACD,CAAC,oBAAoB,CAAC,CACvB;SACE,QAAQ,CAAC,YAAY,EAAE,kDAAkD,CAAC;SAC1E,kBAAkB,EAAE;SACpB,UAAU,CAAC,KAAK,CAAC;SACjB,MAAM,CAAC,KAAK,WAA0B,KAAe;QACpD,IAAI,CAAE,OAA2C,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,8FAA8F;YAC9F,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAA;YAC3F,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;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAgB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAkB,EAAE,EAAE;IAC7F,QAAQ,CACN,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,WAAW,CACxE,2EAA2E,CAC5E,EACD,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CACvD;SACE,QAAQ,CAAC,WAAW,EAAE,sCAAsC,CAAC;SAC7D,MAAM,CAAC,CAAC,IAAc,EAAE,EAAE;QACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAChD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,EAAuC,CAAA;QAC3E,oGAAoG;QACpG,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;YACjB,OAAO,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;QAClG,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAEA,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,SA6BpD,CAAA"}
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"}
@@ -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 on stdio"), ["drive personal mcp", "drive personal mcp --tools"])
7
- .option("--tools", "list the tools offered instead of starting the server")
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(({ name, schema, command }) => ({ name, input_schema: schema, effects: command.effects }))));
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());
@@ -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,sDAAsD,CACvD,EACD,CAAC,oBAAoB,EAAE,4BAA4B,CAAC,CACrD;SACE,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,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,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;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
+ {"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;AAGxC,OAAO,EAAE,KAAK,cAAc,EAAY,MAAM,cAAc,CAAA;AAE5D,eAAO,MAAM,oBAAoB,YAAa,OAAO,wCAAwC,cAAc,SAwB1G,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"}
@@ -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 }) => output(itemOf(await withIndex((index) => index.search(activeProfile(env, selected()).principal, query, {
14
- ...args,
15
- offset: (page - 1) * args.limit,
16
- exact: args.exact ?? false,
17
- ...(pictureSearch(env, selected()) ? { pictures: true } : {}),
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,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;AACL,CAAC,CAAA"}
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,4 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandContext } from "./context.js";
3
+ export declare const installSkillCommand: (program: Command, { env, streams, output }: CommandContext) => void;
4
+ //# sourceMappingURL=skill.d.ts.map
@@ -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
  } | {
@@ -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;AAUD,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"}
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
@@ -74,7 +74,14 @@ const ENTRIES = [
74
74
  ];
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
- const recognisable = (error, invalidArguments) => error instanceof CommanderError ? new CliError("validation_error", invalidArguments) : error;
77
+ // Commander words the cause itself: unknown command with a suggestion, missing argument, missing option.
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;
84
+ const recognisable = (error, invalidArguments) => error instanceof CommanderError ? new CliError("validation_error", parseMessage(error, invalidArguments)) : error;
78
85
  const contextOf = (effects) => ({
79
86
  ...failureContext({ reasons: REASONS }),
80
87
  ...(effects ? { effects } : {}),
@@ -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"}
@@ -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,CAuHhH,CAAA"}
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"}