@getmarrow/mcp 3.9.108 → 3.9.110

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 (109) hide show
  1. package/README.md +26 -1
  2. package/dist/cli.js +44 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/control-notice.d.ts +13 -0
  5. package/dist/control-notice.d.ts.map +1 -0
  6. package/dist/control-notice.js +76 -0
  7. package/dist/control-notice.js.map +1 -0
  8. package/dist/control-routes.d.ts +10 -0
  9. package/dist/control-routes.d.ts.map +1 -0
  10. package/dist/control-routes.js +81 -0
  11. package/dist/control-routes.js.map +1 -0
  12. package/dist/env.d.ts +15 -0
  13. package/dist/env.d.ts.map +1 -1
  14. package/dist/env.js +29 -2
  15. package/dist/env.js.map +1 -1
  16. package/dist/hook-context.d.ts.map +1 -1
  17. package/dist/hook-context.js +34 -11
  18. package/dist/hook-context.js.map +1 -1
  19. package/dist/hook-contract.d.ts +2 -2
  20. package/dist/hook-contract.js +1 -1
  21. package/dist/hook-pre-action.d.ts +10 -2
  22. package/dist/hook-pre-action.d.ts.map +1 -1
  23. package/dist/hook-pre-action.js +105 -33
  24. package/dist/hook-pre-action.js.map +1 -1
  25. package/dist/hook-session.d.ts.map +1 -1
  26. package/dist/hook-session.js +12 -7
  27. package/dist/hook-session.js.map +1 -1
  28. package/dist/hook-tool-policy.d.ts +1 -1
  29. package/dist/hook-tool-policy.d.ts.map +1 -1
  30. package/dist/hook.d.ts.map +1 -1
  31. package/dist/hook.js +19 -14
  32. package/dist/hook.js.map +1 -1
  33. package/dist/host-approval.d.ts +9 -0
  34. package/dist/host-approval.d.ts.map +1 -1
  35. package/dist/host-approval.js +22 -0
  36. package/dist/host-approval.js.map +1 -1
  37. package/dist/identity-explain.d.ts +35 -0
  38. package/dist/identity-explain.d.ts.map +1 -0
  39. package/dist/identity-explain.js +60 -0
  40. package/dist/identity-explain.js.map +1 -0
  41. package/dist/ipv4-first.d.ts +7 -0
  42. package/dist/ipv4-first.d.ts.map +1 -0
  43. package/dist/ipv4-first.js +60 -0
  44. package/dist/ipv4-first.js.map +1 -0
  45. package/dist/key-class.d.ts +16 -0
  46. package/dist/key-class.d.ts.map +1 -0
  47. package/dist/key-class.js +37 -0
  48. package/dist/key-class.js.map +1 -0
  49. package/dist/keyless-notice.d.ts +10 -0
  50. package/dist/keyless-notice.d.ts.map +1 -0
  51. package/dist/keyless-notice.js +47 -0
  52. package/dist/keyless-notice.js.map +1 -0
  53. package/dist/normalized-action.d.ts +4 -0
  54. package/dist/normalized-action.d.ts.map +1 -1
  55. package/dist/normalized-action.js +60 -27
  56. package/dist/normalized-action.js.map +1 -1
  57. package/dist/own-server-identity.d.ts +20 -0
  58. package/dist/own-server-identity.d.ts.map +1 -1
  59. package/dist/own-server-identity.js +130 -5
  60. package/dist/own-server-identity.js.map +1 -1
  61. package/dist/owner-bypass.d.ts +9 -0
  62. package/dist/owner-bypass.d.ts.map +1 -0
  63. package/dist/owner-bypass.js +79 -0
  64. package/dist/owner-bypass.js.map +1 -0
  65. package/dist/redact.d.ts +5 -0
  66. package/dist/redact.d.ts.map +1 -1
  67. package/dist/redact.js +61 -9
  68. package/dist/redact.js.map +1 -1
  69. package/dist/seatbelt/hook.d.ts +3 -1
  70. package/dist/seatbelt/hook.d.ts.map +1 -1
  71. package/dist/seatbelt/hook.js +7 -3
  72. package/dist/seatbelt/hook.js.map +1 -1
  73. package/dist/seatbelt/mapper.d.ts.map +1 -1
  74. package/dist/seatbelt/mapper.js +849 -12
  75. package/dist/seatbelt/mapper.js.map +1 -1
  76. package/dist/seatbelt/patch-text.d.ts +49 -0
  77. package/dist/seatbelt/patch-text.d.ts.map +1 -0
  78. package/dist/seatbelt/patch-text.js +376 -0
  79. package/dist/seatbelt/patch-text.js.map +1 -0
  80. package/dist/seatbelt/tables.d.ts +66 -0
  81. package/dist/seatbelt/tables.d.ts.map +1 -1
  82. package/dist/seatbelt/tables.js +467 -3
  83. package/dist/seatbelt/tables.js.map +1 -1
  84. package/dist/seatbelt/win-protected.d.ts +52 -0
  85. package/dist/seatbelt/win-protected.d.ts.map +1 -0
  86. package/dist/seatbelt/win-protected.js +1279 -0
  87. package/dist/seatbelt/win-protected.js.map +1 -0
  88. package/dist/self-protect.d.ts +18 -0
  89. package/dist/self-protect.d.ts.map +1 -0
  90. package/dist/self-protect.js +185 -0
  91. package/dist/self-protect.js.map +1 -0
  92. package/dist/session-id.d.ts +2 -0
  93. package/dist/session-id.d.ts.map +1 -0
  94. package/dist/session-id.js +32 -0
  95. package/dist/session-id.js.map +1 -0
  96. package/dist/session-loop-guard.d.ts +40 -0
  97. package/dist/session-loop-guard.d.ts.map +1 -1
  98. package/dist/session-loop-guard.js +236 -9
  99. package/dist/session-loop-guard.js.map +1 -1
  100. package/dist/session-marker.d.ts +7 -0
  101. package/dist/session-marker.d.ts.map +1 -0
  102. package/dist/session-marker.js +42 -0
  103. package/dist/session-marker.js.map +1 -0
  104. package/dist/win-private-state.d.ts +117 -0
  105. package/dist/win-private-state.d.ts.map +1 -0
  106. package/dist/win-private-state.js +544 -0
  107. package/dist/win-private-state.js.map +1 -0
  108. package/package.json +1 -1
  109. package/server.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"hook-context.js","sourceRoot":"","sources":["../src/hook-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-context.js","sourceRoot":"","sources":["../src/hook-context.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { resolveMarrowEnv, type ResolvedMarrowEnv } from './env';
2
- export declare const MCP_ADAPTER_VERSION = "3.9.108";
2
+ export declare const MCP_ADAPTER_VERSION = "3.9.110";
3
3
  export declare const NATIVE_HOOK_MATCHER: string;
4
4
  /**
5
5
  * Matchers older versions wrote, so a hook carrying one needs repair: the
@@ -10,7 +10,7 @@ export declare const NATIVE_HOOK_MATCHER: string;
10
10
  */
11
11
  export declare const LEGACY_NATIVE_HOOK_MATCHERS: readonly string[];
12
12
  export declare const GROK_NATIVE_HOOK_MATCHER = "run_terminal_command|search_replace|write|spawn_subagent|use_tool|workflow|image_gen|image_edit|image_to_video|reference_to_video";
13
- export declare const MCP_PACKAGE_SPEC = "@getmarrow/mcp@3.9.108";
13
+ export declare const MCP_PACKAGE_SPEC = "@getmarrow/mcp@3.9.110";
14
14
  export declare const CONTEXT_HOOK_COMMAND: string;
15
15
  export declare const PRE_ACTION_HOOK_COMMAND: string;
16
16
  export declare const ACTION_RESULT_HOOK_COMMAND: string;
@@ -29,7 +29,7 @@ const env_1 = require("./env");
29
29
  const normalized_action_1 = require("./normalized-action");
30
30
  const own_server_identity_1 = require("./own-server-identity");
31
31
  const own_tool_1 = require("./own-tool");
32
- exports.MCP_ADAPTER_VERSION = '3.9.108';
32
+ exports.MCP_ADAPTER_VERSION = '3.9.110';
33
33
  exports.NATIVE_HOOK_MATCHER = (0, own_tool_1.nativeHookMatcher)();
34
34
  /**
35
35
  * Matchers older versions wrote, so a hook carrying one needs repair: the
@@ -80,13 +80,19 @@ export declare function controlRejectionMessage(error: unknown, agentId?: string
80
80
  export type OwnerApprovalPrompt = {
81
81
  available: boolean;
82
82
  unavailableReason: string;
83
- headless?: boolean; /** Static, one-sentence README fix for the person; never built from input. */
83
+ headless?: boolean;
84
+ /** Claude Code auto mode only: no dialog is opened (it has no time limit and nobody is at it). The hold is a denial that names its receipt. */
85
+ noFreeze?: boolean;
86
+ /** Static, one-sentence README fix for the person; never built from input. */
84
87
  fix?: string;
85
88
  };
86
89
  /**
87
90
  * Whether a PreToolUse "ask" from this hook reaches a person who can approve.
88
91
  * Only Claude Code asks; the generic entrypoint counts as Claude Code only when
89
92
  * Claude Code itself spawned the hook (CLAUDE_CODE_CHILD_SESSION, v2.1.172+).
93
+ * Every "ask" emitter takes its answer from here (a new hold, a retried hold
94
+ * that waited for a dialog, and the legacy service), so auto mode, which never
95
+ * asks, is decided here once.
90
96
  */
91
97
  export declare function ownerApprovalPrompt(harness: 'claude-code' | 'cline' | 'codex' | 'cursor' | 'gemini' | 'grok' | 'windsurf' | 'mcp-client', event: Pick<PreToolUseEvent, 'permission_mode' | 'scratchpad_dir'>, env?: NodeJS.ProcessEnv): OwnerApprovalPrompt;
92
98
  type GateVerdict = {
@@ -108,7 +114,7 @@ export declare function runtimeGateEnforced(runtime: PreActionControlResult['run
108
114
  /** A warning for a non-allow gate the runtime does not enforce on this plan. */
109
115
  export declare function advisoryGateNotice(runtime: PreActionControlResult['runtime']): string | null;
110
116
  export declare function runtimeGateVerdict(runtime: PreActionControlResult['runtime']): GateVerdict | null;
111
- export declare function gateDecisionMessage(verdict: GateVerdict, ask: boolean, prompt?: OwnerApprovalPrompt): string;
117
+ export declare function gateDecisionMessage(verdict: GateVerdict, ask: boolean, prompt?: OwnerApprovalPrompt, receiptId?: string | null): string;
112
118
  export declare function localControlAllowOutput(harness: 'claude-code' | 'cline' | 'codex' | 'cursor' | 'gemini' | 'grok' | 'windsurf' | 'mcp-client'): Record<string, unknown> | null;
113
119
  /** Keyless seatbelt: a host that cannot hand this action to its own approval prompt holds it (no account to approve it). */
114
120
  export declare const SEATBELT_HELD_TEXT = "MARROW SEATBELT held this action: this host cannot show its own approval prompt here, and no Marrow account is linked to approve it. If you (the person at this machine) meant it, run it yourself in your own terminal. Agent: do not retry it another way and do not edit Marrow settings; tell the user it was held. For approval prompts, add a Marrow key: getmarrow.ai/docs#start-here.";
@@ -174,6 +180,8 @@ export declare const ENV_FILTER_SECRET_NAME: RegExp;
174
180
  export declare function mayPrintEnvironment(command: string): boolean;
175
181
  export declare function mayReadApprovalState(command: string): boolean;
176
182
  export declare function mayReadSecret(command: string): boolean;
183
+ /** Whether a shell call (or the shell text another tool carries) runs the installer as a control-off route (control-routes.ts). */
184
+ export declare function controlRouteCall(event: PreToolUseEvent): boolean;
177
185
  export declare function cursorPreActionHookOutput(result: PreActionControlResult): Record<string, unknown>;
178
186
  export declare function clinePreActionHookOutput(result: PreActionControlResult): Record<string, unknown>;
179
187
  export declare function windsurfPreActionDecision(result: PreActionControlResult): {
@@ -1 +1 @@
1
- {"version":3,"file":"hook-pre-action.d.ts","sourceRoot":"","sources":["../src/hook-pre-action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-pre-action.d.ts","sourceRoot":"","sources":["../src/hook-pre-action.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ exports.classifyTool = classifyTool;
22
22
  exports.mayPrintEnvironment = mayPrintEnvironment;
23
23
  exports.mayReadApprovalState = mayReadApprovalState;
24
24
  exports.mayReadSecret = mayReadSecret;
25
+ exports.controlRouteCall = controlRouteCall;
25
26
  exports.cursorPreActionHookOutput = cursorPreActionHookOutput;
26
27
  exports.clinePreActionHookOutput = clinePreActionHookOutput;
27
28
  exports.windsurfPreActionDecision = windsurfPreActionDecision;
@@ -40,10 +41,17 @@ const node_os_1 = require("node:os");
40
41
  const node_path_1 = require("node:path");
41
42
  const index_1 = require("./index");
42
43
  const request_reliability_1 = require("./request-reliability");
44
+ const ipv4_first_1 = require("./ipv4-first");
43
45
  const lifecycle_spool_1 = require("./lifecycle-spool");
44
46
  const control_state_1 = require("./control-state");
47
+ const control_notice_1 = require("./control-notice");
45
48
  const runtime_contract_1 = require("./runtime-contract");
46
49
  const host_approval_1 = require("./host-approval");
50
+ const control_routes_1 = require("./control-routes");
51
+ const owner_bypass_1 = require("./owner-bypass");
52
+ const self_protect_1 = require("./self-protect");
53
+ const keyless_notice_1 = require("./keyless-notice");
54
+ const session_id_1 = require("./session-id");
47
55
  const host_approval_state_1 = require("./host-approval-state");
48
56
  const host_session_1 = require("./host-session");
49
57
  const own_server_identity_1 = require("./own-server-identity");
@@ -321,12 +329,14 @@ function controlRejectionMessage(error, agentId, kind = controlFailureKind(error
321
329
  }
322
330
  return `Marrow did not allow this protected action${suffix}. ${plainControlFix(error)}`;
323
331
  }
324
- // Claude Code permission modes in which a PreToolUse "ask" reaches a person.
332
+ // Claude Code permission modes in which a PreToolUse "ask" can reach a person.
325
333
  // bypassPermissions disables prompts, dontAsk auto-denies anything that would
326
- // prompt, and plan mode with bypass available runs edits without prompting.
334
+ // prompt, plan mode with bypass available runs edits without prompting, and
335
+ // auto mode never asks: a dialog there has no time limit and nobody is at it
336
+ // (a read froze an auto-mode session for 95 minutes), so a hold is a denial.
327
337
  // https://code.claude.com/docs/en/hooks#pretooluse-decision-control
328
338
  // https://code.claude.com/docs/en/permission-modes
329
- const OWNER_PROMPT_PERMISSION_MODES = new Set(['default', 'acceptEdits', 'auto']);
339
+ const OWNER_PROMPT_PERMISSION_MODES = new Set(['default', 'acceptEdits']);
330
340
  const FIX_DEFAULT_MODE = 'To approve it, switch Claude Code to its default permission mode and retry this exact action.';
331
341
  const FIX_HEADLESS = 'To approve it, retry this exact action in an interactive Claude Code session in default permission mode.';
332
342
  /** Claude Code entrypoints with no one at a dialog (claude -p and the Agent SDKs); hooks inherit it. */
@@ -336,6 +346,9 @@ const NO_OWNER_PROMPT = { available: false, unavailableReason: 'this agent host
336
346
  * Whether a PreToolUse "ask" from this hook reaches a person who can approve.
337
347
  * Only Claude Code asks; the generic entrypoint counts as Claude Code only when
338
348
  * Claude Code itself spawned the hook (CLAUDE_CODE_CHILD_SESSION, v2.1.172+).
349
+ * Every "ask" emitter takes its answer from here (a new hold, a retried hold
350
+ * that waited for a dialog, and the legacy service), so auto mode, which never
351
+ * asks, is decided here once.
339
352
  */
340
353
  function ownerApprovalPrompt(harness, event, env = process.env) {
341
354
  const claudeCode = harness === 'claude-code' || (harness === 'mcp-client' && env.CLAUDE_CODE_CHILD_SESSION === '1');
@@ -350,16 +363,21 @@ function ownerApprovalPrompt(harness, event, env = process.env) {
350
363
  }
351
364
  const mode = typeof event.permission_mode === 'string' && /^[A-Za-z]{1,32}$/.test(event.permission_mode) ? event.permission_mode : '';
352
365
  if (!OWNER_PROMPT_PERMISSION_MODES.has(mode)) {
353
- return { available: false, unavailableReason: `Claude Code permission mode ${mode || 'unknown'} cannot guarantee an owner prompt`, fix: FIX_DEFAULT_MODE };
354
- }
355
- // Before Claude Code v2.1.211 the auto-mode classifier could approve a Bash
356
- // command outside the sandbox without the prompt a hook asked for. The hook
357
- // input carries scratchpad_dir only from v2.1.257, so it proves a fixed version.
358
- if (mode === 'auto' && !(typeof event.scratchpad_dir === 'string' && event.scratchpad_dir.trim())) {
359
- return { available: false, unavailableReason: 'this auto-mode session does not prove a Claude Code version whose classifier honors hook prompts', fix: FIX_DEFAULT_MODE };
366
+ return {
367
+ available: false,
368
+ unavailableReason: `Claude Code permission mode ${mode || 'unknown'} cannot guarantee an owner prompt`,
369
+ ...(mode === 'auto' ? { noFreeze: true } : {}),
370
+ fix: FIX_DEFAULT_MODE,
371
+ };
360
372
  }
361
373
  return { available: true, unavailableReason: '' };
362
374
  }
375
+ /** Claude Code modes and entrypoints in which an "ask" reaches nobody (auto, bypassPermissions, dontAsk; claude -p and the Agent SDKs). */
376
+ function noPersonAtPrompt(event, env = process.env) {
377
+ const mode = typeof event.permission_mode === 'string' ? event.permission_mode : '';
378
+ const entrypoint = typeof env.CLAUDE_CODE_ENTRYPOINT === 'string' ? env.CLAUDE_CODE_ENTRYPOINT : '';
379
+ return mode === 'auto' || mode === 'bypassPermissions' || mode === 'dontAsk' || HEADLESS_CLAUDE_ENTRYPOINTS.has(entrypoint);
380
+ }
363
381
  function boundedText(value, limit) {
364
382
  return String(value ?? '')
365
383
  .replace(/[\u0000-\u001f\u007f]/g, ' ')
@@ -454,7 +472,8 @@ function runtimeGateVerdict(runtime) {
454
472
  return { kind: 'denied', reason };
455
473
  }
456
474
  // Fixed wording leads so a long service reason can never truncate what happened.
457
- function gateDecisionMessage(verdict, ask, prompt = NO_OWNER_PROMPT) {
475
+ function gateDecisionMessage(verdict, ask, prompt = NO_OWNER_PROMPT, receiptId = null) {
476
+ const receipt = receiptId && SAFE_DECISION_ID.test(receiptId) ? ` (receipt ${receiptId})` : '';
458
477
  const headline = verdict.kind === 'block'
459
478
  ? 'Marrow blocked this action under the current policy.'
460
479
  : verdict.kind === 'arbitration_review'
@@ -463,7 +482,7 @@ function gateDecisionMessage(verdict, ask, prompt = NO_OWNER_PROMPT) {
463
482
  ? 'Marrow did not allow this action.'
464
483
  : ask
465
484
  ? 'Marrow requires owner review before this action. Approve only if you authorize this exact action.'
466
- : `Marrow requires owner review before this action, and no owner approval prompt is available (${prompt.unavailableReason}), so it was denied. Tell the operator it is waiting for the account owner's approval.${prompt.fix ? ` ${prompt.fix}` : ''}`;
485
+ : `Marrow requires owner review before this action, and no owner approval prompt is available (${prompt.unavailableReason}), so it was denied${prompt.noFreeze ? `${receipt}. Continue other work` : ''}. Tell the operator it is waiting for the account owner's approval.${prompt.fix ? ` ${prompt.fix}` : ''}`;
467
486
  return boundedText(verdict.reason ? `${headline} Reason: ${verdict.reason}` : headline, 500);
468
487
  }
469
488
  const SAFE_DECISION_ID = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$/;
@@ -568,7 +587,7 @@ function localControlDisabled() {
568
587
  }
569
588
  }
570
589
  // The order classifyTool picks a type and lists surfaces in; earlier types are the more specific (stricter) ones.
571
- const CLASSIFICATION_TYPES = ['publish', 'deploy', 'review', 'migration', 'audit', 'financial', 'process'];
590
+ const CLASSIFICATION_TYPES = ['security', 'publish', 'deploy', 'review', 'migration', 'audit', 'financial', 'process'];
572
591
  const CLASSIFICATION_SURFACES = ['production', 'github', 'npm', 'secrets', 'database', 'financial'];
573
592
  /**
574
593
  * The classification of one tool call. A Monitor command (and a native git
@@ -609,23 +628,36 @@ function ownToolLabel(event) {
609
628
  function nonActingParts(event) {
610
629
  return { tool: ownToolLabel(event), type: 'process', surfaces: [], readOnly: false, protected: false };
611
630
  }
612
- /** `a`, unchanged, when it is at least as strict as `b` on every axis; otherwise the stricter of each. */
631
+ /** The `type on surfaces` text of a classification, as the runtime action carries it. */
632
+ function typeText(parts) {
633
+ return `${parts.type} on ${parts.surfaces.join(', ') || 'workspace'}`;
634
+ }
635
+ /**
636
+ * `a`, unchanged, when it is at least as strict as `b` on every axis; otherwise the stricter of each. The strictest type wins, every surface
637
+ * of both is kept, and a type that `security` displaces stays in `under` (typeText), so a hold never drops what the other part says.
638
+ */
613
639
  function stricterParts(a, b) {
614
640
  const rank = (type) => {
615
641
  const index = CLASSIFICATION_TYPES.indexOf(type);
616
642
  return index < 0 ? CLASSIFICATION_TYPES.length : index;
617
643
  };
644
+ const type = rank(a.type) <= rank(b.type) ? a.type : b.type;
645
+ const displaced = (parts) => (type === 'security' && parts.type !== type && parts.type !== 'process' ? [typeText(parts)] : []);
646
+ const keptBy = (parts, texts) => texts.every((text) => (parts.under ?? []).includes(text));
618
647
  const covers = (!a.readOnly || b.readOnly) && (a.protected || !b.protected) && rank(a.type) <= rank(b.type)
619
- && b.surfaces.every((surface) => a.surfaces.includes(surface));
648
+ && b.surfaces.every((surface) => a.surfaces.includes(surface))
649
+ && keptBy(a, [...(b.under ?? []), ...displaced(b)]);
620
650
  if (covers)
621
651
  return a;
622
652
  const surfaces = new Set([...a.surfaces, ...b.surfaces]);
653
+ const under = [...new Set([...(a.under ?? []), ...(b.under ?? []), ...displaced(a), ...displaced(b)])];
623
654
  return {
624
655
  tool: a.tool,
625
- type: rank(a.type) <= rank(b.type) ? a.type : b.type,
656
+ type,
626
657
  surfaces: [...CLASSIFICATION_SURFACES.filter((surface) => surfaces.has(surface)), ...[...surfaces].filter((surface) => !CLASSIFICATION_SURFACES.includes(surface))],
627
658
  readOnly: a.readOnly && b.readOnly,
628
659
  protected: a.protected || b.protected,
660
+ ...(under.length ? { under } : {}),
629
661
  };
630
662
  }
631
663
  let envDumpTools;
@@ -953,6 +985,15 @@ function shellPrintsEnvironment(eventCwd, command) {
953
985
  lastEnvDumpAnswer = { command, where, dumps };
954
986
  return dumps;
955
987
  }
988
+ /** Whether a shell call (or the shell text another tool carries) runs the installer as a control-off route (control-routes.ts). */
989
+ function controlRouteCall(event) {
990
+ if (!(0, hook_tool_policy_1.isShellTextTool)(event))
991
+ return false;
992
+ const input = asRecord(event.tool_input);
993
+ const texts = typeof event.tool_input === 'string' ? [event.tool_input]
994
+ : ['command', 'cmd', 'script'].map((key) => input?.[key]).filter((value) => typeof value === 'string');
995
+ return texts.some((text) => (0, control_routes_1.controlRoute)(text));
996
+ }
956
997
  /** The classification of a call under its own tool name only (every tool before the built-ins were hooked). */
957
998
  function classifyAsNamed(event, options) {
958
999
  const tool = String(event.tool_name || 'tool').slice(0, 64);
@@ -960,6 +1001,10 @@ function classifyAsNamed(event, options) {
960
1001
  // Editing and task tools are judged by their target; shell-like words in the
961
1002
  // content they write or the subject they record are not actions.
962
1003
  const shellGoverned = (0, hook_tool_policy_1.isShellGovernedTool)(event);
1004
+ // MCP-10: a way to switch Marrow control off through the installer is a security action on marrow-control, held for the account owner.
1005
+ // A hold is merged with the classification of the whole call below, never returned in its place: the rest of a chain keeps every surface
1006
+ // and every risk category it has without the hold.
1007
+ const controlRoute = controlRouteCall(event);
963
1008
  const command = shellGoverned ? (0, hook_tool_policy_1.hookToolCommand)(event) : '';
964
1009
  const input = (0, hook_tool_policy_1.toolClassificationText)(event).toLowerCase();
965
1010
  // A look-alike of Marrow's own tool is never read-only, whatever its verb.
@@ -967,6 +1012,8 @@ function classifyAsNamed(event, options) {
967
1012
  const printsEnvironment = options.postTool === true ? undefined : shellPrintsEnvironment.bind(null, options.cwd);
968
1013
  const readOnly = options.ownUnproven !== true && (0, hook_tool_policy_1.isReadOnlyToolEventAsNamed)(event, printsEnvironment);
969
1014
  const secretAccess = (0, hook_tool_policy_1.isSecretMaterialAccessAsNamed)(event, printsEnvironment);
1015
+ // T2: a write to Marrow's control files, a host's hooks settings or a file that makes a command run later is a security action, not an audit one.
1016
+ const selfProtected = readOnly && !controlRoute ? null : (0, self_protect_1.selfProtectKind)(event, options.cwd);
970
1017
  const protectedShellCommand = shellGoverned && (0, hook_tool_policy_1.isProtectedShellMutation)(command);
971
1018
  const infrastructureDeployment = /\b(?:kubectl|terraform|pulumi|helm)\b/.test(command.toLowerCase())
972
1019
  && protectedShellCommand;
@@ -996,24 +1043,36 @@ function classifyAsNamed(event, options) {
996
1043
  || protectedShellCommand
997
1044
  || ((0, hook_tool_policy_1.isMcpHookTool)(event.tool_name) && (options.ownUnproven === true || !(0, hook_tool_policy_1.isOfficialMarrowMcpTool)(event.tool_name)))
998
1045
  || (['use_mcp_tool', 'use_tool'].includes(normalizedTool) && !(0, hook_tool_policy_1.isOfficialMarrowMcpEvent)(event)));
999
- return { tool, type, surfaces, readOnly, protected: protectedAction };
1046
+ const full = { tool, type, surfaces, readOnly, protected: protectedAction };
1047
+ const held = [...new Set([controlRoute ? 'marrow-control' : null, selfProtected])].filter((surface) => surface !== null);
1048
+ return held.length ? stricterParts({ tool, type: 'security', surfaces: held, readOnly: false, protected: true }, full) : full;
1049
+ }
1050
+ /** The role the runtime call carries: that of the type, or, where `security` displaced a type (ClassificationParts.under), the strictest displaced one, as 3.9.108 sent it. */
1051
+ function runtimeRole(parts) {
1052
+ const rank = (type) => { const index = CLASSIFICATION_TYPES.indexOf(type); return index < 0 ? CLASSIFICATION_TYPES.length : index; };
1053
+ const displaced = (parts.under ?? []).map((text) => text.split(' on ')[0]).sort((x, y) => rank(x) - rank(y));
1054
+ const type = parts.type === 'security' && displaced.length ? displaced[0] : parts.type;
1055
+ return type === 'publish' ? 'deploy' : ['deploy', 'review', 'migration', 'audit'].includes(type) ? type : 'general';
1000
1056
  }
1001
1057
  function classificationFrom(parts) {
1002
1058
  const { tool, type, surfaces, readOnly } = parts;
1003
1059
  const protectedAction = parts.protected;
1004
1060
  const risk = readOnly ? 'low' : protectedAction ? 'high' : 'medium';
1005
- const target = surfaces.includes('npm') ? `npm:${type}`
1006
- : surfaces.includes('github') ? `github:${type}`
1007
- : surfaces.includes('production') ? `production:${type}`
1008
- : surfaces.includes('database') ? `database:${type}`
1009
- : surfaces.includes('financial') ? `financial:${type}`
1010
- : surfaces.includes('secrets') ? `secrets:${type}`
1011
- : `workspace:${type}`;
1061
+ // The hold surfaces come first: a hold merged with a fuller classification keeps the label it has alone.
1062
+ const target = surfaces.includes('marrow-control') ? `marrow:${type}`
1063
+ : surfaces.includes('persistence') ? `host:${type}`
1064
+ : surfaces.includes('npm') ? `npm:${type}`
1065
+ : surfaces.includes('github') ? `github:${type}`
1066
+ : surfaces.includes('production') ? `production:${type}`
1067
+ : surfaces.includes('database') ? `database:${type}`
1068
+ : surfaces.includes('financial') ? `financial:${type}`
1069
+ : surfaces.includes('secrets') ? `secrets:${type}`
1070
+ : `workspace:${type}`;
1012
1071
  return {
1013
- action: `classified ${tool} action: ${type} on ${surfaces.join(', ') || 'workspace'}`,
1072
+ action: `classified ${tool} action: ${type} on ${surfaces.join(', ') || 'workspace'}${(parts.under ?? []).map((text) => `; classified ${tool} action: ${text}`).join('')}`,
1014
1073
  target,
1015
1074
  type,
1016
- role: type === 'publish' ? 'deploy' : ['deploy', 'review', 'migration', 'audit'].includes(type) ? type : 'general',
1075
+ role: runtimeRole(parts),
1017
1076
  surfaces: surfaces.length ? surfaces : ['workspace'],
1018
1077
  risk,
1019
1078
  protected: protectedAction,
@@ -1130,6 +1189,7 @@ legacyServiceAsk = false) {
1130
1189
  ].filter(Boolean).join('\n'),
1131
1190
  } : {};
1132
1191
  const verdict = runtimeGateVerdict(runtime);
1192
+ const receiptId = typeof runtime?.gate_receipt_id === 'string' ? runtime.gate_receipt_id : typeof runtime?.runtime_authorization?.id === 'string' ? runtime.runtime_authorization.id : null;
1133
1193
  if (verdict && legacyServiceAsk && verdict.kind === 'review' && prompt.available && harness !== 'codex') {
1134
1194
  return {
1135
1195
  hookSpecificOutput: {
@@ -1152,7 +1212,7 @@ legacyServiceAsk = false) {
1152
1212
  hookSpecificOutput: {
1153
1213
  hookEventName: 'PreToolUse',
1154
1214
  permissionDecision: 'deny',
1155
- permissionDecisionReason: gateDecisionMessage(verdict, false, reason),
1215
+ permissionDecisionReason: gateDecisionMessage(verdict, false, reason, receiptId),
1156
1216
  ...context,
1157
1217
  },
1158
1218
  };
@@ -1405,6 +1465,8 @@ function seatbeltEvent(source, rawEvent) {
1405
1465
  };
1406
1466
  }
1407
1467
  async function runPreActionHookCommand(input) {
1468
+ // N1: IPv4 first with happy eyeballs, set once before any request this hook makes.
1469
+ (0, ipv4_first_1.preferIpv4FirstWithHappyEyeballs)();
1408
1470
  // Account mode: the S0-S5 floor in watch runs after the answer is written, for the record only.
1409
1471
  const watch = {};
1410
1472
  try {
@@ -1420,9 +1482,11 @@ async function runPreActionHookCommand(input) {
1420
1482
  }
1421
1483
  }
1422
1484
  async function runPreActionHook(input, watch) {
1423
- if (process.env.MARROW_AUTO_HOOK === 'false')
1424
- return;
1425
1485
  const identity = (0, hook_contract_1.resolveNativeHookIdentity)(process.argv[2]);
1486
+ if (process.env.MARROW_AUTO_HOOK === 'false') {
1487
+ await (0, owner_bypass_1.recordSessionBypass)('hooks_switched_off', identity, input);
1488
+ return;
1489
+ }
1426
1490
  let event = input;
1427
1491
  let rawEvent = input;
1428
1492
  let inputFailure = null;
@@ -1475,12 +1539,12 @@ async function runPreActionHook(input, watch) {
1475
1539
  localControl = (0, control_state_1.readLocalControlState)();
1476
1540
  }
1477
1541
  catch {
1478
- 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);
1542
+ emitDecision({ runtime: null, permit: null, protectedRisk: true, enforcementError: `Marrow local control state is unsafe. Protected actions remain blocked until the owner repairs it.${(0, control_notice_1.unreadableControlSuffix)()}` }, identity.harness);
1479
1543
  return;
1480
1544
  }
1481
1545
  if (!localControl.enabled) {
1482
1546
  const resolved = identity.environment;
1483
- const sessionId = resolved.sessionId || source.session_id || source.conversation_id || source.task_id;
1547
+ const sessionId = (0, session_id_1.marrowSessionId)(resolved.sessionId || source.session_id || source.conversation_id || source.task_id || '', identity.agent_id) || undefined;
1484
1548
  const correlation = (0, hook_contract_1.stableToolCorrelation)({ ...source, session_id: sessionId });
1485
1549
  if (resolved.apiKey) {
1486
1550
  try {
@@ -1508,10 +1572,18 @@ async function runPreActionHook(input, watch) {
1508
1572
  process.stdout.write(JSON.stringify(allow));
1509
1573
  return;
1510
1574
  }
1575
+ // MCP-5: control is on and no key resolves, so nothing this hook does is recorded: say so once per session.
1576
+ if (!identity.environment.apiKey)
1577
+ (0, keyless_notice_1.armKeylessNotice)(identity.harness, identity.environment.sessionId || source.session_id || source.conversation_id || source.task_id);
1578
+ // MCP-10: where no person can answer a prompt (auto, bypass and dontAsk modes, headless runs), turning control off is denied outright.
1579
+ if (classified.type === 'security' && classified.surfaces.includes('marrow-control') && controlRouteCall(source) && noPersonAtPrompt(source)) {
1580
+ emitLoopGuardDenial(identity.harness, control_routes_1.CONTROL_ROUTE_DENY_TEXT);
1581
+ return;
1582
+ }
1511
1583
  let resolved = identity.environment;
1512
1584
  const enforcementRequired = classified.protected || ['windsurf', 'gemini', 'grok'].includes(identity.harness);
1513
- const sessionId = resolved.sessionId || source.session_id || source.conversation_id || source.task_id
1514
- || (0, hook_contract_1.stableSessionWorkflowId)(undefined, [identity.harness, process.cwd()]);
1585
+ const sessionId = (0, session_id_1.marrowSessionId)(resolved.sessionId || source.session_id || source.conversation_id || source.task_id
1586
+ || (0, hook_contract_1.stableSessionWorkflowId)(undefined, [identity.harness, process.cwd()]), identity.agent_id);
1515
1587
  const agentId = identity.agent_id;
1516
1588
  // With a resolved key, the no-device-key fallback may make its approval state (nokeyFallbackKey); with none it never does.
1517
1589
  if (resolved.apiKey)