import {
VelaError,
VelaAuthError,
VelaForbiddenError,
VelaNotFoundError,
VelaValidationError,
VelaRateLimitError,
} from '@vela-event/sdk';
try {
await client.apps.get('nonexistent-app');
} catch (err) {
if (err instanceof VelaNotFoundError) {
console.error('App not found — check the slug');
} else if (err instanceof VelaAuthError) {
console.error('Invalid or missing client secret');
} else if (err instanceof VelaForbiddenError) {
console.error('This credential does not have access to this resource');
} else if (err instanceof VelaValidationError) {
console.error('Validation failed:', err.message);
} else if (err instanceof VelaRateLimitError) {
console.error('Rate limited — slow down and retry');
} else if (err instanceof VelaError) {
console.error(`Unexpected API error ${err.statusCode}:`, err.message);
} else {
// Not a VelaError — network error, timeout, DNS failure, etc.
throw err;
}
}