@cat-factory/node-server 0.68.0 → 0.69.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.
@@ -6,7 +6,7 @@ import { type GateProviderOverrides } from '@cat-factory/gates';
6
6
  import type { PreviewTransport } from '@cat-factory/kernel';
7
7
  import type { PgBoss } from 'pg-boss';
8
8
  import type { DrizzleDb } from './db/client.js';
9
- import { type NodeRealtimeHub } from './realtime.js';
9
+ import { type LocalEventSink } from './realtime.js';
10
10
  import { createDrizzleRepositories } from './repositories/drizzle.js';
11
11
  import type { ContentStorageBackend } from '@cat-factory/contracts';
12
12
  /**
@@ -173,14 +173,15 @@ export interface NodeContainerOptions {
173
173
  */
174
174
  gateProviders?: GateProviderOverrides;
175
175
  /**
176
- * The real-time subscriber registry. When provided, the container wires a
176
+ * The real-time delivery sink. When provided, the container wires a
177
177
  * {@link NodeEventPublisher} (so the engine pushes execution/board/notification events
178
- * to subscribed browsers) and composes an in-app notification channel. `start()`
179
- * creates the hub and attaches it to the HTTP server via {@link attachRealtime};
180
- * `createServer`/tests leave it unset and the engine falls back to the no-op publisher
181
- * (no live push), exactly as before.
178
+ * to subscribed browsers) and composes an in-app notification channel. `start()` passes
179
+ * the layered propagator here (the local hub + any cross-node adapter such as Redis) and
180
+ * attaches the hub itself to the HTTP server via {@link attachRealtime}; a single-node /
181
+ * local boot passes the bare hub. `createServer`/tests leave it unset and the engine
182
+ * falls back to the no-op publisher (no live push), exactly as before.
182
183
  */
183
- realtimeHub?: NodeRealtimeHub;
184
+ realtimeSink?: LocalEventSink;
184
185
  /**
185
186
  * Override the shared HTTP provider the built-in `manifest` runner backend dispatches/tests
186
187
  * through (its OAuth cache reused), e.g. for tests. This is NOT the custom-kind seam: a
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
package/dist/container.js CHANGED
@@ -1232,8 +1232,8 @@ export function buildNodeContainer(options) {
1232
1232
  // The in-app push is also a notification channel, composed alongside Slack (when
1233
1233
  // enabled) so a raised notification both lands in the inbox live AND fans to Slack.
1234
1234
  const slackDeps = selectNodeSlackDeps(config, db, repos);
1235
- const executionEventPublisher = options.realtimeHub
1236
- ? new FanOutEventPublisher(new NodeEventPublisher(options.realtimeHub), {
1235
+ const executionEventPublisher = options.realtimeSink
1236
+ ? new FanOutEventPublisher(new NodeEventPublisher(options.realtimeSink), {
1237
1237
  workspaceMountRepository: repos.workspaceMountRepository,
1238
1238
  })
1239
1239
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { createApp, createServer, serveAppWithRealtime, start, type CreateServerOptions, } from './server.js';
2
- export { NodeRealtimeHub, attachRealtime } from './realtime.js';
2
+ export { NodeRealtimeHub, NodeEventPublisher, attachRealtime, type LocalEventSink, } from './realtime.js';
3
+ export { LayeredEventPropagator, buildRealtimePropagator, type RealtimeMessage, type WebSocketPropagator, type PropagatorLogger, } from './propagator.js';
4
+ export { RedisWebSocketPropagator, DEFAULT_REALTIME_CHANNEL, type RedisWebSocketPropagatorOptions, } from './redisPropagator.js';
3
5
  export { buildNodeContainer, buildNodeResolveTransport, withProvisioningLog, type NodeContainerOptions, } from './container.js';
4
6
  export { loadNodeConfig } from './config.js';
5
7
  export { createNodeGateways } from './gateways.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAA;AAIpB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAA;AAMpE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAG7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGzC,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC1F,OAAO,EACL,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAA;AAClG,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AACxC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAA;AAIpB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,KAAK,cAAc,GACpB,MAAM,eAAe,CAAA;AAItB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,+BAA+B,GACrC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAA;AAMpE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAG7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGzC,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC1F,OAAO,EACL,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAA;AAClG,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AACxC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA"}
package/dist/index.js CHANGED
@@ -7,7 +7,12 @@ export { createApp, createServer, serveAppWithRealtime, start, } from './server.
7
7
  // Real-time WebSocket transport pieces, re-exported so the local facade's mothership boot
8
8
  // (which does NOT call `start()`, since there is no Postgres/pg-boss) can stand up the same
9
9
  // per-workspace hub + `ws` upgrade listener the standard Node boot does.
10
- export { NodeRealtimeHub, attachRealtime } from './realtime.js';
10
+ export { NodeRealtimeHub, NodeEventPublisher, attachRealtime, } from './realtime.js';
11
+ // The layered cross-node real-time propagator (Redis today; more adapters later). A multi-node
12
+ // Node deployment sets REDIS_URL and every browser sees every event regardless of which node
13
+ // produced it; single-node / local mode wires none of this.
14
+ export { LayeredEventPropagator, buildRealtimePropagator, } from './propagator.js';
15
+ export { RedisWebSocketPropagator, DEFAULT_REALTIME_CHANNEL, } from './redisPropagator.js';
11
16
  export { buildNodeContainer, buildNodeResolveTransport, withProvisioningLog, } from './container.js';
12
17
  export { loadNodeConfig } from './config.js';
13
18
  export { createNodeGateways } from './gateways.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qFAAqF;AACrF,qFAAqF;AACrF,uFAAuF;AACvF,6EAA6E;AAC7E,OAAO,EACL,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,KAAK,GAEN,MAAM,aAAa,CAAA;AACpB,0FAA0F;AAC1F,4FAA4F;AAC5F,yEAAyE;AACzE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,GAEpB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAA;AAEpE,oFAAoF;AACpF,oFAAoF;AACpF,qFAAqF;AACrF,0FAA0F;AAC1F,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAE1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC7D,sFAAsF;AACtF,yFAAyF;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,cAAc,EAAiC,MAAM,gBAAgB,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,0FAA0F;AAC1F,+EAA+E;AAC/E,OAAO,EAAE,gBAAgB,EAAyB,MAAM,uBAAuB,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAuC,MAAM,sBAAsB,CAAA;AAC1F,OAAO,EACL,yBAAyB,EAEzB,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAA;AAClG,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AACxC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qFAAqF;AACrF,qFAAqF;AACrF,uFAAuF;AACvF,6EAA6E;AAC7E,OAAO,EACL,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,KAAK,GAEN,MAAM,aAAa,CAAA;AACpB,0FAA0F;AAC1F,4FAA4F;AAC5F,yEAAyE;AACzE,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,GAEf,MAAM,eAAe,CAAA;AACtB,+FAA+F;AAC/F,6FAA6F;AAC7F,4DAA4D;AAC5D,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GAIxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GAEzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,GAEpB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAA;AAEpE,oFAAoF;AACpF,oFAAoF;AACpF,qFAAqF;AACrF,0FAA0F;AAC1F,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAE1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC7D,sFAAsF;AACtF,yFAAyF;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,cAAc,EAAiC,MAAM,gBAAgB,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,0FAA0F;AAC1F,+EAA+E;AAC/E,OAAO,EAAE,gBAAgB,EAAyB,MAAM,uBAAuB,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAuC,MAAM,sBAAsB,CAAA;AAC1F,OAAO,EACL,yBAAyB,EAEzB,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAA;AAClG,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AACxC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA"}
@@ -0,0 +1,73 @@
1
+ import type { LocalEventSink, NodeRealtimeHub } from './realtime.js';
2
+ /** The minimal logger shape the propagator + its adapters need (a pino logger satisfies it). */
3
+ export interface PropagatorLogger {
4
+ info(obj: object, msg?: string): void;
5
+ warn(obj: object, msg?: string): void;
6
+ }
7
+ /**
8
+ * A pre-serialised workspace event queued for cross-node delivery. `payload` is the exact
9
+ * JSON text frame the SPA receives (produced by {@link NodeEventPublisher}); `originConnectionId`
10
+ * carries the `?cid=` of the tab that caused a board mutation so its own echo can be suppressed
11
+ * (harmless across nodes — a peer simply won't hold that connection).
12
+ */
13
+ export interface RealtimeMessage {
14
+ workspaceId: string;
15
+ payload: string;
16
+ originConnectionId?: string | null;
17
+ }
18
+ /**
19
+ * A cross-node delivery adapter. It PUBLISHES locally-originated events to peer nodes and,
20
+ * once started, APPLIES events arriving from peers to the local hub via the `deliver` callback.
21
+ * Adapters must ignore their OWN echoes (an event this node published coming back over the bus)
22
+ * — the local hub already delivered it — so implementations tag messages with a per-node id.
23
+ */
24
+ export interface WebSocketPropagator {
25
+ /** Human-readable adapter name, for logs. */
26
+ readonly name: string;
27
+ /**
28
+ * Forward a locally-originated event to peer nodes. Best-effort and non-blocking: a bus
29
+ * hiccup must never break a state transition (the persisted row is the source of truth and
30
+ * clients reconcile on reconnect), so this never throws.
31
+ */
32
+ publish(message: RealtimeMessage): void;
33
+ /**
34
+ * Connect and begin receiving peer events; each is handed to `deliver`, which applies it to
35
+ * the local hub. Throws if the adapter cannot be initialised (e.g. an opt-in dependency is
36
+ * missing) — the operator asked for it by configuring it, so fail loud at boot.
37
+ */
38
+ start(deliver: (message: RealtimeMessage) => void): Promise<void>;
39
+ /** Release connections on shutdown. */
40
+ stop(): Promise<void>;
41
+ }
42
+ /**
43
+ * The layered real-time sink: every published event fans to the local {@link NodeRealtimeHub}
44
+ * AND to each configured cross-node adapter, and every event arriving from a peer is applied
45
+ * back to the local hub. Implements {@link LocalEventSink}, so it is a drop-in replacement for
46
+ * the bare hub in {@link NodeEventPublisher} — the rest of the engine is oblivious.
47
+ */
48
+ export declare class LayeredEventPropagator implements LocalEventSink {
49
+ private readonly hub;
50
+ private readonly adapters;
51
+ constructor(hub: NodeRealtimeHub, adapters?: readonly WebSocketPropagator[]);
52
+ /** Whether any cross-node adapter is wired (false ⇒ this is just the bare local hub). */
53
+ get hasRemote(): boolean;
54
+ broadcast(workspaceId: string, payload: string, originConnectionId?: string | null): void;
55
+ /**
56
+ * Start every adapter. A peer event is applied straight to the local hub (NOT back through
57
+ * {@link broadcast}), so it is never re-published to the bus — that both prevents an infinite
58
+ * loop and avoids double delivery.
59
+ */
60
+ start(log: PropagatorLogger): Promise<void>;
61
+ stop(): Promise<void>;
62
+ }
63
+ /**
64
+ * Compose the real-time sink from the environment. Wires a {@link RedisWebSocketPropagator}
65
+ * when `REDIS_URL` is set (multi-node deployment); otherwise returns the bare-hub layer with no
66
+ * adapters and no extra dependency — the default for local mode and single-replica Node, which
67
+ * never set `REDIS_URL`. Configurable via `REDIS_REALTIME_CHANNEL` (the pub/sub channel, default
68
+ * `cat-factory:realtime`) and `REALTIME_NODE_ID` (an optional readable prefix for this node's
69
+ * echo-suppression id — a per-process random suffix is always appended, so it is safe to set the
70
+ * same value on every replica).
71
+ */
72
+ export declare function buildRealtimePropagator(hub: NodeRealtimeHub, env: NodeJS.ProcessEnv, log: PropagatorLogger): LayeredEventPropagator;
73
+ //# sourceMappingURL=propagator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propagator.d.ts","sourceRoot":"","sources":["../src/propagator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AA0BpE,gGAAgG;AAChG,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;IACvC;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjE,uCAAuC;IACvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,cAAc;IAEzD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAF3B,YACmB,GAAG,EAAE,eAAe,EACpB,QAAQ,GAAE,SAAS,mBAAmB,EAAO,EAC5D;IAEJ,yFAAyF;IACzF,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAQxF;IAED;;;;OAIG;IACG,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhD;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;CACF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,EAAE,gBAAgB,GACpB,sBAAsB,CAmBxB"}
@@ -0,0 +1,69 @@
1
+ import { RedisWebSocketPropagator } from './redisPropagator.js';
2
+ /**
3
+ * The layered real-time sink: every published event fans to the local {@link NodeRealtimeHub}
4
+ * AND to each configured cross-node adapter, and every event arriving from a peer is applied
5
+ * back to the local hub. Implements {@link LocalEventSink}, so it is a drop-in replacement for
6
+ * the bare hub in {@link NodeEventPublisher} — the rest of the engine is oblivious.
7
+ */
8
+ export class LayeredEventPropagator {
9
+ hub;
10
+ adapters;
11
+ constructor(hub, adapters = []) {
12
+ this.hub = hub;
13
+ this.adapters = adapters;
14
+ }
15
+ /** Whether any cross-node adapter is wired (false ⇒ this is just the bare local hub). */
16
+ get hasRemote() {
17
+ return this.adapters.length > 0;
18
+ }
19
+ broadcast(workspaceId, payload, originConnectionId) {
20
+ // Local sockets first — the common path and the only one for a single-node deployment.
21
+ this.hub.broadcast(workspaceId, payload, originConnectionId);
22
+ // Then to peer nodes. Adapters swallow their own errors (best-effort), so this loop can't
23
+ // throw and can't be starved by a slow bus.
24
+ for (const adapter of this.adapters) {
25
+ adapter.publish({ workspaceId, payload, originConnectionId });
26
+ }
27
+ }
28
+ /**
29
+ * Start every adapter. A peer event is applied straight to the local hub (NOT back through
30
+ * {@link broadcast}), so it is never re-published to the bus — that both prevents an infinite
31
+ * loop and avoids double delivery.
32
+ */
33
+ async start(log) {
34
+ for (const adapter of this.adapters) {
35
+ await adapter.start((message) => this.hub.broadcast(message.workspaceId, message.payload, message.originConnectionId));
36
+ log.info({ adapter: adapter.name }, 'real-time cross-node propagation adapter started');
37
+ }
38
+ }
39
+ async stop() {
40
+ for (const adapter of this.adapters) {
41
+ await adapter.stop();
42
+ }
43
+ }
44
+ }
45
+ /**
46
+ * Compose the real-time sink from the environment. Wires a {@link RedisWebSocketPropagator}
47
+ * when `REDIS_URL` is set (multi-node deployment); otherwise returns the bare-hub layer with no
48
+ * adapters and no extra dependency — the default for local mode and single-replica Node, which
49
+ * never set `REDIS_URL`. Configurable via `REDIS_REALTIME_CHANNEL` (the pub/sub channel, default
50
+ * `cat-factory:realtime`) and `REALTIME_NODE_ID` (an optional readable prefix for this node's
51
+ * echo-suppression id — a per-process random suffix is always appended, so it is safe to set the
52
+ * same value on every replica).
53
+ */
54
+ export function buildRealtimePropagator(hub, env, log) {
55
+ const adapters = [];
56
+ const redisUrl = env.REDIS_URL?.trim();
57
+ if (redisUrl) {
58
+ const channel = env.REDIS_REALTIME_CHANNEL?.trim() || undefined;
59
+ adapters.push(new RedisWebSocketPropagator({
60
+ url: redisUrl,
61
+ channel,
62
+ nodeId: env.REALTIME_NODE_ID?.trim() || undefined,
63
+ log,
64
+ }));
65
+ log.info({ channel: channel ?? 'cat-factory:realtime' }, 'real-time: cross-node WebSocket propagation enabled (redis)');
66
+ }
67
+ return new LayeredEventPropagator(hub, adapters);
68
+ }
69
+ //# sourceMappingURL=propagator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propagator.js","sourceRoot":"","sources":["../src/propagator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAoE/D;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IAEd,GAAG;IACH,QAAQ;IAF3B,YACmB,GAAoB,EACpB,QAAQ,GAAmC,EAAE;mBAD7C,GAAG;wBACH,QAAQ;IACxB,CAAC;IAEJ,yFAAyF;IACzF,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,SAAS,CAAC,WAAmB,EAAE,OAAe,EAAE,kBAAkC;QAChF,uFAAuF;QACvF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAA;QAC5D,0FAA0F;QAC1F,4CAA4C;QAC5C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,GAAqB;QAC/B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CACrF,CAAA;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,kDAAkD,CAAC,CAAA;QACzF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAoB,EACpB,GAAsB,EACtB,GAAqB;IAErB,MAAM,QAAQ,GAA0B,EAAE,CAAA;IAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,CAAA;IACtC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAA;QAC/D,QAAQ,CAAC,IAAI,CACX,IAAI,wBAAwB,CAAC;YAC3B,GAAG,EAAE,QAAQ;YACb,OAAO;YACP,MAAM,EAAE,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,SAAS;YACjD,GAAG;SACJ,CAAC,CACH,CAAA;QACD,GAAG,CAAC,IAAI,CACN,EAAE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,EAC9C,6DAA6D,CAC9D,CAAA;IACH,CAAC;IACD,OAAO,IAAI,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AAClD,CAAC"}
@@ -13,15 +13,29 @@ interface RealtimeLogger {
13
13
  interface UpgradableServer {
14
14
  on(event: 'upgrade', listener: (request: IncomingMessage, socket: Duplex, head: Buffer) => void): void;
15
15
  }
16
+ /**
17
+ * The narrow write side of the real-time transport: fan a pre-serialised workspace event
18
+ * out to the sockets it should reach. {@link NodeRealtimeHub} implements it for the LOCAL
19
+ * process; the layered {@link LayeredEventPropagator} (see `propagator.ts`) implements the
20
+ * SAME shape by additionally forwarding to peer nodes over a cross-node adapter (e.g.
21
+ * Redis). {@link NodeEventPublisher} writes through this seam so a single-node deployment
22
+ * (local mode) and a multi-node one differ only in which sink is wired — no other code
23
+ * changes between them.
24
+ */
25
+ export interface LocalEventSink {
26
+ broadcast(workspaceId: string, payload: string, originConnectionId?: string | null): void;
27
+ }
16
28
  /**
17
29
  * Per-workspace subscriber registry. Every browser subscribed to a workspace's stream
18
30
  * converges here, so a published event fans out to all of them. In-memory and
19
31
  * single-process: the Node service runs as one process (unlike the Worker's globally
20
32
  * addressed Durable Object), which is the right model for the self-hosted / local
21
- * deployments this facade targets. A multi-replica deployment would need a shared bus
22
- * (Postgres LISTEN/NOTIFY) in front of this a follow-up, not needed for local mode.
33
+ * deployments this facade targets. A multi-replica deployment fronts this with a
34
+ * cross-node {@link LayeredEventPropagator} adapter (Redis today) so an event published on
35
+ * one node reaches browsers connected to another — see `propagator.ts`. Single-node / local
36
+ * mode needs none of that: the bare hub IS the sink.
23
37
  */
24
- export declare class NodeRealtimeHub {
38
+ export declare class NodeRealtimeHub implements LocalEventSink {
25
39
  private readonly rooms;
26
40
  private readonly connectionIds;
27
41
  /** Add a socket to a workspace's room; it is reaped on close/error. */
@@ -44,8 +58,8 @@ export declare class NodeRealtimeHub {
44
58
  * swallows its own errors.
45
59
  */
46
60
  export declare class NodeEventPublisher implements ExecutionEventPublisher {
47
- private readonly hub;
48
- constructor(hub: NodeRealtimeHub);
61
+ private readonly sink;
62
+ constructor(sink: LocalEventSink);
49
63
  executionChanged(workspaceId: string, instance: ExecutionInstance, block?: Block | null): Promise<void>;
50
64
  boardChanged(workspaceId: string, reason: string, _blockId?: string | null, originConnectionId?: string | null): Promise<void>;
51
65
  bootstrapChanged(workspaceId: string, job: BootstrapJob, block?: Block | null): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
package/dist/realtime.js CHANGED
@@ -6,8 +6,10 @@ const WS_EVENTS_PATH = /^\/workspaces\/([^/]+)\/events$/;
6
6
  * converges here, so a published event fans out to all of them. In-memory and
7
7
  * single-process: the Node service runs as one process (unlike the Worker's globally
8
8
  * addressed Durable Object), which is the right model for the self-hosted / local
9
- * deployments this facade targets. A multi-replica deployment would need a shared bus
10
- * (Postgres LISTEN/NOTIFY) in front of this a follow-up, not needed for local mode.
9
+ * deployments this facade targets. A multi-replica deployment fronts this with a
10
+ * cross-node {@link LayeredEventPropagator} adapter (Redis today) so an event published on
11
+ * one node reaches browsers connected to another — see `propagator.ts`. Single-node / local
12
+ * mode needs none of that: the bare hub IS the sink.
11
13
  */
12
14
  export class NodeRealtimeHub {
13
15
  rooms = new Map();
@@ -69,9 +71,13 @@ export class NodeRealtimeHub {
69
71
  * swallows its own errors.
70
72
  */
71
73
  export class NodeEventPublisher {
72
- hub;
73
- constructor(hub) {
74
- this.hub = hub;
74
+ sink;
75
+ // Writes through the {@link LocalEventSink} seam, not the concrete hub: the standard boot
76
+ // wires the layered propagator (local hub + cross-node adapters) here so events also reach
77
+ // browsers on peer nodes, while local mode wires the bare hub. Either way this class is
78
+ // unchanged.
79
+ constructor(sink) {
80
+ this.sink = sink;
75
81
  }
76
82
  async executionChanged(workspaceId, instance, block) {
77
83
  this.publish(workspaceId, {
@@ -118,7 +124,7 @@ export class NodeEventPublisher {
118
124
  }
119
125
  publish(workspaceId, event, originConnectionId) {
120
126
  try {
121
- this.hub.broadcast(workspaceId, JSON.stringify(event), originConnectionId);
127
+ this.sink.broadcast(workspaceId, JSON.stringify(event), originConnectionId);
122
128
  }
123
129
  catch {
124
130
  // No subscribers / serialisation hiccup — the DB write is authoritative and the
@@ -1 +1 @@
1
- {"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { PropagatorLogger, RealtimeMessage, WebSocketPropagator } from './propagator.js';
2
+ /** The tiny slice of the ioredis client surface this adapter uses. */
3
+ export interface RedisClient {
4
+ publish(channel: string, message: string): Promise<number>;
5
+ subscribe(channel: string): Promise<unknown>;
6
+ on(event: 'message', listener: (channel: string, message: string) => void): void;
7
+ on(event: 'error', listener: (err: unknown) => void): void;
8
+ quit(): Promise<unknown>;
9
+ disconnect(): void;
10
+ }
11
+ /** Which of the two connections we're opening — they get different resilience options. */
12
+ type RedisRole = 'publisher' | 'subscriber';
13
+ /** The default Redis pub/sub channel; a single channel carries every workspace's events. */
14
+ export declare const DEFAULT_REALTIME_CHANNEL = "cat-factory:realtime";
15
+ export interface RedisWebSocketPropagatorOptions {
16
+ url: string;
17
+ /** Pub/sub channel (default {@link DEFAULT_REALTIME_CHANNEL}). */
18
+ channel?: string;
19
+ /**
20
+ * An optional human-readable prefix for this node's echo-suppression id (for logs /
21
+ * correlation). A per-process random suffix is ALWAYS appended, so the effective id is unique
22
+ * even when every replica is given the same value — see the constructor.
23
+ */
24
+ nodeId?: string;
25
+ log: PropagatorLogger;
26
+ /**
27
+ * Connect a fresh Redis client for the given role. Defaults to constructing an `ioredis`
28
+ * client from `url` (dynamically imported) with role-specific resilience options and an
29
+ * error handler attached synchronously. A test injects a fake pair sharing an in-memory bus,
30
+ * so the envelope/echo-suppression logic runs without a live Redis.
31
+ */
32
+ connect?: (url: string, role: RedisRole) => Promise<RedisClient>;
33
+ }
34
+ /**
35
+ * Cross-node real-time propagation over Redis pub/sub. A single channel carries every
36
+ * workspace's pre-serialised events; each node subscribes, ignores its own echoes (by node id),
37
+ * and applies peer events to its local hub.
38
+ */
39
+ export declare class RedisWebSocketPropagator implements WebSocketPropagator {
40
+ readonly name = "redis";
41
+ private readonly url;
42
+ private readonly channel;
43
+ private readonly nodeId;
44
+ private readonly log;
45
+ private readonly connect;
46
+ private pub?;
47
+ private sub?;
48
+ constructor(options: RedisWebSocketPropagatorOptions);
49
+ private defaultConnect;
50
+ publish(message: RealtimeMessage): void;
51
+ start(deliver: (message: RealtimeMessage) => void): Promise<void>;
52
+ stop(): Promise<void>;
53
+ private gracefulClose;
54
+ private onConnectionError;
55
+ private parse;
56
+ }
57
+ export {};
58
+ //# sourceMappingURL=redisPropagator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redisPropagator.d.ts","sourceRoot":"","sources":["../src/redisPropagator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAY7F,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1D,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5C,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAA;IAChF,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IAC1D,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IACxB,UAAU,IAAI,IAAI,CAAA;CACnB;AAED,0FAA0F;AAC1F,KAAK,SAAS,GAAG,WAAW,GAAG,YAAY,CAAA;AAiC3C,4FAA4F;AAC5F,eAAO,MAAM,wBAAwB,yBAAyB,CAAA;AAW9D,MAAM,WAAW,+BAA+B;IAC9C,GAAG,EAAE,MAAM,CAAA;IACX,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,gBAAgB,CAAA;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;CACjE;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAClE,QAAQ,CAAC,IAAI,WAAU;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAChF,OAAO,CAAC,GAAG,CAAC,CAAa;IACzB,OAAO,CAAC,GAAG,CAAC,CAAa;IAEzB,YAAY,OAAO,EAAE,+BAA+B,EAYnD;YAEa,cAAc;IAW5B,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAmBtC;IAEK,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BtE;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAK1B;YAEa,aAAa;IAS3B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,KAAK;CAWd"}
@@ -0,0 +1,146 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ async function loadRedis() {
3
+ try {
4
+ const mod = (await import('ioredis'));
5
+ // ioredis is a CJS module: the constructor is the default export under ESM interop, but
6
+ // fall back to the namespace itself for older/edge resolutions.
7
+ return (mod.default ?? mod);
8
+ }
9
+ catch (err) {
10
+ throw new Error(`REDIS_URL is set but the optional 'ioredis' dependency could not be loaded — install it ` +
11
+ `(pnpm add ioredis) to enable cross-node WebSocket propagation, or unset REDIS_URL to run ` +
12
+ `single-node. Original error: ${err instanceof Error ? err.message : String(err)}`);
13
+ }
14
+ }
15
+ /**
16
+ * Per-role ioredis options. The PUBLISHER fails fast rather than buffering: with
17
+ * `enableOfflineQueue: false` a publish issued while the bus is down rejects immediately
18
+ * (hitting the warn path) instead of piling up in an unbounded offline queue during an outage.
19
+ * The SUBSCRIBER keeps its offline queue so the single `subscribe` command survives the initial
20
+ * connect / a reconnect (ioredis auto-resubscribes), and never gives up retrying it.
21
+ */
22
+ const CLIENT_OPTIONS = {
23
+ publisher: { enableOfflineQueue: false, maxRetriesPerRequest: 0 },
24
+ subscriber: { enableOfflineQueue: true, maxRetriesPerRequest: null },
25
+ };
26
+ /** The default Redis pub/sub channel; a single channel carries every workspace's events. */
27
+ export const DEFAULT_REALTIME_CHANNEL = 'cat-factory:realtime';
28
+ /**
29
+ * Cross-node real-time propagation over Redis pub/sub. A single channel carries every
30
+ * workspace's pre-serialised events; each node subscribes, ignores its own echoes (by node id),
31
+ * and applies peer events to its local hub.
32
+ */
33
+ export class RedisWebSocketPropagator {
34
+ name = 'redis';
35
+ url;
36
+ channel;
37
+ nodeId;
38
+ log;
39
+ connect;
40
+ pub;
41
+ sub;
42
+ constructor(options) {
43
+ this.url = options.url;
44
+ this.channel = options.channel ?? DEFAULT_REALTIME_CHANNEL;
45
+ // Echo suppression is correct ONLY if this id is unique per process. A random uuid alone
46
+ // guarantees that, but if an operator pins REALTIME_NODE_ID to a fixed value applied across
47
+ // every replica (a common shared-config pattern), all nodes would share an id and each would
48
+ // treat every peer's events as its own echo — silently dropping ALL cross-node propagation.
49
+ // So always append a per-process random suffix; the provided value is only a readable prefix.
50
+ const prefix = options.nodeId?.trim();
51
+ this.nodeId = prefix ? `${prefix}-${randomUUID()}` : randomUUID();
52
+ this.log = options.log;
53
+ this.connect = options.connect ?? ((url, role) => this.defaultConnect(url, role));
54
+ }
55
+ async defaultConnect(url, role) {
56
+ const Redis = await loadRedis();
57
+ const client = new Redis(url, CLIENT_OPTIONS[role]);
58
+ // Attach the error handler synchronously with construction — before any I/O tick — so an
59
+ // immediate connection failure (ECONNREFUSED / DNS) can never surface as an unhandled
60
+ // 'error' event, which Node would rethrow and crash the whole process on. ioredis retries
61
+ // the connection in the background; we just log.
62
+ client.on('error', (err) => this.onConnectionError(role, err));
63
+ return client;
64
+ }
65
+ publish(message) {
66
+ if (!this.pub)
67
+ return;
68
+ const envelope = {
69
+ v: 1,
70
+ n: this.nodeId,
71
+ w: message.workspaceId,
72
+ p: message.payload,
73
+ ...(message.originConnectionId ? { c: message.originConnectionId } : {}),
74
+ };
75
+ // Fire-and-forget: a publish failure must never break the state transition that produced
76
+ // the event. The local hub already delivered to this node's browsers; peers reconcile on
77
+ // reconnect if this drops. The publisher's offline queue is disabled (see CLIENT_OPTIONS),
78
+ // so a publish while the bus is down rejects here rather than buffering without bound.
79
+ void this.pub.publish(this.channel, JSON.stringify(envelope)).catch((err) => {
80
+ this.log.warn({ err: err instanceof Error ? err.message : String(err) }, 'real-time redis publish failed (event delivered locally; peers reconcile on reconnect)');
81
+ });
82
+ }
83
+ async start(deliver) {
84
+ try {
85
+ // Two connections: one publishes, one subscribes (a subscribed connection can't publish).
86
+ // Each opens with its error handler already attached (see defaultConnect).
87
+ this.pub = await this.connect(this.url, 'publisher');
88
+ this.sub = await this.connect(this.url, 'subscriber');
89
+ this.sub.on('message', (channel, raw) => {
90
+ if (channel !== this.channel)
91
+ return;
92
+ const envelope = this.parse(raw);
93
+ // Drop malformed frames and our OWN echoes — the local hub already delivered those.
94
+ if (!envelope || envelope.n === this.nodeId)
95
+ return;
96
+ deliver({ workspaceId: envelope.w, payload: envelope.p, originConnectionId: envelope.c });
97
+ });
98
+ // Do NOT await the subscribe: on an unreachable bus it would sit in the offline queue and
99
+ // never resolve, wedging the whole server boot (the HTTP listener binds after start()).
100
+ // The local hub still delivers; ioredis connects + subscribes in the background and
101
+ // auto-resubscribes across reconnects. A hard failure is logged, not thrown.
102
+ void this.sub
103
+ .subscribe(this.channel)
104
+ .catch((err) => this.onConnectionError('subscriber', err));
105
+ }
106
+ catch (err) {
107
+ // A client opened before the failure would otherwise leak (its reconnect timer keeps the
108
+ // event loop alive), and shutdown's stop() isn't wired up until after start() returns —
109
+ // so release eagerly here before rethrowing.
110
+ await this.stop();
111
+ throw err;
112
+ }
113
+ }
114
+ async stop() {
115
+ // `quit()` drains in-flight commands; fall back to a hard disconnect if it rejects.
116
+ await Promise.allSettled([this.gracefulClose(this.pub), this.gracefulClose(this.sub)]);
117
+ this.pub = undefined;
118
+ this.sub = undefined;
119
+ }
120
+ async gracefulClose(client) {
121
+ if (!client)
122
+ return;
123
+ try {
124
+ await client.quit();
125
+ }
126
+ catch {
127
+ client.disconnect();
128
+ }
129
+ }
130
+ onConnectionError(role, err) {
131
+ this.log.warn({ role, err: err instanceof Error ? err.message : String(err) }, 'real-time redis connection error (ioredis will retry)');
132
+ }
133
+ parse(raw) {
134
+ try {
135
+ const value = JSON.parse(raw);
136
+ if (value && value.v === 1 && typeof value.w === 'string' && typeof value.p === 'string') {
137
+ return value;
138
+ }
139
+ }
140
+ catch {
141
+ // A foreign / corrupt frame on the channel — ignore it.
142
+ }
143
+ return undefined;
144
+ }
145
+ }
146
+ //# sourceMappingURL=redisPropagator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redisPropagator.js","sourceRoot":"","sources":["../src/redisPropagator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,eAAe,EAOrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,KAAK,oBAAoB,EAAsB,MAAM,gBAAgB,CAAA;AAY9E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAgB/D,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;CAAG;AAEpE,wFAAwF;AACxF,wBAAgB,SAAS,CACvB,SAAS,EAAE,eAAe,EAC1B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,IAAI,CAAC,MAAM,CAAC,CA4Bd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,CAEvE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACjB,WAAW,EAAE,eAAe,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;IAAC,YAAY,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;CAAE,CAUxF;AAED;;;;GAIG;AACH,wBAAsB,KAAK,CACzB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,eAAe,CAAA;IACnE;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACT,GACL,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CA2KnC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,eAAe,EAOrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,KAAK,oBAAoB,EAAsB,MAAM,gBAAgB,CAAA;AAa9E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAgB/D,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;CAAG;AAEpE,wFAAwF;AACxF,wBAAgB,SAAS,CACvB,SAAS,EAAE,eAAe,EAC1B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,IAAI,CAAC,MAAM,CAAC,CA4Bd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,CAEvE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACjB,WAAW,EAAE,eAAe,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;IAAC,YAAY,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;CAAE,CAUxF;AAED;;;;GAIG;AACH,wBAAsB,KAAK,CACzB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,eAAe,CAAA;IACnE;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACT,GACL,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAsLnC"}
package/dist/server.js CHANGED
@@ -16,6 +16,7 @@ import { startScheduleSweeper } from './recurring.js';
16
16
  import { startInitiativeLoopSweeper } from './initiativeLoop.js';
17
17
  import { startKaizenSweeper } from './kaizen.js';
18
18
  import { startNotificationEscalationSweeper } from './notifications.js';
19
+ import { buildRealtimePropagator } from './propagator.js';
19
20
  import { NodeRealtimeHub, attachRealtime } from './realtime.js';
20
21
  import { DrizzleGitHubInstallationRepository } from './repositories/containerExecution.js';
21
22
  import { createDrizzleRepositories } from './repositories/drizzle.js';
@@ -101,10 +102,19 @@ export async function start(options = {}) {
101
102
  // The per-workspace real-time subscriber registry. Created here (not in the container
102
103
  // builder) because it must be shared between the engine's event publisher — wired
103
104
  // inside the container — and the HTTP server's WebSocket upgrade listener attached
104
- // below. The local facade's builder forwards this option to buildNodeContainer
105
+ // below. The local facade's builder forwards these options to buildNodeContainer
105
106
  // unchanged, so local mode gets live updates too.
106
107
  const realtimeHub = new NodeRealtimeHub();
107
- const container = buildContainer({ db, boss, env, repos, realtimeHub });
108
+ // Wrap the hub in the layered propagator: when REDIS_URL is set (a multi-node deployment)
109
+ // events also fan to peer nodes over Redis pub/sub so a browser on any node sees them; with
110
+ // no bus configured (local mode, single replica) it is the bare hub with zero overhead. The
111
+ // engine writes through this sink; the HTTP upgrade listener still registers sockets on the
112
+ // hub directly.
113
+ const realtimePropagator = buildRealtimePropagator(realtimeHub, env, logger);
114
+ const container = buildContainer({ db, boss, env, repos, realtimeSink: realtimePropagator });
115
+ // Connect the cross-node adapters (a no-op when none are configured) so peer events start
116
+ // reaching this node's browsers.
117
+ await realtimePropagator.start(logger);
108
118
  // Validate the registered extensions (gates / agent kinds) once, before serving — every
109
119
  // `register*` import side effect has run by now. A typo'd gate helperKind or an unknown
110
120
  // resultView fails loudly here instead of mid-run. Mirrors the Worker's first-request guard.
@@ -203,6 +213,8 @@ export async function start(options = {}) {
203
213
  stopKaizenSweeper();
204
214
  stopGitHubReconcile();
205
215
  stopRealtime();
216
+ // Release any cross-node propagation adapters (Redis connections); a no-op when none.
217
+ await realtimePropagator.stop();
206
218
  await new Promise((resolve) => server.close(() => resolve()));
207
219
  try {
208
220
  await boss.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/node-server",
3
- "version": "0.68.0",
3
+ "version": "0.69.1",
4
4
  "description": "Node.js runtime facade for the Agent Architecture Board: serves the shared @cat-factory/server Hono app via @hono/node-server, wiring Node implementations of the runtime ports (persistence, gateways, model provisioning).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -32,17 +32,17 @@
32
32
  "pg-boss": "^12.23.0",
33
33
  "ws": "^8.21.0",
34
34
  "@cat-factory/agents": "0.30.3",
35
- "@cat-factory/contracts": "0.93.0",
36
35
  "@cat-factory/consensus": "0.8.28",
36
+ "@cat-factory/contracts": "0.93.0",
37
37
  "@cat-factory/gates": "0.2.83",
38
38
  "@cat-factory/gitlab": "0.6.7",
39
39
  "@cat-factory/integrations": "0.60.2",
40
40
  "@cat-factory/kernel": "0.80.0",
41
41
  "@cat-factory/observability-langfuse": "0.7.126",
42
- "@cat-factory/prompt-fragments": "0.9.53",
43
42
  "@cat-factory/orchestration": "0.67.0",
44
- "@cat-factory/provider-cloudflare": "0.7.133",
43
+ "@cat-factory/prompt-fragments": "0.9.53",
45
44
  "@cat-factory/provider-bedrock": "0.7.133",
45
+ "@cat-factory/provider-cloudflare": "0.7.134",
46
46
  "@cat-factory/provider-s3": "0.2.76",
47
47
  "@cat-factory/server": "0.78.0",
48
48
  "@cat-factory/spend": "0.10.87"
@@ -56,6 +56,9 @@
56
56
  "vitest": "^4.1.9",
57
57
  "@cat-factory/conformance": "0.10.9"
58
58
  },
59
+ "optionalDependencies": {
60
+ "ioredis": "^5.11.1"
61
+ },
59
62
  "scripts": {
60
63
  "build": "tsc -b tsconfig.build.json",
61
64
  "build:watch": "tsc -b tsconfig.build.json --watch",