@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,15 +1,62 @@
1
- import { createConsola } from "consola";
2
- export const createCliLogger = (options = {}) => {
3
- const logger = createConsola({
4
- formatOptions: {
5
- colors: process.stdout.isTTY || process.stderr.isTTY,
6
- compact: true,
7
- date: false,
8
- },
9
- level: options.verbose === true ? 4 : 3,
10
- ...(options.stderr === undefined ? {} : { stderr: options.stderr }),
11
- ...(options.stdout === undefined ? {} : { stdout: options.stdout }),
12
- });
13
- return options.tag === undefined ? logger : logger.withTag(options.tag);
14
- };
1
+ import pc from "picocolors";
2
+ import { createSpinner } from "./spinner.js";
3
+ import { color, SYMBOLS } from "./theme.js";
4
+ const INDENT = " ";
5
+ export const createCliLogger = (options = {}) =>
6
+ // Build a logger with optional stream overrides and optional prefix tag.
7
+ // Tag is only cosmetic and prepends a dim "[tag]" prefix to every output line.
8
+ (() => {
9
+ // Default to process streams when callers don't pass explicit destination streams.
10
+ const stdout = options.stdout ?? process.stdout;
11
+ const stderr = options.stderr ?? process.stderr;
12
+ const prefix = options.tag === undefined ? "" : pc.dim(`[${options.tag}] `);
13
+ // Single write helper for all stdout/stderr output paths.
14
+ const w = (dest, msg) => {
15
+ dest.write(`${prefix}${msg}\n`);
16
+ };
17
+ // Core logger surface used across commands; each method formats consistently.
18
+ return {
19
+ log: (m) => w(stdout, m),
20
+ info: (m) => w(stdout, `${color.info(SYMBOLS.info)} ${m}`),
21
+ success: (m) => w(stdout, `${color.success(SYMBOLS.success)} ${m}`),
22
+ fail: (m) => w(stdout, `${color.error(SYMBOLS.error)} ${m}`),
23
+ warn: (m) => w(stderr, `${color.warn(SYMBOLS.warn)} ${m}`),
24
+ error: (m) => w(stderr, `${color.error(SYMBOLS.error)} ${m}`),
25
+ start: (m) => w(stdout, `${color.info(SYMBOLS.bullet)} ${color.dim(m)}`),
26
+ section: (title) => {
27
+ w(stdout, "");
28
+ w(stdout, color.bold(title));
29
+ },
30
+ kv: (key, value) => {
31
+ w(stdout, `${INDENT}${color.label(key)}: ${value}`);
32
+ },
33
+ list: (items, opts) => {
34
+ const bullet = opts?.bullet ?? "-";
35
+ for (let i = 0; i < items.length; i++) {
36
+ const isLast = i === items.length - 1;
37
+ const highlight = opts?.highlightLast === true && isLast;
38
+ const line = `${INDENT}${bullet} ${items[i]}`;
39
+ w(stdout, highlight ? color.highlight(line) : line);
40
+ }
41
+ },
42
+ listKeyValue: (items) => {
43
+ const maxKeyLen = Math.max(...items.map((item) => item.key.length));
44
+ for (const item of items) {
45
+ const paddedKey = item.key.padEnd(maxKeyLen);
46
+ if (item.value !== undefined) {
47
+ w(stdout, `${INDENT}${color.label(paddedKey)} ${item.value}`);
48
+ }
49
+ else {
50
+ w(stdout, `${INDENT}${color.label(item.key)}`);
51
+ }
52
+ }
53
+ },
54
+ divider: () => {
55
+ w(stdout, color.dim("————————————————"));
56
+ },
57
+ spinner: (text) => {
58
+ return createSpinner(stdout, text);
59
+ },
60
+ };
61
+ })();
15
62
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/services/terminal/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,MAAM,SAAS,CAAC;AAI9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,UAKK,EAAE,EACI,EAAE;IACb,MAAM,MAAM,GAAG,aAAa,CAAC;QAC3B,aAAa,EAAE;YACb,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK;YACpD,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,KAAK;SACZ;QACD,KAAK,EAAE,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;KACpE,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/services/terminal/logger.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { DotweaveCliContext } from "#app/services/terminal/cli-runtime.ts";
2
- export declare const proposePathCompletions: (this: DotweaveCliContext, partial: string) => Promise<string[]>;
1
+ import type { ApplicationContext } from "@stricli/core";
2
+ export declare const proposePathCompletions: (this: ApplicationContext, partial: string) => Promise<string[]>;
3
3
  //# sourceMappingURL=path-completion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"path-completion.d.ts","sourceRoot":"","sources":["../../../src/services/terminal/path-completion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AA8IhF,eAAO,MAAM,sBAAsB,GACjC,MAAM,kBAAkB,EACxB,SAAS,MAAM,sBA0BhB,CAAC"}
1
+ {"version":3,"file":"path-completion.d.ts","sourceRoot":"","sources":["../../../src/services/terminal/path-completion.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAoIxD,eAAO,MAAM,sBAAsB,GACjC,MAAM,kBAAkB,EACxB,SAAS,MAAM,sBA0BhB,CAAC"}
@@ -1,3 +1,6 @@
1
+ import * as fs from "node:fs/promises";
2
+ import * as os from "node:os";
3
+ import * as path from "node:path";
1
4
  const HOME_PREFIX = "~";
2
5
  const HIDDEN_ENTRY_PREFIX = ".";
3
6
  const RECOVERABLE_ERROR_CODES = new Set([
@@ -12,32 +15,32 @@ const isRecoverableCompletionError = (error) => {
12
15
  typeof error.code === "string" &&
13
16
  RECOVERABLE_ERROR_CODES.has(error.code));
14
17
  };
15
- const buildRelativeCompletionBase = (partial, context) => {
18
+ const buildRelativeCompletionBase = (partial) => {
16
19
  const lastSeparatorIndex = partial.lastIndexOf(SHELL_PATH_SEPARATOR);
17
20
  const displayPrefix = lastSeparatorIndex < 0 ? "" : partial.slice(0, lastSeparatorIndex + 1);
18
21
  const entryPrefix = lastSeparatorIndex < 0 ? partial : partial.slice(lastSeparatorIndex + 1);
19
22
  return {
20
- absoluteDirectory: context.path.resolve(context.process.cwd(), displayPrefix === "" ? "." : displayPrefix),
23
+ absoluteDirectory: path.resolve(process.cwd(), displayPrefix === "" ? "." : displayPrefix),
21
24
  displayPrefix,
22
25
  entryPrefix,
23
26
  };
24
27
  };
25
- const buildAbsoluteCompletionBase = (partial, context) => {
28
+ const buildAbsoluteCompletionBase = (partial) => {
26
29
  const lastSeparatorIndex = partial.lastIndexOf(SHELL_PATH_SEPARATOR);
27
30
  const displayPrefix = lastSeparatorIndex < 0
28
31
  ? SHELL_PATH_SEPARATOR
29
32
  : partial.slice(0, lastSeparatorIndex + 1);
30
33
  const entryPrefix = lastSeparatorIndex < 0 ? partial : partial.slice(lastSeparatorIndex + 1);
31
34
  return {
32
- absoluteDirectory: context.path.resolve(displayPrefix),
35
+ absoluteDirectory: path.resolve(displayPrefix),
33
36
  displayPrefix,
34
37
  entryPrefix,
35
38
  };
36
39
  };
37
- const buildHomeCompletionBase = (partial, context) => {
40
+ const buildHomeCompletionBase = (partial) => {
38
41
  if (partial === HOME_PREFIX) {
39
42
  return {
40
- absoluteDirectory: context.os.homedir(),
43
+ absoluteDirectory: os.homedir(),
41
44
  displayPrefix: `${HOME_PREFIX}${SHELL_PATH_SEPARATOR}`,
42
45
  entryPrefix: "",
43
46
  };
@@ -54,19 +57,19 @@ const buildHomeCompletionBase = (partial, context) => {
54
57
  ? homeRelativePath
55
58
  : homeRelativePath.slice(lastSeparatorIndex + 1);
56
59
  return {
57
- absoluteDirectory: context.path.resolve(context.os.homedir(), directorySuffix === "" ? "." : directorySuffix),
60
+ absoluteDirectory: path.resolve(os.homedir(), directorySuffix === "" ? "." : directorySuffix),
58
61
  displayPrefix: `${HOME_PREFIX}${SHELL_PATH_SEPARATOR}${directorySuffix}`,
59
62
  entryPrefix,
60
63
  };
61
64
  };
62
- const resolveCompletionBase = (partial, context) => {
65
+ const resolveCompletionBase = (partial) => {
63
66
  if (partial.startsWith(HOME_PREFIX)) {
64
- return buildHomeCompletionBase(partial, context);
67
+ return buildHomeCompletionBase(partial);
65
68
  }
66
69
  if (partial.startsWith(SHELL_PATH_SEPARATOR)) {
67
- return buildAbsoluteCompletionBase(partial, context);
70
+ return buildAbsoluteCompletionBase(partial);
68
71
  }
69
- return buildRelativeCompletionBase(partial, context);
72
+ return buildRelativeCompletionBase(partial);
70
73
  };
71
74
  const shouldIncludeEntry = (name, entryPrefix) => {
72
75
  if (!name.startsWith(entryPrefix)) {
@@ -83,12 +86,12 @@ const buildCompletionValue = (base, entryName, isDirectory) => {
83
86
  return isDirectory ? `${completion}${SHELL_PATH_SEPARATOR}` : completion;
84
87
  };
85
88
  export const proposePathCompletions = async function (partial) {
86
- const base = resolveCompletionBase(partial, this);
89
+ const base = resolveCompletionBase(partial);
87
90
  if (base === undefined) {
88
91
  return [];
89
92
  }
90
93
  try {
91
- const entries = await this.fs.promises.readdir(base.absoluteDirectory, {
94
+ const entries = await fs.readdir(base.absoluteDirectory, {
92
95
  withFileTypes: true,
93
96
  });
94
97
  return entries
@@ -1 +1 @@
1
- {"version":3,"file":"path-completion.js","sourceRoot":"","sources":["../../../src/services/terminal/path-completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-completion.js","sourceRoot":"","sources":["../../../src/services/terminal/path-completion.ts"],"names":[],"mappings":"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"}
@@ -3,18 +3,7 @@ type ShellCommand = Readonly<{
3
3
  args: readonly string[];
4
4
  command: string;
5
5
  }>;
6
- type WindowsProcessInfo = Readonly<{
7
- commandLine?: string;
8
- executablePath?: string;
9
- name?: string;
10
- parentProcessId: number;
11
- processId: number;
12
- }>;
13
- type ResolveShellCommandOptions = Readonly<{
14
- initialWindowsProcessId?: number;
15
- inspectWindowsProcess?: (processId: number) => Promise<WindowsProcessInfo | undefined>;
16
- }>;
17
- export declare const resolveShellCommandForPlatform: (platformKey: PlatformKey, options?: ResolveShellCommandOptions) => Promise<ShellCommand>;
6
+ export declare const resolveShellCommandForPlatform: (platformKey: PlatformKey) => Promise<ShellCommand>;
18
7
  export declare const resolveShellCommand: () => Promise<Readonly<{
19
8
  args: readonly string[];
20
9
  command: string;
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/services/terminal/shell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3D,KAAK,YAAY,GAAG,QAAQ,CAAC;IAC3B,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,KAAK,kBAAkB,GAAG,QAAQ,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,KAAK,0BAA0B,GAAG,QAAQ,CAAC;IACzC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,CACtB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;CAC9C,CAAC,CAAC;AA6NH,eAAO,MAAM,8BAA8B,GACzC,aAAa,WAAW,EACxB,UAAS,0BAA+B,KACvC,OAAO,CAAC,YAAY,CAStB,CAAC;AAEF,eAAO,MAAM,mBAAmB;UA5PxB,SAAS,MAAM,EAAE;aACd,MAAM;GA6PhB,CAAC;AA4BF,eAAO,MAAM,sBAAsB,GAAU,WAAW,MAAM,kBA8C7D,CAAC"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/services/terminal/shell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM3D,KAAK,YAAY,GAAG,QAAQ,CAAC;IAC3B,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,eAAO,MAAM,8BAA8B,GACzC,aAAa,WAAW,KACvB,OAAO,CAAC,YAAY,CAYtB,CAAC;AAEF,eAAO,MAAM,mBAAmB;UApBxB,SAAS,MAAM,EAAE;aACd,MAAM;GAqBhB,CAAC;AA4BF,eAAO,MAAM,sBAAsB,GAAU,WAAW,MAAM,kBA8C7D,CAAC"}
@@ -2,170 +2,17 @@ import { spawn } from "node:child_process";
2
2
  import { resolveCurrentPlatformKey } from "#app/config/runtime-env.ts";
3
3
  import { ENV } from "#app/lib/env.ts";
4
4
  import { DotweaveError } from "#app/lib/error.ts";
5
- const windowsShellNames = new Set([
6
- "bash",
7
- "cmd",
8
- "fish",
9
- "nu",
10
- "powershell",
11
- "pwsh",
12
- "sh",
13
- "zsh",
14
- ]);
15
- const windowsProcessQueryScript = [
16
- "$processId = [int]$args[0]",
17
- '$process = Get-CimInstance Win32_Process -Filter ("ProcessId = " + $processId)',
18
- "if ($null -eq $process) { exit 0 }",
19
- "$encode = {",
20
- " param([string]$value)",
21
- ' if ([string]::IsNullOrEmpty($value)) { return "" }',
22
- " return [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($value))",
23
- "}",
24
- "[Console]::Out.WriteLine($process.ProcessId)",
25
- "[Console]::Out.WriteLine($process.ParentProcessId)",
26
- "[Console]::Out.WriteLine((& $encode $process.Name))",
27
- "[Console]::Out.WriteLine((& $encode $process.ExecutablePath))",
28
- "[Console]::Out.WriteLine((& $encode $process.CommandLine))",
29
- ].join(";");
30
- const trimConfiguredValue = (value) => {
31
- const trimmed = value?.trim();
32
- return trimmed === undefined || trimmed === "" ? undefined : trimmed;
33
- };
34
- const decodeWindowsProcessField = (value) => {
35
- const trimmed = trimConfiguredValue(value);
36
- if (trimmed === undefined) {
37
- return undefined;
38
- }
39
- return Buffer.from(trimmed, "base64").toString("utf8");
40
- };
41
- const normalizeProcessName = (value) => {
42
- const trimmed = trimConfiguredValue(value);
43
- if (trimmed === undefined) {
44
- return undefined;
45
- }
46
- const filename = trimmed
47
- .replaceAll("\\", "/")
48
- .split("/")
49
- .at(-1)
50
- ?.toLowerCase();
51
- if (filename === undefined || filename === "") {
52
- return undefined;
53
- }
54
- return filename.endsWith(".exe") ? filename.slice(0, -4) : filename;
55
- };
56
- const stripSingleTrailingLineEnding = (value) => {
57
- if (value.endsWith("\r\n")) {
58
- return value.slice(0, -2);
59
- }
60
- if (value.endsWith("\n")) {
61
- return value.slice(0, -1);
62
- }
63
- return value;
64
- };
65
- const parseWindowsProcessInfo = (output) => {
66
- const normalized = stripSingleTrailingLineEnding(output);
67
- if (normalized === "") {
68
- return undefined;
69
- }
70
- const lines = normalized.split(/\r?\n/u);
71
- if (lines.length < 5) {
72
- return undefined;
73
- }
74
- const [processIdLine, parentProcessIdLine, nameValue, executablePathValue, commandLineValue,] = lines;
75
- const processId = Number.parseInt(processIdLine ?? "", 10);
76
- const parentProcessId = Number.parseInt(parentProcessIdLine ?? "", 10);
77
- if (!Number.isSafeInteger(processId) ||
78
- processId <= 0 ||
79
- !Number.isSafeInteger(parentProcessId) ||
80
- parentProcessId < 0) {
81
- return undefined;
82
- }
83
- return {
84
- commandLine: decodeWindowsProcessField(commandLineValue),
85
- executablePath: decodeWindowsProcessField(executablePathValue),
86
- name: decodeWindowsProcessField(nameValue),
87
- parentProcessId,
88
- processId,
89
- };
90
- };
91
- const inspectWindowsProcess = async (processId) => {
92
- return await new Promise((resolve) => {
93
- const child = spawn("powershell.exe", [
94
- "-NoLogo",
95
- "-NoProfile",
96
- "-NonInteractive",
97
- "-Command",
98
- windowsProcessQueryScript,
99
- String(processId),
100
- ], {
101
- env: process.env,
102
- stdio: ["ignore", "pipe", "ignore"],
103
- windowsHide: true,
104
- });
105
- let stdout = "";
106
- child.stdout?.setEncoding("utf8");
107
- child.stdout?.on("data", (chunk) => {
108
- stdout += chunk;
109
- });
110
- child.on("error", () => {
111
- resolve(undefined);
112
- });
113
- child.on("close", (code) => {
114
- resolve(code === 0 ? parseWindowsProcessInfo(stdout) : undefined);
115
- });
116
- });
117
- };
118
- const isWrapperCmdProcess = (processInfo) => {
119
- return /(?:^|\s)\/c(?:\s|$)/iu.test(processInfo.commandLine ?? "");
120
- };
121
- const createShellCommandFromProcess = (processInfo) => {
122
- const command = trimConfiguredValue(processInfo.executablePath) ??
123
- trimConfiguredValue(processInfo.name);
124
- const processName = normalizeProcessName(command);
125
- if (command === undefined ||
126
- processName === undefined ||
127
- !windowsShellNames.has(processName)) {
128
- return undefined;
129
- }
130
- if (processName === "cmd" && isWrapperCmdProcess(processInfo)) {
131
- return undefined;
132
- }
133
- return {
134
- args: [],
135
- command,
136
- };
137
- };
138
- const resolveWindowsShellCommand = async (options) => {
139
- const inspect = options.inspectWindowsProcess ?? inspectWindowsProcess;
140
- const visited = new Set();
141
- let processId = options.initialWindowsProcessId ?? process.ppid;
142
- while (Number.isSafeInteger(processId) &&
143
- processId > 0 &&
144
- !visited.has(processId) &&
145
- visited.size < 16) {
146
- visited.add(processId);
147
- const processInfo = await inspect(processId);
148
- if (processInfo === undefined) {
149
- break;
150
- }
151
- const shellCommand = createShellCommandFromProcess(processInfo);
152
- if (shellCommand !== undefined) {
153
- return shellCommand;
154
- }
155
- processId = processInfo.parentProcessId;
156
- }
157
- return {
158
- args: [],
159
- command: trimConfiguredValue(ENV.COMSPEC) ?? "cmd.exe",
160
- };
161
- };
162
- export const resolveShellCommandForPlatform = async (platformKey, options = {}) => {
5
+ import { normalizeConfiguredValue } from "#app/lib/string.ts";
6
+ export const resolveShellCommandForPlatform = async (platformKey) => {
163
7
  if (platformKey === "win") {
164
- return await resolveWindowsShellCommand(options);
8
+ return {
9
+ args: [],
10
+ command: normalizeConfiguredValue(ENV.COMSPEC) ?? "cmd.exe",
11
+ };
165
12
  }
166
13
  return {
167
14
  args: [],
168
- command: trimConfiguredValue(ENV.SHELL) ?? "/bin/sh",
15
+ command: normalizeConfiguredValue(ENV.SHELL) ?? "/bin/sh",
169
16
  };
170
17
  };
171
18
  export const resolveShellCommand = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/services/terminal/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/services/terminal/shell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Stream } from "./logger.ts";
2
+ export interface Spinner {
3
+ succeed(text: string): void;
4
+ fail(text: string): void;
5
+ warn(text: string): void;
6
+ stop(): void;
7
+ }
8
+ declare const createSpinner: (stream: Stream, text: string) => Spinner;
9
+ export { createSpinner };
10
+ //# sourceMappingURL=spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../src/services/terminal/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,IAAI,IAAI,CAAC;CACd;AAQD,QAAA,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM,KAAG,OAwDrD,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { color, SYMBOLS } from "./theme.js";
2
+ const envValue = (name) => process.env[name];
3
+ const isCI = Boolean(envValue("CI") ?? envValue("NO_COLOR") ?? envValue("FORCE_COLOR") === "0");
4
+ const createSpinner = (stream, text) => {
5
+ const frames = SYMBOLS.spinner;
6
+ let frameIndex = 0;
7
+ let intervalId;
8
+ let running = true;
9
+ const clear = () => {
10
+ if (stream.isTTY && stream.clearLine && stream.cursorTo) {
11
+ stream.clearLine(0);
12
+ stream.cursorTo(0);
13
+ }
14
+ };
15
+ const writeLine = (msg) => {
16
+ clear();
17
+ stream.write(`${msg}\n`);
18
+ };
19
+ const render = () => {
20
+ if (!running)
21
+ return;
22
+ clear();
23
+ stream.write(`${color.info(frames[frameIndex] ?? frames[0])} ${color.dim(text)}`);
24
+ frameIndex = (frameIndex + 1) % frames.length;
25
+ };
26
+ if (stream.isTTY && !isCI) {
27
+ intervalId = setInterval(render, 80);
28
+ render();
29
+ }
30
+ else {
31
+ stream.write(`${color.dim(SYMBOLS.bullet)} ${color.dim(text)}\n`);
32
+ }
33
+ return {
34
+ succeed: (msg) => {
35
+ running = false;
36
+ if (intervalId !== undefined)
37
+ clearInterval(intervalId);
38
+ writeLine(`${color.success(SYMBOLS.success)} ${color.success(msg)}`);
39
+ },
40
+ fail: (msg) => {
41
+ running = false;
42
+ if (intervalId !== undefined)
43
+ clearInterval(intervalId);
44
+ writeLine(`${color.error(SYMBOLS.error)} ${color.error(msg)}`);
45
+ },
46
+ warn: (msg) => {
47
+ running = false;
48
+ if (intervalId !== undefined)
49
+ clearInterval(intervalId);
50
+ writeLine(`${color.warn(SYMBOLS.warn)} ${color.warn(msg)}`);
51
+ },
52
+ stop: () => {
53
+ running = false;
54
+ if (intervalId !== undefined)
55
+ clearInterval(intervalId);
56
+ clear();
57
+ },
58
+ };
59
+ };
60
+ export { createSpinner };
61
+ //# sourceMappingURL=spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/services/terminal/spinner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export declare const SYMBOLS: {
2
+ readonly success: "✔";
3
+ readonly error: "✖";
4
+ readonly warn: "⚠";
5
+ readonly info: "~";
6
+ readonly add: "+";
7
+ readonly modify: "~";
8
+ readonly delete: "-";
9
+ readonly bullet: "·";
10
+ readonly arrow: "→";
11
+ readonly section: "▼";
12
+ readonly spinner: readonly ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
13
+ };
14
+ export declare const color: {
15
+ readonly success: (s: string) => string;
16
+ readonly error: (s: string) => string;
17
+ readonly warn: (s: string) => string;
18
+ readonly info: (s: string) => string;
19
+ readonly dim: (s: string) => string;
20
+ readonly bold: (s: string) => string;
21
+ readonly header: (s: string) => string;
22
+ readonly path: (s: string) => string;
23
+ readonly label: (s: string) => string;
24
+ readonly highlight: (s: string) => string;
25
+ readonly action: {
26
+ readonly add: (s: string) => string;
27
+ readonly modify: (s: string) => string;
28
+ readonly delete: (s: string) => string;
29
+ };
30
+ };
31
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/services/terminal/theme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;;;;;;;;;;;;CAYV,CAAC;AAEX,eAAO,MAAM,KAAK;0BACH,MAAM;wBACR,MAAM;uBACP,MAAM;uBACN,MAAM;sBACP,MAAM;uBACL,MAAM;yBACJ,MAAM;uBACR,MAAM;wBACL,MAAM;4BACF,MAAM;;0BAEV,MAAM;6BACH,MAAM;6BACN,MAAM;;CAEZ,CAAC"}
@@ -0,0 +1,32 @@
1
+ import pc from "picocolors";
2
+ export const SYMBOLS = {
3
+ success: "✔",
4
+ error: "✖",
5
+ warn: "⚠",
6
+ info: "~",
7
+ add: "+",
8
+ modify: "~",
9
+ delete: "-",
10
+ bullet: "·",
11
+ arrow: "→",
12
+ section: "▼",
13
+ spinner: ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"],
14
+ };
15
+ export const color = {
16
+ success: (s) => pc.green(s),
17
+ error: (s) => pc.red(s),
18
+ warn: (s) => pc.yellow(s),
19
+ info: (s) => pc.cyan(s),
20
+ dim: (s) => pc.dim(s),
21
+ bold: (s) => pc.bold(s),
22
+ header: (s) => pc.bold(s),
23
+ path: (s) => pc.dim(s),
24
+ label: (s) => pc.dim(s),
25
+ highlight: (s) => pc.cyan(s),
26
+ action: {
27
+ add: (s) => pc.green(s),
28
+ modify: (s) => pc.yellow(s),
29
+ delete: (s) => pc.red(s),
30
+ },
31
+ };
32
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/services/terminal/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;CACnD,CAAC;AAEX,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE;QACN,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACnC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACjC;CACO,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type SyncConfigEntryKind, type SyncMode } from "#app/config/sync.ts";
1
+ import { type SyncConfigEntryKind, type SyncMode } from "#app/config/sync-schema.ts";
2
2
  export type TrackRequest = Readonly<{
3
3
  profiles?: readonly string[];
4
4
  mode: SyncMode;
@@ -8,13 +8,11 @@ export type TrackRequest = Readonly<{
8
8
  export type TrackResult = Readonly<{
9
9
  alreadyTracked: boolean;
10
10
  changed: boolean;
11
- configPath: string;
12
11
  kind: SyncConfigEntryKind;
13
12
  localPath: string;
14
13
  profiles: readonly string[];
15
14
  mode: SyncMode;
16
15
  repoPath: string;
17
- syncDirectory: string;
18
16
  }>;
19
17
  export declare const trackTarget: (request: TrackRequest, cwd: string) => Promise<TrackResult>;
20
18
  //# sourceMappingURL=track.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../src/services/track.ts"],"names":[],"mappings":"AAKA,OAAO,EAML,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAmB7B,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAiHH,eAAO,MAAM,WAAW,GACtB,SAAS,YAAY,EACrB,KAAK,MAAM,KACV,OAAO,CAAC,WAAW,CAqLrB,CAAC"}
1
+ {"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../src/services/track.ts"],"names":[],"mappings":"AAUA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACd,MAAM,4BAA4B,CAAC;AAepC,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AA6HH,eAAO,MAAM,WAAW,GACtB,SAAS,YAAY,EACrB,KAAK,MAAM,KACV,OAAO,CAAC,WAAW,CA6KrB,CAAC"}