@getmarrow/mcp 3.9.102 → 3.9.103

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 +49 -23
  2. package/dist/cli.js +41 -10
  3. package/dist/cli.js.map +1 -1
  4. package/dist/codex-plugin-pins.d.ts +19 -0
  5. package/dist/codex-plugin-pins.d.ts.map +1 -0
  6. package/dist/codex-plugin-pins.js +43 -0
  7. package/dist/codex-plugin-pins.js.map +1 -0
  8. package/dist/codex-plugins.d.ts +34 -0
  9. package/dist/codex-plugins.d.ts.map +1 -0
  10. package/dist/codex-plugins.js +240 -0
  11. package/dist/codex-plugins.js.map +1 -0
  12. package/dist/hook-contract.d.ts +2 -2
  13. package/dist/hook-contract.d.ts.map +1 -1
  14. package/dist/hook-contract.js +8 -3
  15. package/dist/hook-contract.js.map +1 -1
  16. package/dist/hook-pre-action.d.ts +48 -2
  17. package/dist/hook-pre-action.d.ts.map +1 -1
  18. package/dist/hook-pre-action.js +195 -22
  19. package/dist/hook-pre-action.js.map +1 -1
  20. package/dist/hook.d.ts +1 -1
  21. package/dist/hook.d.ts.map +1 -1
  22. package/dist/hook.js +12 -6
  23. package/dist/hook.js.map +1 -1
  24. package/dist/host-session.d.ts +11 -0
  25. package/dist/host-session.d.ts.map +1 -1
  26. package/dist/host-session.js +49 -0
  27. package/dist/host-session.js.map +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +15 -10
  30. package/dist/index.js.map +1 -1
  31. package/dist/normalized-action.d.ts +29 -6
  32. package/dist/normalized-action.d.ts.map +1 -1
  33. package/dist/normalized-action.js +492 -102
  34. package/dist/normalized-action.js.map +1 -1
  35. package/dist/own-server-identity.d.ts +123 -0
  36. package/dist/own-server-identity.d.ts.map +1 -0
  37. package/dist/own-server-identity.js +1052 -0
  38. package/dist/own-server-identity.js.map +1 -0
  39. package/dist/own-tool.d.ts +7 -3
  40. package/dist/own-tool.d.ts.map +1 -1
  41. package/dist/own-tool.js +7 -3
  42. package/dist/own-tool.js.map +1 -1
  43. package/dist/redact.d.ts +23 -0
  44. package/dist/redact.d.ts.map +1 -1
  45. package/dist/redact.js +181 -8
  46. package/dist/redact.js.map +1 -1
  47. package/dist/seatbelt/classifier-pin.d.ts +15 -0
  48. package/dist/seatbelt/classifier-pin.d.ts.map +1 -0
  49. package/dist/seatbelt/classifier-pin.js +26 -0
  50. package/dist/seatbelt/classifier-pin.js.map +1 -0
  51. package/dist/seatbelt/guards.d.ts +10 -0
  52. package/dist/seatbelt/guards.d.ts.map +1 -0
  53. package/dist/seatbelt/guards.js +509 -0
  54. package/dist/seatbelt/guards.js.map +1 -0
  55. package/dist/seatbelt/hook.d.ts +72 -0
  56. package/dist/seatbelt/hook.d.ts.map +1 -0
  57. package/dist/seatbelt/hook.js +362 -0
  58. package/dist/seatbelt/hook.js.map +1 -0
  59. package/dist/seatbelt/longopts.d.ts +68 -0
  60. package/dist/seatbelt/longopts.d.ts.map +1 -0
  61. package/dist/seatbelt/longopts.js +377 -0
  62. package/dist/seatbelt/longopts.js.map +1 -0
  63. package/dist/seatbelt/mapper.d.ts +83 -0
  64. package/dist/seatbelt/mapper.d.ts.map +1 -0
  65. package/dist/seatbelt/mapper.js +10248 -0
  66. package/dist/seatbelt/mapper.js.map +1 -0
  67. package/dist/seatbelt/record.d.ts +94 -0
  68. package/dist/seatbelt/record.d.ts.map +1 -0
  69. package/dist/seatbelt/record.js +776 -0
  70. package/dist/seatbelt/record.js.map +1 -0
  71. package/dist/seatbelt/tables.d.ts +82 -0
  72. package/dist/seatbelt/tables.d.ts.map +1 -0
  73. package/dist/seatbelt/tables.js +359 -0
  74. package/dist/seatbelt/tables.js.map +1 -0
  75. package/dist/seatbelt-deploy.d.ts +100 -0
  76. package/dist/seatbelt-deploy.d.ts.map +1 -0
  77. package/dist/seatbelt-deploy.js +393 -0
  78. package/dist/seatbelt-deploy.js.map +1 -0
  79. package/dist/seatbelt-fs.d.ts +30 -0
  80. package/dist/seatbelt-fs.d.ts.map +1 -0
  81. package/dist/seatbelt-fs.js +94 -0
  82. package/dist/seatbelt-fs.js.map +1 -0
  83. package/dist/seatbelt-git.d.ts +212 -0
  84. package/dist/seatbelt-git.d.ts.map +1 -0
  85. package/dist/seatbelt-git.js +844 -0
  86. package/dist/seatbelt-git.js.map +1 -0
  87. package/dist/seatbelt-mode.d.ts +77 -0
  88. package/dist/seatbelt-mode.d.ts.map +1 -0
  89. package/dist/seatbelt-mode.js +496 -0
  90. package/dist/seatbelt-mode.js.map +1 -0
  91. package/dist/seatbelt-path.d.ts +123 -0
  92. package/dist/seatbelt-path.d.ts.map +1 -0
  93. package/dist/seatbelt-path.js +482 -0
  94. package/dist/seatbelt-path.js.map +1 -0
  95. package/dist/seatbelt-scripts.d.ts +109 -0
  96. package/dist/seatbelt-scripts.d.ts.map +1 -0
  97. package/dist/seatbelt-scripts.js +1060 -0
  98. package/dist/seatbelt-scripts.js.map +1 -0
  99. package/dist/tool-catalog.js +2 -2
  100. package/dist/tool-catalog.js.map +1 -1
  101. package/dist/types.d.ts +2 -1
  102. package/dist/types.d.ts.map +1 -1
  103. package/package.json +2 -1
  104. package/server.json +3 -3
  105. package/vendor/classifier/MANIFEST.json +25 -0
  106. package/vendor/classifier/classifier.js +1356 -0
  107. package/vendor/classifier/policy-baseline.js +187 -0
  108. package/vendor/classifier/redact.js +59 -0
  109. package/vendor/classifier/shell-parse.js +455 -0
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ /**
3
+ * The MCP servers enabled Codex plugins add, read from the plugin cache the
4
+ * way codex 0.161 lays it out (`codex plugin add` writes
5
+ * `$CODEX_HOME/plugins/cache/<marketplace>/<plugin>/<version>/` and enables
6
+ * `[plugins."<plugin>@<marketplace>"]` in `$CODEX_HOME/config.toml`), and
7
+ * whether a plugin is the official Marrow Codex plugin, proven only by the
8
+ * SHA-256 of every file that decides what its `marrow` server runs.
9
+ *
10
+ * Fail closed: a missing cache, more than one version, a symlink whose real
11
+ * path leaves the cache, a file that is not a regular file, over the size cap
12
+ * or unparsable, an unknown `mcpServers` shape, a plugin file changed after
13
+ * codex started (or no codex process to compare with) means "not proven".
14
+ * Nothing read here is ever logged.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.scanCodexPlugins = scanCodexPlugins;
18
+ const node_crypto_1 = require("node:crypto");
19
+ const node_fs_1 = require("node:fs");
20
+ const node_path_1 = require("node:path");
21
+ const own_server_identity_1 = require("./own-server-identity");
22
+ const codex_plugin_pins_1 = require("./codex-plugin-pins");
23
+ const MAX_PLUGINS = 32;
24
+ /** codex keeps whole-second precision in places and the process start is exact to about a second. */
25
+ const START_MARGIN_MS = 2_000;
26
+ const PLUGIN_ID = /^([A-Za-z0-9_][A-Za-z0-9_.-]{0,127})@([A-Za-z0-9_][A-Za-z0-9_.-]{0,127})$/;
27
+ const MANIFESTS = ['.codex-plugin/plugin.json', '.claude-plugin/plugin.json', '.cursor-plugin/plugin.json'];
28
+ const DEFAULT_MCP_FILE = '.mcp.json';
29
+ function insideRoot(root, real) {
30
+ return real.startsWith(`${root}${node_path_1.sep}`);
31
+ }
32
+ /** A file inside the plugin version directory: relative, no `..`, real path inside the cache. */
33
+ function readPluginFile(at, rel) {
34
+ if (typeof rel !== 'string' || rel.length === 0 || rel.length > 1024 || rel.includes('\0') || (0, node_path_1.isAbsolute)(rel))
35
+ return { state: 'bad' };
36
+ const clean = (0, node_path_1.normalize)(rel);
37
+ if (clean === '..' || clean.startsWith(`..${node_path_1.sep}`) || (0, node_path_1.isAbsolute)(clean))
38
+ return { state: 'bad' };
39
+ const path = (0, node_path_1.join)(at.dir, clean);
40
+ let real;
41
+ try {
42
+ real = (0, node_fs_1.realpathSync)(path);
43
+ }
44
+ catch (error) {
45
+ const code = error?.code;
46
+ return code === 'ENOENT' || code === 'ENOTDIR' ? { state: 'missing' } : { state: 'bad' };
47
+ }
48
+ if (!insideRoot(at.root, real))
49
+ return { state: 'bad' };
50
+ const read = (0, own_server_identity_1.readHostConfigBytes)(real);
51
+ if (read.state !== 'ok')
52
+ return read.state === 'missing' ? { state: 'missing' } : { state: 'bad' };
53
+ try {
54
+ at.newest = Math.max(at.newest, (0, node_fs_1.statSync)(real).mtimeMs, (0, node_fs_1.lstatSync)(path).mtimeMs);
55
+ }
56
+ catch {
57
+ return { state: 'bad' };
58
+ }
59
+ return read;
60
+ }
61
+ function withoutBom(text) {
62
+ return text.charCodeAt(0) === 0xfeff ? text.slice(1) : text;
63
+ }
64
+ function plainObject(value) {
65
+ return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
66
+ }
67
+ /** `{ "mcpServers": { name: {...} } }` or a bare `{ name: {...} }` map; anything else is unknown. */
68
+ function serverNames(value) {
69
+ if (!plainObject(value))
70
+ return null;
71
+ const keys = Object.keys(value);
72
+ if (keys.includes('mcpServers')) {
73
+ if (keys.length !== 1 || !plainObject(value.mcpServers))
74
+ return null;
75
+ value = value.mcpServers;
76
+ }
77
+ const map = value;
78
+ if (!Object.values(map).every(plainObject))
79
+ return null;
80
+ return Object.keys(map);
81
+ }
82
+ function parseJson(text) {
83
+ try {
84
+ return JSON.parse(withoutBom(text));
85
+ }
86
+ catch {
87
+ return undefined;
88
+ }
89
+ }
90
+ function sha256(bytes) {
91
+ return (0, node_crypto_1.createHash)('sha256').update(bytes).digest('hex');
92
+ }
93
+ /** One enabled plugin's servers, and whether its files are exactly a pinned official release. */
94
+ function scanPlugin(cacheRoot, realRoot, id) {
95
+ const match = PLUGIN_ID.exec(id);
96
+ if (!match)
97
+ return 'a Codex plugin id has an unknown form';
98
+ const [, plugin, marketplace] = match;
99
+ const pluginDir = (0, node_path_1.join)(cacheRoot, marketplace, plugin);
100
+ let versions;
101
+ try {
102
+ versions = (0, node_fs_1.readdirSync)(pluginDir);
103
+ }
104
+ catch {
105
+ return 'an enabled Codex plugin is not in the local cache';
106
+ }
107
+ if (versions.length !== 1)
108
+ return versions.length ? 'more than one version of a Codex plugin is cached' : 'an enabled Codex plugin is not in the local cache';
109
+ const dir = (0, node_path_1.join)(pluginDir, versions[0]);
110
+ let realDir;
111
+ try {
112
+ realDir = (0, node_fs_1.realpathSync)(dir);
113
+ if (!(0, node_fs_1.statSync)(realDir).isDirectory())
114
+ return 'a Codex plugin cache entry is not a directory';
115
+ }
116
+ catch {
117
+ return 'a Codex plugin cache entry is unreadable';
118
+ }
119
+ if (!insideRoot(realRoot, realDir))
120
+ return 'a Codex plugin cache entry leaves the cache';
121
+ const at = { root: realRoot, dir, newest: 0 };
122
+ try {
123
+ at.newest = Math.max((0, node_fs_1.lstatSync)(dir).mtimeMs, (0, node_fs_1.statSync)(realDir).mtimeMs);
124
+ }
125
+ catch {
126
+ return 'a Codex plugin cache entry is unreadable';
127
+ }
128
+ const names = new Set();
129
+ const texts = new Map();
130
+ const take = (rel, required) => {
131
+ const read = readPluginFile(at, rel);
132
+ if (read.state === 'missing')
133
+ return required ? 'a Codex plugin file is missing' : null;
134
+ if (read.state === 'bad')
135
+ return 'a Codex plugin file is unreadable, not a regular file, too large or outside the cache';
136
+ texts.set((0, node_path_1.normalize)(rel), read.bytes);
137
+ const parsed = parseJson(read.bytes.toString('utf8'));
138
+ return parsed === undefined ? 'a Codex plugin file does not parse' : { parsed };
139
+ };
140
+ const manifests = [];
141
+ for (const rel of MANIFESTS) {
142
+ const got = take(rel, false);
143
+ if (typeof got === 'string')
144
+ return got;
145
+ if (got === null)
146
+ continue;
147
+ const manifest = got.parsed;
148
+ if (!plainObject(manifest))
149
+ return 'a Codex plugin manifest is not an object';
150
+ manifests.push(manifest);
151
+ const servers = manifest.mcpServers;
152
+ if (servers === undefined)
153
+ continue;
154
+ let found;
155
+ if (typeof servers === 'string') {
156
+ const file = take(servers, true);
157
+ if (typeof file === 'string')
158
+ return file;
159
+ found = serverNames(file.parsed);
160
+ }
161
+ else {
162
+ found = serverNames(servers);
163
+ }
164
+ if (!found)
165
+ return 'a Codex plugin declares MCP servers in an unknown shape';
166
+ for (const name of found)
167
+ names.add(name);
168
+ }
169
+ if (!manifests.length)
170
+ return 'a Codex plugin has no manifest';
171
+ const fallback = take(DEFAULT_MCP_FILE, false);
172
+ if (typeof fallback === 'string')
173
+ return fallback;
174
+ if (fallback !== null) {
175
+ const found = serverNames(fallback.parsed);
176
+ if (!found)
177
+ return 'a Codex plugin declares MCP servers in an unknown shape';
178
+ for (const name of found)
179
+ names.add(name);
180
+ }
181
+ // The official plugin: one codex manifest naming a pinned release, cached under its own version,
182
+ // and every file that decides what its server runs byte-identical to that release.
183
+ let official = false;
184
+ const primary = manifests.length === 1 && texts.has((0, node_path_1.normalize)(MANIFESTS[0])) ? manifests[0] : null;
185
+ const pins = primary && typeof primary.name === 'string' && typeof primary.version === 'string'
186
+ ? codex_plugin_pins_1.OFFICIAL_CODEX_PLUGIN_PINS[`${primary.name}@${primary.version}`]
187
+ : undefined;
188
+ if (pins && (0, node_path_1.basename)(dir) === primary.version) {
189
+ official = Object.entries(pins).every(([rel, digest]) => {
190
+ if (!texts.has((0, node_path_1.normalize)(rel))) {
191
+ const read = readPluginFile(at, rel);
192
+ if (read.state !== 'ok')
193
+ return false;
194
+ texts.set((0, node_path_1.normalize)(rel), read.bytes);
195
+ }
196
+ return sha256(texts.get((0, node_path_1.normalize)(rel))) === digest;
197
+ });
198
+ }
199
+ return { id, official, servers: [...names], newest: at.newest };
200
+ }
201
+ /** Every enabled plugin's MCP server names; any doubt is `bad`. */
202
+ function scanCodexPlugins(options) {
203
+ if (!options.ids.length)
204
+ return { bad: null, plugins: [] };
205
+ if (options.ids.length > MAX_PLUGINS)
206
+ return { bad: 'too many Codex plugins are enabled' };
207
+ if (options.processStartMs === null || !Number.isFinite(options.processStartMs)) {
208
+ return { bad: 'the codex process start is unknown, so plugin files cannot be dated' };
209
+ }
210
+ const plugins = (0, node_path_1.join)(options.codexHome, 'plugins');
211
+ try {
212
+ const staging = (0, node_fs_1.readdirSync)((0, node_path_1.join)(plugins, '.remote-plugin-install-staging'));
213
+ if (staging.length)
214
+ return { bad: 'a remote Codex plugin install is staged' };
215
+ }
216
+ catch (error) {
217
+ if (error?.code !== 'ENOENT')
218
+ return { bad: 'the Codex plugin staging folder is unreadable' };
219
+ }
220
+ const cacheRoot = (0, node_path_1.join)(plugins, 'cache');
221
+ let realRoot;
222
+ try {
223
+ realRoot = (0, node_fs_1.realpathSync)(cacheRoot);
224
+ }
225
+ catch {
226
+ return { bad: 'the Codex plugin cache is missing' };
227
+ }
228
+ const out = [];
229
+ for (const id of options.ids) {
230
+ const scanned = scanPlugin(cacheRoot, realRoot, id);
231
+ if (typeof scanned === 'string')
232
+ return { bad: scanned };
233
+ const { newest, ...plugin } = scanned;
234
+ if (!(newest < options.processStartMs - START_MARGIN_MS))
235
+ return { bad: 'a Codex plugin changed after codex started' };
236
+ out.push(plugin);
237
+ }
238
+ return { bad: null, plugins: out };
239
+ }
240
+ //# sourceMappingURL=codex-plugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-plugins.js","sourceRoot":"","sources":["../src/codex-plugins.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.102";
2
+ export declare const MCP_ADAPTER_VERSION = "3.9.103";
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
@@ -9,7 +9,7 @@ export declare const NATIVE_HOOK_MATCHER: string;
9
9
  */
10
10
  export declare const LEGACY_NATIVE_HOOK_MATCHERS: readonly string[];
11
11
  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";
12
- export declare const MCP_PACKAGE_SPEC = "@getmarrow/mcp@3.9.102";
12
+ export declare const MCP_PACKAGE_SPEC = "@getmarrow/mcp@3.9.103";
13
13
  export declare const CONTEXT_HOOK_COMMAND: string;
14
14
  export declare const PRE_ACTION_HOOK_COMMAND: string;
15
15
  export declare const ACTION_RESULT_HOOK_COMMAND: string;
@@ -1 +1 @@
1
- {"version":3,"file":"hook-contract.d.ts","sourceRoot":"","sources":["../src/hook-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-contract.d.ts","sourceRoot":"","sources":["../src/hook-contract.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ const node_path_1 = require("node:path");
28
28
  const env_1 = require("./env");
29
29
  const normalized_action_1 = require("./normalized-action");
30
30
  const own_tool_1 = require("./own-tool");
31
- exports.MCP_ADAPTER_VERSION = '3.9.102';
31
+ exports.MCP_ADAPTER_VERSION = '3.9.103';
32
32
  exports.NATIVE_HOOK_MATCHER = (0, own_tool_1.nativeHookMatcher)();
33
33
  /**
34
34
  * Matchers older versions wrote, so a hook carrying one needs repair: the
@@ -786,7 +786,10 @@ function lengthOf(value) {
786
786
  * What identifies a tool call in ids sent to Marrow: its normalized action
787
787
  * (secrets replaced by markers, data hashed), never the raw input, which may
788
788
  * hold a secret. No deadline (only the size caps), so every hook process
789
- * derives the same identity for the same call.
789
+ * derives the same identity for the same call. A truncated action is
790
+ * identified by its exact_hmac (keyed on this machine; only certain
791
+ * credentials hidden), so a held call's approval is only ever resumed by the
792
+ * same exact call; a truncated action without one matches nothing.
790
793
  */
791
794
  function actionIdentity(toolName, toolInput) {
792
795
  if (lastIdentity && lastIdentity.toolName === toolName && lastIdentity.toolInput === toolInput)
@@ -794,8 +797,10 @@ function actionIdentity(toolName, toolInput) {
794
797
  const action = (0, normalized_action_1.normalizedHookAction)({ tool_name: toolName, tool_input: toolInput }, { deadlineAt: Number.POSITIVE_INFINITY });
795
798
  // A placeholder (input over the size caps) keeps the input's length, so two such calls rarely share it.
796
799
  const placeholder = Object.keys(action.tool_input).length === 0;
800
+ const exact = action.tool_input.exact_hmac;
797
801
  const value = {
798
- kind: action.tool_kind, programs: action.programs ?? null, paths: action.paths ?? null, input: action.tool_input,
802
+ kind: action.tool_kind, programs: action.programs ?? null, paths: action.paths ?? null,
803
+ input: action.truncated === true && (typeof exact !== 'string' || !/^[0-9a-f]{32}$/.test(exact)) ? { unmatched: (0, node_crypto_1.randomUUID)() } : action.tool_input,
799
804
  ...(placeholder ? { size: lengthOf(toolInput) } : {}),
800
805
  };
801
806
  lastIdentity = { toolName, toolInput, value };
@@ -1 +1 @@
1
- {"version":3,"file":"hook-contract.js","sourceRoot":"","sources":["../src/hook-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-contract.js","sourceRoot":"","sources":["../src/hook-contract.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ import { type HoldPlan } from './host-approval';
3
3
  import { MARROW_OUTAGE_WARNING } from './hook-contract';
4
4
  /** A protected action with no Marrow key anywhere this machine keeps one (MARROW_API_KEY, ~/.marrow/env.local or ~/.marrow/env, owner-only). */
5
5
  export declare const NO_KEY_TEXT = "Marrow has no API key on this machine. Owner: create one at getmarrow.ai/signup, then run the installer activate command in a terminal. Do not retry this action.";
6
+ /** Seatbelt mode `claimed_no_key` (spec §1.1): account evidence on the machine but no usable key. Same text as src/seatbelt/hook.ts. */
7
+ export declare const CLAIMED_NO_KEY_TEXT = "Marrow is linked to an account but has no working key; owner: run `npx -y @getmarrow/install@latest doctor`.";
8
+ /** `claimed_no_key` without account evidence (a mode fallback): the same holds, never an account claim. Same text as src/seatbelt/hook.ts. */
9
+ export declare const SETUP_UNCONFIRMED_TEXT = "Marrow has no working key on this machine and its keyless mode is off here (strict mode, or a home folder it cannot trust); owner: run `npx -y @getmarrow/install@latest doctor`.";
6
10
  export { MARROW_OUTAGE_WARNING };
7
11
  export declare const MAX_PRE_ACTION_INPUT_BYTES: number;
8
12
  export declare const PRE_ACTION_CONTROL_TIMEOUT_MS = 8000;
@@ -33,6 +37,8 @@ type HookHarness = 'claude-code' | 'cline' | 'codex' | 'cursor' | 'gemini' | 'gr
33
37
  export declare const HOLD_OWNER_DENIAL = "Marrow is holding this action for approval. Retry it after approval.";
34
38
  /** Marrow did not answer within the hook's time limit: an action that can be held stays held. */
35
39
  export declare const HELD_SLOW_TEXT = "Marrow did not answer in time, so this action is held. Retry it in a moment.";
40
+ /** Marrow cannot be reached (a real outage): a high-risk action fails closed; routine actions keep the outage allow. */
41
+ export declare const HELD_OFFLINE_TEXT = "Marrow cannot be reached right now, so this high-risk action is held; routine actions keep running. Retry it when Marrow is back.";
36
42
  /** The only denial @getmarrow/install's Grok guard passes through (any other output blocks with a launch failure). */
37
43
  export declare const GROK_FIXED_DENIAL = "Marrow blocked this protected action.";
38
44
  /**
@@ -63,7 +69,7 @@ type PreActionControlResult = {
63
69
  };
64
70
  export declare function isMarrowOutage(result: PreActionControlResult): boolean;
65
71
  export declare function controlFailureKind(error: unknown): PreActionControlResult['failure'];
66
- export declare function controlRejectionMessage(error: unknown, agentId?: string): string;
72
+ export declare function controlRejectionMessage(error: unknown, agentId?: string, kind?: PreActionControlResult['failure']): string;
67
73
  export type OwnerApprovalPrompt = {
68
74
  available: boolean;
69
75
  unavailableReason: string;
@@ -97,8 +103,37 @@ export declare function advisoryGateNotice(runtime: PreActionControlResult['runt
97
103
  export declare function runtimeGateVerdict(runtime: PreActionControlResult['runtime']): GateVerdict | null;
98
104
  export declare function gateDecisionMessage(verdict: GateVerdict, ask: boolean, prompt?: OwnerApprovalPrompt): string;
99
105
  export declare function localControlAllowOutput(harness: 'claude-code' | 'cline' | 'codex' | 'cursor' | 'gemini' | 'grok' | 'windsurf' | 'mcp-client'): Record<string, unknown> | null;
106
+ /** Keyless seatbelt: a host that cannot hand this action to its own approval prompt holds it (no account to approve it). */
107
+ export declare const SEATBELT_HELD_TEXT = "MARROW SEATBELT held this action: this host cannot hand it to its own approval prompt here, and no Marrow account is linked to approve it. This needs the machine owner. Do not retry it another way or edit Marrow settings. Tell the owner: run it yourself in your own terminal, or link a Marrow account with \"npx -y @getmarrow/install@latest activate\" (it needs MARROW_API_KEY set first) so these become approval prompts.";
108
+ export declare const SEATBELT_CURSOR_ASK_USER_TEXT = "Marrow seatbelt (no account linked): approve this action here only if you expected it.";
109
+ export declare const SEATBELT_CURSOR_ASK_AGENT_TEXT = "Cursor is asking the user to approve this action (Marrow seatbelt, no account linked). Wait for the answer; do not retry it another way.";
110
+ /**
111
+ * The keyless seatbelt's answer for an action it does not stop (spec §1.3 "pass": Marrow adds no
112
+ * decision and the host's own permission flow runs). `heldBefore`: the 3.9.103 keyless hook held this
113
+ * action (protected, or not read-only on Windsurf, Gemini or Grok). `null` means exit 0, no output.
114
+ * - Not held before: exactly the answer 3.9.103 gave (its read-only and unprotected passes).
115
+ * - Held before: never an explicit allow that could skip the host's own approval step.
116
+ * Claude Code and Codex `{}` (no permissionDecision), Cline `{cancel:false}`, Windsurf no output:
117
+ * the hosts' neutral answers (see PASS_THROUGH_HOSTS), so their own approval step runs.
118
+ * Gemini CLI `{"decision":"allow"}`: the installed guard passes only that or a fixed denial (no
119
+ * output is a launch failure that blocks), and Gemini applies its own policy and confirmation
120
+ * after the BeforeTool hook whatever an "allow" says, so it is Gemini's neutral answer.
121
+ * Cursor beforeShellExecution / beforeMCPExecution: "ask", so Cursor's own approval prompt decides.
122
+ * Cursor preToolUse (no neutral answer, "ask" not enforced) and Grok (its guard passes only an
123
+ * explicit allow or the fixed denial, and nothing shows an allow keeps Grok's own approval): held,
124
+ * as 3.9.103 did. Any other or missing Cursor event name is treated as preToolUse.
125
+ */
126
+ export declare function seatbeltPassOutput(harness: 'claude-code' | 'cline' | 'codex' | 'cursor' | 'gemini' | 'grok' | 'windsurf' | 'mcp-client', hookEventName: unknown, heldBefore: boolean): Record<string, unknown> | null;
100
127
  export declare function localLoopGuardDenyOutput(harness: 'claude-code' | 'cline' | 'codex' | 'cursor' | 'gemini' | 'grok' | 'windsurf' | 'mcp-client', reason: string): Record<string, unknown> | null;
101
- export declare function classifyTool(event: PreToolUseEvent): {
128
+ /**
129
+ * `ownUnproven`: the label is one of Marrow's own, but the host's server
130
+ * identity check did not prove the official server (Codex, Cursor). Such a
131
+ * call is classified as a protected MCP tool of another server, never
132
+ * read-only (it imitates Marrow's names, so a read verb proves nothing).
133
+ */
134
+ export declare function classifyTool(event: PreToolUseEvent, options?: {
135
+ ownUnproven?: boolean;
136
+ }): {
102
137
  action: string;
103
138
  target: string;
104
139
  type: string;
@@ -145,5 +180,16 @@ export declare function installPreActionHook(startDir?: string): {
145
180
  settingsPath: string;
146
181
  installed: boolean;
147
182
  };
183
+ /**
184
+ * I3: whether a real outage (the gate never answered) holds this action. Never looser than master,
185
+ * which allowed every action in an outage. A shell command is read by the seatbelt mapper: held for an
186
+ * S0-S5/S-x hit or a program on the outage list (git push, publish, deploy, remote delete), allowed
187
+ * when the mapper read all of it and found neither (words in a message, a path or a comment never hold
188
+ * it). Anything else, or a mapper that could not finish, keeps `classifiedHighRisk` (F2).
189
+ */
190
+ export declare function outageHolds(classifiedHighRisk: boolean, read: () => {
191
+ shell: boolean;
192
+ risk: 'high' | 'not_high' | 'unknown';
193
+ }): boolean;
148
194
  export declare function runPreActionHookCommand(input?: unknown): Promise<void>;
149
195
  //# sourceMappingURL=hook-pre-action.d.ts.map