instar 0.28.65 → 0.28.67

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 (62) hide show
  1. package/dist/cli.js +53 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/core/AutoDispatcher.d.ts +4 -1
  4. package/dist/core/AutoDispatcher.d.ts.map +1 -1
  5. package/dist/core/AutoDispatcher.js +5 -4
  6. package/dist/core/AutoDispatcher.js.map +1 -1
  7. package/dist/core/AutoUpdater.d.ts +6 -1
  8. package/dist/core/AutoUpdater.d.ts.map +1 -1
  9. package/dist/core/AutoUpdater.js +7 -4
  10. package/dist/core/AutoUpdater.js.map +1 -1
  11. package/dist/lifeline/LifelineHealthWatchdog.d.ts +81 -0
  12. package/dist/lifeline/LifelineHealthWatchdog.d.ts.map +1 -0
  13. package/dist/lifeline/LifelineHealthWatchdog.js +122 -0
  14. package/dist/lifeline/LifelineHealthWatchdog.js.map +1 -0
  15. package/dist/lifeline/RestartOrchestrator.d.ts +73 -0
  16. package/dist/lifeline/RestartOrchestrator.d.ts.map +1 -0
  17. package/dist/lifeline/RestartOrchestrator.js +124 -0
  18. package/dist/lifeline/RestartOrchestrator.js.map +1 -0
  19. package/dist/lifeline/TelegramLifeline.d.ts +55 -1
  20. package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
  21. package/dist/lifeline/TelegramLifeline.js +364 -41
  22. package/dist/lifeline/TelegramLifeline.js.map +1 -1
  23. package/dist/lifeline/droppedMessages.d.ts +67 -0
  24. package/dist/lifeline/droppedMessages.d.ts.map +1 -0
  25. package/dist/lifeline/droppedMessages.js +179 -0
  26. package/dist/lifeline/droppedMessages.js.map +1 -0
  27. package/dist/lifeline/forwardErrors.d.ts +38 -0
  28. package/dist/lifeline/forwardErrors.d.ts.map +1 -0
  29. package/dist/lifeline/forwardErrors.js +53 -0
  30. package/dist/lifeline/forwardErrors.js.map +1 -0
  31. package/dist/lifeline/rateLimitState.d.ts +63 -0
  32. package/dist/lifeline/rateLimitState.d.ts.map +1 -0
  33. package/dist/lifeline/rateLimitState.js +110 -0
  34. package/dist/lifeline/rateLimitState.js.map +1 -0
  35. package/dist/lifeline/retryWithBackoff.d.ts +28 -0
  36. package/dist/lifeline/retryWithBackoff.d.ts.map +1 -0
  37. package/dist/lifeline/retryWithBackoff.js +34 -0
  38. package/dist/lifeline/retryWithBackoff.js.map +1 -0
  39. package/dist/lifeline/startupMarker.d.ts +20 -0
  40. package/dist/lifeline/startupMarker.d.ts.map +1 -0
  41. package/dist/lifeline/startupMarker.js +52 -0
  42. package/dist/lifeline/startupMarker.js.map +1 -0
  43. package/dist/lifeline/versionHandshake.d.ts +40 -0
  44. package/dist/lifeline/versionHandshake.d.ts.map +1 -0
  45. package/dist/lifeline/versionHandshake.js +45 -0
  46. package/dist/lifeline/versionHandshake.js.map +1 -0
  47. package/dist/messaging/shared/compactionResumePayload.d.ts +1 -1
  48. package/dist/messaging/shared/compactionResumePayload.d.ts.map +1 -1
  49. package/dist/messaging/shared/compactionResumePayload.js +14 -5
  50. package/dist/messaging/shared/compactionResumePayload.js.map +1 -1
  51. package/dist/server/routes.d.ts.map +1 -1
  52. package/dist/server/routes.js +58 -1
  53. package/dist/server/routes.js.map +1 -1
  54. package/package.json +1 -1
  55. package/src/data/builtin-manifest.json +82 -82
  56. package/upgrades/0.28.66.md +44 -0
  57. package/upgrades/0.28.67.md +58 -0
  58. package/upgrades/side-effects/0.28.65.md +59 -0
  59. package/upgrades/side-effects/0.28.66.md +130 -0
  60. package/upgrades/side-effects/lifeline-message-drop-stage-a.md +155 -0
  61. package/upgrades/side-effects/lifeline-self-restart-stage-b.md +129 -0
  62. package/upgrades/NEXT.md +0 -53
@@ -577,12 +577,15 @@ export class AutoUpdater {
577
577
  }
578
578
  /**
579
579
  * Get the topic ID for update notifications.
580
- * Prefers the dedicated Agent Updates topic (informational), falls back to Agent Attention.
580
+ *
581
+ * Update announcements are routed exclusively to the dedicated Agent Updates
582
+ * topic. If it is not configured, notify() drops to console — we never fall
583
+ * back to Attention or any other topic. This matches the /telegram/post-update
584
+ * endpoint contract and closes the leak where update spam landed in whichever
585
+ * topic happened to be provisioned.
581
586
  */
582
587
  getNotificationTopicId() {
583
- return this.state.get('agent-updates-topic')
584
- || this.state.get('agent-attention-topic')
585
- || 0;
588
+ return this.state.get('agent-updates-topic') || 0;
586
589
  }
587
590
  // ── State persistence ──────────────────────────────────────────────
588
591
  loadState() {
@@ -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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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * LifelineHealthWatchdog — detects stuck-loop conditions and requests
3
+ * self-restart via the RestartOrchestrator. Signal-vs-authority: the
4
+ * watchdog emits deterministic signals; the RestartOrchestrator is the
5
+ * sole authority that decides whether to actually exit.
6
+ *
7
+ * Three signals, fixed priority (highest first):
8
+ * 1. conflict409Stuck — consecutive 409s pinned >5 min
9
+ * 2. noForwardStuck — oldest queued message older than 10 min
10
+ * (NOT "time since last success" — that would
11
+ * crash-loop low-traffic agents)
12
+ * 3. consecutiveFailures — >20 consecutive forward failures
13
+ *
14
+ * All three signals in one tick fire a single restart request whose
15
+ * `reason` is the highest-priority tripped signal and whose `context`
16
+ * carries all tripped signal names + snapshot values.
17
+ *
18
+ * Signal latching: if a signal crosses threshold during an active
19
+ * rate-limit window, it is latched. At the next tick after cooldown
20
+ * expires, still-above-threshold latched signals fire; de-crossed ones
21
+ * are dropped.
22
+ */
23
+ export interface WatchdogThresholds {
24
+ tickIntervalMs: number;
25
+ noForwardStuckMs: number;
26
+ consecutiveFailureMax: number;
27
+ conflict409StuckMs: number;
28
+ starvationMultiplier: number;
29
+ }
30
+ export declare const DEFAULT_WATCHDOG_THRESHOLDS: WatchdogThresholds;
31
+ export type SignalName = 'conflict409Stuck' | 'noForwardStuck' | 'consecutiveFailures';
32
+ export declare const SIGNAL_PRIORITY: readonly SignalName[];
33
+ export interface WatchdogInputs {
34
+ now: number;
35
+ /** Timestamp (ms) of oldest queued message, or undefined if queue empty. */
36
+ oldestQueueItemEnqueuedAt: number | undefined;
37
+ /** Count of consecutive forward failures (reset on 2xx). */
38
+ consecutiveForwardFailures: number;
39
+ /** Timestamp when consecutive409s transitioned 0→>0, null otherwise. */
40
+ conflict409StartedAt: number | null;
41
+ /** Whether supervisor currently reports the server healthy. */
42
+ serverHealthy: boolean;
43
+ }
44
+ export interface SignalSnapshot {
45
+ oldestQueueItemAgeMs: number | null;
46
+ consecutiveForwardFailures: number;
47
+ conflict409AgeMs: number | null;
48
+ serverHealthy: boolean;
49
+ }
50
+ export interface TripResult {
51
+ tripped: SignalName[];
52
+ primary: SignalName | null;
53
+ snapshot: SignalSnapshot;
54
+ }
55
+ export declare function evaluate(inputs: WatchdogInputs, thresholds: WatchdogThresholds): TripResult;
56
+ export interface WatchdogOptions {
57
+ thresholds?: Partial<WatchdogThresholds>;
58
+ /** Read inputs fresh on each tick. */
59
+ getInputs: () => WatchdogInputs;
60
+ /** Invoked when watchdog wants a restart. Orchestrator decides if it happens. */
61
+ onTrip: (result: TripResult) => void;
62
+ /** Invoked when tick interval was delayed > starvationMultiplier × tickInterval. */
63
+ onStarved?: (actualGapMs: number) => void;
64
+ /** Disable auto-start; tests call tick() directly. */
65
+ autoStart?: boolean;
66
+ }
67
+ export declare class LifelineHealthWatchdog {
68
+ private readonly opts;
69
+ readonly thresholds: WatchdogThresholds;
70
+ private timer;
71
+ private lastTickAt;
72
+ private latched;
73
+ constructor(opts: WatchdogOptions);
74
+ start(): void;
75
+ stop(): void;
76
+ /** Public for tests; internal tick. */
77
+ tick(): void;
78
+ /** For tests: inspect the latched set. */
79
+ _latchedForTesting(): Set<SignalName>;
80
+ }
81
+ //# sourceMappingURL=LifelineHealthWatchdog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LifelineHealthWatchdog.d.ts","sourceRoot":"","sources":["../../src/lifeline/LifelineHealthWatchdog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,2BAA2B,EAAE,kBAMzC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;AAEvF,eAAO,MAAM,eAAe,EAAE,SAAS,UAAU,EAIvC,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,4DAA4D;IAC5D,0BAA0B,EAAE,MAAM,CAAC;IACnC,wEAAwE;IACxE,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,+DAA+D;IAC/D,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,0BAA0B,EAAE,MAAM,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,GAAG,UAAU,CAuC3F;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzC,sCAAsC;IACtC,SAAS,EAAE,MAAM,cAAc,CAAC;IAChC,iFAAiF;IACjF,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,oFAAoF;IACpF,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,sBAAsB;IAQrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPjC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,UAAU,CAAK;IAGvB,OAAO,CAAC,OAAO,CAAyB;gBAEX,IAAI,EAAE,eAAe;IAKlD,KAAK,IAAI,IAAI;IAQb,IAAI,IAAI,IAAI;IAOZ,uCAAuC;IACvC,IAAI,IAAI,IAAI;IAsBZ,0CAA0C;IAC1C,kBAAkB,IAAI,GAAG,CAAC,UAAU,CAAC;CAGtC"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * LifelineHealthWatchdog — detects stuck-loop conditions and requests
3
+ * self-restart via the RestartOrchestrator. Signal-vs-authority: the
4
+ * watchdog emits deterministic signals; the RestartOrchestrator is the
5
+ * sole authority that decides whether to actually exit.
6
+ *
7
+ * Three signals, fixed priority (highest first):
8
+ * 1. conflict409Stuck — consecutive 409s pinned >5 min
9
+ * 2. noForwardStuck — oldest queued message older than 10 min
10
+ * (NOT "time since last success" — that would
11
+ * crash-loop low-traffic agents)
12
+ * 3. consecutiveFailures — >20 consecutive forward failures
13
+ *
14
+ * All three signals in one tick fire a single restart request whose
15
+ * `reason` is the highest-priority tripped signal and whose `context`
16
+ * carries all tripped signal names + snapshot values.
17
+ *
18
+ * Signal latching: if a signal crosses threshold during an active
19
+ * rate-limit window, it is latched. At the next tick after cooldown
20
+ * expires, still-above-threshold latched signals fire; de-crossed ones
21
+ * are dropped.
22
+ */
23
+ export const DEFAULT_WATCHDOG_THRESHOLDS = {
24
+ tickIntervalMs: 30_000,
25
+ noForwardStuckMs: 10 * 60 * 1000,
26
+ consecutiveFailureMax: 20,
27
+ conflict409StuckMs: 5 * 60 * 1000,
28
+ starvationMultiplier: 3,
29
+ };
30
+ export const SIGNAL_PRIORITY = [
31
+ 'conflict409Stuck',
32
+ 'noForwardStuck',
33
+ 'consecutiveFailures',
34
+ ];
35
+ export function evaluate(inputs, thresholds) {
36
+ const tripped = [];
37
+ const conflict409AgeMs = inputs.conflict409StartedAt !== null ? inputs.now - inputs.conflict409StartedAt : null;
38
+ if (conflict409AgeMs !== null && conflict409AgeMs > thresholds.conflict409StuckMs) {
39
+ tripped.push('conflict409Stuck');
40
+ }
41
+ // noForwardStuck — ONLY fires when queue is non-empty AND the oldest
42
+ // queued item has been waiting > threshold AND supervisor reports healthy.
43
+ // The healthy gate prevents double-firing with "server is down" recovery.
44
+ const oldestAgeMs = inputs.oldestQueueItemEnqueuedAt !== undefined
45
+ ? inputs.now - inputs.oldestQueueItemEnqueuedAt
46
+ : null;
47
+ if (oldestAgeMs !== null &&
48
+ oldestAgeMs > thresholds.noForwardStuckMs &&
49
+ inputs.serverHealthy) {
50
+ tripped.push('noForwardStuck');
51
+ }
52
+ if (inputs.consecutiveForwardFailures > thresholds.consecutiveFailureMax) {
53
+ tripped.push('consecutiveFailures');
54
+ }
55
+ const primary = SIGNAL_PRIORITY.find(s => tripped.includes(s)) ?? null;
56
+ return {
57
+ tripped,
58
+ primary,
59
+ snapshot: {
60
+ oldestQueueItemAgeMs: oldestAgeMs,
61
+ consecutiveForwardFailures: inputs.consecutiveForwardFailures,
62
+ conflict409AgeMs,
63
+ serverHealthy: inputs.serverHealthy,
64
+ },
65
+ };
66
+ }
67
+ export class LifelineHealthWatchdog {
68
+ opts;
69
+ thresholds;
70
+ timer = null;
71
+ lastTickAt = 0;
72
+ // Latches: signal name → true means we observed threshold cross while
73
+ // another restart-blocker was active; re-evaluated on subsequent ticks.
74
+ latched = new Set();
75
+ constructor(opts) {
76
+ this.opts = opts;
77
+ this.thresholds = { ...DEFAULT_WATCHDOG_THRESHOLDS, ...(opts.thresholds ?? {}) };
78
+ if (opts.autoStart !== false)
79
+ this.start();
80
+ }
81
+ start() {
82
+ if (this.timer)
83
+ return;
84
+ this.lastTickAt = Date.now();
85
+ this.timer = setInterval(() => this.tick(), this.thresholds.tickIntervalMs);
86
+ // Prevent holding the event loop in dev/test mode.
87
+ if (typeof this.timer.unref === 'function')
88
+ this.timer.unref();
89
+ }
90
+ stop() {
91
+ if (this.timer) {
92
+ clearInterval(this.timer);
93
+ this.timer = null;
94
+ }
95
+ }
96
+ /** Public for tests; internal tick. */
97
+ tick() {
98
+ const inputs = this.opts.getInputs();
99
+ const gap = inputs.now - this.lastTickAt;
100
+ if (this.lastTickAt > 0 &&
101
+ gap > this.thresholds.starvationMultiplier * this.thresholds.tickIntervalMs) {
102
+ this.opts.onStarved?.(gap);
103
+ }
104
+ this.lastTickAt = inputs.now;
105
+ const result = evaluate(inputs, this.thresholds);
106
+ // Re-check latched signals: drop any that de-crossed.
107
+ for (const sig of [...this.latched]) {
108
+ if (!result.tripped.includes(sig))
109
+ this.latched.delete(sig);
110
+ }
111
+ // Add newly-tripped signals to the latch pool in case rate limit blocks.
112
+ for (const sig of result.tripped)
113
+ this.latched.add(sig);
114
+ if (result.primary)
115
+ this.opts.onTrip(result);
116
+ }
117
+ /** For tests: inspect the latched set. */
118
+ _latchedForTesting() {
119
+ return new Set(this.latched);
120
+ }
121
+ }
122
+ //# sourceMappingURL=LifelineHealthWatchdog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LifelineHealthWatchdog.js","sourceRoot":"","sources":["../../src/lifeline/LifelineHealthWatchdog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * RestartOrchestrator — single-owner state machine for lifeline self-restart.
3
+ *
4
+ * Multiple initiators may fire concurrently:
5
+ * - LifelineHealthWatchdog (tick-based)
6
+ * - ForwardVersionSkewError handler (event-based)
7
+ * - SIGTERM handler (external, e.g., `instar lifeline restart`)
8
+ *
9
+ * All three route through `requestRestart()`. The orchestrator serializes
10
+ * them: only the first transition from `idle` proceeds; subsequent requests
11
+ * are logged and suppressed.
12
+ *
13
+ * State machine: idle → quiescing → persisting → exiting (terminal)
14
+ *
15
+ * Step 1 (quiesce) halts Telegram polling, replay loops, and the watchdog
16
+ * BEFORE any persist, so the queue snapshot is causally consistent.
17
+ *
18
+ * The `exitFn` is injected so tests can assert the sequence without
19
+ * terminating the test runner. Production injects `process.exit`.
20
+ */
21
+ import { DegradationReporter } from '../monitoring/DegradationReporter.js';
22
+ export type RestartState = 'idle' | 'quiescing' | 'persisting' | 'exiting';
23
+ export interface RestartRequest {
24
+ reason: string;
25
+ bucket: 'watchdog' | 'versionSkew';
26
+ context?: Record<string, unknown>;
27
+ }
28
+ export interface OrchestratorDeps {
29
+ /** Halt polling, replay interval, watchdog timer; abort in-flight forwards. Returns when drained. */
30
+ quiesce: () => Promise<void>;
31
+ /** Persist all state files atomically. Returns when all writes complete. */
32
+ persistAll: () => Promise<void>;
33
+ /** Called to exit the process. Production: process.exit. Tests: spy. */
34
+ exitFn: (code: number) => void;
35
+ /** Whether this process runs under launchd (true) or dev (false). */
36
+ isSupervised: boolean;
37
+ /**
38
+ * Returns true if a shadow-install update is in progress. The orchestrator
39
+ * will defer the restart by one tick if so, per spec §Shadow-install coordination.
40
+ * Tests can return a fixed value.
41
+ */
42
+ isShadowInstallUpdating?: () => boolean;
43
+ /** Optional DegradationReporter override for tests. */
44
+ reporter?: DegradationReporter;
45
+ /** Maximum ms to wait for persistAll before hard-killing. */
46
+ persistBudgetMs?: number;
47
+ /** Hard-kill timeout — if persist hangs this long, call exitFn(1). */
48
+ hardKillMs?: number;
49
+ /** Defer duration if shadow-install lockfile is present. Default 30000 (one watchdog tick). */
50
+ shadowInstallDeferMs?: number;
51
+ }
52
+ export declare class RestartOrchestrator {
53
+ private readonly deps;
54
+ private _state;
55
+ private readonly reporter;
56
+ private readonly persistBudgetMs;
57
+ private readonly hardKillMs;
58
+ lastSuppressed: {
59
+ reason: string;
60
+ currentState: RestartState;
61
+ } | null;
62
+ constructor(deps: OrchestratorDeps);
63
+ get state(): RestartState;
64
+ /**
65
+ * Attempt to initiate a restart. Only proceeds if currently idle.
66
+ * Returns a promise that resolves only if the request was suppressed
67
+ * (process didn't exit); otherwise the process exits before resolve.
68
+ */
69
+ requestRestart(req: RestartRequest): Promise<'suppressed' | 'proceeded'>;
70
+ /** Test helper: reset state to idle without exiting. Only safe in tests. */
71
+ _resetForTesting(): void;
72
+ }
73
+ //# sourceMappingURL=RestartOrchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RestartOrchestrator.d.ts","sourceRoot":"","sources":["../../src/lifeline/RestartOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,GAAG,aAAa,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,qGAAqG;IACrG,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,4EAA4E;IAC5E,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,wEAAwE;IACxE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,qEAAqE;IACrE,YAAY,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,OAAO,CAAC;IACxC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+FAA+F;IAC/F,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,mBAAmB;IAOlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAC7B,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI,CAAQ;gBAEvD,IAAI,EAAE,gBAAgB;IAMnD,IAAI,KAAK,IAAI,YAAY,CAExB;IAED;;;;OAIG;IACG,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,WAAW,CAAC;IAuF9E,4EAA4E;IAC5E,gBAAgB,IAAI,IAAI;CAIzB"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * RestartOrchestrator — single-owner state machine for lifeline self-restart.
3
+ *
4
+ * Multiple initiators may fire concurrently:
5
+ * - LifelineHealthWatchdog (tick-based)
6
+ * - ForwardVersionSkewError handler (event-based)
7
+ * - SIGTERM handler (external, e.g., `instar lifeline restart`)
8
+ *
9
+ * All three route through `requestRestart()`. The orchestrator serializes
10
+ * them: only the first transition from `idle` proceeds; subsequent requests
11
+ * are logged and suppressed.
12
+ *
13
+ * State machine: idle → quiescing → persisting → exiting (terminal)
14
+ *
15
+ * Step 1 (quiesce) halts Telegram polling, replay loops, and the watchdog
16
+ * BEFORE any persist, so the queue snapshot is causally consistent.
17
+ *
18
+ * The `exitFn` is injected so tests can assert the sequence without
19
+ * terminating the test runner. Production injects `process.exit`.
20
+ */
21
+ import { DegradationReporter } from '../monitoring/DegradationReporter.js';
22
+ export class RestartOrchestrator {
23
+ deps;
24
+ _state = 'idle';
25
+ reporter;
26
+ persistBudgetMs;
27
+ hardKillMs;
28
+ lastSuppressed = null;
29
+ constructor(deps) {
30
+ this.deps = deps;
31
+ this.reporter = deps.reporter ?? DegradationReporter.getInstance();
32
+ this.persistBudgetMs = deps.persistBudgetMs ?? 2000;
33
+ this.hardKillMs = deps.hardKillMs ?? 5000;
34
+ }
35
+ get state() {
36
+ return this._state;
37
+ }
38
+ /**
39
+ * Attempt to initiate a restart. Only proceeds if currently idle.
40
+ * Returns a promise that resolves only if the request was suppressed
41
+ * (process didn't exit); otherwise the process exits before resolve.
42
+ */
43
+ async requestRestart(req) {
44
+ // Synchronous guard — set BEFORE any await to prevent re-entry.
45
+ if (this._state !== 'idle') {
46
+ this.lastSuppressed = { reason: req.reason, currentState: this._state };
47
+ console.log(`[RestartOrchestrator] restart-request-suppressed ` +
48
+ `reason=${req.reason} currentState=${this._state}`);
49
+ return 'suppressed';
50
+ }
51
+ this._state = 'quiescing';
52
+ // Fire-and-forget degradation event (best-effort, budget 500ms).
53
+ try {
54
+ await Promise.race([
55
+ Promise.resolve(this.reporter.report({
56
+ feature: 'TelegramLifeline.selfRestart',
57
+ primary: `exit-for-restart (${req.reason})`,
58
+ fallback: 'launchd will respawn',
59
+ reason: req.reason,
60
+ impact: 'Lifeline process exits; message queue persisted; respawned by launchd.',
61
+ })),
62
+ new Promise(resolve => setTimeout(resolve, 500)),
63
+ ]);
64
+ }
65
+ catch {
66
+ // best-effort; never block restart on telemetry failure
67
+ }
68
+ // Shadow-install coordination: if the updater is mid-`npm i`, defer by
69
+ // one tick rather than respawn against a half-written tree. Spec §Shadow-
70
+ // install coordination. A deferred restart re-enters idle and can be
71
+ // re-requested on the next tick.
72
+ if (this.deps.isShadowInstallUpdating?.()) {
73
+ console.warn(`[RestartOrchestrator] restart-deferred-shadow-updating ` +
74
+ `reason=${req.reason} — retry after tick`);
75
+ this._state = 'idle';
76
+ return 'suppressed';
77
+ }
78
+ // Unsupervised mode: log loud + stop here. Never call exitFn in dev/test.
79
+ if (!this.deps.isSupervised) {
80
+ console.warn(`[RestartOrchestrator] would restart (trigger=${req.reason}) but unsupervised; ` +
81
+ `skipping exit. set INSTAR_SUPERVISED=1 to enable.`);
82
+ this._state = 'idle';
83
+ return 'suppressed';
84
+ }
85
+ // Step 1: quiesce — halt mutations before persist.
86
+ try {
87
+ await Promise.race([
88
+ this.deps.quiesce(),
89
+ new Promise(resolve => setTimeout(resolve, 1000)),
90
+ ]);
91
+ }
92
+ catch (err) {
93
+ console.error(`[RestartOrchestrator] quiesce error (continuing): ${err}`);
94
+ }
95
+ // Step 2: persist. Budget 2s. Hard-kill fallback 5s from now.
96
+ this._state = 'persisting';
97
+ const hardKill = setTimeout(() => {
98
+ console.error('[RestartOrchestrator] hard-kill: persist exceeded budget');
99
+ this.deps.exitFn(1);
100
+ }, this.hardKillMs);
101
+ if (typeof hardKill.unref === 'function')
102
+ hardKill.unref();
103
+ try {
104
+ await Promise.race([
105
+ this.deps.persistAll(),
106
+ new Promise(resolve => setTimeout(resolve, this.persistBudgetMs)),
107
+ ]);
108
+ }
109
+ catch (err) {
110
+ console.error(`[RestartOrchestrator] persistAll error (continuing to exit): ${err}`);
111
+ }
112
+ // Step 3: exit.
113
+ this._state = 'exiting';
114
+ clearTimeout(hardKill);
115
+ this.deps.exitFn(0);
116
+ return 'proceeded';
117
+ }
118
+ /** Test helper: reset state to idle without exiting. Only safe in tests. */
119
+ _resetForTesting() {
120
+ this._state = 'idle';
121
+ this.lastSuppressed = null;
122
+ }
123
+ }
124
+ //# sourceMappingURL=RestartOrchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RestartOrchestrator.js","sourceRoot":"","sources":["../../src/lifeline/RestartOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,31 @@ export declare class TelegramLifeline {
42
42
  * Start the lifeline — begins Telegram polling and server supervision.
43
43
  */
44
44
  start(): Promise<void>;
45
+ /**
46
+ * Stop all in-flight / scheduled mutation sources so the queue snapshot
47
+ * is consistent when persisted.
48
+ */
49
+ private quiesceEverything;
50
+ /**
51
+ * Install the restart orchestrator and watchdog. Called from start().
52
+ *
53
+ * The orchestrator owns the process.exit call. The watchdog requests
54
+ * restarts via the orchestrator on threshold crossings, subject to
55
+ * rate-limit state on disk.
56
+ */
57
+ private installOrchestratorAndWatchdog;
58
+ /** Extract oldest queue item's enqueue timestamp as ms, if any. */
59
+ private oldestQueueItemEnqueuedAt;
60
+ /** Read config overrides for watchdog thresholds. */
61
+ private loadThresholdOverrides;
62
+ /** Persist rate-limit state. Safe to call during orchestrator persist. */
63
+ private persistRateLimitSafe;
64
+ /**
65
+ * Unified restart initiator: checks rate limit, writes history, then
66
+ * calls the orchestrator. Used by both the watchdog tick (bucket=watchdog)
67
+ * and the version-skew handler (bucket=versionSkew).
68
+ */
69
+ private initiateRestart;
45
70
  /**
46
71
  * Flush stale Telegram connections on startup.
47
72
  * After a hard kill or sleep/wake, a previous long-poll getUpdates call may
@@ -77,8 +102,37 @@ export declare class TelegramLifeline {
77
102
  private forwardCallbackQuery;
78
103
  /**
79
104
  * Forward a message to the Instar server's Telegram webhook.
80
- */
105
+ *
106
+ * Attempts up to FORWARD_ATTEMPTS times with exponential backoff
107
+ * (1s, 2s base). A single 10s-timeout fetch per attempt. Returns true
108
+ * on the first success, false after all attempts fail. Giving the
109
+ * handoff a real chance to succeed closes the silent-drop window that
110
+ * the caller's queue-and-retry path papered over.
111
+ */
112
+ private static readonly FORWARD_ATTEMPTS;
113
+ private static readonly FORWARD_BACKOFF_BASE_MS;
114
+ /**
115
+ * `legacyStrict` — if a pre-Stage-B server strictly validates JSON and
116
+ * rejects the unknown `lifelineVersion` field with 400, the lifeline
117
+ * falls back to omitting it and pins this flag for the session.
118
+ */
119
+ private legacyStrictServer;
120
+ /** Full semver of this lifeline, read once at construction. */
121
+ private readonly lifelineVersion;
81
122
  private forwardToServer;
123
+ /**
124
+ * Handle a 426 response from the server. Validates the response body's
125
+ * `serverVersion` differs from this lifeline's, then requests restart
126
+ * through the orchestrator. If the body is malformed or the versions
127
+ * match (loopback impostor), treat as transient.
128
+ */
129
+ private handleVersionSkew;
130
+ /** Watchdog-tracked counters/state. */
131
+ private consecutiveForwardFailures;
132
+ private lastForwardSuccessAt;
133
+ private conflict409StartedAt;
134
+ private orchestrator;
135
+ private watchdog;
82
136
  private handleLifelineCommand;
83
137
  /** Max times a message can fail replay before being dropped. */
84
138
  private static readonly MAX_REPLAY_FAILURES;
@@ -1 +1 @@
1
- {"version":3,"file":"TelegramLifeline.d.ts","sourceRoot":"","sources":["../../src/lifeline/TelegramLifeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAwIH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAAQ;IAG7B,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,oBAAoB,CAA8C;gBAE9D,UAAU,CAAC,EAAE,MAAM;IA+E/B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4I5B;;;;;;;OAOG;YACW,oBAAoB;YAkDpB,IAAI;YAqEJ,aAAa;IAwF3B;;OAEG;YACW,kBAAkB;IAoDhC;;OAEG;YACW,aAAa;IAwB3B;;;OAGG;YACW,gBAAgB;IA2B9B;;OAEG;YACW,qBAAqB;IAmDnC;;;OAGG;YACW,oBAAoB;IAmDlC;;OAEG;YACW,eAAe;YAyCf,qBAAqB;IAoGnC,gEAAgE;IAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAK;YAElC,WAAW;IAoFzB,gFAAgF;IAChF,OAAO,CAAC,qBAAqB,CAAS;IACtC,4DAA4D;IAC5D,OAAO,CAAC,yBAAyB,CAAK;IACtC,0FAA0F;IAC1F,OAAO,CAAC,sBAAsB,CAAK;IACnC,mGAAmG;IACnG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAe;IAE9D,4EAA4E;IAC5E,OAAO,CAAC,cAAc,CAA6B;IACnD,0FAA0F;IAC1F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAc;IAC7D,6EAA6E;IAC7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAO;IAE3D;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,kBAAkB;IAkB1B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;YAgBZ,gBAAgB;YAmChB,mBAAmB;IA8BjC;;OAEG;YACW,mBAAmB;IA+CjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiC1B;;OAEG;YACW,sBAAsB;IAsFpC;;;OAGG;YACW,kBAAkB;IAwFhC;;OAEG;IACH,OAAO,CAAC,cAAc;IA4BtB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;OAEG;YACW,oBAAoB;IASlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;;;;;;OASG;IACH;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;YA0Cd,aAAa;IA6E3B;;OAEG;YACW,mBAAmB;IAuDjC;;OAEG;IACH,OAAO,CAAC,sBAAsB;YAyBhB,WAAW;YAqBX,UAAU;YASV,OAAO;IAiDrB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,UAAU;CAWnB"}
1
+ {"version":3,"file":"TelegramLifeline.d.ts","sourceRoot":"","sources":["../../src/lifeline/TelegramLifeline.ts"],"names":[],"mappings":"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"}