vskill 0.5.47 → 0.5.49
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/dist/commands/add.js +29 -10
- package/dist/commands/add.js.map +1 -1
- package/dist/eval/verdict.d.ts +1 -1
- package/dist/eval/verdict.js +53 -9
- package/dist/eval/verdict.js.map +1 -1
- package/dist/eval-ui/assets/{index-B5TJCTjp.js → index-BjKaIypp.js} +24 -24
- package/dist/eval-ui/index.html +1 -1
- package/dist/installer/migrate.js +11 -7
- package/dist/installer/migrate.js.map +1 -1
- package/dist/security/platform-security.js +18 -4
- package/dist/security/platform-security.js.map +1 -1
- package/package.json +1 -1
package/dist/eval-ui/index.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>Skill Studio</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-BjKaIypp.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-CGNHEtf7.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
@@ -32,7 +32,8 @@ export function migrateStaleSkillFiles(skillsDir) {
|
|
|
32
32
|
try {
|
|
33
33
|
entries = readdirSync(skillsDir);
|
|
34
34
|
}
|
|
35
|
-
catch {
|
|
35
|
+
catch (err) {
|
|
36
|
+
result.errors.push(`Could not read skills directory ${skillsDir}: ${err.message}`);
|
|
36
37
|
return result;
|
|
37
38
|
}
|
|
38
39
|
for (const entry of entries) {
|
|
@@ -46,7 +47,7 @@ export function migrateStaleSkillFiles(skillsDir) {
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
catch {
|
|
49
|
-
// Skip unreadable entries
|
|
50
|
+
// Skip unreadable entries (binary files, permission edge cases)
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
return result;
|
|
@@ -79,7 +80,8 @@ export function ensureSkillMdNaming(skillsDir) {
|
|
|
79
80
|
try {
|
|
80
81
|
entries = readdirSync(skillsDir);
|
|
81
82
|
}
|
|
82
|
-
catch {
|
|
83
|
+
catch (err) {
|
|
84
|
+
result.errors.push(`Could not read skills directory ${skillsDir}: ${err.message}`);
|
|
83
85
|
return result;
|
|
84
86
|
}
|
|
85
87
|
for (const entry of entries) {
|
|
@@ -106,7 +108,8 @@ function enforceSkillMdInDir(dir, result) {
|
|
|
106
108
|
try {
|
|
107
109
|
entries = readdirSync(dir);
|
|
108
110
|
}
|
|
109
|
-
catch {
|
|
111
|
+
catch (err) {
|
|
112
|
+
result.errors.push(`Could not read directory ${dir}: ${err.message}`);
|
|
110
113
|
return;
|
|
111
114
|
}
|
|
112
115
|
for (const entry of entries) {
|
|
@@ -153,8 +156,8 @@ function enforceSkillMdInDir(dir, result) {
|
|
|
153
156
|
try {
|
|
154
157
|
unlinkSync(join(entryPath, candidates[i]));
|
|
155
158
|
}
|
|
156
|
-
catch {
|
|
157
|
-
|
|
159
|
+
catch (err) {
|
|
160
|
+
result.errors.push(`Could not remove duplicate ${candidates[i]} in ${entryPath}: ${err.message}`);
|
|
158
161
|
}
|
|
159
162
|
}
|
|
160
163
|
result.renamedCount++;
|
|
@@ -203,7 +206,8 @@ function migrateDirLevel(dir, result) {
|
|
|
203
206
|
try {
|
|
204
207
|
entries = readdirSync(dir);
|
|
205
208
|
}
|
|
206
|
-
catch {
|
|
209
|
+
catch (err) {
|
|
210
|
+
result.errors.push(`Could not read directory ${dir}: ${err.message}`);
|
|
207
211
|
return;
|
|
208
212
|
}
|
|
209
213
|
for (const entry of entries) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/installer/migrate.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAE9E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,MAAM,EACN,UAAU,EACV,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAarD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAAiB;IAEjB,MAAM,MAAM,GAAoB;QAC9B,aAAa,EAAE,CAAC;QAChB,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,CAAC;IAE1C,gCAAgC;IAChC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEnC,kDAAkD;IAClD,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/installer/migrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,13 +8,27 @@ const BASE_URL = "https://verified-skill.com";
|
|
|
8
8
|
const VALID_STATUSES = new Set(["PASS", "FAIL", "PENDING", "TIMED_OUT"]);
|
|
9
9
|
const VALID_VERDICTS = new Set(["PASS", "FAIL", "CONCERNS", "PENDING"]);
|
|
10
10
|
const VALID_OVERALL = new Set(["PASS", "FAIL", "PENDING", "TIMED_OUT", "CERTIFIED"]);
|
|
11
|
+
function sanitizeLogValue(v) {
|
|
12
|
+
return String(v).replace(/[\x00-\x1f\x7f]/g, "").slice(0, 50);
|
|
13
|
+
}
|
|
11
14
|
function validateEnum(value, allowed, fallback) {
|
|
12
15
|
const upper = value.toUpperCase();
|
|
13
|
-
|
|
16
|
+
if (allowed.has(upper))
|
|
17
|
+
return upper;
|
|
18
|
+
console.warn(`[platform-security] invalid enum value "${sanitizeLogValue(value)}", using fallback "${fallback}"`);
|
|
19
|
+
return fallback;
|
|
14
20
|
}
|
|
15
21
|
function safeNumber(value, fallback) {
|
|
22
|
+
if (value === "") {
|
|
23
|
+
console.warn(`[platform-security] empty string coerced to ${fallback}`);
|
|
24
|
+
return fallback;
|
|
25
|
+
}
|
|
16
26
|
const n = Number(value ?? fallback);
|
|
17
|
-
|
|
27
|
+
if (isNaN(n)) {
|
|
28
|
+
console.warn(`[platform-security] non-numeric value coerced to ${fallback}: ${sanitizeLogValue(value)}`);
|
|
29
|
+
return fallback;
|
|
30
|
+
}
|
|
31
|
+
return n;
|
|
18
32
|
}
|
|
19
33
|
/**
|
|
20
34
|
* Check external SAST scan results from the platform API.
|
|
@@ -25,7 +39,7 @@ export async function checkPlatformSecurity(skillName) {
|
|
|
25
39
|
const url = `${BASE_URL}/api/v1/skills/${skillName.split("/").map(encodeURIComponent).join("/")}/security`;
|
|
26
40
|
const res = await fetch(url, { signal: AbortSignal.timeout(10_000) });
|
|
27
41
|
if (!res.ok) {
|
|
28
|
-
console.warn(`[platform-security] HTTP ${res.status} for ${skillName}`);
|
|
42
|
+
console.warn(`[platform-security] HTTP ${res.status} for ${sanitizeLogValue(skillName)}`);
|
|
29
43
|
return null;
|
|
30
44
|
}
|
|
31
45
|
const data = (await res.json());
|
|
@@ -48,7 +62,7 @@ export async function checkPlatformSecurity(skillName) {
|
|
|
48
62
|
};
|
|
49
63
|
}
|
|
50
64
|
catch (err) {
|
|
51
|
-
console.warn(`[platform-security] check failed for ${skillName}
|
|
65
|
+
console.warn(`[platform-security] check failed for ${sanitizeLogValue(skillName)}: ${err instanceof Error ? err.message : String(err)}`);
|
|
52
66
|
return null;
|
|
53
67
|
}
|
|
54
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-security.js","sourceRoot":"","sources":["../../src/security/platform-security.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAE9E,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAgB9C,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"platform-security.js","sourceRoot":"","sources":["../../src/security/platform-security.ts"],"names":[],"mappings":"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"}
|