UNPKG

@polybiouslabs/polybious

Version:

Polybius is a next-generation intelligent agent framework built for adaptability across diverse domains. It merges contextual awareness, multi-agent collaboration, and predictive reasoning to deliver dynamic, self-optimizing performance.

80 lines (73 loc) 2.54 kB
import { EventEmitter } from 'events'; export interface Agent { name: string; id: string; capabilities: string[]; status: 'idle' | 'busy' | 'collaborating' | 'offline'; lastActivity: Date; connections: string[]; messageHistory: Message[]; performance: { messagesProcessed: number; averageResponseTime: number; successRate: number; }; config: any; } export interface Message { id: string; from: string; to?: string; timestamp: Date; type: 'broadcast' | 'direct' | 'collaboration_request' | 'collaboration_response'; content: any; delivered?: boolean; read?: boolean; recipients?: string[]; } export interface Connection { from: string; to: string; type: 'bidirectional' | 'unidirectional'; established: Date; messageCount: number; lastCommunication: Date | null; } export interface Collaboration { id: string; requester: string; task: string; requiredCapabilities: string[]; participants: string[]; status: 'active' | 'completed' | 'cancelled' | 'interrupted'; created: Date; messages: Message[]; } export interface HubStats { totalAgents: number; activeAgents: number; totalConnections: number; activeCollaborations: number; messageQueueSize: number; totalMessages: number; } export declare class CollaborationHub extends EventEmitter { agents: Map<string, Agent>; connections: Map<string, Connection[]>; messageQueue: Message[]; sharedResources: Map<string, any>; taskCoordination: Map<string, Collaboration>; constructor(); registerAgent(name: string, config: any): string; connectAgents(agentA: string, agentB: string, connectionType?: 'bidirectional' | 'unidirectional'): void; broadcastMessage(fromAgent: string, message: any): Promise<string>; sendDirectMessage(fromAgent: string, toAgent: string, message: any): Promise<string>; requestCollaboration(requestingAgent: string, taskDescription: string, requiredCapabilities?: string[]): Promise<Collaboration>; respondToCollaboration(agentName: string, collaborationId: string, response: 'accept' | 'decline'): Promise<Message>; getAgentStatus(agentName: string): Agent | null; getHubStats(): HubStats; calculateCollaborationScore(requester: Agent, candidate: Agent, requiredCapabilities: string[]): number; deliverMessage(message: Message, toAgent: string): Promise<void>; setupEventHandlers(): void; shutdown(): Promise<void>; }