@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.
Files changed (46) hide show
  1. package/README.md +28 -19
  2. package/dist/cli.js +31 -27
  3. package/dist/cli.js.map +1 -1
  4. package/dist/control-state.d.ts +25 -0
  5. package/dist/control-state.d.ts.map +1 -0
  6. package/dist/control-state.js +112 -0
  7. package/dist/control-state.js.map +1 -0
  8. package/dist/hook-context.d.ts +1 -1
  9. package/dist/hook-context.d.ts.map +1 -1
  10. package/dist/hook-context.js +18 -9
  11. package/dist/hook-context.js.map +1 -1
  12. package/dist/hook-contract.d.ts +43 -15
  13. package/dist/hook-contract.d.ts.map +1 -1
  14. package/dist/hook-contract.js +358 -44
  15. package/dist/hook-contract.js.map +1 -1
  16. package/dist/hook-pre-action.d.ts +19 -1
  17. package/dist/hook-pre-action.d.ts.map +1 -1
  18. package/dist/hook-pre-action.js +208 -30
  19. package/dist/hook-pre-action.js.map +1 -1
  20. package/dist/hook-session.d.ts +1 -1
  21. package/dist/hook-session.d.ts.map +1 -1
  22. package/dist/hook-session.js +86 -41
  23. package/dist/hook-session.js.map +1 -1
  24. package/dist/hook-tool-policy.d.ts +2 -0
  25. package/dist/hook-tool-policy.d.ts.map +1 -1
  26. package/dist/hook-tool-policy.js +23 -2
  27. package/dist/hook-tool-policy.js.map +1 -1
  28. package/dist/hook.d.ts +14 -2
  29. package/dist/hook.d.ts.map +1 -1
  30. package/dist/hook.js +51 -29
  31. package/dist/hook.js.map +1 -1
  32. package/dist/host-capability.d.ts +23 -16
  33. package/dist/host-capability.d.ts.map +1 -1
  34. package/dist/host-capability.js +41 -61
  35. package/dist/host-capability.js.map +1 -1
  36. package/dist/index.d.ts +6 -2
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +167 -120
  39. package/dist/index.js.map +1 -1
  40. package/dist/lifecycle-spool.d.ts +1 -5
  41. package/dist/lifecycle-spool.d.ts.map +1 -1
  42. package/dist/lifecycle-spool.js +11 -28
  43. package/dist/lifecycle-spool.js.map +1 -1
  44. package/package.json +1 -1
  45. package/scripts/control-path-canary.cjs +28 -2
  46. package/server.json +2 -2
@@ -1,17 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.localControlAllowOutput = localControlAllowOutput;
3
4
  exports.classifyTool = classifyTool;
5
+ exports.cursorPreActionHookOutput = cursorPreActionHookOutput;
6
+ exports.clinePreActionHookOutput = clinePreActionHookOutput;
7
+ exports.windsurfPreActionDecision = windsurfPreActionDecision;
8
+ exports.geminiPreActionHookOutput = geminiPreActionHookOutput;
9
+ exports.grokPreActionHookOutput = grokPreActionHookOutput;
4
10
  exports.preActionHookOutput = preActionHookOutput;
5
11
  exports.installPreActionHook = installPreActionHook;
6
12
  exports.runPreActionHookCommand = runPreActionHookCommand;
7
13
  const index_1 = require("./index");
8
- const env_1 = require("./env");
9
14
  const lifecycle_spool_1 = require("./lifecycle-spool");
15
+ const control_state_1 = require("./control-state");
10
16
  const runtime_contract_1 = require("./runtime-contract");
11
17
  const hook_tool_policy_1 = require("./hook-tool-policy");
12
18
  const hook_contract_1 = require("./hook-contract");
13
19
  const MAX_INPUT_BYTES = 64 * 1024;
14
20
  const RUNTIME_TIMEOUT_MS = 3000;
21
+ function localControlAllowOutput(harness) {
22
+ if (harness === 'windsurf')
23
+ return null;
24
+ if (harness === 'cursor')
25
+ return { permission: 'allow' };
26
+ if (harness === 'cline')
27
+ return { cancel: false };
28
+ if (harness === 'gemini' || harness === 'grok')
29
+ return { decision: 'allow' };
30
+ return {};
31
+ }
15
32
  function asRecord(value) {
16
33
  return value && typeof value === 'object' && !Array.isArray(value)
17
34
  ? value
@@ -62,7 +79,8 @@ function classifyTool(event) {
62
79
  ].filter(Boolean);
63
80
  const protectedAction = !readOnly && (/\b(?:deploy|release|publish|git\s+push|git\s+merge|gh\s+pr\s+merge|migration|migrate|secret|credential|rotate|revoke|payment|refund|charge|invoice|production|prod)\b/.test(input)
64
81
  || protectedShellCommand
65
- || (String(event.tool_name || '').startsWith('mcp__') && !(0, hook_tool_policy_1.isOfficialMarrowMcpTool)(event.tool_name)));
82
+ || ((0, hook_tool_policy_1.isMcpHookTool)(event.tool_name) && !(0, hook_tool_policy_1.isOfficialMarrowMcpTool)(event.tool_name))
83
+ || (['use_mcp_tool', 'use_tool'].includes(normalizedTool) && !(0, hook_tool_policy_1.isOfficialMarrowMcpEvent)(event)));
66
84
  const risk = readOnly ? 'low' : protectedAction ? 'high' : 'medium';
67
85
  const target = surfaces.includes('npm') ? `npm:${type}`
68
86
  : surfaces.includes('github') ? `github:${type}`
@@ -82,7 +100,104 @@ function classifyTool(event) {
82
100
  readOnly,
83
101
  };
84
102
  }
85
- function preActionHookOutput(result) {
103
+ function cursorPreActionHookOutput(result) {
104
+ const { runtime, permit, protectedRisk } = result;
105
+ const message = (value) => String(value || 'Marrow denied this action.')
106
+ .replace(/[\u0000-\u001f\u007f]/g, ' ')
107
+ .replace(/\s+/g, ' ')
108
+ .trim()
109
+ .slice(0, 500);
110
+ if (protectedRisk && (!runtime || !permit?.verified)) {
111
+ const denial = message(result.enforcementError || 'Marrow could not verify the required action permit. Retry after governance is available.');
112
+ return {
113
+ permission: 'deny',
114
+ user_message: denial,
115
+ agent_message: denial,
116
+ };
117
+ }
118
+ const gate = runtime?.risk_gate;
119
+ if (!gate)
120
+ return { permission: 'allow' };
121
+ const reason = runtime?.exact_next_action
122
+ || gate.reasons?.[0]?.message
123
+ || 'Marrow requires additional proof or operator review before this action.';
124
+ if (gate.decision === 'review_required' || gate.decision === 'block' || gate.allow === false) {
125
+ const denial = message(reason);
126
+ return { permission: 'deny', user_message: denial, agent_message: denial };
127
+ }
128
+ return { permission: 'allow' };
129
+ }
130
+ function clinePreActionHookOutput(result) {
131
+ if (result.protectedRisk && (!result.runtime || !result.permit?.verified)) {
132
+ const credentialsUnavailable = /credentials are unavailable/i.test(String(result.enforcementError || ''));
133
+ return {
134
+ cancel: true,
135
+ errorMessage: credentialsUnavailable
136
+ ? 'Marrow credentials are unavailable for this protected action. Restore the configured agent key and retry.'
137
+ : 'Marrow could not verify the required action permit. Restore trusted governance and retry.',
138
+ };
139
+ }
140
+ const gate = result.runtime?.risk_gate;
141
+ if (!gate)
142
+ return { cancel: false };
143
+ if (gate.decision === 'review_required' || gate.decision === 'block' || gate.allow === false) {
144
+ return {
145
+ cancel: true,
146
+ errorMessage: gate.decision === 'review_required'
147
+ ? 'Marrow requires operator review before this protected action.'
148
+ : 'Marrow blocked this protected action under the current policy.',
149
+ };
150
+ }
151
+ return { cancel: false };
152
+ }
153
+ function windsurfPreActionDecision(result) {
154
+ const unavailable = result.protectedRisk && (!result.runtime || !result.permit?.verified);
155
+ const gate = result.runtime?.risk_gate;
156
+ const denied = unavailable
157
+ || gate?.decision === 'review_required'
158
+ || gate?.decision === 'block'
159
+ || gate?.allow === false;
160
+ return denied
161
+ ? {
162
+ exitCode: 2,
163
+ stderr: 'Marrow blocked this action because required governance approval or proof is unavailable.\n',
164
+ }
165
+ : { exitCode: 0, stderr: '' };
166
+ }
167
+ function geminiPreActionHookOutput(result) {
168
+ const unavailable = result.protectedRisk && (!result.runtime || !result.permit?.verified);
169
+ const gate = result.runtime?.risk_gate;
170
+ const denied = unavailable
171
+ || gate?.decision === 'review_required'
172
+ || gate?.decision === 'block'
173
+ || gate?.allow === false;
174
+ return denied
175
+ ? {
176
+ decision: 'deny',
177
+ reason: 'Marrow blocked this action because required governance approval or proof is unavailable.',
178
+ }
179
+ : { decision: 'allow' };
180
+ }
181
+ function grokPreActionHookOutput(result) {
182
+ const unavailable = result.protectedRisk && (!result.runtime || !result.permit?.verified);
183
+ const gate = result.runtime?.risk_gate;
184
+ const denied = unavailable
185
+ || gate?.decision === 'review_required'
186
+ || gate?.decision === 'block'
187
+ || gate?.allow === false;
188
+ return denied
189
+ ? { decision: 'deny', reason: 'Marrow blocked this protected action.' }
190
+ : { decision: 'allow' };
191
+ }
192
+ function preActionHookOutput(result, harness = 'claude-code') {
193
+ if (harness === 'cursor')
194
+ return cursorPreActionHookOutput(result);
195
+ if (harness === 'cline')
196
+ return clinePreActionHookOutput(result);
197
+ if (harness === 'gemini')
198
+ return geminiPreActionHookOutput(result);
199
+ if (harness === 'grok')
200
+ return grokPreActionHookOutput(result);
86
201
  const { runtime, permit, protectedRisk } = result;
87
202
  if (protectedRisk && (!runtime || !permit?.verified)) {
88
203
  return {
@@ -101,7 +216,7 @@ function preActionHookOutput(result) {
101
216
  || gate.reasons?.[0]?.message
102
217
  || 'Marrow requires additional proof or operator review before this action.';
103
218
  const permissionDecision = gate.decision === 'review_required'
104
- ? 'ask'
219
+ ? harness === 'codex' ? 'deny' : 'ask'
105
220
  : gate.decision === 'block' || gate.allow === false
106
221
  ? 'deny'
107
222
  : null;
@@ -118,8 +233,15 @@ function preActionHookOutput(result) {
118
233
  },
119
234
  };
120
235
  }
121
- function emitDecision(result) {
122
- process.stdout.write(JSON.stringify(preActionHookOutput(result)));
236
+ function emitDecision(result, harness = 'claude-code') {
237
+ if (harness === 'windsurf') {
238
+ const decision = windsurfPreActionDecision(result);
239
+ process.exitCode = decision.exitCode;
240
+ if (decision.stderr)
241
+ process.stderr.write(decision.stderr);
242
+ return;
243
+ }
244
+ process.stdout.write(JSON.stringify(preActionHookOutput(result, harness)));
123
245
  }
124
246
  async function withTimeout(operation) {
125
247
  const controller = new AbortController();
@@ -157,6 +279,7 @@ function installPreActionHook(startDir = process.cwd()) {
157
279
  async function runPreActionHookCommand(input) {
158
280
  if (process.env.MARROW_AUTO_HOOK === 'false')
159
281
  return;
282
+ const identity = (0, hook_contract_1.resolveNativeHookIdentity)(process.argv[2]);
160
283
  let event = input;
161
284
  if (event === undefined) {
162
285
  try {
@@ -164,59 +287,114 @@ async function runPreActionHookCommand(input) {
164
287
  event = raw ? (0, hook_contract_1.normalizeHookEventPayload)(JSON.parse(raw)) : {};
165
288
  }
166
289
  catch {
167
- emitDecision({ runtime: null, permit: null, protectedRisk: true, enforcementError: 'Marrow rejected malformed or oversized pre-action input.' });
290
+ emitDecision({ runtime: null, permit: null, protectedRisk: true, enforcementError: 'Marrow rejected malformed or oversized pre-action input.' }, identity.harness);
168
291
  return;
169
292
  }
170
293
  }
171
- const source = asRecord(event);
294
+ const source = asRecord((0, hook_contract_1.normalizeHookEventPayload)(event));
172
295
  if (!source?.tool_name) {
173
- emitDecision({ runtime: null, permit: null, protectedRisk: true, enforcementError: 'Marrow could not classify this mutation-capable tool request.' });
296
+ emitDecision({ runtime: null, permit: null, protectedRisk: true, enforcementError: 'Marrow could not classify this mutation-capable tool request.' }, identity.harness);
297
+ return;
298
+ }
299
+ if ((0, hook_tool_policy_1.isOfficialMarrowMcpEvent)(source)) {
300
+ if (identity.harness === 'windsurf') {
301
+ process.exitCode = 0;
302
+ return;
303
+ }
304
+ process.stdout.write(JSON.stringify(identity.harness === 'cursor' ? { permission: 'allow' }
305
+ : identity.harness === 'cline' ? { cancel: false }
306
+ : ['gemini', 'grok'].includes(identity.harness) ? { decision: 'allow' }
307
+ : {}));
174
308
  return;
175
309
  }
176
310
  const classified = classifyTool(source);
177
311
  if (classified.readOnly) {
178
- process.stdout.write('{}');
312
+ if (identity.harness === 'windsurf') {
313
+ process.exitCode = 0;
314
+ return;
315
+ }
316
+ process.stdout.write(JSON.stringify(identity.harness === 'cursor' ? { permission: 'allow' }
317
+ : identity.harness === 'cline' ? { cancel: false }
318
+ : ['gemini', 'grok'].includes(identity.harness) ? { decision: 'allow' }
319
+ : {}));
179
320
  return;
180
321
  }
181
- let resolved;
322
+ let localControl;
323
+ try {
324
+ localControl = (0, control_state_1.readLocalControlState)();
325
+ }
326
+ catch {
327
+ emitDecision({ runtime: null, permit: null, protectedRisk: true, enforcementError: 'Marrow local control state is unsafe. Protected actions remain blocked until the owner repairs it.' }, identity.harness);
328
+ return;
329
+ }
330
+ if (!localControl.enabled) {
331
+ const resolved = identity.environment;
332
+ const sessionId = resolved.sessionId || source.session_id || source.conversation_id || source.task_id;
333
+ const correlation = (0, hook_contract_1.stableToolCorrelation)({ ...source, session_id: sessionId });
334
+ if (resolved.apiKey) {
335
+ try {
336
+ const baseUrl = (0, index_1.validateBaseUrl)(resolved.baseUrl || 'https://api.getmarrow.ai');
337
+ await (0, lifecycle_spool_1.recordLifecycleEvent)({ apiKey: resolved.apiKey, baseUrl, event: {
338
+ event_id: `owner-bypass-${correlation}`,
339
+ event_type: 'pre_action_checked',
340
+ ...(0, hook_contract_1.clientReportedHookLifecycleIdentity)(identity),
341
+ session_id: sessionId,
342
+ workflow_id: (0, hook_contract_1.stableSessionWorkflowId)(sessionId, source.generation_id || source.tool_use_id || source.task_id),
343
+ correlation_id: correlation,
344
+ action: control_state_1.CONTROL_BYPASS_ACTION,
345
+ surfaces: classified.surfaces.slice(0, 6),
346
+ risk_level: classified.risk,
347
+ outcome_state: 'pending',
348
+ intervention_disposition: 'overridden',
349
+ action_changed: false,
350
+ } }).catch(() => null);
351
+ }
352
+ catch { /* owner bypass is not trapped by telemetry configuration */ }
353
+ }
354
+ const allow = localControlAllowOutput(identity.harness);
355
+ if (allow === null)
356
+ process.exitCode = 0;
357
+ else
358
+ process.stdout.write(JSON.stringify(allow));
359
+ return;
360
+ }
361
+ let resolved = identity.environment;
362
+ const enforcementRequired = classified.protected || ['windsurf', 'gemini', 'grok'].includes(identity.harness);
363
+ const sessionId = resolved.sessionId || source.session_id || source.conversation_id || source.task_id;
364
+ const agentId = identity.agent_id;
365
+ const correlation = (0, hook_contract_1.stableToolCorrelation)({ ...source, session_id: sessionId });
182
366
  let baseUrl;
183
367
  try {
184
- resolved = (0, env_1.resolveMarrowEnv)({ trustedOnly: true });
185
368
  baseUrl = (0, index_1.validateBaseUrl)(resolved.baseUrl || 'https://api.getmarrow.ai');
186
369
  }
187
370
  catch {
188
371
  emitDecision({
189
372
  runtime: null,
190
373
  permit: null,
191
- protectedRisk: classified.protected,
374
+ protectedRisk: enforcementRequired,
192
375
  enforcementError: 'Marrow enforcement configuration is unavailable. Restore the trusted configuration before retrying this protected action.',
193
- });
376
+ }, identity.harness);
194
377
  return;
195
378
  }
196
379
  if (!resolved.apiKey) {
197
380
  emitDecision({
198
381
  runtime: null,
199
382
  permit: null,
200
- protectedRisk: classified.protected,
383
+ protectedRisk: enforcementRequired,
201
384
  enforcementError: 'Marrow credentials are unavailable for this protected action. Restore the configured agent key before retrying.',
202
- });
385
+ }, identity.harness);
203
386
  return;
204
387
  }
205
- const sessionId = resolved.sessionId || source.session_id;
206
- const agentId = resolved.agentId || undefined;
207
- const correlation = (0, hook_contract_1.stableToolCorrelation)({ ...source, session_id: sessionId });
208
388
  const lifecycle = (0, lifecycle_spool_1.recordLifecycleEvent)({
209
389
  apiKey: resolved.apiKey,
210
390
  baseUrl,
211
391
  event: {
212
392
  event_id: `pretool-${correlation}`,
213
393
  event_type: 'pre_action_checked',
214
- harness: 'claude-code',
215
- agent_id: agentId,
394
+ ...(0, hook_contract_1.clientReportedHookLifecycleIdentity)(identity),
216
395
  session_id: sessionId,
217
- workflow_id: (0, hook_contract_1.stableSessionWorkflowId)(sessionId, source.tool_use_id),
396
+ workflow_id: (0, hook_contract_1.stableSessionWorkflowId)(sessionId, source.generation_id || source.tool_use_id || source.task_id),
218
397
  correlation_id: correlation,
219
- ...(0, hook_contract_1.nativeHookEvidence)('pre_action'),
220
398
  action: classified.action,
221
399
  target: classified.target,
222
400
  surfaces: classified.surfaces,
@@ -240,7 +418,7 @@ async function runPreActionHookCommand(input) {
240
418
  type: classified.type,
241
419
  source_kind: 'integration',
242
420
  source_meta: {
243
- harness: 'claude-code',
421
+ harness: identity.harness,
244
422
  correlation_id: correlation,
245
423
  gate_receipt_id: gateReceiptId,
246
424
  },
@@ -251,7 +429,7 @@ async function runPreActionHookCommand(input) {
251
429
  action_type: classified.type,
252
430
  target: classified.target,
253
431
  correlation_id: correlation,
254
- harness: 'claude-code',
432
+ harness: identity.harness,
255
433
  decision_id: decision.decision_id,
256
434
  gate_receipt_id: gateReceiptId,
257
435
  proof_requirements: runtime.proof_pack?.fields || [],
@@ -259,7 +437,7 @@ async function runPreActionHookCommand(input) {
259
437
  }, sessionId, agentId, signal);
260
438
  const issuedPermitId = typeof issued.permit_id === 'string' ? issued.permit_id.trim() : '';
261
439
  if (!issued.permit || !issuedPermitId) {
262
- return { runtime, permit: { ...issued, verified: false }, protectedRisk: classified.protected, enforcementError: 'Marrow did not issue a complete action permit.' };
440
+ return { runtime, permit: { ...issued, verified: false }, protectedRisk: enforcementRequired, enforcementError: 'Marrow did not issue a complete action permit.' };
263
441
  }
264
442
  const verified = await (0, index_1.marrowEnforcement)(resolved.apiKey, baseUrl, {
265
443
  operation: 'verify',
@@ -269,14 +447,14 @@ async function runPreActionHookCommand(input) {
269
447
  target: classified.target,
270
448
  surfaces: classified.surfaces,
271
449
  correlation_id: correlation,
272
- harness: 'claude-code',
450
+ harness: identity.harness,
273
451
  }, sessionId, agentId, signal);
274
452
  const verifiedPermitId = typeof verified.permit_id === 'string' ? verified.permit_id.trim() : '';
275
453
  const verifiedExactly = verified.verified === true && verifiedPermitId === issuedPermitId;
276
454
  return {
277
455
  runtime,
278
456
  permit: { ...issued, ...verified, permit_id: issuedPermitId, permit: undefined, verified: verifiedExactly },
279
- protectedRisk: classified.protected,
457
+ protectedRisk: enforcementRequired,
280
458
  ...(verifiedExactly ? {} : { enforcementError: 'Marrow permit verification did not match the issued permit.' }),
281
459
  };
282
460
  };
@@ -284,8 +462,8 @@ async function runPreActionHookCommand(input) {
284
462
  emitDecision(result || {
285
463
  runtime: null,
286
464
  permit: null,
287
- protectedRisk: classified.protected,
465
+ protectedRisk: enforcementRequired,
288
466
  enforcementError: 'Marrow governance timed out before this protected action. Retry instead of bypassing the gate.',
289
- });
467
+ }, identity.harness);
290
468
  }
291
469
  //# sourceMappingURL=hook-pre-action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-pre-action.js","sourceRoot":"","sources":["../src/hook-pre-action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-pre-action.js","sourceRoot":"","sources":["../src/hook-pre-action.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const SESSION_HOOK_COMMAND = "npx -y --package=@getmarrow/mcp@3.9.73 marrow-mcp session-hook";
1
+ export declare const SESSION_HOOK_COMMAND: string;
2
2
  export declare function installSessionEndHook(startDir?: string): {
3
3
  settingsPath: string;
4
4
  installed: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"hook-session.d.ts","sourceRoot":"","sources":["../src/hook-session.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,oBAAoB,mEAA2B,CAAC;AA0D7D,wBAAgB,qBAAqB,CAAC,QAAQ,SAAgB,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAa5G;AAED,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAIjE;AAED,wBAAsB,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C1E"}
1
+ {"version":3,"file":"hook-session.d.ts","sourceRoot":"","sources":["../src/hook-session.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,oBAAoB,QAA2B,CAAC;AAmE7D,wBAAgB,qBAAqB,CAAC,QAAQ,SAAgB,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAa5G;AAED,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAIjE;AAED,wBAAsB,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0E1E"}
@@ -4,15 +4,16 @@ exports.SESSION_HOOK_COMMAND = void 0;
4
4
  exports.installSessionEndHook = installSessionEndHook;
5
5
  exports.sessionEndAutoCommitOpen = sessionEndAutoCommitOpen;
6
6
  exports.runSessionHookCommand = runSessionHookCommand;
7
- const env_1 = require("./env");
8
7
  const lifecycle_spool_1 = require("./lifecycle-spool");
9
8
  const index_1 = require("./index");
10
9
  const habit_loop_copy_1 = require("./habit-loop-copy");
11
10
  const node_fs_1 = require("node:fs");
12
11
  const hook_contract_1 = require("./hook-contract");
12
+ const control_state_1 = require("./control-state");
13
13
  exports.SESSION_HOOK_COMMAND = hook_contract_1.SESSION_END_HOOK_COMMAND;
14
14
  const MAX_HOOK_INPUT_BYTES = 64 * 1024;
15
15
  const SESSION_END_TIMEOUT_MS = 900;
16
+ const completedGrokTurns = new Set();
16
17
  function readStopHookSource(input) {
17
18
  let value = input;
18
19
  if (value === undefined) {
@@ -33,6 +34,10 @@ function readStopHookSource(input) {
33
34
  };
34
35
  return {
35
36
  session_id: take('session_id'),
37
+ conversation_id: take('conversation_id'),
38
+ generation_id: take('generation_id'),
39
+ tool_use_id: take('tool_use_id'),
40
+ task_id: take('task_id'),
36
41
  transcript_path: take('transcript_path'),
37
42
  cwd: take('cwd'),
38
43
  hook_event_name: take('hook_event_name'),
@@ -79,49 +84,89 @@ function sessionEndAutoCommitOpen(value) {
79
84
  return Boolean(value);
80
85
  }
81
86
  async function runSessionHookCommand(input) {
82
- if (process.env.MARROW_AUTO_HOOK === 'false')
83
- return;
84
- const resolved = (0, env_1.resolveMarrowEnv)();
85
- if (!resolved.apiKey)
86
- return;
87
- const baseUrl = (0, index_1.validateBaseUrl)(resolved.baseUrl || 'https://api.getmarrow.ai');
88
- const source = readStopHookSource(input);
89
- const sessionId = resolved.sessionId || source.session_id || undefined;
90
- const agentId = resolved.agentId || undefined;
91
- const workflowId = (0, hook_contract_1.stableSessionWorkflowId)(sessionId, [source.transcript_path, source.cwd]);
92
- const correlation = workflowId.slice('session-'.length);
93
- await (0, lifecycle_spool_1.recordLifecycleEvent)({
94
- apiKey: resolved.apiKey,
95
- baseUrl,
96
- event: {
97
- event_id: `session-stop-${correlation}`,
98
- event_type: 'session_completed',
99
- harness: 'claude-code',
100
- agent_id: agentId,
101
- session_id: sessionId,
102
- workflow_id: workflowId,
103
- correlation_id: correlation,
104
- ...(0, hook_contract_1.nativeHookEvidence)('session_end'),
105
- action: 'agent session ended',
106
- outcome_state: 'pending',
107
- },
108
- });
87
+ const identity = (0, hook_contract_1.resolveNativeHookIdentity)(process.argv[2]);
109
88
  try {
110
- await boundedSessionEnd(resolved.apiKey, baseUrl, sessionId, agentId);
89
+ if (process.env.MARROW_AUTO_HOOK === 'false')
90
+ return;
91
+ try {
92
+ if (!(0, control_state_1.readLocalControlState)().enabled)
93
+ return;
94
+ }
95
+ catch {
96
+ return;
97
+ }
98
+ const resolved = identity.environment;
99
+ if (!resolved.apiKey)
100
+ return;
101
+ const baseUrl = (0, index_1.validateBaseUrl)(resolved.baseUrl || 'https://api.getmarrow.ai');
102
+ const source = readStopHookSource(input);
103
+ const sessionId = resolved.sessionId || source.session_id || source.conversation_id || source.task_id || undefined;
104
+ const agentId = identity.agent_id;
105
+ const workflowId = (0, hook_contract_1.stableSessionWorkflowId)(sessionId, identity.harness === 'cursor'
106
+ ? [source.conversation_id, source.generation_id, source.tool_use_id]
107
+ : identity.harness === 'cline'
108
+ ? [source.task_id, source.hook_event_name]
109
+ : ['windsurf', 'gemini', 'grok'].includes(identity.harness)
110
+ ? [source.session_id, source.tool_use_id]
111
+ : [source.transcript_path, source.cwd]);
112
+ const correlation = workflowId.slice('session-'.length);
113
+ if (identity.harness === 'grok') {
114
+ if (completedGrokTurns.has(correlation))
115
+ return;
116
+ completedGrokTurns.add(correlation);
117
+ if (completedGrokTurns.size > 1024) {
118
+ const oldest = completedGrokTurns.values().next().value;
119
+ if (oldest)
120
+ completedGrokTurns.delete(oldest);
121
+ }
122
+ }
123
+ await (0, lifecycle_spool_1.recordLifecycleEvent)({
124
+ apiKey: resolved.apiKey,
125
+ baseUrl,
126
+ event: {
127
+ event_id: `session-stop-${correlation}`,
128
+ event_type: 'session_completed',
129
+ ...(0, hook_contract_1.clientReportedHookLifecycleIdentity)(identity),
130
+ session_id: sessionId,
131
+ workflow_id: workflowId,
132
+ correlation_id: correlation,
133
+ action: identity.harness === 'cline' && source.hook_event_name === 'TaskCancel'
134
+ ? 'agent task cancelled'
135
+ : identity.harness === 'windsurf'
136
+ ? 'cascade response completed'
137
+ : identity.harness === 'gemini'
138
+ ? 'agent turn completed'
139
+ : identity.harness === 'grok'
140
+ ? 'agent turn completed'
141
+ : 'agent session ended',
142
+ outcome_state: 'pending',
143
+ },
144
+ });
145
+ try {
146
+ await boundedSessionEnd(resolved.apiKey, baseUrl, sessionId, agentId);
147
+ }
148
+ catch {
149
+ // The pending lifecycle receipt remains durable for later reconciliation.
150
+ }
151
+ if (!['windsurf', 'gemini', 'grok'].includes(identity.harness) && process.env.MARROW_PASSIVE_TOKEN_USAGE !== 'false') {
152
+ const usage = (0, habit_loop_copy_1.extractModelUsageFromUnknown)(input);
153
+ if (usage && (usage.input_tokens || usage.output_tokens || usage.total_tokens || usage.cached_tokens)) {
154
+ await (0, index_1.marrowModelUsage)(resolved.apiKey, baseUrl, {
155
+ ...usage,
156
+ source: 'mcp_session_end',
157
+ marrow_intervention: 'passive_model_usage_capture',
158
+ action_type: 'session',
159
+ }, sessionId, agentId).catch(() => undefined);
160
+ }
161
+ }
111
162
  }
112
- catch {
113
- // The pending lifecycle receipt remains durable for later reconciliation.
163
+ catch (error) {
164
+ if (!['gemini', 'grok'].includes(identity.harness))
165
+ throw error;
114
166
  }
115
- if (process.env.MARROW_PASSIVE_TOKEN_USAGE !== 'false') {
116
- const usage = (0, habit_loop_copy_1.extractModelUsageFromUnknown)(input);
117
- if (usage && (usage.input_tokens || usage.output_tokens || usage.total_tokens || usage.cached_tokens)) {
118
- await (0, index_1.marrowModelUsage)(resolved.apiKey, baseUrl, {
119
- ...usage,
120
- source: 'mcp_session_end',
121
- marrow_intervention: 'passive_model_usage_capture',
122
- action_type: 'session',
123
- }, sessionId, agentId).catch(() => undefined);
124
- }
167
+ finally {
168
+ if (identity.harness === 'gemini')
169
+ process.stdout.write('{}');
125
170
  }
126
171
  }
127
172
  //# sourceMappingURL=hook-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-session.js","sourceRoot":"","sources":["../src/hook-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-session.js","sourceRoot":"","sources":["../src/hook-session.ts"],"names":[],"mappings":";;;AAmFA,sDAaC;AAED,4DAIC;AAED,sDA0EC;AAlLD,uDAAyD;AACzD,mCAA8E;AAC9E,uDAAiE;AACjE,qCAAuC;AACvC,mDASyB;AACzB,mDAAwD;AAE3C,QAAA,oBAAoB,GAAG,wCAAwB,CAAC;AAC7D,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AACvC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;AAa7C,SAAS,kBAAkB,CAAC,KAAe;IACzC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACnE,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3E,MAAM,MAAM,GAAG,IAAA,yCAAyB,EAAC,KAAK,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,CAAC,KAAa,EAAsB,EAAE;QACjD,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,OAAO,SAAS,IAAI,SAAS,CAAC;IAChC,CAAC,CAAC;IACF,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;QAChB,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAc,EACd,OAAe,EACf,SAAkB,EAClB,OAAgB;IAEhB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,OAAkD,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAA,wBAAgB,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC;YAC9E,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;gBACtC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBACxB,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC3C,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAC7B,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,OAAO;YAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IAC5D,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAwB,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAA0B,CAAC;IACtD,MAAM,MAAM,GAAG,IAAA,oCAAoB,EAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAA,0CAA0B,EAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClG,CAAC,CAAC,QAAQ,CAAC,KAAgC;QAC3C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,UAAU,GAAG,IAAA,0CAA0B,EAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,4BAAoB,CAAC,CAAC;IACtG,QAAQ,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;IACxD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACnE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;AACjE,CAAC;AAED,SAAgB,wBAAwB,CAAC,KAAe;IACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvF,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,KAAe;IACzD,MAAM,QAAQ,GAAG,IAAA,yCAAyB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,OAAO;YAAE,OAAO;QACrD,IAAI,CAAC;YAAC,IAAI,CAAC,IAAA,qCAAqB,GAAE,CAAC,OAAO;gBAAE,OAAO;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO;QAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAC7B,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC,QAAQ,CAAC,OAAO,IAAI,0BAA0B,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC;QACnH,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAClC,MAAM,UAAU,GAAG,IAAA,uCAAuB,EACxC,SAAS,EACT,QAAQ,CAAC,OAAO,KAAK,QAAQ;YAC3B,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC;YACpE,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,OAAO;gBAC9B,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC;gBAC1C,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC3D,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC;oBACzC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,CACzC,CAAC;QACF,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC;gBAAE,OAAO;YAChD,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,kBAAkB,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;gBACxD,IAAI,MAAM;oBAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,MAAM,IAAA,sCAAoB,EAAC;YACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO;YACP,KAAK,EAAE;gBACL,QAAQ,EAAE,gBAAgB,WAAW,EAAE;gBACvC,UAAU,EAAE,mBAAmB;gBAC/B,GAAG,IAAA,mDAAmC,EAAC,QAAQ,CAAC;gBAChD,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,UAAU;gBACvB,cAAc,EAAE,WAAW;gBAC3B,MAAM,EAAE,QAAQ,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,eAAe,KAAK,YAAY;oBAC7E,CAAC,CAAC,sBAAsB;oBACxB,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,UAAU;wBACjC,CAAC,CAAC,4BAA4B;wBAC9B,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,QAAQ;4BAC/B,CAAC,CAAC,sBAAsB;4BACxB,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,MAAM;gCAC7B,CAAC,CAAC,sBAAsB;gCACxB,CAAC,CAAC,qBAAqB;gBACzB,aAAa,EAAE,SAAS;aACzB;SACF,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;QAED,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,OAAO,EAAE,CAAC;YACrH,MAAM,KAAK,GAAG,IAAA,8CAA4B,EAAC,KAAK,CAAC,CAAC;YAClD,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBACtG,MAAM,IAAA,wBAAgB,EAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE;oBAC/C,GAAG,KAAK;oBACR,MAAM,EAAE,iBAAiB;oBACzB,mBAAmB,EAAE,6BAA6B;oBAClD,WAAW,EAAE,SAAS;iBACvB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,MAAM,KAAK,CAAC;IAClE,CAAC;YAAS,CAAC;QACT,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
@@ -4,6 +4,8 @@ type ToolPolicyEvent = {
4
4
  };
5
5
  export declare function normalizeHookToolName(value: unknown): string;
6
6
  export declare function isOfficialMarrowMcpTool(value: unknown): boolean;
7
+ export declare function isOfficialMarrowMcpEvent(event: ToolPolicyEvent): boolean;
8
+ export declare function isMcpHookTool(value: unknown): boolean;
7
9
  export declare function isProtectedShellMutation(command: string): boolean;
8
10
  export declare function hookToolCommand(event: ToolPolicyEvent): string;
9
11
  export declare function isReadOnlyToolEvent(event: ToolPolicyEvent): boolean;