UNPKG

@xynehq/jaf

Version:

Juspay Agent Framework - A purely functional agent framework with immutable state and composable tools

343 lines 14 kB
/** * Pure functional A2A server integration with JAF * Extends JAF server with A2A protocol support */ import { FastifyInstance } from 'fastify'; import type { A2AServerConfig, JSONRPCRequest, JSONRPCResponse, A2AAgent } from './types.js'; export declare const createA2AServerConfig: (config: A2AServerConfig) => Promise<{ host: string; capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; agentCard: { capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; protocolVersion: string; name: string; description: string; url: string; preferredTransport?: string; version: string; provider?: { readonly organization: string; readonly url: string; }; defaultInputModes: readonly string[]; defaultOutputModes: readonly string[]; skills: readonly import("./types.js").AgentSkill[]; securitySchemes?: Readonly<Record<string, any>>; security?: readonly Record<string, readonly string[]>[]; }; taskProvider: import("./index.js").A2ATaskProvider; protocolHandler: { agents: ReadonlyMap<string, A2AAgent>; modelProvider: any; agentCard: any; taskProvider: import("./index.js").A2ATaskProvider | undefined; handleRequest: (request: JSONRPCRequest, agentName?: string) => Promise<JSONRPCResponse> | AsyncGenerator<JSONRPCResponse, void, unknown>; }; agents: ReadonlyMap<string, A2AAgent>; port: number; }>; export declare const createA2AServer: (config: A2AServerConfig) => Promise<{ app: FastifyInstance<import("fastify").RawServerDefault, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, import("fastify").FastifyBaseLogger, import("fastify").FastifyTypeProviderDefault>; config: { host: string; capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; agentCard: { capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; protocolVersion: string; name: string; description: string; url: string; preferredTransport?: string; version: string; provider?: { readonly organization: string; readonly url: string; }; defaultInputModes: readonly string[]; defaultOutputModes: readonly string[]; skills: readonly import("./types.js").AgentSkill[]; securitySchemes?: Readonly<Record<string, any>>; security?: readonly Record<string, readonly string[]>[]; }; taskProvider: import("./index.js").A2ATaskProvider; protocolHandler: { agents: ReadonlyMap<string, A2AAgent>; modelProvider: any; agentCard: any; taskProvider: import("./index.js").A2ATaskProvider | undefined; handleRequest: (request: JSONRPCRequest, agentName?: string) => Promise<JSONRPCResponse> | AsyncGenerator<JSONRPCResponse, void, unknown>; }; agents: ReadonlyMap<string, A2AAgent>; port: number; }; start: () => Promise<void>; stop: () => Promise<void>; addAgent: (name: string, agent: A2AAgent) => { host: string; capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; agentCard: { capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; protocolVersion: string; name: string; description: string; url: string; preferredTransport?: string; version: string; provider?: { readonly organization: string; readonly url: string; }; defaultInputModes: readonly string[]; defaultOutputModes: readonly string[]; skills: readonly import("./types.js").AgentSkill[]; securitySchemes?: Readonly<Record<string, any>>; security?: readonly Record<string, readonly string[]>[]; }; taskProvider: import("./index.js").A2ATaskProvider; protocolHandler: { agents: ReadonlyMap<string, A2AAgent>; modelProvider: any; agentCard: any; taskProvider: import("./index.js").A2ATaskProvider | undefined; handleRequest: (request: JSONRPCRequest, agentName?: string) => Promise<JSONRPCResponse> | AsyncGenerator<JSONRPCResponse, void, unknown>; }; agents: ReadonlyMap<string, A2AAgent>; port: number; }; removeAgent: (name: string) => { host: string; capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; agentCard: { capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; protocolVersion: string; name: string; description: string; url: string; preferredTransport?: string; version: string; provider?: { readonly organization: string; readonly url: string; }; defaultInputModes: readonly string[]; defaultOutputModes: readonly string[]; skills: readonly import("./types.js").AgentSkill[]; securitySchemes?: Readonly<Record<string, any>>; security?: readonly Record<string, readonly string[]>[]; }; taskProvider: import("./index.js").A2ATaskProvider; protocolHandler: { agents: ReadonlyMap<string, A2AAgent>; modelProvider: any; agentCard: any; taskProvider: import("./index.js").A2ATaskProvider | undefined; handleRequest: (request: JSONRPCRequest, agentName?: string) => Promise<JSONRPCResponse> | AsyncGenerator<JSONRPCResponse, void, unknown>; }; agents: ReadonlyMap<string, A2AAgent>; port: number; }; getAgentCard: () => { capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; protocolVersion: string; name: string; description: string; url: string; preferredTransport?: string; version: string; provider?: { readonly organization: string; readonly url: string; }; defaultInputModes: readonly string[]; defaultOutputModes: readonly string[]; skills: readonly import("./types.js").AgentSkill[]; securitySchemes?: Readonly<Record<string, any>>; security?: readonly Record<string, readonly string[]>[]; }; handleRequest: (request: JSONRPCRequest) => Promise<JSONRPCResponse | AsyncIterable<JSONRPCResponse>>; }>; export declare const startA2AServer: (config: A2AServerConfig) => Promise<{ app: FastifyInstance<import("fastify").RawServerDefault, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, import("fastify").FastifyBaseLogger, import("fastify").FastifyTypeProviderDefault>; config: { host: string; capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; agentCard: { capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; protocolVersion: string; name: string; description: string; url: string; preferredTransport?: string; version: string; provider?: { readonly organization: string; readonly url: string; }; defaultInputModes: readonly string[]; defaultOutputModes: readonly string[]; skills: readonly import("./types.js").AgentSkill[]; securitySchemes?: Readonly<Record<string, any>>; security?: readonly Record<string, readonly string[]>[]; }; taskProvider: import("./index.js").A2ATaskProvider; protocolHandler: { agents: ReadonlyMap<string, A2AAgent>; modelProvider: any; agentCard: any; taskProvider: import("./index.js").A2ATaskProvider | undefined; handleRequest: (request: JSONRPCRequest, agentName?: string) => Promise<JSONRPCResponse> | AsyncGenerator<JSONRPCResponse, void, unknown>; }; agents: ReadonlyMap<string, A2AAgent>; port: number; }; start: () => Promise<void>; stop: () => Promise<void>; addAgent: (name: string, agent: A2AAgent) => { host: string; capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; agentCard: { capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; protocolVersion: string; name: string; description: string; url: string; preferredTransport?: string; version: string; provider?: { readonly organization: string; readonly url: string; }; defaultInputModes: readonly string[]; defaultOutputModes: readonly string[]; skills: readonly import("./types.js").AgentSkill[]; securitySchemes?: Readonly<Record<string, any>>; security?: readonly Record<string, readonly string[]>[]; }; taskProvider: import("./index.js").A2ATaskProvider; protocolHandler: { agents: ReadonlyMap<string, A2AAgent>; modelProvider: any; agentCard: any; taskProvider: import("./index.js").A2ATaskProvider | undefined; handleRequest: (request: JSONRPCRequest, agentName?: string) => Promise<JSONRPCResponse> | AsyncGenerator<JSONRPCResponse, void, unknown>; }; agents: ReadonlyMap<string, A2AAgent>; port: number; }; removeAgent: (name: string) => { host: string; capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; agentCard: { capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; protocolVersion: string; name: string; description: string; url: string; preferredTransport?: string; version: string; provider?: { readonly organization: string; readonly url: string; }; defaultInputModes: readonly string[]; defaultOutputModes: readonly string[]; skills: readonly import("./types.js").AgentSkill[]; securitySchemes?: Readonly<Record<string, any>>; security?: readonly Record<string, readonly string[]>[]; }; taskProvider: import("./index.js").A2ATaskProvider; protocolHandler: { agents: ReadonlyMap<string, A2AAgent>; modelProvider: any; agentCard: any; taskProvider: import("./index.js").A2ATaskProvider | undefined; handleRequest: (request: JSONRPCRequest, agentName?: string) => Promise<JSONRPCResponse> | AsyncGenerator<JSONRPCResponse, void, unknown>; }; agents: ReadonlyMap<string, A2AAgent>; port: number; }; getAgentCard: () => { capabilities: Partial<{ readonly streaming?: boolean; readonly pushNotifications?: boolean; readonly stateTransitionHistory?: boolean; }>; protocolVersion: string; name: string; description: string; url: string; preferredTransport?: string; version: string; provider?: { readonly organization: string; readonly url: string; }; defaultInputModes: readonly string[]; defaultOutputModes: readonly string[]; skills: readonly import("./types.js").AgentSkill[]; securitySchemes?: Readonly<Record<string, any>>; security?: readonly Record<string, readonly string[]>[]; }; handleRequest: (request: JSONRPCRequest) => Promise<JSONRPCResponse | AsyncIterable<JSONRPCResponse>>; }>; //# sourceMappingURL=server.d.ts.map