@mnemonik/claude-code-hooks 0.9.48 → 0.9.50

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 CHANGED
@@ -14,14 +14,34 @@ import { existsSync } from 'node:fs';
14
14
  import { stdin, stdout, stderr, exit } from 'node:process';
15
15
  import { isNonInteractive, parseBypass, resolveConfig } from './lib/env.js';
16
16
  import { PRE_EDIT_GATE, PRE_EDIT_ADVISORY_AUTO_FETCH, PRE_MCP_GATE, STOP_CHECKPOINT_GATE, SESSION_START_BOOTSTRAP, PRE_COMPACT_SNAPSHOT, SESSION_END_SAVE, USER_PROMPT_CONTEXT, } from './lib/behavior.js';
17
- import { createPreCompactSnapshot, fetchMcpRecord, fetchMcpPrecheck, fetchAmbient, fetchInjections, fetchJit, postProxySuppressionClear, postSessionStart, postSessionEnd, reportBypass, reportGateFired, reportNativeGrepObserved, } from './lib/http.js';
17
+ import { createPreCompactSnapshot, fetchMcpRecord, fetchMcpPrecheck, fetchAmbient, fetchInjections as fetchInjectionsHttp, fetchJit, postProxySuppressionClear, postSessionStart, postSessionEnd, reportBypass, reportGateFired, reportNativeGrepObserved, } from './lib/http.js';
18
18
  import { POST_TOOL_TIMEOUT_MS } from '@mnemonik/shared/hook-timeouts';
19
19
  import { matchIrreducibleDeny } from './lib/shellTokens.js';
20
20
  import { findProjectIdentity } from '@mnemonik/shared/hook-runtime';
21
21
  import { renderVisibleMnemonikText } from './lib/envelopeDisplay.js';
22
22
  import { fitComposedContext, fitContextText, } from './lib/contextBudget.js';
23
23
  import { hookRuntimeHost, hookSource, isEditTool, isMnemonikMcpTool, isNativeGrepTool, isShellTool, isTrivialHostEdit, resolveTargetFiles, } from './lib/runtimeHost.js';
24
+ import { acknowledgeDeliveryConfirmations, captureReflexDeliveries, clearPendingDeliveries, sweepStaleSessionDirs, collectDeliveryConfirmations, getOrCreateSessionSalt, } from './lib/creditCapture.js';
25
+ import { buildActionObservation } from './lib/actionCapture.js';
24
26
  const RUNTIME_HOST = hookRuntimeHost();
27
+ // One hook payload is handled per process. These values let every existing
28
+ // /hooks/injections call piggyback the same proof without adding a request.
29
+ let activeHookInput = null;
30
+ let activeConfirmations = [];
31
+ let activeActionObservation;
32
+ function fetchInjections(input) {
33
+ return fetchInjectionsHttp({
34
+ ...input,
35
+ toolUseId: activeHookInput?.tool_use_id,
36
+ confirmations: activeConfirmations,
37
+ actionObservation: activeActionObservation,
38
+ }).then((response) => {
39
+ if (activeHookInput && response?.confirmedDeliveryRefs) {
40
+ acknowledgeDeliveryConfirmations(activeHookInput.session_id, response.confirmedDeliveryRefs);
41
+ }
42
+ return response;
43
+ });
44
+ }
25
45
  // ─── Host timezone capture ─────────────────────────────────────────────────
26
46
  function captureHostTz() {
27
47
  try {
@@ -41,6 +61,10 @@ function writeDecision(decision) {
41
61
  function writeAllow() {
42
62
  exit(0);
43
63
  }
64
+ function writeDeliveryDecision(input, response, decision) {
65
+ captureReflexDeliveries(input, decision.hookSpecificOutput.additionalContext ?? '', response);
66
+ writeDecision(decision);
67
+ }
44
68
  function writeAdvisoryNote(message) {
45
69
  stderr.write(`mnemonik-hook: ${message}\n`);
46
70
  exit(0);
@@ -81,6 +105,7 @@ async function emitGateFired(input, config, tool, mode, outcome) {
81
105
  tool,
82
106
  mode,
83
107
  outcome,
108
+ actionObservation: activeActionObservation,
84
109
  });
85
110
  }
86
111
  // ─── stdin reader ──────────────────────────────────────────────────────────
@@ -188,7 +213,7 @@ async function handlePreEdit(input, config) {
188
213
  .filter((inj) => inj.signal === 'reflex_recall')
189
214
  .map((inj) => renderVisibleMnemonikText(inj.envelope));
190
215
  if (trivialRecall.length > 0) {
191
- writeDecision({
216
+ writeDeliveryDecision(input, trivialInjections, {
192
217
  hookSpecificOutput: {
193
218
  hookEventName: 'PreToolUse',
194
219
  permissionDecision: 'allow',
@@ -241,7 +266,7 @@ async function handlePreEdit(input, config) {
241
266
  if (!required) {
242
267
  await emitGateFired(input, config, tool, mode, 'covered');
243
268
  if (reflexNotes.length > 0) {
244
- writeDecision({
269
+ writeDeliveryDecision(input, injectionsResult, {
245
270
  hookSpecificOutput: {
246
271
  hookEventName: 'PreToolUse',
247
272
  permissionDecision: 'allow',
@@ -268,7 +293,7 @@ async function handlePreEdit(input, config) {
268
293
  additionalContext: [renderVisibleMnemonikText(required.envelope), ...reflexNotes].join('\n\n'),
269
294
  },
270
295
  };
271
- writeDecision(decision);
296
+ writeDeliveryDecision(input, injectionsResult, decision);
272
297
  }
273
298
  // Kill switch (PRE_EDIT_ADVISORY_AUTO_FETCH=false) — the directive remains unsatisfied.
274
299
  // file_context_required is classified as a directive in InjectionBus
@@ -470,7 +495,7 @@ async function handlePreBash(input, config) {
470
495
  additionalContext: lines.join('\n'),
471
496
  },
472
497
  };
473
- writeDecision(decision);
498
+ writeDeliveryDecision(input, injectionsResult, decision);
474
499
  }
475
500
  // ─── PreToolUse MCP precheck: rule-engine verdict for mcp__mnemonik__.* ────
476
501
  /**
@@ -515,6 +540,7 @@ async function handlePreMcp(input, config) {
515
540
  claudeSessionId: input.session_id,
516
541
  tool,
517
542
  args,
543
+ actionObservation: activeActionObservation,
518
544
  });
519
545
  if (!result?.ok) {
520
546
  await emitGateFired(input, config, tool, mode, result ? 'not_ok' : 'unreachable');
@@ -603,6 +629,7 @@ async function handlePreGrep(input, config) {
603
629
  projectId: (await findProjectIdentity(input.cwd))?.projectId,
604
630
  sessionId: input.session_id,
605
631
  toolName: input.tool_name,
632
+ actionObservation: activeActionObservation,
606
633
  })
607
634
  : null;
608
635
  // If this increment crossed the grep threshold, the server pushed the
@@ -632,6 +659,8 @@ async function handlePreGrep(input, config) {
632
659
  * keeps cold-start timing/dedup/noise policy in InjectionBus.
633
660
  */
634
661
  async function handleSessionStart(input, config) {
662
+ // Bound local litter to one day: sweep abandoned credit-capture session dirs (owner rule 2026-08-19).
663
+ sweepStaleSessionDirs();
635
664
  if (SESSION_START_BOOTSTRAP === 'off')
636
665
  writeAllow();
637
666
  if (!config.apiKey)
@@ -731,11 +760,13 @@ async function handlePreCompact(input, config) {
731
760
  cwd: input.cwd,
732
761
  projectId: (await findProjectIdentity(input.cwd))?.projectId,
733
762
  claudeSessionId: input.session_id,
763
+ actionObservation: activeActionObservation,
734
764
  });
735
765
  writeAllow();
736
766
  }
737
767
  // ─── SessionEnd: fire-and-forget save (P5) ──────────────────────────────────
738
768
  async function handleSessionEnd(input, config) {
769
+ clearPendingDeliveries(input.session_id);
739
770
  if (SESSION_END_SAVE === 'off')
740
771
  writeAllow();
741
772
  if (!config.apiKey)
@@ -748,6 +779,7 @@ async function handleSessionEnd(input, config) {
748
779
  cwd: input.cwd,
749
780
  projectId: (await findProjectIdentity(input.cwd))?.projectId,
750
781
  claudeSessionId: input.session_id,
782
+ actionObservation: activeActionObservation,
751
783
  });
752
784
  // v5.10.7: clear the proxy's per-session reminder suppression set so the
753
785
  // next session re-injects Layer 0 / 2 / 3 on first relevance. The set has NO
@@ -934,7 +966,12 @@ async function handlePostEdit(input, config) {
934
966
  'content-type': 'application/json',
935
967
  authorization: `Bearer ${config.apiKey}`,
936
968
  },
937
- body: JSON.stringify({ sessionId: input.session_id, filePath, cwd: input.cwd }),
969
+ body: JSON.stringify({
970
+ sessionId: input.session_id,
971
+ filePath,
972
+ cwd: input.cwd,
973
+ actionObservation: activeActionObservation,
974
+ }),
938
975
  signal: ac.signal,
939
976
  }).catch(() => undefined);
940
977
  }
@@ -988,6 +1025,7 @@ async function handlePostMcp(input, config) {
988
1025
  tool,
989
1026
  args: (input.tool_input ?? {}),
990
1027
  result: input.tool_response,
1028
+ actionObservation: activeActionObservation,
991
1029
  });
992
1030
  }
993
1031
  catch {
@@ -1000,6 +1038,10 @@ async function dispatch(input) {
1000
1038
  // CI / non-interactive — always allow, never block.
1001
1039
  if (isNonInteractive())
1002
1040
  writeAllow();
1041
+ activeHookInput = input;
1042
+ activeConfirmations = collectDeliveryConfirmations(input);
1043
+ const sessionSalt = getOrCreateSessionSalt(input.session_id);
1044
+ activeActionObservation = sessionSalt ? buildActionObservation(input, sessionSalt) : undefined;
1003
1045
  const bypass = parseBypass();
1004
1046
  if (bypass.invalidReason) {
1005
1047
  // Malformed bypass envelope: refuse to honour it AND tell the agent why
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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"}
@@ -0,0 +1,9 @@
1
+ import type { ActionObservationPayload, HookInput, TokenFingerprint } from './types.js';
2
+ export declare function stableJson(value: unknown): string;
3
+ export declare function fingerprintSurface(value: unknown, sessionSalt: string): TokenFingerprint[];
4
+ export declare function normalizeActionClass(toolName: string, toolInput: Record<string, unknown>): string;
5
+ export declare function transcriptSequence(input: HookInput): {
6
+ seq?: number;
7
+ transcriptRef?: string;
8
+ };
9
+ export declare function buildActionObservation(input: HookInput, sessionSalt: string): ActionObservationPayload | undefined;
@@ -0,0 +1,211 @@
1
+ import { createHash, createHmac } from 'node:crypto';
2
+ import { statSync } from 'node:fs';
3
+ import { resolve } from 'node:path';
4
+ const MAX_FINGERPRINTS = 128;
5
+ const SHA256_RE = /^[a-f0-9]{64}$/;
6
+ function sha256(value) {
7
+ return createHash('sha256').update(value).digest('hex');
8
+ }
9
+ function stableValue(value) {
10
+ if (Array.isArray(value))
11
+ return value.map(stableValue);
12
+ if (value && typeof value === 'object') {
13
+ return Object.fromEntries(Object.entries(value)
14
+ .sort(([a], [b]) => a.localeCompare(b))
15
+ .map(([key, item]) => [key, stableValue(item)]));
16
+ }
17
+ return value;
18
+ }
19
+ export function stableJson(value) {
20
+ return JSON.stringify(stableValue(value)) ?? 'null';
21
+ }
22
+ function stringLeaves(value, into) {
23
+ if (typeof value === 'string') {
24
+ into.push(value);
25
+ return;
26
+ }
27
+ if (Array.isArray(value)) {
28
+ for (const item of value)
29
+ stringLeaves(item, into);
30
+ return;
31
+ }
32
+ if (value && typeof value === 'object') {
33
+ for (const item of Object.values(value))
34
+ stringLeaves(item, into);
35
+ }
36
+ }
37
+ export function fingerprintSurface(value, sessionSalt) {
38
+ if (!SHA256_RE.test(sessionSalt))
39
+ return [];
40
+ const strings = [];
41
+ stringLeaves(value, strings);
42
+ const seen = new Set();
43
+ const fingerprints = [];
44
+ for (const text of strings) {
45
+ const tokens = text
46
+ .normalize('NFC')
47
+ .toLowerCase()
48
+ .split(/[^\p{L}\p{N}]+/u);
49
+ for (const token of tokens) {
50
+ if (token.length < 4 || seen.has(token))
51
+ continue;
52
+ seen.add(token);
53
+ fingerprints.push({
54
+ hash: createHmac('sha256', Buffer.from(sessionSalt, 'hex'))
55
+ .update(token)
56
+ .digest('hex')
57
+ .slice(0, 32),
58
+ length: token.length,
59
+ });
60
+ if (fingerprints.length >= MAX_FINGERPRINTS)
61
+ return fingerprints;
62
+ }
63
+ }
64
+ return fingerprints;
65
+ }
66
+ function withoutPreImage(input) {
67
+ const result = { ...input };
68
+ delete result.old_string;
69
+ delete result.oldString;
70
+ return result;
71
+ }
72
+ function targetValues(input) {
73
+ const args = input.tool_input ?? {};
74
+ const values = [];
75
+ for (const key of ['file_path', 'notebook_path', 'path', 'memoryId', 'memory_id', 'id']) {
76
+ const value = args[key];
77
+ if (typeof value === 'string' && value)
78
+ values.push(value);
79
+ }
80
+ for (const key of ['memoryIds', 'memory_ids', 'ids']) {
81
+ const value = args[key];
82
+ if (Array.isArray(value)) {
83
+ values.push(...value.filter((item) => typeof item === 'string' && !!item));
84
+ }
85
+ }
86
+ return [...new Set(values)].map((value) => value.includes('/') || value.includes('\\') ? resolve(input.cwd, value) : value);
87
+ }
88
+ function commandClass(command) {
89
+ const normalized = command.normalize('NFC').toLowerCase();
90
+ if (/\b(vitest|jest|pytest|rspec|cargo\s+test|go\s+test|npm\s+(run\s+)?test|make\s+test)\b/.test(normalized)) {
91
+ return 'validator_test';
92
+ }
93
+ if (/\b(tsc|typecheck|mypy|pyright|cargo\s+check)\b/.test(normalized)) {
94
+ return 'validator_typecheck';
95
+ }
96
+ if (/\b(eslint|prettier\s+--check|ruff|golangci-lint|npm\s+run\s+lint|make\s+lint)\b/.test(normalized)) {
97
+ return 'validator_lint';
98
+ }
99
+ if (/\b(npm\s+run\s+build|pnpm\s+build|yarn\s+build|make\s+build|cargo\s+build|go\s+build)\b/.test(normalized)) {
100
+ return 'validator_build';
101
+ }
102
+ return 'shell';
103
+ }
104
+ export function normalizeActionClass(toolName, toolInput) {
105
+ const lower = toolName.toLowerCase();
106
+ if (lower.includes('bash') || lower.includes('shell') || lower.includes('terminal')) {
107
+ return commandClass(typeof toolInput.command === 'string' ? toolInput.command : '');
108
+ }
109
+ if (lower.includes('memory_state') || lower.includes('reinforce')) {
110
+ const action = typeof toolInput.action === 'string' ? toolInput.action : '';
111
+ if (action === 'penalize')
112
+ return 'memory_penalize';
113
+ if (action === 'reinforce')
114
+ return 'memory_reinforce';
115
+ }
116
+ if (lower === 'edit' || lower.includes('strreplace') || lower.includes('replace'))
117
+ return 'edit';
118
+ if (lower === 'write' || lower.includes('write'))
119
+ return 'write';
120
+ if (lower.includes('notebook'))
121
+ return 'notebook_edit';
122
+ if (lower.includes('grep'))
123
+ return 'search';
124
+ return `tool:${lower || 'unknown'}`;
125
+ }
126
+ function resultExitStatus(result) {
127
+ const visit = (value, depth = 0) => {
128
+ if (depth > 5 || !value || typeof value !== 'object')
129
+ return undefined;
130
+ const row = value;
131
+ for (const key of ['exitCode', 'exit_code', 'statusCode', 'status_code']) {
132
+ const code = row[key];
133
+ if (typeof code === 'number' && Number.isFinite(code))
134
+ return `exit:${code}`;
135
+ }
136
+ if (row.is_error === true || row.isError === true || row.error)
137
+ return 'error';
138
+ if (row.ok === false || row.success === false)
139
+ return 'error';
140
+ for (const child of Object.values(row)) {
141
+ const found = visit(child, depth + 1);
142
+ if (found)
143
+ return found;
144
+ }
145
+ return undefined;
146
+ };
147
+ return visit(result) ?? 'unknown';
148
+ }
149
+ export function transcriptSequence(input) {
150
+ if (!input.transcript_path)
151
+ return {};
152
+ try {
153
+ const seq = statSync(input.transcript_path).size;
154
+ return { seq, transcriptRef: sha256(input.transcript_path) };
155
+ }
156
+ catch {
157
+ return {};
158
+ }
159
+ }
160
+ export function buildActionObservation(input, sessionSalt) {
161
+ const event = input.hook_event_name === 'PreToolUse'
162
+ ? 'pre_tool_use'
163
+ : input.hook_event_name === 'PostToolUse'
164
+ ? 'post_tool_use'
165
+ : input.hook_event_name === 'UserPromptSubmit'
166
+ ? 'user_prompt'
167
+ : input.hook_event_name === 'PreCompact'
168
+ ? 'compaction'
169
+ : input.hook_event_name === 'SessionEnd'
170
+ ? 'session_end'
171
+ : undefined;
172
+ if (!event)
173
+ return undefined;
174
+ const { seq, transcriptRef } = transcriptSequence(input);
175
+ if (event !== 'pre_tool_use' && event !== 'post_tool_use') {
176
+ return {
177
+ event,
178
+ nativeActionRef: `boundary:${event}:${seq ?? 'unknown'}`,
179
+ actionClass: 'boundary',
180
+ targetHashes: [],
181
+ fingerprintSet: { args: [], preImage: [] },
182
+ ...(seq !== undefined ? { seq } : {}),
183
+ ...(transcriptRef ? { transcriptRef } : {}),
184
+ };
185
+ }
186
+ if (!input.tool_use_id)
187
+ return undefined;
188
+ const args = input.tool_input ?? {};
189
+ const safeArgs = withoutPreImage(args);
190
+ const preImage = args.old_string ?? args.oldString;
191
+ return {
192
+ event,
193
+ nativeActionRef: input.tool_use_id,
194
+ actionClass: normalizeActionClass(input.tool_name ?? '', args),
195
+ targetHashes: targetValues(input).map(sha256),
196
+ argHash: sha256(stableJson(safeArgs)),
197
+ ...(event === 'post_tool_use'
198
+ ? {
199
+ resultHash: sha256(stableJson(input.tool_response)),
200
+ exitStatus: resultExitStatus(input.tool_response),
201
+ }
202
+ : {}),
203
+ fingerprintSet: {
204
+ args: fingerprintSurface(safeArgs, sessionSalt),
205
+ preImage: fingerprintSurface(preImage, sessionSalt),
206
+ },
207
+ ...(seq !== undefined ? { seq } : {}),
208
+ ...(transcriptRef ? { transcriptRef } : {}),
209
+ };
210
+ }
211
+ //# sourceMappingURL=actionCapture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionCapture.js","sourceRoot":"","sources":["../../src/lib/actionCapture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /** Private, fail-open Claude Code transcript confirmation. */
2
+ import type { DeliveryConfirmation, HookInput, InjectionsResponse } from './types.js';
3
+ export interface PendingDelivery {
4
+ deliveryRef: string;
5
+ emittedHashes: string[];
6
+ rendererVersion: string;
7
+ transcriptByteOffset: number;
8
+ sessionSalt: string;
9
+ }
10
+ export declare function pendingDeliveryPath(sessionId: string): string;
11
+ /** Generate one random salt per host session without any awaited work. */
12
+ export declare function getOrCreateSessionSalt(sessionId: string): string;
13
+ /** One bounded O_APPEND write. Any failure is silent and never blocks emission. */
14
+ export declare function appendPendingDelivery(sessionId: string, record: PendingDelivery): boolean;
15
+ /** Parse only bytes appended after each stored transcript offset. */
16
+ export declare function collectDeliveryConfirmations(input: HookInput): DeliveryConfirmation[];
17
+ /** Remove accepted references after the existing request returns. */
18
+ export declare function acknowledgeDeliveryConfirmations(sessionId: string, accepted: string[]): void;
19
+ /** Sessions older than this can never confirm again (confirmation rides the SAME session's next hook event). */
20
+ export declare const STALE_SESSION_MS: number;
21
+ /**
22
+ * Remove abandoned session directories. Users close IDEs; SessionEnd rarely
23
+ * fires; the OS temp cleaner is not our contract. Runs once per SessionStart:
24
+ * one readdir plus one lstat per entry, synchronous, best-effort. Skips
25
+ * anything that is not a plain directory (symlinks, junctions, files) and
26
+ * never throws.
27
+ */
28
+ export declare function sweepStaleSessionDirs(now?: number): number;
29
+ /** Remove one session's private pending log on clean SessionEnd. */
30
+ export declare function clearPendingDeliveries(sessionId: string): void;
31
+ /** Record the reflex fragments that survived final additionalContext composition. */
32
+ export declare function captureReflexDeliveries(input: HookInput, additionalContext: string, response: InjectionsResponse | null): boolean;
@@ -0,0 +1,417 @@
1
+ /** Private, fail-open Claude Code transcript confirmation. */
2
+ import { createHash, randomBytes } from 'node:crypto';
3
+ import { chmodSync, closeSync, constants, existsSync, fstatSync, lstatSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, renameSync, rmSync, rmdirSync, statSync, unlinkSync, writeFileSync, writeSync, } from 'node:fs';
4
+ import { tmpdir } from 'node:os';
5
+ import { dirname, join } from 'node:path';
6
+ const MAX_PENDING_BYTES = 1024 * 1024;
7
+ const MAX_RECORD_BYTES = 64 * 1024;
8
+ const MAX_DELTA_BYTES = 8 * 1024 * 1024;
9
+ const DELTA_READ_CHUNK_BYTES = 64 * 1024;
10
+ const POINTER_RE = /— memory_get [0-9a-f]{8}/gi;
11
+ const ATTACHMENT_MARKER = Buffer.from('"hook_additional_context"');
12
+ function sha256(value) {
13
+ return createHash('sha256').update(value).digest('hex');
14
+ }
15
+ function privateRoot() {
16
+ const uid = typeof process.getuid === 'function' ? process.getuid() : 'user';
17
+ return join(tmpdir(), `mnemonik-credit-${uid}`);
18
+ }
19
+ export function pendingDeliveryPath(sessionId) {
20
+ return join(privateRoot(), sha256(sessionId), 'pending.jsonl');
21
+ }
22
+ function sessionSaltPath(sessionId) {
23
+ return join(privateRoot(), sha256(sessionId), 'session.salt');
24
+ }
25
+ /** Generate one random salt per host session without any awaited work. */
26
+ export function getOrCreateSessionSalt(sessionId) {
27
+ const path = sessionSaltPath(sessionId);
28
+ let fd = null;
29
+ try {
30
+ if (!ensurePrivateDirectory(path) || !secureRegularFile(path))
31
+ return '';
32
+ try {
33
+ fd = openSync(path, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | (constants.O_NOFOLLOW ?? 0), 0o600);
34
+ const salt = randomBytes(32).toString('hex');
35
+ if (writeSync(fd, salt, 0, 'utf8') !== salt.length)
36
+ return '';
37
+ return salt;
38
+ }
39
+ catch {
40
+ if (fd !== null) {
41
+ try {
42
+ closeSync(fd);
43
+ }
44
+ catch {
45
+ // Fall through to the winner's file.
46
+ }
47
+ fd = null;
48
+ }
49
+ const existing = readFileSync(path, 'utf8').trim();
50
+ return /^[a-f0-9]{64}$/.test(existing) ? existing : '';
51
+ }
52
+ }
53
+ catch {
54
+ return '';
55
+ }
56
+ finally {
57
+ if (fd !== null) {
58
+ try {
59
+ closeSync(fd);
60
+ }
61
+ catch {
62
+ // Fail-open.
63
+ }
64
+ }
65
+ }
66
+ }
67
+ function ensurePrivateDirectory(path) {
68
+ try {
69
+ const root = privateRoot();
70
+ if (existsSync(root) && lstatSync(root).isSymbolicLink())
71
+ return false;
72
+ mkdirSync(root, { recursive: true, mode: 0o700 });
73
+ chmodSync(root, 0o700);
74
+ if (existsSync(dirname(path)) && lstatSync(dirname(path)).isSymbolicLink())
75
+ return false;
76
+ mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
77
+ chmodSync(dirname(path), 0o700);
78
+ return !lstatSync(root).isSymbolicLink() && !lstatSync(dirname(path)).isSymbolicLink();
79
+ }
80
+ catch {
81
+ return false;
82
+ }
83
+ }
84
+ function secureRegularFile(path) {
85
+ try {
86
+ if (!existsSync(path))
87
+ return true;
88
+ const stat = lstatSync(path);
89
+ return stat.isFile() && !stat.isSymbolicLink() && (stat.mode & 0o077) === 0;
90
+ }
91
+ catch {
92
+ return false;
93
+ }
94
+ }
95
+ /** One bounded O_APPEND write. Any failure is silent and never blocks emission. */
96
+ export function appendPendingDelivery(sessionId, record) {
97
+ const path = pendingDeliveryPath(sessionId);
98
+ let fd = null;
99
+ try {
100
+ if (!ensurePrivateDirectory(path) || !secureRegularFile(path))
101
+ return false;
102
+ const existingBytes = existsSync(path) ? statSync(path).size : 0;
103
+ if (existingBytes >= MAX_PENDING_BYTES)
104
+ return false;
105
+ const line = Buffer.from(`${JSON.stringify(record)}\n`, 'utf8');
106
+ if (line.length > MAX_RECORD_BYTES || existingBytes + line.length > MAX_PENDING_BYTES) {
107
+ return false;
108
+ }
109
+ fd = openSync(path, constants.O_WRONLY | constants.O_CREAT | constants.O_APPEND | (constants.O_NOFOLLOW ?? 0), 0o600);
110
+ const stat = fstatSync(fd);
111
+ if (!stat.isFile() || (stat.mode & 0o077) !== 0)
112
+ return false;
113
+ return writeSync(fd, line, 0, line.length) === line.length;
114
+ }
115
+ catch {
116
+ return false;
117
+ }
118
+ finally {
119
+ if (fd !== null) {
120
+ try {
121
+ closeSync(fd);
122
+ }
123
+ catch {
124
+ // Fail-open and log nothing.
125
+ }
126
+ }
127
+ }
128
+ }
129
+ function readPending(sessionId) {
130
+ const path = pendingDeliveryPath(sessionId);
131
+ try {
132
+ if (!secureRegularFile(path))
133
+ return [];
134
+ const text = readFileSync(path, 'utf8');
135
+ if (Buffer.byteLength(text) > MAX_PENDING_BYTES)
136
+ return [];
137
+ return text
138
+ .split('\n')
139
+ .filter(Boolean)
140
+ .slice(-32)
141
+ .flatMap((line) => {
142
+ try {
143
+ const record = JSON.parse(line);
144
+ return typeof record.deliveryRef === 'string' &&
145
+ Array.isArray(record.emittedHashes) &&
146
+ typeof record.rendererVersion === 'string' &&
147
+ Number.isSafeInteger(record.transcriptByteOffset) &&
148
+ record.transcriptByteOffset >= 0 &&
149
+ typeof record.sessionSalt === 'string' &&
150
+ /^[a-f0-9]{64}$/.test(record.sessionSalt)
151
+ ? [record]
152
+ : [];
153
+ }
154
+ catch {
155
+ return [];
156
+ }
157
+ });
158
+ }
159
+ catch {
160
+ return [];
161
+ }
162
+ }
163
+ /**
164
+ * Match exact item hashes without assuming memory text has no blank lines.
165
+ * Every blank-line boundary before a pointer is tried; only a server-supplied
166
+ * SHA-256 match is admitted.
167
+ */
168
+ function matchFragments(content, expected) {
169
+ const matches = [];
170
+ let cursor = 0;
171
+ let pointerIndex = 0;
172
+ POINTER_RE.lastIndex = 0;
173
+ let pointer;
174
+ while ((pointer = POINTER_RE.exec(content)) !== null && matches.length < expected.length) {
175
+ const end = pointer.index + pointer[0].length;
176
+ const starts = [cursor];
177
+ let boundary = content.indexOf('\n\n', cursor);
178
+ while (boundary >= 0 && boundary < pointer.index) {
179
+ starts.push(boundary + 2);
180
+ boundary = content.indexOf('\n\n', boundary + 2);
181
+ }
182
+ for (const start of starts) {
183
+ const candidate = content.slice(start, end).trim();
184
+ if (sha256(candidate) === expected[matches.length]) {
185
+ matches.push({ hash: expected[matches.length], fragmentIndex: pointerIndex });
186
+ cursor = end;
187
+ break;
188
+ }
189
+ }
190
+ pointerIndex += 1;
191
+ }
192
+ return matches;
193
+ }
194
+ function readTranscriptDelta(path, offset) {
195
+ let fd = null;
196
+ try {
197
+ const stat = lstatSync(path);
198
+ if (!stat.isFile() || stat.isSymbolicLink() || offset > stat.size)
199
+ return null;
200
+ const length = stat.size - offset;
201
+ if (length <= 0 || length > MAX_DELTA_BYTES)
202
+ return null;
203
+ fd = openSync(path, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0));
204
+ let out = Buffer.allocUnsafe(Math.min(length, DELTA_READ_CHUNK_BYTES));
205
+ let total = 0;
206
+ while (total < length) {
207
+ if (total === out.length) {
208
+ const expanded = Buffer.allocUnsafe(Math.min(length, out.length + DELTA_READ_CHUNK_BYTES));
209
+ out.copy(expanded, 0, 0, total);
210
+ out = expanded;
211
+ }
212
+ const read = readSync(fd, out, total, out.length - total, offset + total);
213
+ if (read <= 0)
214
+ return null;
215
+ total += read;
216
+ const current = out.subarray(0, total);
217
+ const markerAt = current.indexOf(ATTACHMENT_MARKER);
218
+ if (markerAt >= 0) {
219
+ const newlineAt = current.indexOf(0x0a, markerAt);
220
+ if (newlineAt >= 0)
221
+ return current.subarray(0, newlineAt + 1);
222
+ if (total === length)
223
+ return current;
224
+ }
225
+ }
226
+ return out.subarray(0, total);
227
+ }
228
+ catch {
229
+ return null;
230
+ }
231
+ finally {
232
+ if (fd !== null) {
233
+ try {
234
+ closeSync(fd);
235
+ }
236
+ catch {
237
+ // Read failure is silent.
238
+ }
239
+ }
240
+ }
241
+ }
242
+ /** Parse only bytes appended after each stored transcript offset. */
243
+ export function collectDeliveryConfirmations(input) {
244
+ if (!input.transcript_path)
245
+ return [];
246
+ const pending = readPending(input.session_id);
247
+ const transcriptRef = sha256(input.transcript_path);
248
+ const confirmations = [];
249
+ for (const record of pending) {
250
+ const delta = readTranscriptDelta(input.transcript_path, record.transcriptByteOffset);
251
+ if (!delta)
252
+ continue;
253
+ let best;
254
+ // Multi-MB tool results dominate transcript deltas. Search for the exact
255
+ // attachment discriminator first, then JSON-decode only those JSONL lines.
256
+ // This preserves the reference parser's malformed-line behavior without
257
+ // allocating an array or parsing thousands of unrelated tool-result rows.
258
+ let searchFrom = 0;
259
+ const marker = ATTACHMENT_MARKER;
260
+ while (searchFrom < delta.length) {
261
+ const markerAt = delta.indexOf(marker, searchFrom);
262
+ if (markerAt < 0)
263
+ break;
264
+ const lineStart = delta.lastIndexOf(0x0a, markerAt) + 1;
265
+ const newlineAt = delta.indexOf(0x0a, markerAt);
266
+ const lineEnd = newlineAt < 0 ? delta.length : newlineAt;
267
+ const line = delta.subarray(lineStart, lineEnd).toString('utf8');
268
+ const currentOffset = record.transcriptByteOffset + lineStart;
269
+ searchFrom = lineEnd + 1;
270
+ try {
271
+ const parsed = JSON.parse(line);
272
+ if (parsed.type !== 'attachment' ||
273
+ parsed.attachment?.type !== 'hook_additional_context' ||
274
+ !Array.isArray(parsed.attachment.content)) {
275
+ continue;
276
+ }
277
+ parsed.attachment.content.forEach((content, contentIndex) => {
278
+ const found = matchFragments(content, record.emittedHashes);
279
+ if (found.length === 0)
280
+ return;
281
+ const candidate = {
282
+ hashes: found.map((item) => item.hash),
283
+ positions: found.map((item) => ({
284
+ transcriptRef,
285
+ byteOffset: currentOffset,
286
+ contentIndex,
287
+ fragmentIndex: item.fragmentIndex,
288
+ })),
289
+ };
290
+ if (!best || candidate.hashes.length > best.hashes.length)
291
+ best = candidate;
292
+ });
293
+ }
294
+ catch {
295
+ // Reference parser contract: malformed JSONL lines are ignored.
296
+ }
297
+ }
298
+ if (best) {
299
+ confirmations.push({
300
+ deliveryRef: record.deliveryRef,
301
+ emittedHashes: record.emittedHashes,
302
+ transcriptHashes: best.hashes,
303
+ positions: best.positions,
304
+ rendererVersion: record.rendererVersion,
305
+ sessionSalt: record.sessionSalt,
306
+ });
307
+ }
308
+ }
309
+ return confirmations;
310
+ }
311
+ /** Remove accepted references after the existing request returns. */
312
+ export function acknowledgeDeliveryConfirmations(sessionId, accepted) {
313
+ if (accepted.length === 0)
314
+ return;
315
+ const path = pendingDeliveryPath(sessionId);
316
+ const temp = `${path}.${process.pid}.tmp`;
317
+ try {
318
+ if (!secureRegularFile(path))
319
+ return;
320
+ const keep = readPending(sessionId).filter((record) => !accepted.includes(record.deliveryRef));
321
+ writeFileSync(temp, keep.map((record) => JSON.stringify(record)).join('\n') + (keep.length ? '\n' : ''), {
322
+ mode: 0o600,
323
+ flag: 'wx',
324
+ });
325
+ renameSync(temp, path);
326
+ }
327
+ catch {
328
+ try {
329
+ unlinkSync(temp);
330
+ }
331
+ catch {
332
+ // Cleanup is best-effort.
333
+ }
334
+ }
335
+ }
336
+ /** Sessions older than this can never confirm again (confirmation rides the SAME session's next hook event). */
337
+ export const STALE_SESSION_MS = 24 * 60 * 60 * 1000;
338
+ /**
339
+ * Remove abandoned session directories. Users close IDEs; SessionEnd rarely
340
+ * fires; the OS temp cleaner is not our contract. Runs once per SessionStart:
341
+ * one readdir plus one lstat per entry, synchronous, best-effort. Skips
342
+ * anything that is not a plain directory (symlinks, junctions, files) and
343
+ * never throws.
344
+ */
345
+ export function sweepStaleSessionDirs(now = Date.now()) {
346
+ const root = privateRoot();
347
+ let removed = 0;
348
+ try {
349
+ if (!existsSync(root) || lstatSync(root).isSymbolicLink())
350
+ return 0;
351
+ for (const entry of readdirSync(root)) {
352
+ const full = join(root, entry);
353
+ try {
354
+ const st = lstatSync(full);
355
+ if (!st.isDirectory() || st.isSymbolicLink())
356
+ continue;
357
+ if (now - st.mtimeMs < STALE_SESSION_MS)
358
+ continue;
359
+ rmSync(full, { recursive: true, force: true });
360
+ removed += 1;
361
+ }
362
+ catch {
363
+ // Best-effort per entry.
364
+ }
365
+ }
366
+ }
367
+ catch {
368
+ // Best-effort overall; never blocks a session from starting.
369
+ }
370
+ return removed;
371
+ }
372
+ /** Remove one session's private pending log on clean SessionEnd. */
373
+ export function clearPendingDeliveries(sessionId) {
374
+ const path = pendingDeliveryPath(sessionId);
375
+ try {
376
+ if (existsSync(path) && secureRegularFile(path))
377
+ unlinkSync(path);
378
+ const saltPath = sessionSaltPath(sessionId);
379
+ if (existsSync(saltPath) && secureRegularFile(saltPath))
380
+ unlinkSync(saltPath);
381
+ rmdirSync(dirname(path));
382
+ }
383
+ catch {
384
+ // Session cleanup is best-effort and never blocks shutdown.
385
+ }
386
+ }
387
+ /** Record the reflex fragments that survived final additionalContext composition. */
388
+ export function captureReflexDeliveries(input, additionalContext, response) {
389
+ if (!input.transcript_path || !response?.ok)
390
+ return false;
391
+ let transcriptByteOffset;
392
+ try {
393
+ transcriptByteOffset = statSync(input.transcript_path).size;
394
+ }
395
+ catch {
396
+ return false;
397
+ }
398
+ let appended = false;
399
+ const sessionSalt = getOrCreateSessionSalt(input.session_id);
400
+ if (!sessionSalt)
401
+ return false;
402
+ for (const injection of response.injections) {
403
+ if (injection.signal !== 'reflex_recall' || !injection.creditCapture)
404
+ continue;
405
+ const emittedHashes = matchFragments(additionalContext, injection.creditCapture.expectedFragmentHashes).map((item) => item.hash);
406
+ appended =
407
+ appendPendingDelivery(input.session_id, {
408
+ deliveryRef: injection.creditCapture.deliveryRef,
409
+ emittedHashes,
410
+ rendererVersion: injection.creditCapture.rendererVersion,
411
+ transcriptByteOffset,
412
+ sessionSalt,
413
+ }) || appended;
414
+ }
415
+ return appended;
416
+ }
417
+ //# sourceMappingURL=creditCapture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creditCapture.js","sourceRoot":"","sources":["../../src/lib/creditCapture.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,UAAU,EACV,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU,EACV,aAAa,EACb,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAG1C,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AACtC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;AACnC,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AACxC,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,MAAM,UAAU,GAAG,4BAA4B,CAAC;AAChD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;AAUnE,SAAS,MAAM,CAAC,KAAsB;IACpC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,GAAG,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB;IACxC,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;AAChE,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,EAAE,GAAkB,IAAI,CAAC;IAC7B,IAAI,CAAC;QACH,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QACzE,IAAI,CAAC;YACH,EAAE,GAAG,QAAQ,CACX,IAAI,EACJ,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC,EACvF,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,SAAS,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;gBAAC,MAAM,CAAC;oBACP,qCAAqC;gBACvC,CAAC;gBACD,EAAE,GAAG,IAAI,CAAC;YACZ,CAAC;YACD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,OAAO,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,SAAS,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,aAAa;YACf,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE;YAAE,OAAO,KAAK,CAAC;QACvE,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvB,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE;YAAE,OAAO,KAAK,CAAC;QACzF,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAChC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,qBAAqB,CAAC,SAAiB,EAAE,MAAuB;IAC9E,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,EAAE,GAAkB,IAAI,CAAC;IAC7B,IAAI,CAAC;QACH,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5E,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,aAAa,IAAI,iBAAiB;YAAE,OAAO,KAAK,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,MAAM,GAAG,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;YACtF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,EAAE,GAAG,QAAQ,CACX,IAAI,EACJ,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC,EACzF,KAAK,CACN,CAAC;QACF,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9D,OAAO,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,SAAS,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB;IACpC,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB;YAAE,OAAO,EAAE,CAAC;QAC3D,OAAO,IAAI;aACR,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,OAAO,CAAC;aACf,KAAK,CAAC,CAAC,EAAE,CAAC;aACV,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;gBACnD,OAAO,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;oBAC3C,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;oBACnC,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ;oBAC1C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,oBAAoB,CAAC;oBACjD,MAAM,CAAC,oBAAoB,IAAI,CAAC;oBAChC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;oBACtC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;oBACzC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACV,CAAC,CAAC,EAAE,CAAC;YACT,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAOD;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAe,EAAE,QAAkB;IACzD,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;IACzB,IAAI,OAA+B,CAAC;IACpC,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzF,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9C,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC1B,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAE,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC/E,MAAM,GAAG,GAAG,CAAC;gBACb,MAAM;YACR,CAAC;QACH,CAAC;QACD,YAAY,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,MAAc;IACvD,IAAI,EAAE,GAAkB,IAAI,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QAClC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,eAAe;YAAE,OAAO,IAAI,CAAC;QACzD,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACvE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,KAAK,GAAG,MAAM,EAAE,CAAC;YACtB,IAAI,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC;gBAC3F,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChC,GAAG,GAAG,QAAQ,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;YAC1E,IAAI,IAAI,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC3B,KAAK,IAAI,IAAI,CAAC;YACd,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAClD,IAAI,SAAS,IAAI,CAAC;oBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;gBAC9D,IAAI,KAAK,KAAK,MAAM;oBAAE,OAAO,OAAO,CAAC;YACvC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,SAAS,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,4BAA4B,CAAC,KAAgB;IAC3D,IAAI,CAAC,KAAK,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,aAAa,GAA2B,EAAE,CAAC;IAEjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACtF,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,IAAoF,CAAC;QAEzF,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,0EAA0E;QAC1E,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,iBAAiB,CAAC;QACjC,OAAO,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACnD,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM;YACxB,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACzD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjE,MAAM,aAAa,GAAG,MAAM,CAAC,oBAAoB,GAAG,SAAS,CAAC;YAC9D,UAAU,GAAG,OAAO,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAG7B,CAAC;gBACF,IACE,MAAM,CAAC,IAAI,KAAK,YAAY;oBAC5B,MAAM,CAAC,UAAU,EAAE,IAAI,KAAK,yBAAyB;oBACrD,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EACzC,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;oBAC1D,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;oBAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO;oBAC/B,MAAM,SAAS,GAAG;wBAChB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;wBACtC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;4BAC9B,aAAa;4BACb,UAAU,EAAE,aAAa;4BACzB,YAAY;4BACZ,aAAa,EAAE,IAAI,CAAC,aAAa;yBAClC,CAAC,CAAC;qBACJ,CAAC;oBACF,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;wBAAE,IAAI,GAAG,SAAS,CAAC;gBAC9E,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,gEAAgE;YAClE,CAAC;QACH,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,aAAa,CAAC,IAAI,CAAC;gBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,gBAAgB,EAAE,IAAI,CAAC,MAAM;gBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,gCAAgC,CAAC,SAAiB,EAAE,QAAkB;IACpF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAClC,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IAC1C,IAAI,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAAE,OAAO;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/F,aAAa,CACX,IAAI,EACJ,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EACnF;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI;SACX,CACF,CAAC;QACF,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;IAC5D,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE;YAAE,OAAO,CAAC,CAAC;QACpE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE;oBAAE,SAAS;gBACvD,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,GAAG,gBAAgB;oBAAE,SAAS;gBAClD,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC;YAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9E,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;IAC9D,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,uBAAuB,CACrC,KAAgB,EAChB,iBAAyB,EACzB,QAAmC;IAEnC,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,QAAQ,EAAE,EAAE;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,oBAA4B,CAAC;IACjC,IAAI,CAAC;QACH,oBAAoB,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,SAAS,CAAC,MAAM,KAAK,eAAe,IAAI,CAAC,SAAS,CAAC,aAAa;YAAE,SAAS;QAC/E,MAAM,aAAa,GAAG,cAAc,CAClC,iBAAiB,EACjB,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAC/C,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,QAAQ;YACN,qBAAqB,CAAC,KAAK,CAAC,UAAU,EAAE;gBACtC,WAAW,EAAE,SAAS,CAAC,aAAa,CAAC,WAAW;gBAChD,aAAa;gBACb,eAAe,EAAE,SAAS,CAAC,aAAa,CAAC,eAAe;gBACxD,oBAAoB;gBACpB,WAAW;aACZ,CAAC,IAAI,QAAQ,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Uses Node 20's global `fetch` — zero npm dependencies on the runtime side.
6
6
  */
7
- import type { AmbientResponse, FileContextResponse, McpPrecheckResponse, InjectionsResponse, JitResponse, PreCompactResponse } from './types.js';
7
+ import type { AmbientResponse, FileContextResponse, McpPrecheckResponse, InjectionsResponse, JitResponse, PreCompactResponse, DeliveryConfirmation } from './types.js';
8
8
  /**
9
9
  * Auto-fetch file_context for an uncovered Edit target. Server returns a
10
10
  * pre-formatted summary string ready for `additionalContext` injection.
@@ -41,6 +41,9 @@ export interface FetchInjectionsInput {
41
41
  prompt?: string;
42
42
  toolName?: string;
43
43
  toolArgs?: Record<string, unknown>;
44
+ toolUseId?: string;
45
+ confirmations?: DeliveryConfirmation[];
46
+ actionObservation?: import('./types.js').ActionObservationPayload;
44
47
  stopHookActive?: boolean;
45
48
  /** Edit-style PreToolUse: absolute paths the host is about to write to. */
46
49
  filePaths?: string[];
@@ -100,6 +103,7 @@ export interface FetchMcpPrecheckInput {
100
103
  tool: string;
101
104
  args: Record<string, unknown>;
102
105
  model?: string;
106
+ actionObservation?: import('./types.js').ActionObservationPayload;
103
107
  }
104
108
  export declare function fetchMcpPrecheck(input: FetchMcpPrecheckInput): Promise<McpPrecheckResponse | null>;
105
109
  export interface FetchMcpRecordInput {
@@ -111,6 +115,7 @@ export interface FetchMcpRecordInput {
111
115
  tool: string;
112
116
  args: Record<string, unknown>;
113
117
  result: unknown;
118
+ actionObservation?: import('./types.js').ActionObservationPayload;
114
119
  }
115
120
  export declare function fetchMcpRecord(input: FetchMcpRecordInput): Promise<void>;
116
121
  /**
@@ -129,6 +134,7 @@ export interface ReportGateFiredInput {
129
134
  tool: string;
130
135
  mode: 'advisory' | 'enforce' | 'off';
131
136
  outcome: string;
137
+ actionObservation?: import('./types.js').ActionObservationPayload;
132
138
  }
133
139
  export declare function reportGateFired(input: ReportGateFiredInput): Promise<void>;
134
140
  /**
@@ -177,6 +183,7 @@ export interface ReportNativeGrepInput {
177
183
  projectId?: string;
178
184
  sessionId: string;
179
185
  toolName?: string;
186
+ actionObservation?: import('./types.js').ActionObservationPayload;
180
187
  }
181
188
  export declare function reportNativeGrepObserved(input: ReportNativeGrepInput): Promise<InjectionsResponse | null>;
182
189
  interface BaseHookInput {
@@ -187,6 +194,7 @@ interface BaseHookInput {
187
194
  claudeSessionId: string;
188
195
  /** IANA timezone captured from the host machine. */
189
196
  tz?: string;
197
+ actionObservation?: import('./types.js').ActionObservationPayload;
190
198
  }
191
199
  /**
192
200
  * SessionEnd hook clears the proxy's per-session reminder suppression set so
package/dist/lib/http.js CHANGED
@@ -63,6 +63,9 @@ export async function fetchInjections(input) {
63
63
  prompt: input.prompt,
64
64
  toolName: input.toolName,
65
65
  toolArgs: input.toolArgs,
66
+ toolUseId: input.toolUseId,
67
+ confirmations: input.confirmations,
68
+ actionObservation: input.actionObservation,
66
69
  stopHookActive: input.stopHookActive,
67
70
  filePaths: input.filePaths,
68
71
  ...(input.tz ? { tz: input.tz } : {}),
@@ -165,6 +168,7 @@ export async function fetchMcpPrecheck(input) {
165
168
  args: input.args,
166
169
  model: input.model,
167
170
  host: HOST,
171
+ actionObservation: input.actionObservation,
168
172
  }),
169
173
  signal: ac.signal,
170
174
  });
@@ -198,6 +202,7 @@ export async function fetchMcpRecord(input) {
198
202
  args: input.args,
199
203
  result: input.result,
200
204
  host: HOST,
205
+ actionObservation: input.actionObservation,
201
206
  }),
202
207
  signal: ac.signal,
203
208
  });
@@ -236,6 +241,7 @@ export async function reportGateFired(input) {
236
241
  tool: input.tool,
237
242
  mode: input.mode,
238
243
  outcome: input.outcome,
244
+ actionObservation: input.actionObservation,
239
245
  }),
240
246
  signal: ac.signal,
241
247
  });
@@ -298,6 +304,7 @@ export async function reportNativeGrepObserved(input) {
298
304
  event: 'PreToolUse',
299
305
  host: HOST,
300
306
  toolName: input.toolName ?? 'Grep',
307
+ actionObservation: input.actionObservation,
301
308
  }),
302
309
  signal: ac.signal,
303
310
  });
@@ -412,6 +419,7 @@ export async function createPreCompactSnapshot(input) {
412
419
  summary: input.summary,
413
420
  nextSteps: input.nextSteps,
414
421
  filesInProgress: input.filesInProgress,
422
+ actionObservation: input.actionObservation,
415
423
  }),
416
424
  signal: ac.signal,
417
425
  });
@@ -444,8 +452,11 @@ export async function postSessionEnd(input) {
444
452
  body: JSON.stringify({
445
453
  sessionId: input.claudeSessionId,
446
454
  filePath: '__session_ended__',
455
+ cwd: input.cwd,
456
+ projectId: input.projectId,
447
457
  ended: true,
448
458
  reason: input.reason,
459
+ actionObservation: input.actionObservation,
449
460
  }),
450
461
  signal: ac.signal,
451
462
  });
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":"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"}
@@ -111,7 +111,47 @@ export interface InjectionsResponse {
111
111
  * an old server that omits the field never downgrades a forbiddenCommand.
112
112
  */
113
113
  hostDecision?: 'deny' | 'ask';
114
+ /** Private capture metadata. Never included in additionalContext text. */
115
+ creditCapture?: {
116
+ deliveryRef: string;
117
+ expectedFragmentHashes: string[];
118
+ rendererVersion: string;
119
+ };
114
120
  }>;
121
+ confirmedDeliveryRefs?: string[];
122
+ }
123
+ export interface DeliveryConfirmation {
124
+ deliveryRef: string;
125
+ emittedHashes: string[];
126
+ transcriptHashes: string[];
127
+ positions: Array<{
128
+ transcriptRef: string;
129
+ byteOffset: number;
130
+ contentIndex: number;
131
+ fragmentIndex: number;
132
+ }>;
133
+ rendererVersion: string;
134
+ /** Per-session fingerprint salt, disclosed only with the signed delivery ref. */
135
+ sessionSalt: string;
136
+ }
137
+ export interface TokenFingerprint {
138
+ hash: string;
139
+ length: number;
140
+ }
141
+ export interface ActionObservationPayload {
142
+ event: 'pre_tool_use' | 'post_tool_use' | 'user_prompt' | 'compaction' | 'session_end';
143
+ nativeActionRef: string;
144
+ seq?: number;
145
+ transcriptRef?: string;
146
+ actionClass: string;
147
+ targetHashes: string[];
148
+ argHash?: string;
149
+ resultHash?: string;
150
+ exitStatus?: string;
151
+ fingerprintSet: {
152
+ args: TokenFingerprint[];
153
+ preImage: TokenFingerprint[];
154
+ };
115
155
  }
116
156
  /**
117
157
  * Server response from /api/v1/hooks/jit — JIT Knowledge Injector gate
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqPH,MAAM,CAAC,MAAM,cAAc,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgSH,MAAM,CAAC,MAAM,cAAc,GAAG,0BAA0B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnemonik/claude-code-hooks",
3
- "version": "0.9.48",
3
+ "version": "0.9.50",
4
4
  "description": "Claude Code lifecycle contextual hooks for Mnemonik. PreToolUse Edit/Write/NotebookEdit/Bash gates plus SessionStart bootstrap warming, clean Stop, PreCompact context_snapshot creation, bounded SessionEnd cleanup, and UserPromptSubmit context injection. This hooks-only package does not install skills, rules, project identity, or MCP config. Versioned independently from the @mnemonik/server release cadence (mirrors @mnemonik/scanner).",
5
5
  "repository": {
6
6
  "type": "git",