elit 3.6.7 → 3.6.9

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 (42) hide show
  1. package/Cargo.lock +1 -1
  2. package/Cargo.toml +1 -1
  3. package/README.md +20 -1
  4. package/dist/cli.cjs +2777 -321
  5. package/dist/cli.mjs +2764 -308
  6. package/dist/config.d.ts +6 -6
  7. package/dist/{contracts-BeW9k0yZ.d.ts → contracts-_0p1-15U.d.ts} +1 -1
  8. package/dist/coverage.d.ts +1 -1
  9. package/dist/dev-build.d.ts +3 -3
  10. package/dist/http.cjs +160 -41
  11. package/dist/http.d.ts +5 -11
  12. package/dist/http.js +160 -41
  13. package/dist/http.mjs +160 -41
  14. package/dist/https.cjs +194 -46
  15. package/dist/https.d.ts +3 -6
  16. package/dist/https.js +194 -46
  17. package/dist/https.mjs +194 -46
  18. package/dist/pm-node-shared-listener-bootstrap.cjs +75 -0
  19. package/dist/pm.cjs +2390 -160
  20. package/dist/pm.d.ts +83 -8
  21. package/dist/pm.js +2388 -188
  22. package/dist/pm.mjs +2380 -165
  23. package/dist/preview-build.d.ts +3 -3
  24. package/dist/server.cjs +417 -168
  25. package/dist/server.d.ts +4 -4
  26. package/dist/server.js +453 -179
  27. package/dist/server.mjs +417 -168
  28. package/dist/smtp-server.js +37 -12
  29. package/dist/test-reporter.d.ts +1 -1
  30. package/dist/test-runtime.d.ts +1 -1
  31. package/dist/{types-tJn88E1N.d.ts → types-BayMVo_k.d.ts} +39 -3
  32. package/dist/{types-CIhpN1-K.d.ts → types-C70T-42Z.d.ts} +1 -1
  33. package/dist/{types-DAisuVr5.d.ts → types-DPOgoGs-.d.ts} +7 -1
  34. package/dist/{state-DvEkDehk.d.ts → types-fiLday0L.d.ts} +96 -92
  35. package/dist/types.d.ts +4 -0
  36. package/dist/{websocket-XfyK23zD.d.ts → websocket-BLBEAnhp.d.ts} +1 -1
  37. package/dist/ws.d.ts +3 -3
  38. package/dist/wss.cjs +194 -46
  39. package/dist/wss.d.ts +3 -3
  40. package/dist/wss.js +194 -46
  41. package/dist/wss.mjs +194 -46
  42. package/package.json +11 -6
package/dist/pm.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { l as PmRuntimeName, p as WapkRunConfig, k as PmRestartPolicy, m as WapkGoogleDriveConfig, i as PmConfig, P as PmAppConfig, E as ElitConfig } from './types-tJn88E1N.js';
2
- import './state-DvEkDehk.js';
3
- import './types-DAisuVr5.js';
1
+ import { P as PmRuntimeName, a as PmProxyStrategy, W as WapkRunConfig, b as PmProxyConfig, c as PmRestartPolicy, d as PmMemoryAction, e as WapkGoogleDriveConfig, f as PmConfig, g as PmAppConfig, E as ElitConfig } from './types-BayMVo_k.js';
2
+ import './types-fiLday0L.js';
3
+ import './types-DPOgoGs-.js';
4
4
  import 'node:events';
5
- import './websocket-XfyK23zD.js';
5
+ import './websocket-BLBEAnhp.js';
6
6
  import 'events';
7
7
  import 'http';
8
8
  import 'ws';
@@ -11,7 +11,7 @@ import './types-C4gKykuG.js';
11
11
  import 'net';
12
12
  import 'smtp-server';
13
13
  import './contracts-D7KIS-TK.js';
14
- import './contracts-BeW9k0yZ.js';
14
+ import './contracts-_0p1-15U.js';
15
15
 
16
16
  declare const DEFAULT_PM_DATA_DIR: string;
17
17
  declare const DEFAULT_PM_DUMP_FILE = "dump.json";
@@ -19,6 +19,7 @@ declare const DEFAULT_RESTART_DELAY = 1000;
19
19
  declare const DEFAULT_MAX_RESTARTS = 10;
20
20
  declare const DEFAULT_WATCH_DEBOUNCE = 250;
21
21
  declare const DEFAULT_MIN_UPTIME = 0;
22
+ declare const DEFAULT_PM_LISTEN_TIMEOUT = 3000;
22
23
  declare const DEFAULT_HEALTHCHECK_GRACE_PERIOD = 5000;
23
24
  declare const DEFAULT_HEALTHCHECK_INTERVAL = 10000;
24
25
  declare const DEFAULT_HEALTHCHECK_TIMEOUT = 3000;
@@ -26,6 +27,11 @@ declare const DEFAULT_HEALTHCHECK_MAX_FAILURES = 3;
26
27
  declare const DEFAULT_LOG_LINES = 40;
27
28
  declare const DEFAULT_PM_STOP_POLL_MS = 100;
28
29
  declare const DEFAULT_PM_STOP_GRACE_PERIOD_MS = 5000;
30
+ declare const DEFAULT_PM_KILL_TIMEOUT = 5000;
31
+ declare const DEFAULT_PM_EXP_BACKOFF_MAX_DELAY = 15000;
32
+ declare const DEFAULT_PM_MEMORY_CHECK_INTERVAL = 500;
33
+ declare const DEFAULT_PM_RESTART_WINDOW = 0;
34
+ declare const DEFAULT_PM_PROXY_STRATEGY: PmProxyStrategy;
29
35
  declare const PM_WAPK_ONLINE_STDIN_SHUTDOWN_ENV = "ELIT_PM_WAPK_ONLINE_STDIN_SHUTDOWN";
30
36
  declare const PM_WAPK_ONLINE_SHUTDOWN_COMMAND = "__ELIT_PM_WAPK_ONLINE_SHUTDOWN__";
31
37
  declare const PM_WAPK_ONLINE_SHUTDOWN_TIMEOUT_MS = 8000;
@@ -49,6 +55,9 @@ interface PmDumpFile {
49
55
  }
50
56
  interface PmSavedAppDefinition {
51
57
  name: string;
58
+ baseName: string;
59
+ instanceIndex: number;
60
+ instances: number;
52
61
  type: PmTargetType;
53
62
  cwd: string;
54
63
  runtime?: PmRuntimeName;
@@ -59,8 +68,18 @@ interface PmSavedAppDefinition {
59
68
  password?: string;
60
69
  wapkRun?: WapkRunConfig;
61
70
  restartPolicy: PmRestartPolicy;
71
+ maxMemoryBytes?: number;
72
+ memoryAction?: PmMemoryAction;
73
+ cronRestart?: string;
74
+ expBackoffRestartDelay?: number;
75
+ expBackoffRestartMaxDelay?: number;
76
+ restartWindow?: number;
77
+ waitReady: boolean;
78
+ listenTimeout: number;
62
79
  autorestart: boolean;
63
80
  restartDelay: number;
81
+ proxy?: PmProxyConfig;
82
+ killTimeout: number;
64
83
  maxRestarts: number;
65
84
  minUptime: number;
66
85
  watch: boolean;
@@ -79,11 +98,22 @@ interface ParsedPmStartArgs {
79
98
  runtime?: PmRuntimeName;
80
99
  cwd?: string;
81
100
  env: Record<string, string>;
101
+ instances?: number;
102
+ proxy?: Partial<PmProxyConfig>;
82
103
  autorestart?: boolean;
83
104
  restartDelay?: number;
105
+ killTimeout?: number;
84
106
  maxRestarts?: number;
85
107
  password?: string;
86
108
  restartPolicy?: PmRestartPolicy;
109
+ maxMemoryBytes?: number;
110
+ memoryAction?: PmMemoryAction;
111
+ cronRestart?: string;
112
+ expBackoffRestartDelay?: number;
113
+ expBackoffRestartMaxDelay?: number;
114
+ restartWindow?: number;
115
+ waitReady?: boolean;
116
+ listenTimeout?: number;
87
117
  minUptime?: number;
88
118
  watch?: boolean;
89
119
  watchPaths: string[];
@@ -97,6 +127,9 @@ interface ParsedPmStartArgs {
97
127
  }
98
128
  interface ResolvedPmAppDefinition {
99
129
  name: string;
130
+ baseName: string;
131
+ instanceIndex: number;
132
+ instances: number;
100
133
  type: PmTargetType;
101
134
  source: 'cli' | 'config';
102
135
  cwd: string;
@@ -108,9 +141,19 @@ interface ResolvedPmAppDefinition {
108
141
  wapkRun?: WapkRunConfig;
109
142
  autorestart: boolean;
110
143
  restartDelay: number;
144
+ proxy?: PmProxyConfig;
145
+ killTimeout: number;
111
146
  maxRestarts: number;
112
147
  password?: string;
113
148
  restartPolicy: PmRestartPolicy;
149
+ maxMemoryBytes?: number;
150
+ memoryAction?: PmMemoryAction;
151
+ cronRestart?: string;
152
+ expBackoffRestartDelay?: number;
153
+ expBackoffRestartMaxDelay?: number;
154
+ restartWindow?: number;
155
+ waitReady: boolean;
156
+ listenTimeout: number;
114
157
  minUptime: number;
115
158
  watch: boolean;
116
159
  watchPaths: string[];
@@ -121,6 +164,9 @@ interface ResolvedPmAppDefinition {
121
164
  interface PmRecord {
122
165
  id: string;
123
166
  name: string;
167
+ baseName: string;
168
+ instanceIndex: number;
169
+ instances: number;
124
170
  type: PmTargetType;
125
171
  source: 'cli' | 'config';
126
172
  cwd: string;
@@ -132,9 +178,20 @@ interface PmRecord {
132
178
  wapkRun?: WapkRunConfig;
133
179
  autorestart: boolean;
134
180
  restartDelay: number;
181
+ proxy?: PmProxyConfig;
182
+ proxyTargetPort?: number;
183
+ killTimeout: number;
135
184
  maxRestarts: number;
136
185
  password?: string;
137
186
  restartPolicy: PmRestartPolicy;
187
+ maxMemoryBytes?: number;
188
+ memoryAction?: PmMemoryAction;
189
+ cronRestart?: string;
190
+ expBackoffRestartDelay?: number;
191
+ expBackoffRestartMaxDelay?: number;
192
+ restartWindow?: number;
193
+ waitReady: boolean;
194
+ listenTimeout: number;
138
195
  minUptime: number;
139
196
  watch: boolean;
140
197
  watchPaths: string[];
@@ -151,8 +208,11 @@ interface PmRecord {
151
208
  runnerPid?: number;
152
209
  childPid?: number;
153
210
  restartCount: number;
211
+ reloadRequestedAt?: string;
212
+ lastRestartAt?: string;
154
213
  lastExitCode?: number;
155
214
  error?: string;
215
+ proxyReadyAt?: string;
156
216
  logFiles: {
157
217
  out: string;
158
218
  err: string;
@@ -169,6 +229,7 @@ interface BuiltPmCommand {
169
229
  args: string[];
170
230
  env?: Record<string, string>;
171
231
  shell?: boolean;
232
+ ipc?: boolean;
172
233
  runtime?: PmRuntimeName;
173
234
  preview: string;
174
235
  }
@@ -181,13 +242,16 @@ interface ParsedPmRunnerArgs {
181
242
  id: string;
182
243
  }
183
244
  interface PmRestartRequest {
184
- kind: 'watch' | 'health';
245
+ kind: 'watch' | 'health' | 'startup' | 'memory' | 'memory-stop' | 'cron';
185
246
  detail: string;
186
247
  }
187
248
 
188
249
  declare function normalizePmRuntime(value: unknown, optionName?: string): PmRuntimeName | undefined;
189
250
  declare function normalizePmRestartPolicy(value: unknown, optionName?: string): PmRestartPolicy | undefined;
251
+ declare function normalizePmMemoryAction(value: unknown, optionName?: string): PmMemoryAction | undefined;
252
+ declare function normalizePmProxyStrategy(value: unknown, optionName?: string): PmProxyStrategy | undefined;
190
253
  declare function normalizeIntegerOption(value: string, optionName: string, min?: number): number;
254
+ declare function normalizePmMemoryLimit(value: unknown, optionName?: string): number | undefined;
191
255
  declare function normalizeNonEmptyString(value: unknown): string | undefined;
192
256
  declare function hasPmGoogleDriveConfig(config: WapkGoogleDriveConfig | undefined): boolean;
193
257
  declare function isPmWapkOnlineRunConfig(config: WapkRunConfig | undefined): boolean;
@@ -216,6 +280,7 @@ declare function looksLikeManagedFile(value: string, cwd: string): boolean;
216
280
  declare function normalizeEnvMap(value: unknown): Record<string, string>;
217
281
  declare function parsePmEnvEntry(input: string): [string, string];
218
282
  declare function readRequiredValue(args: string[], index: number, optionName: string): string;
283
+ declare function normalizePmProxyConfig(value: unknown, optionName?: string): PmProxyConfig | undefined;
219
284
 
220
285
  declare function resolvePmPaths(config: PmConfig | undefined, workspaceRoot: string): PmPaths;
221
286
  declare function ensurePmDirectories(paths: PmPaths): void;
@@ -230,20 +295,30 @@ declare function normalizeResolvedWatchPaths(paths: string[], cwd: string, type:
230
295
  declare function normalizeResolvedWatchIgnorePaths(paths: string[], cwd: string): string[];
231
296
  declare function listPmRecordMatches(paths: PmPaths): PmRecordMatch[];
232
297
  declare function findPmRecordMatch(paths: PmPaths, nameOrId: string): PmRecordMatch | undefined;
298
+ declare function findPmGroupMatches(paths: PmPaths, baseName: string): PmRecordMatch[];
233
299
  declare function isProcessAlive(pid: number | undefined): boolean;
234
300
  declare function syncPmRecordLiveness(match: PmRecordMatch): PmRecordMatch;
235
301
  declare function readLatestPmRecord(filePath: string, fallback: PmRecord): PmRecord;
236
302
  declare function toPmAppConfig(record: PmRecord): PmAppConfig;
237
303
  declare function toSavedPmAppConfig(app: PmSavedAppDefinition): PmAppConfig;
238
304
 
305
+ declare function formatPmInstanceName(baseName: string, instanceIndex: number): string;
306
+ declare function expandPmInstanceDefinitions(definition: ResolvedPmAppDefinition, targetInstances?: number): ResolvedPmAppDefinition[];
239
307
  declare function resolvePmAppDefinition(base: PmAppConfig | undefined, parsed: ParsedPmStartArgs, workspaceRoot: string, source: 'cli' | 'config'): ResolvedPmAppDefinition;
240
308
  declare function resolvePmStartDefinitions(parsed: ParsedPmStartArgs, config: ElitConfig | null, workspaceRoot: string): ResolvedPmAppDefinition[];
241
309
  declare function parsePmStartArgs(args: string[]): ParsedPmStartArgs;
242
310
  declare function printPmHelp(): void;
243
311
 
312
+ declare function samplePmProcessMetrics(pid: number): {
313
+ cpuPercent?: number;
314
+ memoryRssBytes?: number;
315
+ };
244
316
  declare function isPmOnlineWapkRecord(record: Pick<PmRecord, 'type' | 'wapkRun'>): boolean;
245
317
  declare function buildPmCommand(record: PmRecord): BuiltPmCommand;
246
- declare function terminateProcessTree(pid: number): void;
318
+ declare function terminateProcessTree(pid: number, options?: {
319
+ force?: boolean;
320
+ }): void;
321
+ declare function sendPmSignal(pid: number, signal: NodeJS.Signals): void;
247
322
  declare function startManagedProcess(definition: ResolvedPmAppDefinition, paths: PmPaths): Promise<PmRecord>;
248
323
 
249
324
  declare function waitForProcessTermination(pid: number | undefined, timeoutMs: number): Promise<boolean>;
@@ -253,4 +328,4 @@ declare function stopPmMatches(matches: PmRecordMatch[]): Promise<number>;
253
328
 
254
329
  declare function runPmCommand(args: string[]): Promise<void>;
255
330
 
256
- export { type BuiltPmCommand, DEFAULT_HEALTHCHECK_GRACE_PERIOD, DEFAULT_HEALTHCHECK_INTERVAL, DEFAULT_HEALTHCHECK_MAX_FAILURES, DEFAULT_HEALTHCHECK_TIMEOUT, DEFAULT_LOG_LINES, DEFAULT_MAX_RESTARTS, DEFAULT_MIN_UPTIME, DEFAULT_PM_DATA_DIR, DEFAULT_PM_DUMP_FILE, DEFAULT_PM_STOP_GRACE_PERIOD_MS, DEFAULT_PM_STOP_POLL_MS, DEFAULT_RESTART_DELAY, DEFAULT_WATCH_DEBOUNCE, DEFAULT_WATCH_IGNORE, PM_RECORD_EXTENSION, PM_WAPK_ONLINE_SHUTDOWN_COMMAND, PM_WAPK_ONLINE_SHUTDOWN_TIMEOUT_MS, PM_WAPK_ONLINE_STDIN_SHUTDOWN_ENV, type ParsedPmRunnerArgs, type ParsedPmStartArgs, type PmDumpFile, type PmPaths, type PmRecord, type PmRecordMatch, type PmResolvedHealthCheck, type PmRestartRequest, type PmSavedAppDefinition, type PmStatus, type PmTargetType, type ResolvedPmAppDefinition, SIMPLE_PREVIEW_SEGMENT, SUPPORTED_FILE_EXTENSIONS, appendPmWapkRunArgs, buildGoogleDriveWapkSpecifier, buildPmCommand, buildPmWapkPreview, countDefinedPmWapkSources, deriveDefaultWatchPaths, ensurePmDirectories, findPmRecordMatch, getPmRecordPath, hasPmGoogleDriveConfig, hasPmWapkRunConfig, isIgnoredWatchPath, isPmOnlineWapkRecord, isPmWapkOnlineRunConfig, isProcessAlive, isRemoteWapkArchiveSpecifier, isTypescriptFile, isWapkArchiveSpecifier, listPmRecordMatches, looksLikeManagedFile, matchesGlobPattern, mergePmWapkRunConfig, normalizeEnvMap, normalizeHealthCheckConfig, normalizeIntegerOption, normalizeNonEmptyString, normalizePmRestartPolicy, normalizePmRuntime, normalizeResolvedWatchIgnorePaths, normalizeResolvedWatchPaths, normalizeStringArray, normalizeWatchIgnorePatterns, normalizeWatchPatterns, parsePmEnvEntry, parsePmStartArgs, printPmHelp, quoteCommandSegment, readLatestPmRecord, readPmDumpFile, readPmRecord, readRequiredValue, resolvePmAppDefinition, resolvePmPaths, resolvePmStartDefinitions, resolvePmWapkSource, resolvePmWapkSourceToken, runManagedProcessLoop, runPmCommand, runPmRunner, sanitizePmProcessName, startManagedProcess, stopPmMatches, stripPmWapkSourceFromRunConfig, syncPmRecordLiveness, terminateProcessTree, toPmAppConfig, toSavedAppDefinition, toSavedPmAppConfig, toWatchGlob, waitForProcessTermination, writePmDumpFile, writePmRecord };
331
+ export { type BuiltPmCommand, DEFAULT_HEALTHCHECK_GRACE_PERIOD, DEFAULT_HEALTHCHECK_INTERVAL, DEFAULT_HEALTHCHECK_MAX_FAILURES, DEFAULT_HEALTHCHECK_TIMEOUT, DEFAULT_LOG_LINES, DEFAULT_MAX_RESTARTS, DEFAULT_MIN_UPTIME, DEFAULT_PM_DATA_DIR, DEFAULT_PM_DUMP_FILE, DEFAULT_PM_EXP_BACKOFF_MAX_DELAY, DEFAULT_PM_KILL_TIMEOUT, DEFAULT_PM_LISTEN_TIMEOUT, DEFAULT_PM_MEMORY_CHECK_INTERVAL, DEFAULT_PM_PROXY_STRATEGY, DEFAULT_PM_RESTART_WINDOW, DEFAULT_PM_STOP_GRACE_PERIOD_MS, DEFAULT_PM_STOP_POLL_MS, DEFAULT_RESTART_DELAY, DEFAULT_WATCH_DEBOUNCE, DEFAULT_WATCH_IGNORE, PM_RECORD_EXTENSION, PM_WAPK_ONLINE_SHUTDOWN_COMMAND, PM_WAPK_ONLINE_SHUTDOWN_TIMEOUT_MS, PM_WAPK_ONLINE_STDIN_SHUTDOWN_ENV, type ParsedPmRunnerArgs, type ParsedPmStartArgs, type PmDumpFile, type PmPaths, type PmRecord, type PmRecordMatch, type PmResolvedHealthCheck, type PmRestartRequest, type PmSavedAppDefinition, type PmStatus, type PmTargetType, type ResolvedPmAppDefinition, SIMPLE_PREVIEW_SEGMENT, SUPPORTED_FILE_EXTENSIONS, appendPmWapkRunArgs, buildGoogleDriveWapkSpecifier, buildPmCommand, buildPmWapkPreview, countDefinedPmWapkSources, deriveDefaultWatchPaths, ensurePmDirectories, expandPmInstanceDefinitions, findPmGroupMatches, findPmRecordMatch, formatPmInstanceName, getPmRecordPath, hasPmGoogleDriveConfig, hasPmWapkRunConfig, isIgnoredWatchPath, isPmOnlineWapkRecord, isPmWapkOnlineRunConfig, isProcessAlive, isRemoteWapkArchiveSpecifier, isTypescriptFile, isWapkArchiveSpecifier, listPmRecordMatches, looksLikeManagedFile, matchesGlobPattern, mergePmWapkRunConfig, normalizeEnvMap, normalizeHealthCheckConfig, normalizeIntegerOption, normalizeNonEmptyString, normalizePmMemoryAction, normalizePmMemoryLimit, normalizePmProxyConfig, normalizePmProxyStrategy, normalizePmRestartPolicy, normalizePmRuntime, normalizeResolvedWatchIgnorePaths, normalizeResolvedWatchPaths, normalizeStringArray, normalizeWatchIgnorePatterns, normalizeWatchPatterns, parsePmEnvEntry, parsePmStartArgs, printPmHelp, quoteCommandSegment, readLatestPmRecord, readPmDumpFile, readPmRecord, readRequiredValue, resolvePmAppDefinition, resolvePmPaths, resolvePmStartDefinitions, resolvePmWapkSource, resolvePmWapkSourceToken, runManagedProcessLoop, runPmCommand, runPmRunner, samplePmProcessMetrics, sanitizePmProcessName, sendPmSignal, startManagedProcess, stopPmMatches, stripPmWapkSourceFromRunConfig, syncPmRecordLiveness, terminateProcessTree, toPmAppConfig, toSavedAppDefinition, toSavedPmAppConfig, toWatchGlob, waitForProcessTermination, writePmDumpFile, writePmRecord };