@dsiloed/silo-link 1.14.0 → 1.16.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/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +21 -5
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/file-log.d.ts +21 -0
- package/dist/cli/file-log.d.ts.map +1 -0
- package/dist/cli/file-log.js +52 -0
- package/dist/cli/file-log.js.map +1 -0
- package/dist/config/config-manager.d.ts +13 -0
- package/dist/config/config-manager.d.ts.map +1 -1
- package/dist/config/config-manager.js +32 -0
- package/dist/config/config-manager.js.map +1 -1
- package/dist/config/jwt-generator.d.ts +7 -12
- package/dist/config/jwt-generator.d.ts.map +1 -1
- package/dist/config/jwt-generator.js +42 -10
- package/dist/config/jwt-generator.js.map +1 -1
- package/dist/core/agent-launcher.d.ts +8 -0
- package/dist/core/agent-launcher.d.ts.map +1 -1
- package/dist/core/auto-updater.d.ts +9 -2
- package/dist/core/auto-updater.d.ts.map +1 -1
- package/dist/core/auto-updater.js +57 -36
- package/dist/core/auto-updater.js.map +1 -1
- package/dist/core/base-tmux-launcher.d.ts +29 -0
- package/dist/core/base-tmux-launcher.d.ts.map +1 -1
- package/dist/core/base-tmux-launcher.js +78 -2
- package/dist/core/base-tmux-launcher.js.map +1 -1
- package/dist/core/bridge.d.ts +28 -0
- package/dist/core/bridge.d.ts.map +1 -1
- package/dist/core/bridge.js +151 -5
- package/dist/core/bridge.js.map +1 -1
- package/dist/core/claude-launcher.d.ts +4 -0
- package/dist/core/claude-launcher.d.ts.map +1 -1
- package/dist/core/claude-launcher.js +8 -0
- package/dist/core/claude-launcher.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +50 -0
- package/dist/mcp/server.js.map +1 -1
- package/package.json +1 -1
package/dist/mcp/server.js
CHANGED
|
@@ -10,6 +10,19 @@ import { registerTools } from './tools/register-tools.js';
|
|
|
10
10
|
const __filename = fileURLToPath(import.meta.url);
|
|
11
11
|
const __dirname = path.dirname(__filename);
|
|
12
12
|
const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf-8'));
|
|
13
|
+
/**
|
|
14
|
+
* True when an error means the code/modules this process was started from are
|
|
15
|
+
* gone or broken on disk (install swapped underneath us). Express/body-parser
|
|
16
|
+
* lazily load pieces (e.g. iconv-lite's encodings) on the first request that
|
|
17
|
+
* needs them, so this surfaces as a request error long after startup.
|
|
18
|
+
*/
|
|
19
|
+
export function isModuleLoadFailure(err) {
|
|
20
|
+
if (!(err instanceof Error))
|
|
21
|
+
return false;
|
|
22
|
+
const code = err.code;
|
|
23
|
+
return code === 'MODULE_NOT_FOUND' || code === 'ERR_MODULE_NOT_FOUND'
|
|
24
|
+
|| /Cannot find module/i.test(err.message);
|
|
25
|
+
}
|
|
13
26
|
export class SiloLinkMcpServer {
|
|
14
27
|
app;
|
|
15
28
|
server = null;
|
|
@@ -102,8 +115,45 @@ export class SiloLinkMcpServer {
|
|
|
102
115
|
uptime_seconds: uptimeSeconds,
|
|
103
116
|
active_sessions: this.deps.sessionManager.getAll().length,
|
|
104
117
|
cable: this.deps.cableClient.getState(),
|
|
118
|
+
// "Can this daemon actually parse an MCP POST?" — GET /health can't
|
|
119
|
+
// prove that (it parses no body), which let a broken-install daemon
|
|
120
|
+
// look healthy for hours. See POST /probe.
|
|
121
|
+
mcp_post: this.deps.probeStatus?.() ?? 'unknown',
|
|
105
122
|
});
|
|
106
123
|
});
|
|
124
|
+
/**
|
|
125
|
+
* POST /probe — exercises the JSON body-parse path (the same middleware
|
|
126
|
+
* every MCP call goes through). Two jobs:
|
|
127
|
+
* 1. Warm-up: the bridge hits this once at startup, forcing body-parser/
|
|
128
|
+
* iconv-lite to load their lazy pieces while the install is intact —
|
|
129
|
+
* so a later file swap can't break already-cached codecs.
|
|
130
|
+
* 2. Canary: the bridge re-probes periodically; if the install has been
|
|
131
|
+
* replaced underneath us, the parse throws MODULE_NOT_FOUND, the error
|
|
132
|
+
* middleware below reports it, and the daemon self-restarts instead of
|
|
133
|
+
* zombie-ing with a green /health.
|
|
134
|
+
*/
|
|
135
|
+
this.app.post('/probe', (req, res) => {
|
|
136
|
+
res.json({ ok: true, echoed: req.body ?? null });
|
|
137
|
+
});
|
|
138
|
+
// Error middleware (must be registered last, must keep 4 args). A module-
|
|
139
|
+
// load failure here means our files were swapped out from under us — every
|
|
140
|
+
// subsequent MCP POST would fail the same way, so escalate for self-heal.
|
|
141
|
+
this.app.use((err, _req, res, _next) => {
|
|
142
|
+
if (isModuleLoadFailure(err)) {
|
|
143
|
+
console.error(`[MCP] FATAL: request failed loading a module — the installed package has likely been replaced/deleted under this running daemon: ${err.message}`);
|
|
144
|
+
this.deps.onModuleLoadFailure?.(err);
|
|
145
|
+
if (!res.headersSent) {
|
|
146
|
+
res.status(503).json({ error: 'silolink install replaced under running daemon; restarting', detail: err.message });
|
|
147
|
+
}
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
const status = err.status
|
|
151
|
+
?? err.statusCode
|
|
152
|
+
?? 500;
|
|
153
|
+
if (!res.headersSent) {
|
|
154
|
+
res.status(status).json({ error: err.message });
|
|
155
|
+
}
|
|
156
|
+
});
|
|
107
157
|
}
|
|
108
158
|
/**
|
|
109
159
|
* Bind the MCP server, preferring `preferredPort`. If that port is already
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAUzE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|