@getmarrow/mcp 3.9.74 → 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.
@@ -1,19 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GOVERNED_WRAPPER_COMMAND = void 0;
3
+ exports.localControlAllowOutput = localControlAllowOutput;
4
4
  exports.classifyTool = classifyTool;
5
+ exports.cursorPreActionHookOutput = cursorPreActionHookOutput;
6
+ exports.clinePreActionHookOutput = clinePreActionHookOutput;
7
+ exports.windsurfPreActionDecision = windsurfPreActionDecision;
8
+ exports.geminiPreActionHookOutput = geminiPreActionHookOutput;
9
+ exports.grokPreActionHookOutput = grokPreActionHookOutput;
5
10
  exports.preActionHookOutput = preActionHookOutput;
6
- exports.grokPreActionAdvisoryOutput = grokPreActionAdvisoryOutput;
7
11
  exports.installPreActionHook = installPreActionHook;
8
12
  exports.runPreActionHookCommand = runPreActionHookCommand;
9
13
  const index_1 = require("./index");
10
14
  const lifecycle_spool_1 = require("./lifecycle-spool");
15
+ const control_state_1 = require("./control-state");
11
16
  const runtime_contract_1 = require("./runtime-contract");
12
17
  const hook_tool_policy_1 = require("./hook-tool-policy");
13
18
  const hook_contract_1 = require("./hook-contract");
14
19
  const MAX_INPUT_BYTES = 64 * 1024;
15
20
  const RUNTIME_TIMEOUT_MS = 3000;
16
- exports.GOVERNED_WRAPPER_COMMAND = 'npx @getmarrow/install run --agent <agent-id> -- -- <command>';
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
+ }
17
32
  function asRecord(value) {
18
33
  return value && typeof value === 'object' && !Array.isArray(value)
19
34
  ? value
@@ -64,7 +79,8 @@ function classifyTool(event) {
64
79
  ].filter(Boolean);
65
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)
66
81
  || protectedShellCommand
67
- || (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)));
68
84
  const risk = readOnly ? 'low' : protectedAction ? 'high' : 'medium';
69
85
  const target = surfaces.includes('npm') ? `npm:${type}`
70
86
  : surfaces.includes('github') ? `github:${type}`
@@ -84,7 +100,104 @@ function classifyTool(event) {
84
100
  readOnly,
85
101
  };
86
102
  }
87
- 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);
88
201
  const { runtime, permit, protectedRisk } = result;
89
202
  if (protectedRisk && (!runtime || !permit?.verified)) {
90
203
  return {
@@ -103,7 +216,7 @@ function preActionHookOutput(result) {
103
216
  || gate.reasons?.[0]?.message
104
217
  || 'Marrow requires additional proof or operator review before this action.';
105
218
  const permissionDecision = gate.decision === 'review_required'
106
- ? 'ask'
219
+ ? harness === 'codex' ? 'deny' : 'ask'
107
220
  : gate.decision === 'block' || gate.allow === false
108
221
  ? 'deny'
109
222
  : null;
@@ -120,19 +233,15 @@ function preActionHookOutput(result) {
120
233
  },
121
234
  };
122
235
  }
123
- function emitDecision(result) {
124
- process.stdout.write(JSON.stringify(preActionHookOutput(result)));
125
- }
126
- function grokPreActionAdvisoryOutput() {
127
- return {
128
- hookSpecificOutput: {
129
- hookEventName: 'PreToolUse',
130
- additionalContext: [
131
- 'This Grok hook is client-self-reported advisory context, not certified control or an enforcement boundary.',
132
- `Run consequential commands through the governed wrapper: ${exports.GOVERNED_WRAPPER_COMMAND}`,
133
- ].join('\n'),
134
- },
135
- };
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)));
136
245
  }
137
246
  async function withTimeout(operation) {
138
247
  const controller = new AbortController();
@@ -170,6 +279,7 @@ function installPreActionHook(startDir = process.cwd()) {
170
279
  async function runPreActionHookCommand(input) {
171
280
  if (process.env.MARROW_AUTO_HOOK === 'false')
172
281
  return;
282
+ const identity = (0, hook_contract_1.resolveNativeHookIdentity)(process.argv[2]);
173
283
  let event = input;
174
284
  if (event === undefined) {
175
285
  try {
@@ -177,54 +287,82 @@ async function runPreActionHookCommand(input) {
177
287
  event = raw ? (0, hook_contract_1.normalizeHookEventPayload)(JSON.parse(raw)) : {};
178
288
  }
179
289
  catch {
180
- 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);
181
291
  return;
182
292
  }
183
293
  }
184
- const source = asRecord(event);
294
+ const source = asRecord((0, hook_contract_1.normalizeHookEventPayload)(event));
185
295
  if (!source?.tool_name) {
186
- 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
+ : {}));
187
308
  return;
188
309
  }
189
310
  const classified = classifyTool(source);
190
311
  if (classified.readOnly) {
191
- 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
+ : {}));
192
320
  return;
193
321
  }
194
- const identity = (0, hook_contract_1.resolveNativeHookIdentity)(process.argv[2]);
195
- let resolved = identity.environment;
196
- const sessionId = resolved.sessionId || source.session_id;
197
- const agentId = identity.agent_id;
198
- const correlation = (0, hook_contract_1.stableToolCorrelation)({ ...source, session_id: sessionId });
199
- if (identity.harness === 'grok') {
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 });
200
334
  if (resolved.apiKey) {
201
335
  try {
202
336
  const baseUrl = (0, index_1.validateBaseUrl)(resolved.baseUrl || 'https://api.getmarrow.ai');
203
- await (0, lifecycle_spool_1.recordLifecycleEvent)({
204
- apiKey: resolved.apiKey,
205
- baseUrl,
206
- event: {
207
- event_id: `pretool-${correlation}`,
337
+ await (0, lifecycle_spool_1.recordLifecycleEvent)({ apiKey: resolved.apiKey, baseUrl, event: {
338
+ event_id: `owner-bypass-${correlation}`,
208
339
  event_type: 'pre_action_checked',
209
340
  ...(0, hook_contract_1.clientReportedHookLifecycleIdentity)(identity),
210
341
  session_id: sessionId,
211
- workflow_id: (0, hook_contract_1.stableSessionWorkflowId)(sessionId, source.tool_use_id),
342
+ workflow_id: (0, hook_contract_1.stableSessionWorkflowId)(sessionId, source.generation_id || source.tool_use_id || source.task_id),
212
343
  correlation_id: correlation,
213
- action: classified.action,
214
- target: classified.target,
215
- surfaces: classified.surfaces,
344
+ action: control_state_1.CONTROL_BYPASS_ACTION,
345
+ surfaces: classified.surfaces.slice(0, 6),
216
346
  risk_level: classified.risk,
217
347
  outcome_state: 'pending',
218
- },
219
- }).catch(() => undefined);
220
- }
221
- catch {
222
- // Advisory output remains available when self-reported telemetry cannot be delivered.
348
+ intervention_disposition: 'overridden',
349
+ action_changed: false,
350
+ } }).catch(() => null);
223
351
  }
352
+ catch { /* owner bypass is not trapped by telemetry configuration */ }
224
353
  }
225
- process.stdout.write(JSON.stringify(grokPreActionAdvisoryOutput()));
354
+ const allow = localControlAllowOutput(identity.harness);
355
+ if (allow === null)
356
+ process.exitCode = 0;
357
+ else
358
+ process.stdout.write(JSON.stringify(allow));
226
359
  return;
227
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 });
228
366
  let baseUrl;
229
367
  try {
230
368
  baseUrl = (0, index_1.validateBaseUrl)(resolved.baseUrl || 'https://api.getmarrow.ai');
@@ -233,18 +371,18 @@ async function runPreActionHookCommand(input) {
233
371
  emitDecision({
234
372
  runtime: null,
235
373
  permit: null,
236
- protectedRisk: classified.protected,
374
+ protectedRisk: enforcementRequired,
237
375
  enforcementError: 'Marrow enforcement configuration is unavailable. Restore the trusted configuration before retrying this protected action.',
238
- });
376
+ }, identity.harness);
239
377
  return;
240
378
  }
241
379
  if (!resolved.apiKey) {
242
380
  emitDecision({
243
381
  runtime: null,
244
382
  permit: null,
245
- protectedRisk: classified.protected,
383
+ protectedRisk: enforcementRequired,
246
384
  enforcementError: 'Marrow credentials are unavailable for this protected action. Restore the configured agent key before retrying.',
247
- });
385
+ }, identity.harness);
248
386
  return;
249
387
  }
250
388
  const lifecycle = (0, lifecycle_spool_1.recordLifecycleEvent)({
@@ -255,7 +393,7 @@ async function runPreActionHookCommand(input) {
255
393
  event_type: 'pre_action_checked',
256
394
  ...(0, hook_contract_1.clientReportedHookLifecycleIdentity)(identity),
257
395
  session_id: sessionId,
258
- 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),
259
397
  correlation_id: correlation,
260
398
  action: classified.action,
261
399
  target: classified.target,
@@ -299,7 +437,7 @@ async function runPreActionHookCommand(input) {
299
437
  }, sessionId, agentId, signal);
300
438
  const issuedPermitId = typeof issued.permit_id === 'string' ? issued.permit_id.trim() : '';
301
439
  if (!issued.permit || !issuedPermitId) {
302
- 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.' };
303
441
  }
304
442
  const verified = await (0, index_1.marrowEnforcement)(resolved.apiKey, baseUrl, {
305
443
  operation: 'verify',
@@ -316,7 +454,7 @@ async function runPreActionHookCommand(input) {
316
454
  return {
317
455
  runtime,
318
456
  permit: { ...issued, ...verified, permit_id: issuedPermitId, permit: undefined, verified: verifiedExactly },
319
- protectedRisk: classified.protected,
457
+ protectedRisk: enforcementRequired,
320
458
  ...(verifiedExactly ? {} : { enforcementError: 'Marrow permit verification did not match the issued permit.' }),
321
459
  };
322
460
  };
@@ -324,8 +462,8 @@ async function runPreActionHookCommand(input) {
324
462
  emitDecision(result || {
325
463
  runtime: null,
326
464
  permit: null,
327
- protectedRisk: classified.protected,
465
+ protectedRisk: enforcementRequired,
328
466
  enforcementError: 'Marrow governance timed out before this protected action. Retry instead of bypassing the gate.',
329
- });
467
+ }, identity.harness);
330
468
  }
331
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 +1 @@
1
- {"version":3,"file":"hook-session.d.ts","sourceRoot":"","sources":["../src/hook-session.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,oBAAoB,QAA2B,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,CA0C1E"}
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"}
@@ -9,9 +9,11 @@ const index_1 = require("./index");
9
9
  const habit_loop_copy_1 = require("./habit-loop-copy");
10
10
  const node_fs_1 = require("node:fs");
11
11
  const hook_contract_1 = require("./hook-contract");
12
+ const control_state_1 = require("./control-state");
12
13
  exports.SESSION_HOOK_COMMAND = hook_contract_1.SESSION_END_HOOK_COMMAND;
13
14
  const MAX_HOOK_INPUT_BYTES = 64 * 1024;
14
15
  const SESSION_END_TIMEOUT_MS = 900;
16
+ const completedGrokTurns = new Set();
15
17
  function readStopHookSource(input) {
16
18
  let value = input;
17
19
  if (value === undefined) {
@@ -32,6 +34,10 @@ function readStopHookSource(input) {
32
34
  };
33
35
  return {
34
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'),
35
41
  transcript_path: take('transcript_path'),
36
42
  cwd: take('cwd'),
37
43
  hook_event_name: take('hook_event_name'),
@@ -78,48 +84,89 @@ function sessionEndAutoCommitOpen(value) {
78
84
  return Boolean(value);
79
85
  }
80
86
  async function runSessionHookCommand(input) {
81
- if (process.env.MARROW_AUTO_HOOK === 'false')
82
- return;
83
87
  const identity = (0, hook_contract_1.resolveNativeHookIdentity)(process.argv[2]);
84
- const resolved = identity.environment;
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 = identity.agent_id;
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
- ...(0, hook_contract_1.clientReportedHookLifecycleIdentity)(identity),
100
- session_id: sessionId,
101
- workflow_id: workflowId,
102
- correlation_id: correlation,
103
- action: 'agent session ended',
104
- outcome_state: 'pending',
105
- },
106
- });
107
88
  try {
108
- 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
+ }
109
162
  }
110
- catch {
111
- // The pending lifecycle receipt remains durable for later reconciliation.
163
+ catch (error) {
164
+ if (!['gemini', 'grok'].includes(identity.harness))
165
+ throw error;
112
166
  }
113
- if (process.env.MARROW_PASSIVE_TOKEN_USAGE !== 'false') {
114
- const usage = (0, habit_loop_copy_1.extractModelUsageFromUnknown)(input);
115
- if (usage && (usage.input_tokens || usage.output_tokens || usage.total_tokens || usage.cached_tokens)) {
116
- await (0, index_1.marrowModelUsage)(resolved.apiKey, baseUrl, {
117
- ...usage,
118
- source: 'mcp_session_end',
119
- marrow_intervention: 'passive_model_usage_capture',
120
- action_type: 'session',
121
- }, sessionId, agentId).catch(() => undefined);
122
- }
167
+ finally {
168
+ if (identity.harness === 'gemini')
169
+ process.stdout.write('{}');
123
170
  }
124
171
  }
125
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":"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"}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"hook-tool-policy.d.ts","sourceRoot":"","sources":["../src/hook-tool-policy.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAoFF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE5D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE/D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKjE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAa9D;AAsBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAiBnE"}
1
+ {"version":3,"file":"hook-tool-policy.d.ts","sourceRoot":"","sources":["../src/hook-tool-policy.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAoFF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE5D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK/D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CASxE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAErD;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKjE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAa9D;AAsBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAiBnE"}