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 • 8.97 kB
Source Map (JSON)
{"version":3,"sources":["../src/client/browser-client.ts","../src/browser.ts"],"names":[],"mappings":"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","file":"browser.mjs","sourcesContent":["/**\n * Browser-safe client for Ragatanga MCP SDK\n * \n * This client is designed to be used in browser environments like Next.js client components.\n * It avoids using Node.js specific features and dependencies that cause issues in the browser.\n */\n\nimport { MCPOptions } from './types';\n\n// Basic error class that doesn't rely on inheritance from problematic modules\nexport class BrowserMCPError extends Error {\n status?: number;\n code?: string;\n\n constructor(message: string, options?: { status?: number; code?: string }) {\n super(message);\n this.name = 'BrowserMCPError';\n this.status = options?.status;\n this.code = options?.code;\n\n // Ensures proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, BrowserMCPError.prototype);\n }\n}\n\n/**\n * Browser-safe MCP client implementation\n */\nexport class BrowserMCPClient {\n private baseUrl: string;\n private tenantId?: string;\n private apiKey?: string;\n private token?: string;\n private defaultOptions: RequestInit;\n private defaultTimeout: number;\n\n /**\n * Creates a new browser-safe MCP client\n * @param options - Client options\n */\n constructor(options: MCPOptions = {}) {\n this.baseUrl = options.baseUrl || 'https://api.mcp.ai';\n this.tenantId = options.tenantId;\n this.apiKey = options.apiKey;\n this.token = options.token;\n this.defaultOptions = options.defaultFetchOptions || {};\n this.defaultTimeout = options.defaultTimeout || 10000;\n }\n\n /**\n * Make a request to the MCP API\n */\n async request<T = any>(\n path: string,\n options: {\n method?: string;\n body?: any;\n headers?: Record<string, string>;\n timeout?: number;\n } = {}\n ): Promise<T> {\n const { method = 'GET', body, headers = {}, timeout = this.defaultTimeout } = options;\n \n // Construct URL\n const url = `${this.baseUrl}${path}`;\n \n // Prepare headers\n const requestHeaders: Record<string, string> = {\n 'Content-Type': 'application/json',\n ...headers\n };\n \n // Add authentication if available\n if (this.apiKey) {\n requestHeaders['X-API-Key'] = this.apiKey;\n }\n \n if (this.token) {\n requestHeaders['Authorization'] = `Bearer ${this.token}`;\n }\n \n if (this.tenantId) {\n requestHeaders['X-Tenant-ID'] = this.tenantId;\n }\n \n // Prepare fetch options\n const fetchOptions: RequestInit = {\n ...this.defaultOptions,\n method,\n headers: requestHeaders,\n body: body ? JSON.stringify(body) : undefined\n };\n \n // Create an AbortController for timeout\n const controller = new AbortController();\n fetchOptions.signal = controller.signal;\n \n // Set up timeout\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n \n try {\n const response = await fetch(url, fetchOptions);\n clearTimeout(timeoutId);\n \n if (!response.ok) {\n throw new BrowserMCPError(`HTTP error ${response.status}: ${response.statusText}`, {\n status: response.status,\n code: `HTTP_${response.status}`\n });\n }\n \n return await response.json();\n } catch (error: any) {\n clearTimeout(timeoutId);\n \n if (error.name === 'AbortError') {\n throw new BrowserMCPError('Request timed out', { code: 'TIMEOUT' });\n }\n \n throw new BrowserMCPError(`Request failed: ${error.message}`);\n }\n }\n \n /**\n * Make a GET request\n */\n async get<T = any>(path: string, options: Omit<Parameters<BrowserMCPClient['request']>[1], 'method'> = {}): Promise<T> {\n return this.request<T>(path, { ...options, method: 'GET' });\n }\n \n /**\n * Make a POST request\n */\n async post<T = any>(path: string, body: any, options: Omit<Parameters<BrowserMCPClient['request']>[1], 'method' | 'body'> = {}): Promise<T> {\n return this.request<T>(path, { ...options, method: 'POST', body });\n }\n \n /**\n * Make a PUT request\n */\n async put<T = any>(path: string, body: any, options: Omit<Parameters<BrowserMCPClient['request']>[1], 'method' | 'body'> = {}): Promise<T> {\n return this.request<T>(path, { ...options, method: 'PUT', body });\n }\n \n /**\n * Make a DELETE request\n */\n async delete<T = any>(path: string, options: Omit<Parameters<BrowserMCPClient['request']>[1], 'method'> = {}): Promise<T> {\n return this.request<T>(path, { ...options, method: 'DELETE' });\n }\n}\n\n/**\n * Create a browser-safe MCP client\n */\nexport function createBrowserClient(options: MCPOptions): BrowserMCPClient {\n return new BrowserMCPClient(options);\n}\n\n/**\n * Default export - create a browser-safe MCP client\n */\nexport default createBrowserClient; ","/**\n * Browser-safe entry point for Ragatanga MCP SDK\n * \n * This file exports a browser-compatible version of the SDK that doesn't include\n * Node.js specific dependencies that cause issues in the browser environment.\n */\n\n// Re-export browser-safe client\nexport { \n BrowserMCPClient, \n BrowserMCPError, \n createBrowserClient \n} from './client/browser-client';\n\n// Export a createClient alias for compatibility with the main SDK\nexport { createBrowserClient as createClient } from './client/browser-client';\n\n// Re-export type definitions\nexport type { MCPOptions } from './client/types';\n\n// Default export - createBrowserClient function\nimport { createBrowserClient } from './client/browser-client';\nexport default createBrowserClient; "]}