@exaudeus/workrail 3.24.2 → 3.24.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/dist/manifest.json +4 -4
- package/dist/mcp-server.d.ts +1 -0
- package/dist/mcp-server.js +22 -0
- package/package.json +1 -1
package/dist/manifest.json
CHANGED
|
@@ -670,12 +670,12 @@
|
|
|
670
670
|
"bytes": 6002
|
|
671
671
|
},
|
|
672
672
|
"mcp-server.d.ts": {
|
|
673
|
-
"sha256": "
|
|
674
|
-
"bytes":
|
|
673
|
+
"sha256": "01d30540da2d1fbada4da5cb54fc287b13a53940d5cd6e9ccb0fd29fc3a71720",
|
|
674
|
+
"bytes": 409
|
|
675
675
|
},
|
|
676
676
|
"mcp-server.js": {
|
|
677
|
-
"sha256": "
|
|
678
|
-
"bytes":
|
|
677
|
+
"sha256": "1ab44bb05d75fe445fce6ea819c489e93e1d39ffedcd7a80c566e7085a0dd796",
|
|
678
|
+
"bytes": 3577
|
|
679
679
|
},
|
|
680
680
|
"mcp/assert-output.d.ts": {
|
|
681
681
|
"sha256": "f1b821c3652423b15a09d2d1c5a042ee565a503c3d7196bd8220fbe697e0dc75",
|
package/dist/mcp-server.d.ts
CHANGED
|
@@ -3,3 +3,4 @@ export { startStdioServer } from './mcp/transports/stdio-entry.js';
|
|
|
3
3
|
export { startHttpServer } from './mcp/transports/http-entry.js';
|
|
4
4
|
export { startBridgeServer, detectHealthyPrimary } from './mcp/transports/bridge-entry.js';
|
|
5
5
|
export { composeServer } from './mcp/server.js';
|
|
6
|
+
export declare function waitForStdinReadable(timeoutMs: number, stdin?: NodeJS.ReadableStream): Promise<boolean>;
|
package/dist/mcp-server.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.composeServer = exports.detectHealthyPrimary = exports.startBridgeServer = exports.startHttpServer = exports.startStdioServer = void 0;
|
|
5
|
+
exports.waitForStdinReadable = waitForStdinReadable;
|
|
5
6
|
const transport_mode_js_1 = require("./mcp/transports/transport-mode.js");
|
|
6
7
|
const stdio_entry_js_1 = require("./mcp/transports/stdio-entry.js");
|
|
7
8
|
const http_entry_js_1 = require("./mcp/transports/http-entry.js");
|
|
@@ -17,11 +18,32 @@ Object.defineProperty(exports, "detectHealthyPrimary", { enumerable: true, get:
|
|
|
17
18
|
var server_js_1 = require("./mcp/server.js");
|
|
18
19
|
Object.defineProperty(exports, "composeServer", { enumerable: true, get: function () { return server_js_1.composeServer; } });
|
|
19
20
|
const DEFAULT_MCP_PORT = 3100;
|
|
21
|
+
const STDIO_CLIENT_PROBE_MS = 150;
|
|
22
|
+
function waitForStdinReadable(timeoutMs, stdin = process.stdin) {
|
|
23
|
+
return new Promise((resolve) => {
|
|
24
|
+
stdin.pause();
|
|
25
|
+
const timer = setTimeout(() => {
|
|
26
|
+
stdin.removeListener('readable', onReadable);
|
|
27
|
+
resolve(false);
|
|
28
|
+
}, timeoutMs);
|
|
29
|
+
const onReadable = () => {
|
|
30
|
+
clearTimeout(timer);
|
|
31
|
+
stdin.removeListener('readable', onReadable);
|
|
32
|
+
resolve(true);
|
|
33
|
+
};
|
|
34
|
+
stdin.once('readable', onReadable);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
20
37
|
async function main() {
|
|
21
38
|
const mode = (0, transport_mode_js_1.resolveTransportMode)(process.env);
|
|
22
39
|
if (mode.kind === 'stdio') {
|
|
23
40
|
const primaryPort = await (0, bridge_entry_js_1.detectHealthyPrimary)(DEFAULT_MCP_PORT);
|
|
24
41
|
if (primaryPort != null) {
|
|
42
|
+
const hasClient = await waitForStdinReadable(STDIO_CLIENT_PROBE_MS, process.stdin);
|
|
43
|
+
if (!hasClient) {
|
|
44
|
+
console.error(`[Startup] Primary on :${primaryPort}, no stdio client within ${STDIO_CLIENT_PROBE_MS}ms — exiting`);
|
|
45
|
+
process.exit(0);
|
|
46
|
+
}
|
|
25
47
|
console.error(`[Startup] Primary detected on :${primaryPort} — starting in bridge mode`);
|
|
26
48
|
try {
|
|
27
49
|
await (0, bridge_entry_js_1.startBridgeServer)(primaryPort);
|