MCPcopy Create free account
hub / github.com/OpenHands/OpenHands / buildSafeDevConfigAsync

Function buildSafeDevConfigAsync

scripts/dev-safe.mjs:559–584  ·  view source on GitHub ↗
(
  cwd = process.cwd(),
  env = process.env,
)

Source from the content-addressed store, hash-verified

557 * @returns {Promise<SafeDevConfig>} Configuration object with allocated ports
558 */
559export async function buildSafeDevConfigAsync(
560 cwd = process.cwd(),
561 env = process.env,
562) {
563 // Get preferred ports from env or defaults
564 const preferredBackendPort = parsePort(
565 env.OH_CANVAS_SAFE_BACKEND_PORT,
566 DEFAULT_BACKEND_PORT,
567 );
568 const preferredVscodePort = parsePort(
569 env.OH_CANVAS_SAFE_VSCODE_PORT,
570 preferredBackendPort + 1,
571 );
572
573 // Fail fast if any required port is already in use.
574 await assertPortsFree([
575 { name: "agent-server", port: preferredBackendPort },
576 { name: "vscode", port: preferredVscodePort },
577 ]);
578
579 return buildConfigFromPorts(
580 { backendPort: preferredBackendPort, vscodePort: preferredVscodePort },
581 cwd,
582 env,
583 );
584}
585
586/**
587 * @typedef {object} SafeDevConfig

Callers 2

dev-safe.test.tsFile · 0.90
mainFunction · 0.85

Calls 3

assertPortsFreeFunction · 0.85
buildConfigFromPortsFunction · 0.85
parsePortFunction · 0.70

Tested by

no test coverage detected