import { A as A2ARequestHandler } from '../../a2a_request_handler-BuP9LgXH.js'; import { U as UserBuilder } from '../../handlers-Bje5MAUM.js'; export { v as AgentCardHandlerOptions, A as AgentCardProvider, J as JsonRpcHandlerOptions, x as RestHandlerOptions, q as agentCardHandler, s as jsonRpcHandler, t as restHandler } from '../../handlers-Bje5MAUM.js'; import { L as Logger } from '../../logger-DM9C11Ou.js'; export { C as ConsoleLogger, J as JsonLogger, b as LogContext, a as LogLevel, N as NoopLogger } from '../../logger-DM9C11Ou.js'; import '../../extensions-DvruCIzw.js'; /** * Elysia integration for the A2A Server library. * * Provides A2AElysiaApp for Bun-native web applications with excellent * TypeScript support and performance. */ /** * Elysia context type (simplified for adapter). */ interface ElysiaContext { request: Request; params: Record; query: Record; set: { status?: number; headers: Record; }; } /** * Configuration options for A2AElysiaApp. * Follows the unified A2AServerOptions pattern for consistency across all server implementations. */ interface A2AElysiaOptions { /** Logger instance for request/error logging */ logger?: Logger; /** Function to build user from web-standard Request */ userBuilder?: UserBuilder; /** Path for agent card endpoint (default: '/.well-known/agent-card.json') */ agentCardPath?: string; /** Enable REST API endpoints (default: false) */ enableRest?: boolean; /** Base path for REST endpoints (default: '/rest') */ restBasePath?: string; } /** * Route definition for Elysia. */ interface ElysiaRoute { method: 'get' | 'post' | 'delete'; path: string; handler: (context: ElysiaContext) => Promise; } /** * A2AElysiaApp provides A2A protocol support for Elysia applications. * * @example * ```ts * const a2aApp = new A2AElysiaApp(requestHandler, { * enableRest: true, * logger: JsonLogger.create(), * }); * * const app = new Elysia(); * a2aApp.setupRoutes(app, '/a2a'); * ``` */ declare class A2AElysiaApp { private requestHandler; private options; constructor(requestHandler: A2ARequestHandler, options?: A2AElysiaOptions); /** * Gets the route definitions for A2A endpoints. * * @param basePath - Base path for routes (default: '') * @returns Array of route definitions */ getRoutes(basePath?: string): ElysiaRoute[]; /** * Adds A2A routes to an existing Elysia app. * * @param app - The Elysia app instance * @param baseUrl - Base URL for A2A endpoints (default: '') * @returns The Elysia app with A2A routes */ setupRoutes Promise) => T; post: (path: string, handler: (ctx: ElysiaContext) => Promise) => T; delete: (path: string, handler: (ctx: ElysiaContext) => Promise) => T; }>(app: T, baseUrl?: string): T; } export { A2AElysiaApp, type A2AElysiaOptions, type ElysiaContext, type ElysiaRoute, Logger, UserBuilder };