@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.
49 lines • 1.97 kB
JavaScript
import * as registry from "../services/peer-registry.js";
import * as cli from "../services/cc-cli.js";
import * as health from "../services/health-check.js";
/**
* File-based storage backend.
*
* Pure pass-through delegation to existing free functions in peer-registry.ts,
* cc-cli.ts, and health-check.ts. No added logic, logging, or transformation.
*/
export class FileBackend {
// --- Peer management ---
registerPeer(peerId, sessionId, cwd, label, clientVersion, mode, channelSessionId, capabilities, workspaceId, threadId) {
return registry.registerPeer(peerId, sessionId, cwd, label, clientVersion, mode, channelSessionId, capabilities, workspaceId, threadId);
}
async deregisterPeer(peerId, _peerSecret) {
// Local/free mode has no cloud mailboxes → mailboxDeprovisioned is always false.
return { removed: await registry.deregisterPeer(peerId), mailboxDeprovisioned: false };
}
getPeer(peerId) {
return registry.getPeer(peerId);
}
listPeers() {
return registry.listPeers();
}
updateLastSeen(peerId) {
return registry.updateLastSeen(peerId);
}
// --- Message state ---
recordMessage(record) {
return registry.recordMessage(record);
}
getHistory(peerId, limit, includeRelayEchoes, metadataOnly, _dedupInferredEchoes) {
// Local FileBackend doesn't synthesize untagged echoes (no autoRelay
// re-broadcast pattern), so dedupInferredEchoes is a no-op here.
return registry.getHistory(peerId, limit, includeRelayEchoes, metadataOnly);
}
// --- Message relay ---
validateSession(sessionId, cwd) {
return cli.validateSession(sessionId, cwd);
}
execClaude(sessionId, message, cwd, timeoutMs) {
return cli.execClaude(sessionId, message, cwd, timeoutMs);
}
// --- Health ---
checkHealth() {
return health.checkHealth();
}
}
//# sourceMappingURL=file-backend.js.map