MCPcopy Index your code
hub / github.com/anomalyco/opencode / parseAPICallError

Function parseAPICallError

packages/opencode/src/provider/error.ts:165–186  ·  view source on GitHub ↗
(input: { providerID: ProviderV2.ID; error: APICallError })

Source from the content-addressed store, hash-verified

163 }
164
165export function parseAPICallError(input: { providerID: ProviderV2.ID; error: APICallError }): ParsedAPICallError {
166 const m = message(input.providerID, input.error)
167 const body = json(input.error.responseBody)
168 if (isContextOverflow(m) || input.error.statusCode === 413 || body?.error?.code === "context_length_exceeded") {
169 return {
170 type: "context_overflow",
171 message: m,
172 responseBody: input.error.responseBody,
173 }
174 }
175
176 const metadata = input.error.url ? { url: input.error.url } : undefined
177 return {
178 type: "api_error",
179 message: m,
180 statusCode: input.error.statusCode,
181 isRetryable: input.providerID.startsWith("openai") ? isOpenAiErrorRetryable(input.error) : input.error.isRetryable,
182 responseHeaders: input.error.responseHeaders,
183 responseBody: input.error.responseBody,
184 metadata,
185 }
186}
187
188export * as ProviderError from "./error"

Callers

nothing calls this directly

Calls 4

isContextOverflowFunction · 0.90
isOpenAiErrorRetryableFunction · 0.85
messageFunction · 0.70
jsonFunction · 0.70

Tested by

no test coverage detected