vskill 1.2.4 → 1.2.7
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 +51 -3
- package/agents.json +6 -1
- package/dist/agents/agents-registry.d.ts +43 -16
- package/dist/agents/agents-registry.js +119 -33
- package/dist/agents/agents-registry.js.map +1 -1
- package/dist/agents/global-dirs.d.ts +19 -0
- package/dist/agents/global-dirs.js +53 -0
- package/dist/agents/global-dirs.js.map +1 -0
- package/dist/audit/fix-suggestions.js +6 -0
- package/dist/audit/fix-suggestions.js.map +1 -1
- package/dist/commands/add-github-bundle.d.ts +29 -0
- package/dist/commands/add-github-bundle.js +135 -0
- package/dist/commands/add-github-bundle.js.map +1 -0
- package/dist/commands/add-lockfile.d.ts +2 -0
- package/dist/commands/add-lockfile.js +1 -1
- package/dist/commands/add-lockfile.js.map +1 -1
- package/dist/commands/add.d.ts +5 -7
- package/dist/commands/add.js +207 -111
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/audit-webmcp.d.ts +25 -0
- package/dist/commands/audit-webmcp.js +167 -0
- package/dist/commands/audit-webmcp.js.map +1 -0
- package/dist/commands/doctor.d.ts +69 -0
- package/dist/commands/doctor.js +760 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/remove.js +43 -8
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/scan.js +1 -1
- package/dist/commands/scan.js.map +1 -1
- package/dist/commands/update.js +12 -4
- package/dist/commands/update.js.map +1 -1
- package/dist/discovery/github-skill-bundle.d.ts +74 -0
- package/dist/discovery/github-skill-bundle.js +323 -0
- package/dist/discovery/github-skill-bundle.js.map +1 -0
- package/dist/eval/skill-scanner.js +7 -1
- package/dist/eval/skill-scanner.js.map +1 -1
- package/dist/eval-server/install-skill-routes.js +10 -3
- package/dist/eval-server/install-skill-routes.js.map +1 -1
- package/dist/eval-server/remove-skill-routes.js +262 -29
- package/dist/eval-server/remove-skill-routes.js.map +1 -1
- package/dist/eval-server/studio-privacy.js +2 -3
- package/dist/eval-server/studio-privacy.js.map +1 -1
- package/dist/eval-server/utils/scan-install-locations.js +22 -3
- package/dist/eval-server/utils/scan-install-locations.js.map +1 -1
- package/dist/eval-ui/assets/{CreateSkillPage-BUrgworx.js → CreateSkillPage-CXDd6gDN.js} +1 -1
- package/dist/eval-ui/assets/{FindSkillsPalette-BstJ22TI.js → FindSkillsPalette-DQ6uGhFP.js} +2 -2
- package/dist/eval-ui/assets/{SearchPaletteCore-Dagnc-E7.js → SearchPaletteCore-DpHCf0mf.js} +1 -1
- package/dist/eval-ui/assets/{SkillDetailPanel-DnujVk6g.js → SkillDetailPanel-BjHFjGxg.js} +1 -1
- package/dist/eval-ui/assets/{UpdateDropdown-B7D2vXrm.js → UpdateDropdown-Cn4Vsq5d.js} +1 -1
- package/dist/eval-ui/assets/main-BmB7Zj9I.js +86 -0
- package/dist/eval-ui/index.html +1 -1
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -1
- package/dist/installer/bundle-files.d.ts +39 -2
- package/dist/installer/bundle-files.js +80 -10
- package/dist/installer/bundle-files.js.map +1 -1
- package/dist/installer/canonical.d.ts +39 -4
- package/dist/installer/canonical.js +178 -24
- package/dist/installer/canonical.js.map +1 -1
- package/dist/installer/multi-install.d.ts +11 -2
- package/dist/installer/multi-install.js +41 -9
- package/dist/installer/multi-install.js.map +1 -1
- package/dist/installer/transformers/index.d.ts +8 -0
- package/dist/installer/yaml-safe-mutate.js +48 -2
- package/dist/installer/yaml-safe-mutate.js.map +1 -1
- package/dist/lib/github-fetch.js +2 -0
- package/dist/lib/github-fetch.js.map +1 -1
- package/dist/lib/private-source.d.ts +8 -0
- package/dist/lib/private-source.js +16 -2
- package/dist/lib/private-source.js.map +1 -1
- package/dist/scanner/hidden-content.d.ts +47 -0
- package/dist/scanner/hidden-content.js +904 -0
- package/dist/scanner/hidden-content.js.map +1 -0
- package/dist/scanner/installer-hosts.d.ts +26 -0
- package/dist/scanner/installer-hosts.js +92 -0
- package/dist/scanner/installer-hosts.js.map +1 -0
- package/dist/scanner/judge-guard.d.ts +119 -0
- package/dist/scanner/judge-guard.js +481 -0
- package/dist/scanner/judge-guard.js.map +1 -0
- package/dist/scanner/patterns.d.ts +12 -0
- package/dist/scanner/patterns.js +353 -113
- package/dist/scanner/patterns.js.map +1 -1
- package/dist/scanner/repo-scanner.d.ts +4 -0
- package/dist/scanner/repo-scanner.js +4 -1
- package/dist/scanner/repo-scanner.js.map +1 -1
- package/dist/scanner/tier1.js +37 -7
- package/dist/scanner/tier1.js.map +1 -1
- package/dist/scanner/tier2-llm.d.ts +22 -4
- package/dist/scanner/tier2-llm.js +163 -23
- package/dist/scanner/tier2-llm.js.map +1 -1
- package/dist/scanner/types.d.ts +8 -0
- package/dist/webmcp/args.d.ts +34 -0
- package/dist/webmcp/args.js +87 -0
- package/dist/webmcp/args.js.map +1 -0
- package/dist/webmcp/attribution.d.ts +38 -0
- package/dist/webmcp/attribution.js +141 -0
- package/dist/webmcp/attribution.js.map +1 -0
- package/dist/webmcp/enumerate.d.ts +81 -0
- package/dist/webmcp/enumerate.js +436 -0
- package/dist/webmcp/enumerate.js.map +1 -0
- package/dist/webmcp/format.d.ts +9 -0
- package/dist/webmcp/format.js +105 -0
- package/dist/webmcp/format.js.map +1 -0
- package/dist/webmcp/merge.d.ts +49 -0
- package/dist/webmcp/merge.js +167 -0
- package/dist/webmcp/merge.js.map +1 -0
- package/dist/webmcp/score.d.ts +70 -0
- package/dist/webmcp/score.js +586 -0
- package/dist/webmcp/score.js.map +1 -0
- package/dist/webmcp/types.d.ts +92 -0
- package/dist/webmcp/types.js +8 -0
- package/dist/webmcp/types.js.map +1 -0
- package/package.json +1 -1
- package/dist/eval-ui/assets/main-DjA5gpjV.js +0 -86
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mkdirSync, writeFileSync, symlinkSync, lstatSync, rmSync } from "node:fs";
|
|
1
|
+
import { mkdirSync, writeFileSync, symlinkSync, lstatSync, rmSync, existsSync, unlinkSync, chmodSync, readdirSync, rmdirSync } from "node:fs";
|
|
2
2
|
// 0706 T-004: `relative` + `sep` (as pathSep) power the cross-platform
|
|
3
3
|
// path-traversal guard. `path.relative` handles Windows backslash correctly.
|
|
4
4
|
import { join, relative, dirname, sep as pathSep } from "node:path";
|
|
@@ -36,6 +36,14 @@ export function resolveAgentSkillsDir(agent, opts) {
|
|
|
36
36
|
const override = resolveGlobalSkillsDirEnvOverride(agent);
|
|
37
37
|
if (override)
|
|
38
38
|
return override;
|
|
39
|
+
// 0894: Antigravity's registry default is ~/.gemini/config/skills, but an
|
|
40
|
+
// existing legacy IDE dir ~/.gemini/antigravity/skills keeps priority so
|
|
41
|
+
// installs land where that setup already loads skills from.
|
|
42
|
+
if (agent.id === "antigravity") {
|
|
43
|
+
const legacy = resolveTilde("~/.gemini/antigravity/skills");
|
|
44
|
+
if (existsSync(legacy))
|
|
45
|
+
return legacy;
|
|
46
|
+
}
|
|
39
47
|
return resolveTilde(agent.globalSkillsDir);
|
|
40
48
|
}
|
|
41
49
|
const resolved = join(opts.projectRoot, agent.localSkillsDir);
|
|
@@ -51,6 +59,28 @@ export function resolveAgentSkillsDir(agent, opts) {
|
|
|
51
59
|
}
|
|
52
60
|
return resolved;
|
|
53
61
|
}
|
|
62
|
+
/** 0894: path of the shared canonical skills folder for a scope, without
|
|
63
|
+
* creating it (`~/.agents/skills` or `<projectRoot>/.agents/skills`). */
|
|
64
|
+
export function resolveCanonicalSkillsDir(opts) {
|
|
65
|
+
return opts.global
|
|
66
|
+
? join(os.homedir(), ".agents", "skills")
|
|
67
|
+
: join(opts.projectRoot, ".agents", "skills");
|
|
68
|
+
}
|
|
69
|
+
/** 0894: true when the agent is satisfied by the canonical folder in this
|
|
70
|
+
* scope — it reads the shared `.agents/skills`, so vskill writes no
|
|
71
|
+
* agent-specific link or copy for it. */
|
|
72
|
+
export function isSatisfiedByCanonical(agent, opts) {
|
|
73
|
+
// Read the flag directly (not via a registry helper) so callers that mock
|
|
74
|
+
// the registry module keep working.
|
|
75
|
+
return agent.readsSharedSkills?.[opts.global ? "global" : "project"] === true;
|
|
76
|
+
}
|
|
77
|
+
/** 0894: the folder an agent actually loads a skill from in this scope —
|
|
78
|
+
* the shared canonical folder for shared readers, else its own skills dir. */
|
|
79
|
+
export function resolveEffectiveSkillsDir(agent, opts) {
|
|
80
|
+
return isSatisfiedByCanonical(agent, opts)
|
|
81
|
+
? resolveCanonicalSkillsDir(opts)
|
|
82
|
+
: resolveAgentSkillsDir(agent, opts);
|
|
83
|
+
}
|
|
54
84
|
export function ensureCanonicalDir(base, global) {
|
|
55
85
|
if (global) {
|
|
56
86
|
const dir = join(os.homedir(), ".agents", "skills");
|
|
@@ -107,32 +137,127 @@ export function createRelativeSymlink(target, linkPath) {
|
|
|
107
137
|
}
|
|
108
138
|
}
|
|
109
139
|
/**
|
|
110
|
-
* Agents
|
|
111
|
-
*
|
|
112
|
-
*
|
|
140
|
+
* Agents that keep a full copy when their content differs from the shared
|
|
141
|
+
* canonical copy. Claude Code is the only one: it reads Claude-only
|
|
142
|
+
* frontmatter (allowed-tools, model, context, ...) that the canonical copy
|
|
143
|
+
* strips. When nothing is stripped, Claude Code gets a link like everyone
|
|
144
|
+
* else (0894; current Claude Code follows symlinked skill folders, the old
|
|
145
|
+
* https://github.com/anthropics/claude-code/issues/14836 no longer applies).
|
|
113
146
|
*/
|
|
114
147
|
const COPY_FALLBACK_AGENTS = new Set(["claude-code"]);
|
|
115
148
|
/**
|
|
116
|
-
*
|
|
117
|
-
*
|
|
149
|
+
* 0894: drop a symlink at `p` (only the link, never its target) so the next
|
|
150
|
+
* mkdir + write creates a real folder there. Without this, a copy written to
|
|
151
|
+
* an agent dir that an earlier install linked to the canonical folder goes
|
|
152
|
+
* through the link and overwrites the shared copy every other agent reads.
|
|
153
|
+
*/
|
|
154
|
+
function unlinkIfSymlink(p) {
|
|
155
|
+
try {
|
|
156
|
+
if (lstatSync(p).isSymbolicLink())
|
|
157
|
+
unlinkSync(p);
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
// nothing there
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function lstatOrNull(p) {
|
|
164
|
+
try {
|
|
165
|
+
return lstatSync(p);
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
/** Remove now-empty folders from `dir` up to (not including) `root`. */
|
|
172
|
+
function pruneEmptyDirs(dir, root) {
|
|
173
|
+
let cur = dir;
|
|
174
|
+
while (cur !== root && relative(root, cur) && !relative(root, cur).startsWith("..")) {
|
|
175
|
+
try {
|
|
176
|
+
if (readdirSync(cur).length > 0)
|
|
177
|
+
return;
|
|
178
|
+
rmdirSync(cur);
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
cur = dirname(cur);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Make `fullPath` writable as a regular file inside `root`: an ancestor that
|
|
188
|
+
* is a file or a symlink (which could also point outside the skill folder) is
|
|
189
|
+
* removed, and a folder sitting where the file goes is removed. Without this,
|
|
190
|
+
* a reinstall whose tree changed shape dies half-written with EISDIR/ENOTDIR.
|
|
118
191
|
*/
|
|
119
|
-
function
|
|
120
|
-
|
|
121
|
-
|
|
192
|
+
function clearPathForFile(root, fullPath) {
|
|
193
|
+
const parts = relative(root, dirname(fullPath)).split(pathSep).filter(Boolean);
|
|
194
|
+
let cur = root;
|
|
195
|
+
for (const part of parts) {
|
|
196
|
+
cur = join(cur, part);
|
|
197
|
+
const st = lstatOrNull(cur);
|
|
198
|
+
if (!st)
|
|
199
|
+
break;
|
|
200
|
+
if (!st.isDirectory())
|
|
201
|
+
unlinkSync(cur);
|
|
202
|
+
}
|
|
203
|
+
const st = lstatOrNull(fullPath);
|
|
204
|
+
if (st?.isDirectory())
|
|
205
|
+
rmSync(fullPath, { recursive: true, force: true });
|
|
206
|
+
else if (st?.isSymbolicLink())
|
|
207
|
+
unlinkSync(fullPath);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Write bundled files alongside SKILL.md in a target directory.
|
|
211
|
+
* Keys are relative paths (e.g., "agents/frontend.md", "assets/font.woff2");
|
|
212
|
+
* values are text or raw bytes, written as-is. Paths were policy-checked when
|
|
213
|
+
* the bundle entered the installer, so only traversal is re-checked here.
|
|
214
|
+
*/
|
|
215
|
+
function writeAgentFiles(targetDir, agentFiles, bundleOpts) {
|
|
216
|
+
const files = agentFiles ?? {};
|
|
217
|
+
if (bundleOpts?.previousFiles) {
|
|
218
|
+
const keep = new Set(Object.keys(files));
|
|
219
|
+
for (const rel of bundleOpts.previousFiles) {
|
|
220
|
+
if (rel === "SKILL.md" || keep.has(rel))
|
|
221
|
+
continue;
|
|
222
|
+
let target;
|
|
223
|
+
try {
|
|
224
|
+
target = resolveBundleTarget(targetDir, rel, { anyPath: true });
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
continue; // never act on an unsafe recorded path
|
|
228
|
+
}
|
|
229
|
+
const st = lstatOrNull(target);
|
|
230
|
+
if (st && !st.isDirectory()) {
|
|
231
|
+
unlinkSync(target);
|
|
232
|
+
pruneEmptyDirs(dirname(target), targetDir);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
const anyPath = bundleOpts?.anyPath === true;
|
|
237
|
+
const executables = bundleOpts?.executables;
|
|
238
|
+
for (const [relPath, fileContent] of Object.entries(files)) {
|
|
239
|
+
const fullPath = resolveBundleTarget(targetDir, relPath, { anyPath });
|
|
240
|
+
clearPathForFile(targetDir, fullPath);
|
|
122
241
|
mkdirSync(dirname(fullPath), { recursive: true });
|
|
123
242
|
writeFileSync(fullPath, fileContent);
|
|
243
|
+
// Explicit when the caller knows the modes: writeFileSync keeps the old
|
|
244
|
+
// mode of an existing file, so a dropped exec bit would otherwise stick.
|
|
245
|
+
if (executables)
|
|
246
|
+
chmodSync(fullPath, executables.has(relPath) ? 0o755 : 0o644);
|
|
124
247
|
}
|
|
125
248
|
}
|
|
126
249
|
/**
|
|
127
250
|
* Install a skill using the canonical symlink approach:
|
|
128
251
|
* 1. Write SKILL.md to .agents/skills/{name}/ (canonical source of truth)
|
|
129
|
-
* 2.
|
|
130
|
-
*
|
|
252
|
+
* 2. Agents that read the shared .agents/skills in this scope (0894) get
|
|
253
|
+
* nothing else — the canonical folder is what they load
|
|
254
|
+
* 3. Create relative symlinks from every other agent dir to the canonical dir
|
|
255
|
+
* 4. For agents with known symlink issues, fall back to direct copy
|
|
131
256
|
*
|
|
132
257
|
* Optional agentFiles: additional files (e.g., agents/*.md) to install alongside SKILL.md.
|
|
133
258
|
* Keys are relative paths within the skill directory.
|
|
134
259
|
*/
|
|
135
|
-
export function installSymlink(skillName, content, agents, opts, agentFiles) {
|
|
260
|
+
export function installSymlink(skillName, content, agents, opts, agentFiles, bundleOpts) {
|
|
136
261
|
content = ensureFrontmatter(content, skillName);
|
|
137
262
|
const strippedContent = stripClaudeFields(content, skillName);
|
|
138
263
|
// Skip canonical .agents/ dir when all agents use copy-fallback (e.g., claude-code only)
|
|
@@ -142,22 +267,42 @@ export function installSymlink(skillName, content, agents, opts, agentFiles) {
|
|
|
142
267
|
canonicalSkillDir = join(ensureCanonicalDir(opts.projectRoot, opts.global), skillName);
|
|
143
268
|
mkdirSync(canonicalSkillDir, { recursive: true });
|
|
144
269
|
writeFileSync(join(canonicalSkillDir, "SKILL.md"), strippedContent);
|
|
145
|
-
|
|
146
|
-
writeAgentFiles(canonicalSkillDir, agentFiles);
|
|
270
|
+
writeAgentFiles(canonicalSkillDir, agentFiles, bundleOpts);
|
|
147
271
|
}
|
|
148
272
|
const installed = [];
|
|
149
273
|
for (const agent of agents) {
|
|
274
|
+
// 0894 (AC-04): shared readers load the canonical folder directly.
|
|
275
|
+
if (isSatisfiedByCanonical(agent, opts) && canonicalSkillDir) {
|
|
276
|
+
if (!installed.includes(canonicalSkillDir))
|
|
277
|
+
installed.push(canonicalSkillDir);
|
|
278
|
+
continue;
|
|
279
|
+
}
|
|
150
280
|
const agentSkillsDir = resolveAgentSkillsDir(agent, opts);
|
|
151
|
-
mkdirSync(agentSkillsDir, { recursive: true });
|
|
152
281
|
const linkPath = join(agentSkillsDir, skillName);
|
|
153
|
-
//
|
|
282
|
+
// Never link the canonical folder onto itself (an agent whose skills dir
|
|
283
|
+
// IS the shared folder); removing the "existing" path would delete it.
|
|
284
|
+
if (canonicalSkillDir && linkPath === canonicalSkillDir) {
|
|
285
|
+
if (!installed.includes(canonicalSkillDir))
|
|
286
|
+
installed.push(canonicalSkillDir);
|
|
287
|
+
continue;
|
|
288
|
+
}
|
|
289
|
+
mkdirSync(agentSkillsDir, { recursive: true });
|
|
290
|
+
// Claude Code links to the canonical copy when that copy is exactly what
|
|
291
|
+
// Claude would get; otherwise it keeps a full copy with its own fields.
|
|
292
|
+
if (COPY_FALLBACK_AGENTS.has(agent.id) &&
|
|
293
|
+
canonicalSkillDir &&
|
|
294
|
+
strippedContent === content &&
|
|
295
|
+
createRelativeSymlink(canonicalSkillDir, linkPath)) {
|
|
296
|
+
installed.push(linkPath);
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
154
299
|
if (COPY_FALLBACK_AGENTS.has(agent.id)) {
|
|
155
300
|
// Claude Code gets full content with all fields
|
|
156
301
|
const agentContent = agent.id === "claude-code" ? content : strippedContent;
|
|
302
|
+
unlinkIfSymlink(linkPath);
|
|
157
303
|
mkdirSync(linkPath, { recursive: true });
|
|
158
304
|
writeFileSync(join(linkPath, "SKILL.md"), agentContent);
|
|
159
|
-
|
|
160
|
-
writeAgentFiles(linkPath, agentFiles);
|
|
305
|
+
writeAgentFiles(linkPath, agentFiles, bundleOpts);
|
|
161
306
|
installed.push(linkPath);
|
|
162
307
|
continue;
|
|
163
308
|
}
|
|
@@ -167,10 +312,10 @@ export function installSymlink(skillName, content, agents, opts, agentFiles) {
|
|
|
167
312
|
}
|
|
168
313
|
else {
|
|
169
314
|
// Fallback to copy on symlink failure — use stripped content for non-Claude
|
|
315
|
+
unlinkIfSymlink(linkPath);
|
|
170
316
|
mkdirSync(linkPath, { recursive: true });
|
|
171
317
|
writeFileSync(join(linkPath, "SKILL.md"), strippedContent);
|
|
172
|
-
|
|
173
|
-
writeAgentFiles(linkPath, agentFiles);
|
|
318
|
+
writeAgentFiles(linkPath, agentFiles, bundleOpts);
|
|
174
319
|
installed.push(linkPath);
|
|
175
320
|
}
|
|
176
321
|
}
|
|
@@ -181,19 +326,28 @@ export function installSymlink(skillName, content, agents, opts, agentFiles) {
|
|
|
181
326
|
*
|
|
182
327
|
* Optional agentFiles: additional files (e.g., agents/*.md) to install alongside SKILL.md.
|
|
183
328
|
*/
|
|
184
|
-
export function installCopy(skillName, content, agents, opts, agentFiles) {
|
|
329
|
+
export function installCopy(skillName, content, agents, opts, agentFiles, bundleOpts) {
|
|
185
330
|
content = ensureFrontmatter(content, skillName);
|
|
186
331
|
const strippedContent = stripClaudeFields(content, skillName);
|
|
187
332
|
const installed = [];
|
|
188
333
|
for (const agent of agents) {
|
|
189
334
|
// Claude Code gets full content; all others get stripped
|
|
190
335
|
const agentContent = agent.id === "claude-code" ? content : strippedContent;
|
|
191
|
-
|
|
336
|
+
// 0894 (AC-04): shared readers get one copy in the canonical folder
|
|
337
|
+
// instead of a per-agent copy.
|
|
338
|
+
const agentSkillsDir = isSatisfiedByCanonical(agent, opts)
|
|
339
|
+
? ensureCanonicalDir(opts.projectRoot, opts.global)
|
|
340
|
+
: resolveAgentSkillsDir(agent, opts);
|
|
192
341
|
const skillDir = join(agentSkillsDir, skillName);
|
|
342
|
+
if (installed.includes(skillDir))
|
|
343
|
+
continue;
|
|
344
|
+
// A copy for one agent must not land in another's folder through an
|
|
345
|
+
// old link (the shared canonical folder itself is left as it is).
|
|
346
|
+
if (!isSatisfiedByCanonical(agent, opts))
|
|
347
|
+
unlinkIfSymlink(skillDir);
|
|
193
348
|
mkdirSync(skillDir, { recursive: true });
|
|
194
349
|
writeFileSync(join(skillDir, "SKILL.md"), agentContent);
|
|
195
|
-
|
|
196
|
-
writeAgentFiles(skillDir, agentFiles);
|
|
350
|
+
writeAgentFiles(skillDir, agentFiles, bundleOpts);
|
|
197
351
|
installed.push(skillDir);
|
|
198
352
|
}
|
|
199
353
|
return installed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../src/installer/canonical.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../src/installer/canonical.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AGENTS_REGISTRY, type AgentDefinition } from "../agents/agents-registry.js";
|
|
2
2
|
import type { ParsedSkill } from "./transformers/index.js";
|
|
3
|
+
import { type BundleContent } from "./bundle-files.js";
|
|
3
4
|
export type AgentInstallStatus = "installed" | "exported" | "skipped" | "error";
|
|
4
5
|
export interface AgentInstallResult {
|
|
5
6
|
agentId: string;
|
|
@@ -67,8 +68,16 @@ export interface InstallToAgentsOptions {
|
|
|
67
68
|
projectRoot: string;
|
|
68
69
|
/** When true, Tier-1 agents are copied instead of symlinked (CLI --copy). */
|
|
69
70
|
copy?: boolean;
|
|
70
|
-
/**
|
|
71
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Optional bundled resources: every file of the skill folder except
|
|
73
|
+
* SKILL.md, keyed by relative path. Text or raw bytes (0894: fonts, audio
|
|
74
|
+
* and other binaries are written byte for byte).
|
|
75
|
+
*/
|
|
76
|
+
bundleFiles?: Record<string, BundleContent>;
|
|
77
|
+
/** 0894: bundle paths written with mode 0755. */
|
|
78
|
+
bundleExecutables?: string[];
|
|
79
|
+
/** 0894: lockfile `files` of the previous install; ones now gone are removed. */
|
|
80
|
+
previousFiles?: string[];
|
|
72
81
|
}
|
|
73
82
|
/**
|
|
74
83
|
* F9 — the CLI-facing install entry point. Dispatches the SAME per-agent
|
|
@@ -26,7 +26,7 @@ import { installSymlink, installCopy, resolveAgentInstallRoot, } from "./canonic
|
|
|
26
26
|
import { extractDescription } from "./frontmatter.js";
|
|
27
27
|
import { buildClipboardBlob } from "./clipboard-export.js";
|
|
28
28
|
import { safeAppendYamlList } from "./yaml-safe-mutate.js";
|
|
29
|
-
import { sanitizeSkillBundleFiles } from "./bundle-files.js";
|
|
29
|
+
import { assertSafeBundlePath, sanitizeSkillBundleFiles, sanitizeInstallBundleFiles, textOnlyStandardBundle, } from "./bundle-files.js";
|
|
30
30
|
/**
|
|
31
31
|
* Install a skill to multiple agents in a single pass. Returns one result
|
|
32
32
|
* row per agent in the same order as `agentIds`. Never throws — each
|
|
@@ -71,7 +71,7 @@ export function installSkillForAgent(agent, skill, scope, projectRoot, rawSkillC
|
|
|
71
71
|
if (agent.installMode === "clipboard") {
|
|
72
72
|
return dispatchTier3(agent, skill, scope);
|
|
73
73
|
}
|
|
74
|
-
if (agent
|
|
74
|
+
if (usesTransformer(agent, scope)) {
|
|
75
75
|
return dispatchTier2(agent, skill, scope, projectRoot);
|
|
76
76
|
}
|
|
77
77
|
// Tier 1 — canonical drop-in install.
|
|
@@ -88,6 +88,16 @@ export function installSkillForAgent(agent, skill, scope, projectRoot, rawSkillC
|
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* 0894 (AC-04): a Tier-2 agent that natively reads the shared `.agents/skills`
|
|
93
|
+
* folder in this scope (e.g. Cursor) loads SKILL.md from there, so it goes
|
|
94
|
+
* through the canonical Tier-1 path instead of its format transformer —
|
|
95
|
+
* otherwise the skill would load twice (once as a skill, once as a rule).
|
|
96
|
+
*/
|
|
97
|
+
function usesTransformer(agent, scope) {
|
|
98
|
+
const readsShared = agent.readsSharedSkills?.[scope === "user" ? "global" : "project"] === true;
|
|
99
|
+
return !!agent.formatTransformer && !readsShared;
|
|
100
|
+
}
|
|
91
101
|
const FRONTMATTER_RE = /^---\n([\s\S]*?)\n---\n?([\s\S]*)$/;
|
|
92
102
|
const NAME_RE = /^name:\s*(.+?)\s*$/m;
|
|
93
103
|
const VERSION_RE = /^version:\s*(.+?)\s*$/m;
|
|
@@ -160,19 +170,27 @@ export function installSkillToAgents(opts) {
|
|
|
160
170
|
const { skillName, rawContent, agents, scope, projectRoot, copy } = opts;
|
|
161
171
|
const installOpts = { global: scope === "user", projectRoot };
|
|
162
172
|
const bundleFiles = opts.bundleFiles
|
|
163
|
-
?
|
|
173
|
+
? sanitizeInstallBundleFiles(opts.bundleFiles)
|
|
164
174
|
: undefined;
|
|
175
|
+
// This entry point installs GitHub skill folders: any safe path is allowed.
|
|
176
|
+
const bundleOpts = {
|
|
177
|
+
executables: opts.bundleExecutables ? new Set(opts.bundleExecutables) : undefined,
|
|
178
|
+
previousFiles: opts.previousFiles,
|
|
179
|
+
anyPath: true,
|
|
180
|
+
};
|
|
165
181
|
// Tier-1 = filesystem drop-in agents with no per-tool transformer. They keep
|
|
166
182
|
// the existing batch install (canonical store + symlink dedup + COPY_FALLBACK).
|
|
167
|
-
const tier1 = agents.filter((a) => a.installMode !== "clipboard" && !a
|
|
168
|
-
const tier2or3 = agents.filter((a) => a.installMode === "clipboard" ||
|
|
183
|
+
const tier1 = agents.filter((a) => a.installMode !== "clipboard" && !usesTransformer(a, scope));
|
|
184
|
+
const tier2or3 = agents.filter((a) => a.installMode === "clipboard" || usesTransformer(a, scope));
|
|
169
185
|
const written = [];
|
|
186
|
+
const failures = [];
|
|
170
187
|
if (tier1.length > 0) {
|
|
171
188
|
const fn = copy ? installCopy : installSymlink;
|
|
172
|
-
written.push(...fn(skillName, rawContent, tier1, installOpts, bundleFiles));
|
|
189
|
+
written.push(...fn(skillName, rawContent, tier1, installOpts, bundleFiles, bundleOpts));
|
|
173
190
|
}
|
|
174
191
|
if (tier2or3.length > 0) {
|
|
175
|
-
|
|
192
|
+
// Transformers and clipboard export carry text on the standard paths.
|
|
193
|
+
const skill = parseSkillForInstall(rawContent, skillName, bundleFiles ? textOnlyStandardBundle(bundleFiles) : undefined);
|
|
176
194
|
for (const agent of tier2or3) {
|
|
177
195
|
const result = installSkillForAgent(agent, skill, scope, projectRoot, rawContent);
|
|
178
196
|
if (result.status === "installed" && result.detail) {
|
|
@@ -185,11 +203,19 @@ export function installSkillToAgents(opts) {
|
|
|
185
203
|
}
|
|
186
204
|
}
|
|
187
205
|
else if (result.status === "error") {
|
|
188
|
-
|
|
206
|
+
failures.push(`${agent.id}: ${result.detail}`);
|
|
189
207
|
}
|
|
190
208
|
// Tier-3 (exported) contributes no on-disk path.
|
|
191
209
|
}
|
|
192
210
|
}
|
|
211
|
+
// One agent's config problem must not cost the user every other agent.
|
|
212
|
+
// Fail only when nothing was installed at all.
|
|
213
|
+
if (failures.length > 0) {
|
|
214
|
+
if (written.length === 0)
|
|
215
|
+
throw new Error(failures.join("; "));
|
|
216
|
+
for (const f of failures)
|
|
217
|
+
console.warn(` Skipped ${f}`);
|
|
218
|
+
}
|
|
193
219
|
return written;
|
|
194
220
|
}
|
|
195
221
|
// ---------------------------------------------------------------------------
|
|
@@ -202,7 +228,13 @@ function dispatchTier1(agent, skill, scope, projectRoot, rawContent) {
|
|
|
202
228
|
};
|
|
203
229
|
const content = rawContent ?? reconstructSkillMd(skill);
|
|
204
230
|
const bundleFiles = sanitizeSkillBundleFiles(skill.files);
|
|
205
|
-
|
|
231
|
+
// 0894: binaries (bytes) and exec bits read from a local skill folder by
|
|
232
|
+
// the server (never from a request body), on the standard paths.
|
|
233
|
+
for (const [rel, bytes] of Object.entries(skill.binaryFiles ?? {})) {
|
|
234
|
+
if (bytes instanceof Uint8Array)
|
|
235
|
+
bundleFiles[assertSafeBundlePath(rel)] = bytes;
|
|
236
|
+
}
|
|
237
|
+
const writtenPaths = installSymlink(skill.name, content, [agent], installOpts, bundleFiles, skill.executables ? { executables: new Set(skill.executables) } : undefined);
|
|
206
238
|
return {
|
|
207
239
|
agentId: agent.id,
|
|
208
240
|
status: "installed",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-install.js","sourceRoot":"","sources":["../../src/installer/multi-install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"multi-install.js","sourceRoot":"","sources":["../../src/installer/multi-install.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,14 @@ export interface ParsedSkill {
|
|
|
33
33
|
* `tests/`, and `.env.example`; callers validate path safety before write.
|
|
34
34
|
*/
|
|
35
35
|
files?: Record<string, string>;
|
|
36
|
+
/**
|
|
37
|
+
* 0894: binary bundled files (fonts, images) as raw bytes, standard paths
|
|
38
|
+
* only. Set server-side from a local skill folder, never from a request
|
|
39
|
+
* body; written by Tier-1 installs, ignored by transformers.
|
|
40
|
+
*/
|
|
41
|
+
binaryFiles?: Record<string, Uint8Array>;
|
|
42
|
+
/** 0894: bundled paths that are executable in the source folder. */
|
|
43
|
+
executables?: string[];
|
|
36
44
|
}
|
|
37
45
|
/**
|
|
38
46
|
* A single file emitted by a transformer. The dispatcher in
|
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
// 4. Key present, block list:
|
|
17
17
|
// - value already present → no-op, status="already-present"
|
|
18
18
|
// - value absent → insert `<indent>- <value>` at end of block, status="appended"
|
|
19
|
-
// 5. Key present, inline list
|
|
19
|
+
// 5. Key present, one-line scalar or flat inline list → rewritten as a
|
|
20
|
+
// block list keeping the existing entries; anything else (nested flow,
|
|
21
|
+
// block scalar, anchors) → throw IncompatibleConfigError
|
|
20
22
|
// 6. Malformed YAML (tab indent, unclosed quoted string, etc.) → throw MalformedConfigError
|
|
21
23
|
//
|
|
22
24
|
// Mutations always go through a backup-write: write `<file>.bak` (or
|
|
@@ -57,7 +59,18 @@ export function safeAppendYamlList(filePath, key, value) {
|
|
|
57
59
|
const lines = original.split("\n");
|
|
58
60
|
const block = readListBlock(lines, keyLineIdx);
|
|
59
61
|
if (block.shape === "inline-list" || block.shape === "scalar") {
|
|
60
|
-
|
|
62
|
+
// `read: README.md` and `read: [a, b]` are valid Aider config. Rewrite
|
|
63
|
+
// them as a block list that keeps the existing entries.
|
|
64
|
+
const existing = scalarOrFlowItems(lines[keyLineIdx], key);
|
|
65
|
+
if (existing === null) {
|
|
66
|
+
throw new IncompatibleConfigError(`key "${key}" is not a block-sequence (found ${block.shape})`);
|
|
67
|
+
}
|
|
68
|
+
if (existing.items.includes(value))
|
|
69
|
+
return { status: "already-present" };
|
|
70
|
+
const items = [...existing.items, value].map((v) => `${DEFAULT_INDENT}- ${v}`);
|
|
71
|
+
const keyLine = existing.comment ? `${key}: ${existing.comment}` : `${key}:`;
|
|
72
|
+
const next = [...lines.slice(0, keyLineIdx), keyLine, ...items, ...lines.slice(keyLineIdx + 1)];
|
|
73
|
+
return mutateWithBackup(filePath, original, next.join("\n"));
|
|
61
74
|
}
|
|
62
75
|
if (block.shape === "empty-value") {
|
|
63
76
|
const replacement = `${key}:\n${DEFAULT_INDENT}- ${value}`;
|
|
@@ -154,6 +167,39 @@ function readListBlock(lines, keyLineIdx) {
|
|
|
154
167
|
}
|
|
155
168
|
return { shape: "scalar" };
|
|
156
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Items of a one-line `key: value` or `key: [a, b]` plus its trailing
|
|
172
|
+
* `# comment` (kept on the rewritten `key:` line), or null when the value is
|
|
173
|
+
* something we will not rewrite (nested flow, comment-only, multi-line).
|
|
174
|
+
*
|
|
175
|
+
* 0894: a value with a quote character is refused too. A quoted scalar or
|
|
176
|
+
* flow item can hold ` #` or `,` (`"notes #2.md"`, `["a, b.md"]`), and this
|
|
177
|
+
* line-based rewrite does not parse YAML quoting, so splitting it would
|
|
178
|
+
* break the file or silently change an entry.
|
|
179
|
+
*/
|
|
180
|
+
function scalarOrFlowItems(line, key) {
|
|
181
|
+
if (!line.trimStart().startsWith(`${key}:`))
|
|
182
|
+
return null;
|
|
183
|
+
const raw = line.slice(line.indexOf(":") + 1);
|
|
184
|
+
if (/["']/.test(raw))
|
|
185
|
+
return null;
|
|
186
|
+
const m = raw.match(/^(.*?)(\s+#.*)?$/);
|
|
187
|
+
const rest = (m?.[1] ?? "").trim();
|
|
188
|
+
const comment = (m?.[2] ?? "").trim();
|
|
189
|
+
if (!rest)
|
|
190
|
+
return null;
|
|
191
|
+
if (rest.startsWith("[")) {
|
|
192
|
+
if (!rest.endsWith("]"))
|
|
193
|
+
return null;
|
|
194
|
+
const inner = rest.slice(1, -1).trim();
|
|
195
|
+
if (/[\[\]{}]/.test(inner))
|
|
196
|
+
return null;
|
|
197
|
+
return { items: inner ? inner.split(",").map((v) => v.trim()).filter(Boolean) : [], comment };
|
|
198
|
+
}
|
|
199
|
+
if (/^[{|>&*!]/.test(rest))
|
|
200
|
+
return null;
|
|
201
|
+
return { items: [rest], comment };
|
|
202
|
+
}
|
|
157
203
|
function appendKeyAtEnd(original, key, value) {
|
|
158
204
|
const needsLeadingNewline = original.length > 0 && !original.endsWith("\n");
|
|
159
205
|
const prefix = needsLeadingNewline ? `${original}\n` : original;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-safe-mutate.js","sourceRoot":"","sources":["../../src/installer/yaml-safe-mutate.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,sCAAsC;AACtC,uEAAuE;AACvE,0EAA0E;AAC1E,qDAAqD;AACrD,yEAAyE;AACzE,kEAAkE;AAClE,0EAA0E;AAC1E,+DAA+D;AAC/D,EAAE;AACF,2BAA2B;AAC3B,4FAA4F;AAC5F,8FAA8F;AAC9F,sFAAsF;AACtF,gCAAgC;AAChC,4EAA4E;AAC5E,0GAA0G;AAC1G,
|
|
1
|
+
{"version":3,"file":"yaml-safe-mutate.js","sourceRoot":"","sources":["../../src/installer/yaml-safe-mutate.ts"],"names":[],"mappings":"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"}
|