agent-switchboard 0.2.3 → 0.3.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/README.md +29 -28
- package/dist/agents/registry.d.ts +0 -6
- package/dist/agents/registry.js +0 -13
- package/dist/agents/registry.js.map +1 -1
- package/dist/commands/distribution.d.ts +3 -4
- package/dist/commands/distribution.js +18 -116
- package/dist/commands/distribution.js.map +1 -1
- package/dist/config/application-config.d.ts +1 -1
- package/dist/config/application-config.js +2 -10
- package/dist/config/application-config.js.map +1 -1
- package/dist/config/mcp-config.js +1 -3
- package/dist/config/mcp-config.js.map +1 -1
- package/dist/config/paths.d.ts +11 -7
- package/dist/config/paths.js +29 -9
- package/dist/config/paths.js.map +1 -1
- package/dist/config/schemas.d.ts +331 -43
- package/dist/config/schemas.js +109 -15
- package/dist/config/schemas.js.map +1 -1
- package/dist/config/switchboard-config.js +0 -1
- package/dist/config/switchboard-config.js.map +1 -1
- package/dist/extensions/api.d.ts +49 -0
- package/dist/extensions/api.js +41 -0
- package/dist/extensions/api.js.map +1 -0
- package/dist/extensions/loader.d.ts +17 -0
- package/dist/extensions/loader.js +73 -0
- package/dist/extensions/loader.js.map +1 -0
- package/dist/hooks/distribution.js +1 -16
- package/dist/hooks/distribution.js.map +1 -1
- package/dist/index.js +77 -123
- package/dist/index.js.map +1 -1
- package/dist/library/distribute-bundle.js +1 -19
- package/dist/library/distribute-bundle.js.map +1 -1
- package/dist/library/fs.d.ts +12 -0
- package/dist/library/fs.js +81 -0
- package/dist/library/fs.js.map +1 -1
- package/dist/library/sources.d.ts +6 -1
- package/dist/library/sources.js +73 -16
- package/dist/library/sources.js.map +1 -1
- package/dist/rules/agents.d.ts +0 -4
- package/dist/rules/agents.js +0 -10
- package/dist/rules/agents.js.map +1 -1
- package/dist/rules/distribution.d.ts +1 -2
- package/dist/rules/distribution.js +20 -79
- package/dist/rules/distribution.js.map +1 -1
- package/dist/skills/distribution.d.ts +0 -22
- package/dist/skills/distribution.js +70 -185
- package/dist/skills/distribution.js.map +1 -1
- package/dist/skills/importer.js +2 -33
- package/dist/skills/importer.js.map +1 -1
- package/dist/subagents/codex-distribute.d.ts +13 -0
- package/dist/subagents/codex-distribute.js +273 -0
- package/dist/subagents/codex-distribute.js.map +1 -0
- package/dist/subagents/distribution.d.ts +3 -4
- package/dist/subagents/distribution.js +30 -410
- package/dist/subagents/distribution.js.map +1 -1
- package/dist/targets/builtin/claude-code.d.ts +2 -0
- package/dist/targets/builtin/claude-code.js +73 -0
- package/dist/targets/builtin/claude-code.js.map +1 -0
- package/dist/targets/builtin/claude-desktop.d.ts +2 -0
- package/dist/targets/builtin/claude-desktop.js +14 -0
- package/dist/targets/builtin/claude-desktop.js.map +1 -0
- package/dist/targets/builtin/codex.d.ts +3 -0
- package/dist/targets/builtin/codex.js +57 -0
- package/dist/targets/builtin/codex.js.map +1 -0
- package/dist/targets/builtin/common.d.ts +22 -0
- package/dist/targets/builtin/common.js +55 -0
- package/dist/targets/builtin/common.js.map +1 -0
- package/dist/targets/builtin/cursor.d.ts +2 -0
- package/dist/targets/builtin/cursor.js +95 -0
- package/dist/targets/builtin/cursor.js.map +1 -0
- package/dist/targets/builtin/gemini.d.ts +2 -0
- package/dist/targets/builtin/gemini.js +62 -0
- package/dist/targets/builtin/gemini.js.map +1 -0
- package/dist/targets/builtin/index.d.ts +10 -0
- package/dist/targets/builtin/index.js +19 -0
- package/dist/targets/builtin/index.js.map +1 -0
- package/dist/targets/builtin/opencode.d.ts +2 -0
- package/dist/targets/builtin/opencode.js +67 -0
- package/dist/targets/builtin/opencode.js.map +1 -0
- package/dist/targets/builtin/trae.d.ts +3 -0
- package/dist/targets/builtin/trae.js +56 -0
- package/dist/targets/builtin/trae.js.map +1 -0
- package/dist/targets/dsl/compiler.d.ts +13 -0
- package/dist/targets/dsl/compiler.js +215 -0
- package/dist/targets/dsl/compiler.js.map +1 -0
- package/dist/targets/dsl/index.d.ts +2 -0
- package/dist/targets/dsl/index.js +3 -0
- package/dist/targets/dsl/index.js.map +1 -0
- package/dist/targets/dsl/transforms.d.ts +77 -0
- package/dist/targets/dsl/transforms.js +159 -0
- package/dist/targets/dsl/transforms.js.map +1 -0
- package/dist/targets/init.d.ts +14 -0
- package/dist/targets/init.js +28 -0
- package/dist/targets/init.js.map +1 -0
- package/dist/targets/registry.d.ts +38 -0
- package/dist/targets/registry.js +101 -0
- package/dist/targets/registry.js.map +1 -0
- package/dist/targets/types.d.ts +93 -0
- package/dist/targets/types.js +28 -0
- package/dist/targets/types.js.map +1 -0
- package/dist/ui/plugin-ui.d.ts +1 -1
- package/dist/ui/plugin-ui.js +5 -12
- package/dist/ui/plugin-ui.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -30,17 +30,17 @@ Library entries are agent-agnostic Markdown files (or directories for skills, JS
|
|
|
30
30
|
|
|
31
31
|
## Compatibility
|
|
32
32
|
|
|
33
|
-
| Feature | Claude Code | Codex | Cursor | Gemini | OpenCode | Claude Desktop |
|
|
34
|
-
|
|
35
|
-
| MCP servers | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
36
|
-
| Project-level MCP| ✓ | ✓ | ✓ | ✓ | ✓ | |
|
|
37
|
-
| Rules | ✓ | ✓ | ✓ mdc | ✓ | ✓ | |
|
|
38
|
-
| Commands | ✓ | ✓\* | ✓ | ✓ | ✓ | |
|
|
39
|
-
| Agents | ✓ |
|
|
40
|
-
| Skills | ✓ | ✓ | ✓ | ✓ | ✓ | |
|
|
41
|
-
| Hooks | ✓ | | | | | |
|
|
42
|
-
|
|
43
|
-
\* Codex commands use deprecated `~/.codex/prompts/`; prefer skills instead.
|
|
33
|
+
| Feature | Claude Code | Codex | Cursor | Gemini | OpenCode | Trae | Claude Desktop |
|
|
34
|
+
|:-----------------|:-----------:|:-----:|:------:|:------:|:--------:|:----:|:--------------:|
|
|
35
|
+
| MCP servers | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
36
|
+
| Project-level MCP| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
|
|
37
|
+
| Rules | ✓ | ✓ | ✓ mdc | ✓ | ✓ | ✓ | |
|
|
38
|
+
| Commands | ✓ | ✓\* | ✓ | ✓ | ✓ | | |
|
|
39
|
+
| Agents | ✓ | ✓ | ✓ | | ✓ | | |
|
|
40
|
+
| Skills | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
|
|
41
|
+
| Hooks | ✓ | | | | | | |
|
|
42
|
+
|
|
43
|
+
\* Codex commands use deprecated `~/.codex/prompts/`; prefer skills instead. Trae column applies to both `trae` and `trae-cn` variants.
|
|
44
44
|
|
|
45
45
|
Cursor rules are composed into a single `asb-rules.mdc` file at `~/.cursor/rules/` with `alwaysApply: true`.
|
|
46
46
|
|
|
@@ -94,8 +94,8 @@ Library content lives under `~/.agent-switchboard/` and agent configs are update
|
|
|
94
94
|
| `asb plugin list` | List all discovered plugins and their states |
|
|
95
95
|
| `asb plugin info <ref>` | Show plugin details and components |
|
|
96
96
|
| `asb plugin enable <ref>` | Enable a plugin |
|
|
97
|
-
| `asb plugin disable <ref>` |
|
|
98
|
-
| `asb plugin uninstall <ref>` |
|
|
97
|
+
| `asb plugin disable <ref>` | Remove a plugin from the enabled list |
|
|
98
|
+
| `asb plugin uninstall <ref>` | Alias for `disable` |
|
|
99
99
|
| `asb plugin marketplace add` | Add a plugin source (local path or git URL) |
|
|
100
100
|
| `asb plugin marketplace remove` | Remove a plugin source |
|
|
101
101
|
| `asb plugin marketplace list` | List configured plugin sources |
|
|
@@ -121,21 +121,18 @@ includeDelimiters = false
|
|
|
121
121
|
[commands]
|
|
122
122
|
enabled = ["docs", "deploy"]
|
|
123
123
|
|
|
124
|
+
[plugins]
|
|
125
|
+
enabled = ["context7", "plugin-a@team-lib"]
|
|
126
|
+
|
|
124
127
|
[plugins.sources]
|
|
125
|
-
context7 = "/path/to/context7-plugin"
|
|
126
128
|
team-lib = "https://github.com/org/team-library"
|
|
127
|
-
|
|
128
|
-
[plugins.enabled]
|
|
129
|
-
context7 = true
|
|
130
|
-
"plugin-a@team-lib" = true
|
|
131
|
-
"plugin-b@team-lib" = false
|
|
132
129
|
```
|
|
133
130
|
|
|
134
|
-
Supported application IDs: `claude-code`, `claude-desktop`, `codex`, `cursor`, `gemini`, `opencode`.
|
|
131
|
+
Supported application IDs: `claude-code`, `claude-desktop`, `codex`, `cursor`, `gemini`, `opencode`, `trae`, `trae-cn`.
|
|
135
132
|
|
|
136
|
-
|
|
133
|
+
All entry-level sections (`rules`, `commands`, `agents`, `skills`, `hooks`, `plugins`) use `enabled = [...]` where array order defines composition priority. Plugin references in `enabled` arrays use `plugin:bareId` or `plugin@source:bareId` syntax.
|
|
137
134
|
|
|
138
|
-
`[plugins.
|
|
135
|
+
The `[plugins.sources]` sub-table declares explicit plugin locations. Local plugins in `~/.asb/plugins/` are auto-discovered without configuration.
|
|
139
136
|
|
|
140
137
|
### Per-Application Overrides
|
|
141
138
|
|
|
@@ -225,6 +222,8 @@ The interactive selector lets you **reorder** snippets. For most agents, rules a
|
|
|
225
222
|
| Cursor | `~/.cursor/rules/asb-rules.mdc` | `<project>/.cursor/rules/asb-rules.mdc` |
|
|
226
223
|
| Gemini | `~/.gemini/AGENTS.md` | `<project>/.gemini/AGENTS.md` |
|
|
227
224
|
| OpenCode | `~/.config/opencode/AGENTS.md` | `<project>/AGENTS.md` |
|
|
225
|
+
| Trae | `~/.trae/user_rules/asb-rules.md` | `<project>/.trae/rules/asb-rules.md` |
|
|
226
|
+
| Trae-CN | `~/.trae-cn/user_rules/asb-rules.md` | `<project>/.trae/rules/asb-rules.md` |
|
|
228
227
|
|
|
229
228
|
### Commands
|
|
230
229
|
|
|
@@ -245,7 +244,7 @@ Same format as commands, stored in `~/.agent-switchboard/agents/`.
|
|
|
245
244
|
asb agent load claude-code # import from ~/.claude/agents/
|
|
246
245
|
```
|
|
247
246
|
|
|
248
|
-
Platforms: `claude-code`, `
|
|
247
|
+
Platforms: `claude-code`, `codex`, `cursor`, `opencode`.
|
|
249
248
|
|
|
250
249
|
### Skills
|
|
251
250
|
|
|
@@ -305,15 +304,17 @@ No manifest is required. A bare directory with just `rules/` and `skills/` subdi
|
|
|
305
304
|
|
|
306
305
|
### Sources
|
|
307
306
|
|
|
308
|
-
Plugin sources are
|
|
307
|
+
Plugin sources are declared in `[plugins.sources]`:
|
|
309
308
|
|
|
310
309
|
```toml
|
|
311
310
|
[plugins.sources]
|
|
312
311
|
my-plugin = "/path/to/my-plugin"
|
|
313
|
-
team-lib
|
|
314
|
-
mono-sub
|
|
312
|
+
team-lib = "https://github.com/org/team-library"
|
|
313
|
+
mono-sub = "https://github.com/org/monorepo/tree/main/plugins/my-plugin"
|
|
315
314
|
```
|
|
316
315
|
|
|
316
|
+
Local plugins placed in `~/.asb/plugins/` are auto-discovered without explicit configuration.
|
|
317
|
+
|
|
317
318
|
ASB auto-detects two source kinds:
|
|
318
319
|
|
|
319
320
|
| Kind | Detection | Structure |
|
|
@@ -330,8 +331,8 @@ asb plugin marketplace list # list sources
|
|
|
330
331
|
asb plugin marketplace remove my-plugin # remove source
|
|
331
332
|
|
|
332
333
|
asb plugin enable context7 # activate (all components enter distribution)
|
|
333
|
-
asb plugin disable context7 #
|
|
334
|
-
asb plugin uninstall context7 #
|
|
334
|
+
asb plugin disable context7 # remove from the enabled list
|
|
335
|
+
asb plugin uninstall context7 # alias for disable
|
|
335
336
|
asb plugin list # show all discovered plugins
|
|
336
337
|
asb plugin info context7 # show plugin details + components
|
|
337
338
|
```
|
|
@@ -15,9 +15,3 @@ export declare function getAgentById(id: string): AgentAdapter;
|
|
|
15
15
|
* @returns Array of agent IDs
|
|
16
16
|
*/
|
|
17
17
|
export declare function supportedAgentIds(): string[];
|
|
18
|
-
/**
|
|
19
|
-
* Register a new agent adapter
|
|
20
|
-
* Used for dynamic registration or testing
|
|
21
|
-
* @param adapter - Agent adapter to register
|
|
22
|
-
*/
|
|
23
|
-
export declare function registerAgent(adapter: AgentAdapter): void;
|
package/dist/agents/registry.js
CHANGED
|
@@ -43,17 +43,4 @@ export function getAgentById(id) {
|
|
|
43
43
|
export function supportedAgentIds() {
|
|
44
44
|
return agents.map((a) => a.id);
|
|
45
45
|
}
|
|
46
|
-
/**
|
|
47
|
-
* Register a new agent adapter
|
|
48
|
-
* Used for dynamic registration or testing
|
|
49
|
-
* @param adapter - Agent adapter to register
|
|
50
|
-
*/
|
|
51
|
-
export function registerAgent(adapter) {
|
|
52
|
-
// Check if already registered
|
|
53
|
-
const exists = agents.find((a) => a.id === adapter.id);
|
|
54
|
-
if (exists) {
|
|
55
|
-
throw new Error(`Agent ${adapter.id} is already registered`);
|
|
56
|
-
}
|
|
57
|
-
agents.push(adapter);
|
|
58
|
-
}
|
|
59
46
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;;GAGG;AACH,MAAM,MAAM,GAAmB;IAC7B,IAAI,eAAe,EAAE;IACrB,IAAI,kBAAkB,EAAE;IACxB,IAAI,UAAU,EAAE;IAChB,IAAI,WAAW,EAAE;IACjB,IAAI,WAAW,EAAE;IACjB,IAAI,aAAa,EAAE;IACnB,IAAI,SAAS,CAAC,MAAM,CAAC;IACrB,IAAI,SAAS,CAAC,SAAS,CAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,uBAAuB,iBAAiB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;;GAGG;AACH,MAAM,MAAM,GAAmB;IAC7B,IAAI,eAAe,EAAE;IACrB,IAAI,kBAAkB,EAAE;IACxB,IAAI,UAAU,EAAE;IAChB,IAAI,WAAW,EAAE;IACjB,IAAI,WAAW,EAAE;IACjB,IAAI,aAAa,EAAE;IACnB,IAAI,SAAS,CAAC,MAAM,CAAC;IACrB,IAAI,SAAS,CAAC,SAAS,CAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,uBAAuB,iBAAiB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import type { ConfigScope } from '../config/scope.js';
|
|
2
2
|
import { type DistributeOutcome } from '../library/distribute.js';
|
|
3
|
-
export type CommandPlatform = 'claude-code' | 'codex' | 'cursor' | 'gemini' | 'opencode';
|
|
4
3
|
export interface CommandDistributionResult {
|
|
5
|
-
platform:
|
|
4
|
+
platform: string;
|
|
6
5
|
filePath: string;
|
|
7
6
|
status: 'written' | 'skipped' | 'error';
|
|
8
7
|
reason?: string;
|
|
9
8
|
error?: string;
|
|
10
9
|
}
|
|
11
|
-
export type CommandDistributionOutcome = DistributeOutcome<
|
|
12
|
-
export declare function resolveCommandFilePath(platform:
|
|
10
|
+
export type CommandDistributionOutcome = DistributeOutcome<string>;
|
|
11
|
+
export declare function resolveCommandFilePath(platform: string, id: string, scope?: ConfigScope): string;
|
|
13
12
|
export declare function distributeCommands(scope?: ConfigScope): CommandDistributionOutcome;
|
|
@@ -1,123 +1,25 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
-
import { stringify as toToml } from '@iarna/toml';
|
|
3
|
-
import { getClaudeDir, getCodexDir, getCursorDir, getGeminiDir, getOpencodePath, getProjectClaudeDir, getProjectCursorDir, getProjectGeminiDir, getProjectOpencodePath, } from '../config/paths.js';
|
|
4
2
|
import { distributeLibrary, } from '../library/distribute.js';
|
|
5
3
|
import { loadLibraryStateSectionForApplication } from '../library/state.js';
|
|
6
|
-
import {
|
|
4
|
+
import { filterInstalled, getTargetById, getTargetsForSection } from '../targets/registry.js';
|
|
7
5
|
import { loadCommandLibrary } from './library.js';
|
|
8
|
-
/**
|
|
9
|
-
* Map platform to agent ID for per-agent configuration lookup
|
|
10
|
-
*/
|
|
11
|
-
function platformToAgentId(platform) {
|
|
12
|
-
return platform;
|
|
13
|
-
}
|
|
14
6
|
export function resolveCommandFilePath(platform, id, scope) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const projectRoot = scope?.project?.trim();
|
|
19
|
-
switch (platform) {
|
|
20
|
-
case 'claude-code': {
|
|
21
|
-
if (projectRoot && projectRoot.length > 0) {
|
|
22
|
-
return path.join(getProjectClaudeDir(projectRoot), 'commands');
|
|
23
|
-
}
|
|
24
|
-
return path.join(getClaudeDir(), 'commands');
|
|
25
|
-
}
|
|
26
|
-
case 'codex': {
|
|
27
|
-
return path.join(getCodexDir(), 'prompts');
|
|
28
|
-
}
|
|
29
|
-
case 'cursor': {
|
|
30
|
-
if (projectRoot && projectRoot.length > 0) {
|
|
31
|
-
return path.join(getProjectCursorDir(projectRoot), 'commands');
|
|
32
|
-
}
|
|
33
|
-
return path.join(getCursorDir(), 'commands');
|
|
34
|
-
}
|
|
35
|
-
case 'gemini': {
|
|
36
|
-
if (projectRoot && projectRoot.length > 0) {
|
|
37
|
-
return path.join(getProjectGeminiDir(projectRoot), 'commands');
|
|
38
|
-
}
|
|
39
|
-
return path.join(getGeminiDir(), 'commands');
|
|
40
|
-
}
|
|
41
|
-
case 'opencode': {
|
|
42
|
-
if (projectRoot && projectRoot.length > 0) {
|
|
43
|
-
return getProjectOpencodePath(projectRoot, 'command');
|
|
44
|
-
}
|
|
45
|
-
return getOpencodePath('command');
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
function getCommandFilename(platform, id) {
|
|
50
|
-
return platform === 'gemini' ? `${id}.toml` : `${id}.md`;
|
|
51
|
-
}
|
|
52
|
-
function buildFrontmatterForClaude(entry) {
|
|
53
|
-
const base = {};
|
|
54
|
-
if (entry.metadata.description)
|
|
55
|
-
base.description = entry.metadata.description;
|
|
56
|
-
const extras = entry.metadata.extras;
|
|
57
|
-
const cc = extras?.['claude-code'] ?? undefined;
|
|
58
|
-
if (cc && typeof cc === 'object') {
|
|
59
|
-
for (const [k, v] of Object.entries(cc))
|
|
60
|
-
base[k] = v;
|
|
61
|
-
}
|
|
62
|
-
return base;
|
|
63
|
-
}
|
|
64
|
-
function buildFrontmatterForOpencode(entry) {
|
|
65
|
-
const extras = entry.metadata.extras;
|
|
66
|
-
const opencode = extras?.opencode ?? undefined;
|
|
67
|
-
const base = {};
|
|
68
|
-
if (entry.metadata.description)
|
|
69
|
-
base.description = entry.metadata.description;
|
|
70
|
-
if (opencode && typeof opencode === 'object') {
|
|
71
|
-
for (const [k, v] of Object.entries(opencode))
|
|
72
|
-
base[k] = v;
|
|
73
|
-
}
|
|
74
|
-
return base;
|
|
75
|
-
}
|
|
76
|
-
function renderForPlatform(platform, entry) {
|
|
77
|
-
switch (platform) {
|
|
78
|
-
case 'claude-code': {
|
|
79
|
-
const fm = buildFrontmatterForClaude(entry);
|
|
80
|
-
return wrapFrontmatter(fm, entry.content);
|
|
81
|
-
}
|
|
82
|
-
case 'codex': {
|
|
83
|
-
const desc = entry.metadata.description?.trim();
|
|
84
|
-
const header = desc && desc.length > 0 ? `<!-- ${desc} -->\n\n` : '';
|
|
85
|
-
return (`<!-- [deprecated] Codex custom prompts are deprecated. Consider migrating to skills: https://developers.openai.com/codex/skills -->\n\n` +
|
|
86
|
-
`${header}${entry.content.trimStart()}`);
|
|
87
|
-
}
|
|
88
|
-
case 'gemini': {
|
|
89
|
-
const extras = entry.metadata.extras;
|
|
90
|
-
const g = extras?.gemini ?? undefined;
|
|
91
|
-
const obj = {
|
|
92
|
-
prompt: entry.content.trimStart(),
|
|
93
|
-
};
|
|
94
|
-
if (entry.metadata.description)
|
|
95
|
-
obj.description = entry.metadata.description;
|
|
96
|
-
if (g && typeof g === 'object') {
|
|
97
|
-
for (const [k, v] of Object.entries(g))
|
|
98
|
-
obj[k] = v;
|
|
99
|
-
}
|
|
100
|
-
// biome-ignore lint/suspicious/noExplicitAny: TOML stringify expects JSON-like values; cast is safe here
|
|
101
|
-
return toToml(obj);
|
|
102
|
-
}
|
|
103
|
-
case 'opencode': {
|
|
104
|
-
const fm = buildFrontmatterForOpencode(entry);
|
|
105
|
-
return wrapFrontmatter(fm, entry.content);
|
|
106
|
-
}
|
|
107
|
-
case 'cursor': {
|
|
108
|
-
return `${entry.content.trimEnd()}\n`;
|
|
109
|
-
}
|
|
7
|
+
const target = getTargetById(platform);
|
|
8
|
+
if (!target?.commands) {
|
|
9
|
+
throw new Error(`Unknown command platform: ${platform}`);
|
|
110
10
|
}
|
|
11
|
+
const h = target.commands;
|
|
12
|
+
return path.join(h.resolveTargetDir(scope), h.getFilename(id));
|
|
111
13
|
}
|
|
112
14
|
export function distributeCommands(scope) {
|
|
113
15
|
const entries = loadCommandLibrary();
|
|
114
16
|
const byId = new Map(entries.map((e) => [e.id, e]));
|
|
115
|
-
const
|
|
116
|
-
|
|
17
|
+
const targets = filterInstalled(getTargetsForSection('commands'));
|
|
18
|
+
const handlerMap = new Map(targets.map((t) => [t.id, t.commands]));
|
|
19
|
+
const platforms = targets.map((t) => t.id);
|
|
117
20
|
const cleanup = {
|
|
118
|
-
resolveTargetDir: (p) =>
|
|
21
|
+
resolveTargetDir: (p) => handlerMap.get(p).resolveTargetDir(scope),
|
|
119
22
|
extractId: (filename) => {
|
|
120
|
-
// Try both extensions since we don't know platform in extractId
|
|
121
23
|
if (filename.endsWith('.toml'))
|
|
122
24
|
return filename.slice(0, -5);
|
|
123
25
|
if (filename.endsWith('.md'))
|
|
@@ -125,10 +27,8 @@ export function distributeCommands(scope) {
|
|
|
125
27
|
return null;
|
|
126
28
|
},
|
|
127
29
|
};
|
|
128
|
-
// Filter entries based on per-agent configuration
|
|
129
30
|
const filterSelected = (platform, _allEntries) => {
|
|
130
|
-
const
|
|
131
|
-
const state = loadLibraryStateSectionForApplication('commands', agentId, scope);
|
|
31
|
+
const state = loadLibraryStateSectionForApplication('commands', platform, scope);
|
|
132
32
|
const activeIds = state.enabled;
|
|
133
33
|
const selected = [];
|
|
134
34
|
for (const id of activeIds) {
|
|
@@ -140,19 +40,21 @@ export function distributeCommands(scope) {
|
|
|
140
40
|
};
|
|
141
41
|
const outcome = distributeLibrary({
|
|
142
42
|
section: 'commands',
|
|
143
|
-
selected: entries,
|
|
43
|
+
selected: entries,
|
|
144
44
|
platforms,
|
|
145
|
-
resolveFilePath: (p, e) =>
|
|
146
|
-
|
|
45
|
+
resolveFilePath: (p, e) => {
|
|
46
|
+
const h = handlerMap.get(p);
|
|
47
|
+
return path.join(h.resolveTargetDir(scope), h.getFilename(e.id));
|
|
48
|
+
},
|
|
49
|
+
render: (p, e) => handlerMap.get(p).render(e),
|
|
147
50
|
getId: (e) => e.id,
|
|
148
51
|
cleanup,
|
|
149
52
|
scope,
|
|
150
53
|
filterSelected,
|
|
151
54
|
});
|
|
152
|
-
// Warn about Codex custom prompts deprecation
|
|
153
55
|
const codexWrites = outcome.results.filter((r) => r.platform === 'codex' && r.status === 'written');
|
|
154
56
|
if (codexWrites.length > 0) {
|
|
155
|
-
console.warn(
|
|
57
|
+
console.warn('[codex] Custom prompts are deprecated. Consider migrating to skills: https://developers.openai.com/codex/skills');
|
|
156
58
|
}
|
|
157
59
|
return outcome;
|
|
158
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/commands/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/commands/distribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ export declare function getApplicationsWithOverrides(config: SwitchboardConfig):
|
|
|
38
38
|
/**
|
|
39
39
|
* Resolve the effective enabled list for a section, merging:
|
|
40
40
|
* 1. Global `config.<section>.enabled`
|
|
41
|
-
* 2. Plugin expansion: `config.plugins.enabled`
|
|
41
|
+
* 2. Plugin expansion: `config.plugins.enabled` -> PluginIndex.expand -> per-section IDs
|
|
42
42
|
* 3. Plugin exclude: `config.plugins.exclude.<section>` removals
|
|
43
43
|
* 4. Per-application overrides (`add`/`remove`/`enabled`)
|
|
44
44
|
*
|
|
@@ -82,18 +82,10 @@ export function getApplicationsWithOverrides(config) {
|
|
|
82
82
|
return result;
|
|
83
83
|
}
|
|
84
84
|
// ── Plugin-aware effective config ──────────────────────────────────
|
|
85
|
-
/**
|
|
86
|
-
* Get enabled plugin refs from `plugins.enabled` boolean map (true keys only).
|
|
87
|
-
*/
|
|
88
|
-
function getEnabledPluginRefs(config) {
|
|
89
|
-
return Object.entries(config.plugins.enabled)
|
|
90
|
-
.filter(([, v]) => v === true)
|
|
91
|
-
.map(([k]) => k);
|
|
92
|
-
}
|
|
93
85
|
/**
|
|
94
86
|
* Resolve the effective enabled list for a section, merging:
|
|
95
87
|
* 1. Global `config.<section>.enabled`
|
|
96
|
-
* 2. Plugin expansion: `config.plugins.enabled`
|
|
88
|
+
* 2. Plugin expansion: `config.plugins.enabled` -> PluginIndex.expand -> per-section IDs
|
|
97
89
|
* 3. Plugin exclude: `config.plugins.exclude.<section>` removals
|
|
98
90
|
* 4. Per-application overrides (`add`/`remove`/`enabled`)
|
|
99
91
|
*
|
|
@@ -104,7 +96,7 @@ export function resolveEffectiveSectionConfig(section, appId, scope) {
|
|
|
104
96
|
const layerOptions = scopeToLayerOptions(scope);
|
|
105
97
|
const { config } = loadMergedSwitchboardConfig(layerOptions);
|
|
106
98
|
const globalEnabled = [...config[section].enabled];
|
|
107
|
-
const enabledPluginRefs =
|
|
99
|
+
const { enabled: enabledPluginRefs } = config.plugins;
|
|
108
100
|
let merged;
|
|
109
101
|
if (enabledPluginRefs.length > 0) {
|
|
110
102
|
const index = buildPluginIndex(scope);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application-config.js","sourceRoot":"","sources":["../../src/config/application-config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"application-config.js","sourceRoot":"","sources":["../../src/config/application-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,9 +62,7 @@ export function loadMcpConfigWithPlugins() {
|
|
|
62
62
|
if (pluginIndex.mcpServers.length === 0)
|
|
63
63
|
return base;
|
|
64
64
|
const config = loadSwitchboardConfig();
|
|
65
|
-
const enabledPlugins = new Set(
|
|
66
|
-
.filter(([, v]) => v === true)
|
|
67
|
-
.map(([k]) => k));
|
|
65
|
+
const enabledPlugins = new Set(config.plugins.enabled);
|
|
68
66
|
const merged = { ...base.mcpServers };
|
|
69
67
|
for (const ps of pluginIndex.mcpServers) {
|
|
70
68
|
if (!(ps.serverId in merged) && enabledPlugins.has(ps.pluginId)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../../src/config/mcp-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAkC,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IAEtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEhD,gDAAgD;QAChD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnE,MAAM,GAAG,GAAG,UAA0D,CAAC;gBACvE,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAE1C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,EAAE,CAAC;oBAC9C,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtD,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;oBACvB,CAAC;yBAAM,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC;IAEvC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErD,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,MAAM,cAAc,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../../src/config/mcp-config.ts"],"names":[],"mappings":"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"}
|
package/dist/config/paths.d.ts
CHANGED
|
@@ -19,10 +19,8 @@ export declare function getConfigDir(): string;
|
|
|
19
19
|
*/
|
|
20
20
|
export declare function getMcpConfigPath(): string;
|
|
21
21
|
/**
|
|
22
|
-
* Returns the absolute path to the Agent Switchboard config file (config.toml)
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* @returns {string} Absolute path to ~/.agent-switchboard/config.toml
|
|
22
|
+
* Returns the absolute path to the Agent Switchboard config file (config.toml).
|
|
23
|
+
* Resolution: ASB_CONFIG env var > <ASB_HOME>/config.toml
|
|
26
24
|
*/
|
|
27
25
|
export declare function getSwitchboardConfigPath(): string;
|
|
28
26
|
/**
|
|
@@ -55,9 +53,15 @@ export declare function getSkillsDir(): string;
|
|
|
55
53
|
*/
|
|
56
54
|
export declare function getHooksDir(): string;
|
|
57
55
|
/**
|
|
58
|
-
* Returns the directory
|
|
59
|
-
*
|
|
60
|
-
|
|
56
|
+
* Returns the plugins directory (~/.asb/plugins/).
|
|
57
|
+
* Local plugin sources can be placed here and referenced by short name.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getPluginsDir(): string;
|
|
60
|
+
/**
|
|
61
|
+
* Returns the directory for remote source clones (~/.asb/plugins/.cache/).
|
|
62
|
+
* Migrates transparently from the legacy ~/.asb/marketplaces/ location.
|
|
63
|
+
* Without namespace: returns the base cache dir.
|
|
64
|
+
* With namespace: returns the namespace-specific dir.
|
|
61
65
|
*/
|
|
62
66
|
export declare function getSourceCacheDir(namespace?: string): string;
|
|
63
67
|
/**
|
package/dist/config/paths.js
CHANGED
|
@@ -40,12 +40,13 @@ export function getMcpConfigPath() {
|
|
|
40
40
|
return path.join(getConfigDir(), 'mcp.json');
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
* Returns the absolute path to the Agent Switchboard config file (config.toml)
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* @returns {string} Absolute path to ~/.agent-switchboard/config.toml
|
|
43
|
+
* Returns the absolute path to the Agent Switchboard config file (config.toml).
|
|
44
|
+
* Resolution: ASB_CONFIG env var > <ASB_HOME>/config.toml
|
|
47
45
|
*/
|
|
48
46
|
export function getSwitchboardConfigPath() {
|
|
47
|
+
const override = process.env.ASB_CONFIG?.trim();
|
|
48
|
+
if (override && override.length > 0)
|
|
49
|
+
return override;
|
|
49
50
|
return path.join(getConfigDir(), 'config.toml');
|
|
50
51
|
}
|
|
51
52
|
/**
|
|
@@ -96,13 +97,32 @@ export function getHooksDir() {
|
|
|
96
97
|
return path.join(getConfigDir(), 'hooks');
|
|
97
98
|
}
|
|
98
99
|
/**
|
|
99
|
-
* Returns the directory
|
|
100
|
-
*
|
|
101
|
-
|
|
100
|
+
* Returns the plugins directory (~/.asb/plugins/).
|
|
101
|
+
* Local plugin sources can be placed here and referenced by short name.
|
|
102
|
+
*/
|
|
103
|
+
export function getPluginsDir() {
|
|
104
|
+
return path.join(getConfigDir(), 'plugins');
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Returns the directory for remote source clones (~/.asb/plugins/.cache/).
|
|
108
|
+
* Migrates transparently from the legacy ~/.asb/marketplaces/ location.
|
|
109
|
+
* Without namespace: returns the base cache dir.
|
|
110
|
+
* With namespace: returns the namespace-specific dir.
|
|
102
111
|
*/
|
|
103
112
|
export function getSourceCacheDir(namespace) {
|
|
104
|
-
const
|
|
105
|
-
|
|
113
|
+
const newBase = path.join(getPluginsDir(), '.cache');
|
|
114
|
+
const legacyBase = path.join(getConfigDir(), 'marketplaces');
|
|
115
|
+
if (!fs.existsSync(newBase) && fs.existsSync(legacyBase)) {
|
|
116
|
+
try {
|
|
117
|
+
fs.mkdirSync(path.dirname(newBase), { recursive: true });
|
|
118
|
+
fs.renameSync(legacyBase, newBase);
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
if (!fs.existsSync(newBase))
|
|
122
|
+
throw new Error('Failed to migrate marketplaces/ to plugins/.cache/');
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return namespace ? path.join(newBase, namespace) : newBase;
|
|
106
126
|
}
|
|
107
127
|
/**
|
|
108
128
|
* Returns the home directory for installed agent apps (Claude Code, OpenCode, etc.)
|
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,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,8CAA8C;AAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,mCAAmC;AACnC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAElD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAErD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/C,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"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"}
|