instar 0.9.13 → 0.9.14

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 (40) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +16 -1
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/AdaptiveTrust.d.ts +180 -0
  5. package/dist/core/AdaptiveTrust.d.ts.map +1 -0
  6. package/dist/core/AdaptiveTrust.js +335 -0
  7. package/dist/core/AdaptiveTrust.js.map +1 -0
  8. package/dist/core/AutoUpdater.d.ts +10 -0
  9. package/dist/core/AutoUpdater.d.ts.map +1 -1
  10. package/dist/core/AutoUpdater.js +34 -0
  11. package/dist/core/AutoUpdater.js.map +1 -1
  12. package/dist/core/ExternalOperationGate.d.ts +204 -0
  13. package/dist/core/ExternalOperationGate.d.ts.map +1 -0
  14. package/dist/core/ExternalOperationGate.js +410 -0
  15. package/dist/core/ExternalOperationGate.js.map +1 -0
  16. package/dist/core/MessageSentinel.d.ts +116 -0
  17. package/dist/core/MessageSentinel.d.ts.map +1 -0
  18. package/dist/core/MessageSentinel.js +359 -0
  19. package/dist/core/MessageSentinel.js.map +1 -0
  20. package/dist/index.d.ts +6 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +3 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/lifeline/ServerSupervisor.d.ts +11 -0
  25. package/dist/lifeline/ServerSupervisor.d.ts.map +1 -1
  26. package/dist/lifeline/ServerSupervisor.js +57 -0
  27. package/dist/lifeline/ServerSupervisor.js.map +1 -1
  28. package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
  29. package/dist/lifeline/TelegramLifeline.js +1 -0
  30. package/dist/lifeline/TelegramLifeline.js.map +1 -1
  31. package/dist/server/AgentServer.d.ts +3 -0
  32. package/dist/server/AgentServer.d.ts.map +1 -1
  33. package/dist/server/AgentServer.js +3 -0
  34. package/dist/server/AgentServer.js.map +1 -1
  35. package/dist/server/routes.d.ts +6 -0
  36. package/dist/server/routes.d.ts.map +1 -1
  37. package/dist/server/routes.js +142 -0
  38. package/dist/server/routes.js.map +1 -1
  39. package/package.json +1 -1
  40. package/upgrades/0.9.14.md +23 -0
@@ -0,0 +1,335 @@
1
+ /**
2
+ * Adaptive Trust — Organic trust evolution between agent and user.
3
+ *
4
+ * Trust is not a config value set at install time. It's a living dimension
5
+ * of the relationship that grows through successful interaction and contracts
6
+ * when things go wrong.
7
+ *
8
+ * Trust is tracked per service and per operation type:
9
+ * - "I trust you with reading email but not deleting it"
10
+ * - "You've done 20 calendar operations without issues, I'll stop asking"
11
+ * - "After that incident, always ask before modifying emails"
12
+ *
13
+ * Three ways trust changes:
14
+ * 1. Earned — consistent successful operations build trust automatically
15
+ * 2. Granted — user explicitly says "you don't need to ask me about X"
16
+ * 3. Revoked — incident or user explicit "always ask about X"
17
+ *
18
+ * Design principle: Trust can never auto-escalate to "autonomous."
19
+ * Only explicit user statements can grant that level. The trust floor
20
+ * prevents silent escalation past a safety minimum.
21
+ */
22
+ import fs from 'node:fs';
23
+ import path from 'node:path';
24
+ // ── Constants ────────────────────────────────────────────────────────
25
+ /** Default trust for operations when no explicit config exists */
26
+ const DEFAULT_TRUST = {
27
+ read: 'autonomous',
28
+ write: 'log',
29
+ modify: 'approve-always',
30
+ delete: 'approve-always',
31
+ };
32
+ /** Trust levels ordered from most restrictive to least */
33
+ const TRUST_ORDER = ['blocked', 'approve-always', 'approve-first', 'log', 'autonomous'];
34
+ /** Maximum auto-elevation level — can never auto-elevate past this */
35
+ const MAX_AUTO_LEVEL = 'log';
36
+ // ── Implementation ───────────────────────────────────────────────────
37
+ export class AdaptiveTrust {
38
+ config;
39
+ profilePath;
40
+ profile;
41
+ changeLog = [];
42
+ constructor(config) {
43
+ this.config = config;
44
+ this.profilePath = path.join(config.stateDir, 'state', 'trust-profile.json');
45
+ this.profile = this.loadOrCreateProfile();
46
+ }
47
+ /**
48
+ * Get the trust level for a specific service + operation.
49
+ */
50
+ getTrustLevel(service, operation) {
51
+ const serviceTrust = this.profile.services[service];
52
+ if (!serviceTrust) {
53
+ // No trust data for this service — return defaults
54
+ const now = new Date().toISOString();
55
+ return {
56
+ level: DEFAULT_TRUST[operation],
57
+ source: 'default',
58
+ changedAt: now,
59
+ };
60
+ }
61
+ return serviceTrust.operations[operation] ?? {
62
+ level: DEFAULT_TRUST[operation],
63
+ source: 'default',
64
+ changedAt: new Date().toISOString(),
65
+ };
66
+ }
67
+ /**
68
+ * Map a trust level to an autonomy behavior for the ExternalOperationGate.
69
+ */
70
+ trustToAutonomy(trustLevel) {
71
+ switch (trustLevel) {
72
+ case 'blocked': return 'block';
73
+ case 'approve-always': return 'approve';
74
+ case 'approve-first': return 'approve';
75
+ case 'log': return 'log';
76
+ case 'autonomous': return 'proceed';
77
+ }
78
+ }
79
+ /**
80
+ * Record a successful operation — builds trust over time.
81
+ */
82
+ recordSuccess(service, operation) {
83
+ const serviceTrust = this.ensureServiceTrust(service);
84
+ serviceTrust.history.successCount++;
85
+ serviceTrust.history.streakSinceIncident++;
86
+ this.save();
87
+ // Check if we should suggest elevation
88
+ if (this.config.autoElevateEnabled !== false) {
89
+ return this.checkElevation(service, operation);
90
+ }
91
+ return null;
92
+ }
93
+ /**
94
+ * Record an incident (stop, abort, rollback) — trust drops.
95
+ */
96
+ recordIncident(service, operation, reason) {
97
+ const serviceTrust = this.ensureServiceTrust(service);
98
+ const dropLevel = this.config.incidentDropLevel ?? 'approve-always';
99
+ serviceTrust.history.incidentCount++;
100
+ serviceTrust.history.lastIncident = new Date().toISOString();
101
+ serviceTrust.history.streakSinceIncident = 0;
102
+ const currentEntry = serviceTrust.operations[operation];
103
+ const currentLevel = currentEntry?.level ?? DEFAULT_TRUST[operation];
104
+ // Only drop if current level is less restrictive than drop level
105
+ if (this.compareTrust(currentLevel, dropLevel) > 0) {
106
+ const event = this.setTrustLevel(service, operation, dropLevel, 'revoked', reason);
107
+ this.save();
108
+ return event;
109
+ }
110
+ this.save();
111
+ return null;
112
+ }
113
+ /**
114
+ * User explicitly grants or revokes trust.
115
+ *
116
+ * Examples:
117
+ * - grantTrust('gmail', 'delete', 'autonomous', "You don't need to ask me about deleting emails")
118
+ * - grantTrust('gmail', 'write', 'approve-always', "Always ask before sending emails")
119
+ */
120
+ grantTrust(service, operation, level, userStatement) {
121
+ this.ensureServiceTrust(service);
122
+ const event = this.setTrustLevel(service, operation, level, 'user-explicit', userStatement);
123
+ this.save();
124
+ return event;
125
+ }
126
+ /**
127
+ * User grants trust for ALL operations on a service.
128
+ */
129
+ grantServiceTrust(service, level, userStatement) {
130
+ const operations = ['read', 'write', 'modify', 'delete'];
131
+ const events = [];
132
+ for (const op of operations) {
133
+ events.push(this.grantTrust(service, op, level, userStatement));
134
+ }
135
+ return events;
136
+ }
137
+ /**
138
+ * Get the full trust profile.
139
+ */
140
+ getProfile() {
141
+ return JSON.parse(JSON.stringify(this.profile));
142
+ }
143
+ /**
144
+ * Get trust history for a service.
145
+ */
146
+ getServiceHistory(service) {
147
+ return this.profile.services[service]?.history ?? null;
148
+ }
149
+ /**
150
+ * Get all pending elevation suggestions.
151
+ * These are services/operations where the agent has earned enough
152
+ * trust to suggest reducing friction.
153
+ */
154
+ getPendingElevations() {
155
+ if (this.config.autoElevateEnabled === false)
156
+ return [];
157
+ const suggestions = [];
158
+ const threshold = this.config.elevationThreshold ?? 5;
159
+ for (const [service, trust] of Object.entries(this.profile.services)) {
160
+ for (const op of ['read', 'write', 'modify', 'delete']) {
161
+ const entry = trust.operations[op];
162
+ if (!entry)
163
+ continue;
164
+ // Skip user-explicit or already at max auto level
165
+ if (entry.source === 'user-explicit')
166
+ continue;
167
+ if (this.compareTrust(entry.level, MAX_AUTO_LEVEL) >= 0)
168
+ continue;
169
+ if (trust.history.streakSinceIncident >= threshold) {
170
+ const nextLevel = this.nextTrustLevel(entry.level);
171
+ if (nextLevel && this.compareTrust(nextLevel, MAX_AUTO_LEVEL) <= 0) {
172
+ suggestions.push({
173
+ service,
174
+ operation: op,
175
+ currentLevel: entry.level,
176
+ suggestedLevel: nextLevel,
177
+ reason: `${trust.history.streakSinceIncident} consecutive successful operations without incident.`,
178
+ streak: trust.history.streakSinceIncident,
179
+ });
180
+ }
181
+ }
182
+ }
183
+ }
184
+ return suggestions;
185
+ }
186
+ /**
187
+ * Get recent trust change events.
188
+ */
189
+ getChangeLog() {
190
+ return [...this.changeLog];
191
+ }
192
+ /**
193
+ * Get a compact summary of the trust state.
194
+ */
195
+ getSummary() {
196
+ const lines = [];
197
+ lines.push(`Trust floor: ${this.profile.global.floor}`);
198
+ lines.push(`Maturity: ${(this.profile.global.maturity * 100).toFixed(0)}%`);
199
+ for (const [service, trust] of Object.entries(this.profile.services)) {
200
+ const ops = Object.entries(trust.operations)
201
+ .map(([op, entry]) => `${op}=${entry.level}`)
202
+ .join(', ');
203
+ lines.push(`${service}: ${ops} (streak: ${trust.history.streakSinceIncident})`);
204
+ }
205
+ if (Object.keys(this.profile.services).length === 0) {
206
+ lines.push('No services configured yet.');
207
+ }
208
+ return lines.join('\n');
209
+ }
210
+ // ── Private Methods ──────────────────────────────────────────────
211
+ ensureServiceTrust(service) {
212
+ if (!this.profile.services[service]) {
213
+ const now = new Date().toISOString();
214
+ this.profile.services[service] = {
215
+ service,
216
+ operations: {
217
+ read: { level: DEFAULT_TRUST.read, source: 'default', changedAt: now },
218
+ write: { level: DEFAULT_TRUST.write, source: 'default', changedAt: now },
219
+ modify: { level: DEFAULT_TRUST.modify, source: 'default', changedAt: now },
220
+ delete: { level: DEFAULT_TRUST.delete, source: 'default', changedAt: now },
221
+ },
222
+ history: {
223
+ successCount: 0,
224
+ incidentCount: 0,
225
+ streakSinceIncident: 0,
226
+ },
227
+ };
228
+ }
229
+ return this.profile.services[service];
230
+ }
231
+ setTrustLevel(service, operation, level, source, reason) {
232
+ const serviceTrust = this.ensureServiceTrust(service);
233
+ const current = serviceTrust.operations[operation];
234
+ const now = new Date().toISOString();
235
+ const event = {
236
+ service,
237
+ operation,
238
+ from: current.level,
239
+ to: level,
240
+ source,
241
+ timestamp: now,
242
+ reason,
243
+ };
244
+ serviceTrust.operations[operation] = {
245
+ level,
246
+ source,
247
+ changedAt: now,
248
+ userStatement: source === 'user-explicit' ? reason : undefined,
249
+ };
250
+ // Update global
251
+ this.profile.global.lastEvent = `${service}.${operation}: ${current.level} → ${level}`;
252
+ this.profile.global.lastEventAt = now;
253
+ this.changeLog.push(event);
254
+ return event;
255
+ }
256
+ checkElevation(service, operation) {
257
+ const serviceTrust = this.profile.services[service];
258
+ if (!serviceTrust)
259
+ return null;
260
+ const entry = serviceTrust.operations[operation];
261
+ if (!entry)
262
+ return null;
263
+ const threshold = this.config.elevationThreshold ?? 5;
264
+ // Don't suggest elevation for user-explicit levels
265
+ if (entry.source === 'user-explicit')
266
+ return null;
267
+ // Don't elevate past the max auto level
268
+ if (this.compareTrust(entry.level, MAX_AUTO_LEVEL) >= 0)
269
+ return null;
270
+ // Check streak
271
+ if (serviceTrust.history.streakSinceIncident >= threshold) {
272
+ const nextLevel = this.nextTrustLevel(entry.level);
273
+ if (nextLevel && this.compareTrust(nextLevel, MAX_AUTO_LEVEL) <= 0) {
274
+ return {
275
+ service,
276
+ operation,
277
+ currentLevel: entry.level,
278
+ suggestedLevel: nextLevel,
279
+ reason: `${serviceTrust.history.streakSinceIncident} consecutive successful operations without incident.`,
280
+ streak: serviceTrust.history.streakSinceIncident,
281
+ };
282
+ }
283
+ }
284
+ return null;
285
+ }
286
+ /**
287
+ * Compare two trust levels.
288
+ * Returns positive if a is LESS restrictive than b,
289
+ * negative if a is MORE restrictive, 0 if equal.
290
+ */
291
+ compareTrust(a, b) {
292
+ return TRUST_ORDER.indexOf(a) - TRUST_ORDER.indexOf(b);
293
+ }
294
+ /**
295
+ * Get the next trust level up (less restrictive).
296
+ */
297
+ nextTrustLevel(current) {
298
+ const idx = TRUST_ORDER.indexOf(current);
299
+ if (idx < 0 || idx >= TRUST_ORDER.length - 1)
300
+ return null;
301
+ return TRUST_ORDER[idx + 1];
302
+ }
303
+ loadOrCreateProfile() {
304
+ if (fs.existsSync(this.profilePath)) {
305
+ try {
306
+ return JSON.parse(fs.readFileSync(this.profilePath, 'utf-8'));
307
+ }
308
+ catch {
309
+ // Corrupt file — start fresh
310
+ }
311
+ }
312
+ return {
313
+ services: {},
314
+ global: {
315
+ maturity: 0,
316
+ lastEvent: 'Profile created',
317
+ lastEventAt: new Date().toISOString(),
318
+ floor: this.config.floor ?? 'collaborative',
319
+ },
320
+ };
321
+ }
322
+ save() {
323
+ try {
324
+ const dir = path.dirname(this.profilePath);
325
+ if (!fs.existsSync(dir)) {
326
+ fs.mkdirSync(dir, { recursive: true });
327
+ }
328
+ fs.writeFileSync(this.profilePath, JSON.stringify(this.profile, null, 2));
329
+ }
330
+ catch {
331
+ // Save failure should never break trust evaluation
332
+ }
333
+ }
334
+ }
335
+ //# sourceMappingURL=AdaptiveTrust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveTrust.js","sourceRoot":"","sources":["../../src/core/AdaptiveTrust.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,7 @@ export declare class AutoUpdater {
59
59
  private pendingUpdate;
60
60
  private isApplying;
61
61
  private loopNotified;
62
+ private stateDir;
62
63
  private stateFile;
63
64
  constructor(updateChecker: UpdateChecker, state: StateManager, stateDir: string, config?: AutoUpdaterConfig, telegram?: TelegramAdapter | null);
64
65
  /**
@@ -120,6 +121,15 @@ export declare class AutoUpdater {
120
121
  * we can keep.
121
122
  */
122
123
  private hasUpgradeGuide;
124
+ /**
125
+ * Write a flag file to signal the lifeline supervisor that the server
126
+ * is about to restart for an update. The supervisor checks this flag
127
+ * before firing "server down" alerts, preventing unnecessary noise.
128
+ *
129
+ * The flag has a 3-minute TTL — if the replacement server doesn't
130
+ * come up by then, it's a real problem and alerts should fire.
131
+ */
132
+ private writeUpdateRestartFlag;
123
133
  private loadState;
124
134
  private saveState;
125
135
  }
@@ -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,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,SAAS,CAAS;gBAGxB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI;IAkBnC;;;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;;;OAGG;YACW,IAAI;IAyHlB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,WAAW;IAoFnB;;;OAGG;YACW,MAAM;IAmBpB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACH,OAAO,CAAC,OAAO;IAQf;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAiBvB,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;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,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;gBAGxB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI;IAmBnC;;;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;;;OAGG;YACW,IAAI;IAyHlB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,WAAW;IAwFnB;;;OAGG;YACW,MAAM;IAmBpB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACH,OAAO,CAAC,OAAO;IAQf;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;CAsBlB"}
@@ -33,11 +33,13 @@ export class AutoUpdater {
33
33
  pendingUpdate = null;
34
34
  isApplying = false;
35
35
  loopNotified = false;
36
+ stateDir;
36
37
  stateFile;
37
38
  constructor(updateChecker, state, stateDir, config, telegram) {
38
39
  this.updateChecker = updateChecker;
39
40
  this.state = state;
40
41
  this.telegram = telegram ?? null;
42
+ this.stateDir = stateDir;
41
43
  this.stateFile = path.join(stateDir, 'state', 'auto-updater.json');
42
44
  this.config = {
43
45
  checkIntervalMinutes: config?.checkIntervalMinutes ?? 30,
@@ -282,6 +284,9 @@ export class AutoUpdater {
282
284
  console.log('[AutoUpdater] No global binary found, restarting from current path');
283
285
  }
284
286
  try {
287
+ // Signal the lifeline supervisor that this is a planned restart —
288
+ // suppresses "server down" alerts during the update window
289
+ this.writeUpdateRestartFlag();
285
290
  const child = spawn('sh', ['-c', cmd], {
286
291
  detached: true,
287
292
  stdio: 'inherit',
@@ -355,6 +360,35 @@ export class AutoUpdater {
355
360
  return false;
356
361
  }
357
362
  }
363
+ // ── Update restart flag ────────────────────────────────────────────
364
+ /**
365
+ * Write a flag file to signal the lifeline supervisor that the server
366
+ * is about to restart for an update. The supervisor checks this flag
367
+ * before firing "server down" alerts, preventing unnecessary noise.
368
+ *
369
+ * The flag has a 3-minute TTL — if the replacement server doesn't
370
+ * come up by then, it's a real problem and alerts should fire.
371
+ */
372
+ writeUpdateRestartFlag() {
373
+ const flagPath = path.join(this.stateDir, 'state', 'update-restart.json');
374
+ const data = {
375
+ pid: process.pid,
376
+ startedAt: new Date().toISOString(),
377
+ targetVersion: this.lastAppliedVersion ?? 'unknown',
378
+ expiresAt: new Date(Date.now() + 3 * 60 * 1000).toISOString(),
379
+ };
380
+ try {
381
+ const dir = path.dirname(flagPath);
382
+ fs.mkdirSync(dir, { recursive: true });
383
+ const tmpPath = `${flagPath}.${process.pid}.tmp`;
384
+ fs.writeFileSync(tmpPath, JSON.stringify(data, null, 2));
385
+ fs.renameSync(tmpPath, flagPath);
386
+ console.log('[AutoUpdater] Wrote update-restart flag (expires in 3 min)');
387
+ }
388
+ catch (err) {
389
+ console.error(`[AutoUpdater] Failed to write update-restart flag: ${err}`);
390
+ }
391
+ }
358
392
  // ── State persistence ──────────────────────────────────────────────
359
393
  loadState() {
360
394
  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":"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"}