feat: freeze legacy code queue entry
This commit is contained in:
+41
-10
@@ -64,6 +64,16 @@ const defaultSteerRetryDelayMs = 750;
|
||||
const maxSteerRetryDelayMs = 5_000;
|
||||
const codexTaskStatuses = ["queued", "running", "judging", "retry_wait", "succeeded", "failed", "canceled"] as const;
|
||||
const codexTerminalTaskStatuses = ["succeeded", "failed", "canceled"] as const;
|
||||
const agentRunQueueReplacementCommands = {
|
||||
queueCommander: "bun scripts/cli.ts agentrun v01 queue commander --reader-id cli",
|
||||
queueSubmit: "bun scripts/cli.ts agentrun v01 queue submit --json-file <task.json>",
|
||||
queueDispatch: "bun scripts/cli.ts agentrun v01 queue dispatch <taskId> --json-file <dispatch.json>",
|
||||
sessionsTrace: "bun scripts/cli.ts agentrun v01 sessions trace <sessionId> --after-seq 0 --limit 100",
|
||||
sessionsOutput: "bun scripts/cli.ts agentrun v01 sessions output <sessionId> --after-seq 0 --limit 100",
|
||||
sessionsSteer: "bun scripts/cli.ts agentrun v01 sessions steer <sessionId> --prompt-file <path>",
|
||||
sessionsRead: "bun scripts/cli.ts agentrun v01 sessions read <sessionId> --reader-id cli",
|
||||
queueCancel: "bun scripts/cli.ts agentrun v01 queue cancel <taskId> --reason <text>",
|
||||
};
|
||||
const codexTaskStatusAliases: Record<string, string> = {
|
||||
completed: "succeeded",
|
||||
complete: "succeeded",
|
||||
@@ -87,6 +97,31 @@ const codexTaskStatusAliases: Record<string, string> = {
|
||||
"retry-wait": "retry_wait",
|
||||
};
|
||||
|
||||
function legacyCodeQueueFrozenMutation(command: string): Record<string, unknown> {
|
||||
return {
|
||||
ok: false,
|
||||
frozen: true,
|
||||
mutation: false,
|
||||
degradedReason: "legacy-code-queue-frozen",
|
||||
error: "旧 UniDesk Code Queue 新任务和执行写入口已冻结;新任务使用 AgentRun Queue。",
|
||||
command,
|
||||
replacement: agentRunQueueReplacementCommands,
|
||||
legacy: {
|
||||
retainedFor: "historical archive/read-only troubleshooting; no new old-runtime work",
|
||||
allowed: [
|
||||
"bun scripts/cli.ts codex tasks",
|
||||
"bun scripts/cli.ts codex task <taskId>",
|
||||
"bun scripts/cli.ts codex output <taskId>",
|
||||
"bun scripts/cli.ts codex unread",
|
||||
"bun scripts/cli.ts codex read <taskId>",
|
||||
"bun scripts/cli.ts codex queues",
|
||||
"bun scripts/cli.ts codex interrupt <taskId>",
|
||||
],
|
||||
noDoubleWrite: true,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
interface CodexTaskOptions {
|
||||
detail: boolean;
|
||||
trace: boolean;
|
||||
@@ -8366,7 +8401,7 @@ export async function runCodeQueueCommand(config: UniDeskConfig, args: string[])
|
||||
return codexPromptLintTask(args.slice(1));
|
||||
}
|
||||
if (action === "submit" || action === "enqueue") {
|
||||
return codexSubmitTask(args.slice(1));
|
||||
return legacyCodeQueueFrozenMutation(`codex ${action}`);
|
||||
}
|
||||
if (action === "task" || action === "summary" || action === "show") {
|
||||
const taskId = requireTaskId(taskIdArg, `codex ${action}`);
|
||||
@@ -8401,27 +8436,23 @@ export async function runCodeQueueCommand(config: UniDeskConfig, args: string[])
|
||||
if (action === "queue") {
|
||||
const sub = taskIdArg ?? "list";
|
||||
if (sub === "list") return codeQueues(args.slice(2));
|
||||
if (sub === "create") return codexCreateQueue(requireQueueId(args.slice(2), "queue create"));
|
||||
if (sub === "create") return legacyCodeQueueFrozenMutation("codex queue create");
|
||||
if (sub === "merge") {
|
||||
const mergeArgs = args.slice(2);
|
||||
return codexMergeQueue(requireMergeSourceQueueId(mergeArgs, "queue merge"), requireMergeTargetQueueId(mergeArgs, "queue merge"));
|
||||
return legacyCodeQueueFrozenMutation("codex queue merge");
|
||||
}
|
||||
}
|
||||
if (action === "move") {
|
||||
const taskId = requireTaskId(taskIdArg, "codex move");
|
||||
return codexMoveTask(taskId, requireQueueId(args.slice(2), "codex move"));
|
||||
return legacyCodeQueueFrozenMutation("codex move");
|
||||
}
|
||||
if (action === "interrupt" || action === "cancel") {
|
||||
const taskId = requireTaskId(taskIdArg, `codex ${action}`);
|
||||
return codexInterruptTask(taskId);
|
||||
}
|
||||
if (action === "steer") {
|
||||
const taskId = requireTaskId(taskIdArg, "codex steer");
|
||||
return codexSteerTask(taskId, args.slice(2));
|
||||
return legacyCodeQueueFrozenMutation("codex steer");
|
||||
}
|
||||
if (action === "resume") {
|
||||
const taskId = requireTaskId(taskIdArg, "codex resume");
|
||||
return codexResumeTask(taskId, args.slice(2));
|
||||
return legacyCodeQueueFrozenMutation("codex resume");
|
||||
}
|
||||
if (action === "steer-confirm" || action === "steer-confirmation") {
|
||||
const taskId = requireTaskId(taskIdArg, `codex ${action}`);
|
||||
|
||||
Reference in New Issue
Block a user