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
50 lines (48 loc) • 1.53 kB
TypeScript
/**
* Type-safe path parameter extraction
* Extracts path parameters from a string literal type
* e.g. "/users/:id" -> { id: string }
*/
type PathParams<P extends string> = string extends P ? Record<string, string> : P extends `${infer _}:${infer Param}/${infer Rest}` ? {
[K in Param]: string;
} & PathParams<`/${Rest}`> : P extends `${infer _}:${infer Param}` ? {
[K in Param]: string;
} : {};
/**
* API Endpoints
* Type-safe API endpoint definitions
*/
declare const ApiEndpoints: {
Ontologies: "/ontologies";
OntologyById: "/ontologies/:id";
CurrentUser: "/users/me";
UserById: "/users/:id";
Login: "/auth/login";
Logout: "/auth/logout";
RefreshToken: "/auth/refresh";
CurrentTenant: "/tenants/current";
TenantById: "/tenants/:id";
ResolveContext: "/resolve";
WebSocketResolve: "/resolve_ws";
ToolsList: "/tools/list";
ToolsExecute: "/tools/execute";
ToolsStream: "/tools/stream";
JsonRPC: "/mcp";
};
/**
* Creates a URL path by replacing parameters in the path template
*
* @example
* ```ts
* const path = buildPath('/users/:id', { id: '123' }); // '/users/123'
* ```
*/
declare function buildPath(pathTemplate: string, params?: Record<string, string>): string;
/**
* Creates a full URL by combining base URL with a path
* @param baseUrl Base URL
* @param path Path to append
* @returns Full URL
*/
declare function createFullUrl(baseUrl: string, path: string): string;
export { ApiEndpoints, type PathParams, buildPath, createFullUrl };