@tinyrack/devsync 1.7.0 → 1.8.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 (78) hide show
  1. package/README.md +2 -0
  2. package/dist/cli/base-command.d.ts +2 -0
  3. package/dist/cli/base-command.d.ts.map +1 -1
  4. package/dist/cli/base-command.js +5 -1
  5. package/dist/cli/base-command.js.map +1 -1
  6. package/dist/cli/commands/doctor.d.ts.map +1 -1
  7. package/dist/cli/commands/doctor.js +1 -1
  8. package/dist/cli/commands/doctor.js.map +1 -1
  9. package/dist/cli/commands/init.d.ts.map +1 -1
  10. package/dist/cli/commands/init.js +2 -1
  11. package/dist/cli/commands/init.js.map +1 -1
  12. package/dist/cli/commands/pull.d.ts.map +1 -1
  13. package/dist/cli/commands/pull.js +2 -1
  14. package/dist/cli/commands/pull.js.map +1 -1
  15. package/dist/cli/commands/push.d.ts.map +1 -1
  16. package/dist/cli/commands/push.js +2 -1
  17. package/dist/cli/commands/push.js.map +1 -1
  18. package/dist/cli/commands/status.d.ts.map +1 -1
  19. package/dist/cli/commands/status.js +2 -0
  20. package/dist/cli/commands/status.js.map +1 -1
  21. package/dist/cli/commands/track.d.ts.map +1 -1
  22. package/dist/cli/commands/track.js +6 -4
  23. package/dist/cli/commands/track.js.map +1 -1
  24. package/dist/cli/progress-reporter.d.ts +5 -0
  25. package/dist/cli/progress-reporter.d.ts.map +1 -0
  26. package/dist/cli/progress-reporter.js +17 -0
  27. package/dist/cli/progress-reporter.js.map +1 -0
  28. package/dist/index.js +7 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/lib/output.d.ts +4 -0
  31. package/dist/lib/output.d.ts.map +1 -1
  32. package/dist/lib/output.js +5 -0
  33. package/dist/lib/output.js.map +1 -1
  34. package/dist/lib/progress.d.ts +8 -0
  35. package/dist/lib/progress.d.ts.map +1 -0
  36. package/dist/lib/progress.js +7 -0
  37. package/dist/lib/progress.js.map +1 -0
  38. package/dist/services/doctor.d.ts +2 -1
  39. package/dist/services/doctor.d.ts.map +1 -1
  40. package/dist/services/doctor.js +15 -1
  41. package/dist/services/doctor.js.map +1 -1
  42. package/dist/services/git.d.ts +2 -1
  43. package/dist/services/git.d.ts.map +1 -1
  44. package/dist/services/git.js +81 -4
  45. package/dist/services/git.js.map +1 -1
  46. package/dist/services/init.d.ts +2 -1
  47. package/dist/services/init.d.ts.map +1 -1
  48. package/dist/services/init.js +25 -4
  49. package/dist/services/init.js.map +1 -1
  50. package/dist/services/local-materialization.d.ts +4 -3
  51. package/dist/services/local-materialization.d.ts.map +1 -1
  52. package/dist/services/local-materialization.js +52 -19
  53. package/dist/services/local-materialization.js.map +1 -1
  54. package/dist/services/local-snapshot.d.ts +2 -1
  55. package/dist/services/local-snapshot.d.ts.map +1 -1
  56. package/dist/services/local-snapshot.js +32 -4
  57. package/dist/services/local-snapshot.js.map +1 -1
  58. package/dist/services/pull.d.ts +3 -2
  59. package/dist/services/pull.d.ts.map +1 -1
  60. package/dist/services/pull.js +15 -7
  61. package/dist/services/pull.js.map +1 -1
  62. package/dist/services/push.d.ts +5 -2
  63. package/dist/services/push.d.ts.map +1 -1
  64. package/dist/services/push.js +30 -10
  65. package/dist/services/push.js.map +1 -1
  66. package/dist/services/repo-artifacts.d.ts +4 -3
  67. package/dist/services/repo-artifacts.d.ts.map +1 -1
  68. package/dist/services/repo-artifacts.js +46 -7
  69. package/dist/services/repo-artifacts.js.map +1 -1
  70. package/dist/services/repo-snapshot.d.ts +2 -1
  71. package/dist/services/repo-snapshot.d.ts.map +1 -1
  72. package/dist/services/repo-snapshot.js +20 -4
  73. package/dist/services/repo-snapshot.js.map +1 -1
  74. package/dist/services/status.d.ts +2 -0
  75. package/dist/services/status.d.ts.map +1 -1
  76. package/dist/services/status.js +9 -2
  77. package/dist/services/status.js.map +1 -1
  78. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import { execFile } from "node:child_process";
1
+ import { execFile, spawn } from "node:child_process";
2
2
  import { promisify } from "node:util";
3
3
  import { wrapUnknownError } from "./error.js";
4
4
  const execFileAsync = promisify(execFile);
@@ -26,17 +26,94 @@ const runGitCommand = async (args, options) => {
26
26
  throw new Error(error instanceof Error ? error.message : "git failed.");
27
27
  }
28
28
  };
29
+ const forwardGitProgressChunk = (reporter, state, chunk) => {
30
+ if (!reporter?.verbose) {
31
+ return;
32
+ }
33
+ state.remainder += chunk.replaceAll("\r", "\n");
34
+ const lines = state.remainder.split("\n");
35
+ state.remainder = lines.pop() ?? "";
36
+ for (const line of lines) {
37
+ const trimmed = line.trim();
38
+ if (trimmed.length > 0) {
39
+ reporter.detail(`git: ${trimmed}`);
40
+ }
41
+ }
42
+ };
43
+ const flushGitProgressChunk = (reporter, state) => {
44
+ if (!reporter?.verbose) {
45
+ return;
46
+ }
47
+ const trimmed = state.remainder.trim();
48
+ if (trimmed.length > 0) {
49
+ reporter.detail(`git: ${trimmed}`);
50
+ }
51
+ };
52
+ const runStreamingGitCommand = async (args, options) => {
53
+ return await new Promise((resolve, reject) => {
54
+ const child = spawn("git", [...args], {
55
+ cwd: options?.cwd,
56
+ stdio: ["ignore", "pipe", "pipe"],
57
+ });
58
+ let settled = false;
59
+ let stdout = "";
60
+ let stderr = "";
61
+ const stdoutState = { remainder: "" };
62
+ const stderrState = { remainder: "" };
63
+ const finish = (handler) => {
64
+ if (settled) {
65
+ return;
66
+ }
67
+ settled = true;
68
+ handler();
69
+ };
70
+ child.stdout?.setEncoding("utf8");
71
+ child.stderr?.setEncoding("utf8");
72
+ child.stdout?.on("data", (chunk) => {
73
+ stdout += chunk;
74
+ forwardGitProgressChunk(options?.reporter, stdoutState, chunk);
75
+ });
76
+ child.stderr?.on("data", (chunk) => {
77
+ stderr += chunk;
78
+ forwardGitProgressChunk(options?.reporter, stderrState, chunk);
79
+ });
80
+ child.on("error", (error) => {
81
+ finish(() => {
82
+ reject(new Error(error instanceof Error ? error.message : "git failed."));
83
+ });
84
+ });
85
+ child.on("close", (code) => {
86
+ flushGitProgressChunk(options?.reporter, stdoutState);
87
+ flushGitProgressChunk(options?.reporter, stderrState);
88
+ if (code === 0) {
89
+ finish(() => {
90
+ resolve({ stderr, stdout });
91
+ });
92
+ return;
93
+ }
94
+ finish(() => {
95
+ reject(new Error(stderr.trim() ||
96
+ stdout.trim() ||
97
+ `git exited with code ${code ?? "unknown"}.`));
98
+ });
99
+ });
100
+ });
101
+ };
29
102
  export const ensureRepository = async (directory) => {
30
103
  await runGitCommand(["-C", directory, "rev-parse", "--is-inside-work-tree"]);
31
104
  };
32
- export const initializeRepository = async (directory, source) => {
105
+ export const initializeRepository = async (directory, source, reporter) => {
33
106
  if (source === undefined) {
34
- await runGitCommand(["init", "-b", "main", directory]);
107
+ await runStreamingGitCommand(["init", "-b", "main", directory], {
108
+ reporter,
109
+ });
35
110
  return {
36
111
  action: "initialized",
37
112
  };
38
113
  }
39
- await runGitCommand(["clone", source, directory]);
114
+ await runStreamingGitCommand(["clone", source, directory], {
115
+ reporter,
116
+ });
40
117
  return {
41
118
  action: "cloned",
42
119
  source,
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/services/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,aAAa,GAAG,KAAK,EACzB,IAAuB,EACvB,OAAoC,EACpC,EAAE;IACF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;YACnD,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,UAAU;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YAChD,MAAM,MAAM,GACV,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,MAAM,MAAM,GACV,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;gBACnD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;gBACrB,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,OAAO,GAAG,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC;YAElD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;IAC1D,MAAM,aAAa,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,SAAiB,EACjB,MAAe,EACf,EAAE;IACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,aAAa,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAEvD,OAAO;YACL,MAAM,EAAE,aAAsB;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAElD,OAAO;QACL,MAAM,EAAE,QAAiB;QACzB,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,aAAqB,EAAE,EAAE;IACjE,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,gBAAgB,CAAC,qCAAqC,EAAE,KAAK,EAAE;YACnE,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,CAAC,mBAAmB,aAAa,EAAE,CAAC;YAC7C,IAAI,EAAE,4DAA4D;SACnE,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/services/git.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ProgressReporter } from "#app/lib/progress.js";
1
2
  export type SyncInitRequest = Readonly<{
2
3
  ageIdentity?: string;
3
4
  generateAgeIdentity?: boolean;
@@ -17,5 +18,5 @@ export type SyncInitResult = Readonly<{
17
18
  syncDirectory: string;
18
19
  }>;
19
20
  export declare const defaultSyncIdentityFile = "$XDG_CONFIG_HOME/devsync/age/keys.txt";
20
- export declare const initializeSync: (request: SyncInitRequest, environment: NodeJS.ProcessEnv) => Promise<SyncInitResult>;
21
+ export declare const initializeSync: (request: SyncInitRequest, environment: NodeJS.ProcessEnv, reporter?: ProgressReporter) => Promise<SyncInitResult>;
21
22
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"AAiCA,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH,eAAO,MAAM,uBAAuB,0CAA0C,CAAC;AA0K/E,eAAO,MAAM,cAAc,GACzB,SAAS,eAAe,EACxB,aAAa,MAAM,CAAC,UAAU,KAC7B,OAAO,CAAC,cAAc,CAoIxB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAiB7D,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH,eAAO,MAAM,uBAAuB,0CAA0C,CAAC;AAoL/E,eAAO,MAAM,cAAc,GACzB,SAAS,eAAe,EACxB,aAAa,MAAM,CAAC,UAAU,EAC9B,WAAW,gBAAgB,KAC1B,OAAO,CAAC,cAAc,CA6JxB,CAAC"}
@@ -3,6 +3,7 @@ import { dirname } from "node:path";
3
3
  import { formatGlobalDevsyncConfig, readGlobalDevsyncConfig, resolveConfiguredIdentityFile, } from "#app/config/global-config.js";
4
4
  import { createInitialSyncConfig, formatSyncConfig, parseSyncConfig, readSyncConfig, resolveSyncArtifactsDirectoryPath, } from "#app/config/sync.js";
5
5
  import { resolveConfiguredAbsolutePath } from "#app/config/xdg.js";
6
+ import { reportPhase } from "#app/lib/progress.js";
6
7
  import { createAgeIdentityFile, readAgeRecipientsFromIdentityFile, writeAgeIdentityFile, } from "./crypto.js";
7
8
  import { DevsyncError, wrapUnknownError } from "./error.js";
8
9
  import { pathExists, writeTextFileAtomically } from "./filesystem.js";
@@ -16,11 +17,12 @@ const normalizeRecipients = (recipients) => {
16
17
  return left.localeCompare(right);
17
18
  });
18
19
  };
19
- const resolveInitAgeBootstrap = async (request, environment) => {
20
+ const resolveInitAgeBootstrap = async (request, environment, reporter) => {
20
21
  const configuredIdentityFile = request.identityFile?.trim() || defaultSyncIdentityFile;
21
22
  const identityFile = resolveConfiguredAbsolutePath(configuredIdentityFile, environment);
22
23
  const explicitRecipients = normalizeRecipients(request.recipients);
23
24
  if (request.ageIdentity !== undefined) {
25
+ reportPhase(reporter, "Writing age identity file...");
24
26
  const { recipient } = await writeAgeIdentityFile(identityFile, request.ageIdentity);
25
27
  return {
26
28
  configuredIdentityFile,
@@ -30,12 +32,14 @@ const resolveInitAgeBootstrap = async (request, environment) => {
30
32
  }
31
33
  if (explicitRecipients.length === 0) {
32
34
  if (await pathExists(identityFile)) {
35
+ reportPhase(reporter, "Loading age recipients from the existing identity...");
33
36
  return {
34
37
  configuredIdentityFile,
35
38
  generatedIdentity: false,
36
39
  recipients: normalizeRecipients(await readAgeRecipientsFromIdentityFile(identityFile)),
37
40
  };
38
41
  }
42
+ reportPhase(reporter, "Generating a new age identity...");
39
43
  const { recipient } = await createAgeIdentityFile(identityFile);
40
44
  return {
41
45
  configuredIdentityFile,
@@ -44,6 +48,7 @@ const resolveInitAgeBootstrap = async (request, environment) => {
44
48
  };
45
49
  }
46
50
  if (request.generateAgeIdentity === true) {
51
+ reportPhase(reporter, "Generating a new age identity...");
47
52
  const { recipient } = await createAgeIdentityFile(identityFile);
48
53
  return {
49
54
  configuredIdentityFile,
@@ -52,12 +57,14 @@ const resolveInitAgeBootstrap = async (request, environment) => {
52
57
  };
53
58
  }
54
59
  if (await pathExists(identityFile)) {
60
+ reportPhase(reporter, "Using the existing age identity file...");
55
61
  return {
56
62
  configuredIdentityFile,
57
63
  generatedIdentity: false,
58
64
  recipients: explicitRecipients,
59
65
  };
60
66
  }
67
+ reportPhase(reporter, "Generating a new age identity...");
61
68
  const { recipient } = await createAgeIdentityFile(identityFile);
62
69
  return {
63
70
  configuredIdentityFile,
@@ -115,11 +122,14 @@ const buildAlreadyInitializedResult = (config, environment, base) => {
115
122
  syncDirectory: base.syncDirectory,
116
123
  };
117
124
  };
118
- export const initializeSync = async (request, environment) => {
125
+ export const initializeSync = async (request, environment, reporter) => {
126
+ reportPhase(reporter, "Initializing sync directory...");
119
127
  const { syncDirectory, configPath, globalConfigPath } = resolveSyncPaths(environment);
120
128
  const configExists = await pathExists(configPath);
121
129
  if (configExists) {
130
+ reportPhase(reporter, "Checking the existing sync repository...");
122
131
  await ensureSyncRepository(syncDirectory);
132
+ reportPhase(reporter, "Loading the existing sync manifest...");
123
133
  const config = await readSyncConfig(syncDirectory, environment);
124
134
  assertInitRequestMatchesConfig(config.age, request, environment);
125
135
  return buildAlreadyInitializedResult(config, environment, {
@@ -131,10 +141,13 @@ export const initializeSync = async (request, environment) => {
131
141
  await mkdir(dirname(syncDirectory), {
132
142
  recursive: true,
133
143
  });
144
+ reportPhase(reporter, "Preparing the sync directory...");
134
145
  let gitAction = "existing";
135
146
  let gitSource;
136
147
  try {
148
+ reportPhase(reporter, "Checking for an existing git repository...");
137
149
  await ensureRepository(syncDirectory);
150
+ reportPhase(reporter, "Using the existing git repository...");
138
151
  }
139
152
  catch {
140
153
  const syncDirectoryExists = await pathExists(syncDirectory);
@@ -151,7 +164,10 @@ export const initializeSync = async (request, environment) => {
151
164
  const gitSourceInput = request.repository?.trim() || undefined;
152
165
  let gitResult;
153
166
  try {
154
- gitResult = await initializeRepository(syncDirectory, gitSourceInput);
167
+ reportPhase(reporter, gitSourceInput === undefined
168
+ ? "Initializing a new git repository..."
169
+ : `Cloning the sync repository from ${gitSourceInput}...`);
170
+ gitResult = await initializeRepository(syncDirectory, gitSourceInput, reporter);
155
171
  }
156
172
  catch (error) {
157
173
  throw wrapUnknownError(gitSourceInput === undefined
@@ -174,10 +190,12 @@ export const initializeSync = async (request, environment) => {
174
190
  gitAction = gitResult.action;
175
191
  gitSource = gitResult.source;
176
192
  }
193
+ reportPhase(reporter, "Preparing the sync artifact directory...");
177
194
  await mkdir(resolveSyncArtifactsDirectoryPath(syncDirectory), {
178
195
  recursive: true,
179
196
  });
180
197
  if (await pathExists(configPath)) {
198
+ reportPhase(reporter, "Loading the existing sync manifest...");
181
199
  const config = await readSyncConfig(syncDirectory, environment);
182
200
  assertInitRequestMatchesConfig(config.age, request, environment);
183
201
  return buildAlreadyInitializedResult(config, environment, {
@@ -187,8 +205,10 @@ export const initializeSync = async (request, environment) => {
187
205
  syncDirectory,
188
206
  });
189
207
  }
190
- const ageBootstrap = await resolveInitAgeBootstrap(request, environment);
208
+ reportPhase(reporter, "Preparing sync encryption settings...");
209
+ const ageBootstrap = await resolveInitAgeBootstrap(request, environment, reporter);
191
210
  // Write global settings.json (without age)
211
+ reportPhase(reporter, "Writing global devsync settings...");
192
212
  const existingGlobalConfig = await readGlobalDevsyncConfig(environment);
193
213
  const globalConfigToWrite = {
194
214
  activeProfile: existingGlobalConfig?.activeProfile ?? "default",
@@ -201,6 +221,7 @@ export const initializeSync = async (request, environment) => {
201
221
  identityFile: ageBootstrap.configuredIdentityFile,
202
222
  recipients: [...new Set(ageBootstrap.recipients.map((r) => r.trim()))],
203
223
  });
224
+ reportPhase(reporter, "Writing sync manifest...");
204
225
  parseSyncConfig(initialConfig, environment);
205
226
  await writeFile(configPath, formatSyncConfig(initialConfig), "utf8");
206
227
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type ResolvedSyncConfig, type ResolvedSyncConfigEntry } from "#app/config/sync.js";
2
+ import { type ProgressReporter } from "#app/lib/progress.js";
2
3
  import type { FileLikeSnapshotNode, SnapshotNode } from "./local-snapshot.js";
3
4
  type MaterializationConfig = ResolvedSyncConfig & Readonly<{
4
5
  activeProfile?: string;
@@ -15,9 +16,9 @@ type EntryMaterialization = Readonly<{
15
16
  nodes: ReadonlyMap<string, FileLikeSnapshotNode>;
16
17
  type: "directory";
17
18
  }>;
18
- export declare const buildEntryMaterialization: (entry: ResolvedSyncConfigEntry, snapshot: ReadonlyMap<string, SnapshotNode>) => EntryMaterialization;
19
- export declare const countDeletedLocalNodes: (entry: ResolvedSyncConfigEntry, desiredKeys: ReadonlySet<string>, config: MaterializationConfig, existingKeys?: Set<string>) => Promise<number>;
20
- export declare const applyEntryMaterialization: (entry: ResolvedSyncConfigEntry, materialization: EntryMaterialization, config: MaterializationConfig) => Promise<void>;
19
+ export declare const buildEntryMaterialization: (entry: ResolvedSyncConfigEntry, snapshot: ReadonlyMap<string, SnapshotNode>, reporter?: ProgressReporter) => EntryMaterialization;
20
+ export declare const countDeletedLocalNodes: (entry: ResolvedSyncConfigEntry, desiredKeys: ReadonlySet<string>, config: MaterializationConfig, existingKeys?: Set<string>, reporter?: ProgressReporter) => Promise<number>;
21
+ export declare const applyEntryMaterialization: (entry: ResolvedSyncConfigEntry, materialization: EntryMaterialization, config: MaterializationConfig, reporter?: ProgressReporter) => Promise<void>;
21
22
  export declare const buildPullCounts: (materializations: readonly EntryMaterialization[]) => {
22
23
  decryptedFileCount: number;
23
24
  directoryCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"local-materialization.d.ts","sourceRoot":"","sources":["../../src/services/local-materialization.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAE7B,MAAM,qBAAqB,CAAC;AAY7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE9E,KAAK,qBAAqB,GAAG,kBAAkB,GAC7C,QAAQ,CAAC;IACP,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAEL,KAAK,oBAAoB,GACrB,QAAQ,CAAC;IACP,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC,GACF,QAAQ,CAAC;IACP,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,GACF,QAAQ,CAAC;IACP,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACjD,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC,CAAC;AAoIP,eAAO,MAAM,yBAAyB,GACpC,OAAO,uBAAuB,EAC9B,UAAU,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,KAC1C,oBA0EF,CAAC;AAuFF,eAAO,MAAM,sBAAsB,GACjC,OAAO,uBAAuB,EAC9B,aAAa,WAAW,CAAC,MAAM,CAAC,EAChC,QAAQ,qBAAqB,EAC7B,eAAc,GAAG,CAAC,MAAM,CAAqB,oBAe9C,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,OAAO,uBAAuB,EAC9B,iBAAiB,oBAAoB,EACrC,QAAQ,qBAAqB,kBAiC9B,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,kBAAkB,SAAS,oBAAoB,EAAE;;;;;CA+ClD,CAAC"}
1
+ {"version":3,"file":"local-materialization.d.ts","sourceRoot":"","sources":["../../src/services/local-materialization.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAE7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAW9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE9E,KAAK,qBAAqB,GAAG,kBAAkB,GAC7C,QAAQ,CAAC;IACP,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAyBL,KAAK,oBAAoB,GACrB,QAAQ,CAAC;IACP,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC,GACF,QAAQ,CAAC;IACP,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,GACF,QAAQ,CAAC;IACP,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACjD,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC,CAAC;AA0JP,eAAO,MAAM,yBAAyB,GACpC,OAAO,uBAAuB,EAC9B,UAAU,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC3C,WAAW,gBAAgB,KAC1B,oBAiFF,CAAC;AA2GF,eAAO,MAAM,sBAAsB,GACjC,OAAO,uBAAuB,EAC9B,aAAa,WAAW,CAAC,MAAM,CAAC,EAChC,QAAQ,qBAAqB,EAC7B,eAAc,GAAG,CAAC,MAAM,CAAqB,EAC7C,WAAW,gBAAgB,oBAyB5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,OAAO,uBAAuB,EAC9B,iBAAiB,oBAAoB,EACrC,QAAQ,qBAAqB,EAC7B,WAAW,gBAAgB,kBA2C5B,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,kBAAkB,SAAS,oBAAoB,EAAE;;;;;CA+ClD,CAAC"}
@@ -2,9 +2,20 @@ import { lstat, mkdir, mkdtemp, rm, symlink } from "node:fs/promises";
2
2
  import { basename, dirname, join, posix } from "node:path";
3
3
  import { resolveManagedSyncMode, } from "#app/config/sync.js";
4
4
  import { buildDirectoryKey } from "#app/lib/path.js";
5
+ import { reportDetail, reportPhase, } from "#app/lib/progress.js";
5
6
  import { DevsyncError } from "./error.js";
6
7
  import { copyFilesystemNode, getPathStats, listDirectoryEntries, removePathAtomically, replacePathAtomically, writeFileNode, writeSymlinkNode, } from "./filesystem.js";
7
- const copyIgnoredLocalNodesToDirectory = async (sourceDirectory, targetDirectory, config, repoPathPrefix) => {
8
+ const reportPullPlanningProgress = (reporter, state, repoPath) => {
9
+ state.scannedLocalNodeCount += 1;
10
+ if (reporter?.verbose) {
11
+ reportDetail(reporter, `scanned local path ${repoPath} while planning pull`);
12
+ return;
13
+ }
14
+ if (state.scannedLocalNodeCount % 100 === 0) {
15
+ reportPhase(reporter, `Scanned ${state.scannedLocalNodeCount} local paths while planning pull...`);
16
+ }
17
+ };
18
+ const copyIgnoredLocalNodesToDirectory = async (sourceDirectory, targetDirectory, config, repoPathPrefix, reporter) => {
8
19
  const stats = await getPathStats(sourceDirectory);
9
20
  if (stats === undefined || !stats.isDirectory()) {
10
21
  return 0;
@@ -22,7 +33,7 @@ const copyIgnoredLocalNodesToDirectory = async (sourceDirectory, targetDirectory
22
33
  const repoPath = posix.join(repoPathPrefix, entry.name);
23
34
  const entryStats = await lstat(sourcePath);
24
35
  if (entryStats.isDirectory()) {
25
- copiedNodeCount += await copyIgnoredLocalNodesToDirectory(sourcePath, targetPath, config, repoPath);
36
+ copiedNodeCount += await copyIgnoredLocalNodesToDirectory(sourcePath, targetPath, config, repoPath, reporter);
26
37
  continue;
27
38
  }
28
39
  if (resolveManagedSyncMode(config, repoPath, config.activeProfile) !==
@@ -31,11 +42,13 @@ const copyIgnoredLocalNodesToDirectory = async (sourceDirectory, targetDirectory
31
42
  }
32
43
  await mkdir(dirname(targetPath), { recursive: true });
33
44
  await copyFilesystemNode(sourcePath, targetPath, entryStats);
45
+ reportDetail(reporter, `preserved ignored local path ${repoPath}`);
34
46
  copiedNodeCount += 1;
35
47
  }
36
48
  return copiedNodeCount;
37
49
  };
38
- const stageAndReplaceFilePath = async (targetPath, node) => {
50
+ const stageAndReplaceFilePath = async (targetPath, node, reporter) => {
51
+ reportDetail(reporter, `staging local file ${targetPath}`);
39
52
  await mkdir(dirname(targetPath), { recursive: true });
40
53
  const stagingDirectory = await mkdtemp(join(dirname(targetPath), `.${basename(targetPath)}.devsync-sync-`));
41
54
  const stagedPath = join(stagingDirectory, basename(targetPath));
@@ -52,11 +65,12 @@ const stageAndReplaceFilePath = async (targetPath, node) => {
52
65
  await rm(stagingDirectory, { force: true, recursive: true });
53
66
  }
54
67
  };
55
- const stageAndReplaceMergedDirectoryPath = async (entry, config, desiredNodes) => {
68
+ const stageAndReplaceMergedDirectoryPath = async (entry, config, desiredNodes, reporter) => {
56
69
  await mkdir(dirname(entry.localPath), { recursive: true });
57
70
  const stagingDirectory = await mkdtemp(join(dirname(entry.localPath), `.${basename(entry.localPath)}.devsync-sync-`));
58
71
  try {
59
- const preservedIgnoredNodeCount = await copyIgnoredLocalNodesToDirectory(entry.localPath, stagingDirectory, config, entry.repoPath);
72
+ const preservedIgnoredNodeCount = await copyIgnoredLocalNodesToDirectory(entry.localPath, stagingDirectory, config, entry.repoPath, reporter);
73
+ let stagedNodeCount = 0;
60
74
  for (const relativePath of [...desiredNodes.keys()].sort((left, right) => {
61
75
  return left.localeCompare(right);
62
76
  })) {
@@ -71,6 +85,13 @@ const stageAndReplaceMergedDirectoryPath = async (entry, config, desiredNodes) =
71
85
  else {
72
86
  await writeFileNode(targetNodePath, node);
73
87
  }
88
+ stagedNodeCount += 1;
89
+ if (reporter?.verbose) {
90
+ reportDetail(reporter, `staged local node ${posix.join(entry.repoPath, relativePath)}`);
91
+ }
92
+ else if (stagedNodeCount % 100 === 0) {
93
+ reportPhase(reporter, `Staged ${stagedNodeCount} local nodes for ${entry.repoPath}...`);
94
+ }
74
95
  }
75
96
  if (preservedIgnoredNodeCount === 0 && desiredNodes.size === 0) {
76
97
  await removePathAtomically(entry.localPath);
@@ -82,10 +103,11 @@ const stageAndReplaceMergedDirectoryPath = async (entry, config, desiredNodes) =
82
103
  await rm(stagingDirectory, { force: true, recursive: true });
83
104
  }
84
105
  };
85
- export const buildEntryMaterialization = (entry, snapshot) => {
106
+ export const buildEntryMaterialization = (entry, snapshot, reporter) => {
86
107
  if (entry.kind === "file") {
87
108
  const node = snapshot.get(entry.repoPath);
88
109
  if (node === undefined) {
110
+ reportDetail(reporter, `planned an absent local file ${entry.repoPath}`);
89
111
  return {
90
112
  desiredKeys: new Set(),
91
113
  type: "absent",
@@ -98,6 +120,7 @@ export const buildEntryMaterialization = (entry, snapshot) => {
98
120
  hint: "Run 'devsync push' or fix the repository so this path is stored as a file.",
99
121
  });
100
122
  }
123
+ reportDetail(reporter, `planned a local file ${entry.repoPath}`);
101
124
  return {
102
125
  desiredKeys: new Set([entry.repoPath]),
103
126
  node,
@@ -126,24 +149,29 @@ export const buildEntryMaterialization = (entry, snapshot) => {
126
149
  desiredKeys.add(repoPath);
127
150
  }
128
151
  if (rootNode === undefined && nodes.size === 0) {
152
+ reportDetail(reporter, `planned an absent local directory ${entry.repoPath}`);
129
153
  return {
130
154
  desiredKeys,
131
155
  type: "absent",
132
156
  };
133
157
  }
134
158
  desiredKeys.add(buildDirectoryKey(entry.repoPath));
159
+ reportDetail(reporter, `planned a local directory ${entry.repoPath}`);
135
160
  return {
136
161
  desiredKeys,
137
162
  nodes,
138
163
  type: "directory",
139
164
  };
140
165
  };
141
- const collectLocalLeafKeys = async (targetPath, repoPathPrefix, keys, prefix) => {
166
+ const collectLocalLeafKeys = async (targetPath, repoPathPrefix, keys, prefix, reporter, progressState = {
167
+ scannedLocalNodeCount: 0,
168
+ }) => {
142
169
  const stats = await getPathStats(targetPath);
143
170
  if (stats === undefined) {
144
171
  return;
145
172
  }
146
173
  if (!stats.isDirectory()) {
174
+ reportPullPlanningProgress(reporter, progressState, repoPathPrefix);
147
175
  keys.add(repoPathPrefix);
148
176
  return;
149
177
  }
@@ -153,20 +181,25 @@ const collectLocalLeafKeys = async (targetPath, repoPathPrefix, keys, prefix) =>
153
181
  const absolutePath = join(targetPath, entry.name);
154
182
  const relativePath = prefix === undefined ? entry.name : `${prefix}/${entry.name}`;
155
183
  const childStats = await lstat(absolutePath);
184
+ const repoPath = posix.join(repoPathPrefix, relativePath);
185
+ reportPullPlanningProgress(reporter, progressState, repoPath);
156
186
  if (childStats?.isDirectory()) {
157
- await collectLocalLeafKeys(absolutePath, repoPathPrefix, keys, relativePath);
187
+ await collectLocalLeafKeys(absolutePath, repoPathPrefix, keys, relativePath, reporter, progressState);
158
188
  continue;
159
189
  }
160
- keys.add(posix.join(repoPathPrefix, relativePath));
190
+ keys.add(repoPath);
161
191
  }
162
192
  };
163
- const collectIgnoredLocalKeys = async (targetPath, repoPath, config, keys) => {
193
+ const collectIgnoredLocalKeys = async (targetPath, repoPath, config, keys, reporter, progressState = {
194
+ scannedLocalNodeCount: 0,
195
+ }) => {
164
196
  const stats = await getPathStats(targetPath);
165
197
  if (stats === undefined) {
166
198
  return false;
167
199
  }
168
200
  const mode = resolveManagedSyncMode(config, repoPath, config.activeProfile);
169
201
  if (!stats.isDirectory()) {
202
+ reportPullPlanningProgress(reporter, progressState, repoPath);
170
203
  if (mode !== "ignore") {
171
204
  return false;
172
205
  }
@@ -179,23 +212,23 @@ const collectIgnoredLocalKeys = async (targetPath, repoPath, config, keys) => {
179
212
  const childPath = join(targetPath, entry.name);
180
213
  const childRepoPath = posix.join(repoPath, entry.name);
181
214
  preservedIgnoredChildren =
182
- (await collectIgnoredLocalKeys(childPath, childRepoPath, config, keys)) ||
183
- preservedIgnoredChildren;
215
+ (await collectIgnoredLocalKeys(childPath, childRepoPath, config, keys, reporter, progressState)) || preservedIgnoredChildren;
184
216
  }
185
217
  if (mode === "ignore" || preservedIgnoredChildren) {
186
218
  keys.add(buildDirectoryKey(repoPath));
187
219
  }
188
220
  return mode === "ignore" || preservedIgnoredChildren;
189
221
  };
190
- export const countDeletedLocalNodes = async (entry, desiredKeys, config, existingKeys = new Set()) => {
222
+ export const countDeletedLocalNodes = async (entry, desiredKeys, config, existingKeys = new Set(), reporter) => {
191
223
  const preservedIgnoredKeys = new Set();
192
- await collectLocalLeafKeys(entry.localPath, entry.repoPath, existingKeys);
193
- await collectIgnoredLocalKeys(entry.localPath, entry.repoPath, config, preservedIgnoredKeys);
224
+ const progressState = { scannedLocalNodeCount: 0 };
225
+ await collectLocalLeafKeys(entry.localPath, entry.repoPath, existingKeys, undefined, reporter, progressState);
226
+ await collectIgnoredLocalKeys(entry.localPath, entry.repoPath, config, preservedIgnoredKeys, reporter, progressState);
194
227
  return [...existingKeys].filter((key) => {
195
228
  return !desiredKeys.has(key) && !preservedIgnoredKeys.has(key);
196
229
  }).length;
197
230
  };
198
- export const applyEntryMaterialization = async (entry, materialization, config) => {
231
+ export const applyEntryMaterialization = async (entry, materialization, config, reporter) => {
199
232
  if (entry.kind === "file" &&
200
233
  resolveManagedSyncMode(config, entry.repoPath, config.activeProfile) ===
201
234
  "ignore") {
@@ -203,17 +236,17 @@ export const applyEntryMaterialization = async (entry, materialization, config)
203
236
  }
204
237
  if (materialization.type === "absent") {
205
238
  if (entry.kind === "directory") {
206
- await stageAndReplaceMergedDirectoryPath(entry, config, new Map());
239
+ await stageAndReplaceMergedDirectoryPath(entry, config, new Map(), reporter);
207
240
  return;
208
241
  }
209
242
  await removePathAtomically(entry.localPath);
210
243
  return;
211
244
  }
212
245
  if (materialization.type === "file") {
213
- await stageAndReplaceFilePath(entry.localPath, materialization.node);
246
+ await stageAndReplaceFilePath(entry.localPath, materialization.node, reporter);
214
247
  return;
215
248
  }
216
- await stageAndReplaceMergedDirectoryPath(entry, config, materialization.nodes);
249
+ await stageAndReplaceMergedDirectoryPath(entry, config, materialization.nodes, reporter);
217
250
  };
218
251
  export const buildPullCounts = (materializations) => {
219
252
  let decryptedFileCount = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"local-materialization.js","sourceRoot":"","sources":["../../src/services/local-materialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-materialization.js","sourceRoot":"","sources":["../../src/services/local-materialization.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type ResolvedSyncConfig } from "#app/config/sync.js";
2
+ import { type ProgressReporter } from "#app/lib/progress.js";
2
3
  type SnapshotConfig = ResolvedSyncConfig & Readonly<{
3
4
  activeProfile?: string;
4
5
  }>;
@@ -20,6 +21,6 @@ export type FileLikeSnapshotNode = Extract<SnapshotNode, Readonly<{
20
21
  type: "file" | "symlink";
21
22
  }>>;
22
23
  export declare const addSnapshotNode: (snapshot: Map<string, SnapshotNode>, repoPath: string, node: SnapshotNode) => void;
23
- export declare const buildLocalSnapshot: (config: SnapshotConfig) => Promise<Map<string, SnapshotNode>>;
24
+ export declare const buildLocalSnapshot: (config: SnapshotConfig, reporter?: ProgressReporter) => Promise<Map<string, SnapshotNode>>;
24
25
  export {};
25
26
  //# sourceMappingURL=local-snapshot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-snapshot.d.ts","sourceRoot":"","sources":["../../src/services/local-snapshot.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAC;AAM7B,KAAK,cAAc,GAAG,kBAAkB,GACtC,QAAQ,CAAC;IACP,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAEL,MAAM,MAAM,YAAY,GACpB,QAAQ,CAAC;IACP,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC,GACF,QAAQ,CAAC;IACP,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC,GACF,QAAQ,CAAC;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC,CAAC;AAEP,MAAM,MAAM,gBAAgB,GAAG,OAAO,CACpC,YAAY,EACZ,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,YAAY,EACZ,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC,CACvC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,UAAU,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACnC,UAAU,MAAM,EAChB,MAAM,YAAY,SAOnB,CAAC;AAoFF,eAAO,MAAM,kBAAkB,GAAU,QAAQ,cAAc,uCAmE9D,CAAC"}
1
+ {"version":3,"file":"local-snapshot.d.ts","sourceRoot":"","sources":["../../src/services/local-snapshot.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAK9B,KAAK,cAAc,GAAG,kBAAkB,GACtC,QAAQ,CAAC;IACP,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAEL,MAAM,MAAM,YAAY,GACpB,QAAQ,CAAC;IACP,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC,GACF,QAAQ,CAAC;IACP,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC,GACF,QAAQ,CAAC;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC,CAAC;AAEP,MAAM,MAAM,gBAAgB,GAAG,OAAO,CACpC,YAAY,EACZ,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,YAAY,EACZ,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC,CACvC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,UAAU,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACnC,UAAU,MAAM,EAChB,MAAM,YAAY,SAOnB,CAAC;AAyHF,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,cAAc,EACtB,WAAW,gBAAgB,uCAsF5B,CAAC"}