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.
- package/dist/cli.js +53 -0
- package/dist/cli.js.map +1 -1
- package/dist/core/AutoDispatcher.d.ts +4 -1
- package/dist/core/AutoDispatcher.d.ts.map +1 -1
- package/dist/core/AutoDispatcher.js +5 -4
- package/dist/core/AutoDispatcher.js.map +1 -1
- package/dist/core/AutoUpdater.d.ts +6 -1
- package/dist/core/AutoUpdater.d.ts.map +1 -1
- package/dist/core/AutoUpdater.js +7 -4
- package/dist/core/AutoUpdater.js.map +1 -1
- package/dist/lifeline/LifelineHealthWatchdog.d.ts +81 -0
- package/dist/lifeline/LifelineHealthWatchdog.d.ts.map +1 -0
- package/dist/lifeline/LifelineHealthWatchdog.js +122 -0
- package/dist/lifeline/LifelineHealthWatchdog.js.map +1 -0
- package/dist/lifeline/RestartOrchestrator.d.ts +73 -0
- package/dist/lifeline/RestartOrchestrator.d.ts.map +1 -0
- package/dist/lifeline/RestartOrchestrator.js +124 -0
- package/dist/lifeline/RestartOrchestrator.js.map +1 -0
- package/dist/lifeline/TelegramLifeline.d.ts +55 -1
- package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
- package/dist/lifeline/TelegramLifeline.js +364 -41
- package/dist/lifeline/TelegramLifeline.js.map +1 -1
- package/dist/lifeline/droppedMessages.d.ts +67 -0
- package/dist/lifeline/droppedMessages.d.ts.map +1 -0
- package/dist/lifeline/droppedMessages.js +179 -0
- package/dist/lifeline/droppedMessages.js.map +1 -0
- package/dist/lifeline/forwardErrors.d.ts +38 -0
- package/dist/lifeline/forwardErrors.d.ts.map +1 -0
- package/dist/lifeline/forwardErrors.js +53 -0
- package/dist/lifeline/forwardErrors.js.map +1 -0
- package/dist/lifeline/rateLimitState.d.ts +63 -0
- package/dist/lifeline/rateLimitState.d.ts.map +1 -0
- package/dist/lifeline/rateLimitState.js +110 -0
- package/dist/lifeline/rateLimitState.js.map +1 -0
- package/dist/lifeline/retryWithBackoff.d.ts +28 -0
- package/dist/lifeline/retryWithBackoff.d.ts.map +1 -0
- package/dist/lifeline/retryWithBackoff.js +34 -0
- package/dist/lifeline/retryWithBackoff.js.map +1 -0
- package/dist/lifeline/startupMarker.d.ts +20 -0
- package/dist/lifeline/startupMarker.d.ts.map +1 -0
- package/dist/lifeline/startupMarker.js +52 -0
- package/dist/lifeline/startupMarker.js.map +1 -0
- package/dist/lifeline/versionHandshake.d.ts +40 -0
- package/dist/lifeline/versionHandshake.d.ts.map +1 -0
- package/dist/lifeline/versionHandshake.js +45 -0
- package/dist/lifeline/versionHandshake.js.map +1 -0
- package/dist/messaging/shared/compactionResumePayload.d.ts +1 -1
- package/dist/messaging/shared/compactionResumePayload.d.ts.map +1 -1
- package/dist/messaging/shared/compactionResumePayload.js +14 -5
- package/dist/messaging/shared/compactionResumePayload.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +58 -1
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +82 -82
- package/upgrades/0.28.66.md +44 -0
- package/upgrades/0.28.67.md +58 -0
- package/upgrades/side-effects/0.28.65.md +59 -0
- package/upgrades/side-effects/0.28.66.md +130 -0
- package/upgrades/side-effects/lifeline-message-drop-stage-a.md +155 -0
- package/upgrades/side-effects/lifeline-self-restart-stage-b.md +129 -0
- package/upgrades/NEXT.md +0 -53
package/dist/core/AutoUpdater.js
CHANGED
|
@@ -577,12 +577,15 @@ export class AutoUpdater {
|
|
|
577
577
|
}
|
|
578
578
|
/**
|
|
579
579
|
* Get the topic ID for update notifications.
|
|
580
|
-
*
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAmC3E,MAAM,OAAO,mBAAmB;IAOD;IANrB,MAAM,GAAiB,MAAM,CAAC;IACrB,QAAQ,CAAsB;IAC9B,eAAe,CAAS;IACxB,UAAU,CAAS;IAC7B,cAAc,GAA0D,IAAI,CAAC;IAEpF,YAA6B,IAAsB;QAAtB,SAAI,GAAJ,IAAI,CAAkB;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,mBAAmB,CAAC,WAAW,EAAE,CAAC;QACnE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,GAAmB;QACtC,gEAAgE;QAChE,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACxE,OAAO,CAAC,GAAG,CACT,mDAAmD;gBACnD,UAAU,GAAG,CAAC,MAAM,iBAAiB,IAAI,CAAC,MAAM,EAAE,CACnD,CAAC;YACF,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAE1B,iEAAiE;QACjE,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,OAAO,CAAC,OAAO,CACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACnB,OAAO,EAAE,8BAA8B;oBACvC,OAAO,EAAE,qBAAqB,GAAG,CAAC,MAAM,GAAG;oBAC3C,QAAQ,EAAE,sBAAsB;oBAChC,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,MAAM,EAAE,wEAAwE;iBACjF,CAAC,CACH;gBACD,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aACvD,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;QAED,uEAAuE;QACvE,0EAA0E;QAC1E,qEAAqE;QACrE,iCAAiC;QACjC,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CACV,yDAAyD;gBACzD,UAAU,GAAG,CAAC,MAAM,qBAAqB,CAC1C,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,0EAA0E;QAC1E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CACV,gDAAgD,GAAG,CAAC,MAAM,sBAAsB;gBAChF,mDAAmD,CACpD,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACnB,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qDAAqD,GAAG,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;QAC3B,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC1E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACpB,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,UAAU;YAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QAE3D,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACtB,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;aACxE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,gEAAgE,GAAG,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,4EAA4E;IAC5E,gBAAgB;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"TelegramLifeline.d.ts","sourceRoot":"","sources":["../../src/lifeline/TelegramLifeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAkKH,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;IAiK5B;;;OAGG;YACW,iBAAiB;IAW/B;;;;;;OAMG;IACH,OAAO,CAAC,8BAA8B;IA8DtC,mEAAmE;IACnE,OAAO,CAAC,yBAAyB;IAOjC,qDAAqD;IACrD,OAAO,CAAC,sBAAsB;IA6B9B,0EAA0E;YAC5D,oBAAoB;IAOlC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAwCvB;;;;;;;OAOG;YACW,oBAAoB;YAkDpB,IAAI;YAwEJ,aAAa;IAwF3B;;OAEG;YACW,kBAAkB;IAoDhC;;OAEG;YACW,aAAa;IAwB3B;;;OAGG;YACW,gBAAgB;IA2B9B;;OAEG;YACW,qBAAqB;IAmDnC;;;OAGG;YACW,oBAAoB;IAmDlC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAQ;IAEvD;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAAS;IAEnC,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;YAExC,eAAe;IAoG7B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAmBzB,uCAAuC;IACvC,OAAO,CAAC,0BAA0B,CAAK;IACvC,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,oBAAoB,CAAuB;IAEnD,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,QAAQ,CAAuC;YAIzC,qBAAqB;IAoGnC,gEAAgE;IAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAK;YAElC,WAAW;IAuGzB,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"}
|