agent-relay-runner 0.120.4 → 0.120.6

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-relay-runner",
3
- "version": "0.120.4",
3
+ "version": "0.120.6",
4
4
  "description": "Unified provider lifecycle runner for Agent Relay",
5
5
  "type": "module",
6
6
  "bin": {
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "agent-relay-providers": "0.104.3",
24
- "agent-relay-sdk": "0.2.109",
24
+ "agent-relay-sdk": "0.2.111",
25
25
  "callmux": "0.23.0"
26
26
  },
27
27
  "devDependencies": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agent-relay-runner",
3
3
  "description": "Thin Agent Relay runner bridge for Claude Code",
4
- "version": "0.120.4",
4
+ "version": "0.120.6",
5
5
  "agentRelayContracts": {
6
6
  "providerPluginProtocol": 1
7
7
  }
@@ -36,6 +36,7 @@ function coerceProjectMcpServer(raw: unknown): ProvisioningMcpServer | null {
36
36
  if (typeof r.command === "string") server.command = r.command;
37
37
  if (Array.isArray(r.args) && r.args.every((a) => typeof a === "string")) server.args = r.args as string[];
38
38
  if (r.env && typeof r.env === "object") server.env = r.env as Record<string, string>;
39
+ if (r.configEnv && typeof r.configEnv === "object") server.configEnv = r.configEnv as Record<string, string>;
39
40
  if (typeof r.url === "string") server.url = r.url;
40
41
  if (r.headers && typeof r.headers === "object") server.headers = r.headers as Record<string, string>;
41
42
  // Drop an entry that names no transport (neither a command nor a url) — nothing to launch.
package/src/relay-mcp.ts CHANGED
@@ -79,14 +79,23 @@ export function sharedMcpBridgeServer(url: string, cwd: string): ProvisioningMcp
79
79
  };
80
80
  }
81
81
 
82
+ function mergedConfigEnv(server: ProvisioningMcpServer): ProvisioningMcpServer {
83
+ if (!server.configEnv || Object.keys(server.configEnv).length === 0) return server;
84
+ return {
85
+ ...server,
86
+ env: { ...server.configEnv, ...(server.env ?? {}) },
87
+ };
88
+ }
89
+
82
90
  function claudeMcpServerEntry(server: ProvisioningMcpServer): Record<string, unknown> {
91
+ const merged = mergedConfigEnv(server);
83
92
  const entry: Record<string, unknown> = {};
84
- if (server.type) entry.type = server.type;
85
- if (server.command) entry.command = server.command;
86
- if (server.args?.length) entry.args = server.args;
87
- if (server.env && Object.keys(server.env).length) entry.env = server.env;
88
- if (server.url) entry.url = server.url;
89
- if (server.headers && Object.keys(server.headers).length) entry.headers = server.headers;
93
+ if (merged.type) entry.type = merged.type;
94
+ if (merged.command) entry.command = merged.command;
95
+ if (merged.args?.length) entry.args = merged.args;
96
+ if (merged.env && Object.keys(merged.env).length) entry.env = merged.env;
97
+ if (merged.url) entry.url = merged.url;
98
+ if (merged.headers && Object.keys(merged.headers).length) entry.headers = merged.headers;
90
99
  return entry;
91
100
  }
92
101
 
@@ -132,8 +141,9 @@ export function claudeMcpLaunchArgs(opts: {
132
141
  // server, the same shape relayMcpCodexConfigArgs uses for the relay endpoint.
133
142
  export function codexProvisionedMcpArgs(servers?: Record<string, ProvisioningMcpServer>): string[] {
134
143
  const args: string[] = [];
135
- for (const [name, server] of Object.entries(servers ?? {})) {
144
+ for (const [name, rawServer] of Object.entries(servers ?? {})) {
136
145
  if (name === RELAY_MCP_SERVER_NAME) continue;
146
+ const server = mergedConfigEnv(rawServer);
137
147
  const key = `mcp_servers.${name}`;
138
148
  if (server.command) args.push("-c", `${key}.command=${tomlString(server.command)}`);
139
149
  if (server.args?.length) args.push("-c", `${key}.args=[${server.args.map(tomlString).join(",")}]`);