@wirecat/drive-cli 0.2.0 → 0.3.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 +5 -5
- package/dist/api-contract.js +1 -1
- package/dist/api-contract.js.map +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -0
- package/dist/config.js.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/google-api.js +1 -1
- package/dist/google-api.js.map +1 -1
- package/dist/google.d.ts +1 -0
- package/dist/google.d.ts.map +1 -1
- package/dist/google.js +60 -6
- package/dist/google.js.map +1 -1
- package/dist/knowledge-commands.d.ts.map +1 -1
- package/dist/knowledge-commands.js +142 -109
- package/dist/knowledge-commands.js.map +1 -1
- package/dist/knowledge.d.ts +1 -1
- package/dist/knowledge.d.ts.map +1 -1
- package/dist/knowledge.js +1 -1
- package/dist/knowledge.js.map +1 -1
- package/dist/model.d.ts +12 -11
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +1 -0
- package/dist/model.js.map +1 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +5 -1
- package/dist/policy.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +108 -124
- package/dist/program.js.map +1 -1
- package/dist/registry.d.ts +37 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +33 -2
- package/dist/registry.js.map +1 -1
- package/dist/remote-commands.d.ts.map +1 -1
- package/dist/remote-commands.js +87 -72
- package/dist/remote-commands.js.map +1 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +10 -2
- package/dist/state.js.map +1 -1
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +38 -16
- package/dist/sync.js.map +1 -1
- package/package.json +7 -4
package/dist/registry.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CliError, EXIT_CODES, GENERIC_FAILURE } from "@wirecat/cli-base";
|
|
2
|
+
import { annotate, describeOptions, describeProgram, } from "@wirecat/cli-base/commands";
|
|
3
|
+
import { VERSION } from "./version.js";
|
|
2
4
|
/** These commands do not select an account or load account configuration. */
|
|
3
|
-
export const ACCOUNT_FREE_COMMANDS = new Set(["commands", "complete", "
|
|
5
|
+
export const ACCOUNT_FREE_COMMANDS = new Set(["commands", "complete", "api show", "api list"]);
|
|
6
|
+
/** Examples go into `commands --json` for agents and under the options in `--help` for people. */
|
|
7
|
+
export const examples = (command, lines) => annotate(command, { examples: lines }).addHelpText("after", `Examples:\n${lines.map((line) => ` ${line}`).join("\n")}\n`);
|
|
8
|
+
/** The major version of the JSON drive's commands print; raise it when a field is removed or renamed. */
|
|
9
|
+
export const CONTRACT = 0;
|
|
4
10
|
/** Preserve shared registry paths/anchors while making executable usage show the account boundary. */
|
|
5
11
|
export const describeDriveProgram = (program) => {
|
|
6
12
|
const scoped = (info) => ({
|
|
@@ -12,4 +18,29 @@ export const describeDriveProgram = (program) => {
|
|
|
12
18
|
});
|
|
13
19
|
return describeProgram(program).map(scoped);
|
|
14
20
|
};
|
|
21
|
+
/** cli-base's `commands --json` document, built here until drive runs on a cli-base that exports it. */
|
|
22
|
+
export const commandsDocument = (program, path = []) => {
|
|
23
|
+
const all = describeDriveProgram(program);
|
|
24
|
+
const inheritedOptions = [];
|
|
25
|
+
let available = all;
|
|
26
|
+
let found;
|
|
27
|
+
for (const word of path) {
|
|
28
|
+
if (found?.options.length)
|
|
29
|
+
inheritedOptions.push({ path: found.path, options: found.options });
|
|
30
|
+
found = available.find((command) => command.name === word);
|
|
31
|
+
if (!found)
|
|
32
|
+
throw new CliError("not_found", "command path was not found");
|
|
33
|
+
available = found.commands;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
cli: "drive",
|
|
37
|
+
version: VERSION,
|
|
38
|
+
contract: CONTRACT,
|
|
39
|
+
description: program.description(),
|
|
40
|
+
globalOptions: describeOptions(program),
|
|
41
|
+
...(found ? { scope: found.path, inheritedOptions } : {}),
|
|
42
|
+
commands: found ? [found] : all,
|
|
43
|
+
exitCodes: { ok: 0, internal_error: GENERIC_FAILURE, ...EXIT_CODES },
|
|
44
|
+
};
|
|
45
|
+
};
|
|
15
46
|
//# sourceMappingURL=registry.js.map
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-commands.d.ts","sourceRoot":"","sources":["../src/remote-commands.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"remote-commands.d.ts","sourceRoot":"","sources":["../src/remote-commands.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAKhE,CAAA;AACD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACvG,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;CAC7C;AACD,eAAO,MAAM,qBAAqB,YAAa,OAAO,WAAW,cAAc,SAwR9E,CAAA"}
|
package/dist/remote-commands.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-base";
|
|
2
2
|
import { apiPlainJson, checkApiBody, checkApiParameter, generatedApiCommand, parseApiJson, readApiBody, } from "@wirecat/cli-messaging/cli";
|
|
3
|
-
import { operations, schemas, validateRequest } from "./api-contract.js";
|
|
3
|
+
import { operationOf, operations, schemas, validateRequest } from "./api-contract.js";
|
|
4
4
|
import { fileId } from "./config.js";
|
|
5
5
|
import { apiMethod, apiMethods, validateApiParams } from "./google-api.js";
|
|
6
|
+
import { examples } from "./registry.js";
|
|
7
|
+
import { requestSchema } from "./schema.js";
|
|
6
8
|
export const jsonObject = (value) => {
|
|
7
9
|
const parsed = apiPlainJson(parseApiJson(value));
|
|
8
10
|
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
|
|
@@ -12,20 +14,29 @@ export const jsonObject = (value) => {
|
|
|
12
14
|
export const installRemoteCommands = (program, helpers) => {
|
|
13
15
|
const { call, output, positive } = helpers;
|
|
14
16
|
const page = (command) => command
|
|
15
|
-
.option("--limit <n>", "
|
|
16
|
-
.option("--
|
|
17
|
-
const
|
|
18
|
-
api
|
|
19
|
-
|
|
20
|
-
.
|
|
21
|
-
.
|
|
22
|
-
|
|
17
|
+
.option("--limit <n>", "how many items one page holds", positive, 100)
|
|
18
|
+
.option("--cursor <cursor>", "continue from the nextPageToken of the previous page");
|
|
19
|
+
const fileArgument = "file id or Google Drive URL";
|
|
20
|
+
const api = program.command("api").description("discover and call the official Drive, Docs and Activity API methods");
|
|
21
|
+
examples(api
|
|
22
|
+
.command("list")
|
|
23
|
+
.description("list the Google API methods drive can call")
|
|
24
|
+
.option("--service <name>", "only the methods of this service: drive, docs or driveactivity"), ["drive api list --service docs"]).action((args) => output({ items: apiMethods().filter((m) => !args.service || m.name.startsWith(`${args.service}.`)) }));
|
|
25
|
+
examples(api
|
|
26
|
+
.command("show")
|
|
27
|
+
.description("show one method's request schema and contract, without calling Google")
|
|
28
|
+
.argument("<method>", "Google method name, as api list prints it"), ["drive api show docs.documents.batchUpdate --json"]).action((method) => output({ operation: operationOf(method), requestSchema: requestSchema(method) }));
|
|
29
|
+
examples(api
|
|
23
30
|
.command("call")
|
|
24
|
-
.
|
|
25
|
-
.
|
|
26
|
-
.
|
|
27
|
-
.
|
|
28
|
-
|
|
31
|
+
.description("call one Google API method by name with JSON parameters")
|
|
32
|
+
.argument("<method>", "Google method name, as api list prints it"), [
|
|
33
|
+
`drive personal api call drive.files.get --params '{"fileId":"FILE_ID"}'`,
|
|
34
|
+
`drive personal api call drive.files.update --params '{"fileId":"FILE_ID"}' --body '{"name":"New"}' --allow-write`,
|
|
35
|
+
])
|
|
36
|
+
.option("--params <json>", "query and path parameters as a JSON object", jsonObject, {})
|
|
37
|
+
.option("--body <json>", "request body as a JSON object", jsonObject)
|
|
38
|
+
.option("--allow-write", "allow a method that changes Google data")
|
|
39
|
+
.option("--allow-delete", "allow a method that deletes for good or empties the trash")
|
|
29
40
|
.action(async (name, args) => {
|
|
30
41
|
const method = apiMethod(name);
|
|
31
42
|
validateApiParams(args.params);
|
|
@@ -45,92 +56,91 @@ export const installRemoteCommands = (program, helpers) => {
|
|
|
45
56
|
});
|
|
46
57
|
for (const child of generated.commands)
|
|
47
58
|
api.addCommand(child);
|
|
48
|
-
const files = program
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
.option("--
|
|
59
|
+
const files = program.command("files").description("read and change files in Google Drive; nothing is imported");
|
|
60
|
+
page(examples(files.command("list").description("list files in Google Drive, one page at a time"), [
|
|
61
|
+
"drive personal files list --parent FOLDER_ID",
|
|
62
|
+
`drive personal files list --query "name contains 'plan'" --limit 20`,
|
|
63
|
+
]))
|
|
64
|
+
.option("--query <q>", "only files that match this Google Drive query", "trashed = false")
|
|
65
|
+
.option("--parent <folder>", "only the files directly inside this folder id")
|
|
54
66
|
.action(async (args) => output(await call("drive.files.list", {
|
|
55
67
|
q: args.parent ? `'${fileId(args.parent)}' in parents and (${args.query})` : args.query,
|
|
56
68
|
pageSize: args.limit,
|
|
57
|
-
...(args.
|
|
69
|
+
...(args.cursor ? { pageToken: args.cursor } : {}),
|
|
58
70
|
supportsAllDrives: true,
|
|
59
71
|
includeItemsFromAllDrives: true,
|
|
60
72
|
fields: "nextPageToken,incompleteSearch,files(*)",
|
|
61
73
|
})));
|
|
62
|
-
files
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
.
|
|
69
|
-
.option("--
|
|
70
|
-
.option("--parent <folder>")
|
|
74
|
+
examples(files.command("get").description("show one file's Google Drive metadata").argument("<file>", fileArgument), [
|
|
75
|
+
"drive personal files get FILE_ID",
|
|
76
|
+
]).action(async (id) => output(await call("drive.files.get", { fileId: fileId(id), fields: "*", supportsAllDrives: true })));
|
|
77
|
+
examples(files.command("copy").description("copy a file in Google Drive").argument("<file>", fileArgument), [
|
|
78
|
+
`drive personal files copy FILE_ID --name "Plan copy" --parent FOLDER_ID`,
|
|
79
|
+
])
|
|
80
|
+
.option("--name <name>", "name of the copy; Google's default when omitted")
|
|
81
|
+
.option("--parent <folder>", "folder id to put the copy in")
|
|
71
82
|
.action(async (id, args) => output(await call("drive.files.copy", { fileId: fileId(id), supportsAllDrives: true }, {
|
|
72
83
|
...(args.name ? { name: args.name } : {}),
|
|
73
84
|
...(args.parent ? { parents: [fileId(args.parent)] } : {}),
|
|
74
85
|
})));
|
|
75
|
-
files
|
|
76
|
-
.
|
|
77
|
-
.
|
|
78
|
-
.requiredOption("--to <folder>")
|
|
79
|
-
.option("--from <folder>", "remove this previous parent explicitly")
|
|
86
|
+
examples(files.command("move").description("move a file to another Google Drive folder").argument("<file>", fileArgument), ["drive personal files move FILE_ID --parent NEW_FOLDER_ID --old-parent OLD_FOLDER_ID"])
|
|
87
|
+
.requiredOption("--parent <folder>", "folder id to move the file into")
|
|
88
|
+
.option("--old-parent <folder>", "folder id to take the file out of")
|
|
80
89
|
.action(async (id, args) => output(await call("drive.files.update", {
|
|
81
90
|
fileId: fileId(id),
|
|
82
|
-
addParents: fileId(args.
|
|
83
|
-
...(args.
|
|
91
|
+
addParents: fileId(args.parent),
|
|
92
|
+
...(args.oldParent ? { removeParents: fileId(args.oldParent) } : {}),
|
|
84
93
|
supportsAllDrives: true,
|
|
85
94
|
}, {})));
|
|
86
|
-
files
|
|
87
|
-
.
|
|
88
|
-
.argument("<file>")
|
|
89
|
-
.requiredOption("--body <json>", "Google File metadata patch", jsonObject)
|
|
95
|
+
examples(files.command("update").description("change a file's Google Drive metadata").argument("<file>", fileArgument), [`drive personal files update FILE_ID --body '{"name":"Renamed"}'`])
|
|
96
|
+
.requiredOption("--body <json>", "the metadata fields to change, as a JSON object", jsonObject)
|
|
90
97
|
.action(async (id, args) => output(await call("drive.files.update", { fileId: fileId(id), supportsAllDrives: true }, args.body)));
|
|
91
98
|
for (const name of ["trash", "restore"])
|
|
92
|
-
files
|
|
99
|
+
examples(files
|
|
93
100
|
.command(name)
|
|
94
|
-
.
|
|
95
|
-
.action(async (id) => output(await call("drive.files.update", { fileId: fileId(id), supportsAllDrives: true }, { trashed: name === "trash" })));
|
|
96
|
-
files
|
|
97
|
-
.
|
|
98
|
-
.argument("<name>")
|
|
99
|
-
.option("--parent <folder>")
|
|
101
|
+
.description(name === "trash" ? "move a file to the Google Drive trash" : "take a file out of the trash")
|
|
102
|
+
.argument("<file>", fileArgument), [`drive personal files ${name} FILE_ID`]).action(async (id) => output(await call("drive.files.update", { fileId: fileId(id), supportsAllDrives: true }, { trashed: name === "trash" })));
|
|
103
|
+
examples(files.command("mkdir").description("create an empty folder in Google Drive").argument("<name>", "folder name"), ["drive personal files mkdir Reports --parent FOLDER_ID"])
|
|
104
|
+
.option("--parent <folder>", "folder id to create it in; My Drive when omitted")
|
|
100
105
|
.action(async (name, args) => output(await call("drive.files.create", { supportsAllDrives: true }, {
|
|
101
106
|
name,
|
|
102
107
|
mimeType: "application/vnd.google-apps.folder",
|
|
103
108
|
...(args.parent ? { parents: [fileId(args.parent)] } : {}),
|
|
104
109
|
})));
|
|
105
110
|
const documents = program.commands.find((command) => command.name() === "documents");
|
|
106
|
-
|
|
111
|
+
const documentArgument = "document id or Google Docs URL";
|
|
112
|
+
examples(documents
|
|
107
113
|
.command("get")
|
|
108
|
-
.argument("<document>")
|
|
109
|
-
.description("
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
.requiredOption("--title <title>")
|
|
114
|
+
.argument("<document>", documentArgument)
|
|
115
|
+
.description("read a document live from Google Docs, as JSON with every tab"), ["drive personal documents get DOC_ID --json"]).action(async (id) => output(await call("docs.documents.get", { documentId: fileId(id), includeTabsContent: true })));
|
|
116
|
+
examples(documents.command("create").description("create an empty Google Doc"), [
|
|
117
|
+
`drive personal documents create --title "Meeting notes"`,
|
|
118
|
+
])
|
|
119
|
+
.requiredOption("--title <title>", "title of the new document")
|
|
114
120
|
.action(async (args) => output(await call("docs.documents.create", {}, { title: args.title })));
|
|
115
|
-
documents
|
|
121
|
+
examples(documents
|
|
116
122
|
.command("update")
|
|
117
|
-
.
|
|
118
|
-
.
|
|
123
|
+
.description("change a Google Doc with a Docs batchUpdate request")
|
|
124
|
+
.argument("<document>", documentArgument), [`drive personal documents update DOC_ID --body '{"requests":[]}'`])
|
|
125
|
+
.requiredOption("--body <json>", "Docs batchUpdate body: requests and an optional writeControl", jsonObject)
|
|
119
126
|
.action(async (id, args) => output(await call("docs.documents.batchUpdate", { documentId: fileId(id) }, args.body)));
|
|
120
|
-
page(documents
|
|
121
|
-
.
|
|
127
|
+
page(examples(documents
|
|
128
|
+
.command("history")
|
|
129
|
+
.description("list a document's revisions, or who did what with --activity")
|
|
130
|
+
.argument("<document>", documentArgument), ["drive personal documents history DOC_ID", "drive personal documents history DOC_ID --activity"]))
|
|
131
|
+
.option("--activity", "list activity events instead of revisions; needs session start --activity")
|
|
122
132
|
.action(async (id, args) => {
|
|
123
133
|
const file = fileId(id);
|
|
124
134
|
const data = args.activity
|
|
125
135
|
? await call("driveactivity.activity.query", {}, {
|
|
126
136
|
itemName: `items/${file}`,
|
|
127
137
|
pageSize: args.limit,
|
|
128
|
-
...(args.
|
|
138
|
+
...(args.cursor ? { pageToken: args.cursor } : {}),
|
|
129
139
|
})
|
|
130
140
|
: await call("drive.revisions.list", {
|
|
131
141
|
fileId: file,
|
|
132
142
|
pageSize: args.limit,
|
|
133
|
-
...(args.
|
|
143
|
+
...(args.cursor ? { pageToken: args.cursor } : {}),
|
|
134
144
|
fields: "nextPageToken,revisions(id,mimeType,modifiedTime,lastModifyingUser(permissionId,displayName,emailAddress),size)",
|
|
135
145
|
});
|
|
136
146
|
output({
|
|
@@ -141,28 +151,33 @@ export const installRemoteCommands = (program, helpers) => {
|
|
|
141
151
|
});
|
|
142
152
|
});
|
|
143
153
|
for (const resource of ["comments", "permissions", "revisions"]) {
|
|
144
|
-
const
|
|
145
|
-
|
|
154
|
+
const one = resource.slice(0, -1);
|
|
155
|
+
const group = program.command(resource).description(`read the ${resource} of a file in Google Drive`);
|
|
156
|
+
page(examples(group.command("list").description(`list a file's ${resource}`).argument("<file>", fileArgument), [
|
|
157
|
+
`drive personal ${resource} list FILE_ID`,
|
|
158
|
+
])).action(async (id, args) => output(await call(`drive.${resource}.list`, {
|
|
146
159
|
fileId: fileId(id),
|
|
147
160
|
pageSize: args.limit,
|
|
148
|
-
...(args.
|
|
161
|
+
...(args.cursor ? { pageToken: args.cursor } : {}),
|
|
149
162
|
fields: "*",
|
|
150
163
|
...(resource === "permissions" ? { supportsAllDrives: true } : {}),
|
|
151
164
|
})));
|
|
152
|
-
group
|
|
165
|
+
examples(group
|
|
153
166
|
.command("get")
|
|
154
|
-
.
|
|
155
|
-
.argument("<
|
|
156
|
-
.action(async (file, id) => output(await call(`drive.${resource}.get`, {
|
|
167
|
+
.description(`show one ${one} of a file`)
|
|
168
|
+
.argument("<file>", fileArgument)
|
|
169
|
+
.argument(`<${one}-id>`, `${one} id, as ${resource} list prints it`), [`drive personal ${resource} get FILE_ID ${one.toUpperCase()}_ID`]).action(async (file, id) => output(await call(`drive.${resource}.get`, {
|
|
157
170
|
fileId: fileId(file),
|
|
158
|
-
[`${
|
|
171
|
+
[`${one}Id`]: id,
|
|
159
172
|
fields: "*",
|
|
160
173
|
...(resource === "permissions" ? { supportsAllDrives: true } : {}),
|
|
161
174
|
})));
|
|
162
175
|
}
|
|
163
|
-
page(program.command("shared-drives").description("
|
|
176
|
+
page(examples(program.command("shared-drives").description("list the shared drives this account can open"), [
|
|
177
|
+
"drive personal shared-drives",
|
|
178
|
+
])).action(async (args) => output(await call("drive.drives.list", {
|
|
164
179
|
pageSize: args.limit,
|
|
165
|
-
...(args.
|
|
180
|
+
...(args.cursor ? { pageToken: args.cursor } : {}),
|
|
166
181
|
fields: "*",
|
|
167
182
|
})));
|
|
168
183
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-commands.js","sourceRoot":"","sources":["../src/remote-commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-commands.js","sourceRoot":"","sources":["../src/remote-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAgD5D,eAAO,MAAM,UAAU,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,WACR,CAAA;AACvD,eAAO,MAAM,SAAS,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,WAA8C,CAAA;AAC5G,eAAO,MAAM,SAAS,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,aAAa,MAAM,KAAG,SAanF,CAAA;AACD,eAAO,MAAM,SAAS,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,SAAS,SAAS,KAAG,IAElF,CAAA;AACD,eAAO,MAAM,gBAAgB,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,KAAG,IAEvE,CAAA;AACD,eAAO,MAAM,YAAY,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,MAAM,MAAM,WACb,CAAA;AAChE,eAAO,MAAM,YAAY,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,WAAW,eAAe,SAI1F,CAAA;AACD,eAAO,MAAM,cAAc,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,MAAM,MAAM,SAS9E,CAAA;AACD,eAAO,MAAM,YAAY,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,MAAM,MAAM,KAAG,eAM/E,CAAA"}
|
package/dist/state.js
CHANGED
|
@@ -15,12 +15,20 @@ const File = v.object({
|
|
|
15
15
|
url: v.string(),
|
|
16
16
|
trashed: v.boolean(),
|
|
17
17
|
canDownload: v.boolean(),
|
|
18
|
+
size: v.optional(v.number()),
|
|
18
19
|
createdAt: v.optional(v.string()),
|
|
19
20
|
description: v.optional(v.string()),
|
|
20
21
|
driveId: v.optional(v.string()),
|
|
21
22
|
owners: v.optional(v.array(User)),
|
|
22
23
|
lastModifiedBy: v.optional(User),
|
|
23
24
|
});
|
|
25
|
+
const Skip = v.object({
|
|
26
|
+
id: ID,
|
|
27
|
+
reason: v.string(),
|
|
28
|
+
file: v.optional(File),
|
|
29
|
+
textLimit: v.optional(v.number()),
|
|
30
|
+
storeRefusedIn: v.optional(v.string()),
|
|
31
|
+
});
|
|
24
32
|
const State = v.object({
|
|
25
33
|
version: v.literal(1),
|
|
26
34
|
principal: v.string(),
|
|
@@ -28,14 +36,14 @@ const State = v.object({
|
|
|
28
36
|
cursor: v.optional(v.string()),
|
|
29
37
|
folders: v.record(ID, File),
|
|
30
38
|
documents: v.record(ID, v.object({ metadata: File, hash: v.string(), reference: v.string(), tabs: v.number() })),
|
|
31
|
-
skipped: v.array(
|
|
39
|
+
skipped: v.array(Skip),
|
|
32
40
|
lastSync: v.optional(v.string()),
|
|
33
41
|
pending: v.optional(v.object({
|
|
34
42
|
cursor: v.string(),
|
|
35
43
|
scope: v.string(),
|
|
36
44
|
folders: v.record(ID, File),
|
|
37
45
|
jobs: v.array(v.object({ id: ID, kind: v.picklist(["save", "remove"]), file: v.optional(File) })),
|
|
38
|
-
skipped: v.array(
|
|
46
|
+
skipped: v.array(Skip),
|
|
39
47
|
})),
|
|
40
48
|
});
|
|
41
49
|
export const profileDir = (env, name) => join(paths(env).state, "profiles", profileName(name));
|
package/dist/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGxD,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA;AAChE,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;AAClH,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACpB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;CACjC,CAAC,CAAA;AACF,MAAM,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
package/dist/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,YAAY,EAIlB,MAAM,YAAY,CAAA;AAqBnB,eAAO,MAAM,MAAM,SACX,YAAY,SACX,MAAM,EAAE,WACN,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,yBAEpC,OASF,CAAA;AAqID,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACvD,QAAQ,EAAE,MAAM,CAAA;CACjB;AACD,eAAO,MAAM,IAAI,WACP,YAAY,GAAG,SAAS,SACzB,aAAa,OACf,MAAM,CAAC,UAAU,QAChB,MAAM,OACP,MAAM,WACF,WAAW,uBAEnB,OAAO,CAAC,UAAU,CAgHpB,CAAA"}
|
package/dist/sync.js
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import { CliError } from "@wirecat/cli-base";
|
|
3
|
-
import { activeProfile } from "./config.js";
|
|
2
|
+
import { CliError, isCliError } from "@wirecat/cli-base";
|
|
3
|
+
import { activeProfile, textLimit } from "./config.js";
|
|
4
4
|
import { googleError } from "./errors.js";
|
|
5
5
|
import { supported } from "./google.js";
|
|
6
6
|
import { FOLDER, } from "./model.js";
|
|
7
7
|
import { lockProfile } from "./profile-lock.js";
|
|
8
8
|
import { readState, removeSnapshot, saveSnapshot, saveState } from "./state.js";
|
|
9
|
+
import { VERSION } from "./version.js";
|
|
9
10
|
const scopeHash = (roots) => createHash("sha256")
|
|
10
11
|
.update(JSON.stringify([...roots].sort()))
|
|
11
12
|
.digest("hex");
|
|
13
|
+
const skipReason = (file) => !file.canDownload ? "downloads restricted" : supported(file) ? undefined : `unsupported type: ${file.mime}`;
|
|
14
|
+
// Skips decided by type are retried once a newer version reads the type; length skips once the limit is raised.
|
|
15
|
+
const retryable = (skip, limit) => skip.reason === "downloads restricted" ||
|
|
16
|
+
skip.reason.startsWith("unsupported type: ") ||
|
|
17
|
+
(skip.textLimit !== undefined && skip.textLimit < limit) ||
|
|
18
|
+
// The store's own bounds change only with the shared package drive pins.
|
|
19
|
+
(skip.storeRefusedIn !== undefined && skip.storeRefusedIn !== VERSION) ||
|
|
20
|
+
// 0.2.0 and earlier skipped text over 200 000 characters with this reason and no recorded limit.
|
|
21
|
+
(skip.reason.startsWith("document exceeds the ingestion bound") && limit > 200000);
|
|
12
22
|
const hashText = (text) => createHash("sha256").update(text).digest("hex");
|
|
13
23
|
export const within = (file, roots, folders, seen = new Set()) => {
|
|
14
24
|
if (file.trashed)
|
|
@@ -23,7 +33,7 @@ export const within = (file, roots, folders, seen = new Set()) => {
|
|
|
23
33
|
return folder ? within(folder, roots, folders, next) : roots.includes(id);
|
|
24
34
|
});
|
|
25
35
|
};
|
|
26
|
-
const plan = async (source, state, roots, abandoned = []) => {
|
|
36
|
+
const plan = async (source, state, roots, limit, abandoned = []) => {
|
|
27
37
|
const scope = scopeHash(roots);
|
|
28
38
|
if (!roots.length)
|
|
29
39
|
return {
|
|
@@ -129,15 +139,17 @@ const plan = async (source, state, roots, abandoned = []) => {
|
|
|
129
139
|
if (!within(file, roots, folders))
|
|
130
140
|
continue;
|
|
131
141
|
const previousSkip = state.skipped.find((item) => item.id === id);
|
|
132
|
-
|
|
142
|
+
const reason = skipReason(file);
|
|
143
|
+
const retry = previousSkip && !reason && retryable(previousSkip, limit);
|
|
144
|
+
if (previousSkip && !changed.has(id) && !initial && !retry) {
|
|
133
145
|
skipped.push({ ...previousSkip, file });
|
|
134
146
|
continue;
|
|
135
147
|
}
|
|
136
|
-
if (
|
|
137
|
-
skipped.push({ id, reason
|
|
148
|
+
if (reason) {
|
|
149
|
+
skipped.push({ id, reason, file });
|
|
138
150
|
continue;
|
|
139
151
|
}
|
|
140
|
-
if (changed.has(id)) {
|
|
152
|
+
if (changed.has(id) || retry) {
|
|
141
153
|
const previous = state.documents[id]?.metadata;
|
|
142
154
|
if (!previous ||
|
|
143
155
|
previous.version !== file.version ||
|
|
@@ -176,6 +188,7 @@ export const sync = async (source, index, env, name, max, signal, rescan = false
|
|
|
176
188
|
if (profile.roots.length && (!source || (await source.identity()) !== profile.principal))
|
|
177
189
|
throw new CliError("authentication_error", "signed-in Google account does not match this profile");
|
|
178
190
|
const state = readState(env, name, profile.principal);
|
|
191
|
+
const limit = textLimit(env, name);
|
|
179
192
|
const currentScope = scopeHash(profile.roots);
|
|
180
193
|
const abandoned = state.pending && (state.pending.scope !== currentScope || rescan) ? state.pending.jobs.map((job) => job.id) : [];
|
|
181
194
|
if (state.pending?.scope !== currentScope || rescan)
|
|
@@ -183,7 +196,7 @@ export const sync = async (source, index, env, name, max, signal, rescan = false
|
|
|
183
196
|
if (rescan)
|
|
184
197
|
delete state.cursor;
|
|
185
198
|
if (!state.pending) {
|
|
186
|
-
state.pending = await plan(source, state, profile.roots, abandoned);
|
|
199
|
+
state.pending = await plan(source, state, profile.roots, limit, abandoned);
|
|
187
200
|
state.skipped = state.pending.skipped;
|
|
188
201
|
saveState(env, name, state);
|
|
189
202
|
}
|
|
@@ -203,11 +216,8 @@ export const sync = async (source, index, env, name, max, signal, rescan = false
|
|
|
203
216
|
delete state.documents[job.id];
|
|
204
217
|
result.removed++;
|
|
205
218
|
}
|
|
206
|
-
else if (job.file && (
|
|
207
|
-
const skipped = {
|
|
208
|
-
id: job.id,
|
|
209
|
-
reason: !job.file.canDownload ? "downloads restricted" : `unsupported type: ${job.file.mime}`,
|
|
210
|
-
};
|
|
219
|
+
else if (job.file && skipReason(job.file)) {
|
|
220
|
+
const skipped = { id: job.id, reason: skipReason(job.file) };
|
|
211
221
|
if (state.documents[job.id]) {
|
|
212
222
|
await index.remove(profile.principal, job.id);
|
|
213
223
|
removeSnapshot(env, name, job.id);
|
|
@@ -219,7 +229,7 @@ export const sync = async (source, index, env, name, max, signal, rescan = false
|
|
|
219
229
|
else {
|
|
220
230
|
if (!source)
|
|
221
231
|
throw new CliError("configuration_error", "a pending save requires Google sign-in");
|
|
222
|
-
const content = await source.content(job.id);
|
|
232
|
+
const content = await source.content(job.id, limit);
|
|
223
233
|
if (!within(content.metadata, profile.roots, pending.folders)) {
|
|
224
234
|
await index.remove(profile.principal, job.id);
|
|
225
235
|
removeSnapshot(env, name, job.id);
|
|
@@ -229,7 +239,13 @@ export const sync = async (source, index, env, name, max, signal, rescan = false
|
|
|
229
239
|
else {
|
|
230
240
|
const hash = hashText(content.text);
|
|
231
241
|
const previous = state.documents[job.id];
|
|
232
|
-
const reference = await index.save(profile.principal, content, hash)
|
|
242
|
+
const reference = await index.save(profile.principal, content, hash).catch((error) => {
|
|
243
|
+
if (!isCliError(error) || error.code !== "validation_error")
|
|
244
|
+
throw error;
|
|
245
|
+
throw new CliError("validation_error", `the local store refused this text: ${error.message}`, {
|
|
246
|
+
storeRefusedIn: VERSION,
|
|
247
|
+
});
|
|
248
|
+
});
|
|
233
249
|
saveSnapshot(env, name, content);
|
|
234
250
|
state.documents[job.id] = { metadata: content.metadata, hash, reference, tabs: content.tabs.length };
|
|
235
251
|
if (previous?.hash === hash)
|
|
@@ -249,7 +265,13 @@ export const sync = async (source, index, env, name, max, signal, rescan = false
|
|
|
249
265
|
await index.remove(profile.principal, job.id);
|
|
250
266
|
removeSnapshot(env, name, job.id);
|
|
251
267
|
delete state.documents[job.id];
|
|
252
|
-
const skipped = {
|
|
268
|
+
const skipped = {
|
|
269
|
+
id: job.id,
|
|
270
|
+
reason: safe.message,
|
|
271
|
+
...(job.file ? { file: job.file } : {}),
|
|
272
|
+
...(safe.details.textLimit ? { textLimit: limit } : {}),
|
|
273
|
+
...(safe.details.storeRefusedIn ? { storeRefusedIn: VERSION } : {}),
|
|
274
|
+
};
|
|
253
275
|
state.skipped = state.skipped.filter((item) => item.id !== job.id);
|
|
254
276
|
state.skipped.push(skipped);
|
|
255
277
|
result.skipped.push({ id: skipped.id, reason: skipped.reason });
|