@xynehq/jaf
Version:
Juspay Agent Framework - A purely functional agent framework with immutable state and composable tools
38 lines • 2.51 kB
TypeScript
/**
* Pure functional JSON-RPC protocol handlers for A2A
* All handlers are pure functions with no side effects
*/
import type { JSONRPCRequest, JSONRPCResponse, JSONRPCError, SendMessageRequest, SendStreamingMessageRequest, GetTaskRequest, A2AAgent, A2AError } from './types.js';
import { A2AErrorCodes } from './types.js';
import { A2ATaskProvider } from './memory/types.js';
export declare const validateJSONRPCRequest: (request: any) => request is JSONRPCRequest;
export declare const createJSONRPCSuccessResponse: (id: string | number, result: any) => JSONRPCResponse;
export declare const createJSONRPCErrorResponse: (id: string | number | null, error: JSONRPCError) => JSONRPCResponse;
export declare const createA2AError: (code: (typeof A2AErrorCodes)[keyof typeof A2AErrorCodes], message: string, data?: any) => A2AError;
export declare const mapErrorToA2AError: (error: unknown) => A2AError;
export declare const validateSendMessageRequest: (request: JSONRPCRequest) => {
isValid: boolean;
data?: SendMessageRequest;
error?: A2AError;
};
export declare const handleMessageSend: (request: SendMessageRequest, agent: A2AAgent, modelProvider: any) => Promise<JSONRPCResponse>;
export declare const handleMessageStream: (request: SendStreamingMessageRequest, agent: A2AAgent, modelProvider: any) => AsyncGenerator<JSONRPCResponse, void, unknown>;
export declare const handleTasksGet: (request: GetTaskRequest, taskProvider: A2ATaskProvider) => Promise<JSONRPCResponse>;
export declare const handleTasksCancel: (request: {
id: string | number;
params: {
id: string;
};
}, taskProvider: A2ATaskProvider) => Promise<JSONRPCResponse>;
export declare const handleGetAuthenticatedExtendedCard: (request: {
id: string | number;
}, agentCard: any) => Promise<JSONRPCResponse>;
export declare const routeA2ARequest: (request: any, agent: A2AAgent, modelProvider: any, taskProvider: A2ATaskProvider, agentCard: any) => Promise<JSONRPCResponse> | AsyncGenerator<JSONRPCResponse, void, unknown>;
export declare const createProtocolHandlerConfig: (agents: ReadonlyMap<string, A2AAgent>, modelProvider: any, agentCard: any, taskProvider?: A2ATaskProvider) => {
agents: ReadonlyMap<string, A2AAgent>;
modelProvider: any;
agentCard: any;
taskProvider: A2ATaskProvider | undefined;
handleRequest: (request: JSONRPCRequest, agentName?: string) => Promise<JSONRPCResponse> | AsyncGenerator<JSONRPCResponse, void, unknown>;
};
//# sourceMappingURL=protocol.d.ts.map