MCPcopy Create free account
hub / github.com/github/gh-aw / parseCopilotSDKServerArgsFromEnv

Function parseCopilotSDKServerArgsFromEnv

actions/setup/js/copilot_harness.cjs:618–638  ·  view source on GitHub ↗

* Parse GH_AW_COPILOT_SDK_SERVER_ARGS for SDK driver mode. * Returns [] when unset or invalid so sidecar defaults remain available. * * @param {string | undefined} serverArgsEnv * @param {{ logger?: (msg: string) => void }} [options] * @returns {string[]}

(serverArgsEnv, options)

Source from the content-addressed store, hash-verified

616 * @returns {string[]}
617 */
618function parseCopilotSDKServerArgsFromEnv(serverArgsEnv, options) {
619 const logger = options?.logger ?? log;
620 if (!serverArgsEnv) {
621 logger("copilot-sdk driver mode: GH_AW_COPILOT_SDK_SERVER_ARGS is not set; using sidecar default args");
622 return [];
623 }
624
625 try {
626 const parsed = JSON.parse(serverArgsEnv);
627 if (!Array.isArray(parsed) || parsed.some(arg => typeof arg !== "string")) {
628 logger("copilot-sdk driver mode: GH_AW_COPILOT_SDK_SERVER_ARGS must be a JSON string array; using sidecar default args");
629 return [];
630 }
631 logger(`copilot-sdk driver mode: parsed ${parsed.length} sidecar args from GH_AW_COPILOT_SDK_SERVER_ARGS`);
632 return parsed;
633 } catch (parseErr) {
634 const preview = serverArgsEnv.length > MAX_ENV_VAR_PREVIEW_LENGTH ? serverArgsEnv.slice(0, MAX_ENV_VAR_PREVIEW_LENGTH) + "…" : serverArgsEnv;
635 logger(`copilot-sdk driver mode: failed to parse GH_AW_COPILOT_SDK_SERVER_ARGS: ${parseErr} (value: ${preview})`);
636 return [];
637 }
638}
639
640/**
641 * Build a compact fallback prompt that asks the agent to read instructions from disk.

Callers 2

mainFunction · 0.85

Calls 2

loggerFunction · 0.70
parseMethod · 0.45

Tested by

no test coverage detected