@swarmify/agents-cli 1.0.0 → 1.1.0
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 +117 -100
- package/dist/index.js +1152 -102
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-skills.d.ts +31 -0
- package/dist/lib/agent-skills.d.ts.map +1 -0
- package/dist/lib/agent-skills.js +338 -0
- package/dist/lib/agent-skills.js.map +1 -0
- package/dist/lib/agents.d.ts +20 -0
- package/dist/lib/agents.d.ts.map +1 -1
- package/dist/lib/agents.js +118 -6
- package/dist/lib/agents.js.map +1 -1
- package/dist/lib/commands.d.ts +47 -0
- package/dist/lib/commands.d.ts.map +1 -0
- package/dist/lib/commands.js +280 -0
- package/dist/lib/commands.js.map +1 -0
- package/dist/lib/git.d.ts +17 -0
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +98 -11
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/hooks.d.ts +21 -0
- package/dist/lib/hooks.d.ts.map +1 -0
- package/dist/lib/hooks.js +234 -0
- package/dist/lib/hooks.js.map +1 -0
- package/dist/lib/registry.d.ts +28 -0
- package/dist/lib/registry.d.ts.map +1 -0
- package/dist/lib/registry.js +195 -0
- package/dist/lib/registry.js.map +1 -0
- package/dist/lib/skills.d.ts +35 -10
- package/dist/lib/skills.d.ts.map +1 -1
- package/dist/lib/skills.js +353 -101
- package/dist/lib/skills.js.map +1 -1
- package/dist/lib/state.d.ts +21 -5
- package/dist/lib/state.d.ts.map +1 -1
- package/dist/lib/state.js +131 -20
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/types.d.ts +140 -6
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +18 -1
- package/dist/lib/types.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { DEFAULT_REGISTRIES } from './types.js';
|
|
2
|
+
import { readMeta, writeMeta } from './state.js';
|
|
3
|
+
export function getRegistries(type) {
|
|
4
|
+
const meta = readMeta();
|
|
5
|
+
const defaultRegs = DEFAULT_REGISTRIES[type] || {};
|
|
6
|
+
const userRegs = meta.registries?.[type] || {};
|
|
7
|
+
// Merge defaults with user config (user overrides defaults)
|
|
8
|
+
return { ...defaultRegs, ...userRegs };
|
|
9
|
+
}
|
|
10
|
+
export function getEnabledRegistries(type) {
|
|
11
|
+
const registries = getRegistries(type);
|
|
12
|
+
return Object.entries(registries)
|
|
13
|
+
.filter(([, config]) => config.enabled)
|
|
14
|
+
.map(([name, config]) => ({ name, config }));
|
|
15
|
+
}
|
|
16
|
+
export function setRegistry(type, name, config) {
|
|
17
|
+
const meta = readMeta();
|
|
18
|
+
if (!meta.registries) {
|
|
19
|
+
meta.registries = { mcp: {}, skill: {} };
|
|
20
|
+
}
|
|
21
|
+
if (!meta.registries[type]) {
|
|
22
|
+
meta.registries[type] = {};
|
|
23
|
+
}
|
|
24
|
+
const existing = meta.registries[type][name] || DEFAULT_REGISTRIES[type]?.[name];
|
|
25
|
+
meta.registries[type][name] = { ...existing, ...config };
|
|
26
|
+
writeMeta(meta);
|
|
27
|
+
}
|
|
28
|
+
export function removeRegistry(type, name) {
|
|
29
|
+
const meta = readMeta();
|
|
30
|
+
if (meta.registries?.[type]?.[name]) {
|
|
31
|
+
delete meta.registries[type][name];
|
|
32
|
+
writeMeta(meta);
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
async function fetchMcpRegistry(url, query, limit = 20, apiKey) {
|
|
38
|
+
const params = new URLSearchParams();
|
|
39
|
+
if (query)
|
|
40
|
+
params.set('search', query);
|
|
41
|
+
params.set('limit', String(limit));
|
|
42
|
+
const fullUrl = `${url}/servers?${params}`;
|
|
43
|
+
const headers = {
|
|
44
|
+
Accept: 'application/json',
|
|
45
|
+
};
|
|
46
|
+
if (apiKey) {
|
|
47
|
+
headers['Authorization'] = `Bearer ${apiKey}`;
|
|
48
|
+
}
|
|
49
|
+
const response = await fetch(fullUrl, { headers });
|
|
50
|
+
if (!response.ok) {
|
|
51
|
+
throw new Error(`Registry request failed: ${response.status} ${response.statusText}`);
|
|
52
|
+
}
|
|
53
|
+
return response.json();
|
|
54
|
+
}
|
|
55
|
+
export async function searchMcpRegistries(query, options) {
|
|
56
|
+
const registries = getEnabledRegistries('mcp');
|
|
57
|
+
const results = [];
|
|
58
|
+
const targetRegistries = options?.registry
|
|
59
|
+
? registries.filter((r) => r.name === options.registry)
|
|
60
|
+
: registries;
|
|
61
|
+
if (targetRegistries.length === 0) {
|
|
62
|
+
if (options?.registry) {
|
|
63
|
+
throw new Error(`Registry '${options.registry}' not found or not enabled`);
|
|
64
|
+
}
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
for (const { name, config } of targetRegistries) {
|
|
68
|
+
try {
|
|
69
|
+
const response = await fetchMcpRegistry(config.url, query, options?.limit || 20, config.apiKey);
|
|
70
|
+
for (const { server } of response.servers) {
|
|
71
|
+
results.push({
|
|
72
|
+
name: server.name,
|
|
73
|
+
description: server.description,
|
|
74
|
+
type: 'mcp',
|
|
75
|
+
source: server.repository?.url || server.name,
|
|
76
|
+
registry: name,
|
|
77
|
+
version: server.version_detail?.version,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
// Log but continue with other registries
|
|
83
|
+
console.error(`Failed to search ${name}: ${err.message}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return results;
|
|
87
|
+
}
|
|
88
|
+
export async function getMcpServerInfo(serverName, registryName) {
|
|
89
|
+
const registries = getEnabledRegistries('mcp');
|
|
90
|
+
const targetRegistries = registryName
|
|
91
|
+
? registries.filter((r) => r.name === registryName)
|
|
92
|
+
: registries;
|
|
93
|
+
for (const { config } of targetRegistries) {
|
|
94
|
+
try {
|
|
95
|
+
// Search with exact name
|
|
96
|
+
const response = await fetchMcpRegistry(config.url, serverName, 10, config.apiKey);
|
|
97
|
+
// Find exact match
|
|
98
|
+
const match = response.servers.find(({ server }) => server.name === serverName ||
|
|
99
|
+
server.name.endsWith(`/${serverName}`));
|
|
100
|
+
if (match) {
|
|
101
|
+
return match.server;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// Continue to next registry
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
export async function searchSkillRegistries(_query, _options) {
|
|
111
|
+
const registries = getEnabledRegistries('skill');
|
|
112
|
+
if (registries.length === 0) {
|
|
113
|
+
// No skill registries configured - this is expected for now
|
|
114
|
+
return [];
|
|
115
|
+
}
|
|
116
|
+
// Future: implement skill registry API calls when available
|
|
117
|
+
// For now, skill: prefix falls back to git sources
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
export async function search(query, options) {
|
|
121
|
+
const results = [];
|
|
122
|
+
if (!options?.type || options.type === 'mcp') {
|
|
123
|
+
const mcpResults = await searchMcpRegistries(query, options);
|
|
124
|
+
results.push(...mcpResults);
|
|
125
|
+
}
|
|
126
|
+
if (!options?.type || options.type === 'skill') {
|
|
127
|
+
const skillResults = await searchSkillRegistries(query, options);
|
|
128
|
+
results.push(...skillResults);
|
|
129
|
+
}
|
|
130
|
+
return results;
|
|
131
|
+
}
|
|
132
|
+
export function parsePackageIdentifier(identifier) {
|
|
133
|
+
// mcp:filesystem -> MCP registry
|
|
134
|
+
if (identifier.startsWith('mcp:')) {
|
|
135
|
+
return { type: 'mcp', name: identifier.slice(4) };
|
|
136
|
+
}
|
|
137
|
+
// skill:user/repo -> skill registry (or git fallback)
|
|
138
|
+
if (identifier.startsWith('skill:')) {
|
|
139
|
+
return { type: 'skill', name: identifier.slice(6) };
|
|
140
|
+
}
|
|
141
|
+
// gh:user/repo -> git source
|
|
142
|
+
if (identifier.startsWith('gh:')) {
|
|
143
|
+
return { type: 'git', name: identifier };
|
|
144
|
+
}
|
|
145
|
+
// https://... or git@... -> git source
|
|
146
|
+
if (identifier.startsWith('https://') || identifier.startsWith('git@')) {
|
|
147
|
+
return { type: 'git', name: identifier };
|
|
148
|
+
}
|
|
149
|
+
// user/repo format -> could be either, need to search
|
|
150
|
+
if (identifier.includes('/') && !identifier.includes(':')) {
|
|
151
|
+
return { type: 'unknown', name: identifier };
|
|
152
|
+
}
|
|
153
|
+
// Single word -> search MCP registries first
|
|
154
|
+
return { type: 'unknown', name: identifier };
|
|
155
|
+
}
|
|
156
|
+
export async function resolvePackage(identifier) {
|
|
157
|
+
const parsed = parsePackageIdentifier(identifier);
|
|
158
|
+
if (parsed.type === 'git') {
|
|
159
|
+
return { type: 'git', source: parsed.name };
|
|
160
|
+
}
|
|
161
|
+
if (parsed.type === 'mcp') {
|
|
162
|
+
const entry = await getMcpServerInfo(parsed.name);
|
|
163
|
+
if (entry) {
|
|
164
|
+
return {
|
|
165
|
+
type: 'mcp',
|
|
166
|
+
source: entry.repository?.url || entry.name,
|
|
167
|
+
mcpEntry: entry,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
if (parsed.type === 'skill') {
|
|
173
|
+
// Skill registries not available yet, treat as git source
|
|
174
|
+
const gitSource = parsed.name.startsWith('gh:') ? parsed.name : `gh:${parsed.name}`;
|
|
175
|
+
return { type: 'git', source: gitSource };
|
|
176
|
+
}
|
|
177
|
+
// Unknown type - search registries
|
|
178
|
+
if (parsed.type === 'unknown') {
|
|
179
|
+
// Try MCP first
|
|
180
|
+
const mcpEntry = await getMcpServerInfo(parsed.name);
|
|
181
|
+
if (mcpEntry) {
|
|
182
|
+
return {
|
|
183
|
+
type: 'mcp',
|
|
184
|
+
source: mcpEntry.repository?.url || mcpEntry.name,
|
|
185
|
+
mcpEntry,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
// If it looks like a git path (user/repo), treat as git
|
|
189
|
+
if (parsed.name.includes('/')) {
|
|
190
|
+
return { type: 'git', source: `gh:${parsed.name}` };
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/skills.d.ts
CHANGED
|
@@ -1,14 +1,39 @@
|
|
|
1
|
-
import type { AgentId,
|
|
1
|
+
import type { AgentId, SkillMetadata, InstalledSkill } from './types.js';
|
|
2
|
+
export declare function getSkillsDir(): string;
|
|
3
|
+
export declare function ensureCentralSkillsDir(): void;
|
|
4
|
+
export declare function getAgentSkillsDir(agentId: AgentId): string;
|
|
5
|
+
export declare function getProjectSkillsDir(agentId: AgentId, cwd?: string): string;
|
|
6
|
+
export interface ValidationResult {
|
|
7
|
+
valid: boolean;
|
|
8
|
+
errors: string[];
|
|
9
|
+
warnings: string[];
|
|
10
|
+
}
|
|
11
|
+
export declare function validateSkillMetadata(metadata: SkillMetadata | null, skillName: string): ValidationResult;
|
|
12
|
+
export declare function parseSkillMetadata(skillDir: string): SkillMetadata | null;
|
|
13
|
+
export declare function countSkillRules(skillDir: string): number;
|
|
2
14
|
export interface DiscoveredSkill {
|
|
3
15
|
name: string;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
16
|
+
path: string;
|
|
17
|
+
metadata: SkillMetadata;
|
|
18
|
+
ruleCount: number;
|
|
19
|
+
validation: ValidationResult;
|
|
8
20
|
}
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
21
|
+
export declare function discoverSkillsFromRepo(repoPath: string): DiscoveredSkill[];
|
|
22
|
+
export declare function installSkill(sourcePath: string, skillName: string, agents: AgentId[], method?: 'symlink' | 'copy'): {
|
|
23
|
+
success: boolean;
|
|
24
|
+
error?: string;
|
|
25
|
+
warnings?: string[];
|
|
26
|
+
};
|
|
27
|
+
export declare function uninstallSkill(skillName: string): {
|
|
28
|
+
success: boolean;
|
|
29
|
+
error?: string;
|
|
30
|
+
};
|
|
31
|
+
export declare function listInstalledSkills(): Map<string, DiscoveredSkill>;
|
|
32
|
+
export declare function listInstalledSkillsWithScope(agentId: AgentId, cwd?: string): InstalledSkill[];
|
|
33
|
+
export declare function promoteSkillToUser(agentId: AgentId, skillName: string, cwd?: string): {
|
|
34
|
+
success: boolean;
|
|
35
|
+
error?: string;
|
|
36
|
+
};
|
|
37
|
+
export declare function getSkillInfo(skillName: string): DiscoveredSkill | null;
|
|
38
|
+
export declare function getSkillRules(skillName: string): string[];
|
|
14
39
|
//# sourceMappingURL=skills.d.ts.map
|
package/dist/lib/skills.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAc,MAAM,YAAY,CAAC;AAMrF,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAK7C;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAEzF;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,CA6BzG;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAgCzE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYxD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CAwC1E;AAED,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,MAAM,GAAE,SAAS,GAAG,MAAkB,GACrC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CA6E3D;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAkCtF;AAED,wBAAgB,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAgClE;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,GAAG,GAAE,MAAsB,GAC1B,cAAc,EAAE,CA0DlB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAsB,GAC1B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAsBtC;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAmBtE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAczD"}
|