@vitronai/alethia 0.7.1 → 0.8.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 +51 -2
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +451 -41
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/alethia/SKILL.md +12 -0
package/README.md
CHANGED
|
@@ -34,6 +34,18 @@ The cockpit is an **oversight surface**, not an authoring IDE. Humans do not wri
|
|
|
34
34
|
|
|
35
35
|
## Install
|
|
36
36
|
|
|
37
|
+
**Fastest path (Claude Code users):**
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
mkdir -p ~/.claude/skills/alethia && \
|
|
41
|
+
curl -fsSL https://raw.githubusercontent.com/vitron-ai/alethia-mcp/main/skills/alethia/SKILL.md \
|
|
42
|
+
-o ~/.claude/skills/alethia/SKILL.md
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Restart Claude Code. Next time you ask to test a page or run a compliance audit, Claude notices the Alethia tools aren't wired up yet and walks you through installing the bridge with verbatim commands. No README hunt, no mcp.json editing from memory — the skill bootstraps itself.
|
|
46
|
+
|
|
47
|
+
**Traditional path (Claude Desktop / Cursor / Cline / Continue, or if you prefer doing it yourself):**
|
|
48
|
+
|
|
37
49
|
```bash
|
|
38
50
|
npm install -g @vitronai/alethia
|
|
39
51
|
```
|
|
@@ -125,13 +137,15 @@ If you'd rather never manually upgrade, replace the command with:
|
|
|
125
137
|
"mcpServers": {
|
|
126
138
|
"alethia": {
|
|
127
139
|
"command": "npx",
|
|
128
|
-
"args": ["-y", "@vitronai/alethia"]
|
|
140
|
+
"args": ["-y", "@vitronai/alethia@latest"]
|
|
129
141
|
}
|
|
130
142
|
}
|
|
131
143
|
}
|
|
132
144
|
```
|
|
133
145
|
|
|
134
|
-
`npx -y`
|
|
146
|
+
**The `@latest` suffix matters.** Without it, `npx -y` uses whatever it cached on the first run — could be weeks out of date. With `@latest`, npx checks the registry each spawn and pulls a newer version if one exists.
|
|
147
|
+
|
|
148
|
+
Other trade-offs vs. a global install:
|
|
135
149
|
|
|
136
150
|
- **First-spawn latency:** adds 10–30s on a cold npm cache miss.
|
|
137
151
|
- **Supply-chain posture:** every spawn immediately pulls whatever the npm registry is serving. A global install shields you until you explicitly upgrade. For signed-evidence-sensitive use (regulated surfaces, compliance work), the global install is the safer default.
|
|
@@ -278,6 +292,9 @@ alethia-mcp --debug Run with debug logging on stderr
|
|
|
278
292
|
| `ALETHIA_HIGHLIGHTS` | (unset) | Set to `1` to overlay per-step highlights on the target |
|
|
279
293
|
| `ALETHIA_RUNTIME_VERSION` | (unset) | Pin the bridge to a specific runtime version (e.g. `0.4.0`). By default the bridge queries GitHub Releases for the current latest runtime and downloads that. Use this for reproducible CI, bisection, or deliberately staying on an older runtime. |
|
|
280
294
|
| `ALETHIA_RUNTIME_DIR` | `~/.alethia/runtime` | Where the auto-installed runtime lives. Override for sandboxing or to stash multiple installs. |
|
|
295
|
+
| `ALETHIA_BRIDGE_VERSION` | (unset) | Pin the bridge itself to a specific version (e.g. `0.8.0`). Skips the npm auto-update check. For reproducible CI or deliberate stay-behind. |
|
|
296
|
+
| `ALETHIA_BRIDGE_SRI` | (unset) | Require any auto-downloaded bridge tarball to match this `sha512-<base64>` integrity string. Rejects everything else. For high-assurance deployments. |
|
|
297
|
+
| `ALETHIA_SKIP_AUTO_UPDATE` | (unset) | Set to `1` to disable the bridge's npm registry check entirely. The bridge runs as-installed, no background fetches. |
|
|
281
298
|
|
|
282
299
|
---
|
|
283
300
|
|
|
@@ -287,7 +304,15 @@ alethia-mcp --debug Run with debug logging on stderr
|
|
|
287
304
|
- The runtime listens on `127.0.0.1:47432` over loopback JSON-RPC. No cloud calls, no telemetry.
|
|
288
305
|
- The runtime auto-installs on first use from signed GitHub releases (Ed25519-verified).
|
|
289
306
|
- **The bridge asks GitHub Releases what the current runtime version is on first start** (cached 1h). No RUNTIME_VERSION pin lives in the bridge source, so a globally-installed bridge keeps pulling the current runtime as new ones ship. Pin to a specific version with `ALETHIA_RUNTIME_VERSION=x.y.z` for reproducible CI or bisection.
|
|
307
|
+
- **The bridge also auto-updates itself** (since 0.8.0). On startup it checks npm for a newer published version, verifies the tarball against the SHA-512 integrity hash npm serves, and installs it to `~/.alethia/bridge/<version>/`. Next spawn bootstraps into the new version. Auto-update respects:
|
|
308
|
+
- **Major-version gate:** never crosses `1.x → 2.x` without explicit user action
|
|
309
|
+
- **Rollback:** a new version only becomes "trusted" after it successfully completes an MCP handshake; versions that crash before that get quarantined after 3 attempts
|
|
310
|
+
- **Pin:** `ALETHIA_BRIDGE_VERSION=x.y.z` skips auto-update
|
|
311
|
+
- **Integrity pin:** `ALETHIA_BRIDGE_SRI=sha512-...` rejects anything else
|
|
312
|
+
- **Opt-out:** `ALETHIA_SKIP_AUTO_UPDATE=1` disables entirely
|
|
313
|
+
- **The Claude Code skill auto-refreshes too** (since 0.8.0). The bundled `SKILL.md` travels with every bridge release; each spawn compares it to `~/.claude/skills/alethia/SKILL.md` and overwrites if stale. New playbooks reach every user on their next spawn without any manual step.
|
|
290
314
|
- The cockpit is visible by default — it's the oversight surface where each step is highlighted live. Set `ALETHIA_HEADLESS=1` to hide, or toggle mid-session with `alethia_show_cockpit` / `alethia_hide_cockpit`.
|
|
315
|
+
- Evidence packs returned by `alethia_export_session` are wrapped with bridge name+version and skill content hashes (installed + bundled) for chain-of-custody reconstruction.
|
|
291
316
|
|
|
292
317
|
---
|
|
293
318
|
|
|
@@ -314,6 +339,30 @@ A sensitive field was detected (password, token, credit card, etc.). Override wi
|
|
|
314
339
|
3. Restart your MCP client.
|
|
315
340
|
4. Set `ALETHIA_DEBUG=1` to log bridge traffic on stderr.
|
|
316
341
|
|
|
342
|
+
### "Server transport closed unexpectedly" / bridge exits silently on spawn
|
|
343
|
+
|
|
344
|
+
Your client is spawning a stale bridge. Two likely causes:
|
|
345
|
+
|
|
346
|
+
**If you're using `npx -y @vitronai/alethia`** (without `@latest`), npx is serving a cached version that may predate the fix for this class of bug. Either add the `@latest` suffix to your config args or clear the npx cache:
|
|
347
|
+
|
|
348
|
+
```bash
|
|
349
|
+
rm -rf ~/.npm/_npx
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
Then fully restart your MCP client.
|
|
353
|
+
|
|
354
|
+
**If you're using a global install**, your globally installed bridge is old. Check and upgrade:
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
alethia-mcp --version
|
|
358
|
+
# If not the latest published version:
|
|
359
|
+
npm install -g @vitronai/alethia@latest
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
Then fully restart your MCP client (Cmd-Q on macOS, not just close the window).
|
|
363
|
+
|
|
364
|
+
Every 0.6.1+ bridge is symlink-spawn-safe — if you're on a current version and still see this, open an issue at https://github.com/vitron-ai/alethia-mcp/issues.
|
|
365
|
+
|
|
317
366
|
---
|
|
318
367
|
|
|
319
368
|
## Go deeper
|
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,16 @@
|
|
|
18
18
|
* Patent Pending — U.S. Application No. 19/571,437. The MIT license on this
|
|
19
19
|
* MCP bridge does NOT grant any patent license under U.S. App 19/571,437.
|
|
20
20
|
*/
|
|
21
|
+
export declare const semverParts: (v: string) => [number, number, number];
|
|
22
|
+
export declare const compareSemver: (a: string, b: string) => number;
|
|
23
|
+
export declare const isMajorBoundaryCrossed: (from: string, to: string) => boolean;
|
|
24
|
+
export declare const selectBootstrapTarget: () => {
|
|
25
|
+
version: string;
|
|
26
|
+
jsPath: string;
|
|
27
|
+
installDir: string;
|
|
28
|
+
} | null;
|
|
21
29
|
export declare const __setLatestVersionFetcherForTests: (fn: (() => Promise<string | null>) | null) => void;
|
|
30
|
+
export declare const __BRIDGE_INSTALL_ROOT_FOR_TESTS: () => string;
|
|
22
31
|
export declare const resolveRuntimeVersion: () => Promise<string>;
|
|
23
32
|
export declare const getArtifactName: (runtimeVersion: string) => string | null;
|
|
24
33
|
export declare const getGithubReleaseBase: (runtimeVersion: string) => string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG;AA6HH,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAO9D,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAMpD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,EAAE,IAAI,MAAM,KAAG,OACrB,CAAC;AAkH9C,eAAO,MAAM,qBAAqB,QAAO;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IA8ClG,CAAC;AAkOF,eAAO,MAAM,iCAAiC,GAAI,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,KAAG,IAE7F,CAAC;AAIF,eAAO,MAAM,+BAA+B,QAAO,MAA6B,CAAC;AAEjF,eAAO,MAAM,qBAAqB,QAAa,OAAO,CAAC,MAAM,CAmC5D,CAAC;AAuDF,eAAO,MAAM,eAAe,GAAI,gBAAgB,MAAM,KAAG,MAAM,GAAG,IAiBjE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,gBAAgB,MAAM,KAAG,MACe,CAAC;AAsF9E,eAAO,MAAM,+BAA+B,GAAI,mBAAwB,KAAG,MAAM,GAAG,IAsBnF,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -54,6 +54,13 @@ const ALETHIA_HOST = process.env.ALETHIA_HOST ?? '127.0.0.1';
|
|
|
54
54
|
const ALETHIA_PORT = Number(process.env.ALETHIA_PORT ?? 47432);
|
|
55
55
|
const ALETHIA_TIMEOUT_MS = Number(process.env.ALETHIA_TIMEOUT_MS ?? 60_000);
|
|
56
56
|
const DEBUG = process.env.ALETHIA_DEBUG === '1' || process.argv.includes('--debug');
|
|
57
|
+
// Read update-related env vars via accessors so tests (and long-running
|
|
58
|
+
// sessions where env changes mid-flight) pick up the current value. The
|
|
59
|
+
// module-const pattern would capture these once at load and desync.
|
|
60
|
+
const skipAutoUpdate = () => process.env.ALETHIA_SKIP_AUTO_UPDATE === '1';
|
|
61
|
+
const isBootstrappedChild = () => process.env.ALETHIA_BOOTSTRAPPED === '1';
|
|
62
|
+
const bridgeSriPin = () => process.env.ALETHIA_BRIDGE_SRI ?? null;
|
|
63
|
+
const bridgeVersionPin = () => process.env.ALETHIA_BRIDGE_VERSION ?? null;
|
|
57
64
|
const debug = (...args) => {
|
|
58
65
|
if (DEBUG) {
|
|
59
66
|
process.stderr.write(`[alethia-mcp] ${args.map(String).join(' ')}\n`);
|
|
@@ -70,6 +77,342 @@ const isSkillInstalled = () => {
|
|
|
70
77
|
return false;
|
|
71
78
|
}
|
|
72
79
|
};
|
|
80
|
+
// Paths used by skill auto-refresh. The bundled skill ships with each
|
|
81
|
+
// published @vitronai/alethia tarball; the installed skill lives in the
|
|
82
|
+
// user's ~/.claude/skills. When the two diverge, the installed copy is
|
|
83
|
+
// stale — we overwrite it with the bundled version on bridge startup.
|
|
84
|
+
const BUNDLED_SKILL_PATH = resolve(__dirname, '..', 'skills', 'alethia', 'SKILL.md');
|
|
85
|
+
const INSTALLED_SKILL_PATH = join(homedir(), '.claude', 'skills', 'alethia', 'SKILL.md');
|
|
86
|
+
// Hash a skill file for content-address comparison. SHA-256 is overkill for
|
|
87
|
+
// this (no adversary to defend against at this layer — both files come from
|
|
88
|
+
// trusted channels), but it's the same primitive we use elsewhere and the
|
|
89
|
+
// cost is nanoseconds for a ~10KB markdown file. Returns null if the file
|
|
90
|
+
// doesn't exist or can't be read.
|
|
91
|
+
const hashSkillFile = (path) => {
|
|
92
|
+
try {
|
|
93
|
+
const content = readFileSync(path);
|
|
94
|
+
return createHash('sha256').update(content).digest('hex');
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
// Called on every bridge startup. If the installed skill is missing or
|
|
101
|
+
// differs from the bundled one, copy the bundled version over. Silently
|
|
102
|
+
// best-effort — a failed refresh should never block the MCP server from
|
|
103
|
+
// starting. Writes a single stderr line when a refresh happens so users
|
|
104
|
+
// running `--debug` can see the update; silent on the no-op path.
|
|
105
|
+
// ---------------------------------------------------------------------------
|
|
106
|
+
// Bridge self-update from the npm registry.
|
|
107
|
+
//
|
|
108
|
+
// Philosophy: the bridge auto-updates from the same signed distribution
|
|
109
|
+
// channel a user would install from manually. Trust root = npm registry.
|
|
110
|
+
// No new trust decision vs. `npm install -g`.
|
|
111
|
+
//
|
|
112
|
+
// Mitigations layered on top:
|
|
113
|
+
// - Integrity (SRI) verification against the hash npm serves in the
|
|
114
|
+
// packument. If the tarball doesn't match, refuse.
|
|
115
|
+
// - Major-version gate: 0.x→0.y is fine; 1.x→2.x requires explicit user
|
|
116
|
+
// action. Prevents "hijacker publishes v99.0.0" taking over.
|
|
117
|
+
// - Version pin: ALETHIA_BRIDGE_VERSION=x.y.z skips auto-update entirely.
|
|
118
|
+
// - SRI pin: ALETHIA_BRIDGE_SRI=sha512-... requires a specific hash.
|
|
119
|
+
// - Opt-out: ALETHIA_skipAutoUpdate()=1 disables the whole thing.
|
|
120
|
+
// - Rollback: a new version only becomes "trusted" after a successful
|
|
121
|
+
// MCP initialize handshake. Versions that crash before that get
|
|
122
|
+
// quarantined after 3 failed attempts.
|
|
123
|
+
// ---------------------------------------------------------------------------
|
|
124
|
+
const BRIDGE_INSTALL_ROOT = join(homedir(), '.alethia', 'bridge');
|
|
125
|
+
const BRIDGE_REGISTRY_CACHE = join(homedir(), '.alethia', '.bridge-registry-cache');
|
|
126
|
+
const BRIDGE_REGISTRY_TTL_MS = 60 * 60 * 1000; // 1h
|
|
127
|
+
const MAX_BOOTSTRAP_ATTEMPTS = 3;
|
|
128
|
+
// Parse "x.y.z" or "x.y.z-pre.N". Returns [major, minor, patch] ints.
|
|
129
|
+
export const semverParts = (v) => {
|
|
130
|
+
const core = v.split('-')[0] ?? v;
|
|
131
|
+
const parts = core.split('.').map((n) => {
|
|
132
|
+
const x = parseInt(n, 10);
|
|
133
|
+
return Number.isFinite(x) ? x : 0;
|
|
134
|
+
});
|
|
135
|
+
return [parts[0] ?? 0, parts[1] ?? 0, parts[2] ?? 0];
|
|
136
|
+
};
|
|
137
|
+
export const compareSemver = (a, b) => {
|
|
138
|
+
const [aM, aN, aP] = semverParts(a);
|
|
139
|
+
const [bM, bN, bP] = semverParts(b);
|
|
140
|
+
if (aM !== bM)
|
|
141
|
+
return aM - bM;
|
|
142
|
+
if (aN !== bN)
|
|
143
|
+
return aN - bN;
|
|
144
|
+
return aP - bP;
|
|
145
|
+
};
|
|
146
|
+
export const isMajorBoundaryCrossed = (from, to) => semverParts(from)[0] !== semverParts(to)[0];
|
|
147
|
+
const readRegistryCache = () => {
|
|
148
|
+
try {
|
|
149
|
+
const raw = JSON.parse(readFileSync(BRIDGE_REGISTRY_CACHE, 'utf8'));
|
|
150
|
+
if (typeof raw.fetchedAt === 'number' && raw.info && typeof raw.info.version === 'string')
|
|
151
|
+
return raw;
|
|
152
|
+
}
|
|
153
|
+
catch { /* no cache */ }
|
|
154
|
+
return null;
|
|
155
|
+
};
|
|
156
|
+
const writeRegistryCache = (info) => {
|
|
157
|
+
try {
|
|
158
|
+
mkdirSync(dirname(BRIDGE_REGISTRY_CACHE), { recursive: true });
|
|
159
|
+
writeFileSync(BRIDGE_REGISTRY_CACHE, JSON.stringify({ fetchedAt: Date.now(), info }));
|
|
160
|
+
}
|
|
161
|
+
catch { /* best-effort */ }
|
|
162
|
+
};
|
|
163
|
+
const fetchPackumentLatest = () => new Promise((resolveFetch) => {
|
|
164
|
+
const req = https.get(`https://registry.npmjs.org/${PKG_NAME}/latest`, { timeout: 3000, headers: { accept: 'application/json', 'user-agent': `${PKG_NAME}/${PKG_VERSION}` } }, (res) => {
|
|
165
|
+
if (res.statusCode !== 200) {
|
|
166
|
+
res.resume();
|
|
167
|
+
return resolveFetch(null);
|
|
168
|
+
}
|
|
169
|
+
let body = '';
|
|
170
|
+
res.setEncoding('utf8');
|
|
171
|
+
res.on('data', (c) => { body += c; if (body.length > 256 * 1024)
|
|
172
|
+
res.destroy(); });
|
|
173
|
+
res.on('end', () => {
|
|
174
|
+
try {
|
|
175
|
+
const pkg = JSON.parse(body);
|
|
176
|
+
if (typeof pkg.version !== 'string' || typeof pkg.dist?.tarball !== 'string' || typeof pkg.dist?.integrity !== 'string') {
|
|
177
|
+
return resolveFetch(null);
|
|
178
|
+
}
|
|
179
|
+
resolveFetch({ version: pkg.version, tarballUrl: pkg.dist.tarball, integrity: pkg.dist.integrity });
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
resolveFetch(null);
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
req.on('error', () => resolveFetch(null));
|
|
187
|
+
req.on('timeout', () => { req.destroy(); resolveFetch(null); });
|
|
188
|
+
});
|
|
189
|
+
// Download a tarball to a temp path. Returns the path on success, null on error.
|
|
190
|
+
const downloadTarball = (url, destPath) => new Promise((resolveDownload) => {
|
|
191
|
+
const doGet = (u, redirects = 0) => {
|
|
192
|
+
if (redirects > 5)
|
|
193
|
+
return resolveDownload(false);
|
|
194
|
+
https.get(u, (res) => {
|
|
195
|
+
if (res.statusCode && res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
|
|
196
|
+
res.resume();
|
|
197
|
+
return doGet(res.headers.location, redirects + 1);
|
|
198
|
+
}
|
|
199
|
+
if (res.statusCode !== 200) {
|
|
200
|
+
res.resume();
|
|
201
|
+
return resolveDownload(false);
|
|
202
|
+
}
|
|
203
|
+
const ws = createWriteStream(destPath);
|
|
204
|
+
res.pipe(ws);
|
|
205
|
+
ws.on('finish', () => resolveDownload(true));
|
|
206
|
+
ws.on('error', () => resolveDownload(false));
|
|
207
|
+
res.on('error', () => resolveDownload(false));
|
|
208
|
+
}).on('error', () => resolveDownload(false));
|
|
209
|
+
};
|
|
210
|
+
doGet(url);
|
|
211
|
+
});
|
|
212
|
+
// Verify an SRI integrity string against a file. SRI format: "sha512-<base64>".
|
|
213
|
+
// npm serves sha512 for all modern packages. Reject other algorithms — an
|
|
214
|
+
// attacker shouldn't be able to downgrade us to sha1.
|
|
215
|
+
const verifySri = (filePath, sri) => {
|
|
216
|
+
const match = sri.match(/^sha512-([A-Za-z0-9+/=]+)$/);
|
|
217
|
+
if (!match)
|
|
218
|
+
return false;
|
|
219
|
+
const expectedB64 = match[1];
|
|
220
|
+
try {
|
|
221
|
+
const actualB64 = createHash('sha512').update(readFileSync(filePath)).digest('base64');
|
|
222
|
+
return actualB64 === expectedB64;
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
const readVersionDirState = (versionDir) => {
|
|
229
|
+
return {
|
|
230
|
+
verified: existsSync(join(versionDir, '.verified')),
|
|
231
|
+
attempts: (() => {
|
|
232
|
+
try {
|
|
233
|
+
const raw = readFileSync(join(versionDir, '.bootstrap-attempts'), 'utf8');
|
|
234
|
+
const n = parseInt(raw, 10);
|
|
235
|
+
return Number.isFinite(n) ? n : 0;
|
|
236
|
+
}
|
|
237
|
+
catch {
|
|
238
|
+
return 0;
|
|
239
|
+
}
|
|
240
|
+
})(),
|
|
241
|
+
};
|
|
242
|
+
};
|
|
243
|
+
const incrementBootstrapAttempts = (versionDir) => {
|
|
244
|
+
const current = readVersionDirState(versionDir).attempts;
|
|
245
|
+
const next = current + 1;
|
|
246
|
+
try {
|
|
247
|
+
writeFileSync(join(versionDir, '.bootstrap-attempts'), String(next));
|
|
248
|
+
}
|
|
249
|
+
catch { /* best effort */ }
|
|
250
|
+
return next;
|
|
251
|
+
};
|
|
252
|
+
// Mark the CURRENT running version as verified-working. Called after we
|
|
253
|
+
// produce a valid MCP initialize response. Idempotent.
|
|
254
|
+
const markCurrentVersionVerified = () => {
|
|
255
|
+
// __dirname is .../dist; parent is the install dir for this version.
|
|
256
|
+
const currentInstallDir = resolve(__dirname, '..');
|
|
257
|
+
// If we're running from the globally-installed npm path (not from
|
|
258
|
+
// ~/.alethia/bridge/<version>/), there's nothing to mark — the global
|
|
259
|
+
// install is implicitly trusted.
|
|
260
|
+
if (!currentInstallDir.startsWith(BRIDGE_INSTALL_ROOT))
|
|
261
|
+
return;
|
|
262
|
+
try {
|
|
263
|
+
writeFileSync(join(currentInstallDir, '.verified'), new Date().toISOString());
|
|
264
|
+
}
|
|
265
|
+
catch { /* best effort */ }
|
|
266
|
+
};
|
|
267
|
+
// Determine which bridge version THIS spawn should actually run. May return:
|
|
268
|
+
// - null: run ourselves (we're the newest trusted option)
|
|
269
|
+
// - a path: exec into this dist/index.js instead
|
|
270
|
+
// Honors env pins + rollback + major-version gate.
|
|
271
|
+
export const selectBootstrapTarget = () => {
|
|
272
|
+
if (isBootstrappedChild())
|
|
273
|
+
return null; // already a bootstrap child; don't recurse
|
|
274
|
+
if (skipAutoUpdate())
|
|
275
|
+
return null;
|
|
276
|
+
let candidates = [];
|
|
277
|
+
try {
|
|
278
|
+
candidates = readdirSync(BRIDGE_INSTALL_ROOT, { withFileTypes: true })
|
|
279
|
+
.filter(d => d.isDirectory())
|
|
280
|
+
.map(d => d.name)
|
|
281
|
+
.filter(name => /^\d+\.\d+\.\d+/.test(name));
|
|
282
|
+
}
|
|
283
|
+
catch {
|
|
284
|
+
return null; // no install root yet
|
|
285
|
+
}
|
|
286
|
+
// If user pinned a specific version, honor it.
|
|
287
|
+
const pin = bridgeVersionPin();
|
|
288
|
+
if (pin) {
|
|
289
|
+
if (candidates.includes(pin)) {
|
|
290
|
+
const dir = join(BRIDGE_INSTALL_ROOT, pin);
|
|
291
|
+
const js = join(dir, 'dist', 'index.js');
|
|
292
|
+
if (existsSync(js) && pin !== PKG_VERSION) {
|
|
293
|
+
return { version: pin, jsPath: js, installDir: dir };
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return null; // pin is us or pin doesn't exist → run ourselves
|
|
297
|
+
}
|
|
298
|
+
// Sort descending by semver, pick the newest that's (a) trusted OR
|
|
299
|
+
// (b) untrusted but under the retry threshold, AND (c) doesn't cross
|
|
300
|
+
// a major boundary from our own version.
|
|
301
|
+
candidates.sort((a, b) => compareSemver(b, a));
|
|
302
|
+
for (const version of candidates) {
|
|
303
|
+
if (compareSemver(version, PKG_VERSION) <= 0)
|
|
304
|
+
continue; // not newer
|
|
305
|
+
if (isMajorBoundaryCrossed(PKG_VERSION, version))
|
|
306
|
+
continue; // gate
|
|
307
|
+
const dir = join(BRIDGE_INSTALL_ROOT, version);
|
|
308
|
+
const js = join(dir, 'dist', 'index.js');
|
|
309
|
+
if (!existsSync(js))
|
|
310
|
+
continue;
|
|
311
|
+
const state = readVersionDirState(dir);
|
|
312
|
+
if (state.verified)
|
|
313
|
+
return { version, jsPath: js, installDir: dir };
|
|
314
|
+
if (state.attempts >= MAX_BOOTSTRAP_ATTEMPTS)
|
|
315
|
+
continue; // quarantined
|
|
316
|
+
// Untrusted but under threshold — try it, and increment attempts
|
|
317
|
+
// BEFORE exec so a crash-during-init is properly counted.
|
|
318
|
+
incrementBootstrapAttempts(dir);
|
|
319
|
+
return { version, jsPath: js, installDir: dir };
|
|
320
|
+
}
|
|
321
|
+
return null;
|
|
322
|
+
};
|
|
323
|
+
// Fire-and-forget: check npm for a newer version, download+verify+install if
|
|
324
|
+
// one exists. Runs after the bridge is up and serving; doesn't block MCP
|
|
325
|
+
// client traffic. The new version takes effect on next spawn.
|
|
326
|
+
const backgroundCheckForNewBridge = async () => {
|
|
327
|
+
if (skipAutoUpdate() || isBootstrappedChild() || bridgeVersionPin())
|
|
328
|
+
return;
|
|
329
|
+
const cached = readRegistryCache();
|
|
330
|
+
const fresh = cached && Date.now() - cached.fetchedAt < BRIDGE_REGISTRY_TTL_MS;
|
|
331
|
+
const info = fresh ? cached.info : await fetchPackumentLatest();
|
|
332
|
+
if (!info)
|
|
333
|
+
return;
|
|
334
|
+
if (!fresh)
|
|
335
|
+
writeRegistryCache(info);
|
|
336
|
+
if (compareSemver(info.version, PKG_VERSION) <= 0)
|
|
337
|
+
return; // not newer
|
|
338
|
+
if (isMajorBoundaryCrossed(PKG_VERSION, info.version)) {
|
|
339
|
+
process.stderr.write(`[alethia] newer bridge ${info.version} available but crosses a major version boundary from ${PKG_VERSION}. ` +
|
|
340
|
+
`Not auto-updating. Run \`npm install -g ${PKG_NAME}@${info.version}\` to accept the upgrade manually.\n`);
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
// If the user pinned an integrity hash, refuse anything else.
|
|
344
|
+
const sriPin = bridgeSriPin();
|
|
345
|
+
if (sriPin && sriPin !== info.integrity) {
|
|
346
|
+
process.stderr.write(`[alethia] refusing to auto-update to ${info.version}: integrity mismatch with ALETHIA_BRIDGE_SRI pin.\n`);
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
const targetDir = join(BRIDGE_INSTALL_ROOT, info.version);
|
|
350
|
+
if (existsSync(join(targetDir, 'dist', 'index.js')))
|
|
351
|
+
return; // already installed
|
|
352
|
+
mkdirSync(BRIDGE_INSTALL_ROOT, { recursive: true });
|
|
353
|
+
const tarballPath = join(BRIDGE_INSTALL_ROOT, `${info.version}.tgz`);
|
|
354
|
+
const downloaded = await downloadTarball(info.tarballUrl, tarballPath);
|
|
355
|
+
if (!downloaded) {
|
|
356
|
+
try {
|
|
357
|
+
rmSync(tarballPath, { force: true });
|
|
358
|
+
}
|
|
359
|
+
catch { /* ignore */ }
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
if (!verifySri(tarballPath, info.integrity)) {
|
|
363
|
+
process.stderr.write(`[alethia] downloaded ${info.version} tarball FAILED integrity check — refusing to install.\n`);
|
|
364
|
+
try {
|
|
365
|
+
rmSync(tarballPath, { force: true });
|
|
366
|
+
}
|
|
367
|
+
catch { /* ignore */ }
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
// Extract the tarball. npm tarballs contain a `package/` prefix; strip it so
|
|
371
|
+
// we end up with dist/, skills/, package.json directly under <version>/.
|
|
372
|
+
mkdirSync(targetDir, { recursive: true });
|
|
373
|
+
try {
|
|
374
|
+
execSync(`tar -xzf "${tarballPath}" -C "${targetDir}" --strip-components=1`, { stdio: 'pipe' });
|
|
375
|
+
}
|
|
376
|
+
catch {
|
|
377
|
+
process.stderr.write(`[alethia] failed to extract ${info.version} tarball.\n`);
|
|
378
|
+
try {
|
|
379
|
+
rmSync(targetDir, { recursive: true, force: true });
|
|
380
|
+
}
|
|
381
|
+
catch { /* ignore */ }
|
|
382
|
+
try {
|
|
383
|
+
rmSync(tarballPath, { force: true });
|
|
384
|
+
}
|
|
385
|
+
catch { /* ignore */ }
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
try {
|
|
389
|
+
rmSync(tarballPath, { force: true });
|
|
390
|
+
}
|
|
391
|
+
catch { /* ignore */ }
|
|
392
|
+
process.stderr.write(`[alethia] installed bridge ${info.version} to ${targetDir}. ` +
|
|
393
|
+
`Takes effect on next MCP client spawn.\n`);
|
|
394
|
+
};
|
|
395
|
+
const refreshSkillIfStale = () => {
|
|
396
|
+
const bundledHash = hashSkillFile(BUNDLED_SKILL_PATH);
|
|
397
|
+
if (!bundledHash)
|
|
398
|
+
return 'no-bundle';
|
|
399
|
+
const installedHash = hashSkillFile(INSTALLED_SKILL_PATH);
|
|
400
|
+
if (installedHash === null)
|
|
401
|
+
return 'not-installed';
|
|
402
|
+
if (installedHash === bundledHash)
|
|
403
|
+
return 'already-current';
|
|
404
|
+
// Installed is stale. Overwrite with bundled.
|
|
405
|
+
try {
|
|
406
|
+
mkdirSync(dirname(INSTALLED_SKILL_PATH), { recursive: true });
|
|
407
|
+
writeFileSync(INSTALLED_SKILL_PATH, readFileSync(BUNDLED_SKILL_PATH));
|
|
408
|
+
process.stderr.write(`[alethia] refreshed Claude Code skill at ${INSTALLED_SKILL_PATH} ` +
|
|
409
|
+
`(hash ${installedHash.slice(0, 8)} → ${bundledHash.slice(0, 8)})\n`);
|
|
410
|
+
return 'refreshed';
|
|
411
|
+
}
|
|
412
|
+
catch {
|
|
413
|
+
return 'not-installed';
|
|
414
|
+
}
|
|
415
|
+
};
|
|
73
416
|
// ---------------------------------------------------------------------------
|
|
74
417
|
// Demo server — serves demo/ files on localhost for preview panels
|
|
75
418
|
// ---------------------------------------------------------------------------
|
|
@@ -186,6 +529,9 @@ let _fetcherForTests = null;
|
|
|
186
529
|
export const __setLatestVersionFetcherForTests = (fn) => {
|
|
187
530
|
_fetcherForTests = fn;
|
|
188
531
|
};
|
|
532
|
+
// Test hooks for bridge self-update. Tests can swap the packument fetcher
|
|
533
|
+
// and inspect the install root without hitting the network.
|
|
534
|
+
export const __BRIDGE_INSTALL_ROOT_FOR_TESTS = () => BRIDGE_INSTALL_ROOT;
|
|
189
535
|
export const resolveRuntimeVersion = async () => {
|
|
190
536
|
const pinned = getPinnedRuntimeVersion();
|
|
191
537
|
if (pinned) {
|
|
@@ -1171,7 +1517,11 @@ const handle = async (request) => {
|
|
|
1171
1517
|
};
|
|
1172
1518
|
}
|
|
1173
1519
|
if (method === 'notifications/initialized' || method === 'initialized') {
|
|
1174
|
-
//
|
|
1520
|
+
// Client confirmed successful handshake. Mark this bridge version as
|
|
1521
|
+
// trusted so future spawns skip the retry-budget dance. No-op if we
|
|
1522
|
+
// were spawned from the globally-installed npm path (the global install
|
|
1523
|
+
// is implicitly trusted — only ~/.alethia/bridge/<version>/ needs this).
|
|
1524
|
+
markCurrentVersionVerified();
|
|
1175
1525
|
return null;
|
|
1176
1526
|
}
|
|
1177
1527
|
if (method === 'tools/list') {
|
|
@@ -1240,6 +1590,28 @@ const handle = async (request) => {
|
|
|
1240
1590
|
result: wrapMcpScreenshot(httpResponse.result),
|
|
1241
1591
|
};
|
|
1242
1592
|
}
|
|
1593
|
+
// Evidence-pack responses get a bridge-side metadata wrapper with
|
|
1594
|
+
// the bridge version + installed skill content hash. Partners doing
|
|
1595
|
+
// chain-of-custody review can reconstruct the exact
|
|
1596
|
+
// runtime+bridge+skill triple that produced the evidence.
|
|
1597
|
+
if (toolName === 'alethia_export_session' && httpResponse.result && typeof httpResponse.result === 'object') {
|
|
1598
|
+
const wrappedEvidence = {
|
|
1599
|
+
bridge: {
|
|
1600
|
+
name: PKG_NAME,
|
|
1601
|
+
version: PKG_VERSION,
|
|
1602
|
+
},
|
|
1603
|
+
skill: {
|
|
1604
|
+
installedHash: hashSkillFile(INSTALLED_SKILL_PATH),
|
|
1605
|
+
bundledHash: hashSkillFile(BUNDLED_SKILL_PATH),
|
|
1606
|
+
},
|
|
1607
|
+
evidencePack: httpResponse.result,
|
|
1608
|
+
};
|
|
1609
|
+
return {
|
|
1610
|
+
jsonrpc: '2.0',
|
|
1611
|
+
id,
|
|
1612
|
+
result: wrapMcpResult(wrappedEvidence),
|
|
1613
|
+
};
|
|
1614
|
+
}
|
|
1243
1615
|
return {
|
|
1244
1616
|
jsonrpc: '2.0',
|
|
1245
1617
|
id,
|
|
@@ -1334,46 +1706,84 @@ const isMainModule = (() => {
|
|
|
1334
1706
|
}
|
|
1335
1707
|
})();
|
|
1336
1708
|
if (isMainModule) {
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1709
|
+
// BOOTSTRAP HANDOFF: if a newer, signature-verified bridge is installed
|
|
1710
|
+
// at ~/.alethia/bridge/<version>/, exec to it instead of running ourselves.
|
|
1711
|
+
// This is how the self-update mechanism hands off control without requiring
|
|
1712
|
+
// the user to re-run `npm install -g`. Runs BEFORE we attach stdio
|
|
1713
|
+
// handlers — the child process inherits our stdio directly.
|
|
1714
|
+
const bootstrapTarget = selectBootstrapTarget();
|
|
1715
|
+
if (bootstrapTarget) {
|
|
1716
|
+
debug(`bootstrapping to bridge ${bootstrapTarget.version} at ${bootstrapTarget.jsPath}`);
|
|
1717
|
+
const child = spawn(process.execPath, [bootstrapTarget.jsPath], {
|
|
1718
|
+
stdio: 'inherit',
|
|
1719
|
+
env: { ...process.env, ALETHIA_BOOTSTRAPPED: '1' },
|
|
1720
|
+
});
|
|
1721
|
+
child.on('exit', (code, signal) => {
|
|
1722
|
+
if (signal)
|
|
1723
|
+
process.kill(process.pid, signal);
|
|
1724
|
+
else
|
|
1725
|
+
process.exit(code ?? 0);
|
|
1726
|
+
});
|
|
1727
|
+
child.on('error', (err) => {
|
|
1728
|
+
process.stderr.write(`[alethia] bootstrap child failed to spawn: ${err.message}; falling back to bundled bridge\n`);
|
|
1729
|
+
// Fall through — let the current process keep running normally below.
|
|
1730
|
+
});
|
|
1731
|
+
}
|
|
1732
|
+
else {
|
|
1733
|
+
// We're the version that's going to serve this session. Continue with
|
|
1734
|
+
// normal startup: skill refresh, stdio handlers, background update check.
|
|
1735
|
+
debug(`starting ${PKG_NAME} v${PKG_VERSION}, target ${ALETHIA_HOST}:${ALETHIA_PORT}, timeout ${ALETHIA_TIMEOUT_MS}ms`);
|
|
1736
|
+
// Auto-refresh the Claude Code skill if the installed copy differs from
|
|
1737
|
+
// the one bundled with this bridge version. No-op if the user never
|
|
1738
|
+
// installed the skill, or if the two match. This is the "users don't
|
|
1739
|
+
// have to manually re-run --install-skill every time we ship a new
|
|
1740
|
+
// playbook" guarantee.
|
|
1741
|
+
refreshSkillIfStale();
|
|
1742
|
+
// Kick off the background check for a newer bridge release. If one
|
|
1743
|
+
// exists and passes integrity verification, it's downloaded + extracted
|
|
1744
|
+
// to ~/.alethia/bridge/<version>/ and takes effect on next spawn. Does
|
|
1745
|
+
// not block the current session — purely ahead-of-time prep.
|
|
1746
|
+
void backgroundCheckForNewBridge().catch(() => { });
|
|
1747
|
+
process.stdin.setEncoding('utf8');
|
|
1748
|
+
let buffer = '';
|
|
1749
|
+
process.stdin.on('data', (chunk) => {
|
|
1750
|
+
buffer += chunk;
|
|
1751
|
+
while (true) {
|
|
1752
|
+
const nl = buffer.indexOf('\n');
|
|
1753
|
+
if (nl === -1)
|
|
1754
|
+
break;
|
|
1755
|
+
const line = buffer.slice(0, nl).trim();
|
|
1756
|
+
buffer = buffer.slice(nl + 1);
|
|
1757
|
+
if (!line)
|
|
1758
|
+
continue;
|
|
1759
|
+
let request;
|
|
1760
|
+
try {
|
|
1761
|
+
request = JSON.parse(line);
|
|
1762
|
+
}
|
|
1763
|
+
catch {
|
|
1764
|
+
write({ jsonrpc: '2.0', id: null, error: { code: -32700, message: 'Parse error' } });
|
|
1765
|
+
continue;
|
|
1766
|
+
}
|
|
1767
|
+
void handle(request).then(write).catch((err) => {
|
|
1768
|
+
write({ jsonrpc: '2.0', id: request.id ?? null, error: { code: -32000, message: err.message } });
|
|
1769
|
+
});
|
|
1357
1770
|
}
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
};
|
|
1376
|
-
process.on('SIGINT', shutdown('SIGINT'));
|
|
1377
|
-
process.on('SIGTERM', shutdown('SIGTERM'));
|
|
1771
|
+
});
|
|
1772
|
+
process.stdin.on('end', () => {
|
|
1773
|
+
// Set exitCode but DON'T forcibly exit. Pending HTTP responses (e.g. an
|
|
1774
|
+
// in-flight tools/call against an offline runtime) need to write their
|
|
1775
|
+
// error response back before the process is allowed to exit. The Node
|
|
1776
|
+
// event loop will drain naturally and exit with this code once there's
|
|
1777
|
+
// no remaining work.
|
|
1778
|
+
debug('stdin closed, will exit when pending work drains');
|
|
1779
|
+
process.exitCode = 0;
|
|
1780
|
+
});
|
|
1781
|
+
const shutdown = (signal) => () => {
|
|
1782
|
+
debug(`received ${signal}, exiting`);
|
|
1783
|
+
process.exit(0);
|
|
1784
|
+
};
|
|
1785
|
+
process.on('SIGINT', shutdown('SIGINT'));
|
|
1786
|
+
process.on('SIGTERM', shutdown('SIGTERM'));
|
|
1787
|
+
} // end: else branch of bootstrap check
|
|
1378
1788
|
}
|
|
1379
1789
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitronai/alethia",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "MIT-licensed MCP bridge to the Alethia runtime — the patent-pending zero-IPC E2E test runtime built for AI agents. 45x faster than Playwright. Local-first, zero telemetry. WCAG + NIST 800-53 compliance audits built in. Auto-installs on first use.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
package/skills/alethia/SKILL.md
CHANGED
|
@@ -37,6 +37,18 @@ Tell the user, verbatim:
|
|
|
37
37
|
|
|
38
38
|
After the user confirms they've completed those steps and restarted, the `alethia_*` tools will be in your next session's tool list. Retry the user's original request then.
|
|
39
39
|
|
|
40
|
+
**If the user says their MCP client logs show "Server transport closed unexpectedly"** or the Alethia bridge appears to start and then immediately exit: they're almost certainly running a stale cached version. Tell them:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# If your client config uses `npx -y @vitronai/alethia`, clear the npx cache:
|
|
44
|
+
rm -rf ~/.npm/_npx
|
|
45
|
+
|
|
46
|
+
# If you installed globally, upgrade:
|
|
47
|
+
npm install -g @vitronai/alethia@latest
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Then fully quit and relaunch the MCP client (Cmd-Q on macOS). The "Server transport closed unexpectedly" symptom was fixed in bridge 0.6.1; any modern install will not hit it unless something is cached old.
|
|
51
|
+
|
|
40
52
|
## When to use this skill
|
|
41
53
|
|
|
42
54
|
- **"Smoke test this page"** → `alethia_tell` with navigate + asserts
|