vskill 1.0.19 → 1.0.21
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 +58 -7
- package/agents.json +1 -1
- package/dist/agents/agents-registry.d.ts +7 -0
- package/dist/agents/agents-registry.js +4 -0
- package/dist/agents/agents-registry.js.map +1 -1
- package/dist/commands/add-lockfile.d.ts +6 -0
- package/dist/commands/add-lockfile.js +10 -0
- package/dist/commands/add-lockfile.js.map +1 -1
- package/dist/commands/add.js +146 -33
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/remove.js +46 -0
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/update.js +15 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/discovery/github-tree.d.ts +23 -3
- package/dist/discovery/github-tree.js +172 -24
- package/dist/discovery/github-tree.js.map +1 -1
- package/dist/eval-server/api-routes.js +16 -10
- package/dist/eval-server/api-routes.js.map +1 -1
- package/dist/eval-server/git-routes.js +132 -2
- package/dist/eval-server/git-routes.js.map +1 -1
- package/dist/eval-server/plugin-cli-routes.js +4 -1
- package/dist/eval-server/plugin-cli-routes.js.map +1 -1
- package/dist/eval-server/plugin-cli.js +4 -1
- package/dist/eval-server/plugin-cli.js.map +1 -1
- package/dist/eval-server/source-link.js +3 -0
- package/dist/eval-server/source-link.js.map +1 -1
- package/dist/eval-server/utils/which.js +7 -1
- package/dist/eval-server/utils/which.js.map +1 -1
- package/dist/eval-ui/assets/{CreateSkillPage-Cv93Croj.js → CreateSkillPage-ENMve2K8.js} +5 -5
- package/dist/eval-ui/assets/{FindSkillsPalette-BY9DAhHh.js → FindSkillsPalette-BMVKCk6E.js} +2 -2
- package/dist/eval-ui/assets/{SearchPaletteCore-DMVcq7UB.js → SearchPaletteCore-C9G-ySXc.js} +1 -1
- package/dist/eval-ui/assets/SkillDetailPanel-BCJj8p79.js +1 -0
- package/dist/eval-ui/assets/{UpdateDropdown-4AbjZLpq.js → UpdateDropdown-C4BH7W_M.js} +1 -1
- package/dist/eval-ui/assets/main-tzMA8J07.js +87 -0
- package/dist/eval-ui/index.html +1 -1
- package/dist/installer/canonical.js +14 -0
- package/dist/installer/canonical.js.map +1 -1
- package/dist/installer/multi-install.d.ts +47 -1
- package/dist/installer/multi-install.js +141 -28
- package/dist/installer/multi-install.js.map +1 -1
- package/dist/installer/transformers/aider.js +9 -3
- package/dist/installer/transformers/aider.js.map +1 -1
- package/dist/installer/transformers/github-copilot.js +4 -2
- package/dist/installer/transformers/github-copilot.js.map +1 -1
- package/dist/installer/transformers/index.d.ts +7 -1
- package/dist/lib/github-fetch.d.ts +1 -0
- package/dist/lib/github-fetch.js +11 -1
- package/dist/lib/github-fetch.js.map +1 -1
- package/dist/lib/keychain.js +12 -5
- package/dist/lib/keychain.js.map +1 -1
- package/dist/lib/skill-lifecycle.d.ts +7 -1
- package/dist/lib/skill-lifecycle.js +13 -1
- package/dist/lib/skill-lifecycle.js.map +1 -1
- package/dist/lockfile/types.d.ts +8 -0
- package/dist/updater/source-fetcher.d.ts +6 -0
- package/dist/updater/source-fetcher.js +6 -4
- package/dist/updater/source-fetcher.js.map +1 -1
- package/dist/utils/resolve-binary.d.ts +3 -0
- package/dist/utils/resolve-binary.js +24 -0
- package/dist/utils/resolve-binary.js.map +1 -1
- package/dist/utils/validation.d.ts +12 -5
- package/dist/utils/validation.js +33 -2
- package/dist/utils/validation.js.map +1 -1
- package/package.json +1 -1
- package/dist/eval-ui/assets/SkillDetailPanel-B_lbhK6q.js +0 -1
- package/dist/eval-ui/assets/main-tpOyw9SC.js +0 -87
package/dist/commands/update.js
CHANGED
|
@@ -205,7 +205,8 @@ export async function updateCommand(skill, opts) {
|
|
|
205
205
|
const remote = await getSkill(name);
|
|
206
206
|
if (remote.content) {
|
|
207
207
|
const files = { "SKILL.md": remote.content };
|
|
208
|
-
|
|
208
|
+
// String mode — install writes computeSha(content) to the lockfile.
|
|
209
|
+
const sha = computeSha(remote.content);
|
|
209
210
|
result = {
|
|
210
211
|
content: remote.content,
|
|
211
212
|
version: remote.version || entry.version,
|
|
@@ -235,7 +236,12 @@ export async function updateCommand(skill, opts) {
|
|
|
235
236
|
// version, this is a metadata-only bump — content already matches
|
|
236
237
|
// (SHA equal), so we sync frontmatter + lockfile to the new version
|
|
237
238
|
// and skip the install rewrite entirely.
|
|
238
|
-
|
|
239
|
+
// F4: older vskill versions wrote the files-map sha into the lockfile
|
|
240
|
+
// on update, while install always writes the content-string sha. Accept
|
|
241
|
+
// the legacy map-mode sha on compare (and heal it to canonical below)
|
|
242
|
+
// so unchanged skills don't phantom-update.
|
|
243
|
+
const legacySha = result.files ? computeSha(result.files) : null;
|
|
244
|
+
if (result.sha === entry.sha || legacySha === entry.sha) {
|
|
239
245
|
const canonical = canonicalNameFromParsedSource(parsed, name);
|
|
240
246
|
let platformResult = null;
|
|
241
247
|
if (canonical) {
|
|
@@ -252,6 +258,8 @@ export async function updateCommand(skill, opts) {
|
|
|
252
258
|
lock.skills[name] = {
|
|
253
259
|
...entry,
|
|
254
260
|
version: platformResult.version,
|
|
261
|
+
// Canonical (string-mode) sha — heals legacy map-mode entries.
|
|
262
|
+
sha: result.sha,
|
|
255
263
|
tier: platformResult.tier || entry.tier,
|
|
256
264
|
installedAt: new Date().toISOString(),
|
|
257
265
|
};
|
|
@@ -259,6 +267,11 @@ export async function updateCommand(skill, opts) {
|
|
|
259
267
|
updated++;
|
|
260
268
|
continue;
|
|
261
269
|
}
|
|
270
|
+
// Heal a legacy map-mode sha to the canonical install identity
|
|
271
|
+
// without reporting an update (content is unchanged).
|
|
272
|
+
if (entry.sha !== result.sha) {
|
|
273
|
+
lock.skills[name] = { ...entry, sha: result.sha };
|
|
274
|
+
}
|
|
262
275
|
console.log(dim(`${name}: already up to date`));
|
|
263
276
|
continue;
|
|
264
277
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,14 +5,32 @@ export declare function _resetRateLimitWarned(): void;
|
|
|
5
5
|
* Only prints once per CLI invocation to avoid noise.
|
|
6
6
|
*/
|
|
7
7
|
export declare function warnRateLimitOnce(res: Response): void;
|
|
8
|
+
export type GitHubDiscoveryFailureCode = "unauthorized" | "missing" | "rate_limited" | "transient";
|
|
9
|
+
export interface GitHubDiscoveryFailure {
|
|
10
|
+
code: GitHubDiscoveryFailureCode;
|
|
11
|
+
status?: number;
|
|
12
|
+
message: string;
|
|
13
|
+
}
|
|
14
|
+
export interface GitHubDiscoveryOptions {
|
|
15
|
+
/** Explicit GitHub token for tests/sandbox flows. Omit to use the CLI keychain. */
|
|
16
|
+
token?: string | null;
|
|
17
|
+
/** Fetch implementation for tests. Defaults to the shared GitHub fetch helper. */
|
|
18
|
+
fetchImpl?: typeof fetch;
|
|
19
|
+
}
|
|
20
|
+
export interface GitHubDiscoveryResult {
|
|
21
|
+
skills: DiscoveredSkill[];
|
|
22
|
+
error?: GitHubDiscoveryFailure;
|
|
23
|
+
}
|
|
24
|
+
export declare function classifyGitHubFailure(res: Pick<Response, "status" | "headers">): GitHubDiscoveryFailure;
|
|
8
25
|
/** @internal Reset cache — for testing only */
|
|
9
26
|
export declare function _resetBranchCache(): void;
|
|
10
|
-
export declare function getDefaultBranch(owner: string, repo: string): Promise<string>;
|
|
27
|
+
export declare function getDefaultBranch(owner: string, repo: string, options?: GitHubDiscoveryOptions): Promise<string>;
|
|
28
|
+
export declare function getBranchHeadSha(owner: string, repo: string, branch: string, options?: GitHubDiscoveryOptions): Promise<string | null>;
|
|
11
29
|
/**
|
|
12
30
|
* Check whether a GitHub repo exists. Returns false only on 404.
|
|
13
31
|
* Fails open on network errors or rate limits (returns true).
|
|
14
32
|
*/
|
|
15
|
-
export declare function checkRepoExists(owner: string, repo: string): Promise<boolean>;
|
|
33
|
+
export declare function checkRepoExists(owner: string, repo: string, options?: GitHubDiscoveryOptions): Promise<boolean>;
|
|
16
34
|
export interface DiscoveredSkill {
|
|
17
35
|
name: string;
|
|
18
36
|
path: string;
|
|
@@ -29,6 +47,7 @@ export interface DiscoveredSkill {
|
|
|
29
47
|
* Returns undefined if no content line is found.
|
|
30
48
|
*/
|
|
31
49
|
export declare function extractDescription(content: string): string | undefined;
|
|
50
|
+
export declare function fetchGitHubFileText(owner: string, repo: string, branch: string, path: string, options?: GitHubDiscoveryOptions): Promise<string | null>;
|
|
32
51
|
/**
|
|
33
52
|
* Discover all SKILL.md files in a GitHub repo using the Trees API.
|
|
34
53
|
*
|
|
@@ -42,4 +61,5 @@ export declare function extractDescription(content: string): string | undefined;
|
|
|
42
61
|
*
|
|
43
62
|
* Returns empty array on any API error (caller falls back to single-skill fetch).
|
|
44
63
|
*/
|
|
45
|
-
export declare function discoverSkills(owner: string, repo: string): Promise<DiscoveredSkill[]>;
|
|
64
|
+
export declare function discoverSkills(owner: string, repo: string, options?: GitHubDiscoveryOptions): Promise<DiscoveredSkill[]>;
|
|
65
|
+
export declare function discoverSkillsDetailed(owner: string, repo: string, options?: GitHubDiscoveryOptions): Promise<GitHubDiscoveryResult>;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// GitHub Trees API skill discovery
|
|
3
3
|
// ---------------------------------------------------------------------------
|
|
4
4
|
import { yellow } from "../utils/output.js";
|
|
5
|
+
import { createGitHubFetch, githubFetch } from "../lib/github-fetch.js";
|
|
5
6
|
// ---- Rate-limit warning (deduplicated per CLI invocation) -----------------
|
|
6
7
|
let rateLimitWarned = false;
|
|
7
8
|
/** @internal Reset flag — for testing only */
|
|
@@ -22,6 +23,89 @@ export function warnRateLimitOnce(res) {
|
|
|
22
23
|
rateLimitWarned = true;
|
|
23
24
|
console.error(yellow("GitHub API rate limit reached. Set GITHUB_TOKEN for higher limits."));
|
|
24
25
|
}
|
|
26
|
+
function hasOwn(obj, key) {
|
|
27
|
+
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
28
|
+
}
|
|
29
|
+
function hasExplicitToken(options) {
|
|
30
|
+
return !!options && hasOwn(options, "token") && !!options.token;
|
|
31
|
+
}
|
|
32
|
+
function githubApiHeaders(token) {
|
|
33
|
+
const headers = {
|
|
34
|
+
Accept: "application/vnd.github.v3+json",
|
|
35
|
+
};
|
|
36
|
+
if (token)
|
|
37
|
+
headers.Authorization = `Bearer ${token}`;
|
|
38
|
+
return headers;
|
|
39
|
+
}
|
|
40
|
+
function mergeHeaders(base, init) {
|
|
41
|
+
const headers = { ...base };
|
|
42
|
+
if (!init)
|
|
43
|
+
return headers;
|
|
44
|
+
if (init instanceof Headers) {
|
|
45
|
+
init.forEach((value, key) => {
|
|
46
|
+
headers[key] = value;
|
|
47
|
+
});
|
|
48
|
+
return headers;
|
|
49
|
+
}
|
|
50
|
+
if (Array.isArray(init)) {
|
|
51
|
+
for (const [key, value] of init)
|
|
52
|
+
headers[key] = value;
|
|
53
|
+
return headers;
|
|
54
|
+
}
|
|
55
|
+
return { ...headers, ...init };
|
|
56
|
+
}
|
|
57
|
+
function branchCacheKey(owner, repo, options) {
|
|
58
|
+
return `${owner}/${repo}:${hasExplicitToken(options) ? "explicit-auth" : "default-auth"}`;
|
|
59
|
+
}
|
|
60
|
+
function requestGitHub(url, init = {}, options) {
|
|
61
|
+
const headers = mergeHeaders(githubApiHeaders(options?.token), init.headers);
|
|
62
|
+
const requestInit = { ...init, headers };
|
|
63
|
+
if (options?.fetchImpl)
|
|
64
|
+
return options.fetchImpl(url, requestInit);
|
|
65
|
+
if (options && hasOwn(options, "token")) {
|
|
66
|
+
return createGitHubFetch({
|
|
67
|
+
tokenProvider: () => options.token || null,
|
|
68
|
+
})(url, requestInit);
|
|
69
|
+
}
|
|
70
|
+
return githubFetch(url, requestInit);
|
|
71
|
+
}
|
|
72
|
+
export function classifyGitHubFailure(res) {
|
|
73
|
+
const status = res.status;
|
|
74
|
+
const rateRemaining = res.headers?.get("x-ratelimit-remaining");
|
|
75
|
+
if (status === 401 || (status === 403 && rateRemaining !== "0")) {
|
|
76
|
+
return {
|
|
77
|
+
code: "unauthorized",
|
|
78
|
+
status,
|
|
79
|
+
message: "GitHub authentication failed or the token lacks access to this repository.",
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
if (status === 403 && rateRemaining === "0") {
|
|
83
|
+
return {
|
|
84
|
+
code: "rate_limited",
|
|
85
|
+
status,
|
|
86
|
+
message: "GitHub API rate limit exceeded.",
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
if (status === 404) {
|
|
90
|
+
return {
|
|
91
|
+
code: "missing",
|
|
92
|
+
status,
|
|
93
|
+
message: "GitHub repository, branch, or skill path was not found.",
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
if (status === 429 || status >= 500) {
|
|
97
|
+
return {
|
|
98
|
+
code: "transient",
|
|
99
|
+
status,
|
|
100
|
+
message: `GitHub returned a transient HTTP ${status} response.`,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
code: "transient",
|
|
105
|
+
status,
|
|
106
|
+
message: `GitHub returned HTTP ${status}.`,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
25
109
|
// ---- Branch cache ---------------------------------------------------------
|
|
26
110
|
/**
|
|
27
111
|
* Fetch the default branch for a GitHub repo. Falls back to "main" on error.
|
|
@@ -32,16 +116,14 @@ const branchCache = new Map();
|
|
|
32
116
|
export function _resetBranchCache() {
|
|
33
117
|
branchCache.clear();
|
|
34
118
|
}
|
|
35
|
-
export async function getDefaultBranch(owner, repo) {
|
|
36
|
-
const key =
|
|
119
|
+
export async function getDefaultBranch(owner, repo, options) {
|
|
120
|
+
const key = branchCacheKey(owner, repo, options);
|
|
37
121
|
const cached = branchCache.get(key);
|
|
38
122
|
if (cached)
|
|
39
123
|
return cached;
|
|
40
124
|
let branch = "main";
|
|
41
125
|
try {
|
|
42
|
-
const res = await
|
|
43
|
-
headers: { Accept: "application/vnd.github.v3+json" },
|
|
44
|
-
});
|
|
126
|
+
const res = await requestGitHub(`https://api.github.com/repos/${owner}/${repo}`, {}, options);
|
|
45
127
|
if (res.ok) {
|
|
46
128
|
const data = (await res.json());
|
|
47
129
|
branch = data.default_branch || "main";
|
|
@@ -53,15 +135,25 @@ export async function getDefaultBranch(owner, repo) {
|
|
|
53
135
|
branchCache.set(key, branch);
|
|
54
136
|
return branch;
|
|
55
137
|
}
|
|
138
|
+
export async function getBranchHeadSha(owner, repo, branch, options) {
|
|
139
|
+
try {
|
|
140
|
+
const res = await requestGitHub(`https://api.github.com/repos/${owner}/${repo}/commits/${encodeURIComponent(branch)}`, {}, options);
|
|
141
|
+
if (!res.ok)
|
|
142
|
+
return null;
|
|
143
|
+
const data = (await res.json());
|
|
144
|
+
return typeof data.sha === "string" && data.sha ? data.sha : null;
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
56
150
|
/**
|
|
57
151
|
* Check whether a GitHub repo exists. Returns false only on 404.
|
|
58
152
|
* Fails open on network errors or rate limits (returns true).
|
|
59
153
|
*/
|
|
60
|
-
export async function checkRepoExists(owner, repo) {
|
|
154
|
+
export async function checkRepoExists(owner, repo, options) {
|
|
61
155
|
try {
|
|
62
|
-
const res = await
|
|
63
|
-
headers: { Accept: "application/vnd.github.v3+json" },
|
|
64
|
-
});
|
|
156
|
+
const res = await requestGitHub(`https://api.github.com/repos/${owner}/${repo}`, {}, options);
|
|
65
157
|
if (res.status === 404)
|
|
66
158
|
return false;
|
|
67
159
|
return true;
|
|
@@ -107,6 +199,43 @@ export function extractDescription(content) {
|
|
|
107
199
|
}
|
|
108
200
|
return undefined;
|
|
109
201
|
}
|
|
202
|
+
function encodeRepoPath(path) {
|
|
203
|
+
return path
|
|
204
|
+
.replace(/^\/+/, "")
|
|
205
|
+
.split("/")
|
|
206
|
+
.map((segment) => encodeURIComponent(segment))
|
|
207
|
+
.join("/");
|
|
208
|
+
}
|
|
209
|
+
export async function fetchGitHubFileText(owner, repo, branch, path, options) {
|
|
210
|
+
try {
|
|
211
|
+
const url = `https://api.github.com/repos/${owner}/${repo}/contents/${encodeRepoPath(path)}?ref=${encodeURIComponent(branch)}`;
|
|
212
|
+
const res = await requestGitHub(url, {
|
|
213
|
+
signal: AbortSignal.timeout(10000),
|
|
214
|
+
headers: { Accept: "application/vnd.github+json" },
|
|
215
|
+
}, options);
|
|
216
|
+
if (!res.ok)
|
|
217
|
+
return null;
|
|
218
|
+
const data = (await res.json());
|
|
219
|
+
if (Array.isArray(data))
|
|
220
|
+
return null;
|
|
221
|
+
if (data.encoding === "base64" && typeof data.content === "string") {
|
|
222
|
+
return Buffer.from(data.content.replace(/\s/g, ""), "base64").toString("utf8");
|
|
223
|
+
}
|
|
224
|
+
if (typeof data.content === "string")
|
|
225
|
+
return data.content;
|
|
226
|
+
if (data.download_url) {
|
|
227
|
+
const rawRes = await requestGitHub(data.download_url, {
|
|
228
|
+
signal: AbortSignal.timeout(10000),
|
|
229
|
+
}, options);
|
|
230
|
+
if (rawRes.ok)
|
|
231
|
+
return await rawRes.text();
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
// File not found, timeout, or malformed GitHub payload.
|
|
236
|
+
}
|
|
237
|
+
return null;
|
|
238
|
+
}
|
|
110
239
|
/**
|
|
111
240
|
* Discover all SKILL.md files in a GitHub repo using the Trees API.
|
|
112
241
|
*
|
|
@@ -120,25 +249,33 @@ export function extractDescription(content) {
|
|
|
120
249
|
*
|
|
121
250
|
* Returns empty array on any API error (caller falls back to single-skill fetch).
|
|
122
251
|
*/
|
|
123
|
-
export async function discoverSkills(owner, repo) {
|
|
124
|
-
const
|
|
252
|
+
export async function discoverSkills(owner, repo, options) {
|
|
253
|
+
const result = await discoverSkillsDetailed(owner, repo, options);
|
|
254
|
+
return result.skills;
|
|
255
|
+
}
|
|
256
|
+
export async function discoverSkillsDetailed(owner, repo, options) {
|
|
257
|
+
const branch = await getDefaultBranch(owner, repo, options);
|
|
125
258
|
const url = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}?recursive=1`;
|
|
126
259
|
let tree;
|
|
127
260
|
try {
|
|
128
|
-
const res = await
|
|
129
|
-
headers: { Accept: "application/vnd.github.v3+json" },
|
|
130
|
-
});
|
|
261
|
+
const res = await requestGitHub(url, {}, options);
|
|
131
262
|
if (!res.ok) {
|
|
132
263
|
warnRateLimitOnce(res);
|
|
133
|
-
return [];
|
|
264
|
+
return { skills: [], error: classifyGitHubFailure(res) };
|
|
134
265
|
}
|
|
135
266
|
const data = (await res.json());
|
|
136
267
|
if (!Array.isArray(data?.tree))
|
|
137
|
-
return [];
|
|
268
|
+
return { skills: [] };
|
|
138
269
|
tree = data.tree;
|
|
139
270
|
}
|
|
140
271
|
catch {
|
|
141
|
-
return
|
|
272
|
+
return {
|
|
273
|
+
skills: [],
|
|
274
|
+
error: {
|
|
275
|
+
code: "transient",
|
|
276
|
+
message: "Failed to connect to GitHub.",
|
|
277
|
+
},
|
|
278
|
+
};
|
|
142
279
|
}
|
|
143
280
|
const skills = [];
|
|
144
281
|
// Collect agents/*.md paths per skill for a second pass
|
|
@@ -219,19 +356,30 @@ export async function discoverSkills(owner, repo) {
|
|
|
219
356
|
// Fetch descriptions in parallel with a 3s timeout per skill
|
|
220
357
|
await Promise.allSettled(skills.map(async (skill) => {
|
|
221
358
|
try {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
359
|
+
let content = null;
|
|
360
|
+
if (hasExplicitToken(options)) {
|
|
361
|
+
content = await fetchGitHubFileText(owner, repo, branch, skill.path, options);
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
const controller = new AbortController();
|
|
365
|
+
const timer = setTimeout(() => controller.abort(), 3000);
|
|
366
|
+
try {
|
|
367
|
+
const res = await requestGitHub(skill.rawUrl, { signal: controller.signal }, options);
|
|
368
|
+
if (res.ok)
|
|
369
|
+
content = await res.text();
|
|
370
|
+
}
|
|
371
|
+
finally {
|
|
372
|
+
clearTimeout(timer);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
if (!content)
|
|
227
376
|
return;
|
|
228
|
-
const content = await res.text();
|
|
229
377
|
skill.description = extractDescription(content);
|
|
230
378
|
}
|
|
231
379
|
catch {
|
|
232
380
|
// Timeout or network error — leave description undefined
|
|
233
381
|
}
|
|
234
382
|
}));
|
|
235
|
-
return skills;
|
|
383
|
+
return { skills };
|
|
236
384
|
}
|
|
237
385
|
//# sourceMappingURL=github-tree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-tree.js","sourceRoot":"","sources":["../../src/discovery/github-tree.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github-tree.js","sourceRoot":"","sources":["../../src/discovery/github-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ import { getSkillSemaphore } from "./concurrency.js";
|
|
|
17
17
|
import { resolveSkillDir, resolveAllowedSkillDir } from "./skill-resolver.js";
|
|
18
18
|
import { scanSkillInstallLocations, pickHighestPrecedenceLocation } from "./utils/scan-install-locations.js";
|
|
19
19
|
import { whichSync } from "./utils/which.js";
|
|
20
|
+
import { enhancedSpawnEnv } from "../utils/resolve-binary.js";
|
|
20
21
|
import { resolveEditorCommand, NoEditorError } from "./utils/resolve-editor.js";
|
|
21
22
|
import { setSkillDirEntry, ensurePluginCacheEntry } from "./skill-dir-registry.js";
|
|
22
23
|
import { pickInstalledVersion, readSkillMd, sha256Hex, } from "./installed-version.js";
|
|
@@ -890,12 +891,11 @@ export const PROVIDER_MODELS = {
|
|
|
890
891
|
{ id: "haiku", ...aliasInfo("haiku", "Claude Haiku") },
|
|
891
892
|
],
|
|
892
893
|
"anthropic": buildAnthropicProviderModels(),
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
],
|
|
894
|
+
// Ollama's model list is dynamic — populated by probeOllama() from GET
|
|
895
|
+
// /api/tags. Empty by default (parity with "lm-studio") so an unreachable
|
|
896
|
+
// or timed-out probe surfaces zero models instead of leaking a hardcoded
|
|
897
|
+
// fallback that isn't actually installed (0876 US-001).
|
|
898
|
+
"ollama": [],
|
|
899
899
|
"gemini-cli": [
|
|
900
900
|
{ id: "gemini-2.5-pro", label: "Gemini 2.5 Pro" },
|
|
901
901
|
{ id: "gemini-2.5-flash", label: "Gemini 2.5 Flash" },
|
|
@@ -981,11 +981,11 @@ async function probeOllama() {
|
|
|
981
981
|
if (ollamaCache && now - ollamaCache.ts < PROBE_CACHE_TTL) {
|
|
982
982
|
return ollamaCache;
|
|
983
983
|
}
|
|
984
|
-
let models =
|
|
984
|
+
let models = [];
|
|
985
985
|
let available = false;
|
|
986
986
|
try {
|
|
987
987
|
const baseUrl = resolveOllamaBaseUrl(process.env);
|
|
988
|
-
const resp = await fetch(`${baseUrl}/api/tags`, { signal: AbortSignal.timeout(
|
|
988
|
+
const resp = await fetch(`${baseUrl}/api/tags`, { signal: AbortSignal.timeout(2000) });
|
|
989
989
|
if (resp.ok) {
|
|
990
990
|
const data = await resp.json();
|
|
991
991
|
// Only mark available after JSON parses cleanly — protects against 200-with-bad-body proxies.
|
|
@@ -1004,7 +1004,7 @@ async function probeOllama() {
|
|
|
1004
1004
|
// ---------------------------------------------------------------------------
|
|
1005
1005
|
// probeLmStudio — hits GET <base>/models to detect LM Studio and populate the
|
|
1006
1006
|
// model list from the server's loaded models. Mirrors the Ollama pattern:
|
|
1007
|
-
//
|
|
1007
|
+
// 2000ms AbortSignal timeout, 30s in-memory cache, silent failure on any
|
|
1008
1008
|
// exception. Base URL is overridable via LM_STUDIO_BASE_URL.
|
|
1009
1009
|
// ---------------------------------------------------------------------------
|
|
1010
1010
|
async function probeLmStudio() {
|
|
@@ -1016,7 +1016,7 @@ async function probeLmStudio() {
|
|
|
1016
1016
|
let available = false;
|
|
1017
1017
|
try {
|
|
1018
1018
|
const baseUrl = process.env.LM_STUDIO_BASE_URL || "http://localhost:1234/v1";
|
|
1019
|
-
const resp = await fetch(`${baseUrl}/models`, { signal: AbortSignal.timeout(
|
|
1019
|
+
const resp = await fetch(`${baseUrl}/models`, { signal: AbortSignal.timeout(2000) });
|
|
1020
1020
|
if (resp.ok) {
|
|
1021
1021
|
const data = await resp.json();
|
|
1022
1022
|
// Only mark available after JSON parses cleanly — protects against 200-with-bad-body proxies.
|
|
@@ -2062,6 +2062,7 @@ export function registerRoutes(router, rootArg, projectName) {
|
|
|
2062
2062
|
// SKILL.md frontmatter stale (the bell would refresh, but the version
|
|
2063
2063
|
// chip wouldn't).
|
|
2064
2064
|
execFileSync("vskill", args, {
|
|
2065
|
+
env: enhancedSpawnEnv(),
|
|
2065
2066
|
timeout: 60_000,
|
|
2066
2067
|
encoding: "utf-8",
|
|
2067
2068
|
stdio: ["ignore", "pipe", "pipe"],
|
|
@@ -2116,6 +2117,7 @@ export function registerRoutes(router, rootArg, projectName) {
|
|
|
2116
2117
|
// form so request-body values can never reach the shell.
|
|
2117
2118
|
// 0765: pin cwd (see single-skill update handler above).
|
|
2118
2119
|
execFileSync("vskill", ["update", skill], {
|
|
2120
|
+
env: enhancedSpawnEnv(),
|
|
2119
2121
|
timeout: 60_000,
|
|
2120
2122
|
encoding: "utf-8",
|
|
2121
2123
|
stdio: ["ignore", "pipe", "pipe"],
|
|
@@ -3531,6 +3533,9 @@ Return ONLY the JSON lines, no other text.`;
|
|
|
3531
3533
|
await new Promise((resolvePromise, rejectPromise) => {
|
|
3532
3534
|
const child = spawn(launch.command, launch.args, {
|
|
3533
3535
|
detached: true,
|
|
3536
|
+
// enhancedSpawnEnv() so a bare editor command ($EDITOR/code/cursor)
|
|
3537
|
+
// resolves under a Dock-launched studio's truncated PATH.
|
|
3538
|
+
env: enhancedSpawnEnv(),
|
|
3534
3539
|
stdio: "ignore",
|
|
3535
3540
|
});
|
|
3536
3541
|
child.once("error", rejectPromise);
|
|
@@ -3676,6 +3681,7 @@ Return ONLY the JSON lines, no other text.`;
|
|
|
3676
3681
|
const exitCode = await new Promise((resolveCode) => {
|
|
3677
3682
|
const child = spawn("vskill", cliArgs, {
|
|
3678
3683
|
cwd: root,
|
|
3684
|
+
env: enhancedSpawnEnv(),
|
|
3679
3685
|
stdio: ["ignore", "pipe", "pipe"],
|
|
3680
3686
|
});
|
|
3681
3687
|
child.stdout?.on("data", (c) => { stdout += c.toString(); });
|