agent-switchboard 0.4.5 → 0.4.7

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 (36) hide show
  1. package/README.md +6 -0
  2. package/dist/commands/distribution.js +16 -0
  3. package/dist/commands/distribution.js.map +1 -1
  4. package/dist/hooks/distribution.d.ts +1 -0
  5. package/dist/hooks/distribution.js +18 -4
  6. package/dist/hooks/distribution.js.map +1 -1
  7. package/dist/index.js +5 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/library/distribute-bundle.d.ts +2 -0
  10. package/dist/library/distribute-bundle.js +24 -17
  11. package/dist/library/distribute-bundle.js.map +1 -1
  12. package/dist/library/distribute.d.ts +4 -0
  13. package/dist/library/distribute.js +19 -6
  14. package/dist/library/distribute.js.map +1 -1
  15. package/dist/marketplace/plugin-loader.js +31 -9
  16. package/dist/marketplace/plugin-loader.js.map +1 -1
  17. package/dist/mcp/distribution.d.ts +2 -0
  18. package/dist/mcp/distribution.js +14 -7
  19. package/dist/mcp/distribution.js.map +1 -1
  20. package/dist/rules/distribution.d.ts +2 -0
  21. package/dist/rules/distribution.js +34 -16
  22. package/dist/rules/distribution.js.map +1 -1
  23. package/dist/skills/distribution.d.ts +1 -0
  24. package/dist/skills/distribution.js +48 -34
  25. package/dist/skills/distribution.js.map +1 -1
  26. package/dist/subagents/distribution.js +16 -0
  27. package/dist/subagents/distribution.js.map +1 -1
  28. package/dist/sync/command.d.ts +8 -1
  29. package/dist/sync/command.js +192 -139
  30. package/dist/sync/command.js.map +1 -1
  31. package/dist/targets/builtin/opencode-legacy.d.ts +18 -0
  32. package/dist/targets/builtin/opencode-legacy.js +103 -0
  33. package/dist/targets/builtin/opencode-legacy.js.map +1 -0
  34. package/dist/targets/builtin/opencode.js +9 -11
  35. package/dist/targets/builtin/opencode.js.map +1 -1
  36. package/package.json +1 -1
@@ -13,11 +13,9 @@ import { distributeSkills } from '../skills/distribution.js';
13
13
  import { distributeSubagents } from '../subagents/distribution.js';
14
14
  import { initTargets } from '../targets/init.js';
15
15
  import { filterInstalled, getTargetById, getTargetsForSection } from '../targets/registry.js';
16
- import { printCompactDistributions, shortenPath, } from '../util/cli.js';
16
+ import { countDistributionResults, formatDistributionSummary, printCompactDistributions, shortenPath, } from '../util/cli.js';
17
17
  export async function runSyncCommand(options) {
18
- const { scope, updateSources = true } = options;
19
- console.log(chalk.yellow('⚠ Sync overwrites agent config without diff.'));
20
- console.log();
18
+ const { scope, updateSources = true, dryRun = false } = options;
21
19
  if (updateSources) {
22
20
  const remoteResults = updateRemoteSources(scope);
23
21
  if (remoteResults.length > 0) {
@@ -40,9 +38,16 @@ export async function runSyncCommand(options) {
40
38
  else if (scope?.profile) {
41
39
  console.log(chalk.blue.bold(`── Profile: ${scope.profile} ──`));
42
40
  }
43
- return runSyncPhase({ scope, config, layers });
41
+ if (dryRun) {
42
+ const result = await runSyncPhase({ scope, config, layers, dryRun: true });
43
+ console.log();
44
+ console.log(chalk.yellow('[dry-run] No files were modified.'));
45
+ return result.hasErrors;
46
+ }
47
+ const result = await runSyncPhase({ scope, config, layers });
48
+ return result.hasErrors;
44
49
  }
45
- export async function runSyncPhase({ scope, config, layers }) {
50
+ export async function runSyncPhase({ scope, config, layers, dryRun, showInventory = true, }) {
46
51
  const writableConfig = scope?.project
47
52
  ? layers.project?.config
48
53
  : scope?.profile
@@ -57,32 +62,8 @@ export async function runSyncPhase({ scope, config, layers }) {
57
62
  const displayPluginRefs = scope?.project || scope?.profile
58
63
  ? (writableConfig?.plugins?.enabled ?? [])
59
64
  : config.plugins.enabled;
60
- const activeLayers = [];
61
- if (layers.user.exists)
62
- activeLayers.push(shortenPath(layers.user.path));
63
- if (layers.profile?.exists)
64
- activeLayers.push(shortenPath(layers.profile.path));
65
- if (layers.project?.exists)
66
- activeLayers.push(shortenPath(layers.project.path));
67
- console.log(`${chalk.blue('Config:')} ${activeLayers.length > 0 ? chalk.dim(activeLayers.join(' + ')) : chalk.gray('no config files')}`);
68
- const assumeInstalledSet = new Set(config.applications.assume_installed);
69
- const appsLabel = config.applications.enabled.length > 0
70
- ? config.applications.enabled
71
- .map((id) => {
72
- const target = getTargetById(id);
73
- if (target?.isInstalled?.() === false) {
74
- if (assumeInstalledSet.has(id))
75
- return chalk.yellow(`${id} (assumed installed)`);
76
- return chalk.gray(`${id} (not installed)`);
77
- }
78
- return chalk.cyan(id);
79
- })
80
- .join(', ')
81
- : chalk.gray('none configured');
82
- console.log(`${chalk.blue('Apps:')} ${appsLabel}`);
83
- console.log();
84
65
  const sections = ['mcp', 'rules', 'commands', 'agents', 'skills', 'hooks'];
85
- // Precompute per-section per-app effective configs
66
+ // Precompute per-section per-app effective configs (needed by both inventory and distribution)
86
67
  const sectionAppConfigs = new Map();
87
68
  for (const section of sections) {
88
69
  const appMap = new Map();
@@ -91,113 +72,22 @@ export async function runSyncPhase({ scope, config, layers }) {
91
72
  }
92
73
  sectionAppConfigs.set(section, appMap);
93
74
  }
75
+ const assumeInstalledSet = new Set(config.applications.assume_installed);
94
76
  const cursorSkillsDeduped = config.applications.enabled.includes('claude-code') &&
95
77
  (sectionAppConfigs.get('skills')?.get('claude-code')?.length ?? 0) > 0;
96
- console.log(chalk.blue('Inventory:'));
97
- {
98
- const sectionPlatforms = {};
99
- for (const section of sections) {
100
- let ids = filterInstalled(getTargetsForSection(section), assumeInstalledSet).map((t) => t.id);
101
- if (section === 'skills' && cursorSkillsDeduped) {
102
- ids = ids.filter((id) => id !== 'cursor');
103
- }
104
- sectionPlatforms[section] = ids;
105
- }
106
- const termWidth = process.stdout.columns || 80;
107
- const maxSectionLen = Math.max(...sections.map((section) => section.length));
108
- const maxCountLen = Math.max(...sections.map((section) => `(${getDisplayEnabled(section).length})`.length));
109
- const prefixPlainLen = 2 + maxSectionLen + 1 + maxCountLen + 2;
110
- const fitPreview = (ids, maxWidth) => {
111
- if (ids.length === 0)
112
- return chalk.gray('none');
113
- const full = ids.join(', ');
114
- if (full.length <= maxWidth)
115
- return full;
116
- let text = '';
117
- let shown = 0;
118
- for (let index = 0; index < ids.length; index++) {
119
- const separator = shown > 0 ? ', ' : '';
120
- const candidate = text + separator + ids[index];
121
- const remaining = ids.length - (index + 1);
122
- if (remaining > 0) {
123
- const suffix = `, ... (+${remaining} more)`;
124
- if (candidate.length + suffix.length > maxWidth && shown > 0) {
125
- const left = ids.length - shown;
126
- return `${text}${chalk.gray(`, ... (+${left} more)`)}`;
127
- }
128
- }
129
- text = candidate;
130
- shown++;
131
- }
132
- return text;
133
- };
134
- for (const section of sections) {
135
- const displayEnabled = getDisplayEnabled(section);
136
- const displayCount = displayEnabled.length;
137
- const supported = new Set(sectionPlatforms[section] ?? []);
138
- const applicableApps = config.applications.enabled.filter((id) => supported.has(id));
139
- const allAppConfigs = sectionAppConfigs.get(section) ?? new Map();
140
- const effectiveByApp = new Map();
141
- for (const appId of applicableApps) {
142
- effectiveByApp.set(appId, allAppConfigs.get(appId) ?? []);
143
- }
144
- const perAppParts = applicableApps.map((appId) => {
145
- const enabled = effectiveByApp.get(appId) ?? [];
146
- const delta = enabled.length - displayCount;
147
- const suffix = delta === 0 ? '' : delta > 0 ? `(+${delta})` : `(${delta})`;
148
- return `${appId}:${enabled.length}${suffix}`;
149
- });
150
- const union = new Set();
151
- for (const [, ids] of effectiveByApp) {
152
- for (const id of ids)
153
- union.add(id);
154
- }
155
- const previewIds = displayEnabled.length > 0 ? [...displayEnabled] : [...union];
156
- const paddedSection = section.padEnd(maxSectionLen);
157
- const countStr = `(${displayCount})`.padStart(maxCountLen);
158
- const appsStr = perAppParts.join(' ');
159
- console.log(` ${chalk.cyan(paddedSection)} ${chalk.gray(countStr)} ${appsStr}`);
160
- if (previewIds.length > 0) {
161
- const indent = ' '.repeat(prefixPlainLen);
162
- const previewWidth = Math.max(20, termWidth - prefixPlainLen - 2);
163
- const preview = fitPreview(previewIds, previewWidth);
164
- console.log(`${indent}${chalk.gray('→')} ${preview}`);
165
- }
166
- }
167
- }
168
- {
169
- const pluginIndex = buildPluginIndex(scope);
170
- const enabledPluginRefs = displayPluginRefs;
171
- if (enabledPluginRefs.length > 0) {
172
- const names = enabledPluginRefs
173
- .map((pluginId) => {
174
- const plugin = pluginIndex.get(pluginId);
175
- return plugin ? pluginId : chalk.strikethrough(pluginId);
176
- })
177
- .join(', ');
178
- console.log(` ${chalk.magenta('plugins')} ${chalk.gray(`(${enabledPluginRefs.length})`)} ${names}`);
179
- }
180
- else if (!scope?.project && !scope?.profile && pluginIndex.plugins.length > 0) {
181
- console.log(` ${chalk.magenta('plugins')} ${chalk.gray('(0)')} ${chalk.gray(`${pluginIndex.plugins.length} available`)}`);
182
- }
183
- }
184
- console.log();
185
- const notes = [];
186
- if (cursorSkillsDeduped && config.applications.enabled.includes('cursor')) {
187
- notes.push('cursor reads skills via claude-code');
188
- }
189
- if (config.distribution.use_agents_dir) {
190
- const agentsMembers = ['codex', 'gemini', 'opencode'].filter((appId) => config.applications.enabled.includes(appId));
191
- if (agentsMembers.length > 0) {
192
- notes.push(`skills for ${agentsMembers.join(', ')} sync to shared .agents/skills`);
193
- }
194
- }
195
- for (let index = 0; index < notes.length; index++) {
196
- const prefix = index === 0 ? ' Note: ' : ' ';
197
- console.log(chalk.gray(`${prefix}${notes[index]}.`));
78
+ if (showInventory) {
79
+ displayInventory({
80
+ config,
81
+ layers,
82
+ scope,
83
+ sections,
84
+ sectionAppConfigs,
85
+ assumeInstalledSet,
86
+ cursorSkillsDeduped,
87
+ getDisplayEnabled,
88
+ displayPluginRefs,
89
+ });
198
90
  }
199
- if (notes.length > 0)
200
- console.log();
201
91
  const activeAppIds = config.applications.enabled;
202
92
  // Project-level managed distribution: load manifest and determine mode
203
93
  const projectRoot = scope?.project;
@@ -209,7 +99,7 @@ export async function runSyncPhase({ scope, config, layers }) {
209
99
  if (result.corrupt) {
210
100
  console.warn(`[asb] Aborting managed sync: corrupt manifest in ${projectRoot}`);
211
101
  console.warn('[asb] Fix or remove the manifest before retrying to avoid unsafe cleanup.');
212
- return true;
102
+ return { hasErrors: true, hasChanges: false };
213
103
  }
214
104
  else {
215
105
  manifest = result.manifest;
@@ -229,6 +119,7 @@ export async function runSyncPhase({ scope, config, layers }) {
229
119
  assumeInstalled: assumeInstalledSet,
230
120
  manifest,
231
121
  projectMode,
122
+ dryRun,
232
123
  });
233
124
  ruleDistribution = distributeRules({
234
125
  activeAppIds,
@@ -236,16 +127,19 @@ export async function runSyncPhase({ scope, config, layers }) {
236
127
  manifest,
237
128
  projectMode,
238
129
  rulesPlacement,
130
+ dryRun,
239
131
  }, scope);
240
132
  commandDistribution = distributeCommands(scope, activeAppIds, assumeInstalledSet, {
241
133
  manifest,
242
134
  projectMode,
243
135
  collision,
136
+ dryRun,
244
137
  });
245
138
  agentDistribution = distributeSubagents(scope, activeAppIds, assumeInstalledSet, {
246
139
  manifest,
247
140
  projectMode,
248
141
  collision,
142
+ dryRun,
249
143
  });
250
144
  skillDistribution = distributeSkills(scope, {
251
145
  useAgentsDir: config.distribution.use_agents_dir,
@@ -254,12 +148,16 @@ export async function runSyncPhase({ scope, config, layers }) {
254
148
  manifest,
255
149
  projectMode,
256
150
  collision,
151
+ dryRun,
152
+ });
153
+ hookDistribution = distributeHooks(scope, activeAppIds, assumeInstalledSet, {
154
+ projectMode,
155
+ dryRun,
257
156
  });
258
- hookDistribution = distributeHooks(scope, activeAppIds, assumeInstalledSet, { projectMode });
259
157
  }
260
158
  finally {
261
159
  // Save manifest even if distribution throws, to preserve partial progress
262
- if (isManaged && manifest) {
160
+ if (!dryRun && isManaged && manifest) {
263
161
  saveManifest(projectRoot, manifest);
264
162
  }
265
163
  }
@@ -319,7 +217,162 @@ export async function runSyncPhase({ scope, config, layers }) {
319
217
  },
320
218
  },
321
219
  ];
220
+ if (dryRun) {
221
+ // In dry-run mode, show a compact summary instead of full distribution output
222
+ const allResults = distSections.flatMap((s) => s.results);
223
+ const counts = countDistributionResults(allResults, () => '');
224
+ const summary = formatDistributionSummary(counts);
225
+ if (counts.written > 0 || counts.deleted > 0 || counts.errors > 0 || counts.conflicts > 0) {
226
+ // Show full distribution detail for dry-run so user can see exactly what would change
227
+ const { hasErrors } = printCompactDistributions(distSections);
228
+ return {
229
+ hasErrors,
230
+ hasChanges: counts.written > 0 || counts.deleted > 0,
231
+ };
232
+ }
233
+ console.log(`${chalk.blue('Distribution:')} ${summary}`);
234
+ return { hasErrors: false, hasChanges: false };
235
+ }
322
236
  const { hasErrors } = printCompactDistributions(distSections);
323
- return hasErrors;
237
+ const allResults = distSections.flatMap((s) => s.results);
238
+ const counts = countDistributionResults(allResults, () => '');
239
+ return {
240
+ hasErrors,
241
+ hasChanges: counts.written > 0 || counts.deleted > 0,
242
+ };
243
+ }
244
+ // ---------------------------------------------------------------------------
245
+ // Inventory display (extracted for showInventory flag)
246
+ // ---------------------------------------------------------------------------
247
+ function displayInventory(opts) {
248
+ const { config, layers, scope, sections, sectionAppConfigs, assumeInstalledSet, cursorSkillsDeduped, getDisplayEnabled, displayPluginRefs, } = opts;
249
+ const activeLayers = [];
250
+ if (layers.user.exists)
251
+ activeLayers.push(shortenPath(layers.user.path));
252
+ if (layers.profile?.exists)
253
+ activeLayers.push(shortenPath(layers.profile.path));
254
+ if (layers.project?.exists)
255
+ activeLayers.push(shortenPath(layers.project.path));
256
+ console.log(`${chalk.blue('Config:')} ${activeLayers.length > 0 ? chalk.dim(activeLayers.join(' + ')) : chalk.gray('no config files')}`);
257
+ const appsLabel = config.applications.enabled.length > 0
258
+ ? config.applications.enabled
259
+ .map((id) => {
260
+ const target = getTargetById(id);
261
+ if (target?.isInstalled?.() === false) {
262
+ if (assumeInstalledSet.has(id))
263
+ return chalk.yellow(`${id} (assumed installed)`);
264
+ return chalk.gray(`${id} (not installed)`);
265
+ }
266
+ return chalk.cyan(id);
267
+ })
268
+ .join(', ')
269
+ : chalk.gray('none configured');
270
+ console.log(`${chalk.blue('Apps:')} ${appsLabel}`);
271
+ console.log();
272
+ console.log(chalk.blue('Inventory:'));
273
+ {
274
+ const sectionPlatforms = {};
275
+ for (const section of sections) {
276
+ let ids = filterInstalled(getTargetsForSection(section), assumeInstalledSet).map((t) => t.id);
277
+ if (section === 'skills' && cursorSkillsDeduped) {
278
+ ids = ids.filter((id) => id !== 'cursor');
279
+ }
280
+ sectionPlatforms[section] = ids;
281
+ }
282
+ const termWidth = process.stdout.columns || 80;
283
+ const maxSectionLen = Math.max(...sections.map((section) => section.length));
284
+ const maxCountLen = Math.max(...sections.map((section) => `(${getDisplayEnabled(section).length})`.length));
285
+ const prefixPlainLen = 2 + maxSectionLen + 1 + maxCountLen + 2;
286
+ const fitPreview = (ids, maxWidth) => {
287
+ if (ids.length === 0)
288
+ return chalk.gray('none');
289
+ const full = ids.join(', ');
290
+ if (full.length <= maxWidth)
291
+ return full;
292
+ let text = '';
293
+ let shown = 0;
294
+ for (let index = 0; index < ids.length; index++) {
295
+ const separator = shown > 0 ? ', ' : '';
296
+ const candidate = text + separator + ids[index];
297
+ const remaining = ids.length - (index + 1);
298
+ if (remaining > 0) {
299
+ const suffix = `, ... (+${remaining} more)`;
300
+ if (candidate.length + suffix.length > maxWidth && shown > 0) {
301
+ const left = ids.length - shown;
302
+ return `${text}${chalk.gray(`, ... (+${left} more)`)}`;
303
+ }
304
+ }
305
+ text = candidate;
306
+ shown++;
307
+ }
308
+ return text;
309
+ };
310
+ for (const section of sections) {
311
+ const displayEnabled = getDisplayEnabled(section);
312
+ const displayCount = displayEnabled.length;
313
+ const supported = new Set(sectionPlatforms[section] ?? []);
314
+ const applicableApps = config.applications.enabled.filter((id) => supported.has(id));
315
+ const allAppConfigs = sectionAppConfigs.get(section) ?? new Map();
316
+ const effectiveByApp = new Map();
317
+ for (const appId of applicableApps) {
318
+ effectiveByApp.set(appId, allAppConfigs.get(appId) ?? []);
319
+ }
320
+ const perAppParts = applicableApps.map((appId) => {
321
+ const enabled = effectiveByApp.get(appId) ?? [];
322
+ const delta = enabled.length - displayCount;
323
+ const suffix = delta === 0 ? '' : delta > 0 ? `(+${delta})` : `(${delta})`;
324
+ return `${appId}:${enabled.length}${suffix}`;
325
+ });
326
+ const union = new Set();
327
+ for (const [, ids] of effectiveByApp) {
328
+ for (const id of ids)
329
+ union.add(id);
330
+ }
331
+ const previewIds = displayEnabled.length > 0 ? [...displayEnabled] : [...union];
332
+ const paddedSection = section.padEnd(maxSectionLen);
333
+ const countStr = `(${displayCount})`.padStart(maxCountLen);
334
+ const appsStr = perAppParts.join(' ');
335
+ console.log(` ${chalk.cyan(paddedSection)} ${chalk.gray(countStr)} ${appsStr}`);
336
+ if (previewIds.length > 0) {
337
+ const indent = ' '.repeat(prefixPlainLen);
338
+ const previewWidth = Math.max(20, termWidth - prefixPlainLen - 2);
339
+ const preview = fitPreview(previewIds, previewWidth);
340
+ console.log(`${indent}${chalk.gray('→')} ${preview}`);
341
+ }
342
+ }
343
+ }
344
+ {
345
+ const pluginIndex = buildPluginIndex(scope);
346
+ const enabledPluginRefs = displayPluginRefs;
347
+ if (enabledPluginRefs.length > 0) {
348
+ const names = enabledPluginRefs
349
+ .map((pluginId) => {
350
+ const plugin = pluginIndex.get(pluginId);
351
+ return plugin ? pluginId : chalk.strikethrough(pluginId);
352
+ })
353
+ .join(', ');
354
+ console.log(` ${chalk.magenta('plugins')} ${chalk.gray(`(${enabledPluginRefs.length})`)} ${names}`);
355
+ }
356
+ else if (!scope?.project && !scope?.profile && pluginIndex.plugins.length > 0) {
357
+ console.log(` ${chalk.magenta('plugins')} ${chalk.gray('(0)')} ${chalk.gray(`${pluginIndex.plugins.length} available`)}`);
358
+ }
359
+ }
360
+ console.log();
361
+ const notes = [];
362
+ if (cursorSkillsDeduped && config.applications.enabled.includes('cursor')) {
363
+ notes.push('cursor reads skills via claude-code');
364
+ }
365
+ if (config.distribution.use_agents_dir) {
366
+ const agentsMembers = ['codex', 'gemini', 'opencode'].filter((appId) => config.applications.enabled.includes(appId));
367
+ if (agentsMembers.length > 0) {
368
+ notes.push(`skills for ${agentsMembers.join(', ')} sync to shared .agents/skills`);
369
+ }
370
+ }
371
+ for (let index = 0; index < notes.length; index++) {
372
+ const prefix = index === 0 ? ' Note: ' : ' ';
373
+ console.log(chalk.gray(`${prefix}${notes[index]}.`));
374
+ }
375
+ if (notes.length > 0)
376
+ console.log();
324
377
  }
325
378
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/sync/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/sync/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { DistributionResult } from '../../library/distribute.js';
2
+ import type { BundleDistributionResult } from '../../library/distribute-bundle.js';
3
+ export declare function cleanupLegacyOpencodeFiles(options: {
4
+ platform: string;
5
+ legacyDir: string;
6
+ currentDir: string;
7
+ activeIds: ReadonlySet<string>;
8
+ extractId: (filename: string) => string | null;
9
+ dryRun?: boolean;
10
+ }): DistributionResult<string>[];
11
+ export declare function cleanupLegacyOpencodeBundles(options: {
12
+ platform: string;
13
+ legacyParentDir: string;
14
+ currentParentDir: string;
15
+ activeIds: ReadonlySet<string>;
16
+ dryRun?: boolean;
17
+ isReservedDir?: (id: string) => boolean;
18
+ }): BundleDistributionResult<string>[];
@@ -0,0 +1,103 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { rmDirRecursive } from '../../library/fs.js';
4
+ export function cleanupLegacyOpencodeFiles(options) {
5
+ const results = [];
6
+ if (!fs.existsSync(options.legacyDir))
7
+ return results;
8
+ try {
9
+ for (const entry of fs.readdirSync(options.legacyDir, { withFileTypes: true })) {
10
+ if (!entry.isFile())
11
+ continue;
12
+ const id = options.extractId(entry.name);
13
+ if (id === null)
14
+ continue;
15
+ const legacyPath = path.join(options.legacyDir, entry.name);
16
+ const currentPath = path.join(options.currentDir, entry.name);
17
+ const isDuplicate = options.legacyDir !== options.currentDir && fs.existsSync(currentPath);
18
+ const shouldDelete = !options.activeIds.has(id) || isDuplicate;
19
+ if (!shouldDelete)
20
+ continue;
21
+ try {
22
+ if (!options.dryRun)
23
+ fs.unlinkSync(legacyPath);
24
+ results.push({
25
+ platform: options.platform,
26
+ filePath: legacyPath,
27
+ status: 'deleted',
28
+ reason: isDuplicate ? 'legacy duplicate' : 'legacy orphan',
29
+ entryId: id,
30
+ });
31
+ }
32
+ catch (error) {
33
+ const msg = error instanceof Error ? error.message : String(error);
34
+ results.push({
35
+ platform: options.platform,
36
+ filePath: legacyPath,
37
+ status: 'error',
38
+ error: `Failed to delete legacy file: ${msg}`,
39
+ entryId: id,
40
+ });
41
+ }
42
+ }
43
+ if (fs.readdirSync(options.legacyDir).length === 0) {
44
+ if (!options.dryRun)
45
+ fs.rmdirSync(options.legacyDir);
46
+ }
47
+ }
48
+ catch {
49
+ // Ignore legacy cleanup scan errors to avoid blocking distribution.
50
+ }
51
+ return results;
52
+ }
53
+ export function cleanupLegacyOpencodeBundles(options) {
54
+ const results = [];
55
+ if (!fs.existsSync(options.legacyParentDir))
56
+ return results;
57
+ try {
58
+ for (const entry of fs.readdirSync(options.legacyParentDir, { withFileTypes: true })) {
59
+ if (!entry.isDirectory())
60
+ continue;
61
+ const id = entry.name;
62
+ if (options.isReservedDir?.(id))
63
+ continue;
64
+ const legacyDir = path.join(options.legacyParentDir, id);
65
+ const currentDir = path.join(options.currentParentDir, id);
66
+ const isDuplicate = options.legacyParentDir !== options.currentParentDir && fs.existsSync(currentDir);
67
+ const shouldDelete = !options.activeIds.has(id) || isDuplicate;
68
+ if (!shouldDelete)
69
+ continue;
70
+ try {
71
+ if (!options.dryRun)
72
+ rmDirRecursive(legacyDir);
73
+ results.push({
74
+ platform: options.platform,
75
+ targetDir: legacyDir,
76
+ status: 'deleted',
77
+ reason: isDuplicate ? 'legacy duplicate' : 'legacy orphan',
78
+ entryId: id,
79
+ });
80
+ }
81
+ catch (error) {
82
+ const msg = error instanceof Error ? error.message : String(error);
83
+ results.push({
84
+ platform: options.platform,
85
+ targetDir: legacyDir,
86
+ status: 'error',
87
+ error: `Failed to delete legacy directory: ${msg}`,
88
+ entryId: id,
89
+ });
90
+ }
91
+ }
92
+ if (fs.existsSync(options.legacyParentDir) &&
93
+ fs.readdirSync(options.legacyParentDir).length === 0) {
94
+ if (!options.dryRun)
95
+ fs.rmdirSync(options.legacyParentDir);
96
+ }
97
+ }
98
+ catch {
99
+ // Ignore legacy cleanup scan errors to avoid blocking distribution.
100
+ }
101
+ return results;
102
+ }
103
+ //# sourceMappingURL=opencode-legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-legacy.js","sourceRoot":"","sources":["../../../src/targets/builtin/opencode-legacy.ts"],"names":[],"mappings":"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"}