manifest
Version:
Self-hosted Manifest LLM router with embedded server, SQLite database, and dashboard
40 lines • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sanitizeProviderError = sanitizeProviderError;
const KNOWN_ERROR_MESSAGES = {
400: 'Bad request to upstream provider',
401: 'Authentication failed with upstream provider',
403: 'Forbidden by upstream provider',
404: 'Model or endpoint not found',
408: 'Upstream provider request timed out',
422: 'Upstream provider rejected the request',
429: 'Rate limited by upstream provider',
500: 'Upstream provider internal error',
502: 'Upstream provider returned bad gateway',
503: 'Upstream provider temporarily unavailable',
504: 'Upstream provider gateway timeout',
};
function sanitizeSensitivePatterns(msg) {
return msg
.replace(/sk-ant-[a-zA-Z0-9_-]{20,}/g, 'sk-ant-***')
.replace(/sk-[a-zA-Z0-9_-]{20,}/g, 'sk-***')
.replace(/key=[^&\s"]+/g, 'key=***')
.replace(/Bearer\s+[^\s"]+/gi, 'Bearer ***');
}
function sanitizeProviderError(status, rawBody, nodeEnv) {
const generic = KNOWN_ERROR_MESSAGES[status] ?? `Upstream provider returned HTTP ${status}`;
if ((nodeEnv ?? 'production') === 'production')
return generic;
try {
const parsed = JSON.parse(rawBody);
const error = parsed.error;
const message = error?.message ?? parsed.message;
if (typeof message === 'string' && message.length > 0) {
return sanitizeSensitivePatterns(message).slice(0, 500);
}
}
catch {
}
return generic;
}
//# sourceMappingURL=proxy-error-sanitizer.js.map