Squashed 'packages/mcp-typescript/' changes from dcc30be..e665be0
e665be0 Merge pull request #14 from modelcontextprotocol/justin/fix-race-condition be9c1fe Merge branch 'main' into justin/fix-race-condition 36ba802 Merge pull request #17 from modelcontextprotocol/ashwin/capabilities a1b8886 yarn build 7b718de Report errors when start() is called multiple times 83a43fd Protocol.connect() can automatically call Transport.start() 8d80cc5 Merge branch 'main' into justin/fix-race-condition bcb4b21 add server capabilities derivation e9c64fb Update tests and CLI 2b0599e Update server SSE transport c39f808 Update client transports 87ae7ff Add start() to Transport interface git-subtree-dir: packages/mcp-typescript git-subtree-split: e665be068b9d2baa65f37fd7c2f69f68f77e57b9
This commit is contained in:
parent
50b812b120
commit
23ca80ed66
1 changed files with 228 additions and 97 deletions
16
packages/mcp-typescript/dist/client/stdio.js
generated
vendored
16
packages/mcp-typescript/dist/client/stdio.js
generated
vendored
|
|
@ -6,19 +6,25 @@ import { ReadBuffer, serializeMessage } from "../shared/stdio.js";
|
|||
* This transport is only available in Node.js environments.
|
||||
*/
|
||||
export class StdioClientTransport {
|
||||
constructor() {
|
||||
constructor(server) {
|
||||
this._abortController = new AbortController();
|
||||
this._readBuffer = new ReadBuffer();
|
||||
this._serverParams = server;
|
||||
}
|
||||
/**
|
||||
* Spawns the server process and prepare to communicate with it.
|
||||
* Starts the server process and prepares to communicate with it.
|
||||
*/
|
||||
spawn(server) {
|
||||
async start() {
|
||||
if (this._process) {
|
||||
throw new Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
var _a, _b, _c, _d;
|
||||
this._process = spawn(server.command, (_a = server.args) !== null && _a !== void 0 ? _a : [], {
|
||||
this._process = spawn(this._serverParams.command, (_a = this._serverParams.args) !== null && _a !== void 0 ? _a : [], {
|
||||
// The parent process may have sensitive secrets in its env, so don't inherit it automatically.
|
||||
env: server.env === undefined ? {} : { ...server.env },
|
||||
env: this._serverParams.env === undefined
|
||||
? {}
|
||||
: { ...this._serverParams.env },
|
||||
stdio: ["pipe", "pipe", "inherit"],
|
||||
signal: this._abortController.signal,
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue