UNPKG

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 3.65 kB
{"version":3,"sources":["../../src/client/paths.ts"],"names":[],"mappings":";;;;AAiBO,IAAM,YAAe,GAAA;AAAA;AAAA,EAE1B,UAAY,EAAA,aAAA;AAAA,EACZ,YAAc,EAAA,iBAAA;AAAA;AAAA,EAGd,WAAa,EAAA,WAAA;AAAA,EACb,QAAU,EAAA,YAAA;AAAA;AAAA,EAGV,KAAO,EAAA,aAAA;AAAA,EACP,MAAQ,EAAA,cAAA;AAAA,EACR,YAAc,EAAA,eAAA;AAAA;AAAA,EAGd,aAAe,EAAA,kBAAA;AAAA,EACf,UAAY,EAAA,cAAA;AAAA;AAAA,EAGZ,cAAgB,EAAA,UAAA;AAAA,EAChB,gBAAkB,EAAA,aAAA;AAAA;AAAA,EAGlB,SAAW,EAAA,aAAA;AAAA,EACX,YAAc,EAAA,gBAAA;AAAA,EACd,WAAa,EAAA,eAAA;AAAA;AAAA,EAGb,OAAS,EAAA;AACX;AAUO,SAAS,SAAA,CACd,cACA,MACQ,EAAA;AACR,EAAI,IAAA,CAAC,QAAe,OAAA,YAAA;AAEpB,EAAA,IAAI,MAAS,GAAA,YAAA;AAEb,EAAA,KAAA,MAAW,CAAC,GAAK,EAAA,KAAK,KAAK,MAAO,CAAA,OAAA,CAAQ,MAAM,CAAG,EAAA;AACjD,IAAS,MAAA,GAAA,MAAA,CAAO,QAAQ,CAAI,CAAA,EAAA,GAAG,IAAI,kBAAmB,CAAA,MAAA,CAAO,KAAK,CAAC,CAAC,CAAA;AAAA;AAGtE,EAAO,OAAA,MAAA;AACT;AAbgB,MAAA,CAAA,SAAA,EAAA,WAAA,CAAA;AAqBT,SAAS,aAAA,CAAc,SAAiB,IAAsB,EAAA;AAEnE,EAAM,MAAA,iBAAA,GAAoB,QAAQ,QAAS,CAAA,GAAG,IAC1C,OAAQ,CAAA,KAAA,CAAM,CAAG,EAAA,EAAE,CACnB,GAAA,OAAA;AAGJ,EAAA,MAAM,iBAAiB,IAAK,CAAA,UAAA,CAAW,GAAG,CACtC,GAAA,IAAA,GACA,IAAI,IAAI,CAAA,CAAA;AAEZ,EAAO,OAAA,CAAA,EAAG,iBAAiB,CAAA,EAAG,cAAc,CAAA,CAAA;AAC9C;AAZgB,MAAA,CAAA,aAAA,EAAA,eAAA,CAAA","file":"paths.mjs","sourcesContent":["/**\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"]}