dsh-agent-skills 0.1.12 → 0.1.14

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 CHANGED
@@ -109,7 +109,22 @@ npm pack --dry-run
109
109
  - wire codec 同时提供旧版读取的 `schema` 和新版要求的 `create()`,客户端与宿主两面共用同一张描述表;
110
110
  - 宿主提供的 `@deepseek-ai/*` 依赖按名字解析,`peerDependencies` 只是兼容区间声明,不会把旧版依赖装进你的 profile。
111
111
 
112
- DSH 升级到新发布线后无需重新安装插件;只有 DSH 改 preset 文件时会丢失技能接管,重新点一次「开启接管 DSH 技能」即可。
112
+ 「开启接管 DSH 技能」会自动识别 preset 的三种历史布局,不需要手动指定路径:
113
+
114
+ | DSH 版本 | preset 文件位置 |
115
+ | --- | --- |
116
+ | 早期(`config/agent-presets`) | `<@deepseek-ai/dsh>/config/agent-presets/<id>/agent.cordis.yml` |
117
+ | `0.1.0` ~ `0.1.6-alpha`(`dsh-agent-presets` 包) | `<@deepseek-ai/dsh-agent-presets>/presets/<id>/agent.cordis.yml` |
118
+ | `0.1.7-rc.2` 起(`dsh-web-app` 包) | `<@deepseek-ai/dsh-web-app>/presets/<id>.patch.yml` |
119
+
120
+ 其他行为约定:
121
+
122
+ - preset 包的解析始终优先「正在使用的那份」:升级 DSH 后常见的 `dsh-agent-presets` 残留即使与 `dsh-web-app` 同级共存,也不会被误选中改写;
123
+ - Windows 与 POSIX 同等支持,路径比较统一按平台归一化后判定;
124
+ - 接管只改写 `skill-filesystem` 行的 `name`,preset 行自带的 `config`(例如 `cordis` preset 的 `customSkillDirs`)保持原样,并且仍会被接管后的 provider 扫描;
125
+ - 不含 `skill-filesystem` 行的 preset(如 `minimal`)不会被改动。
126
+
127
+ DSH 升级到新发布线后无需重新安装插件;只有 DSH 重新安装/升级覆盖 preset 文件时会丢失技能接管,重新点一次「开启接管 DSH 技能」即可。
113
128
 
114
129
  ## 注意
115
130
 
package/lib/paths.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Platform-independent path comparisons.
3
+ *
4
+ * Windows separates paths with `\`, so any comparison written against a `/`
5
+ * literal — a `startsWith(root + "/")` prefix test or an
6
+ * `endsWith("/<id>/agent.cordis.yml")` suffix test — silently fails there.
7
+ * Every path comparison in this plugin goes through the helpers below.
8
+ *
9
+ * @module dsh-agent-skills/paths
10
+ */
11
+ /**
12
+ * Canonical form used for comparisons only — never for filesystem access.
13
+ *
14
+ * Backslashes become forward slashes (Windows accepts both separators),
15
+ * trailing separators are dropped, and Windows paths fold case because the
16
+ * filesystem does.
17
+ */
18
+ export declare function comparablePath(path: string): string;
19
+ /** True when `path` is `root` itself or a descendant of it. */
20
+ export declare function isSameOrInside(path: string, root: string): boolean;
package/lib/paths.js ADDED
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Platform-independent path comparisons.
3
+ *
4
+ * Windows separates paths with `\`, so any comparison written against a `/`
5
+ * literal — a `startsWith(root + "/")` prefix test or an
6
+ * `endsWith("/<id>/agent.cordis.yml")` suffix test — silently fails there.
7
+ * Every path comparison in this plugin goes through the helpers below.
8
+ *
9
+ * @module dsh-agent-skills/paths
10
+ */
11
+ /**
12
+ * Canonical form used for comparisons only — never for filesystem access.
13
+ *
14
+ * Backslashes become forward slashes (Windows accepts both separators),
15
+ * trailing separators are dropped, and Windows paths fold case because the
16
+ * filesystem does.
17
+ */
18
+ export function comparablePath(path) {
19
+ const slashed = path.replace(/\\/g, "/").replace(/\/+$/, "");
20
+ return process.platform === "win32" ? slashed.toLowerCase() : slashed;
21
+ }
22
+ /** True when `path` is `root` itself or a descendant of it. */
23
+ export function isSameOrInside(path, root) {
24
+ const candidate = comparablePath(path);
25
+ const base = comparablePath(root);
26
+ return candidate === base || candidate.startsWith(`${base}/`);
27
+ }
28
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7D,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACxE,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAY;IACvD,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;AAChE,CAAC"}
@@ -5,7 +5,11 @@ export interface PresetManagerOptions {
5
5
  /** Override the running CLI entry used for package-root discovery. */
6
6
  argvEntry?: string;
7
7
  }
8
- /** Resolve verified preset roots - legacy DSH package OR new dsh-agent-presets package. */
8
+ /**
9
+ * Resolve the verified preset root: the legacy `@deepseek-ai/dsh` package, the
10
+ * retired `@deepseek-ai/dsh-agent-presets` package, or the `dsh-web-app`
11
+ * package that owns the presets from DSH 0.1.7-rc.2 on.
12
+ */
9
13
  export declare function resolveDshPackageRoot(options?: PresetManagerOptions): string | undefined;
10
14
  /** Inspect whether every shipped standard/code preset already mounts the provider. */
11
15
  export declare function inspectPresetTakeover(options?: PresetManagerOptions): PresetTakeoverStatus;
@@ -8,8 +8,27 @@
8
8
  import { existsSync, readFileSync, realpathSync, renameSync, statSync, unlinkSync, writeFileSync } from "node:fs";
9
9
  import { randomUUID } from "node:crypto";
10
10
  import { basename, dirname, join, parse } from "node:path";
11
+ import { comparablePath } from "./paths.js";
11
12
  const DSH_PACKAGE = "@deepseek-ai/dsh";
12
13
  const DSH_PRESET_PACKAGE = "@deepseek-ai/dsh-agent-presets";
14
+ const DSH_WEB_APP_PACKAGE = "@deepseek-ai/dsh-web-app";
15
+ /**
16
+ * Packages that may own the shipped presets, preferred owner first.
17
+ *
18
+ * `dsh-agent-presets` shipped them until 0.1.6-alpha; DSH 0.1.7-rc.2 moved them
19
+ * into `dsh-web-app/presets/<id>.patch.yml`; very old layouts keep them inside
20
+ * the `@deepseek-ai/dsh` package itself.
21
+ *
22
+ * The order is a *preference*, never a probe order. Upgrading DSH routinely
23
+ * leaves the retired `dsh-agent-presets` copy behind, so one tree level can hold
24
+ * the live and the retired owner at once. Picking whichever is probed first
25
+ * would then rewrite the stale copy — reporting a successful takeover while
26
+ * every file the running CLI actually loads stays untouched. A level therefore
27
+ * collects *all* of its candidates and keeps the best one (see `siblingRoots`).
28
+ *
29
+ * Unscoped names — these are path segments under `node_modules/@deepseek-ai/`.
30
+ */
31
+ const PRESET_OWNER_PACKAGES = ["dsh-web-app", "dsh-agent-presets", "dsh"];
13
32
  const PRESET_IDS = ["standard", "code", "ptc", "cordis"];
14
33
  const OFFICIAL_PROVIDER = "@deepseek-ai/dsh-skill-filesystem";
15
34
  const TAKEOVER_PROVIDER = "dsh-agent-skills/preset";
@@ -17,36 +36,37 @@ const CURRENT_ROW = /((?:^|\n)[ \t]*- id: skill-filesystem[ \t]*\r?\n[ \t]+name:
17
36
  const OFFICIAL_ROW = /((?:^|\n)[ \t]*- id: skill-filesystem[ \t]*\r?\n[ \t]+name:[ \t]*)['"]?@deepseek-ai\/dsh-skill-filesystem['"]?(?=\r?\n|$)/m;
18
37
  const LEGACY_OVERRIDE_ROW = /((?:^|\n)[ \t]*- id: skill-filesystem[ \t]*\r?\n[ \t]+name:[ \t]*)['"]?dsh-agent-skills['"]?(?=\r?\n|$)/m;
19
38
  const LEGACY_MANAGED_BLOCK = /\n?# ── dsh-agent-skills ─+\r?\n# Registered by dsh-agent-skills:[\s\S]*?- id: agent-skills\r?\n name: dsh-agent-skills(?:\/preset)?\r?\n?\s*$/m;
20
- function isLegacyDshRoot(dir) {
39
+ /** `name` from a package manifest, or undefined when it cannot be read. */
40
+ function packageNameOf(dir) {
21
41
  const manifest = join(dir, "package.json");
22
42
  if (!existsSync(manifest))
23
- return false;
43
+ return undefined;
24
44
  try {
25
45
  const pkg = JSON.parse(readFileSync(manifest, "utf8"));
26
- if (pkg.name !== DSH_PACKAGE)
27
- return false;
28
- // Accept both old layout (config/agent-presets present) and new DSH package
29
- // that still carries the name but whose presets moved to a sibling package.
30
- // For the latter we don't return true here; preset-package walk will handle it.
31
- return existsSync(join(dir, "config", "agent-presets"));
46
+ return typeof pkg.name === "string" ? pkg.name : undefined;
32
47
  }
33
48
  catch {
34
- return false;
49
+ return undefined;
35
50
  }
36
51
  }
52
+ /** Oldest layout: `<@deepseek-ai/dsh>/config/agent-presets/<id>/`. */
53
+ function isLegacyDshRoot(dir) {
54
+ return packageNameOf(dir) === DSH_PACKAGE && existsSync(join(dir, "config", "agent-presets"));
55
+ }
56
+ /**
57
+ * Layouts that ship the presets as their own package files:
58
+ * `dsh-agent-presets/presets/<id>/agent.cordis.yml` and, since DSH
59
+ * 0.1.7-rc.2, `dsh-web-app/presets/<id>.patch.yml`.
60
+ */
37
61
  function isPresetPackageRoot(dir) {
38
- const manifest = join(dir, "package.json");
39
- if (!existsSync(manifest))
62
+ const name = packageNameOf(dir);
63
+ if (name !== DSH_PRESET_PACKAGE && name !== DSH_WEB_APP_PACKAGE)
40
64
  return false;
41
- try {
42
- const pkg = JSON.parse(readFileSync(manifest, "utf8"));
43
- if (pkg.name !== DSH_PRESET_PACKAGE)
44
- return false;
45
- return existsSync(join(dir, "presets"));
46
- }
47
- catch {
48
- return false;
49
- }
65
+ return presetFiles(dir).length > 0;
66
+ }
67
+ /** True when `dir` owns at least one preset this plugin can rewrite. */
68
+ function isTakeoverRoot(dir) {
69
+ return isLegacyDshRoot(dir) || isPresetPackageRoot(dir);
50
70
  }
51
71
  function tryRealpath(path) {
52
72
  try {
@@ -56,6 +76,38 @@ function tryRealpath(path) {
56
76
  return path;
57
77
  }
58
78
  }
79
+ /**
80
+ * Sibling installs of the preset-owning packages at one tree level, best
81
+ * candidate first.
82
+ *
83
+ * Both the npm-flat spot (`<dir>/node_modules/@deepseek-ai/<pkg>`) and pnpm's
84
+ * hoisted peer directory (`<dir>/node_modules/.pnpm/node_modules/…`) are real
85
+ * layouts, and the package-owning installs also keep their own dependencies as
86
+ * siblings — which is where `dsh-web-app` lives next to the `dsh` package.
87
+ *
88
+ * Every candidate is collected before choosing, so a retired copy can never win
89
+ * merely by being probed first; `PRESET_OWNER_PACKAGES` order decides instead.
90
+ */
91
+ function siblingRoots(dir, predicate) {
92
+ const found = [];
93
+ const seen = new Set();
94
+ for (const pkg of PRESET_OWNER_PACKAGES) {
95
+ for (const sibling of [
96
+ join(dir, "node_modules", "@deepseek-ai", pkg),
97
+ join(dir, "node_modules", ".pnpm", "node_modules", "@deepseek-ai", pkg)
98
+ ]) {
99
+ if (!predicate(sibling))
100
+ continue;
101
+ const resolved = tryRealpath(sibling);
102
+ const key = comparablePath(resolved);
103
+ if (seen.has(key))
104
+ continue;
105
+ seen.add(key);
106
+ found.push(resolved);
107
+ }
108
+ }
109
+ return found;
110
+ }
59
111
  function walkForRoot(start, predicate) {
60
112
  if (start === undefined || start === "" || !existsSync(start))
61
113
  return undefined;
@@ -82,21 +134,12 @@ function walkForRoot(start, predicate) {
82
134
  for (const base of bases) {
83
135
  let current = base;
84
136
  while (true) {
137
+ // The package containing the running CLI is always the closest owner.
85
138
  if (predicate(current))
86
139
  return tryRealpath(current);
87
- // Check sibling package installations at this level (pnpm / npm flat layouts).
88
- const presetSibling = join(current, "node_modules", "@deepseek-ai", "dsh-agent-presets");
89
- if (predicate(presetSibling))
90
- return tryRealpath(presetSibling);
91
- const pnpmPreset = join(current, "node_modules", ".pnpm", "node_modules", "@deepseek-ai", "dsh-agent-presets");
92
- if (predicate(pnpmPreset))
93
- return tryRealpath(pnpmPreset);
94
- const dshSibling = join(current, "node_modules", "@deepseek-ai", "dsh");
95
- if (predicate(dshSibling))
96
- return tryRealpath(dshSibling);
97
- const pnpmDsh = join(current, "node_modules", ".pnpm", "node_modules", "@deepseek-ai", "dsh");
98
- if (predicate(pnpmDsh))
99
- return tryRealpath(pnpmDsh);
140
+ const [sibling] = siblingRoots(current, predicate);
141
+ if (sibling !== undefined)
142
+ return sibling;
100
143
  const parent = dirname(current);
101
144
  if (parent === current || current === parse(current).root)
102
145
  break;
@@ -105,13 +148,22 @@ function walkForRoot(start, predicate) {
105
148
  }
106
149
  return undefined;
107
150
  }
108
- function verifiedPackageRoot(start) {
109
- return walkForRoot(start, isLegacyDshRoot);
110
- }
111
- function verifiedPresetPackageRoot(start) {
112
- return walkForRoot(start, isPresetPackageRoot);
151
+ /** Directory part of a path that may be a file, or undefined when unusable. */
152
+ function directoryOf(path) {
153
+ try {
154
+ return statSync(path).isDirectory() ? path : dirname(path);
155
+ }
156
+ catch {
157
+ // A not-yet-existing file can still live in an existing directory.
158
+ const dir = dirname(path);
159
+ return existsSync(dir) ? dir : undefined;
160
+ }
113
161
  }
114
- /** Resolve verified preset roots - legacy DSH package OR new dsh-agent-presets package. */
162
+ /**
163
+ * Resolve the verified preset root: the legacy `@deepseek-ai/dsh` package, the
164
+ * retired `@deepseek-ai/dsh-agent-presets` package, or the `dsh-web-app`
165
+ * package that owns the presets from DSH 0.1.7-rc.2 on.
166
+ */
115
167
  export function resolveDshPackageRoot(options = {}) {
116
168
  const candidates = [
117
169
  options.dshRoot,
@@ -119,45 +171,54 @@ export function resolveDshPackageRoot(options = {}) {
119
171
  options.argvEntry ?? process.argv[1]
120
172
  ];
121
173
  for (const candidate of candidates) {
122
- // Explicit dshRoot may itself be the preset package root.
123
- if (candidate !== undefined && candidate !== "") {
124
- if (isPresetPackageRoot(candidate) || isLegacyDshRoot(candidate))
125
- return tryRealpath(candidate);
126
- // Also allow direct path to a preset package's subdirectory.
127
- try {
128
- const stat = statSync(candidate);
129
- const dir = stat.isDirectory() ? candidate : dirname(candidate);
130
- if (isPresetPackageRoot(dir) || isLegacyDshRoot(dir))
131
- return tryRealpath(dir);
174
+ if (candidate === undefined || candidate === "")
175
+ continue;
176
+ // The candidate may be the owning package itself, a file inside it (the
177
+ // CLI entry), or a deeper subdirectory of it.
178
+ const dir = directoryOf(candidate);
179
+ if (dir !== undefined) {
180
+ for (const probe of [dir, dirname(dir)]) {
181
+ if (isTakeoverRoot(probe))
182
+ return tryRealpath(probe);
132
183
  }
133
- catch { }
134
184
  }
135
- const legacy = walkForRoot(candidate, isLegacyDshRoot);
136
- if (legacy !== undefined)
137
- return legacy;
138
- const preset = walkForRoot(candidate, isPresetPackageRoot);
139
- if (preset !== undefined)
140
- return preset;
185
+ const found = walkForRoot(candidate, isTakeoverRoot);
186
+ if (found !== undefined)
187
+ return found;
141
188
  }
142
189
  return undefined;
143
190
  }
144
- function presetFiles(root) {
145
- const candidates = [
146
- join(root, "config", "agent-presets"),
147
- join(root, "presets")
191
+ /** Every on-disk shape one preset id may use, in probe order. */
192
+ function presetFileProbes(root, id) {
193
+ return [
194
+ join(root, "config", "agent-presets", id, "agent.cordis.yml"),
195
+ join(root, "presets", id, "agent.cordis.yml"),
196
+ join(root, "presets", `${id}.patch.yml`)
148
197
  ];
198
+ }
199
+ /**
200
+ * Existing preset files, one per shipped id, in `PRESET_IDS` order.
201
+ *
202
+ * The probes cover every historical layout, and deduplication compares
203
+ * separator-normalized paths so a Windows `\` path and its `/` equivalent
204
+ * never double-count.
205
+ */
206
+ function presetFiles(root) {
207
+ const seen = new Set();
149
208
  const files = [];
150
- for (const presetRoot of candidates) {
151
- for (const id of PRESET_IDS) {
152
- const file = join(presetRoot, id, "agent.cordis.yml");
153
- if (existsSync(file) && !files.includes(file))
154
- files.push(file);
209
+ for (const id of PRESET_IDS) {
210
+ for (const file of presetFileProbes(root, id)) {
211
+ if (!existsSync(file))
212
+ continue;
213
+ const key = comparablePath(file);
214
+ if (seen.has(key))
215
+ continue;
216
+ seen.add(key);
217
+ files.push(file);
218
+ break;
155
219
  }
156
220
  }
157
- if (files.length === 0)
158
- return [];
159
- // Preserve PRESET_IDS order for deterministic status reporting.
160
- return PRESET_IDS.map((id) => files.find((f) => f.endsWith(`/${id}/agent.cordis.yml`))).filter((f) => f !== undefined);
221
+ return files;
161
222
  }
162
223
  function statusFor(root) {
163
224
  if (root === undefined)
@@ -215,6 +276,10 @@ function restoreContent(text) {
215
276
  return replaceProvider(cleaned, LEGACY_OVERRIDE_ROW, OFFICIAL_PROVIDER);
216
277
  return cleaned;
217
278
  }
279
+ /** Whether `text` still contains a row this plugin knows how to rewrite. */
280
+ function hasTakeoverRow(text) {
281
+ return OFFICIAL_ROW.test(text) || CURRENT_ROW.test(text) || LEGACY_OVERRIDE_ROW.test(text);
282
+ }
218
283
  /** Idempotently replace the shipped filesystem provider in every supported preset. */
219
284
  export function enablePresetTakeover(options = {}) {
220
285
  const root = resolveDshPackageRoot(options);
@@ -223,10 +288,16 @@ export function enablePresetTakeover(options = {}) {
223
288
  const files = presetFiles(root);
224
289
  if (files.length === 0)
225
290
  throw new Error("当前 DSH 安装中没有 standard 或 code Agent 预设");
226
- const updates = files.map((file) => {
291
+ // A shipped preset may carry no skill row at all (the `minimal` preset does
292
+ // not), so only files that really have a rewritable row are targets.
293
+ const updates = files.flatMap((file) => {
227
294
  const current = readFileSync(file, "utf8");
228
- return { file, current, next: takeoverContent(file, current) };
295
+ if (!hasTakeoverRow(current))
296
+ return [];
297
+ return [{ file, current, next: takeoverContent(file, current) }];
229
298
  });
299
+ if (updates.length === 0)
300
+ throw new Error("当前 DSH 安装中没有可接管的 skill-filesystem provider");
230
301
  for (const update of updates) {
231
302
  if (update.next !== update.current)
232
303
  replaceAtomically(update.file, update.next);
@@ -1 +1 @@
1
- {"version":3,"file":"preset-manager.js","sourceRoot":"","sources":["../src/preset-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preset-manager.js","sourceRoot":"","sources":["../src/preset-manager.ts"],"names":[],"mappings":"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"}
package/lib/preset.d.ts CHANGED
@@ -2,8 +2,16 @@
2
2
  * Preset-only entry point. It contributes the provider to the preset's
3
3
  * scoped skill layer and deliberately does not construct host services such
4
4
  * as `agentSkills`.
5
+ *
6
+ * The row this entry replaces (`skill-filesystem`) accepts extra scan
7
+ * directories through `config.customSkillDirs`; the shipped `cordis` preset
8
+ * points that at `@deepseek-ai/dsh-agent-preset/skills`. Takeover only swaps
9
+ * the provider name, so this entry forwards the same config into the
10
+ * replacement provider and those directories keep being scanned.
11
+ *
12
+ * @module dsh-agent-skills/preset
5
13
  */
6
14
  import type { Context } from "@deepseek-ai/cordis";
7
15
  export declare const name = "agent-skills-preset";
8
16
  export declare const inject: string[];
9
- export declare function apply(ctx: Context): void;
17
+ export declare function apply(ctx: Context, config?: unknown): void;
package/lib/preset.js CHANGED
@@ -1,7 +1,17 @@
1
1
  import { createAgentSkillsProvider } from "./provider.js";
2
2
  export const name = "agent-skills-preset";
3
3
  export const inject = ["skills"];
4
- export function apply(ctx) {
5
- ctx.skills.registerProvider((control) => createAgentSkillsProvider(ctx, control));
4
+ /** Read `customSkillDirs` defensively — the row config is user-editable YAML. */
5
+ function customSkillDirsOf(config) {
6
+ if (config === null || typeof config !== "object")
7
+ return [];
8
+ const value = config.customSkillDirs;
9
+ if (!Array.isArray(value))
10
+ return [];
11
+ return value.filter((entry) => typeof entry === "string" && entry !== "");
12
+ }
13
+ export function apply(ctx, config) {
14
+ const customSkillDirs = customSkillDirsOf(config);
15
+ ctx.skills.registerProvider((control) => createAgentSkillsProvider(ctx, control, undefined, customSkillDirs));
6
16
  }
7
17
  //# sourceMappingURL=preset.js.map
package/lib/preset.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;AAC1C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEjC,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;AAC1C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEjC,iFAAiF;AACjF,SAAS,iBAAiB,CAAC,MAAe;IACxC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAI,MAAwC,CAAC,eAAe,CAAC;IACxE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,MAAgB;IAClD,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClD,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;AAChH,CAAC"}
package/lib/provider.d.ts CHANGED
@@ -29,7 +29,11 @@ export interface StateReader {
29
29
  read(): Promise<AgentSkillsState>;
30
30
  }
31
31
  export declare function stateReaderOf(): StateReader;
32
- /** Longest matching root wins; returns undefined when no root covers the path. */
32
+ /**
33
+ * Longest matching root wins; returns undefined when no root covers the path.
34
+ * Comparisons normalize separators, so a Windows `C:\x\y` candidate matches
35
+ * the root `C:\x` (see {@link isSameOrInside}).
36
+ */
33
37
  export declare function rootFor(path: string | undefined, roots: RootPolicy[]): RootPolicy | undefined;
34
38
  /** Builtin roots resolved from the environment (mirrors dsh-skill-filesystem). */
35
39
  export declare function builtinRoots(dshHome?: string): Promise<RootPolicy[]>;
@@ -45,7 +49,7 @@ export declare function originOf(candidate: SkillCandidate): Origin | undefined;
45
49
  * invalidate the registry cache on file changes so the catalog follows disk
46
50
  * edits without a restart.
47
51
  */
48
- export declare function createAgentSkillsProvider(ctx: Context, control: SkillProviderControl, stateReader?: StateReader): SkillProvider;
52
+ export declare function createAgentSkillsProvider(ctx: Context, control: SkillProviderControl, stateReader?: StateReader, presetSkillDirs?: readonly string[]): SkillProvider;
49
53
  /** Find this plugin's provider in any scoped layer (the preset instance). */
50
54
  export declare function findPresetProvider(skills: unknown): {
51
55
  provider: SkillProvider;
package/lib/provider.js CHANGED
@@ -6,6 +6,7 @@ import { resolveDshHome } from "@deepseek-ai/dsh-home-paths";
6
6
  import { watch } from "node:fs";
7
7
  import { resolve } from "node:path";
8
8
  import { builtinAgentSkillDirs } from "./discovery.js";
9
+ import { comparablePath, isSameOrInside } from "./paths.js";
9
10
  /** The provider name this plugin registers (never "runtime"). */
10
11
  export const PROVIDER_NAME = "agent-skills";
11
12
  export function stateReaderOf() {
@@ -29,16 +30,20 @@ export function stateReaderOf() {
29
30
  }
30
31
  };
31
32
  }
32
- /** Longest matching root wins; returns undefined when no root covers the path. */
33
+ /**
34
+ * Longest matching root wins; returns undefined when no root covers the path.
35
+ * Comparisons normalize separators, so a Windows `C:\x\y` candidate matches
36
+ * the root `C:\x` (see {@link isSameOrInside}).
37
+ */
33
38
  export function rootFor(path, roots) {
34
39
  if (path === undefined)
35
40
  return undefined;
36
41
  let best;
37
42
  for (const root of roots) {
38
- if (path === root.path || path.startsWith(root.path.endsWith("/") ? root.path : root.path + "/")) {
39
- if (best === undefined || root.path.length > best.path.length)
40
- best = root;
41
- }
43
+ if (!isSameOrInside(path, root.path))
44
+ continue;
45
+ if (best === undefined || root.path.length > best.path.length)
46
+ best = root;
42
47
  }
43
48
  return best;
44
49
  }
@@ -67,15 +72,27 @@ function emit(candidate, origin, rank) {
67
72
  origins.set(emitted, origin);
68
73
  return emitted;
69
74
  }
70
- /** Custom-dir candidates (rank 300) from the current state. */
71
- async function customCandidates(state, logger) {
75
+ /**
76
+ * Custom-dir candidates (rank 300) from the current state plus any extra
77
+ * directories the mounted row asked for.
78
+ *
79
+ * `extraDirs` carries the replaced preset row's own `config.customSkillDirs`:
80
+ * the official `skill-filesystem` row scans them, and it is this provider that
81
+ * inherits that job once the row is taken over. Without them a preset that
82
+ * ships extra skill directories (the `cordis` preset ships three) would lose
83
+ * those skills the moment takeover is enabled.
84
+ */
85
+ async function customCandidates(state, logger, extraDirs = []) {
72
86
  const candidates = [];
73
87
  const roots = [];
74
88
  let localOrder = 0;
75
- for (const dir of state.dirs) {
76
- const path = resolve(dir.path);
77
- roots.push({ path, disabled: dir.enabled === false });
78
- const scanned = await scanRoot(path, logger);
89
+ const sources = [
90
+ ...state.dirs.map((dir) => ({ path: resolve(dir.path), disabled: dir.enabled === false })),
91
+ ...extraDirs.map((dir) => ({ path: resolve(dir), disabled: false }))
92
+ ];
93
+ for (const source of sources) {
94
+ roots.push(source);
95
+ const scanned = await scanRoot(source.path, logger);
79
96
  for (const skill of scanned.skills) {
80
97
  candidates.push(emit({
81
98
  name: skill.name,
@@ -126,7 +143,7 @@ async function builtinCandidates(roots, logger) {
126
143
  * invalidate the registry cache on file changes so the catalog follows disk
127
144
  * edits without a restart.
128
145
  */
129
- export function createAgentSkillsProvider(ctx, control, stateReader = stateReaderOf()) {
146
+ export function createAgentSkillsProvider(ctx, control, stateReader = stateReaderOf(), presetSkillDirs = []) {
130
147
  const logger = ctx.logger;
131
148
  const scope = scopeOf(ctx);
132
149
  const watchers = new Map();
@@ -181,15 +198,17 @@ export function createAgentSkillsProvider(ctx, control, stateReader = stateReade
181
198
  const myLayer = scope === undefined ? registry.layers.global : registry.layers.scoped.get(scope);
182
199
  void myLayer; // self is skipped by name below, layer lookup only needed for structure
183
200
  const inner = await collectAllLayers(registry, options, logger, PROVIDER_NAME);
184
- const custom = await customCandidates(state, logger);
201
+ const custom = await customCandidates(state, logger, presetSkillDirs);
185
202
  const builtins = await builtinRoots();
186
203
  const builtin = await builtinCandidates(builtins, logger);
187
204
  const roots = [...custom.roots, ...builtins];
188
- const disabledDirs = new Set(state.disabledDirs);
205
+ // Keys are separator- and (on Windows) case-folded so the state written
206
+ // by the settings page matches the paths discovered here.
207
+ const disabledDirs = new Set(state.disabledDirs.map(comparablePath));
189
208
  const disabledSkills = new Set(state.disabledSkills);
190
209
  const policy = roots.map((root) => ({
191
210
  path: root.path,
192
- disabled: root.disabled || disabledDirs.has(root.path)
211
+ disabled: root.disabled || disabledDirs.has(comparablePath(root.path))
193
212
  }));
194
213
  const winners = dedupeWinners(inner.entries);
195
214
  const emitted = winners.map((entry) => {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-agent-skills",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "author": "Wei <minivv@users.noreply.github.com>",
5
5
  "description": "Discover and manage Claude Code, Codex, Gemini CLI, and other Agent Skills inside DeepSeek Harness.",
6
6
  "type": "module",
@@ -73,7 +73,7 @@
73
73
  },
74
74
  "scripts": {
75
75
  "build": "node scripts/build.mjs",
76
- "test": "node test-typert-contract.mjs && node test-preset-manager.mjs && node test-takeover-provider.mjs",
76
+ "test": "node test-typert-contract.mjs && node test-paths.mjs && node test-preset-manager.mjs && node test-preset-copies.mjs && node test-takeover-provider.mjs",
77
77
  "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.client.json --noEmit",
78
78
  "prepare": "npm run build",
79
79
  "prepublishOnly": "npm run typecheck && npm run build",