@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
@@ -1,18 +1,30 @@
1
1
  import { randomBytes, randomUUID } from 'node:crypto';
2
- import { spawn, execFileSync } from 'node:child_process';
2
+ import { spawn } from 'node:child_process';
3
3
  import { once } from 'node:events';
4
- import { mkdir, readFile, realpath, rename, unlink, writeFile } from 'node:fs/promises';
4
+ import { realpathSync } from 'node:fs';
5
+ import { mkdir, readFile, rename, unlink, writeFile } from 'node:fs/promises';
5
6
  import path from 'node:path';
6
7
  import { setTimeout as sleep } from 'node:timers/promises';
7
8
  import { DEFAULT_SETTINGS, HEALTH_REQUEST_TIMEOUT_MS, HEALTH_RETRY_COUNT, IDENTITY_INSPECTION_RETRY_COUNT } from '../config/settings.js';
9
+ import { inspectProcess, inspectProcesses } from './identity.js';
10
+ export { inspectProcess } from './identity.js';
8
11
  const DEFAULT_POLL_INTERVAL_MS = 100;
9
12
  const CONTROL_REQUEST_TIMEOUT_MS = HEALTH_REQUEST_TIMEOUT_MS;
10
13
  function recordPath(paths, name) {
11
14
  return path.join(paths.runtime, `${name}.json`);
12
15
  }
13
16
  function samePath(left, right) {
14
- const a = path.resolve(left);
15
- const b = path.resolve(right);
17
+ const canonical = (filename) => {
18
+ const resolved = path.resolve(filename);
19
+ try {
20
+ return realpathSync.native(resolved);
21
+ }
22
+ catch {
23
+ return resolved;
24
+ }
25
+ };
26
+ const a = canonical(left);
27
+ const b = canonical(right);
16
28
  return process.platform === 'win32' ? a.toLowerCase() === b.toLowerCase() : a === b;
17
29
  }
18
30
  function isWithin(root, filename) {
@@ -104,94 +116,13 @@ function errorCode(error) {
104
116
  return error.code;
105
117
  return undefined;
106
118
  }
107
- function exitStatus(error) {
108
- if (error && typeof error === 'object' && 'status' in error && typeof error.status === 'number')
109
- return error.status;
110
- return undefined;
111
- }
112
- function parseProcessIdentity(value) {
113
- if (!value || typeof value !== 'object' || Array.isArray(value))
114
- return null;
115
- if (!('pid' in value) || !('createdAt' in value) || !('executablePath' in value) || !('commandLine' in value))
116
- return null;
117
- if (typeof value.pid !== 'number' || !Number.isSafeInteger(value.pid) || value.pid <= 0
118
- || typeof value.createdAt !== 'string' || typeof value.executablePath !== 'string'
119
- || typeof value.commandLine !== 'string')
120
- return null;
121
- return { pid: value.pid, createdAt: value.createdAt, executablePath: value.executablePath, commandLine: value.commandLine };
122
- }
123
- export async function inspectProcess(pid) {
124
- if (!Number.isSafeInteger(pid) || pid <= 0)
125
- throw new Error(`Invalid process ID: ${pid}`);
126
- if (process.platform === 'win32') {
127
- const windowsRoot = process.env.SystemRoot || 'C:\\Windows';
128
- const powershell = path.join(windowsRoot, 'System32', 'WindowsPowerShell', 'v1.0', 'powershell.exe');
129
- const script = `Get-CimInstance -ClassName Win32_Process -Filter 'ProcessId = ${pid}' | Select-Object @{Name='pid';Expression={$_.ProcessId}},@{Name='createdAt';Expression={$_.CreationDate.ToUniversalTime().ToString('o')}},@{Name='executablePath';Expression={$_.ExecutablePath}},@{Name='commandLine';Expression={$_.CommandLine}} | ConvertTo-Json -Compress`;
130
- const output = execFileSync(powershell, ['-NoLogo', '-NoProfile', '-NonInteractive', '-Command', script], {
131
- encoding: 'utf8',
132
- timeout: 5_000,
133
- windowsHide: true,
134
- maxBuffer: 64 * 1024,
135
- }).trim();
136
- if (!output)
137
- return null;
138
- const identity = parseProcessIdentity(JSON.parse(output));
139
- if (!identity)
140
- throw new Error(`Windows returned incomplete identity for process ${pid}.`);
141
- return identity;
142
- }
143
- if (process.platform === 'linux') {
144
- let stat;
145
- let executablePath;
146
- let rawCommand;
147
- try {
148
- [stat, executablePath, rawCommand] = await Promise.all([
149
- readFile(`/proc/${pid}/stat`, 'utf8'),
150
- realpath(`/proc/${pid}/exe`),
151
- readFile(`/proc/${pid}/cmdline`),
152
- ]);
153
- }
154
- catch (error) {
155
- if (errorCode(error) === 'ENOENT')
156
- return null;
157
- throw error;
158
- }
159
- const closeParen = stat.lastIndexOf(')');
160
- if (closeParen < 0)
161
- throw new Error(`Linux returned malformed process identity for ${pid}.`);
162
- const fields = stat.slice(closeParen + 2).trim().split(/\s+/);
163
- const startTicks = fields[19];
164
- if (!startTicks)
165
- throw new Error(`Linux returned incomplete start time for process ${pid}.`);
166
- const bootId = (await readFile('/proc/sys/kernel/random/boot_id', 'utf8')).trim();
167
- const commandLine = rawCommand.toString('utf8').split('\0').filter(Boolean).join(' ');
168
- if (!commandLine)
169
- return null;
170
- return { pid, createdAt: `${bootId}:${startTicks}`, executablePath, commandLine };
171
- }
172
- if (process.platform === 'darwin') {
173
- try {
174
- const createdAt = execFileSync('ps', ['-p', String(pid), '-o', 'lstart='], { encoding: 'utf8', windowsHide: true }).trim();
175
- const executablePath = execFileSync('ps', ['-p', String(pid), '-o', 'comm='], { encoding: 'utf8', windowsHide: true }).trim();
176
- const commandLine = execFileSync('ps', ['-ww', '-p', String(pid), '-o', 'command='], { encoding: 'utf8', windowsHide: true }).trim();
177
- if (!createdAt || !executablePath || !commandLine)
178
- return null;
179
- return { pid, createdAt, executablePath, commandLine };
180
- }
181
- catch (error) {
182
- if (exitStatus(error) === 1)
183
- return null;
184
- throw error;
185
- }
186
- }
187
- throw new Error(`Managed process inspection is unsupported on ${process.platform}.`);
188
- }
189
119
  export class ProcessManager {
190
120
  paths;
191
121
  startupTimeoutMs;
192
122
  shutdownTimeoutMs;
193
123
  pollIntervalMs;
194
124
  inspect;
125
+ customInspector;
195
126
  starting = new Map();
196
127
  constructor(paths, options = {}) {
197
128
  this.paths = paths;
@@ -199,6 +130,7 @@ export class ProcessManager {
199
130
  this.shutdownTimeoutMs = options.shutdownTimeoutMs ?? DEFAULT_SETTINGS.runtime.shutdownTimeoutMs;
200
131
  this.pollIntervalMs = options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
201
132
  this.inspect = options.inspectProcess ?? inspectProcess;
133
+ this.customInspector = options.inspectProcess !== undefined;
202
134
  }
203
135
  updateRuntimeSettings(settings) {
204
136
  this.startupTimeoutMs = settings.startupTimeoutMs;
@@ -211,6 +143,7 @@ export class ProcessManager {
211
143
  this.starting.set(spec.name, null);
212
144
  let child;
213
145
  let record;
146
+ let readyRemoved = false;
214
147
  const id = randomUUID();
215
148
  const token = randomBytes(32).toString('hex');
216
149
  const readyFile = path.join(this.paths.runtime, `${spec.name}.${id}.ready.json`);
@@ -225,7 +158,7 @@ export class ProcessManager {
225
158
  throw new Error(`${spec.name} process identity does not match its saved record; refusing to start or stop it.`);
226
159
  else {
227
160
  const health = await this.readHealth(current);
228
- if (health.state === 'running' && health.ok)
161
+ if ((health.state === 'running' && health.ok) || (spec.name === 'agent' && health.state === 'pairing'))
229
162
  return;
230
163
  throw new Error(`${spec.name} is already managed but unhealthy: ${health.detail}`);
231
164
  }
@@ -252,7 +185,8 @@ export class ProcessManager {
252
185
  throw new Error(`${spec.name} process did not receive a PID.`);
253
186
  child.unref();
254
187
  this.starting.set(spec.name, child.pid);
255
- const ready = await this.waitForReady(child, spec, readyFile, id, () => exit);
188
+ const deadline = Date.now() + (spec.startupTimeoutMs ?? this.startupTimeoutMs);
189
+ const ready = await this.waitForReady(child, spec, readyFile, id, () => exit, deadline);
256
190
  const identity = await this.inspect(child.pid);
257
191
  if (!identity || !this.isCandidateIdentity(identity, spec, id)) {
258
192
  throw new Error(`${spec.name} process identity could not be verified after startup.`);
@@ -271,7 +205,12 @@ export class ProcessManager {
271
205
  controlToken: token,
272
206
  };
273
207
  await this.writeRecord(record);
274
- await this.waitForHealthy(record, spec);
208
+ await this.waitForHealthy(record, spec, child, () => exit, deadline);
209
+ await this.removeReadyFile(readyFile);
210
+ readyRemoved = true;
211
+ if (exit || child.exitCode !== null || child.signalCode !== null) {
212
+ throw new Error(`${spec.name} exited during startup.`);
213
+ }
275
214
  }
276
215
  catch (error) {
277
216
  let cleanupError;
@@ -290,7 +229,8 @@ export class ProcessManager {
290
229
  }
291
230
  finally {
292
231
  this.starting.delete(spec.name);
293
- await this.removeReadyFile(readyFile);
232
+ if (!readyRemoved)
233
+ await this.removeReadyFile(readyFile);
294
234
  }
295
235
  }
296
236
  async stop(spec) {
@@ -338,6 +278,59 @@ export class ProcessManager {
338
278
  return { name: spec.name, state: 'degraded', pid: record.pid, detail: `Health check failed: ${processErrorMessage(error)}` };
339
279
  }
340
280
  }
281
+ async statusMany(specs) {
282
+ if (this.customInspector)
283
+ return Promise.all(specs.map((spec) => this.status(spec)));
284
+ const entries = await Promise.all(specs.map(async (spec) => {
285
+ if (this.starting.has(spec.name)) {
286
+ return { spec, status: { name: spec.name, state: 'starting', pid: this.starting.get(spec.name) ?? null, detail: 'Service startup is in progress.' } };
287
+ }
288
+ try {
289
+ const record = await this.readRecord(spec);
290
+ return record ? { spec, record } : { spec, status: { name: spec.name, state: 'stopped', pid: null, detail: 'No managed process record.' } };
291
+ }
292
+ catch (error) {
293
+ return { spec, status: { name: spec.name, state: 'degraded', pid: null, detail: processErrorMessage(error) } };
294
+ }
295
+ }));
296
+ const pids = entries.flatMap(({ record }) => record ? [record.pid] : []);
297
+ let identities = new Map();
298
+ let inspectionError;
299
+ if (pids.length) {
300
+ for (let attempt = 0; attempt <= IDENTITY_INSPECTION_RETRY_COUNT; attempt++) {
301
+ try {
302
+ identities = await inspectProcesses(pids);
303
+ inspectionError = undefined;
304
+ break;
305
+ }
306
+ catch (error) {
307
+ inspectionError = error;
308
+ if (attempt < IDENTITY_INSPECTION_RETRY_COUNT)
309
+ await sleep(this.pollIntervalMs);
310
+ }
311
+ }
312
+ }
313
+ if (inspectionError !== undefined)
314
+ return Promise.all(specs.map((spec) => this.status(spec)));
315
+ return Promise.all(entries.map(async ({ spec, record, status }) => {
316
+ if (status)
317
+ return status;
318
+ if (!record)
319
+ throw new Error('Missing process record.');
320
+ const identity = identities.get(record.pid);
321
+ if (!identity)
322
+ return { name: spec.name, state: 'stopped', pid: null, detail: 'Recorded process has exited.' };
323
+ if (!sameIdentity(record, identity, spec))
324
+ return { name: spec.name, state: 'degraded', pid: record.pid, detail: 'Process identity changed; refusing process control.' };
325
+ try {
326
+ const health = await this.readHealth(record);
327
+ return { name: spec.name, state: health.state === 'pairing' && spec.name === 'agent' ? 'pairing' : health.ok && health.state === 'running' ? 'running' : 'degraded', pid: record.pid, detail: health.detail };
328
+ }
329
+ catch (error) {
330
+ return { name: spec.name, state: 'degraded', pid: record.pid, detail: `Health check failed: ${processErrorMessage(error)}` };
331
+ }
332
+ }));
333
+ }
341
334
  async inspectForStatus(pid) {
342
335
  for (let attempt = 0; attempt <= IDENTITY_INSPECTION_RETRY_COUNT; attempt++) {
343
336
  try {
@@ -351,8 +344,7 @@ export class ProcessManager {
351
344
  }
352
345
  throw new Error('Process identity inspection exhausted all retries.');
353
346
  }
354
- async waitForReady(child, spec, readyFile, id, getExit) {
355
- const deadline = Date.now() + (spec.startupTimeoutMs ?? this.startupTimeoutMs);
347
+ async waitForReady(child, spec, readyFile, id, getExit, deadline) {
356
348
  while (Date.now() < deadline) {
357
349
  const exit = getExit();
358
350
  if (exit)
@@ -369,21 +361,21 @@ export class ProcessManager {
369
361
  if (errorCode(error) !== 'ENOENT' && !(error instanceof SyntaxError))
370
362
  throw error;
371
363
  }
372
- await sleep(this.pollIntervalMs);
364
+ await sleep(Math.min(this.pollIntervalMs, Math.max(0, deadline - Date.now())));
373
365
  }
374
366
  throw new Error(`${spec.name} did not publish a ready control endpoint before timeout.`);
375
367
  }
376
- async waitForHealthy(record, spec) {
377
- const deadline = Date.now() + (spec.startupTimeoutMs ?? this.startupTimeoutMs);
368
+ async waitForHealthy(record, spec, child, getExit, deadline) {
378
369
  let detail = 'Health endpoint did not report ready.';
379
370
  while (Date.now() < deadline) {
380
- const identity = await this.inspect(record.pid);
381
- if (!identity)
371
+ if (getExit() || child.exitCode !== null || child.signalCode !== null) {
382
372
  throw new Error(`${spec.name} exited during startup.`);
383
- if (!sameIdentity(record, identity, spec))
384
- throw new Error(`${spec.name} process identity changed during startup.`);
373
+ }
385
374
  try {
386
- const health = await this.readHealth(record);
375
+ const health = await this.readHealth(record, deadline);
376
+ if (getExit() || child.exitCode !== null || child.signalCode !== null) {
377
+ throw new Error(`${spec.name} exited during startup.`);
378
+ }
387
379
  detail = health.detail;
388
380
  if (health.ok && health.state === 'running')
389
381
  return;
@@ -391,36 +383,42 @@ export class ProcessManager {
391
383
  return;
392
384
  }
393
385
  catch (error) {
386
+ if (getExit() || child.exitCode !== null || child.signalCode !== null) {
387
+ throw new Error(`${spec.name} exited during startup.`, { cause: error });
388
+ }
394
389
  detail = processErrorMessage(error);
395
390
  }
396
- await sleep(this.pollIntervalMs);
391
+ await sleep(Math.min(this.pollIntervalMs, Math.max(0, deadline - Date.now())));
397
392
  }
398
393
  throw new Error(`${spec.name} did not become healthy: ${detail}`);
399
394
  }
400
- async readHealth(record) {
395
+ async readHealth(record, deadline = Infinity) {
401
396
  if (record.controlPort < 1)
402
397
  throw new Error('Missing managed control port.');
403
398
  for (let attempt = 0; attempt <= HEALTH_RETRY_COUNT; attempt++) {
404
399
  try {
405
- return await this.requestHealth(record);
400
+ const remaining = deadline - Date.now();
401
+ if (remaining <= 0)
402
+ throw new Error('Health request deadline expired.');
403
+ return await this.requestHealth(record, Math.min(CONTROL_REQUEST_TIMEOUT_MS, remaining));
406
404
  }
407
405
  catch (error) {
408
- if (attempt === HEALTH_RETRY_COUNT)
406
+ if (attempt === HEALTH_RETRY_COUNT || Date.now() >= deadline)
409
407
  throw error;
410
- await sleep(this.pollIntervalMs);
408
+ await sleep(Math.min(this.pollIntervalMs, Math.max(0, deadline - Date.now())));
411
409
  }
412
410
  }
413
411
  throw new Error('Health request exhausted all retries.');
414
412
  }
415
- async requestHealth(record) {
413
+ async requestHealth(record, timeoutMs) {
416
414
  const response = await fetch(`http://127.0.0.1:${record.controlPort}/health`, {
417
415
  headers: { authorization: `Bearer ${record.controlToken}` },
418
- signal: AbortSignal.timeout(CONTROL_REQUEST_TIMEOUT_MS),
416
+ signal: AbortSignal.timeout(timeoutMs),
419
417
  });
420
418
  const health = await response.json();
421
419
  return {
422
420
  ok: response.ok && health.ok === true,
423
- state: health.state === 'pairing' ? 'pairing' : health.state === 'running' ? 'running' : 'degraded',
421
+ state: response.ok && health.state === 'pairing' ? 'pairing' : response.ok && health.state === 'running' ? 'running' : 'degraded',
424
422
  detail: typeof health.detail === 'string' ? health.detail : `Control endpoint returned HTTP ${response.status}.`,
425
423
  };
426
424
  }
@@ -1 +1 @@
1
- {"version":3,"file":"processes.js","sourceRoot":"","sources":["../../src/lifecycle/processes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processes.js","sourceRoot":"","sources":["../../src/lifecycle/processes.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface ProcessController {
6
6
  start(spec: ManagedServiceSpec): Promise<void>;
7
7
  stop(spec: ManagedServiceSpec): Promise<void>;
8
8
  status(spec: ManagedServiceSpec): Promise<ServiceStatus>;
9
+ statusMany?(specs: readonly ManagedServiceSpec[]): Promise<ServiceStatus[]>;
9
10
  }
10
11
  export declare function createDefaultServices(paths: BrcPaths, settings: Readonly<BrcSettings>, parentEnv?: NodeJS.ProcessEnv): ManagedServiceSpec[];
11
12
  export interface LockedServiceOperations {
@@ -106,7 +106,8 @@ export class ServiceManager {
106
106
  });
107
107
  }
108
108
  status() {
109
- return Promise.all(this.services.map((service) => this.processes.status(service)));
109
+ return this.processes.statusMany?.(this.services)
110
+ ?? Promise.all(this.services.map((service) => this.processes.status(service)));
110
111
  }
111
112
  validateServices(services) {
112
113
  const names = new Set();
@@ -128,10 +129,6 @@ export class ServiceManager {
128
129
  }
129
130
  await this.processes.start(service);
130
131
  started.push(service);
131
- const status = await this.processes.status(service);
132
- if (status.state !== 'running' && !(service.name === 'agent' && status.state === 'pairing')) {
133
- throw new Error(`${service.name} did not become healthy: ${status.detail}`);
134
- }
135
132
  }
136
133
  }
137
134
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/lifecycle/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/lifecycle/services.ts"],"names":[],"mappings":"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"}