@vantageos/mcp-doctor 0.8.1 → 0.8.3
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/CHANGELOG.md +37 -0
- package/dist/doctor.d.ts +6 -0
- package/dist/doctor.js +663 -236
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,43 @@
|
|
|
3
3
|
All notable changes to `@vantageos/mcp-doctor` are documented here.
|
|
4
4
|
This project adheres to [Semantic Versioning](https://semver.org/).
|
|
5
5
|
|
|
6
|
+
## 0.8.3 — 2026-10-25
|
|
7
|
+
|
|
8
|
+
### Fixed
|
|
9
|
+
- **A candidate that is present but unreadable is reported as present, never as absent** (task
|
|
10
|
+
k179q736d89ysaete7fhmshjyd8gzh41, Eta on #60). `findDiskFiles` refused a matched entry that was
|
|
11
|
+
chmod 000, a FIFO or a dangling link, recorded the skip, and returned nothing for it. Seventeen
|
|
12
|
+
callers then read that as "not in the tree".
|
|
13
|
+
- `findDiskFiles` now returns the refused matches alongside the readable files, typed as
|
|
14
|
+
`.refused`. `diskText` and `readSkillFiles` carry them too.
|
|
15
|
+
- Every verdict that rests on absence settles a refused match as `could-not-judge` and names the
|
|
16
|
+
file. That covers 15 converted callers; the other 2 are declared at their site.
|
|
17
|
+
- A-2 no longer says "no vite.config.* in the tree" for an unreadable config. It also no longer
|
|
18
|
+
turns an unreadable config into a RED.
|
|
19
|
+
- A-3, A-4 and A-5 no longer report "not an App" when the only HTML shell is unreadable.
|
|
20
|
+
- `src/runtime/launch.ts:164`, the parse of a server's stdout line, is classified as legitimate.
|
|
21
|
+
|
|
22
|
+
On readable input every verdict is unchanged: four real trees give 101 identical results on 0.8.2
|
|
23
|
+
and 0.8.3.
|
|
24
|
+
|
|
25
|
+
## 0.8.2 — 2026-10-25
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
- **A detector's own read that fails, or could block, is named instead of being judged empty** (task
|
|
29
|
+
k17dddv66dbzd1fsmz9bwg4ysx8gy6zv). 0.8.1 closed this for the target walk. Each detector's own reads
|
|
30
|
+
still had the same holes:
|
|
31
|
+
- a read failure answered by a bare `return` or `continue`;
|
|
32
|
+
- a `readFileSync` that would block forever on a FIFO.
|
|
33
|
+
|
|
34
|
+
Every site is now classified in `analysis/detector-read-class.md`: 87 rows, of which 43 are declared
|
|
35
|
+
legitimate (with a comment at the site) and 44 are converted. A converted site reports
|
|
36
|
+
`could-not-judge` naming what it did not read, or records a skip. A non-regular file is never read.
|
|
37
|
+
C-26 no longer aborts the run on an unreadable `package.json` or lockfile. D8 (dynamic) no longer
|
|
38
|
+
counts an unreadable `evals.json` as zero coverage.
|
|
39
|
+
|
|
40
|
+
On readable input every verdict is unchanged: four real trees give the same 101 results, the same
|
|
41
|
+
states and the same exit code on 0.8.1 and 0.8.2.
|
|
42
|
+
|
|
6
43
|
## 0.8.1 — 2026-10-13
|
|
7
44
|
|
|
8
45
|
Standard re-pinned to ElPi-Corp `6d463a1ecc5256cd59dd1afe5aa5e335accacc90`: the direct child of
|
package/dist/doctor.d.ts
CHANGED
|
@@ -201,6 +201,12 @@ interface RuntimeContext {
|
|
|
201
201
|
root: string;
|
|
202
202
|
tools: RuntimeTool[];
|
|
203
203
|
launchError?: string;
|
|
204
|
+
/**
|
|
205
|
+
* Set when the target's `evals/evals.json` is present but was NOT READ (permission, or not a
|
|
206
|
+
* regular file). Every `evalCaseCount` is then unset because the file was unread, not because it
|
|
207
|
+
* covers nothing: D8 reads it as `could-not-judge`, never as zero coverage.
|
|
208
|
+
*/
|
|
209
|
+
evalsUnreadable?: string;
|
|
204
210
|
/**
|
|
205
211
|
* The `serverInfo` object the running server returned in its `initialize`
|
|
206
212
|
* response — the same non-authenticated discovery handshake a client reads
|