@juspay/neurolink
Version:
Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio
78 lines (77 loc) • 2.31 kB
TypeScript
/**
* Hono Server Adapter
* Primary server adapter implementation using Hono framework
* Hono is chosen for its performance, TypeScript-first design, and edge compatibility
*/
import type { NeuroLink } from "../../neurolink.js";
import { BaseServerAdapter } from "../abstract/baseServerAdapter.js";
import type { MiddlewareDefinition, RouteDefinition, ServerAdapterConfig } from "../../types/index.js";
/**
* Hono-specific server adapter
* Supports multiple runtimes: Bun, Deno, Node.js
*/
export declare class HonoServerAdapter extends BaseServerAdapter {
private app;
private server?;
private rateLimitStore;
private rateLimitCleanupInterval?;
private requestContextStore;
constructor(neurolink: NeuroLink, config?: ServerAdapterConfig);
/**
* Create rate limiter middleware for Hono
*/
private createRateLimiter;
/**
* Periodically clean up expired rate limit entries
*/
private cleanupRateLimitStore;
/**
* Initialize Hono framework
*/
protected initializeFramework(): void;
/**
* Register route with Hono
*/
protected registerFrameworkRoute(route: RouteDefinition): void;
/**
* Handle streaming response using SSE
*/
private handleStreamingResponse;
/**
* Transform a raw provider chunk into a StreamEvent
* Provider chunks are typically { content: string } objects;
* the client SDK expects { type: "text", content: string, timestamp: number }
*/
private toStreamEvent;
/**
* Register middleware with Hono
*/
protected registerFrameworkMiddleware(middleware: MiddlewareDefinition): void;
/**
* Start the Hono server
*/
start(): Promise<void>;
/**
* Stop the Hono server with graceful shutdown
*/
stop(): Promise<void>;
/**
* Stop accepting new connections
*/
protected stopAcceptingConnections(): Promise<void>;
/**
* Close the underlying server
*/
protected closeServer(): Promise<void>;
/**
* Force close all active connections
*/
protected forceCloseConnections(): Promise<void>;
/**
* Get the Hono app instance
*/
getFrameworkInstance(): unknown;
private extractHeaders;
private extractQuery;
private extractBody;
}