Merge pull request #647 from pikasTech/fix/v02-agentrun-transient-env

fix: 透传 AgentRun transient env
This commit is contained in:
Lyon
2026-06-01 17:58:16 +08:00
committed by GitHub
2 changed files with 18 additions and 2 deletions
+12 -1
View File
@@ -374,6 +374,7 @@ function buildAgentRunCommandInput({ params, traceId, backendProfile }) {
}
function buildAgentRunRunnerJobInput({ env, traceId, commandId }) {
const transientEnv = buildAgentRunTransientEnv(env);
return {
commandId,
idempotencyKey: traceId,
@@ -383,10 +384,20 @@ function buildAgentRunRunnerJobInput({ env, traceId, commandId }) {
: {}),
...(firstNonEmpty(env.HWLAB_CODE_AGENT_AGENTRUN_RUNNER_SERVICE_ACCOUNT, env.AGENTRUN_RUNNER_SERVICE_ACCOUNT)
? { serviceAccountName: firstNonEmpty(env.HWLAB_CODE_AGENT_AGENTRUN_RUNNER_SERVICE_ACCOUNT, env.AGENTRUN_RUNNER_SERVICE_ACCOUNT) }
: {})
: {}),
...(transientEnv.length > 0 ? { transientEnv } : {})
};
}
function buildAgentRunTransientEnv(env = process.env) {
const entries = [];
for (const name of ["HWLAB_DEVICE_POD_API_URL", "HWLAB_CLOUD_API_URL", "HWLAB_DEVICE_POD_SESSION_TOKEN"]) {
const value = firstNonEmpty(env[name]);
if (value) entries.push({ name, value, sensitive: true });
}
return entries;
}
function providerCredentialSecretRef(profile, env) {
return {
profile,
+6 -1
View File
@@ -163,6 +163,8 @@ test("cloud api /v1/agent/chat delegates v0.2 turns to AgentRun v0.1 over adapte
}
if (request.method === "POST" && url.pathname === "/api/v1/runs/run_hwlab_adapter/runner-jobs") {
assert.equal(body.commandId, "cmd_hwlab_adapter");
assert.deepEqual(body.transientEnv.map((entry) => entry.name), ["HWLAB_DEVICE_POD_API_URL", "HWLAB_CLOUD_API_URL", "HWLAB_DEVICE_POD_SESSION_TOKEN"]);
assert.equal(body.transientEnv.find((entry) => entry.name === "HWLAB_DEVICE_POD_SESSION_TOKEN").value, "test-device-pod-session-token");
return send({
action: "create-kubernetes-job",
runId: "run_hwlab_adapter",
@@ -215,7 +217,10 @@ test("cloud api /v1/agent/chat delegates v0.2 turns to AgentRun v0.1 over adapte
HWLAB_CODE_AGENT_AGENTRUN_ALLOW_NON_K3S_URL: "1",
HWLAB_CODE_AGENT_AGENTRUN_SOURCE_COMMIT: "0123456789abcdef0123456789abcdef01234567",
HWLAB_CODE_AGENT_DEFAULT_PROVIDER_PROFILE: "deepseek",
HWLAB_CODE_AGENT_DEEPSEEK_MODEL: "deepseek-chat"
HWLAB_CODE_AGENT_DEEPSEEK_MODEL: "deepseek-chat",
HWLAB_DEVICE_POD_API_URL: "http://hwlab-cloud-web.test",
HWLAB_CLOUD_API_URL: "http://hwlab-cloud-web.test",
HWLAB_DEVICE_POD_SESSION_TOKEN: "test-device-pod-session-token"
}
});
await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));