readyroom 0.1.6 → 0.1.7

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.
Files changed (2) hide show
  1. package/dist/server.mjs +15 -9
  2. package/package.json +1 -1
package/dist/server.mjs CHANGED
@@ -21259,21 +21259,22 @@ async function attachStdio(server) {
21259
21259
  await server.connect(transport);
21260
21260
  return transport;
21261
21261
  }
21262
- async function attachStreamableHttp(server, options) {
21262
+ async function attachStreamableHttp(serverFactory, options) {
21263
21263
  const log4 = options.log ?? ((message) => process.stderr.write(`readyroom: ${message}
21264
21264
  `));
21265
- const transport = new StreamableHTTPServerTransport({
21266
- sessionIdGenerator: void 0,
21267
- enableJsonResponse: true
21268
- });
21269
- await server.connect(transport);
21270
21265
  const handle = async (req, res) => {
21271
21266
  if (!checkOrigin(req, options.allowedOrigins)) {
21272
21267
  res.writeHead(403, { "content-type": "text/plain; charset=utf-8" });
21273
21268
  res.end("Forbidden: missing or disallowed Origin");
21274
21269
  return;
21275
21270
  }
21271
+ const server = serverFactory();
21272
+ const transport = new StreamableHTTPServerTransport({
21273
+ sessionIdGenerator: void 0,
21274
+ enableJsonResponse: true
21275
+ });
21276
21276
  try {
21277
+ await server.connect(transport);
21277
21278
  await transport.handleRequest(req, res);
21278
21279
  } catch (error2) {
21279
21280
  log4(`mcp transport error on port ${options.port}: ${error2 instanceof Error ? error2.message : String(error2)}`);
@@ -21281,12 +21282,17 @@ async function attachStreamableHttp(server, options) {
21281
21282
  res.writeHead(500, { "content-type": "text/plain; charset=utf-8" });
21282
21283
  res.end("Internal Server Error");
21283
21284
  }
21285
+ } finally {
21286
+ await transport.close().catch(() => {
21287
+ });
21288
+ await server.close().catch(() => {
21289
+ });
21284
21290
  }
21285
21291
  };
21286
21292
  return {
21287
- transport,
21288
21293
  handle,
21289
- close: () => transport.close()
21294
+ close: async () => {
21295
+ }
21290
21296
  };
21291
21297
  }
21292
21298
 
@@ -21462,7 +21468,7 @@ async function runDaemon(config2, defaultStream) {
21462
21468
  await store.load();
21463
21469
  const deps = { store, defaultStream, now };
21464
21470
  const allowedOrigins = buildAllowedOrigins(config2.port, config2.allowedOrigins);
21465
- const mcp = await attachStreamableHttp(createMcpServer(deps), {
21471
+ const mcp = await attachStreamableHttp(() => createMcpServer(deps), {
21466
21472
  port: config2.port,
21467
21473
  allowedOrigins,
21468
21474
  log: log3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "readyroom",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "An MCP server that lets coding agents request a human decision without hijacking whichever window is focused. Agents enqueue a ticket; the human drains the queue from one page when they choose to.",
5
5
  "type": "module",
6
6
  "keywords": [