@framers/agentos-skills-registry 0.19.5 → 0.19.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 +3 -1
- package/dist/catalog.d.ts +17 -0
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +13 -1
- package/dist/catalog.js.map +1 -1
- package/dist/workspace-discovery.d.ts +13 -0
- package/dist/workspace-discovery.d.ts.map +1 -1
- package/dist/workspace-discovery.js +170 -22
- package/dist/workspace-discovery.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -100,6 +100,8 @@ const workspace = await discoverWorkspaceSkills();
|
|
|
100
100
|
const merged = mergeWithWorkspaceSkills(SKILLS_CATALOG, workspace);
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
+
Discovery does not follow symbolic links below the skills folder. A skill folder or a SKILL.md that is a link, or a SKILL.md that is not a regular file, is skipped with a warning, and each discovered skill's `loadSkill()` reads its file the same way.
|
|
104
|
+
|
|
103
105
|
## Sub-exports
|
|
104
106
|
|
|
105
107
|
| Entry Point | What | Peer Deps |
|
|
@@ -140,7 +142,7 @@ const merged = mergeWithWorkspaceSkills(SKILLS_CATALOG, workspace);
|
|
|
140
142
|
|
|
141
143
|
### Workspace Discovery
|
|
142
144
|
|
|
143
|
-
- `discoverWorkspaceSkills(options?)` -- Scan `.agents/skills/` for workspace-local skills
|
|
145
|
+
- `discoverWorkspaceSkills(options?)` -- Scan `.agents/skills/` for workspace-local skills, without following symbolic links below it
|
|
144
146
|
- `mergeWithWorkspaceSkills(registry, workspace)` -- Merge with priority to workspace
|
|
145
147
|
- `parseSkillFrontmatter(content)` -- Parse YAML frontmatter from skill content
|
|
146
148
|
|
package/dist/catalog.d.ts
CHANGED
|
@@ -91,6 +91,23 @@ export interface SkillCatalogEntry {
|
|
|
91
91
|
loadSkill: () => Promise<LoadedSkill>;
|
|
92
92
|
}
|
|
93
93
|
export declare function extractLoadedSkillMetadata(frontmatter: LoadedSkillFrontmatter): SkillMetadata | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* Parse SKILL.md text the caller has already read into a {@link LoadedSkill},
|
|
96
|
+
* with the same parser {@link loadSkillFromAbsolutePath} uses. Workspace
|
|
97
|
+
* discovery reads a workspace skill's file itself, without following links,
|
|
98
|
+
* and parses the text here.
|
|
99
|
+
*
|
|
100
|
+
* @param args.absolutePath - Where the text was read from. It becomes
|
|
101
|
+
* `sourcePath`, and its folder's name is the skill's name when the
|
|
102
|
+
* frontmatter gives none.
|
|
103
|
+
* @param args.content - The SKILL.md text.
|
|
104
|
+
* @param args.displayName - Human-readable display name for the loaded skill.
|
|
105
|
+
*/
|
|
106
|
+
export declare function loadSkillFromContent(args: {
|
|
107
|
+
absolutePath: string;
|
|
108
|
+
content: string;
|
|
109
|
+
displayName: string;
|
|
110
|
+
}): Promise<LoadedSkill>;
|
|
94
111
|
export declare function loadSkillFromAbsolutePath(absolutePath: string, displayName: string): Promise<LoadedSkill>;
|
|
95
112
|
/**
|
|
96
113
|
* Create a lazy-loading skill proxy for a relative SKILL.md path.
|
package/dist/catalog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAsC,MAAM,mBAAmB,CAAC;AAM3F;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAEhB,6CAA6C;IAC7C,WAAW,EAAE,sBAAsB,CAAC;IAEpC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1C,0BAA0B,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC/C;AAED,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IAEpB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IAEpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IAEjB,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,+DAA+D;IAC/D,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B,8EAA8E;IAC9E,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAElB,sEAAsE;IACtE,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAEjC,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAElB,iGAAiG;IACjG,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;CACvC;AA8GD,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,sBAAsB,GAClC,aAAa,GAAG,SAAS,CA4C3B;
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
|
package/dist/catalog.js
CHANGED
|
@@ -157,7 +157,19 @@ export function extractLoadedSkillMetadata(frontmatter) {
|
|
|
157
157
|
: undefined,
|
|
158
158
|
};
|
|
159
159
|
}
|
|
160
|
-
|
|
160
|
+
/**
|
|
161
|
+
* Parse SKILL.md text the caller has already read into a {@link LoadedSkill},
|
|
162
|
+
* with the same parser {@link loadSkillFromAbsolutePath} uses. Workspace
|
|
163
|
+
* discovery reads a workspace skill's file itself, without following links,
|
|
164
|
+
* and parses the text here.
|
|
165
|
+
*
|
|
166
|
+
* @param args.absolutePath - Where the text was read from. It becomes
|
|
167
|
+
* `sourcePath`, and its folder's name is the skill's name when the
|
|
168
|
+
* frontmatter gives none.
|
|
169
|
+
* @param args.content - The SKILL.md text.
|
|
170
|
+
* @param args.displayName - Human-readable display name for the loaded skill.
|
|
171
|
+
*/
|
|
172
|
+
export async function loadSkillFromContent(args) {
|
|
161
173
|
const parser = await getSkillParser();
|
|
162
174
|
const { frontmatter, body } = parser.parseSkillFrontmatter(args.content);
|
|
163
175
|
const metadata = parser.extractMetadata?.(frontmatter) ?? extractLoadedSkillMetadata(frontmatter);
|
package/dist/catalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Workspace skills take priority over registry skills when names collide.
|
|
9
9
|
*
|
|
10
|
+
* A workspace skill is read only from a real folder directly below the skills
|
|
11
|
+
* directory and a SKILL.md in that folder that is a regular file. A symbolic
|
|
12
|
+
* link at either place, or a SKILL.md that is not a regular file, is skipped
|
|
13
|
+
* with a warning and never read, and the loader each discovered skill carries
|
|
14
|
+
* reads its SKILL.md the same way.
|
|
15
|
+
*
|
|
10
16
|
* @module @framers/agentos-skills-registry/workspace-discovery
|
|
11
17
|
*/
|
|
12
18
|
import { type LoadedSkillFrontmatter, type SkillCatalogEntry } from './catalog.js';
|
|
@@ -49,6 +55,13 @@ export declare function parseSkillFrontmatter(content: string): SkillFrontmatter
|
|
|
49
55
|
*
|
|
50
56
|
* If the directory does not exist, returns an empty array.
|
|
51
57
|
*
|
|
58
|
+
* Symbolic links below `<skillsDir>/` are not followed. A skill folder that is
|
|
59
|
+
* a link, a SKILL.md that is a link, and a SKILL.md that is not a regular file
|
|
60
|
+
* are each skipped with one warning line, and nothing is read through them.
|
|
61
|
+
* Each entry's `loadSkill()` reads its SKILL.md the same way, so it rejects
|
|
62
|
+
* once the skill folder or the file has become a link. `<skillsDir>` itself is
|
|
63
|
+
* the caller's choice and may be a link.
|
|
64
|
+
*
|
|
52
65
|
* @example
|
|
53
66
|
* ```ts
|
|
54
67
|
* import { discoverWorkspaceSkills } from '@framers/agentos-skills-registry';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-discovery.d.ts","sourceRoot":"","sources":["../src/workspace-discovery.ts"],"names":[],"mappings":"AACA
|
|
1
|
+
{"version":3,"file":"workspace-discovery.d.ts","sourceRoot":"","sources":["../src/workspace-discovery.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAItB,iEAAiE;AACjE,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,4CAA4C;AAC5C,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAmC9E;AAyLD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA2C9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,iBAAiB,EAAE,EACnC,eAAe,EAAE,iBAAiB,EAAE,GACnC,iBAAiB,EAAE,CAUrB"}
|
|
@@ -8,12 +8,19 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Workspace skills take priority over registry skills when names collide.
|
|
10
10
|
*
|
|
11
|
+
* A workspace skill is read only from a real folder directly below the skills
|
|
12
|
+
* directory and a SKILL.md in that folder that is a regular file. A symbolic
|
|
13
|
+
* link at either place, or a SKILL.md that is not a regular file, is skipped
|
|
14
|
+
* with a warning and never read, and the loader each discovered skill carries
|
|
15
|
+
* reads its SKILL.md the same way.
|
|
16
|
+
*
|
|
11
17
|
* @module @framers/agentos-skills-registry/workspace-discovery
|
|
12
18
|
*/
|
|
13
|
-
import
|
|
19
|
+
import fs from 'node:fs/promises';
|
|
20
|
+
import { constants as fsConstants } from 'node:fs';
|
|
14
21
|
import * as path from 'node:path';
|
|
15
22
|
import YAML from 'yaml';
|
|
16
|
-
import {
|
|
23
|
+
import { loadSkillFromContent, } from './catalog.js';
|
|
17
24
|
// ── Frontmatter parser ──────────────────────────────────────────────────────
|
|
18
25
|
/**
|
|
19
26
|
* YAML frontmatter parser for workspace SKILL.md files.
|
|
@@ -54,18 +61,155 @@ export function parseSkillFrontmatter(content) {
|
|
|
54
61
|
metadata: result.metadata ?? undefined,
|
|
55
62
|
};
|
|
56
63
|
}
|
|
64
|
+
// ── Reading a skill's file without following links ──────────────────────────
|
|
65
|
+
/**
|
|
66
|
+
* The flags a SKILL.md is opened with: read only, never through a symbolic link
|
|
67
|
+
* in the file's own place (`O_NOFOLLOW`) and never waiting (`O_NONBLOCK`), where
|
|
68
|
+
* the platform has each flag; Windows has neither. Without `O_NONBLOCK`, opening
|
|
69
|
+
* a named pipe that no process writes waits for a writer that may never come.
|
|
70
|
+
*/
|
|
71
|
+
const READ_FLAGS = fsConstants.O_RDONLY | (fsConstants.O_NOFOLLOW ?? 0) | (fsConstants.O_NONBLOCK ?? 0);
|
|
72
|
+
/** The codes an open with `O_NOFOLLOW` fails with when a symbolic link holds the file's place (EMLINK on FreeBSD). */
|
|
73
|
+
const LINK_OPEN_CODES = new Set(['ELOOP', 'EMLINK']);
|
|
74
|
+
/**
|
|
75
|
+
* The codes an open fails with when something other than a regular file holds
|
|
76
|
+
* the file's place: EISDIR for a folder, ENXIO for a device with no driver or,
|
|
77
|
+
* on Linux, a socket, and EOPNOTSUPP for a socket on macOS.
|
|
78
|
+
*/
|
|
79
|
+
const SPECIAL_OPEN_CODES = new Set(['EISDIR', 'ENXIO', 'EOPNOTSUPP']);
|
|
80
|
+
/** The words a warning or an error gives for each refusal. */
|
|
81
|
+
const REFUSAL_REASONS = {
|
|
82
|
+
'linked-folder': 'the skill folder is a symbolic link',
|
|
83
|
+
'linked-file': 'its SKILL.md is a symbolic link',
|
|
84
|
+
'not-a-file': 'its SKILL.md is not a regular file',
|
|
85
|
+
replaced: 'its SKILL.md was replaced while it was being opened',
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Read `<skillsDir>/<folderName>/SKILL.md` without following a symbolic link
|
|
89
|
+
* below `skillsDir`. The skill folder and its SKILL.md are each looked at with
|
|
90
|
+
* lstat before the open: a link at either place is refused, and so is a
|
|
91
|
+
* SKILL.md that is not a regular file (a folder, a named pipe, a socket, a
|
|
92
|
+
* device). The file is then opened never through a link in its own place and
|
|
93
|
+
* never waiting, where the platform has the flags, and it is read only when the
|
|
94
|
+
* open file is a regular file with the device and inode numbers the look saw.
|
|
95
|
+
* `skillsDir` itself is the caller's choice and may be a link.
|
|
96
|
+
*
|
|
97
|
+
* Node has no `openat`, so a skill folder that another process swaps for a link
|
|
98
|
+
* between its look and the open is outside what these checks stop.
|
|
99
|
+
*
|
|
100
|
+
* @param skillsDir - Absolute path of the skills folder.
|
|
101
|
+
* @param folderName - The skill folder's name, as `readdir` lists it.
|
|
102
|
+
* @returns The file's text; null when `folderName` is not a folder or holds no
|
|
103
|
+
* SKILL.md; or the refusal.
|
|
104
|
+
* @throws Any other error the looks, the open or the read meet.
|
|
105
|
+
*/
|
|
106
|
+
async function readSkillFileOutsideLinks(skillsDir, folderName) {
|
|
107
|
+
const folder = path.join(skillsDir, folderName);
|
|
108
|
+
const folderEntry = await lstatOrNull(folder);
|
|
109
|
+
if (folderEntry === null)
|
|
110
|
+
return null;
|
|
111
|
+
if (folderEntry.isSymbolicLink())
|
|
112
|
+
return 'linked-folder';
|
|
113
|
+
// A file beside the skill folders is not a skill.
|
|
114
|
+
if (!folderEntry.isDirectory())
|
|
115
|
+
return null;
|
|
116
|
+
const file = path.join(folder, 'SKILL.md');
|
|
117
|
+
const fileEntry = await lstatOrNull(file);
|
|
118
|
+
if (fileEntry === null)
|
|
119
|
+
return null;
|
|
120
|
+
if (fileEntry.isSymbolicLink())
|
|
121
|
+
return 'linked-file';
|
|
122
|
+
if (!fileEntry.isFile())
|
|
123
|
+
return 'not-a-file';
|
|
124
|
+
const handle = await fs.open(file, READ_FLAGS).catch((err) => {
|
|
125
|
+
const code = String(err.code);
|
|
126
|
+
// Taken away since the look.
|
|
127
|
+
if (code === 'ENOENT')
|
|
128
|
+
return null;
|
|
129
|
+
if (LINK_OPEN_CODES.has(code))
|
|
130
|
+
return 'linked-file';
|
|
131
|
+
if (SPECIAL_OPEN_CODES.has(code))
|
|
132
|
+
return 'not-a-file';
|
|
133
|
+
throw err;
|
|
134
|
+
});
|
|
135
|
+
if (handle === null || typeof handle === 'string')
|
|
136
|
+
return handle;
|
|
137
|
+
try {
|
|
138
|
+
const opened = await handle.stat({ bigint: true });
|
|
139
|
+
// Something put in the file's place since the look is refused here, before it is read.
|
|
140
|
+
if (!opened.isFile())
|
|
141
|
+
return 'not-a-file';
|
|
142
|
+
if (!sameFile(fileEntry, opened))
|
|
143
|
+
return 'replaced';
|
|
144
|
+
return { text: await handle.readFile({ encoding: 'utf8' }) };
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
await handle.close();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* True when the look and the open reached one file: the same device and inode
|
|
152
|
+
* numbers, or a file system that reports an inode of 0, which names no file.
|
|
153
|
+
*/
|
|
154
|
+
function sameFile(looked, opened) {
|
|
155
|
+
if (looked.ino === 0n || opened.ino === 0n)
|
|
156
|
+
return true;
|
|
157
|
+
return looked.dev === opened.dev && looked.ino === opened.ino;
|
|
158
|
+
}
|
|
159
|
+
/** The entry at `place` itself, a link not followed, or null when there is none. */
|
|
160
|
+
async function lstatOrNull(place) {
|
|
161
|
+
try {
|
|
162
|
+
return await fs.lstat(place, { bigint: true });
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
const code = err.code;
|
|
166
|
+
// ENOTDIR: a folder on the way became a file since it was listed.
|
|
167
|
+
if (code === 'ENOENT' || code === 'ENOTDIR')
|
|
168
|
+
return null;
|
|
169
|
+
throw err;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/** The error's code when it has one, such as EACCES, and its message otherwise. */
|
|
173
|
+
function errorReason(err) {
|
|
174
|
+
const code = err?.code;
|
|
175
|
+
if (typeof code === 'string' && code)
|
|
176
|
+
return code;
|
|
177
|
+
return err instanceof Error ? err.message : String(err);
|
|
178
|
+
}
|
|
179
|
+
/** Write the one warning line for a workspace skill that discovery skipped. */
|
|
180
|
+
function warnSkipped(folder, reason) {
|
|
181
|
+
console.warn(`[agentos-skills-registry] Skipped the workspace skill at ${folder}: ${reason}.`);
|
|
182
|
+
}
|
|
57
183
|
// ── Skill discovery ─────────────────────────────────────────────────────────
|
|
58
184
|
/**
|
|
59
|
-
* Create
|
|
60
|
-
*
|
|
185
|
+
* Create the lazy loader of a workspace skill. Each call reads the skill's
|
|
186
|
+
* SKILL.md again, the way discovery read it: never through a symbolic link
|
|
187
|
+
* below the skills folder, and only when it is a regular file. A refused or
|
|
188
|
+
* missing file rejects the call.
|
|
61
189
|
*/
|
|
62
|
-
function
|
|
63
|
-
|
|
190
|
+
function createWorkspaceSkillLoader(skillsDir, folderName, displayName) {
|
|
191
|
+
const absolutePath = path.join(skillsDir, folderName, 'SKILL.md');
|
|
192
|
+
return async () => {
|
|
193
|
+
let read;
|
|
194
|
+
try {
|
|
195
|
+
read = await readSkillFileOutsideLinks(skillsDir, folderName);
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
throw new Error(`Failed to load SKILL.md at ${absolutePath}: ${err instanceof Error ? err.message : String(err)}`);
|
|
199
|
+
}
|
|
200
|
+
if (read === null) {
|
|
201
|
+
throw new Error(`Failed to load SKILL.md at ${absolutePath}: the file is not there`);
|
|
202
|
+
}
|
|
203
|
+
if (typeof read === 'string') {
|
|
204
|
+
throw new Error(`Failed to load SKILL.md at ${absolutePath}: ${REFUSAL_REASONS[read]}`);
|
|
205
|
+
}
|
|
206
|
+
return loadSkillFromContent({ absolutePath, content: read.text, displayName });
|
|
207
|
+
};
|
|
64
208
|
}
|
|
65
209
|
/**
|
|
66
210
|
* Convert parsed frontmatter + filesystem path into a SkillCatalogEntry.
|
|
67
211
|
*/
|
|
68
|
-
function frontmatterToEntry(fm, skillPath,
|
|
212
|
+
function frontmatterToEntry(fm, skillPath, skillsDir, folderName) {
|
|
69
213
|
const displayName = fm.name
|
|
70
214
|
.split('-')
|
|
71
215
|
.map((w) => w.charAt(0).toUpperCase() + w.slice(1))
|
|
@@ -82,7 +226,7 @@ function frontmatterToEntry(fm, skillPath, absoluteSkillMdPath) {
|
|
|
82
226
|
source: 'community',
|
|
83
227
|
namespace: 'wunderland',
|
|
84
228
|
available: true,
|
|
85
|
-
loadSkill:
|
|
229
|
+
loadSkill: createWorkspaceSkillLoader(skillsDir, folderName, displayName),
|
|
86
230
|
};
|
|
87
231
|
}
|
|
88
232
|
/**
|
|
@@ -94,6 +238,13 @@ function frontmatterToEntry(fm, skillPath, absoluteSkillMdPath) {
|
|
|
94
238
|
*
|
|
95
239
|
* If the directory does not exist, returns an empty array.
|
|
96
240
|
*
|
|
241
|
+
* Symbolic links below `<skillsDir>/` are not followed. A skill folder that is
|
|
242
|
+
* a link, a SKILL.md that is a link, and a SKILL.md that is not a regular file
|
|
243
|
+
* are each skipped with one warning line, and nothing is read through them.
|
|
244
|
+
* Each entry's `loadSkill()` reads its SKILL.md the same way, so it rejects
|
|
245
|
+
* once the skill folder or the file has become a link. `<skillsDir>` itself is
|
|
246
|
+
* the caller's choice and may be a link.
|
|
247
|
+
*
|
|
97
248
|
* @example
|
|
98
249
|
* ```ts
|
|
99
250
|
* import { discoverWorkspaceSkills } from '@framers/agentos-skills-registry';
|
|
@@ -123,31 +274,28 @@ export async function discoverWorkspaceSkills(options) {
|
|
|
123
274
|
const discovered = [];
|
|
124
275
|
for (const entry of entries) {
|
|
125
276
|
const entryPath = path.join(skillsDir, entry);
|
|
126
|
-
// Only
|
|
127
|
-
let
|
|
277
|
+
// Only real directories, and a SKILL.md in one that is a regular file
|
|
278
|
+
let read;
|
|
128
279
|
try {
|
|
129
|
-
|
|
280
|
+
read = await readSkillFileOutsideLinks(skillsDir, entry);
|
|
130
281
|
}
|
|
131
|
-
catch {
|
|
282
|
+
catch (err) {
|
|
283
|
+
warnSkipped(entryPath, `its SKILL.md could not be read (${errorReason(err)})`);
|
|
132
284
|
continue;
|
|
133
285
|
}
|
|
134
|
-
if (
|
|
286
|
+
if (read === null)
|
|
135
287
|
continue;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
let content;
|
|
139
|
-
try {
|
|
140
|
-
content = await fs.readFile(skillMdPath, 'utf-8');
|
|
141
|
-
}
|
|
142
|
-
catch {
|
|
288
|
+
if (typeof read === 'string') {
|
|
289
|
+
warnSkipped(entryPath, REFUSAL_REASONS[read]);
|
|
143
290
|
continue;
|
|
144
291
|
}
|
|
145
|
-
const frontmatter = parseSkillFrontmatter(
|
|
292
|
+
const frontmatter = parseSkillFrontmatter(read.text);
|
|
146
293
|
if (!frontmatter)
|
|
147
294
|
continue;
|
|
148
295
|
// Use relative path from skillsDir for the skillPath
|
|
296
|
+
const skillMdPath = path.join(entryPath, 'SKILL.md');
|
|
149
297
|
const relativePath = path.relative(skillsDir, skillMdPath);
|
|
150
|
-
discovered.push(frontmatterToEntry(frontmatter, relativePath,
|
|
298
|
+
discovered.push(frontmatterToEntry(frontmatter, relativePath, skillsDir, entry));
|
|
151
299
|
}
|
|
152
300
|
return discovered;
|
|
153
301
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-discovery.js","sourceRoot":"","sources":["../src/workspace-discovery.ts"],"names":[],"mappings":"AAAA,cAAc;AACd
|
|
1
|
+
{"version":3,"file":"workspace-discovery.js","sourceRoot":"","sources":["../src/workspace-discovery.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@framers/agentos-skills-registry",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.7",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"README.md"
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"access": "public"
|
|
74
74
|
},
|
|
75
75
|
"dependencies": {
|
|
76
|
-
"@framers/agentos-skills": "^0.10.
|
|
76
|
+
"@framers/agentos-skills": "^0.10.2",
|
|
77
77
|
"yaml": "^2.8.1"
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {
|
|
@@ -85,11 +85,11 @@
|
|
|
85
85
|
}
|
|
86
86
|
},
|
|
87
87
|
"devDependencies": {
|
|
88
|
-
"@framers/agentos": "^0.
|
|
88
|
+
"@framers/agentos": "^0.14.21",
|
|
89
89
|
"@types/node": "^20.12.12",
|
|
90
90
|
"typescript": "^5.4.5",
|
|
91
91
|
"vitest": "^1.0.0",
|
|
92
92
|
"conventional-changelog-conventionalcommits": "8.0.0",
|
|
93
|
-
"semantic-release": "
|
|
93
|
+
"semantic-release": "25.0.9"
|
|
94
94
|
}
|
|
95
95
|
}
|