@cat-factory/node-server 0.34.4 → 0.34.5
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.
- package/dist/realtime.d.ts +10 -4
- package/dist/realtime.d.ts.map +1 -1
- package/dist/realtime.js +25 -8
- package/dist/realtime.js.map +1 -1
- package/package.json +15 -15
package/dist/realtime.d.ts
CHANGED
|
@@ -23,11 +23,17 @@ interface UpgradableServer {
|
|
|
23
23
|
*/
|
|
24
24
|
export declare class NodeRealtimeHub {
|
|
25
25
|
private readonly rooms;
|
|
26
|
+
private readonly connectionIds;
|
|
26
27
|
/** Add a socket to a workspace's room; it is reaped on close/error. */
|
|
27
|
-
subscribe(workspaceId: string, socket: WebSocket): void;
|
|
28
|
+
subscribe(workspaceId: string, socket: WebSocket, connectionId?: string | null): void;
|
|
28
29
|
private unsubscribe;
|
|
29
|
-
/**
|
|
30
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Fan a pre-serialised JSON event out to every socket on a workspace's stream. When
|
|
32
|
+
* `originConnectionId` is given, the socket that connected with that `?cid=` is skipped:
|
|
33
|
+
* it caused the change and already holds the authoritative REST result, so re-delivering
|
|
34
|
+
* the echo would only make it refresh off (and fight) its own move.
|
|
35
|
+
*/
|
|
36
|
+
broadcast(workspaceId: string, payload: string, originConnectionId?: string | null): void;
|
|
31
37
|
}
|
|
32
38
|
/**
|
|
33
39
|
* Pushes execution/board events to the {@link NodeRealtimeHub}, which fans them out to
|
|
@@ -41,7 +47,7 @@ export declare class NodeEventPublisher implements ExecutionEventPublisher {
|
|
|
41
47
|
private readonly hub;
|
|
42
48
|
constructor(hub: NodeRealtimeHub);
|
|
43
49
|
executionChanged(workspaceId: string, instance: ExecutionInstance, block?: Block | null): Promise<void>;
|
|
44
|
-
boardChanged(workspaceId: string, reason: string, _blockId?: string | null): Promise<void>;
|
|
50
|
+
boardChanged(workspaceId: string, reason: string, _blockId?: string | null, originConnectionId?: string | null): Promise<void>;
|
|
45
51
|
bootstrapChanged(workspaceId: string, job: BootstrapJob, block?: Block | null): Promise<void>;
|
|
46
52
|
notificationChanged(workspaceId: string, notification: Notification): Promise<void>;
|
|
47
53
|
llmCallObserved(workspaceId: string, activity: LlmCallActivity): Promise<void>;
|
package/dist/realtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,iBAAiB,EAElB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,KAAK,UAAU,EAAsB,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,SAAS,EAAmB,MAAM,IAAI,CAAA;AAW/C,+EAA+E;AAC/E,UAAU,cAAc;IACtB,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,gFAAgF;AAChF,UAAU,gBAAgB;IACxB,EAAE,CACA,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GACzE,IAAI,CAAA;CACR;AAID;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
|
package/dist/realtime.js
CHANGED
|
@@ -11,14 +11,19 @@ const WS_EVENTS_PATH = /^\/workspaces\/([^/]+)\/events$/;
|
|
|
11
11
|
*/
|
|
12
12
|
export class NodeRealtimeHub {
|
|
13
13
|
rooms = new Map();
|
|
14
|
+
// The `?cid=` each socket connected with — used to skip echoing a board mutation back to
|
|
15
|
+
// the connection that caused it (the Node analogue of the DO's serialized attachment).
|
|
16
|
+
connectionIds = new WeakMap();
|
|
14
17
|
/** Add a socket to a workspace's room; it is reaped on close/error. */
|
|
15
|
-
subscribe(workspaceId, socket) {
|
|
18
|
+
subscribe(workspaceId, socket, connectionId) {
|
|
16
19
|
let room = this.rooms.get(workspaceId);
|
|
17
20
|
if (!room) {
|
|
18
21
|
room = new Set();
|
|
19
22
|
this.rooms.set(workspaceId, room);
|
|
20
23
|
}
|
|
21
24
|
room.add(socket);
|
|
25
|
+
if (connectionId)
|
|
26
|
+
this.connectionIds.set(socket, connectionId);
|
|
22
27
|
const drop = () => this.unsubscribe(workspaceId, socket);
|
|
23
28
|
socket.on('close', drop);
|
|
24
29
|
socket.on('error', drop);
|
|
@@ -31,14 +36,21 @@ export class NodeRealtimeHub {
|
|
|
31
36
|
if (room.size === 0)
|
|
32
37
|
this.rooms.delete(workspaceId);
|
|
33
38
|
}
|
|
34
|
-
/**
|
|
35
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Fan a pre-serialised JSON event out to every socket on a workspace's stream. When
|
|
41
|
+
* `originConnectionId` is given, the socket that connected with that `?cid=` is skipped:
|
|
42
|
+
* it caused the change and already holds the authoritative REST result, so re-delivering
|
|
43
|
+
* the echo would only make it refresh off (and fight) its own move.
|
|
44
|
+
*/
|
|
45
|
+
broadcast(workspaceId, payload, originConnectionId) {
|
|
36
46
|
const room = this.rooms.get(workspaceId);
|
|
37
47
|
if (!room)
|
|
38
48
|
return;
|
|
39
49
|
for (const socket of room) {
|
|
40
50
|
if (socket.readyState !== WebSocket.OPEN)
|
|
41
51
|
continue;
|
|
52
|
+
if (originConnectionId && this.connectionIds.get(socket) === originConnectionId)
|
|
53
|
+
continue;
|
|
42
54
|
try {
|
|
43
55
|
socket.send(payload);
|
|
44
56
|
}
|
|
@@ -69,8 +81,10 @@ export class NodeEventPublisher {
|
|
|
69
81
|
at: Date.now(),
|
|
70
82
|
});
|
|
71
83
|
}
|
|
72
|
-
async boardChanged(workspaceId, reason, _blockId) {
|
|
73
|
-
|
|
84
|
+
async boardChanged(workspaceId, reason, _blockId, originConnectionId) {
|
|
85
|
+
// Pass the origin connection through so the hub skips echoing this board mutation back to
|
|
86
|
+
// the connection that caused it (see {@link NodeRealtimeHub.broadcast}).
|
|
87
|
+
this.publish(workspaceId, { type: 'board', reason, at: Date.now() }, originConnectionId);
|
|
74
88
|
}
|
|
75
89
|
async bootstrapChanged(workspaceId, job, block) {
|
|
76
90
|
this.publish(workspaceId, { type: 'bootstrap', job, block: block ?? null, at: Date.now() });
|
|
@@ -96,9 +110,9 @@ export class NodeEventPublisher {
|
|
|
96
110
|
async kaizenGradingChanged(workspaceId, grading) {
|
|
97
111
|
this.publish(workspaceId, { type: 'kaizen', grading, at: Date.now() });
|
|
98
112
|
}
|
|
99
|
-
publish(workspaceId, event) {
|
|
113
|
+
publish(workspaceId, event, originConnectionId) {
|
|
100
114
|
try {
|
|
101
|
-
this.hub.broadcast(workspaceId, JSON.stringify(event));
|
|
115
|
+
this.hub.broadcast(workspaceId, JSON.stringify(event), originConnectionId);
|
|
102
116
|
}
|
|
103
117
|
catch {
|
|
104
118
|
// No subscribers / serialisation hiccup — the DB write is authoritative and the
|
|
@@ -129,6 +143,9 @@ export function attachRealtime(server, hub, auth, log) {
|
|
|
129
143
|
}
|
|
130
144
|
const workspaceId = decodeURIComponent(match[1]);
|
|
131
145
|
const ticket = url.searchParams.get('ticket') ?? undefined;
|
|
146
|
+
// The tab's stable connection id (see the SPA's `utils/connectionId.ts`), so the hub can
|
|
147
|
+
// skip echoing a board mutation back to the connection that caused it.
|
|
148
|
+
const cid = url.searchParams.get('cid');
|
|
132
149
|
void authorizeWsUpgrade(auth, ticket, workspaceId).then((verdict) => {
|
|
133
150
|
if (!verdict.ok) {
|
|
134
151
|
const reason = verdict.status === 401 ? 'Unauthorized' : 'Service Unavailable';
|
|
@@ -137,7 +154,7 @@ export function attachRealtime(server, hub, auth, log) {
|
|
|
137
154
|
return;
|
|
138
155
|
}
|
|
139
156
|
wss.handleUpgrade(request, socket, head, (ws) => {
|
|
140
|
-
hub.subscribe(workspaceId, ws);
|
|
157
|
+
hub.subscribe(workspaceId, ws, cid);
|
|
141
158
|
wss.emit('connection', ws, request);
|
|
142
159
|
});
|
|
143
160
|
});
|
package/dist/realtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAmB,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AAyB/C,MAAM,cAAc,GAAG,iCAAiC,CAAA;AAExD;;;;;;;GAOG;AACH,MAAM,OAAO,eAAe;IACT,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.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.34.
|
|
3
|
+
"version": "0.34.5",
|
|
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",
|
|
@@ -31,21 +31,21 @@
|
|
|
31
31
|
"pg": "^8.22.0",
|
|
32
32
|
"pg-boss": "^12.23.0",
|
|
33
33
|
"ws": "^8.21.0",
|
|
34
|
-
"@cat-factory/agents": "0.21.
|
|
35
|
-
"@cat-factory/consensus": "0.7.
|
|
34
|
+
"@cat-factory/agents": "0.21.4",
|
|
35
|
+
"@cat-factory/consensus": "0.7.62",
|
|
36
36
|
"@cat-factory/contracts": "0.43.1",
|
|
37
|
-
"@cat-factory/gates": "0.2.
|
|
38
|
-
"@cat-factory/gitlab": "0.1.
|
|
39
|
-
"@cat-factory/integrations": "0.26.
|
|
40
|
-
"@cat-factory/kernel": "0.45.
|
|
41
|
-
"@cat-factory/observability-langfuse": "0.7.
|
|
42
|
-
"@cat-factory/orchestration": "0.36.
|
|
37
|
+
"@cat-factory/gates": "0.2.14",
|
|
38
|
+
"@cat-factory/gitlab": "0.1.5",
|
|
39
|
+
"@cat-factory/integrations": "0.26.3",
|
|
40
|
+
"@cat-factory/kernel": "0.45.3",
|
|
41
|
+
"@cat-factory/observability-langfuse": "0.7.58",
|
|
42
|
+
"@cat-factory/orchestration": "0.36.3",
|
|
43
43
|
"@cat-factory/prompt-fragments": "0.8.1",
|
|
44
|
-
"@cat-factory/provider-bedrock": "0.7.
|
|
45
|
-
"@cat-factory/provider-cloudflare": "0.7.
|
|
46
|
-
"@cat-factory/provider-s3": "0.2.
|
|
47
|
-
"@cat-factory/server": "0.39.
|
|
48
|
-
"@cat-factory/spend": "0.10.
|
|
44
|
+
"@cat-factory/provider-bedrock": "0.7.62",
|
|
45
|
+
"@cat-factory/provider-cloudflare": "0.7.62",
|
|
46
|
+
"@cat-factory/provider-s3": "0.2.8",
|
|
47
|
+
"@cat-factory/server": "0.39.5",
|
|
48
|
+
"@cat-factory/spend": "0.10.19"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@types/node": "^26.0.0",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"drizzle-kit": "1.0.0-rc.3",
|
|
55
55
|
"typescript": "7.0.1-rc",
|
|
56
56
|
"vitest": "^4.1.9",
|
|
57
|
-
"@cat-factory/conformance": "0.9.
|
|
57
|
+
"@cat-factory/conformance": "0.9.12"
|
|
58
58
|
},
|
|
59
59
|
"scripts": {
|
|
60
60
|
"build": "tsc -b tsconfig.build.json",
|