UNPKG

automata-metaverse

Version:

Automaton execution engines for self-referential CanvasL/JSONL systems

62 lines 1.8 kB
/** * A₉: WebRTC Messenger Automaton * * Role: P2P Transport via WebRTC * Uses WebRTCManager for peer connections */ import { BaseAutomaton } from './types.js'; import type { AutomatonId, SwarmContext, AutomatonMessage } from './types.js'; import { type WebRTCManagerConfig } from '../network/webrtc-manager.js'; export interface A9WebRTCMessengerState { peers: Map<string, any>; initialized: boolean; } /** * A₉: WebRTC Messenger Automaton * * Manages WebRTC peer connections for P2P messaging */ export declare class A9_WebRTCMessenger extends BaseAutomaton { readonly id: 9; readonly name = "A\u2089 WebRTC Messenger"; readonly role = "P2P Transport via WebRTC"; state: A9WebRTCMessengerState; private webrtcManager?; constructor(config?: WebRTCManagerConfig); tick(swarm: SwarmContext): Promise<void>; private initialize; /** * Handle message from peer */ private handlePeerMessage; /** * Handle connection state change */ private handleConnectionChange; /** * Connect to peer */ connectToPeer(peerId: string, offer?: RTCSessionDescriptionInit): Promise<RTCSessionDescriptionInit>; /** * Accept answer from peer */ acceptAnswer(peerId: string, answer: RTCSessionDescriptionInit): Promise<void>; /** * Send message to peer */ sendToPeer(peerId: string, message: any): void; /** * Broadcast message to all peers */ broadcast(message: any): void; /** * Disconnect from peer */ disconnectPeer(peerId: string): void; receive(from: AutomatonId, message: AutomatonMessage): Promise<void>; /** * Get connection status */ getConnectionStatus(): any; } //# sourceMappingURL=a9-webrtc-messenger.d.ts.map