fix(POSTV1-02): 确保AI探测输出后退出
Dada P0-A isolated Windows CI / validate-and-package (push) Waiting to run
Dada P0-A isolated Windows CI / validate-and-package (push) Waiting to run
This commit is contained in:
@@ -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");
|
||||||
|
|||||||
Reference in New Issue
Block a user