@neurcode-ai/cli 0.16.2 → 0.16.4

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 (58) hide show
  1. package/dist/api-client.d.ts +30 -0
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +15 -0
  4. package/dist/api-client.js.map +1 -1
  5. package/dist/commands/agent.d.ts.map +1 -1
  6. package/dist/commands/agent.js +22 -13
  7. package/dist/commands/agent.js.map +1 -1
  8. package/dist/commands/cursor.d.ts.map +1 -1
  9. package/dist/commands/cursor.js +7 -9
  10. package/dist/commands/cursor.js.map +1 -1
  11. package/dist/commands/runtime-adapter.d.ts.map +1 -1
  12. package/dist/commands/runtime-adapter.js +2 -3
  13. package/dist/commands/runtime-adapter.js.map +1 -1
  14. package/dist/commands/runtime-identity.d.ts +3 -0
  15. package/dist/commands/runtime-identity.d.ts.map +1 -0
  16. package/dist/commands/runtime-identity.js +34 -0
  17. package/dist/commands/runtime-identity.js.map +1 -0
  18. package/dist/commands/runtime.d.ts +6 -0
  19. package/dist/commands/runtime.d.ts.map +1 -1
  20. package/dist/commands/runtime.js +63 -0
  21. package/dist/commands/runtime.js.map +1 -1
  22. package/dist/commands/session-hook.d.ts.map +1 -1
  23. package/dist/commands/session-hook.js +5 -0
  24. package/dist/commands/session-hook.js.map +1 -1
  25. package/dist/commands/session.d.ts.map +1 -1
  26. package/dist/commands/session.js +1 -0
  27. package/dist/commands/session.js.map +1 -1
  28. package/dist/index.js +5 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/runtime-build.json +9 -0
  31. package/dist/utils/agent-guard-diff-engine.d.ts +41 -0
  32. package/dist/utils/agent-guard-diff-engine.d.ts.map +1 -0
  33. package/dist/utils/agent-guard-diff-engine.js +110 -0
  34. package/dist/utils/agent-guard-diff-engine.js.map +1 -0
  35. package/dist/utils/agent-guard-supervisor.d.ts +26 -3
  36. package/dist/utils/agent-guard-supervisor.d.ts.map +1 -1
  37. package/dist/utils/agent-guard-supervisor.js +321 -30
  38. package/dist/utils/agent-guard-supervisor.js.map +1 -1
  39. package/dist/utils/agent-guard.d.ts +9 -0
  40. package/dist/utils/agent-guard.d.ts.map +1 -1
  41. package/dist/utils/agent-guard.js +64 -17
  42. package/dist/utils/agent-guard.js.map +1 -1
  43. package/dist/utils/cli-entry.d.ts +7 -0
  44. package/dist/utils/cli-entry.d.ts.map +1 -0
  45. package/dist/utils/cli-entry.js +23 -0
  46. package/dist/utils/cli-entry.js.map +1 -0
  47. package/dist/utils/cli-json.d.ts +1 -1
  48. package/dist/utils/cli-json.d.ts.map +1 -1
  49. package/dist/utils/cli-json.js +4 -2
  50. package/dist/utils/cli-json.js.map +1 -1
  51. package/dist/utils/cli-startup.d.ts +13 -0
  52. package/dist/utils/cli-startup.d.ts.map +1 -0
  53. package/dist/utils/cli-startup.js +72 -0
  54. package/dist/utils/cli-startup.js.map +1 -0
  55. package/dist/utils/runtime-connection.d.ts.map +1 -1
  56. package/dist/utils/runtime-connection.js +3 -3
  57. package/dist/utils/runtime-connection.js.map +1 -1
  58. package/package.json +4 -3
@@ -33,27 +33,61 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.DEFAULT_AGENT_GUARD_SUPERVISOR_HEARTBEAT_MS = exports.DEFAULT_AGENT_GUARD_SUPERVISOR_DEBOUNCE_MS = exports.AGENT_GUARD_SUPERVISOR_SCHEMA_VERSION = void 0;
36
+ exports.AGENT_GUARD_SUPERVISOR_IGNORED_PATTERNS = exports.DEFAULT_AGENT_GUARD_SUPERVISOR_MIN_EVAL_INTERVAL_MS = exports.DEFAULT_AGENT_GUARD_SUPERVISOR_IDLE_TIMEOUT_MS = exports.DEFAULT_AGENT_GUARD_SUPERVISOR_HEARTBEAT_MS = exports.DEFAULT_AGENT_GUARD_SUPERVISOR_DEBOUNCE_MS = exports.AGENT_GUARD_SUPERVISOR_ACTIVE_STATE_FILE = exports.AGENT_GUARD_SUPERVISOR_SCHEMA_VERSION = void 0;
37
+ exports.cleanupStaleSupervisorsForRepo = cleanupStaleSupervisorsForRepo;
37
38
  exports.inspectAgentGuardSupervisor = inspectAgentGuardSupervisor;
38
39
  exports.startAgentGuardSupervisorDetached = startAgentGuardSupervisorDetached;
40
+ exports.stopAgentGuardSupervisorForRepo = stopAgentGuardSupervisorForRepo;
39
41
  exports.stopAgentGuardSupervisor = stopAgentGuardSupervisor;
42
+ exports.stopSupervisorOnSessionCompletion = stopSupervisorOnSessionCompletion;
40
43
  exports.runAgentGuardSupervisor = runAgentGuardSupervisor;
41
44
  const node_child_process_1 = require("node:child_process");
42
45
  const node_fs_1 = require("node:fs");
43
46
  const node_path_1 = require("node:path");
44
47
  const chokidar = __importStar(require("chokidar"));
48
+ const agent_guard_1 = require("./agent-guard");
45
49
  exports.AGENT_GUARD_SUPERVISOR_SCHEMA_VERSION = 'neurcode.agent-guard-supervisor.v1';
50
+ exports.AGENT_GUARD_SUPERVISOR_ACTIVE_STATE_FILE = 'active.json';
46
51
  exports.DEFAULT_AGENT_GUARD_SUPERVISOR_DEBOUNCE_MS = 500;
47
52
  exports.DEFAULT_AGENT_GUARD_SUPERVISOR_HEARTBEAT_MS = 5_000;
48
- const IGNORED_PATTERNS = [
53
+ exports.DEFAULT_AGENT_GUARD_SUPERVISOR_IDLE_TIMEOUT_MS = 30 * 60 * 1000;
54
+ exports.DEFAULT_AGENT_GUARD_SUPERVISOR_MIN_EVAL_INTERVAL_MS = 2_000;
55
+ exports.AGENT_GUARD_SUPERVISOR_IGNORED_PATTERNS = [
49
56
  '**/.git/**',
50
57
  '**/.neurcode/**',
51
58
  '**/node_modules/**',
52
59
  '**/.next/**',
53
60
  '**/dist/**',
54
61
  '**/build/**',
62
+ '**/coverage/**',
63
+ '**/tmp/**',
64
+ '**/logs/**',
65
+ '**/.cache/**',
66
+ '**/__pycache__/**',
67
+ '**/.venv/**',
68
+ '**/venv/**',
69
+ '**/target/**',
70
+ '**/.pytest_cache/**',
71
+ '**/.mypy_cache/**',
55
72
  '**/.DS_Store',
56
73
  '**/Thumbs.db',
74
+ '**/*.pyc',
75
+ '**/*.pyo',
76
+ '**/*.class',
77
+ '**/*.o',
78
+ '**/*.so',
79
+ '**/*.dylib',
80
+ '**/*.dll',
81
+ '**/*.wasm',
82
+ '**/*.min.js',
83
+ '**/*.min.css',
84
+ '**/*.map',
85
+ '**/*.lock',
86
+ '**/package-lock.json',
87
+ '**/pnpm-lock.yaml',
88
+ '**/yarn.lock',
89
+ '**/Cargo.lock',
90
+ '**/go.sum',
57
91
  ];
58
92
  function normalizedMs(value, fallback, minimum = 50) {
59
93
  return typeof value === 'number' && Number.isFinite(value)
@@ -63,8 +97,55 @@ function normalizedMs(value, fallback, minimum = 50) {
63
97
  function now() {
64
98
  return new Date().toISOString();
65
99
  }
66
- function statePath(repoRoot, sessionId) {
67
- return (0, node_path_1.resolve)(repoRoot, '.neurcode', 'agent-guard-supervisor', `${sessionId}.json`);
100
+ function supervisorStateDirectory(repoRoot) {
101
+ return (0, node_path_1.resolve)(repoRoot, '.neurcode', 'agent-guard-supervisor');
102
+ }
103
+ function repoStatePath(repoRoot) {
104
+ return (0, node_path_1.resolve)(supervisorStateDirectory(repoRoot), exports.AGENT_GUARD_SUPERVISOR_ACTIVE_STATE_FILE);
105
+ }
106
+ function legacyStatePath(repoRoot, sessionId) {
107
+ return (0, node_path_1.resolve)(supervisorStateDirectory(repoRoot), `${sessionId}.json`);
108
+ }
109
+ function isInternalRepoPath(path) {
110
+ return path === '.neurcode' || path.startsWith('.neurcode/');
111
+ }
112
+ function shouldIgnoreWatcherPath(repoRelativePath) {
113
+ const normalized = repoRelativePath.replace(/\\/g, '/');
114
+ const segments = normalized.split('/');
115
+ for (const segment of segments) {
116
+ if (segment === 'node_modules'
117
+ || segment === '.git'
118
+ || segment === '.neurcode'
119
+ || segment === '.next'
120
+ || segment === 'dist'
121
+ || segment === 'build'
122
+ || segment === 'coverage'
123
+ || segment === 'tmp'
124
+ || segment === 'logs'
125
+ || segment === '.cache'
126
+ || segment === '__pycache__'
127
+ || segment === '.venv'
128
+ || segment === 'venv'
129
+ || segment === 'target'
130
+ || segment === '.pytest_cache'
131
+ || segment === '.mypy_cache') {
132
+ return true;
133
+ }
134
+ }
135
+ if (normalized.endsWith('.pyc') || normalized.endsWith('.map') || normalized.endsWith('.min.js')) {
136
+ return true;
137
+ }
138
+ return false;
139
+ }
140
+ function normalizeWatcherPath(repoRoot, absoluteOrRelative) {
141
+ const repoRelative = absoluteOrRelative.startsWith(repoRoot)
142
+ ? (0, node_path_1.relative)(repoRoot, absoluteOrRelative)
143
+ : absoluteOrRelative;
144
+ const normalized = repoRelative.replace(/\\/g, '/').replace(/^\.\//, '');
145
+ if (!normalized || isInternalRepoPath(normalized) || shouldIgnoreWatcherPath(normalized)) {
146
+ return null;
147
+ }
148
+ return normalized;
68
149
  }
69
150
  function isSupervisorState(value) {
70
151
  if (!value || typeof value !== 'object' || Array.isArray(value))
@@ -93,14 +174,53 @@ function processAlive(pid) {
93
174
  return false;
94
175
  }
95
176
  }
96
- function writeState(repoRoot, state) {
97
- const path = statePath(repoRoot, state.sessionId);
177
+ function tryReadSupervisorState(path) {
178
+ if (!(0, node_fs_1.existsSync)(path))
179
+ return null;
180
+ try {
181
+ const parsed = JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8'));
182
+ return isSupervisorState(parsed) ? parsed : null;
183
+ }
184
+ catch {
185
+ return null;
186
+ }
187
+ }
188
+ function writeStateAt(path, state) {
98
189
  (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(path), { recursive: true });
99
190
  const temporary = `${path}.${process.pid}.${Date.now()}.tmp`;
100
191
  (0, node_fs_1.writeFileSync)(temporary, JSON.stringify(state, null, 2) + '\n', 'utf8');
101
192
  (0, node_fs_1.renameSync)(temporary, path);
102
193
  return path;
103
194
  }
195
+ function writeRepoState(repoRoot, state) {
196
+ return writeStateAt(repoStatePath(repoRoot), state);
197
+ }
198
+ function listSupervisorStatePaths(repoRoot) {
199
+ const directory = supervisorStateDirectory(repoRoot);
200
+ if (!(0, node_fs_1.existsSync)(directory))
201
+ return [];
202
+ const paths = new Set();
203
+ const active = repoStatePath(repoRoot);
204
+ if ((0, node_fs_1.existsSync)(active))
205
+ paths.add(active);
206
+ for (const entry of (0, node_fs_1.readdirSync)(directory)) {
207
+ if (!entry.endsWith('.json') || entry.endsWith('.tmp'))
208
+ continue;
209
+ paths.add((0, node_path_1.resolve)(directory, entry));
210
+ }
211
+ return [...paths];
212
+ }
213
+ function markSupervisorStateStopped(path, state, status = 'stopped') {
214
+ const stoppedAt = now();
215
+ writeStateAt(path, {
216
+ ...state,
217
+ status,
218
+ pid: processAlive(state.pid) ? state.pid : null,
219
+ updatedAt: stoppedAt,
220
+ stoppedAt,
221
+ heartbeatAt: stoppedAt,
222
+ });
223
+ }
104
224
  function newState(input) {
105
225
  const generatedAt = input.startedAt || now();
106
226
  return {
@@ -114,8 +234,11 @@ function newState(input) {
114
234
  updatedAt: generatedAt,
115
235
  heartbeatAt: null,
116
236
  stoppedAt: null,
237
+ lastActivityAt: generatedAt,
117
238
  debounceMs: normalizedMs(input.debounceMs, exports.DEFAULT_AGENT_GUARD_SUPERVISOR_DEBOUNCE_MS),
118
239
  heartbeatMs: normalizedMs(input.heartbeatMs, exports.DEFAULT_AGENT_GUARD_SUPERVISOR_HEARTBEAT_MS, 250),
240
+ idleTimeoutMs: normalizedMs(input.idleTimeoutMs, exports.DEFAULT_AGENT_GUARD_SUPERVISOR_IDLE_TIMEOUT_MS, 1_000),
241
+ minEvalIntervalMs: normalizedMs(input.minEvalIntervalMs, exports.DEFAULT_AGENT_GUARD_SUPERVISOR_MIN_EVAL_INTERVAL_MS, 250),
119
242
  evaluationCount: 0,
120
243
  lastEvaluatedAt: null,
121
244
  lastPass: null,
@@ -129,8 +252,7 @@ function newState(input) {
129
252
  },
130
253
  };
131
254
  }
132
- function inspectAgentGuardSupervisor(repoRoot, sessionId) {
133
- const path = statePath(repoRoot, sessionId);
255
+ function inspectStateAt(path) {
134
256
  if (!(0, node_fs_1.existsSync)(path)) {
135
257
  return { statePath: path, exists: false, alive: false, state: null, effectiveStatus: 'missing' };
136
258
  }
@@ -167,17 +289,80 @@ function inspectAgentGuardSupervisor(repoRoot, sessionId) {
167
289
  };
168
290
  }
169
291
  }
292
+ function resolveRepoSupervisorInspection(repoRoot, sessionId) {
293
+ const active = inspectStateAt(repoStatePath(repoRoot));
294
+ if (active.state) {
295
+ if (!sessionId || active.state.sessionId === sessionId)
296
+ return active;
297
+ return {
298
+ ...active,
299
+ effectiveStatus: active.effectiveStatus,
300
+ };
301
+ }
302
+ if (sessionId) {
303
+ return inspectStateAt(legacyStatePath(repoRoot, sessionId));
304
+ }
305
+ return active;
306
+ }
307
+ function cleanupStaleSupervisorsForRepo(repoRoot, exceptPid) {
308
+ let killed = 0;
309
+ for (const path of listSupervisorStatePaths(repoRoot)) {
310
+ const state = tryReadSupervisorState(path);
311
+ if (!state?.pid || state.pid === exceptPid)
312
+ continue;
313
+ const alive = processAlive(state.pid);
314
+ if (!alive) {
315
+ if (state.status === 'running' || state.status === 'starting' || state.status === 'stopping') {
316
+ markSupervisorStateStopped(path, state, 'stale');
317
+ }
318
+ continue;
319
+ }
320
+ const heartbeatReference = Date.parse(state.heartbeatAt || state.updatedAt);
321
+ const heartbeatFresh = Number.isFinite(heartbeatReference)
322
+ && Date.now() - heartbeatReference <= Math.max(state.heartbeatMs * 3, 10_000);
323
+ const staleRunning = (state.status === 'running'
324
+ || state.status === 'starting'
325
+ || state.status === 'stopping') && !heartbeatFresh;
326
+ if (!staleRunning)
327
+ continue;
328
+ try {
329
+ process.kill(state.pid, 'SIGTERM');
330
+ killed += 1;
331
+ markSupervisorStateStopped(path, state, 'stopping');
332
+ }
333
+ catch {
334
+ markSupervisorStateStopped(path, state, 'stale');
335
+ }
336
+ }
337
+ return killed;
338
+ }
339
+ function inspectAgentGuardSupervisor(repoRoot, sessionId) {
340
+ return resolveRepoSupervisorInspection(repoRoot, sessionId);
341
+ }
170
342
  function startAgentGuardSupervisorDetached(input) {
171
- const existing = inspectAgentGuardSupervisor(input.repoRoot, input.sessionId);
172
- if (existing.state && existing.alive && (existing.effectiveStatus === 'running' || existing.effectiveStatus === 'starting')) {
343
+ cleanupStaleSupervisorsForRepo(input.repoRoot);
344
+ const existing = inspectAgentGuardSupervisor(input.repoRoot);
345
+ if (existing.state
346
+ && existing.alive
347
+ && existing.state.sessionId === input.sessionId
348
+ && (existing.state.status === 'running' || existing.state.status === 'starting')) {
173
349
  return {
174
350
  started: false,
175
351
  alreadyRunning: true,
352
+ replacedExisting: false,
176
353
  pid: existing.state.pid,
177
354
  statePath: existing.statePath,
178
355
  state: existing.state,
179
356
  };
180
357
  }
358
+ const replacedExisting = Boolean(existing.state
359
+ && existing.alive
360
+ && existing.state.sessionId !== input.sessionId
361
+ && (existing.state.status === 'running' || existing.state.status === 'starting'));
362
+ if (replacedExisting) {
363
+ stopAgentGuardSupervisorForRepo(input.repoRoot);
364
+ cleanupStaleSupervisorsForRepo(input.repoRoot);
365
+ }
181
366
  const debounceMs = normalizedMs(input.debounceMs, exports.DEFAULT_AGENT_GUARD_SUPERVISOR_DEBOUNCE_MS);
182
367
  const startingState = newState({
183
368
  repoRoot: input.repoRoot,
@@ -186,8 +371,10 @@ function startAgentGuardSupervisorDetached(input) {
186
371
  pid: null,
187
372
  status: 'starting',
188
373
  debounceMs,
374
+ idleTimeoutMs: input.idleTimeoutMs,
375
+ minEvalIntervalMs: input.minEvalIntervalMs,
189
376
  });
190
- const path = writeState(input.repoRoot, startingState);
377
+ const path = writeRepoState(input.repoRoot, startingState);
191
378
  const child = (0, node_child_process_1.spawn)(process.execPath, [
192
379
  (0, node_path_1.resolve)(input.cliEntry),
193
380
  'agent',
@@ -209,10 +396,11 @@ function startAgentGuardSupervisorDetached(input) {
209
396
  env: {
210
397
  ...process.env,
211
398
  NEURCODE_AGENT_GUARD_SUPERVISOR_CHILD: '1',
399
+ NEURCODE_CLI_SPAWN_ENTRY: (0, node_path_1.resolve)(input.cliEntry),
212
400
  },
213
401
  });
214
402
  child.unref();
215
- const latest = inspectAgentGuardSupervisor(input.repoRoot, input.sessionId);
403
+ const latest = inspectAgentGuardSupervisor(input.repoRoot);
216
404
  const state = latest.state?.status === 'running'
217
405
  ? latest.state
218
406
  : {
@@ -221,11 +409,38 @@ function startAgentGuardSupervisorDetached(input) {
221
409
  updatedAt: now(),
222
410
  };
223
411
  if (state.status !== 'running')
224
- writeState(input.repoRoot, state);
225
- return { started: true, alreadyRunning: false, pid: state.pid, statePath: path, state };
412
+ writeRepoState(input.repoRoot, state);
413
+ return {
414
+ started: true,
415
+ alreadyRunning: false,
416
+ replacedExisting,
417
+ pid: state.pid,
418
+ statePath: path,
419
+ state,
420
+ };
421
+ }
422
+ function stopAgentGuardSupervisorForRepo(repoRoot) {
423
+ return stopAgentGuardSupervisor(repoRoot);
226
424
  }
227
425
  function stopAgentGuardSupervisor(repoRoot, sessionId) {
228
426
  const inspection = inspectAgentGuardSupervisor(repoRoot, sessionId);
427
+ if (!inspection.state) {
428
+ if (sessionId) {
429
+ const legacy = inspectStateAt(legacyStatePath(repoRoot, sessionId));
430
+ if (legacy.state) {
431
+ return stopInspection(legacy);
432
+ }
433
+ }
434
+ return {
435
+ signaled: false,
436
+ statePath: inspection.statePath,
437
+ state: null,
438
+ effectiveStatus: inspection.effectiveStatus,
439
+ };
440
+ }
441
+ return stopInspection(inspection);
442
+ }
443
+ function stopInspection(inspection) {
229
444
  if (!inspection.state) {
230
445
  return {
231
446
  signaled: false,
@@ -242,7 +457,7 @@ function stopAgentGuardSupervisor(repoRoot, sessionId) {
242
457
  updatedAt,
243
458
  stoppedAt: canSignal ? inspection.state.stoppedAt : updatedAt,
244
459
  };
245
- writeState(repoRoot, state);
460
+ writeStateAt(inspection.statePath, state);
246
461
  if (canSignal && inspection.state.pid) {
247
462
  try {
248
463
  process.kill(inspection.state.pid, 'SIGTERM');
@@ -250,19 +465,32 @@ function stopAgentGuardSupervisor(repoRoot, sessionId) {
250
465
  }
251
466
  catch {
252
467
  const stopped = { ...state, status: 'stale', updatedAt: now(), stoppedAt: now() };
253
- writeState(repoRoot, stopped);
468
+ writeStateAt(inspection.statePath, stopped);
254
469
  return { signaled: false, statePath: inspection.statePath, state: stopped, effectiveStatus: 'stale' };
255
470
  }
256
471
  }
257
472
  return { signaled: false, statePath: inspection.statePath, state, effectiveStatus: 'stopped' };
258
473
  }
474
+ function stopSupervisorOnSessionCompletion(repoRoot) {
475
+ return stopAgentGuardSupervisorForRepo(repoRoot);
476
+ }
477
+ function guardArtifactIsActive(repoRoot, guardPath, sessionId) {
478
+ const guardRead = (0, agent_guard_1.readAgentGuardArtifact)({ repoRoot, artifactPath: guardPath, sessionId });
479
+ return Boolean(guardRead.artifact?.active && guardRead.artifact.sessionId === sessionId);
480
+ }
259
481
  async function runAgentGuardSupervisor(options) {
260
- const existing = inspectAgentGuardSupervisor(options.repoRoot, options.sessionId);
261
- if (existing.state && existing.alive && existing.state.pid !== process.pid) {
262
- throw new Error(`Agent guard supervisor is already running for session ${options.sessionId} (pid ${existing.state.pid}).`);
482
+ cleanupStaleSupervisorsForRepo(options.repoRoot, process.pid);
483
+ const existing = inspectAgentGuardSupervisor(options.repoRoot);
484
+ if (existing.state
485
+ && existing.alive
486
+ && existing.state.pid !== process.pid
487
+ && (existing.effectiveStatus === 'running' || existing.effectiveStatus === 'starting')) {
488
+ throw new Error(`Agent guard supervisor is already running for repo ${options.repoRoot} (pid ${existing.state.pid}).`);
263
489
  }
264
490
  const debounceMs = normalizedMs(options.debounceMs, exports.DEFAULT_AGENT_GUARD_SUPERVISOR_DEBOUNCE_MS);
265
491
  const heartbeatMs = normalizedMs(options.heartbeatMs, exports.DEFAULT_AGENT_GUARD_SUPERVISOR_HEARTBEAT_MS, 250);
492
+ const idleTimeoutMs = normalizedMs(options.idleTimeoutMs, exports.DEFAULT_AGENT_GUARD_SUPERVISOR_IDLE_TIMEOUT_MS, 1_000);
493
+ const minEvalIntervalMs = normalizedMs(options.minEvalIntervalMs, exports.DEFAULT_AGENT_GUARD_SUPERVISOR_MIN_EVAL_INTERVAL_MS, 250);
266
494
  let state = newState({
267
495
  repoRoot: options.repoRoot,
268
496
  sessionId: options.sessionId,
@@ -271,35 +499,56 @@ async function runAgentGuardSupervisor(options) {
271
499
  status: 'running',
272
500
  debounceMs,
273
501
  heartbeatMs,
502
+ idleTimeoutMs,
503
+ minEvalIntervalMs,
274
504
  });
275
505
  let watcher = null;
276
506
  let debounceHandle = null;
507
+ let throttleHandle = null;
277
508
  let heartbeatHandle = null;
509
+ let idleHandle = null;
278
510
  let exitHandle = null;
279
511
  let evaluationRunning = false;
280
512
  let evaluationQueued = false;
281
513
  let stopped = false;
514
+ let lastEvalStartedAt = 0;
515
+ const pendingChangedPaths = new Set();
516
+ let requestShutdown = async () => { };
517
+ const touchActivity = () => {
518
+ state = { ...state, lastActivityAt: now() };
519
+ };
282
520
  const persist = (patch = {}) => {
283
521
  state = {
284
522
  ...state,
285
523
  ...patch,
286
524
  updatedAt: now(),
287
525
  };
288
- writeState(options.repoRoot, state);
526
+ writeRepoState(options.repoRoot, state);
289
527
  options.onState?.(state);
290
528
  };
529
+ const guardStillActive = () => guardArtifactIsActive(options.repoRoot, options.guardPath, options.sessionId);
291
530
  const evaluate = async () => {
292
531
  if (stopped)
293
532
  return;
533
+ if (!guardStillActive()) {
534
+ persist({ lastError: 'Agent guard not found or inactive; shutting down supervisor.' });
535
+ await requestShutdown('stopped');
536
+ return;
537
+ }
294
538
  if (evaluationRunning) {
295
539
  evaluationQueued = true;
296
540
  return;
297
541
  }
298
542
  evaluationRunning = true;
543
+ const changedPaths = [...pendingChangedPaths];
544
+ pendingChangedPaths.clear();
299
545
  try {
300
- const result = await options.onEvaluate();
546
+ const result = await options.onEvaluate({ changedPaths });
547
+ lastEvalStartedAt = Date.now();
548
+ touchActivity();
301
549
  persist({
302
550
  heartbeatAt: now(),
551
+ lastActivityAt: now(),
303
552
  evaluationCount: state.evaluationCount + 1,
304
553
  lastEvaluatedAt: result.evaluatedAt || now(),
305
554
  lastPass: result.pass,
@@ -308,10 +557,14 @@ async function runAgentGuardSupervisor(options) {
308
557
  });
309
558
  }
310
559
  catch (error) {
560
+ const message = error instanceof Error ? error.message : String(error);
311
561
  persist({
312
562
  heartbeatAt: now(),
313
- lastError: error instanceof Error ? error.message : String(error),
563
+ lastError: message,
314
564
  });
565
+ if (/agent guard not found/i.test(message) || /inactive/i.test(message)) {
566
+ await requestShutdown('stopped');
567
+ }
315
568
  }
316
569
  finally {
317
570
  evaluationRunning = false;
@@ -321,14 +574,38 @@ async function runAgentGuardSupervisor(options) {
321
574
  }
322
575
  }
323
576
  };
577
+ const runThrottledEvaluation = async () => {
578
+ if (stopped)
579
+ return;
580
+ const elapsed = Date.now() - lastEvalStartedAt;
581
+ if (lastEvalStartedAt > 0 && elapsed < minEvalIntervalMs) {
582
+ if (throttleHandle)
583
+ clearTimeout(throttleHandle);
584
+ throttleHandle = setTimeout(() => {
585
+ throttleHandle = null;
586
+ void runThrottledEvaluation();
587
+ }, minEvalIntervalMs - elapsed);
588
+ return;
589
+ }
590
+ await evaluate();
591
+ };
324
592
  const scheduleEvaluation = () => {
593
+ touchActivity();
325
594
  if (debounceHandle)
326
595
  clearTimeout(debounceHandle);
327
596
  debounceHandle = setTimeout(() => {
328
597
  debounceHandle = null;
329
- void evaluate();
598
+ void runThrottledEvaluation();
330
599
  }, debounceMs);
331
600
  };
601
+ const recordPathChange = (rawPath) => {
602
+ const normalized = normalizeWatcherPath(options.repoRoot, rawPath);
603
+ if (!normalized)
604
+ return;
605
+ pendingChangedPaths.add(normalized);
606
+ touchActivity();
607
+ scheduleEvaluation();
608
+ };
332
609
  return await new Promise((resolvePromise, rejectPromise) => {
333
610
  const shutdown = async (status = 'stopped') => {
334
611
  if (stopped)
@@ -336,8 +613,12 @@ async function runAgentGuardSupervisor(options) {
336
613
  stopped = true;
337
614
  if (debounceHandle)
338
615
  clearTimeout(debounceHandle);
616
+ if (throttleHandle)
617
+ clearTimeout(throttleHandle);
339
618
  if (heartbeatHandle)
340
619
  clearInterval(heartbeatHandle);
620
+ if (idleHandle)
621
+ clearInterval(idleHandle);
341
622
  if (exitHandle)
342
623
  clearTimeout(exitHandle);
343
624
  if (watcher)
@@ -349,36 +630,46 @@ async function runAgentGuardSupervisor(options) {
349
630
  });
350
631
  resolvePromise(state);
351
632
  };
633
+ requestShutdown = shutdown;
352
634
  const fail = async (error) => {
353
635
  persist({ status: 'failed', lastError: error instanceof Error ? error.message : String(error) });
354
636
  await shutdown('failed');
355
637
  };
356
638
  try {
357
- writeState(options.repoRoot, state);
639
+ writeRepoState(options.repoRoot, state);
358
640
  options.onState?.(state);
359
641
  watcher = chokidar.watch(options.repoRoot, {
360
- ignored: IGNORED_PATTERNS,
642
+ ignored: exports.AGENT_GUARD_SUPERVISOR_IGNORED_PATTERNS,
361
643
  persistent: true,
362
644
  ignoreInitial: true,
363
645
  awaitWriteFinish: {
364
646
  stabilityThreshold: 200,
365
- pollInterval: 100,
647
+ pollInterval: 250,
366
648
  },
367
649
  });
368
- watcher.on('add', scheduleEvaluation);
369
- watcher.on('change', scheduleEvaluation);
370
- watcher.on('unlink', scheduleEvaluation);
650
+ watcher.on('add', recordPathChange);
651
+ watcher.on('change', recordPathChange);
652
+ watcher.on('unlink', recordPathChange);
371
653
  watcher.on('error', (error) => void fail(error));
372
654
  heartbeatHandle = setInterval(() => {
373
655
  persist({ heartbeatAt: now() });
374
656
  }, heartbeatMs);
657
+ idleHandle = setInterval(() => {
658
+ const lastActivityMs = Date.parse(state.lastActivityAt || state.updatedAt);
659
+ if (!Number.isFinite(lastActivityMs))
660
+ return;
661
+ if (Date.now() - lastActivityMs >= idleTimeoutMs) {
662
+ persist({ lastError: `Idle timeout reached after ${idleTimeoutMs}ms.` });
663
+ void shutdown('stopped');
664
+ }
665
+ }, Math.min(60_000, Math.max(heartbeatMs, 5_000)));
375
666
  if (options.exitAfterMs && options.exitAfterMs > 0) {
376
667
  exitHandle = setTimeout(() => void shutdown('stopped'), options.exitAfterMs);
377
668
  }
378
669
  process.once('SIGINT', () => void shutdown('stopped'));
379
670
  process.once('SIGTERM', () => void shutdown('stopped'));
380
671
  if (options.evaluateImmediately !== false)
381
- void evaluate();
672
+ void runThrottledEvaluation();
382
673
  }
383
674
  catch (error) {
384
675
  rejectPromise(error);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-guard-supervisor.js","sourceRoot":"","sources":["../../src/utils/agent-guard-supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-guard-supervisor.js","sourceRoot":"","sources":["../../src/utils/agent-guard-supervisor.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,10 @@ export interface AgentGuardEvaluation {
73
73
  privacy: AgentGuardArtifact['privacy'];
74
74
  }
75
75
  export declare function captureAgentGuardSnapshot(repoRoot: string): AgentGuardFileSnapshot[];
76
+ export declare function snapshotMapFromFiles(files: AgentGuardFileSnapshot[]): Map<string, AgentGuardFileSnapshot>;
77
+ export declare function snapshotFilesFromMap(map: Map<string, AgentGuardFileSnapshot>): AgentGuardFileSnapshot[];
78
+ export declare function hashRepoFile(repoRoot: string, repoRelativePath: string): AgentGuardFileSnapshot | null;
79
+ export declare function applyIncrementalSnapshotChanges(repoRoot: string, current: Map<string, AgentGuardFileSnapshot>, changedPaths: string[]): void;
76
80
  export declare function createAgentGuardArtifact(input: {
77
81
  repoRoot: string;
78
82
  sessionId: string;
@@ -87,6 +91,11 @@ export declare function readAgentGuardArtifact(input: {
87
91
  sessionId?: string;
88
92
  artifactPath?: string;
89
93
  }): AgentGuardReadResult;
94
+ export declare function evaluateAgentGuardFromLedger(repoRoot: string, artifact: AgentGuardArtifact, session: GovernanceSession, changes: Array<{
95
+ path: string;
96
+ changeType: AgentGuardChangeType;
97
+ }>): AgentGuardEvaluation;
98
+ export declare function evaluateAgentGuardFromCurrent(repoRoot: string, artifact: AgentGuardArtifact, session: GovernanceSession, current: AgentGuardFileSnapshot[]): AgentGuardEvaluation;
90
99
  export declare function evaluateAgentGuard(repoRoot: string, artifact: AgentGuardArtifact, session: GovernanceSession): AgentGuardEvaluation;
91
100
  export declare function markAgentGuardFinished(artifact: AgentGuardArtifact, finishedAt?: string): AgentGuardArtifact;
92
101
  //# sourceMappingURL=agent-guard.d.ts.map