ragatanga-mcp-sdk
Version:
SDK for integrating with the Ragatanga Management Control Plane (MCP) with Next.js 15, React 19, WebSocket and Arrow IPC support
1 lines • 74.7 kB
Source Map (JSON)
{"version":3,"sources":["../../src/errors/index.ts","../../src/client/paths.ts","../../src/client/arrow-ipc.ts"],"names":["ArrowConnectionStatus","encoder"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * Base error class for all MCP SDK errors\n */\nexport class MCPError extends Error {\n status?: number;\n code?: string;\n cause?: unknown;\n\n constructor(message: string, options?: { status?: number; code?: string; cause?: unknown }) {\n super(message);\n this.name = 'MCPError';\n this.status = options?.status;\n this.code = options?.code;\n this.cause = options?.cause;\n\n // Ensures proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, MCPError.prototype);\n }\n\n /**\n * Creates a formatted error message with all available details\n */\n toFormattedString(): string {\n const parts = [\n `[${this.name}] ${this.message}`,\n this.code ? `Code: ${this.code}` : null,\n this.status ? `Status: ${this.status}` : null,\n this.cause ? `Cause: ${this.cause instanceof Error ? this.cause.message : String(this.cause)}` : null,\n ].filter(Boolean);\n\n return parts.join(' | ');\n }\n}\n\n/**\n * Error thrown when there's a network-related issue\n */\nexport class NetworkError extends MCPError {\n constructor(message: string, options?: { code?: string; cause?: unknown }) {\n super(message, { status: 0, code: options?.code || 'NETWORK_ERROR', cause: options?.cause });\n this.name = 'NetworkError';\n\n Object.setPrototypeOf(this, NetworkError.prototype);\n }\n}\n\n/**\n * Error thrown when a request times out\n */\nexport class TimeoutError extends MCPError {\n constructor(message = 'Request timed out', options?: { code?: string; cause?: unknown }) {\n super(message, { status: 0, code: options?.code || 'TIMEOUT', cause: options?.cause });\n this.name = 'TimeoutError';\n\n Object.setPrototypeOf(this, TimeoutError.prototype);\n }\n}\n\n/**\n * Error thrown when a request receives a 4xx or 5xx response\n */\nexport class HTTPError extends MCPError {\n response: Response;\n\n constructor(message: string, response: Response, options?: { code?: string; cause?: unknown }) {\n super(message, {\n status: response.status,\n code: options?.code || `HTTP_${response.status}`,\n cause: options?.cause\n });\n this.name = 'HTTPError';\n this.response = response;\n\n Object.setPrototypeOf(this, HTTPError.prototype);\n }\n}\n\n/**\n * Error thrown when there's an authentication or authorization issue\n */\nexport class AuthError extends MCPError {\n response?: Response;\n\n constructor(message: string, options?: { status?: number; code?: string; cause?: unknown; response?: Response }) {\n super(message, {\n status: options?.status || 401,\n code: options?.code || 'AUTH_ERROR',\n cause: options?.cause\n });\n this.name = 'AuthError';\n this.response = options?.response;\n\n Object.setPrototypeOf(this, AuthError.prototype);\n }\n}\n\n/**\n * Error thrown when user is unauthorized to access a resource\n */\nexport class UnauthorizedError extends AuthError {\n constructor(message: string, options?: { code?: string; cause?: unknown; response?: Response }) {\n super(message, {\n status: 401,\n code: options?.code || 'UNAUTHORIZED',\n cause: options?.cause,\n response: options?.response\n });\n this.name = 'UnauthorizedError';\n\n Object.setPrototypeOf(this, UnauthorizedError.prototype);\n }\n}\n\n/**\n * Error thrown when a tenant is not found\n */\nexport class TenantNotFoundError extends HTTPError {\n constructor(message: string, options?: { code?: string; cause?: unknown }) {\n // Create a mock Response object since we don't have the actual one\n const mockResponse = new Response(null, { status: 404 });\n \n super(message, mockResponse, {\n code: options?.code || 'TENANT_NOT_FOUND',\n cause: options?.cause\n });\n this.name = 'TenantNotFoundError';\n\n Object.setPrototypeOf(this, TenantNotFoundError.prototype);\n }\n}\n\n/**\n * Error thrown when there's an issue with WebSocket connection\n */\nexport class WebSocketError extends MCPError {\n event?: Event;\n\n constructor(message: string, options?: { event?: Event; code?: string; cause?: unknown }) {\n super(message, {\n code: options?.code || 'WEBSOCKET_ERROR',\n cause: options?.cause\n });\n this.name = 'WebSocketError';\n this.event = options?.event;\n\n Object.setPrototypeOf(this, WebSocketError.prototype);\n }\n}\n\n/**\n * Error thrown when there's an issue with parsing a response\n */\nexport class ParseError extends MCPError {\n data?: unknown;\n\n constructor(message: string, options?: { data?: unknown; code?: string; cause?: unknown }) {\n super(message, {\n code: options?.code || 'PARSE_ERROR',\n cause: options?.cause\n });\n this.name = 'ParseError';\n this.data = options?.data;\n\n Object.setPrototypeOf(this, ParseError.prototype);\n }\n}\n\n/**\n * Error thrown when validation fails (e.g., with zod or other validators)\n */\nexport class ValidationError extends MCPError {\n errors?: unknown;\n\n constructor(message: string, options?: { errors?: unknown; code?: string; cause?: unknown }) {\n super(message, {\n code: options?.code || 'VALIDATION_ERROR',\n cause: options?.cause\n });\n this.name = 'ValidationError';\n this.errors = options?.errors;\n\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n\n/**\n * Create appropriate error instance from an unknown error\n */\nexport function createError(error: unknown): MCPError {\n if (error instanceof MCPError) {\n return error;\n }\n\n if (error instanceof Error) {\n return new MCPError(error.message, { cause: error });\n }\n\n return new MCPError(String(error));\n}\n\n// Export ontology error classes\nexport {\n OntologyError,\n OntologyEntityNotFoundError,\n OntologySparqlError,\n OntologyModificationError,\n OntologyPaginationError,\n parseOntologyError\n} from './ontology-errors';\n\n/**\n * Create appropriate HTTP error based on response status\n */\nexport function createHttpError(response: Response): MCPError {\n const status = response.status;\n let message = `HTTP Error ${status}`;\n let code = `HTTP_${status}`;\n\n // Add specific error messages for common HTTP status codes\n if (status === 400) {\n message = 'Bad Request: The request was invalid';\n return new HTTPError(message, response);\n } else if (status === 401) {\n message = 'Unauthorized: Authentication is required';\n return new AuthError(message, { status, code, response });\n } else if (status === 403) {\n message = 'Forbidden: You don\\'t have permission to access this resource';\n return new AuthError(message, { status, code, response });\n } else if (status === 404) {\n message = 'Not Found: The requested resource does not exist';\n return new HTTPError(message, response);\n } else if (status === 429) {\n message = 'Too Many Requests: Rate limit exceeded';\n return new HTTPError(message, response);\n } else if (status >= 500) {\n message = 'Server Error: Something went wrong on the server';\n return new HTTPError(message, response);\n }\n\n return new HTTPError(message, response);\n}\n","/**\n * Type-safe path parameter extraction\n * Extracts path parameters from a string literal type\n * e.g. \"/users/:id\" -> { id: string }\n */\nexport type PathParams<P extends string> = string extends P\n ? Record<string, string>\n : P extends `${infer _}:${infer Param}/${infer Rest}`\n ? { [K in Param]: string } & PathParams<`/${Rest}`>\n : P extends `${infer _}:${infer Param}`\n ? { [K in Param]: string }\n : {};\n\n/**\n * API Endpoints\n * Type-safe API endpoint definitions\n */\nexport const ApiEndpoints = {\n // Ontology endpoints\n Ontologies: '/ontologies' as const,\n OntologyById: '/ontologies/:id' as const,\n\n // User endpoints\n CurrentUser: '/users/me' as const,\n UserById: '/users/:id' as const,\n\n // Authentication endpoints\n Login: '/auth/login' as const,\n Logout: '/auth/logout' as const,\n RefreshToken: '/auth/refresh' as const,\n\n // Tenant endpoints\n CurrentTenant: '/tenants/current' as const,\n TenantById: '/tenants/:id' as const,\n\n // MCP context endpoints\n ResolveContext: '/resolve' as const,\n WebSocketResolve: '/resolve_ws' as const,\n\n // Tools endpoints\n ToolsList: '/tools/list' as const,\n ToolsExecute: '/tools/execute' as const,\n ToolsStream: '/tools/stream' as const,\n\n // JSON-RPC endpoint\n JsonRPC: '/mcp' as const\n};\n\n/**\n * Creates a URL path by replacing parameters in the path template\n *\n * @example\n * ```ts\n * const path = buildPath('/users/:id', { id: '123' }); // '/users/123'\n * ```\n */\nexport function buildPath(\n pathTemplate: string,\n params?: Record<string, string>\n): string {\n if (!params) return pathTemplate;\n\n let result = pathTemplate;\n\n for (const [key, value] of Object.entries(params)) {\n result = result.replace(`:${key}`, encodeURIComponent(String(value)));\n }\n\n return result;\n}\n\n/**\n * Creates a full URL by combining base URL with a path\n * @param baseUrl Base URL\n * @param path Path to append\n * @returns Full URL\n */\nexport function createFullUrl(baseUrl: string, path: string): string {\n // Normalize baseUrl to ensure it doesn't end with a slash\n const normalizedBaseUrl = baseUrl.endsWith('/')\n ? baseUrl.slice(0, -1)\n : baseUrl;\n\n // Normalize path to ensure it starts with a slash\n const normalizedPath = path.startsWith('/')\n ? path\n : `/${path}`;\n\n return `${normalizedBaseUrl}${normalizedPath}`;\n}\n","/**\n * Arrow IPC over WebSocket transport implementation\n *\n * This file implements a client for the Arrow IPC protocol, allowing efficient\n * binary data transfer between client and server for large datasets.\n */\n\nimport { MCPOptions } from './types';\nimport { MCPError, WebSocketError } from '../errors';\nimport { createFullUrl } from './paths';\n\n// Import specific Arrow classes to fix type issues\nimport {\n Field,\n Schema,\n Utf8,\n Binary,\n Int32,\n Struct,\n RecordBatch,\n RecordBatchReader,\n RecordBatchStreamWriter,\n Table,\n Vector\n} from 'apache-arrow';\n\n/**\n * RPC format used by MCP for JSON-RPC 2.0 style communication\n */\nexport interface MCPRPC {\n jsonrpc: string; // JSON-RPC version (always \"2.0\")\n id?: string | number; // Message ID for request/response matching\n method?: string; // Method to call\n params?: any; // Method parameters\n result?: any; // Method result\n error?: { // Error information\n code: number;\n message: string;\n data?: any;\n };\n}\n\n/**\n * Arrow IPC message structure\n */\nexport interface ArrowMessage extends MCPRPC {\n binaryData?: Uint8Array; // Binary Arrow IPC data\n}\n\n/**\n * Arrow IPC event handlers\n */\nexport interface ArrowEventHandlers {\n onOpen?: (event: Event) => void;\n onMessage?: (message: ArrowMessage) => void;\n onBinaryMessage?: (buffer: ArrayBuffer) => void;\n onError?: (event: Event) => void;\n onClose?: (event: CloseEvent) => void;\n onStatusChange?: (status: ArrowConnectionStatus) => void;\n}\n\n/**\n * Arrow IPC connection status\n */\nexport enum ArrowConnectionStatus {\n DISCONNECTED = 0,\n CONNECTING = 1,\n CONNECTED = 2,\n CLOSING = 3,\n ERROR = 4,\n RECONNECTING = 5\n}\n\n/**\n * Arrow query options\n */\nexport interface ArrowQueryOptions {\n format?: 'arrow' | 'json'; // Preferred response format\n timeout?: number; // Query timeout in milliseconds\n maxRows?: number; // Maximum number of rows to return\n}\n\n/**\n * Arrow stream consumer callback\n */\nexport type ArrowStreamConsumer = (chunk: Uint8Array) => void;\n\n/**\n * Arrow query result\n */\nexport interface ArrowQueryResult {\n query: string; // The executed query\n schema: any; // Arrow schema information\n rowCount: number; // Total number of rows\n data?: ArrayBuffer; // Arrow record batch data if available\n json?: any[]; // JSON data if requested\n}\n\n/**\n * MCP Resource types\n */\nexport interface MCPResource {\n uri: string;\n name: string;\n description?: string;\n}\n\n/**\n * MCP Resource content\n */\nexport interface MCPResourceContent {\n uri: string;\n text: string;\n mimeType: string;\n}\n\n/**\n * MCP Tool schema\n */\nexport interface MCPToolSchema {\n type: string;\n properties: Record<string, any>;\n required?: string[];\n}\n\n/**\n * MCP Tool definition\n */\nexport interface MCPTool {\n id: string;\n name: string;\n description: string;\n schema: MCPToolSchema;\n}\n\n/**\n * Server capabilities\n */\nexport interface MCPCapabilities {\n protocolVersion: string;\n capabilities: {\n prompts?: any;\n resources?: any;\n tools?: any;\n experimental?: any;\n };\n serverInfo: {\n name: string;\n version: string;\n };\n}\n\n/**\n * Arrow IPC client for efficient binary data transfer\n */\nexport class MCPArrowClient {\n private ws: WebSocket | null = null;\n private baseUrl: string;\n private apiKey?: string;\n private token?: string;\n private tenantId?: string;\n private status: ArrowConnectionStatus = ArrowConnectionStatus.DISCONNECTED;\n private handlers: ArrowEventHandlers = {};\n private messageQueue: ArrowMessage[] = [];\n private pendingRequests: Map<string, {\n resolve: (result: any) => void,\n reject: (error: Error) => void,\n timer?: ReturnType<typeof setTimeout>\n }> = new Map();\n private defaultTimeout: number = 30000;\n private reconnectAttempts: number = 0;\n private maxReconnectAttempts: number = 5;\n private reconnectDelay: number = 1000;\n private autoReconnect: boolean = true;\n private connectionPath: string = '/arrow';\n private connectionRetryTimer: ReturnType<typeof setTimeout> | null = null;\n private manualClose: boolean = false;\n private lastConnectionTime: number = 0;\n private nextMessageId: number = 1;\n private streamTimeout?: number;\n // Heartbeat properties\n private heartbeatInterval: number = 15000; // 15 seconds\n private heartbeatTimer: ReturnType<typeof setTimeout> | null = null;\n private missedHeartbeats: number = 0;\n private maxMissedHeartbeats: number = 3;\n private lastHeartbeatResponse: number = 0;\n\n /**\n * Event listener map for custom events\n */\n private eventListeners: Map<string, Set<(message: ArrowMessage) => void>> = new Map();\n\n /**\n * Add an event listener for a specific event type\n */\n private addEventListener(event: string, handler: (message: ArrowMessage) => void): void {\n if (!this.eventListeners.has(event)) {\n this.eventListeners.set(event, new Set());\n }\n this.eventListeners.get(event)?.add(handler);\n }\n\n /**\n * Remove an event listener\n */\n private removeEventListener(event: string, handler: (message: ArrowMessage) => void): void {\n if (this.eventListeners.has(event)) {\n this.eventListeners.get(event)?.delete(handler);\n }\n }\n\n /**\n * Trigger event handlers for a specific event\n */\n private triggerEvent(event: string, message: ArrowMessage): void {\n if (this.eventListeners.has(event)) {\n for (const handler of this.eventListeners.get(event) || []) {\n try {\n handler(message);\n } catch (error) {\n console.error(`Error in ${event} event handler:`, error);\n }\n }\n }\n }\n\n /**\n * Creates a new Arrow IPC client\n */\n constructor(options: MCPOptions & { autoReconnect?: boolean, maxReconnectAttempts?: number, streamTimeout?: number }) {\n // Convert HTTP URL to WebSocket URL if needed\n let wsBaseUrl = options.baseUrl || 'https://api.mcp.ai';\n wsBaseUrl = wsBaseUrl.replace(/^http/, 'ws');\n\n this.baseUrl = wsBaseUrl;\n this.apiKey = options.apiKey;\n this.token = options.token;\n this.tenantId = options.tenantId;\n this.autoReconnect = options.autoReconnect !== false;\n\n if (options.maxReconnectAttempts !== undefined) {\n this.maxReconnectAttempts = options.maxReconnectAttempts;\n }\n\n if (options.defaultTimeout) {\n this.defaultTimeout = options.defaultTimeout;\n }\n\n if (options.streamTimeout) {\n this.streamTimeout = options.streamTimeout;\n }\n }\n\n /**\n * Connect to the Arrow IPC WebSocket endpoint\n */\n connect(path: string = '/arrow', handlers: ArrowEventHandlers = {}): void {\n if (this.ws && this.ws.readyState === WebSocket.OPEN) {\n console.warn('Arrow WebSocket is already connected. Disconnect first to reconnect.');\n return;\n }\n\n // Save the connection path for reconnection\n this.connectionPath = path;\n\n // Reset manual close flag\n this.manualClose = false;\n\n // Update status\n this.setStatus(ArrowConnectionStatus.CONNECTING);\n\n // Store handlers\n this.handlers = handlers;\n\n // Set last connection time\n this.lastConnectionTime = Date.now();\n\n // Create the full WebSocket URL\n const url = new URL(createFullUrl(this.baseUrl, path));\n\n // Add auth params as query parameters\n if (this.apiKey) {\n url.searchParams.append('apiKey', this.apiKey);\n }\n if (this.token) {\n url.searchParams.append('token', this.token);\n }\n if (this.tenantId) {\n url.searchParams.append('tenantId', this.tenantId);\n }\n\n // Create WebSocket\n try {\n this.ws = new WebSocket(url.toString());\n\n // Set binary type to arraybuffer\n this.ws.binaryType = 'arraybuffer';\n\n // Set up event handlers\n this.ws.onopen = this.handleOpen.bind(this);\n this.ws.onmessage = this.handleMessage.bind(this);\n this.ws.onerror = this.handleError.bind(this);\n this.ws.onclose = this.handleClose.bind(this);\n } catch (error) {\n this.handleConnectionError(error);\n }\n }\n\n /**\n * Update and notify about status changes\n */\n private setStatus(newStatus: ArrowConnectionStatus): void {\n if (this.status !== newStatus) {\n this.status = newStatus;\n\n // Notify handler if exists\n if (this.handlers.onStatusChange) {\n try {\n this.handlers.onStatusChange(newStatus);\n } catch (error) {\n console.error('Error in Arrow status change handler:', error);\n }\n }\n }\n }\n\n /**\n * Handle WebSocket open event\n */\n private handleOpen(event: Event): void {\n console.log('Arrow WebSocket connection opened');\n\n // Update status\n this.setStatus(ArrowConnectionStatus.CONNECTED);\n\n // Reset reconnect attempts\n this.reconnectAttempts = 0;\n\n // Call the open handler\n if (this.handlers.onOpen) {\n try {\n this.handlers.onOpen(event);\n } catch (error) {\n console.error('Error in Arrow open handler:', error);\n }\n }\n\n // Process the message queue\n this.processQueue();\n\n // Start heartbeat\n this.startHeartbeat();\n }\n\n /**\n * Start heartbeat mechanism to keep connection alive\n */\n private startHeartbeat(): void {\n // Clear any existing heartbeat timer\n if (this.heartbeatTimer) {\n clearTimeout(this.heartbeatTimer);\n this.heartbeatTimer = null;\n }\n\n // Reset missed heartbeats counter\n this.missedHeartbeats = 0;\n\n // Start a new heartbeat timer\n this.heartbeatTimer = setInterval(() => {\n this.sendHeartbeat();\n }, this.heartbeatInterval);\n\n // Send an initial heartbeat immediately\n this.sendHeartbeat();\n }\n\n /**\n * Stop heartbeat mechanism\n */\n private stopHeartbeat(): void {\n if (this.heartbeatTimer) {\n clearTimeout(this.heartbeatTimer);\n this.heartbeatTimer = null;\n }\n }\n\n /**\n * Send a heartbeat ping\n */\n private sendHeartbeat(): void {\n // Only send if WebSocket is open\n if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {\n return;\n }\n\n // Check if we've missed too many heartbeats\n if (this.missedHeartbeats >= this.maxMissedHeartbeats) {\n console.warn(`Missed ${this.missedHeartbeats} heartbeats, reconnecting...`);\n\n // Force close and reconnect\n try {\n this.ws.close();\n } catch (e) {\n console.error('Error closing WebSocket during heartbeat failure:', e);\n }\n\n // Attempt to reconnect if allowed\n if (this.autoReconnect && !this.manualClose) {\n this.attemptReconnect();\n }\n\n return;\n }\n\n // Increment missed heartbeats (will be reset when we get a response)\n this.missedHeartbeats++;\n\n // Send ping message\n try {\n console.debug('Ping sent');\n\n const pingMessage = {\n jsonrpc: '2.0',\n method: 'ping',\n id: `ping-${Date.now()}`\n };\n\n this.ws.send(JSON.stringify(pingMessage));\n } catch (error) {\n console.error('Error sending heartbeat:', error);\n }\n }\n\n /**\n * Handle a WebSocket message event\n */\n private handleMessage(event: MessageEvent): void {\n try {\n // Reset missed heartbeats on any message received\n this.missedHeartbeats = 0;\n this.lastHeartbeatResponse = Date.now();\n\n // Check if we have a binary message\n if (event.data instanceof ArrayBuffer) {\n // Log received binary data\n const dataSize = event.data.byteLength;\n console.log(`Received binary data (${dataSize} bytes)`);\n\n // If we have a binary message handler, call it directly with the raw data\n if (this.handlers.onBinaryMessage) {\n try {\n this.handlers.onBinaryMessage(event.data);\n } catch (error) {\n console.error('Error in binary message handler:', error);\n }\n }\n\n try {\n // Decode the Arrow IPC message\n const message = this.decodeMessage(event.data);\n\n // For ping messages, send a pong response\n if (message.method === 'ping') {\n if (this.ws && this.ws.readyState === WebSocket.OPEN) {\n // Respond with a pong message\n const pongMessage = {\n jsonrpc: '2.0',\n method: 'pong',\n id: message.id\n };\n\n try {\n this.ws.send(JSON.stringify(pongMessage));\n } catch (e) {\n console.warn('Failed to send pong response:', e);\n }\n }\n\n // Skip further processing for ping messages\n return;\n }\n\n // Check for error messages and log them\n if (message.error) {\n console.warn('Received error message:', message.error);\n }\n\n // Trigger any event listeners for the 'message' event\n this.triggerEvent('message', message);\n\n // Process the decoded message\n this.processMessage(message);\n } catch (decodeError) {\n console.error('Error decoding binary message:', decodeError);\n }\n } else if (typeof event.data === 'string') {\n // Handle plain text messages (JSON)\n try {\n const message = JSON.parse(event.data) as ArrowMessage;\n\n // If it's a pong message, we don't need to process it further\n if (message.method === 'pong' ||\n (message.id && String(message.id).startsWith('ping-'))) {\n // Just a heartbeat response, no need for further processing\n console.debug('Pong received');\n return;\n }\n\n // Trigger message handlers\n if (this.handlers.onMessage) {\n try {\n this.handlers.onMessage(message);\n } catch (error) {\n console.error('Error in message handler:', error);\n }\n }\n\n // Trigger any event listeners for the 'message' event\n this.triggerEvent('message', message);\n\n // Process the message\n this.processMessage(message);\n } catch (error) {\n console.error('Error parsing JSON message:', error, 'Raw data:', event.data);\n }\n } else {\n console.warn('Received unsupported message type:', typeof event.data);\n }\n } catch (error) {\n console.error('Error handling WebSocket message:', error);\n }\n }\n\n /**\n * Handle WebSocket error event\n */\n private handleError(event: Event): void {\n console.error('Arrow WebSocket error:', event);\n\n // Update status\n this.setStatus(ArrowConnectionS