@essentialai/cogent-bridge
Version:
Cogent Bridge — cross-agent comms for Claude Code, OpenAI Codex and Slack. Codex users: install with `curl -fsSL https://cogent.tools/install.sh | sh`, then start with `cogent-codex` for real-time peer wake.
74 lines • 2 kB
TypeScript
import type { PeerInfo, MessageRecord } from "../types.js";
/**
* WebSocket close codes for different disconnect scenarios.
* Uses standard RFC 6455 / IANA-registered codes.
*/
export declare const WsCloseCode: {
/** Clean client-initiated close. */
readonly NORMAL_CLOSURE: 1000;
/** Heartbeat timeout -- 3 missed pings (90s). */
readonly HEARTBEAT_TIMEOUT: 1001;
/** Invalid frame data from client. */
readonly UNSUPPORTED_DATA: 1003;
/** Unexpected server error. */
readonly INTERNAL_ERROR: 1011;
/** Server shutting down via SIGTERM. */
readonly SERVICE_RESTART: 1012;
};
export interface MessageFrame {
type: "message";
payload: MessageRecord;
timestamp: string;
}
export interface PeerConnectedFrame {
type: "peer_connected";
payload: {
peerId: string;
name: string;
project: string;
};
timestamp: string;
}
export interface PeerDisconnectedFrame {
type: "peer_disconnected";
payload: {
peerId: string;
};
timestamp: string;
}
export interface PeersSnapshotFrame {
type: "peers_snapshot";
payload: {
peers: PeerInfo[];
};
timestamp: string;
}
export interface QueuedMessagesFrame {
type: "queued_messages";
payload: {
messages: MessageRecord[];
};
timestamp: string;
}
export interface ErrorFrame {
type: "error";
payload: {
code: string;
message: string;
};
timestamp: string;
}
export interface DeliveryAckFrame {
type: "delivery_ack";
payload: {
messageId: string;
peerId: string;
};
timestamp: string;
}
/**
* Discriminated union of all server-to-client WebSocket frame types.
* The `type` field acts as the discriminator for client-side dispatch.
*/
export type WsServerFrame = MessageFrame | PeerConnectedFrame | PeerDisconnectedFrame | PeersSnapshotFrame | QueuedMessagesFrame | ErrorFrame | DeliveryAckFrame;
//# sourceMappingURL=ws-frames.d.ts.map