@procwire/transport 0.2.0 → 0.3.0

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 (84) hide show
  1. package/dist/framing/line-delimited.d.ts.map +1 -1
  2. package/dist/framing/line-delimited.js.map +1 -1
  3. package/dist/heartbeat/constants.d.ts +12 -0
  4. package/dist/heartbeat/constants.d.ts.map +1 -0
  5. package/dist/heartbeat/constants.js +17 -0
  6. package/dist/heartbeat/constants.js.map +1 -0
  7. package/dist/heartbeat/index.d.ts +10 -0
  8. package/dist/heartbeat/index.d.ts.map +1 -0
  9. package/dist/heartbeat/index.js +10 -0
  10. package/dist/heartbeat/index.js.map +1 -0
  11. package/dist/heartbeat/manager.d.ts +107 -0
  12. package/dist/heartbeat/manager.d.ts.map +1 -0
  13. package/dist/heartbeat/manager.js +252 -0
  14. package/dist/heartbeat/manager.js.map +1 -0
  15. package/dist/heartbeat/types.d.ts +99 -0
  16. package/dist/heartbeat/types.d.ts.map +1 -0
  17. package/dist/heartbeat/types.js +8 -0
  18. package/dist/heartbeat/types.js.map +1 -0
  19. package/dist/index.d.ts +4 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +5 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/process/manager.d.ts.map +1 -1
  24. package/dist/process/manager.js +2 -1
  25. package/dist/process/manager.js.map +1 -1
  26. package/dist/protocol/index.d.ts +2 -0
  27. package/dist/protocol/index.d.ts.map +1 -1
  28. package/dist/protocol/index.js +3 -0
  29. package/dist/protocol/index.js.map +1 -1
  30. package/dist/protocol/reserved-methods.d.ts +90 -0
  31. package/dist/protocol/reserved-methods.d.ts.map +1 -0
  32. package/dist/protocol/reserved-methods.js +99 -0
  33. package/dist/protocol/reserved-methods.js.map +1 -0
  34. package/dist/protocol/reserved-types.d.ts +231 -0
  35. package/dist/protocol/reserved-types.d.ts.map +1 -0
  36. package/dist/protocol/reserved-types.js +10 -0
  37. package/dist/protocol/reserved-types.js.map +1 -0
  38. package/dist/reconnect/constants.d.ts +12 -0
  39. package/dist/reconnect/constants.d.ts.map +1 -0
  40. package/dist/reconnect/constants.js +21 -0
  41. package/dist/reconnect/constants.js.map +1 -0
  42. package/dist/reconnect/index.d.ts +10 -0
  43. package/dist/reconnect/index.d.ts.map +1 -0
  44. package/dist/reconnect/index.js +10 -0
  45. package/dist/reconnect/index.js.map +1 -0
  46. package/dist/reconnect/manager.d.ts +110 -0
  47. package/dist/reconnect/manager.d.ts.map +1 -0
  48. package/dist/reconnect/manager.js +264 -0
  49. package/dist/reconnect/manager.js.map +1 -0
  50. package/dist/reconnect/types.d.ts +137 -0
  51. package/dist/reconnect/types.d.ts.map +1 -0
  52. package/dist/reconnect/types.js +8 -0
  53. package/dist/reconnect/types.js.map +1 -0
  54. package/dist/resilience/handle.d.ts +112 -0
  55. package/dist/resilience/handle.d.ts.map +1 -0
  56. package/dist/resilience/handle.js +371 -0
  57. package/dist/resilience/handle.js.map +1 -0
  58. package/dist/resilience/index.d.ts +9 -0
  59. package/dist/resilience/index.d.ts.map +1 -0
  60. package/dist/resilience/index.js +9 -0
  61. package/dist/resilience/index.js.map +1 -0
  62. package/dist/resilience/types.d.ts +191 -0
  63. package/dist/resilience/types.d.ts.map +1 -0
  64. package/dist/resilience/types.js +8 -0
  65. package/dist/resilience/types.js.map +1 -0
  66. package/dist/shutdown/constants.d.ts +12 -0
  67. package/dist/shutdown/constants.d.ts.map +1 -0
  68. package/dist/shutdown/constants.js +15 -0
  69. package/dist/shutdown/constants.js.map +1 -0
  70. package/dist/shutdown/index.d.ts +10 -0
  71. package/dist/shutdown/index.d.ts.map +1 -0
  72. package/dist/shutdown/index.js +10 -0
  73. package/dist/shutdown/index.js.map +1 -0
  74. package/dist/shutdown/manager.d.ts +102 -0
  75. package/dist/shutdown/manager.d.ts.map +1 -0
  76. package/dist/shutdown/manager.js +252 -0
  77. package/dist/shutdown/manager.js.map +1 -0
  78. package/dist/shutdown/types.d.ts +133 -0
  79. package/dist/shutdown/types.d.ts.map +1 -0
  80. package/dist/shutdown/types.js +8 -0
  81. package/dist/shutdown/types.js.map +1 -0
  82. package/dist/transport/socket-transport.d.ts.map +1 -1
  83. package/dist/transport/socket-transport.js.map +1 -1
  84. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"line-delimited.d.ts","sourceRoot":"","sources":["../../src/framing/line-delimited.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,GAAE,2BAAgC;IAgBrD;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAa/B;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IA6D/B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,cAAc;CA4BvB"}
1
+ {"version":3,"file":"line-delimited.d.ts","sourceRoot":"","sources":["../../src/framing/line-delimited.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,GAAE,2BAAgC;IAgBrD;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAa/B;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAwD/B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,cAAc;CA4BvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"line-delimited.js","sourceRoot":"","sources":["../../src/framing/line-delimited.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"line-delimited.js","sourceRoot":"","sources":["../../src/framing/line-delimited.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Heartbeat manager constants.
3
+ *
4
+ * @packageDocumentation
5
+ * @module Heartbeat
6
+ */
7
+ import type { HeartbeatOptions } from "./types.js";
8
+ /**
9
+ * Default heartbeat configuration options.
10
+ */
11
+ export declare const DEFAULT_HEARTBEAT_OPTIONS: Readonly<Required<HeartbeatOptions>>;
12
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/heartbeat/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAM1E,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Heartbeat manager constants.
3
+ *
4
+ * @packageDocumentation
5
+ * @module Heartbeat
6
+ */
7
+ /**
8
+ * Default heartbeat configuration options.
9
+ */
10
+ export const DEFAULT_HEARTBEAT_OPTIONS = {
11
+ enabled: true,
12
+ interval: 30_000,
13
+ timeout: 5_000,
14
+ maxMissed: 3,
15
+ implicitHeartbeat: true,
16
+ };
17
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/heartbeat/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAyC;IAC7E,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,CAAC;IACZ,iBAAiB,EAAE,IAAI;CACxB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Heartbeat module for detecting unresponsive workers.
3
+ *
4
+ * @packageDocumentation
5
+ * @module Heartbeat
6
+ */
7
+ export * from "./types.js";
8
+ export * from "./constants.js";
9
+ export * from "./manager.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/heartbeat/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Heartbeat module for detecting unresponsive workers.
3
+ *
4
+ * @packageDocumentation
5
+ * @module Heartbeat
6
+ */
7
+ export * from "./types.js";
8
+ export * from "./constants.js";
9
+ export * from "./manager.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/heartbeat/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * HeartbeatManager implementation.
3
+ *
4
+ * @packageDocumentation
5
+ * @module Heartbeat
6
+ */
7
+ import type { Channel } from "../channel/types.js";
8
+ import type { HeartbeatPongParams } from "../protocol/reserved-types.js";
9
+ import { EventEmitter } from "../utils/events.js";
10
+ import type { HeartbeatOptions, HeartbeatState, HeartbeatEventMap } from "./types.js";
11
+ /**
12
+ * Manages heartbeat ping/pong cycle to detect unresponsive workers.
13
+ *
14
+ * The HeartbeatManager sends periodic `__heartbeat_ping__` notifications via the
15
+ * control channel and expects `__heartbeat_pong__` responses within the configured
16
+ * timeout. After `maxMissed` consecutive missed pongs, the worker is declared dead.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const heartbeat = new HeartbeatManager(controlChannel, {
21
+ * interval: 30000,
22
+ * timeout: 5000,
23
+ * maxMissed: 3,
24
+ * });
25
+ *
26
+ * heartbeat.on('heartbeat:pong', ({ latencyMs }) => {
27
+ * console.log(`Pong received with ${latencyMs}ms latency`);
28
+ * });
29
+ *
30
+ * heartbeat.on('heartbeat:dead', ({ missedCount }) => {
31
+ * console.log(`Worker dead after ${missedCount} missed pongs`);
32
+ * // Trigger restart or cleanup
33
+ * });
34
+ *
35
+ * heartbeat.start();
36
+ *
37
+ * // When done
38
+ * heartbeat.stop();
39
+ * ```
40
+ */
41
+ export declare class HeartbeatManager extends EventEmitter<HeartbeatEventMap> {
42
+ private readonly options;
43
+ private readonly channel;
44
+ private state;
45
+ private intervalHandle;
46
+ private timeoutHandle;
47
+ /**
48
+ * Creates a new HeartbeatManager.
49
+ *
50
+ * @param channel - Control channel to send heartbeat notifications on
51
+ * @param options - Configuration options (merged with defaults)
52
+ */
53
+ constructor(channel: Channel, options?: Partial<HeartbeatOptions>);
54
+ /**
55
+ * Start heartbeat monitoring.
56
+ * Sends first ping immediately, then at configured interval.
57
+ */
58
+ start(): void;
59
+ /**
60
+ * Stop heartbeat monitoring.
61
+ * Clears all timers and resets counters for clean restart.
62
+ */
63
+ stop(): void;
64
+ /**
65
+ * Call when any activity occurs on the channel.
66
+ * If implicitHeartbeat is enabled, resets the missed counter, clears pending ping,
67
+ * and emits heartbeat:recovered if the worker was previously considered unhealthy.
68
+ */
69
+ onActivity(): void;
70
+ /**
71
+ * Handle incoming pong notification.
72
+ * Should be called by the channel when `__heartbeat_pong__` is received.
73
+ *
74
+ * @param params - The pong notification parameters
75
+ */
76
+ handlePong(params: HeartbeatPongParams): void;
77
+ /**
78
+ * Get current heartbeat state (readonly).
79
+ */
80
+ getState(): Readonly<HeartbeatState>;
81
+ /**
82
+ * Get current options (readonly).
83
+ */
84
+ getOptions(): Readonly<Required<HeartbeatOptions>>;
85
+ /**
86
+ * Check if heartbeat is currently running.
87
+ */
88
+ isRunning(): boolean;
89
+ /**
90
+ * Reset state for restart scenarios.
91
+ * Clears timers and resets all counters.
92
+ */
93
+ reset(): void;
94
+ /**
95
+ * Sends a heartbeat ping notification.
96
+ */
97
+ private sendPing;
98
+ /**
99
+ * Handles a missed pong (timeout or send failure).
100
+ */
101
+ private handleMissed;
102
+ /**
103
+ * Clears all active timers.
104
+ */
105
+ private clearTimers;
106
+ }
107
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/heartbeat/manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAuB,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,gBAAiB,SAAQ,YAAY,CAAC,iBAAiB,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,OAAO,CAAC,KAAK,CAMX;IAEF,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,aAAa,CAA8C;IAEnE;;;;;OAKG;gBACS,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,OAAO,CAAC,gBAAgB,CAAM;IAMrE;;;OAGG;IACH,KAAK,IAAI,IAAI;IAiBb;;;OAGG;IACH,IAAI,IAAI,IAAI;IAYZ;;;;OAIG;IACH,UAAU,IAAI,IAAI;IA2BlB;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAmC7C;;OAEG;IACH,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC;IAIpC;;OAEG;IACH,UAAU,IAAI,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAIlD;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;;OAGG;IACH,KAAK,IAAI,IAAI;IAWb;;OAEG;IACH,OAAO,CAAC,QAAQ;IA2BhB;;OAEG;IACH,OAAO,CAAC,YAAY;IA2BpB;;OAEG;IACH,OAAO,CAAC,WAAW;CAUpB"}
@@ -0,0 +1,252 @@
1
+ /**
2
+ * HeartbeatManager implementation.
3
+ *
4
+ * @packageDocumentation
5
+ * @module Heartbeat
6
+ */
7
+ import { ReservedMethods } from "../protocol/reserved-methods.js";
8
+ import { EventEmitter } from "../utils/events.js";
9
+ import { DEFAULT_HEARTBEAT_OPTIONS } from "./constants.js";
10
+ /**
11
+ * Manages heartbeat ping/pong cycle to detect unresponsive workers.
12
+ *
13
+ * The HeartbeatManager sends periodic `__heartbeat_ping__` notifications via the
14
+ * control channel and expects `__heartbeat_pong__` responses within the configured
15
+ * timeout. After `maxMissed` consecutive missed pongs, the worker is declared dead.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const heartbeat = new HeartbeatManager(controlChannel, {
20
+ * interval: 30000,
21
+ * timeout: 5000,
22
+ * maxMissed: 3,
23
+ * });
24
+ *
25
+ * heartbeat.on('heartbeat:pong', ({ latencyMs }) => {
26
+ * console.log(`Pong received with ${latencyMs}ms latency`);
27
+ * });
28
+ *
29
+ * heartbeat.on('heartbeat:dead', ({ missedCount }) => {
30
+ * console.log(`Worker dead after ${missedCount} missed pongs`);
31
+ * // Trigger restart or cleanup
32
+ * });
33
+ *
34
+ * heartbeat.start();
35
+ *
36
+ * // When done
37
+ * heartbeat.stop();
38
+ * ```
39
+ */
40
+ export class HeartbeatManager extends EventEmitter {
41
+ options;
42
+ channel;
43
+ state = {
44
+ seq: 0,
45
+ lastPongAt: null,
46
+ consecutiveMissed: 0,
47
+ isRunning: false,
48
+ pendingPing: null,
49
+ };
50
+ intervalHandle = null;
51
+ timeoutHandle = null;
52
+ /**
53
+ * Creates a new HeartbeatManager.
54
+ *
55
+ * @param channel - Control channel to send heartbeat notifications on
56
+ * @param options - Configuration options (merged with defaults)
57
+ */
58
+ constructor(channel, options = {}) {
59
+ super();
60
+ this.channel = channel;
61
+ this.options = { ...DEFAULT_HEARTBEAT_OPTIONS, ...options };
62
+ }
63
+ /**
64
+ * Start heartbeat monitoring.
65
+ * Sends first ping immediately, then at configured interval.
66
+ */
67
+ start() {
68
+ if (!this.options.enabled || this.state.isRunning) {
69
+ return;
70
+ }
71
+ this.state.isRunning = true;
72
+ this.emit("heartbeat:start", undefined);
73
+ // Send first ping immediately
74
+ this.sendPing();
75
+ // Schedule recurring pings
76
+ this.intervalHandle = setInterval(() => {
77
+ this.sendPing();
78
+ }, this.options.interval);
79
+ }
80
+ /**
81
+ * Stop heartbeat monitoring.
82
+ * Clears all timers and resets counters for clean restart.
83
+ */
84
+ stop() {
85
+ if (!this.state.isRunning) {
86
+ return;
87
+ }
88
+ this.clearTimers();
89
+ this.state.isRunning = false;
90
+ this.state.pendingPing = null;
91
+ this.state.consecutiveMissed = 0; // Reset for clean restart
92
+ this.emit("heartbeat:stop", undefined);
93
+ }
94
+ /**
95
+ * Call when any activity occurs on the channel.
96
+ * If implicitHeartbeat is enabled, resets the missed counter, clears pending ping,
97
+ * and emits heartbeat:recovered if the worker was previously considered unhealthy.
98
+ */
99
+ onActivity() {
100
+ if (this.options.implicitHeartbeat) {
101
+ const previousMissed = this.state.consecutiveMissed;
102
+ this.state.consecutiveMissed = 0;
103
+ // Clear pending ping and timeout since we received activity
104
+ if (this.state.pendingPing) {
105
+ this.state.pendingPing = null;
106
+ if (this.timeoutHandle) {
107
+ clearTimeout(this.timeoutHandle);
108
+ this.timeoutHandle = null;
109
+ }
110
+ }
111
+ // Always update lastPongAt on activity
112
+ this.state.lastPongAt = Date.now();
113
+ // Emit recovered if we had missed pongs before (same behavior as handlePong)
114
+ // This ensures ResilientProcessHandle._isHealthy returns to true
115
+ if (previousMissed > 0) {
116
+ this.emit("heartbeat:recovered", {
117
+ missedCount: previousMissed,
118
+ });
119
+ }
120
+ }
121
+ }
122
+ /**
123
+ * Handle incoming pong notification.
124
+ * Should be called by the channel when `__heartbeat_pong__` is received.
125
+ *
126
+ * @param params - The pong notification parameters
127
+ */
128
+ handlePong(params) {
129
+ const { pendingPing } = this.state;
130
+ // Ignore if no ping is pending or seq doesn't match
131
+ if (!pendingPing || params.seq !== pendingPing.seq) {
132
+ return;
133
+ }
134
+ // Clear timeout
135
+ if (this.timeoutHandle) {
136
+ clearTimeout(this.timeoutHandle);
137
+ this.timeoutHandle = null;
138
+ }
139
+ // Calculate latency and update state
140
+ const latencyMs = Date.now() - pendingPing.sentAt;
141
+ this.state.pendingPing = null;
142
+ const previousMissed = this.state.consecutiveMissed;
143
+ this.state.consecutiveMissed = 0;
144
+ this.state.lastPongAt = Date.now();
145
+ this.emit("heartbeat:pong", {
146
+ seq: params.seq,
147
+ latencyMs,
148
+ ...(params.load !== undefined && { load: params.load }),
149
+ });
150
+ // Emit recovered if we had missed pongs before
151
+ if (previousMissed > 0) {
152
+ this.emit("heartbeat:recovered", {
153
+ missedCount: previousMissed,
154
+ });
155
+ }
156
+ }
157
+ /**
158
+ * Get current heartbeat state (readonly).
159
+ */
160
+ getState() {
161
+ return { ...this.state };
162
+ }
163
+ /**
164
+ * Get current options (readonly).
165
+ */
166
+ getOptions() {
167
+ return { ...this.options };
168
+ }
169
+ /**
170
+ * Check if heartbeat is currently running.
171
+ */
172
+ isRunning() {
173
+ return this.state.isRunning;
174
+ }
175
+ /**
176
+ * Reset state for restart scenarios.
177
+ * Clears timers and resets all counters.
178
+ */
179
+ reset() {
180
+ this.clearTimers();
181
+ this.state = {
182
+ seq: 0,
183
+ lastPongAt: null,
184
+ consecutiveMissed: 0,
185
+ isRunning: false,
186
+ pendingPing: null,
187
+ };
188
+ }
189
+ /**
190
+ * Sends a heartbeat ping notification.
191
+ */
192
+ sendPing() {
193
+ // Don't send new ping if one is already pending
194
+ if (this.state.pendingPing) {
195
+ return;
196
+ }
197
+ const seq = ++this.state.seq;
198
+ const timestamp = Date.now();
199
+ this.state.pendingPing = { seq, sentAt: timestamp };
200
+ // Send ping notification (fire-and-forget)
201
+ const params = { timestamp, seq };
202
+ this.channel.notify(ReservedMethods.HEARTBEAT_PING, params).catch(() => {
203
+ // If we can't even send, treat as missed
204
+ this.handleMissed();
205
+ });
206
+ // Schedule timeout check
207
+ this.timeoutHandle = setTimeout(() => {
208
+ if (this.state.pendingPing?.seq === seq) {
209
+ this.handleMissed();
210
+ }
211
+ }, this.options.timeout);
212
+ }
213
+ /**
214
+ * Handles a missed pong (timeout or send failure).
215
+ */
216
+ handleMissed() {
217
+ const seq = this.state.pendingPing?.seq ?? this.state.seq;
218
+ // Clear pending state
219
+ this.state.pendingPing = null;
220
+ if (this.timeoutHandle) {
221
+ clearTimeout(this.timeoutHandle);
222
+ this.timeoutHandle = null;
223
+ }
224
+ // Increment missed counter
225
+ this.state.consecutiveMissed++;
226
+ this.emit("heartbeat:missed", {
227
+ seq,
228
+ missedCount: this.state.consecutiveMissed,
229
+ });
230
+ // Check if dead threshold reached
231
+ if (this.state.consecutiveMissed >= this.options.maxMissed) {
232
+ this.emit("heartbeat:dead", {
233
+ missedCount: this.state.consecutiveMissed,
234
+ lastPongAt: this.state.lastPongAt,
235
+ });
236
+ }
237
+ }
238
+ /**
239
+ * Clears all active timers.
240
+ */
241
+ clearTimers() {
242
+ if (this.intervalHandle) {
243
+ clearInterval(this.intervalHandle);
244
+ this.intervalHandle = null;
245
+ }
246
+ if (this.timeoutHandle) {
247
+ clearTimeout(this.timeoutHandle);
248
+ this.timeoutHandle = null;
249
+ }
250
+ }
251
+ }
252
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/heartbeat/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Heartbeat manager types.
3
+ *
4
+ * @packageDocumentation
5
+ * @module Heartbeat
6
+ */
7
+ import type { WorkerLoad } from "../protocol/reserved-types.js";
8
+ import type { EventMap } from "../utils/events.js";
9
+ /**
10
+ * Configuration options for HeartbeatManager.
11
+ */
12
+ export interface HeartbeatOptions {
13
+ /**
14
+ * Enable heartbeat monitoring.
15
+ * @default true
16
+ */
17
+ enabled: boolean;
18
+ /**
19
+ * Interval between heartbeat pings in milliseconds.
20
+ * @default 30000
21
+ */
22
+ interval: number;
23
+ /**
24
+ * Timeout waiting for pong response in milliseconds.
25
+ * @default 5000
26
+ */
27
+ timeout: number;
28
+ /**
29
+ * Number of consecutive missed pongs before declaring worker dead.
30
+ * @default 3
31
+ */
32
+ maxMissed: number;
33
+ /**
34
+ * Treat any successful request/response as implicit heartbeat.
35
+ * Resets missed counter on activity.
36
+ * @default true
37
+ */
38
+ implicitHeartbeat: boolean;
39
+ }
40
+ /**
41
+ * Internal state of the HeartbeatManager.
42
+ */
43
+ export interface HeartbeatState {
44
+ /** Current sequence number */
45
+ seq: number;
46
+ /** Timestamp of last successful pong */
47
+ lastPongAt: number | null;
48
+ /** Number of consecutive missed pongs */
49
+ consecutiveMissed: number;
50
+ /** Whether heartbeat is currently running */
51
+ isRunning: boolean;
52
+ /** Pending ping awaiting pong */
53
+ pendingPing: {
54
+ seq: number;
55
+ sentAt: number;
56
+ } | null;
57
+ }
58
+ /**
59
+ * Event map for HeartbeatManager events.
60
+ */
61
+ export interface HeartbeatEventMap extends EventMap {
62
+ /**
63
+ * Emitted when a pong is received.
64
+ */
65
+ "heartbeat:pong": {
66
+ seq: number;
67
+ latencyMs: number;
68
+ load?: WorkerLoad;
69
+ };
70
+ /**
71
+ * Emitted when a pong times out.
72
+ */
73
+ "heartbeat:missed": {
74
+ seq: number;
75
+ missedCount: number;
76
+ };
77
+ /**
78
+ * Emitted when heartbeat recovers after missed pongs.
79
+ */
80
+ "heartbeat:recovered": {
81
+ missedCount: number;
82
+ };
83
+ /**
84
+ * Emitted when worker is declared dead (maxMissed reached).
85
+ */
86
+ "heartbeat:dead": {
87
+ missedCount: number;
88
+ lastPongAt: number | null;
89
+ };
90
+ /**
91
+ * Emitted when heartbeat starts.
92
+ */
93
+ "heartbeat:start": undefined;
94
+ /**
95
+ * Emitted when heartbeat stops.
96
+ */
97
+ "heartbeat:stop": undefined;
98
+ }
99
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/heartbeat/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IAEZ,wCAAwC;IACxC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAE1B,6CAA6C;IAC7C,SAAS,EAAE,OAAO,CAAC;IAEnB,iCAAiC;IACjC,WAAW,EAAE;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,IAAI,CAAC;CACV;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD;;OAEG;IACH,gBAAgB,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,UAAU,CAAC;KACnB,CAAC;IAEF;;OAEG;IACH,kBAAkB,EAAE;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF;;OAEG;IACH,qBAAqB,EAAE;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF;;OAEG;IACH,gBAAgB,EAAE;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC;IAEF;;OAEG;IACH,iBAAiB,EAAE,SAAS,CAAC;IAE7B;;OAEG;IACH,gBAAgB,EAAE,SAAS,CAAC;CAC7B"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Heartbeat manager types.
3
+ *
4
+ * @packageDocumentation
5
+ * @module Heartbeat
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/heartbeat/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/dist/index.d.ts CHANGED
@@ -23,5 +23,9 @@ export * from "./serialization/index.js";
23
23
  export * from "./protocol/index.js";
24
24
  export * from "./channel/index.js";
25
25
  export * from "./process/index.js";
26
+ export * from "./heartbeat/index.js";
27
+ export * from "./reconnect/index.js";
28
+ export * from "./shutdown/index.js";
29
+ export * from "./resilience/index.js";
26
30
  export * from "./utils/index.js";
27
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -24,6 +24,11 @@ export * from "./serialization/index.js";
24
24
  export * from "./protocol/index.js";
25
25
  export * from "./channel/index.js";
26
26
  export * from "./process/index.js";
27
+ // Resilience
28
+ export * from "./heartbeat/index.js";
29
+ export * from "./reconnect/index.js";
30
+ export * from "./shutdown/index.js";
31
+ export * from "./resilience/index.js";
27
32
  // Utilities
28
33
  export * from "./utils/index.js";
29
34
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,aAAa;AACb,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,YAAY;AACZ,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,aAAa;AACb,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,aAAa;AACb,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AAEtC,YAAY;AACZ,cAAc,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/process/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,IAAI,eAAe,EACjC,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EAGb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA8C3D;;;GAGG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,aAAa,CAAsC;gBAE/C,MAAM,GAAE,oBAAyB;IAgD7C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAQ5B;;OAEG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAiDvE;;OAEG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1C;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBnC;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAI5C;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAK9B;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACrC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/C,WAAW;IAId;;OAEG;YACW,iBAAiB;IA+D/B;;OAEG;YACW,cAAc;IAsC5B;;OAEG;YACW,cAAc;IAiB5B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,qBAAqB;YAef,mBAAmB;IAuBjC;;OAEG;YACW,mBAAmB;IAoDjC;;OAEG;YACW,gBAAgB;CAqD/B"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/process/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,IAAI,eAAe,EACjC,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EAGb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA8C3D;;;GAGG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,aAAa,CAAsC;gBAE/C,MAAM,GAAE,oBAAyB;IAmD7C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAQ5B;;OAEG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAiDvE;;OAEG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1C;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBnC;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAI5C;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAK9B;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACrC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/C,WAAW;IAId;;OAEG;YACW,iBAAiB;IA+D/B;;OAEG;YACW,cAAc;IAsC5B;;OAEG;YACW,cAAc;IAiB5B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,qBAAqB;YAef,mBAAmB;IAuBjC;;OAEG;YACW,mBAAmB;IAoDjC;;OAEG;YACW,gBAAgB;CAqD/B"}
@@ -35,7 +35,8 @@ export class ProcessManager {
35
35
  if (config.restartPolicy.backoffMs !== undefined && config.restartPolicy.backoffMs < 0) {
36
36
  throw new Error("ProcessManager: restartPolicy.backoffMs cannot be negative");
37
37
  }
38
- if (config.restartPolicy.maxBackoffMs !== undefined && config.restartPolicy.maxBackoffMs < 0) {
38
+ if (config.restartPolicy.maxBackoffMs !== undefined &&
39
+ config.restartPolicy.maxBackoffMs < 0) {
39
40
  throw new Error("ProcessManager: restartPolicy.maxBackoffMs cannot be negative");
40
41
  }
41
42
  }