fix: 修复 runner Codex shell 工具环境

This commit is contained in:
Codex
2026-06-09 01:06:19 +08:00
parent 437822e5fd
commit aeb49460b7
9 changed files with 92 additions and 15 deletions
+12 -3
View File
@@ -248,7 +248,7 @@ async function sessionTurn(args: ParsedArgs, positionalSessionId: string | null)
copyOptionalFlag(args, runnerBody, "attempt-id", "attemptId");
copyOptionalFlag(args, runnerBody, "runner-id", "runnerId");
copyOptionalFlag(args, runnerBody, "source-commit", "sourceCommit");
copyOptionalFlag(args, runnerBody, "runner-manager-url", "managerUrl");
copyRunnerManagerUrlFlag(args, runnerBody);
copyOptionalFlag(args, runnerBody, "service-account-name", "serviceAccountName");
const runnerIdempotencyKey = optionalFlag(args, "runner-idempotency-key");
if (runnerIdempotencyKey) runnerBody.idempotencyKey = runnerIdempotencyKey;
@@ -314,7 +314,7 @@ async function dispatchQueueTask(args: ParsedArgs, taskId: string): Promise<Json
copy("attempt-id", "attemptId");
copy("runner-id", "runnerId");
copy("source-commit", "sourceCommit");
copy("runner-manager-url", "managerUrl");
copyRunnerManagerUrlFlag(args, body);
copy("service-account-name", "serviceAccountName");
return client(args).post(`/api/v1/queue/tasks/${encodeURIComponent(taskId)}/dispatch`, body);
}
@@ -346,7 +346,7 @@ async function renderRunnerJob(args: ParsedArgs): Promise<JsonRecord> {
if (attemptId) body.attemptId = attemptId;
if (runnerId) body.runnerId = runnerId;
if (sourceCommit) body.sourceCommit = sourceCommit;
if (runnerManagerUrl) body.managerUrl = runnerManagerUrl;
if (runnerManagerUrl) body.managerUrl = resolveRunnerManagerUrlFlag(args, runnerManagerUrl);
if (idempotencyKey) body.idempotencyKey = idempotencyKey;
return await client(args).post(`/api/v1/runs/${encodeURIComponent(runId)}/runner-jobs`, body) as JsonRecord;
}
@@ -754,6 +754,15 @@ function copyOptionalFlag(args: ParsedArgs, target: JsonRecord, flagName: string
if (value) target[key] = value;
}
function copyRunnerManagerUrlFlag(args: ParsedArgs, target: JsonRecord): void {
const value = optionalFlag(args, "runner-manager-url");
if (value) target.managerUrl = resolveRunnerManagerUrlFlag(args, value);
}
function resolveRunnerManagerUrlFlag(args: ParsedArgs, value: string): string {
return value === "auto" ? managerUrl(args) : value;
}
function readerQuery(args: ParsedArgs): string {
const readerId = optionalFlag(args, "reader-id");
return readerId ? `?readerId=${encodeURIComponent(readerId)}` : "";