@wirecat/drive-cli 0.13.0 → 0.14.1

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/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/sync.d.ts CHANGED
@@ -1,24 +1,5 @@
1
1
  import { type DocumentIndex, type GoogleSource } from "./model.js";
2
+ export type { SyncResult } from "@wirecat/cli-core/documents";
2
3
  export { within } from "./scope.js";
3
- export interface SyncResult {
4
- saved: number;
5
- names_only: number;
6
- removed: number;
7
- unchanged: number;
8
- pictures?: number;
9
- pictures_too_large?: number;
10
- pictures_skipped?: string;
11
- pending: number;
12
- skipped: {
13
- id: string;
14
- reason: string;
15
- }[];
16
- errors: {
17
- id: string;
18
- code: string;
19
- message: string;
20
- }[];
21
- coverage: string;
22
- }
23
- export declare const sync: (source: GoogleSource | undefined, index: DocumentIndex, env: NodeJS.ProcessEnv, name: string, max: number, signal?: AbortSignal, rescan?: boolean) => Promise<SyncResult>;
4
+ export declare const sync: (source: GoogleSource | undefined, index: DocumentIndex, env: NodeJS.ProcessEnv, name: string, max: number, signal?: AbortSignal, rescan?: boolean) => Promise<import("@wirecat/cli-core/documents").SyncResult>;
24
5
  //# sourceMappingURL=sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,aAAa,EAGlB,KAAK,YAAY,EAMlB,MAAM,YAAY,CAAA;AAwCnB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAsLnC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,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,CAiLpB,CAAA"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAA6B,KAAK,YAAY,EAAa,MAAM,YAAY,CAAA;AAKxG,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAcnC,eAAO,MAAM,IAAI,WACP,YAAY,GAAG,SAAS,SACzB,aAAa,OACf,MAAM,CAAC,UAAU,QAChB,MAAM,OACP,MAAM,WACF,WAAW,gFAqCrB,CAAA"}
package/dist/sync.js CHANGED
@@ -1,17 +1,12 @@
1
- import { createHash } from "node:crypto";
2
- import { CliError, isCliError } from "@wirecat/cli-base";
3
- import { catalogFiles } from "./catalog.js";
1
+ import { syncDocuments } from "@wirecat/cli-core/documents";
4
2
  import { activeProfile, textLimit } from "./config.js";
5
3
  import { googleError } from "./errors.js";
6
4
  import { MAX_ENTRIES, supported, tooManyEntries } from "./google.js";
7
- import { FOLDER, } from "./model.js";
5
+ import { FOLDER } from "./model.js";
8
6
  import { lockProfile } from "./profile-lock.js";
9
- import { within } from "./scope.js";
10
- import { readState, readWalk, removeSnapshot, removeWalk, saveSnapshot, saveState, saveWalk, } from "./state.js";
7
+ import { readState, readWalk, removeSnapshot, removeWalk, saveSnapshot, saveState, saveWalk } from "./state.js";
11
8
  import { VERSION } from "./version.js";
12
- const scopeHash = (roots) => createHash("sha256")
13
- .update(JSON.stringify([...roots].sort()))
14
- .digest("hex");
9
+ export { within } from "./scope.js";
15
10
  const skipReason = (file) => !file.canDownload ? "downloads restricted" : supported(file) ? undefined : `unsupported type: ${file.mime}`;
16
11
  // Skips decided by type are retried once a newer version reads the type; length skips once the limit is raised.
17
12
  const retryable = (skip, limit) => skip.reason === "downloads restricted" ||
@@ -21,401 +16,40 @@ const retryable = (skip, limit) => skip.reason === "downloads restricted" ||
21
16
  (skip.storeRefusedIn !== undefined && skip.storeRefusedIn !== VERSION) ||
22
17
  // 0.2.0 and earlier skipped text over 200 000 characters with this reason and no recorded limit.
23
18
  (skip.reason.startsWith("document exceeds the ingestion bound") && limit > 200000);
24
- const changedSince = (previous, file) => previous.version !== file.version ||
25
- previous.modifiedAt !== file.modifiedAt ||
26
- previous.name !== file.name ||
27
- previous.canDownload !== file.canDownload ||
28
- JSON.stringify(previous.parents) !== JSON.stringify(file.parents);
29
- const MAX_PICTURE_BYTES = 25 * 1024 * 1024;
30
- const isPicture = (file) => file.mime.startsWith("image/") && file.canDownload;
31
- const hashText = (text) => createHash("sha256").update(text).digest("hex");
32
- export { within } from "./scope.js";
33
- /** How often an unfinished walk or batch is written down; a kill loses at most this much, and a rerun redoes it. */
34
- const SAVE_EVERY_MS = 2000;
35
- const SAVE_EVERY_ITEMS = 25;
36
- const plan = async (source, state, roots, limit, pictures, abandoned = [], walks) => {
37
- const scope = scopeHash(roots);
38
- if (!roots.length)
39
- return {
40
- scope,
41
- cursor: state.cursor ?? "",
42
- folders: {},
43
- skipped: [],
44
- jobs: [...new Set([...Object.keys(state.documents), ...abandoned])].map((id) => ({ id, kind: "remove" })),
45
- };
46
- if (!source)
47
- throw new CliError("configuration_error", "selected folders require an authenticated Google source");
48
- const initial = !state.cursor || scope !== state.scope;
49
- const resumed = initial ? walks?.read(scope) : undefined;
50
- const cursor = initial ? (resumed?.cursor ?? (await source.startToken())) : state.cursor;
51
- const folders = initial ? {} : structuredClone(state.folders);
52
- const files = new Map(Object.values(state.documents).map((doc) => [doc.metadata.id, doc.metadata]));
53
- const changed = new Set();
54
- for (const skipped of state.skipped)
55
- if (skipped.file)
56
- files.set(skipped.id, skipped.file);
57
- const visited = new Set();
58
- let discovered = 0;
59
- const crawl = async (folder, ancestry = new Set()) => {
60
- if (ancestry.has(folder.id))
61
- throw new CliError("invalid_response", "folder traversal contains a cycle");
62
- if (visited.has(folder.id))
63
- return;
64
- visited.add(folder.id);
65
- folders[folder.id] = folder;
66
- for (const file of await source.children(folder.id)) {
67
- if (++discovered > MAX_ENTRIES)
68
- throw tooManyEntries();
69
- if (file.mime === FOLDER)
70
- await crawl(file, new Set([...ancestry, folder.id]));
71
- else {
72
- files.set(file.id, file);
73
- changed.add(file.id);
74
- }
75
- }
76
- };
77
- let finalCursor = cursor;
78
- if (initial) {
79
- files.clear();
80
- const walk = resumed ?? {
81
- scope,
82
- cursor,
83
- stack: [...roots].reverse().map((id) => ({ id, ancestry: [] })),
84
- visited: [],
85
- folders: {},
86
- files: [],
87
- discovered: 0,
88
- };
89
- for (const id of walk.visited)
90
- visited.add(id);
91
- Object.assign(folders, walk.folders);
92
- for (const file of walk.files) {
93
- files.set(file.id, file);
94
- changed.add(file.id);
95
- }
96
- discovered = walk.discovered;
97
- let savedAt = Date.now();
98
- const record = () => {
99
- walks?.save({ ...walk, visited: [...visited], folders, files: [...files.values()], discovered });
100
- savedAt = Date.now();
101
- };
102
- try {
103
- for (let step = walk.stack.at(-1); step; step = walk.stack.at(-1)) {
104
- if (step.ancestry.includes(step.id))
105
- throw new CliError("invalid_response", "folder traversal contains a cycle");
106
- if (visited.has(step.id)) {
107
- walk.stack.pop();
108
- continue;
109
- }
110
- const folder = step.folder ?? (await source.metadata(step.id));
111
- if (!step.folder && (folder.mime !== FOLDER || folder.trashed))
112
- throw new CliError("validation_error", "configured root is not an accessible folder");
113
- const children = await source.children(folder.id);
114
- if (discovered + children.length > MAX_ENTRIES)
115
- throw tooManyEntries();
116
- discovered += children.length;
117
- walk.stack.pop();
118
- visited.add(folder.id);
119
- folders[folder.id] = folder;
120
- const nested = [];
121
- for (const file of children)
122
- if (file.mime === FOLDER)
123
- nested.push({ id: file.id, ancestry: [...step.ancestry, folder.id], folder: file });
124
- else {
125
- files.set(file.id, file);
126
- changed.add(file.id);
127
- }
128
- walk.stack.push(...nested.reverse());
129
- if (Date.now() - savedAt > SAVE_EVERY_MS)
130
- record();
131
- }
132
- }
133
- catch (error) {
134
- record();
135
- throw error;
136
- }
137
- }
138
- else {
139
- const page = await source.changes(cursor);
140
- finalCursor = page.cursor;
141
- const latest = new Map(page.items.map((change) => [change.id, change]));
142
- const entering = [];
143
- // Apply all ancestry changes before classifying document scope.
144
- for (const change of latest.values()) {
145
- if (change.removed || change.file?.trashed) {
146
- files.delete(change.id);
147
- if (folders[change.id])
148
- folders[change.id] = { ...folders[change.id], trashed: true };
149
- }
150
- else if (change.file?.mime === FOLDER) {
151
- folders[change.id] = change.file;
152
- entering.push(change.file);
153
- }
154
- else if (change.file) {
155
- files.set(change.id, change.file);
156
- changed.add(change.id);
157
- }
158
- else if (state.documents[change.id] || folders[change.id])
159
- throw new CliError("invalid_response", "known source changed without metadata; checkpoint preserved");
160
- }
161
- // Drive-level access changes may not emit an event for every descendant file.
162
- for (const root of roots) {
163
- const previous = folders[root];
164
- try {
165
- const current = await source.metadata(root);
166
- if (current.id !== root || current.mime !== FOLDER)
167
- throw new CliError("invalid_response", "selected folder metadata is inconsistent");
168
- folders[root] = current;
169
- if (previous?.trashed && !current.trashed)
170
- entering.push(current);
171
- }
172
- catch (error) {
173
- const safe = googleError(error);
174
- if (safe.code !== "not_found" || !previous)
175
- throw safe;
176
- folders[root] = { ...previous, trashed: true };
177
- }
178
- }
179
- for (const folder of entering)
180
- if (!visited.has(folder.id) && within(folder, roots, folders))
181
- await crawl(folder);
182
- }
183
- const jobs = [];
184
- const skipped = [];
185
- for (const root of roots)
186
- if (folders[root]?.trashed)
187
- skipped.push({ id: root, reason: "selected folder is unavailable" });
188
- for (const [id, file] of files) {
189
- if (!within(file, roots, folders))
190
- continue;
191
- const previousSkip = state.skipped.find((item) => item.id === id);
192
- const reason = skipReason(file);
193
- const retry = previousSkip && !reason && retryable(previousSkip, limit);
194
- const known = state.documents[id];
195
- const pictureDue = pictures && isPicture(file) && known !== undefined && !known.picture;
196
- if (previousSkip && !changed.has(id) && !initial && !retry && !pictureDue && !(reason && !state.documents[id])) {
197
- skipped.push({ ...previousSkip, file });
198
- continue;
199
- }
200
- if (reason) {
201
- skipped.push({ id, reason, file });
202
- if (initial || !known || known.notRead !== reason || changedSince(known.metadata, file) || pictureDue)
203
- jobs.push({ id, kind: "save", file });
204
- continue;
205
- }
206
- if (changed.has(id) || retry || known?.notRead) {
207
- if (!known || known.notRead || changedSince(known.metadata, file) || initial)
208
- jobs.push({ id, kind: "save", file });
209
- }
210
- }
211
- for (const id of new Set([...Object.keys(state.documents), ...abandoned])) {
212
- const file = files.get(id);
213
- if (!file || !within(file, roots, folders))
214
- jobs.push({ id, kind: "remove" });
215
- }
216
- // Only retain metadata for selected ancestry; the account-wide feed includes unrelated folders.
217
- const scopedFolders = Object.fromEntries(Object.entries(folders).filter(([, file]) => within(file, roots, folders) || roots.includes(file.id)));
218
- return { scope, cursor: finalCursor, folders: scopedFolders, jobs, skipped };
219
- };
220
19
  export const sync = async (source, index, env, name, max, signal, rescan = false) => {
221
20
  const profile = activeProfile(env, name);
222
- if (signal?.aborted)
223
- throw new CliError("cancelled", "sync was cancelled");
224
21
  const lock = await lockProfile(env, name);
225
- const result = {
226
- saved: 0,
227
- names_only: 0,
228
- removed: 0,
229
- unchanged: 0,
230
- pending: 0,
231
- skipped: [],
232
- errors: [],
233
- coverage: "selected folders only; unsupported files are reported",
234
- ...(profile.picture_search ? { pictures: 0 } : {}),
235
- };
236
- let writer;
237
- let flush;
238
22
  try {
239
- if (profile.roots.length && (!source || (await source.identity()) !== profile.principal))
240
- throw new CliError("authentication_error", "signed-in Google account does not match this profile", {
241
- reason: "profile.wrong-account",
242
- });
243
- const state = readState(env, name, profile.principal);
244
- const limit = textLimit(env, name);
245
- const currentScope = scopeHash(profile.roots);
246
- const abandoned = state.pending && (state.pending.scope !== currentScope || rescan) ? state.pending.jobs.map((job) => job.id) : [];
247
- if (state.pending?.scope !== currentScope || rescan)
248
- delete state.pending;
249
- if (rescan) {
250
- delete state.cursor;
251
- removeWalk(env, name);
252
- }
253
- if (!state.pending) {
254
- state.pending = await plan(source, state, profile.roots, limit, profile.picture_search ?? false, abandoned, {
255
- read: (scope) => readWalk(env, name, scope),
256
- save: (walk) => saveWalk(env, name, walk),
257
- });
258
- state.skipped = state.pending.skipped;
259
- saveState(env, name, state);
260
- removeWalk(env, name);
261
- }
262
- const pending = state.pending;
263
- if (!pending)
264
- throw new CliError("invalid_response", "could not prepare a sync batch");
265
- if (index.catalog)
266
- await index.catalog.import(profile.principal, catalogFiles(state, profile.roots));
267
- result.skipped = state.skipped.map(({ id, reason }) => ({ id, reason }));
268
- const saveNamesOnly = async (file, reason) => {
269
- const doc = { metadata: file, markdown: "", text: "", tabs: [], notRead: reason };
270
- const hash = hashText("");
271
- const previous = state.documents[file.id];
272
- const reference = await index.save(profile.principal, doc, hash);
273
- saveSnapshot(env, name, doc);
274
- state.documents[file.id] = { metadata: file, hash, reference, tabs: 0, notRead: reason };
275
- if (previous?.notRead === reason && !changedSince(previous.metadata, file))
276
- result.unchanged++;
277
- else
278
- result.names_only++;
279
- };
280
- let modelMissing = false;
281
- const savePictureOf = async (file) => {
282
- const entry = state.documents[file.id];
283
- if (!profile.picture_search || !isPicture(file) || modelMissing)
284
- return;
285
- if ((file.size ?? 0) > MAX_PICTURE_BYTES) {
286
- entry.picture = "too-large";
287
- result.pictures_too_large = (result.pictures_too_large ?? 0) + 1;
288
- return;
289
- }
290
- if (!source)
291
- throw new CliError("configuration_error", "a pending picture requires Google sign-in");
292
- if (!writer) {
293
- try {
294
- writer = await index.openPictures();
295
- }
296
- catch (error) {
297
- if (!isCliError(error) || error.code !== "not_found")
298
- throw error;
299
- modelMissing = true;
300
- result.pictures_skipped = error.message;
301
- return;
302
- }
303
- }
304
- const bytes = await source.bytes(file.id);
305
- if (bytes.length > MAX_PICTURE_BYTES) {
306
- entry.picture = "too-large";
307
- result.pictures_too_large = (result.pictures_too_large ?? 0) + 1;
308
- return;
309
- }
310
- if ((await writer.save(entry.reference, bytes)) === "saved")
311
- result.pictures = (result.pictures ?? 0) + 1;
312
- entry.picture = "saved";
313
- };
314
- // Saving the whole state after every file grows with the profile; a batch at a time keeps it bounded.
315
- let unsaved = 0;
316
- let savedAt = Date.now();
317
- flush = () => {
318
- if (unsaved)
319
- saveState(env, name, state);
320
- unsaved = 0;
321
- savedAt = Date.now();
322
- };
323
- const progress = () => {
324
- if (++unsaved >= SAVE_EVERY_ITEMS || Date.now() - savedAt >= SAVE_EVERY_MS)
325
- flush?.();
326
- };
327
- const jobs = [...pending.jobs].slice(0, max);
328
- for (const job of jobs) {
329
- if (signal?.aborted)
330
- throw new CliError("cancelled", "sync was cancelled; pending operations are retained");
331
- lock.assertHeld();
332
- try {
333
- if (job.kind === "remove") {
334
- await index.remove(profile.principal, job.id);
335
- removeSnapshot(env, name, job.id);
336
- delete state.documents[job.id];
337
- result.removed++;
338
- }
339
- else if (job.file && skipReason(job.file)) {
340
- await saveNamesOnly(job.file, skipReason(job.file));
341
- await savePictureOf(job.file);
342
- }
343
- else {
344
- if (!source)
345
- throw new CliError("configuration_error", "a pending save requires Google sign-in");
346
- const content = await source.content(job.id, limit);
347
- if (!within(content.metadata, profile.roots, pending.folders)) {
348
- await index.remove(profile.principal, job.id);
349
- removeSnapshot(env, name, job.id);
350
- delete state.documents[job.id];
351
- result.removed++;
352
- }
353
- else {
354
- const hash = hashText(content.text);
355
- const previous = state.documents[job.id];
356
- const reference = await index.save(profile.principal, content, hash).catch((error) => {
357
- if (!isCliError(error) || error.code !== "validation_error")
358
- throw error;
359
- throw new CliError("validation_error", `the local store refused this text: ${error.message}`, {
360
- reason: "store.refused",
361
- store_refused_in: VERSION,
362
- });
363
- });
364
- saveSnapshot(env, name, content);
365
- state.documents[job.id] = { metadata: content.metadata, hash, reference, tabs: content.tabs.length };
366
- if (previous?.hash === hash)
367
- result.unchanged++;
368
- else
369
- result.saved++;
370
- }
371
- }
372
- pending.jobs = pending.jobs.filter((item) => item !== job);
373
- progress();
374
- }
375
- catch (error) {
376
- const safe = googleError(error);
377
- if (safe.code === "cancelled")
378
- throw safe;
379
- if (job.kind === "save" && (safe.code === "not_found" || safe.code === "validation_error")) {
380
- const skipped = {
381
- id: job.id,
382
- reason: safe.message,
383
- ...(job.file ? { file: job.file } : {}),
384
- ...(safe.details.text_limit ? { textLimit: limit } : {}),
385
- ...(safe.details.store_refused_in ? { storeRefusedIn: VERSION } : {}),
386
- };
387
- if (job.file && safe.code === "validation_error")
388
- await saveNamesOnly(job.file, skipped.reason);
389
- else {
390
- await index.remove(profile.principal, job.id);
391
- removeSnapshot(env, name, job.id);
392
- delete state.documents[job.id];
393
- }
394
- state.skipped = state.skipped.filter((item) => item.id !== job.id);
395
- state.skipped.push(skipped);
396
- result.skipped.push({ id: skipped.id, reason: skipped.reason });
397
- pending.jobs = pending.jobs.filter((item) => item !== job);
398
- progress();
399
- continue;
400
- }
401
- result.errors.push({ id: job.id, code: safe.code, message: safe.message });
402
- }
403
- }
404
- flush();
405
- result.pending = pending.jobs.length;
406
- if (!pending.jobs.length) {
407
- state.cursor = pending.cursor;
408
- state.scope = pending.scope;
409
- state.folders = pending.folders;
410
- delete state.pending;
411
- state.lastSync = new Date().toISOString();
412
- saveState(env, name, state);
413
- }
414
- return result;
23
+ return await syncDocuments({
24
+ source,
25
+ index,
26
+ principal: profile.principal,
27
+ roots: profile.roots,
28
+ max,
29
+ signal,
30
+ rescan,
31
+ pictures: profile.picture_search,
32
+ textLimit: textLimit(env, name),
33
+ maxEntries: MAX_ENTRIES,
34
+ limitError: tooManyEntries,
35
+ isFolder: (file) => file.mime === FOLDER,
36
+ skipReason,
37
+ retryable,
38
+ errorOf: googleError,
39
+ assertHeld: () => lock.assertHeld(),
40
+ storeVersion: VERSION,
41
+ state: {
42
+ read: () => readState(env, name, profile.principal),
43
+ save: (state) => saveState(env, name, state),
44
+ readWalk: (scope) => readWalk(env, name, scope),
45
+ saveWalk: (walk) => saveWalk(env, name, walk),
46
+ removeWalk: () => removeWalk(env, name),
47
+ saveSnapshot: (content) => saveSnapshot(env, name, content),
48
+ removeSnapshot: (id) => removeSnapshot(env, name, id),
49
+ },
50
+ });
415
51
  }
416
52
  finally {
417
- flush?.();
418
- await writer?.close();
419
53
  await lock.release();
420
54
  }
421
55
  };
package/dist/sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wirecat/drive-cli",
3
- "version": "0.13.0",
3
+ "version": "0.14.1",
4
4
  "description": "Google Drive and Docs sync, Markdown snapshots and local search",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -56,8 +56,8 @@
56
56
  "@googleapis/drive": "26.0.2",
57
57
  "@googleapis/driveactivity": "11.0.1",
58
58
  "@modelcontextprotocol/server": "2.1.0",
59
- "@wirecat/cli-base": "0.35.0",
60
- "@wirecat/cli-core": "0.294.0",
59
+ "@wirecat/cli-base": "0.40.0",
60
+ "@wirecat/cli-core": "0.299.0",
61
61
  "commander": "15.0.0",
62
62
  "google-auth-library": "11.2.0",
63
63
  "mammoth": "1.13.0",