/** * Effect service for MessageRouter * * This service owns routing logic directly and does not delegate to the * imperative MessageRouter class. */ import { Context, Effect, Layer } from 'effect'; import { type RoutingDecision, type RoutingConfig } from './types'; import { NoAgentsAvailableError } from './errors'; /** * MessageRouterService interface */ export interface MessageRouterService { route(message: string, metadata?: Record): Effect.Effect; testRoute(message: string, metadata?: Record): Effect.Effect; /** * Replace the active routing configuration on the live runtime. * * Routing config is mutable at the service level so changing it never * requires rebuilding the Effect runtime. */ setConfig(config: RoutingConfig): Effect.Effect; } export declare const MessageRouterService: Context.Tag; /** * Config tag for MessageRouterService layer construction. */ export declare const MessageRouterConfig: Context.Tag; export declare const MessageRouterServiceLive: Layer.Layer; export declare const MessageRouterServiceLiveWithConfig: (config: RoutingConfig) => Layer.Layer; //# sourceMappingURL=service.d.ts.map