overskill 1.1.0 → 2.0.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 (87) hide show
  1. package/README.md +13 -2
  2. package/dist/commands/add.d.ts.map +1 -1
  3. package/dist/commands/add.js +8 -35
  4. package/dist/commands/add.js.map +1 -1
  5. package/dist/commands/bundle.d.ts.map +1 -1
  6. package/dist/commands/bundle.js +1 -6
  7. package/dist/commands/bundle.js.map +1 -1
  8. package/dist/commands/edit.js +5 -5
  9. package/dist/commands/edit.js.map +1 -1
  10. package/dist/commands/import.d.ts.map +1 -1
  11. package/dist/commands/import.js +5 -19
  12. package/dist/commands/import.js.map +1 -1
  13. package/dist/commands/info.d.ts.map +1 -1
  14. package/dist/commands/info.js +10 -39
  15. package/dist/commands/info.js.map +1 -1
  16. package/dist/commands/list.d.ts.map +1 -1
  17. package/dist/commands/list.js +14 -20
  18. package/dist/commands/list.js.map +1 -1
  19. package/dist/commands/new.d.ts.map +1 -1
  20. package/dist/commands/new.js +10 -24
  21. package/dist/commands/new.js.map +1 -1
  22. package/dist/commands/open.d.ts +3 -0
  23. package/dist/commands/open.d.ts.map +1 -0
  24. package/dist/commands/open.js +75 -0
  25. package/dist/commands/open.js.map +1 -0
  26. package/dist/commands/publish.d.ts.map +1 -1
  27. package/dist/commands/publish.js +16 -73
  28. package/dist/commands/publish.js.map +1 -1
  29. package/dist/commands/push.d.ts.map +1 -1
  30. package/dist/commands/push.js +1 -13
  31. package/dist/commands/push.js.map +1 -1
  32. package/dist/commands/rename.d.ts +3 -0
  33. package/dist/commands/rename.d.ts.map +1 -0
  34. package/dist/commands/rename.js +177 -0
  35. package/dist/commands/rename.js.map +1 -0
  36. package/dist/commands/save.d.ts +3 -0
  37. package/dist/commands/save.d.ts.map +1 -0
  38. package/dist/commands/save.js +112 -0
  39. package/dist/commands/save.js.map +1 -0
  40. package/dist/commands/search.js +1 -1
  41. package/dist/commands/search.js.map +1 -1
  42. package/dist/commands/sync.d.ts.map +1 -1
  43. package/dist/commands/sync.js +7 -41
  44. package/dist/commands/sync.js.map +1 -1
  45. package/dist/commands/update.d.ts.map +1 -1
  46. package/dist/commands/update.js +80 -98
  47. package/dist/commands/update.js.map +1 -1
  48. package/dist/commands/upgrade.d.ts +3 -0
  49. package/dist/commands/upgrade.d.ts.map +1 -0
  50. package/dist/commands/upgrade.js +98 -0
  51. package/dist/commands/upgrade.js.map +1 -0
  52. package/dist/commands/validate.d.ts.map +1 -1
  53. package/dist/commands/validate.js +2 -8
  54. package/dist/commands/validate.js.map +1 -1
  55. package/dist/index.js +36 -25
  56. package/dist/index.js.map +1 -1
  57. package/dist/lib/index-gen.d.ts.map +1 -1
  58. package/dist/lib/index-gen.js +0 -2
  59. package/dist/lib/index-gen.js.map +1 -1
  60. package/dist/lib/local-registry/index.d.ts +3 -5
  61. package/dist/lib/local-registry/index.d.ts.map +1 -1
  62. package/dist/lib/local-registry/index.js +2 -5
  63. package/dist/lib/local-registry/index.js.map +1 -1
  64. package/dist/lib/local-registry/paths.d.ts +2 -2
  65. package/dist/lib/local-registry/paths.d.ts.map +1 -1
  66. package/dist/lib/local-registry/paths.js +4 -4
  67. package/dist/lib/local-registry/paths.js.map +1 -1
  68. package/dist/lib/local-registry/skills.d.ts +10 -29
  69. package/dist/lib/local-registry/skills.d.ts.map +1 -1
  70. package/dist/lib/local-registry/skills.js +57 -83
  71. package/dist/lib/local-registry/skills.js.map +1 -1
  72. package/dist/lib/local-registry/types.d.ts +6 -38
  73. package/dist/lib/local-registry/types.d.ts.map +1 -1
  74. package/dist/lib/local-registry/versions.d.ts +6 -57
  75. package/dist/lib/local-registry/versions.d.ts.map +1 -1
  76. package/dist/lib/local-registry/versions.js +6 -159
  77. package/dist/lib/local-registry/versions.js.map +1 -1
  78. package/dist/lib/lockfile.d.ts +2 -2
  79. package/dist/lib/lockfile.d.ts.map +1 -1
  80. package/dist/lib/lockfile.js +5 -10
  81. package/dist/lib/lockfile.js.map +1 -1
  82. package/dist/lib/meta-skill.d.ts +1 -1
  83. package/dist/lib/meta-skill.d.ts.map +1 -1
  84. package/dist/lib/meta-skill.js +2 -2
  85. package/dist/types.d.ts +0 -7
  86. package/dist/types.d.ts.map +1 -1
  87. package/package.json +1 -1
@@ -0,0 +1,177 @@
1
+ import { Command } from 'commander';
2
+ import * as nodeFs from 'fs';
3
+ import * as path from 'path';
4
+ import * as yaml from 'yaml';
5
+ import * as readline from 'readline';
6
+ import chalk from 'chalk';
7
+ import ora from 'ora';
8
+ import * as localRegistry from '../lib/local-registry/index.js';
9
+ import * as projectConfig from '../lib/config.js';
10
+ import * as projectFs from '../lib/fs.js';
11
+ import * as indexGen from '../lib/index-gen.js';
12
+ function createQuestionInterface() {
13
+ return readline.createInterface({
14
+ input: process.stdin,
15
+ output: process.stdout
16
+ });
17
+ }
18
+ async function promptForNewName(params) {
19
+ const { currentName } = params;
20
+ const rl = createQuestionInterface();
21
+ const question = (prompt) => new Promise(resolve => {
22
+ rl.question(prompt, answer => resolve(answer));
23
+ });
24
+ const answer = await question(`New name [${currentName}]: `);
25
+ rl.close();
26
+ const trimmed = answer.trim();
27
+ return trimmed || currentName;
28
+ }
29
+ function slugFromName(params) {
30
+ const { name } = params;
31
+ const normalized = name.trim().toLowerCase().replace(/[^a-z0-9]+/g, '-');
32
+ return normalized.replace(/^-+|-+$/g, '');
33
+ }
34
+ function validateSlug(params) {
35
+ const { slug } = params;
36
+ if (!slug) {
37
+ throw new Error('Slug cannot be empty after normalization.');
38
+ }
39
+ if (!/^[a-z0-9-]+$/.test(slug)) {
40
+ throw new Error("Slug must be lowercase alphanumeric with hyphens only (generated from the new name).");
41
+ }
42
+ }
43
+ function renameInRegistry(params) {
44
+ const { oldSlug, newSlug, newName } = params;
45
+ const existingMeta = localRegistry.readMeta(oldSlug);
46
+ if (!existingMeta) {
47
+ throw new Error(`Could not read metadata for '${oldSlug}' in local registry.`);
48
+ }
49
+ // Rename the skill directory if the slug changed
50
+ if (oldSlug !== newSlug) {
51
+ const oldDir = localRegistry.getSkillDir(oldSlug);
52
+ const newDir = localRegistry.getSkillDir(newSlug);
53
+ if (!nodeFs.existsSync(oldDir)) {
54
+ throw new Error(`Skill directory not found in registry: ${oldDir}`);
55
+ }
56
+ if (nodeFs.existsSync(newDir)) {
57
+ throw new Error(`Target slug '${newSlug}' already exists in registry at ${newDir}. Choose a different name.`);
58
+ }
59
+ nodeFs.renameSync(oldDir, newDir);
60
+ }
61
+ const updatedMeta = {
62
+ ...existingMeta,
63
+ slug: newSlug,
64
+ name: newName
65
+ };
66
+ localRegistry.writeMeta(newSlug, updatedMeta);
67
+ }
68
+ function renameInProject(params) {
69
+ const { oldSlug, newSlug, newName } = params;
70
+ if (!projectConfig.configExists()) {
71
+ return;
72
+ }
73
+ const skillsConfig = projectConfig.readConfig();
74
+ let configChanged = false;
75
+ const updatedSkills = skillsConfig.skills.map(skill => {
76
+ if (skill.slug !== oldSlug) {
77
+ return skill;
78
+ }
79
+ configChanged = true;
80
+ return {
81
+ ...skill,
82
+ slug: newSlug
83
+ };
84
+ });
85
+ if (configChanged) {
86
+ projectConfig.writeConfig({
87
+ ...skillsConfig,
88
+ skills: updatedSkills
89
+ });
90
+ }
91
+ // Rename installed skill directory in the project, if present
92
+ const projectOldDir = projectFs.getSkillDir(oldSlug);
93
+ const projectNewDir = projectFs.getSkillDir(newSlug);
94
+ if (nodeFs.existsSync(projectOldDir)) {
95
+ if (nodeFs.existsSync(projectNewDir)) {
96
+ throw new Error(`Cannot rename project skill directory: target '${newSlug}' already exists at ${projectNewDir}.`);
97
+ }
98
+ nodeFs.renameSync(projectOldDir, projectNewDir);
99
+ // Update project meta.yaml slug and name
100
+ const projectMeta = projectFs.readSkillMeta(newSlug);
101
+ if (projectMeta) {
102
+ const updatedProjectMeta = {
103
+ ...projectMeta,
104
+ slug: newSlug,
105
+ name: newName
106
+ };
107
+ const metaPath = path.join(projectFs.getSkillDir(newSlug), 'meta.yaml');
108
+ const content = yaml.stringify(updatedProjectMeta, { lineWidth: 0 });
109
+ nodeFs.writeFileSync(metaPath, content, 'utf-8');
110
+ }
111
+ }
112
+ // Regenerate SKILLS_INDEX.md if we are in a project
113
+ indexGen.regenerateIndex();
114
+ }
115
+ export const renameCommand = new Command('rename')
116
+ .description('Rename a skill (updates slug and display name)')
117
+ .argument('<slug>', 'Current skill slug')
118
+ .action(async (slug) => {
119
+ try {
120
+ if (!localRegistry.skillExists(slug)) {
121
+ console.log(chalk.red(`Error: Skill '${slug}' not found in local registry.`));
122
+ console.log('');
123
+ console.log('To create this skill:');
124
+ console.log(` ${chalk.cyan(`skill new ${slug}`)}`);
125
+ process.exit(1);
126
+ }
127
+ const skillInfo = localRegistry.getSkillInfo(slug);
128
+ if (!skillInfo) {
129
+ console.log(chalk.red(`Error: Could not read skill '${slug}' from local registry.`));
130
+ process.exit(1);
131
+ }
132
+ const currentName = skillInfo.meta.name || slug;
133
+ console.log('');
134
+ console.log(chalk.bold('Rename skill'));
135
+ console.log(` ${chalk.bold('Current slug:')} ${chalk.cyan(slug)}`);
136
+ console.log(` ${chalk.bold('Current name:')} ${currentName}`);
137
+ console.log('');
138
+ const newName = await promptForNewName({ currentName });
139
+ if (newName === currentName) {
140
+ console.log(chalk.yellow('Name unchanged. Nothing to do.'));
141
+ return;
142
+ }
143
+ const newSlug = slugFromName({ name: newName });
144
+ try {
145
+ validateSlug({ slug: newSlug });
146
+ }
147
+ catch (error) {
148
+ console.log(chalk.red(`Error: Could not derive a valid slug from '${newName}'. ` +
149
+ (error instanceof Error ? error.message : String(error))));
150
+ process.exit(1);
151
+ }
152
+ if (newSlug !== slug && localRegistry.skillExists(newSlug)) {
153
+ console.log(chalk.red(`Error: A skill with slug '${newSlug}' already exists in the local registry. ` +
154
+ 'Choose a different name.'));
155
+ process.exit(1);
156
+ }
157
+ const spinner = ora('Renaming skill...').start();
158
+ try {
159
+ renameInRegistry({ oldSlug: slug, newSlug, newName });
160
+ renameInProject({ oldSlug: slug, newSlug, newName });
161
+ spinner.succeed(`Renamed skill to ${chalk.cyan(newSlug)}`);
162
+ console.log('');
163
+ console.log('Updated details:');
164
+ console.log(` ${chalk.bold('Slug:')} ${chalk.cyan(newSlug)}`);
165
+ console.log(` ${chalk.bold('Name:')} ${newName}`);
166
+ }
167
+ catch (error) {
168
+ spinner.fail('Failed to rename skill');
169
+ throw error;
170
+ }
171
+ }
172
+ catch (error) {
173
+ console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);
174
+ process.exit(1);
175
+ }
176
+ });
177
+ //# sourceMappingURL=rename.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../src/commands/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,IAAI,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,aAAa,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAEhD,SAAS,uBAAuB;IAC9B,OAAO,QAAQ,CAAC,eAAe,CAAC;QAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAA+B;IAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,GAAG,uBAAuB,EAAE,CAAC;IAErC,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAmB,EAAE,CACnD,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACpB,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEL,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,WAAW,KAAK,CAAC,CAAC;IAC7D,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,OAAO,IAAI,WAAW,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CAAC,MAAwB;IAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACzE,OAAO,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CAAC,MAAwB;IAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAExB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA6D;IACrF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE7C,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,sBAAsB,CAAC,CAAC;IACjF,CAAC;IAED,iDAAiD;IACjD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,mCAAmC,MAAM,4BAA4B,CAC7F,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,WAAW,GAAG;QAClB,GAAG,YAAY;QACf,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;KACd,CAAC;IAEF,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,eAAe,CAAC,MAA6D;IACpF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE7C,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC;IAChD,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACpD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,aAAa,GAAG,IAAI,CAAC;QACrB,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,CAAC,WAAW,CAAC;YACxB,GAAG,YAAY;YACf,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;IACL,CAAC;IAED,8DAA8D;IAC9D,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAErD,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,kDAAkD,OAAO,uBAAuB,aAAa,GAAG,CACjG,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAEhD,yCAAyC;QACzC,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,kBAAkB,GAAG;gBACzB,GAAG,WAAW;gBACd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;aACd,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;YACxE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,QAAQ,CAAC,eAAe,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,gDAAgD,CAAC;KAC7D,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;KACxC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7B,IAAI,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,IAAI,gCAAgC,CAAC,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,IAAI,wBAAwB,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,8CAA8C,OAAO,KAAK;gBACxD,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC3D,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,KAAK,IAAI,IAAI,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,6BAA6B,OAAO,0CAA0C;gBAC5E,0BAA0B,CAC7B,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEjD,IAAI,CAAC;YACH,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAErD,OAAO,CAAC,OAAO,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const saveCommand: Command;
3
+ //# sourceMappingURL=save.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,WAAW,SAmHpB,CAAC"}
@@ -0,0 +1,112 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import ora from 'ora';
4
+ import * as config from '../lib/config.js';
5
+ import * as localRegistry from '../lib/local-registry/index.js';
6
+ import * as lockfile from '../lib/lockfile.js';
7
+ import * as fs from '../lib/fs.js';
8
+ import * as indexGen from '../lib/index-gen.js';
9
+ export const saveCommand = new Command('save')
10
+ .description('Save local skill changes back to the registry')
11
+ .argument('[slug]', 'Skill slug to save (optional, saves all modified if not provided)')
12
+ .action(async (slug) => {
13
+ try {
14
+ // Check if initialized
15
+ if (!config.configExists()) {
16
+ console.log(chalk.red('Error: Not in a skills project.'));
17
+ console.log(`Run ${chalk.cyan('skill init')} first.`);
18
+ process.exit(1);
19
+ }
20
+ const skillsConfig = config.readConfig();
21
+ // Determine which skills to update
22
+ let skillsToUpdate = [];
23
+ if (slug) {
24
+ // Specific skill
25
+ if (!fs.skillExists(slug)) {
26
+ console.log(chalk.red(`Error: Skill '${slug}' not found in project.`));
27
+ console.log(`Run ${chalk.cyan('skill sync')} first.`);
28
+ process.exit(1);
29
+ }
30
+ skillsToUpdate = [slug];
31
+ }
32
+ else {
33
+ // All modified skills
34
+ const localSkills = fs.listLocalSkills();
35
+ for (const localSlug of localSkills) {
36
+ if (fs.isSkillModified(localSlug)) {
37
+ skillsToUpdate.push(localSlug);
38
+ }
39
+ }
40
+ if (skillsToUpdate.length === 0) {
41
+ console.log(chalk.yellow('No modified skills to update.'));
42
+ console.log(`Edit a skill with ${chalk.cyan('skill open <slug>')} first, or specify a slug directly.`);
43
+ return;
44
+ }
45
+ }
46
+ const spinner = ora('Saving changes to registry...').start();
47
+ let updated = 0;
48
+ const errors = [];
49
+ for (const skillSlug of skillsToUpdate) {
50
+ try {
51
+ // Read content from project
52
+ const content = fs.readSkillContent(skillSlug);
53
+ if (!content) {
54
+ errors.push({ slug: skillSlug, error: 'Could not read SKILL.md from project' });
55
+ continue;
56
+ }
57
+ // Get existing meta from registry (or project)
58
+ const existingMeta = localRegistry.readMeta(skillSlug) || fs.readSkillMeta(skillSlug);
59
+ const name = existingMeta?.name || skillSlug;
60
+ const description = existingMeta?.description;
61
+ const tags = existingMeta?.tags || [];
62
+ const compat = existingMeta?.compat || [];
63
+ // Save to local registry
64
+ const { sha256 } = localRegistry.putSkill({
65
+ slug: skillSlug,
66
+ content,
67
+ meta: {
68
+ name,
69
+ description,
70
+ tags,
71
+ compat,
72
+ },
73
+ });
74
+ // Update lockfile
75
+ lockfile.updateLockedSkill({
76
+ slug: skillSlug,
77
+ sha256,
78
+ });
79
+ // Clear modified marker
80
+ fs.unmarkSkillModified(skillSlug);
81
+ updated++;
82
+ }
83
+ catch (error) {
84
+ errors.push({
85
+ slug: skillSlug,
86
+ error: error instanceof Error ? error.message : String(error),
87
+ });
88
+ }
89
+ }
90
+ // Regenerate index
91
+ indexGen.regenerateIndex();
92
+ spinner.succeed(`Saved ${updated} skill(s) to registry`);
93
+ // Print results
94
+ for (const skillSlug of skillsToUpdate) {
95
+ if (!errors.find((e) => e.slug === skillSlug)) {
96
+ console.log(` ${chalk.green('✓')} ${chalk.cyan(skillSlug)}`);
97
+ }
98
+ }
99
+ if (errors.length > 0) {
100
+ console.log('');
101
+ console.log(chalk.red(`${errors.length} skill(s) failed:`));
102
+ for (const error of errors) {
103
+ console.log(` ${chalk.red('✗')} ${error.slug}: ${error.error}`);
104
+ }
105
+ }
106
+ }
107
+ catch (error) {
108
+ console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);
109
+ process.exit(1);
110
+ }
111
+ });
112
+ //# sourceMappingURL=save.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export const searchCommand = new Command('search')
34
34
  ? chalk.gray(` [${skill.meta.tags.join(', ')}]`)
35
35
  : '';
36
36
  const matchNote = chalk.gray(` (matched on ${skill.matchedOn})`);
37
- console.log(`${chalk.cyan(skill.slug.padEnd(30))} v${skill.latestVersion.padEnd(10)}${tags}${matchNote}`);
37
+ console.log(`${chalk.cyan(skill.slug.padEnd(30))}${tags}${matchNote}`);
38
38
  if (skill.meta.description) {
39
39
  console.log(chalk.gray(` ${skill.meta.description}`));
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,eAAO,MAAM,WAAW,SAiLpB,CAAC"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,eAAO,MAAM,WAAW,SA6IpB,CAAC"}
@@ -37,63 +37,33 @@ export const syncCommand = new Command("sync")
37
37
  const lockedSkills = [];
38
38
  // Process each skill
39
39
  for (const skillEntry of skillsConfig.skills) {
40
- const { slug, version: constraint } = skillEntry;
40
+ const { slug } = skillEntry;
41
41
  // Check if skill exists in local registry
42
42
  if (!localRegistry.skillExists(slug)) {
43
43
  errors.push({
44
44
  slug,
45
- error: `Not found in local cache. Run ${chalk.cyan("skill new ${slug}")} or ${chalk.cyan("skill cache import")}`,
46
- });
47
- continue;
48
- }
49
- // Get locked version if exists
50
- const locked = existingLock?.skills.find((s) => s.slug === slug);
51
- // Resolve version to install
52
- let resolvedVersion = null;
53
- if (locked && !options.force) {
54
- // Prefer locked version for reproducibility
55
- if (localRegistry.versionExists(slug, locked.version)) {
56
- resolvedVersion = locked.version;
57
- }
58
- else {
59
- // Locked version not in cache, resolve from constraint
60
- resolvedVersion = localRegistry.resolveVersion(slug, constraint);
61
- }
62
- }
63
- else {
64
- // No lock or force flag, resolve from constraint
65
- resolvedVersion = localRegistry.resolveVersion(slug, constraint);
66
- }
67
- if (!resolvedVersion) {
68
- const availableVersions = localRegistry.getVersionStrings(slug);
69
- errors.push({
70
- slug,
71
- error: constraint
72
- ? `No cached version satisfies '${constraint}'. Available: ${availableVersions.join(", ")}`
73
- : `No versions cached`,
45
+ error: `Not found in local cache. Run ${chalk.cyan(`skill new ${slug}`)} or ${chalk.cyan("skill import")}`,
74
46
  });
75
47
  continue;
76
48
  }
77
49
  // Get the skill content from local registry
78
- const skillData = localRegistry.getVersion(slug, resolvedVersion);
50
+ const skillData = localRegistry.getSkill(slug);
79
51
  if (!skillData) {
80
52
  errors.push({
81
53
  slug,
82
- error: `Failed to read version ${resolvedVersion} from cache (possibly corrupted)`,
54
+ error: `Failed to read from cache (possibly corrupted)`,
83
55
  });
84
56
  continue;
85
57
  }
86
- // Check if changed
58
+ // Check if changed vs lock
59
+ const locked = existingLock?.skills.find((s) => s.slug === slug);
87
60
  const hasChanged = options.force ||
88
61
  !locked ||
89
- locked.sha256 !== skillData.sha256 ||
90
- locked.version !== resolvedVersion;
62
+ locked.sha256 !== skillData.sha256;
91
63
  if (hasChanged) {
92
64
  // Build metadata for project install
93
65
  const meta = {
94
66
  slug,
95
- registry: "local",
96
- version: resolvedVersion,
97
67
  name: skillData.meta.name,
98
68
  description: skillData.meta.description,
99
69
  tags: skillData.meta.tags,
@@ -101,9 +71,7 @@ export const syncCommand = new Command("sync")
101
71
  };
102
72
  // Write skill to project
103
73
  fs.writeSkill({
104
- registry: "local",
105
74
  slug,
106
- version: resolvedVersion,
107
75
  content: skillData.content,
108
76
  sha256: skillData.sha256,
109
77
  }, meta);
@@ -121,8 +89,6 @@ export const syncCommand = new Command("sync")
121
89
  // Add to lock
122
90
  lockedSkills.push({
123
91
  slug,
124
- registry: "local",
125
- version: resolvedVersion,
126
92
  sha256: skillData.sha256,
127
93
  });
128
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,aAAa,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,aAAa,EAAE,oCAAoC,CAAC;KAC3D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEzC,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEjD,kCAAkC;QAClC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QAEtC,yBAAyB;QACzB,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE7C,mBAAmB;QACnB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,MAAM,GAA2C,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAkB,EAAE,CAAC;QAEvC,qBAAqB;QACrB,KAAK,MAAM,UAAU,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAE5B,0CAA0C;YAC1C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,KAAK,EAAE,iCAAiC,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;iBAC3G,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,4CAA4C;YAC5C,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,KAAK,EAAE,gDAAgD;iBACxD,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,2BAA2B;YAC3B,MAAM,MAAM,GAAG,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACjE,MAAM,UAAU,GACd,OAAO,CAAC,KAAK;gBACb,CAAC,MAAM;gBACP,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC;YAErC,IAAI,UAAU,EAAE,CAAC;gBACf,qCAAqC;gBACrC,MAAM,IAAI,GAA8B;oBACtC,IAAI;oBACJ,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI;oBACzB,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW;oBACvC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI;oBACzB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM;iBAC9B,CAAC;gBAEF,yBAAyB;gBACzB,EAAE,CAAC,UAAU,CACX;oBACE,IAAI;oBACJ,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;iBACzB,EACD,IAAI,CACL,CAAC;gBACF,OAAO,EAAE,CAAC;gBAEV,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5B,CAAC;gBACD,SAAS,EAAE,CAAC;YACd,CAAC;YAED,cAAc;YACd,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI;gBACJ,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAC,CAAC;QACL,CAAC;QAED,4BAA4B;QAC5B,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QAExC,2BAA2B;QAC3B,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE5B,0DAA0D;QAC1D,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7C,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7C,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAEhD,iBAAiB;QACjB,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;QAE9D,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAElC,gBAAgB;QAChB,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAEpD,sBAAsB;QACtB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,mBAAmB,CAAC,CAAC,CAAC;YAC5D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EACnB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,eAAO,MAAM,aAAa,SAgKtB,CAAC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,aAAa,SAmHtB,CAAC"}