Skip to main content
Glama
errors.ts2.19 kB
/** * Custom error classes för Skolverket MCP Server */ /** * Base error för alla Skolverket-relaterade fel */ export class SkolverketError extends Error { constructor(message: string) { super(message); this.name = 'SkolverketError'; } } /** * Fel från Skolverkets API */ export class SkolverketApiError extends SkolverketError { constructor( message: string, public statusCode?: number, public apiResponse?: any, public code?: string, public url?: string, public attempts?: number, public timestamp?: string ) { super(message); this.name = 'SkolverketApiError'; } } /** * Autentiseringsfel - API-nyckel saknas eller ogiltig */ export class AuthenticationError extends SkolverketApiError { constructor(message: string = 'API key missing or invalid', url?: string) { super(message, 401, undefined, 'AUTH_REQUIRED', url, 1, new Date().toISOString()); this.name = 'AuthenticationError'; } } /** * Tillfälligt fel som kan lösas med retry */ export class TransientError extends SkolverketApiError { constructor(message: string, statusCode?: number, url?: string) { super(message, statusCode, undefined, 'TRANSIENT_ERROR', url, 1, new Date().toISOString()); this.name = 'TransientError'; } } /** * Valideringsfel för tool-parametrar */ export class ValidationError extends SkolverketError { constructor( message: string, public field?: string, public value?: any ) { super(message); this.name = 'ValidationError'; } } /** * Fel vid resource-åtkomst */ export class ResourceNotFoundError extends SkolverketError { constructor( public uri: string, message?: string ) { super(message || `Resource inte hittad: ${uri}`); this.name = 'ResourceNotFoundError'; } } /** * Cache-relaterade fel */ export class CacheError extends SkolverketError { constructor(message: string) { super(message); this.name = 'CacheError'; } } /** * Rate limiting-fel */ export class RateLimitError extends SkolverketError { constructor( message: string, public retryAfter?: number ) { super(message); this.name = 'RateLimitError'; } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/isakskogstad/skolverket-syllabus-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server