@getmarrow/mcp 3.9.73 → 3.9.75
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/README.md +28 -19
- package/dist/cli.js +31 -27
- package/dist/cli.js.map +1 -1
- package/dist/control-state.d.ts +25 -0
- package/dist/control-state.d.ts.map +1 -0
- package/dist/control-state.js +112 -0
- package/dist/control-state.js.map +1 -0
- package/dist/hook-context.d.ts +1 -1
- package/dist/hook-context.d.ts.map +1 -1
- package/dist/hook-context.js +18 -9
- package/dist/hook-context.js.map +1 -1
- package/dist/hook-contract.d.ts +43 -15
- package/dist/hook-contract.d.ts.map +1 -1
- package/dist/hook-contract.js +358 -44
- package/dist/hook-contract.js.map +1 -1
- package/dist/hook-pre-action.d.ts +19 -1
- package/dist/hook-pre-action.d.ts.map +1 -1
- package/dist/hook-pre-action.js +208 -30
- package/dist/hook-pre-action.js.map +1 -1
- package/dist/hook-session.d.ts +1 -1
- package/dist/hook-session.d.ts.map +1 -1
- package/dist/hook-session.js +86 -41
- package/dist/hook-session.js.map +1 -1
- package/dist/hook-tool-policy.d.ts +2 -0
- package/dist/hook-tool-policy.d.ts.map +1 -1
- package/dist/hook-tool-policy.js +23 -2
- package/dist/hook-tool-policy.js.map +1 -1
- package/dist/hook.d.ts +14 -2
- package/dist/hook.d.ts.map +1 -1
- package/dist/hook.js +51 -29
- package/dist/hook.js.map +1 -1
- package/dist/host-capability.d.ts +23 -16
- package/dist/host-capability.d.ts.map +1 -1
- package/dist/host-capability.js +41 -61
- package/dist/host-capability.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +167 -120
- package/dist/index.js.map +1 -1
- package/dist/lifecycle-spool.d.ts +1 -5
- package/dist/lifecycle-spool.d.ts.map +1 -1
- package/dist/lifecycle-spool.js +11 -28
- package/dist/lifecycle-spool.js.map +1 -1
- package/package.json +1 -1
- package/scripts/control-path-canary.cjs +28 -2
- package/server.json +2 -2
|
@@ -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(
|
|
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 = {
|
|
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.
|
|
9
|
+
"version": "3.9.75",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@getmarrow/mcp",
|
|
14
|
-
"version": "3.9.
|
|
14
|
+
"version": "3.9.75",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|