@zincapp/zn-vault-agent 1.3.1 → 1.5.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.
- package/README.md +149 -10
- package/dist/commands/certs.d.ts +1 -1
- package/dist/commands/certs.d.ts.map +1 -1
- package/dist/commands/exec.d.ts +1 -1
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/exec.js +12 -79
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/login.d.ts +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/secrets.d.ts +1 -1
- package/dist/commands/secrets.d.ts.map +1 -1
- package/dist/commands/setup.d.ts +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/start.d.ts +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +84 -3
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/sync.d.ts +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/lib/api.d.ts +19 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +22 -9
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/config.d.ts +27 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +10 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/deployer.js +1 -1
- package/dist/lib/deployer.js.map +1 -1
- package/dist/lib/health.d.ts +6 -0
- package/dist/lib/health.d.ts.map +1 -1
- package/dist/lib/health.js +26 -1
- package/dist/lib/health.js.map +1 -1
- package/dist/lib/logger.js +1 -1
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/metrics.js +5 -5
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/secret-env.d.ts +58 -0
- package/dist/lib/secret-env.d.ts.map +1 -0
- package/dist/lib/secret-env.js +167 -0
- package/dist/lib/secret-env.js.map +1 -0
- package/dist/lib/websocket.d.ts +5 -1
- package/dist/lib/websocket.d.ts.map +1 -1
- package/dist/lib/websocket.js +95 -16
- package/dist/lib/websocket.js.map +1 -1
- package/dist/services/child-process-manager.d.ts +97 -0
- package/dist/services/child-process-manager.d.ts.map +1 -0
- package/dist/services/child-process-manager.js +304 -0
- package/dist/services/child-process-manager.js.map +1 -0
- package/dist/services/npm-auto-update.d.ts +1 -1
- package/dist/services/npm-auto-update.d.ts.map +1 -1
- package/dist/services/npm-auto-update.js.map +1 -1
- package/dist/types/update.d.ts +1 -4
- package/dist/types/update.d.ts.map +1 -1
- package/dist/types/update.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { EventEmitter } from 'node:events';
|
|
2
|
+
import { type ExecConfig } from '../lib/config.js';
|
|
3
|
+
/**
|
|
4
|
+
* Child process status
|
|
5
|
+
*/
|
|
6
|
+
export type ChildProcessStatus = 'stopped' | 'starting' | 'running' | 'restarting' | 'crashed' | 'max_restarts_exceeded';
|
|
7
|
+
/**
|
|
8
|
+
* Child process state information for health endpoint
|
|
9
|
+
*/
|
|
10
|
+
export interface ChildProcessState {
|
|
11
|
+
status: ChildProcessStatus;
|
|
12
|
+
pid: number | null;
|
|
13
|
+
restartCount: number;
|
|
14
|
+
lastExitCode: number | null;
|
|
15
|
+
lastExitSignal: string | null;
|
|
16
|
+
lastExitTime: string | null;
|
|
17
|
+
lastStartTime: string | null;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Events emitted by ChildProcessManager
|
|
21
|
+
*/
|
|
22
|
+
export interface ChildProcessManagerEvents {
|
|
23
|
+
started: (pid: number) => void;
|
|
24
|
+
stopped: (code: number | null, signal: string | null) => void;
|
|
25
|
+
restarting: (reason: string) => void;
|
|
26
|
+
maxRestartsExceeded: () => void;
|
|
27
|
+
error: (error: Error) => void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Manages a child process with secrets as environment variables.
|
|
31
|
+
* Handles restart on changes, crash recovery with backoff, and signal forwarding.
|
|
32
|
+
*/
|
|
33
|
+
export declare class ChildProcessManager extends EventEmitter {
|
|
34
|
+
private child;
|
|
35
|
+
private readonly config;
|
|
36
|
+
private readonly mappings;
|
|
37
|
+
private isShuttingDown;
|
|
38
|
+
private restartCount;
|
|
39
|
+
private restartWindowStart;
|
|
40
|
+
private restartTimeout;
|
|
41
|
+
private status;
|
|
42
|
+
private lastExitCode;
|
|
43
|
+
private lastExitSignal;
|
|
44
|
+
private lastExitTime;
|
|
45
|
+
private lastStartTime;
|
|
46
|
+
private readonly signalHandlers;
|
|
47
|
+
constructor(execConfig: ExecConfig);
|
|
48
|
+
/**
|
|
49
|
+
* Start the child process
|
|
50
|
+
*/
|
|
51
|
+
start(): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Stop the child process gracefully
|
|
54
|
+
*/
|
|
55
|
+
stop(): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Restart the child process (e.g., after cert/secret change)
|
|
58
|
+
*/
|
|
59
|
+
restart(reason: string): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Get current process state for health endpoint
|
|
62
|
+
*/
|
|
63
|
+
getState(): ChildProcessState;
|
|
64
|
+
/**
|
|
65
|
+
* Check if process is in a healthy state
|
|
66
|
+
*/
|
|
67
|
+
isHealthy(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Check if process is in a degraded state (restarting or max restarts exceeded)
|
|
70
|
+
*/
|
|
71
|
+
isDegraded(): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Stop child without setting shutdown flag
|
|
74
|
+
*/
|
|
75
|
+
private stopChild;
|
|
76
|
+
/**
|
|
77
|
+
* Set up signal forwarding from parent to child
|
|
78
|
+
*/
|
|
79
|
+
private setupSignalForwarding;
|
|
80
|
+
/**
|
|
81
|
+
* Clean up signal handlers
|
|
82
|
+
*/
|
|
83
|
+
private cleanupSignalHandlers;
|
|
84
|
+
/**
|
|
85
|
+
* Set up event handlers for child process
|
|
86
|
+
*/
|
|
87
|
+
private setupChildEventHandlers;
|
|
88
|
+
/**
|
|
89
|
+
* Handle child process crash with rate limiting
|
|
90
|
+
*/
|
|
91
|
+
private handleCrash;
|
|
92
|
+
/**
|
|
93
|
+
* Reset restart counter (call after successful manual restart)
|
|
94
|
+
*/
|
|
95
|
+
resetRestartCount(): void;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=child-process-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-process-manager.d.ts","sourceRoot":"","sources":["../../src/services/child-process-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,EAAE,KAAK,UAAU,EAAuB,MAAM,kBAAkB,CAAC;AAIxE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,UAAU,GACV,SAAS,GACT,YAAY,GACZ,SAAS,GACT,uBAAuB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9D,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8F;IACrH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IACpE,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;gBAE5D,UAAU,EAAE,UAAU;IAsBlC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmD3B;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB5C;;OAEG;IACH,QAAQ,IAAI,iBAAiB;IAY7B;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;YACW,SAAS;IA+BvB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4B/B;;OAEG;IACH,OAAO,CAAC,WAAW;IA8CnB;;OAEG;IACH,iBAAiB,IAAI,IAAI;CAO1B"}
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
// Path: src/services/child-process-manager.ts
|
|
2
|
+
// Manages child process for combined daemon + exec mode
|
|
3
|
+
import { spawn } from 'node:child_process';
|
|
4
|
+
import { EventEmitter } from 'node:events';
|
|
5
|
+
import { logger } from '../lib/logger.js';
|
|
6
|
+
import { parseSecretMappingFromConfig, buildSecretEnv, } from '../lib/secret-env.js';
|
|
7
|
+
import { DEFAULT_EXEC_CONFIG } from '../lib/config.js';
|
|
8
|
+
const log = logger.child({ module: 'child-process-manager' });
|
|
9
|
+
/**
|
|
10
|
+
* Manages a child process with secrets as environment variables.
|
|
11
|
+
* Handles restart on changes, crash recovery with backoff, and signal forwarding.
|
|
12
|
+
*/
|
|
13
|
+
export class ChildProcessManager extends EventEmitter {
|
|
14
|
+
child = null;
|
|
15
|
+
config;
|
|
16
|
+
mappings;
|
|
17
|
+
isShuttingDown = false;
|
|
18
|
+
restartCount = 0;
|
|
19
|
+
restartWindowStart = 0;
|
|
20
|
+
restartTimeout = null;
|
|
21
|
+
status = 'stopped';
|
|
22
|
+
lastExitCode = null;
|
|
23
|
+
lastExitSignal = null;
|
|
24
|
+
lastExitTime = null;
|
|
25
|
+
lastStartTime = null;
|
|
26
|
+
signalHandlers = new Map();
|
|
27
|
+
constructor(execConfig) {
|
|
28
|
+
super();
|
|
29
|
+
// Merge with defaults
|
|
30
|
+
this.config = {
|
|
31
|
+
...DEFAULT_EXEC_CONFIG,
|
|
32
|
+
...execConfig,
|
|
33
|
+
};
|
|
34
|
+
// Parse secret mappings from config format
|
|
35
|
+
this.mappings = this.config.secrets.map(parseSecretMappingFromConfig);
|
|
36
|
+
log.debug({
|
|
37
|
+
command: this.config.command,
|
|
38
|
+
secretCount: this.config.secrets.length,
|
|
39
|
+
restartOnChange: this.config.restartOnChange,
|
|
40
|
+
}, 'ChildProcessManager initialized');
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Start the child process
|
|
44
|
+
*/
|
|
45
|
+
async start() {
|
|
46
|
+
if (this.child) {
|
|
47
|
+
log.warn('Child process already running, ignoring start request');
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (this.isShuttingDown) {
|
|
51
|
+
log.warn('Manager is shutting down, ignoring start request');
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
this.status = 'starting';
|
|
55
|
+
log.info({ command: this.config.command.join(' ') }, 'Starting child process');
|
|
56
|
+
try {
|
|
57
|
+
// Fetch secrets and build environment
|
|
58
|
+
const secretEnv = await buildSecretEnv(this.mappings);
|
|
59
|
+
const env = this.config.inheritEnv
|
|
60
|
+
? { ...process.env, ...secretEnv }
|
|
61
|
+
: secretEnv;
|
|
62
|
+
// Spawn the child process
|
|
63
|
+
const [cmd, ...args] = this.config.command;
|
|
64
|
+
this.child = spawn(cmd, args, {
|
|
65
|
+
env,
|
|
66
|
+
stdio: 'inherit',
|
|
67
|
+
shell: process.platform === 'win32',
|
|
68
|
+
});
|
|
69
|
+
this.lastStartTime = new Date().toISOString();
|
|
70
|
+
this.status = 'running';
|
|
71
|
+
this.setupSignalForwarding();
|
|
72
|
+
this.setupChildEventHandlers();
|
|
73
|
+
log.info({ pid: this.child.pid }, 'Child process started');
|
|
74
|
+
this.emit('started', this.child.pid);
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
this.status = 'crashed';
|
|
78
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
79
|
+
log.error({ err: error }, 'Failed to start child process');
|
|
80
|
+
this.emit('error', error);
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Stop the child process gracefully
|
|
86
|
+
*/
|
|
87
|
+
async stop() {
|
|
88
|
+
this.isShuttingDown = true;
|
|
89
|
+
// Clear any pending restart
|
|
90
|
+
if (this.restartTimeout) {
|
|
91
|
+
clearTimeout(this.restartTimeout);
|
|
92
|
+
this.restartTimeout = null;
|
|
93
|
+
}
|
|
94
|
+
// Remove signal handlers
|
|
95
|
+
this.cleanupSignalHandlers();
|
|
96
|
+
if (!this.child) {
|
|
97
|
+
this.status = 'stopped';
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const childToStop = this.child;
|
|
101
|
+
log.info({ pid: childToStop.pid }, 'Stopping child process');
|
|
102
|
+
await new Promise((resolve) => {
|
|
103
|
+
const child = childToStop;
|
|
104
|
+
// Set up exit handler
|
|
105
|
+
const onExit = () => {
|
|
106
|
+
this.child = null;
|
|
107
|
+
this.status = 'stopped';
|
|
108
|
+
resolve();
|
|
109
|
+
};
|
|
110
|
+
// If already dead
|
|
111
|
+
if (child.exitCode !== null || child.signalCode !== null) {
|
|
112
|
+
onExit();
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
child.once('exit', onExit);
|
|
116
|
+
// Send SIGTERM first
|
|
117
|
+
child.kill('SIGTERM');
|
|
118
|
+
// Force kill after 10 seconds
|
|
119
|
+
setTimeout(() => {
|
|
120
|
+
if (this.child) {
|
|
121
|
+
log.warn({ pid: this.child.pid }, 'Child did not exit, sending SIGKILL');
|
|
122
|
+
this.child.kill('SIGKILL');
|
|
123
|
+
}
|
|
124
|
+
}, 10000);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Restart the child process (e.g., after cert/secret change)
|
|
129
|
+
*/
|
|
130
|
+
async restart(reason) {
|
|
131
|
+
if (this.isShuttingDown) {
|
|
132
|
+
log.warn('Manager is shutting down, ignoring restart request');
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (!this.config.restartOnChange) {
|
|
136
|
+
log.debug({ reason }, 'Restart requested but restartOnChange is disabled');
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
log.info({ reason }, 'Restarting child process');
|
|
140
|
+
this.status = 'restarting';
|
|
141
|
+
this.emit('restarting', reason);
|
|
142
|
+
// Stop current process
|
|
143
|
+
if (this.child) {
|
|
144
|
+
this.isShuttingDown = false; // Don't prevent restart
|
|
145
|
+
await this.stopChild();
|
|
146
|
+
}
|
|
147
|
+
// Start with fresh secrets
|
|
148
|
+
await this.start();
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Get current process state for health endpoint
|
|
152
|
+
*/
|
|
153
|
+
getState() {
|
|
154
|
+
return {
|
|
155
|
+
status: this.status,
|
|
156
|
+
pid: this.child?.pid ?? null,
|
|
157
|
+
restartCount: this.restartCount,
|
|
158
|
+
lastExitCode: this.lastExitCode,
|
|
159
|
+
lastExitSignal: this.lastExitSignal,
|
|
160
|
+
lastExitTime: this.lastExitTime,
|
|
161
|
+
lastStartTime: this.lastStartTime,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Check if process is in a healthy state
|
|
166
|
+
*/
|
|
167
|
+
isHealthy() {
|
|
168
|
+
return this.status === 'running';
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Check if process is in a degraded state (restarting or max restarts exceeded)
|
|
172
|
+
*/
|
|
173
|
+
isDegraded() {
|
|
174
|
+
return this.status === 'restarting' || this.status === 'max_restarts_exceeded';
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Stop child without setting shutdown flag
|
|
178
|
+
*/
|
|
179
|
+
async stopChild() {
|
|
180
|
+
const childToStop = this.child;
|
|
181
|
+
if (!childToStop)
|
|
182
|
+
return;
|
|
183
|
+
await new Promise((resolve) => {
|
|
184
|
+
const child = childToStop;
|
|
185
|
+
// Remove signal handlers during restart
|
|
186
|
+
this.cleanupSignalHandlers();
|
|
187
|
+
const onExit = () => {
|
|
188
|
+
this.child = null;
|
|
189
|
+
resolve();
|
|
190
|
+
};
|
|
191
|
+
if (child.exitCode !== null || child.signalCode !== null) {
|
|
192
|
+
onExit();
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
child.once('exit', onExit);
|
|
196
|
+
child.kill('SIGTERM');
|
|
197
|
+
setTimeout(() => {
|
|
198
|
+
if (this.child === child) {
|
|
199
|
+
child.kill('SIGKILL');
|
|
200
|
+
}
|
|
201
|
+
}, 5000);
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Set up signal forwarding from parent to child
|
|
206
|
+
*/
|
|
207
|
+
setupSignalForwarding() {
|
|
208
|
+
const signals = ['SIGINT', 'SIGTERM', 'SIGHUP'];
|
|
209
|
+
for (const signal of signals) {
|
|
210
|
+
const handler = () => {
|
|
211
|
+
if (this.child) {
|
|
212
|
+
log.debug({ signal, pid: this.child.pid }, 'Forwarding signal to child');
|
|
213
|
+
this.child.kill(signal);
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
this.signalHandlers.set(signal, handler);
|
|
217
|
+
process.on(signal, handler);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Clean up signal handlers
|
|
222
|
+
*/
|
|
223
|
+
cleanupSignalHandlers() {
|
|
224
|
+
for (const [signal, handler] of this.signalHandlers) {
|
|
225
|
+
process.off(signal, handler);
|
|
226
|
+
}
|
|
227
|
+
this.signalHandlers.clear();
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Set up event handlers for child process
|
|
231
|
+
*/
|
|
232
|
+
setupChildEventHandlers() {
|
|
233
|
+
if (!this.child)
|
|
234
|
+
return;
|
|
235
|
+
this.child.on('exit', (code, signal) => {
|
|
236
|
+
this.lastExitCode = code;
|
|
237
|
+
this.lastExitSignal = signal?.toString() ?? null;
|
|
238
|
+
this.lastExitTime = new Date().toISOString();
|
|
239
|
+
log.info({ code, signal, pid: this.child?.pid }, 'Child process exited');
|
|
240
|
+
this.emit('stopped', code, signal?.toString() ?? null);
|
|
241
|
+
this.child = null;
|
|
242
|
+
this.cleanupSignalHandlers();
|
|
243
|
+
// Handle crash recovery if not shutting down
|
|
244
|
+
if (!this.isShuttingDown) {
|
|
245
|
+
this.handleCrash(code, signal?.toString() ?? null);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
this.status = 'stopped';
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
this.child.on('error', (err) => {
|
|
252
|
+
log.error({ err }, 'Child process error');
|
|
253
|
+
this.emit('error', err);
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Handle child process crash with rate limiting
|
|
258
|
+
*/
|
|
259
|
+
handleCrash(code, signal) {
|
|
260
|
+
const now = Date.now();
|
|
261
|
+
// Reset counter if outside restart window
|
|
262
|
+
if (now - this.restartWindowStart > this.config.restartWindowMs) {
|
|
263
|
+
this.restartCount = 0;
|
|
264
|
+
this.restartWindowStart = now;
|
|
265
|
+
}
|
|
266
|
+
this.restartCount++;
|
|
267
|
+
// Check if max restarts exceeded
|
|
268
|
+
if (this.restartCount > this.config.maxRestarts) {
|
|
269
|
+
log.error({
|
|
270
|
+
restartCount: this.restartCount,
|
|
271
|
+
maxRestarts: this.config.maxRestarts,
|
|
272
|
+
windowMs: this.config.restartWindowMs,
|
|
273
|
+
}, 'Max restarts exceeded, entering degraded state');
|
|
274
|
+
this.status = 'max_restarts_exceeded';
|
|
275
|
+
this.emit('maxRestartsExceeded');
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
// Schedule restart with delay
|
|
279
|
+
this.status = 'crashed';
|
|
280
|
+
log.info({
|
|
281
|
+
code,
|
|
282
|
+
signal,
|
|
283
|
+
restartCount: this.restartCount,
|
|
284
|
+
delayMs: this.config.restartDelayMs,
|
|
285
|
+
}, 'Child crashed, scheduling restart');
|
|
286
|
+
this.restartTimeout = setTimeout(() => {
|
|
287
|
+
this.restartTimeout = null;
|
|
288
|
+
this.start().catch((err) => {
|
|
289
|
+
log.error({ err }, 'Failed to restart child process');
|
|
290
|
+
});
|
|
291
|
+
}, this.config.restartDelayMs);
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Reset restart counter (call after successful manual restart)
|
|
295
|
+
*/
|
|
296
|
+
resetRestartCount() {
|
|
297
|
+
this.restartCount = 0;
|
|
298
|
+
this.restartWindowStart = Date.now();
|
|
299
|
+
if (this.status === 'max_restarts_exceeded') {
|
|
300
|
+
this.status = 'stopped';
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
//# sourceMappingURL=child-process-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-process-manager.js","sourceRoot":"","sources":["../../src/services/child-process-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { UpdateConfig, NpmVersionInfo } from '../types/update.js';
|
|
|
2
2
|
export declare class NpmAutoUpdateService {
|
|
3
3
|
private checkInterval;
|
|
4
4
|
private initialCheckTimeout;
|
|
5
|
-
private config;
|
|
5
|
+
private readonly config;
|
|
6
6
|
constructor(config?: Partial<UpdateConfig>);
|
|
7
7
|
/**
|
|
8
8
|
* Start the auto-update service.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-auto-update.d.ts","sourceRoot":"","sources":["../../src/services/npm-auto-update.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAOvE,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,MAAM,CAAe;
|
|
1
|
+
{"version":3,"file":"npm-auto-update.d.ts","sourceRoot":"","sources":["../../src/services/npm-auto-update.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAOvE,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IAI9C;;;OAGG;IACH,KAAK,IAAI,IAAI;IA0Bb;;OAEG;IACH,IAAI,IAAI,IAAI;IAYZ;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,cAAc,CAAC;IAUhD;;OAEG;YACW,cAAc;IAgC5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;YACW,gBAAgB;IAa9B;;;OAGG;IACH,OAAO,CAAC,OAAO;IAcf;;;OAGG;IACH,OAAO,CAAC,WAAW;IAsBnB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;YACW,aAAa;IAiB3B;;;OAGG;IACH,OAAO,CAAC,cAAc;CAOvB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,CAuB/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-auto-update.js","sourceRoot":"","sources":["../../src/services/npm-auto-update.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAClC,MAAM,SAAS,GAAG,qCAAqC,CAAC;AACxD,MAAM,YAAY,GAAG,yBAAyB,CAAC;AAE/C,MAAM,OAAO,oBAAoB;IACvB,aAAa,GAA0B,IAAI,CAAC;IAC5C,mBAAmB,GAA0B,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"npm-auto-update.js","sourceRoot":"","sources":["../../src/services/npm-auto-update.ts"],"names":[],"mappings":"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"}
|
package/dist/types/update.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Replaces the complex S3/GPG update system (~170 lines) with
|
|
5
|
-
* a simple npm-based approach (~30 lines).
|
|
2
|
+
* Update Types for npm-based Auto-Update
|
|
6
3
|
*/
|
|
7
4
|
export interface NpmVersionInfo {
|
|
8
5
|
current: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/types/update.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/types/update.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,eAAO,MAAM,qBAAqB,EAAE,YAInC,CAAC"}
|
package/dist/types/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/types/update.ts"],"names":[],"mappings":"AAAA,2CAA2C;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/types/update.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAoB3C,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;IAC5C,OAAO,EAAE,QAAQ;CAClB,CAAC"}
|