@comake/skl-js-engine
Version:
Standard Knowledge Language Javascript Engine
68 lines (67 loc) • 2.2 kB
TypeScript
import type { JsonRpcResponse } from '../../jsonRpc/types';
/**
* Safely parse a JSON message, returning undefined if parsing fails
* @param message - String message to parse
* @returns Parsed object or undefined if invalid JSON
*/
export declare function safeParse(message: string): any;
/**
* Check if a message is a JSON-RPC response (vs request/notification)
* @param message - Parsed message object
* @returns True if message is a response
*/
export declare function isResponse(message: any): boolean;
/**
* Check if a message is a JSON-RPC request
* @param message - Parsed message object
* @returns True if message is a request
*/
export declare function isRequest(message: any): boolean;
/**
* Check if a message is a JSON-RPC notification
* @param message - Parsed message object
* @returns True if message is a notification
*/
export declare function isNotification(message: any): boolean;
/**
* Create a JSON-RPC error response
* @param id - Request ID
* @param code - Error code
* @param message - Error message
* @param data - Optional error data
* @returns JSON-RPC error response object
*/
export declare function createErrorResponse(id: string | number | null, code: number, message: string, data?: any): JsonRpcResponse;
/**
* Create a JSON-RPC success response
* @param id - Request ID
* @param result - Response result
* @returns JSON-RPC success response object
*/
export declare function createSuccessResponse(id: string | number, result: any): JsonRpcResponse;
/**
* Validate that a message is a valid JSON-RPC message
* @param message - Message to validate
* @returns True if valid JSON-RPC message
*/
export declare function isValidJsonRpc(message: any): boolean;
/**
* Buffer manager for handling streaming message data
*/
export declare class MessageBuffer {
private buffer;
/**
* Add data to the buffer and extract complete messages
* @param data - Incoming data chunk
* @returns Array of complete message strings
*/
addData(data: string): string[];
/**
* Clear the buffer
*/
clear(): void;
/**
* Get current buffer content (for debugging)
*/
getContent(): string;
}