@mandible-ai/mandible 0.3.3 → 0.3.4

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,6 +1,12 @@
1
1
  import type { ColonyDefinition, Environment } from '../core/types.js';
2
+ export interface SignalServerConfig {
3
+ url: string;
4
+ apiKey: string;
5
+ project: string;
6
+ }
2
7
  export interface MandibleConfig {
3
- environment: Environment;
8
+ environment?: Environment;
9
+ signalServer?: SignalServerConfig;
4
10
  colonies: ColonyDefinition[];
5
11
  dashboard?: {
6
12
  port?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/cli/server.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAItE,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Kf"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/cli/server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAU,MAAM,kBAAkB,CAAC;AAI9E,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAgID,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAsPf"}
@@ -1,31 +1,174 @@
1
- // ============================================================
2
- // Dashboard Server HTTP + WebSocket for real-time observability
3
- // ============================================================
1
+ // PURPOSE: Dashboard Server — HTTP + WebSocket for real-time observability
2
+ // PURPOSE: Supports local mode (direct Environment) and cloud mode (signal server relay)
4
3
  import { createServer } from 'node:http';
5
4
  import { readFile } from 'node:fs/promises';
6
5
  import { join, dirname } from 'node:path';
7
6
  import { fileURLToPath } from 'node:url';
8
- import { WebSocketServer } from 'ws';
7
+ import { WebSocketServer, WebSocket } from 'ws';
9
8
  import { createRuntime } from '../core/runtime.js';
10
9
  import { EventBus } from '../core/events.js';
11
10
  const __dirname = dirname(fileURLToPath(import.meta.url));
11
+ /** Connect to signal server, authenticate, and return the WebSocket + helpers */
12
+ function connectToSignalServer(config, callbacks) {
13
+ const ws = new WebSocket(config.url);
14
+ let msgCounter = 0;
15
+ const pendingRequests = new Map();
16
+ function nextId() {
17
+ return `dash_${++msgCounter}`;
18
+ }
19
+ function send(msg) {
20
+ if (ws.readyState === WebSocket.OPEN) {
21
+ ws.send(JSON.stringify(msg));
22
+ }
23
+ }
24
+ function request(msg) {
25
+ const id = nextId();
26
+ return new Promise((resolve, reject) => {
27
+ pendingRequests.set(id, { resolve, reject });
28
+ send({ ...msg, id });
29
+ setTimeout(() => {
30
+ if (pendingRequests.has(id)) {
31
+ pendingRequests.delete(id);
32
+ reject(new Error(`signal server request timed out: ${msg.type}`));
33
+ }
34
+ }, 30_000);
35
+ });
36
+ }
37
+ ws.on('open', () => {
38
+ send({ type: 'auth', apiKey: config.apiKey, project: config.project });
39
+ });
40
+ ws.on('message', (raw) => {
41
+ let msg;
42
+ try {
43
+ msg = JSON.parse(typeof raw === 'string' ? raw : raw.toString());
44
+ }
45
+ catch {
46
+ return;
47
+ }
48
+ switch (msg.type) {
49
+ case 'authenticated':
50
+ // Auth succeeded — subscribe to all signals and request initial snapshot
51
+ send({ type: 'subscribe', id: nextId(), query: { type: '*' } });
52
+ callbacks.onReady();
53
+ break;
54
+ case 'result':
55
+ if (msg.id && pendingRequests.has(msg.id)) {
56
+ const pending = pendingRequests.get(msg.id);
57
+ pendingRequests.delete(msg.id);
58
+ pending.resolve(msg.data);
59
+ }
60
+ break;
61
+ case 'error':
62
+ if (msg.id && pendingRequests.has(msg.id)) {
63
+ const pending = pendingRequests.get(msg.id);
64
+ pendingRequests.delete(msg.id);
65
+ pending.reject(new Error(`${msg.code}: ${msg.message}`));
66
+ }
67
+ else {
68
+ callbacks.onError(new Error(`signal server error: ${msg.code} — ${msg.message}`));
69
+ }
70
+ break;
71
+ case 'signal':
72
+ // Subscription push — a new signal was deposited
73
+ if (msg.signal) {
74
+ callbacks.onSignalPush(msg.signal);
75
+ }
76
+ break;
77
+ case 'event':
78
+ // Runtime event relayed from a colony in a zone
79
+ if (msg.data) {
80
+ callbacks.onEvent(msg.data);
81
+ }
82
+ break;
83
+ default:
84
+ break;
85
+ }
86
+ });
87
+ ws.on('error', (err) => {
88
+ callbacks.onError(err instanceof Error ? err : new Error(String(err)));
89
+ });
90
+ return {
91
+ ws,
92
+ snapshot() {
93
+ request({ type: 'snapshot' })
94
+ .then(signals => callbacks.onSnapshot(signals))
95
+ .catch(() => { });
96
+ },
97
+ async deposit(type, payload, tags) {
98
+ return request({
99
+ type: 'deposit',
100
+ signal: {
101
+ type,
102
+ payload,
103
+ meta: { deposited_by: 'dashboard', tags },
104
+ },
105
+ });
106
+ },
107
+ close() {
108
+ ws.close();
109
+ },
110
+ };
111
+ }
12
112
  export async function startDevServer(config, options) {
113
+ const isCloudMode = !!config.signalServer;
13
114
  const eventBus = new EventBus();
14
115
  const runtimes = [];
15
- // Create runtimes with shared event bus
16
- for (const colonyDef of config.colonies) {
17
- const runtime = createRuntime(colonyDef, { eventBus });
18
- runtimes.push(runtime);
116
+ // In local mode, create runtimes with shared event bus
117
+ if (!isCloudMode) {
118
+ if (!config.environment) {
119
+ throw new Error('MandibleConfig requires either environment or signalServer');
120
+ }
121
+ for (const colonyDef of config.colonies) {
122
+ const runtime = createRuntime(colonyDef, { eventBus });
123
+ runtimes.push(runtime);
124
+ }
19
125
  }
20
126
  // Collect recent events for reconnecting clients
21
127
  const recentEvents = [];
22
128
  const MAX_RECENT = 500;
23
- eventBus.on((event) => {
129
+ function pushEvent(event) {
24
130
  recentEvents.push(event);
25
131
  if (recentEvents.length > MAX_RECENT) {
26
132
  recentEvents.splice(0, recentEvents.length - MAX_RECENT);
27
133
  }
28
- });
134
+ }
135
+ // In local mode, pipe EventBus events into recent events
136
+ if (!isCloudMode) {
137
+ eventBus.on((event) => pushEvent(event));
138
+ }
139
+ // Signal server relay (cloud mode)
140
+ let signalServerRelay = null;
141
+ let latestSnapshot = [];
142
+ if (isCloudMode) {
143
+ signalServerRelay = connectToSignalServer(config.signalServer, {
144
+ onEvent(event) {
145
+ pushEvent(event);
146
+ broadcastToClients(wss, { type: 'event', data: event });
147
+ },
148
+ onSnapshot(signals) {
149
+ latestSnapshot = signals;
150
+ broadcastToClients(wss, { type: 'snapshot', signals });
151
+ },
152
+ onSignalPush(signal) {
153
+ // Update our local snapshot cache
154
+ const idx = latestSnapshot.findIndex(s => s.id === signal.id);
155
+ if (idx >= 0) {
156
+ latestSnapshot[idx] = signal;
157
+ }
158
+ else {
159
+ latestSnapshot.push(signal);
160
+ }
161
+ },
162
+ onReady() {
163
+ console.log(' connected to signal server');
164
+ // Request initial snapshot
165
+ signalServerRelay.snapshot();
166
+ },
167
+ onError(err) {
168
+ console.error(' signal server error:', err.message);
169
+ },
170
+ });
171
+ }
29
172
  // HTTP server
30
173
  const server = createServer(async (req, res) => {
31
174
  const url = new URL(req.url ?? '/', `http://localhost:${options.port}`);
@@ -40,25 +183,52 @@ export async function startDevServer(config, options) {
40
183
  }
41
184
  try {
42
185
  if (url.pathname === '/api/state') {
43
- const signals = await config.environment.snapshot();
44
- sendJson(res, { signals });
186
+ if (isCloudMode) {
187
+ sendJson(res, { signals: latestSnapshot });
188
+ }
189
+ else {
190
+ const signals = await config.environment.snapshot();
191
+ sendJson(res, { signals });
192
+ }
45
193
  }
46
194
  else if (url.pathname === '/api/colonies') {
47
- const colonies = runtimes.map(rt => ({
48
- name: rt.name,
49
- state: rt.state,
50
- activeCount: rt.activeCount,
51
- concurrency: rt.concurrency,
52
- stats: rt.stats,
53
- }));
54
- sendJson(res, { colonies });
195
+ if (isCloudMode) {
196
+ // In cloud mode, report colony defs with placeholder state
197
+ const colonies = config.colonies.map(c => ({
198
+ name: c.name,
199
+ state: 'running',
200
+ activeCount: 0,
201
+ concurrency: c.concurrency,
202
+ stats: { signalsSensed: 0, signalsClaimed: 0, signalsProcessed: 0, signalsDeposited: 0, claimConflicts: 0, errors: 0, avgProcessingMs: 0 },
203
+ }));
204
+ sendJson(res, { colonies });
205
+ }
206
+ else {
207
+ const colonies = runtimes.map(rt => ({
208
+ name: rt.name,
209
+ state: rt.state,
210
+ activeCount: rt.activeCount,
211
+ concurrency: rt.concurrency,
212
+ stats: rt.stats,
213
+ }));
214
+ sendJson(res, { colonies });
215
+ }
55
216
  }
56
217
  else if (url.pathname === '/api/stats') {
57
- const stats = runtimes.map(rt => ({
58
- name: rt.name,
59
- ...rt.stats,
60
- }));
61
- sendJson(res, { stats });
218
+ if (isCloudMode) {
219
+ const stats = config.colonies.map(c => ({
220
+ name: c.name,
221
+ signalsSensed: 0, signalsClaimed: 0, signalsProcessed: 0, signalsDeposited: 0, claimConflicts: 0, errors: 0, avgProcessingMs: 0,
222
+ }));
223
+ sendJson(res, { stats });
224
+ }
225
+ else {
226
+ const stats = runtimes.map(rt => ({
227
+ name: rt.name,
228
+ ...rt.stats,
229
+ }));
230
+ sendJson(res, { stats });
231
+ }
62
232
  }
63
233
  else if (url.pathname === '/api/events') {
64
234
  sendJson(res, { events: recentEvents });
@@ -66,15 +236,21 @@ export async function startDevServer(config, options) {
66
236
  else if (url.pathname === '/api/signals' && req.method === 'POST') {
67
237
  const body = await readBody(req);
68
238
  const { type, payload, tags } = JSON.parse(body);
69
- const signal = await config.environment.deposit({
70
- type,
71
- payload: payload ?? {},
72
- meta: {
73
- deposited_by: 'dashboard',
74
- tags,
75
- },
76
- });
77
- sendJson(res, { signal }, 201);
239
+ if (isCloudMode) {
240
+ const signal = await signalServerRelay.deposit(type, payload ?? {}, tags);
241
+ sendJson(res, { signal }, 201);
242
+ }
243
+ else {
244
+ const signal = await config.environment.deposit({
245
+ type,
246
+ payload: payload ?? {},
247
+ meta: {
248
+ deposited_by: 'dashboard',
249
+ tags,
250
+ },
251
+ });
252
+ sendJson(res, { signal }, 201);
253
+ }
78
254
  }
79
255
  else if (url.pathname === '/' || url.pathname === '/index.html') {
80
256
  await serveDashboard(res);
@@ -90,45 +266,34 @@ export async function startDevServer(config, options) {
90
266
  res.end(JSON.stringify({ error: err.message }));
91
267
  }
92
268
  });
93
- // WebSocket server
269
+ // WebSocket server for dashboard UI clients
94
270
  const wss = new WebSocketServer({ server });
95
271
  wss.on('connection', (ws) => {
96
272
  // Send recent events on connect for catchup
97
273
  ws.send(JSON.stringify({ type: 'init', events: recentEvents.slice(-100) }));
98
274
  });
99
- // Forward runtime events to all connected WebSocket clients
100
- eventBus.on((event) => {
101
- const message = JSON.stringify({ type: 'event', data: event });
102
- for (const client of wss.clients) {
103
- if (client.readyState === 1) { // WebSocket.OPEN
104
- client.send(message);
105
- }
106
- }
107
- });
108
- // Listen for remote events relayed through the signal server
109
- if ('onEvent' in config.environment && typeof config.environment.onEvent === 'function') {
110
- config.environment.onEvent((event) => {
111
- recentEvents.push(event);
112
- if (recentEvents.length > MAX_RECENT) {
113
- recentEvents.splice(0, recentEvents.length - MAX_RECENT);
114
- }
115
- const message = JSON.stringify({ type: 'event', data: event });
116
- for (const client of wss.clients) {
117
- if (client.readyState === 1) {
118
- client.send(message);
119
- }
120
- }
275
+ if (!isCloudMode) {
276
+ // Forward runtime events to all connected WebSocket clients
277
+ eventBus.on((event) => {
278
+ broadcastToClients(wss, { type: 'event', data: event });
121
279
  });
280
+ // Listen for remote events relayed through the signal server
281
+ if ('onEvent' in config.environment && typeof config.environment.onEvent === 'function') {
282
+ config.environment.onEvent((event) => {
283
+ pushEvent(event);
284
+ broadcastToClients(wss, { type: 'event', data: event });
285
+ });
286
+ }
122
287
  }
123
288
  // Periodic snapshot broadcast (for concentration decay animation)
124
289
  const snapshotInterval = setInterval(async () => {
125
290
  try {
126
- const signals = await config.environment.snapshot();
127
- const message = JSON.stringify({ type: 'snapshot', signals });
128
- for (const client of wss.clients) {
129
- if (client.readyState === 1) {
130
- client.send(message);
131
- }
291
+ if (isCloudMode) {
292
+ signalServerRelay.snapshot();
293
+ }
294
+ else {
295
+ const signals = await config.environment.snapshot();
296
+ broadcastToClients(wss, { type: 'snapshot', signals });
132
297
  }
133
298
  }
134
299
  catch { /* ignore snapshot errors */ }
@@ -137,21 +302,30 @@ export async function startDevServer(config, options) {
137
302
  server.listen(options.port, () => {
138
303
  console.log(` dashboard: http://localhost:${options.port}`);
139
304
  });
140
- // Start all colony runtimes
141
- console.log(` starting ${runtimes.length} colonies...`);
142
- for (const runtime of runtimes) {
143
- await runtime.start();
144
- console.log(` + ${runtime.name} [running]`);
305
+ if (!isCloudMode) {
306
+ // Start all colony runtimes (local mode only)
307
+ console.log(` starting ${runtimes.length} colonies...`);
308
+ for (const runtime of runtimes) {
309
+ await runtime.start();
310
+ console.log(` + ${runtime.name} [running]`);
311
+ }
312
+ console.log('');
313
+ }
314
+ else {
315
+ console.log(` cloud mode — ${config.colonies.length} colonies running in Edera zones`);
316
+ for (const col of config.colonies) {
317
+ console.log(` + ${col.name} [cloud]`);
318
+ }
319
+ console.log('');
145
320
  }
146
- console.log('');
147
321
  // Auto-open browser
148
322
  if (options.open) {
149
- const url = `http://localhost:${options.port}`;
323
+ const dashUrl = `http://localhost:${options.port}`;
150
324
  try {
151
325
  const { exec } = await import('node:child_process');
152
326
  const cmd = process.platform === 'darwin' ? 'open' :
153
327
  process.platform === 'win32' ? 'start' : 'xdg-open';
154
- exec(`${cmd} ${url}`);
328
+ exec(`${cmd} ${dashUrl}`);
155
329
  }
156
330
  catch { /* ignore open errors */ }
157
331
  }
@@ -159,9 +333,15 @@ export async function startDevServer(config, options) {
159
333
  const shutdown = async () => {
160
334
  console.log('\n shutting down...');
161
335
  clearInterval(snapshotInterval);
162
- for (const runtime of runtimes) {
163
- await runtime.stop();
164
- console.log(` - ${runtime.name} [stopped]`);
336
+ if (isCloudMode) {
337
+ signalServerRelay?.close();
338
+ console.log(' signal server connection closed');
339
+ }
340
+ else {
341
+ for (const runtime of runtimes) {
342
+ await runtime.stop();
343
+ console.log(` - ${runtime.name} [stopped]`);
344
+ }
165
345
  }
166
346
  wss.close();
167
347
  server.close();
@@ -171,6 +351,14 @@ export async function startDevServer(config, options) {
171
351
  process.on('SIGINT', shutdown);
172
352
  process.on('SIGTERM', shutdown);
173
353
  }
354
+ function broadcastToClients(wss, data) {
355
+ const message = JSON.stringify(data);
356
+ for (const client of wss.clients) {
357
+ if (client.readyState === WebSocket.OPEN) {
358
+ client.send(message);
359
+ }
360
+ }
361
+ }
174
362
  function sendJson(res, data, status = 200) {
175
363
  res.writeHead(status, { 'Content-Type': 'application/json' });
176
364
  res.end(JSON.stringify(data));
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mandible-ai/mandible",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "Universal stigmergy framework for autonomous agent coordination — like ant colonies using pheromone trails",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",