import {
PolarGrid,
isPolarGridError,
AuthenticationError,
ValidationError,
RateLimitError,
NetworkError,
TimeoutError,
} from '@polargrid/sdk';
try {
const response = await client.chatCompletion({
model: 'llama-3.1-8b',
messages: [{ role: 'user', content: 'Hello' }],
});
} catch (error) {
if (isPolarGridError(error)) {
console.error(`Error: ${error.message}`);
console.error(`Request ID: ${error.requestId}`);
if (error instanceof AuthenticationError) {
// Redirect to login or refresh API key
console.error('Please check your API key');
} else if (error instanceof ValidationError) {
// Fix request parameters
console.error('Invalid parameters:', error.details);
} else if (error instanceof RateLimitError) {
// Wait and retry
console.error(`Retry after ${error.retryAfter} seconds`);
} else if (error instanceof NetworkError) {
// Check connection
console.error('Network error - check your connection');
} else if (error instanceof TimeoutError) {
// Increase timeout or retry
console.error('Request timed out');
}
} else {
// Unknown error
throw error;
}
}