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.
Files changed (104) hide show
  1. package/README.md +29 -28
  2. package/dist/agents/registry.d.ts +0 -6
  3. package/dist/agents/registry.js +0 -13
  4. package/dist/agents/registry.js.map +1 -1
  5. package/dist/commands/distribution.d.ts +3 -4
  6. package/dist/commands/distribution.js +18 -116
  7. package/dist/commands/distribution.js.map +1 -1
  8. package/dist/config/application-config.d.ts +1 -1
  9. package/dist/config/application-config.js +2 -10
  10. package/dist/config/application-config.js.map +1 -1
  11. package/dist/config/mcp-config.js +1 -3
  12. package/dist/config/mcp-config.js.map +1 -1
  13. package/dist/config/paths.d.ts +11 -7
  14. package/dist/config/paths.js +29 -9
  15. package/dist/config/paths.js.map +1 -1
  16. package/dist/config/schemas.d.ts +331 -43
  17. package/dist/config/schemas.js +109 -15
  18. package/dist/config/schemas.js.map +1 -1
  19. package/dist/config/switchboard-config.js +0 -1
  20. package/dist/config/switchboard-config.js.map +1 -1
  21. package/dist/extensions/api.d.ts +49 -0
  22. package/dist/extensions/api.js +41 -0
  23. package/dist/extensions/api.js.map +1 -0
  24. package/dist/extensions/loader.d.ts +17 -0
  25. package/dist/extensions/loader.js +73 -0
  26. package/dist/extensions/loader.js.map +1 -0
  27. package/dist/hooks/distribution.js +1 -16
  28. package/dist/hooks/distribution.js.map +1 -1
  29. package/dist/index.js +77 -123
  30. package/dist/index.js.map +1 -1
  31. package/dist/library/distribute-bundle.js +1 -19
  32. package/dist/library/distribute-bundle.js.map +1 -1
  33. package/dist/library/fs.d.ts +12 -0
  34. package/dist/library/fs.js +81 -0
  35. package/dist/library/fs.js.map +1 -1
  36. package/dist/library/sources.d.ts +6 -1
  37. package/dist/library/sources.js +73 -16
  38. package/dist/library/sources.js.map +1 -1
  39. package/dist/rules/agents.d.ts +0 -4
  40. package/dist/rules/agents.js +0 -10
  41. package/dist/rules/agents.js.map +1 -1
  42. package/dist/rules/distribution.d.ts +1 -2
  43. package/dist/rules/distribution.js +20 -79
  44. package/dist/rules/distribution.js.map +1 -1
  45. package/dist/skills/distribution.d.ts +0 -22
  46. package/dist/skills/distribution.js +70 -185
  47. package/dist/skills/distribution.js.map +1 -1
  48. package/dist/skills/importer.js +2 -33
  49. package/dist/skills/importer.js.map +1 -1
  50. package/dist/subagents/codex-distribute.d.ts +13 -0
  51. package/dist/subagents/codex-distribute.js +273 -0
  52. package/dist/subagents/codex-distribute.js.map +1 -0
  53. package/dist/subagents/distribution.d.ts +3 -4
  54. package/dist/subagents/distribution.js +30 -410
  55. package/dist/subagents/distribution.js.map +1 -1
  56. package/dist/targets/builtin/claude-code.d.ts +2 -0
  57. package/dist/targets/builtin/claude-code.js +73 -0
  58. package/dist/targets/builtin/claude-code.js.map +1 -0
  59. package/dist/targets/builtin/claude-desktop.d.ts +2 -0
  60. package/dist/targets/builtin/claude-desktop.js +14 -0
  61. package/dist/targets/builtin/claude-desktop.js.map +1 -0
  62. package/dist/targets/builtin/codex.d.ts +3 -0
  63. package/dist/targets/builtin/codex.js +57 -0
  64. package/dist/targets/builtin/codex.js.map +1 -0
  65. package/dist/targets/builtin/common.d.ts +22 -0
  66. package/dist/targets/builtin/common.js +55 -0
  67. package/dist/targets/builtin/common.js.map +1 -0
  68. package/dist/targets/builtin/cursor.d.ts +2 -0
  69. package/dist/targets/builtin/cursor.js +95 -0
  70. package/dist/targets/builtin/cursor.js.map +1 -0
  71. package/dist/targets/builtin/gemini.d.ts +2 -0
  72. package/dist/targets/builtin/gemini.js +62 -0
  73. package/dist/targets/builtin/gemini.js.map +1 -0
  74. package/dist/targets/builtin/index.d.ts +10 -0
  75. package/dist/targets/builtin/index.js +19 -0
  76. package/dist/targets/builtin/index.js.map +1 -0
  77. package/dist/targets/builtin/opencode.d.ts +2 -0
  78. package/dist/targets/builtin/opencode.js +67 -0
  79. package/dist/targets/builtin/opencode.js.map +1 -0
  80. package/dist/targets/builtin/trae.d.ts +3 -0
  81. package/dist/targets/builtin/trae.js +56 -0
  82. package/dist/targets/builtin/trae.js.map +1 -0
  83. package/dist/targets/dsl/compiler.d.ts +13 -0
  84. package/dist/targets/dsl/compiler.js +215 -0
  85. package/dist/targets/dsl/compiler.js.map +1 -0
  86. package/dist/targets/dsl/index.d.ts +2 -0
  87. package/dist/targets/dsl/index.js +3 -0
  88. package/dist/targets/dsl/index.js.map +1 -0
  89. package/dist/targets/dsl/transforms.d.ts +77 -0
  90. package/dist/targets/dsl/transforms.js +159 -0
  91. package/dist/targets/dsl/transforms.js.map +1 -0
  92. package/dist/targets/init.d.ts +14 -0
  93. package/dist/targets/init.js +28 -0
  94. package/dist/targets/init.js.map +1 -0
  95. package/dist/targets/registry.d.ts +38 -0
  96. package/dist/targets/registry.js +101 -0
  97. package/dist/targets/registry.js.map +1 -0
  98. package/dist/targets/types.d.ts +93 -0
  99. package/dist/targets/types.js +28 -0
  100. package/dist/targets/types.js.map +1 -0
  101. package/dist/ui/plugin-ui.d.ts +1 -1
  102. package/dist/ui/plugin-ui.js +5 -12
  103. package/dist/ui/plugin-ui.js.map +1 -1
  104. package/package.json +1 -1
@@ -1,124 +1,85 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
- import { getClaudeDir, getCodexDir, getCodexSkillsDir, getCursorDir, getGeminiDir, getOpencodeRoot, getProjectClaudeDir, getProjectCodexSkillsDir, getProjectCursorDir, getProjectGeminiDir, getProjectOpencodeRoot, getProjectTraeDir, getTraeDataDir, } from '../config/paths.js';
3
+ import { getCodexSkillsDir, getGeminiDir, getOpencodeRoot, getProjectCodexSkillsDir, getProjectGeminiDir, getProjectOpencodeRoot, } from '../config/paths.js';
4
4
  import { distributeBundle, } from '../library/distribute-bundle.js';
5
+ import { isDir } from '../library/fs.js';
5
6
  import { loadLibraryStateSectionForApplication } from '../library/state.js';
7
+ import { filterInstalled, getTargetsForSection } from '../targets/registry.js';
6
8
  import { listSkillFiles, loadSkillLibrary } from './library.js';
7
- export const SKILL_PLATFORMS = [
8
- 'claude-code',
9
- 'codex',
10
- 'gemini',
11
- 'opencode',
12
- 'cursor',
13
- 'trae',
14
- 'trae-cn',
15
- ];
16
- export const SKILL_TARGETS = ['claude-code', 'agents'];
17
9
  const AGENTS_TARGET_PLATFORMS = ['codex', 'gemini', 'opencode'];
18
- const CODEX_RESERVED_DIRS = new Set(['.system']);
19
- function isCodexReservedDir(id, platform) {
20
- return (platform === 'codex' || platform === 'agents') && CODEX_RESERVED_DIRS.has(id);
21
- }
22
- /**
23
- * Check whether cursor skills should be deduped because claude-code already
24
- * has non-empty active skills for the same scope. Cursor natively scans
25
- * `.claude/skills/`, so distributing to `.cursor/skills/` as well would
26
- * create duplicates. Returning `true` means the caller should return an
27
- * empty selection for cursor (but keep cursor in the platforms array so
28
- * cleanup of orphan `.cursor/skills/` directories still executes).
29
- */
30
10
  function shouldDedupCursorSkills(scope) {
31
11
  const claudeState = loadLibraryStateSectionForApplication('skills', 'claude-code', scope);
32
12
  return claudeState.enabled.length > 0;
33
13
  }
34
14
  /**
35
15
  * Resolve parent directory containing all skills for a target/platform.
36
- *
37
- * Handles all possible values across both distribution modes:
38
- * - `'claude-code'` -> `~/.claude/skills/`
39
- * - `'codex'` -> `~/.codex/skills/`
40
- * - `'gemini'` -> `~/.gemini/skills/`
41
- * - `'opencode'` -> `~/.config/opencode/skill/`
42
- * - `'cursor'` -> `~/.cursor/skills/`
43
- * - `'trae'` -> `~/.trae/skills/`
44
- * - `'trae-cn'` -> `~/.trae-cn/skills/`
45
- * - `'agents'` -> `~/.agents/skills/`
16
+ * For registered targets, delegates to the target's skills handler.
17
+ * The 'agents' virtual target is handled specially.
46
18
  */
47
19
  function resolveSkillsParentDir(target, scope) {
48
- switch (target) {
49
- case 'claude-code':
50
- if (scope?.project) {
51
- return path.join(getProjectClaudeDir(scope.project), 'skills');
52
- }
53
- return path.join(getClaudeDir(), 'skills');
54
- case 'codex':
55
- if (scope?.project) {
56
- return path.join(getProjectCodexSkillsDir(scope.project));
57
- }
58
- return path.join(getCodexDir(), 'skills');
59
- case 'gemini':
60
- if (scope?.project) {
61
- return path.join(getProjectGeminiDir(scope.project), 'skills');
62
- }
63
- return path.join(getGeminiDir(), 'skills');
64
- case 'opencode':
65
- if (scope?.project) {
66
- return path.join(getProjectOpencodeRoot(scope.project), 'skill');
67
- }
68
- return path.join(getOpencodeRoot(), 'skill');
69
- case 'cursor':
70
- if (scope?.project) {
71
- return path.join(getProjectCursorDir(scope.project), 'skills');
72
- }
73
- return path.join(getCursorDir(), 'skills');
74
- case 'trae':
75
- case 'trae-cn':
76
- if (scope?.project) {
77
- return path.join(getProjectTraeDir(scope.project), 'skills');
78
- }
79
- return path.join(getTraeDataDir(target), 'skills');
80
- case 'agents':
81
- if (scope?.project) {
82
- return getProjectCodexSkillsDir(scope.project);
83
- }
84
- return getCodexSkillsDir();
85
- default:
86
- throw new Error(`Unknown skill target: ${target}`);
20
+ if (target === 'agents') {
21
+ if (scope?.project)
22
+ return getProjectCodexSkillsDir(scope.project);
23
+ return getCodexSkillsDir();
87
24
  }
25
+ const t = getTargetsForSection('skills').find((x) => x.id === target);
26
+ if (t?.skills)
27
+ return t.skills.resolveParentDir(scope);
28
+ throw new Error(`Unknown skill target: ${target}`);
88
29
  }
89
- /**
90
- * Resolve target directory for a skill on a specific target.
91
- */
92
30
  export function resolveSkillTargetDir(target, id, scope) {
93
31
  return path.join(resolveSkillsParentDir(target, scope), id);
94
32
  }
95
- /**
96
- * Distribute active skills to supported targets.
97
- *
98
- * When `useAgentsDir` is true (2-target mode):
99
- * - `claude-code`: uses Claude Code's per-agent active skills
100
- * - `agents`: uses the union of active skills across Codex, Gemini, and OpenCode
101
- * - Legacy platform-specific paths (gemini, opencode) are cleaned up
102
- *
103
- * When `useAgentsDir` is false (default, 4-target mode):
104
- * - Distributes to each platform individually: claude-code, codex, gemini, opencode
105
- * - Only cleans up OpenCode's legacy plural `skills/` path
106
- */
107
33
  export function distributeSkills(scope, options) {
108
- const useAgentsDir = options?.useAgentsDir ?? false;
109
34
  const entries = loadSkillLibrary();
110
- if (useAgentsDir) {
111
- return distributeAgentsMode(entries, scope);
35
+ const skillTargets = filterInstalled(getTargetsForSection('skills'));
36
+ if (options?.useAgentsDir ?? false) {
37
+ const traePlatforms = skillTargets
38
+ .filter((t) => t.id === 'trae' || t.id === 'trae-cn')
39
+ .map((t) => t.id);
40
+ const cursorPlatform = skillTargets.find((t) => t.id === 'cursor') ? ['cursor'] : [];
41
+ return distributeSkillsInternal(entries, scope, {
42
+ platforms: ['claude-code', 'agents', ...cursorPlatform, ...traePlatforms],
43
+ legacyDirs: [
44
+ { path: path.join(getGeminiDir(), 'skills'), platform: 'agents' },
45
+ { path: path.join(getOpencodeRoot(), 'skill'), platform: 'agents' },
46
+ { path: path.join(getOpencodeRoot(), 'skills'), platform: 'agents' },
47
+ ...(scope?.project
48
+ ? [
49
+ { path: path.join(getProjectGeminiDir(scope.project), 'skills'), platform: 'agents' },
50
+ {
51
+ path: path.join(getProjectOpencodeRoot(scope.project), 'skill'),
52
+ platform: 'agents',
53
+ },
54
+ {
55
+ path: path.join(getProjectOpencodeRoot(scope.project), 'skills'),
56
+ platform: 'agents',
57
+ },
58
+ ]
59
+ : []),
60
+ ],
61
+ });
112
62
  }
113
- return distributeLegacyMode(entries, scope);
63
+ return distributeSkillsInternal(entries, scope, {
64
+ platforms: skillTargets.map((t) => t.id),
65
+ legacyDirs: [
66
+ { path: path.join(getOpencodeRoot(), 'skills'), platform: 'opencode' },
67
+ ...(scope?.project
68
+ ? [
69
+ {
70
+ path: path.join(getProjectOpencodeRoot(scope.project), 'skills'),
71
+ platform: 'opencode',
72
+ },
73
+ ]
74
+ : []),
75
+ ],
76
+ });
114
77
  }
115
- /**
116
- * 2-target mode: claude-code + agents
117
- */
118
- function distributeAgentsMode(entries, scope) {
119
- // In project scope, trae and trae-cn share <project>/.trae/skills/.
120
- // Pre-compute each variant's active IDs so orphan cleanup can protect
121
- // the other variant's skills from deletion.
78
+ function isReservedDir(id, platform) {
79
+ const t = getTargetsForSection('skills').find((x) => x.id === platform);
80
+ return t?.skills?.isReservedDir?.(id) ?? false;
81
+ }
82
+ function distributeSkillsInternal(entries, scope, options) {
122
83
  const traeActiveIds = scope?.project
123
84
  ? new Map(['trae', 'trae-cn'].map((v) => [
124
85
  v,
@@ -128,7 +89,9 @@ function distributeAgentsMode(entries, scope) {
128
89
  const cleanup = {
129
90
  resolveParentDir: (target) => resolveSkillsParentDir(target, scope),
130
91
  isReservedDir: (id, platform) => {
131
- if (isCodexReservedDir(id, platform))
92
+ if (isReservedDir(id, platform))
93
+ return true;
94
+ if (platform === 'agents' && id === '.system')
132
95
  return true;
133
96
  if (traeActiveIds && (platform === 'trae' || platform === 'trae-cn')) {
134
97
  const other = platform === 'trae' ? 'trae-cn' : 'trae';
@@ -142,97 +105,24 @@ function distributeAgentsMode(entries, scope) {
142
105
  if (shouldDedupCursorSkills(scope))
143
106
  return [];
144
107
  const state = loadLibraryStateSectionForApplication('skills', target, scope);
145
- const activeIds = new Set(state.enabled);
146
- return allEntries.filter((e) => activeIds.has(e.id));
108
+ return allEntries.filter((e) => new Set(state.enabled).has(e.id));
147
109
  }
148
110
  if (target === 'agents') {
149
111
  const unionIds = new Set();
150
112
  for (const agentId of AGENTS_TARGET_PLATFORMS) {
151
- const state = loadLibraryStateSectionForApplication('skills', agentId, scope);
152
- for (const id of state.enabled) {
113
+ for (const id of loadLibraryStateSectionForApplication('skills', agentId, scope).enabled) {
153
114
  unionIds.add(id);
154
115
  }
155
116
  }
156
117
  return allEntries.filter((e) => unionIds.has(e.id));
157
118
  }
158
119
  const state = loadLibraryStateSectionForApplication('skills', target, scope);
159
- const activeIds = new Set(state.enabled);
160
- return allEntries.filter((e) => activeIds.has(e.id));
161
- };
162
- const outcome = distributeBundle({
163
- section: 'skills',
164
- selected: entries,
165
- platforms: [...SKILL_TARGETS, 'cursor', 'trae', 'trae-cn'],
166
- resolveTargetDir: (target, entry) => resolveSkillTargetDir(target, entry.id, scope),
167
- listFiles: listSkillFiles,
168
- getId: (entry) => entry.id,
169
- cleanup,
170
- scope,
171
- filterSelected,
172
- });
173
- // Legacy cleanup: remove platform-specific paths that are no longer needed
174
- // in agents mode (gemini, opencode wrote their own paths in older versions).
175
- const legacyDirs = [
176
- path.join(getGeminiDir(), 'skills'),
177
- path.join(getOpencodeRoot(), 'skill'),
178
- path.join(getOpencodeRoot(), 'skills'),
179
- ...(scope?.project
180
- ? [
181
- path.join(getProjectGeminiDir(scope.project), 'skills'),
182
- path.join(getProjectOpencodeRoot(scope.project), 'skill'),
183
- path.join(getProjectOpencodeRoot(scope.project), 'skills'),
184
- ]
185
- : []),
186
- ];
187
- for (const legacyDir of legacyDirs) {
188
- if (fs.existsSync(legacyDir) && fs.statSync(legacyDir).isDirectory()) {
189
- fs.rmSync(legacyDir, { recursive: true });
190
- outcome.results.push({
191
- platform: 'agents',
192
- targetDir: legacyDir,
193
- status: 'deleted',
194
- reason: 'legacy platform-specific path',
195
- });
196
- }
197
- }
198
- return summarize(outcome);
199
- }
200
- /**
201
- * Per-platform mode: claude-code, codex, gemini, opencode, cursor, trae, trae-cn
202
- */
203
- function distributeLegacyMode(entries, scope) {
204
- // Same shared-dir protection as distributeAgentsMode (see comment there).
205
- const traeActiveIds = scope?.project
206
- ? new Map(['trae', 'trae-cn'].map((v) => [
207
- v,
208
- new Set(loadLibraryStateSectionForApplication('skills', v, scope).enabled),
209
- ]))
210
- : null;
211
- const cleanup = {
212
- resolveParentDir: (target) => resolveSkillsParentDir(target, scope),
213
- isReservedDir: (id, platform) => {
214
- if (isCodexReservedDir(id, platform))
215
- return true;
216
- if (traeActiveIds && (platform === 'trae' || platform === 'trae-cn')) {
217
- const other = platform === 'trae' ? 'trae-cn' : 'trae';
218
- return traeActiveIds.get(other)?.has(id) ?? false;
219
- }
220
- return false;
221
- },
222
- };
223
- const filterSelected = (target, allEntries) => {
224
- if (target === 'cursor') {
225
- if (shouldDedupCursorSkills(scope))
226
- return [];
227
- }
228
- const state = loadLibraryStateSectionForApplication('skills', target, scope);
229
- const activeIds = new Set(state.enabled);
230
- return allEntries.filter((e) => activeIds.has(e.id));
120
+ return allEntries.filter((e) => new Set(state.enabled).has(e.id));
231
121
  };
232
122
  const outcome = distributeBundle({
233
123
  section: 'skills',
234
124
  selected: entries,
235
- platforms: SKILL_PLATFORMS,
125
+ platforms: options.platforms,
236
126
  resolveTargetDir: (target, entry) => resolveSkillTargetDir(target, entry.id, scope),
237
127
  listFiles: listSkillFiles,
238
128
  getId: (entry) => entry.id,
@@ -240,19 +130,14 @@ function distributeLegacyMode(entries, scope) {
240
130
  scope,
241
131
  filterSelected,
242
132
  });
243
- // Legacy cleanup: only clean OpenCode's plural `skills/` path (original behavior)
244
- const legacyDirs = [
245
- path.join(getOpencodeRoot(), 'skills'),
246
- ...(scope?.project ? [path.join(getProjectOpencodeRoot(scope.project), 'skills')] : []),
247
- ];
248
- for (const legacyDir of legacyDirs) {
249
- if (fs.existsSync(legacyDir) && fs.statSync(legacyDir).isDirectory()) {
133
+ for (const { path: legacyDir, platform } of options.legacyDirs) {
134
+ if (isDir(legacyDir)) {
250
135
  fs.rmSync(legacyDir, { recursive: true });
251
136
  outcome.results.push({
252
- platform: 'opencode',
137
+ platform,
253
138
  targetDir: legacyDir,
254
139
  status: 'deleted',
255
- reason: 'legacy plural path',
140
+ reason: platform === 'agents' ? 'legacy platform-specific path' : 'legacy plural path',
256
141
  });
257
142
  }
258
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/skills/distribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/skills/distribution.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { getSkillsDir } from '../config/paths.js';
4
+ import { copyDirRecursive } from '../library/fs.js';
4
5
  import { parseSkillMarkdown } from './parser.js';
5
6
  const SKILL_FILE = 'SKILL.md';
6
7
  /**
@@ -45,38 +46,6 @@ function countFilesRecursive(dir) {
45
46
  }
46
47
  return count;
47
48
  }
48
- /**
49
- * Copy a directory recursively.
50
- */
51
- function copyDirRecursive(src, dest) {
52
- if (!fs.existsSync(dest)) {
53
- fs.mkdirSync(dest, { recursive: true });
54
- }
55
- const entries = fs.readdirSync(src, { withFileTypes: true });
56
- for (const entry of entries) {
57
- // Skip hidden files/directories (like .git)
58
- if (entry.name.startsWith('.'))
59
- continue;
60
- const srcPath = path.join(src, entry.name);
61
- const destPath = path.join(dest, entry.name);
62
- if (entry.isDirectory()) {
63
- copyDirRecursive(srcPath, destPath);
64
- }
65
- else if (entry.isFile()) {
66
- fs.copyFileSync(srcPath, destPath);
67
- // Preserve executable permission
68
- try {
69
- const srcMode = fs.statSync(srcPath).mode;
70
- if (srcMode & 0o111) {
71
- fs.chmodSync(destPath, srcMode & 0o777);
72
- }
73
- }
74
- catch {
75
- // Ignore permission errors
76
- }
77
- }
78
- }
79
- }
80
49
  /**
81
50
  * Prepare skill import info without actually copying.
82
51
  */
@@ -118,7 +87,7 @@ export function importSkill(platform, sourceDir, skillId, options) {
118
87
  fs.rmSync(skill.targetPath, { recursive: true });
119
88
  }
120
89
  // Copy skill directory
121
- copyDirRecursive(skill.sourcePath, skill.targetPath);
90
+ copyDirRecursive(skill.sourcePath, skill.targetPath, { skipHidden: true });
122
91
  return {
123
92
  skill,
124
93
  status: 'success',
@@ -1 +1 @@
1
- {"version":3,"file":"importer.js","sourceRoot":"","sources":["../../src/skills/importer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importer.js","sourceRoot":"","sources":["../../src/skills/importer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Codex subagent distribution logic (standalone, no target-registry imports).
3
+ *
4
+ * Extracted from distribution.ts to break circular dependencies:
5
+ * targets/builtin/codex.ts can import this; distribution.ts can import targets/registry.
6
+ */
7
+ import type { ConfigScope } from '../config/scope.js';
8
+ import type { DistributionResult } from '../library/distribute.js';
9
+ import type { GenericLibraryEntry } from '../targets/types.js';
10
+ /**
11
+ * Distribute subagents to Codex as TOML role config files + config.toml injection.
12
+ */
13
+ export declare function distributeCodexSubagents(_allEntries: GenericLibraryEntry[], byId: Map<string, GenericLibraryEntry>, scope?: ConfigScope): DistributionResult<string>[];