@himorishige/noren-core
Version:
Core PII detection, masking, and tokenization library built on Web Standards
65 lines • 2.25 kB
TypeScript
import type { Registry } from './index.js';
import type { Policy } from './types.js';
/**
* JSON-RPC message structure for MCP
*/
export interface JsonRpcMessage {
jsonrpc: '2.0';
id?: string | number | null;
method?: string;
params?: unknown;
result?: unknown;
error?: {
code: number;
message: string;
data?: unknown;
};
}
/**
* Options for MCP redaction processing
*/
export interface MCPRedactionOptions {
/** Registry for PII detection */
registry: Registry;
/** Policy overrides for redaction */
policy?: Policy;
/** Whether to preserve JSON-RPC structure integrity */
preserveStructure?: boolean;
/** Whether to redact only specific JSON paths */
targetPaths?: string[];
/** Buffer size for line-based processing */
lineBufferSize?: number;
}
/**
* Parse line-delimited JSON messages commonly used in MCP
*/
export declare function parseJsonLines(text: string): JsonRpcMessage[];
/**
* Validate JSON-RPC message structure
*/
export declare function isValidJsonRpcMessage(obj: unknown): obj is JsonRpcMessage;
/**
* Extract potentially sensitive content from JSON-RPC message
*/
export declare function extractSensitiveContent(message: JsonRpcMessage): string[];
/**
* Redact PII from JSON-RPC message while preserving structure
*/
export declare function redactJsonRpcMessage(message: JsonRpcMessage, options: Pick<MCPRedactionOptions, 'registry' | 'policy'>): Promise<JsonRpcMessage>;
/**
* Create a transform stream for MCP line-delimited JSON processing
*/
export declare function createMCPRedactionTransform(options: MCPRedactionOptions): TransformStream<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
/**
* Utility to check if text contains JSON-RPC patterns
*/
export declare function containsJsonRpcPattern(text: string): boolean;
/**
* Extract method names from JSON-RPC requests for logging/monitoring
*/
export declare function extractMethodName(message: JsonRpcMessage): string | null;
/**
* Check if message is a request, response, or notification
*/
export declare function getMessageType(message: JsonRpcMessage): 'request' | 'response' | 'notification' | 'error';
//# sourceMappingURL=mcp-utils.d.ts.map