agent-switchboard 0.1.17 → 0.1.19
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/README.md +2 -2
- package/dist/config/paths.d.ts +7 -8
- package/dist/config/paths.js +20 -12
- package/dist/config/paths.js.map +1 -1
- package/dist/skills/distribution.js +20 -2
- package/dist/skills/distribution.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -126,7 +126,7 @@ Project-aware outputs (when using `--project <path>`):
|
|
|
126
126
|
- Skills (project-level supported):
|
|
127
127
|
- Claude Code → `<project>/.claude/skills/`
|
|
128
128
|
- Gemini → `<project>/.gemini/skills/`
|
|
129
|
-
- OpenCode → `<project>/.opencode/
|
|
129
|
+
- OpenCode → `<project>/.opencode/skill/`
|
|
130
130
|
- Codex → global only (`~/.codex/skills/`)
|
|
131
131
|
|
|
132
132
|
## Rule Library
|
|
@@ -285,7 +285,7 @@ Type to fuzzy filter the list, then confirm to persist the selection. Skills are
|
|
|
285
285
|
- Claude Code → `~/.claude/skills/<skill-id>/`
|
|
286
286
|
- Codex → `~/.codex/skills/<skill-id>/`
|
|
287
287
|
- Gemini → `~/.gemini/skills/<skill-id>/`
|
|
288
|
-
- OpenCode → `~/.config/opencode/
|
|
288
|
+
- OpenCode → `~/.config/opencode/skill/<skill-id>/`
|
|
289
289
|
|
|
290
290
|
### Inventory
|
|
291
291
|
|
package/dist/config/paths.d.ts
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Path utilities for Agent Switchboard configuration files
|
|
3
|
-
*
|
|
3
|
+
* Resolves config directory as: ASB_HOME > ~/.asb > ~/.agent-switchboard > ~/.asb (default)
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* Returns the absolute path to the Agent Switchboard config directory
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* // Windows: C:\Users\username\.agent-switchboard
|
|
6
|
+
* Returns the absolute path to the Agent Switchboard config directory.
|
|
7
|
+
* Resolution order:
|
|
8
|
+
* 1. ASB_HOME env var (explicit override)
|
|
9
|
+
* 2. ~/.asb (preferred short path, if it exists)
|
|
10
|
+
* 3. ~/.agent-switchboard (legacy path, if it exists)
|
|
11
|
+
* 4. ~/.asb (default for new installations)
|
|
13
12
|
*/
|
|
14
13
|
export declare function getConfigDir(): string;
|
|
15
14
|
/**
|
package/dist/config/paths.js
CHANGED
|
@@ -1,26 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Path utilities for Agent Switchboard configuration files
|
|
3
|
-
*
|
|
3
|
+
* Resolves config directory as: ASB_HOME > ~/.asb > ~/.agent-switchboard > ~/.asb (default)
|
|
4
4
|
*/
|
|
5
|
+
import fs from 'node:fs';
|
|
5
6
|
import os from 'node:os';
|
|
6
7
|
import path from 'node:path';
|
|
8
|
+
/** Preferred (short) config directory name */
|
|
9
|
+
const CONFIG_DIR_SHORT = '.asb';
|
|
10
|
+
/** Legacy config directory name */
|
|
11
|
+
const CONFIG_DIR_LEGACY = '.agent-switchboard';
|
|
7
12
|
/**
|
|
8
|
-
* Returns the absolute path to the Agent Switchboard config directory
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* // Windows: C:\Users\username\.agent-switchboard
|
|
13
|
+
* Returns the absolute path to the Agent Switchboard config directory.
|
|
14
|
+
* Resolution order:
|
|
15
|
+
* 1. ASB_HOME env var (explicit override)
|
|
16
|
+
* 2. ~/.asb (preferred short path, if it exists)
|
|
17
|
+
* 3. ~/.agent-switchboard (legacy path, if it exists)
|
|
18
|
+
* 4. ~/.asb (default for new installations)
|
|
15
19
|
*/
|
|
16
20
|
export function getConfigDir() {
|
|
17
|
-
// Redesigned semantics:
|
|
18
|
-
// - ASB_HOME now points directly to the Switchboard config directory (i.e., replaces ~/.agent-switchboard)
|
|
19
|
-
// - If not set, default to os.homedir()/.agent-switchboard
|
|
20
21
|
const asbHome = process.env.ASB_HOME?.trim();
|
|
21
22
|
if (asbHome && asbHome.length > 0)
|
|
22
23
|
return asbHome;
|
|
23
|
-
|
|
24
|
+
const home = os.homedir();
|
|
25
|
+
const shortDir = path.join(home, CONFIG_DIR_SHORT);
|
|
26
|
+
const legacyDir = path.join(home, CONFIG_DIR_LEGACY);
|
|
27
|
+
if (fs.existsSync(shortDir))
|
|
28
|
+
return shortDir;
|
|
29
|
+
if (fs.existsSync(legacyDir))
|
|
30
|
+
return legacyDir;
|
|
31
|
+
return shortDir;
|
|
24
32
|
}
|
|
25
33
|
/**
|
|
26
34
|
* Returns the absolute path to the MCP config file (mcp.json)
|
package/dist/config/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
1
2
|
import path from 'node:path';
|
|
2
3
|
import { getClaudeDir, getCodexDir, getGeminiDir, getOpencodeRoot, getProjectClaudeDir, getProjectGeminiDir, getProjectOpencodeRoot, } from '../config/paths.js';
|
|
3
4
|
import { distributeBundle, } from '../library/distribute-bundle.js';
|
|
@@ -29,9 +30,9 @@ function resolveSkillsParentDir(platform, scope) {
|
|
|
29
30
|
return path.join(getGeminiDir(), 'skills');
|
|
30
31
|
case 'opencode':
|
|
31
32
|
if (scope?.project) {
|
|
32
|
-
return path.join(getProjectOpencodeRoot(scope.project), '
|
|
33
|
+
return path.join(getProjectOpencodeRoot(scope.project), 'skill');
|
|
33
34
|
}
|
|
34
|
-
return path.join(getOpencodeRoot(), '
|
|
35
|
+
return path.join(getOpencodeRoot(), 'skill');
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
/**
|
|
@@ -68,6 +69,23 @@ export function distributeSkills(scope) {
|
|
|
68
69
|
scope,
|
|
69
70
|
filterSelected,
|
|
70
71
|
});
|
|
72
|
+
// Remove legacy OpenCode `skills/` (plural) directories left by earlier versions.
|
|
73
|
+
// OpenCode uses singular `skill/`; the plural form is rejected by its INVALID_DIRS guard.
|
|
74
|
+
const legacyOpencodeDirs = [
|
|
75
|
+
path.join(getOpencodeRoot(), 'skills'),
|
|
76
|
+
...(scope?.project ? [path.join(getProjectOpencodeRoot(scope.project), 'skills')] : []),
|
|
77
|
+
];
|
|
78
|
+
for (const legacyDir of legacyOpencodeDirs) {
|
|
79
|
+
if (fs.existsSync(legacyDir) && fs.statSync(legacyDir).isDirectory()) {
|
|
80
|
+
fs.rmSync(legacyDir, { recursive: true });
|
|
81
|
+
outcome.results.push({
|
|
82
|
+
platform: 'opencode',
|
|
83
|
+
targetDir: legacyDir,
|
|
84
|
+
status: 'deleted',
|
|
85
|
+
reason: 'legacy plural path',
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
71
89
|
// Calculate summary
|
|
72
90
|
const successPlatforms = new Set();
|
|
73
91
|
let totalWritten = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/skills/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAIL,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAmB,MAAM,cAAc,CAAC;AAIjF,MAAM,CAAC,MAAM,eAAe,GAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAE/F;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAuB;IAChD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,QAAuB,EAAE,KAAmB;IAC1E,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa;YAChB,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC7C,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC5C,KAAK,QAAQ;YACX,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC7C,KAAK,UAAU;YACb,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/skills/distribution.ts"],"names":[],"mappings":"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"}
|