vskill 1.0.18 → 1.0.19
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 +8 -59
- package/agents.json +1 -1
- package/dist/bin.js +0 -0
- package/dist/commands/add-lockfile.d.ts +0 -6
- package/dist/commands/add-lockfile.js +0 -10
- package/dist/commands/add-lockfile.js.map +1 -1
- package/dist/commands/add.js +1 -16
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/auth.js +31 -1
- package/dist/commands/auth.js.map +1 -1
- package/dist/discovery/github-tree.d.ts +3 -23
- package/dist/discovery/github-tree.js +24 -172
- package/dist/discovery/github-tree.js.map +1 -1
- package/dist/eval-server/active-root-store.d.ts +19 -0
- package/dist/eval-server/active-root-store.js +50 -0
- package/dist/eval-server/active-root-store.js.map +1 -0
- package/dist/eval-server/api-routes.d.ts +1 -1
- package/dist/eval-server/api-routes.js +43 -5
- package/dist/eval-server/api-routes.js.map +1 -1
- package/dist/eval-server/authoring-routes.d.ts +1 -1
- package/dist/eval-server/authoring-routes.js +9 -7
- package/dist/eval-server/authoring-routes.js.map +1 -1
- package/dist/eval-server/detect-engines-route.d.ts +1 -1
- package/dist/eval-server/detect-engines-route.js +3 -1
- package/dist/eval-server/detect-engines-route.js.map +1 -1
- package/dist/eval-server/eval-server.js +26 -24
- package/dist/eval-server/eval-server.js.map +1 -1
- package/dist/eval-server/git-routes.d.ts +6 -6
- package/dist/eval-server/git-routes.js +22 -11
- package/dist/eval-server/git-routes.js.map +1 -1
- package/dist/eval-server/improve-routes.d.ts +1 -1
- package/dist/eval-server/improve-routes.js +4 -1
- package/dist/eval-server/improve-routes.js.map +1 -1
- package/dist/eval-server/install-engine-routes.d.ts +1 -1
- package/dist/eval-server/install-engine-routes.js +1 -1
- package/dist/eval-server/install-engine-routes.js.map +1 -1
- package/dist/eval-server/install-skill-routes.d.ts +1 -1
- package/dist/eval-server/install-skill-routes.js +3 -1
- package/dist/eval-server/install-skill-routes.js.map +1 -1
- package/dist/eval-server/install-state-routes.d.ts +1 -1
- package/dist/eval-server/install-state-routes.js +3 -1
- package/dist/eval-server/install-state-routes.js.map +1 -1
- package/dist/eval-server/integration-routes.d.ts +1 -1
- package/dist/eval-server/integration-routes.js +6 -1
- package/dist/eval-server/integration-routes.js.map +1 -1
- package/dist/eval-server/model-compare-routes.d.ts +1 -1
- package/dist/eval-server/model-compare-routes.js +3 -1
- package/dist/eval-server/model-compare-routes.js.map +1 -1
- package/dist/eval-server/platform-proxy.d.ts +6 -1
- package/dist/eval-server/platform-proxy.js +60 -11
- package/dist/eval-server/platform-proxy.js.map +1 -1
- package/dist/eval-server/plugin-cli-routes.d.ts +1 -1
- package/dist/eval-server/plugin-cli-routes.js +10 -1
- package/dist/eval-server/plugin-cli-routes.js.map +1 -1
- package/dist/eval-server/remove-skill-routes.d.ts +1 -1
- package/dist/eval-server/remove-skill-routes.js +3 -1
- package/dist/eval-server/remove-skill-routes.js.map +1 -1
- package/dist/eval-server/skill-create-routes.d.ts +1 -1
- package/dist/eval-server/skill-create-routes.js +8 -1
- package/dist/eval-server/skill-create-routes.js.map +1 -1
- package/dist/eval-server/sweep-routes.d.ts +1 -1
- package/dist/eval-server/sweep-routes.js +5 -1
- package/dist/eval-server/sweep-routes.js.map +1 -1
- package/dist/eval-server/workspace-routes.d.ts +12 -0
- package/dist/eval-server/workspace-routes.js +57 -2
- package/dist/eval-server/workspace-routes.js.map +1 -1
- package/dist/eval-ui/assets/{AdvancedTab-D8zbE5fH.js → AdvancedTab-DOgbx7u0.js} +1 -1
- package/dist/eval-ui/assets/{CreateSkillPage-DOBhKdgr.js → CreateSkillPage-Cv93Croj.js} +5 -5
- package/dist/eval-ui/assets/{FindSkillsPalette-CyMmNPr-.js → FindSkillsPalette-BY9DAhHh.js} +2 -2
- package/dist/eval-ui/assets/{GeneralTab-DYR9NWC4.js → GeneralTab-AwK9sIkP.js} +1 -1
- package/dist/eval-ui/assets/{PrivacyTab-CXIqQokl.js → PrivacyTab-BtNrxpVV.js} +1 -1
- package/dist/eval-ui/assets/{SearchPaletteCore-Dn5gQJS_.js → SearchPaletteCore-DMVcq7UB.js} +1 -1
- package/dist/eval-ui/assets/{SkillDetailPanel-DTrRnyyJ.js → SkillDetailPanel-B_lbhK6q.js} +1 -1
- package/dist/eval-ui/assets/{UpdateDropdown-Cvr2fe0z.js → UpdateDropdown-4AbjZLpq.js} +1 -1
- package/dist/eval-ui/assets/{UpdatesTab-DwJIUDPX.js → UpdatesTab-DTmo-vVb.js} +1 -1
- package/dist/eval-ui/assets/core-DZjBCfjp.js +1 -0
- package/dist/eval-ui/assets/{event-CDYWU2X3.js → event-QtOCMXAv.js} +1 -1
- package/dist/eval-ui/assets/globals-Dpf9KmYH.css +1 -0
- package/dist/eval-ui/assets/{index-D7M0Jdss.js → index-CUEYzTVL.js} +1 -1
- package/dist/eval-ui/assets/index-DDNzcrhv.js +1 -0
- package/dist/eval-ui/assets/index-DhhmQddr.js +1 -0
- package/dist/eval-ui/assets/{lifecycle-DSleOV-l.js → lifecycle-o_IRibOa.js} +1 -1
- package/dist/eval-ui/assets/main-tpOyw9SC.js +87 -0
- package/dist/eval-ui/assets/{preferences-BKv6X7fK.js → preferences-DCdw0Kvu.js} +2 -2
- package/dist/eval-ui/assets/{useDesktopBridge-DxVWbYqK.js → useDesktopBridge-9oZFQsrw.js} +2 -2
- package/dist/eval-ui/index.html +4 -4
- package/dist/eval-ui/lifecycle.html +3 -3
- package/dist/eval-ui/preferences.html +4 -4
- package/dist/lib/github-fetch.d.ts +0 -1
- package/dist/lib/github-fetch.js +1 -11
- package/dist/lib/github-fetch.js.map +1 -1
- package/dist/lib/keychain.js +20 -3
- package/dist/lib/keychain.js.map +1 -1
- package/dist/lockfile/types.d.ts +0 -8
- package/dist/studio/routes/index.d.ts +1 -1
- package/dist/studio/routes/index.js +10 -9
- package/dist/studio/routes/index.js.map +1 -1
- package/dist/studio/routes/promote.d.ts +1 -1
- package/dist/studio/routes/promote.js +3 -1
- package/dist/studio/routes/promote.js.map +1 -1
- package/dist/studio/routes/revert.d.ts +1 -1
- package/dist/studio/routes/revert.js +3 -1
- package/dist/studio/routes/revert.js.map +1 -1
- package/dist/studio/routes/test-install.d.ts +1 -1
- package/dist/studio/routes/test-install.js +3 -1
- package/dist/studio/routes/test-install.js.map +1 -1
- package/dist/updater/source-fetcher.js +2 -2
- package/dist/updater/source-fetcher.js.map +1 -1
- package/package.json +2 -1
- package/dist/eval-ui/assets/core-DZAvsxlC.js +0 -1
- package/dist/eval-ui/assets/globals-C3oEdsJh.css +0 -1
- package/dist/eval-ui/assets/main-D2shn1dH.js +0 -87
- package/dist/sidecar/eval-ui-manifest.json +0 -1
- package/dist/sidecar/sea-config.json +0 -57
- package/dist/sidecar/sea-prep.blob +0 -0
- package/dist/sidecar/server.cjs +0 -141627
- package/dist/sidecar/vskill-version.txt +0 -1
- /package/dist/eval-ui/assets/{globals-BRZwPAPF.js → globals-hm1COkXX.js} +0 -0
|
@@ -5,32 +5,14 @@ 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;
|
|
25
8
|
/** @internal Reset cache — for testing only */
|
|
26
9
|
export declare function _resetBranchCache(): void;
|
|
27
|
-
export declare function getDefaultBranch(owner: string, repo: string
|
|
28
|
-
export declare function getBranchHeadSha(owner: string, repo: string, branch: string, options?: GitHubDiscoveryOptions): Promise<string | null>;
|
|
10
|
+
export declare function getDefaultBranch(owner: string, repo: string): Promise<string>;
|
|
29
11
|
/**
|
|
30
12
|
* Check whether a GitHub repo exists. Returns false only on 404.
|
|
31
13
|
* Fails open on network errors or rate limits (returns true).
|
|
32
14
|
*/
|
|
33
|
-
export declare function checkRepoExists(owner: string, repo: string
|
|
15
|
+
export declare function checkRepoExists(owner: string, repo: string): Promise<boolean>;
|
|
34
16
|
export interface DiscoveredSkill {
|
|
35
17
|
name: string;
|
|
36
18
|
path: string;
|
|
@@ -47,7 +29,6 @@ export interface DiscoveredSkill {
|
|
|
47
29
|
* Returns undefined if no content line is found.
|
|
48
30
|
*/
|
|
49
31
|
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>;
|
|
51
32
|
/**
|
|
52
33
|
* Discover all SKILL.md files in a GitHub repo using the Trees API.
|
|
53
34
|
*
|
|
@@ -61,5 +42,4 @@ export declare function fetchGitHubFileText(owner: string, repo: string, branch:
|
|
|
61
42
|
*
|
|
62
43
|
* Returns empty array on any API error (caller falls back to single-skill fetch).
|
|
63
44
|
*/
|
|
64
|
-
export declare function discoverSkills(owner: string, repo: string
|
|
65
|
-
export declare function discoverSkillsDetailed(owner: string, repo: string, options?: GitHubDiscoveryOptions): Promise<GitHubDiscoveryResult>;
|
|
45
|
+
export declare function discoverSkills(owner: string, repo: string): Promise<DiscoveredSkill[]>;
|
|
@@ -2,7 +2,6 @@
|
|
|
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";
|
|
6
5
|
// ---- Rate-limit warning (deduplicated per CLI invocation) -----------------
|
|
7
6
|
let rateLimitWarned = false;
|
|
8
7
|
/** @internal Reset flag — for testing only */
|
|
@@ -23,89 +22,6 @@ export function warnRateLimitOnce(res) {
|
|
|
23
22
|
rateLimitWarned = true;
|
|
24
23
|
console.error(yellow("GitHub API rate limit reached. Set GITHUB_TOKEN for higher limits."));
|
|
25
24
|
}
|
|
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
|
-
}
|
|
109
25
|
// ---- Branch cache ---------------------------------------------------------
|
|
110
26
|
/**
|
|
111
27
|
* Fetch the default branch for a GitHub repo. Falls back to "main" on error.
|
|
@@ -116,14 +32,16 @@ const branchCache = new Map();
|
|
|
116
32
|
export function _resetBranchCache() {
|
|
117
33
|
branchCache.clear();
|
|
118
34
|
}
|
|
119
|
-
export async function getDefaultBranch(owner, repo
|
|
120
|
-
const key =
|
|
35
|
+
export async function getDefaultBranch(owner, repo) {
|
|
36
|
+
const key = `${owner}/${repo}`;
|
|
121
37
|
const cached = branchCache.get(key);
|
|
122
38
|
if (cached)
|
|
123
39
|
return cached;
|
|
124
40
|
let branch = "main";
|
|
125
41
|
try {
|
|
126
|
-
const res = await
|
|
42
|
+
const res = await fetch(`https://api.github.com/repos/${owner}/${repo}`, {
|
|
43
|
+
headers: { Accept: "application/vnd.github.v3+json" },
|
|
44
|
+
});
|
|
127
45
|
if (res.ok) {
|
|
128
46
|
const data = (await res.json());
|
|
129
47
|
branch = data.default_branch || "main";
|
|
@@ -135,25 +53,15 @@ export async function getDefaultBranch(owner, repo, options) {
|
|
|
135
53
|
branchCache.set(key, branch);
|
|
136
54
|
return branch;
|
|
137
55
|
}
|
|
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
|
-
}
|
|
150
56
|
/**
|
|
151
57
|
* Check whether a GitHub repo exists. Returns false only on 404.
|
|
152
58
|
* Fails open on network errors or rate limits (returns true).
|
|
153
59
|
*/
|
|
154
|
-
export async function checkRepoExists(owner, repo
|
|
60
|
+
export async function checkRepoExists(owner, repo) {
|
|
155
61
|
try {
|
|
156
|
-
const res = await
|
|
62
|
+
const res = await fetch(`https://api.github.com/repos/${owner}/${repo}`, {
|
|
63
|
+
headers: { Accept: "application/vnd.github.v3+json" },
|
|
64
|
+
});
|
|
157
65
|
if (res.status === 404)
|
|
158
66
|
return false;
|
|
159
67
|
return true;
|
|
@@ -199,43 +107,6 @@ export function extractDescription(content) {
|
|
|
199
107
|
}
|
|
200
108
|
return undefined;
|
|
201
109
|
}
|
|
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
|
-
}
|
|
239
110
|
/**
|
|
240
111
|
* Discover all SKILL.md files in a GitHub repo using the Trees API.
|
|
241
112
|
*
|
|
@@ -249,33 +120,25 @@ export async function fetchGitHubFileText(owner, repo, branch, path, options) {
|
|
|
249
120
|
*
|
|
250
121
|
* Returns empty array on any API error (caller falls back to single-skill fetch).
|
|
251
122
|
*/
|
|
252
|
-
export async function discoverSkills(owner, repo
|
|
253
|
-
const
|
|
254
|
-
return result.skills;
|
|
255
|
-
}
|
|
256
|
-
export async function discoverSkillsDetailed(owner, repo, options) {
|
|
257
|
-
const branch = await getDefaultBranch(owner, repo, options);
|
|
123
|
+
export async function discoverSkills(owner, repo) {
|
|
124
|
+
const branch = await getDefaultBranch(owner, repo);
|
|
258
125
|
const url = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}?recursive=1`;
|
|
259
126
|
let tree;
|
|
260
127
|
try {
|
|
261
|
-
const res = await
|
|
128
|
+
const res = await fetch(url, {
|
|
129
|
+
headers: { Accept: "application/vnd.github.v3+json" },
|
|
130
|
+
});
|
|
262
131
|
if (!res.ok) {
|
|
263
132
|
warnRateLimitOnce(res);
|
|
264
|
-
return
|
|
133
|
+
return [];
|
|
265
134
|
}
|
|
266
135
|
const data = (await res.json());
|
|
267
136
|
if (!Array.isArray(data?.tree))
|
|
268
|
-
return
|
|
137
|
+
return [];
|
|
269
138
|
tree = data.tree;
|
|
270
139
|
}
|
|
271
140
|
catch {
|
|
272
|
-
return
|
|
273
|
-
skills: [],
|
|
274
|
-
error: {
|
|
275
|
-
code: "transient",
|
|
276
|
-
message: "Failed to connect to GitHub.",
|
|
277
|
-
},
|
|
278
|
-
};
|
|
141
|
+
return [];
|
|
279
142
|
}
|
|
280
143
|
const skills = [];
|
|
281
144
|
// Collect agents/*.md paths per skill for a second pass
|
|
@@ -356,30 +219,19 @@ export async function discoverSkillsDetailed(owner, repo, options) {
|
|
|
356
219
|
// Fetch descriptions in parallel with a 3s timeout per skill
|
|
357
220
|
await Promise.allSettled(skills.map(async (skill) => {
|
|
358
221
|
try {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
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)
|
|
222
|
+
const controller = new AbortController();
|
|
223
|
+
const timer = setTimeout(() => controller.abort(), 3000);
|
|
224
|
+
const res = await fetch(skill.rawUrl, { signal: controller.signal });
|
|
225
|
+
clearTimeout(timer);
|
|
226
|
+
if (!res.ok)
|
|
376
227
|
return;
|
|
228
|
+
const content = await res.text();
|
|
377
229
|
skill.description = extractDescription(content);
|
|
378
230
|
}
|
|
379
231
|
catch {
|
|
380
232
|
// Timeout or network error — leave description undefined
|
|
381
233
|
}
|
|
382
234
|
}));
|
|
383
|
-
return
|
|
235
|
+
return skills;
|
|
384
236
|
}
|
|
385
237
|
//# 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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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface ActiveRootStore {
|
|
2
|
+
/** The scan root all route handlers should use, resolved per request. */
|
|
3
|
+
getRoot(): string;
|
|
4
|
+
/** Replace the active scan root (e.g. after a project switch). */
|
|
5
|
+
setRoot(root: string): void;
|
|
6
|
+
/**
|
|
7
|
+
* Re-derive the active root from `~/.vskill/workspace.json`'s active project.
|
|
8
|
+
* Updates the store and returns the new value; if no active project resolves,
|
|
9
|
+
* the current root is kept and returned.
|
|
10
|
+
*/
|
|
11
|
+
reload(workspaceDir: string): string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Resolve the active project's path from the workspace registry. Returns null
|
|
15
|
+
* when there is no workspace, no active project, or the active id is dangling.
|
|
16
|
+
* Shared by both boot resolution (eval-server) and runtime reloads (this store).
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveActiveRoot(workspaceDir: string): string | null;
|
|
19
|
+
export declare function createActiveRootStore(initialRoot: string): ActiveRootStore;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// 0863 T-001: ActiveRootStore — runtime-mutable scan root.
|
|
3
|
+
//
|
|
4
|
+
// Before 0863, the eval-server resolved the scan root ONCE at boot and froze
|
|
5
|
+
// it into every route handler's closure, so switching the active project from
|
|
6
|
+
// the UI (POST /api/workspace/active) changed ~/.vskill/workspace.json but the
|
|
7
|
+
// running server kept serving the original folder's skills.
|
|
8
|
+
//
|
|
9
|
+
// This store holds the current scan root in memory and lets handlers read it
|
|
10
|
+
// per-request via `getRoot()`. `POST /api/workspace/active` calls `setRoot()`
|
|
11
|
+
// after persisting, so the next `GET /api/skills` scans the new folder — no
|
|
12
|
+
// process restart, no port change, no studio-token re-mint. The same code path
|
|
13
|
+
// works in `npx vskill studio` (single process) and the desktop Tauri sidecar.
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
import { loadWorkspace } from "./workspace-store.js";
|
|
16
|
+
/**
|
|
17
|
+
* Resolve the active project's path from the workspace registry. Returns null
|
|
18
|
+
* when there is no workspace, no active project, or the active id is dangling.
|
|
19
|
+
* Shared by both boot resolution (eval-server) and runtime reloads (this store).
|
|
20
|
+
*/
|
|
21
|
+
export function resolveActiveRoot(workspaceDir) {
|
|
22
|
+
try {
|
|
23
|
+
const ws = loadWorkspace(workspaceDir);
|
|
24
|
+
if (!ws.activeProjectId)
|
|
25
|
+
return null;
|
|
26
|
+
const active = ws.projects.find((p) => p.id === ws.activeProjectId);
|
|
27
|
+
return active ? active.path : null;
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export function createActiveRootStore(initialRoot) {
|
|
34
|
+
let current = initialRoot;
|
|
35
|
+
return {
|
|
36
|
+
getRoot() {
|
|
37
|
+
return current;
|
|
38
|
+
},
|
|
39
|
+
setRoot(root) {
|
|
40
|
+
current = root;
|
|
41
|
+
},
|
|
42
|
+
reload(workspaceDir) {
|
|
43
|
+
const resolved = resolveActiveRoot(workspaceDir);
|
|
44
|
+
if (resolved)
|
|
45
|
+
current = resolved;
|
|
46
|
+
return current;
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=active-root-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-root-store.js","sourceRoot":"","sources":["../../src/eval-server/active-root-store.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2DAA2D;AAC3D,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,4DAA4D;AAC5D,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAerD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAoB;IACpD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,eAAe,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,IAAI,OAAO,GAAG,WAAW,CAAC;IAC1B,OAAO;QACL,OAAO;YACL,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,IAAY;YAClB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,MAAM,CAAC,YAAoB;YACzB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,QAAQ;gBAAE,OAAO,GAAG,QAAQ,CAAC;YACjC,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -214,4 +214,4 @@ export declare function detectAvailableProviders(): Promise<Array<{
|
|
|
214
214
|
models: ModelOption[];
|
|
215
215
|
resolvedModel?: string | null;
|
|
216
216
|
}>>;
|
|
217
|
-
export declare function registerRoutes(router: Router,
|
|
217
|
+
export declare function registerRoutes(router: Router, rootArg: string | (() => string), projectName?: string): void;
|