MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / messageQueue

Function messageQueue

packages/hosts/mcp/src/stdio-integration.test.ts:81–100  ·  view source on GitHub ↗
(transport: StdioClientTransport)

Source from the content-addressed store, hash-verified

79);
80
81const messageQueue = (transport: StdioClientTransport) => {
82 const messages: Array<JSONRPCMessage> = [];
83 const waiters: Array<(message: JSONRPCMessage) => void> = [];
84
85 transport.onmessage = (message) => {
86 const waiter = waiters.shift();
87 if (waiter) {
88 waiter(message);
89 } else {
90 messages.push(message);
91 }
92 };
93
94 return {
95 next: (): Promise<JSONRPCMessage> => {
96 const message = messages.shift();
97 return message ? Promise.resolve(message) : new Promise((resolve) => waiters.push(resolve));
98 },
99 };
100};
101
102describe("MCP stdio integration", () => {
103 // The regression: a client that opens with an unsupported probe used to get

Callers 1

Calls 2

pushMethod · 0.80
resolveMethod · 0.80

Tested by

no test coverage detected