agent-switchboard 0.4.16 → 0.4.18

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.
@@ -2,7 +2,6 @@ import { createHash } from 'node:crypto';
2
2
  import fs from 'node:fs';
3
3
  import path from 'node:path';
4
4
  import { computeLibraryCleanupSet, getLibraryEntry, hasOtherLibraryEntryAtPath, recordLibraryEntry, removeLibraryEntry, } from '../manifest/store.js';
5
- import { ensureParentDir, rmDirRecursive } from './fs.js';
6
5
  import { loadLibraryAgentSync, updateLibraryAgentSync } from './state.js';
7
6
  function listRelativeFiles(dir, prefix = '') {
8
7
  const files = [];
@@ -18,8 +17,63 @@ function listRelativeFiles(dir, prefix = '') {
18
17
  }
19
18
  return files;
20
19
  }
20
+ function lstatIfExists(filePath) {
21
+ try {
22
+ return fs.lstatSync(filePath);
23
+ }
24
+ catch (error) {
25
+ if (typeof error === 'object' && error !== null && 'code' in error && error.code === 'ENOENT') {
26
+ return undefined;
27
+ }
28
+ throw error;
29
+ }
30
+ }
31
+ export function assertNoSymlinkAncestor(rootPath, targetPath, options) {
32
+ const root = path.resolve(rootPath);
33
+ const target = path.resolve(targetPath);
34
+ const relativePath = path.relative(root, target);
35
+ if (relativePath === '')
36
+ return;
37
+ if (relativePath.startsWith('..') || path.isAbsolute(relativePath)) {
38
+ throw new Error(`target path escapes root: ${targetPath}`);
39
+ }
40
+ let current = root;
41
+ const parts = relativePath.split(path.sep).filter(Boolean);
42
+ for (let i = 0; i < parts.length; i++) {
43
+ current = path.join(current, parts[i]);
44
+ const stat = lstatIfExists(current);
45
+ if (!stat)
46
+ return;
47
+ if (stat.isSymbolicLink() && !(options?.allowFinalSymlink === true && i === parts.length - 1)) {
48
+ throw new Error(`refusing to follow symlinked path: ${current}`);
49
+ }
50
+ }
51
+ }
52
+ export function assertUsableBundleRoot(rootPath) {
53
+ const stat = lstatIfExists(rootPath);
54
+ if (!stat)
55
+ return;
56
+ if (stat.isSymbolicLink()) {
57
+ throw new Error(`refusing to use symlinked bundle root: ${rootPath}`);
58
+ }
59
+ if (!stat.isDirectory()) {
60
+ throw new Error(`bundle root exists and is not a directory: ${rootPath}`);
61
+ }
62
+ }
63
+ function assertSafeBundleTarget(rootPath, targetPath, options) {
64
+ assertUsableBundleRoot(rootPath);
65
+ assertNoSymlinkAncestor(rootPath, targetPath, options);
66
+ }
67
+ function resolveBundleRootDir(opts, platform) {
68
+ const explicitRoot = opts.resolveBundleRootDir?.(platform);
69
+ if (explicitRoot)
70
+ return explicitRoot;
71
+ const cleanupParent = opts.cleanup?.resolveParentDir(platform);
72
+ return cleanupParent ? path.dirname(cleanupParent) : undefined;
73
+ }
21
74
  function isAdoptableBundleDir(targetDir, files) {
22
- if (!fs.existsSync(targetDir) || !fs.statSync(targetDir).isDirectory()) {
75
+ const targetStat = lstatIfExists(targetDir);
76
+ if (!targetStat?.isDirectory()) {
23
77
  return false;
24
78
  }
25
79
  const expected = new Map(files.map((file) => [file.relativePath, file.sourcePath]));
@@ -30,13 +84,72 @@ function isAdoptableBundleDir(targetDir, files) {
30
84
  const sourcePath = expected.get(rel);
31
85
  if (!sourcePath)
32
86
  return false;
87
+ const targetPath = path.join(targetDir, rel);
88
+ if (lstatIfExists(targetPath)?.isSymbolicLink())
89
+ return false;
33
90
  const sourceContent = fs.readFileSync(sourcePath);
34
- const targetContent = fs.readFileSync(path.join(targetDir, rel));
91
+ const targetContent = fs.readFileSync(targetPath);
35
92
  if (Buffer.compare(sourceContent, targetContent) !== 0)
36
93
  return false;
37
94
  }
38
95
  return true;
39
96
  }
97
+ function executableBits(mode) {
98
+ return mode & 0o111;
99
+ }
100
+ function targetModeMatchesSourceExecutableBits(srcMode, dstMode) {
101
+ if (executableBits(srcMode) !== 0) {
102
+ return dstMode === srcMode;
103
+ }
104
+ return executableBits(dstMode) === 0;
105
+ }
106
+ function desiredTargetMode(srcMode, currentMode) {
107
+ if (executableBits(srcMode) !== 0) {
108
+ return srcMode;
109
+ }
110
+ return currentMode & 0o666;
111
+ }
112
+ function ensureDirectoryWithoutFollowingSymlink(dirPath, options) {
113
+ const stat = lstatIfExists(dirPath);
114
+ if (!stat) {
115
+ fs.mkdirSync(dirPath, { recursive: options?.recursive === true });
116
+ return;
117
+ }
118
+ if (stat.isDirectory() && !stat.isSymbolicLink())
119
+ return;
120
+ if (!stat.isSymbolicLink()) {
121
+ throw new Error(`path exists and is not a directory: ${dirPath}`);
122
+ }
123
+ fs.unlinkSync(dirPath);
124
+ fs.mkdirSync(dirPath);
125
+ }
126
+ function ensureBundleParentDir(targetDir, relativePath) {
127
+ ensureDirectoryWithoutFollowingSymlink(targetDir, { recursive: true });
128
+ const parentRel = path.dirname(relativePath);
129
+ if (parentRel === '.')
130
+ return;
131
+ let current = targetDir;
132
+ for (const segment of parentRel.split(path.sep)) {
133
+ if (!segment || segment === '.')
134
+ continue;
135
+ current = path.join(current, segment);
136
+ ensureDirectoryWithoutFollowingSymlink(current);
137
+ }
138
+ }
139
+ function removeBundlePath(targetPath) {
140
+ const stat = lstatIfExists(targetPath);
141
+ if (!stat)
142
+ return;
143
+ if (stat.isDirectory() && !stat.isSymbolicLink()) {
144
+ const entries = fs.readdirSync(targetPath, { withFileTypes: true });
145
+ for (const entry of entries) {
146
+ removeBundlePath(path.join(targetPath, entry.name));
147
+ }
148
+ fs.rmdirSync(targetPath);
149
+ return;
150
+ }
151
+ fs.unlinkSync(targetPath);
152
+ }
40
153
  /**
41
154
  * Distribute skill bundles (directories) to target platforms.
42
155
  * Copies all files in each skill directory, preserving structure.
@@ -65,6 +178,7 @@ export function distributeBundle(opts) {
65
178
  const isBootstrapSync = manifest != null && (!sectionEntries || Object.keys(sectionEntries).length === 0);
66
179
  for (const platform of opts.platforms) {
67
180
  const platformHash = createHash('sha256');
181
+ const bundleRootDir = resolveBundleRootDir(opts, platform);
68
182
  // Apply per-platform filter if provided
69
183
  const platformSelected = opts.filterSelected
70
184
  ? opts.filterSelected(platform, opts.selected)
@@ -73,16 +187,51 @@ export function distributeBundle(opts) {
73
187
  const targetDir = opts.resolveTargetDir(platform, entry);
74
188
  const files = opts.listFiles(entry);
75
189
  const entryId = opts.getId(entry);
190
+ if (managedProjectRoot) {
191
+ try {
192
+ assertNoSymlinkAncestor(managedProjectRoot, targetDir, { allowFinalSymlink: true });
193
+ }
194
+ catch (error) {
195
+ const msg = error instanceof Error ? error.message : String(error);
196
+ results.push({
197
+ platform,
198
+ targetDir,
199
+ status: 'error',
200
+ error: `Failed to prepare ${entryId}: ${msg}`,
201
+ entryId,
202
+ });
203
+ continue;
204
+ }
205
+ }
206
+ if (bundleRootDir) {
207
+ try {
208
+ assertSafeBundleTarget(bundleRootDir, targetDir, { allowFinalSymlink: true });
209
+ }
210
+ catch (error) {
211
+ const msg = error instanceof Error ? error.message : String(error);
212
+ results.push({
213
+ platform,
214
+ targetDir,
215
+ status: 'error',
216
+ error: `Failed to prepare ${entryId}: ${msg}`,
217
+ entryId,
218
+ });
219
+ continue;
220
+ }
221
+ }
222
+ const targetDirStat = lstatIfExists(targetDir);
223
+ const targetDirExists = targetDirStat != null;
224
+ const targetDirIsSymlink = targetDirStat?.isSymbolicLink() === true;
76
225
  const manifestEntry = manifest
77
226
  ? getLibraryEntry(manifest, manifestSection, entryId, platform)
78
227
  : undefined;
79
228
  const canAdoptBootstrapDir = manifest != null &&
80
229
  isBootstrapSync &&
81
230
  !manifestEntry &&
82
- fs.existsSync(targetDir) &&
231
+ targetDirExists &&
83
232
  isAdoptableBundleDir(targetDir, files);
84
233
  // Conflict detection in managed mode: check if target dir exists but isn't owned.
85
- if (manifest && fs.existsSync(targetDir) && !manifestEntry && collision !== 'takeover') {
234
+ if (manifest && targetDirExists && !manifestEntry && collision !== 'takeover') {
86
235
  if (!canAdoptBootstrapDir) {
87
236
  const isHardError = collision === 'error';
88
237
  results.push({
@@ -99,6 +248,23 @@ export function distributeBundle(opts) {
99
248
  continue;
100
249
  }
101
250
  }
251
+ const replaceTargetDir = targetDirIsSymlink;
252
+ if (replaceTargetDir && !dryRun) {
253
+ try {
254
+ fs.unlinkSync(targetDir);
255
+ }
256
+ catch (error) {
257
+ const msg = error instanceof Error ? error.message : String(error);
258
+ results.push({
259
+ platform,
260
+ targetDir,
261
+ status: 'error',
262
+ error: `Failed to replace ${entryId}: ${msg}`,
263
+ entryId,
264
+ });
265
+ continue;
266
+ }
267
+ }
102
268
  let filesWritten = 0;
103
269
  let filesSkipped = 0;
104
270
  let hadError = false;
@@ -106,28 +272,39 @@ export function distributeBundle(opts) {
106
272
  const sourceContents = [];
107
273
  for (const file of files) {
108
274
  const targetPath = path.join(targetDir, file.relativePath);
109
- if (!dryRun)
110
- ensureParentDir(targetPath);
111
275
  try {
276
+ if (!dryRun)
277
+ ensureBundleParentDir(targetDir, file.relativePath);
112
278
  const srcContent = fs.readFileSync(file.sourcePath);
279
+ const srcMode = fs.statSync(file.sourcePath).mode & 0o777;
113
280
  sourceContents.push(srcContent);
114
281
  let same = false;
115
- if (fs.existsSync(targetPath)) {
116
- const dstContent = fs.readFileSync(targetPath);
117
- same = Buffer.compare(srcContent, dstContent) === 0;
282
+ let modeSame = true;
283
+ let replaceExistingTarget = false;
284
+ if (!replaceTargetDir) {
285
+ const dstStat = lstatIfExists(targetPath);
286
+ replaceExistingTarget = dstStat?.isSymbolicLink() === true;
287
+ if (replaceExistingTarget) {
288
+ modeSame = false;
289
+ }
290
+ else if (dstStat) {
291
+ const dstContent = fs.readFileSync(targetPath);
292
+ same = Buffer.compare(srcContent, dstContent) === 0;
293
+ if (dstStat.isFile()) {
294
+ const dstMode = dstStat.mode & 0o777;
295
+ modeSame = targetModeMatchesSourceExecutableBits(srcMode, dstMode);
296
+ }
297
+ }
118
298
  }
119
- if (!same) {
299
+ if (!same || !modeSame) {
120
300
  if (!dryRun) {
121
- fs.writeFileSync(targetPath, srcContent);
122
- // Preserve executable permission for scripts
123
- try {
124
- const srcMode = fs.statSync(file.sourcePath).mode;
125
- if (srcMode & 0o111) {
126
- fs.chmodSync(targetPath, srcMode & 0o777);
127
- }
128
- }
129
- catch {
130
- // Ignore permission errors on some platforms
301
+ if (replaceExistingTarget)
302
+ fs.unlinkSync(targetPath);
303
+ if (!same)
304
+ fs.writeFileSync(targetPath, srcContent);
305
+ const currentMode = fs.statSync(targetPath).mode & 0o777;
306
+ if (!targetModeMatchesSourceExecutableBits(srcMode, currentMode)) {
307
+ fs.chmodSync(targetPath, desiredTargetMode(srcMode, currentMode));
131
308
  }
132
309
  }
133
310
  filesWritten++;
@@ -146,9 +323,16 @@ export function distributeBundle(opts) {
146
323
  }
147
324
  }
148
325
  // Clean stale files: remove files in target that are no longer in source bundle
149
- if (!dryRun && !hadError && fs.existsSync(targetDir)) {
326
+ if (!dryRun && !hadError && lstatIfExists(targetDir)?.isDirectory()) {
150
327
  const expectedFiles = new Set(files.map((f) => f.relativePath));
151
- cleanStaleFiles(targetDir, '', expectedFiles);
328
+ try {
329
+ cleanStaleFiles(targetDir, '', expectedFiles);
330
+ }
331
+ catch (error) {
332
+ hadError = true;
333
+ const msg = error instanceof Error ? error.message : String(error);
334
+ errorMessage = `Failed to clean stale files: ${msg}`;
335
+ }
152
336
  }
153
337
  if (hadError) {
154
338
  results.push({
@@ -195,16 +379,8 @@ export function distributeBundle(opts) {
195
379
  }
196
380
  }
197
381
  }
198
- // Update sync state
199
382
  const aggregateHash = platformHash.digest('hex');
200
383
  const prev = agentSync[platform]?.hash;
201
- const hadErrors = results.some((r) => r.platform === platform && r.status === 'error');
202
- if (!dryRun && !hadErrors && prev !== aggregateHash) {
203
- updateLibraryAgentSync(opts.section, (current) => ({
204
- ...current,
205
- [platform]: { hash: aggregateHash, updatedAt: timestamp },
206
- }));
207
- }
208
384
  // Cleanup orphan directories
209
385
  if (opts.cleanup) {
210
386
  const activeIds = new Set(platformSelected.map(opts.getId));
@@ -214,6 +390,7 @@ export function distributeBundle(opts) {
214
390
  for (const item of toRemove) {
215
391
  const entryPath = path.join(path.resolve(managedProjectRoot), item.entry.relativePath);
216
392
  try {
393
+ assertNoSymlinkAncestor(managedProjectRoot, entryPath, { allowFinalSymlink: true });
217
394
  const sharedPathStillOwned = hasOtherLibraryEntryAtPath(manifest, manifestSection, item.entry.relativePath, item.id, platform);
218
395
  if (sharedPathStillOwned) {
219
396
  results.push({
@@ -224,9 +401,9 @@ export function distributeBundle(opts) {
224
401
  entryId: item.id,
225
402
  });
226
403
  }
227
- else if (fs.existsSync(entryPath)) {
404
+ else if (lstatIfExists(entryPath)) {
228
405
  if (!dryRun)
229
- rmDirRecursive(entryPath);
406
+ removeBundlePath(entryPath);
230
407
  results.push({
231
408
  platform,
232
409
  targetDir: entryPath,
@@ -262,11 +439,29 @@ export function distributeBundle(opts) {
262
439
  else {
263
440
  // Exclusive mode: scan directory for orphans (existing behavior)
264
441
  const parentDir = opts.cleanup.resolveParentDir(platform);
442
+ try {
443
+ if (bundleRootDir) {
444
+ assertSafeBundleTarget(bundleRootDir, parentDir);
445
+ }
446
+ else {
447
+ assertUsableBundleRoot(parentDir);
448
+ }
449
+ }
450
+ catch (error) {
451
+ const msg = error instanceof Error ? error.message : String(error);
452
+ results.push({
453
+ platform,
454
+ targetDir: parentDir,
455
+ status: 'error',
456
+ error: `Failed to scan orphan parent: ${msg}`,
457
+ });
458
+ continue;
459
+ }
265
460
  if (fs.existsSync(parentDir)) {
266
461
  try {
267
462
  const dirEntries = fs.readdirSync(parentDir, { withFileTypes: true });
268
463
  for (const dirEntry of dirEntries) {
269
- if (!dirEntry.isDirectory())
464
+ if (!dirEntry.isDirectory() && !dirEntry.isSymbolicLink())
270
465
  continue;
271
466
  const id = dirEntry.name;
272
467
  if (opts.cleanup.isReservedDir?.(id, platform))
@@ -275,7 +470,7 @@ export function distributeBundle(opts) {
275
470
  const dirPath = path.join(parentDir, id);
276
471
  try {
277
472
  if (!dryRun)
278
- rmDirRecursive(dirPath);
473
+ removeBundlePath(dirPath);
279
474
  results.push({
280
475
  platform,
281
476
  targetDir: dirPath,
@@ -297,46 +492,44 @@ export function distributeBundle(opts) {
297
492
  }
298
493
  }
299
494
  }
300
- catch {
301
- // Ignore errors reading directory
495
+ catch (error) {
496
+ const msg = error instanceof Error ? error.message : String(error);
497
+ results.push({
498
+ platform,
499
+ targetDir: parentDir,
500
+ status: 'error',
501
+ error: `Failed to scan orphan parent: ${msg}`,
502
+ });
302
503
  }
303
504
  }
304
505
  }
305
506
  }
507
+ // Update sync state after cleanup, so cleanup failures do not record durable success.
508
+ const hadErrors = results.some((r) => r.platform === platform && r.status === 'error');
509
+ if (!dryRun && !hadErrors && prev !== aggregateHash) {
510
+ updateLibraryAgentSync(opts.section, (current) => ({
511
+ ...current,
512
+ [platform]: { hash: aggregateHash, updatedAt: timestamp },
513
+ }));
514
+ }
306
515
  }
307
516
  return { results };
308
517
  }
309
518
  /** Recursively remove files in targetDir not present in expectedFiles (relative paths). */
310
519
  function cleanStaleFiles(dir, prefix, expectedFiles) {
311
- try {
312
- const entries = fs.readdirSync(dir, { withFileTypes: true });
313
- for (const entry of entries) {
314
- const rel = prefix ? `${prefix}/${entry.name}` : entry.name;
315
- const abs = path.join(dir, entry.name);
316
- if (entry.isDirectory()) {
317
- cleanStaleFiles(abs, rel, expectedFiles);
318
- // Remove empty directories left after cleaning
319
- try {
320
- const remaining = fs.readdirSync(abs);
321
- if (remaining.length === 0)
322
- fs.rmdirSync(abs);
323
- }
324
- catch {
325
- // Ignore
326
- }
327
- }
328
- else if (!expectedFiles.has(rel)) {
329
- try {
330
- fs.unlinkSync(abs);
331
- }
332
- catch {
333
- // Ignore permission errors
334
- }
335
- }
520
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
521
+ for (const entry of entries) {
522
+ const rel = prefix ? `${prefix}/${entry.name}` : entry.name;
523
+ const abs = path.join(dir, entry.name);
524
+ if (entry.isDirectory()) {
525
+ cleanStaleFiles(abs, rel, expectedFiles);
526
+ const remaining = fs.readdirSync(abs);
527
+ if (remaining.length === 0)
528
+ fs.rmdirSync(abs);
529
+ }
530
+ else if (!expectedFiles.has(rel)) {
531
+ fs.unlinkSync(abs);
336
532
  }
337
- }
338
- catch {
339
- // Ignore errors reading directory
340
533
  }
341
534
  }
342
535
  //# sourceMappingURL=distribute-bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"distribute-bundle.js","sourceRoot":"","sources":["../../src/library/distribute-bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distribute-bundle.js","sourceRoot":"","sources":["../../src/library/distribute-bundle.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import path from 'node:path';
3
3
  import { CodexAgent } from '../../agents/codex.js';
4
4
  import { sanitizeMcpName } from '../../agents/json-utils.js';
5
5
  import { getCodexDir, getProjectCodexSkillsDir } from '../../config/paths.js';
6
+ import { distributeCodexHooks } from '../../hooks/codex-distribute.js';
6
7
  import { distributeCodexSubagents } from '../../subagents/codex-distribute.js';
7
8
  import { extractMdId, resolveProjectRoot } from './common.js';
8
9
  const adapter = new CodexAgent();
@@ -57,7 +58,12 @@ export const codexTarget = {
57
58
  isReservedDir: (id) => id === '.system',
58
59
  },
59
60
  hooks: {
60
- distribute: (_options) => ({ results: [] }),
61
+ distribute: (options) => distributeCodexHooks({
62
+ scope: options.scope,
63
+ selected: options.selected,
64
+ dryRun: options.dryRun,
65
+ projectMode: options.projectMode,
66
+ }),
61
67
  },
62
68
  };
63
69
  export const CODEX_SKILLS_RESERVED_DIRS = new Set(['.system']);
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/targets/builtin/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/targets/builtin/codex.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-switchboard",
3
- "version": "0.4.16",
3
+ "version": "0.4.18",
4
4
  "description": "Unified MCP server manager for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {