import {
Refine,
RefineValidationError,
RefineAuthError,
RefineNotFoundError,
RefineRateLimitError,
RefineServerError,
RefineNetworkError
} from '@refine-ai/sdk';
const refine = new Refine({
apiKey: process.env.REFINE_API_KEY,
organizationId: 'org_abc123',
catalogId: 'cat_xyz789'
});
try {
const results = await refine.search.text({
query: 'summer dress',
topK: 24
});
} catch (error) {
if (error instanceof RefineValidationError) {
// Bad request - fix the parameters
console.error('Invalid parameters:', error.message);
} else if (error instanceof RefineAuthError) {
// Auth issue - check API key
console.error('Authentication failed:', error.message);
} else if (error instanceof RefineNotFoundError) {
// Resource not found
console.error('Not found:', error.message);
} else if (error instanceof RefineRateLimitError) {
// Rate limited - wait and retry
console.error(`Rate limited. Retry after ${error.retryAfter}ms`);
} else if (error instanceof RefineServerError) {
// Server error - retry with backoff
console.error('Server error:', error.message);
} else if (error instanceof RefineNetworkError) {
// Network issue - check connectivity
console.error('Network error:', error.message);
} else {
// Unknown error
throw error;
}
}