opencode-skill-autodiscovery 1.6.1 → 2.0.0
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 +253 -45
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +25 -0
- package/dist/agents.js.map +1 -1
- package/dist/discovery.d.ts +19 -9
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +185 -107
- package/dist/discovery.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -7
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +7 -1
- package/dist/mcp.js.map +1 -1
- package/dist/schema.d.ts +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +10 -0
- package/dist/schema.js.map +1 -1
- package/package.json +47 -47
package/dist/index.js
CHANGED
|
@@ -7,24 +7,27 @@ export default (async (_input, options) => {
|
|
|
7
7
|
const extra = Array.isArray(options?.extraRoots)
|
|
8
8
|
? options.extraRoots
|
|
9
9
|
: [];
|
|
10
|
-
const scanCache = options?.scanCache
|
|
11
|
-
const scanNodeModules = options?.scanNodeModules
|
|
10
|
+
const scanCache = options?.scanCache === true;
|
|
11
|
+
const scanNodeModules = options?.scanNodeModules === true;
|
|
12
12
|
const mcpEnabled = options?.mcp === true;
|
|
13
13
|
const agentsEnabled = options?.agents === true;
|
|
14
|
+
const exclude = Array.isArray(options?.exclude)
|
|
15
|
+
? options.exclude
|
|
16
|
+
: [];
|
|
14
17
|
const packages = [];
|
|
15
|
-
collectClaude(packages);
|
|
16
|
-
collectVscode(packages, extra);
|
|
18
|
+
collectClaude(packages, exclude);
|
|
19
|
+
collectVscode(packages, extra, exclude);
|
|
17
20
|
if (scanCache) {
|
|
18
|
-
collectOpencodeCache(join(opencodeCacheRoot(), "packages"), packages);
|
|
21
|
+
collectOpencodeCache(join(opencodeCacheRoot(), "packages"), packages, exclude);
|
|
19
22
|
}
|
|
20
23
|
if (scanNodeModules) {
|
|
21
|
-
collectNodeModules(join(process.cwd(), "node_modules"), packages);
|
|
24
|
+
collectNodeModules(join(process.cwd(), "node_modules"), packages, false, exclude);
|
|
22
25
|
}
|
|
23
26
|
const plan = planConfig(packages, {
|
|
24
27
|
commands: Object.keys(config.command ?? {}),
|
|
25
28
|
mcp: Object.keys(config.mcp ?? {}),
|
|
26
29
|
agents: Object.keys(config.agent ?? {}),
|
|
27
|
-
});
|
|
30
|
+
}, { mcp: mcpEnabled, agents: agentsEnabled });
|
|
28
31
|
applyConfigPatch(config, plan, { mcp: mcpEnabled, agents: agentsEnabled });
|
|
29
32
|
},
|
|
30
33
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,UAAU,GACX,MAAM,gBAAgB,CAAC;AAUxB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IACxC,OAAO;QACL,MAAM,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,GAAuB,CAAC;YACvC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;gBAC9C,CAAC,CAAE,OAAO,CAAC,UAAuB;gBAClC,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,UAAU,GACX,MAAM,gBAAgB,CAAC;AAUxB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IACxC,OAAO;QACL,MAAM,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,GAAuB,CAAC;YACvC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;gBAC9C,CAAC,CAAE,OAAO,CAAC,UAAuB;gBAClC,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;YAC9C,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;YAC1D,MAAM,UAAU,GAAG,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;YACzC,MAAM,aAAa,GAAG,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;YAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC7C,CAAC,CAAE,OAAO,CAAC,OAAoB;gBAC/B,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,QAAQ,GAAoB,EAAE,CAAC;YACrC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACxC,IAAI,SAAS,EAAE,CAAC;gBACd,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,eAAe,EAAE,CAAC;gBACpB,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACpF,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,CACrB,QAAQ,EACR;gBACE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC3C,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;gBAClC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;aACxC,EACD,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,CAC3C,CAAC;YAEF,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QAC7E,CAAC;KACF,CAAC;AACJ,CAAC,CAAkB,CAAC"}
|
package/dist/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,QAAQ,GAChB;IACE,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAWN,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AA8BD,wBAAgB,OAAO,CACrB,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC3C,IAAI,
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,QAAQ,GAChB;IACE,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAWN,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AA8BD,wBAAgB,OAAO,CACrB,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC3C,IAAI,CAyIN"}
|
package/dist/mcp.js
CHANGED
|
@@ -2,7 +2,7 @@ import { mkdirSync, readFileSync } from "node:fs";
|
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { log } from "./log.js";
|
|
5
|
-
import { MCP_SCHEMA, VERSION } from "./schema.js";
|
|
5
|
+
import { MCP_SCHEMA, VERSION, validateName } from "./schema.js";
|
|
6
6
|
const STDIO_KEYS = new Set(["type", "command", "args", "env", "cwd"]);
|
|
7
7
|
const HTTP_KEYS = new Set(["type", "url", "headers"]);
|
|
8
8
|
const HTTP_URL = /^https?:\/\//;
|
|
@@ -74,6 +74,12 @@ export function readMcp(pkg, out) {
|
|
|
74
74
|
const dataDir = pluginDataRoot(pkg.name);
|
|
75
75
|
const servers = parsed.mcpServers;
|
|
76
76
|
for (const [name, serverValue] of Object.entries(servers)) {
|
|
77
|
+
// mcp.json server keys are package-supplied input: gate the name before
|
|
78
|
+
// it becomes any config key (applyConfigPatch writes config.mcp[key]).
|
|
79
|
+
if (!validateName(name)) {
|
|
80
|
+
log(`skipping MCP server key for package "${pkg.name}" (${pkg.source}): invalid name "${name}" (must match the identifier pattern and not be a prototype-chain key)`);
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
77
83
|
if (typeof serverValue !== "object" || serverValue === null) {
|
|
78
84
|
log(`skipping MCP server "${pkg.name}/${name}": invalid entry`);
|
|
79
85
|
continue;
|
package/dist/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ export declare const PLUGIN_SCHEMA: RegExp;
|
|
|
2
2
|
export declare const MCP_SCHEMA: RegExp;
|
|
3
3
|
export declare const VERSION: RegExp;
|
|
4
4
|
export declare const NAME_PATTERN: RegExp;
|
|
5
|
+
export declare function validateName(raw: string): string | null;
|
|
5
6
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,QACoD,CAAC;AAE/E,eAAO,MAAM,UAAU,QACoD,CAAC;AAE5E,eAAO,MAAM,OAAO,QAA8D,CAAC;AAInF,eAAO,MAAM,YAAY,QAC8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,QACoD,CAAC;AAE/E,eAAO,MAAM,UAAU,QACoD,CAAC;AAE5E,eAAO,MAAM,OAAO,QAA8D,CAAC;AAInF,eAAO,MAAM,YAAY,QAC8B,CAAC;AAKxD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIvD"}
|
package/dist/schema.js
CHANGED
|
@@ -6,4 +6,14 @@ export const VERSION = /^https:\/\/agent-plugins\.org\/schemas\/(\d+\.\d+\.\d+)\
|
|
|
6
6
|
// Manifest `name` constraints (Agent Plugins spec 5.5): 1-64 chars, lowercase
|
|
7
7
|
// alphanumeric plus `-`/`.`, alphanumeric start/end, no `--` or `..`.
|
|
8
8
|
export const NAME_PATTERN = /^(?!.*(?:--|\.\.))[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$/;
|
|
9
|
+
// Returns `raw` when it satisfies NAME_PATTERN, or null otherwise. Prototype-
|
|
10
|
+
// chain keys are rejected explicitly: plain lowercase ones like "constructor"
|
|
11
|
+
// pass the character pattern even though they are unsafe as object keys.
|
|
12
|
+
export function validateName(raw) {
|
|
13
|
+
if (!NAME_PATTERN.test(raw))
|
|
14
|
+
return null;
|
|
15
|
+
if (raw === "constructor" || raw === "__proto__")
|
|
16
|
+
return null;
|
|
17
|
+
return raw;
|
|
18
|
+
}
|
|
9
19
|
//# sourceMappingURL=schema.js.map
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAE3E,MAAM,CAAC,MAAM,aAAa,GACxB,4EAA4E,CAAC;AAE/E,MAAM,CAAC,MAAM,UAAU,GACrB,yEAAyE,CAAC;AAE5E,MAAM,CAAC,MAAM,OAAO,GAAG,2DAA2D,CAAC;AAEnF,8EAA8E;AAC9E,sEAAsE;AACtE,MAAM,CAAC,MAAM,YAAY,GACvB,qDAAqD,CAAC"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAE3E,MAAM,CAAC,MAAM,aAAa,GACxB,4EAA4E,CAAC;AAE/E,MAAM,CAAC,MAAM,UAAU,GACrB,yEAAyE,CAAC;AAE5E,MAAM,CAAC,MAAM,OAAO,GAAG,2DAA2D,CAAC;AAEnF,8EAA8E;AAC9E,sEAAsE;AACtE,MAAM,CAAC,MAAM,YAAY,GACvB,qDAAqD,CAAC;AAExD,8EAA8E;AAC9E,8EAA8E;AAC9E,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "opencode-skill-autodiscovery",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "OpenCode plugin that auto-discovers skills installed by VS Code agent plugins, Claude Code plugins, and Agent Plugins 1.0.0 packages, and registers them with the local opencode config.",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"repository": {
|
|
7
|
-
"type": "git",
|
|
8
|
-
"url": "git+https://github.com/Marinski/opencode-skill-autodiscovery.git"
|
|
9
|
-
},
|
|
10
|
-
"homepage": "https://github.com/Marinski/opencode-skill-autodiscovery",
|
|
11
|
-
"bugs": {
|
|
12
|
-
"url": "https://github.com/Marinski/opencode-skill-autodiscovery/issues"
|
|
13
|
-
},
|
|
14
|
-
"type": "module",
|
|
15
|
-
"main": "./dist/index.js",
|
|
16
|
-
"types": "./dist/index.d.ts",
|
|
17
|
-
"exports": {
|
|
18
|
-
".": {
|
|
19
|
-
"types": "./dist/index.d.ts",
|
|
20
|
-
"import": "./dist/index.js"
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
"files": [
|
|
24
|
-
"dist"
|
|
25
|
-
],
|
|
26
|
-
"engines": {
|
|
27
|
-
"node": ">=18"
|
|
28
|
-
},
|
|
29
|
-
"scripts": {
|
|
30
|
-
"build": "tsc -p tsconfig.json",
|
|
31
|
-
"test": "npm run build && node --test",
|
|
32
|
-
"prepublishOnly": "npm run build"
|
|
33
|
-
},
|
|
34
|
-
"keywords": [
|
|
35
|
-
"opencode",
|
|
36
|
-
"plugin",
|
|
37
|
-
"skill",
|
|
38
|
-
"autodiscovery",
|
|
39
|
-
"claude",
|
|
40
|
-
"vscode"
|
|
41
|
-
],
|
|
42
|
-
"devDependencies": {
|
|
43
|
-
"@opencode-ai/plugin": "1.18.13",
|
|
44
|
-
"typescript": "^5.5.0",
|
|
45
|
-
"@types/node": "^20.0.0"
|
|
46
|
-
}
|
|
47
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "opencode-skill-autodiscovery",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "OpenCode plugin that auto-discovers skills installed by VS Code agent plugins, Claude Code plugins, and Agent Plugins 1.0.0 packages, and registers them with the local opencode config.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/Marinski/opencode-skill-autodiscovery.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/Marinski/opencode-skill-autodiscovery",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/Marinski/opencode-skill-autodiscovery/issues"
|
|
13
|
+
},
|
|
14
|
+
"type": "module",
|
|
15
|
+
"main": "./dist/index.js",
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"import": "./dist/index.js"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist"
|
|
25
|
+
],
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">=18"
|
|
28
|
+
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "tsc -p tsconfig.json",
|
|
31
|
+
"test": "npm run build && node --test",
|
|
32
|
+
"prepublishOnly": "npm run build"
|
|
33
|
+
},
|
|
34
|
+
"keywords": [
|
|
35
|
+
"opencode",
|
|
36
|
+
"plugin",
|
|
37
|
+
"skill",
|
|
38
|
+
"autodiscovery",
|
|
39
|
+
"claude",
|
|
40
|
+
"vscode"
|
|
41
|
+
],
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@opencode-ai/plugin": "1.18.13",
|
|
44
|
+
"typescript": "^5.5.0",
|
|
45
|
+
"@types/node": "^20.0.0"
|
|
46
|
+
}
|
|
47
|
+
}
|