@neurcode-ai/cli 0.20.0 → 0.20.1

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 (50) hide show
  1. package/dist/commands/brain.d.ts.map +1 -1
  2. package/dist/commands/brain.js +63 -26
  3. package/dist/commands/brain.js.map +1 -1
  4. package/dist/commands/runtime-doctor.d.ts.map +1 -1
  5. package/dist/commands/runtime-doctor.js +17 -0
  6. package/dist/commands/runtime-doctor.js.map +1 -1
  7. package/dist/commands/session-hook.d.ts +16 -1
  8. package/dist/commands/session-hook.d.ts.map +1 -1
  9. package/dist/commands/session-hook.js +142 -10
  10. package/dist/commands/session-hook.js.map +1 -1
  11. package/dist/commands/session.d.ts +3 -1
  12. package/dist/commands/session.d.ts.map +1 -1
  13. package/dist/commands/session.js +5 -0
  14. package/dist/commands/session.js.map +1 -1
  15. package/dist/index.js +11 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/runtime-build.json +5 -5
  18. package/dist/utils/agent-session-launcher.d.ts.map +1 -1
  19. package/dist/utils/agent-session-launcher.js +142 -97
  20. package/dist/utils/agent-session-launcher.js.map +1 -1
  21. package/dist/utils/brain-lifecycle.d.ts +25 -6
  22. package/dist/utils/brain-lifecycle.d.ts.map +1 -1
  23. package/dist/utils/brain-lifecycle.js +305 -60
  24. package/dist/utils/brain-lifecycle.js.map +1 -1
  25. package/dist/utils/command-budget.d.ts +10 -0
  26. package/dist/utils/command-budget.d.ts.map +1 -0
  27. package/dist/utils/command-budget.js +203 -0
  28. package/dist/utils/command-budget.js.map +1 -0
  29. package/dist/utils/runtime-companion.d.ts +2 -0
  30. package/dist/utils/runtime-companion.d.ts.map +1 -1
  31. package/dist/utils/runtime-companion.js +3 -0
  32. package/dist/utils/runtime-companion.js.map +1 -1
  33. package/dist/utils/runtime-live.d.ts.map +1 -1
  34. package/dist/utils/runtime-live.js +14 -6
  35. package/dist/utils/runtime-live.js.map +1 -1
  36. package/dist/utils/runtime-outbox.d.ts.map +1 -1
  37. package/dist/utils/runtime-outbox.js +40 -0
  38. package/dist/utils/runtime-outbox.js.map +1 -1
  39. package/dist/utils/runtime-state.d.ts +7 -35
  40. package/dist/utils/runtime-state.d.ts.map +1 -1
  41. package/dist/utils/runtime-state.js +203 -134
  42. package/dist/utils/runtime-state.js.map +1 -1
  43. package/dist/utils/session-start-transaction.d.ts +31 -0
  44. package/dist/utils/session-start-transaction.d.ts.map +1 -0
  45. package/dist/utils/session-start-transaction.js +207 -0
  46. package/dist/utils/session-start-transaction.js.map +1 -0
  47. package/dist/utils/v0-governance.d.ts.map +1 -1
  48. package/dist/utils/v0-governance.js +81 -11
  49. package/dist/utils/v0-governance.js.map +1 -1
  50. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-state.js","sourceRoot":"","sources":["../../src/utils/runtime-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-state.js","sourceRoot":"","sources":["../../src/utils/runtime-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { inspectOwnedProcess } from '@neurcode-ai/brain';
2
+ export declare const SESSION_START_TRANSACTION_SCHEMA_VERSION: "neurcode.session-start-transaction.v1";
3
+ export type SessionStartPhase = 'initializing_runtime' | 'fingerprinting_profile' | 'persisting_deferred_session' | 'shaping_session' | 'activating_session' | 'reconciling_cloud';
4
+ interface SessionStartTransaction {
5
+ schemaVersion: typeof SESSION_START_TRANSACTION_SCHEMA_VERSION;
6
+ commandKey: string;
7
+ jobId: string;
8
+ pid: number;
9
+ processStartFingerprint: string | null;
10
+ startedAt: string;
11
+ updatedAt: string;
12
+ phase: SessionStartPhase;
13
+ sessionId: string | null;
14
+ }
15
+ export declare function beginSessionStartTransaction(repoRoot: string, commandKey: string): SessionStartTransaction;
16
+ export declare function updateSessionStartTransaction(repoRoot: string, update: {
17
+ phase: SessionStartPhase;
18
+ sessionId?: string | null;
19
+ }): SessionStartTransaction | null;
20
+ export declare function clearSessionStartTransaction(repoRoot: string): void;
21
+ export declare function inspectSessionStartTransaction(repoRoot: string): {
22
+ phase: SessionStartPhase;
23
+ sessionId: string | null;
24
+ ownerState: ReturnType<typeof inspectOwnedProcess>;
25
+ } | null;
26
+ export declare function recoverTimedOutSessionStart(repoRoot: string, childPid: number): {
27
+ recovered: boolean;
28
+ phase: SessionStartPhase | null;
29
+ };
30
+ export {};
31
+ //# sourceMappingURL=session-start-transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-start-transaction.d.ts","sourceRoot":"","sources":["../../src/utils/session-start-transaction.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAA2B,MAAM,oBAAoB,CAAC;AAGlF,eAAO,MAAM,wCAAwC,EAAG,uCAAgD,CAAC;AAEzG,MAAM,MAAM,iBAAiB,GACzB,sBAAsB,GACtB,wBAAwB,GACxB,6BAA6B,GAC7B,iBAAiB,GACjB,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,UAAU,uBAAuB;IAC/B,aAAa,EAAE,OAAO,wCAAwC,CAAC;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAkFD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,uBAAuB,CA8CzB;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;IAAE,KAAK,EAAE,iBAAiB,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC9D,uBAAuB,GAAG,IAAI,CAWhC;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQnE;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG;IAChE,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;CACpD,GAAG,IAAI,CAOP;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;IAC/E,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACjC,CAYA"}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SESSION_START_TRANSACTION_SCHEMA_VERSION = void 0;
4
+ exports.beginSessionStartTransaction = beginSessionStartTransaction;
5
+ exports.updateSessionStartTransaction = updateSessionStartTransaction;
6
+ exports.clearSessionStartTransaction = clearSessionStartTransaction;
7
+ exports.inspectSessionStartTransaction = inspectSessionStartTransaction;
8
+ exports.recoverTimedOutSessionStart = recoverTimedOutSessionStart;
9
+ const node_crypto_1 = require("node:crypto");
10
+ const node_fs_1 = require("node:fs");
11
+ const node_path_1 = require("node:path");
12
+ const brain_1 = require("@neurcode-ai/brain");
13
+ const governance_runtime_1 = require("@neurcode-ai/governance-runtime");
14
+ exports.SESSION_START_TRANSACTION_SCHEMA_VERSION = 'neurcode.session-start-transaction.v1';
15
+ function transactionPath(repoRoot) {
16
+ return (0, node_path_1.join)(repoRoot, '.neurcode', 'session-starting.json');
17
+ }
18
+ function syncParentDirectory(path) {
19
+ try {
20
+ const descriptor = (0, node_fs_1.openSync)((0, node_path_1.dirname)(path), 'r');
21
+ try {
22
+ (0, node_fs_1.fsyncSync)(descriptor);
23
+ }
24
+ finally {
25
+ (0, node_fs_1.closeSync)(descriptor);
26
+ }
27
+ }
28
+ catch {
29
+ // Directory fsync is unavailable on some platforms.
30
+ }
31
+ }
32
+ function atomicWrite(path, value) {
33
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(path), { recursive: true });
34
+ const temporary = `${path}.tmp.${process.pid}.${(0, node_crypto_1.randomUUID)()}`;
35
+ let descriptor = null;
36
+ try {
37
+ descriptor = (0, node_fs_1.openSync)(temporary, 'w', 0o600);
38
+ (0, node_fs_1.writeFileSync)(descriptor, `${JSON.stringify(value, null, 2)}\n`, 'utf8');
39
+ (0, node_fs_1.fsyncSync)(descriptor);
40
+ (0, node_fs_1.closeSync)(descriptor);
41
+ descriptor = null;
42
+ (0, node_fs_1.renameSync)(temporary, path);
43
+ syncParentDirectory(path);
44
+ }
45
+ catch (error) {
46
+ if (descriptor !== null) {
47
+ try {
48
+ (0, node_fs_1.closeSync)(descriptor);
49
+ }
50
+ catch { /* best effort */ }
51
+ }
52
+ try {
53
+ (0, node_fs_1.rmSync)(temporary, { force: true });
54
+ }
55
+ catch { /* best effort */ }
56
+ throw error;
57
+ }
58
+ }
59
+ function atomicCreate(path, value) {
60
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(path), { recursive: true });
61
+ const temporary = `${path}.candidate.${process.pid}.${(0, node_crypto_1.randomUUID)()}`;
62
+ let descriptor = null;
63
+ try {
64
+ descriptor = (0, node_fs_1.openSync)(temporary, 'wx', 0o600);
65
+ (0, node_fs_1.writeFileSync)(descriptor, `${JSON.stringify(value, null, 2)}\n`, 'utf8');
66
+ (0, node_fs_1.fsyncSync)(descriptor);
67
+ (0, node_fs_1.closeSync)(descriptor);
68
+ descriptor = null;
69
+ // Publishing a fully-written candidate with a hard link gives concurrent
70
+ // starters an atomic create-if-absent boundary without a partial JSON window.
71
+ (0, node_fs_1.linkSync)(temporary, path);
72
+ syncParentDirectory(path);
73
+ }
74
+ finally {
75
+ if (descriptor !== null) {
76
+ try {
77
+ (0, node_fs_1.closeSync)(descriptor);
78
+ }
79
+ catch { /* best effort */ }
80
+ }
81
+ try {
82
+ (0, node_fs_1.rmSync)(temporary, { force: true });
83
+ }
84
+ catch { /* best effort */ }
85
+ }
86
+ }
87
+ function readTransaction(repoRoot) {
88
+ const path = transactionPath(repoRoot);
89
+ if (!(0, node_fs_1.existsSync)(path))
90
+ return null;
91
+ try {
92
+ const parsed = JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8'));
93
+ if (parsed.schemaVersion !== exports.SESSION_START_TRANSACTION_SCHEMA_VERSION
94
+ || !Number.isSafeInteger(parsed.pid)
95
+ || typeof parsed.commandKey !== 'string'
96
+ || typeof parsed.phase !== 'string') {
97
+ return null;
98
+ }
99
+ return {
100
+ ...parsed,
101
+ jobId: typeof parsed.jobId === 'string' && parsed.jobId
102
+ ? parsed.jobId
103
+ : `legacy-${parsed.pid}`,
104
+ };
105
+ }
106
+ catch {
107
+ return null;
108
+ }
109
+ }
110
+ function beginSessionStartTransaction(repoRoot, commandKey) {
111
+ const path = transactionPath(repoRoot);
112
+ const existing = readTransaction(repoRoot);
113
+ if ((0, node_fs_1.existsSync)(path)) {
114
+ const ownerState = existing
115
+ ? (0, brain_1.inspectOwnedProcess)(existing.pid, existing.processStartFingerprint)
116
+ : 'unknown';
117
+ if (!existing || ownerState === 'alive_same' || ownerState === 'unknown') {
118
+ throw new Error('session_start_already_running_or_unverifiable');
119
+ }
120
+ // Reclaim only a positively abandoned transaction, and only if its owner
121
+ // identity still matches the value we inspected.
122
+ const verified = readTransaction(repoRoot);
123
+ if (!verified
124
+ || verified.jobId !== existing.jobId
125
+ || verified.pid !== existing.pid
126
+ || verified.processStartFingerprint !== existing.processStartFingerprint) {
127
+ throw new Error('session_start_transaction_changed_during_recovery');
128
+ }
129
+ if (verified.sessionId)
130
+ (0, governance_runtime_1.removeSession)(repoRoot, verified.sessionId);
131
+ (0, node_fs_1.rmSync)(path, { force: true });
132
+ }
133
+ const now = new Date().toISOString();
134
+ const transaction = {
135
+ schemaVersion: exports.SESSION_START_TRANSACTION_SCHEMA_VERSION,
136
+ commandKey,
137
+ jobId: (0, node_crypto_1.randomUUID)(),
138
+ pid: process.pid,
139
+ processStartFingerprint: (0, brain_1.processStartFingerprint)(process.pid),
140
+ startedAt: now,
141
+ updatedAt: now,
142
+ phase: 'initializing_runtime',
143
+ sessionId: null,
144
+ };
145
+ try {
146
+ atomicCreate(path, transaction);
147
+ }
148
+ catch (error) {
149
+ const code = error && typeof error === 'object' && 'code' in error
150
+ ? String(error.code)
151
+ : '';
152
+ if (code === 'EEXIST')
153
+ throw new Error('session_start_already_running');
154
+ throw error;
155
+ }
156
+ return transaction;
157
+ }
158
+ function updateSessionStartTransaction(repoRoot, update) {
159
+ const current = readTransaction(repoRoot);
160
+ if (!current || current.pid !== process.pid)
161
+ return current;
162
+ const next = {
163
+ ...current,
164
+ updatedAt: new Date().toISOString(),
165
+ phase: update.phase,
166
+ sessionId: update.sessionId === undefined ? current.sessionId : update.sessionId,
167
+ };
168
+ atomicWrite(transactionPath(repoRoot), next);
169
+ return next;
170
+ }
171
+ function clearSessionStartTransaction(repoRoot) {
172
+ const current = readTransaction(repoRoot);
173
+ if (!current
174
+ || current.pid !== process.pid
175
+ || current.processStartFingerprint !== (0, brain_1.processStartFingerprint)(process.pid))
176
+ return;
177
+ try {
178
+ (0, node_fs_1.rmSync)(transactionPath(repoRoot), { force: true });
179
+ }
180
+ catch { /* best effort */ }
181
+ }
182
+ function inspectSessionStartTransaction(repoRoot) {
183
+ const current = readTransaction(repoRoot);
184
+ return current ? {
185
+ phase: current.phase,
186
+ sessionId: current.sessionId,
187
+ ownerState: (0, brain_1.inspectOwnedProcess)(current.pid, current.processStartFingerprint),
188
+ } : null;
189
+ }
190
+ function recoverTimedOutSessionStart(repoRoot, childPid) {
191
+ const current = readTransaction(repoRoot);
192
+ if (!current || current.pid !== childPid)
193
+ return { recovered: false, phase: current?.phase ?? null };
194
+ const identity = (0, brain_1.inspectOwnedProcess)(current.pid, current.processStartFingerprint);
195
+ if (identity === 'alive_same' || identity === 'unknown') {
196
+ return { recovered: false, phase: current.phase };
197
+ }
198
+ if (current.sessionId) {
199
+ (0, governance_runtime_1.removeSession)(repoRoot, current.sessionId);
200
+ }
201
+ try {
202
+ (0, node_fs_1.rmSync)(transactionPath(repoRoot), { force: true });
203
+ }
204
+ catch { /* best effort */ }
205
+ return { recovered: true, phase: current.phase };
206
+ }
207
+ //# sourceMappingURL=session-start-transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-start-transaction.js","sourceRoot":"","sources":["../../src/utils/session-start-transaction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"v0-governance.d.ts","sourceRoot":"","sources":["../../src/utils/v0-governance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v0-governance.d.ts","sourceRoot":"","sources":["../../src/utils/v0-governance.ts"],"names":[],"mappings":"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"}
@@ -359,6 +359,7 @@ function readTopologyBrainFacts(repoRoot) {
359
359
  if (!graph)
360
360
  return null;
361
361
  const facts = [];
362
+ const nodesById = new Map(graph.nodes.map((node) => [node.id, node]));
362
363
  for (const node of graph.nodes) {
363
364
  if (!node.path)
364
365
  continue;
@@ -371,8 +372,8 @@ function readTopologyBrainFacts(repoRoot) {
371
372
  }
372
373
  }
373
374
  for (const edge of graph.edges) {
374
- const from = graph.nodes.find((node) => node.id === edge.fromId);
375
- const to = graph.nodes.find((node) => node.id === edge.toId);
375
+ const from = nodesById.get(edge.fromId);
376
+ const to = nodesById.get(edge.toId);
376
377
  if (!from?.path || !to?.path)
377
378
  continue;
378
379
  const kind = edge.type === 'imports'
@@ -658,10 +659,14 @@ function readProfileBuildFileCache(repoRoot, stateFingerprint) {
658
659
  return null;
659
660
  try {
660
661
  const parsed = JSON.parse((0, fs_1.readFileSync)(path, 'utf8'));
661
- if (!parsed.profile || !parsed.expiresAt || stateFingerprint === null || parsed.stateFingerprint === null)
662
- return null;
663
- if (Date.now() > Date.parse(parsed.expiresAt))
662
+ if (!parsed.profile || stateFingerprint === null || parsed.stateFingerprint === null)
664
663
  return null;
664
+ // The repository-state fingerprint, not wall-clock age, is the cache's
665
+ // correctness boundary. Expiring an unchanged cache forced large repos to
666
+ // reload their complete repository graph every five minutes, which made
667
+ // otherwise read-only status commands exceed their budgets. Keep writing
668
+ // expiresAt for backward compatibility with older readers, but reuse the
669
+ // persisted profile for as long as the source-free fingerprint matches.
665
670
  if (parsed.stateFingerprint !== stateFingerprint)
666
671
  return null;
667
672
  return parsed.profile;
@@ -760,6 +765,35 @@ function profileFreshnessActionForSession(result, sessionProfileHash) {
760
765
  }
761
766
  const profileStalenessCache = new Map();
762
767
  let lastProfileCacheHit = false;
768
+ function changedPathContentFingerprint(root, path) {
769
+ const absolutePath = (0, path_1.join)(root, path);
770
+ try {
771
+ const stat = (0, fs_1.lstatSync)(absolutePath);
772
+ if (stat.isSymbolicLink()) {
773
+ return `${path}\0symlink\0${(0, fs_1.readlinkSync)(absolutePath)}`;
774
+ }
775
+ if (!stat.isFile())
776
+ return `${path}\0${stat.mode}\0${stat.size}`;
777
+ const hash = (0, crypto_1.createHash)('sha256');
778
+ const descriptor = (0, fs_1.openSync)(absolutePath, 'r');
779
+ const buffer = Buffer.allocUnsafe(64 * 1024);
780
+ try {
781
+ let bytesRead = 0;
782
+ do {
783
+ bytesRead = (0, fs_1.readSync)(descriptor, buffer, 0, buffer.length, null);
784
+ if (bytesRead > 0)
785
+ hash.update(buffer.subarray(0, bytesRead));
786
+ } while (bytesRead > 0);
787
+ }
788
+ finally {
789
+ (0, fs_1.closeSync)(descriptor);
790
+ }
791
+ return `${path}\0file\0${stat.mode}\0${stat.size}\0${hash.digest('hex')}`;
792
+ }
793
+ catch {
794
+ return `${path}\0missing`;
795
+ }
796
+ }
763
797
  function profileCacheStateFingerprint(root) {
764
798
  try {
765
799
  let head = 'unborn';
@@ -768,32 +802,68 @@ function profileCacheStateFingerprint(root) {
768
802
  cwd: root,
769
803
  encoding: 'utf8',
770
804
  stdio: ['ignore', 'pipe', 'ignore'],
805
+ timeout: 3_000,
771
806
  }).trim();
772
807
  }
773
808
  catch {
774
809
  // `git status` remains authoritative before the first commit. Keep an
775
810
  // explicit sentinel so staged topology changes still invalidate caches.
776
811
  }
777
- const status = (0, child_process_1.execSync)('git status --short --untracked-files=normal', {
812
+ const internalPathExclusions = [
813
+ '--',
814
+ '.',
815
+ ':(exclude).neurcode/**',
816
+ ':(exclude).neurcode-admission/**',
817
+ ':(exclude).cursor/rules/neurcode-*',
818
+ ];
819
+ const status = (0, child_process_1.execFileSync)('git', [
820
+ 'status', '--porcelain=v2', '-z', '--untracked-files=all',
821
+ ...internalPathExclusions,
822
+ ], {
823
+ cwd: root,
824
+ encoding: 'utf8',
825
+ stdio: ['ignore', 'pipe', 'ignore'],
826
+ maxBuffer: 8 * 1024 * 1024,
827
+ timeout: 5_000,
828
+ });
829
+ const stagedSummary = (0, child_process_1.execFileSync)('git', [
830
+ 'diff', '--cached', '--no-ext-diff', '--numstat', '-z',
831
+ ...internalPathExclusions,
832
+ ], {
778
833
  cwd: root,
779
834
  encoding: 'utf8',
780
835
  stdio: ['ignore', 'pipe', 'ignore'],
781
836
  maxBuffer: 4 * 1024 * 1024,
837
+ timeout: 5_000,
782
838
  });
783
- const stagedDiff = (0, child_process_1.execSync)('git diff --cached --no-ext-diff --binary', {
839
+ const worktreeSummary = (0, child_process_1.execFileSync)('git', [
840
+ 'diff', '--no-ext-diff', '--numstat', '-z',
841
+ ...internalPathExclusions,
842
+ ], {
784
843
  cwd: root,
785
844
  encoding: 'utf8',
786
845
  stdio: ['ignore', 'pipe', 'ignore'],
787
- maxBuffer: 8 * 1024 * 1024,
846
+ maxBuffer: 4 * 1024 * 1024,
847
+ timeout: 5_000,
788
848
  });
789
- const worktreeDiff = (0, child_process_1.execSync)('git diff --no-ext-diff --binary', {
849
+ const changedPaths = (0, child_process_1.execFileSync)('git', [
850
+ 'ls-files', '-m', '-o', '--exclude-standard', '-z',
851
+ ...internalPathExclusions,
852
+ ], {
790
853
  cwd: root,
791
854
  encoding: 'utf8',
792
855
  stdio: ['ignore', 'pipe', 'ignore'],
793
856
  maxBuffer: 8 * 1024 * 1024,
794
- });
857
+ timeout: 5_000,
858
+ }).split('\0').filter(Boolean).sort();
859
+ // Only dirty/untracked paths are content-hashed. This preserves exact
860
+ // invalidation (including same-size edits with restored mtimes) without
861
+ // rescanning every tracked file or following repository symlinks.
862
+ const workingContent = changedPaths
863
+ .map((path) => changedPathContentFingerprint(root, path))
864
+ .join('\n');
795
865
  return (0, crypto_1.createHash)('sha256')
796
- .update(`${head}\n${status}\n${stagedDiff}\n${worktreeDiff}`)
866
+ .update(`${head}\n${status}\n${stagedSummary}\n${worktreeSummary}\n${workingContent}`)
797
867
  .digest('hex')
798
868
  .slice(0, 24);
799
869
  }