trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
47 lines • 1.57 kB
TypeScript
/**
* HTTP Sync Transport
*
* Implements SyncTransport over HTTP for network-based peer sync.
* Uses a simple JSON REST protocol:
* POST /sync/message — send a sync message
* GET /sync/peers — list connected peers
*
* The server side is a lightweight Bun HTTP server.
* The client side uses fetch() for outbound messages.
*
* @module trellis/sync
*/
import type { SyncTransport, SyncMessage, SyncMessageHandler, PeerId } from './types.js';
export declare class HttpSyncTransport implements SyncTransport {
private localPeerId;
private peerUrls;
private messageHandler;
private knownPeers;
constructor(localPeerId: string);
/**
* Add a remote peer by URL (e.g. "http://192.168.1.10:4200").
*/
addPeer(peerId: string, url: string, name?: string): void;
/**
* Remove a remote peer.
*/
removePeer(peerId: string): void;
send(peerId: string, message: SyncMessage): Promise<void>;
onMessage(handler: SyncMessageHandler): void;
/**
* Receive a message (called by the HTTP server handler).
*/
receiveMessage(message: SyncMessage): Promise<void>;
peers(): PeerId[];
getLocalPeerId(): string;
}
export interface HttpSyncServerConfig {
port: number;
transport: HttpSyncTransport;
}
/**
* Create a Bun-compatible HTTP request handler for sync messages.
* Can be used with Bun.serve() or as middleware.
*/
export declare function createSyncHandler(transport: HttpSyncTransport): (req: Request) => Response | null;
//# sourceMappingURL=http-transport.d.ts.map