@tinyrack/dotweave 0.42.22 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/application.d.ts +2 -0
  2. package/dist/application.d.ts.map +1 -1
  3. package/dist/application.js +20 -2
  4. package/dist/application.js.map +1 -1
  5. package/dist/assets/dotweave-skill.d.ts +2 -0
  6. package/dist/assets/dotweave-skill.d.ts.map +1 -0
  7. package/dist/assets/dotweave-skill.js +34 -0
  8. package/dist/assets/dotweave-skill.js.map +1 -0
  9. package/dist/cli/init.d.ts.map +1 -1
  10. package/dist/cli/init.js +21 -13
  11. package/dist/cli/init.js.map +1 -1
  12. package/dist/cli/pull.d.ts.map +1 -1
  13. package/dist/cli/pull.js +23 -4
  14. package/dist/cli/pull.js.map +1 -1
  15. package/dist/cli/push.d.ts.map +1 -1
  16. package/dist/cli/push.js +11 -4
  17. package/dist/cli/push.js.map +1 -1
  18. package/dist/cli/root-commands.d.ts +1 -0
  19. package/dist/cli/root-commands.d.ts.map +1 -1
  20. package/dist/cli/root-commands.js +2 -0
  21. package/dist/cli/root-commands.js.map +1 -1
  22. package/dist/cli/skill/index.d.ts +3 -0
  23. package/dist/cli/skill/index.d.ts.map +1 -0
  24. package/dist/cli/skill/index.js +13 -0
  25. package/dist/cli/skill/index.js.map +1 -0
  26. package/dist/cli/skill/install.d.ts +4 -0
  27. package/dist/cli/skill/install.d.ts.map +1 -0
  28. package/dist/cli/skill/install.js +63 -0
  29. package/dist/cli/skill/install.js.map +1 -0
  30. package/dist/cli/status.d.ts.map +1 -1
  31. package/dist/cli/status.js +12 -4
  32. package/dist/cli/status.js.map +1 -1
  33. package/dist/config/sync-schema.d.ts.map +1 -1
  34. package/dist/config/sync-schema.js +7 -0
  35. package/dist/config/sync-schema.js.map +1 -1
  36. package/dist/lib/error.d.ts.map +1 -1
  37. package/dist/lib/error.js +5 -1
  38. package/dist/lib/error.js.map +1 -1
  39. package/dist/lib/filesystem.d.ts.map +1 -1
  40. package/dist/lib/filesystem.js +3 -0
  41. package/dist/lib/filesystem.js.map +1 -1
  42. package/dist/lib/git.d.ts +52 -0
  43. package/dist/lib/git.d.ts.map +1 -1
  44. package/dist/lib/git.js +14 -4
  45. package/dist/lib/git.js.map +1 -1
  46. package/dist/lib/path.d.ts +12 -0
  47. package/dist/lib/path.d.ts.map +1 -1
  48. package/dist/lib/path.js +21 -10
  49. package/dist/lib/path.js.map +1 -1
  50. package/dist/services/init.d.ts +2 -0
  51. package/dist/services/init.d.ts.map +1 -1
  52. package/dist/services/init.js +17 -48
  53. package/dist/services/init.js.map +1 -1
  54. package/dist/services/push.d.ts +4 -1
  55. package/dist/services/push.d.ts.map +1 -1
  56. package/dist/services/push.js +82 -23
  57. package/dist/services/push.js.map +1 -1
  58. package/dist/services/repo-artifacts.d.ts +8 -3
  59. package/dist/services/repo-artifacts.d.ts.map +1 -1
  60. package/dist/services/repo-artifacts.js +228 -18
  61. package/dist/services/repo-artifacts.js.map +1 -1
  62. package/dist/services/repo-snapshot.d.ts.map +1 -1
  63. package/dist/services/repo-snapshot.js +15 -5
  64. package/dist/services/repo-snapshot.js.map +1 -1
  65. package/dist/services/skill-install.d.ts +13 -0
  66. package/dist/services/skill-install.d.ts.map +1 -0
  67. package/dist/services/skill-install.js +39 -0
  68. package/dist/services/skill-install.js.map +1 -0
  69. package/dist/services/status.d.ts.map +1 -1
  70. package/dist/services/status.js +5 -12
  71. package/dist/services/status.js.map +1 -1
  72. package/package.json +3 -1
@@ -1,2 +1,4 @@
1
+ export declare const formatApplicationError: (error: unknown) => string;
2
+ export declare const resolveExitCode: (error: unknown) => number;
1
3
  export declare const runCli: (inputs: readonly string[]) => Promise<void>;
2
4
  //# sourceMappingURL=application.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AA6FA,eAAO,MAAM,MAAM,GAAU,QAAQ,SAAS,MAAM,EAAE,kBAgBrD,CAAC"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAwCA,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,WAIpD,CAAC;AAiCF,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,WAW7C,CAAC;AA2BF,eAAO,MAAM,MAAM,GAAU,QAAQ,SAAS,MAAM,EAAE,kBAgBrD,CAAC"}
@@ -9,8 +9,26 @@ const errorLogger = createCliLogger({
9
9
  stderr: process.stderr,
10
10
  stdout: process.stderr,
11
11
  });
12
+ const stringifyThrownValue = (error) => {
13
+ if (typeof error === "string") {
14
+ return error;
15
+ }
16
+ try {
17
+ const serialized = JSON.stringify(error);
18
+ if (typeof serialized === "string") {
19
+ return serialized;
20
+ }
21
+ }
22
+ catch {
23
+ // Fall back to String() for circular or otherwise non-serializable values.
24
+ }
25
+ return String(error);
26
+ };
27
+ export const formatApplicationError = (error) => {
28
+ return formatDotweaveError(error instanceof Error ? error : new Error(stringifyThrownValue(error)));
29
+ };
12
30
  const formatErrorForConsola = (error) => {
13
- const message = formatDotweaveError(error instanceof Error ? error : new Error(String(error)));
31
+ const message = formatApplicationError(error);
14
32
  errorLogger.error(message);
15
33
  return "";
16
34
  };
@@ -36,7 +54,7 @@ const dotweaveText = {
36
54
  return "";
37
55
  },
38
56
  };
39
- const resolveExitCode = (error) => {
57
+ export const resolveExitCode = (error) => {
40
58
  if (typeof error === "object" &&
41
59
  error !== null &&
42
60
  "exitCode" in error &&
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const dotweaveSkillContent = "---\nname: dotweave\ndescription: Use when operating or developing the Dotweave CLI for git-backed dotfile synchronization.\n---\n\n# Dotweave\n\nDotweave is a git-backed configuration synchronization tool for dotfiles. It treats `HOME` as the source of truth and uses a git repository as the synchronization artifact.\n\n## Safe CLI Use\n\n- Run `dotweave status` before any sync so you understand pending local, repository, and conflict changes.\n- Remember the direction: `dotweave push` copies tracked changes from `HOME` into the sync repository; `dotweave pull` applies repository state back into `HOME`.\n- Use `dotweave track <path>` only for files or directories that should be managed by Dotweave, and `dotweave untrack <path>` when a path should stop syncing.\n- Check the active profile before changing configuration. Profiles let different machines or environments sync different path sets.\n- Be careful with secrets. Age-encrypted entries should stay encrypted in the repository, identity files are sensitive, and plaintext secret material should not be committed accidentally.\n- For tests or automation, isolate `HOME` and `XDG_CONFIG_HOME` so Dotweave never touches the operator's real dotfiles.\n\n## Development Commands\n\n- Use `pnpm --filter @tinyrack/dotweave build` to build the CLI package.\n- Use `pnpm --filter @tinyrack/dotweave test` to run CLI tests.\n- Use `pnpm --filter @tinyrack/dotweave check` for package typecheck, lint, and tests.\n- Use `node packages/cli/bin/index.js` or `pnpm --filter @tinyrack/dotweave start` to run a local CLI build.\n\n## Development Guidance\n\n- Add failing tests before implementing behavioral changes.\n- Keep CLI command modules thin and put filesystem or sync behavior in `src/services`.\n- Preserve the existing `@stricli/core` command style.\n- Use `DotweaveError` for user-facing failures.\n- Run formatting and validation before reporting completion.\n";
2
+ //# sourceMappingURL=dotweave-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dotweave-skill.d.ts","sourceRoot":"","sources":["../../src/assets/dotweave-skill.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,24DAgChC,CAAC"}
@@ -0,0 +1,34 @@
1
+ export const dotweaveSkillContent = `---
2
+ name: dotweave
3
+ description: Use when operating or developing the Dotweave CLI for git-backed dotfile synchronization.
4
+ ---
5
+
6
+ # Dotweave
7
+
8
+ Dotweave is a git-backed configuration synchronization tool for dotfiles. It treats \`HOME\` as the source of truth and uses a git repository as the synchronization artifact.
9
+
10
+ ## Safe CLI Use
11
+
12
+ - Run \`dotweave status\` before any sync so you understand pending local, repository, and conflict changes.
13
+ - Remember the direction: \`dotweave push\` copies tracked changes from \`HOME\` into the sync repository; \`dotweave pull\` applies repository state back into \`HOME\`.
14
+ - Use \`dotweave track <path>\` only for files or directories that should be managed by Dotweave, and \`dotweave untrack <path>\` when a path should stop syncing.
15
+ - Check the active profile before changing configuration. Profiles let different machines or environments sync different path sets.
16
+ - Be careful with secrets. Age-encrypted entries should stay encrypted in the repository, identity files are sensitive, and plaintext secret material should not be committed accidentally.
17
+ - For tests or automation, isolate \`HOME\` and \`XDG_CONFIG_HOME\` so Dotweave never touches the operator's real dotfiles.
18
+
19
+ ## Development Commands
20
+
21
+ - Use \`pnpm --filter @tinyrack/dotweave build\` to build the CLI package.
22
+ - Use \`pnpm --filter @tinyrack/dotweave test\` to run CLI tests.
23
+ - Use \`pnpm --filter @tinyrack/dotweave check\` for package typecheck, lint, and tests.
24
+ - Use \`node packages/cli/bin/index.js\` or \`pnpm --filter @tinyrack/dotweave start\` to run a local CLI build.
25
+
26
+ ## Development Guidance
27
+
28
+ - Add failing tests before implementing behavioral changes.
29
+ - Keep CLI command modules thin and put filesystem or sync behavior in \`src/services\`.
30
+ - Preserve the existing \`@stricli/core\` command style.
31
+ - Use \`DotweaveError\` for user-facing failures.
32
+ - Run formatting and validation before reporting completion.
33
+ `;
34
+ //# sourceMappingURL=dotweave-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dotweave-skill.js","sourceRoot":"","sources":["../../src/assets/dotweave-skill.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAmCxD,QAAA,MAAM,WAAW,qDAkGf,CAAC;AAEH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAmCxD,QAAA,MAAM,WAAW,qDA2Gf,CAAC;AAEH,eAAe,WAAW,CAAC"}
package/dist/cli/init.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { readFile } from "node:fs/promises";
1
2
  import { buildCommand } from "@stricli/core";
2
3
  import { resolveDefaultIdentityFile } from "#app/config/identity-file.ts";
3
4
  import { resolveDotweaveHomeDirectoryFromEnv } from "#app/config/runtime-env.ts";
@@ -23,17 +24,23 @@ const formatAgeSummary = (result) => {
23
24
  const initCommand = buildCommand({
24
25
  docs: {
25
26
  brief: "Initialize the git-backed sync directory",
26
- fullDescription: "Create or connect the local dotweave repository under your dotweave app-data directory, then store the sync settings used by later pull and push operations. If you omit the repository argument, dotweave initializes a local git repository in the sync directory.",
27
+ fullDescription: "Create or connect the local dotweave repository under your dotweave app-data directory, then store the sync settings used by later pull and push operations. If local sync repository data already exists, init fails unless --force is provided. If you omit the repository argument, dotweave initializes a local git repository in the sync directory.",
27
28
  },
28
29
  async func(flags, repository) {
29
30
  const logger = createCliLogger();
30
- const requestedKey = flags.key?.trim();
31
+ const keyFileContents = flags.keyFile === undefined
32
+ ? undefined
33
+ : await readFile(flags.keyFile, "utf8");
34
+ const requestedKey = keyFileContents?.trim() || undefined;
35
+ const keyFileProvided = flags.keyFile !== undefined;
31
36
  const identityFile = resolveDefaultIdentityFile(resolveDotweaveHomeDirectoryFromEnv());
32
37
  const identityFileExists = await pathExists(identityFile);
38
+ const effectiveIdentityFileExists = flags.force === true ? false : identityFileExists;
33
39
  const importingRepository = repository !== undefined && repository.trim() !== "";
34
40
  const shouldPrompt = requestedKey === undefined &&
35
- !identityFileExists &&
36
- ((flags.promptKey ?? false) || importingRepository);
41
+ !keyFileProvided &&
42
+ !effectiveIdentityFileExists &&
43
+ importingRepository;
37
44
  const promptedKey = shouldPrompt
38
45
  ? await ask(importingRepository
39
46
  ? "Enter the age private key for the existing repository: "
@@ -54,10 +61,11 @@ const initCommand = buildCommand({
54
61
  : trimmedPromptedKey !== undefined && trimmedPromptedKey !== ""
55
62
  ? trimmedPromptedKey
56
63
  : undefined,
64
+ force: flags.force === true,
57
65
  generateAgeIdentity: !importingRepository &&
58
66
  requestedKey === undefined &&
59
67
  (trimmedPromptedKey === "" ||
60
- (trimmedPromptedKey === undefined && !identityFileExists)),
68
+ (trimmedPromptedKey === undefined && !effectiveIdentityFileExists)),
61
69
  recipients: [],
62
70
  repository,
63
71
  });
@@ -74,17 +82,17 @@ const initCommand = buildCommand({
74
82
  },
75
83
  parameters: {
76
84
  flags: {
77
- key: {
78
- brief: "Persist an age private key into the identity file",
79
- kind: "parsed",
85
+ force: {
86
+ brief: "Replace existing local sync repository, identity, and settings before initializing",
87
+ kind: "boolean",
80
88
  optional: true,
81
- parse: String,
82
- placeholder: "age-private-key",
83
89
  },
84
- promptKey: {
85
- brief: "Prompt to enter an age private key instead of generating one automatically",
86
- kind: "boolean",
90
+ keyFile: {
91
+ brief: "Read an age private key from a file",
92
+ kind: "parsed",
87
93
  optional: true,
94
+ parse: String,
95
+ placeholder: "path",
88
96
  },
89
97
  },
90
98
  positional: {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/cli/pull.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AA8BxD,QAAA,MAAM,WAAW,qDAqFf,CAAC;AAEH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/cli/pull.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AA8BxD,QAAA,MAAM,WAAW,qDAuGf,CAAC;AAEH,eAAe,WAAW,CAAC"}
package/dist/cli/pull.js CHANGED
@@ -23,7 +23,14 @@ const pullCommand = buildCommand({
23
23
  const dryRun = flags.dryRun ?? false;
24
24
  const logger = createCliLogger();
25
25
  const spin = logger.spinner("Preparing pull...");
26
- const prepared = await preparePull({ dryRun, profile: flags.profile });
26
+ let prepared;
27
+ try {
28
+ prepared = await preparePull({ dryRun, profile: flags.profile });
29
+ }
30
+ catch (error) {
31
+ spin.stop();
32
+ throw error;
33
+ }
27
34
  const { config, plan } = prepared;
28
35
  spin.stop();
29
36
  if (plan.updatedLocalPaths.length === 0 &&
@@ -38,7 +45,13 @@ const pullCommand = buildCommand({
38
45
  }
39
46
  else if (flags.yes ?? false) {
40
47
  const applySpin = logger.spinner("Applying pull...");
41
- await applyPullPlan(config, plan);
48
+ try {
49
+ await applyPullPlan(config, plan);
50
+ }
51
+ catch (error) {
52
+ applySpin.stop();
53
+ throw error;
54
+ }
42
55
  applySpin.succeed("Pull complete");
43
56
  }
44
57
  else {
@@ -48,12 +61,18 @@ const pullCommand = buildCommand({
48
61
  });
49
62
  }
50
63
  const answer = await ask("Apply these changes? [y/N] ");
51
- if (answer.trim() !== "y") {
64
+ if (answer.trim().toLowerCase() !== "y") {
52
65
  logger.info("Skipped pull changes");
53
66
  return;
54
67
  }
55
68
  const applySpin = logger.spinner("Applying pull...");
56
- await applyPullPlan(config, plan);
69
+ try {
70
+ await applyPullPlan(config, plan);
71
+ }
72
+ catch (error) {
73
+ applySpin.stop();
74
+ throw error;
75
+ }
57
76
  applySpin.succeed("Pull complete");
58
77
  }
59
78
  const updateAction = dryRun ? "would be updated" : "updated";
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/cli/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/cli/pull.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/cli/push.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAWxD,QAAA,MAAM,WAAW,qDA2Cf,CAAC;AAEH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/cli/push.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAWxD,QAAA,MAAM,WAAW,qDAkDf,CAAC;AAEH,eAAe,WAAW,CAAC"}
package/dist/cli/push.js CHANGED
@@ -10,10 +10,17 @@ const pushCommand = buildCommand({
10
10
  async func(flags) {
11
11
  const logger = createCliLogger();
12
12
  const spin = logger.spinner("Pushing changes...");
13
- const result = await pushChanges({
14
- dryRun: flags.dryRun ?? false,
15
- profile: flags.profile,
16
- });
13
+ let result;
14
+ try {
15
+ result = await pushChanges({
16
+ dryRun: flags.dryRun ?? false,
17
+ profile: flags.profile,
18
+ });
19
+ }
20
+ catch (error) {
21
+ spin.stop();
22
+ throw error;
23
+ }
17
24
  if (result.dryRun) {
18
25
  spin.stop();
19
26
  logger.info("Push preview (dry run)");
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/cli/push.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOhD,MAAM,WAAW,GAAG,YAAY,CAAoC;IAClE,IAAI,EAAE;QACJ,KAAK,EAAE,wDAAwD;QAC/D,eAAe,EACb,gMAAgM;KACnM;IACD,KAAK,CAAC,IAAI,CAAC,KAAK;QACd,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK;YAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAEjD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,MAAM,CAAC,GAAG,CACR,KAAK,MAAM,CAAC,oBAAoB,oBAAoB,aAAa,EAAE,CACpE,CAAC;IACJ,CAAC;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,KAAK,EAAE,iCAAiC;gBACxC,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;aACf;YACD,OAAO,EAAE,WAAW;SACrB;KACF;CACF,CAAC,CAAC;AAEH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/cli/push.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOhD,MAAM,WAAW,GAAG,YAAY,CAAoC;IAClE,IAAI,EAAE;QACJ,KAAK,EAAE,wDAAwD;QAC/D,eAAe,EACb,gMAAgM;KACnM;IACD,KAAK,CAAC,IAAI,CAAC,KAAK;QACd,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAElD,IAAI,MAA+C,CAAC;QAEpD,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,WAAW,CAAC;gBACzB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK;gBAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAEjD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,MAAM,CAAC,GAAG,CACR,KAAK,MAAM,CAAC,oBAAoB,oBAAoB,aAAa,EAAE,CACpE,CAAC;IACJ,CAAC;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,KAAK,EAAE,iCAAiC;gBACxC,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;aACf;YACD,OAAO,EAAE,WAAW;SACrB;KACF;CACF,CAAC,CAAC;AAEH,eAAe,WAAW,CAAC"}
@@ -5,6 +5,7 @@ export declare const rootCommandRoutes: {
5
5
  profile: import("@stricli/core").RouteMap<import("@stricli/core").ApplicationContext>;
6
6
  pull: import("@stricli/core").Command<import("@stricli/core").ApplicationContext>;
7
7
  push: import("@stricli/core").Command<import("@stricli/core").ApplicationContext>;
8
+ skill: import("@stricli/core").RouteMap<import("@stricli/core").ApplicationContext>;
8
9
  status: import("@stricli/core").Command<import("@stricli/core").ApplicationContext>;
9
10
  track: import("@stricli/core").Command<import("@stricli/core").ApplicationContext>;
10
11
  untrack: import("@stricli/core").Command<import("@stricli/core").ApplicationContext>;
@@ -1 +1 @@
1
- {"version":3,"file":"root-commands.d.ts","sourceRoot":"","sources":["../../src/cli/root-commands.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,iBAAiB;;;;;;;;;;CAU7B,CAAC"}
1
+ {"version":3,"file":"root-commands.d.ts","sourceRoot":"","sources":["../../src/cli/root-commands.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAW7B,CAAC"}
@@ -4,6 +4,7 @@ import initCommand from "#app/cli/init.ts";
4
4
  import profileRoute from "#app/cli/profile/index.ts";
5
5
  import pullCommand from "#app/cli/pull.ts";
6
6
  import pushCommand from "#app/cli/push.ts";
7
+ import skillRoute from "#app/cli/skill/index.ts";
7
8
  import statusCommand from "#app/cli/status.ts";
8
9
  import trackCommand from "#app/cli/track.ts";
9
10
  import untrackCommand from "#app/cli/untrack.ts";
@@ -14,6 +15,7 @@ export const rootCommandRoutes = {
14
15
  profile: profileRoute,
15
16
  pull: pullCommand,
16
17
  push: pushCommand,
18
+ skill: skillRoute,
17
19
  status: statusCommand,
18
20
  track: trackCommand,
19
21
  untrack: untrackCommand,
@@ -1 +1 @@
1
- {"version":3,"file":"root-commands.js","sourceRoot":"","sources":["../../src/cli/root-commands.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,SAAS;IACb,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,cAAc;CACxB,CAAC"}
1
+ {"version":3,"file":"root-commands.js","sourceRoot":"","sources":["../../src/cli/root-commands.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,SAAS;IACb,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,cAAc;CACxB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const skillRoute: import("@stricli/core").RouteMap<import("@stricli/core").ApplicationContext>;
2
+ export default skillRoute;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/skill/index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,UAAU,8EAQd,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { buildRouteMap } from "@stricli/core";
2
+ import skillInstallCommand from "#app/cli/skill/install.ts";
3
+ const skillRoute = buildRouteMap({
4
+ docs: {
5
+ brief: "Manage portable agent skills",
6
+ fullDescription: "Install Dotweave's bundled portable agent skill.",
7
+ },
8
+ routes: {
9
+ install: skillInstallCommand,
10
+ },
11
+ });
12
+ export default skillRoute;
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/skill/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAE5D,MAAM,UAAU,GAAG,aAAa,CAAC;IAC/B,IAAI,EAAE;QACJ,KAAK,EAAE,8BAA8B;QACrC,eAAe,EAAE,kDAAkD;KACpE;IACD,MAAM,EAAE;QACN,OAAO,EAAE,mBAAmB;KAC7B;CACF,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ApplicationContext } from "@stricli/core";
2
+ declare const skillInstallCommand: import("@stricli/core").Command<ApplicationContext>;
3
+ export default skillInstallCommand;
4
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/skill/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAuBxD,QAAA,MAAM,mBAAmB,qDAmDvB,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { buildCommand } from "@stricli/core";
2
+ import { installDotweaveSkill } from "#app/services/skill-install.ts";
3
+ import { createCliLogger } from "#app/services/terminal/logger.ts";
4
+ const formatInstallMessage = (action) => {
5
+ switch (action) {
6
+ case "would-install":
7
+ return "Would install dotweave skill";
8
+ case "would-overwrite":
9
+ return "Would overwrite dotweave skill";
10
+ case "overwritten":
11
+ return "Overwrote dotweave skill";
12
+ default:
13
+ return "Installed dotweave skill";
14
+ }
15
+ };
16
+ const skillInstallCommand = buildCommand({
17
+ docs: {
18
+ brief: "Install the bundled dotweave agent skill",
19
+ fullDescription: "Install Dotweave's bundled portable agent skill into the specified skills directory.",
20
+ },
21
+ async func(flags, directory) {
22
+ const logger = createCliLogger();
23
+ const result = await installDotweaveSkill({
24
+ directory,
25
+ dryRun: flags.dryRun === true,
26
+ force: flags.force === true,
27
+ });
28
+ const message = formatInstallMessage(result.action);
29
+ if (result.dryRun) {
30
+ logger.info(message);
31
+ }
32
+ else {
33
+ logger.success(message);
34
+ }
35
+ logger.kv("target", result.targetPath);
36
+ },
37
+ parameters: {
38
+ flags: {
39
+ dryRun: {
40
+ brief: "Report the install target without writing files",
41
+ kind: "boolean",
42
+ optional: true,
43
+ },
44
+ force: {
45
+ brief: "Overwrite an existing dotweave skill",
46
+ kind: "boolean",
47
+ optional: true,
48
+ },
49
+ },
50
+ positional: {
51
+ kind: "tuple",
52
+ parameters: [
53
+ {
54
+ brief: "Skills root directory",
55
+ parse: String,
56
+ placeholder: "directory",
57
+ },
58
+ ],
59
+ },
60
+ },
61
+ });
62
+ export default skillInstallCommand;
63
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/skill/install.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAOnE,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC9C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,eAAe;YAClB,OAAO,8BAA8B,CAAC;QACxC,KAAK,iBAAiB;YACpB,OAAO,gCAAgC,CAAC;QAC1C,KAAK,aAAa;YAChB,OAAO,0BAA0B,CAAC;QACpC;YACE,OAAO,0BAA0B,CAAC;IACtC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,YAAY,CAItC;IACA,IAAI,EAAE;QACJ,KAAK,EAAE,0CAA0C;QACjD,eAAe,EACb,sFAAsF;KACzF;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS;QACzB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC;YACxC,SAAS;YACT,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI;SAC5B,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEpD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,KAAK,EAAE,iDAAiD;gBACxD,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;aACf;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,sCAAsC;gBAC7C,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;aACf;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,KAAK,EAAE,MAAM;oBACb,WAAW,EAAE,WAAW;iBACzB;aACF;SACF;KACF;CACF,CAAC,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAwHxD,QAAA,MAAM,aAAa,qDA8BjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAyHxD,QAAA,MAAM,aAAa,qDAsCjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { buildCommand } from "@stricli/core";
2
+ import { AppConstants } from "#app/config/constants.ts";
2
3
  import { getStatus, } from "#app/services/status.ts";
3
4
  import { createCliLogger } from "#app/services/terminal/logger.ts";
4
5
  import { color, SYMBOLS } from "#app/services/terminal/theme.ts";
@@ -83,11 +84,18 @@ const statusCommand = buildCommand({
83
84
  async func(flags) {
84
85
  const logger = createCliLogger();
85
86
  const spin = logger.spinner("Checking sync status...");
86
- const result = await getStatus({
87
- profile: flags.profile,
88
- });
87
+ let result;
88
+ try {
89
+ result = await getStatus({
90
+ profile: flags.profile,
91
+ });
92
+ }
93
+ catch (error) {
94
+ spin.stop();
95
+ throw error;
96
+ }
89
97
  spin.stop();
90
- logger.info(`Sync status — ${result.entryCount} entries, ${result.recipientCount} recipients, profile: ${result.activeProfile ?? "none"}`);
98
+ logger.info(`Sync status — ${result.entryCount} entries, ${result.recipientCount} recipients, profile: ${result.activeProfile ?? AppConstants.SYNC.DEFAULT_PROFILE}`);
91
99
  logger.section("Push changes (repository)");
92
100
  logPushChanges(logger, result.push.changes);
93
101
  logger.section("Pull changes (local)");
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-schema.d.ts","sourceRoot":"","sources":["../../src/config/sync-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-schema.d.ts","sourceRoot":"","sources":["../../src/config/sync-schema.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAEzB,MAAM,yBAAyB,CAAC;AAiDjC,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM1B,CAAC;AASH,QAAA,MAAM,wBAAwB;;;;;;iBAM5B,CAAC;AAwBH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAqB,CAAC;AAMnD,QAAA,MAAM,cAAc,gCAAiC,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AACzD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9C,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,cAAc,EAAE,gBAAgB,CAAC;IACjC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,oBAAoB,CAAC,EAAE,kBAAkB,CAAC;IAC1C,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;IAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5C,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;CACtD,CAAC,CAAC;AAMH,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,WAgClD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,OAAO,MAAM,EACb,oBAA4B,WA+C7B,CAAC;AAEF,eAAO,MAAM,oCAAoC,GAAI,OAAO,MAAM,YAOjE,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,WAAW,mBAAmB,EAC9B,eAAe,MAAM,WAUtB,CAAC;AAyFF,eAAO,MAAM,iCAAiC,GAC5C,SAAS,SAAS,uBAAuB,EAAE,SAI5C,CAAC;AAkEF,eAAO,MAAM,oCAAoC,GAC/C,QAAQ,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,UAAU,CAAC,aAgBpD,CAAC;AA+MF,eAAO,MAAM,eAAe,GAC1B,OAAO,OAAO,EACd,SAAS,2BAA2B,KACnC,kBAmFF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,KAAK;IAC3C,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,KAAG,aAOH,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,aAAa,WAErD,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,eAAe,MAAM,WAE9D,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,eAAe,MAAM,EACrB,SAAS,2BAA2B,KACnC,OAAO,CAAC,kBAAkB,CAsD5B,CAAC"}
@@ -138,6 +138,13 @@ export const normalizeSyncProfileName = (value, description = "Profile name") =>
138
138
  details: [`${description}: ${value}`],
139
139
  });
140
140
  }
141
+ if (normalizedValue === "profiles") {
142
+ throw new DotweaveError(`${description} conflicts with the reserved profile artifact directory.`, {
143
+ code: "INVALID_PROFILE_NAME",
144
+ details: [`${description}: ${value}`],
145
+ hint: "Use a profile name like 'work' or 'personal' instead of 'profiles'.",
146
+ });
147
+ }
141
148
  return normalizedValue;
142
149
  };
143
150
  export const hasReservedSyncArtifactSuffixSegment = (value) => {