instar 0.9.63 → 0.9.65

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.
@@ -59,7 +59,6 @@ export declare class AutoUpdater {
59
59
  private lastError;
60
60
  private pendingUpdate;
61
61
  private isApplying;
62
- private loopNotified;
63
62
  private stateDir;
64
63
  private stateFile;
65
64
  private liveConfig;
@@ -95,39 +94,20 @@ export declare class AutoUpdater {
95
94
  */
96
95
  private tick;
97
96
  /**
98
- * Self-restart the server after an update.
97
+ * Request a restart from the supervisor by writing a signal file.
99
98
  *
100
- * Strategy:
101
- * 1. Spawn a shell that waits 2 seconds (for port release), then
102
- * starts the new server version using the same CLI arguments.
103
- * 2. Send SIGTERM to ourselves to trigger graceful shutdown.
99
+ * The AutoUpdater's job ends here — the supervisor handles the actual restart.
100
+ * This eliminates the entire category of self-restart bugs (PATH mismatch,
101
+ * launchd confusion, binary resolution failures, restart loops).
104
102
  *
105
- * The 2-second delay ensures the old process has time to release
106
- * the port before the new one tries to bind.
103
+ * Signal file: state/restart-requested.json
104
+ * The supervisor polls this file during health checks and performs the restart.
107
105
  *
108
- * If running in tmux, the replacement process inherits the PTY.
109
- * If running under a process manager (launchd, systemd), the
110
- * manager handles restart automatically after we exit.
106
+ * If no supervisor is running (standalone foreground mode), the server logs
107
+ * a notice that a restart is needed. This is strictly better than attempting
108
+ * self-restart, which can loop or leave the port bound.
111
109
  */
112
- /**
113
- * Find the best available binary path for restart.
114
- * Tries multiple strategies, from most reliable to least:
115
- *
116
- * 1. `npm bin -g` — the actual global bin directory npm uses
117
- * 2. `which instar` — PATH-based lookup (excludes npx cache and local node_modules)
118
- * 3. `npm prefix -g` + `/bin/instar` — prefix-based lookup
119
- * 4. `npm root -g` + `/instar/dist/cli.js` — direct module entry point (nuclear option)
120
- * 5. `process.argv` fallback — only if not from npx cache or local node_modules
121
- *
122
- * Returns { bin, method } or null if no viable path found.
123
- */
124
- private findBestBinary;
125
- private selfRestart;
126
- /**
127
- * Check if this server process is managed by macOS launchd.
128
- * If so, we can just exit and launchd will restart us.
129
- */
130
- private isLaunchdManaged;
110
+ private requestRestart;
131
111
  /**
132
112
  * Send a notification via Telegram (if configured).
133
113
  * Falls back to console logging if Telegram is not available.
@@ -138,10 +118,6 @@ export declare class AutoUpdater {
138
118
  * Prefers the dedicated Agent Updates topic (informational), falls back to Agent Attention.
139
119
  */
140
120
  private getNotificationTopicId;
141
- /**
142
- * Get the server port from the update checker config (for notification messages).
143
- */
144
- private getPort;
145
121
  /**
146
122
  * Check if an upgrade guide exists for the given version.
147
123
  * This is used to decide whether to promise a "what's new" summary
@@ -149,15 +125,6 @@ export declare class AutoUpdater {
149
125
  * we can keep.
150
126
  */
151
127
  private hasUpgradeGuide;
152
- /**
153
- * Write a flag file to signal the lifeline supervisor that the server
154
- * is about to restart for an update. The supervisor checks this flag
155
- * before firing "server down" alerts, preventing unnecessary noise.
156
- *
157
- * The flag has a 3-minute TTL — if the replacement server doesn't
158
- * come up by then, it's a real problem and alerts should fire.
159
- */
160
- private writeUpdateRestartFlag;
161
128
  private loadState;
162
129
  private saveState;
163
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AutoUpdater.d.ts","sourceRoot":"","sources":["../../src/core/AutoUpdater.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qCAAqC;IACrC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,4BAA4B;IAC5B,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACpC,sDAAsD;IACtD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,wBAAwB;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAA2B;gBAG3C,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,EACjC,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI;IAoBhC;;;OAGG;IACH,KAAK,IAAI,IAAI;IAiCb;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,SAAS,IAAI,iBAAiB;IAY9B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI5C;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;OAGG;YACW,IAAI;IAgIlB;;;;;;;;;;;;;;OAcG;IACH;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IA8DtB,OAAO,CAAC,WAAW;IA+EnB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;;OAGG;YACW,MAAM;IAoBpB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACH,OAAO,CAAC,OAAO;IAQf;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAkBvB;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;CAsBlB"}
1
+ {"version":3,"file":"AutoUpdater.d.ts","sourceRoot":"","sources":["../../src/core/AutoUpdater.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qCAAqC;IACrC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,4BAA4B;IAC5B,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACpC,sDAAsD;IACtD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,wBAAwB;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAA2B;gBAG3C,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,EACjC,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI;IAoBhC;;;OAGG;IACH,KAAK,IAAI,IAAI;IAkBb;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,SAAS,IAAI,iBAAiB;IAY9B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI5C;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;OAGG;YACW,IAAI;IAwFlB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,cAAc;IAuBtB;;;OAGG;YACW,MAAM;IAoBpB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAQ9B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;CAsBlB"}
@@ -17,10 +17,8 @@
17
17
  * server process and exit. The new process binds to the port after
18
18
  * the old one releases it during shutdown.
19
19
  */
20
- import { spawn, execFileSync } from 'node:child_process';
21
20
  import fs from 'node:fs';
22
21
  import path from 'node:path';
23
- import { DegradationReporter } from '../monitoring/DegradationReporter.js';
24
22
  export class AutoUpdater {
25
23
  updateChecker;
26
24
  telegram;
@@ -33,7 +31,6 @@ export class AutoUpdater {
33
31
  lastError = null;
34
32
  pendingUpdate = null;
35
33
  isApplying = false;
36
- loopNotified = false;
37
34
  stateDir;
38
35
  stateFile;
39
36
  liveConfig = null;
@@ -61,20 +58,8 @@ export class AutoUpdater {
61
58
  if (this.interval)
62
59
  return;
63
60
  const intervalMs = this.config.checkIntervalMinutes * 60 * 1000;
64
- // Detect stale binary sources — npx cache and local node_modules don't update
65
- // when we run npm install -g, causing restart loops. Auto-apply still works
66
- // (installs globally), but auto-restart would loop if we can't find the global binary.
67
- // We now have robust binary resolution (findBestBinary), so we only disable
68
- // auto-restart for npx — local installs can restart via global binary resolution.
69
- const scriptPath = process.argv[1] || '';
70
- const runningFromNpx = scriptPath.includes('.npm/_npx') || scriptPath.includes('/_npx/');
71
- if (runningFromNpx) {
72
- this.config.autoRestart = false;
73
- console.warn('[AutoUpdater] Running from npx cache. Auto-restart disabled — updates will be applied globally.\n' +
74
- '[AutoUpdater] The server will use the new version on next restart.');
75
- }
76
61
  console.log(`[AutoUpdater] Started (every ${this.config.checkIntervalMinutes}m, ` +
77
- `autoApply: ${this.config.autoApply}, autoRestart: ${this.config.autoRestart})`);
62
+ `autoApply: ${this.config.autoApply})`);
78
63
  // Run first check after a short delay (don't block startup)
79
64
  setTimeout(() => this.tick(), 10_000);
80
65
  // Then run periodically
@@ -167,28 +152,6 @@ export class AutoUpdater {
167
152
  console.log(`[AutoUpdater] Update available: ${info.currentVersion} → ${info.latestVersion}`);
168
153
  this.pendingUpdate = info.latestVersion;
169
154
  this.saveState();
170
- // Guard: prevent restart loops when the running binary doesn't pick up updates.
171
- // This happens when running from npx cache, a local install, or any location
172
- // that npm install -g doesn't update. After applying v0.9.3, the restarted
173
- // process still reads its old package.json → detects v0.9.3 as "new" → applies
174
- // again → restarts again → infinite loop.
175
- if (this.lastAppliedVersion === info.latestVersion) {
176
- console.log(`[AutoUpdater] v${info.latestVersion} was already applied in a previous cycle. ` +
177
- `The running binary didn't pick up the update — attempting recovery restart.`);
178
- // The previous restart spawned from a stale binary. Try once more with
179
- // aggressive path resolution. If this fails, accept current state — never
180
- // ask the user to run a command.
181
- if (!this.loopNotified) {
182
- this.loopNotified = true;
183
- await this.notify(`Update to v${info.latestVersion} was installed but the restart loaded a stale binary. ` +
184
- `Attempting recovery restart from the correct path...`);
185
- await new Promise(r => setTimeout(r, 2000));
186
- this.selfRestart();
187
- }
188
- this.pendingUpdate = null;
189
- this.saveState();
190
- return;
191
- }
192
155
  // Step 2: Auto-apply if configured
193
156
  if (!this.config.autoApply) {
194
157
  // Notify with actionable instructions — don't leave the user hanging
@@ -217,28 +180,20 @@ export class AutoUpdater {
217
180
  this.pendingUpdate = null;
218
181
  this.saveState();
219
182
  console.log(`[AutoUpdater] Updated: v${result.previousVersion} → v${result.newVersion}`);
220
- // Step 5: Notify via Telegram (brief, conversational)
221
- // Don't promise a summary unless an upgrade guide exists for the new version.
222
- // Versions without guides in upgrades/ will never trigger the upgrade-notify session,
223
- // so promising a summary creates a broken commitment.
224
- const restartNote = result.restartNeeded && this.config.autoRestart
225
- ? ' Restarting now to pick up the changes.'
226
- : result.restartNeeded
227
- ? ' A restart is needed to use the new version.'
228
- : '';
229
- // Only promise a summary if an upgrade guide exists for the new version.
230
- // Without a guide, the upgrade-notify session has nothing to report — don't
231
- // make a promise we can't keep.
183
+ // Step 5: Notify via Telegram
232
184
  const guideExists = this.hasUpgradeGuide(result.newVersion);
233
185
  const summaryNote = guideExists
234
186
  ? ` I'll send you a summary of what's new once I'm back up.`
235
187
  : '';
236
- await this.notify(`Just updated to v${result.newVersion}.${restartNote}${summaryNote}`);
237
- // Step 6: Self-restart if needed and configured
238
- if (result.restartNeeded && this.config.autoRestart) {
188
+ if (result.restartNeeded) {
189
+ await this.notify(`Just updated to v${result.newVersion}. Restarting to pick up the changes.${summaryNote}`);
190
+ // Step 6: Request restart from supervisor (don't self-restart)
239
191
  // Brief delay to let the Telegram notification send
240
192
  await new Promise(r => setTimeout(r, 2000));
241
- this.selfRestart();
193
+ this.requestRestart(result.newVersion);
194
+ }
195
+ else {
196
+ await this.notify(`Just updated to v${result.newVersion}.${summaryNote}`);
242
197
  }
243
198
  }
244
199
  catch (err) {
@@ -249,179 +204,40 @@ export class AutoUpdater {
249
204
  }
250
205
  }
251
206
  /**
252
- * Self-restart the server after an update.
253
- *
254
- * Strategy:
255
- * 1. Spawn a shell that waits 2 seconds (for port release), then
256
- * starts the new server version using the same CLI arguments.
257
- * 2. Send SIGTERM to ourselves to trigger graceful shutdown.
207
+ * Request a restart from the supervisor by writing a signal file.
258
208
  *
259
- * The 2-second delay ensures the old process has time to release
260
- * the port before the new one tries to bind.
209
+ * The AutoUpdater's job ends here — the supervisor handles the actual restart.
210
+ * This eliminates the entire category of self-restart bugs (PATH mismatch,
211
+ * launchd confusion, binary resolution failures, restart loops).
261
212
  *
262
- * If running in tmux, the replacement process inherits the PTY.
263
- * If running under a process manager (launchd, systemd), the
264
- * manager handles restart automatically after we exit.
265
- */
266
- /**
267
- * Find the best available binary path for restart.
268
- * Tries multiple strategies, from most reliable to least:
269
- *
270
- * 1. `npm bin -g` — the actual global bin directory npm uses
271
- * 2. `which instar` — PATH-based lookup (excludes npx cache and local node_modules)
272
- * 3. `npm prefix -g` + `/bin/instar` — prefix-based lookup
273
- * 4. `npm root -g` + `/instar/dist/cli.js` — direct module entry point (nuclear option)
274
- * 5. `process.argv` fallback — only if not from npx cache or local node_modules
213
+ * Signal file: state/restart-requested.json
214
+ * The supervisor polls this file during health checks and performs the restart.
275
215
  *
276
- * Returns { bin, method } or null if no viable path found.
216
+ * If no supervisor is running (standalone foreground mode), the server logs
217
+ * a notice that a restart is needed. This is strictly better than attempting
218
+ * self-restart, which can loop or leave the port bound.
277
219
  */
278
- findBestBinary() {
279
- const isStaleSource = (p) => p.includes('.npm/_npx') || p.includes('/_npx/') || p.includes('node_modules/.bin/');
280
- // Strategy 1: npm bin -g (most reliable — the actual bin dir npm writes to)
281
- try {
282
- const globalBinDir = execFileSync('npm', ['bin', '-g'], {
283
- encoding: 'utf-8',
284
- stdio: ['pipe', 'pipe', 'pipe'],
285
- }).trim();
286
- const candidate = path.join(globalBinDir, 'instar');
287
- if (fs.existsSync(candidate) && !isStaleSource(candidate)) {
288
- return { bin: candidate, method: 'npm-bin-g' };
289
- }
290
- }
291
- catch { /* npm bin -g failed */ }
292
- // Strategy 2: which instar (excludes stale sources)
293
- try {
294
- const which = execFileSync('which', ['instar'], {
295
- encoding: 'utf-8',
296
- stdio: ['pipe', 'pipe', 'pipe'],
297
- }).trim();
298
- if (which && !isStaleSource(which)) {
299
- return { bin: which, method: 'which' };
300
- }
301
- }
302
- catch { /* not found in PATH */ }
303
- // Strategy 3: npm prefix -g + /bin/instar
304
- try {
305
- const npmPrefix = execFileSync('npm', ['prefix', '-g'], {
306
- encoding: 'utf-8',
307
- stdio: ['pipe', 'pipe', 'pipe'],
308
- }).trim();
309
- const candidate = path.join(npmPrefix, 'bin', 'instar');
310
- if (fs.existsSync(candidate) && !isStaleSource(candidate)) {
311
- return { bin: candidate, method: 'npm-prefix-g' };
312
- }
313
- }
314
- catch { /* @silent-fallback-ok — npm prefix, try next strategy */ }
315
- // Strategy 4: Nuclear — find the installed package's main entry point directly.
316
- // This bypasses the bin symlink and runs the module's CLI entry with node.
317
- try {
318
- const globalRoot = execFileSync('npm', ['root', '-g'], {
319
- encoding: 'utf-8',
320
- stdio: ['pipe', 'pipe', 'pipe'],
321
- }).trim();
322
- const mainEntry = path.join(globalRoot, 'instar', 'dist', 'cli.js');
323
- if (fs.existsSync(mainEntry)) {
324
- return { bin: mainEntry, method: 'npm-root-g-direct', useNode: true };
325
- }
326
- }
327
- catch { // @silent-fallback-ok — npm root lookup, try next strategy
328
- }
329
- // Strategy 5: process.argv fallback — only if it's not from a stale source
330
- const scriptPath = process.argv[1] || '';
331
- if (scriptPath && !isStaleSource(scriptPath)) {
332
- return { bin: scriptPath, method: 'process-argv', useNode: true };
333
- }
334
- return null;
335
- }
336
- selfRestart() {
337
- console.log('[AutoUpdater] Initiating self-restart...');
338
- const cliArgs = process.argv.slice(2); // skip node + script path
339
- const quotedArgs = cliArgs.map(a => `'${a.replace(/'/g, "'\\''")}'`).join(' ');
340
- // Check if we're managed by launchd or systemd — if so, just exit cleanly
341
- // and let the service manager handle the restart.
342
- //
343
- // IMPORTANT: When the server is started by the lifeline supervisor (with --no-telegram),
344
- // it runs in a tmux session — NOT directly under launchd. The lifeline process is
345
- // launchd-managed, but the server is supervisor-managed. Calling process.exit(0) here
346
- // would kill the server, and launchd wouldn't restart it (it only watches the lifeline).
347
- // The supervisor would eventually notice and restart, but only after the update-restart
348
- // flag expires (3 min) — causing unnecessary downtime and restart loops.
349
- const supervisorManaged = process.argv.includes('--no-telegram');
350
- const managedByLaunchd = !supervisorManaged && (!!process.env.LAUNCHED_BY_LAUNCHD || this.isLaunchdManaged());
351
- const managedBySystemd = !supervisorManaged && !!process.env.INVOCATION_ID; // systemd sets this
352
- if (managedByLaunchd || managedBySystemd) {
353
- const manager = managedByLaunchd ? 'launchd' : 'systemd';
354
- console.log(`[AutoUpdater] Managed by ${manager} — exiting for automatic restart.`);
355
- this.writeUpdateRestartFlag();
356
- // Just exit — the service manager will restart us from the updated binary
357
- process.exit(0);
358
- return; // unreachable but makes TypeScript happy
359
- }
360
- // Find the best binary path
361
- const found = this.findBestBinary();
362
- let cmd;
363
- if (found) {
364
- console.log(`[AutoUpdater] Found binary via ${found.method}: ${found.bin}`);
365
- const quotedBin = `'${found.bin.replace(/'/g, "'\\''")}'`;
366
- if (found.useNode) {
367
- cmd = `sleep 2 && exec ${process.execPath} ${quotedBin} ${quotedArgs}`;
368
- }
369
- else {
370
- cmd = `sleep 2 && exec ${quotedBin} ${quotedArgs}`;
371
- }
372
- }
373
- else {
374
- // All strategies failed — this is extremely rare. Log it but don't ask the user.
375
- console.error('[AutoUpdater] Cannot find any viable binary path for restart.');
376
- console.error('[AutoUpdater] Update was applied globally. The server will pick it up on next manual restart.');
377
- // Do NOT ask the user to run commands. Just log and continue running.
378
- return;
379
- }
220
+ requestRestart(newVersion) {
221
+ const flagPath = path.join(this.stateDir, 'state', 'restart-requested.json');
222
+ const data = {
223
+ requestedAt: new Date().toISOString(),
224
+ requestedBy: 'auto-updater',
225
+ targetVersion: newVersion,
226
+ previousVersion: this.updateChecker.getInstalledVersion(),
227
+ expiresAt: new Date(Date.now() + 10 * 60 * 1000).toISOString(), // 10 min TTL
228
+ pid: process.pid,
229
+ };
380
230
  try {
381
- // Signal the lifeline supervisor that this is a planned restart —
382
- // suppresses "server down" alerts during the update window
383
- this.writeUpdateRestartFlag();
384
- const child = spawn('sh', ['-c', cmd], {
385
- detached: true,
386
- stdio: 'inherit',
387
- cwd: process.cwd(),
388
- env: process.env,
389
- });
390
- child.unref();
391
- console.log('[AutoUpdater] Replacement process spawned. Shutting down...');
392
- // Trigger graceful shutdown (the SIGTERM handler in server.ts will clean up)
393
- process.kill(process.pid, 'SIGTERM');
231
+ const dir = path.dirname(flagPath);
232
+ fs.mkdirSync(dir, { recursive: true });
233
+ const tmpPath = `${flagPath}.${process.pid}.tmp`;
234
+ fs.writeFileSync(tmpPath, JSON.stringify(data, null, 2));
235
+ fs.renameSync(tmpPath, flagPath);
236
+ console.log(`[AutoUpdater] Restart requested — supervisor will handle (target: v${newVersion})`);
394
237
  }
395
238
  catch (err) {
396
- console.error(`[AutoUpdater] Self-restart failed: ${err}`);
397
- console.error('[AutoUpdater] Update was applied but manual restart is needed.');
398
- DegradationReporter.getInstance().report({
399
- feature: 'AutoUpdater.selfRestart',
400
- primary: 'Restart agent after auto-update',
401
- fallback: 'Old code continues running until manual restart',
402
- reason: `Why: ${err instanceof Error ? err.message : String(err)}`,
403
- impact: 'Updated code not active — agent runs stale version',
404
- });
405
- }
406
- }
407
- /**
408
- * Check if this server process is managed by macOS launchd.
409
- * If so, we can just exit and launchd will restart us.
410
- */
411
- isLaunchdManaged() {
412
- if (process.platform !== 'darwin')
413
- return false;
414
- try {
415
- // Look for an instar plist in LaunchAgents
416
- const plistDir = path.join(process.env.HOME || '', 'Library', 'LaunchAgents');
417
- if (!fs.existsSync(plistDir))
418
- return false;
419
- const files = fs.readdirSync(plistDir);
420
- return files.some(f => f.startsWith('ai.instar.') && f.endsWith('.plist'));
421
- }
422
- catch {
423
- // @silent-fallback-ok — launchd check returns false
424
- return false;
239
+ console.error(`[AutoUpdater] Failed to write restart request: ${err}`);
240
+ console.error('[AutoUpdater] Update was applied but a manual restart is needed.');
425
241
  }
426
242
  }
427
243
  /**
@@ -455,14 +271,6 @@ export class AutoUpdater {
455
271
  || this.state.get('agent-attention-topic')
456
272
  || 0;
457
273
  }
458
- /**
459
- * Get the server port from the update checker config (for notification messages).
460
- */
461
- getPort() {
462
- // The port is available on the UpdateChecker config but not exposed.
463
- // Use a reasonable default — agents can find their port from config.
464
- return 4040;
465
- }
466
274
  // ── Upgrade guide detection ─────────────────────────────────────────
467
275
  /**
468
276
  * Check if an upgrade guide exists for the given version.
@@ -483,35 +291,6 @@ export class AutoUpdater {
483
291
  return false;
484
292
  }
485
293
  }
486
- // ── Update restart flag ────────────────────────────────────────────
487
- /**
488
- * Write a flag file to signal the lifeline supervisor that the server
489
- * is about to restart for an update. The supervisor checks this flag
490
- * before firing "server down" alerts, preventing unnecessary noise.
491
- *
492
- * The flag has a 3-minute TTL — if the replacement server doesn't
493
- * come up by then, it's a real problem and alerts should fire.
494
- */
495
- writeUpdateRestartFlag() {
496
- const flagPath = path.join(this.stateDir, 'state', 'update-restart.json');
497
- const data = {
498
- pid: process.pid,
499
- startedAt: new Date().toISOString(),
500
- targetVersion: this.lastAppliedVersion ?? 'unknown',
501
- expiresAt: new Date(Date.now() + 3 * 60 * 1000).toISOString(),
502
- };
503
- try {
504
- const dir = path.dirname(flagPath);
505
- fs.mkdirSync(dir, { recursive: true });
506
- const tmpPath = `${flagPath}.${process.pid}.tmp`;
507
- fs.writeFileSync(tmpPath, JSON.stringify(data, null, 2));
508
- fs.renameSync(tmpPath, flagPath);
509
- console.log('[AutoUpdater] Wrote update-restart flag (expires in 3 min)');
510
- }
511
- catch (err) {
512
- console.error(`[AutoUpdater] Failed to write update-restart flag: ${err}`);
513
- }
514
- }
515
294
  // ── State persistence ──────────────────────────────────────────────
516
295
  loadState() {
517
296
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"AutoUpdater.js","sourceRoot":"","sources":["../../src/core/AutoUpdater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoUpdater.js","sourceRoot":"","sources":["../../src/core/AutoUpdater.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAkC7B,MAAM,OAAO,WAAW;IACd,aAAa,CAAgB;IAC7B,QAAQ,CAAyB;IACjC,KAAK,CAAe;IACpB,MAAM,CAA8B;IACpC,QAAQ,GAA0C,IAAI,CAAC;IACvD,SAAS,GAAkB,IAAI,CAAC;IAChC,SAAS,GAAkB,IAAI,CAAC;IAChC,kBAAkB,GAAkB,IAAI,CAAC;IACzC,SAAS,GAAkB,IAAI,CAAC;IAChC,aAAa,GAAkB,IAAI,CAAC;IACpC,UAAU,GAAG,KAAK,CAAC;IACnB,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,UAAU,GAAsB,IAAI,CAAC;IAE7C,YACE,aAA4B,EAC5B,KAAmB,EACnB,QAAgB,EAChB,MAA0B,EAC1B,QAAiC,EACjC,UAA8B;QAE9B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC;QAErC,IAAI,CAAC,MAAM,GAAG;YACZ,oBAAoB,EAAE,MAAM,EAAE,oBAAoB,IAAI,EAAE;YACxD,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,IAAI;YACpC,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,IAAI;YACxC,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,IAAI,CAAC;SACtD,CAAC;QAEF,2CAA2C;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;QAEhE,OAAO,CAAC,GAAG,CACT,gCAAgC,IAAI,CAAC,MAAM,CAAC,oBAAoB,KAAK;YACrE,cAAc,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CACvC,CAAC;QAEF,4DAA4D;QAC5D,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAEtC,wBAAwB;QACxB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,6BAA6B;IACtD,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;YAC1B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAyB;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB;QACzB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,4DAA4D;gBAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAU,mBAAmB,EAAE,IAAI,CAAC,CAAC;gBAC1E,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACxC,OAAO,CAAC,GAAG,CAAC,2CAA2C,IAAI,CAAC,MAAM,CAAC,SAAS,MAAM,SAAS,EAAE,CAAC,CAAC;oBAC/F,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;gBACpC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,+EAA+E;YAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,OAAO;YAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,MAAM,SAAS,GAAG,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC;YAC1C,IAAI,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC1E,OAAO,CAAC,GAAG,CAAC,mDAAmD,IAAI,CAAC,MAAM,CAAC,SAAS,MAAM,SAAS,EAAE,CAAC,CAAC;gBACvG,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,+DAA+D;QAC/D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,cAAc,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAC9F,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,IAAI,CAAC,SAAS,EAAE,CAAC;YAEjB,mCAAmC;YACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC3B,qEAAqE;gBACrE,MAAM,IAAI,CAAC,MAAM,CACf,qCAAqC,IAAI,CAAC,aAAa,wBAAwB,IAAI,CAAC,cAAc,OAAO;oBACzG,oFAAoF;oBACpF,uFAAuF,CACxF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC;YAE1E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAExB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;gBAChC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChE,MAAM,IAAI,CAAC,MAAM,CACf,oCAAoC,IAAI,CAAC,aAAa,2BAA2B;oBACjF,8BAA8B,MAAM,CAAC,eAAe,yBAAyB;oBAC7E,4BAA4B,CAC7B,CAAC;gBACF,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC;YAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;YAEjB,OAAO,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,eAAe,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAEzF,8BAA8B;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,WAAW;gBAC7B,CAAC,CAAC,0DAA0D;gBAC5D,CAAC,CAAC,EAAE,CAAC;YAEP,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,MAAM,CACf,oBAAoB,MAAM,CAAC,UAAU,uCAAuC,WAAW,EAAE,CAC1F,CAAC;gBACF,+DAA+D;gBAC/D,oDAAoD;gBACpD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,MAAM,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,cAAc,CAAC,UAAkB;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG;YACX,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,UAAU;YACzB,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE;YACzD,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,aAAa;YAC7E,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC;QACF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;YACjD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACzD,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,sEAAsE,UAAU,GAAG,CAAC,CAAC;QACnG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,kDAAkD,GAAG,EAAE,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,MAAM,CAAC,OAAe;QAClC,MAAM,SAAS,GAAG,OAAO,CAAC;QAE1B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACjF,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBACpD,OAAO;gBACT,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,yDAAyD;gBACzD,OAAO,CAAC,KAAK,CAAC,+CAA+C,GAAG,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,OAAO,CAAC,GAAG,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACK,sBAAsB;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAS,qBAAqB,CAAC;eAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAS,uBAAuB,CAAC;eAC/C,CAAC,CAAC;IACT,CAAC;IAED,uEAAuE;IAEvE;;;;;OAKG;IACK,eAAe,CAAC,OAAe;QACrC,IAAI,CAAC;YACH,8DAA8D;YAC9D,0DAA0D;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAC5B,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EACjC,IAAI,EAAE,IAAI,EAAE,IAAI,CACjB,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC;YACpE,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,sEAAsE;IAE9D,SAAS;QACf,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;gBACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;gBACxC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;gBACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;YAClD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;IAEO,SAAS;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAClC,CAAC;QAEF,eAAe;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;QACvD,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACzD,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF"}
@@ -6,6 +6,13 @@
6
6
  *
7
7
  * The supervisor spawns the server in a tmux session (same as `instar server start`)
8
8
  * and monitors it via health checks.
9
+ *
10
+ * RESTART ARCHITECTURE (v0.9.63):
11
+ * The server NEVER restarts itself. When the AutoUpdater installs an update,
12
+ * it writes a `restart-requested.json` flag. The supervisor detects this flag
13
+ * during its health check polling and performs a graceful restart. This eliminates
14
+ * the entire category of self-restart bugs (PATH mismatch, launchd confusion,
15
+ * binary resolution failures, restart loops).
9
16
  */
10
17
  import { EventEmitter } from 'node:events';
11
18
  export interface SupervisorEvents {
@@ -38,6 +45,10 @@ export declare class ServerSupervisor extends EventEmitter {
38
45
  private readonly circuitBreakerThreshold;
39
46
  private readonly circuitBreakerWindowMs;
40
47
  private circuitBroken;
48
+ private circuitBreakerTrippedAt;
49
+ private circuitBreakerRetryCount;
50
+ private readonly circuitBreakerRetryIntervalMs;
51
+ private readonly maxCircuitBreakerRetries;
41
52
  private lastCrashOutput;
42
53
  constructor(options: {
43
54
  projectDir: string;
@@ -71,22 +82,37 @@ export declare class ServerSupervisor extends EventEmitter {
71
82
  circuitBroken: boolean;
72
83
  totalFailures: number;
73
84
  lastCrashOutput: string;
85
+ circuitBreakerRetryCount: number;
86
+ maxCircuitBreakerRetries: number;
74
87
  };
75
88
  /**
76
89
  * Reset the circuit breaker — allows restart attempts to resume.
77
90
  * Call this after fixing the underlying issue (e.g., via /lifeline restart).
78
91
  */
79
92
  resetCircuitBreaker(): void;
93
+ /**
94
+ * Gracefully restart the server: capture output, kill tmux session,
95
+ * clean up child processes, then spawn fresh.
96
+ *
97
+ * Used by: restart-request handling (auto-update), /lifeline restart command.
98
+ */
99
+ performGracefulRestart(reason: string): Promise<boolean>;
80
100
  private spawnServer;
81
101
  private isServerSessionAlive;
82
102
  private startHealthChecks;
83
103
  private stopHealthChecks;
84
104
  private checkHealth;
105
+ /**
106
+ * Check if the server (AutoUpdater) has requested a restart.
107
+ * Called during the health check loop. If a valid request exists,
108
+ * initiate a graceful restart of the server tmux session.
109
+ */
110
+ private checkRestartRequest;
85
111
  private handleUnhealthy;
86
112
  /**
87
- * Capture the last 50 lines of tmux output before killing the session.
88
- * This surfaces the actual error (EADDRINUSE, missing module, etc.)
89
- * instead of just "health check failed."
113
+ * Capture crash output from multiple sources:
114
+ * 1. tmux pane capture (last 50 lines of terminal output)
115
+ * 2. stderr crash log file (tee'd from server process)
90
116
  */
91
117
  private captureCrashOutput;
92
118
  /**
@@ -95,13 +121,10 @@ export declare class ServerSupervisor extends EventEmitter {
95
121
  */
96
122
  private cleanupChildProcesses;
97
123
  /**
98
- * Check if the server is in a planned restart (e.g., auto-update).
99
- * The AutoUpdater writes a flag file with a TTL before restarting.
100
- */
101
- private isPlannedRestart;
102
- /**
103
- * Clear the update-restart flag after the server comes back healthy.
124
+ * Check for the legacy update-restart.json flag (written by old AutoUpdater versions).
125
+ * New versions write restart-requested.json instead, handled by checkRestartRequest().
104
126
  */
105
- private clearPlannedRestartFlag;
127
+ private isLegacyPlannedRestart;
128
+ private clearLegacyRestartFlag;
106
129
  }
107
130
  //# sourceMappingURL=ServerSupervisor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerSupervisor.d.ts","sourceRoot":"","sources":["../../src/lifeline/ServerSupervisor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAU3C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,EAAE,CAAC;IACb,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpC,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;CACjE;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAA+C;IAC1E,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAK;IACxC,OAAO,CAAC,QAAQ,CAAgB;IAGhC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAM;IAC9C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAe;IACtD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAM;gBAEjB,OAAO,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAUD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAkB/B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB3B;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;QACrB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;KACzB;IAmBD;;;OAGG;IACH,mBAAmB,IAAI,IAAI;IAS3B,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,gBAAgB;YAOV,WAAW;IAiBzB,OAAO,CAAC,eAAe;IA0FvB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA4C7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAUhC"}
1
+ {"version":3,"file":"ServerSupervisor.d.ts","sourceRoot":"","sources":["../../src/lifeline/ServerSupervisor.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,13 @@
6
6
  *
7
7
  * The supervisor spawns the server in a tmux session (same as `instar server start`)
8
8
  * and monitors it via health checks.
9
+ *
10
+ * RESTART ARCHITECTURE (v0.9.63):
11
+ * The server NEVER restarts itself. When the AutoUpdater installs an update,
12
+ * it writes a `restart-requested.json` flag. The supervisor detects this flag
13
+ * during its health check polling and performs a graceful restart. This eliminates
14
+ * the entire category of self-restart bugs (PATH mismatch, launchd confusion,
15
+ * binary resolution failures, restart loops).
9
16
  */
10
17
  import { execFileSync, spawnSync } from 'node:child_process';
11
18
  import { EventEmitter } from 'node:events';
@@ -35,12 +42,16 @@ export class ServerSupervisor extends EventEmitter {
35
42
  consecutiveFailures = 0; // Hysteresis: require 2 consecutive failures before marking unhealthy
36
43
  unhealthyThreshold = 2;
37
44
  stateDir;
38
- // Circuit breaker — permanent give-up after too many total failures
45
+ // Circuit breaker — give up after too many total failures, but retry periodically
39
46
  totalFailures = 0;
40
47
  totalFailureWindowStart = 0;
41
- circuitBreakerThreshold = 20; // Total failures before giving up
48
+ circuitBreakerThreshold = 20; // Total failures before tripping
42
49
  circuitBreakerWindowMs = 60 * 60_000; // 1-hour window
43
50
  circuitBroken = false;
51
+ circuitBreakerTrippedAt = 0;
52
+ circuitBreakerRetryCount = 0;
53
+ circuitBreakerRetryIntervalMs = 30 * 60_000; // 30 min between retries
54
+ maxCircuitBreakerRetries = 3; // Try 3 times before truly giving up
44
55
  lastCrashOutput = ''; // Last captured crash output for diagnostics
45
56
  constructor(options) {
46
57
  super();
@@ -118,6 +129,8 @@ export class ServerSupervisor extends EventEmitter {
118
129
  circuitBroken: this.circuitBroken,
119
130
  totalFailures: this.totalFailures,
120
131
  lastCrashOutput: this.lastCrashOutput,
132
+ circuitBreakerRetryCount: this.circuitBreakerRetryCount,
133
+ maxCircuitBreakerRetries: this.maxCircuitBreakerRetries,
121
134
  };
122
135
  }
123
136
  /**
@@ -126,27 +139,70 @@ export class ServerSupervisor extends EventEmitter {
126
139
  */
127
140
  resetCircuitBreaker() {
128
141
  this.circuitBroken = false;
142
+ this.circuitBreakerTrippedAt = 0;
143
+ this.circuitBreakerRetryCount = 0;
129
144
  this.totalFailures = 0;
130
145
  this.totalFailureWindowStart = 0;
131
146
  this.restartAttempts = 0;
132
147
  this.maxRetriesExhaustedAt = 0;
133
148
  console.log('[Supervisor] Circuit breaker reset');
134
149
  }
150
+ /**
151
+ * Gracefully restart the server: capture output, kill tmux session,
152
+ * clean up child processes, then spawn fresh.
153
+ *
154
+ * Used by: restart-request handling (auto-update), /lifeline restart command.
155
+ */
156
+ async performGracefulRestart(reason) {
157
+ console.log(`[Supervisor] Graceful restart initiated: ${reason}`);
158
+ this.emit('serverRestarting', 0);
159
+ if (this.tmuxPath && this.isServerSessionAlive()) {
160
+ this.captureCrashOutput();
161
+ this.cleanupChildProcesses();
162
+ try {
163
+ // Send C-c for graceful shutdown
164
+ execFileSync(this.tmuxPath, ['send-keys', '-t', `=${this.serverSessionName}:`, 'C-c'], {
165
+ stdio: 'ignore', timeout: 5000,
166
+ });
167
+ await new Promise(r => setTimeout(r, 3000));
168
+ // Force kill if still alive
169
+ if (this.isServerSessionAlive()) {
170
+ execFileSync(this.tmuxPath, ['kill-session', '-t', `=${this.serverSessionName}`], {
171
+ stdio: 'ignore',
172
+ });
173
+ }
174
+ }
175
+ catch { /* ignore */ }
176
+ }
177
+ // Wait for port release
178
+ await new Promise(r => setTimeout(r, 2000));
179
+ // Spawn fresh server — uses the updated binary since spawnServer resolves
180
+ // cli.js relative to import.meta.url (the globally installed package)
181
+ this.restartAttempts = 0;
182
+ return this.spawnServer();
183
+ }
135
184
  spawnServer() {
136
185
  if (!this.tmuxPath)
137
186
  return false;
138
187
  try {
139
- // Get the instar CLI path
188
+ // Get the instar CLI path — resolves from the lifeline's installed location,
189
+ // which is always the globally installed package (updated by npm install -g)
140
190
  const cliPath = new URL('../cli.js', import.meta.url).pathname;
191
+ // Stderr capture: tee to crash log file for fast-exit diagnostics
192
+ const crashLogDir = this.stateDir ? path.join(this.stateDir, 'logs') : '/tmp';
193
+ try {
194
+ fs.mkdirSync(crashLogDir, { recursive: true });
195
+ }
196
+ catch { /* ignore */ }
197
+ const crashLogPath = path.join(crashLogDir, 'server-stderr.log');
141
198
  // --no-telegram: lifeline owns the Telegram connection, server should not poll
142
- const nodeCmd = ['node', cliPath, 'server', 'start', '--foreground', '--no-telegram']
143
- .map(arg => `'${arg.replace(/'/g, "'\\''")}'`)
144
- .join(' ');
199
+ const quotedCli = cliPath.replace(/'/g, "'\\''");
200
+ const nodeCmd = `'node' '${quotedCli}' 'server' 'start' '--foreground' '--no-telegram' 2> >(tee '${crashLogPath}' >&2)`;
145
201
  execFileSync(this.tmuxPath, [
146
202
  'new-session', '-d',
147
203
  '-s', this.serverSessionName,
148
204
  '-c', this.projectDir,
149
- nodeCmd,
205
+ `bash`, '-c', nodeCmd,
150
206
  ], { stdio: 'ignore' });
151
207
  console.log(`[Supervisor] Server started in tmux session: ${this.serverSessionName}`);
152
208
  this.isRunning = true;
@@ -178,19 +234,25 @@ export class ServerSupervisor extends EventEmitter {
178
234
  this.healthCheckInterval = setInterval(async () => {
179
235
  // Skip health checks during startup grace period — server needs time to boot
180
236
  if (this.spawnedAt > 0 && (Date.now() - this.spawnedAt) < this.startupGraceMs) {
237
+ // But still check for restart requests during grace period
238
+ this.checkRestartRequest();
181
239
  return;
182
240
  }
183
241
  try {
184
242
  const healthy = await this.checkHealth();
185
243
  if (healthy) {
186
244
  if (!this.isRunning) {
187
- this.clearPlannedRestartFlag();
188
245
  this.emit('serverUp');
189
246
  }
190
247
  this.isRunning = true;
191
248
  this.lastHealthy = Date.now();
192
249
  this.restartAttempts = 0;
193
250
  this.consecutiveFailures = 0;
251
+ // If circuit breaker was tripped and we recovered, reset it
252
+ if (this.circuitBroken) {
253
+ console.log('[Supervisor] Server recovered after circuit breaker — resetting');
254
+ this.resetCircuitBreaker();
255
+ }
194
256
  }
195
257
  else {
196
258
  this.consecutiveFailures++;
@@ -205,6 +267,8 @@ export class ServerSupervisor extends EventEmitter {
205
267
  this.handleUnhealthy();
206
268
  }
207
269
  }
270
+ // Check for restart requests from the server (e.g., auto-updater)
271
+ this.checkRestartRequest();
208
272
  }, 10_000); // Check every 10 seconds
209
273
  }
210
274
  stopHealthChecks() {
@@ -231,27 +295,87 @@ export class ServerSupervisor extends EventEmitter {
231
295
  return false;
232
296
  }
233
297
  }
298
+ // ── Restart request handling ──────────────────────────────────────
299
+ /**
300
+ * Check if the server (AutoUpdater) has requested a restart.
301
+ * Called during the health check loop. If a valid request exists,
302
+ * initiate a graceful restart of the server tmux session.
303
+ */
304
+ checkRestartRequest() {
305
+ if (!this.stateDir)
306
+ return;
307
+ const flagPath = path.join(this.stateDir, 'state', 'restart-requested.json');
308
+ try {
309
+ if (!fs.existsSync(flagPath))
310
+ return;
311
+ const data = JSON.parse(fs.readFileSync(flagPath, 'utf-8'));
312
+ // Check TTL
313
+ if (data.expiresAt && new Date(data.expiresAt).getTime() < Date.now()) {
314
+ try {
315
+ fs.unlinkSync(flagPath);
316
+ }
317
+ catch { /* ignore */ }
318
+ console.log('[Supervisor] Expired restart request — ignoring');
319
+ return;
320
+ }
321
+ console.log(`[Supervisor] Restart requested by ${data.requestedBy} for v${data.targetVersion}`);
322
+ // Clear the flag BEFORE restarting to prevent re-triggering
323
+ try {
324
+ fs.unlinkSync(flagPath);
325
+ }
326
+ catch { /* ignore */ }
327
+ // Also clean up legacy flag if present
328
+ this.clearLegacyRestartFlag();
329
+ // Initiate graceful restart
330
+ this.performGracefulRestart(`update to v${data.targetVersion}`);
331
+ }
332
+ catch {
333
+ // Malformed flag — clean up
334
+ try {
335
+ fs.unlinkSync(flagPath);
336
+ }
337
+ catch { /* ignore */ }
338
+ }
339
+ }
340
+ // ── Unhealthy handling ──────────────────────────────────────────
234
341
  handleUnhealthy() {
235
- // Circuit breaker — if we've given up, don't even try
236
- if (this.circuitBroken)
342
+ // Circuit breaker — periodic retry instead of permanent death
343
+ if (this.circuitBroken) {
344
+ if (this.circuitBreakerRetryCount >= this.maxCircuitBreakerRetries) {
345
+ return; // Truly given up — needs manual intervention
346
+ }
347
+ const elapsed = Date.now() - this.circuitBreakerTrippedAt;
348
+ const nextRetryAt = this.circuitBreakerRetryIntervalMs * (this.circuitBreakerRetryCount + 1);
349
+ if (elapsed >= nextRetryAt) {
350
+ this.circuitBreakerRetryCount++;
351
+ console.log(`[Supervisor] Circuit breaker retry ${this.circuitBreakerRetryCount}/${this.maxCircuitBreakerRetries}`);
352
+ this.emit('serverRestarting', this.circuitBreakerRetryCount);
353
+ // Kill existing session if alive
354
+ if (this.tmuxPath && this.isServerSessionAlive()) {
355
+ this.captureCrashOutput();
356
+ this.cleanupChildProcesses();
357
+ try {
358
+ execFileSync(this.tmuxPath, ['kill-session', '-t', `=${this.serverSessionName}`], {
359
+ stdio: 'ignore',
360
+ });
361
+ }
362
+ catch { /* ignore */ }
363
+ }
364
+ this.spawnServer();
365
+ }
237
366
  return;
238
- // Check if this is a planned restart (e.g., auto-update in progress).
239
- // If the flag is active AND the tmux session is dead, the server exited
240
- // expecting someone else to restart it. The supervisor should respawn
241
- // immediately instead of waiting for the flag to expire.
242
- if (this.isPlannedRestart()) {
367
+ }
368
+ // Check for legacy planned restart flag (backward compatibility with old AutoUpdater)
369
+ if (this.isLegacyPlannedRestart()) {
243
370
  if (!this.isServerSessionAlive()) {
244
- // Server exited for a planned restart but the tmux session is gone.
245
- // Respawn immediately — don't wait for the flag to expire.
246
- console.log('[Supervisor] Planned restart detected — server session dead. Respawning immediately.');
247
- this.clearPlannedRestartFlag();
371
+ console.log('[Supervisor] Legacy planned restart detected server session dead. Respawning.');
372
+ this.clearLegacyRestartFlag();
248
373
  this.consecutiveFailures = 0;
249
374
  this.spawnServer();
250
375
  return;
251
376
  }
252
- console.log('[Supervisor] Health check failed but update-restart flag is active — suppressing alert');
377
+ console.log('[Supervisor] Health check failed but legacy update-restart flag is active — suppressing alert');
253
378
  this.consecutiveFailures = 0;
254
- // Reset grace period so the replacement process has time to start
255
379
  this.spawnedAt = Date.now();
256
380
  return;
257
381
  }
@@ -268,27 +392,26 @@ export class ServerSupervisor extends EventEmitter {
268
392
  this.totalFailures = 0;
269
393
  }
270
394
  this.totalFailures++;
271
- // Circuit breaker: too many total failures in the window → give up
395
+ // Circuit breaker: too many total failures in the window → trip (but with periodic retry)
272
396
  if (this.totalFailures >= this.circuitBreakerThreshold) {
273
397
  this.circuitBroken = true;
274
- console.error(`[Supervisor] CIRCUIT BREAKER: ${this.totalFailures} failures in ${Math.round(this.circuitBreakerWindowMs / 60000)}m window. Stopping auto-restart.`);
398
+ this.circuitBreakerTrippedAt = Date.now();
399
+ this.circuitBreakerRetryCount = 0;
400
+ console.error(`[Supervisor] CIRCUIT BREAKER: ${this.totalFailures} failures in ${Math.round(this.circuitBreakerWindowMs / 60000)}m window. Will retry every ${this.circuitBreakerRetryIntervalMs / 60000}m (${this.maxCircuitBreakerRetries}x).`);
275
401
  console.error(`[Supervisor] Last crash output:\n${this.lastCrashOutput}`);
276
402
  this.emit('circuitBroken', this.totalFailures, this.lastCrashOutput);
277
403
  return;
278
404
  }
279
405
  // After max retries exhausted, wait for cooldown before trying again.
280
- // This prevents permanent death from transient issues (port conflicts, etc.)
281
406
  if (this.restartAttempts >= this.maxRestartAttempts) {
282
407
  if (this.maxRetriesExhaustedAt === 0) {
283
408
  this.maxRetriesExhaustedAt = Date.now();
284
409
  console.error(`[Supervisor] Max restart attempts (${this.maxRestartAttempts}) reached. Cooling down for ${this.retryCooldownMs / 1000}s before retrying.`);
285
410
  }
286
411
  if ((Date.now() - this.maxRetriesExhaustedAt) >= this.retryCooldownMs) {
287
- // Cooldown elapsed — reset and try again
288
412
  console.log(`[Supervisor] Cooldown elapsed. Resetting restart counter.`);
289
413
  this.restartAttempts = 0;
290
414
  this.maxRetriesExhaustedAt = 0;
291
- // Fall through to the restart logic below
292
415
  }
293
416
  else {
294
417
  return; // Still cooling down
@@ -314,25 +437,42 @@ export class ServerSupervisor extends EventEmitter {
314
437
  this.spawnServer();
315
438
  }, delay);
316
439
  }
440
+ // ── Crash diagnostics ──────────────────────────────────────────
317
441
  /**
318
- * Capture the last 50 lines of tmux output before killing the session.
319
- * This surfaces the actual error (EADDRINUSE, missing module, etc.)
320
- * instead of just "health check failed."
442
+ * Capture crash output from multiple sources:
443
+ * 1. tmux pane capture (last 50 lines of terminal output)
444
+ * 2. stderr crash log file (tee'd from server process)
321
445
  */
322
446
  captureCrashOutput() {
323
- if (!this.tmuxPath)
324
- return;
325
- try {
326
- const output = execFileSync(this.tmuxPath, [
327
- 'capture-pane', '-t', `=${this.serverSessionName}:`, '-p', '-S', '-50',
328
- ], { encoding: 'utf-8', timeout: 5000 });
329
- this.lastCrashOutput = output.trim();
330
- if (this.lastCrashOutput) {
331
- console.log(`[Supervisor] Crash output from "${this.serverSessionName}":\n${this.lastCrashOutput.slice(-500)}`);
447
+ // Try tmux pane capture first
448
+ if (this.tmuxPath) {
449
+ try {
450
+ const output = execFileSync(this.tmuxPath, [
451
+ 'capture-pane', '-t', `=${this.serverSessionName}:`, '-p', '-S', '-50',
452
+ ], { encoding: 'utf-8', timeout: 5000 });
453
+ if (output.trim()) {
454
+ this.lastCrashOutput = output.trim();
455
+ console.log(`[Supervisor] Crash output from tmux:\n${this.lastCrashOutput.slice(-500)}`);
456
+ return;
457
+ }
458
+ }
459
+ catch { // @silent-fallback-ok — capture may fail if session already dead
332
460
  }
333
461
  }
334
- catch { // @silent-fallback-ok capture may fail if session already dead
335
- // Session already dead
462
+ // Fallback: read the stderr crash log
463
+ if (this.stateDir) {
464
+ const crashLogPath = path.join(this.stateDir, 'logs', 'server-stderr.log');
465
+ try {
466
+ if (fs.existsSync(crashLogPath)) {
467
+ const content = fs.readFileSync(crashLogPath, 'utf-8');
468
+ const last500 = content.slice(-500).trim();
469
+ if (last500) {
470
+ this.lastCrashOutput = last500;
471
+ console.log(`[Supervisor] Crash output from stderr log:\n${last500}`);
472
+ }
473
+ }
474
+ }
475
+ catch { /* ignore */ }
336
476
  }
337
477
  }
338
478
  /**
@@ -343,15 +483,12 @@ export class ServerSupervisor extends EventEmitter {
343
483
  if (!this.tmuxPath)
344
484
  return;
345
485
  try {
346
- // Get the pane PID of the server tmux session
347
486
  const panePid = execFileSync(this.tmuxPath, [
348
487
  'list-panes', '-t', `=${this.serverSessionName}`, '-F', '#{pane_pid}',
349
488
  ], { encoding: 'utf-8', timeout: 5000 }).trim().split('\n')[0];
350
489
  if (!panePid)
351
490
  return;
352
- // Find all descendant processes
353
491
  const descendants = shellExec(`pgrep -P ${panePid} 2>/dev/null; pgrep -g ${panePid} 2>/dev/null`).trim().split('\n').filter(Boolean).map(Number).filter(n => !isNaN(n));
354
- // Deduplicate
355
492
  const unique = [...new Set(descendants)].filter(pid => pid !== parseInt(panePid));
356
493
  if (unique.length > 0) {
357
494
  console.log(`[Supervisor] Cleaning up ${unique.length} child process(es) before restart: ${unique.join(', ')}`);
@@ -359,15 +496,12 @@ export class ServerSupervisor extends EventEmitter {
359
496
  try {
360
497
  process.kill(pid, 'SIGTERM');
361
498
  }
362
- catch { // @silent-fallback-ok process may already be dead
363
- // Already dead
364
- }
499
+ catch { /* already dead */ }
365
500
  }
366
- // Give them a moment, then SIGKILL any survivors
367
501
  setTimeout(() => {
368
502
  for (const pid of unique) {
369
503
  try {
370
- process.kill(pid, 0); // Check if alive
504
+ process.kill(pid, 0);
371
505
  process.kill(pid, 'SIGKILL');
372
506
  }
373
507
  catch { /* dead */ }
@@ -376,15 +510,14 @@ export class ServerSupervisor extends EventEmitter {
376
510
  }
377
511
  }
378
512
  catch { // @silent-fallback-ok — cleanup is best-effort
379
- // Best effort
380
513
  }
381
514
  }
382
- // ── Update restart flag ──────────────────────────────────────────
515
+ // ── Legacy flag handling (backward compatibility) ──────────────
383
516
  /**
384
- * Check if the server is in a planned restart (e.g., auto-update).
385
- * The AutoUpdater writes a flag file with a TTL before restarting.
517
+ * Check for the legacy update-restart.json flag (written by old AutoUpdater versions).
518
+ * New versions write restart-requested.json instead, handled by checkRestartRequest().
386
519
  */
387
- isPlannedRestart() {
520
+ isLegacyPlannedRestart() {
388
521
  if (!this.stateDir)
389
522
  return false;
390
523
  const flagPath = path.join(this.stateDir, 'state', 'update-restart.json');
@@ -393,7 +526,6 @@ export class ServerSupervisor extends EventEmitter {
393
526
  return false;
394
527
  const data = JSON.parse(fs.readFileSync(flagPath, 'utf-8'));
395
528
  if (data.expiresAt && new Date(data.expiresAt).getTime() < Date.now()) {
396
- // Expired — clean up and treat as unplanned failure
397
529
  try {
398
530
  fs.unlinkSync(flagPath);
399
531
  }
@@ -406,17 +538,14 @@ export class ServerSupervisor extends EventEmitter {
406
538
  return false;
407
539
  }
408
540
  }
409
- /**
410
- * Clear the update-restart flag after the server comes back healthy.
411
- */
412
- clearPlannedRestartFlag() {
541
+ clearLegacyRestartFlag() {
413
542
  if (!this.stateDir)
414
543
  return;
415
544
  const flagPath = path.join(this.stateDir, 'state', 'update-restart.json');
416
545
  try {
417
546
  if (fs.existsSync(flagPath)) {
418
547
  fs.unlinkSync(flagPath);
419
- console.log('[Supervisor] Cleared update-restart flag — server recovered after update');
548
+ console.log('[Supervisor] Cleared legacy update-restart flag');
420
549
  }
421
550
  }
422
551
  catch { /* ignore */ }
@@ -1 +1 @@
1
- {"version":3,"file":"ServerSupervisor.js","sourceRoot":"","sources":["../../src/lifeline/ServerSupervisor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,wDAAwD;AACxD,SAAS,SAAS,CAAC,GAAW,EAAE,OAAO,GAAG,IAAI;IAC5C,OAAO,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;AACxF,CAAC;AASD,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IACxC,UAAU,CAAS;IACnB,WAAW,CAAS;IACpB,IAAI,CAAS;IACb,QAAQ,CAAgB;IACxB,iBAAiB,CAAS;IAC1B,mBAAmB,GAA0C,IAAI,CAAC;IAClE,eAAe,GAAG,CAAC,CAAC;IACpB,kBAAkB,GAAG,CAAC,CAAC;IACvB,gBAAgB,GAAG,IAAI,CAAC;IACxB,SAAS,GAAG,KAAK,CAAC;IAClB,WAAW,GAAG,CAAC,CAAC;IAChB,cAAc,GAAG,MAAM,CAAC,CAAC,sFAAsF;IAC/G,SAAS,GAAG,CAAC,CAAC;IACd,eAAe,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,iDAAiD;IAC/E,qBAAqB,GAAG,CAAC,CAAC;IAC1B,mBAAmB,GAAG,CAAC,CAAC,CAAC,sEAAsE;IACtF,kBAAkB,GAAG,CAAC,CAAC;IAChC,QAAQ,CAAgB;IAEhC,oEAAoE;IAC5D,aAAa,GAAG,CAAC,CAAC;IAClB,uBAAuB,GAAG,CAAC,CAAC;IACnB,uBAAuB,GAAG,EAAE,CAAC,CAAC,kCAAkC;IAChE,sBAAsB,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,gBAAgB;IAC/D,aAAa,GAAG,KAAK,CAAC;IACtB,eAAe,GAAG,EAAE,CAAC,CAAC,6CAA6C;IAE3E,YAAY,OAKX;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,cAAc,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,GAAG,IAAI,CAAC,WAAW,SAAS,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,wDAAwD,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC9F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,qBAAqB;gBACrB,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,iBAAiB,GAAG,EAAE,KAAK,CAAC,EAAE;oBACrF,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI;iBAC/B,CAAC,CAAC;gBAEH,qCAAqC;gBACrC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAE5C,4BAA4B;gBAC5B,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;oBAChC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE;wBAChF,KAAK,EAAE,QAAQ;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,SAAS;QAYP,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QACnD,MAAM,mBAAmB,GAAG,WAAW;YACrC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC,CAAC;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,IAAI,CAAC,iBAAiB;YACrC,WAAW;YACX,mBAAmB;YACnB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,mBAAmB;QACjB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IACpD,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAEjC,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YAE/D,+EAA+E;YAC/E,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,CAAC;iBAClF,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;iBAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;YAEb,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC1B,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,IAAI,CAAC,iBAAiB;gBAC5B,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,OAAO;aACR,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAExB,OAAO,CAAC,GAAG,CAAC,gDAAgD,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACtF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;YAC7D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACjC,IAAI,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE;gBAC/E,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI;aAC/B,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,mBAAmB;YAAE,OAAO;QAErC,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAChD,6EAA6E;YAC7E,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC9E,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,CAAC,uBAAuB,EAAE,CAAC;wBAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACxB,CAAC;oBACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC9B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC3B,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBACxD,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB;IACvC,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,SAAS,EAAE;oBACnE,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,EAAE,CAAC;YACrB,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,sDAAsD;QACtD,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAE/B,sEAAsE;QACtE,wEAAwE;QACxE,sEAAsE;QACtE,yDAAyD;QACzD,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBACjC,oEAAoE;gBACpE,2DAA2D;gBAC3D,OAAO,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC;gBACpG,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;YACtG,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;YAC7B,kEAAkE;YAClE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,gCAAgC;QAE9D,2CAA2C;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC7G,eAAe;YACf,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,mEAAmE;QACnE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACvD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,aAAa,gBAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACpK,OAAO,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,sEAAsE;QACtE,6EAA6E;QAC7E,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,qBAAqB,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACxC,OAAO,CAAC,KAAK,CAAC,sCAAsC,IAAI,CAAC,kBAAkB,+BAA+B,IAAI,CAAC,eAAe,GAAG,IAAI,oBAAoB,CAAC,CAAC;YAC7J,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtE,yCAAyC;gBACzC,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;gBACzE,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACzB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;gBAC/B,0CAA0C;YAC5C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,qBAAqB;YAC/B,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,kDAAkD,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,kBAAkB,OAAO,KAAK,IAAI,CAAC,CAAC;QAC/H,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEpD,UAAU,CAAC,GAAG,EAAE;YACd,uDAAuD;YACvD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBACjD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE;wBAChF,KAAK,EAAE,QAAQ;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACK,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACzC,cAAc,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,iBAAiB,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;aACvE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,iBAAiB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,iEAAiE;YACzE,uBAAuB;QACzB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,CAAC;YACH,8CAA8C;YAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC1C,YAAY,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,aAAa;aACtE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/D,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,gCAAgC;YAChC,MAAM,WAAW,GAAG,SAAS,CAC3B,YAAY,OAAO,0BAA0B,OAAO,cAAc,CACnE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAExE,cAAc;YACd,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAElF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,MAAM,sCAAsC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChH,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBAC/B,CAAC;oBAAC,MAAM,CAAC,CAAC,oDAAoD;wBAC5D,eAAe;oBACjB,CAAC;gBACH,CAAC;gBACD,iDAAiD;gBACjD,UAAU,CAAC,GAAG,EAAE;oBACd,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;wBACzB,IAAI,CAAC;4BACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB;4BACvC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;wBAC/B,CAAC;wBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,+CAA+C;YACvD,cAAc;QAChB,CAAC;IACH,CAAC;IAED,oEAAoE;IAEpE;;;OAGG;IACK,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACtE,oDAAoD;gBACpD,IAAI,CAAC;oBAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBACvD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"ServerSupervisor.js","sourceRoot":"","sources":["../../src/lifeline/ServerSupervisor.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,8 @@ export declare class CoherenceMonitor extends EventEmitter {
58
58
  private interval;
59
59
  private lastReport;
60
60
  private correctionLog;
61
+ /** Track which failure signatures have already been notified to suppress spam */
62
+ private notifiedFailures;
61
63
  constructor(config: CoherenceMonitorConfig);
62
64
  /**
63
65
  * Start periodic coherence monitoring.
@@ -1 +1 @@
1
- {"version":3,"file":"CoherenceMonitor.d.ts","sourceRoot":"","sources":["../../src/monitoring/CoherenceMonitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD,MAAM,WAAW,oBAAoB;IACnC,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;IAChD,+BAA+B;IAC/B,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,UAAU,EAAE,UAAU,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;CACnD;AAWD,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,aAAa,CAAmE;gBAE5E,MAAM,EAAE,sBAAsB;IAK1C;;OAEG;IACH,KAAK,IAAI,IAAI;IAiBb;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,QAAQ,IAAI,eAAe;IAyD3B;;OAEG;IACH,aAAa,IAAI,eAAe,GAAG,IAAI;IAIvC;;OAEG;IACH,SAAS,IAAI,eAAe;IAiB5B;;OAEG;IACH,gBAAgB,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAM/E;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA2C5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAsF5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAmEzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA8E7B,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,aAAa;CAUtB"}
1
+ {"version":3,"file":"CoherenceMonitor.d.ts","sourceRoot":"","sources":["../../src/monitoring/CoherenceMonitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD,MAAM,WAAW,oBAAoB;IACnC,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;IAChD,+BAA+B;IAC/B,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,UAAU,EAAE,UAAU,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;CACnD;AAWD,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,aAAa,CAAmE;IACxF,iFAAiF;IACjF,OAAO,CAAC,gBAAgB,CAA0B;gBAEtC,MAAM,EAAE,sBAAsB;IAK1C;;OAEG;IACH,KAAK,IAAI,IAAI;IAiBb;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,QAAQ,IAAI,eAAe;IAmE3B;;OAEG;IACH,aAAa,IAAI,eAAe,GAAG,IAAI;IAIvC;;OAEG;IACH,SAAS,IAAI,eAAe;IAiB5B;;OAEG;IACH,gBAAgB,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAM/E;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA2C5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAsF5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAmEzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA8E7B,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,aAAa;CAUtB"}
@@ -30,6 +30,8 @@ export class CoherenceMonitor extends EventEmitter {
30
30
  interval = null;
31
31
  lastReport = null;
32
32
  correctionLog = [];
33
+ /** Track which failure signatures have already been notified to suppress spam */
34
+ notifiedFailures = new Set();
33
35
  constructor(config) {
34
36
  super();
35
37
  this.config = config;
@@ -89,6 +91,10 @@ export class CoherenceMonitor extends EventEmitter {
89
91
  };
90
92
  this.lastReport = report;
91
93
  this.emit('check', report);
94
+ // When all checks pass, clear notification suppression so future regressions re-notify
95
+ if (status === 'coherent') {
96
+ this.notifiedFailures.clear();
97
+ }
92
98
  // Log non-coherent results
93
99
  if (status !== 'coherent') {
94
100
  const failedChecks = checks.filter(c => !c.passed);
@@ -98,10 +104,13 @@ export class CoherenceMonitor extends EventEmitter {
98
104
  }
99
105
  if (failed > 0) {
100
106
  console.warn(`[CoherenceMonitor] ${failed} incoherence(s) detected: ${failedChecks.map(c => `${c.name}: ${c.message}`).join('; ')}`);
101
- // Notify via callback if provided
102
- if (this.config.onIncoherence) {
107
+ // Deduplicate notifications: only notify for NEW failures, not repeats
108
+ const failureSignature = failedChecks.map(c => c.name).sort().join(',');
109
+ const isNewFailure = !this.notifiedFailures.has(failureSignature);
110
+ if (isNewFailure && this.config.onIncoherence) {
103
111
  try {
104
112
  this.config.onIncoherence(report);
113
+ this.notifiedFailures.add(failureSignature);
105
114
  }
106
115
  catch (err) {
107
116
  console.error(`[CoherenceMonitor] Notification callback failed:`, err);
@@ -1 +1 @@
1
- {"version":3,"file":"CoherenceMonitor.js","sourceRoot":"","sources":["../../src/monitoring/CoherenceMonitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoherenceMonitor.js","sourceRoot":"","sources":["../../src/monitoring/CoherenceMonitor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "0.9.63",
3
+ "version": "0.9.65",
4
4
  "description": "Persistent autonomy infrastructure for AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",