@inoceanlee/brc 2.1.1 → 2.1.2

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 (99) hide show
  1. package/dist/cli.js +68 -16
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/setup.d.ts +14 -0
  4. package/dist/commands/setup.js +57 -0
  5. package/dist/commands/setup.js.map +1 -0
  6. package/dist/config/manager.js +16 -8
  7. package/dist/config/manager.js.map +1 -1
  8. package/dist/config/settings.d.ts +5 -1
  9. package/dist/config/settings.js +5 -1
  10. package/dist/config/settings.js.map +1 -1
  11. package/dist/lifecycle/identity.d.ts +8 -0
  12. package/dist/lifecycle/identity.js +126 -0
  13. package/dist/lifecycle/identity.js.map +1 -0
  14. package/dist/lifecycle/lock-store.d.ts +28 -0
  15. package/dist/lifecycle/lock-store.js +204 -0
  16. package/dist/lifecycle/lock-store.js.map +1 -0
  17. package/dist/lifecycle/lock.d.ts +12 -3
  18. package/dist/lifecycle/lock.js +50 -74
  19. package/dist/lifecycle/lock.js.map +1 -1
  20. package/dist/lifecycle/processes.d.ts +5 -7
  21. package/dist/lifecycle/processes.js +106 -108
  22. package/dist/lifecycle/processes.js.map +1 -1
  23. package/dist/lifecycle/services.d.ts +1 -0
  24. package/dist/lifecycle/services.js +2 -5
  25. package/dist/lifecycle/services.js.map +1 -1
  26. package/dist/maintenance/cleanup.js +177 -71
  27. package/dist/maintenance/cleanup.js.map +1 -1
  28. package/dist/native/win32-x64/brc-process.exe +0 -0
  29. package/dist/progress.d.ts +29 -0
  30. package/dist/progress.js +159 -0
  31. package/dist/progress.js.map +1 -0
  32. package/dist/services/agent/cli.js +1 -2
  33. package/dist/services/agent/cli.js.map +1 -1
  34. package/dist/services/agent/core/config-field-definitions.d.ts +1 -0
  35. package/dist/services/agent/core/config-field-definitions.js +36 -0
  36. package/dist/services/agent/core/config-field-definitions.js.map +1 -1
  37. package/dist/services/agent/core/config-manager.d.ts +3 -5
  38. package/dist/services/agent/core/config-manager.js +64 -109
  39. package/dist/services/agent/core/config-manager.js.map +1 -1
  40. package/dist/services/agent/core/config-storage.d.ts +11 -0
  41. package/dist/services/agent/core/config-storage.js +66 -0
  42. package/dist/services/agent/core/config-storage.js.map +1 -0
  43. package/dist/services/agent/core/config.d.ts +5 -0
  44. package/dist/services/agent/core/config.js +5 -1
  45. package/dist/services/agent/core/config.js.map +1 -1
  46. package/dist/services/agent/core/handlers/filesystem-handlers.js +3 -2
  47. package/dist/services/agent/core/handlers/filesystem-handlers.js.map +1 -1
  48. package/dist/services/agent/core/tools/config.d.ts +3 -1
  49. package/dist/services/agent/core/tools/config.js +5 -66
  50. package/dist/services/agent/core/tools/config.js.map +1 -1
  51. package/dist/services/agent/core/tools/edit.js +2 -1
  52. package/dist/services/agent/core/tools/edit.js.map +1 -1
  53. package/dist/services/agent/core/tools/filesystem.js +15 -21
  54. package/dist/services/agent/core/tools/filesystem.js.map +1 -1
  55. package/dist/services/agent/core/tools/improved-process-tools.js +3 -2
  56. package/dist/services/agent/core/tools/improved-process-tools.js.map +1 -1
  57. package/dist/services/agent/core/tools/schemas.d.ts +2 -2
  58. package/dist/services/agent/core/tools/schemas.js +1 -1
  59. package/dist/services/agent/core/tools/schemas.js.map +1 -1
  60. package/dist/services/agent/core/utils/files/text-reader.d.ts +31 -0
  61. package/dist/services/agent/core/utils/files/text-reader.js +261 -0
  62. package/dist/services/agent/core/utils/files/text-reader.js.map +1 -0
  63. package/dist/services/agent/core/utils/files/text.d.ts +1 -25
  64. package/dist/services/agent/core/utils/files/text.js +6 -245
  65. package/dist/services/agent/core/utils/files/text.js.map +1 -1
  66. package/dist/services/agent/core/utils/fuzzySearchLogger.js +2 -2
  67. package/dist/services/agent/core/utils/fuzzySearchLogger.js.map +1 -1
  68. package/dist/services/agent/core/utils/toolHistory.d.ts +2 -1
  69. package/dist/services/agent/core/utils/toolHistory.js +65 -79
  70. package/dist/services/agent/core/utils/toolHistory.js.map +1 -1
  71. package/dist/services/agent/core/utils/toolHistoryStorage.d.ts +11 -0
  72. package/dist/services/agent/core/utils/toolHistoryStorage.js +135 -0
  73. package/dist/services/agent/core/utils/toolHistoryStorage.js.map +1 -0
  74. package/dist/services/agent/dispatcher.js +3 -5
  75. package/dist/services/agent/dispatcher.js.map +1 -1
  76. package/dist/services/agent/service.js +2 -1
  77. package/dist/services/agent/service.js.map +1 -1
  78. package/dist/services/agent/transport/pairing.js +24 -24
  79. package/dist/services/agent/transport/pairing.js.map +1 -1
  80. package/dist/services/relay/store/sqlite.d.ts +1 -6
  81. package/dist/services/relay/store/sqlite.js +84 -84
  82. package/dist/services/relay/store/sqlite.js.map +1 -1
  83. package/dist/traefik/core.d.ts +17 -5
  84. package/dist/traefik/core.js +70 -64
  85. package/dist/traefik/core.js.map +1 -1
  86. package/dist/traefik/input.d.ts +6 -7
  87. package/dist/traefik/input.js +46 -88
  88. package/dist/traefik/input.js.map +1 -1
  89. package/dist/traefik/manager.d.ts +13 -0
  90. package/dist/traefik/manager.js +64 -24
  91. package/dist/traefik/manager.js.map +1 -1
  92. package/dist/traefik/output.d.ts +9 -11
  93. package/dist/traefik/output.js +112 -46
  94. package/dist/traefik/output.js.map +1 -1
  95. package/dist/traefik/runtime.d.ts +1 -1
  96. package/dist/traefik/runtime.js +4 -3
  97. package/dist/traefik/runtime.js.map +1 -1
  98. package/node_modules/brc-shared/package.json +1 -1
  99. package/package.json +2 -2
package/dist/cli.js CHANGED
@@ -3,10 +3,11 @@ import { existsSync, readdirSync, realpathSync } from 'node:fs';
3
3
  import path from 'node:path';
4
4
  import { pathToFileURL } from 'node:url';
5
5
  import { runConfigCommand } from './commands/config.js';
6
- import { requestAdministrator } from './commands/setup/input.js';
6
+ import { requestAdministrator } from './commands/setup.js';
7
7
  import { resolveBrcPaths } from './config/paths.js';
8
8
  import { SettingsManager } from './config/manager.js';
9
9
  import { readSettings } from './config/reader.js';
10
+ import { isBrcSettingKey, parseSettingArgument } from './config/settings.js';
10
11
  import { LifecycleLock } from './lifecycle/lock.js';
11
12
  import { ProcessManager } from './lifecycle/processes.js';
12
13
  import { createDefaultServices, ServiceManager } from './lifecycle/services.js';
@@ -15,6 +16,7 @@ import { createMaintenanceCommands } from './commands/maintenance.js';
15
16
  import { TraefikManager } from './traefik/manager.js';
16
17
  import { runManagedTraefikService } from './traefik/runtime.js';
17
18
  import { RelayDatabase } from './lifecycle/relay-database.js';
19
+ import { installProgressInterruptHandler, TraefikProgress } from './progress.js';
18
20
  const HELP_TEXT = [
19
21
  'BRC unified CLI',
20
22
  '',
@@ -162,6 +164,53 @@ function traefikSettingsChanged(previous, next) {
162
164
  }
163
165
  async function main() {
164
166
  const paths = resolveBrcPaths(process.env);
167
+ const args = process.argv.slice(2);
168
+ const [command, ...commandArgs] = args;
169
+ const configCommand = commandArgs[0] ?? '';
170
+ const invalidConfig = command === 'config' && ((['show', 'apply', 'path'].includes(configCommand) && commandArgs.length !== 1)
171
+ || (configCommand === 'get' && (commandArgs.length !== 2 || !isBrcSettingKey(commandArgs[1] ?? '')))
172
+ || (configCommand === 'set' && (commandArgs.length !== 3 || !isBrcSettingKey(commandArgs[1] ?? '')))
173
+ || !['show', 'apply', 'path', 'get', 'set'].includes(configCommand));
174
+ let invalidConfigValue = false;
175
+ if (command === 'config' && configCommand === 'set' && commandArgs.length === 3 && isBrcSettingKey(commandArgs[1])) {
176
+ try {
177
+ parseSettingArgument(commandArgs[1], commandArgs[2]);
178
+ }
179
+ catch {
180
+ invalidConfigValue = true;
181
+ }
182
+ }
183
+ const simpleCommands = ['setup', 'start', 'stop', 'restart', 'status', 'clean'];
184
+ const lightweight = command === 'help' || command === '-h' || command === '--help'
185
+ || invalidConfig
186
+ || invalidConfigValue
187
+ || (command !== undefined && !['setup', 'start', 'stop', 'restart', 'status', 'logs', 'config', 'update', 'clean', 'uninstall'].includes(command))
188
+ || (simpleCommands.includes(command ?? '') && commandArgs.length !== 0)
189
+ || (command === 'logs' && (commandArgs.length > 1 || (commandArgs[0] && !isLogComponent(commandArgs[0]))))
190
+ || (command === 'update' && (commandArgs.length !== 1 || commandArgs[0] !== 'traefik'))
191
+ || (command === 'uninstall' && (commandArgs.length > 1 || (commandArgs.length === 1 && commandArgs[0] !== '--yes')));
192
+ const clean = async (cleanPaths) => {
193
+ const { settings: cleanupSettings } = await readSettings(cleanPaths, process.env);
194
+ const report = await cleanRuntime(cleanPaths, { settings: cleanupSettings });
195
+ if (report.removed || report.failures.length || report.preserved.length) {
196
+ console.log(`BRC cleanup: removed ${report.removed} items, freed ${report.bytesRemoved} bytes.`);
197
+ for (const failure of report.failures)
198
+ console.error(`BRC cleanup failed: ${failure.path}: ${failure.reason}`);
199
+ for (const preserved of report.preserved)
200
+ console.error(`BRC cleanup preserved ${preserved.path}: ${preserved.reason}`);
201
+ }
202
+ };
203
+ if (lightweight) {
204
+ process.exitCode = await runCli(args, {
205
+ paths,
206
+ commands: { setup: unavailable, start: unavailable, stop: unavailable, restart: unavailable, status: unavailable,
207
+ logs: unavailable, config: (configArgs) => runConfigCommand(configArgs, { manager: undefined, paths, write: (message) => console.log(message) }), updateTraefik: unavailable, uninstall: unavailable },
208
+ clean,
209
+ write: (message) => console.log(message),
210
+ writeError: (message) => console.error(message),
211
+ });
212
+ return;
213
+ }
165
214
  const rootWasEmpty = !existsSync(paths.root) || readdirSync(paths.root).every((entry) => entry === 'runtime' && readdirSync(paths.runtime).length === 0);
166
215
  const lifecycleLock = new LifecycleLock(paths);
167
216
  let configTraefikManager;
@@ -176,11 +225,16 @@ async function main() {
176
225
  },
177
226
  });
178
227
  const settings = settingsManager.snapshot();
228
+ lifecycleLock.updateWaitSettings({ waitMs: settings.runtime.lockWaitMs, pollMs: settings.runtime.lockPollMs });
179
229
  const processes = new ProcessManager(paths, {
180
230
  startupTimeoutMs: settings.runtime.startupTimeoutMs,
181
231
  shutdownTimeoutMs: settings.runtime.shutdownTimeoutMs,
182
232
  });
183
- const loadSettings = async () => (await readSettings(paths, process.env)).settings;
233
+ const loadSettings = async () => {
234
+ const current = (await readSettings(paths, process.env)).settings;
235
+ lifecycleLock.updateWaitSettings({ waitMs: current.runtime.lockWaitMs, pollMs: current.runtime.lockPollMs });
236
+ return current;
237
+ };
184
238
  const refreshServices = async () => {
185
239
  const currentSettings = await loadSettings();
186
240
  processes.updateRuntimeSettings(currentSettings.runtime);
@@ -203,7 +257,8 @@ async function main() {
203
257
  return [current];
204
258
  });
205
259
  const maintenanceCommands = createMaintenanceCommands(paths, (message) => console.log(message), (message) => console.error(message), { stopServices: () => serviceManager.stop() });
206
- const traefikManager = new TraefikManager(paths, settings, traefikServiceManager, { loadSettings });
260
+ const progress = new TraefikProgress(process.stderr);
261
+ const traefikManager = new TraefikManager(paths, settings, traefikServiceManager, { loadSettings, reporter: (event) => progress.report(event) });
207
262
  configTraefikManager = traefikManager;
208
263
  const deps = {
209
264
  paths,
@@ -222,7 +277,7 @@ async function main() {
222
277
  relayDatabase.assertExists();
223
278
  await serviceManager.withLock(async (operations) => {
224
279
  const statuses = await serviceManager.status();
225
- const hasRunning = statuses.some((status) => status.state === 'running');
280
+ const hasRunning = statuses.some((status) => status.state === 'running' || status.state === 'pairing');
226
281
  const hasStopped = statuses.some((status) => status.state === 'stopped');
227
282
  if (hasRunning && hasStopped) {
228
283
  throw new Error('Cannot start a partially running service set; run brc restart to apply configuration safely.');
@@ -278,21 +333,18 @@ async function main() {
278
333
  },
279
334
  uninstall: maintenanceCommands.uninstall,
280
335
  },
281
- clean: async (cleanPaths) => {
282
- const { settings: cleanupSettings } = await readSettings(cleanPaths, process.env);
283
- const report = await cleanRuntime(cleanPaths, { settings: cleanupSettings });
284
- if (report.removed || report.failures.length || report.preserved.length) {
285
- console.log(`BRC cleanup: removed ${report.removed} items, freed ${report.bytesRemoved} bytes.`);
286
- for (const failure of report.failures)
287
- console.error(`BRC cleanup failed: ${failure.path}: ${failure.reason}`);
288
- for (const preserved of report.preserved)
289
- console.error(`BRC cleanup preserved ${preserved.path}: ${preserved.reason}`);
290
- }
291
- },
336
+ clean,
292
337
  write: (message) => console.log(message),
293
338
  writeError: (message) => console.error(message),
294
339
  };
295
- process.exitCode = await runCli(process.argv.slice(2), deps);
340
+ const removeInterruptHandler = installProgressInterruptHandler(progress);
341
+ try {
342
+ process.exitCode = await runCli(process.argv.slice(2), deps);
343
+ }
344
+ finally {
345
+ progress.stop();
346
+ removeInterruptHandler();
347
+ }
296
348
  }
297
349
  function isMainModule() {
298
350
  if (!process.argv[1])
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface AdministratorPrompt {
2
+ askUsername(): Promise<string>;
3
+ askHiddenPassword(label: string): Promise<string>;
4
+ }
5
+ /** Validate credentials before creating a persistent Relay identity. */
6
+ export declare function validateAdministratorPassword(password: string, confirmation?: string): void;
7
+ export declare function collectAdministratorCredentials(env: NodeJS.ProcessEnv, interactive: boolean, prompt: AdministratorPrompt): Promise<{
8
+ username: string;
9
+ password: string;
10
+ }>;
11
+ export declare function requestAdministrator(): Promise<{
12
+ username: string;
13
+ password: string;
14
+ }>;
@@ -0,0 +1,57 @@
1
+ import { createInterface } from 'node:readline/promises';
2
+ import { Writable } from 'node:stream';
3
+ /** Validate credentials before creating a persistent Relay identity. */
4
+ export function validateAdministratorPassword(password, confirmation) {
5
+ if (confirmation !== undefined && password !== confirmation) {
6
+ throw new Error('Administrator passwords do not match. Run brc setup again.');
7
+ }
8
+ if (password.length < 8) {
9
+ throw new Error('Administrator password must contain at least 8 characters.');
10
+ }
11
+ }
12
+ export async function collectAdministratorCredentials(env, interactive, prompt) {
13
+ const suppliedPassword = env.BRC_ADMIN_PASSWORD;
14
+ if (suppliedPassword === undefined && !interactive) {
15
+ throw new Error('First setup requires an interactive terminal to set the administrator password.');
16
+ }
17
+ let username = env.BRC_ADMIN_USER?.trim();
18
+ if (!username && interactive)
19
+ username = (await prompt.askUsername()).trim();
20
+ username ||= 'admin';
21
+ let password = suppliedPassword;
22
+ if (password === undefined) {
23
+ password = await prompt.askHiddenPassword('Administrator password (hidden): ');
24
+ const confirmation = await prompt.askHiddenPassword('Confirm administrator password (hidden): ');
25
+ validateAdministratorPassword(password, confirmation);
26
+ }
27
+ else {
28
+ validateAdministratorPassword(password);
29
+ }
30
+ return { username, password };
31
+ }
32
+ export async function requestAdministrator() {
33
+ return collectAdministratorCredentials(process.env, Boolean(process.stdin.isTTY && process.stdout.isTTY), {
34
+ async askUsername() {
35
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
36
+ try {
37
+ return await rl.question('Administrator username [admin]: ');
38
+ }
39
+ finally {
40
+ rl.close();
41
+ }
42
+ },
43
+ async askHiddenPassword(label) {
44
+ const silentOutput = new Writable({ write(_chunk, _encoding, done) { done(); } });
45
+ const rl = createInterface({ input: process.stdin, output: silentOutput, terminal: true });
46
+ try {
47
+ process.stdout.write(label);
48
+ return await rl.question('');
49
+ }
50
+ finally {
51
+ rl.close();
52
+ process.stdout.write('\n');
53
+ }
54
+ },
55
+ });
56
+ }
57
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -37,8 +37,8 @@ export class SettingsManager {
37
37
  throw new Error('SettingsManager requires a lifecycle lock and an apply operation.');
38
38
  }
39
39
  const runtimeEnv = { ...env };
40
- const initial = await dependencies.lock.runExclusive(async () => {
41
- let lastGood = await readLastGoodSettings(paths, runtimeEnv);
40
+ const readSnapshot = async () => {
41
+ const lastGood = await readLastGoodSettings(paths, runtimeEnv);
42
42
  let loaded;
43
43
  try {
44
44
  loaded = await readSettings(paths, runtimeEnv);
@@ -48,12 +48,20 @@ export class SettingsManager {
48
48
  throw error;
49
49
  loaded = lastGood ?? defaultSettings(runtimeEnv);
50
50
  }
51
- if (!lastGood && loaded.rawContents !== null) {
52
- await writeLastGoodText(paths, loaded.rawContents);
53
- lastGood = loaded;
54
- }
55
51
  return { loaded, lastGood };
56
- });
52
+ };
53
+ let initial = await readSnapshot();
54
+ // Normal reads do not mutate the filesystem and do not require the lifecycle lock.
55
+ if (!initial.lastGood && initial.loaded.rawContents !== null) {
56
+ initial = await dependencies.lock.runExclusive(async () => {
57
+ const current = await readSnapshot();
58
+ if (!current.lastGood && current.loaded.rawContents !== null) {
59
+ await writeLastGoodText(paths, current.loaded.rawContents);
60
+ return { ...current, lastGood: current.loaded };
61
+ }
62
+ return current;
63
+ });
64
+ }
57
65
  return new SettingsManager(paths, runtimeEnv, dependencies, initial.loaded, initial.lastGood);
58
66
  }
59
67
  get(key) {
@@ -66,7 +74,7 @@ export class SettingsManager {
66
74
  return BRC_SETTING_KEYS.map((key) => ({ ...this.get(key), key }));
67
75
  }
68
76
  snapshot() {
69
- return this.loaded.settings;
77
+ return structuredClone(this.loaded.settings);
70
78
  }
71
79
  async ensureConfigFile() {
72
80
  await this.dependencies.lock.runExclusive(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/config/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/config/manager.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,GAKjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,YAAY,GAEb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,aAAa,CAAC;AAerB,MAAM,eAAe,GAA6B;IAChD,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;CACrB,CAAC;AAEF,SAAS,SAAS,CAA0B,QAA+B,EAAE,GAAM;IACjF,IAAI,KAAK,GAAY,QAAQ,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,KAAK,GAAI,KAAiC,CAAC,IAAI,CAAC,CAAC;IACpF,OAAO,KAA4B,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,QAA+B,EAAE,IAA2B;IACnF,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,eAAe,CAAC,GAAsB;IAC7C,OAAO,EAAE,GAAG,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,OAAO,eAAe;IAEP;IACA;IACA;IACT;IACA;IALV,YACmB,KAAe,EACf,GAAsB,EACtB,YAAyC,EAClD,MAAsB,EACtB,QAA+B;QAJtB,UAAK,GAAL,KAAK,CAAU;QACf,QAAG,GAAH,GAAG,CAAmB;QACtB,iBAAY,GAAZ,YAAY,CAA6B;QAClD,WAAM,GAAN,MAAM,CAAgB;QACtB,aAAQ,GAAR,QAAQ,CAAuB;IACtC,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,KAAe,EACf,GAAsB,EACtB,YAAyC;QAEzC,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,UAAU,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;YAC9B,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAC/D,IAAI,MAAsB,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,6BAA6B,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACnE,MAAM,GAAG,QAAQ,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC;QACF,IAAI,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;QACnC,mFAAmF;QACnF,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC7D,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;gBACxD,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;oBAC7D,MAAM,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC3D,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAClD,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChG,CAAC;IAED,GAAG,CAA0B,GAAM;QACjC,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC;YAC3C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;SACjC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,QAAQ;QACN,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACnD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI;gBAAE,OAAO;YAC7C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACvE,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;YAC1D,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAID,KAAK,CAAC,GAAG,CAA0B,GAAM,EAAE,KAA0B;QACnE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;YAClG,IAAI,OAAuB,CAAC;YAC5B,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,6BAA6B;oBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACzF,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAChE,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC3B,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;YAClG,IAAI,IAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,6BAA6B;oBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACzF,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAChE,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI;oBAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;oBAC/D,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACxD,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAwB,EAAE,KAAc,EAAE,cAAc,GAAG,KAAK;QACrF,MAAM,QAAQ,GAAc,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBAClC,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACxD,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,cAAc,CAAC,QAAQ,EAAE,mDAAmD,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;CACF"}
@@ -22,6 +22,8 @@ export interface BrcSettings {
22
22
  runtime: {
23
23
  startupTimeoutMs: number;
24
24
  shutdownTimeoutMs: number;
25
+ lockWaitMs: number;
26
+ lockPollMs: number;
25
27
  };
26
28
  }
27
29
  export interface BrcSettingValues {
@@ -38,11 +40,13 @@ export interface BrcSettingValues {
38
40
  'logs.rotateMiB': number;
39
41
  'runtime.startupTimeoutMs': number;
40
42
  'runtime.shutdownTimeoutMs': number;
43
+ 'runtime.lockWaitMs': number;
44
+ 'runtime.lockPollMs': number;
41
45
  }
42
46
  export type BrcSettingKey = keyof BrcSettingValues;
43
47
  export type BrcSettingSource = 'environment' | 'file' | 'default';
44
48
  export type BrcSettingSources = Readonly<Record<BrcSettingKey, BrcSettingSource>>;
45
- export declare const BRC_SETTING_KEYS: readonly ["proxy.rate.average", "proxy.rate.period", "proxy.rate.burst", "proxy.concurrent", "services.relayPort", "services.proxyPort", "services.healthPort", "services.publicUrl", "logs.retentionDays", "logs.maxTotalMiB", "logs.rotateMiB", "runtime.startupTimeoutMs", "runtime.shutdownTimeoutMs"];
49
+ export declare const BRC_SETTING_KEYS: readonly ["proxy.rate.average", "proxy.rate.period", "proxy.rate.burst", "proxy.concurrent", "services.relayPort", "services.proxyPort", "services.healthPort", "services.publicUrl", "logs.retentionDays", "logs.maxTotalMiB", "logs.rotateMiB", "runtime.startupTimeoutMs", "runtime.shutdownTimeoutMs", "runtime.lockWaitMs", "runtime.lockPollMs"];
46
50
  export declare const SETTING_ENVIRONMENT_KEYS: Readonly<Record<BrcSettingKey, string>>;
47
51
  /** Internal health-check policy; independent from the user-controlled service startup deadline. */
48
52
  export declare const HEALTH_REQUEST_TIMEOUT_MS = 3000;
@@ -12,6 +12,8 @@ export const BRC_SETTING_KEYS = [
12
12
  'logs.rotateMiB',
13
13
  'runtime.startupTimeoutMs',
14
14
  'runtime.shutdownTimeoutMs',
15
+ 'runtime.lockWaitMs',
16
+ 'runtime.lockPollMs',
15
17
  ];
16
18
  export const SETTING_ENVIRONMENT_KEYS = Object.freeze({
17
19
  'proxy.rate.average': 'BRC_PROXY_RATE_AVERAGE',
@@ -27,6 +29,8 @@ export const SETTING_ENVIRONMENT_KEYS = Object.freeze({
27
29
  'logs.rotateMiB': 'BRC_LOG_ROTATE_MIB',
28
30
  'runtime.startupTimeoutMs': 'BRC_RUNTIME_STARTUP_TIMEOUT_MS',
29
31
  'runtime.shutdownTimeoutMs': 'BRC_RUNTIME_SHUTDOWN_TIMEOUT_MS',
32
+ 'runtime.lockWaitMs': 'BRC_RUNTIME_LOCK_WAIT_MS',
33
+ 'runtime.lockPollMs': 'BRC_RUNTIME_LOCK_POLL_MS',
30
34
  });
31
35
  /** Internal health-check policy; independent from the user-controlled service startup deadline. */
32
36
  export const HEALTH_REQUEST_TIMEOUT_MS = 3_000;
@@ -42,7 +46,7 @@ export const DEFAULT_SETTINGS = Object.freeze({
42
46
  }),
43
47
  services: Object.freeze({ relayPort: 3000, proxyPort: 13001, healthPort: 13002, publicUrl: '' }),
44
48
  logs: Object.freeze({ retentionDays: 7, maxTotalMiB: 50, rotateMiB: 4 }),
45
- runtime: Object.freeze({ startupTimeoutMs: 15_000, shutdownTimeoutMs: 3_000 }),
49
+ runtime: Object.freeze({ startupTimeoutMs: 15_000, shutdownTimeoutMs: 3_000, lockWaitMs: 3_000, lockPollMs: 50 }),
46
50
  });
47
51
  const settingKeySet = new Set(BRC_SETTING_KEYS);
48
52
  function copySettings(settings) {
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface ProcessIdentity {
2
+ pid: number;
3
+ createdAt: string;
4
+ executablePath: string;
5
+ commandLine: string;
6
+ }
7
+ export declare function inspectProcesses(pids: readonly number[]): Promise<Map<number, ProcessIdentity | null>>;
8
+ export declare function inspectProcess(pid: number): Promise<ProcessIdentity | null>;
@@ -0,0 +1,126 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { promisify } from 'node:util';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { readFile, realpath } from 'node:fs/promises';
5
+ import path from 'node:path';
6
+ const run = promisify(execFile);
7
+ const nativeBinary = fileURLToPath(new URL('../native/win32-x64/brc-process.exe', import.meta.url));
8
+ function errorCode(error) {
9
+ return error && typeof error === 'object' && 'code' in error && typeof error.code === 'string' ? error.code : undefined;
10
+ }
11
+ function exitStatus(error) {
12
+ return error && typeof error === 'object' && 'status' in error && typeof error.status === 'number' ? error.status : undefined;
13
+ }
14
+ function parseProcessIdentity(value) {
15
+ if (!value || typeof value !== 'object' || Array.isArray(value)
16
+ || !('pid' in value) || !('createdAt' in value) || !('executablePath' in value) || !('commandLine' in value)
17
+ || typeof value.pid !== 'number' || !Number.isSafeInteger(value.pid) || value.pid <= 0
18
+ || typeof value.createdAt !== 'string' || !/^\d+$/.test(value.createdAt)
19
+ || typeof value.executablePath !== 'string' || !path.isAbsolute(value.executablePath)
20
+ || typeof value.commandLine !== 'string' || !value.commandLine) {
21
+ throw new Error('Windows returned incomplete process identity.');
22
+ }
23
+ return { pid: value.pid, createdAt: value.createdAt, executablePath: value.executablePath, commandLine: value.commandLine };
24
+ }
25
+ async function inspectWindows(pids) {
26
+ let stdout;
27
+ try {
28
+ ({ stdout } = await run(nativeBinary, ['inspect', ...pids.map(String)], {
29
+ encoding: 'utf8', timeout: 5_000, windowsHide: true, shell: false,
30
+ maxBuffer: Math.min(pids.length * 64 * 1024, 64 * 1024 * 1024),
31
+ }));
32
+ }
33
+ catch (error) {
34
+ throw new Error(`Native Windows process inspection failed: ${errorCode(error) ?? 'UNKNOWN'}.`, { cause: error });
35
+ }
36
+ let data;
37
+ try {
38
+ data = JSON.parse(stdout);
39
+ }
40
+ catch {
41
+ throw new Error('Native Windows process inspection returned malformed JSON.');
42
+ }
43
+ if (!data || typeof data !== 'object' || !('processes' in data) || !Array.isArray(data.processes)
44
+ || data.processes.length !== pids.length)
45
+ throw new Error('Native Windows process inspection returned incomplete results.');
46
+ const result = new Map();
47
+ for (const entry of data.processes) {
48
+ if (!entry || typeof entry !== 'object' || Array.isArray(entry) || !('pid' in entry)
49
+ || !Number.isSafeInteger(entry.pid) || !pids.includes(entry.pid) || result.has(entry.pid)
50
+ || !('status' in entry))
51
+ throw new Error('Native Windows process inspection returned unexpected results.');
52
+ const pid = entry.pid;
53
+ if (entry.status === 'not_found')
54
+ result.set(pid, null);
55
+ else if (entry.status === 'found')
56
+ result.set(pid, parseProcessIdentity(entry));
57
+ else if (entry.status === 'error') {
58
+ const code = 'code' in entry && typeof entry.code === 'string' && /^[A-Z_]+$/.test(entry.code) ? entry.code : 'UNKNOWN';
59
+ throw new Error(`Native Windows process inspection could not verify PID ${pid}: ${code}.`);
60
+ }
61
+ else
62
+ throw new Error('Native Windows process inspection returned an invalid status.');
63
+ }
64
+ return result;
65
+ }
66
+ export async function inspectProcesses(pids) {
67
+ for (const pid of pids)
68
+ if (!Number.isSafeInteger(pid) || pid <= 0 || pid > 0xffffffff)
69
+ throw new Error(`Invalid process ID: ${pid}`);
70
+ const unique = [...new Set(pids)];
71
+ if (!unique.length)
72
+ return new Map();
73
+ if (process.platform === 'win32')
74
+ return inspectWindows(unique);
75
+ const result = new Map();
76
+ await Promise.all(unique.map(async (pid) => { result.set(pid, await inspectNonWindows(pid)); }));
77
+ return result;
78
+ }
79
+ export async function inspectProcess(pid) {
80
+ return (await inspectProcesses([pid])).get(pid) ?? null;
81
+ }
82
+ async function inspectNonWindows(pid) {
83
+ if (process.platform === 'linux') {
84
+ let stat;
85
+ let executablePath;
86
+ let rawCommand;
87
+ try {
88
+ [stat, executablePath, rawCommand] = await Promise.all([
89
+ readFile(`/proc/${pid}/stat`, 'utf8'), realpath(`/proc/${pid}/exe`), readFile(`/proc/${pid}/cmdline`),
90
+ ]);
91
+ }
92
+ catch (error) {
93
+ if (errorCode(error) === 'ENOENT')
94
+ return null;
95
+ throw error;
96
+ }
97
+ const closeParen = stat.lastIndexOf(')');
98
+ if (closeParen < 0)
99
+ throw new Error(`Linux returned malformed process identity for ${pid}.`);
100
+ const startTicks = stat.slice(closeParen + 2).trim().split(/\s+/)[19];
101
+ if (!startTicks)
102
+ throw new Error(`Linux returned incomplete start time for process ${pid}.`);
103
+ const bootId = (await readFile('/proc/sys/kernel/random/boot_id', 'utf8')).trim();
104
+ const commandLine = rawCommand.toString('utf8').split('\0').filter(Boolean).join(' ');
105
+ if (!commandLine)
106
+ return null;
107
+ return { pid, createdAt: `${bootId}:${startTicks}`, executablePath, commandLine };
108
+ }
109
+ if (process.platform === 'darwin') {
110
+ try {
111
+ const { stdout: createdAt } = await run('ps', ['-p', String(pid), '-o', 'lstart='], { encoding: 'utf8', windowsHide: true });
112
+ const { stdout: executablePath } = await run('ps', ['-p', String(pid), '-o', 'comm='], { encoding: 'utf8', windowsHide: true });
113
+ const { stdout: commandLine } = await run('ps', ['-ww', '-p', String(pid), '-o', 'command='], { encoding: 'utf8', windowsHide: true });
114
+ if (!createdAt.trim() || !executablePath.trim() || !commandLine.trim())
115
+ return null;
116
+ return { pid, createdAt: createdAt.trim(), executablePath: executablePath.trim(), commandLine: commandLine.trim() };
117
+ }
118
+ catch (error) {
119
+ if (exitStatus(error) === 1)
120
+ return null;
121
+ throw error;
122
+ }
123
+ }
124
+ throw new Error(`Managed process inspection is unsupported on ${process.platform}.`);
125
+ }
126
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/lifecycle/identity.ts"],"names":[],"mappings":"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"}