@getmarrow/mcp 3.9.73 → 3.9.74

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.
@@ -4,6 +4,18 @@ const { randomUUID } = require('node:crypto');
4
4
  const { performance } = require('node:perf_hooks');
5
5
  const { resolve } = require('node:path');
6
6
  const { version: packageVersion } = require('../package.json');
7
+ const { MARROW_AUTO_RESPONSE_BUDGET_MAX_MS } = require('../dist/index.js');
8
+
9
+ const CANARY_TOOL_TIMEOUT_MARGIN_MS = 2_000;
10
+ const CANARY_TOOL_TIMEOUT_MAX_MS = 10_000;
11
+ const CANARY_DEFAULT_TOOL_TIMEOUT_MS = Math.min(
12
+ CANARY_TOOL_TIMEOUT_MAX_MS,
13
+ MARROW_AUTO_RESPONSE_BUDGET_MAX_MS + CANARY_TOOL_TIMEOUT_MARGIN_MS,
14
+ );
15
+
16
+ if (CANARY_DEFAULT_TOOL_TIMEOUT_MS < MARROW_AUTO_RESPONSE_BUDGET_MAX_MS + CANARY_TOOL_TIMEOUT_MARGIN_MS) {
17
+ throw new Error('MCP canary timeout ceiling cannot contain the bounded marrow_auto budget');
18
+ }
7
19
 
8
20
  function canaryCases(operationId) {
9
21
  return [
@@ -249,7 +261,13 @@ class PersistentMcpClient {
249
261
  async function runCanary(env = process.env, options = {}) {
250
262
  const key = env.MARROW_API_KEY || '';
251
263
  if (!key) throw new Error('MARROW_API_KEY is required for the authenticated MCP control-path canary');
252
- const toolTimeoutMs = boundedMs('MARROW_MCP_CANARY_TOOL_TIMEOUT_MS', 5_000, 250, 10_000, env);
264
+ const toolTimeoutMs = boundedMs(
265
+ 'MARROW_MCP_CANARY_TOOL_TIMEOUT_MS',
266
+ CANARY_DEFAULT_TOOL_TIMEOUT_MS,
267
+ 250,
268
+ CANARY_TOOL_TIMEOUT_MAX_MS,
269
+ env,
270
+ );
253
271
  const totalTimeoutMs = boundedMs('MARROW_MCP_CANARY_TOTAL_TIMEOUT_MS', 30_000, 2_000, 60_000, env);
254
272
  const expectedVersion = env.MARROW_EXPECTED_MCP_VERSION || packageVersion;
255
273
  const childPath = env.MARROW_MCP_CANARY_CHILD || resolve(__dirname, '../dist/cli.js');
@@ -341,4 +359,12 @@ if (require.main === module) {
341
359
  });
342
360
  }
343
361
 
344
- module.exports = { PersistentMcpClient, latencyGroup, percentile, runCanary };
362
+ module.exports = {
363
+ CANARY_DEFAULT_TOOL_TIMEOUT_MS,
364
+ CANARY_TOOL_TIMEOUT_MARGIN_MS,
365
+ MARROW_AUTO_RESPONSE_BUDGET_MAX_MS,
366
+ PersistentMcpClient,
367
+ latencyGroup,
368
+ percentile,
369
+ runCanary,
370
+ };
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/getmarrow/marrow-mcp",
7
7
  "source": "github"
8
8
  },
9
- "version": "3.9.73",
9
+ "version": "3.9.74",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@getmarrow/mcp",
14
- "version": "3.9.73",
14
+ "version": "3.9.74",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },