craftdesk 0.4.0 → 0.5.1
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.
- package/CHANGELOG.md +39 -0
- package/README.md +584 -4
- package/dist/commands/add.js +19 -6
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/detect-agents.d.ts +14 -0
- package/dist/commands/detect-agents.d.ts.map +1 -0
- package/dist/commands/detect-agents.js +86 -0
- package/dist/commands/detect-agents.js.map +1 -0
- package/dist/commands/embed.d.ts +14 -0
- package/dist/commands/embed.d.ts.map +1 -0
- package/dist/commands/embed.js +147 -0
- package/dist/commands/embed.js.map +1 -0
- package/dist/commands/list.js +4 -1
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/outdated.js +2 -2
- package/dist/commands/outdated.js.map +1 -1
- package/dist/commands/publish.js +5 -0
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/setup-multi-agent.d.ts +17 -0
- package/dist/commands/setup-multi-agent.d.ts.map +1 -0
- package/dist/commands/setup-multi-agent.js +188 -0
- package/dist/commands/setup-multi-agent.js.map +1 -0
- package/dist/commands/sync.d.ts +14 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +144 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/unembed.d.ts +14 -0
- package/dist/commands/unembed.d.ts.map +1 -0
- package/dist/commands/unembed.js +96 -0
- package/dist/commands/unembed.js.map +1 -0
- package/dist/commands/update.js +6 -3
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/verify.d.ts +14 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +143 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/index.js +24 -1
- package/dist/index.js.map +1 -1
- package/dist/services/agent-detector.d.ts +57 -0
- package/dist/services/agent-detector.d.ts.map +1 -0
- package/dist/services/agent-detector.js +146 -0
- package/dist/services/agent-detector.js.map +1 -0
- package/dist/services/config-manager.d.ts.map +1 -1
- package/dist/services/config-manager.js +3 -2
- package/dist/services/config-manager.js.map +1 -1
- package/dist/services/craft-wrapper.d.ts.map +1 -1
- package/dist/services/craft-wrapper.js +2 -1
- package/dist/services/craft-wrapper.js.map +1 -1
- package/dist/services/git-resolver.d.ts.map +1 -1
- package/dist/services/git-resolver.js +20 -11
- package/dist/services/git-resolver.js.map +1 -1
- package/dist/services/gitignore-manager.d.ts +74 -0
- package/dist/services/gitignore-manager.d.ts.map +1 -0
- package/dist/services/gitignore-manager.js +188 -0
- package/dist/services/gitignore-manager.js.map +1 -0
- package/dist/services/installer.d.ts +9 -0
- package/dist/services/installer.d.ts.map +1 -1
- package/dist/services/installer.js +53 -9
- package/dist/services/installer.js.map +1 -1
- package/dist/services/multi-agent-sync.d.ts +88 -0
- package/dist/services/multi-agent-sync.d.ts.map +1 -0
- package/dist/services/multi-agent-sync.js +316 -0
- package/dist/services/multi-agent-sync.js.map +1 -0
- package/dist/services/plugin-resolver.d.ts.map +1 -1
- package/dist/services/plugin-resolver.js +2 -1
- package/dist/services/plugin-resolver.js.map +1 -1
- package/dist/types/craftdesk-json.d.ts +13 -0
- package/dist/types/craftdesk-json.d.ts.map +1 -1
- package/dist/types/multi-agent.d.ts +85 -0
- package/dist/types/multi-agent.d.ts.map +1 -0
- package/dist/types/multi-agent.js +6 -0
- package/dist/types/multi-agent.js.map +1 -0
- package/dist/utils/version-utils.d.ts +6 -0
- package/dist/utils/version-utils.d.ts.map +1 -1
- package/dist/utils/version-utils.js +58 -4
- package/dist/utils/version-utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Multi-Agent Sync - Sync crafts across multiple AI agents
|
|
4
|
+
*
|
|
5
|
+
* Handles:
|
|
6
|
+
* - Installing crafts to multiple agent directories
|
|
7
|
+
* - Verifying sync status with checksums
|
|
8
|
+
* - Detecting and fixing drift between copies
|
|
9
|
+
*/
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.multiAgentSync = exports.MultiAgentSync = void 0;
|
|
15
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
17
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
18
|
+
const logger_1 = require("../utils/logger");
|
|
19
|
+
const config_manager_1 = require("./config-manager");
|
|
20
|
+
const file_system_1 = require("../utils/file-system");
|
|
21
|
+
/**
|
|
22
|
+
* Service for syncing crafts across multiple AI agent directories
|
|
23
|
+
*/
|
|
24
|
+
class MultiAgentSync {
|
|
25
|
+
/**
|
|
26
|
+
* Install craft to all configured agent directories
|
|
27
|
+
*
|
|
28
|
+
* @param craftName - Name of the craft to sync
|
|
29
|
+
* @param sourceDir - Source directory containing the craft files
|
|
30
|
+
* @param cwd - Current working directory (defaults to process.cwd())
|
|
31
|
+
* @returns Sync result with success/failure details
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const sync = new MultiAgentSync();
|
|
36
|
+
* const result = await sync.syncCraft('ruby-expert', '/tmp/ruby-expert-source');
|
|
37
|
+
*
|
|
38
|
+
* console.log(`Synced to: ${result.synced.join(', ')}`);
|
|
39
|
+
* if (result.failed.length > 0) {
|
|
40
|
+
* console.error(`Failed: ${result.failed.map(f => f.path).join(', ')}`);
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
async syncCraft(craftName, sourceDir, cwd = process.cwd()) {
|
|
45
|
+
const config = await config_manager_1.configManager.getCraftDeskJson();
|
|
46
|
+
// Check if multi-agent sync is enabled
|
|
47
|
+
if (!config?.multiAgent?.enabled) {
|
|
48
|
+
logger_1.logger.debug('Multi-agent sync disabled, skipping');
|
|
49
|
+
return {
|
|
50
|
+
craftName,
|
|
51
|
+
synced: [],
|
|
52
|
+
failed: []
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const canonical = config.multiAgent.canonical || '.claude';
|
|
56
|
+
const targets = config.multiAgent.targets || ['.claude/skills'];
|
|
57
|
+
const synced = [];
|
|
58
|
+
const failed = [];
|
|
59
|
+
// Install to canonical location first
|
|
60
|
+
const canonicalPath = path_1.default.join(cwd, canonical, 'skills', craftName);
|
|
61
|
+
// Normalize paths for comparison
|
|
62
|
+
const normalizedSource = path_1.default.resolve(sourceDir);
|
|
63
|
+
const normalizedCanonical = path_1.default.resolve(canonicalPath);
|
|
64
|
+
try {
|
|
65
|
+
await (0, file_system_1.ensureDir)(path_1.default.dirname(canonicalPath));
|
|
66
|
+
// Only copy if source is different from canonical
|
|
67
|
+
if (normalizedSource !== normalizedCanonical) {
|
|
68
|
+
await fs_extra_1.default.copy(sourceDir, canonicalPath, { overwrite: true });
|
|
69
|
+
logger_1.logger.debug(`Installed to canonical location: ${canonicalPath}`);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
logger_1.logger.debug(`Source is already canonical: ${canonicalPath}`);
|
|
73
|
+
}
|
|
74
|
+
// Calculate and store checksum
|
|
75
|
+
const checksum = await this.calculateDirChecksum(canonicalPath);
|
|
76
|
+
const checksumFile = path_1.default.join(canonicalPath, '.craftdesk-checksum');
|
|
77
|
+
await fs_extra_1.default.writeFile(checksumFile, checksum, 'utf-8');
|
|
78
|
+
synced.push(canonicalPath);
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
82
|
+
failed.push({ path: canonicalPath, error: message });
|
|
83
|
+
logger_1.logger.error(`Failed to install to canonical location: ${message}`);
|
|
84
|
+
// If canonical install fails, don't proceed with targets
|
|
85
|
+
return { craftName, synced, failed };
|
|
86
|
+
}
|
|
87
|
+
// Copy to all target locations
|
|
88
|
+
for (const target of targets) {
|
|
89
|
+
// Skip if target is the canonical location
|
|
90
|
+
if (target === `${canonical}/skills`) {
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
const targetPath = path_1.default.join(cwd, target, craftName);
|
|
94
|
+
try {
|
|
95
|
+
await (0, file_system_1.ensureDir)(path_1.default.dirname(targetPath));
|
|
96
|
+
await fs_extra_1.default.copy(canonicalPath, targetPath, { overwrite: true });
|
|
97
|
+
synced.push(targetPath);
|
|
98
|
+
logger_1.logger.debug(`Synced ${craftName} to ${target}`);
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
102
|
+
failed.push({ path: targetPath, error: message });
|
|
103
|
+
logger_1.logger.warn(`Failed to sync to ${target}: ${message}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
logger_1.logger.info(`Synced ${craftName} to ${synced.length} location(s)`);
|
|
107
|
+
return { craftName, synced, failed };
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Verify sync status for a craft
|
|
111
|
+
*
|
|
112
|
+
* Checks if all copies match the canonical version using checksums
|
|
113
|
+
*
|
|
114
|
+
* @param craftName - Name of the craft to verify
|
|
115
|
+
* @param cwd - Current working directory (defaults to process.cwd())
|
|
116
|
+
* @returns Sync status with details about each location
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* const sync = new MultiAgentSync();
|
|
121
|
+
* const status = await sync.verifySync('ruby-expert');
|
|
122
|
+
*
|
|
123
|
+
* if (!status.inSync) {
|
|
124
|
+
* console.log(`Out of sync: ${status.outOfSync.map(l => l.path).join(', ')}`);
|
|
125
|
+
* }
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
async verifySync(craftName, cwd = process.cwd()) {
|
|
129
|
+
const config = await config_manager_1.configManager.getCraftDeskJson();
|
|
130
|
+
if (!config?.multiAgent?.enabled) {
|
|
131
|
+
// If multi-agent not enabled, consider everything in sync
|
|
132
|
+
return {
|
|
133
|
+
craftName,
|
|
134
|
+
inSync: true,
|
|
135
|
+
canonicalChecksum: '',
|
|
136
|
+
outOfSync: [],
|
|
137
|
+
inSyncLocations: []
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
const canonical = config.multiAgent.canonical || '.claude';
|
|
141
|
+
const targets = config.multiAgent.targets || [];
|
|
142
|
+
const canonicalPath = path_1.default.join(cwd, canonical, 'skills', craftName);
|
|
143
|
+
// Check if canonical exists
|
|
144
|
+
if (!await fs_extra_1.default.pathExists(canonicalPath)) {
|
|
145
|
+
return {
|
|
146
|
+
craftName,
|
|
147
|
+
inSync: false,
|
|
148
|
+
canonicalChecksum: '',
|
|
149
|
+
outOfSync: [{ path: canonicalPath, reason: 'missing' }],
|
|
150
|
+
inSyncLocations: []
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
const canonicalChecksum = await this.calculateDirChecksum(canonicalPath);
|
|
154
|
+
const outOfSync = [];
|
|
155
|
+
const inSyncLocations = [];
|
|
156
|
+
// Check each target
|
|
157
|
+
for (const target of targets) {
|
|
158
|
+
// Skip canonical location
|
|
159
|
+
if (target === `${canonical}/skills`) {
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
const targetPath = path_1.default.join(cwd, target, craftName);
|
|
163
|
+
// Check if target exists
|
|
164
|
+
if (!await fs_extra_1.default.pathExists(targetPath)) {
|
|
165
|
+
outOfSync.push({
|
|
166
|
+
path: targetPath,
|
|
167
|
+
reason: 'missing',
|
|
168
|
+
expectedChecksum: canonicalChecksum
|
|
169
|
+
});
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
// Calculate target checksum
|
|
173
|
+
const targetChecksum = await this.calculateDirChecksum(targetPath);
|
|
174
|
+
if (targetChecksum !== canonicalChecksum) {
|
|
175
|
+
outOfSync.push({
|
|
176
|
+
path: targetPath,
|
|
177
|
+
reason: 'checksum-mismatch',
|
|
178
|
+
expectedChecksum: canonicalChecksum,
|
|
179
|
+
actualChecksum: targetChecksum
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
inSyncLocations.push(targetPath);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
craftName,
|
|
188
|
+
inSync: outOfSync.length === 0,
|
|
189
|
+
canonicalChecksum,
|
|
190
|
+
outOfSync,
|
|
191
|
+
inSyncLocations
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Sync all installed crafts to configured targets
|
|
196
|
+
*
|
|
197
|
+
* @param cwd - Current working directory (defaults to process.cwd())
|
|
198
|
+
* @returns Array of sync results for each craft
|
|
199
|
+
*/
|
|
200
|
+
async syncAllCrafts(cwd = process.cwd()) {
|
|
201
|
+
const config = await config_manager_1.configManager.getCraftDeskJson();
|
|
202
|
+
if (!config?.multiAgent?.enabled) {
|
|
203
|
+
logger_1.logger.info('Multi-agent sync is disabled');
|
|
204
|
+
return [];
|
|
205
|
+
}
|
|
206
|
+
const canonical = config.multiAgent.canonical || '.claude';
|
|
207
|
+
const skillsDir = path_1.default.join(cwd, canonical, 'skills');
|
|
208
|
+
// Check if skills directory exists
|
|
209
|
+
if (!await fs_extra_1.default.pathExists(skillsDir)) {
|
|
210
|
+
logger_1.logger.info('No skills directory found, nothing to sync');
|
|
211
|
+
return [];
|
|
212
|
+
}
|
|
213
|
+
// Get all craft directories
|
|
214
|
+
const entries = await fs_extra_1.default.readdir(skillsDir, { withFileTypes: true });
|
|
215
|
+
const craftDirs = entries
|
|
216
|
+
.filter(entry => entry.isDirectory())
|
|
217
|
+
.map(entry => entry.name);
|
|
218
|
+
if (craftDirs.length === 0) {
|
|
219
|
+
logger_1.logger.info('No crafts found to sync');
|
|
220
|
+
return [];
|
|
221
|
+
}
|
|
222
|
+
logger_1.logger.info(`Syncing ${craftDirs.length} craft(s)...`);
|
|
223
|
+
const results = [];
|
|
224
|
+
for (const craftName of craftDirs) {
|
|
225
|
+
const craftPath = path_1.default.join(skillsDir, craftName);
|
|
226
|
+
const result = await this.syncCraft(craftName, craftPath, cwd);
|
|
227
|
+
results.push(result);
|
|
228
|
+
}
|
|
229
|
+
return results;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Verify sync status for all installed crafts
|
|
233
|
+
*
|
|
234
|
+
* @param cwd - Current working directory (defaults to process.cwd())
|
|
235
|
+
* @returns Array of sync statuses for each craft
|
|
236
|
+
*/
|
|
237
|
+
async verifyAllCrafts(cwd = process.cwd()) {
|
|
238
|
+
const config = await config_manager_1.configManager.getCraftDeskJson();
|
|
239
|
+
if (!config?.multiAgent?.enabled) {
|
|
240
|
+
return [];
|
|
241
|
+
}
|
|
242
|
+
const canonical = config.multiAgent.canonical || '.claude';
|
|
243
|
+
const skillsDir = path_1.default.join(cwd, canonical, 'skills');
|
|
244
|
+
if (!await fs_extra_1.default.pathExists(skillsDir)) {
|
|
245
|
+
return [];
|
|
246
|
+
}
|
|
247
|
+
const entries = await fs_extra_1.default.readdir(skillsDir, { withFileTypes: true });
|
|
248
|
+
const craftDirs = entries
|
|
249
|
+
.filter(entry => entry.isDirectory())
|
|
250
|
+
.map(entry => entry.name);
|
|
251
|
+
const statuses = [];
|
|
252
|
+
for (const craftName of craftDirs) {
|
|
253
|
+
const status = await this.verifySync(craftName, cwd);
|
|
254
|
+
statuses.push(status);
|
|
255
|
+
}
|
|
256
|
+
return statuses;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Calculate checksum for entire directory
|
|
260
|
+
*
|
|
261
|
+
* Creates a consistent hash of all files in a directory (excluding metadata)
|
|
262
|
+
*
|
|
263
|
+
* @param dirPath - Directory to checksum
|
|
264
|
+
* @returns SHA256 checksum hex string
|
|
265
|
+
* @private
|
|
266
|
+
*/
|
|
267
|
+
async calculateDirChecksum(dirPath) {
|
|
268
|
+
const files = await this.getAllFiles(dirPath);
|
|
269
|
+
// Sort for consistency
|
|
270
|
+
files.sort();
|
|
271
|
+
const hash = crypto_1.default.createHash('sha256');
|
|
272
|
+
for (const file of files) {
|
|
273
|
+
// Skip metadata files
|
|
274
|
+
const basename = path_1.default.basename(file);
|
|
275
|
+
if (basename === '.craftdesk-checksum' || basename === '.craftdesk-metadata.json') {
|
|
276
|
+
continue;
|
|
277
|
+
}
|
|
278
|
+
// Add relative path to hash
|
|
279
|
+
const relativePath = path_1.default.relative(dirPath, file);
|
|
280
|
+
hash.update(relativePath);
|
|
281
|
+
// Add file content to hash
|
|
282
|
+
const content = await fs_extra_1.default.readFile(file);
|
|
283
|
+
hash.update(content);
|
|
284
|
+
}
|
|
285
|
+
return hash.digest('hex');
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Recursively get all files in a directory
|
|
289
|
+
*
|
|
290
|
+
* @param dirPath - Directory to scan
|
|
291
|
+
* @returns Array of absolute file paths
|
|
292
|
+
* @private
|
|
293
|
+
*/
|
|
294
|
+
async getAllFiles(dirPath) {
|
|
295
|
+
const files = [];
|
|
296
|
+
if (!await fs_extra_1.default.pathExists(dirPath)) {
|
|
297
|
+
return files;
|
|
298
|
+
}
|
|
299
|
+
const entries = await fs_extra_1.default.readdir(dirPath, { withFileTypes: true });
|
|
300
|
+
for (const entry of entries) {
|
|
301
|
+
const fullPath = path_1.default.join(dirPath, entry.name);
|
|
302
|
+
if (entry.isDirectory()) {
|
|
303
|
+
const subFiles = await this.getAllFiles(fullPath);
|
|
304
|
+
files.push(...subFiles);
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
files.push(fullPath);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
return files;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
exports.MultiAgentSync = MultiAgentSync;
|
|
314
|
+
// Export singleton instance
|
|
315
|
+
exports.multiAgentSync = new MultiAgentSync();
|
|
316
|
+
//# sourceMappingURL=multi-agent-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-agent-sync.js","sourceRoot":"","sources":["../../src/services/multi-agent-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-resolver.d.ts","sourceRoot":"","sources":["../../src/services/plugin-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;IAC1F,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,eAAe,CAAgB;IAEvC;;;;;;OAMG;IACG,yBAAyB,CAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-resolver.d.ts","sourceRoot":"","sources":["../../src/services/plugin-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;IAC1F,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,eAAe,CAAgB;IAEvC;;;;;;OAMG;IACG,yBAAyB,CAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAkE1C;;;;OAIG;IACH,eAAe,IAAI,oBAAoB;IAevC;;;;;;OAMG;IACH,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,yBAAyB,EAAE,gBAAgB,CAAC;IAoBvG;;;;OAIG;IACH,gBAAgB,IAAI,cAAc,EAAE;IAIpC;;;;OAIG;IACH,oBAAoB,IAAI,cAAc,EAAE;IAIxC;;;;;;OAMG;YACW,kBAAkB;IAgBhC;;;;OAIG;IACH,KAAK,IAAI,IAAI;CAId;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -50,7 +50,8 @@ class PluginResolver {
|
|
|
50
50
|
// If already resolved, just add requiredBy
|
|
51
51
|
if (this.resolvedPlugins.has(pluginName)) {
|
|
52
52
|
const existing = this.resolvedPlugins.get(pluginName);
|
|
53
|
-
|
|
53
|
+
// existing is guaranteed to exist due to has() check above
|
|
54
|
+
if (existing && parentName && !existing.requiredBy.includes(parentName)) {
|
|
54
55
|
existing.requiredBy.push(parentName);
|
|
55
56
|
}
|
|
56
57
|
return Object.fromEntries(this.resolvedPlugins);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-resolver.js","sourceRoot":"","sources":["../../src/services/plugin-resolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;AAEH,wDAA0B;AAC1B,gDAAwB;AACxB,4CAAyC;AAezC;;;;;GAKG;AACH,MAAa,cAAc;IACjB,eAAe,GAAgC,IAAI,GAAG,EAAE,CAAC;IACzD,eAAe,GAAa,EAAE,CAAC;IAEvC;;;;;;OAMG;IACH,KAAK,CAAC,yBAAyB,CAC7B,UAAkB,EAClB,UAAmB;QAEnB,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;QAEjC,kCAAkC;QAClC,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtC,IAAI,CAAC;YACH,2CAA2C;YAC3C,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"plugin-resolver.js","sourceRoot":"","sources":["../../src/services/plugin-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,19 @@ export interface CraftDeskJson {
|
|
|
40
40
|
commands?: Record<string, string | CommandConfig>;
|
|
41
41
|
/** Hook definitions mapping events to command arrays */
|
|
42
42
|
hooks?: Record<string, string[]>;
|
|
43
|
+
/** Multi-agent sync configuration */
|
|
44
|
+
multiAgent?: {
|
|
45
|
+
/** Enable multi-agent sync */
|
|
46
|
+
enabled: boolean;
|
|
47
|
+
/** Canonical location for source of truth */
|
|
48
|
+
canonical: string;
|
|
49
|
+
/** Target directories to sync to */
|
|
50
|
+
targets: string[];
|
|
51
|
+
/** Auto-sync on install/update */
|
|
52
|
+
autoSync?: boolean;
|
|
53
|
+
};
|
|
54
|
+
/** Embedded (local) skills that are committed to git (not managed by craftdesk install) */
|
|
55
|
+
embedded?: string[];
|
|
43
56
|
/** Index signature to allow dynamic property access for future extensibility */
|
|
44
57
|
[key: string]: unknown;
|
|
45
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"craftdesk-json.d.ts","sourceRoot":"","sources":["../../src/types/craftdesk-json.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"craftdesk-json.d.ts","sourceRoot":"","sources":["../../src/types/craftdesk-json.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for multi-agent sync functionality
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for multi-agent sync in craftdesk.json
|
|
6
|
+
*/
|
|
7
|
+
export interface MultiAgentConfig {
|
|
8
|
+
/** Enable multi-agent sync */
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
/** Canonical location for source of truth */
|
|
11
|
+
canonical: string;
|
|
12
|
+
/** Target directories to sync to */
|
|
13
|
+
targets: string[];
|
|
14
|
+
/** Auto-sync on install/update */
|
|
15
|
+
autoSync?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Detected AI coding assistant configuration
|
|
19
|
+
*/
|
|
20
|
+
export interface AgentConfig {
|
|
21
|
+
/** Agent identifier (e.g., 'claude', 'cursor') */
|
|
22
|
+
name: string;
|
|
23
|
+
/** Display name for user-facing messages */
|
|
24
|
+
displayName: string;
|
|
25
|
+
/** Directory where this agent stores crafts */
|
|
26
|
+
skillsDir: string;
|
|
27
|
+
/** Whether this agent is enabled for sync */
|
|
28
|
+
enabled: boolean;
|
|
29
|
+
/** Whether this agent directory was auto-detected */
|
|
30
|
+
detected: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Sync status for a craft across multiple agent directories
|
|
34
|
+
*/
|
|
35
|
+
export interface SyncStatus {
|
|
36
|
+
/** Craft name */
|
|
37
|
+
craftName: string;
|
|
38
|
+
/** Whether all copies are in sync */
|
|
39
|
+
inSync: boolean;
|
|
40
|
+
/** Canonical location checksum */
|
|
41
|
+
canonicalChecksum: string;
|
|
42
|
+
/** Locations that are out of sync */
|
|
43
|
+
outOfSync: SyncLocation[];
|
|
44
|
+
/** Locations that are in sync */
|
|
45
|
+
inSyncLocations: string[];
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Location that is out of sync
|
|
49
|
+
*/
|
|
50
|
+
export interface SyncLocation {
|
|
51
|
+
/** Path to the location */
|
|
52
|
+
path: string;
|
|
53
|
+
/** Reason for being out of sync */
|
|
54
|
+
reason: 'missing' | 'modified' | 'checksum-mismatch';
|
|
55
|
+
/** Expected checksum */
|
|
56
|
+
expectedChecksum?: string;
|
|
57
|
+
/** Actual checksum */
|
|
58
|
+
actualChecksum?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Result of a sync operation
|
|
62
|
+
*/
|
|
63
|
+
export interface SyncResult {
|
|
64
|
+
/** Craft name that was synced */
|
|
65
|
+
craftName: string;
|
|
66
|
+
/** Locations successfully synced to */
|
|
67
|
+
synced: string[];
|
|
68
|
+
/** Locations that failed to sync */
|
|
69
|
+
failed: Array<{
|
|
70
|
+
path: string;
|
|
71
|
+
error: string;
|
|
72
|
+
}>;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Agent detection result
|
|
76
|
+
*/
|
|
77
|
+
export interface AgentDetectionResult {
|
|
78
|
+
/** All detected agents */
|
|
79
|
+
detected: AgentConfig[];
|
|
80
|
+
/** Currently enabled agents */
|
|
81
|
+
enabled: AgentConfig[];
|
|
82
|
+
/** Suggested agents to enable */
|
|
83
|
+
suggested: AgentConfig[];
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=multi-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-agent.d.ts","sourceRoot":"","sources":["../../src/types/multi-agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,OAAO,EAAE,OAAO,CAAC;IAEjB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAElB,oCAAoC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IAEb,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IAEpB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAElB,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAC;IAEjB,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,MAAM,EAAE,OAAO,CAAC;IAEhB,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAE1B,qCAAqC;IACrC,SAAS,EAAE,YAAY,EAAE,CAAC;IAE1B,iCAAiC;IACjC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,mCAAmC;IACnC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,mBAAmB,CAAC;IAErD,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAElB,uCAAuC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,oCAAoC;IACpC,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0BAA0B;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAC;IAExB,+BAA+B;IAC/B,OAAO,EAAE,WAAW,EAAE,CAAC;IAEvB,iCAAiC;IACjC,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-agent.js","sourceRoot":"","sources":["../../src/types/multi-agent.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
* Utilities for version comparison and semantic versioning operations
|
|
3
3
|
* Supports parsing, comparing, and sorting semver version strings
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Gets the CraftDesk CLI version from package.json
|
|
7
|
+
*
|
|
8
|
+
* @returns The version string from package.json
|
|
9
|
+
*/
|
|
10
|
+
export declare function getCliVersion(): string;
|
|
5
11
|
/**
|
|
6
12
|
* Parses a semantic version string into its components
|
|
7
13
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-utils.d.ts","sourceRoot":"","sources":["../../src/utils/version-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version-utils.d.ts","sourceRoot":"","sources":["../../src/utils/version-utils.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAWtC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CASnG;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB1D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAezD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAWtG;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAS1F"}
|
|
@@ -1,9 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
6
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.getCliVersion = getCliVersion;
|
|
7
37
|
exports.parseSemver = parseSemver;
|
|
8
38
|
exports.compareSemver = compareSemver;
|
|
9
39
|
exports.isNewerVersion = isNewerVersion;
|
|
@@ -11,6 +41,30 @@ exports.sortTagsBySemver = sortTagsBySemver;
|
|
|
11
41
|
exports.getUpdateType = getUpdateType;
|
|
12
42
|
exports.padRight = padRight;
|
|
13
43
|
exports.colorize = colorize;
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const fs = __importStar(require("fs"));
|
|
46
|
+
/**
|
|
47
|
+
* Utilities for version comparison and semantic versioning operations
|
|
48
|
+
* Supports parsing, comparing, and sorting semver version strings
|
|
49
|
+
*/
|
|
50
|
+
/**
|
|
51
|
+
* Gets the CraftDesk CLI version from package.json
|
|
52
|
+
*
|
|
53
|
+
* @returns The version string from package.json
|
|
54
|
+
*/
|
|
55
|
+
function getCliVersion() {
|
|
56
|
+
try {
|
|
57
|
+
// In production (dist/), package.json is two levels up
|
|
58
|
+
// In development (src/), package.json is also two levels up
|
|
59
|
+
const packagePath = path.resolve(__dirname, '..', '..', 'package.json');
|
|
60
|
+
const packageJson = JSON.parse(fs.readFileSync(packagePath, 'utf-8'));
|
|
61
|
+
return packageJson.version || '0.0.0';
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
// Fallback if package.json cannot be read
|
|
65
|
+
return '0.0.0';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
14
68
|
/**
|
|
15
69
|
* Parses a semantic version string into its components
|
|
16
70
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-utils.js","sourceRoot":"","sources":["../../src/utils/version-utils.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"version-utils.js","sourceRoot":"","sources":["../../src/utils/version-utils.ts"],"names":[],"mappings":"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"}
|