@mnemonik/claude-code-hooks 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hook.js +60 -11
- package/dist/hook.js.map +1 -1
- package/dist/lib/http.d.ts +17 -0
- package/dist/lib/http.js +39 -4
- package/dist/lib/http.js.map +1 -1
- package/package.json +6 -3
package/dist/hook.js
CHANGED
|
@@ -13,7 +13,7 @@ import { existsSync } from 'node:fs';
|
|
|
13
13
|
import { isAbsolute, resolve } from 'node:path';
|
|
14
14
|
import { stdin, stdout, stderr, exit } from 'node:process';
|
|
15
15
|
import { isNonInteractive, parseBypass, resolveConfig } from './lib/env.js';
|
|
16
|
-
import { fetchFileContext, fetchSnapshot, reportBypass } from './lib/http.js';
|
|
16
|
+
import { fetchFileContext, fetchSnapshot, reportBypass, reportGateFired } from './lib/http.js';
|
|
17
17
|
import { BUILT_IN_DESTRUCTIVE, matchCommand, tokenize } from './lib/shellTokens.js';
|
|
18
18
|
const POLICY_DEDUP_WINDOW_MS = 60_000;
|
|
19
19
|
const MUST_CONFIRM_DEDUP_WINDOW_MS = 60_000;
|
|
@@ -31,6 +31,25 @@ function writeAdvisoryNote(message) {
|
|
|
31
31
|
stderr.write(`mnemonik-hook: ${message}\n`);
|
|
32
32
|
exit(0);
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Awaited gate_fired telemetry. The dispatcher process exits synchronously
|
|
36
|
+
* after writeAllow/writeDecision, so any in-flight fetch would be cancelled
|
|
37
|
+
* if we fire-and-forget — that's how the original reportBypass loses events.
|
|
38
|
+
* Awaiting before exit is the only way to reliably land the metric. The
|
|
39
|
+
* lib/http.ts client has a 2s ceiling, so even on a hung server the gate
|
|
40
|
+
* stays responsive.
|
|
41
|
+
*/
|
|
42
|
+
async function emitGateFired(input, config, tool, mode, outcome) {
|
|
43
|
+
await reportGateFired({
|
|
44
|
+
server: config.server,
|
|
45
|
+
apiKey: config.apiKey,
|
|
46
|
+
cwd: input.cwd,
|
|
47
|
+
claudeSessionId: input.session_id,
|
|
48
|
+
tool,
|
|
49
|
+
mode,
|
|
50
|
+
outcome,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
34
53
|
// ─── stdin reader ──────────────────────────────────────────────────────────
|
|
35
54
|
async function readStdin() {
|
|
36
55
|
return new Promise((res) => {
|
|
@@ -107,18 +126,25 @@ function resolveTargetFile(toolName, toolInput, cwd) {
|
|
|
107
126
|
}
|
|
108
127
|
async function handlePreEdit(input, config) {
|
|
109
128
|
const mode = config.forcingFunctions.preEditGate;
|
|
110
|
-
|
|
129
|
+
const tool = input.tool_name ?? 'Edit';
|
|
130
|
+
if (mode === 'off') {
|
|
131
|
+
await emitGateFired(input, config, tool, 'off', 'off');
|
|
111
132
|
writeAllow();
|
|
133
|
+
}
|
|
112
134
|
const target = resolveTargetFile(input.tool_name ?? '', input.tool_input, input.cwd);
|
|
113
135
|
// New file → nothing to ground on. The agent can't have read prior context
|
|
114
136
|
// for a path that doesn't exist yet.
|
|
115
|
-
if (target && !existsSync(target))
|
|
137
|
+
if (target && !existsSync(target)) {
|
|
138
|
+
await emitGateFired(input, config, tool, mode, 'new_file');
|
|
116
139
|
writeAllow();
|
|
140
|
+
}
|
|
117
141
|
// Trivial edit soft-pass — measured from the diff itself, not the agent's
|
|
118
142
|
// claim. Cheap & conservative: only the Edit tool with a small single-line
|
|
119
143
|
// delta qualifies. Saves a server round-trip on every typo / rename.
|
|
120
|
-
if (isTrivialEdit(input.tool_name ?? '', input.tool_input))
|
|
144
|
+
if (isTrivialEdit(input.tool_name ?? '', input.tool_input)) {
|
|
145
|
+
await emitGateFired(input, config, tool, mode, 'trivial');
|
|
121
146
|
writeAllow();
|
|
147
|
+
}
|
|
122
148
|
if (!config.apiKey) {
|
|
123
149
|
writeAdvisoryNote('MNEMONIK_API_KEY missing — fail-open. Run mnemonik-claude-code-hooks install.');
|
|
124
150
|
}
|
|
@@ -129,21 +155,26 @@ async function handlePreEdit(input, config) {
|
|
|
129
155
|
claudeSessionId: input.session_id,
|
|
130
156
|
});
|
|
131
157
|
if (!snapshot) {
|
|
158
|
+
await emitGateFired(input, config, tool, mode, 'unreachable');
|
|
132
159
|
writeAdvisoryNote('mnemonik server unreachable — fail-open.');
|
|
133
160
|
}
|
|
134
161
|
// No active session means the agent hasn't bootstrapped Mnemonik yet. We
|
|
135
162
|
// never block under that condition — bootstrap-first is enforced by other
|
|
136
163
|
// mechanisms.
|
|
137
|
-
if (!snapshot.ok)
|
|
164
|
+
if (!snapshot.ok) {
|
|
165
|
+
await emitGateFired(input, config, tool, mode, 'no_active_session');
|
|
138
166
|
writeAllow();
|
|
167
|
+
}
|
|
139
168
|
// Coverage check uses absolute path equality. The server stores whatever
|
|
140
169
|
// path the agent passed to file_context, so we accept either absolute or
|
|
141
170
|
// cwd-relative form.
|
|
142
171
|
if (target) {
|
|
143
172
|
const relative = target.startsWith(input.cwd) ? target.slice(input.cwd.length + 1) : target;
|
|
144
173
|
const covered = snapshot.coveredFiles.includes(target) || snapshot.coveredFiles.includes(relative);
|
|
145
|
-
if (covered)
|
|
174
|
+
if (covered) {
|
|
175
|
+
await emitGateFired(input, config, tool, mode, 'covered');
|
|
146
176
|
writeAllow();
|
|
177
|
+
}
|
|
147
178
|
}
|
|
148
179
|
if (mode === 'advisory') {
|
|
149
180
|
// Auto-fetch path (plan line 158): synchronously call file_context
|
|
@@ -159,6 +190,7 @@ async function handlePreEdit(input, config) {
|
|
|
159
190
|
filePath: target,
|
|
160
191
|
});
|
|
161
192
|
if (ctx?.ok && ctx.fileContext) {
|
|
193
|
+
await emitGateFired(input, config, tool, mode, 'auto_fetch_hit');
|
|
162
194
|
const decision = {
|
|
163
195
|
hookSpecificOutput: {
|
|
164
196
|
hookEventName: 'PreToolUse',
|
|
@@ -171,6 +203,7 @@ async function handlePreEdit(input, config) {
|
|
|
171
203
|
}
|
|
172
204
|
// Fallback: plain advisory nudge — auto-fetch disabled, server unreachable,
|
|
173
205
|
// or no target path resolvable.
|
|
206
|
+
await emitGateFired(input, config, tool, mode, 'nudge');
|
|
174
207
|
const additionalContext = target
|
|
175
208
|
? [
|
|
176
209
|
`Mnemonik: file_context has not been called for "${target}" in this session.`,
|
|
@@ -190,6 +223,7 @@ async function handlePreEdit(input, config) {
|
|
|
190
223
|
writeDecision(decision);
|
|
191
224
|
}
|
|
192
225
|
// mode === 'enforce'
|
|
226
|
+
await emitGateFired(input, config, tool, mode, 'deny');
|
|
193
227
|
const denyReason = target
|
|
194
228
|
? [
|
|
195
229
|
'MNEMONIK_FILE_CONTEXT_REQUIRED',
|
|
@@ -210,8 +244,10 @@ async function handlePreEdit(input, config) {
|
|
|
210
244
|
// ─── Bash gate ─────────────────────────────────────────────────────────────
|
|
211
245
|
async function handlePreBash(input, config) {
|
|
212
246
|
const mode = config.forcingFunctions.preBashGate;
|
|
213
|
-
if (mode === 'off')
|
|
247
|
+
if (mode === 'off') {
|
|
248
|
+
await emitGateFired(input, config, 'Bash', 'off', 'off');
|
|
214
249
|
writeAllow();
|
|
250
|
+
}
|
|
215
251
|
const command = typeof input.tool_input?.command === 'string' ? input.tool_input.command : '';
|
|
216
252
|
if (!command.trim())
|
|
217
253
|
writeAllow();
|
|
@@ -225,6 +261,7 @@ async function handlePreBash(input, config) {
|
|
|
225
261
|
claudeSessionId: input.session_id,
|
|
226
262
|
});
|
|
227
263
|
if (!snapshot) {
|
|
264
|
+
await emitGateFired(input, config, 'Bash', mode, 'unreachable');
|
|
228
265
|
writeAdvisoryNote('mnemonik server unreachable — fail-open.');
|
|
229
266
|
}
|
|
230
267
|
// Always include the built-in destructive set; project policies extend it.
|
|
@@ -243,8 +280,10 @@ async function handlePreBash(input, config) {
|
|
|
243
280
|
break;
|
|
244
281
|
}
|
|
245
282
|
// No matches → nothing for the gate to do.
|
|
246
|
-
if (!forbiddenHit && !mustConfirmHit)
|
|
283
|
+
if (!forbiddenHit && !mustConfirmHit) {
|
|
284
|
+
await emitGateFired(input, config, 'Bash', mode, 'no_match');
|
|
247
285
|
writeAllow();
|
|
286
|
+
}
|
|
248
287
|
// De-dup: if the agent JUST issued a manual policy({action:'check'}) for
|
|
249
288
|
// the same pattern, or just emitted a mustConfirm pause, don't nag again.
|
|
250
289
|
const now = snapshot.now;
|
|
@@ -255,12 +294,17 @@ async function handlePreBash(input, config) {
|
|
|
255
294
|
const pausedRecently = typeof snapshot.mustConfirmPauseAt === 'number' &&
|
|
256
295
|
now - snapshot.mustConfirmPauseAt < MUST_CONFIRM_DEDUP_WINDOW_MS;
|
|
257
296
|
const hit = forbiddenHit ?? mustConfirmHit;
|
|
258
|
-
if (forbiddenHit && checkedRecently(forbiddenHit))
|
|
297
|
+
if (forbiddenHit && checkedRecently(forbiddenHit)) {
|
|
298
|
+
await emitGateFired(input, config, 'Bash', mode, 'dedup_checked');
|
|
259
299
|
writeAllow();
|
|
260
|
-
|
|
300
|
+
}
|
|
301
|
+
if (mustConfirmHit && (checkedRecently(mustConfirmHit) || pausedRecently)) {
|
|
302
|
+
await emitGateFired(input, config, 'Bash', mode, 'dedup_paused');
|
|
261
303
|
writeAllow();
|
|
304
|
+
}
|
|
262
305
|
if (mode === 'advisory') {
|
|
263
306
|
const kind = forbiddenHit ? 'forbiddenCommand' : 'mustConfirm';
|
|
307
|
+
await emitGateFired(input, config, 'Bash', mode, `advisory_${kind}`);
|
|
264
308
|
const additionalContext = [
|
|
265
309
|
`Mnemonik policy hit (${kind}): pattern "${hit}" matched the command.`,
|
|
266
310
|
'Recommended: call mnemonik.policy({ action: "check", command: "' +
|
|
@@ -278,6 +322,7 @@ async function handlePreBash(input, config) {
|
|
|
278
322
|
writeDecision(decision);
|
|
279
323
|
}
|
|
280
324
|
// mode === 'enforce'
|
|
325
|
+
await emitGateFired(input, config, 'Bash', mode, 'deny');
|
|
281
326
|
const denyReason = [
|
|
282
327
|
'MNEMONIK_POLICY_GATE',
|
|
283
328
|
`Bash blocked: pattern "${hit}" requires a manual policy check or mustConfirm pause first.`,
|
|
@@ -330,7 +375,11 @@ async function dispatch(input) {
|
|
|
330
375
|
}
|
|
331
376
|
const config = await resolveConfig(input.cwd);
|
|
332
377
|
if (bypass.active && config.apiKey) {
|
|
333
|
-
|
|
378
|
+
// Awaited (was fire-and-forget): when the dispatcher exits via writeAllow
|
|
379
|
+
// the in-flight TCP write was getting cancelled before reaching the
|
|
380
|
+
// server, so bypass counts were silently lost. The 500 ms telemetry
|
|
381
|
+
// timeout in lib/http.ts caps the worst case.
|
|
382
|
+
await reportBypass({
|
|
334
383
|
server: config.server,
|
|
335
384
|
apiKey: config.apiKey,
|
|
336
385
|
cwd: input.cwd,
|
package/dist/hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/http.d.ts
CHANGED
|
@@ -26,6 +26,23 @@ export interface FetchFileContextInput {
|
|
|
26
26
|
filePath: string;
|
|
27
27
|
}
|
|
28
28
|
export declare function fetchFileContext(input: FetchFileContextInput): Promise<FileContextResponse | null>;
|
|
29
|
+
/**
|
|
30
|
+
* Fire-and-forget gate-firing telemetry. Every PreToolUse decision (allow,
|
|
31
|
+
* deny, advisory nudge, dedup, soft-pass, bypass, etc.) emits one of these
|
|
32
|
+
* so the dashboard can split firing rate by tool / mode / outcome and
|
|
33
|
+
* detect regressions like "advisory nudge rate spiked after a server
|
|
34
|
+
* deploy". Loss is acceptable — the value is in volume, not per-event.
|
|
35
|
+
*/
|
|
36
|
+
export interface ReportGateFiredInput {
|
|
37
|
+
server: string;
|
|
38
|
+
apiKey: string | null;
|
|
39
|
+
cwd: string;
|
|
40
|
+
claudeSessionId: string;
|
|
41
|
+
tool: string;
|
|
42
|
+
mode: 'advisory' | 'enforce' | 'off';
|
|
43
|
+
outcome: string;
|
|
44
|
+
}
|
|
45
|
+
export declare function reportGateFired(input: ReportGateFiredInput): Promise<void>;
|
|
29
46
|
/**
|
|
30
47
|
* Fire-and-forget bypass telemetry. We always write to a local audit log and
|
|
31
48
|
* additionally try to POST it to the server, but neither failure is allowed
|
package/dist/lib/http.js
CHANGED
|
@@ -4,11 +4,16 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Uses Node 20's global `fetch` — zero npm dependencies on the runtime side.
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
// Snapshot / file-context are on the critical path — they gate the agent's
|
|
8
|
+
// next tool call, so we tolerate up to 2 s. Telemetry is just a counter
|
|
9
|
+
// emit; we'd rather drop a metric than hold the user up, so we hard-cap it
|
|
10
|
+
// at 500 ms.
|
|
11
|
+
const FETCH_TIMEOUT_MS = 2000;
|
|
12
|
+
const TELEMETRY_TIMEOUT_MS = 500;
|
|
8
13
|
export async function fetchSnapshot(input) {
|
|
9
14
|
const url = `${input.server.replace(/\/$/, '')}/api/v1/hooks/snapshot`;
|
|
10
15
|
const ac = new AbortController();
|
|
11
|
-
const timer = setTimeout(() => ac.abort(),
|
|
16
|
+
const timer = setTimeout(() => ac.abort(), FETCH_TIMEOUT_MS);
|
|
12
17
|
try {
|
|
13
18
|
const res = await fetch(url, {
|
|
14
19
|
method: 'POST',
|
|
@@ -33,7 +38,7 @@ export async function fetchSnapshot(input) {
|
|
|
33
38
|
export async function fetchFileContext(input) {
|
|
34
39
|
const url = `${input.server.replace(/\/$/, '')}/api/v1/hooks/file-context`;
|
|
35
40
|
const ac = new AbortController();
|
|
36
|
-
const timer = setTimeout(() => ac.abort(),
|
|
41
|
+
const timer = setTimeout(() => ac.abort(), FETCH_TIMEOUT_MS);
|
|
37
42
|
try {
|
|
38
43
|
const res = await fetch(url, {
|
|
39
44
|
method: 'POST',
|
|
@@ -59,12 +64,42 @@ export async function fetchFileContext(input) {
|
|
|
59
64
|
clearTimeout(timer);
|
|
60
65
|
}
|
|
61
66
|
}
|
|
67
|
+
export async function reportGateFired(input) {
|
|
68
|
+
if (!input.apiKey)
|
|
69
|
+
return;
|
|
70
|
+
const url = `${input.server.replace(/\/$/, '')}/api/v1/hooks/gate-fired`;
|
|
71
|
+
const ac = new AbortController();
|
|
72
|
+
const timer = setTimeout(() => ac.abort(), TELEMETRY_TIMEOUT_MS);
|
|
73
|
+
try {
|
|
74
|
+
await fetch(url, {
|
|
75
|
+
method: 'POST',
|
|
76
|
+
headers: {
|
|
77
|
+
'content-type': 'application/json',
|
|
78
|
+
authorization: `Bearer ${input.apiKey}`,
|
|
79
|
+
},
|
|
80
|
+
body: JSON.stringify({
|
|
81
|
+
cwd: input.cwd,
|
|
82
|
+
claudeSessionId: input.claudeSessionId,
|
|
83
|
+
tool: input.tool,
|
|
84
|
+
mode: input.mode,
|
|
85
|
+
outcome: input.outcome,
|
|
86
|
+
}),
|
|
87
|
+
signal: ac.signal,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
// Telemetry must not crash the hook.
|
|
92
|
+
}
|
|
93
|
+
finally {
|
|
94
|
+
clearTimeout(timer);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
62
97
|
export async function reportBypass(input) {
|
|
63
98
|
if (!input.apiKey)
|
|
64
99
|
return;
|
|
65
100
|
const url = `${input.server.replace(/\/$/, '')}/api/v1/hooks/bypass`;
|
|
66
101
|
const ac = new AbortController();
|
|
67
|
-
const timer = setTimeout(() => ac.abort(),
|
|
102
|
+
const timer = setTimeout(() => ac.abort(), TELEMETRY_TIMEOUT_MS);
|
|
68
103
|
try {
|
|
69
104
|
await fetch(url, {
|
|
70
105
|
method: 'POST',
|
package/dist/lib/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnemonik/claude-code-hooks",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Claude Code PreToolUse / PostToolUse hooks for Mnemonik forcing-functions (advisory grounding gate). filesToWrite delivery of skill/rules/.mnemonik.json continues to flow for ALL clients including Claude Code — this package adds host-side hook gating only. Versioned independently from the @mnemonik/server release cadence (mirrors @mnemonik/scanner).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
],
|
|
13
13
|
"scripts": {
|
|
14
14
|
"build": "tsc",
|
|
15
|
-
"typecheck": "tsc --noEmit"
|
|
15
|
+
"typecheck": "tsc --noEmit",
|
|
16
|
+
"test": "vitest run",
|
|
17
|
+
"test:watch": "vitest"
|
|
16
18
|
},
|
|
17
19
|
"engines": {
|
|
18
20
|
"node": ">=20"
|
|
@@ -24,7 +26,8 @@
|
|
|
24
26
|
],
|
|
25
27
|
"license": "MIT",
|
|
26
28
|
"devDependencies": {
|
|
29
|
+
"@types/node": "^22.0.0",
|
|
27
30
|
"typescript": "^5.3.3",
|
|
28
|
-
"
|
|
31
|
+
"vitest": "^4.1.5"
|
|
29
32
|
}
|
|
30
33
|
}
|