@tinyrack/dotweave 0.42.13 → 0.42.21

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 (234) hide show
  1. package/README.md +6 -2
  2. package/dist/application.d.ts +0 -3
  3. package/dist/application.d.ts.map +1 -1
  4. package/dist/application.js +23 -22
  5. package/dist/application.js.map +1 -1
  6. package/dist/cli/autocomplete.d.ts +5 -4
  7. package/dist/cli/autocomplete.d.ts.map +1 -1
  8. package/dist/cli/autocomplete.js +33 -28
  9. package/dist/cli/autocomplete.js.map +1 -1
  10. package/dist/cli/cd.d.ts +2 -2
  11. package/dist/cli/cd.d.ts.map +1 -1
  12. package/dist/cli/cd.js +1 -4
  13. package/dist/cli/cd.js.map +1 -1
  14. package/dist/cli/doctor.d.ts +2 -2
  15. package/dist/cli/doctor.d.ts.map +1 -1
  16. package/dist/cli/doctor.js +19 -28
  17. package/dist/cli/doctor.js.map +1 -1
  18. package/dist/cli/index.d.ts +1 -3
  19. package/dist/cli/index.d.ts.map +1 -1
  20. package/dist/cli/index.js +5 -5
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/cli/init.d.ts +2 -2
  23. package/dist/cli/init.d.ts.map +1 -1
  24. package/dist/cli/init.js +9 -15
  25. package/dist/cli/init.js.map +1 -1
  26. package/dist/cli/profile/add.d.ts +4 -0
  27. package/dist/cli/profile/add.d.ts.map +1 -0
  28. package/dist/cli/profile/add.js +29 -0
  29. package/dist/cli/profile/add.js.map +1 -0
  30. package/dist/cli/profile/index.d.ts +1 -1
  31. package/dist/cli/profile/index.d.ts.map +1 -1
  32. package/dist/cli/profile/index.js +5 -1
  33. package/dist/cli/profile/index.js.map +1 -1
  34. package/dist/cli/profile/list.d.ts +2 -2
  35. package/dist/cli/profile/list.d.ts.map +1 -1
  36. package/dist/cli/profile/list.js +8 -26
  37. package/dist/cli/profile/list.js.map +1 -1
  38. package/dist/cli/profile/remove.d.ts +4 -0
  39. package/dist/cli/profile/remove.d.ts.map +1 -0
  40. package/dist/cli/profile/remove.js +29 -0
  41. package/dist/cli/profile/remove.js.map +1 -0
  42. package/dist/cli/profile/use.d.ts +2 -2
  43. package/dist/cli/profile/use.d.ts.map +1 -1
  44. package/dist/cli/profile/use.js +5 -14
  45. package/dist/cli/profile/use.js.map +1 -1
  46. package/dist/cli/pull.d.ts +2 -2
  47. package/dist/cli/pull.d.ts.map +1 -1
  48. package/dist/cli/pull.js +22 -41
  49. package/dist/cli/pull.js.map +1 -1
  50. package/dist/cli/push.d.ts +2 -2
  51. package/dist/cli/push.d.ts.map +1 -1
  52. package/dist/cli/push.js +17 -23
  53. package/dist/cli/push.js.map +1 -1
  54. package/dist/cli/root-commands.d.ts +9 -10
  55. package/dist/cli/root-commands.d.ts.map +1 -1
  56. package/dist/cli/root-commands.js +0 -4
  57. package/dist/cli/root-commands.js.map +1 -1
  58. package/dist/cli/shared-flags.d.ts +9 -0
  59. package/dist/cli/shared-flags.d.ts.map +1 -0
  60. package/dist/cli/shared-flags.js +8 -0
  61. package/dist/cli/shared-flags.js.map +1 -0
  62. package/dist/cli/status.d.ts +2 -2
  63. package/dist/cli/status.d.ts.map +1 -1
  64. package/dist/cli/status.js +26 -55
  65. package/dist/cli/status.js.map +1 -1
  66. package/dist/cli/track.d.ts +2 -2
  67. package/dist/cli/track.d.ts.map +1 -1
  68. package/dist/cli/track.js +19 -35
  69. package/dist/cli/track.js.map +1 -1
  70. package/dist/cli/untrack.d.ts +2 -2
  71. package/dist/cli/untrack.d.ts.map +1 -1
  72. package/dist/cli/untrack.js +5 -14
  73. package/dist/cli/untrack.js.map +1 -1
  74. package/dist/config/constants.d.ts +2 -2
  75. package/dist/config/constants.d.ts.map +1 -1
  76. package/dist/config/constants.js +2 -2
  77. package/dist/config/constants.js.map +1 -1
  78. package/dist/config/global-config.d.ts +3 -3
  79. package/dist/config/global-config.d.ts.map +1 -1
  80. package/dist/config/global-config.js +7 -8
  81. package/dist/config/global-config.js.map +1 -1
  82. package/dist/config/identity-file.d.ts +0 -7
  83. package/dist/config/identity-file.d.ts.map +1 -1
  84. package/dist/config/identity-file.js +2 -44
  85. package/dist/config/identity-file.js.map +1 -1
  86. package/dist/config/migration.d.ts +6 -0
  87. package/dist/config/migration.d.ts.map +1 -1
  88. package/dist/config/migration.js +35 -13
  89. package/dist/config/migration.js.map +1 -1
  90. package/dist/config/runtime-env.d.ts.map +1 -1
  91. package/dist/config/runtime-env.js +2 -7
  92. package/dist/config/runtime-env.js.map +1 -1
  93. package/dist/config/{sync-entry.d.ts → sync-queries.d.ts} +5 -3
  94. package/dist/config/sync-queries.d.ts.map +1 -0
  95. package/dist/config/{sync-entry.js → sync-queries.js} +15 -6
  96. package/dist/config/sync-queries.js.map +1 -0
  97. package/dist/config/sync-schema.d.ts +13 -8
  98. package/dist/config/sync-schema.d.ts.map +1 -1
  99. package/dist/config/sync-schema.js +138 -18
  100. package/dist/config/sync-schema.js.map +1 -1
  101. package/dist/config/xdg.d.ts.map +1 -1
  102. package/dist/config/xdg.js +15 -34
  103. package/dist/config/xdg.js.map +1 -1
  104. package/dist/lib/error.js +1 -1
  105. package/dist/lib/error.js.map +1 -1
  106. package/dist/lib/git.d.ts +3 -4
  107. package/dist/lib/git.d.ts.map +1 -1
  108. package/dist/lib/git.js +7 -48
  109. package/dist/lib/git.js.map +1 -1
  110. package/dist/lib/jsonc.d.ts +1 -1
  111. package/dist/lib/jsonc.d.ts.map +1 -1
  112. package/dist/lib/jsonc.js +1 -1
  113. package/dist/lib/jsonc.js.map +1 -1
  114. package/dist/lib/path.d.ts +3 -16
  115. package/dist/lib/path.d.ts.map +1 -1
  116. package/dist/lib/path.js +36 -19
  117. package/dist/lib/path.js.map +1 -1
  118. package/dist/lib/string.d.ts +1 -4
  119. package/dist/lib/string.d.ts.map +1 -1
  120. package/dist/lib/string.js +6 -4
  121. package/dist/lib/string.js.map +1 -1
  122. package/dist/lib/version.d.ts.map +1 -1
  123. package/dist/lib/version.js +2 -2
  124. package/dist/lib/version.js.map +1 -1
  125. package/dist/migrations/sync-v8.d.ts +3 -0
  126. package/dist/migrations/sync-v8.d.ts.map +1 -0
  127. package/dist/migrations/sync-v8.js +66 -0
  128. package/dist/migrations/sync-v8.js.map +1 -0
  129. package/dist/services/autocomplete.js +13 -13
  130. package/dist/services/autocomplete.js.map +1 -1
  131. package/dist/services/config-file.d.ts +6 -5
  132. package/dist/services/config-file.d.ts.map +1 -1
  133. package/dist/services/config-file.js +9 -8
  134. package/dist/services/config-file.js.map +1 -1
  135. package/dist/services/doctor.d.ts +1 -4
  136. package/dist/services/doctor.d.ts.map +1 -1
  137. package/dist/services/doctor.js +10 -37
  138. package/dist/services/doctor.js.map +1 -1
  139. package/dist/services/init.d.ts +1 -5
  140. package/dist/services/init.d.ts.map +1 -1
  141. package/dist/services/init.js +25 -59
  142. package/dist/services/init.js.map +1 -1
  143. package/dist/services/local-snapshot.d.ts +2 -7
  144. package/dist/services/local-snapshot.d.ts.map +1 -1
  145. package/dist/services/local-snapshot.js +12 -35
  146. package/dist/services/local-snapshot.js.map +1 -1
  147. package/dist/services/profile.d.ts +8 -4
  148. package/dist/services/profile.d.ts.map +1 -1
  149. package/dist/services/profile.js +110 -34
  150. package/dist/services/profile.js.map +1 -1
  151. package/dist/services/pull-apply.d.ts +30 -0
  152. package/dist/services/pull-apply.d.ts.map +1 -0
  153. package/dist/services/{local-materialization.js → pull-apply.js} +150 -210
  154. package/dist/services/pull-apply.js.map +1 -0
  155. package/dist/services/pull.d.ts +7 -10
  156. package/dist/services/pull.d.ts.map +1 -1
  157. package/dist/services/pull.js +19 -30
  158. package/dist/services/pull.js.map +1 -1
  159. package/dist/services/push.d.ts +4 -7
  160. package/dist/services/push.d.ts.map +1 -1
  161. package/dist/services/push.js +15 -38
  162. package/dist/services/push.js.map +1 -1
  163. package/dist/services/repo-artifacts.d.ts +5 -6
  164. package/dist/services/repo-artifacts.d.ts.map +1 -1
  165. package/dist/services/repo-artifacts.js +21 -60
  166. package/dist/services/repo-artifacts.js.map +1 -1
  167. package/dist/services/repo-snapshot.d.ts +2 -3
  168. package/dist/services/repo-snapshot.d.ts.map +1 -1
  169. package/dist/services/repo-snapshot.js +14 -26
  170. package/dist/services/repo-snapshot.js.map +1 -1
  171. package/dist/services/status.d.ts +1 -5
  172. package/dist/services/status.d.ts.map +1 -1
  173. package/dist/services/status.js +7 -17
  174. package/dist/services/status.js.map +1 -1
  175. package/dist/services/{runtime.d.ts → sync-context.d.ts} +9 -3
  176. package/dist/services/sync-context.d.ts.map +1 -0
  177. package/dist/services/{runtime.js → sync-context.js} +24 -8
  178. package/dist/services/sync-context.js.map +1 -0
  179. package/dist/services/{set.d.ts → sync-mode.d.ts} +7 -9
  180. package/dist/services/sync-mode.d.ts.map +1 -0
  181. package/dist/services/{set.js → sync-mode.js} +9 -23
  182. package/dist/services/sync-mode.js.map +1 -0
  183. package/dist/services/{paths.d.ts → sync-paths.d.ts} +2 -2
  184. package/dist/services/sync-paths.d.ts.map +1 -0
  185. package/dist/services/{paths.js → sync-paths.js} +4 -6
  186. package/dist/services/sync-paths.js.map +1 -0
  187. package/dist/services/terminal/logger.d.ts +30 -5
  188. package/dist/services/terminal/logger.d.ts.map +1 -1
  189. package/dist/services/terminal/logger.js +61 -14
  190. package/dist/services/terminal/logger.js.map +1 -1
  191. package/dist/services/terminal/path-completion.d.ts +2 -2
  192. package/dist/services/terminal/path-completion.d.ts.map +1 -1
  193. package/dist/services/terminal/path-completion.js +16 -13
  194. package/dist/services/terminal/path-completion.js.map +1 -1
  195. package/dist/services/terminal/shell.d.ts +1 -12
  196. package/dist/services/terminal/shell.d.ts.map +1 -1
  197. package/dist/services/terminal/shell.js +7 -160
  198. package/dist/services/terminal/shell.js.map +1 -1
  199. package/dist/services/terminal/spinner.d.ts +10 -0
  200. package/dist/services/terminal/spinner.d.ts.map +1 -0
  201. package/dist/services/terminal/spinner.js +61 -0
  202. package/dist/services/terminal/spinner.js.map +1 -0
  203. package/dist/services/terminal/theme.d.ts +31 -0
  204. package/dist/services/terminal/theme.d.ts.map +1 -0
  205. package/dist/services/terminal/theme.js +32 -0
  206. package/dist/services/terminal/theme.js.map +1 -0
  207. package/dist/services/track.d.ts +1 -3
  208. package/dist/services/track.d.ts.map +1 -1
  209. package/dist/services/track.js +27 -23
  210. package/dist/services/track.js.map +1 -1
  211. package/dist/services/untrack.d.ts +0 -2
  212. package/dist/services/untrack.d.ts.map +1 -1
  213. package/dist/services/untrack.js +4 -11
  214. package/dist/services/untrack.js.map +1 -1
  215. package/package.json +1 -2
  216. package/dist/config/sync-entry.d.ts.map +0 -1
  217. package/dist/config/sync-entry.js.map +0 -1
  218. package/dist/config/sync.d.ts +0 -8
  219. package/dist/config/sync.d.ts.map +0 -1
  220. package/dist/config/sync.js +0 -53
  221. package/dist/config/sync.js.map +0 -1
  222. package/dist/services/local-materialization.d.ts +0 -30
  223. package/dist/services/local-materialization.d.ts.map +0 -1
  224. package/dist/services/local-materialization.js.map +0 -1
  225. package/dist/services/paths.d.ts.map +0 -1
  226. package/dist/services/paths.js.map +0 -1
  227. package/dist/services/runtime.d.ts.map +0 -1
  228. package/dist/services/runtime.js.map +0 -1
  229. package/dist/services/set.d.ts.map +0 -1
  230. package/dist/services/set.js.map +0 -1
  231. package/dist/services/terminal/cli-runtime.d.ts +0 -18
  232. package/dist/services/terminal/cli-runtime.d.ts.map +0 -1
  233. package/dist/services/terminal/cli-runtime.js +0 -19
  234. package/dist/services/terminal/cli-runtime.js.map +0 -1
@@ -1,19 +1,18 @@
1
1
  import { mkdir, readdir, readFile, writeFile } from "node:fs/promises";
2
2
  import { dirname, join } from "node:path";
3
- import { CONSTANTS } from "#app/config/constants.ts";
3
+ import { AppConstants } from "#app/config/constants.ts";
4
4
  import { formatGlobalDotweaveConfig, readGlobalDotweaveConfig, } from "#app/config/global-config.ts";
5
5
  import { resolveDefaultIdentityFile } from "#app/config/identity-file.ts";
6
6
  import { readEnvValue } from "#app/config/runtime-env.ts";
7
- import { createInitialSyncConfig, formatSyncConfig, parseSyncConfig, readSyncConfig, syncConfigFileName, } from "#app/config/sync.ts";
7
+ import { createInitialSyncConfig, formatSyncConfig, parseSyncConfig, readSyncConfig, } from "#app/config/sync-schema.ts";
8
8
  import { createAgeIdentityFile, readAgeRecipientsFromIdentityFile, writeAgeIdentityFile, } from "#app/lib/crypto.ts";
9
9
  import { DotweaveError, wrapUnknownError } from "#app/lib/error.ts";
10
10
  import { pathExists, writeTextFileAtomically } from "#app/lib/filesystem.ts";
11
- import { ensureGitRepository, ensureRepository, initializeRepository, } from "#app/lib/git.ts";
12
- import { resolveJsoncConfigPath } from "#app/lib/jsonc.ts";
13
- import { resolveAgeFromSyncConfig, resolveSyncConfigResolutionContext, resolveSyncPaths, } from "./runtime.js";
14
- export const defaultSyncIdentityFile = CONSTANTS.INIT.DEFAULT_IDENTITY_FILE;
15
- const managedRepositoryAttributesFileName = ".gitattributes";
16
- const managedRepositoryAttributesContents = "* -text\n";
11
+ import { initializeRepository, requireGitRepository, verifyIsGitRepository, } from "#app/lib/git.ts";
12
+ import { validateJsoncConfigPath } from "#app/lib/jsonc.ts";
13
+ import { resolveAgeFromSyncConfig, resolveSyncConfigResolutionContext, resolveSyncPaths, } from "./sync-context.js";
14
+ const gitAttributesFileName = ".gitattributes";
15
+ const gitAttributesContents = "* -text\n";
17
16
  export const createMissingRepositoryAgeKeyError = () => {
18
17
  return new DotweaveError("Existing repository setup requires an age private key.", {
19
18
  code: "INIT_AGE_IDENTITY_REQUIRED",
@@ -27,11 +26,10 @@ const normalizeRecipients = (recipients) => {
27
26
  return left.localeCompare(right);
28
27
  });
29
28
  };
30
- const resolveInitAgeBootstrap = async (request, reporter) => {
29
+ const resolveInitAgeBootstrap = async (request) => {
31
30
  const identityFile = resolveDefaultIdentityFile(readEnvValue("HOME"), readEnvValue("XDG_CONFIG_HOME"));
32
31
  const explicitRecipients = normalizeRecipients(request.recipients);
33
32
  if (request.ageIdentity !== undefined) {
34
- reporter?.start("Writing age identity file...");
35
33
  const { recipient } = await writeAgeIdentityFile(identityFile, request.ageIdentity);
36
34
  return {
37
35
  generatedIdentity: false,
@@ -40,13 +38,11 @@ const resolveInitAgeBootstrap = async (request, reporter) => {
40
38
  }
41
39
  if (explicitRecipients.length === 0) {
42
40
  if (await pathExists(identityFile)) {
43
- reporter?.start("Loading age recipients from the existing identity...");
44
41
  return {
45
42
  generatedIdentity: false,
46
43
  recipients: normalizeRecipients(await readAgeRecipientsFromIdentityFile(identityFile)),
47
44
  };
48
45
  }
49
- reporter?.start("Generating a new age identity...");
50
46
  const { recipient } = await createAgeIdentityFile(identityFile);
51
47
  return {
52
48
  generatedIdentity: true,
@@ -54,7 +50,6 @@ const resolveInitAgeBootstrap = async (request, reporter) => {
54
50
  };
55
51
  }
56
52
  if (request.generateAgeIdentity === true) {
57
- reporter?.start("Generating a new age identity...");
58
53
  const { recipient } = await createAgeIdentityFile(identityFile);
59
54
  return {
60
55
  generatedIdentity: true,
@@ -62,20 +57,18 @@ const resolveInitAgeBootstrap = async (request, reporter) => {
62
57
  };
63
58
  }
64
59
  if (await pathExists(identityFile)) {
65
- reporter?.start("Using the existing age identity file...");
66
60
  return {
67
61
  generatedIdentity: false,
68
62
  recipients: explicitRecipients,
69
63
  };
70
64
  }
71
- reporter?.start("Generating a new age identity...");
72
65
  const { recipient } = await createAgeIdentityFile(identityFile);
73
66
  return {
74
67
  generatedIdentity: true,
75
68
  recipients: normalizeRecipients([...explicitRecipients, recipient]),
76
69
  };
77
70
  };
78
- const assertInitRequestMatchesConfig = (age, request) => {
71
+ const assertRecipientMatch = (age, request) => {
79
72
  if (age === undefined) {
80
73
  return;
81
74
  }
@@ -89,7 +82,7 @@ const assertInitRequestMatchesConfig = (age, request) => {
89
82
  `Requested recipients: ${recipients.join(", ") || "(none)"}`,
90
83
  `Configured recipients: ${normalizeRecipients([...age.recipients]).join(", ")}`,
91
84
  ],
92
- hint: `Use the existing recipients, or update ${syncConfigFileName} manually if you intend to rotate recipients.`,
85
+ hint: `Use the existing recipients, or update ${AppConstants.SYNC.CONFIG_FILE_NAME} manually if you intend to rotate recipients.`,
93
86
  });
94
87
  }
95
88
  };
@@ -97,40 +90,37 @@ const buildAlreadyInitializedResult = (config, base) => {
97
90
  const age = config.age !== undefined ? resolveAgeFromSyncConfig(config.age) : undefined;
98
91
  return {
99
92
  alreadyInitialized: true,
100
- configPath: base.configPath,
101
93
  entryCount: config.entries.length,
102
94
  gitAction: base.gitAction,
103
95
  ...(base.gitSource === undefined ? {} : { gitSource: base.gitSource }),
104
96
  generatedIdentity: false,
105
97
  identityFile: age?.identityFile ?? "",
106
98
  recipientCount: age?.recipients.length ?? 0,
107
- syncDirectory: base.syncDirectory,
108
99
  };
109
100
  };
110
101
  const writeGlobalSettings = async (globalConfigPath) => {
111
102
  const existingGlobalConfig = await readGlobalDotweaveConfig(globalConfigPath);
112
103
  const globalConfigToWrite = {
113
- activeProfile: existingGlobalConfig?.activeProfile ?? CONSTANTS.SYNC.DEFAULT_PROFILE,
114
- version: CONSTANTS.GLOBAL_CONFIG.CURRENT_VERSION,
104
+ activeProfile: existingGlobalConfig?.activeProfile ?? AppConstants.SYNC.DEFAULT_PROFILE,
105
+ version: AppConstants.GLOBAL_CONFIG.CURRENT_VERSION,
115
106
  };
116
107
  await mkdir(dirname(globalConfigPath), { recursive: true });
117
108
  await writeTextFileAtomically(globalConfigPath, formatGlobalDotweaveConfig(globalConfigToWrite));
118
109
  };
119
110
  const ensureManagedRepositoryAttributes = async (syncDirectory) => {
120
- const attributesPath = join(syncDirectory, managedRepositoryAttributesFileName);
111
+ const attributesPath = join(syncDirectory, gitAttributesFileName);
121
112
  if (await pathExists(attributesPath)) {
122
113
  const existingContents = await readFile(attributesPath, "utf8");
123
- if (existingContents === managedRepositoryAttributesContents) {
114
+ if (existingContents === gitAttributesContents) {
124
115
  return;
125
116
  }
126
117
  }
127
- await writeTextFileAtomically(attributesPath, managedRepositoryAttributesContents);
118
+ await writeTextFileAtomically(attributesPath, gitAttributesContents);
128
119
  };
129
- export const initializeSyncDirectory = async (request, reporter) => {
130
- reporter?.start("Initializing sync directory...");
120
+ export const initializeSyncDirectory = async (request) => {
131
121
  const { syncDirectory, configPath, globalConfigPath } = resolveSyncPaths();
132
122
  const context = resolveSyncConfigResolutionContext();
133
- const resolvedConfigPath = await resolveJsoncConfigPath(configPath);
123
+ const resolvedConfigPath = await validateJsoncConfigPath(configPath);
134
124
  const configExists = await pathExists(resolvedConfigPath);
135
125
  const identityFile = resolveDefaultIdentityFile(readEnvValue("HOME"), readEnvValue("XDG_CONFIG_HOME"));
136
126
  const importingRepository = request.repository !== undefined && request.repository.trim() !== "";
@@ -140,29 +130,22 @@ export const initializeSyncDirectory = async (request, reporter) => {
140
130
  throw createMissingRepositoryAgeKeyError();
141
131
  }
142
132
  if (configExists) {
143
- reporter?.start("Checking the existing sync directory...");
144
- await ensureGitRepository(syncDirectory);
133
+ await requireGitRepository(syncDirectory);
145
134
  await ensureManagedRepositoryAttributes(syncDirectory);
146
- reporter?.start("Loading the existing sync config...");
147
135
  const config = await readSyncConfig(syncDirectory, context);
148
- assertInitRequestMatchesConfig(config.age, request);
149
- await resolveInitAgeBootstrap(request, reporter);
136
+ assertRecipientMatch(config.age, request);
137
+ await resolveInitAgeBootstrap(request);
150
138
  return buildAlreadyInitializedResult(config, {
151
- configPath,
152
139
  gitAction: "existing",
153
- syncDirectory,
154
140
  });
155
141
  }
156
142
  await mkdir(dirname(syncDirectory), {
157
143
  recursive: true,
158
144
  });
159
- reporter?.start("Preparing the sync directory...");
160
145
  let gitAction = "existing";
161
146
  let gitSource;
162
147
  try {
163
- reporter?.start("Checking for an existing git repository...");
164
- await ensureRepository(syncDirectory);
165
- reporter?.start("Using the existing git repository...");
148
+ await verifyIsGitRepository(syncDirectory);
166
149
  }
167
150
  catch {
168
151
  const syncDirectoryExists = await pathExists(syncDirectory);
@@ -179,10 +162,7 @@ export const initializeSyncDirectory = async (request, reporter) => {
179
162
  const gitSourceInput = request.repository?.trim() || undefined;
180
163
  let gitResult;
181
164
  try {
182
- reporter?.start(gitSourceInput === undefined
183
- ? "Initializing a new git repository..."
184
- : `Cloning the sync directory from ${gitSourceInput}...`);
185
- gitResult = await initializeRepository(syncDirectory, gitSourceInput, reporter);
165
+ gitResult = await initializeRepository(syncDirectory, gitSourceInput);
186
166
  }
187
167
  catch (error) {
188
168
  throw wrapUnknownError(gitSourceInput === undefined
@@ -205,29 +185,23 @@ export const initializeSyncDirectory = async (request, reporter) => {
205
185
  gitAction = gitResult.action;
206
186
  gitSource = gitResult.source;
207
187
  }
208
- reporter?.start("Preparing the sync artifact directory...");
209
188
  await mkdir(syncDirectory, { recursive: true });
210
189
  await ensureManagedRepositoryAttributes(syncDirectory);
211
- if (await pathExists(await resolveJsoncConfigPath(configPath))) {
212
- reporter?.start("Loading the existing sync config...");
190
+ if (await pathExists(await validateJsoncConfigPath(configPath))) {
213
191
  const config = await readSyncConfig(syncDirectory, context);
214
- const ageBootstrap = await resolveInitAgeBootstrap(request, reporter);
192
+ const ageBootstrap = await resolveInitAgeBootstrap(request);
215
193
  if (configExists) {
216
194
  return buildAlreadyInitializedResult(config, {
217
- configPath,
218
195
  gitAction,
219
196
  gitSource,
220
- syncDirectory,
221
197
  });
222
198
  }
223
- reporter?.start("Writing global dotweave settings...");
224
199
  await writeGlobalSettings(globalConfigPath);
225
200
  const age = config.age !== undefined
226
201
  ? resolveAgeFromSyncConfig(config.age)
227
202
  : undefined;
228
203
  return {
229
204
  alreadyInitialized: false,
230
- configPath,
231
205
  entryCount: config.entries.length,
232
206
  gitAction,
233
207
  ...(gitSource === undefined ? {} : { gitSource }),
@@ -235,31 +209,23 @@ export const initializeSyncDirectory = async (request, reporter) => {
235
209
  identityFile: age?.identityFile ??
236
210
  resolveDefaultIdentityFile(readEnvValue("HOME"), readEnvValue("XDG_CONFIG_HOME")),
237
211
  recipientCount: age?.recipients.length ?? 0,
238
- syncDirectory,
239
212
  };
240
213
  }
241
- reporter?.start("Preparing sync encryption settings...");
242
- const ageBootstrap = await resolveInitAgeBootstrap(request, reporter);
243
- // Write global settings.jsonc (without age)
244
- reporter?.start("Writing global dotweave settings...");
214
+ const ageBootstrap = await resolveInitAgeBootstrap(request);
245
215
  await writeGlobalSettings(globalConfigPath);
246
- // Write sync config with age
247
216
  const initialConfig = createInitialSyncConfig({
248
217
  recipients: [...new Set(ageBootstrap.recipients.map((r) => r.trim()))],
249
218
  });
250
- reporter?.start("Writing sync config...");
251
219
  parseSyncConfig(initialConfig, context);
252
220
  await writeFile(configPath, formatSyncConfig(initialConfig), "utf8");
253
221
  return {
254
222
  alreadyInitialized: false,
255
- configPath,
256
223
  entryCount: 0,
257
224
  gitAction,
258
225
  ...(gitSource === undefined ? {} : { gitSource }),
259
226
  generatedIdentity: ageBootstrap.generatedIdentity,
260
227
  identityFile: resolveDefaultIdentityFile(readEnvValue("HOME"), readEnvValue("XDG_CONFIG_HOME")),
261
228
  recipientCount: ageBootstrap.recipients.length,
262
- syncDirectory,
263
229
  };
264
230
  };
265
231
  //# sourceMappingURL=init.js.map
@@ -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,8 +1,4 @@
1
- import type { ConsolaInstance } from "consola";
2
- import { type ResolvedSyncConfig } from "#app/config/sync.ts";
3
- type SnapshotConfig = ResolvedSyncConfig & Readonly<{
4
- activeProfile?: string;
5
- }>;
1
+ import type { EffectiveSyncConfig } from "./sync-context.ts";
6
2
  export type SnapshotNode = Readonly<{
7
3
  type: "directory";
8
4
  }> | Readonly<{
@@ -21,6 +17,5 @@ export type FileLikeSnapshotNode = Extract<SnapshotNode, Readonly<{
21
17
  type: "file" | "symlink";
22
18
  }>>;
23
19
  export declare const addSnapshotNode: (snapshot: Map<string, SnapshotNode>, repoPath: string, node: SnapshotNode) => void;
24
- export declare const buildLocalSnapshot: (config: SnapshotConfig, reporter?: ConsolaInstance) => Promise<Map<string, SnapshotNode>>;
25
- export {};
20
+ export declare const buildLocalSnapshot: (config: EffectiveSyncConfig) => Promise<Map<string, SnapshotNode>>;
26
21
  //# 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":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAEL,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;AAwHF,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,cAAc,EACtB,WAAW,eAAe,uCAmF3B,CAAC"}
1
+ {"version":3,"file":"local-snapshot.d.ts","sourceRoot":"","sources":["../../src/services/local-snapshot.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,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;AAYF,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,mBAAmB,uCAgEnE,CAAC"}
@@ -1,29 +1,23 @@
1
1
  import { lstat, readFile, readlink } from "node:fs/promises";
2
2
  import { join, posix } from "node:path";
3
- import { collectChildEntryPaths, resolveManagedSyncMode, } from "#app/config/sync.ts";
3
+ import { collectChildEntryPaths, findOwningSyncEntry, requireManagedSyncMode, } from "#app/config/sync-queries.ts";
4
4
  import { DotweaveError } from "#app/lib/error.ts";
5
5
  import { isExecutableMode } from "#app/lib/file-mode.ts";
6
6
  import { getPathStats, listDirectoryEntries } from "#app/lib/filesystem.ts";
7
7
  import { assertStorageSafeRepoPath } from "./repo-artifacts.js";
8
+ const resolveSnapshotExecutable = (config, repoPath, filesystemMode) => {
9
+ const entry = findOwningSyncEntry(config, repoPath);
10
+ return isExecutableMode(entry?.permission ?? filesystemMode);
11
+ };
8
12
  export const addSnapshotNode = (snapshot, repoPath, node) => {
9
13
  if (snapshot.has(repoPath)) {
10
14
  throw new DotweaveError(`Duplicate sync path generated for ${repoPath}`);
11
15
  }
12
16
  snapshot.set(repoPath, node);
13
17
  };
14
- const reportLocalScanProgress = (reporter, state, repoPath, kind) => {
15
- state.scannedEntryCount += 1;
16
- if ((reporter?.level ?? 0) >= 4) {
17
- reporter?.verbose(`scanned local ${kind} ${repoPath}`);
18
- return;
19
- }
20
- if (state.scannedEntryCount % 100 === 0) {
21
- reporter?.start(`Scanned ${state.scannedEntryCount} local filesystem entries...`);
22
- }
23
- };
24
18
  const addLocalNode = async (snapshot, config, repoPath, path, stats) => {
25
19
  assertStorageSafeRepoPath(repoPath);
26
- const mode = resolveManagedSyncMode(config, repoPath, config.activeProfile);
20
+ const mode = requireManagedSyncMode(config, repoPath, config.activeProfile);
27
21
  if (mode === "ignore") {
28
22
  return;
29
23
  }
@@ -45,12 +39,12 @@ const addLocalNode = async (snapshot, config, repoPath, path, stats) => {
45
39
  }
46
40
  addSnapshotNode(snapshot, repoPath, {
47
41
  contents: await readFile(path),
48
- executable: isExecutableMode(stats.mode),
42
+ executable: resolveSnapshotExecutable(config, repoPath, stats.mode),
49
43
  secret: mode === "secret",
50
44
  type: "file",
51
45
  });
52
46
  };
53
- const walkLocalDirectory = async (snapshot, config, localDirectory, repoPathPrefix, childEntryPaths, reporter, progressState = { scannedEntryCount: 0 }) => {
47
+ const walkLocalDirectory = async (snapshot, config, localDirectory, repoPathPrefix, childEntryPaths) => {
54
48
  const entries = await listDirectoryEntries(localDirectory);
55
49
  for (const entry of entries) {
56
50
  const localPath = join(localDirectory, entry.name);
@@ -59,43 +53,26 @@ const walkLocalDirectory = async (snapshot, config, localDirectory, repoPathPref
59
53
  continue;
60
54
  }
61
55
  const stats = await lstat(localPath);
62
- reportLocalScanProgress(reporter, progressState, repoPath, stats.isDirectory()
63
- ? "directory"
64
- : stats.isSymbolicLink()
65
- ? "symlink"
66
- : stats.isFile()
67
- ? "file"
68
- : "other");
69
56
  if (stats.isDirectory()) {
70
57
  assertStorageSafeRepoPath(repoPath);
71
- await walkLocalDirectory(snapshot, config, localPath, repoPath, childEntryPaths, reporter, progressState);
58
+ await walkLocalDirectory(snapshot, config, localPath, repoPath, childEntryPaths);
72
59
  continue;
73
60
  }
74
61
  await addLocalNode(snapshot, config, repoPath, localPath, stats);
75
62
  }
76
63
  };
77
- export const buildLocalSnapshot = async (config, reporter) => {
64
+ export const buildLocalSnapshot = async (config) => {
78
65
  const snapshot = new Map();
79
- const progressState = { scannedEntryCount: 0 };
80
66
  for (const entry of config.entries) {
81
- reporter?.start(`Scanning tracked entry ${entry.repoPath}...`);
82
67
  const stats = await getPathStats(entry.localPath);
83
68
  if (stats === undefined) {
84
- reporter?.verbose(`skipped missing local entry ${entry.repoPath}`);
85
69
  continue;
86
70
  }
87
- const entryMode = resolveManagedSyncMode(config, entry.repoPath, config.activeProfile);
71
+ const entryMode = requireManagedSyncMode(config, entry.repoPath, config.activeProfile);
88
72
  if (entry.kind === "file") {
89
73
  if (entryMode === "ignore") {
90
74
  continue;
91
75
  }
92
- reportLocalScanProgress(reporter, progressState, entry.repoPath, stats.isSymbolicLink()
93
- ? "symlink"
94
- : stats.isFile()
95
- ? "file"
96
- : stats.isDirectory()
97
- ? "directory"
98
- : "other");
99
76
  if (stats.isDirectory()) {
100
77
  throw new DotweaveError(`Sync entry ${entry.repoPath} expects a file, but found a directory: ${entry.localPath}`);
101
78
  }
@@ -109,7 +86,7 @@ export const buildLocalSnapshot = async (config, reporter) => {
109
86
  if (entryMode === "ignore") {
110
87
  continue;
111
88
  }
112
- await walkLocalDirectory(snapshot, config, entry.localPath, entry.repoPath, childEntryPaths, reporter, progressState);
89
+ await walkLocalDirectory(snapshot, config, entry.localPath, entry.repoPath, childEntryPaths);
113
90
  addSnapshotNode(snapshot, entry.repoPath, {
114
91
  type: "directory",
115
92
  });
@@ -1 +1 @@
1
- {"version":3,"file":"local-snapshot.js","sourceRoot":"","sources":["../../src/services/local-snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-snapshot.js","sourceRoot":"","sources":["../../src/services/local-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AA4BhE,MAAM,yBAAyB,GAAG,CAChC,MAA2B,EAC3B,QAAgB,EAChB,cAA+B,EAC/B,EAAE;IACF,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEpD,OAAO,gBAAgB,CAAC,KAAK,EAAE,UAAU,IAAI,cAAc,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAmC,EACnC,QAAgB,EAChB,IAAkB,EAClB,EAAE;IACF,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,aAAa,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,EACxB,QAAmC,EACnC,MAA2B,EAC3B,QAAgB,EAChB,IAAY,EACZ,KAAwC,EACxC,EAAE;IACF,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAE5E,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,aAAa,CACrB,oDAAoD,IAAI,EAAE,CAC3D,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;QAC3B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,aAAa,CACrB,0DAA0D,QAAQ,EAAE,CACrE,CAAC;QACJ,CAAC;QAED,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE;YAClC,UAAU,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC;YAChC,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QAEH,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,aAAa,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE;QAClC,QAAQ,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC;QAC9B,UAAU,EAAE,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC;QACnE,MAAM,EAAE,IAAI,KAAK,QAAQ;QACzB,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAC9B,QAAmC,EACnC,MAA2B,EAC3B,cAAsB,EACtB,cAAsB,EACtB,eAAoC,EACpC,EAAE;IACF,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAE3D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,kBAAkB,CACtB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,QAAQ,EACR,eAAe,CAChB,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,MAA2B,EAAE,EAAE;IACtE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEjD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,sBAAsB,CACtC,MAAM,EACN,KAAK,CAAC,QAAQ,EACd,MAAM,CAAC,aAAa,CACrB,CAAC;QAEF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,aAAa,CACrB,cAAc,KAAK,CAAC,QAAQ,2CAA2C,KAAK,CAAC,SAAS,EAAE,CACzF,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,CAChB,QAAQ,EACR,MAAM,EACN,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,SAAS,EACf,KAAK,CACN,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,aAAa,CACrB,cAAc,KAAK,CAAC,QAAQ,yBAAyB,KAAK,CAAC,SAAS,EAAE,CACvE,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAC/C,CAAC;QAEF,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,kBAAkB,CACtB,QAAQ,EACR,MAAM,EACN,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,QAAQ,EACd,eAAe,CAChB,CAAC;QACF,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;YACxC,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
@@ -6,34 +6,38 @@ export type ProfileAssignment = Readonly<{
6
6
  export type ProfileListResult = Readonly<{
7
7
  activeProfile?: string;
8
8
  activeProfileMode: "none" | "single";
9
+ activeProfileWarning?: string;
9
10
  assignments: readonly ProfileAssignment[];
10
11
  availableProfiles: readonly string[];
11
12
  globalConfigExists: boolean;
12
13
  globalConfigPath: string;
13
- syncDirectory: string;
14
14
  }>;
15
15
  export type ProfileUpdateResult = Readonly<{
16
16
  activeProfile?: string;
17
17
  action: "clear" | "use";
18
18
  globalConfigPath: string;
19
19
  profile?: string;
20
- syncDirectory: string;
21
20
  warning?: string;
22
21
  }>;
22
+ export type ProfileRegistryUpdateResult = Readonly<{
23
+ action: "added" | "removed";
24
+ profile: string;
25
+ }>;
23
26
  type AssignProfilesRequest = Readonly<{
24
27
  profiles: readonly string[];
25
28
  target: string;
26
29
  }>;
27
30
  type AssignProfilesResult = Readonly<{
28
31
  action: "assigned" | "unchanged";
29
- configPath: string;
30
32
  entryRepoPath: string;
31
33
  profiles: readonly string[];
32
- syncDirectory: string;
33
34
  }>;
34
35
  export declare const listProfiles: () => Promise<ProfileListResult>;
35
36
  export declare const setActiveProfile: (profile: string) => Promise<ProfileUpdateResult>;
37
+ export declare const addProfile: (profile: string) => Promise<ProfileRegistryUpdateResult>;
38
+ export declare const removeProfile: (profile: string) => Promise<ProfileRegistryUpdateResult>;
36
39
  export declare const clearActiveProfile: () => Promise<ProfileUpdateResult>;
40
+ export declare const validateProfilesExist: (profiles: readonly string[]) => Promise<readonly string[]>;
37
41
  export declare const assignProfiles: (request: AssignProfilesRequest, cwd: string) => Promise<AssignProfilesResult>;
38
42
  export {};
39
43
  //# sourceMappingURL=profile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/services/profile.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,WAAW,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC1C,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,KAAK,qBAAqB,GAAG,QAAQ,CAAC;IACpC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,KAAK,oBAAoB,GAAG,QAAQ,CAAC;IACnC,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,iBAAiB,CAgC9D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,SAAS,MAAM,KACd,OAAO,CAAC,mBAAmB,CA6B7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,mBAAmB,CAiBtE,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,SAAS,qBAAqB,EAC9B,KAAK,MAAM,KACV,OAAO,CAAC,oBAAoB,CAuE9B,CAAC"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/services/profile.ts"],"names":[],"mappings":"AA0BA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC1C,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,KAAK,qBAAqB,GAAG,QAAQ,CAAC;IACpC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,KAAK,oBAAoB,GAAG,QAAQ,CAAC;IACnC,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC,CAAC;AA6CH,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,iBAAiB,CAmC9D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,SAAS,MAAM,KACd,OAAO,CAAC,mBAAmB,CA2B7B,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,SAAS,MAAM,KACd,OAAO,CAAC,2BAA2B,CA0BrC,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,SAAS,MAAM,KACd,OAAO,CAAC,2BAA2B,CAmDrC,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,mBAAmB,CAgBtE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,UAAU,SAAS,MAAM,EAAE,KAC1B,OAAO,CAAC,SAAS,MAAM,EAAE,CAG3B,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,SAAS,qBAAqB,EAC9B,KAAK,MAAM,KACV,OAAO,CAAC,oBAAoB,CA+D9B,CAAC"}