From 50f0d6ff957bdedff393ef93b00b25c2a40eb252 Mon Sep 17 00:00:00 2001 From: can1357 Date: Sun, 5 Jul 2026 13:05:38 +0200 Subject: [PATCH] fix(ai): align dump status extraction --- packages/ai/src/utils/http-inspector.ts | 4 ++-- packages/ai/test/http-inspector.test.ts | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/ai/src/utils/http-inspector.ts b/packages/ai/src/utils/http-inspector.ts index be3e2aef0..bf4f4e047 100644 --- a/packages/ai/src/utils/http-inspector.ts +++ b/packages/ai/src/utils/http-inspector.ts @@ -1,5 +1,5 @@ import * as path from "node:path"; -import { extractHttpStatusFromError, getLogsDir, isBunTestRuntime } from "@oh-my-pi/pi-utils"; +import { getLogsDir, isBunTestRuntime } from "@oh-my-pi/pi-utils"; import * as AIError from "../error/flags"; import { isCopilotTransientModelError } from "./retry.js"; import { formatErrorMessageWithRetryAfter } from "./retry-after.js"; @@ -36,7 +36,7 @@ export function buildHttp400DumpPayload( ): RawHttpRequestDump & { errorResponse: { status: number | undefined; message: string } } { return { ...sanitizeDump(dump), - errorResponse: { status: extractHttpStatusFromError(error), message }, + errorResponse: { status: AIError.status(error), message }, }; } diff --git a/packages/ai/test/http-inspector.test.ts b/packages/ai/test/http-inspector.test.ts index 6dbb8c09c..5763d2689 100644 --- a/packages/ai/test/http-inspector.test.ts +++ b/packages/ai/test/http-inspector.test.ts @@ -35,6 +35,14 @@ describe("buildHttp400DumpPayload", () => { expect(payload.errorResponse).toEqual({ status: 400, message }); }); + it("records the same message-derived status that enables dumping", () => { + const message = "400 Bad Request: image exceeds 5 MB limit"; + const error = new Error(message); + + expect(shouldDumpRejectedRequest(error)).toBe(true); + expect(buildHttp400DumpPayload(dump, error, message).errorResponse).toEqual({ status: 400, message }); + }); + it("redacts sensitive request headers while keeping the rest", () => { const payload = buildHttp400DumpPayload(dump, new HttpError(400, "x"), "x");