Merge pull request #122 from pikasTech/fix/code-queue-health-remote-compact

fix: compact remote code queue health
This commit is contained in:
Lyon
2026-05-23 15:31:54 +08:00
committed by GitHub
3 changed files with 17 additions and 3 deletions
+10 -2
View File
@@ -1,7 +1,7 @@
import { spawn } from "node:child_process";
import { type UniDeskConfig } from "./config";
import { type DebugDispatchCommand, isDebugDispatchCommand } from "./debug";
import { summarizeMicroserviceProxyResponse } from "./microservices";
import { summarizeMicroserviceHealthResponse, summarizeMicroserviceObservation, summarizeMicroserviceProxyResponse } from "./microservices";
import { parseNetworkPerfOptions, runNetworkPerf } from "./network-perf";
import { isSshSkillDiscoveryArgs, parseSshArgs } from "./ssh";
import { codexJudgeQueryAsync, codexOutputQueryAsync, codexPrPreflightQueryAsync, codexTaskQueryAsync, codexTasksQueryAsync } from "./code-queue";
@@ -618,6 +618,13 @@ async function remoteDebugTask(session: FrontendSession, args: string[]): Promis
return { transport: "frontend", tasksResponse, taskId, task: task ?? null };
}
export function summarizeRemoteMicroserviceResponse(action: string, id: string, response: unknown, args: string[]): unknown {
const optionArgs = args.slice(3);
if (action === "health") return summarizeMicroserviceHealthResponse(response, optionArgs, id);
if (action === "status" || action === "diagnostics") return summarizeMicroserviceObservation(action, id, response, optionArgs);
return response;
}
async function remoteMicroservice(session: FrontendSession, args: string[]): Promise<unknown> {
const action = args[1] ?? "list";
const id = args[2];
@@ -626,9 +633,10 @@ async function remoteMicroservice(session: FrontendSession, args: string[]): Pro
return { transport: "frontend", response: await frontendJson(session, "/api/microservices", undefined, 12_000) };
}
if ((action === "status" || action === "health" || action === "diagnostics" || action === "tunnel-self-test") && id !== undefined) {
const response = await frontendJson(session, `/api/microservices/${encodeURIComponent(id)}/${action}`, undefined, 18_000);
return {
transport: "frontend",
response: await frontendJson(session, `/api/microservices/${encodeURIComponent(id)}/${action}`, undefined, 18_000),
response: summarizeRemoteMicroserviceResponse(action, id, response, args),
};
}
if (action === "proxy" && id !== undefined && path !== undefined && path.startsWith("/")) {