chore: upgrade claude agent sdk (#150)
This commit is contained in:
@@ -59,6 +59,7 @@ import {
|
||||
createReviewerBashGuardHook,
|
||||
createSanitizeBashHook,
|
||||
} from './runner-hooks.js';
|
||||
import { buildClaudeSdkEnv } from './sdk-env.js';
|
||||
|
||||
interface RunnerInput {
|
||||
prompt: string;
|
||||
@@ -642,10 +643,7 @@ async function main(): Promise<void> {
|
||||
|
||||
// Build SDK env: merge secrets into process.env for the SDK only.
|
||||
// Secrets never touch process.env itself, so Bash subprocesses can't see them.
|
||||
const sdkEnv: Record<string, string | undefined> = { ...process.env };
|
||||
for (const [key, value] of Object.entries(runnerInput.secrets || {})) {
|
||||
sdkEnv[key] = value;
|
||||
}
|
||||
const sdkEnv = buildClaudeSdkEnv(process.env, runnerInput.secrets || {});
|
||||
const reviewerRuntime =
|
||||
isReviewerRuntimeEnvEnabled(process.env) ||
|
||||
isReviewerRuntime(runnerInput.roomRoleContext);
|
||||
|
||||
15
runners/agent-runner/src/sdk-env.ts
Normal file
15
runners/agent-runner/src/sdk-env.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
export function buildClaudeSdkEnv(
|
||||
baseEnv: Record<string, string | undefined>,
|
||||
secrets: Record<string, string> = {},
|
||||
): Record<string, string | undefined> {
|
||||
const env: Record<string, string | undefined> = { ...baseEnv };
|
||||
for (const [key, value] of Object.entries(secrets)) {
|
||||
env[key] = value;
|
||||
}
|
||||
|
||||
// Claude Agent SDK 0.3.x connects MCP servers in the background by default.
|
||||
// EJClaw expects its local MCP server to be available on the first turn.
|
||||
env.MCP_CONNECTION_NONBLOCKING ??= '0';
|
||||
|
||||
return env;
|
||||
}
|
||||
Reference in New Issue
Block a user