vskill 1.0.3 → 1.0.5

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 (38) hide show
  1. package/agents.json +1 -1
  2. package/dist/commands/add.js +10 -3
  3. package/dist/commands/add.js.map +1 -1
  4. package/dist/commands/outdated.d.ts +1 -0
  5. package/dist/commands/outdated.js +63 -25
  6. package/dist/commands/outdated.js.map +1 -1
  7. package/dist/commands/plugin.js +39 -7
  8. package/dist/commands/plugin.js.map +1 -1
  9. package/dist/commands/repair-skills.d.ts +27 -0
  10. package/dist/commands/repair-skills.js +190 -0
  11. package/dist/commands/repair-skills.js.map +1 -0
  12. package/dist/commands/submit.js +61 -1
  13. package/dist/commands/submit.js.map +1 -1
  14. package/dist/eval-server/authoring-routes.js +90 -17
  15. package/dist/eval-server/authoring-routes.js.map +1 -1
  16. package/dist/eval-server/plugin-cli-routes.js +20 -13
  17. package/dist/eval-server/plugin-cli-routes.js.map +1 -1
  18. package/dist/eval-server/plugin-discovery.d.ts +17 -0
  19. package/dist/eval-server/plugin-discovery.js +183 -0
  20. package/dist/eval-server/plugin-discovery.js.map +1 -0
  21. package/dist/eval-ui/assets/{CreateSkillPage-B9MwTYPn.js → CreateSkillPage-D9ZsmNub.js} +1 -1
  22. package/dist/eval-ui/assets/{FindSkillsPalette-DSW-Zyl_.js → FindSkillsPalette-BBj-hoqE.js} +2 -2
  23. package/dist/eval-ui/assets/{SearchPaletteCore-91Jq-ilw.js → SearchPaletteCore-Ddcfdn9a.js} +1 -1
  24. package/dist/eval-ui/assets/{SkillDetailPanel-CPhEDst2.js → SkillDetailPanel-Xymi4aZg.js} +1 -1
  25. package/dist/eval-ui/assets/{UpdateDropdown-OxJwLHid.js → UpdateDropdown-DTP2sv27.js} +1 -1
  26. package/dist/eval-ui/assets/{index-DnXSuywx.js → index-BmriQsHr.js} +4 -4
  27. package/dist/eval-ui/index.html +1 -1
  28. package/dist/index.js +16 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/installer/frontmatter.js +24 -8
  31. package/dist/installer/frontmatter.js.map +1 -1
  32. package/dist/lib/frontmatter.d.ts +33 -0
  33. package/dist/lib/frontmatter.js +85 -0
  34. package/dist/lib/frontmatter.js.map +1 -0
  35. package/dist/lockfile/authored.d.ts +35 -0
  36. package/dist/lockfile/authored.js +82 -0
  37. package/dist/lockfile/authored.js.map +1 -0
  38. package/package.json +1 -1
@@ -17,8 +17,8 @@
17
17
  // Does NOT call the LLM — that's /api/skills/generate. This is the "empty
18
18
  // scaffold" path. UI can chain to generate after create.
19
19
  // ---------------------------------------------------------------------------
20
- import { existsSync, mkdirSync, writeFileSync, statSync, readdirSync, unlinkSync, } from "node:fs";
21
- import { join, resolve, sep } from "node:path";
20
+ import { existsSync, mkdirSync, writeFileSync, statSync, readdirSync, realpathSync, unlinkSync, } from "node:fs";
21
+ import { basename, dirname, join, resolve, sep } from "node:path";
22
22
  import { sendJson, readBody } from "./router.js";
23
23
  import { validateClaudePlugin } from "../core/plugin-validator.js";
24
24
  const KEBAB = /^[a-z][a-z0-9-]{0,62}[a-z0-9]$/;
@@ -54,16 +54,21 @@ export function skillMdScaffold(skillName, description) {
54
54
  // endpoint can reuse the single source of truth for plugin.json content.
55
55
  // 0793 T-001.
56
56
  export function pluginJsonScaffold(pluginName, description) {
57
- // 0703 follow-up: align with https://code.claude.com/docs/en/plugins-reference
58
- // `name` is the only required field. `version` is intentionally omitted so
59
- // Claude Code falls back to the git SHA docs explicitly warn that a fixed
60
- // `version: "0.1.0"` is a footgun (users stop receiving updates unless the
61
- // author remembers to bump it). `author` is an object per the schema, not a
62
- // string; we stub the name so the user only has to fill it in.
57
+ // 0703 follow-up + 0793 T-001 fix: align with
58
+ // https://code.claude.com/docs/en/plugins-reference. `name` is the only
59
+ // required field. `version` is intentionally omitted so Claude Code falls
60
+ // back to the git SHA — docs explicitly warn that a fixed `version: "0.1.0"`
61
+ // is a footgun (users stop receiving updates unless the author remembers to
62
+ // bump it).
63
+ //
64
+ // `author` is OMITTED from the scaffold (was previously stubbed as
65
+ // `{ name: "" }`, but `claude plugin validate` rejects empty author.name
66
+ // with "Author name cannot be empty"). Claude Code falls back gracefully
67
+ // when `author` is absent. Authors can add the field manually when ready
68
+ // to publish.
63
69
  return (JSON.stringify({
64
70
  name: pluginName,
65
71
  description,
66
- author: { name: "" },
67
72
  }, null, 2) + "\n");
68
73
  }
69
74
  export function makeCreateSkillHandler(root) {
@@ -203,14 +208,26 @@ function isInsideRoot(rootDir, absPath) {
203
208
  return (resolvedPath === resolvedRoot ||
204
209
  resolvedPath.startsWith(resolvedRoot + sep));
205
210
  }
211
+ /**
212
+ * Returns true iff `<pluginDir>/skills/<x>/SKILL.md` exists for at least one
213
+ * `<x>`. Distinguishes a genuinely missing/empty `skills/` (return false) from
214
+ * an unreadable one (rethrow): a permission error must NOT silently masquerade
215
+ * as "no skills here" because the convert-to-plugin endpoint would surface
216
+ * that as a misleading 400 "no-skills-to-convert".
217
+ *
218
+ * Throws on any non-ENOENT readdir error so the caller can return a 500.
219
+ */
206
220
  function hasAnyAuthoredSkill(pluginDir) {
207
221
  const skillsRoot = join(pluginDir, "skills");
208
222
  let entries;
209
223
  try {
210
224
  entries = readdirSync(skillsRoot);
211
225
  }
212
- catch {
213
- return false;
226
+ catch (err) {
227
+ const code = err?.code;
228
+ if (code === "ENOENT" || code === "ENOTDIR")
229
+ return false;
230
+ throw err;
214
231
  }
215
232
  for (const entry of entries) {
216
233
  const skillMd = join(skillsRoot, entry, "SKILL.md");
@@ -218,8 +235,12 @@ function hasAnyAuthoredSkill(pluginDir) {
218
235
  if (statSync(skillMd).isFile())
219
236
  return true;
220
237
  }
221
- catch {
222
- /* ignore */
238
+ catch (err) {
239
+ const code = err?.code;
240
+ // ENOENT means this child doesn't have a SKILL.md (fine — keep scanning).
241
+ // Anything else (EACCES/EPERM/EIO) is unexpected — let it bubble up.
242
+ if (code !== "ENOENT" && code !== "ENOTDIR")
243
+ throw err;
223
244
  }
224
245
  }
225
246
  return false;
@@ -240,10 +261,41 @@ export function makeConvertToPluginHandler(root) {
240
261
  if (typeof body.anchorSkillDir !== "string" || body.anchorSkillDir.length === 0) {
241
262
  return sendError(res, 400, "invalid-anchor", "anchorSkillDir must be an absolute path of an existing skill directory");
242
263
  }
243
- const anchorSkillDir = resolve(body.anchorSkillDir);
244
- if (!isInsideRoot(root, anchorSkillDir)) {
264
+ // First-pass: lexical check on the user-supplied path. This catches the
265
+ // common "outside-root" case (e.g. /tmp/elsewhere/skills/x) without an FS
266
+ // round-trip and before exposing realpath behavior to untrusted input.
267
+ const anchorLexical = resolve(body.anchorSkillDir);
268
+ if (!isInsideRoot(root, anchorLexical)) {
245
269
  return sendError(res, 400, "anchor-outside-root", "anchorSkillDir must be inside the workspace root");
246
270
  }
271
+ // F-004 (0793 review iteration 2): resolve symlinks and re-check the
272
+ // workspace-root invariant. `resolve()` only normalizes path strings — a
273
+ // symlink at <root>/inside/skills/<x> pointing to /etc/foo/skills/<x>
274
+ // passes the lexical check above but writeFileSync would then follow the
275
+ // link and write outside the workspace. realpathSync forces the anchor
276
+ // to its canonical on-disk path. We realpath both sides so platform-
277
+ // specific symlinks (macOS /tmp → /private/tmp, /var → /private/var) do
278
+ // not produce false-positive "outside root" rejections when the workspace
279
+ // root and anchor live on the same canonical mount.
280
+ let anchorSkillDir;
281
+ try {
282
+ anchorSkillDir = realpathSync(anchorLexical);
283
+ }
284
+ catch {
285
+ return sendError(res, 400, "anchor-not-found", `anchorSkillDir does not exist: ${anchorLexical}`);
286
+ }
287
+ let canonicalRoot;
288
+ try {
289
+ canonicalRoot = realpathSync(root);
290
+ }
291
+ catch {
292
+ // Fall back to the lexical root — if the workspace root itself doesn't
293
+ // exist on disk, downstream operations will fail anyway.
294
+ canonicalRoot = resolve(root);
295
+ }
296
+ if (!isInsideRoot(canonicalRoot, anchorSkillDir)) {
297
+ return sendError(res, 400, "anchor-outside-root", "anchorSkillDir resolves (via symlink) to a path outside the workspace root");
298
+ }
247
299
  try {
248
300
  if (!statSync(anchorSkillDir).isDirectory()) {
249
301
  return sendError(res, 400, "anchor-not-found", `anchorSkillDir is not a directory: ${anchorSkillDir}`);
@@ -255,11 +307,32 @@ export function makeConvertToPluginHandler(root) {
255
307
  // Plugin root = parent of `skills/<skill>` ⇒ dirname(dirname(anchor)).
256
308
  // Works for both top-level layout (<root>/skills/<s>/) where pluginDir == root,
257
309
  // and nested (<root>/<X>/skills/<s>/) where pluginDir == <root>/<X>.
310
+ //
311
+ // 0793 follow-up F-002: guard against a misbehaving client sending an
312
+ // anchorSkillDir whose parent is NOT named `skills/`. Without this guard,
313
+ // `<root>/foo/bar/baz` would resolve to pluginDir=<root>/foo and we would
314
+ // either 400 with the wrong reason ("no skills here") or — worse — succeed
315
+ // against an unrelated `<root>/foo/skills/...` that happens to exist.
316
+ const anchorParent = basename(dirname(anchorSkillDir));
317
+ if (anchorParent !== "skills") {
318
+ return sendError(res, 400, "invalid-anchor-shape", `anchorSkillDir must live under a 'skills/' directory (parent is '${anchorParent}')`);
319
+ }
258
320
  const pluginDir = resolve(anchorSkillDir, "..", "..");
259
- if (!isInsideRoot(root, pluginDir)) {
321
+ if (!isInsideRoot(canonicalRoot, pluginDir)) {
260
322
  return sendError(res, 400, "plugin-dir-outside-root", "Resolved pluginDir is outside the workspace root");
261
323
  }
262
- if (!hasAnyAuthoredSkill(pluginDir)) {
324
+ let hasSkill;
325
+ try {
326
+ hasSkill = hasAnyAuthoredSkill(pluginDir);
327
+ }
328
+ catch (err) {
329
+ // 0793 follow-up: hasAnyAuthoredSkill now rethrows on non-ENOENT
330
+ // readdir/stat errors (EACCES, EPERM, EIO, …) so the user sees a real
331
+ // 500 instead of a misleading 400 "no-skills-to-convert".
332
+ const message = err instanceof Error ? err.message : String(err);
333
+ return sendError(res, 500, "skills-scan-failed", `Failed to scan ${pluginDir}/skills/: ${message}`);
334
+ }
335
+ if (!hasSkill) {
263
336
  return sendError(res, 400, "no-skills-to-convert", `pluginDir has no skills/*/SKILL.md to associate with the new plugin: ${pluginDir}`);
264
337
  }
265
338
  const manifestDir = join(pluginDir, ".claude-plugin");
@@ -1 +1 @@
1
- {"version":3,"file":"authoring-routes.js","sourceRoot":"","sources":["../../src/eval-server/authoring-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authoring-routes.js","sourceRoot":"","sources":["../../src/eval-server/authoring-routes.ts"],"names":[],"mappings":"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"}
@@ -26,10 +26,11 @@ import { homedir } from "node:os";
26
26
  import { join } from "node:path";
27
27
  import { spawn } from "node:child_process";
28
28
  import { sendJson, readBody } from "./router.js";
29
- import { runClaudePlugin, parseInstalledPlugins, parseMarketplaces, } from "./plugin-cli.js";
29
+ import { runClaudePlugin, parseMarketplaces, } from "./plugin-cli.js";
30
30
  import { buildClaudeCliFailureResponse } from "./plugin-cli-response.js";
31
31
  import { resolvePluginRef } from "./plugin-ref-resolver.js";
32
32
  import { listOrphanPluginCacheDirs, removeOrphanPluginCacheDirs, } from "./plugin-orphan-cleanup.js";
33
+ import { discoverInstalledPlugins } from "./plugin-discovery.js";
33
34
  const VALID_SCOPES = ["user", "project", "local"];
34
35
  function isValidScope(s) {
35
36
  return typeof s === "string" && VALID_SCOPES.includes(s);
@@ -40,22 +41,28 @@ const PLUGIN_REF = /^[a-z0-9][\w.-]*(?:@[a-z0-9][\w.-]*)?$/i;
40
41
  function sendError(res, status, code, msg) {
41
42
  sendJson(res, { ok: false, code, error: msg }, status);
42
43
  }
43
- async function fetchPluginList(cwd) {
44
- const result = await runClaudePlugin(["list"], { cwd, timeout: 15_000 });
45
- if (result.code !== 0)
46
- return [];
47
- return parseInstalledPlugins(result.stdout);
44
+ /**
45
+ * 0795 replaces `claude plugin list` (subcommand removed from Claude Code).
46
+ * Walks the plugin cache + reads enabledPlugins from settings.json. Same
47
+ * `InstalledPlugin[]` shape so callers (mutation routes that refresh the
48
+ * list after action) need no change.
49
+ *
50
+ * `runClaudePlugin` is still used elsewhere in this file for install/uninstall/
51
+ * enable/disable, which DO exist as subcommands.
52
+ */
53
+ async function fetchPluginList(cwd, cacheRoot) {
54
+ const root = cacheRoot ?? join(homedir(), ".claude", "plugins", "cache");
55
+ return discoverInstalledPlugins({ cacheRoot: root, projectDir: cwd });
48
56
  }
49
57
  export function registerPluginCliRoutes(router, root, options = {}) {
50
58
  const cacheRoot = options.cacheRoot ?? join(homedir(), ".claude", "plugins", "cache");
51
- // GET /api/plugins — list installed plugins
52
- router.get("/api/plugins", async (_req, res) => {
59
+ // GET /api/plugins — list installed plugins.
60
+ // 0795: was shelling out to `claude plugin list`, but Claude Code removed
61
+ // that subcommand. We now walk the plugin cache + read enabledPlugins from
62
+ // settings.json directly. Same response contract.
63
+ router.get("/api/plugins", (_req, res) => {
53
64
  try {
54
- const result = await runClaudePlugin(["list"], { cwd: root, timeout: 15_000 });
55
- if (result.code !== 0) {
56
- return sendError(res, 500, "claude-cli-failed", result.stderr.trim() || "claude plugin list failed");
57
- }
58
- const plugins = parseInstalledPlugins(result.stdout);
65
+ const plugins = discoverInstalledPlugins({ cacheRoot, projectDir: root });
59
66
  sendJson(res, { plugins });
60
67
  }
61
68
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-cli-routes.js","sourceRoot":"","sources":["../../src/eval-server/plugin-cli-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-cli-routes.js","sourceRoot":"","sources":["../../src/eval-server/plugin-cli-routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { InstalledPlugin } from "./plugin-cli.js";
2
+ export interface DiscoverInstalledPluginsOptions {
3
+ /** Absolute path to the Claude Code plugin cache root. */
4
+ cacheRoot: string;
5
+ /** Project root for project-scoped settings.json. Optional. */
6
+ projectDir?: string;
7
+ }
8
+ /**
9
+ * Drop-in replacement for `claude plugin list` + `parseInstalledPlugins`.
10
+ *
11
+ * Returns one `InstalledPlugin` row per (name, marketplace, scope) where:
12
+ * - one row is emitted for each scope where `enabledPlugins[<name>@<marketplace>]: true`
13
+ * - if the plugin is on disk but not enabled in any scope, one row with
14
+ * `enabled: false, scope: "user"` is emitted (matches the historical
15
+ * `claude plugin list` default for unconfigured installs)
16
+ */
17
+ export declare function discoverInstalledPlugins(opts: DiscoverInstalledPluginsOptions): InstalledPlugin[];
@@ -0,0 +1,183 @@
1
+ // ---------------------------------------------------------------------------
2
+ // 0795 — Filesystem-based plugin discovery (replaces `claude plugin list`).
3
+ //
4
+ // Claude Code removed the `claude plugin list` subcommand. The CLI now only
5
+ // exposes install/uninstall/enable/disable/validate/marketplace. The previous
6
+ // implementation in plugin-cli-routes.ts and plugin-cli.ts shelled out to
7
+ // `list` and 500'd every Studio session.
8
+ //
9
+ // This module replaces that shell-out with a pure filesystem walk:
10
+ // 1. List `<cacheRoot>/<marketplace>/<plugin>/<version>/.claude-plugin/plugin.json`
11
+ // 2. Cross-reference with `enabledPlugins` from user + project settings.json
12
+ // 3. Emit one `InstalledPlugin` row per (name, marketplace, scope) tuple
13
+ //
14
+ // Settings.json is read-only here (existing settings/settings.ts policy);
15
+ // mutations still go through `claude plugin install/uninstall/enable/disable`,
16
+ // which DO exist.
17
+ // ---------------------------------------------------------------------------
18
+ import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
19
+ import { join, resolve, sep } from "node:path";
20
+ import { listEnabledPlugins } from "../settings/settings.js";
21
+ const SAFE_NAME = /^[a-z0-9][\w.-]*$/i;
22
+ function isSafeName(name) {
23
+ if (!name || name === "." || name === "..")
24
+ return false;
25
+ if (name.includes("/") || name.includes("\\"))
26
+ return false;
27
+ return SAFE_NAME.test(name);
28
+ }
29
+ function isInside(target, root) {
30
+ const t = resolve(target);
31
+ return t === root || t.startsWith(root + sep);
32
+ }
33
+ function safeReadDir(dir) {
34
+ try {
35
+ return readdirSync(dir);
36
+ }
37
+ catch {
38
+ return [];
39
+ }
40
+ }
41
+ function safeStatIsDir(p) {
42
+ try {
43
+ return statSync(p).isDirectory();
44
+ }
45
+ catch {
46
+ return false;
47
+ }
48
+ }
49
+ /**
50
+ * Walk the Claude Code plugin cache and return one record per plugin
51
+ * (latest version by mtime when multiple versions are cached).
52
+ */
53
+ function walkCache(cacheRoot) {
54
+ const resolvedRoot = resolve(cacheRoot);
55
+ if (!existsSync(resolvedRoot))
56
+ return [];
57
+ const records = [];
58
+ for (const marketplace of safeReadDir(resolvedRoot)) {
59
+ if (!isSafeName(marketplace))
60
+ continue;
61
+ const mpDir = join(resolvedRoot, marketplace);
62
+ if (!isInside(mpDir, resolvedRoot) || !safeStatIsDir(mpDir))
63
+ continue;
64
+ for (const plugin of safeReadDir(mpDir)) {
65
+ if (!isSafeName(plugin))
66
+ continue;
67
+ const pluginDir = join(mpDir, plugin);
68
+ if (!isInside(pluginDir, resolvedRoot) || !safeStatIsDir(pluginDir))
69
+ continue;
70
+ // Pick the latest version dir by mtime. Cache layout puts old versions
71
+ // alongside new (claude doesn't GC on update), so showing all of them
72
+ // would duplicate rows in the UI.
73
+ let latest = null;
74
+ for (const version of safeReadDir(pluginDir)) {
75
+ if (!isSafeName(version))
76
+ continue;
77
+ const versionDir = join(pluginDir, version);
78
+ if (!isInside(versionDir, resolvedRoot) || !safeStatIsDir(versionDir))
79
+ continue;
80
+ const manifest = join(versionDir, ".claude-plugin", "plugin.json");
81
+ if (!existsSync(manifest))
82
+ continue;
83
+ let mtime = 0;
84
+ try {
85
+ mtime = statSync(versionDir).mtimeMs;
86
+ }
87
+ catch {
88
+ continue;
89
+ }
90
+ if (!latest || mtime > latest.mtime) {
91
+ latest = { version, mtime };
92
+ }
93
+ }
94
+ if (!latest)
95
+ continue;
96
+ // Read the manifest so we get the canonical name (the cache dir name
97
+ // can lag behind a rename in the manifest).
98
+ const manifest = join(pluginDir, latest.version, ".claude-plugin", "plugin.json");
99
+ let manifestName = plugin;
100
+ try {
101
+ const parsed = JSON.parse(readFileSync(manifest, "utf-8"));
102
+ if (parsed.name && isSafeName(parsed.name))
103
+ manifestName = parsed.name;
104
+ }
105
+ catch {
106
+ /* fall back to dir name */
107
+ }
108
+ records.push({ marketplace, name: manifestName, version: latest.version });
109
+ }
110
+ }
111
+ return records;
112
+ }
113
+ /**
114
+ * Build the set of plugin IDs (`<name>@<marketplace>`) enabled at a given
115
+ * scope. Wraps `listEnabledPlugins` so a malformed settings.json never throws.
116
+ */
117
+ function readEnabledSet(scope, projectDir) {
118
+ if (scope === "project" && !projectDir)
119
+ return new Set();
120
+ try {
121
+ const ids = listEnabledPlugins({
122
+ scope,
123
+ ...(scope === "project" && projectDir ? { projectDir } : {}),
124
+ });
125
+ return new Set(ids);
126
+ }
127
+ catch {
128
+ return new Set();
129
+ }
130
+ }
131
+ /**
132
+ * Drop-in replacement for `claude plugin list` + `parseInstalledPlugins`.
133
+ *
134
+ * Returns one `InstalledPlugin` row per (name, marketplace, scope) where:
135
+ * - one row is emitted for each scope where `enabledPlugins[<name>@<marketplace>]: true`
136
+ * - if the plugin is on disk but not enabled in any scope, one row with
137
+ * `enabled: false, scope: "user"` is emitted (matches the historical
138
+ * `claude plugin list` default for unconfigured installs)
139
+ */
140
+ export function discoverInstalledPlugins(opts) {
141
+ const records = walkCache(opts.cacheRoot);
142
+ if (records.length === 0)
143
+ return [];
144
+ const userEnabled = readEnabledSet("user");
145
+ const projectEnabled = readEnabledSet("project", opts.projectDir);
146
+ const out = [];
147
+ for (const r of records) {
148
+ const id = `${r.name}@${r.marketplace}`;
149
+ const inUser = userEnabled.has(id);
150
+ const inProject = projectEnabled.has(id);
151
+ if (inUser) {
152
+ out.push({
153
+ name: r.name,
154
+ marketplace: r.marketplace,
155
+ version: r.version,
156
+ scope: "user",
157
+ enabled: true,
158
+ });
159
+ }
160
+ if (inProject) {
161
+ out.push({
162
+ name: r.name,
163
+ marketplace: r.marketplace,
164
+ version: r.version,
165
+ scope: "project",
166
+ enabled: true,
167
+ });
168
+ }
169
+ if (!inUser && !inProject) {
170
+ // On disk but no scope has it enabled — historical CLI behaviour was to
171
+ // show this as a single user-scope, disabled row.
172
+ out.push({
173
+ name: r.name,
174
+ marketplace: r.marketplace,
175
+ version: r.version,
176
+ scope: "user",
177
+ enabled: false,
178
+ });
179
+ }
180
+ }
181
+ return out;
182
+ }
183
+ //# sourceMappingURL=plugin-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-discovery.js","sourceRoot":"","sources":["../../src/eval-server/plugin-discovery.ts"],"names":[],"mappings":"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"}