MCPcopy Create free account
hub / github.com/anus-dev/ANUS / getRateLimitMessage

Function getRateLimitMessage

packages/core/src/utils/errorParsing.ts:59–101  ·  view source on GitHub ↗
(
  authType?: AuthType,
  error?: unknown,
  userTier?: UserTierId,
  currentModel?: string,
  fallbackModel?: string,
)

Source from the content-addressed store, hash-verified

57 `\nPossible quota limitations in place or slow response times detected. Switching to the ${fallbackModel} model for the rest of this session.`;
58
59function getRateLimitMessage(
60 authType?: AuthType,
61 error?: unknown,
62 userTier?: UserTierId,
63 currentModel?: string,
64 fallbackModel?: string,
65): string {
66 switch (authType) {
67 case AuthType.LOGIN_WITH_GOOGLE: {
68 // Determine if user is on a paid tier (Legacy or Standard) - default to FREE if not specified
69 const isPaidTier =
70 userTier === UserTierId.LEGACY || userTier === UserTierId.STANDARD;
71
72 if (isProQuotaExceededError(error)) {
73 return isPaidTier
74 ? getRateLimitErrorMessageGoogleProQuotaPaid(
75 currentModel || DEFAULT_PRIMARY_MODEL,
76 fallbackModel,
77 )
78 : getRateLimitErrorMessageGoogleProQuotaFree(
79 currentModel || DEFAULT_PRIMARY_MODEL,
80 fallbackModel,
81 );
82 } else if (isGenericQuotaExceededError(error)) {
83 return isPaidTier
84 ? getRateLimitErrorMessageGoogleGenericQuotaPaid(
85 currentModel || DEFAULT_PRIMARY_MODEL,
86 )
87 : getRateLimitErrorMessageGoogleGenericQuotaFree();
88 } else {
89 return isPaidTier
90 ? getRateLimitErrorMessageGooglePaid(fallbackModel)
91 : getRateLimitErrorMessageGoogleFree(fallbackModel);
92 }
93 }
94 case AuthType.USE_GROK:
95 return getRateLimitErrorMessageDefault(fallbackModel);
96 case AuthType.USE_VERTEX_AI:
97 return RATE_LIMIT_ERROR_MESSAGE_VERTEX;
98 default:
99 return getRateLimitErrorMessageDefault(fallbackModel);
100 }
101}
102
103export function parseAndFormatApiError(
104 error: unknown,

Callers 1

parseAndFormatApiErrorFunction · 0.85

Tested by

no test coverage detected