@essentialai/cogent-server 2.0.1 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/__tests__/helpers.d.ts +4 -0
  3. package/dist/__tests__/helpers.d.ts.map +1 -1
  4. package/dist/__tests__/helpers.js +14 -0
  5. package/dist/__tests__/helpers.js.map +1 -1
  6. package/dist/app.d.ts +4 -0
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/app.js +29 -3
  9. package/dist/app.js.map +1 -1
  10. package/dist/index.js +12 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/middleware/ws-auth.d.ts +11 -0
  13. package/dist/middleware/ws-auth.d.ts.map +1 -1
  14. package/dist/middleware/ws-auth.js +46 -0
  15. package/dist/middleware/ws-auth.js.map +1 -1
  16. package/dist/routes/adapter.d.ts +17 -0
  17. package/dist/routes/adapter.d.ts.map +1 -0
  18. package/dist/routes/adapter.js +119 -0
  19. package/dist/routes/adapter.js.map +1 -0
  20. package/dist/routes/channel-mappings.d.ts +17 -0
  21. package/dist/routes/channel-mappings.d.ts.map +1 -0
  22. package/dist/routes/channel-mappings.js +120 -0
  23. package/dist/routes/channel-mappings.js.map +1 -0
  24. package/dist/routes/messages.d.ts +2 -1
  25. package/dist/routes/messages.d.ts.map +1 -1
  26. package/dist/routes/messages.js +19 -3
  27. package/dist/routes/messages.js.map +1 -1
  28. package/dist/routes/peers.d.ts.map +1 -1
  29. package/dist/routes/peers.js +5 -1
  30. package/dist/routes/peers.js.map +1 -1
  31. package/dist/routes/ui.d.ts.map +1 -1
  32. package/dist/routes/ui.js +5 -0
  33. package/dist/routes/ui.js.map +1 -1
  34. package/dist/services/adapter-registry.d.ts +45 -0
  35. package/dist/services/adapter-registry.d.ts.map +1 -0
  36. package/dist/services/adapter-registry.js +121 -0
  37. package/dist/services/adapter-registry.js.map +1 -0
  38. package/dist/services/channel-index.d.ts +29 -0
  39. package/dist/services/channel-index.d.ts.map +1 -0
  40. package/dist/services/channel-index.js +53 -0
  41. package/dist/services/channel-index.js.map +1 -0
  42. package/dist/services/connection-manager.d.ts +10 -0
  43. package/dist/services/connection-manager.d.ts.map +1 -1
  44. package/dist/services/connection-manager.js +23 -0
  45. package/dist/services/connection-manager.js.map +1 -1
  46. package/dist/types.d.ts +17 -0
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/ui/components/NavBar.d.ts.map +1 -1
  49. package/dist/ui/components/NavBar.js +1 -1
  50. package/dist/ui/components/NavBar.js.map +1 -1
  51. package/dist/ui/pages/FaqPage.d.ts +3 -0
  52. package/dist/ui/pages/FaqPage.d.ts.map +1 -0
  53. package/dist/ui/pages/FaqPage.js +171 -0
  54. package/dist/ui/pages/FaqPage.js.map +1 -0
  55. package/dist/ui/pages/HowToPage.d.ts.map +1 -1
  56. package/dist/ui/pages/HowToPage.js +3 -3
  57. package/dist/ui/pages/HowToPage.js.map +1 -1
  58. package/dist/ui/pages/LandingPage.d.ts.map +1 -1
  59. package/dist/ui/pages/LandingPage.js +1 -1
  60. package/dist/ui/pages/LandingPage.js.map +1 -1
  61. package/dist/ws/adapter-handler.d.ts +30 -0
  62. package/dist/ws/adapter-handler.d.ts.map +1 -0
  63. package/dist/ws/adapter-handler.js +81 -0
  64. package/dist/ws/adapter-handler.js.map +1 -0
  65. package/dist/ws/frames.d.ts +31 -1
  66. package/dist/ws/frames.d.ts.map +1 -1
  67. package/dist/ws/frames.js +16 -0
  68. package/dist/ws/frames.js.map +1 -1
  69. package/package.json +2 -2
@@ -156,5 +156,5 @@ export const LandingPage = ({ stats }) => (_jsx(Layout, { title: "COGENT", child
156
156
  ██║ ██║ ██║██║ ███╗█████╗ ██╔██╗ ██║ ██║
157
157
  ██║ ██║ ██║██║ ██║██╔══╝ ██║╚██╗██║ ██║
158
158
  ╚██████╗╚██████╔╝╚██████╔╝███████╗██║ ╚████║ ██║
159
- ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝` }), _jsx("span", { class: cursor })] }), _jsx("p", { class: heroSubtitle, children: "Real-time relay for Claude Code inter-session communication" }), _jsxs("p", { class: heroSubtitle, style: "margin-top: 0.5rem; font-size: 0.8rem;", children: ["by ", _jsx("a", { href: "https://essentialai.uk", style: "color: inherit; text-decoration: none;", children: "Essential AI Solutions" })] }), _jsx("p", { class: heroSubtitle, style: "margin-top: 1rem;", children: _jsx("a", { href: "/how-to", style: `color: ${colors.green}; font-weight: 700;`, children: "How-To Guide \u2192" }) })] }), _jsxs("div", { class: statsRow, children: [_jsx(StatCard, { id: "stat-sessions", value: stats.activeSessions, label: "Active Sessions" }), _jsx(StatCard, { id: "stat-agents", value: stats.connectedAgents, label: "Connected Agents" }), _jsx(StatCard, { id: "stat-messages", value: stats.totalMessagesRelayed, label: "Messages Relayed" })] }), _jsxs("div", { class: section, children: [_jsx("h2", { class: sectionTitle, children: "Install via Plugin Marketplace (Recommended)" }), _jsxs(Terminal, { title: "Two Commands \u2014 Full Setup", children: [_jsx("p", { class: noteText, children: "Install the plugin with slash commands, auto-discovery, and cloud relay:" }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: "$" }), _jsx("span", { class: stepCommand, children: "claude plugin marketplace add eaisdevelopment/cogent" })] }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: "$" }), _jsx("span", { class: stepCommand, children: "claude plugin install cogent@cogent" })] }), _jsxs("p", { class: noteText, children: ["Restart Claude Code. Use ", _jsx("span", { class: stepCommand, children: "/cogent:register" }), " to join the bridge \u2014 session discovery, registration, and message protocol are handled automatically."] })] })] }), _jsxs("div", { class: section, children: [_jsx("h2", { class: sectionTitle, children: "Alternative: Manual MCP Setup" }), _jsxs(Terminal, { title: "MCP Tools Only (No Slash Commands)", children: [_jsx("p", { class: noteText, children: "Or use a single command to register the MCP server directly:" }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: "$" }), _jsx("span", { class: stepCommand, children: "claude mcp add cogent -e COGENT_ENDPOINT=https://cogent.tools -s user -- npx -y @essentialai/cogent-bridge" })] }), _jsxs("p", { class: noteText, children: ["This gives you the six ", _jsx("span", { class: stepCommand, children: "cogent_" }), " MCP tools. For slash commands (", _jsx("span", { class: stepCommand, children: "/cogent:register" }), ", etc.), use the Plugin Marketplace above."] })] })] }), _jsxs("div", { class: section, children: [_jsx("h2", { class: sectionTitle, children: "Quick Start" }), _jsxs(Terminal, { title: "Quick Start", children: [_jsxs("div", { class: stepLine, children: [_jsx("span", { class: stepNumber, children: "1." }), " Create a channel with a friendly name"] }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: ">" }), _jsx("span", { class: stepCommand, children: ` Create a Cogent channel called "my-project" with secret "team-secret"` })] }), _jsxs("p", { class: noteText, children: ["Returns a channel name (e.g., ", _jsx("span", { class: stepCommand, children: "my-project" }), ") and a secret to share. Omit the name to auto-generate one (e.g., ", _jsx("span", { class: stepCommand, children: "swift-fox-a3f1" }), ")."] }), _jsxs("div", { class: stepLine, children: [_jsx("span", { class: stepNumber, children: "2." }), " Join from another Claude Code instance using the channel name"] }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: ">" }), _jsx("span", { class: stepCommand, children: ` Join Cogent channel "my-project" with secret "team-secret"` })] }), _jsxs("div", { class: stepLine, children: [_jsx("span", { class: stepNumber, children: "3." }), " Start communicating"] }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: ">" }), _jsx("span", { class: stepCommand, children: ` Register as "backend" and send a message to "frontend"` })] })] })] }), _jsxs("a", { href: "/how-to", class: howToLink, children: [_jsx("div", { class: howToTitle, children: "How Teams Deliver Faster with Cogent \u2192" }), _jsx("p", { class: howToDesc, children: "Real-world use cases, command examples, and best practices for parallel development, cross-team bug fixes, API contract negotiation, and more." })] }), _jsxs("div", { class: footer, children: ["COGENT \u2014 Powered by ", _jsx("a", { href: "https://essentialai.uk", style: "color: inherit;", children: "Essential AI Solutions Ltd." }), " \u2014 ", _jsx("a", { href: "/", style: "color: inherit;", children: "cogent.tools" })] }), _jsx("script", { dangerouslySetInnerHTML: { __html: sseScript } })] }) }));
159
+ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝` }), _jsx("span", { class: cursor })] }), _jsx("p", { class: heroSubtitle, children: "Real-time relay for Claude Code inter-session communication \u2014 now with Slack integration" }), _jsxs("p", { class: heroSubtitle, style: "margin-top: 0.5rem; font-size: 0.8rem;", children: ["by ", _jsx("a", { href: "https://essentialai.uk", style: "color: inherit; text-decoration: none;", children: "Essential AI Solutions" })] }), _jsx("p", { class: heroSubtitle, style: "margin-top: 1rem;", children: _jsx("a", { href: "/how-to", style: `color: ${colors.green}; font-weight: 700;`, children: "How-To Guide \u2192" }) })] }), _jsxs("div", { class: statsRow, children: [_jsx(StatCard, { id: "stat-sessions", value: stats.activeSessions, label: "Active Sessions" }), _jsx(StatCard, { id: "stat-agents", value: stats.connectedAgents, label: "Connected Agents" }), _jsx(StatCard, { id: "stat-messages", value: stats.totalMessagesRelayed, label: "Messages Relayed" })] }), _jsxs("div", { class: section, children: [_jsx("h2", { class: sectionTitle, children: "Install via Plugin Marketplace (Recommended)" }), _jsxs(Terminal, { title: "Two Commands \u2014 Full Setup", children: [_jsx("p", { class: noteText, children: "Install the plugin with slash commands, auto-discovery, and cloud relay:" }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: "$" }), _jsx("span", { class: stepCommand, children: "claude plugin marketplace add eaisdevelopment/cogent" })] }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: "$" }), _jsx("span", { class: stepCommand, children: "claude plugin install cogent@cogent" })] }), _jsxs("p", { class: noteText, children: ["Restart Claude Code. Use ", _jsx("span", { class: stepCommand, children: "/cogent:register" }), " to join the bridge \u2014 session discovery, registration, and message protocol are handled automatically."] })] })] }), _jsxs("div", { class: section, children: [_jsx("h2", { class: sectionTitle, children: "Alternative: Manual MCP Setup" }), _jsxs(Terminal, { title: "MCP Tools Only (No Slash Commands)", children: [_jsx("p", { class: noteText, children: "Or use a single command to register the MCP server directly:" }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: "$" }), _jsx("span", { class: stepCommand, children: "claude mcp add cogent -e COGENT_ENDPOINT=https://cogent.tools -s user -- npx -y @essentialai/cogent-bridge" })] }), _jsxs("p", { class: noteText, children: ["This gives you the six ", _jsx("span", { class: stepCommand, children: "cogent_" }), " MCP tools. For slash commands (", _jsx("span", { class: stepCommand, children: "/cogent:register" }), ", etc.), use the Plugin Marketplace above."] })] })] }), _jsxs("div", { class: section, children: [_jsx("h2", { class: sectionTitle, children: "Updating to the Latest Version" }), _jsxs(Terminal, { title: "Stay Up to Date", children: [_jsxs("p", { class: noteText, children: [_jsx("span", { class: stepNumber, children: "Plugin Marketplace:" }), " Re-run the install command to pull the latest version:"] }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: "$" }), _jsx("span", { class: stepCommand, children: "claude plugin marketplace add eaisdevelopment/cogent" })] }), _jsxs("p", { class: noteText, children: [_jsx("span", { class: stepNumber, children: "Manual MCP / Claude Desktop:" }), " If you used ", _jsx("span", { class: stepCommand, children: "npx -y @essentialai/cogent-bridge" }), ", you already get the latest version automatically on each restart. No action needed."] }), _jsxs("p", { class: noteText, children: [_jsx("span", { class: stepNumber, children: "Global install:" }), " If you installed globally with npm, update explicitly:"] }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: "$" }), _jsx("span", { class: stepCommand, children: "npm update -g @essentialai/cogent-bridge" })] })] })] }), _jsxs("div", { class: section, children: [_jsx("h2", { class: sectionTitle, children: "Quick Start" }), _jsxs(Terminal, { title: "Quick Start", children: [_jsxs("div", { class: stepLine, children: [_jsx("span", { class: stepNumber, children: "1." }), " Create a channel with a friendly name"] }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: ">" }), _jsx("span", { class: stepCommand, children: ` Create a Cogent channel called "my-project" with secret "team-secret"` })] }), _jsxs("p", { class: noteText, children: ["Returns a channel name (e.g., ", _jsx("span", { class: stepCommand, children: "my-project" }), ") and a secret to share. Omit the name to auto-generate one (e.g., ", _jsx("span", { class: stepCommand, children: "swift-fox-a3f1" }), ")."] }), _jsxs("div", { class: stepLine, children: [_jsx("span", { class: stepNumber, children: "2." }), " Join from another Claude Code instance using the channel name"] }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: ">" }), _jsx("span", { class: stepCommand, children: ` Join Cogent channel "my-project" with secret "team-secret"` })] }), _jsxs("div", { class: stepLine, children: [_jsx("span", { class: stepNumber, children: "3." }), " Start communicating"] }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: ">" }), _jsx("span", { class: stepCommand, children: ` Register as "backend" and send a message to "frontend"` })] })] })] }), _jsxs("div", { class: section, children: [_jsx("h2", { class: sectionTitle, children: "Slack Integration (NEW)" }), _jsxs(Terminal, { title: "Bridge Slack Channels to COGENT", children: [_jsx("p", { class: noteText, children: "Connect your Slack workspace to COGENT so humans and AI agents communicate in the same channel." }), _jsxs("div", { class: stepLine, children: [_jsx("span", { class: stepNumber, children: "1." }), " Install the Cogent Bridge Slack app in your workspace"] }), _jsxs("div", { class: stepLine, children: [_jsx("span", { class: stepNumber, children: "2." }), " In any Slack channel, run:"] }), _jsxs("div", { class: codeBlock, children: [_jsx("span", { class: promptChar, children: "/" }), _jsx("span", { class: stepCommand, children: "cogent map <sessionId> <secret>" })] }), _jsxs("div", { class: stepLine, children: [_jsx("span", { class: stepNumber, children: "3." }), " Messages flow bidirectionally \u2014 Slack users and CC agents share the same conversation"] }), _jsxs("p", { class: noteText, children: ["Slash commands: ", _jsx("span", { class: stepCommand, children: "/cogent peers" }), " (list all peers), ", _jsx("span", { class: stepCommand, children: "/cogent send @backend msg" }), " (targeted message), ", _jsx("span", { class: stepCommand, children: "/cogent status" }), " (session health)"] })] })] }), _jsxs("a", { href: "/how-to", class: howToLink, children: [_jsx("div", { class: howToTitle, children: "How Teams Deliver Faster with Cogent \u2192" }), _jsx("p", { class: howToDesc, children: "Real-world use cases, command examples, and best practices for parallel development, cross-team bug fixes, API contract negotiation, and more." })] }), _jsxs("a", { href: "/faq", class: howToLink, children: [_jsx("div", { class: howToTitle, children: "FAQ & Troubleshooting \u2192" }), _jsx("p", { class: howToDesc, children: "Common setup issues, message flow troubleshooting, version compatibility, and solutions for Slack bridge configuration." })] }), _jsxs("div", { class: footer, children: ["COGENT \u2014 Powered by ", _jsx("a", { href: "https://essentialai.uk", style: "color: inherit;", children: "Essential AI Solutions Ltd." }), " \u2014 ", _jsx("a", { href: "/", style: "color: inherit;", children: "cogent.tools" })] }), _jsx("script", { dangerouslySetInnerHTML: { __html: sseScript } })] }) }));
160
160
  //# sourceMappingURL=LandingPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LandingPage.js","sourceRoot":"","sources":["../../../src/ui/pages/LandingPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LandingPage.js","sourceRoot":"","sources":["../../../src/ui/pages/LandingPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { WSEvents } from "hono/ws";
2
+ import type { AdapterRegistry } from "../services/adapter-registry.js";
3
+ import type { MessageQueueService } from "../services/message-queue.js";
4
+ import type { SessionStore } from "../services/session-store.js";
5
+ import type { ConnectionManager } from "../services/connection-manager.js";
6
+ /**
7
+ * Dependencies for the adapter WebSocket handler.
8
+ */
9
+ export interface AdapterWsHandlerDeps {
10
+ adapterRegistry: AdapterRegistry;
11
+ messageQueue: MessageQueueService;
12
+ sessionStore: SessionStore;
13
+ connectionManager: ConnectionManager;
14
+ heartbeatIntervalMs: number;
15
+ heartbeatMaxMissed: number;
16
+ }
17
+ /**
18
+ * Create a WSEvents handler for a single adapter WebSocket connection.
19
+ *
20
+ * Manages the adapter connection lifecycle:
21
+ * - onOpen: heartbeat setup, register in AdapterRegistry, flush offline queue
22
+ * - onMessage: handle adapter_received and platform_delivered frames from adapter
23
+ * - onClose: remove from AdapterRegistry
24
+ * - onError: log and continue
25
+ *
26
+ * Adapter queue key: `_adapter:<platform>` (underscore prefix prevents
27
+ * collision with valid peer IDs which are UUID format).
28
+ */
29
+ export declare function createAdapterWsHandler(sessionId: string, platform: string, deps: AdapterWsHandlerDeps): WSEvents;
30
+ //# sourceMappingURL=adapter-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-handler.d.ts","sourceRoot":"","sources":["../../src/ws/adapter-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,iCAAiC,CAAC;AAC1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAQ3E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,mBAAmB,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,oBAAoB,GACzB,QAAQ,CAmFV"}
@@ -0,0 +1,81 @@
1
+ import { setupHeartbeat } from "./heartbeat.js";
2
+ import { createQueuedMessagesFrame, createAdapterReceivedAckFrame, createPlatformDeliveredAckFrame, } from "./frames.js";
3
+ /**
4
+ * Create a WSEvents handler for a single adapter WebSocket connection.
5
+ *
6
+ * Manages the adapter connection lifecycle:
7
+ * - onOpen: heartbeat setup, register in AdapterRegistry, flush offline queue
8
+ * - onMessage: handle adapter_received and platform_delivered frames from adapter
9
+ * - onClose: remove from AdapterRegistry
10
+ * - onError: log and continue
11
+ *
12
+ * Adapter queue key: `_adapter:<platform>` (underscore prefix prevents
13
+ * collision with valid peer IDs which are UUID format).
14
+ */
15
+ export function createAdapterWsHandler(sessionId, platform, deps) {
16
+ const adapterQueueKey = `_adapter:${platform}`;
17
+ return {
18
+ async onOpen(_evt, ws) {
19
+ const rawWs = ws.raw;
20
+ // 1. Set up heartbeat ping/pong (reuse existing heartbeat infrastructure)
21
+ const heartbeatInterval = setupHeartbeat(rawWs, deps.heartbeatIntervalMs, deps.heartbeatMaxMissed);
22
+ // 2. Register connection in the adapter registry
23
+ const conn = {
24
+ ws,
25
+ rawWs,
26
+ sessionId,
27
+ platform,
28
+ connectedAt: Date.now(),
29
+ heartbeatInterval,
30
+ };
31
+ deps.adapterRegistry.addConnection(conn);
32
+ // 3. Flush offline message queue for this adapter
33
+ const messages = await deps.messageQueue.dequeueAll(sessionId, adapterQueueKey);
34
+ if (messages.length > 0) {
35
+ const queueFrame = createQueuedMessagesFrame(messages);
36
+ ws.send(JSON.stringify(queueFrame));
37
+ }
38
+ console.error(`[AdapterWsHandler] Adapter connected: platform=${platform}, session=${sessionId}`);
39
+ },
40
+ onMessage(evt, _ws) {
41
+ // Parse incoming adapter frame
42
+ let parsed;
43
+ try {
44
+ const raw = typeof evt.data === "string" ? evt.data : evt.data.toString();
45
+ parsed = JSON.parse(raw);
46
+ }
47
+ catch {
48
+ console.warn(`[AdapterWsHandler] Failed to parse frame from ${platform} adapter in session ${sessionId}`);
49
+ return;
50
+ }
51
+ if (parsed.type === "adapter_received" && parsed.payload) {
52
+ // Stage 2 ack: adapter has received the message
53
+ // Route the ack back to the original sender via ConnectionManager
54
+ const { messageId, fromPeerId } = parsed.payload;
55
+ if (messageId && fromPeerId && typeof messageId === "string" && typeof fromPeerId === "string") {
56
+ const ackFrame = createAdapterReceivedAckFrame(messageId, platform);
57
+ deps.connectionManager.sendToPeer(sessionId, fromPeerId, JSON.stringify(ackFrame));
58
+ }
59
+ }
60
+ else if (parsed.type === "platform_delivered" && parsed.payload) {
61
+ // Stage 3 ack: adapter has delivered to external platform
62
+ const { messageId, fromPeerId, platformMessageId } = parsed.payload;
63
+ if (messageId && fromPeerId && typeof messageId === "string" && typeof fromPeerId === "string") {
64
+ const ackFrame = createPlatformDeliveredAckFrame(messageId, platform, typeof platformMessageId === "string" ? platformMessageId : undefined);
65
+ deps.connectionManager.sendToPeer(sessionId, fromPeerId, JSON.stringify(ackFrame));
66
+ }
67
+ }
68
+ else if (parsed.type) {
69
+ console.debug(`[AdapterWsHandler] Unrecognized frame type "${parsed.type}" from ${platform} adapter`);
70
+ }
71
+ },
72
+ onClose(_evt, ws) {
73
+ deps.adapterRegistry.removeConnection(sessionId, platform, ws);
74
+ console.error(`[AdapterWsHandler] Adapter disconnected: platform=${platform}, session=${sessionId}`);
75
+ },
76
+ onError(evt, _ws) {
77
+ console.error(`[AdapterWsHandler] WebSocket error for ${platform} adapter in session ${sessionId}:`, evt);
78
+ },
79
+ };
80
+ }
81
+ //# sourceMappingURL=adapter-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-handler.js","sourceRoot":"","sources":["../../src/ws/adapter-handler.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,32 @@ export interface DeliveryAckServerFrame {
66
66
  };
67
67
  timestamp: string;
68
68
  }
69
+ /**
70
+ * Stage 2 ack: adapter WebSocket has received the message.
71
+ * Sent from server to the original sender's WS after the adapter connection confirms receipt.
72
+ */
73
+ export interface AdapterReceivedAckFrame {
74
+ type: "adapter_received";
75
+ payload: {
76
+ messageId: string;
77
+ platform: string;
78
+ };
79
+ timestamp: string;
80
+ }
81
+ /**
82
+ * Stage 3 ack: adapter has successfully delivered the message to the external platform
83
+ * (e.g., Slack chat.postMessage succeeded).
84
+ * Sent from server to the original sender's WS after the adapter reports successful platform delivery.
85
+ */
86
+ export interface PlatformDeliveredAckFrame {
87
+ type: "platform_delivered";
88
+ payload: {
89
+ messageId: string;
90
+ platform: string;
91
+ platformMessageId?: string;
92
+ };
93
+ timestamp: string;
94
+ }
69
95
  export interface DeliveryAckClientFrame {
70
96
  type: "delivery_ack";
71
97
  payload: {
@@ -78,7 +104,7 @@ export interface DeliveryAckClientFrame {
78
104
  * Discriminated union of all server-to-client WebSocket frame types.
79
105
  * The `type` field acts as the discriminator for client-side dispatch.
80
106
  */
81
- export type WsServerFrame = MessageFrame | PeerConnectedFrame | PeerDisconnectedFrame | PeersSnapshotFrame | QueuedMessagesFrame | ErrorFrame | DeliveryAckServerFrame;
107
+ export type WsServerFrame = MessageFrame | PeerConnectedFrame | PeerDisconnectedFrame | PeersSnapshotFrame | QueuedMessagesFrame | ErrorFrame | DeliveryAckServerFrame | AdapterReceivedAckFrame | PlatformDeliveredAckFrame;
82
108
  /** Create a frame delivering a single message to a peer. */
83
109
  export declare function createMessageFrame(message: MessageRecord): MessageFrame;
84
110
  /** Create a frame notifying peers that a new peer has connected via WebSocket. */
@@ -97,4 +123,8 @@ export declare function createQueuedMessagesFrame(messages: MessageRecord[]): Qu
97
123
  export declare function createErrorFrame(code: string, message: string): ErrorFrame;
98
124
  /** Create a delivery acknowledgment frame routed from recipient to sender. */
99
125
  export declare function createDeliveryAckFrame(messageId: string, peerId: string): DeliveryAckServerFrame;
126
+ /** Create an adapter-received ack frame (Stage 2 of 3-stage delivery). */
127
+ export declare function createAdapterReceivedAckFrame(messageId: string, platform: string): AdapterReceivedAckFrame;
128
+ /** Create a platform-delivered ack frame (Stage 3 of 3-stage delivery). */
129
+ export declare function createPlatformDeliveredAckFrame(messageId: string, platform: string, platformMessageId?: string): PlatformDeliveredAckFrame;
100
130
  //# sourceMappingURL=frames.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/ws/frames.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/ws/frames.ts"],"names":[],"mappings":"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"}
package/dist/ws/frames.js CHANGED
@@ -73,4 +73,20 @@ export function createDeliveryAckFrame(messageId, peerId) {
73
73
  timestamp: new Date().toISOString(),
74
74
  };
75
75
  }
76
+ /** Create an adapter-received ack frame (Stage 2 of 3-stage delivery). */
77
+ export function createAdapterReceivedAckFrame(messageId, platform) {
78
+ return {
79
+ type: "adapter_received",
80
+ payload: { messageId, platform },
81
+ timestamp: new Date().toISOString(),
82
+ };
83
+ }
84
+ /** Create a platform-delivered ack frame (Stage 3 of 3-stage delivery). */
85
+ export function createPlatformDeliveredAckFrame(messageId, platform, platformMessageId) {
86
+ return {
87
+ type: "platform_delivered",
88
+ payload: { messageId, platform, platformMessageId },
89
+ timestamp: new Date().toISOString(),
90
+ };
91
+ }
76
92
  //# sourceMappingURL=frames.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"frames.js","sourceRoot":"","sources":["../../src/ws/frames.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,oCAAoC;IACpC,cAAc,EAAE,IAAI;IACpB,iDAAiD;IACjD,iBAAiB,EAAE,IAAI;IACvB,sCAAsC;IACtC,gBAAgB,EAAE,IAAI;IACtB,+BAA+B;IAC/B,cAAc,EAAE,IAAI;IACpB,wCAAwC;IACxC,eAAe,EAAE,IAAI;CACb,CAAC;AAsEX,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,4DAA4D;AAC5D,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,wBAAwB,CAAC,IAIxC;IACC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,2BAA2B,CACzC,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE,MAAM,EAAE;QACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,wBAAwB,CACtC,KAAiB;IAEjB,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE,KAAK,EAAE;QAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,yBAAyB,CACvC,QAAyB;IAEzB,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE,QAAQ,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CACpC,SAAiB,EACjB,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;QAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"frames.js","sourceRoot":"","sources":["../../src/ws/frames.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,oCAAoC;IACpC,cAAc,EAAE,IAAI;IACpB,iDAAiD;IACjD,iBAAiB,EAAE,IAAI;IACvB,sCAAsC;IACtC,gBAAgB,EAAE,IAAI;IACtB,+BAA+B;IAC/B,cAAc,EAAE,IAAI;IACpB,wCAAwC;IACxC,eAAe,EAAE,IAAI;CACb,CAAC;AA6FX,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,4DAA4D;AAC5D,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,wBAAwB,CAAC,IAIxC;IACC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,2BAA2B,CACzC,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE,MAAM,EAAE;QACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,wBAAwB,CACtC,KAAiB;IAEjB,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE,KAAK,EAAE;QAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,yBAAyB,CACvC,QAAyB;IAEzB,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE,QAAQ,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CACpC,SAAiB,EACjB,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;QAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,6BAA6B,CAC3C,SAAiB,EACjB,QAAgB;IAEhB,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;QAChC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,+BAA+B,CAC7C,SAAiB,EACjB,QAAgB,EAChB,iBAA0B;IAE1B,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE;QACnD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@essentialai/cogent-server",
3
- "version": "2.0.1",
3
+ "version": "3.0.1",
4
4
  "description": "Cogent relay server with session management and bearer auth",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -34,7 +34,7 @@
34
34
  "websocket"
35
35
  ],
36
36
  "dependencies": {
37
- "@essentialai/cogent": "^2.0.0",
37
+ "@essentialai/cogent": "^3.0.0",
38
38
  "@hono/node-server": "^1.19.0",
39
39
  "@hono/node-ws": "^1.3.0",
40
40
  "@hono/zod-validator": "^0.7.6",