From 04c4e90e61b75cf914256d295c58eeea162eaccf Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Fri, 3 Jul 2026 16:22:48 -0500 Subject: [PATCH] refactor(codemode): inline OpenAPI error summary --- .../codemode/src/adapters/openapi/runtime.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/codemode/src/adapters/openapi/runtime.ts b/packages/codemode/src/adapters/openapi/runtime.ts index 9f623d0290..c391ac78ce 100644 --- a/packages/codemode/src/adapters/openapi/runtime.ts +++ b/packages/codemode/src/adapters/openapi/runtime.ts @@ -69,10 +69,15 @@ export const invoke = (plan: Plan, input: unknown): Effect.Effect Effect.succeed(""))) const parsed = text === "" ? null : Option.getOrElse(decodeJson(text), () => text) if (response.status < 200 || response.status >= 300) { + const rendered = typeof parsed === "string" ? parsed : (JSON.stringify(parsed) ?? "") + const summary = + rendered === "" || rendered === "null" + ? "no response body" + : rendered.length > maxErrorBodyChars + ? `${rendered.slice(0, maxErrorBodyChars)}...` + : rendered return yield* Effect.fail( - toolError( - `${plan.operation.method} ${plan.operation.path} failed with HTTP ${response.status}: ${summarizeBody(parsed)}`, - ), + toolError(`${plan.operation.method} ${plan.operation.path} failed with HTTP ${response.status}: ${summary}`), ) } return parsed @@ -150,12 +155,6 @@ const applyCredentials = (credentials: ReadonlyArray { - const rendered = typeof body === "string" ? body : (JSON.stringify(body) ?? "") - if (rendered === "" || rendered === "null") return "no response body" - return rendered.length > maxErrorBodyChars ? `${rendered.slice(0, maxErrorBodyChars)}...` : rendered -} - const renderPrimitive = (value: unknown): string => typeof value === "object" && value !== null ? JSON.stringify(value) : String(value)