@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
@@ -0,0 +1,66 @@
1
+ import { AppConstants } from "#app/config/constants.ts";
2
+ import { DotweaveError } from "#app/lib/error.ts";
3
+ const isRecord = (value) => {
4
+ return typeof value === "object" && value !== null && !Array.isArray(value);
5
+ };
6
+ const normalizeLegacyProfileName = (value) => {
7
+ const normalizedValue = value.trim();
8
+ if (normalizedValue.length === 0) {
9
+ throw new DotweaveError("Profile name must not be empty.", {
10
+ code: "INVALID_PROFILE_NAME",
11
+ details: [`Profile name: ${value}`],
12
+ hint: "Use a short profile name like 'work' or 'personal'.",
13
+ });
14
+ }
15
+ if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/u.test(normalizedValue)) {
16
+ throw new DotweaveError("Profile name contains unsupported characters.", {
17
+ code: "INVALID_PROFILE_NAME",
18
+ details: [`Profile name: ${value}`],
19
+ hint: "Use letters, numbers, dots, underscores, or hyphens, and start with a letter or number.",
20
+ });
21
+ }
22
+ if (normalizedValue.startsWith(".")) {
23
+ throw new DotweaveError("Profile name must not start with '.'.", {
24
+ code: "INVALID_PROFILE_NAME",
25
+ details: [`Profile name: ${value}`],
26
+ hint: "Use a plain name like 'work' instead of hidden-path style names.",
27
+ });
28
+ }
29
+ if (normalizedValue === "." || normalizedValue === "..") {
30
+ throw new DotweaveError("Profile name is invalid.", {
31
+ code: "INVALID_PROFILE_NAME",
32
+ details: [`Profile name: ${value}`],
33
+ });
34
+ }
35
+ return normalizedValue;
36
+ };
37
+ export const migrateSyncConfigV7ToV8 = (config) => {
38
+ const profiles = new Set();
39
+ const typedConfig = config;
40
+ const entries = Array.isArray(typedConfig.entries) ? typedConfig.entries : [];
41
+ for (const entry of entries) {
42
+ const typedEntry = entry;
43
+ if (!isRecord(entry) || !Array.isArray(typedEntry.profiles)) {
44
+ continue;
45
+ }
46
+ for (const profile of typedEntry.profiles) {
47
+ if (typeof profile !== "string") {
48
+ throw new DotweaveError("Profile name must be a string.", {
49
+ code: "INVALID_PROFILE_NAME",
50
+ details: [`Profile value: ${String(profile)}`],
51
+ hint: "Use a short profile name like 'work' or 'personal'.",
52
+ });
53
+ }
54
+ const normalizedProfile = normalizeLegacyProfileName(profile);
55
+ if (normalizedProfile !== AppConstants.SYNC.DEFAULT_PROFILE) {
56
+ profiles.add(normalizedProfile);
57
+ }
58
+ }
59
+ }
60
+ return {
61
+ ...config,
62
+ version: 8,
63
+ profiles: [...profiles].sort((left, right) => left.localeCompare(right)),
64
+ };
65
+ };
66
+ //# sourceMappingURL=sync-v8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-v8.js","sourceRoot":"","sources":["../../src/migrations/sync-v8.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CONSTANTS } from "#app/config/constants.ts";
1
+ import { AppConstants } from "#app/config/constants.ts";
2
2
  const COMPLETION_FUNCTION_NAME = "__dotweave_complete";
3
3
  const ENSURE_FUNCTION_NAME = "__dotweave_ensure_completion";
4
4
  export const BASH_AUTOCOMPLETE_SCRIPT = `\
@@ -6,12 +6,12 @@ ${COMPLETION_FUNCTION_NAME}() {
6
6
  local -a inputs
7
7
  local rawCompletions completion
8
8
  inputs=("\${COMP_WORDS[@]}")
9
- if [[ \${#inputs[@]} -eq 1 && \${COMP_CWORD:-0} -eq 0 && "\${inputs[0]}" == "${CONSTANTS.AUTOCOMPLETE.CLI_COMMAND_NAME}" ]]; then
9
+ if [[ \${#inputs[@]} -eq 1 && \${COMP_CWORD:-0} -eq 0 && "\${inputs[0]}" == "${AppConstants.AUTOCOMPLETE.CLI_COMMAND_NAME}" ]]; then
10
10
  inputs+=("")
11
11
  elif [[ \${COMP_CWORD:-0} -ge \${#inputs[@]} ]]; then
12
12
  inputs+=("")
13
13
  fi
14
- if ! rawCompletions="$(env -u COMP_LINE ${CONSTANTS.AUTOCOMPLETE.COMMAND} "\${inputs[@]}")"; then
14
+ if ! rawCompletions="$(env -u COMP_LINE ${AppConstants.AUTOCOMPLETE.COMMAND} "\${inputs[@]}")"; then
15
15
  return 1
16
16
  fi
17
17
 
@@ -62,16 +62,16 @@ ${COMPLETION_FUNCTION_NAME}() {
62
62
 
63
63
  return 0
64
64
  }
65
- complete -o default -o nospace -F ${COMPLETION_FUNCTION_NAME} ${CONSTANTS.AUTOCOMPLETE.CLI_COMMAND_NAME}
65
+ complete -o default -o nospace -F ${COMPLETION_FUNCTION_NAME} ${AppConstants.AUTOCOMPLETE.CLI_COMMAND_NAME}
66
66
  `;
67
67
  export const POWERSHELL_AUTOCOMPLETE_SCRIPT = `\
68
- Register-ArgumentCompleter -Native -CommandName ${CONSTANTS.AUTOCOMPLETE.CLI_COMMAND_NAME} -ScriptBlock {
68
+ Register-ArgumentCompleter -Native -CommandName ${AppConstants.AUTOCOMPLETE.CLI_COMMAND_NAME} -ScriptBlock {
69
69
  param($wordToComplete, $commandAst, $cursorPosition)
70
70
  $inputs = $commandAst.ToString().Split(' ', [System.StringSplitOptions]::RemoveEmptyEntries)
71
71
  if ($cursorPosition -gt $commandAst.ToString().Length) {
72
72
  $inputs += ''
73
73
  }
74
- $rawCompletions = & ${CONSTANTS.AUTOCOMPLETE.COMMAND.replace(" ", " ")} $inputs 2>$null
74
+ $rawCompletions = & ${AppConstants.AUTOCOMPLETE.COMMAND.replace(" ", " ")} $inputs 2>$null
75
75
  if (-not $rawCompletions) { return }
76
76
  foreach ($line in $rawCompletions) {
77
77
  $parts = $line.Split([char]9, 2)
@@ -97,12 +97,12 @@ ${COMPLETION_FUNCTION_NAME}() {
97
97
  local -a directories inputs plainCompletions
98
98
  local rawCompletions
99
99
  inputs=("\${words[@]}")
100
- if (( CURRENT == 1 && \${#inputs[@]} == 1 )) && [[ "\${inputs[1]}" == "${CONSTANTS.AUTOCOMPLETE.CLI_COMMAND_NAME}" ]]; then
100
+ if (( CURRENT == 1 && \${#inputs[@]} == 1 )) && [[ "\${inputs[1]}" == "${AppConstants.AUTOCOMPLETE.CLI_COMMAND_NAME}" ]]; then
101
101
  inputs+=("")
102
102
  elif (( CURRENT > \${#inputs[@]} )); then
103
103
  inputs+=("")
104
104
  fi
105
- if ! rawCompletions="$(env -u COMP_LINE ${CONSTANTS.AUTOCOMPLETE.COMMAND} "\${inputs[@]}")"; then
105
+ if ! rawCompletions="$(env -u COMP_LINE ${AppConstants.AUTOCOMPLETE.COMMAND} "\${inputs[@]}")"; then
106
106
  return 1
107
107
  fi
108
108
 
@@ -147,11 +147,11 @@ ${COMPLETION_FUNCTION_NAME}() {
147
147
  compadd -Q -S "" -l -d dirDisplays -- "\${directories[@]}"
148
148
  fi
149
149
  }
150
- compdef ${COMPLETION_FUNCTION_NAME} ${CONSTANTS.AUTOCOMPLETE.CLI_COMMAND_NAME}
150
+ compdef ${COMPLETION_FUNCTION_NAME} ${AppConstants.AUTOCOMPLETE.CLI_COMMAND_NAME}
151
151
 
152
152
  ${ENSURE_FUNCTION_NAME}() {
153
- if (( $+functions[compdef] )) && [[ "\${_comps[${CONSTANTS.AUTOCOMPLETE.CLI_COMMAND_NAME}]}" != ${COMPLETION_FUNCTION_NAME} ]]; then
154
- compdef ${COMPLETION_FUNCTION_NAME} ${CONSTANTS.AUTOCOMPLETE.CLI_COMMAND_NAME}
153
+ if (( $+functions[compdef] )) && [[ "\${_comps[${AppConstants.AUTOCOMPLETE.CLI_COMMAND_NAME}]}" != ${COMPLETION_FUNCTION_NAME} ]]; then
154
+ compdef ${COMPLETION_FUNCTION_NAME} ${AppConstants.AUTOCOMPLETE.CLI_COMMAND_NAME}
155
155
  fi
156
156
  }
157
157
  autoload -Uz add-zsh-hook
@@ -159,8 +159,8 @@ add-zsh-hook precmd ${ENSURE_FUNCTION_NAME}
159
159
  `;
160
160
  const isCliCommandToken = (input) => {
161
161
  const normalizedInput = input.replace(/\\/gu, "/").split("/").pop() ?? input;
162
- return (normalizedInput === CONSTANTS.AUTOCOMPLETE.CLI_COMMAND_NAME ||
163
- normalizedInput === `${CONSTANTS.AUTOCOMPLETE.CLI_COMMAND_NAME}.exe`);
162
+ return (normalizedInput === AppConstants.AUTOCOMPLETE.CLI_COMMAND_NAME ||
163
+ normalizedInput === `${AppConstants.AUTOCOMPLETE.CLI_COMMAND_NAME}.exe`);
164
164
  };
165
165
  const normalizeCompletionInputs = (inputs) => {
166
166
  const firstInput = inputs[0];
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.js","sourceRoot":"","sources":["../../src/services/autocomplete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AACvD,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;AAE5D,MAAM,CAAC,MAAM,wBAAwB,GAAG;EACtC,wBAAwB;;;;iFAIuD,SAAS,CAAC,YAAY,CAAC,gBAAgB;;;;;4CAK5E,SAAS,CAAC,YAAY,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAmDtC,wBAAwB,IAAI,SAAS,CAAC,YAAY,CAAC,gBAAgB;CACtG,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG;kDACI,SAAS,CAAC,YAAY,CAAC,gBAAgB;;;;;;wBAMjE,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;;;;;CAcvE,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;EAMrC,wBAAwB;;;;;2EAKiD,SAAS,CAAC,YAAY,CAAC,gBAAgB;;;;;4CAKtE,SAAS,CAAC,YAAY,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA6ChE,wBAAwB,IAAI,SAAS,CAAC,YAAY,CAAC,gBAAgB;;EAE3E,oBAAoB;mDAC6B,SAAS,CAAC,YAAY,CAAC,gBAAgB,UAAU,wBAAwB;cAC9G,wBAAwB,IAAI,SAAS,CAAC,YAAY,CAAC,gBAAgB;;;;sBAI3D,oBAAoB;CACzC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC;IAE7E,OAAO,CACL,eAAe,KAAK,SAAS,CAAC,YAAY,CAAC,gBAAgB;QAC3D,eAAe,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,gBAAgB,MAAM,CACrE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,MAAyB,EAAE,EAAE;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE7B,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAyB,EAAE,EAAE;IACnE,MAAM,WAAW,GAA+C,OAAO,CAAC,GAAG,CAAC;IAC5E,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC;IAE7C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;IAEhD,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEpD,OAAO,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;AACrD,CAAC,CAAC"}
1
+ {"version":3,"file":"autocomplete.js","sourceRoot":"","sources":["../../src/services/autocomplete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AACvD,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;AAE5D,MAAM,CAAC,MAAM,wBAAwB,GAAG;EACtC,wBAAwB;;;;iFAIuD,YAAY,CAAC,YAAY,CAAC,gBAAgB;;;;;4CAK/E,YAAY,CAAC,YAAY,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAmDzC,wBAAwB,IAAI,YAAY,CAAC,YAAY,CAAC,gBAAgB;CACzG,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG;kDACI,YAAY,CAAC,YAAY,CAAC,gBAAgB;;;;;;wBAMpE,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;;;;;CAc1E,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;EAMrC,wBAAwB;;;;;2EAKiD,YAAY,CAAC,YAAY,CAAC,gBAAgB;;;;;4CAKzE,YAAY,CAAC,YAAY,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA6CnE,wBAAwB,IAAI,YAAY,CAAC,YAAY,CAAC,gBAAgB;;EAE9E,oBAAoB;mDAC6B,YAAY,CAAC,YAAY,CAAC,gBAAgB,UAAU,wBAAwB;cACjH,wBAAwB,IAAI,YAAY,CAAC,YAAY,CAAC,gBAAgB;;;;sBAI9D,oBAAoB;CACzC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC;IAE7E,OAAO,CACL,eAAe,KAAK,YAAY,CAAC,YAAY,CAAC,gBAAgB;QAC9D,eAAe,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,gBAAgB,MAAM,CACxE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,MAAyB,EAAE,EAAE;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE7B,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAyB,EAAE,EAAE;IACnE,MAAM,WAAW,GAA+C,OAAO,CAAC,GAAG,CAAC;IAC5E,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC;IAE7C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;IAEhD,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEpD,OAAO,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;AACrD,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type ResolvedSyncConfig, type SyncConfig, type SyncConfigResolutionContext } from "#app/config/sync.ts";
2
- export declare const sortSyncConfigEntries: (entries: readonly SyncConfig["entries"][number][]) => {
1
+ import { type RawSyncConfig, type ResolvedSyncConfig } from "#app/config/sync-schema.ts";
2
+ export declare const sortSyncConfigEntries: (entries: readonly RawSyncConfig["entries"][number][]) => {
3
3
  kind: "file" | "directory";
4
4
  localPath: {
5
5
  default: string;
@@ -31,9 +31,10 @@ export declare const sortSyncConfigEntries: (entries: readonly SyncConfig["entri
31
31
  wsl?: string | undefined;
32
32
  } | undefined;
33
33
  }[];
34
- export declare const buildSyncConfigDocument: (config: ResolvedSyncConfig) => SyncConfig;
35
- export declare const writeValidatedSyncConfig: (syncDirectory: string, config: SyncConfig, context: SyncConfigResolutionContext) => Promise<{
36
- version: 7;
34
+ export declare const buildSyncConfigDocument: (config: ResolvedSyncConfig) => RawSyncConfig;
35
+ export declare const writeValidatedSyncConfig: (syncDirectory: string, config: RawSyncConfig) => Promise<{
36
+ version: 8 | 7;
37
+ profiles: string[];
37
38
  entries: {
38
39
  kind: "file" | "directory";
39
40
  localPath: {
@@ -1 +1 @@
1
- {"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/services/config-file.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,kBAAkB,EAEvB,KAAK,UAAU,EACf,KAAK,2BAA2B,EACjC,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,qBAAqB,GAChC,SAAS,SAAS,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKlD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,kBAAkB,KACzB,UA2BF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,eAAe,MAAM,EACrB,QAAQ,UAAU,EAClB,SAAS,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWrC,CAAC"}
1
+ {"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/services/config-file.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAIxB,MAAM,4BAA4B,CAAC;AAGpC,eAAO,MAAM,qBAAqB,GAChC,SAAS,SAAS,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKrD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,kBAAkB,KACzB,aA4BF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,eAAe,MAAM,EACrB,QAAQ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWtB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { CONSTANTS } from "#app/config/constants.ts";
2
- import { formatSyncConfig, parseSyncConfig, resolveSyncConfigFilePath, } from "#app/config/sync.ts";
1
+ import { AppConstants } from "#app/config/constants.ts";
2
+ import { formatSyncConfig, resolveSyncConfigFilePath, syncConfigSchema, validateRawSyncConfigProfileRegistry, } from "#app/config/sync-schema.ts";
3
3
  import { writeTextFileAtomically } from "#app/lib/filesystem.ts";
4
4
  export const sortSyncConfigEntries = (entries) => {
5
5
  return [...entries].sort((left, right) => {
@@ -20,7 +20,7 @@ export const buildSyncConfigDocument = (config) => {
20
20
  ...(entry.profilesExplicit ? { profiles: [...entry.profiles] } : {}),
21
21
  })));
22
22
  return {
23
- version: CONSTANTS.SYNC.CONFIG_VERSION,
23
+ version: AppConstants.SYNC.CONFIG_VERSION,
24
24
  ...(config.age === undefined
25
25
  ? {}
26
26
  : {
@@ -28,13 +28,14 @@ export const buildSyncConfigDocument = (config) => {
28
28
  recipients: [...config.age.recipients],
29
29
  },
30
30
  }),
31
+ profiles: [...(config.profiles ?? [])],
31
32
  entries,
32
33
  };
33
34
  };
34
- export const writeValidatedSyncConfig = async (syncDirectory, config, context) => {
35
- const resolvedConfig = parseSyncConfig(config, context);
36
- const nextConfig = buildSyncConfigDocument(resolvedConfig);
37
- await writeTextFileAtomically(resolveSyncConfigFilePath(syncDirectory), formatSyncConfig(nextConfig));
38
- return nextConfig;
35
+ export const writeValidatedSyncConfig = async (syncDirectory, config) => {
36
+ const parsed = syncConfigSchema.parse(config);
37
+ validateRawSyncConfigProfileRegistry(parsed);
38
+ await writeTextFileAtomically(resolveSyncConfigFilePath(syncDirectory), formatSyncConfig(config));
39
+ return config;
39
40
  };
40
41
  //# sourceMappingURL=config-file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-file.js","sourceRoot":"","sources":["../../src/services/config-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,eAAe,EAEf,yBAAyB,GAG1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,OAAiD,EACjD,EAAE;IACF,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,MAA0B,EACd,EAAE;IACd,MAAM,OAAO,GAAG,qBAAqB,CACnC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAiC,EAAE,CAAC,CAAC;QAC5D,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,mBAAmB;QACpC,GAAG,CAAC,KAAK,CAAC,kBAAkB,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,kBAAkB;YAC1B,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,oBAAoB,EAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC,CAAC,CACJ,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc;QACtC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;YAC1B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,GAAG,EAAE;oBACH,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;iBACvC;aACF,CAAC;QACN,OAAO;KACM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,aAAqB,EACrB,MAAkB,EAClB,OAAoC,EACpC,EAAE;IACF,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;IAE3D,MAAM,uBAAuB,CAC3B,yBAAyB,CAAC,aAAa,CAAC,EACxC,gBAAgB,CAAC,UAAU,CAAC,CAC7B,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"config-file.js","sourceRoot":"","sources":["../../src/services/config-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EACL,gBAAgB,EAGhB,yBAAyB,EACzB,gBAAgB,EAChB,oCAAoC,GACrC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,OAAoD,EACpD,EAAE;IACF,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,MAA0B,EACX,EAAE;IACjB,MAAM,OAAO,GAAG,qBAAqB,CACnC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAoC,EAAE,CAAC,CAAC;QAC/D,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,mBAAmB;QACpC,GAAG,CAAC,KAAK,CAAC,kBAAkB,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,kBAAkB;YAC1B,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,oBAAoB,EAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC,CAAC,CACJ,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc;QACzC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;YAC1B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,GAAG,EAAE;oBACH,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;iBACvC;aACF,CAAC;QACN,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACtC,OAAO;KACS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,aAAqB,EACrB,MAAqB,EACrB,EAAE;IACF,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9C,oCAAoC,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,uBAAuB,CAC3B,yBAAyB,CAAC,aAAa,CAAC,EACxC,gBAAgB,CAAC,MAAM,CAAC,CACzB,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,4 +1,3 @@
1
- import type { ConsolaInstance } from "consola";
2
1
  export type DoctorCheckLevel = "fail" | "ok" | "warn";
3
2
  export type DoctorCheck = Readonly<{
4
3
  checkId: string;
@@ -7,10 +6,8 @@ export type DoctorCheck = Readonly<{
7
6
  }>;
8
7
  export type DoctorResult = Readonly<{
9
8
  checks: readonly DoctorCheck[];
10
- configPath: string;
11
9
  hasFailures: boolean;
12
10
  hasWarnings: boolean;
13
- syncDirectory: string;
14
11
  }>;
15
- export declare const runDoctorChecks: (reporter?: ConsolaInstance) => Promise<DoctorResult>;
12
+ export declare const runDoctorChecks: () => Promise<DoctorResult>;
16
13
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/services/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAa/C,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;AAEtD,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAoBH,eAAO,MAAM,eAAe,GAC1B,WAAW,eAAe,KACzB,OAAO,CAAC,YAAY,CAsKtB,CAAC"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/services/doctor.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;AAEtD,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC,CAAC;AAoBH,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,YAAY,CA+H5D,CAAC"}
@@ -1,10 +1,9 @@
1
- import { resolveSyncConfigFilePath } from "#app/config/sync.ts";
2
1
  import { formatDotweaveError } from "#app/lib/error.ts";
3
2
  import { pathExists } from "#app/lib/filesystem.ts";
4
- import { ensureRepository } from "#app/lib/git.ts";
5
- import { buildEntryMaterialization } from "./local-materialization.js";
3
+ import { verifyIsGitRepository } from "#app/lib/git.ts";
4
+ import { buildEntryMaterialization } from "./pull-apply.js";
6
5
  import { buildRepositorySnapshot } from "./repo-snapshot.js";
7
- import { loadSyncConfig, resolveSyncPaths, } from "./runtime.js";
6
+ import { loadSyncConfig, resolveSyncPaths, } from "./sync-context.js";
8
7
  const ok = (checkId, detail) => ({
9
8
  checkId,
10
9
  detail,
@@ -20,29 +19,23 @@ const fail = (checkId, detail) => ({
20
19
  detail,
21
20
  level: "fail",
22
21
  });
23
- export const runDoctorChecks = async (reporter) => {
24
- reporter?.start("Running doctor checks...");
22
+ export const runDoctorChecks = async () => {
25
23
  const { syncDirectory } = resolveSyncPaths();
26
- const configPath = resolveSyncConfigFilePath(syncDirectory);
27
24
  const checks = [];
28
25
  try {
29
- reporter?.start("Checking sync directory...");
30
- await ensureRepository(syncDirectory);
26
+ await verifyIsGitRepository(syncDirectory);
31
27
  checks.push(ok("git", "Sync directory is a git repository."));
32
28
  }
33
29
  catch (error) {
34
30
  checks.push(fail("git", error instanceof Error ? error.message : "Git repository check failed."));
35
31
  return {
36
32
  checks,
37
- configPath,
38
33
  hasFailures: true,
39
34
  hasWarnings: false,
40
- syncDirectory,
41
35
  };
42
36
  }
43
37
  let config;
44
38
  try {
45
- reporter?.start("Loading sync configuration...");
46
39
  const { effectiveConfig, fullConfig } = await loadSyncConfig(syncDirectory);
47
40
  config = effectiveConfig;
48
41
  checks.push(ok("config", `Loaded config with ${fullConfig.entries.length} entries and ${effectiveConfig.age.recipients.length} recipients.`));
@@ -56,13 +49,10 @@ export const runDoctorChecks = async (reporter) => {
56
49
  : "Sync configuration could not be read."));
57
50
  return {
58
51
  checks,
59
- configPath,
60
52
  hasFailures: true,
61
53
  hasWarnings: false,
62
- syncDirectory,
63
54
  };
64
55
  }
65
- reporter?.start("Checking age identity...");
66
56
  checks.push((await pathExists(config.age.identityFile))
67
57
  ? ok("age", `Age identity file exists at ${config.age.identityFile}.`)
68
58
  : fail("age", `Age identity file is missing: ${config.age.identityFile}`));
@@ -72,25 +62,14 @@ export const runDoctorChecks = async (reporter) => {
72
62
  const missingEntries = config.entries.filter((entry) => {
73
63
  return entry.mode !== "ignore" && entry.localPath.length > 0;
74
64
  });
75
- const missingCount = 0;
76
- let checkedLocalPathCount = 0;
77
65
  const healthyMissingEntries = new Set();
78
- reporter?.start("Scanning repository artifacts...");
79
- const repositorySnapshot = await buildRepositorySnapshot(syncDirectory, config, reporter);
80
- reporter?.start("Checking tracked local paths...");
66
+ const repositorySnapshot = await buildRepositorySnapshot(syncDirectory, config);
81
67
  try {
82
68
  for (const entry of missingEntries) {
83
- checkedLocalPathCount += 1;
84
- if ((reporter?.level ?? 0) >= 4) {
85
- reporter?.verbose(`checked tracked local path ${entry.localPath}`);
86
- }
87
- else if (checkedLocalPathCount % 100 === 0) {
88
- reporter?.start(`Checked ${checkedLocalPathCount} tracked local paths...`);
89
- }
90
69
  if (await pathExists(entry.localPath)) {
91
70
  continue;
92
71
  }
93
- buildEntryMaterialization(entry, repositorySnapshot, config, (reporter?.level ?? 0) >= 4 ? reporter : undefined);
72
+ buildEntryMaterialization(entry, repositorySnapshot, config);
94
73
  healthyMissingEntries.add(entry.repoPath);
95
74
  }
96
75
  }
@@ -102,25 +81,19 @@ export const runDoctorChecks = async (reporter) => {
102
81
  const hasWarnings = checks.some((check) => check.level === "warn");
103
82
  return {
104
83
  checks,
105
- configPath,
106
84
  hasFailures,
107
85
  hasWarnings,
108
- syncDirectory,
109
86
  };
110
87
  }
111
- checks.push(missingCount === 0
112
- ? ok("local-paths", healthyMissingEntries.size === 0
113
- ? "All tracked local paths currently exist."
114
- : `All missing local paths are healthy for the current sync state (${healthyMissingEntries.size} entr${healthyMissingEntries.size === 1 ? "y" : "ies"}).`)
115
- : warn("local-paths", `${missingCount} tracked local path${missingCount === 1 ? " is" : "s are"} missing.`));
88
+ checks.push(ok("local-paths", healthyMissingEntries.size === 0
89
+ ? "All tracked local paths currently exist."
90
+ : `All missing local paths are healthy for the current sync state (${healthyMissingEntries.size} entr${healthyMissingEntries.size === 1 ? "y" : "ies"}).`));
116
91
  const hasFailures = checks.some((check) => check.level === "fail");
117
92
  const hasWarnings = checks.some((check) => check.level === "warn");
118
93
  return {
119
94
  checks,
120
- configPath,
121
95
  hasFailures,
122
96
  hasWarnings,
123
- syncDirectory,
124
97
  };
125
98
  };
126
99
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/services/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/services/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { ConsolaInstance } from "consola";
2
1
  import { DotweaveError } from "#app/lib/error.ts";
3
2
  export type InitRequest = Readonly<{
4
3
  ageIdentity?: string;
@@ -9,16 +8,13 @@ export type InitRequest = Readonly<{
9
8
  }>;
10
9
  export type InitResult = Readonly<{
11
10
  alreadyInitialized: boolean;
12
- configPath: string;
13
11
  entryCount: number;
14
12
  gitAction: "cloned" | "existing" | "initialized";
15
13
  gitSource?: string;
16
14
  identityFile: string;
17
15
  generatedIdentity: boolean;
18
16
  recipientCount: number;
19
- syncDirectory: string;
20
17
  }>;
21
- export declare const defaultSyncIdentityFile: "~/.config/dotweave/keys.txt";
22
18
  export declare const createMissingRepositoryAgeKeyError: () => DotweaveError;
23
- export declare const initializeSyncDirectory: (request: InitRequest, reporter?: ConsolaInstance) => Promise<InitResult>;
19
+ export declare const initializeSyncDirectory: (request: InitRequest) => Promise<InitResult>;
24
20
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAsB/C,OAAO,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AAcpE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,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,UAAU,GAAG,QAAQ,CAAC;IAChC,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,+BAAuC,CAAC;AAK5E,eAAO,MAAM,kCAAkC,qBAQ9C,CAAC;AAwKF,eAAO,MAAM,uBAAuB,GAClC,SAAS,WAAW,EACpB,WAAW,eAAe,KACzB,OAAO,CAAC,UAAU,CA2LpB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AAcpE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,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,UAAU,GAAG,QAAQ,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,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;CACxB,CAAC,CAAC;AAKH,eAAO,MAAM,kCAAkC,qBAQ9C,CAAC;AAqJF,eAAO,MAAM,uBAAuB,GAClC,SAAS,WAAW,KACnB,OAAO,CAAC,UAAU,CA4JpB,CAAC"}