@wirecat/drive-cli 0.5.0 → 0.7.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.
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ItemEnvelope, ListEnvelope } from "@wirecat/cli-base/standards";
2
+ import type { Command } from "commander";
3
+ export declare const providerJsonFields: (command: Command | undefined) => string[] | undefined;
4
+ export declare const checkProviderJson: (command: Command, request: {
5
+ json: boolean;
6
+ fields?: string;
7
+ }, terminal: boolean) => void;
8
+ /** Unregistered provider answers still reject an unknown top-level field before projection. */
9
+ export declare const checkResultFields: (command: Command, answer: ItemEnvelope<unknown> | ListEnvelope<unknown>, fields: string) => void;
10
+ //# sourceMappingURL=provider-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-json.d.ts","sourceRoot":"","sources":["../src/provider-json.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAG7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,eAAO,MAAM,kBAAkB,YAAa,OAAO,GAAG,SAAS,KAAG,MAAM,EAAE,GAAG,SAG9D,CAAA;AAEf,eAAO,MAAM,iBAAiB,YAAa,OAAO,WAAW;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,YAAY,OAAO,SAMjH,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB,YACnB,OAAO,UACR,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,UAC7C,MAAM,SAMf,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { CliError } from "@wirecat/cli-base";
2
+ import { metaOf } from "@wirecat/cli-base/commands";
3
+ import { writes } from "@wirecat/cli-base/standards";
4
+ import { answerFields, checkJson } from "@wirecat/cli-core/cli";
5
+ import { CATALOG_FIELDS } from "./catalog.js";
6
+ export const providerJsonFields = (command) => command?.parent?.name() === "catalog" && ["list", "search", "show"].includes(command.name())
7
+ ? CATALOG_FIELDS
8
+ : undefined;
9
+ export const checkProviderJson = (command, request, terminal) => {
10
+ checkJson(command, request, terminal, providerJsonFields);
11
+ if (request.fields && writes(metaOf(command).effects) && !answerFields(command, providerJsonFields))
12
+ throw new CliError("validation_error", "this write has no declared result fields; use --json without selection", {
13
+ param: "--json",
14
+ });
15
+ };
16
+ /** Unregistered provider answers still reject an unknown top-level field before projection. */
17
+ export const checkResultFields = (command, answer, fields) => {
18
+ const rows = "items" in answer ? answer.items : [answer.item];
19
+ if (!rows.length)
20
+ return;
21
+ const available = [...new Set(rows.flatMap((row) => (row && typeof row === "object" ? Object.keys(row) : [])))];
22
+ checkJson(command, { json: true, fields }, false, () => available);
23
+ };
24
+ //# sourceMappingURL=provider-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-json.js","sourceRoot":"","sources":["../src/provider-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAA4B,EAAwB,EAAE,CACvF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1F,CAAC,CAAC,cAAc;IAChB,CAAC,CAAC,SAAS,CAAA;AAEf,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAE,OAA2C,EAAE,QAAiB,EAAE,EAAE;IACpH,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IACzD,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,kBAAkB,CAAC;QACjG,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,wEAAwE,EAAE;YAC/G,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAA;AACN,CAAC,CAAA;AAED,+FAA+F;AAC/F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,MAAqD,EACrD,MAAc,EACd,EAAE;IACF,MAAM,IAAI,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7D,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAM;IACxB,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/G,SAAS,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AACpE,CAAC,CAAA"}
@@ -5,7 +5,7 @@ export declare const ACCOUNT_FREE_COMMANDS: Set<string>;
5
5
  /** Examples go into `commands --json` for agents and under the options in `--help` for people. */
6
6
  export declare const examples: (command: Command, lines: string[]) => Command;
7
7
  /** The major version of the JSON drive's commands print; raise it when a field is removed or renamed. */
8
- export declare const CONTRACT = 2;
8
+ export declare const CONTRACT = 3;
9
9
  /** Preserve shared registry paths/anchors while making executable usage show the account boundary. */
10
10
  export declare const describeDriveProgram: (program: Command) => CommandInfo[];
11
11
  /** cli-base's `commands --json` document, with drive's `<profile>` usage and a `commands <path>` scope. */
package/dist/registry.js CHANGED
@@ -6,7 +6,7 @@ export const ACCOUNT_FREE_COMMANDS = new Set(["commands", "complete", "api show"
6
6
  /** Examples go into `commands --json` for agents and under the options in `--help` for people. */
7
7
  export const examples = (command, lines) => annotate(command, { examples: lines }).addHelpText("after", `Examples:\n${lines.map((line) => ` ${line}`).join("\n")}\n`);
8
8
  /** The major version of the JSON drive's commands print; raise it when a field is removed or renamed. */
9
- export const CONTRACT = 2;
9
+ export const CONTRACT = 3;
10
10
  /** Preserve shared registry paths/anchors while making executable usage show the account boundary. */
11
11
  export const describeDriveProgram = (program) => {
12
12
  const scoped = (info) => ({
package/dist/state.d.ts CHANGED
@@ -1,11 +1,106 @@
1
+ import * as v from "valibot";
1
2
  import type { DocumentContent, SyncState } from "./model.js";
3
+ declare const Walk: v.ObjectSchema<{
4
+ readonly scope: v.StringSchema<undefined>;
5
+ readonly cursor: v.StringSchema<undefined>;
6
+ readonly stack: v.ArraySchema<v.ObjectSchema<{
7
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>;
8
+ readonly ancestry: v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, undefined>;
9
+ readonly folder: v.OptionalSchema<v.ObjectSchema<{
10
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>;
11
+ readonly name: v.StringSchema<undefined>;
12
+ readonly mime: v.StringSchema<undefined>;
13
+ readonly parents: v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, undefined>;
14
+ readonly version: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
15
+ readonly modifiedAt: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
16
+ readonly url: v.StringSchema<undefined>;
17
+ readonly trashed: v.BooleanSchema<undefined>;
18
+ readonly canDownload: v.BooleanSchema<undefined>;
19
+ readonly size: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
20
+ readonly createdAt: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
21
+ readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
22
+ readonly driveId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
23
+ readonly owners: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
24
+ readonly id: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
25
+ readonly email: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
26
+ readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
27
+ }, undefined>, undefined>, undefined>;
28
+ readonly lastModifiedBy: v.OptionalSchema<v.ObjectSchema<{
29
+ readonly id: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
30
+ readonly email: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
31
+ readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
32
+ }, undefined>, undefined>;
33
+ readonly providerMetadata: v.OptionalSchema<v.UnknownSchema, undefined>;
34
+ }, undefined>, undefined>;
35
+ }, undefined>, undefined>;
36
+ readonly visited: v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, undefined>;
37
+ readonly folders: v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, v.ObjectSchema<{
38
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>;
39
+ readonly name: v.StringSchema<undefined>;
40
+ readonly mime: v.StringSchema<undefined>;
41
+ readonly parents: v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, undefined>;
42
+ readonly version: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
43
+ readonly modifiedAt: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
44
+ readonly url: v.StringSchema<undefined>;
45
+ readonly trashed: v.BooleanSchema<undefined>;
46
+ readonly canDownload: v.BooleanSchema<undefined>;
47
+ readonly size: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
48
+ readonly createdAt: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
49
+ readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
50
+ readonly driveId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
51
+ readonly owners: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
52
+ readonly id: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
53
+ readonly email: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
54
+ readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
55
+ }, undefined>, undefined>, undefined>;
56
+ readonly lastModifiedBy: v.OptionalSchema<v.ObjectSchema<{
57
+ readonly id: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
58
+ readonly email: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
59
+ readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
60
+ }, undefined>, undefined>;
61
+ readonly providerMetadata: v.OptionalSchema<v.UnknownSchema, undefined>;
62
+ }, undefined>, undefined>;
63
+ readonly files: v.ArraySchema<v.ObjectSchema<{
64
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>;
65
+ readonly name: v.StringSchema<undefined>;
66
+ readonly mime: v.StringSchema<undefined>;
67
+ readonly parents: v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, undefined>;
68
+ readonly version: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
69
+ readonly modifiedAt: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
70
+ readonly url: v.StringSchema<undefined>;
71
+ readonly trashed: v.BooleanSchema<undefined>;
72
+ readonly canDownload: v.BooleanSchema<undefined>;
73
+ readonly size: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
74
+ readonly createdAt: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
75
+ readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
76
+ readonly driveId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
77
+ readonly owners: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
78
+ readonly id: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
79
+ readonly email: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
80
+ readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
81
+ }, undefined>, undefined>, undefined>;
82
+ readonly lastModifiedBy: v.OptionalSchema<v.ObjectSchema<{
83
+ readonly id: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
84
+ readonly email: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
85
+ readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
86
+ }, undefined>, undefined>;
87
+ readonly providerMetadata: v.OptionalSchema<v.UnknownSchema, undefined>;
88
+ }, undefined>, undefined>;
89
+ readonly discovered: v.NumberSchema<undefined>;
90
+ }, undefined>;
91
+ export type Walk = v.InferOutput<typeof Walk>;
2
92
  export declare const profileDir: (env: NodeJS.ProcessEnv, name: string) => string;
3
93
  export declare const statePath: (env: NodeJS.ProcessEnv, name: string) => string;
4
94
  export declare const readState: (env: NodeJS.ProcessEnv, name: string, principal: string) => SyncState;
5
95
  export declare const saveState: (env: NodeJS.ProcessEnv, name: string, state: SyncState) => void;
96
+ /** The first folder walk of a scope, saved as it goes so an interrupted walk resumes where it stopped. */
97
+ export declare const readWalk: (env: NodeJS.ProcessEnv, name: string, scope: string) => Walk | undefined;
98
+ export declare const saveWalk: (env: NodeJS.ProcessEnv, name: string, walk: Walk) => void;
99
+ export declare const removeWalk: (env: NodeJS.ProcessEnv, name: string) => void;
6
100
  export declare const ensureProfileDir: (env: NodeJS.ProcessEnv, name: string) => void;
7
101
  export declare const snapshotPath: (env: NodeJS.ProcessEnv, name: string, id: string) => string;
8
102
  export declare const saveSnapshot: (env: NodeJS.ProcessEnv, name: string, content: DocumentContent) => void;
9
103
  export declare const removeSnapshot: (env: NodeJS.ProcessEnv, name: string, id: string) => void;
10
104
  export declare const readSnapshot: (env: NodeJS.ProcessEnv, name: string, id: string) => DocumentContent;
105
+ export {};
11
106
  //# sourceMappingURL=state.d.ts.map
@@ -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;AA0D5D,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,SAiBnF,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,eAQ/E,CAAA"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AA0D5D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAQR,CAAA;AACF,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,CAAA;AAE7C,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,SAiBnF,CAAA;AACD,eAAO,MAAM,SAAS,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,SAAS,SAAS,KAAG,IAElF,CAAA;AAED,0GAA0G;AAC1G,eAAO,MAAM,QAAQ,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,SAAS,MAAM,KAAG,IAAI,GAAG,SAOrF,CAAA;AACD,eAAO,MAAM,QAAQ,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,QAAQ,IAAI,KAAG,IAE3E,CAAA;AACD,eAAO,MAAM,UAAU,QAAS,MAAM,CAAC,UAAU,QAAQ,MAAM,KAAG,IAMjE,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,eAQ/E,CAAA"}
package/dist/state.js CHANGED
@@ -53,6 +53,15 @@ const State = v.object({
53
53
  skipped: v.array(Skip),
54
54
  })),
55
55
  });
56
+ const Walk = v.object({
57
+ scope: v.string(),
58
+ cursor: v.string(),
59
+ stack: v.array(v.object({ id: ID, ancestry: v.array(ID), folder: v.optional(File) })),
60
+ visited: v.array(ID),
61
+ folders: v.record(ID, File),
62
+ files: v.array(File),
63
+ discovered: v.number(),
64
+ });
56
65
  export const profileDir = (env, name) => join(paths(env).state, "profiles", profileName(name));
57
66
  export const statePath = (env, name) => join(profileDir(env, name), "state.json");
58
67
  export const readState = (env, name, principal) => {
@@ -77,6 +86,29 @@ export const readState = (env, name, principal) => {
77
86
  export const saveState = (env, name, state) => {
78
87
  writeSecurely(statePath(env, name), `${JSON.stringify(state)}\n`, 0o600);
79
88
  };
89
+ const walkPath = (env, name) => join(profileDir(env, name), "walk.json");
90
+ /** The first folder walk of a scope, saved as it goes so an interrupted walk resumes where it stopped. */
91
+ export const readWalk = (env, name, scope) => {
92
+ try {
93
+ const parsed = v.safeParse(Walk, JSON.parse(readFileSync(walkPath(env, name), "utf8")));
94
+ return parsed.success && parsed.output.scope === scope ? parsed.output : undefined;
95
+ }
96
+ catch {
97
+ return undefined;
98
+ }
99
+ };
100
+ export const saveWalk = (env, name, walk) => {
101
+ writeSecurely(walkPath(env, name), `${JSON.stringify(walk)}\n`, 0o600);
102
+ };
103
+ export const removeWalk = (env, name) => {
104
+ try {
105
+ unlinkSync(walkPath(env, name));
106
+ }
107
+ catch (error) {
108
+ if (error.code !== "ENOENT")
109
+ throw error;
110
+ }
111
+ };
80
112
  export const ensureProfileDir = (env, name) => {
81
113
  mkdirSync(profileDir(env, name), { recursive: true, mode: 0o700 });
82
114
  };
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,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,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;IAChC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CAC1C,CAAC,CAAA;AACF,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,EAAE,EAAE,EAAE;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IACtB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACvC,CAAC,CAAA;AACF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,CACjB,EAAE,EACF,CAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAChC,CAAC,CACH;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,QAAQ,CACjB,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC;QAC3B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjG,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;KACvB,CAAC,CACH;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAsB,EAAE,IAAY,EAAE,EAAE,CACjE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;AACvD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAsB,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,YAAY,CAAC,CAAA;AAC5G,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAsB,EAAE,IAAY,EAAE,SAAiB,EAAa,EAAE;IAC9F,IAAI,KAAc,CAAA;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YACpD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QACtF,MAAM,IAAI,QAAQ,CAAC,qBAAqB,EAAE,4DAA4D,EAAE;YACtG,MAAM,EAAE,eAAe;SACxB,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;QAC1D,MAAM,IAAI,QAAQ,CAAC,qBAAqB,EAAE,4DAA4D,EAAE;YACtG,MAAM,EAAE,eAAe;SACxB,CAAC,CAAA;IACJ,OAAO,MAAM,CAAC,MAAM,CAAA;AACtB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAsB,EAAE,IAAY,EAAE,KAAgB,EAAQ,EAAE;IACxF,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC1E,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAsB,EAAE,IAAY,EAAQ,EAAE;IAC7E,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAsB,EAAE,IAAY,EAAE,EAAU,EAAE,EAAE,CAC/E,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAsB,EAAE,IAAY,EAAE,OAAwB,EAAE,EAAE;IAC7F,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACzD,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC1D,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AACxE,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAsB,EAAE,IAAY,EAAE,EAAU,EAAE,EAAE;IACjF,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IACxC,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAA;QACrE,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAsB,EAAE,IAAY,EAAE,EAAU,EAAmB,EAAE;IAChG,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAoB,CAAA;IACzF,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,iDAAiD,EAAE;YACjF,MAAM,EAAE,wBAAwB;SACjC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
@@ -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;AA+BnB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AA+HnC,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,CA4JpB,CAAA"}
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"}
package/dist/sync.js CHANGED
@@ -7,7 +7,7 @@ import { MAX_ENTRIES, supported, tooManyEntries } from "./google.js";
7
7
  import { FOLDER, } from "./model.js";
8
8
  import { lockProfile } from "./profile-lock.js";
9
9
  import { within } from "./scope.js";
10
- import { readState, removeSnapshot, saveSnapshot, saveState } from "./state.js";
10
+ import { readState, readWalk, removeSnapshot, removeWalk, saveSnapshot, saveState, saveWalk, } from "./state.js";
11
11
  import { VERSION } from "./version.js";
12
12
  const scopeHash = (roots) => createHash("sha256")
13
13
  .update(JSON.stringify([...roots].sort()))
@@ -30,7 +30,10 @@ const MAX_PICTURE_BYTES = 25 * 1024 * 1024;
30
30
  const isPicture = (file) => file.mime.startsWith("image/") && file.canDownload;
31
31
  const hashText = (text) => createHash("sha256").update(text).digest("hex");
32
32
  export { within } from "./scope.js";
33
- const plan = async (source, state, roots, limit, pictures, abandoned = []) => {
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) => {
34
37
  const scope = scopeHash(roots);
35
38
  if (!roots.length)
36
39
  return {
@@ -43,7 +46,8 @@ const plan = async (source, state, roots, limit, pictures, abandoned = []) => {
43
46
  if (!source)
44
47
  throw new CliError("configuration_error", "selected folders require an authenticated Google source");
45
48
  const initial = !state.cursor || scope !== state.scope;
46
- const cursor = initial ? (roots.length ? await source.startToken() : (state.cursor ?? "")) : state.cursor;
49
+ const resumed = initial ? walks?.read(scope) : undefined;
50
+ const cursor = initial ? (resumed?.cursor ?? (await source.startToken())) : state.cursor;
47
51
  const folders = initial ? {} : structuredClone(state.folders);
48
52
  const files = new Map(Object.values(state.documents).map((doc) => [doc.metadata.id, doc.metadata]));
49
53
  const changed = new Set();
@@ -73,13 +77,62 @@ const plan = async (source, state, roots, limit, pictures, abandoned = []) => {
73
77
  let finalCursor = cursor;
74
78
  if (initial) {
75
79
  files.clear();
76
- for (const root of roots) {
77
- if (visited.has(root))
78
- continue;
79
- const folder = await source.metadata(root);
80
- if (folder.mime !== FOLDER || folder.trashed)
81
- throw new CliError("validation_error", "configured root is not an accessible folder");
82
- await crawl(folder);
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;
83
136
  }
84
137
  }
85
138
  else {
@@ -181,6 +234,7 @@ export const sync = async (source, index, env, name, max, signal, rescan = false
181
234
  ...(profile.picture_search ? { pictures: 0 } : {}),
182
235
  };
183
236
  let writer;
237
+ let flush;
184
238
  try {
185
239
  if (profile.roots.length && (!source || (await source.identity()) !== profile.principal))
186
240
  throw new CliError("authentication_error", "signed-in Google account does not match this profile", {
@@ -192,12 +246,18 @@ export const sync = async (source, index, env, name, max, signal, rescan = false
192
246
  const abandoned = state.pending && (state.pending.scope !== currentScope || rescan) ? state.pending.jobs.map((job) => job.id) : [];
193
247
  if (state.pending?.scope !== currentScope || rescan)
194
248
  delete state.pending;
195
- if (rescan)
249
+ if (rescan) {
196
250
  delete state.cursor;
251
+ removeWalk(env, name);
252
+ }
197
253
  if (!state.pending) {
198
- state.pending = await plan(source, state, profile.roots, limit, profile.picture_search ?? false, abandoned);
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
+ });
199
258
  state.skipped = state.pending.skipped;
200
259
  saveState(env, name, state);
260
+ removeWalk(env, name);
201
261
  }
202
262
  const pending = state.pending;
203
263
  if (!pending)
@@ -251,6 +311,19 @@ export const sync = async (source, index, env, name, max, signal, rescan = false
251
311
  result.pictures = (result.pictures ?? 0) + 1;
252
312
  entry.picture = "saved";
253
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
+ };
254
327
  const jobs = [...pending.jobs].slice(0, max);
255
328
  for (const job of jobs) {
256
329
  if (signal?.aborted)
@@ -297,7 +370,7 @@ export const sync = async (source, index, env, name, max, signal, rescan = false
297
370
  }
298
371
  }
299
372
  pending.jobs = pending.jobs.filter((item) => item !== job);
300
- saveState(env, name, state);
373
+ progress();
301
374
  }
302
375
  catch (error) {
303
376
  const safe = googleError(error);
@@ -322,12 +395,13 @@ export const sync = async (source, index, env, name, max, signal, rescan = false
322
395
  state.skipped.push(skipped);
323
396
  result.skipped.push({ id: skipped.id, reason: skipped.reason });
324
397
  pending.jobs = pending.jobs.filter((item) => item !== job);
325
- saveState(env, name, state);
398
+ progress();
326
399
  continue;
327
400
  }
328
401
  result.errors.push({ id: job.id, code: safe.code, message: safe.message });
329
402
  }
330
403
  }
404
+ flush();
331
405
  result.pending = pending.jobs.length;
332
406
  if (!pending.jobs.length) {
333
407
  state.cursor = pending.cursor;
@@ -340,6 +414,7 @@ export const sync = async (source, index, env, name, max, signal, rescan = false
340
414
  return result;
341
415
  }
342
416
  finally {
417
+ flush?.();
343
418
  await writer?.close();
344
419
  await lock.release();
345
420
  }