@cat-factory/local-server 0.80.5 → 0.81.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,0BAA0B,CAAA;AAWjC,OAAO,KAAK,EAAqC,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAO7F,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,qBAAqB,CAAA;AA0tB5B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CA4QlF;AAiDD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACjC,WAAW,EAAE,CAMf;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACjC,WAAW,EAAE,CAUf"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,0BAA0B,CAAA;AAWjC,OAAO,KAAK,EAAqC,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAO7F,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,qBAAqB,CAAA;AA0tB5B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAqRlF;AAiDD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACjC,WAAW,EAAE,CAMf;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACjC,WAAW,EAAE,CAUf"}
package/dist/container.js CHANGED
@@ -737,6 +737,14 @@ export function buildLocalContainer(options) {
737
737
  localPreflightProbes,
738
738
  inProcessRunner,
739
739
  }));
740
+ // Real-time INBOUND (docs/initiatives/mothership-mode.md, PR 2): hold one machine-authed
741
+ // subscription to the mothership per workspace someone is watching here, so org activity raised
742
+ // by a hosted teammate (or relayed up by a peer laptop) animates this board too. Bound to the
743
+ // room transitions of the injected hub, and delivering into the BARE sink — never the layered
744
+ // propagator above, which would re-publish each inbound event straight back upstream.
745
+ if (mothership && options.realtimeSink && options.realtimeRooms) {
746
+ mothership.realtimeSubscriber.bind(options.realtimeSink, options.realtimeRooms);
747
+ }
740
748
  // Bind the in-process work runner to the now-built execution service, so `startRun` /
741
749
  // `signalDecision` drive runs in-process (mothership mode; no-op otherwise). The kind-spanning
742
750
  // agent-runs reader powers the storage-reconciliation backstop (re-drive a run still `running` in
@@ -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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"}
@@ -3,7 +3,7 @@
3
3
  * `@cat-factory/executor-harness`'s version (the value CI tags the published image with, and
4
4
  * the same tag `deploy/backend` pins). Bump it whenever the harness image bumps.
5
5
  */
6
- export declare const RECOMMENDED_HARNESS_IMAGE = "ghcr.io/kibertoad/cat-factory-executor:1.62.0";
6
+ export declare const RECOMMENDED_HARNESS_IMAGE = "ghcr.io/kibertoad/cat-factory-executor:1.64.0";
7
7
  /**
8
8
  * The effective harness image ref: an explicit `LOCAL_HARNESS_IMAGE` wins (a custom build, a
9
9
  * different pin, or a mutable tag), else the backend-matched {@link RECOMMENDED_HARNESS_IMAGE}.
@@ -22,7 +22,7 @@ import { isOffValue } from './envFlags.js';
22
22
  * `@cat-factory/executor-harness`'s version (the value CI tags the published image with, and
23
23
  * the same tag `deploy/backend` pins). Bump it whenever the harness image bumps.
24
24
  */
25
- export const RECOMMENDED_HARNESS_IMAGE = 'ghcr.io/kibertoad/cat-factory-executor:1.62.0';
25
+ export const RECOMMENDED_HARNESS_IMAGE = 'ghcr.io/kibertoad/cat-factory-executor:1.64.0';
26
26
  /**
27
27
  * The effective harness image ref: an explicit `LOCAL_HARNESS_IMAGE` wins (a custom build, a
28
28
  * different pin, or a mutable tag), else the backend-matched {@link RECOMMENDED_HARNESS_IMAGE}.
@@ -2,6 +2,7 @@ import { type CoreRepositories, type DriveConfig, driveExecution } from '@cat-fa
2
2
  import { DelegatedAppTokenSource, type Logger, type MothershipConnector, RemoteNotificationChannel } from '@cat-factory/server';
3
3
  import type { AgentRunRepository, WorkRunner } from '@cat-factory/kernel';
4
4
  import { MothershipWebSocketPropagator } from './mothershipPropagator.js';
5
+ import { MothershipEventSubscriber } from './mothershipSubscriber.js';
5
6
  import { type LocalCredentialStore } from './sqlite/credentialStore.js';
6
7
  import { type LocalSettingsStore } from './sqlite/localSettingsStore.js';
7
8
  import { type LocalMachineTokenStore } from './sqlite/machineTokenStore.js';
@@ -55,6 +56,15 @@ export interface MothershipComposition {
55
56
  * both directions"; the inbound subscribe leg is a later slice (see the tracker).
56
57
  */
57
58
  realtimeAdapter: MothershipWebSocketPropagator;
59
+ /**
60
+ * The real-time INBOUND subscriber: holds one machine-authed WebSocket to the mothership's
61
+ * `GET /internal/events/subscribe/:ws` per workspace someone is watching locally, and
62
+ * re-broadcasts what arrives into the laptop's own hub. Without it a mothership-mode board is
63
+ * write-only in real time — it animates for work this laptop drove and stays frozen for a hosted
64
+ * teammate's. `buildLocalContainer` binds it to the injected hub; a token-less node just doesn't
65
+ * connect until the login completes.
66
+ */
67
+ realtimeSubscriber: MothershipEventSubscriber;
58
68
  /**
59
69
  * The mothership-delegated notification channel: asks the mothership to deliver a notification
60
70
  * this node raised (by id) through the ORG's external transports — Slack today. The bot token is
@@ -1 +1 @@
1
- {"version":3,"file":"mothership.d.ts","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mothership.d.ts","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { mkdirSync } from 'node:fs';
4
4
  import { driveExecution } from '@cat-factory/node-server';
5
5
  import { DelegatedAppTokenSource, HttpMachineEventClient, HttpMachineNotificationClient, HttpPersistenceRpcClient, RemoteNotificationChannel, createRemoteRepositoryRegistry, logger, } from '@cat-factory/server';
6
6
  import { MothershipWebSocketPropagator } from './mothershipPropagator.js';
7
+ import { MothershipEventSubscriber } from './mothershipSubscriber.js';
7
8
  import { createLocalCredentialStore } from './sqlite/credentialStore.js';
8
9
  import { createLocalSettingsStore } from './sqlite/localSettingsStore.js';
9
10
  import { createLocalMachineTokenStore, } from './sqlite/machineTokenStore.js';
@@ -65,10 +66,21 @@ export function composeMothership(env) {
65
66
  // Same base URL + per-request token as the persistence RPC, so GitHub delegation follows
66
67
  // the exact connect/expiry lifecycle of the rest of the machine API.
67
68
  const githubTokenSource = new DelegatedAppTokenSource({ baseUrl, token: machineToken });
68
- // Real-time upstream: the SAME base URL + per-request token, so this node's engine events reach
69
- // the mothership's fan-out under the same connect/expiry lifecycle. A token-less node just doesn't
70
- // publish upstream (its own SPA still gets every event locally).
71
- const realtimeAdapter = new MothershipWebSocketPropagator(new HttpMachineEventClient({ baseUrl, token: machineToken }));
69
+ // Real-time, BOTH directions, on the SAME base URL + per-request token, so the stream follows the
70
+ // same connect/expiry lifecycle as the rest of the machine API. A token-less node neither
71
+ // publishes nor subscribes (its own SPA still gets every locally produced event).
72
+ //
73
+ // The two legs share ONE stable per-process connection id: the subscriber connects with it as
74
+ // `?cid=`, the publisher stamps it as `originConnectionId`, and the mothership's fan-out skips
75
+ // that socket — so this node's own events never come back down and reach its browsers twice.
76
+ const nodeConnectionId = `mothership-node-${crypto.randomUUID()}`;
77
+ const realtimeAdapter = new MothershipWebSocketPropagator(new HttpMachineEventClient({ baseUrl, token: machineToken }), nodeConnectionId);
78
+ const realtimeSubscriber = new MothershipEventSubscriber({
79
+ baseUrl,
80
+ token: machineToken,
81
+ connectionId: nodeConnectionId,
82
+ log: logger,
83
+ });
72
84
  // Notification delivery delegation: same base URL + per-request token again, so the org's Slack
73
85
  // reaches the team for a run this laptop drove. A token-less node simply doesn't delegate (the
74
86
  // row is still persisted and the in-app card still renders).
@@ -83,12 +95,14 @@ export function composeMothership(env) {
83
95
  repos,
84
96
  githubTokenSource,
85
97
  realtimeAdapter,
98
+ realtimeSubscriber,
86
99
  notificationChannel,
87
100
  credentialStore,
88
101
  localSettingsStore,
89
102
  workQueue,
90
103
  machineTokenStore,
91
104
  close: () => {
105
+ realtimeSubscriber.stop();
92
106
  credentialStore.close();
93
107
  localSettingsStore.close();
94
108
  workQueue.close();
@@ -1 +1 @@
1
- {"version":3,"file":"mothership.js","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mothership.js","sourceRoot":"","sources":["../src/mothership.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,14 @@ import type { RealtimeMessage, WebSocketPropagator } from '@cat-factory/node-ser
9
9
  */
10
10
  export declare class MothershipWebSocketPropagator implements WebSocketPropagator {
11
11
  private readonly client;
12
+ private readonly connectionId;
12
13
  readonly name = "mothership";
13
- constructor(client: MachineEventClient);
14
+ /**
15
+ * `connectionId` is this NODE's stable id — the same `?cid=` its inbound subscriptions connect
16
+ * with. Stamping it on every publish is what stops the mothership fanning our own events back
17
+ * down our own subscription, where they would reach the laptop's browsers a second time.
18
+ */
19
+ constructor(client: MachineEventClient, connectionId: string);
14
20
  publish(message: RealtimeMessage): void;
15
21
  start(_deliver: (message: RealtimeMessage) => void): Promise<void>;
16
22
  stop(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"mothershipPropagator.d.ts","sourceRoot":"","sources":["../src/mothershipPropagator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAsBpF;;;;;;GAMG;AACH,qBAAa,6BAA8B,YAAW,mBAAmB;IAG3D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,QAAQ,CAAC,IAAI,gBAAe;IAE5B,YAA6B,MAAM,EAAE,kBAAkB,EAAI;IAE3D,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAMtC;IAKK,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;IAErE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAG;CAC/B"}
1
+ {"version":3,"file":"mothershipPropagator.d.ts","sourceRoot":"","sources":["../src/mothershipPropagator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAyBpF;;;;;;GAMG;AACH,qBAAa,6BAA8B,YAAW,mBAAmB;IASrE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAT/B,QAAQ,CAAC,IAAI,gBAAe;IAE5B;;;;OAIG;IACH,YACmB,MAAM,EAAE,kBAAkB,EAC1B,YAAY,EAAE,MAAM,EACnC;IAEJ,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAWtC;IAKK,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;IAErE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAG;CAC/B"}
@@ -12,11 +12,14 @@
12
12
  // (the laptop's own SPA) AND to each adapter's `publish` — so wiring this adapter makes the local
13
13
  // node's events reach the laptop's browser AND the mothership with no engine change.
14
14
  //
15
- // Only the OUTBOUND (publish) leg is implemented in this slice. The INBOUND (subscribe) leg — the
16
- // local node receiving org events raised ON the mothership / by peer laptops and re-broadcasting them
17
- // to the laptop's SPA is a distinct, runtime-shaped follow-up (see the tracker), so `start`/`stop`
18
- // are no-ops here: publishing is a stateless fire-and-forget HTTP POST that needs no live connection
19
- // (unlike the Redis adapter, which must connect before it can publish).
15
+ // This adapter carries the OUTBOUND (publish) leg only. Its INBOUND counterpart is
16
+ // {@link MothershipEventSubscriber}, which is NOT expressed through this port on purpose: a
17
+ // cross-node adapter's `start(deliver)` receives no workspace list, while the mothership's inbound
18
+ // streams are per-workspace and opened on demand from the local hub's rooms. Forcing it through
19
+ // `start` would mean either subscribing to nothing or inventing a workspace enumeration the node
20
+ // doesn't have. So `start`/`stop` stay no-ops here — publishing is a stateless fire-and-forget HTTP
21
+ // POST needing no live connection (unlike the Redis adapter, which must connect before it can
22
+ // publish).
20
23
  /**
21
24
  * A {@link WebSocketPropagator} whose "peer" is the hosted mothership: it forwards each locally
22
25
  * originated event to the mothership over the machine-authed `POST /internal/events/publish`
@@ -26,20 +29,32 @@
26
29
  */
27
30
  export class MothershipWebSocketPropagator {
28
31
  client;
32
+ connectionId;
29
33
  name = 'mothership';
30
- constructor(client) {
34
+ /**
35
+ * `connectionId` is this NODE's stable id — the same `?cid=` its inbound subscriptions connect
36
+ * with. Stamping it on every publish is what stops the mothership fanning our own events back
37
+ * down our own subscription, where they would reach the laptop's browsers a second time.
38
+ */
39
+ constructor(client, connectionId) {
31
40
  this.client = client;
41
+ this.connectionId = connectionId;
32
42
  }
33
43
  publish(message) {
34
44
  this.client.publish({
35
45
  workspaceId: message.workspaceId,
36
46
  payload: message.payload,
37
- originConnectionId: message.originConnectionId ?? null,
47
+ // Deliberately REPLACES the originating tab's `?cid=` rather than passing it through. That
48
+ // id only means something to the sockets of the node that produced the event — all of which
49
+ // are local, and were already served (with correct per-tab echo suppression) by the layered
50
+ // hub before this adapter ran. On the mothership the tab id matches nothing, while OUR id
51
+ // matches the one socket that must not receive this event back.
52
+ originConnectionId: this.connectionId,
38
53
  });
39
54
  }
40
- // The subscribe leg is not part of this (outbound) slice, so there is nothing to connect or
41
- // release. `LayeredEventPropagator.start` still calls this (with a deliver callback we ignore) —
42
- // a no-op keeps the layer's lifecycle uniform for when the inbound leg lands.
55
+ // See the file header: the inbound leg is a per-workspace subscriber, not a propagator adapter.
56
+ // `LayeredEventPropagator.start` still calls this (with a deliver callback we ignore) — a no-op
57
+ // keeps the layer's lifecycle uniform.
43
58
  async start(_deliver) { }
44
59
  async stop() { }
45
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mothershipPropagator.js","sourceRoot":"","sources":["../src/mothershipPropagator.ts"],"names":[],"mappings":"AAGA,8FAA8F;AAC9F,EAAE;AACF,iGAAiG;AACjG,oGAAoG;AACpG,qGAAqG;AACrG,qBAAqB;AACrB,EAAE;AACF,oGAAoG;AACpG,kGAAkG;AAClG,sGAAsG;AACtG,uGAAuG;AACvG,kGAAkG;AAClG,qFAAqF;AACrF,EAAE;AACF,kGAAkG;AAClG,sGAAsG;AACtG,qGAAqG;AACrG,qGAAqG;AACrG,wEAAwE;AAExE;;;;;;GAMG;AACH,MAAM,OAAO,6BAA6B;IAGX,MAAM;IAF1B,IAAI,GAAG,YAAY,CAAA;IAE5B,YAA6B,MAA0B;sBAA1B,MAAM;IAAuB,CAAC;IAE3D,OAAO,CAAC,OAAwB;QAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,IAAI;SACvD,CAAC,CAAA;IACJ,CAAC;IAED,4FAA4F;IAC5F,iGAAiG;IACjG,8EAA8E;IAC9E,KAAK,CAAC,KAAK,CAAC,QAA4C,IAAkB,CAAC;IAE3E,KAAK,CAAC,IAAI,KAAmB,CAAC;CAC/B"}
1
+ {"version":3,"file":"mothershipPropagator.js","sourceRoot":"","sources":["../src/mothershipPropagator.ts"],"names":[],"mappings":"AAGA,8FAA8F;AAC9F,EAAE;AACF,iGAAiG;AACjG,oGAAoG;AACpG,qGAAqG;AACrG,qBAAqB;AACrB,EAAE;AACF,oGAAoG;AACpG,kGAAkG;AAClG,sGAAsG;AACtG,uGAAuG;AACvG,kGAAkG;AAClG,qFAAqF;AACrF,EAAE;AACF,mFAAmF;AACnF,4FAA4F;AAC5F,mGAAmG;AACnG,gGAAgG;AAChG,iGAAiG;AACjG,oGAAoG;AACpG,8FAA8F;AAC9F,YAAY;AAEZ;;;;;;GAMG;AACH,MAAM,OAAO,6BAA6B;IASrB,MAAM;IACN,YAAY;IATtB,IAAI,GAAG,YAAY,CAAA;IAE5B;;;;OAIG;IACH,YACmB,MAA0B,EAC1B,YAAoB;sBADpB,MAAM;4BACN,YAAY;IAC5B,CAAC;IAEJ,OAAO,CAAC,OAAwB;QAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,2FAA2F;YAC3F,4FAA4F;YAC5F,4FAA4F;YAC5F,0FAA0F;YAC1F,gEAAgE;YAChE,kBAAkB,EAAE,IAAI,CAAC,YAAY;SACtC,CAAC,CAAA;IACJ,CAAC;IAED,gGAAgG;IAChG,gGAAgG;IAChG,uCAAuC;IACvC,KAAK,CAAC,KAAK,CAAC,QAA4C,IAAkB,CAAC;IAE3E,KAAK,CAAC,IAAI,KAAmB,CAAC;CAC/B"}
@@ -0,0 +1,82 @@
1
+ import { type Logger } from '@cat-factory/server';
2
+ import type { LocalEventSink, RealtimeRoomWatcher } from '@cat-factory/node-server';
3
+ /** The minimal `ws`-shaped socket this module drives (so a test can supply a fake). */
4
+ export interface UpstreamSocket {
5
+ on(event: 'open' | 'close', listener: () => void): void;
6
+ /** `ws` hands the error to its listener; it is the only diagnosis of a refused handshake. */
7
+ on(event: 'error', listener: (error: unknown) => void): void;
8
+ /** A server protocol ping (Node mothership) or an auto-answered `"pong"` — both mean alive. */
9
+ on(event: 'ping' | 'pong', listener: () => void): void;
10
+ on(event: 'message', listener: (data: unknown) => void): void;
11
+ send(data: string): void;
12
+ close(): void;
13
+ }
14
+ /** Opens one upstream subscription socket. Injectable so tests need no real server. */
15
+ export type UpstreamConnect = (url: string, headers: Record<string, string>) => UpstreamSocket;
16
+ /**
17
+ * Holds the local node's inbound subscriptions to the mothership's per-workspace event streams,
18
+ * one per workspace with at least one local subscriber.
19
+ *
20
+ * Lifecycle: `bind(sink, rooms)` attaches it to the local realtime hub (rooms drive open/close)
21
+ * and returns a DETACH function that releases the sockets and leaves the subscriber re-bindable;
22
+ * `stop()` is the terminal form, after which nothing reconnects. A node with no machine token yet
23
+ * simply doesn't connect — the board still works, it just isn't live for other people's activity
24
+ * until the login completes, and the pending retry picks the token up.
25
+ */
26
+ export declare class MothershipEventSubscriber {
27
+ private readonly opts;
28
+ private readonly sockets;
29
+ private sink;
30
+ private detachRooms;
31
+ private stopped;
32
+ constructor(opts: {
33
+ baseUrl: string;
34
+ /** The machine token, read PER CONNECT so a post-boot login is picked up without a restart. */
35
+ token: () => string | null;
36
+ /** This node's stable connection id — the mothership skips echoing our own events back. */
37
+ connectionId: string;
38
+ log: Pick<Logger, 'warn' | 'info'>;
39
+ connect?: UpstreamConnect;
40
+ /** Backoff jitter source; injectable so a test can pin the delay. Defaults to `Math.random`. */
41
+ random?: () => number;
42
+ });
43
+ /**
44
+ * Attach to the local realtime transport: `sink` receives events arriving from the mothership,
45
+ * `rooms` reports which workspaces are being watched locally. `sink` MUST be the bare hub, not a
46
+ * layered propagator (see the file header).
47
+ *
48
+ * Returns a detach function: it releases every upstream socket and stops observing rooms, but —
49
+ * unlike {@link stop} — leaves the subscriber usable, so a re-bind reconnects. Binding twice
50
+ * throws rather than silently orphaning the first binding's room watcher.
51
+ */
52
+ bind(sink: LocalEventSink, rooms: RealtimeRoomWatcher): () => void;
53
+ /** Workspaces this node currently holds (or is trying to hold) an upstream subscription for. */
54
+ get subscribedWorkspaces(): string[];
55
+ /** Close every upstream socket and stop reconnecting. Idempotent. */
56
+ stop(): void;
57
+ /** Release the sockets and the room watcher, leaving the subscriber re-bindable. Idempotent. */
58
+ private detach;
59
+ private open;
60
+ private release;
61
+ private connect;
62
+ private deliver;
63
+ private markSeen;
64
+ /**
65
+ * Probe an idle subscription and give up on a silent one (see the file header): if nothing has
66
+ * arrived for {@link IDLE_DEADLINE_MS} the socket is half-open — a state a Cloudflare mothership
67
+ * will never close for us — so drop it and let the close handler retry. Otherwise send the
68
+ * app-level `"ping"` whose answer proves the link is still there.
69
+ */
70
+ private startHeartbeat;
71
+ private clearHeartbeat;
72
+ /**
73
+ * Report a failed subscription attempt. Rate-limited (see {@link FAILURE_LOG_EVERY}) because the
74
+ * retry loop is unbounded by design: a token-less or refused node must keep trying, but it must
75
+ * not be indistinguishable from a working one in the logs.
76
+ */
77
+ private recordFailure;
78
+ private scheduleRetry;
79
+ /** `http(s)://host/internal/events/subscribe/<ws>?cid=<node>` as a `ws(s)` URL. */
80
+ private subscribeUrl;
81
+ }
82
+ //# sourceMappingURL=mothershipSubscriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mothershipSubscriber.d.ts","sourceRoot":"","sources":["../src/mothershipSubscriber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,KAAK,EACV,cAAc,EAEd,mBAAmB,EACpB,MAAM,0BAA0B,CAAA;AAkDjC,uFAAuF;AACvF,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;IACvD,6FAA6F;IAC7F,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IAC5D,+FAA+F;IAC/F,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;IACtD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IAC7D,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,uFAAuF;AACvF,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,cAAc,CAAA;AAE9F;;;;;;;;;GASG;AACH,qBAAa,yBAAyB;IAOlC,OAAO,CAAC,QAAQ,CAAC,IAAI;IANvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,OAAO,CAAQ;IAEvB,YACmB,IAAI,EAAE;QACrB,OAAO,EAAE,MAAM,CAAA;QACf,+FAA+F;QAC/F,KAAK,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;QAC1B,2FAA2F;QAC3F,YAAY,EAAE,MAAM,CAAA;QACpB,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;QAClC,OAAO,CAAC,EAAE,eAAe,CAAA;QACzB,gGAAgG;QAChG,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;KACtB,EACC;IAEJ;;;;;;;;OAQG;IACH,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM,IAAI,CAYjE;IAED,gGAAgG;IAChG,IAAI,oBAAoB,IAAI,MAAM,EAAE,CAEnC;IAED,qEAAqE;IACrE,IAAI,IAAI,IAAI,CAGX;IAED,gGAAgG;IAChG,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,OAAO;IAgDf,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,QAAQ;IAIhB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,cAAc;IAKtB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,aAAa;IAiBrB,mFAAmF;IACnF,OAAO,CAAC,YAAY;CAKrB"}
@@ -0,0 +1,291 @@
1
+ import { MACHINE_EVENTS_SUBSCRIBE_PATH } from '@cat-factory/server';
2
+ import { WebSocket } from 'ws';
3
+ // Mothership-mode real-time INBOUND subscribe (docs/initiatives/mothership-mode.md, PR 2).
4
+ //
5
+ // The OUTBOUND half ({@link MothershipWebSocketPropagator}) carries this node's engine events UP
6
+ // to the mothership. This is the mirror: org activity raised ELSEWHERE — by a hosted teammate, or
7
+ // by a peer laptop relaying upstream — has to come back DOWN, or a mothership-mode board is
8
+ // write-only in real time and only ever animates for work this laptop drove itself.
9
+ //
10
+ // Two design choices worth keeping:
11
+ //
12
+ // - **Demand-driven, not subscribe-everything.** The node holds one upstream socket per workspace
13
+ // somebody is actually watching, opened off the local hub's room transitions
14
+ // ({@link RealtimeRoomWatcher}). A laptop with no browser attached holds no upstream sockets, and
15
+ // the node never needs a list of the org's workspaces to know what to subscribe to.
16
+ // - **Delivery goes to the BARE hub, never back through the layered propagator.** An inbound event
17
+ // re-broadcast through the layer would be re-published upstream — an echo loop. This is the same
18
+ // rule `LayeredEventPropagator.start` follows for its Redis adapter, applied at the wiring seam.
19
+ //
20
+ // Echo suppression works the other way: this node subscribes with a stable `?cid=`, and the
21
+ // OUTBOUND publish stamps that same id as `originConnectionId`, so the mothership's fan-out skips
22
+ // the socket that relayed the event to it. Without that, every locally produced event would come
23
+ // straight back and be delivered to the laptop's browsers twice.
24
+ //
25
+ // LIVENESS is client-driven, and it has to be, because the two mothership runtimes do NOT agree on
26
+ // who keeps a subscription honest. A Node mothership pings at the protocol level and reaps a socket
27
+ // that stops answering, so a drop surfaces as a `close` we can retry. A Cloudflare mothership does
28
+ // not: the `WorkspaceEventsHub` uses the hibernation API, which sends no pings, so a half-open
29
+ // socket NEVER fires `close` and the workspace would go dark forever while `subscribedWorkspaces`
30
+ // still reported it healthy — a silent failure, which is the one shape this whole leg exists to
31
+ // avoid. So the subscriber runs its own heartbeat and treats ANY inbound frame as proof of life:
32
+ // the app-level `"ping"` it sends is auto-answered `"pong"` at the Cloudflare edge (the DO's
33
+ // `setWebSocketAutoResponse` pair, answered without waking the DO), while a Node mothership's own
34
+ // protocol ping arrives as a `ping` event. Neither hub reads subscriber frames, so the text ping is
35
+ // inert on the runtime that doesn't need it.
36
+ /** Reconnect backoff bounds for a dropped upstream subscription. */
37
+ const RECONNECT_BASE_MS = 1_000;
38
+ const RECONNECT_MAX_MS = 30_000;
39
+ /** How often to probe an idle subscription, and how long silence may last before it is dead. */
40
+ const HEARTBEAT_INTERVAL_MS = 30_000;
41
+ const IDLE_DEADLINE_MS = 90_000;
42
+ /**
43
+ * Log the first `n` consecutive failures for a workspace, then every `n`th, so a permanently
44
+ * refused subscription (revoked token, board moved out of the token's accounts) is VISIBLE without
45
+ * a line every 30s forever. A silent infinite retry is indistinguishable from a healthy node.
46
+ */
47
+ const FAILURE_LOG_EVERY = 5;
48
+ /**
49
+ * Holds the local node's inbound subscriptions to the mothership's per-workspace event streams,
50
+ * one per workspace with at least one local subscriber.
51
+ *
52
+ * Lifecycle: `bind(sink, rooms)` attaches it to the local realtime hub (rooms drive open/close)
53
+ * and returns a DETACH function that releases the sockets and leaves the subscriber re-bindable;
54
+ * `stop()` is the terminal form, after which nothing reconnects. A node with no machine token yet
55
+ * simply doesn't connect — the board still works, it just isn't live for other people's activity
56
+ * until the login completes, and the pending retry picks the token up.
57
+ */
58
+ export class MothershipEventSubscriber {
59
+ opts;
60
+ sockets = new Map();
61
+ sink = null;
62
+ detachRooms = null;
63
+ stopped = false;
64
+ constructor(opts) {
65
+ this.opts = opts;
66
+ }
67
+ /**
68
+ * Attach to the local realtime transport: `sink` receives events arriving from the mothership,
69
+ * `rooms` reports which workspaces are being watched locally. `sink` MUST be the bare hub, not a
70
+ * layered propagator (see the file header).
71
+ *
72
+ * Returns a detach function: it releases every upstream socket and stops observing rooms, but —
73
+ * unlike {@link stop} — leaves the subscriber usable, so a re-bind reconnects. Binding twice
74
+ * throws rather than silently orphaning the first binding's room watcher.
75
+ */
76
+ bind(sink, rooms) {
77
+ if (this.detachRooms) {
78
+ throw new Error('MothershipEventSubscriber is already bound; detach before re-binding');
79
+ }
80
+ this.stopped = false;
81
+ this.sink = sink;
82
+ const listener = {
83
+ roomOpened: (workspaceId) => this.open(workspaceId),
84
+ roomClosed: (workspaceId) => this.release(workspaceId),
85
+ };
86
+ this.detachRooms = rooms.watchRooms(listener);
87
+ return () => this.detach();
88
+ }
89
+ /** Workspaces this node currently holds (or is trying to hold) an upstream subscription for. */
90
+ get subscribedWorkspaces() {
91
+ return [...this.sockets.keys()];
92
+ }
93
+ /** Close every upstream socket and stop reconnecting. Idempotent. */
94
+ stop() {
95
+ this.stopped = true;
96
+ this.detach();
97
+ }
98
+ /** Release the sockets and the room watcher, leaving the subscriber re-bindable. Idempotent. */
99
+ detach() {
100
+ this.detachRooms?.();
101
+ this.detachRooms = null;
102
+ this.sink = null;
103
+ for (const subscription of this.sockets.values())
104
+ teardown(subscription);
105
+ this.sockets.clear();
106
+ }
107
+ open(workspaceId) {
108
+ if (this.stopped || this.sockets.has(workspaceId))
109
+ return;
110
+ const subscription = {
111
+ socket: null,
112
+ timer: null,
113
+ heartbeat: null,
114
+ lastSeenAt: 0,
115
+ attempt: 0,
116
+ failures: 0,
117
+ closed: false,
118
+ };
119
+ this.sockets.set(workspaceId, subscription);
120
+ this.connect(workspaceId, subscription);
121
+ }
122
+ release(workspaceId) {
123
+ const subscription = this.sockets.get(workspaceId);
124
+ if (!subscription)
125
+ return;
126
+ this.sockets.delete(workspaceId);
127
+ teardown(subscription);
128
+ }
129
+ connect(workspaceId, subscription) {
130
+ if (subscription.closed)
131
+ return;
132
+ const token = this.opts.token();
133
+ // No token yet (a node booted before the mothership login): don't open a guaranteed-403
134
+ // handshake. The next room transition — or the retry scheduled below — picks up the token
135
+ // once the SPA completes the connect flow.
136
+ if (!token) {
137
+ this.scheduleRetry(workspaceId, subscription);
138
+ return;
139
+ }
140
+ const connect = this.opts.connect ?? defaultConnect;
141
+ let socket;
142
+ try {
143
+ socket = connect(this.subscribeUrl(workspaceId), { authorization: `Bearer ${token}` });
144
+ }
145
+ catch (error) {
146
+ this.recordFailure(workspaceId, subscription, error);
147
+ this.scheduleRetry(workspaceId, subscription);
148
+ return;
149
+ }
150
+ subscription.socket = socket;
151
+ socket.on('open', () => {
152
+ subscription.attempt = 0;
153
+ subscription.failures = 0;
154
+ this.markSeen(subscription);
155
+ this.startHeartbeat(workspaceId, subscription, socket);
156
+ this.opts.log.info({ workspaceId }, 'mothership event subscription open');
157
+ });
158
+ socket.on('message', (data) => {
159
+ this.markSeen(subscription);
160
+ this.deliver(workspaceId, data);
161
+ });
162
+ // A server protocol ping (Node mothership) and the edge-answered `"pong"` (Cloudflare) are not
163
+ // events, but they ARE proof the socket is still carrying traffic — see the file header.
164
+ socket.on('ping', () => this.markSeen(subscription));
165
+ socket.on('pong', () => this.markSeen(subscription));
166
+ // A refused handshake reports ONLY here (`ws` emits `error` then `close`, and the close carries
167
+ // no reason for an HTTP-level rejection), so swallowing it is what makes a permanently broken
168
+ // subscription look identical to a healthy one. Record it; `close` still drives the retry.
169
+ socket.on('error', (error) => this.recordFailure(workspaceId, subscription, error));
170
+ socket.on('close', () => {
171
+ if (subscription.socket === socket)
172
+ subscription.socket = null;
173
+ this.clearHeartbeat(subscription);
174
+ this.scheduleRetry(workspaceId, subscription);
175
+ });
176
+ }
177
+ deliver(workspaceId, data) {
178
+ // The mothership relays the exact JSON text frame a browser receives — pass it through
179
+ // verbatim, never re-parsed, exactly as the upstream leg forwards it.
180
+ const payload = typeof data === 'string' ? data : String(data);
181
+ // Keepalive text frames are not events: the `"pong"` answering our own heartbeat, and a `"ping"`
182
+ // from a hub that ever sends one. Both already counted as liveness by the caller.
183
+ if (payload === 'pong' || payload === 'ping')
184
+ return;
185
+ try {
186
+ // Origin id is deliberately NOT threaded: this event came from elsewhere, so every local
187
+ // socket should see it.
188
+ this.sink?.broadcast(workspaceId, payload);
189
+ }
190
+ catch {
191
+ // Best-effort delivery, matching every other realtime publish path: a broadcast hiccup
192
+ // must never tear down the subscription. The SPA reconciles on its own resync.
193
+ }
194
+ }
195
+ markSeen(subscription) {
196
+ subscription.lastSeenAt = Date.now();
197
+ }
198
+ /**
199
+ * Probe an idle subscription and give up on a silent one (see the file header): if nothing has
200
+ * arrived for {@link IDLE_DEADLINE_MS} the socket is half-open — a state a Cloudflare mothership
201
+ * will never close for us — so drop it and let the close handler retry. Otherwise send the
202
+ * app-level `"ping"` whose answer proves the link is still there.
203
+ */
204
+ startHeartbeat(workspaceId, subscription, socket) {
205
+ this.clearHeartbeat(subscription);
206
+ subscription.heartbeat = setInterval(() => {
207
+ if (Date.now() - subscription.lastSeenAt > IDLE_DEADLINE_MS) {
208
+ this.opts.log.warn({ workspaceId }, 'mothership event subscription went silent; reconnecting');
209
+ this.clearHeartbeat(subscription);
210
+ try {
211
+ socket.close();
212
+ }
213
+ catch {
214
+ // Already gone; the close handler still schedules the retry.
215
+ }
216
+ return;
217
+ }
218
+ try {
219
+ socket.send('ping');
220
+ }
221
+ catch {
222
+ // A send failure on a dying socket is not worth reporting: the close handler is next.
223
+ }
224
+ }, HEARTBEAT_INTERVAL_MS);
225
+ subscription.heartbeat.unref?.();
226
+ }
227
+ clearHeartbeat(subscription) {
228
+ if (subscription.heartbeat)
229
+ clearInterval(subscription.heartbeat);
230
+ subscription.heartbeat = null;
231
+ }
232
+ /**
233
+ * Report a failed subscription attempt. Rate-limited (see {@link FAILURE_LOG_EVERY}) because the
234
+ * retry loop is unbounded by design: a token-less or refused node must keep trying, but it must
235
+ * not be indistinguishable from a working one in the logs.
236
+ */
237
+ recordFailure(workspaceId, subscription, error) {
238
+ subscription.failures += 1;
239
+ if (subscription.failures > FAILURE_LOG_EVERY &&
240
+ subscription.failures % FAILURE_LOG_EVERY !== 0)
241
+ return;
242
+ this.opts.log.warn({
243
+ workspaceId,
244
+ attempts: subscription.failures,
245
+ err: error instanceof Error ? error.message : String(error),
246
+ }, 'mothership event subscription failed');
247
+ }
248
+ scheduleRetry(workspaceId, subscription) {
249
+ if (subscription.closed || this.stopped || subscription.timer)
250
+ return;
251
+ // Equal jitter: half the window fixed, half random. Without it every workspace subscription on
252
+ // every node retries in lockstep after a mothership restart — the fleet is small today, but a
253
+ // synchronised herd is exactly what a backoff is supposed to prevent.
254
+ const span = Math.min(RECONNECT_MAX_MS, RECONNECT_BASE_MS * 2 ** subscription.attempt);
255
+ const random = this.opts.random ?? Math.random;
256
+ const delay = Math.round(span / 2 + random() * (span / 2));
257
+ subscription.attempt = Math.min(subscription.attempt + 1, 10);
258
+ subscription.timer = setTimeout(() => {
259
+ subscription.timer = null;
260
+ this.connect(workspaceId, subscription);
261
+ }, delay);
262
+ // Never hold the process open on a reconnect timer.
263
+ subscription.timer.unref?.();
264
+ }
265
+ /** `http(s)://host/internal/events/subscribe/<ws>?cid=<node>` as a `ws(s)` URL. */
266
+ subscribeUrl(workspaceId) {
267
+ const base = this.opts.baseUrl.replace(/\/$/, '').replace(/^http/, 'ws');
268
+ const cid = encodeURIComponent(this.opts.connectionId);
269
+ return `${base}${MACHINE_EVENTS_SUBSCRIBE_PATH}/${encodeURIComponent(workspaceId)}?cid=${cid}`;
270
+ }
271
+ }
272
+ /**
273
+ * Retire one subscription for good: mark it closed (so a pending retry and the socket's own close
274
+ * handler both no-op), drop its timer, and release the socket.
275
+ */
276
+ function teardown(subscription) {
277
+ subscription.closed = true;
278
+ if (subscription.timer)
279
+ clearTimeout(subscription.timer);
280
+ if (subscription.heartbeat)
281
+ clearInterval(subscription.heartbeat);
282
+ subscription.heartbeat = null;
283
+ try {
284
+ subscription.socket?.close();
285
+ }
286
+ catch {
287
+ // Already closing; nothing to release.
288
+ }
289
+ }
290
+ const defaultConnect = (url, headers) => new WebSocket(url, { headers });
291
+ //# sourceMappingURL=mothershipSubscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mothershipSubscriber.js","sourceRoot":"","sources":["../src/mothershipSubscriber.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -175,6 +175,9 @@ extensions) {
175
175
  const container = buildLocalContainer({
176
176
  env,
177
177
  realtimeSink: realtimeHub,
178
+ // The same hub, as its room-observability side: mothership mode opens an upstream subscription
179
+ // per workspace someone is actually watching here (see `MothershipEventSubscriber`).
180
+ realtimeRooms: realtimeHub,
178
181
  agentKindRegistry,
179
182
  initiativePresetRegistry,
180
183
  backendRegistries,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAIL,0BAA0B,EAC1B,eAAe,EACf,+BAA+B,EAC/B,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,EACL,cAAc,GACf,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAEtE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,kCAAkC,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,EACL,yBAAyB,EAEzB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,qBAAqB,CAAA;AAE5B,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAEzC,kFAAkF;AAClF,qFAAqF;AACrF,mFAAmF;AACnF,+EAA+E;AAC/E,gFAAgF;AAChF,kFAAkF;AAClF,uBAAuB;AACvB,EAAE;AACF,4FAA4F;AAC5F,8FAA8F;AAC9F,2FAA2F;AAC3F,gGAAgG;AAChG,6FAA6F;AAC7F,+FAA+F;AAC/F,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAO,GAwDH,EAAE;IAEN,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qFAAqF;QACrF,8FAA8F;QAC9F,8FAA8F;QAC9F,+FAA+F;QAC/F,gGAAgG;QAChG,4FAA4F;QAC5F,+FAA+F;QAC/F,kFAAkF;QAClF,IAAI,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,kBAAkB,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACnF,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED,wGAAwG;AACxG,KAAK,UAAU,SAAS,CACtB,OAAsD,EACtD,GAAsB;IAEtB,qFAAqF;IACrF,kFAAkF;IAClF,qFAAqF;IACrF,uFAAuF;IACvF,mFAAmF;IACnF,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAEzC,2FAA2F;IAC3F,+FAA+F;IAC/F,iGAAiG;IACjG,+FAA+F;IAC/F,8FAA8F;IAC9F,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;IAElC,sFAAsF;IACtF,uFAAuF;IACvF,qFAAqF;IACrF,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAA;IACjC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAElC,8FAA8F;IAC9F,0FAA0F;IAC1F,4FAA4F;IAC5F,uFAAuF;IACvF,2FAA2F;IAC3F,4DAA4D;IAC5D,KAAK,qBAAqB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAErD,0FAA0F;IAC1F,0FAA0F;IAC1F,2FAA2F;IAC3F,4EAA4E;IAE5E,2FAA2F;IAC3F,uFAAuF;IACvF,uFAAuF;IACvF,sFAAsF;IACtF,+CAA+C;IAC/C,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CACT,uFAAuF;YACrF,2FAA2F;YAC3F,MAAM,oBAAoB,EAAE,kEAAkE,CACjG,CAAA;IACH,CAAC;SAAM,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;QACxC,8FAA8F;QAC9F,6FAA6F;QAC7F,+FAA+F;QAC/F,0FAA0F;QAC1F,gGAAgG;QAChG,sEAAsE;QACtE,kCAAkC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACvD,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,CAAA;IACrC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,SAAS,CAAC,OAAO,KAAK,CAAC,CAAA;IAEhF,IAAI,SAAS,CAAC,aAAa,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,CACT,oFAAoF;YAClF,mFAAmF;YACnF,iCAAiC,CACpC,CAAA;IACH,CAAC;IAED,4FAA4F;IAC5F,4FAA4F;IAC5F,wFAAwF;IACxF,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,KAAK,CAAC;QACX,uFAAuF;QACvF,sFAAsF;QACtF,yFAAyF;QACzF,qFAAqF;QACrF,4FAA4F;QAC5F,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;QAC1D,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,iGAAiG;QACjG,4FAA4F;QAC5F,wFAAwF;QACxF,qBAAqB,EAAE,qBAAqB;QAC5C,4FAA4F;QAC5F,6FAA6F;QAC7F,0FAA0F;QAC1F,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,+FAA+F;QAC/F,iGAAiG;QACjG,+FAA+F;QAC/F,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;QACxD,4FAA4F;QAC5F,+FAA+F;QAC/F,4FAA4F;QAC5F,6DAA6D;QAC7D,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CACpB,mBAAmB,CAAC,EAAE,GAAG,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC7E,iFAAiF;QACjF,sFAAsF;QACtF,wFAAwF;QACxF,yFAAyF;QACzF,wFAAwF;QACxF,aAAa,EAAE;YACb,cAAc,EAAE,EAAE,GAAG,0BAA0B,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE;SACjF;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,oBAAoB,CACjC,GAAsB,EACtB,IAAwB;AACxB;+FAC+F;AAC/F,UAOC;IAED,MAAM,EACJ,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,GACxB,GAAG,UAAU,CAAA;IACd,MAAM,CAAC,IAAI,CACT,EAAE,UAAU,EAAE,GAAG,CAAC,oBAAoB,EAAE,EACxC,uFAAuF,CACxF,CAAA;IACD,qFAAqF;IACrF,uFAAuF;IACvF,oFAAoF;IACpF,oCAAoC;IACpC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAA;IACzC,MAAM,SAAS,GAAG,mBAAmB,CAAC;QACpC,GAAG;QACH,YAAY,EAAE,WAAW;QACzB,iBAAiB;QACjB,wBAAwB;QACxB,iBAAiB;QACjB,oBAAoB;QACpB,gBAAgB;QAChB,uBAAuB;KACxB,CAAC,CAAA;IAEF,uFAAuF;IACvF,yBAAyB,CAAC;QACxB,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;QAC9C,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC;KAC1E,CAAC,CAAA;IAEF,+FAA+F;IAC/F,+FAA+F;IAC/F,8EAA8E;IAC9E,+FAA+F;IAC/F,KAAK,+BAA+B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAEvD,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACrC,2FAA2F;IAC3F,gGAAgG;IAChG,8EAA8E;IAC9E,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,oBAAoB,CAAC;QACpD,GAAG;QACH,WAAW;QACX,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;QAC3B,GAAG;QACH,IAAI;QACJ,KAAK,EAAE,uCAAuC;KAC/C,CAAC,CAAA;IAEF,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QACxC,IAAI,YAAY;YAAE,OAAM;QACxB,YAAY,GAAG,IAAI,CAAA;QACnB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,qDAAqD,CAAC,CAAA;QAC9E,YAAY,EAAE,CAAA;QACd,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACnE,wEAAwE;QACxE,MAAM,SAAS,CAAC,UAAU,EAAE,EAAE,CAAA;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;IACvD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IAErD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,SAA4B;IAC1D,2FAA2F;IAC3F,8FAA8F;IAC9F,0FAA0F;IAC1F,8CAA8C;IAC9C,MAAM,eAAe,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;IACxD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CACT;YACE,QAAQ,EAAE,eAAe;YACzB,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC;SAClD,EACD,wCAAwC,eAAe,gCAAgC;YACrF,cAAc,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC;YACxE,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CACjD,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAA;IAC/C,MAAM,CAAC,IAAI,CACT;QACE,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS;QACzC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,SAAS,CAAC,UAAU;KAChC,EACD,wCAAwC,CACzC,CAAA;IACD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CACT,oBAAoB,gBAAgB,CAAC,SAAS,CAAC,0CAA0C;YACvF,gFAAgF;YAChF,qFAAqF;YACrF,wDAAwD,CAC3D,CAAA;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IACzE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EACjF,8BAA8B,OAAO,CAAC,MAAM,2CAA2C;YACrF,kFAAkF;YAClF,2BAA2B,CAC9B,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAAC,SAA4B;IAC/D,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAA;IAC/C,MAAM,mBAAmB,CAAC;QACxB,KAAK,EAAE,mBAAmB,CAAC,SAAS,CAAC;QACrC,WAAW,EAAE,yBAAyB;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC;QACtC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC;QACnC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KAClE,CAAC,CAAA;AACJ,CAAC;AAED,4FAA4F;AAC5F,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE;gBACnD,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;aAC5B,CAAC,CAAA;YACF,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAA;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAAyC,CAAA;YACnD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAA;QACpF,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
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/local-server",
3
- "version": "0.80.5",
3
+ "version": "0.81.0",
4
4
  "description": "Local-mode runtime facade for the Agent Architecture Board: the @cat-factory/node-server stack with agent jobs run as local Docker/Podman containers and GitHub accessed via a personal access token — a developer can run the whole product on their own machine.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,22 +26,24 @@
26
26
  "dependencies": {
27
27
  "@hono/node-server": "^2.0.12",
28
28
  "drizzle-orm": "1.0.0-rc.4",
29
- "@cat-factory/agents": "0.74.1",
30
- "@cat-factory/contracts": "0.176.0",
31
- "@cat-factory/executor-harness": "1.62.0",
32
- "@cat-factory/gitlab": "0.13.17",
33
- "@cat-factory/integrations": "0.103.1",
34
- "@cat-factory/kernel": "0.169.0",
35
- "@cat-factory/node-server": "0.123.0",
36
- "@cat-factory/orchestration": "0.150.0",
37
- "@cat-factory/server": "0.159.0"
29
+ "ws": "^8.21.1",
30
+ "@cat-factory/agents": "0.75.0",
31
+ "@cat-factory/contracts": "0.177.0",
32
+ "@cat-factory/executor-harness": "1.64.0",
33
+ "@cat-factory/gitlab": "0.13.18",
34
+ "@cat-factory/integrations": "0.103.2",
35
+ "@cat-factory/kernel": "0.170.0",
36
+ "@cat-factory/node-server": "0.124.0",
37
+ "@cat-factory/orchestration": "0.150.1",
38
+ "@cat-factory/server": "0.161.0"
38
39
  },
39
40
  "devDependencies": {
40
41
  "@types/node": "^26.1.1",
42
+ "@types/ws": "^8.18.1",
41
43
  "typescript": "7.0.2",
42
44
  "vitest": "^4.1.10",
43
- "@cat-factory/conformance": "0.12.12",
44
- "@cat-factory/gates": "0.7.41"
45
+ "@cat-factory/conformance": "0.12.14",
46
+ "@cat-factory/gates": "0.7.42"
45
47
  },
46
48
  "scripts": {
47
49
  "build": "tsc -b tsconfig.build.json",