MCPcopy Index your code
hub / github.com/di-sukharev/opencommit / normalizeEngineError

Function normalizeEngineError

out/cli.cjs:74703–74745  ·  view source on GitHub ↗
(error, provider, model)

Source from the content-addressed store, hash-verified

74701function isModelNotFoundMessage(message) {
74702 const lowerMessage = message.toLowerCase();
74703 return lowerMessage.includes("model") && (lowerMessage.includes("not found") || lowerMessage.includes("does not exist") || lowerMessage.includes("pull")) || lowerMessage.includes("does_not_exist");
74704}
74705function isInsufficientCreditsMessage(message) {
74706 const lowerMessage = message.toLowerCase();
74707 return lowerMessage.includes("insufficient") || lowerMessage.includes("credit") || lowerMessage.includes("quota") || lowerMessage.includes("balance too low") || lowerMessage.includes("billing") || lowerMessage.includes("payment required") || lowerMessage.includes("exceeded");
74708}
74709function normalizeEngineError(error, provider, model) {
74710 if (error instanceof ModelNotFoundError || error instanceof AuthenticationError3 || error instanceof InsufficientCreditsError || error instanceof RateLimitError3 || error instanceof ServiceUnavailableError) {
74711 return error;
74712 }
74713 const statusCode = getStatusCode(error);
74714 const message = extractErrorMessage(error);
74715 switch (statusCode) {
74716 case 401:
74717 return new AuthenticationError3(provider, message);
74718 case 402:
74719 return new InsufficientCreditsError(provider, message);
74720 case 404:
74721 if (isModelNotFoundMessage(message)) {
74722 return new ModelNotFoundError(model, provider, 404);
74723 }
74724 return error instanceof Error ? error : new Error(message);
74725 case 429:
74726 const retryAfter = getRetryAfter(error);
74727 return new RateLimitError3(provider, retryAfter, message);
74728 case 500:
74729 case 502:
74730 case 503:
74731 case 504:
74732 return new ServiceUnavailableError(provider, statusCode, message);
74733 }
74734 if (statusCode === 400) {
74735 return error instanceof Error ? error : new Error(message);
74736 }
74737 if (isModelNotFoundMessage(message)) {
74738 return new ModelNotFoundError(model, provider, 404);
74739 }
74740 if (isInsufficientCreditsMessage(message)) {
74741 return new InsufficientCreditsError(provider, message);
74742 }
74743 const lowerMessage = message.toLowerCase();
74744 if (lowerMessage.includes("rate limit") || lowerMessage.includes("rate_limit") || lowerMessage.includes("too many requests")) {
74745 return new RateLimitError3(provider, void 0, message);
74746 }
74747 if (lowerMessage.includes("unauthorized") || lowerMessage.includes("api key") || lowerMessage.includes("apikey") || lowerMessage.includes("authentication") || lowerMessage.includes("invalid_api_key")) {
74748 return new AuthenticationError3(provider, message);

Callers 2

constructorMethod · 0.70
generateCommitMessageMethod · 0.70

Calls 7

toLowerCaseMethod · 0.80
includesMethod · 0.80
getStatusCodeFunction · 0.70
extractErrorMessageFunction · 0.70
isModelNotFoundMessageFunction · 0.70
getRetryAfterFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…