borgmcp-server 0.1.1 → 0.1.5

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 (61) hide show
  1. package/README.md +70 -22
  2. package/THIRD_PARTY_NOTICES.md +1 -0
  3. package/dist/cli.js +62 -11
  4. package/dist/cli.js.map +1 -1
  5. package/dist/coordination-api.d.ts +3 -1
  6. package/dist/coordination-api.js +476 -78
  7. package/dist/coordination-api.js.map +1 -1
  8. package/dist/credentials.d.ts +13 -7
  9. package/dist/credentials.js +77 -15
  10. package/dist/credentials.js.map +1 -1
  11. package/dist/debug-log.d.ts +76 -0
  12. package/dist/debug-log.js +124 -0
  13. package/dist/debug-log.js.map +1 -0
  14. package/dist/enrollment.d.ts +3 -11
  15. package/dist/enrollment.js +21 -60
  16. package/dist/enrollment.js.map +1 -1
  17. package/dist/https-server.d.ts +5 -20
  18. package/dist/https-server.js +108 -50
  19. package/dist/https-server.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/message-taxonomy.d.ts +38 -0
  22. package/dist/message-taxonomy.js +218 -0
  23. package/dist/message-taxonomy.js.map +1 -0
  24. package/dist/migrations.d.ts +4 -0
  25. package/dist/migrations.js +99 -0
  26. package/dist/migrations.js.map +1 -1
  27. package/dist/operator-error.d.ts +2 -1
  28. package/dist/operator-error.js +23 -5
  29. package/dist/operator-error.js.map +1 -1
  30. package/dist/role-section.d.ts +14 -0
  31. package/dist/role-section.js +87 -0
  32. package/dist/role-section.js.map +1 -0
  33. package/dist/service.d.ts +14 -4
  34. package/dist/service.js +243 -25
  35. package/dist/service.js.map +1 -1
  36. package/dist/start-options.d.ts +5 -1
  37. package/dist/start-options.js +17 -3
  38. package/dist/start-options.js.map +1 -1
  39. package/dist/store.d.ts +106 -8
  40. package/dist/store.js +772 -120
  41. package/dist/store.js.map +1 -1
  42. package/npm-shrinkwrap.json +6 -7
  43. package/package.json +2 -2
  44. package/src/cli.ts +61 -11
  45. package/src/coordination-api.ts +490 -72
  46. package/src/credentials.ts +103 -19
  47. package/src/debug-log.ts +165 -0
  48. package/src/enrollment.ts +32 -78
  49. package/src/https-server.ts +113 -78
  50. package/src/index.ts +1 -1
  51. package/src/message-taxonomy.ts +284 -0
  52. package/src/migrations.ts +102 -0
  53. package/src/operator-error.ts +40 -6
  54. package/src/role-section.ts +108 -0
  55. package/src/service.ts +268 -27
  56. package/src/start-options.ts +21 -4
  57. package/src/store.ts +887 -142
  58. package/dist/protocol-draft.d.ts +0 -2
  59. package/dist/protocol-draft.js +0 -31
  60. package/dist/protocol-draft.js.map +0 -1
  61. package/src/protocol-draft.ts +0 -32
package/dist/service.js CHANGED
@@ -3,15 +3,16 @@ import { lstat, open, readFile, unlink } from "node:fs/promises";
3
3
  import { homedir } from "node:os";
4
4
  import { join } from "node:path";
5
5
  import { bootstrapServer, loadDigestKey, loadTlsPrivateKey, } from "./bootstrap.js";
6
- import { CredentialAuthority, CredentialDigester } from "./credentials.js";
6
+ import { CredentialAuthority, CredentialDigester, } from "./credentials.js";
7
7
  import { CoordinationApi } from "./coordination-api.js";
8
+ import { createDebugLogger, disabledDebugLogger } from "./debug-log.js";
9
+ import { MigrationCompatibilityError } from "./migrations.js";
8
10
  import { createEnrollmentExchange } from "./enrollment.js";
9
11
  import { DEFAULT_SERVICE_LIMITS, startHttpsServer, } from "./https-server.js";
10
- import { createPart2ProtocolInfo } from "./protocol-draft.js";
11
12
  import { resolveBindOptions } from "./network-policy.js";
12
- import { operatorErrors } from "./operator-error.js";
13
+ import { invitationCubeAmbiguousError, operatorErrors, } from "./operator-error.js";
13
14
  import { parseStartOptions } from "./start-options.js";
14
- import { DEFAULT_STORAGE_LIMITS, openStore } from "./store.js";
15
+ import { DEFAULT_STORAGE_LIMITS, openStore, preparePrivateDataDirectory, InvitationCubeAmbiguousError, InvitationCubeNotFoundError, } from "./store.js";
15
16
  const guardedRuntimeFailures = new Set();
16
17
  let nodeServerTestHooks;
17
18
  export function installNodeServerTestHooks(hooks) {
@@ -27,16 +28,26 @@ export function createNodeServerService(dependencies) {
27
28
  async start(args) {
28
29
  const shutdown = dependencies.installShutdownHandlers?.();
29
30
  let bind;
31
+ let debugLogger = disabledDebugLogger;
30
32
  let dataDirectory;
31
33
  let storageLimits;
32
34
  try {
33
35
  throwIfShutdown(shutdown?.signal);
34
36
  await dependencies.onStartupPhase?.("pre-lock");
35
37
  throwIfShutdown(shutdown?.signal);
36
- bind = parseStartOptions(args);
37
- const bindMode = resolveBindOptions(bind).mode;
38
+ const parsed = parseStartOptions(args);
39
+ bind = parsed.bind;
40
+ debugLogger = createDebugLogger(parsed.logLevel === "debug" ? dependencies.debugOutput : undefined);
41
+ const resolvedBind = resolveBindOptions(bind);
42
+ const bindMode = resolvedBind.mode;
38
43
  dataDirectory = dependencies.environment.BORG_SERVER_DATA_DIR;
39
44
  storageLimits = resolveStorageLimits(dependencies.environment);
45
+ debugLogger.emit({
46
+ event: "startup",
47
+ bindMode,
48
+ port: resolvedBind.port,
49
+ dataDirectory: dataDirectory === undefined ? "tls_only" : "configured",
50
+ });
40
51
  if (bindMode === "lan" && dataDirectory !== undefined) {
41
52
  await assertLanCaKeyOffline(dataDirectory);
42
53
  throwIfShutdown(shutdown?.signal);
@@ -60,7 +71,7 @@ export function createNodeServerService(dependencies) {
60
71
  }
61
72
  let runtimeLock;
62
73
  try {
63
- runtimeLock = dataDirectory === undefined ? undefined : await acquireRuntimeLock(dataDirectory);
74
+ runtimeLock = dataDirectory === undefined ? undefined : await acquireRuntimeLock(dataDirectory, "server");
64
75
  await dependencies.onStartupPhase?.("post-lock");
65
76
  throwIfShutdown(shutdown?.signal);
66
77
  }
@@ -72,6 +83,7 @@ export function createNodeServerService(dependencies) {
72
83
  throw error;
73
84
  }
74
85
  let running;
86
+ let livenessScheduler;
75
87
  let key;
76
88
  try {
77
89
  throwIfShutdown(shutdown?.signal);
@@ -111,8 +123,8 @@ export function createNodeServerService(dependencies) {
111
123
  finally {
112
124
  digestKey.fill(0);
113
125
  }
114
- authority = new CredentialAuthority(authRuntime.credentials, digester);
115
- coordinationApi = new CoordinationApi(authRuntime, authority);
126
+ authority = new CredentialAuthority(authRuntime.credentials, digester, () => new Date(), undefined, debugLogger);
127
+ coordinationApi = new CoordinationApi(authRuntime, authority, debugLogger);
116
128
  }
117
129
  await dependencies.onStartupPhase?.("pre-listen");
118
130
  throwIfShutdown(shutdown?.signal);
@@ -120,13 +132,6 @@ export function createNodeServerService(dependencies) {
120
132
  bind,
121
133
  tls: { key, cert, ...(ca === undefined ? {} : { ca }) },
122
134
  limits: DEFAULT_SERVICE_LIMITS,
123
- protocolInfo: createPart2ProtocolInfo(DEFAULT_SERVICE_LIMITS),
124
- authorizeProtocol: async (authorization) => {
125
- if (authority === undefined)
126
- return false;
127
- const result = authority.authenticateStatus(authorization);
128
- return typeof result === "object" ? true : result;
129
- },
130
135
  ...(authority === undefined
131
136
  ? {}
132
137
  : { exchangeEnrollment: createEnrollmentExchange(authority) }),
@@ -140,12 +145,16 @@ export function createNodeServerService(dependencies) {
140
145
  ...(coordinationApi === undefined
141
146
  ? {}
142
147
  : { handleCoordination: (request) => coordinationApi.handle(request) }),
148
+ debugLogger,
143
149
  });
144
150
  throwIfShutdown(shutdown?.signal);
151
+ if (authRuntime !== undefined) {
152
+ livenessScheduler = (dependencies.startLivenessScheduler ?? startLivenessScheduler)(authRuntime.liveness);
153
+ }
145
154
  }
146
155
  catch (error) {
147
156
  try {
148
- await teardownRuntime({ running, authRuntime, digester, runtimeLock });
157
+ await teardownRuntime({ running, authRuntime, digester, runtimeLock, livenessScheduler });
149
158
  }
150
159
  catch (cleanupError) {
151
160
  shutdown?.dispose();
@@ -164,6 +173,7 @@ export function createNodeServerService(dependencies) {
164
173
  try {
165
174
  throwIfShutdown(shutdown?.signal);
166
175
  dependencies.onStarted(running.origin);
176
+ debugLogger.emit({ event: "lifecycle", action: "listening" });
167
177
  await dependencies.waitForShutdown(running, shutdown?.signal);
168
178
  }
169
179
  catch (error) {
@@ -171,7 +181,8 @@ export function createNodeServerService(dependencies) {
171
181
  failure = error;
172
182
  }
173
183
  try {
174
- await teardownRuntime({ running, authRuntime, digester, runtimeLock });
184
+ await teardownRuntime({ running, authRuntime, digester, runtimeLock, livenessScheduler });
185
+ debugLogger.emit({ event: "lifecycle", action: "stopped" });
175
186
  }
176
187
  catch (cleanupError) {
177
188
  shutdown?.dispose();
@@ -270,12 +281,66 @@ const startOnlyService = createNodeServerService({
270
281
  return handlers;
271
282
  },
272
283
  waitForShutdown,
284
+ debugOutput: (line) => console.error(line),
273
285
  });
274
286
  export const nodeServerService = {
275
287
  start: startOnlyService.start,
276
- setup: () => bootstrapServer(dataDirectory, resolveSetupBindHost(serverEnvironment)),
288
+ setup: (options) => setupNodeServerInstallation(dataDirectory, resolveSetupBindHost(serverEnvironment), options),
277
289
  ...createOfflineCredentialService(dataDirectory),
278
290
  };
291
+ const managedInstallationFiles = Object.freeze([
292
+ "borg.db",
293
+ "borg.db-wal",
294
+ "borg.db-shm",
295
+ "borg.db-journal",
296
+ "credential-digest.key",
297
+ "ca.key",
298
+ "ca.crt",
299
+ "server.key",
300
+ "server.crt",
301
+ "server.json",
302
+ ]);
303
+ export async function setupNodeServerInstallation(setupDataDirectory, bindHost, options) {
304
+ const directory = await preparePrivateDataDirectory(setupDataDirectory);
305
+ const runtimeLock = await acquireRuntimeLock(directory);
306
+ let invitationLock;
307
+ try {
308
+ invitationLock = await acquireInvitationMintLock(directory);
309
+ const existing = await inspectManagedInstallation(directory);
310
+ if (existing.length !== 0 && !options.reinitialize)
311
+ throw operatorErrors.INSTALLATION_EXISTS;
312
+ if (options.reinitialize) {
313
+ for (const path of existing)
314
+ await unlink(path);
315
+ }
316
+ return await bootstrapServer(directory, bindHost);
317
+ }
318
+ finally {
319
+ if (invitationLock === undefined)
320
+ await runtimeLock.release();
321
+ else
322
+ await invitationLock.release().finally(() => runtimeLock.release());
323
+ }
324
+ }
325
+ async function inspectManagedInstallation(directory) {
326
+ const existing = [];
327
+ for (const name of managedInstallationFiles) {
328
+ const path = join(directory, name);
329
+ try {
330
+ const metadata = await lstat(path);
331
+ if (metadata.isSymbolicLink())
332
+ throw operatorErrors.DATA_PATH_SYMLINK;
333
+ if (!metadata.isFile())
334
+ throw new Error("Managed installation paths must be regular files.");
335
+ existing.push(path);
336
+ }
337
+ catch (error) {
338
+ if (error.code !== "ENOENT")
339
+ throw error;
340
+ }
341
+ }
342
+ return existing;
343
+ }
279
344
  function resolveSetupBindHost(environment) {
280
345
  return resolveBindOptions({
281
346
  ...(environment.BORG_SERVER_BIND_HOST === undefined
@@ -287,9 +352,11 @@ function resolveSetupBindHost(environment) {
287
352
  export function createOfflineCredentialService(offlineDataDirectory) {
288
353
  const withAuthority = async (operation) => {
289
354
  const runtimeLock = await acquireRuntimeLock(offlineDataDirectory);
355
+ let invitationLock;
290
356
  let runtime;
291
357
  let digester;
292
358
  try {
359
+ invitationLock = await acquireInvitationMintLock(offlineDataDirectory);
293
360
  runtime = await openStore({ path: join(offlineDataDirectory, "borg.db") });
294
361
  const digestKey = await loadDigestKey(join(offlineDataDirectory, "credential-digest.key"));
295
362
  digester = new CredentialDigester(digestKey);
@@ -299,7 +366,44 @@ export function createOfflineCredentialService(offlineDataDirectory) {
299
366
  finally {
300
367
  digester?.destroy();
301
368
  runtime?.close();
302
- await runtimeLock.release();
369
+ if (invitationLock === undefined)
370
+ await runtimeLock.release();
371
+ else
372
+ await invitationLock.release().finally(() => runtimeLock.release());
373
+ }
374
+ };
375
+ const withInvitationAuthority = async (operation) => {
376
+ const invitationLock = await acquireInvitationMintLock(offlineDataDirectory);
377
+ let offlineRuntimeLock;
378
+ let runtime;
379
+ let digester;
380
+ try {
381
+ const runtimeState = await invitationRuntimeState(offlineDataDirectory);
382
+ if (runtimeState === "offline")
383
+ offlineRuntimeLock = await acquireRuntimeLock(offlineDataDirectory);
384
+ runtime = await openStore({
385
+ path: join(offlineDataDirectory, "borg.db"),
386
+ migrationMode: runtimeState === "live" ? "require-current" : "apply",
387
+ });
388
+ const digestKey = await loadDigestKey(join(offlineDataDirectory, "credential-digest.key"));
389
+ digester = new CredentialDigester(digestKey);
390
+ digestKey.fill(0);
391
+ return operation(new CredentialAuthority(runtime.credentials, digester));
392
+ }
393
+ catch (error) {
394
+ if (error instanceof MigrationCompatibilityError)
395
+ throw operatorErrors.INVITATION_SCHEMA_MISMATCH;
396
+ if (isSqliteContention(error))
397
+ throw operatorErrors.INVITATION_CONTENTION;
398
+ throw error;
399
+ }
400
+ finally {
401
+ digester?.destroy();
402
+ runtime?.close();
403
+ if (offlineRuntimeLock === undefined)
404
+ await invitationLock.release();
405
+ else
406
+ await offlineRuntimeLock.release().finally(() => invitationLock.release());
303
407
  }
304
408
  };
305
409
  return {
@@ -318,13 +422,26 @@ export function createOfflineCredentialService(offlineDataDirectory) {
318
422
  throw operatorErrors.GRANT_NOT_FOUND;
319
423
  }
320
424
  }),
321
- createClientInvitation: (recoveryCredential) => withAuthority((authority) => {
322
- const invitation = authority.createInvitation(recoveryCredential, 15 * 60_000);
425
+ createClientInvitation: (recoveryCredential, cubeSelector, access) => withInvitationAuthority((authority) => {
426
+ if (cubeSelector === undefined && access !== undefined) {
427
+ throw operatorErrors.INVITATION_CUBE_SELECTOR_INVALID;
428
+ }
429
+ const selector = cubeSelector === undefined ? undefined : parseInvitationCubeSelector(cubeSelector);
430
+ const invitation = selector === undefined
431
+ ? authority.createInvitation(recoveryCredential, 15 * 60_000)
432
+ : authority.createCubeInvitation(recoveryCredential, selector, access ?? "write", 15 * 60_000);
323
433
  if (invitation === null)
324
434
  throw operatorErrors.RECOVERY_INVALID;
325
435
  return invitation;
436
+ }).catch((error) => {
437
+ if (error instanceof InvitationCubeNotFoundError)
438
+ throw operatorErrors.INVITATION_CUBE_NOT_FOUND;
439
+ if (error instanceof InvitationCubeAmbiguousError) {
440
+ throw invitationCubeAmbiguousError(error.candidateIds);
441
+ }
442
+ throw error;
326
443
  }),
327
- replaceOwnerInvitation: (recoveryCredential) => withAuthority((authority) => {
444
+ replaceOwnerInvitation: (recoveryCredential) => withInvitationAuthority((authority) => {
328
445
  const invitation = authority.replaceOwnerInvitation(recoveryCredential, 15 * 60_000);
329
446
  if (invitation === null)
330
447
  throw operatorErrors.RECOVERY_INVALID;
@@ -332,7 +449,18 @@ export function createOfflineCredentialService(offlineDataDirectory) {
332
449
  }),
333
450
  };
334
451
  }
452
+ const canonicalCubeUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/u;
453
+ const uuidLikeCubeSelector = /^[0-9a-fA-F-]{32,36}$/u;
454
+ function parseInvitationCubeSelector(value) {
455
+ if (canonicalCubeUuid.test(value))
456
+ return { kind: "id", value };
457
+ if (value.length === 0 || value.length > 120 || uuidLikeCubeSelector.test(value)) {
458
+ throw operatorErrors.INVITATION_CUBE_SELECTOR_INVALID;
459
+ }
460
+ return { kind: "name", value };
461
+ }
335
462
  async function teardownRuntime(resources) {
463
+ resources.livenessScheduler?.stop();
336
464
  try {
337
465
  await resources.running?.close();
338
466
  }
@@ -350,6 +478,24 @@ async function teardownRuntime(resources) {
350
478
  }
351
479
  await resources.runtimeLock?.release();
352
480
  }
481
+ function startLivenessScheduler(liveness) {
482
+ let stopped = false;
483
+ let timer;
484
+ const schedule = () => {
485
+ timer = setTimeout(() => {
486
+ if (stopped)
487
+ return;
488
+ try {
489
+ liveness.scan();
490
+ }
491
+ catch { /* Retry on the next bounded tick. */ }
492
+ schedule();
493
+ }, 60_000);
494
+ timer.unref();
495
+ };
496
+ schedule();
497
+ return { stop: () => { stopped = true; clearTimeout(timer); } };
498
+ }
353
499
  const fatalTeardownErrors = new WeakSet();
354
500
  const fatalTeardownCapability = Object.freeze({});
355
501
  class FatalTeardownError extends AggregateError {
@@ -369,13 +515,13 @@ export function isFatalTeardownError(error) {
369
515
  function fatalTeardownError(primary, cleanup) {
370
516
  return new FatalTeardownError(fatalTeardownCapability, primary, cleanup);
371
517
  }
372
- export async function acquireRuntimeLock(runtimeDataDirectory) {
518
+ export async function acquireRuntimeLock(runtimeDataDirectory, purpose = "exclusive-admin") {
373
519
  const path = join(runtimeDataDirectory, "runtime.lock");
374
520
  const nonce = randomUUID();
375
521
  try {
376
522
  const handle = await open(path, "wx", 0o600);
377
523
  try {
378
- await handle.writeFile(JSON.stringify({ pid: process.pid, nonce }));
524
+ await handle.writeFile(JSON.stringify({ pid: process.pid, nonce, purpose }));
379
525
  }
380
526
  catch (error) {
381
527
  await handle.close();
@@ -419,6 +565,78 @@ export async function acquireRuntimeLock(runtimeDataDirectory) {
419
565
  throw operatorErrors.RUNTIME_LOCK_STALE;
420
566
  }
421
567
  }
568
+ export async function acquireInvitationMintLock(runtimeDataDirectory) {
569
+ const path = join(runtimeDataDirectory, "invitation-mint.lock");
570
+ const nonce = randomUUID();
571
+ try {
572
+ const handle = await open(path, "wx", 0o600);
573
+ try {
574
+ await handle.writeFile(JSON.stringify({ pid: process.pid, nonce }));
575
+ }
576
+ catch (error) {
577
+ await handle.close();
578
+ await unlink(path).catch(() => undefined);
579
+ throw error;
580
+ }
581
+ return {
582
+ release: async () => {
583
+ await handle.close();
584
+ try {
585
+ const current = JSON.parse(await readFile(path, "utf8"));
586
+ if (current.nonce === nonce)
587
+ await unlink(path);
588
+ }
589
+ catch (error) {
590
+ if (error.code !== "ENOENT")
591
+ throw error;
592
+ }
593
+ },
594
+ };
595
+ }
596
+ catch (error) {
597
+ if (error.code !== "EEXIST")
598
+ throw error;
599
+ throw operatorErrors.INVITATION_BUSY;
600
+ }
601
+ }
602
+ async function invitationRuntimeState(runtimeDataDirectory) {
603
+ const path = join(runtimeDataDirectory, "runtime.lock");
604
+ let metadata;
605
+ try {
606
+ metadata = await lstat(path);
607
+ }
608
+ catch (error) {
609
+ if (error.code === "ENOENT")
610
+ return "offline";
611
+ throw error;
612
+ }
613
+ if (!metadata.isFile() || metadata.isSymbolicLink() || (metadata.mode & 0o077) !== 0) {
614
+ throw operatorErrors.RUNTIME_LOCK_UNSAFE;
615
+ }
616
+ let pid;
617
+ let purpose;
618
+ try {
619
+ const value = JSON.parse(await readFile(path, "utf8"));
620
+ if (!Number.isSafeInteger(value.pid) || value.pid <= 0)
621
+ throw new Error();
622
+ pid = value.pid;
623
+ purpose = value.purpose;
624
+ }
625
+ catch {
626
+ throw operatorErrors.RUNTIME_LOCK_INVALID;
627
+ }
628
+ if (!processIsAlive(pid))
629
+ throw operatorErrors.RUNTIME_LOCK_STALE;
630
+ if (purpose !== "server")
631
+ throw operatorErrors.RUNTIME_ACTIVE;
632
+ return "live";
633
+ }
634
+ function isSqliteContention(error) {
635
+ if (typeof error !== "object" || error === null)
636
+ return false;
637
+ const value = error;
638
+ return value.code === "ERR_SQLITE_ERROR" && (value.errcode === 5 || value.errcode === 6);
639
+ }
422
640
  function processIsAlive(pid) {
423
641
  try {
424
642
  process.kill(pid, 0);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
1
  import type { BindOptionsInput } from "./network-policy.js";
2
- export declare function parseStartOptions(args: readonly string[]): BindOptionsInput;
2
+ export interface ParsedStartOptions {
3
+ readonly bind: BindOptionsInput;
4
+ readonly logLevel?: "debug";
5
+ }
6
+ export declare function parseStartOptions(args: readonly string[]): ParsedStartOptions;
@@ -3,6 +3,7 @@ export function parseStartOptions(args) {
3
3
  let host;
4
4
  let port;
5
5
  let lanConsent = false;
6
+ let logLevel;
6
7
  for (let index = 0; index < args.length; index += 1) {
7
8
  const argument = args[index];
8
9
  if (argument === "--lan") {
@@ -28,12 +29,25 @@ export function parseStartOptions(args) {
28
29
  index += 1;
29
30
  continue;
30
31
  }
32
+ if (argument === "--log-level") {
33
+ if (logLevel !== undefined)
34
+ throw operatorErrors.START_LOG_LEVEL_DUPLICATE;
35
+ const value = requiredValue(args, index, "START_LOG_LEVEL_MISSING");
36
+ if (value !== "debug")
37
+ throw operatorErrors.START_LOG_LEVEL_INVALID;
38
+ logLevel = value;
39
+ index += 1;
40
+ continue;
41
+ }
31
42
  throw operatorErrors.START_OPTION_UNKNOWN;
32
43
  }
33
44
  return {
34
- ...(host === undefined ? {} : { host }),
35
- ...(port === undefined ? {} : { port }),
36
- ...(lanConsent ? { lanConsent: true } : {}),
45
+ bind: {
46
+ ...(host === undefined ? {} : { host }),
47
+ ...(port === undefined ? {} : { port }),
48
+ ...(lanConsent ? { lanConsent: true } : {}),
49
+ },
50
+ ...(logLevel === undefined ? {} : { logLevel }),
37
51
  };
38
52
  }
39
53
  function requiredValue(args, index, code) {
@@ -1 +1 @@
1
- {"version":3,"file":"start-options.js","sourceRoot":"","sources":["../src/start-options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA0B,MAAM,qBAAqB,CAAC;AAE7E,MAAM,UAAU,iBAAiB,CAAC,IAAuB;IACvD,IAAI,IAAwB,CAAC;IAC7B,IAAI,IAAwB,CAAC;IAC7B,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,IAAI,UAAU;gBAAE,MAAM,cAAc,CAAC,mBAAmB,CAAC;YACzD,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,cAAc,CAAC,oBAAoB,CAAC;YAClE,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;YACxD,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,cAAc,CAAC,oBAAoB,CAAC;YAClE,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;YAC/D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,MAAM,cAAc,CAAC,kBAAkB,CAAC;YACnE,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,MAAM,cAAc,CAAC,oBAAoB,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAuB,EAAE,KAAa,EAAE,IAAuB;IACpF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"start-options.js","sourceRoot":"","sources":["../src/start-options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA0B,MAAM,qBAAqB,CAAC;AAO7E,MAAM,UAAU,iBAAiB,CAAC,IAAuB;IACvD,IAAI,IAAwB,CAAC;IAC7B,IAAI,IAAwB,CAAC;IAC7B,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,QAA6B,CAAC;IAElC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,IAAI,UAAU;gBAAE,MAAM,cAAc,CAAC,mBAAmB,CAAC;YACzD,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,cAAc,CAAC,oBAAoB,CAAC;YAClE,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;YACxD,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,cAAc,CAAC,oBAAoB,CAAC;YAClE,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;YAC/D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,MAAM,cAAc,CAAC,kBAAkB,CAAC;YACnE,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC/B,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,cAAc,CAAC,yBAAyB,CAAC;YAC3E,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,yBAAyB,CAAC,CAAC;YACpE,IAAI,KAAK,KAAK,OAAO;gBAAE,MAAM,cAAc,CAAC,uBAAuB,CAAC;YACpE,QAAQ,GAAG,KAAK,CAAC;YACjB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,MAAM,cAAc,CAAC,oBAAoB,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,IAAI,EAAE;YACJ,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C;QACD,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAuB,EAAE,KAAa,EAAE,IAAuB;IACpF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}