specweave 1.0.536 → 1.0.538
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/dist/plugins/specweave/lib/integrations/github/duplicate-detector.d.ts.map +1 -1
- package/dist/plugins/specweave/lib/integrations/github/duplicate-detector.js +5 -6
- package/dist/plugins/specweave/lib/integrations/github/duplicate-detector.js.map +1 -1
- package/dist/src/cli/commands/dashboard.d.ts.map +1 -1
- package/dist/src/cli/commands/dashboard.js +2 -1
- package/dist/src/cli/commands/dashboard.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +3 -0
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/refresh-plugins.d.ts +5 -1
- package/dist/src/cli/commands/refresh-plugins.d.ts.map +1 -1
- package/dist/src/cli/commands/refresh-plugins.js +28 -17
- package/dist/src/cli/commands/refresh-plugins.js.map +1 -1
- package/dist/src/cli/helpers/init/claude-plugin-enabler.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/claude-plugin-enabler.js +13 -4
- package/dist/src/cli/helpers/init/claude-plugin-enabler.js.map +1 -1
- package/dist/src/cli/helpers/init/next-steps.js +9 -9
- package/dist/src/cli/helpers/init/next-steps.js.map +1 -1
- package/dist/src/cli/helpers/init/path-utils.js +1 -1
- package/dist/src/cli/helpers/init/path-utils.js.map +1 -1
- package/dist/src/cli/helpers/init/plugin-installer.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/plugin-installer.js +11 -4
- package/dist/src/cli/helpers/init/plugin-installer.js.map +1 -1
- package/dist/src/core/config/types.js +1 -1
- package/dist/src/core/config/types.js.map +1 -1
- package/dist/src/core/doctor/checkers/plugins-checker.d.ts +1 -0
- package/dist/src/core/doctor/checkers/plugins-checker.d.ts.map +1 -1
- package/dist/src/core/doctor/checkers/plugins-checker.js +52 -0
- package/dist/src/core/doctor/checkers/plugins-checker.js.map +1 -1
- package/dist/src/core/increment/completion-validator.d.ts.map +1 -1
- package/dist/src/core/increment/completion-validator.js +19 -4
- package/dist/src/core/increment/completion-validator.js.map +1 -1
- package/dist/src/core/plugins/plugin-loader.d.ts +3 -1
- package/dist/src/core/plugins/plugin-loader.d.ts.map +1 -1
- package/dist/src/core/plugins/plugin-loader.js +4 -1
- package/dist/src/core/plugins/plugin-loader.js.map +1 -1
- package/dist/src/core/qa/qa-runner.d.ts.map +1 -1
- package/dist/src/core/qa/qa-runner.js +27 -3
- package/dist/src/core/qa/qa-runner.js.map +1 -1
- package/dist/src/dashboard/server/dashboard-server.d.ts.map +1 -1
- package/dist/src/dashboard/server/dashboard-server.js +4 -3
- package/dist/src/dashboard/server/dashboard-server.js.map +1 -1
- package/dist/src/dashboard/server/data/plugin-scanner.d.ts.map +1 -1
- package/dist/src/dashboard/server/data/plugin-scanner.js +7 -3
- package/dist/src/dashboard/server/data/plugin-scanner.js.map +1 -1
- package/dist/src/utils/cleanup-stale-plugins.d.ts.map +1 -1
- package/dist/src/utils/cleanup-stale-plugins.js +149 -7
- package/dist/src/utils/cleanup-stale-plugins.js.map +1 -1
- package/dist/src/utils/plugin-copier.d.ts.map +1 -1
- package/dist/src/utils/plugin-copier.js +100 -34
- package/dist/src/utils/plugin-copier.js.map +1 -1
- package/dist/src/utils/semver-sort.d.ts +19 -0
- package/dist/src/utils/semver-sort.d.ts.map +1 -0
- package/dist/src/utils/semver-sort.js +35 -0
- package/dist/src/utils/semver-sort.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave/lib/integrations/github/duplicate-detector.js +2 -2
- package/plugins/specweave/lib/integrations/github/duplicate-detector.ts +5 -6
|
@@ -220,6 +220,92 @@ export async function cleanupStalePlugins(marketplaceJsonPath, verbose = false)
|
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
+
// Phase 2.5: Prune stale VERSION subdirectories within valid plugins
|
|
224
|
+
const installedPluginsPath = path.join(os.homedir(), '.claude', 'plugins', 'installed_plugins.json');
|
|
225
|
+
try {
|
|
226
|
+
const ipRaw = fs.readFileSync(installedPluginsPath, 'utf-8');
|
|
227
|
+
const ipData = JSON.parse(ipRaw);
|
|
228
|
+
const plugins = ipData.plugins ?? ipData;
|
|
229
|
+
if (typeof plugins === 'object' && plugins !== null && !Array.isArray(plugins)) {
|
|
230
|
+
// Build map of active versions: marketplace/pluginName -> version from installPath
|
|
231
|
+
const activeVersions = new Map();
|
|
232
|
+
for (const [key, entries] of Object.entries(plugins)) {
|
|
233
|
+
const pluginName = key.split('@')[0];
|
|
234
|
+
const mktName = key.split('@')[1];
|
|
235
|
+
if (Array.isArray(entries) && entries.length > 0) {
|
|
236
|
+
// Extract version from installPath (last segment of path)
|
|
237
|
+
const firstEntry = entries[0];
|
|
238
|
+
const installPath = (typeof firstEntry === 'object' && firstEntry !== null && 'installPath' in firstEntry)
|
|
239
|
+
? firstEntry.installPath
|
|
240
|
+
: undefined;
|
|
241
|
+
if (installPath) {
|
|
242
|
+
const version = path.basename(installPath);
|
|
243
|
+
activeVersions.set(`${mktName}/${pluginName}`, version);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
// Scan cache directories for stale versions
|
|
248
|
+
if (activeVersions.size > 0 && fs.existsSync(cacheBase)) {
|
|
249
|
+
for (const [mktName] of marketplacePluginMap) {
|
|
250
|
+
const mktCacheDir = path.join(cacheBase, mktName);
|
|
251
|
+
if (!fs.existsSync(mktCacheDir))
|
|
252
|
+
continue;
|
|
253
|
+
try {
|
|
254
|
+
const pluginEntries = fs.readdirSync(mktCacheDir, { withFileTypes: true });
|
|
255
|
+
for (const entry of pluginEntries) {
|
|
256
|
+
if (!entry.isDirectory())
|
|
257
|
+
continue;
|
|
258
|
+
const activeVersion = activeVersions.get(`${mktName}/${entry.name}`);
|
|
259
|
+
if (!activeVersion)
|
|
260
|
+
continue;
|
|
261
|
+
const pluginCacheDir = path.join(mktCacheDir, entry.name);
|
|
262
|
+
try {
|
|
263
|
+
const versionDirs = fs.readdirSync(pluginCacheDir, { withFileTypes: true });
|
|
264
|
+
for (const vDir of versionDirs) {
|
|
265
|
+
if (!vDir.isDirectory() || vDir.isSymbolicLink())
|
|
266
|
+
continue;
|
|
267
|
+
if (vDir.name === activeVersion)
|
|
268
|
+
continue;
|
|
269
|
+
const staleVersionPath = path.join(pluginCacheDir, vDir.name);
|
|
270
|
+
// Verify resolved path stays under cache base (symlink safety)
|
|
271
|
+
const resolved = nodeFs.realpathSync(staleVersionPath);
|
|
272
|
+
if (!resolved.startsWith(cacheBase)) {
|
|
273
|
+
console.warn(`Phase 2.5: skipping ${staleVersionPath} — resolves outside cache`);
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
try {
|
|
277
|
+
// Atomic rename-then-delete (consistent with Phase 2)
|
|
278
|
+
const tempName = staleVersionPath + '.stale-' + Date.now();
|
|
279
|
+
fs.renameSync(staleVersionPath, tempName);
|
|
280
|
+
fs.rmSync(tempName, { recursive: true, force: true });
|
|
281
|
+
result.removedCacheDirs.push(staleVersionPath);
|
|
282
|
+
if (verbose) {
|
|
283
|
+
console.log(chalk.gray(` Removed stale version: ${entry.name}/${vDir.name} (active: ${activeVersion})`));
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
catch (err) {
|
|
287
|
+
console.debug?.(`Phase 2.5: could not remove stale version ${staleVersionPath}: ${err}`);
|
|
288
|
+
if (verbose) {
|
|
289
|
+
console.log(chalk.yellow(` Could not remove stale version: ${staleVersionPath}`));
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
catch (err) {
|
|
295
|
+
console.debug?.(`Phase 2.5: plugin dir unreadable ${pluginCacheDir}: ${err}`);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
catch (err) {
|
|
300
|
+
console.debug?.(`Phase 2.5: marketplace cache dir unreadable ${mktCacheDir}: ${err}`);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
catch (err) {
|
|
307
|
+
console.debug?.(`Phase 2.5: installed_plugins.json unavailable, skipping version pruning: ${err}`);
|
|
308
|
+
}
|
|
223
309
|
result.success = true;
|
|
224
310
|
return result;
|
|
225
311
|
}
|
|
@@ -321,8 +407,8 @@ export async function migrateUserLevelPlugins(projectDir, verbose = false) {
|
|
|
321
407
|
console.log(chalk.gray(` - ${pluginKey}: user → project`));
|
|
322
408
|
}
|
|
323
409
|
}
|
|
324
|
-
else
|
|
325
|
-
console.
|
|
410
|
+
else {
|
|
411
|
+
console.warn(chalk.yellow(` ⚠ ${pluginKey}: uninstalled from user scope but reinstall to project scope failed. Run: claude plugin install ${pluginKey} --scope project`));
|
|
326
412
|
}
|
|
327
413
|
}
|
|
328
414
|
else if (verbose) {
|
|
@@ -549,17 +635,73 @@ export async function detectStalePlugins(marketplaceJsonPath) {
|
|
|
549
635
|
if (!fs.existsSync(marketplaceJsonPath)) {
|
|
550
636
|
return [];
|
|
551
637
|
}
|
|
552
|
-
|
|
553
|
-
const
|
|
638
|
+
// Build marketplace plugin map (same approach as cleanupStalePlugins)
|
|
639
|
+
const specweaveManifest = JSON.parse(fs.readFileSync(marketplaceJsonPath, 'utf-8'));
|
|
640
|
+
const specweaveValidPlugins = new Set((specweaveManifest.plugins || []).map((p) => p.name));
|
|
641
|
+
const cacheBase = path.join(os.homedir(), '.claude', 'plugins', 'cache');
|
|
642
|
+
const marketplacesBase = path.join(os.homedir(), '.claude', 'plugins', 'marketplaces');
|
|
643
|
+
const marketplacePluginMap = new Map();
|
|
644
|
+
marketplacePluginMap.set('specweave', specweaveValidPlugins);
|
|
645
|
+
// Discover additional marketplaces from cache
|
|
646
|
+
if (fs.existsSync(cacheBase)) {
|
|
647
|
+
try {
|
|
648
|
+
const cacheDirs = fs.readdirSync(cacheBase, { withFileTypes: true });
|
|
649
|
+
for (const dir of cacheDirs) {
|
|
650
|
+
if (!dir.isDirectory() || dir.name === 'specweave')
|
|
651
|
+
continue;
|
|
652
|
+
const mktManifestPath = path.join(marketplacesBase, dir.name, '.claude-plugin', 'marketplace.json');
|
|
653
|
+
if (fs.existsSync(mktManifestPath)) {
|
|
654
|
+
try {
|
|
655
|
+
const mktManifest = JSON.parse(fs.readFileSync(mktManifestPath, 'utf-8'));
|
|
656
|
+
marketplacePluginMap.set(dir.name, new Set((mktManifest.plugins || []).map((p) => p.name)));
|
|
657
|
+
}
|
|
658
|
+
catch {
|
|
659
|
+
marketplacePluginMap.set(dir.name, new Set());
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
else {
|
|
663
|
+
marketplacePluginMap.set(dir.name, new Set());
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
catch {
|
|
668
|
+
// Cache dir unreadable — proceed with specweave-only detection
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
// Discover marketplaces from settings that aren't in cache
|
|
672
|
+
if (settings.enabledPlugins) {
|
|
673
|
+
for (const pluginKey of Object.keys(settings.enabledPlugins)) {
|
|
674
|
+
const mktName = pluginKey.split('@')[1];
|
|
675
|
+
if (!mktName || marketplacePluginMap.has(mktName))
|
|
676
|
+
continue;
|
|
677
|
+
if (mktName === 'claude-plugins-official' || mktName === 'claude-code-lsps')
|
|
678
|
+
continue;
|
|
679
|
+
const mktManifestPath = path.join(marketplacesBase, mktName, '.claude-plugin', 'marketplace.json');
|
|
680
|
+
if (fs.existsSync(mktManifestPath)) {
|
|
681
|
+
try {
|
|
682
|
+
const mktManifest = JSON.parse(fs.readFileSync(mktManifestPath, 'utf-8'));
|
|
683
|
+
marketplacePluginMap.set(mktName, new Set((mktManifest.plugins || []).map((p) => p.name)));
|
|
684
|
+
}
|
|
685
|
+
catch {
|
|
686
|
+
marketplacePluginMap.set(mktName, new Set());
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
else {
|
|
690
|
+
marketplacePluginMap.set(mktName, new Set());
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
}
|
|
554
694
|
const stalePlugins = [];
|
|
555
695
|
if (settings.enabledPlugins) {
|
|
556
696
|
for (const [pluginKey, enabled] of Object.entries(settings.enabledPlugins)) {
|
|
557
697
|
if (!enabled)
|
|
558
698
|
continue;
|
|
559
699
|
const pluginName = pluginKey.split('@')[0];
|
|
560
|
-
const
|
|
561
|
-
|
|
562
|
-
|
|
700
|
+
const mktName = pluginKey.split('@')[1];
|
|
701
|
+
const validSet = marketplacePluginMap.get(mktName);
|
|
702
|
+
if (!validSet)
|
|
703
|
+
continue; // Unknown marketplace — don't touch
|
|
704
|
+
if (!validSet.has(pluginName) || (mktName === 'specweave' && REMOVED_PLUGINS.has(pluginName))) {
|
|
563
705
|
stalePlugins.push(pluginKey);
|
|
564
706
|
}
|
|
565
707
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup-stale-plugins.js","sourceRoot":"","sources":["../../../src/utils/cleanup-stale-plugins.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cleanup-stale-plugins.js","sourceRoot":"","sources":["../../../src/utils/cleanup-stale-plugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-copier.d.ts","sourceRoot":"","sources":["../../../src/utils/plugin-copier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"plugin-copier.d.ts","sourceRoot":"","sources":["../../../src/utils/plugin-copier.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ import { join, resolve, dirname, normalize } from 'node:path';
|
|
|
14
14
|
import { createHash } from 'node:crypto';
|
|
15
15
|
import { homedir } from 'node:os';
|
|
16
16
|
import { execFileNoThrowSync } from './execFileNoThrow.js';
|
|
17
|
+
import { consoleLogger } from './logger.js';
|
|
18
|
+
import { compareSemverDesc } from './semver-sort.js';
|
|
17
19
|
// getProjectRoot no longer used here — bundled plugins use global lock
|
|
18
20
|
import { getPluginScope, getScopeArgs } from '../core/types/plugin-scope.js';
|
|
19
21
|
// ---------------------------------------------------------------------------
|
|
@@ -35,8 +37,10 @@ const PLUGIN_CACHE_DIR = join(homedir(), '.claude', 'plugins', 'cache');
|
|
|
35
37
|
* Path separators are normalized to '/' for cross-platform consistency.
|
|
36
38
|
*/
|
|
37
39
|
export function computePluginHash(pluginDir) {
|
|
38
|
-
if (!existsSync(pluginDir))
|
|
40
|
+
if (!existsSync(pluginDir)) {
|
|
41
|
+
consoleLogger.debug(`computePluginHash: directory not found: ${pluginDir}`);
|
|
39
42
|
return '';
|
|
43
|
+
}
|
|
40
44
|
const hash = createHash('sha256');
|
|
41
45
|
try {
|
|
42
46
|
const files = readdirSync(pluginDir, { recursive: true, encoding: 'utf-8' });
|
|
@@ -50,13 +54,13 @@ export function computePluginHash(pluginDir) {
|
|
|
50
54
|
hash.update(content);
|
|
51
55
|
hash.update('\0');
|
|
52
56
|
}
|
|
53
|
-
catch {
|
|
54
|
-
|
|
57
|
+
catch (err) {
|
|
58
|
+
consoleLogger.debug(`computePluginHash: skipping unreadable entry: ${err instanceof Error ? err.message : err}`);
|
|
55
59
|
}
|
|
56
60
|
}
|
|
57
61
|
}
|
|
58
|
-
catch {
|
|
59
|
-
|
|
62
|
+
catch (err) {
|
|
63
|
+
consoleLogger.debug(`computePluginHash: directory read failed: ${err instanceof Error ? err.message : err}`);
|
|
60
64
|
}
|
|
61
65
|
return hash.digest('hex').slice(0, 12);
|
|
62
66
|
}
|
|
@@ -75,8 +79,8 @@ export function fixHookPermissions(targetDir) {
|
|
|
75
79
|
}
|
|
76
80
|
}
|
|
77
81
|
}
|
|
78
|
-
catch {
|
|
79
|
-
|
|
82
|
+
catch (err) {
|
|
83
|
+
consoleLogger.debug(`fixHookPermissions failed for ${targetDir}: ${err instanceof Error ? err.message : err}`);
|
|
80
84
|
}
|
|
81
85
|
}
|
|
82
86
|
// ---------------------------------------------------------------------------
|
|
@@ -98,7 +102,8 @@ export function migrateLegacyCommandsDir(pluginName) {
|
|
|
98
102
|
rmSync(legacyDir, { recursive: true, force: true });
|
|
99
103
|
return true;
|
|
100
104
|
}
|
|
101
|
-
catch {
|
|
105
|
+
catch (err) {
|
|
106
|
+
consoleLogger.debug(`migrateLegacyCommandsDir: failed to remove ${legacyDir}: ${err}`);
|
|
102
107
|
return false;
|
|
103
108
|
}
|
|
104
109
|
}
|
|
@@ -114,7 +119,8 @@ function parseMarketplace(marketplacePath) {
|
|
|
114
119
|
const manifest = JSON.parse(content);
|
|
115
120
|
return Array.isArray(manifest.plugins) ? manifest.plugins : [];
|
|
116
121
|
}
|
|
117
|
-
catch {
|
|
122
|
+
catch (err) {
|
|
123
|
+
consoleLogger.warn(`Failed to parse marketplace.json at ${marketplacePath}: ${err instanceof Error ? err.message : err}`);
|
|
118
124
|
return [];
|
|
119
125
|
}
|
|
120
126
|
}
|
|
@@ -131,7 +137,8 @@ export function readLockfile(dir) {
|
|
|
131
137
|
try {
|
|
132
138
|
return JSON.parse(readFileSync(p, 'utf-8'));
|
|
133
139
|
}
|
|
134
|
-
catch {
|
|
140
|
+
catch (err) {
|
|
141
|
+
consoleLogger.debug(`Failed to parse lockfile at ${p}: ${err instanceof Error ? err.message : err}`);
|
|
135
142
|
return null;
|
|
136
143
|
}
|
|
137
144
|
}
|
|
@@ -185,7 +192,8 @@ export function readGlobalLockfile(homeOverride) {
|
|
|
185
192
|
return null;
|
|
186
193
|
return JSON.parse(readFileSync(p, 'utf-8'));
|
|
187
194
|
}
|
|
188
|
-
catch {
|
|
195
|
+
catch (err) {
|
|
196
|
+
consoleLogger.debug(`Failed to read global lockfile: ${err instanceof Error ? err.message : err}`);
|
|
189
197
|
return null;
|
|
190
198
|
}
|
|
191
199
|
}
|
|
@@ -326,7 +334,9 @@ export function migrateSatelliteToUnifiedLock(projectRoot, homeOverride) {
|
|
|
326
334
|
try {
|
|
327
335
|
rmSync(join(projectRoot, LOCKFILE_NAME), { force: true });
|
|
328
336
|
}
|
|
329
|
-
catch {
|
|
337
|
+
catch (err) {
|
|
338
|
+
consoleLogger.debug(`migrateSatelliteToUnifiedLock: failed to remove project lockfile: ${err}`);
|
|
339
|
+
}
|
|
330
340
|
}
|
|
331
341
|
else {
|
|
332
342
|
writeLockfile(projectLock, projectRoot);
|
|
@@ -335,8 +345,8 @@ export function migrateSatelliteToUnifiedLock(projectRoot, homeOverride) {
|
|
|
335
345
|
}
|
|
336
346
|
}
|
|
337
347
|
}
|
|
338
|
-
catch {
|
|
339
|
-
|
|
348
|
+
catch (err) {
|
|
349
|
+
consoleLogger.debug(`migrateSatelliteToUnifiedLock: non-blocking failure: ${err}`);
|
|
340
350
|
}
|
|
341
351
|
return { migratedCount };
|
|
342
352
|
}
|
|
@@ -359,8 +369,8 @@ export function findSpecweaveRoot(startDir) {
|
|
|
359
369
|
return dir;
|
|
360
370
|
}
|
|
361
371
|
}
|
|
362
|
-
catch {
|
|
363
|
-
|
|
372
|
+
catch (err) {
|
|
373
|
+
consoleLogger.debug(`Invalid package.json at ${pkgPath}: ${err instanceof Error ? err.message : err}`);
|
|
364
374
|
}
|
|
365
375
|
}
|
|
366
376
|
const parent = dirname(dir);
|
|
@@ -371,6 +381,45 @@ export function findSpecweaveRoot(startDir) {
|
|
|
371
381
|
return null;
|
|
372
382
|
}
|
|
373
383
|
// ---------------------------------------------------------------------------
|
|
384
|
+
// Cache validation
|
|
385
|
+
// ---------------------------------------------------------------------------
|
|
386
|
+
/**
|
|
387
|
+
* Validate that a plugin's cache directory contains the minimum required structure.
|
|
388
|
+
* Catches partial installs where `claude plugin install` exits 0 but cache is incomplete.
|
|
389
|
+
*/
|
|
390
|
+
function validatePluginCache(cacheDir, pluginName) {
|
|
391
|
+
if (!existsSync(cacheDir)) {
|
|
392
|
+
return { valid: false, error: `Plugin cache dir missing after install: ${cacheDir}` };
|
|
393
|
+
}
|
|
394
|
+
let versionDirs;
|
|
395
|
+
try {
|
|
396
|
+
versionDirs = readdirSync(cacheDir, { withFileTypes: true })
|
|
397
|
+
.filter(d => d.isDirectory())
|
|
398
|
+
.map(d => d.name);
|
|
399
|
+
}
|
|
400
|
+
catch {
|
|
401
|
+
return { valid: false, error: `Cannot read plugin cache dir: ${cacheDir}` };
|
|
402
|
+
}
|
|
403
|
+
if (versionDirs.length === 0) {
|
|
404
|
+
return { valid: false, error: `Plugin "${pluginName}" cache is empty (no version directories)` };
|
|
405
|
+
}
|
|
406
|
+
// Pick latest version dir (semver descending)
|
|
407
|
+
const sorted = [...versionDirs].sort(compareSemverDesc);
|
|
408
|
+
const latestDir = join(cacheDir, sorted[0]);
|
|
409
|
+
// Check for plugin.json
|
|
410
|
+
if (!existsSync(join(latestDir, '.claude-plugin', 'plugin.json'))) {
|
|
411
|
+
return { valid: false, error: `Plugin "${pluginName}" cache missing .claude-plugin/plugin.json in ${sorted[0]}` };
|
|
412
|
+
}
|
|
413
|
+
// Check for at least one component directory
|
|
414
|
+
const hasSkills = existsSync(join(latestDir, 'skills'));
|
|
415
|
+
const hasHooks = existsSync(join(latestDir, 'hooks'));
|
|
416
|
+
const hasCommands = existsSync(join(latestDir, 'commands'));
|
|
417
|
+
if (!hasSkills && !hasHooks && !hasCommands) {
|
|
418
|
+
return { valid: false, error: `Plugin "${pluginName}" cache has no skills/, hooks/, or commands/ in ${sorted[0]}` };
|
|
419
|
+
}
|
|
420
|
+
return { valid: true };
|
|
421
|
+
}
|
|
422
|
+
// ---------------------------------------------------------------------------
|
|
374
423
|
// Core: installPlugin (replaces copyPlugin)
|
|
375
424
|
// ---------------------------------------------------------------------------
|
|
376
425
|
/**
|
|
@@ -409,7 +458,9 @@ export function installPlugin(pluginName, specweaveRoot, options = {}) {
|
|
|
409
458
|
const mkts = JSON.parse(readFileSync(knownMarketplacesPath, 'utf-8'));
|
|
410
459
|
marketplaceRegistered = typeof mkts === 'object' && mkts !== null && 'specweave' in mkts;
|
|
411
460
|
}
|
|
412
|
-
catch {
|
|
461
|
+
catch (err) {
|
|
462
|
+
consoleLogger.debug(`installPlugin: known_marketplaces.json read failed: ${err}`);
|
|
463
|
+
}
|
|
413
464
|
if (!marketplaceRegistered) {
|
|
414
465
|
execFileNoThrowSync('claude', ['plugin', 'marketplace', 'add', specweaveRoot], { timeout: 10000 });
|
|
415
466
|
}
|
|
@@ -419,8 +470,8 @@ export function installPlugin(pluginName, specweaveRoot, options = {}) {
|
|
|
419
470
|
try {
|
|
420
471
|
lock = ensureGlobalLockfile();
|
|
421
472
|
}
|
|
422
|
-
catch {
|
|
423
|
-
|
|
473
|
+
catch (err) {
|
|
474
|
+
consoleLogger.warn(`installPlugin: global lockfile unavailable, using in-memory lock: ${err}`);
|
|
424
475
|
lock = { version: 1, agents: ['claude-code'], skills: {}, createdAt: new Date().toISOString(), updatedAt: new Date().toISOString() };
|
|
425
476
|
}
|
|
426
477
|
if (!options.force && lock.skills[pluginName]?.sha === sha) {
|
|
@@ -435,7 +486,9 @@ export function installPlugin(pluginName, specweaveRoot, options = {}) {
|
|
|
435
486
|
isActuallyInstalled = !Array.isArray(plugins) && typeof plugins === 'object'
|
|
436
487
|
&& plugins !== null && `${pluginName}@specweave` in plugins;
|
|
437
488
|
}
|
|
438
|
-
catch {
|
|
489
|
+
catch (err) {
|
|
490
|
+
consoleLogger.debug(`installPlugin: installed_plugins.json check failed: ${err}`);
|
|
491
|
+
}
|
|
439
492
|
if (isActuallyInstalled) {
|
|
440
493
|
return { success: true, sha, skipped: true };
|
|
441
494
|
}
|
|
@@ -457,15 +510,24 @@ export function installPlugin(pluginName, specweaveRoot, options = {}) {
|
|
|
457
510
|
if (existsSync(cacheDir)) {
|
|
458
511
|
// Walk version dirs (e.g. 1.0.0/) and fix permissions in each
|
|
459
512
|
try {
|
|
460
|
-
|
|
513
|
+
const versionDirs = readdirSync(cacheDir);
|
|
514
|
+
if (versionDirs.length > 1) {
|
|
515
|
+
consoleLogger.debug(`Plugin "${pluginName}": ${versionDirs.length} version dirs in cache, consider cleanup`);
|
|
516
|
+
}
|
|
517
|
+
for (const versionDir of versionDirs) {
|
|
461
518
|
const versionPath = join(cacheDir, versionDir);
|
|
462
519
|
fixHookPermissions(versionPath);
|
|
463
520
|
}
|
|
464
521
|
}
|
|
465
|
-
catch {
|
|
466
|
-
|
|
522
|
+
catch (err) {
|
|
523
|
+
consoleLogger.debug(`installPlugin: hook permission fix failed for ${pluginName}: ${err}`);
|
|
467
524
|
}
|
|
468
525
|
}
|
|
526
|
+
// 6b. Validate cache integrity — catch partial installs
|
|
527
|
+
const validation = validatePluginCache(cacheDir, pluginName);
|
|
528
|
+
if (!validation.valid) {
|
|
529
|
+
return { success: false, sha, error: validation.error };
|
|
530
|
+
}
|
|
469
531
|
// 7. Migrate: remove legacy ~/.claude/commands/<name>/ if present
|
|
470
532
|
migrateLegacyCommandsDir(pluginName);
|
|
471
533
|
// 8. Update lockfile
|
|
@@ -482,8 +544,8 @@ export function installPlugin(pluginName, specweaveRoot, options = {}) {
|
|
|
482
544
|
try {
|
|
483
545
|
writeGlobalLockfile(lock);
|
|
484
546
|
}
|
|
485
|
-
catch {
|
|
486
|
-
|
|
547
|
+
catch (err) {
|
|
548
|
+
consoleLogger.warn(`Plugin installed but lockfile write failed: ${err instanceof Error ? err.message : err}`);
|
|
487
549
|
}
|
|
488
550
|
return { success: true, sha, targetDir: cacheDir };
|
|
489
551
|
}
|
|
@@ -616,7 +678,8 @@ export function copyPluginSkillsToProject(pluginName, specweaveRoot, projectRoot
|
|
|
616
678
|
if (!st.isDirectory())
|
|
617
679
|
continue;
|
|
618
680
|
}
|
|
619
|
-
catch {
|
|
681
|
+
catch (err) {
|
|
682
|
+
consoleLogger.debug(`copyPluginSkillsToProject: lstat failed for ${skillSourceDir}: ${err}`);
|
|
620
683
|
continue;
|
|
621
684
|
}
|
|
622
685
|
const skillMdPath = join(skillSourceDir, 'SKILL.md');
|
|
@@ -643,8 +706,8 @@ export function copyPluginSkillsToProject(pluginName, specweaveRoot, projectRoot
|
|
|
643
706
|
copyFileSync(srcPath, destPath);
|
|
644
707
|
}
|
|
645
708
|
}
|
|
646
|
-
catch {
|
|
647
|
-
|
|
709
|
+
catch (err) {
|
|
710
|
+
consoleLogger.debug(`copyPluginSkillsToProject: skipping unreadable file ${srcPath}: ${err}`);
|
|
648
711
|
}
|
|
649
712
|
}
|
|
650
713
|
copiedCount++;
|
|
@@ -653,6 +716,9 @@ export function copyPluginSkillsToProject(pluginName, specweaveRoot, projectRoot
|
|
|
653
716
|
catch (err) {
|
|
654
717
|
return { success: false, sha, error: `Failed to copy skills: ${err}` };
|
|
655
718
|
}
|
|
719
|
+
if (copiedCount === 0) {
|
|
720
|
+
consoleLogger.warn(`Plugin "${pluginName}": skills/ directory exists but no skills were copied`);
|
|
721
|
+
}
|
|
656
722
|
// 6. Recursively copy hooks to .claude/hooks/ if present (Claude-only).
|
|
657
723
|
// Includes subdirectories (lib/, v2/, universal/) that top-level hooks reference.
|
|
658
724
|
// Hooks are Claude-specific infrastructure — skip for non-Claude adapters.
|
|
@@ -674,13 +740,13 @@ export function copyPluginSkillsToProject(pluginName, specweaveRoot, projectRoot
|
|
|
674
740
|
chmodSync(destPath, 0o755);
|
|
675
741
|
}
|
|
676
742
|
}
|
|
677
|
-
catch {
|
|
678
|
-
|
|
743
|
+
catch (err) {
|
|
744
|
+
consoleLogger.debug(`Failed to copy hook file: ${err instanceof Error ? err.message : err}`);
|
|
679
745
|
}
|
|
680
746
|
}
|
|
681
747
|
}
|
|
682
|
-
catch {
|
|
683
|
-
|
|
748
|
+
catch (err) {
|
|
749
|
+
consoleLogger.warn(`Failed to copy hooks for plugin "${pluginName}": ${err instanceof Error ? err.message : err}`);
|
|
684
750
|
}
|
|
685
751
|
}
|
|
686
752
|
// 7. Migrate: remove legacy ~/.claude/commands/<name>/ if present (Claude-only)
|
|
@@ -701,8 +767,8 @@ export function copyPluginSkillsToProject(pluginName, specweaveRoot, projectRoot
|
|
|
701
767
|
try {
|
|
702
768
|
writeLockfile(lock, projectRoot);
|
|
703
769
|
}
|
|
704
|
-
catch {
|
|
705
|
-
|
|
770
|
+
catch (err) {
|
|
771
|
+
consoleLogger.warn(`Plugin skills copied but lockfile write failed: ${err instanceof Error ? err.message : err}`);
|
|
706
772
|
}
|
|
707
773
|
return { success: true, sha, targetDir: targetSkillsBase };
|
|
708
774
|
}
|