fix(POSTV1-02): 确保AI探测输出后退出
Dada P0-A isolated Windows CI / validate-and-package (push) Waiting to run

This commit is contained in:
suyx
2026-08-05 13:26:44 +08:00
parent b1f143c238
commit a7f62adad4
+7 -5
View File
@@ -27,18 +27,20 @@ if (workerPort) {
if (!workerPort && process.argv.includes("--dada-ai-probe")) { if (!workerPort && process.argv.includes("--dada-ai-probe")) {
const credentialClient = initializeWorkerCredentialClient(await receiveWorkerCredentials()); const credentialClient = initializeWorkerCredentialClient(await receiveWorkerCredentials());
let adapter: OneApiGenerationAdapter | undefined; let adapter: OneApiGenerationAdapter | undefined;
let probeResult: Awaited<ReturnType<typeof runAiRuntimeProbe>> | { code: "ai_probe_failed"; error_category: "upstream_failed"; real_calls: 0; success: false };
try { try {
adapter = new OneApiGenerationAdapter({ credential: credentialClient.aiGatewayCredential }); adapter = new OneApiGenerationAdapter({ credential: credentialClient.aiGatewayCredential });
const result = await runAiRuntimeProbe(adapter); probeResult = await runAiRuntimeProbe(adapter);
process.stdout.write(JSON.stringify(result));
if (!result.success) process.exitCode = 2;
} catch { } catch {
process.stdout.write(JSON.stringify({ code: "ai_probe_failed", error_category: "upstream_failed", real_calls: 0, success: false })); probeResult = { code: "ai_probe_failed", error_category: "upstream_failed", real_calls: 0, success: false };
process.exitCode = 2;
} finally { } finally {
credentialClient.aiGatewayCredential.fill(0); credentialClient.aiGatewayCredential.fill(0);
adapter?.dispose(); adapter?.dispose();
} }
await new Promise<void>((resolveWrite, rejectWrite) => {
process.stdout.write(JSON.stringify(probeResult), (error) => error ? rejectWrite(error) : resolveWrite());
});
process.exit(probeResult.success ? 0 : 2);
} else if (!workerPort && process.argv.includes("--dada-credential-stdin")) { } else if (!workerPort && process.argv.includes("--dada-credential-stdin")) {
const credentialClient = initializeWorkerCredentialClient(await receiveWorkerCredentials()); const credentialClient = initializeWorkerCredentialClient(await receiveWorkerCredentials());
const controlPipeIndex = process.argv.indexOf("--dada-control-pipe"); const controlPipeIndex = process.argv.indexOf("--dada-control-pipe");