


















@@ -234,7 +234,7 @@ describe("openai codex provider", () => {
234234expect(result?.profiles[0]?.credential).not.toHaveProperty("idToken");
235235});
236236237-it("does not log the device pairing code in remote mode", async () => {
237+async function runRemoteDeviceCodeAuthFlow() {
238238const provider = buildOpenAICodexProviderPlugin();
239239const deviceCodeMethod = provider.auth?.find((method) => method.id === "device-code");
240240const note = vi.fn(async () => {});
@@ -273,19 +273,30 @@ describe("openai codex provider", () => {
273273}),
274274).resolves.toBeDefined();
275275276-const logOutput = runtime.log.mock.calls.flat().join("\n");
277-expect(logOutput).toContain("https://auth.openai.com/codex/device");
278-expect(logOutput).not.toContain("CODE-12345");
276+return { note, runtime };
277+}
278+279+it("surfaces the device pairing code via the prompter note in remote (SSH) mode (#74212)", async () => {
280+const { note } = await runRemoteDeviceCodeAuthFlow();
281+279282expect(note).toHaveBeenCalledWith(
280-expect.stringContaining("Code: [shown on the local device only]"),
283+expect.stringContaining("Code: CODE-12345"),
281284"OpenAI Codex device code",
282285);
283286expect(note).not.toHaveBeenCalledWith(
284-expect.stringContaining("Code: CODE-12345"),
287+expect.stringContaining("Code: [shown on the local device only]"),
285288"OpenAI Codex device code",
286289);
287290});
288291292+it("does not write the device pairing code to the runtime log in remote mode", async () => {
293+const { runtime } = await runRemoteDeviceCodeAuthFlow();
294+295+const logOutput = runtime.log.mock.calls.flat().join("\n");
296+expect(logOutput).toContain("https://auth.openai.com/codex/device");
297+expect(logOutput).not.toContain("CODE-12345");
298+});
299+289300it("owns native reasoning output mode for Codex responses", () => {
290301const provider = buildOpenAICodexProviderPlugin();
291302此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。