@dzhechkov/harness-core 0.8.33 → 0.8.35

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 (53) hide show
  1. package/.dz-manifest.json +52 -52
  2. package/README.md +228 -5
  3. package/dist/agentdb-index.d.ts +39 -7
  4. package/dist/agentdb-index.d.ts.map +1 -1
  5. package/dist/agentdb-index.js +217 -23
  6. package/dist/agentdb-index.js.map +1 -1
  7. package/dist/apply-leg.d.ts +197 -6
  8. package/dist/apply-leg.d.ts.map +1 -1
  9. package/dist/apply-leg.js +858 -46
  10. package/dist/apply-leg.js.map +1 -1
  11. package/dist/index.d.ts +7 -6
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +9 -4
  14. package/dist/index.js.map +1 -1
  15. package/dist/mutation-gate.d.ts +19 -0
  16. package/dist/mutation-gate.d.ts.map +1 -1
  17. package/dist/mutation-gate.js +37 -1
  18. package/dist/mutation-gate.js.map +1 -1
  19. package/dist/operations.d.ts +16 -1
  20. package/dist/operations.d.ts.map +1 -1
  21. package/dist/operations.js +115 -13
  22. package/dist/operations.js.map +1 -1
  23. package/dist/publish-sibling-drift.d.ts +72 -0
  24. package/dist/publish-sibling-drift.d.ts.map +1 -1
  25. package/dist/publish-sibling-drift.js +150 -4
  26. package/dist/publish-sibling-drift.js.map +1 -1
  27. package/dist/release.d.ts +72 -0
  28. package/dist/release.d.ts.map +1 -1
  29. package/dist/release.js +236 -19
  30. package/dist/release.js.map +1 -1
  31. package/dist/setup.d.ts.map +1 -1
  32. package/dist/setup.js +90 -14
  33. package/dist/setup.js.map +1 -1
  34. package/dist/skills.d.ts +87 -3
  35. package/dist/skills.d.ts.map +1 -1
  36. package/dist/skills.js +266 -15
  37. package/dist/skills.js.map +1 -1
  38. package/dist/vector-tier.d.ts +27 -2
  39. package/dist/vector-tier.d.ts.map +1 -1
  40. package/dist/vector-tier.js +117 -4
  41. package/dist/vector-tier.js.map +1 -1
  42. package/package.json +2 -2
  43. package/sbom.json +51 -51
  44. package/src/agentdb-index.ts +223 -24
  45. package/src/apply-leg.ts +875 -46
  46. package/src/index.ts +18 -2
  47. package/src/mutation-gate.ts +58 -2
  48. package/src/operations.ts +117 -14
  49. package/src/publish-sibling-drift.ts +209 -4
  50. package/src/release.ts +263 -17
  51. package/src/setup.ts +81 -16
  52. package/src/skills.ts +303 -14
  53. package/src/vector-tier.ts +157 -5
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/dist/skills.d.ts CHANGED
@@ -20,6 +20,78 @@ export interface SkillInfo {
20
20
  readonly assetPaths: string[];
21
21
  readonly frontmatter: Record<string, unknown>;
22
22
  }
23
+ /**
24
+ * One filesystem entry skipped during skill asset discovery, named so nothing
25
+ * vanishes silently (feature `skills-walk-symlinks-and-junk`, FR-1/FR-2). `path`
26
+ * is the entry's own path (not its symlink target); `reason` is a short,
27
+ * stable, human-readable tag: `'junk file (<pattern>)'` (e.g. `'junk file
28
+ * (*.pyc)'` — fix-round 1 HIGH-1(b): the pattern that matched, not just the
29
+ * verdict), `'junk directory (<name>)'`, `'broken symlink'`, `'symlink escapes
30
+ * the skill directory'` (fix-round 1 AM-8), `'symlink cycle — directory
31
+ * already visited'`, or `'unreadable directory (<errno message>)'` (fix-round
32
+ * 1 MEDIUM-3).
33
+ */
34
+ export interface SkippedEntry {
35
+ readonly path: string;
36
+ readonly reason: string;
37
+ }
38
+ /** The result of {@link walkFiles}: the real assets found, plus everything skipped. */
39
+ export interface SkillWalkResult {
40
+ readonly files: readonly string[];
41
+ readonly skipped: readonly SkippedEntry[];
42
+ }
43
+ /**
44
+ * Directory names that never carry legitimate skill assets — build/cache artifacts a
45
+ * skill author does not intend to ship. **This list IS the published contract for "what
46
+ * counts as junk"** (fix-round 1 HIGH-1(a), REFUTED-by-contract — see
47
+ * `packages/@dzhechkov/harness-core/README.md`, "What counts as junk"): a skill cannot
48
+ * ship a directory bearing one of these exact names as an asset, on purpose or by
49
+ * accident — that is the deliberate, documented trade the design makes, not an
50
+ * oversight to be widened into content-sniffing heuristics. NOT a whitelist of allowed
51
+ * directories: any OTHER name (including a dotdir the author added on purpose) is
52
+ * walked as usual — filtering a user's own files is not this list's job (FR-2,
53
+ * requirements AC-1).
54
+ */
55
+ export declare const SKILL_JUNK_DIRS: ReadonlySet<string>;
56
+ /** Exact junk filenames skipped during skill asset discovery (FR-2). */
57
+ export declare const SKILL_JUNK_FILES: ReadonlySet<string>;
58
+ /** True when `name` matches a documented junk-file pattern (FR-2). */
59
+ export declare function isSkillJunkFile(name: string): boolean;
60
+ /**
61
+ * Recursively list every real, non-junk file under `dir`, resolving symlinks to
62
+ * their targets and guarding against symlink cycles.
63
+ *
64
+ * A `Dirent` from `readdirSync` answers `false` to BOTH `isDirectory()` and
65
+ * `isFile()` for a symlink entry — trusting those two checks alone silently drops
66
+ * every symlinked asset (MEASURED: 2 of 4 fixture assets vanished, exit 0). This
67
+ * resolves each symlink with `statSync` (which follows the link) before deciding
68
+ * whether it names a file or a directory.
69
+ *
70
+ * Cycle guard: each directory's `realpath` is recorded in `seenRealDirs` while
71
+ * it is being walked and REMOVED again when its walk returns — the set is the
72
+ * chain of ANCESTORS on the current recursion path, not every directory ever
73
+ * visited. A directory (reached directly or through a symlink) whose real path is
74
+ * already on that chain ends the walk there instead of recursing — this is what
75
+ * stops `a -> ..` from hanging (AC-2; registry entry `walk-guards-cycles`). Two
76
+ * non-cyclic aliases of the same directory (`alias1 -> shared`, `alias2 -> shared`)
77
+ * are BOTH walked under their own logical paths (Codex r2 HIGH, lead fix): an
78
+ * alias is not a cycle, and the earlier visited-set semantics silently dropped the
79
+ * second one as if it were.
80
+ *
81
+ * Containment guard (lead item AM-8): every symlink's resolved target is checked
82
+ * against `rootRealDir` — the real path of the directory the OUTERMOST call was
83
+ * given (the skill directory itself, for every caller in this file) — before it is
84
+ * followed. A symlink whose target resolves outside that root is skipped, named,
85
+ * never bundled as an asset; `rootRealDir` is threaded through every recursive call
86
+ * so a nested symlinked directory is still checked against the ORIGINAL skill root,
87
+ * not against whichever subdirectory happens to be walking it.
88
+ *
89
+ * `readdirSync` failure (fix-round 1 MEDIUM-3) — e.g. an unreadable directory whose
90
+ * own `realpath` still resolved — produces a named `skipped` entry, same as an
91
+ * unresolvable `realpathSync`; it never throws out of this function or out of
92
+ * {@link loadSkillFromDir}.
93
+ */
94
+ export declare function walkFiles(dir: string, seenRealDirs?: Set<string>, rootRealDir?: string): SkillWalkResult;
23
95
  /** Return the ids of every `<skillsDir>/<id>/SKILL.md`, sorted. */
24
96
  export declare function discoverSkillIds(skillsDir: string): string[];
25
97
  /**
@@ -109,13 +181,25 @@ export interface SkillApplyFailure {
109
181
  * Returns `[]` for an empty input, so callers can splice it unconditionally.
110
182
  */
111
183
  export declare function formatSkillApplyFailures(failures: readonly SkillApplyFailure[]): string[];
112
- /** Get detailed info about a single skill without loading all assets. */
113
184
  export declare function getSkillInfo(skillsDir: string, id: string): SkillInfo | undefined;
185
+ /**
186
+ * A {@link CanonicalSkill} plus, optionally, the {@link SkippedEntry} list
187
+ * {@link loadSkillFromDir} collected while walking the skill's directory. The
188
+ * field is additive and optional — a `CanonicalSkill`-typed caller (every
189
+ * adapter, every existing consumer) sees exactly the shape it always saw;
190
+ * only a caller that reads `.skipped` learns about junk/broken-symlink skips.
191
+ */
192
+ export type LoadedSkill = CanonicalSkill & {
193
+ readonly skipped?: readonly SkippedEntry[];
194
+ };
114
195
  /**
115
196
  * Load one `<skillsDir>/<id>/` directory into a {@link CanonicalSkill}: its
116
- * `SKILL.md` document plus every other file as a bundled asset.
197
+ * `SKILL.md` document plus every other file as a bundled asset. Junk entries
198
+ * and broken/cyclic symlinks encountered along the way are named in
199
+ * `.skipped` (feature `skills-walk-symlinks-and-junk`, FR-1/FR-2) — omitted
200
+ * entirely when nothing was skipped, never a silent drop.
117
201
  *
118
202
  * @throws if the skill directory has no `SKILL.md`.
119
203
  */
120
- export declare function loadSkillFromDir(skillsDir: string, id: string): CanonicalSkill;
204
+ export declare function loadSkillFromDir(skillsDir: string, id: string): LoadedSkill;
121
205
  //# sourceMappingURL=skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,iBAAiB,CAAC;AAElE,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,2BAA2B;AAC3B,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/C;AAsCD,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAM5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAM5D;AAWD,8EAA8E;AAC9E,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAChD;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,GACb,gBAAgB,CAmBlB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAalE;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,IAAI,GAAE;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1C,MAAM,EAAE,CAaV;AAeD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAQzF;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAqBjF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc,CAoB9E"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
package/dist/skills.js CHANGED
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * @packageDocumentation
5
5
  */
6
- import { existsSync, readdirSync, readFileSync } from 'node:fs';
7
- import { join, relative } from 'node:path';
6
+ import { existsSync, lstatSync, readdirSync, readFileSync, realpathSync, statSync } from 'node:fs';
7
+ import { isAbsolute, join, relative, sep } from 'node:path';
8
8
  import { parse as parseYaml } from 'yaml';
9
9
  import { ClaudeSkillFrontmatterSchema, parseSkillDocument } from '@dzhechkov/core';
10
10
  /**
@@ -31,17 +31,234 @@ function readAssetContent(path) {
31
31
  }
32
32
  return { encoding: 'utf-8', content: decoded };
33
33
  }
34
- /** Recursively list every file under `dir`. */
35
- function walkFiles(dir) {
36
- const out = [];
37
- for (const entry of readdirSync(dir, { withFileTypes: true })) {
34
+ /**
35
+ * Directory names that never carry legitimate skill assets — build/cache artifacts a
36
+ * skill author does not intend to ship. **This list IS the published contract for "what
37
+ * counts as junk"** (fix-round 1 HIGH-1(a), REFUTED-by-contract — see
38
+ * `packages/@dzhechkov/harness-core/README.md`, "What counts as junk"): a skill cannot
39
+ * ship a directory bearing one of these exact names as an asset, on purpose or by
40
+ * accident — that is the deliberate, documented trade the design makes, not an
41
+ * oversight to be widened into content-sniffing heuristics. NOT a whitelist of allowed
42
+ * directories: any OTHER name (including a dotdir the author added on purpose) is
43
+ * walked as usual — filtering a user's own files is not this list's job (FR-2,
44
+ * requirements AC-1).
45
+ */
46
+ export const SKILL_JUNK_DIRS = new Set([
47
+ '__pycache__', // Python bytecode cache
48
+ 'node_modules', // an accidentally-vendored dependency tree
49
+ '.git', // VCS metadata
50
+ '__MACOSX', // macOS zip-archive resource-fork sidecar directory (fix-round 1 MEDIUM-2)
51
+ '.pytest_cache', // pytest's cache directory (fix-round 1 MEDIUM-2)
52
+ '.mypy_cache', // mypy's cache directory (fix-round 1 MEDIUM-2)
53
+ ]);
54
+ /** Exact junk filenames skipped during skill asset discovery (FR-2). */
55
+ export const SKILL_JUNK_FILES = new Set([
56
+ '.DS_Store', // macOS Finder folder metadata
57
+ 'Thumbs.db', // Windows Explorer thumbnail cache
58
+ ]);
59
+ /** Junk filename SUFFIXES skipped during skill asset discovery (FR-2). */
60
+ const SKILL_JUNK_FILE_SUFFIXES = [
61
+ '.pyc', // Python bytecode
62
+ '.pyo', // Python optimized bytecode
63
+ '.swp', // Vim swap file
64
+ '.swo', // Vim swap file, second form left after a crash recovery (fix-round 1 MEDIUM-2)
65
+ // A trailing `~` (editor backup) is deliberately NOT on this list (Codex r2 HIGH, lead
66
+ // decision): it is the one pattern a legitimate asset name can plausibly end with
67
+ // (`notes~`), and FR-2's list is conservative by contract — a false positive here would
68
+ // silently drop a real asset, which AC-1 forbids. Backup files ending in `~` ship as assets.
69
+ ];
70
+ /** Junk filename PREFIXES skipped during skill asset discovery (fix-round 1 MEDIUM-2). */
71
+ const SKILL_JUNK_FILE_PREFIXES = [
72
+ '.#', // Emacs lock file (e.g. `.#notes.txt`), left behind by an unclean editor exit
73
+ ];
74
+ /** True when `name` matches a documented junk-file pattern (FR-2). */
75
+ export function isSkillJunkFile(name) {
76
+ if (SKILL_JUNK_FILES.has(name))
77
+ return true;
78
+ if (SKILL_JUNK_FILE_SUFFIXES.some((suffix) => name.endsWith(suffix)))
79
+ return true;
80
+ return SKILL_JUNK_FILE_PREFIXES.some((prefix) => name.startsWith(prefix));
81
+ }
82
+ /**
83
+ * The ONE decision point `walkFiles` calls to ask "is this entry junk?" — a directory
84
+ * check and a file check both funnel through here so a single mutation can prove (or
85
+ * disprove) that junk filtering, as a whole, is wired in (registry entry
86
+ * `walk-filters-junk`). Splitting this into two never-both-mutated call sites would let
87
+ * a mutation of just one half pass unnoticed while the other half still filtered.
88
+ */
89
+ function isJunkEntry(name, kind) {
90
+ return kind === 'directory' ? SKILL_JUNK_DIRS.has(name) : isSkillJunkFile(name);
91
+ }
92
+ /**
93
+ * Which junk PATTERN `name` matched — used to build a `reason` that NAMES the pattern,
94
+ * not just the verdict (fix-round 1 HIGH-1(b): `'junk file (*.pyc)'`, never a bare
95
+ * `'junk file'`). Kept separate from {@link isJunkEntry} (the one go/no-go point the
96
+ * `walk-filters-junk` mutation targets) so a mutation of the decision does not also
97
+ * have to fake this label to stay silent.
98
+ */
99
+ function junkPatternLabel(name, kind) {
100
+ if (kind === 'directory')
101
+ return name;
102
+ if (SKILL_JUNK_FILES.has(name))
103
+ return name;
104
+ for (const suffix of SKILL_JUNK_FILE_SUFFIXES) {
105
+ if (name.endsWith(suffix))
106
+ return `*${suffix}`;
107
+ }
108
+ for (const prefix of SKILL_JUNK_FILE_PREFIXES) {
109
+ if (name.startsWith(prefix))
110
+ return `${prefix}*`;
111
+ }
112
+ return name; // unreachable when isJunkEntry(name, kind) is true; kept total, not partial.
113
+ }
114
+ /**
115
+ * True when `targetRealPath` lies within `rootRealDir` — refuses a symlink whose
116
+ * resolved target escapes the skill directory (lead item AM-8: `assets/secret ->
117
+ * /etc/hostname`, or `-> ../../..`, must never be followed and bundled as an asset).
118
+ * Uses `relative()` plus a leading-`..`/absolute check rather than a lexical
119
+ * `startsWith`, the SAME idiom as `containedUnderRoot` in
120
+ * `packages/@dzhechkov/harness-cli/src/cli.ts` (read-only reference for technique) —
121
+ * a lexical string-prefix check is fooled by a sibling directory that happens to share
122
+ * the root as a text prefix (root `/a/b` vs. target `/a/bc`).
123
+ */
124
+ function isContained(rootRealDir, targetRealPath) {
125
+ if (targetRealPath === rootRealDir)
126
+ return true;
127
+ const rel = relative(rootRealDir, targetRealPath);
128
+ // Codex r2 MEDIUM (lead fix): only a `..` COMPONENT escapes — a file legitimately named
129
+ // `..asset` yields rel === '..asset', which is inside the root.
130
+ return rel !== '' && rel !== '..' && !rel.startsWith(`..${sep}`) && !isAbsolute(rel);
131
+ }
132
+ /**
133
+ * Recursively list every real, non-junk file under `dir`, resolving symlinks to
134
+ * their targets and guarding against symlink cycles.
135
+ *
136
+ * A `Dirent` from `readdirSync` answers `false` to BOTH `isDirectory()` and
137
+ * `isFile()` for a symlink entry — trusting those two checks alone silently drops
138
+ * every symlinked asset (MEASURED: 2 of 4 fixture assets vanished, exit 0). This
139
+ * resolves each symlink with `statSync` (which follows the link) before deciding
140
+ * whether it names a file or a directory.
141
+ *
142
+ * Cycle guard: each directory's `realpath` is recorded in `seenRealDirs` while
143
+ * it is being walked and REMOVED again when its walk returns — the set is the
144
+ * chain of ANCESTORS on the current recursion path, not every directory ever
145
+ * visited. A directory (reached directly or through a symlink) whose real path is
146
+ * already on that chain ends the walk there instead of recursing — this is what
147
+ * stops `a -> ..` from hanging (AC-2; registry entry `walk-guards-cycles`). Two
148
+ * non-cyclic aliases of the same directory (`alias1 -> shared`, `alias2 -> shared`)
149
+ * are BOTH walked under their own logical paths (Codex r2 HIGH, lead fix): an
150
+ * alias is not a cycle, and the earlier visited-set semantics silently dropped the
151
+ * second one as if it were.
152
+ *
153
+ * Containment guard (lead item AM-8): every symlink's resolved target is checked
154
+ * against `rootRealDir` — the real path of the directory the OUTERMOST call was
155
+ * given (the skill directory itself, for every caller in this file) — before it is
156
+ * followed. A symlink whose target resolves outside that root is skipped, named,
157
+ * never bundled as an asset; `rootRealDir` is threaded through every recursive call
158
+ * so a nested symlinked directory is still checked against the ORIGINAL skill root,
159
+ * not against whichever subdirectory happens to be walking it.
160
+ *
161
+ * `readdirSync` failure (fix-round 1 MEDIUM-3) — e.g. an unreadable directory whose
162
+ * own `realpath` still resolved — produces a named `skipped` entry, same as an
163
+ * unresolvable `realpathSync`; it never throws out of this function or out of
164
+ * {@link loadSkillFromDir}.
165
+ */
166
+ export function walkFiles(dir, seenRealDirs = new Set(), rootRealDir) {
167
+ const files = [];
168
+ const skipped = [];
169
+ let realDir;
170
+ try {
171
+ realDir = realpathSync(dir);
172
+ }
173
+ catch (error) {
174
+ skipped.push({ path: dir, reason: `unreadable directory (${error instanceof Error ? error.message : String(error)})` });
175
+ return { files, skipped };
176
+ }
177
+ if (seenRealDirs.has(realDir)) {
178
+ skipped.push({ path: dir, reason: 'symlink cycle — directory already visited' });
179
+ return { files, skipped };
180
+ }
181
+ seenRealDirs.add(realDir);
182
+ const root = rootRealDir ?? realDir;
183
+ let entries;
184
+ try {
185
+ entries = readdirSync(dir, { withFileTypes: true });
186
+ }
187
+ catch (error) {
188
+ skipped.push({ path: dir, reason: `unreadable directory (${error instanceof Error ? error.message : String(error)})` });
189
+ seenRealDirs.delete(realDir);
190
+ return { files, skipped };
191
+ }
192
+ for (const entry of entries) {
38
193
  const full = join(dir, entry.name);
39
- if (entry.isDirectory())
40
- out.push(...walkFiles(full));
41
- else if (entry.isFile())
42
- out.push(full);
194
+ if (entry.isSymbolicLink()) {
195
+ let target;
196
+ try {
197
+ target = statSync(full); // follows the link
198
+ }
199
+ catch {
200
+ skipped.push({ path: full, reason: 'broken symlink' });
201
+ continue;
202
+ }
203
+ let resolvedReal;
204
+ try {
205
+ resolvedReal = realpathSync(full);
206
+ }
207
+ catch {
208
+ // statSync just followed this same link successfully, so this is very unlikely
209
+ // (a race with something deleting the target); treat it the same as broken.
210
+ skipped.push({ path: full, reason: 'broken symlink' });
211
+ continue;
212
+ }
213
+ if (!isContained(root, resolvedReal)) {
214
+ skipped.push({ path: full, reason: 'symlink escapes the skill directory' });
215
+ continue;
216
+ }
217
+ if (target.isDirectory()) {
218
+ if (isJunkEntry(entry.name, 'directory')) {
219
+ skipped.push({ path: full, reason: `junk directory (${junkPatternLabel(entry.name, 'directory')})` });
220
+ continue;
221
+ }
222
+ const nested = walkFiles(full, seenRealDirs, root);
223
+ files.push(...nested.files);
224
+ skipped.push(...nested.skipped);
225
+ }
226
+ else if (target.isFile()) {
227
+ if (isJunkEntry(entry.name, 'file')) {
228
+ skipped.push({ path: full, reason: `junk file (${junkPatternLabel(entry.name, 'file')})` });
229
+ continue;
230
+ }
231
+ files.push(full);
232
+ }
233
+ else {
234
+ skipped.push({ path: full, reason: 'symlink target is neither a file nor a directory' });
235
+ }
236
+ continue;
237
+ }
238
+ if (entry.isDirectory()) {
239
+ if (isJunkEntry(entry.name, 'directory')) {
240
+ skipped.push({ path: full, reason: `junk directory (${junkPatternLabel(entry.name, 'directory')})` });
241
+ continue;
242
+ }
243
+ const nested = walkFiles(full, seenRealDirs, root);
244
+ files.push(...nested.files);
245
+ skipped.push(...nested.skipped);
246
+ }
247
+ else if (entry.isFile()) {
248
+ if (isJunkEntry(entry.name, 'file')) {
249
+ skipped.push({ path: full, reason: `junk file (${junkPatternLabel(entry.name, 'file')})` });
250
+ continue;
251
+ }
252
+ files.push(full);
253
+ }
254
+ else {
255
+ skipped.push({ path: full, reason: 'not a regular file, directory, or symlink' });
256
+ }
43
257
  }
44
- return out;
258
+ // Ancestor-chain semantics (see the cycle-guard doc above): this directory's walk is
259
+ // over, so a sibling alias of it must be allowed to walk it again under its own path.
260
+ seenRealDirs.delete(realDir);
261
+ return { files, skipped };
45
262
  }
46
263
  /** Return the ids of every `<skillsDir>/<id>/SKILL.md`, sorted. */
47
264
  export function discoverSkillIds(skillsDir) {
@@ -65,6 +282,9 @@ export function discoverSkillIds(skillsDir) {
65
282
  */
66
283
  export function listSkills(skillsDir) {
67
284
  return discoverSkillIds(skillsDir).map((id) => {
285
+ // Codex r3 (lead fix): the SKILL.md containment check guards EVERY public reader, not
286
+ // only loadSkillFromDir/getSkillInfo — an escaping SKILL.md symlink is refused here too.
287
+ assertSkillMdContained(join(skillsDir, id), join(skillsDir, id, 'SKILL.md'), id);
68
288
  const document = parseSkillDocument(readFileSync(join(skillsDir, id, 'SKILL.md'), 'utf-8'));
69
289
  const frontmatter = ClaudeSkillFrontmatterSchema.parse(parseYaml(document.frontmatterYaml));
70
290
  return { id, description: frontmatter.description };
@@ -91,6 +311,9 @@ export function describeSkillLoadFailure(skillsDir, id, error) {
91
311
  const path = join(skillsDir, id, 'SKILL.md');
92
312
  let firstLine = '';
93
313
  try {
314
+ // Codex r3 (lead fix): never read an ESCAPING SKILL.md even for a diagnostic snippet —
315
+ // the first line of a file outside the skill directory is not ours to print.
316
+ assertSkillMdContained(join(skillsDir, id), path, id);
94
317
  const raw = readFileSync(path, 'utf-8');
95
318
  const line = (raw.split('\n', 1)[0] ?? '').replace(/\r$/, '').trim();
96
319
  firstLine =
@@ -121,6 +344,8 @@ export function listSkillsDetailed(skillsDir) {
121
344
  const failures = [];
122
345
  for (const id of discoverSkillIds(skillsDir)) {
123
346
  try {
347
+ // Codex r3 (lead fix): refused BEFORE the read; the throw lands in `failures` below.
348
+ assertSkillMdContained(join(skillsDir, id), join(skillsDir, id, 'SKILL.md'), id);
124
349
  const document = parseSkillDocument(readFileSync(join(skillsDir, id, 'SKILL.md'), 'utf-8'));
125
350
  const frontmatter = ClaudeSkillFrontmatterSchema.parse(parseYaml(document.frontmatterYaml));
126
351
  skills.push({ id, description: frontmatter.description });
@@ -176,16 +401,35 @@ export function formatSkillApplyFailures(failures) {
176
401
  return lines;
177
402
  }
178
403
  /** Get detailed info about a single skill without loading all assets. */
404
+ /**
405
+ * Codex r2 CRITICAL (lead fix, AM-8 completed): the walk's containment guard runs AFTER
406
+ * `SKILL.md` has already been read, so a `SKILL.md` that is itself a symlink escaping
407
+ * the skill directory (`SKILL.md -> /etc/motd`, `-> ../../outside.md`) was followed and
408
+ * installed regardless. `SKILL.md` is mandatory, so an escaping one cannot be "skipped" —
409
+ * the whole skill is REFUSED with a named reason, never loaded from outside its directory.
410
+ * An in-tree `SKILL.md` symlink (a real file elsewhere inside the same skill directory)
411
+ * still loads. Returns nothing; throws on escape.
412
+ */
413
+ function assertSkillMdContained(skillDir, skillMdPath, id) {
414
+ if (!lstatSync(skillMdPath).isSymbolicLink())
415
+ return;
416
+ const rootReal = realpathSync(skillDir);
417
+ const targetReal = realpathSync(skillMdPath);
418
+ if (!isContained(rootReal, targetReal)) {
419
+ throw new Error(`skill ${JSON.stringify(id)}: SKILL.md is a symlink escaping the skill directory (-> ${targetReal}) — refused`);
420
+ }
421
+ }
179
422
  export function getSkillInfo(skillsDir, id) {
180
423
  const skillDir = join(skillsDir, id);
181
424
  const skillMdPath = join(skillDir, 'SKILL.md');
182
425
  if (!existsSync(skillMdPath))
183
426
  return undefined;
427
+ assertSkillMdContained(skillDir, skillMdPath, id);
184
428
  const document = parseSkillDocument(readFileSync(skillMdPath, 'utf-8'));
185
429
  const fm = parseYaml(document.frontmatterYaml);
186
430
  const parsed = ClaudeSkillFrontmatterSchema.parse(fm);
187
431
  const assetPaths = walkFiles(skillDir)
188
- .filter((p) => p !== skillMdPath)
432
+ .files.filter((p) => p !== skillMdPath)
189
433
  .map((p) => relative(skillDir, p).split('\\').join('/'))
190
434
  .sort();
191
435
  return {
@@ -201,7 +445,10 @@ export function getSkillInfo(skillsDir, id) {
201
445
  }
202
446
  /**
203
447
  * Load one `<skillsDir>/<id>/` directory into a {@link CanonicalSkill}: its
204
- * `SKILL.md` document plus every other file as a bundled asset.
448
+ * `SKILL.md` document plus every other file as a bundled asset. Junk entries
449
+ * and broken/cyclic symlinks encountered along the way are named in
450
+ * `.skipped` (feature `skills-walk-symlinks-and-junk`, FR-1/FR-2) — omitted
451
+ * entirely when nothing was skipped, never a silent drop.
205
452
  *
206
453
  * @throws if the skill directory has no `SKILL.md`.
207
454
  */
@@ -211,9 +458,11 @@ export function loadSkillFromDir(skillsDir, id) {
211
458
  if (!existsSync(skillMdPath)) {
212
459
  throw new Error(`skill not found: ${JSON.stringify(id)} (looked in ${skillsDir})`);
213
460
  }
461
+ assertSkillMdContained(skillDir, skillMdPath, id);
214
462
  const document = parseSkillDocument(readFileSync(skillMdPath, 'utf-8'));
215
463
  const frontmatter = ClaudeSkillFrontmatterSchema.parse(parseYaml(document.frontmatterYaml));
216
- const assets = walkFiles(skillDir)
464
+ const walk = walkFiles(skillDir);
465
+ const assets = walk.files
217
466
  .filter((path) => path !== skillMdPath)
218
467
  .map((path) => {
219
468
  const { encoding, content } = readAssetContent(path);
@@ -224,6 +473,8 @@ export function loadSkillFromDir(skillsDir, id) {
224
473
  };
225
474
  })
226
475
  .sort((a, b) => a.path.localeCompare(b.path));
227
- return { id, frontmatter, document, assets };
476
+ return walk.skipped.length > 0
477
+ ? { id, frontmatter, document, assets, skipped: walk.skipped }
478
+ : { id, frontmatter, document, assets };
228
479
  }
229
480
  //# sourceMappingURL=skills.js.map