@auto-engineer/cli 0.8.0 → 0.8.2

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.
@@ -16,17 +16,9 @@ export declare class MessageBusServer {
16
16
  private stateManager;
17
17
  private fileSyncer?;
18
18
  private config;
19
- private eventHandlers;
20
- private foldRegistry;
21
- private commandHandlerNames;
22
- private commandMetadata;
23
- private eventHistory;
24
- private maxEventHistory;
19
+ private eventProcessor;
20
+ private commandRegistry;
25
21
  constructor(config?: MessageBusServerConfig);
26
- /**
27
- * Set up global event listener for state management and event forwarding
28
- */
29
- private setupGlobalEventListener;
30
22
  /**
31
23
  * Set up HTTP routes
32
24
  */
@@ -35,13 +27,6 @@ export declare class MessageBusServer {
35
27
  * Set up WebSocket handlers
36
28
  */
37
29
  private setupWebSocketHandlers;
38
- /**
39
- * Process handler result to reduce complexity
40
- */
41
- private processHandlerResult;
42
- private processCommandArray;
43
- private processActionOrCommand;
44
- private processDispatchAction;
45
30
  /**
46
31
  * Register event handlers from DSL
47
32
  */
@@ -64,8 +49,6 @@ export declare class MessageBusServer {
64
49
  * Register command handlers directly with the message bus
65
50
  */
66
51
  registerCommandHandlers(handlers: unknown[]): void;
67
- private processCommandHandler;
68
- private extractUnifiedHandlerMetadata;
69
52
  /**
70
53
  * Initialize state
71
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,UAAU,EAEf,KAAK,KAAK,EAEX,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAqB,MAAM,iBAAiB,CAAC;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAkB,MAAM,cAAc,CAAC;AASxF,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,aAAa,CAAyD;IAC9E,OAAO,CAAC,YAAY,CAAiE;IACrF,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,eAAe,CAGT;IACd,OAAO,CAAC,YAAY,CAAkD;IACtE,OAAO,CAAC,eAAe,CAAQ;gBAEnB,MAAM,GAAE,sBAA2B;IAsC/C;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqChC;;OAEG;IACH,OAAO,CAAC,WAAW;IA4HnB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA8C9B;;OAEG;YACW,oBAAoB;YAUpB,mBAAmB;YAgBnB,sBAAsB;YAWtB,qBAAqB;IAqBnC;;OAEG;IACH,oBAAoB,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI;IAoB3D;;OAEG;IACH,YAAY,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI;IAOlD;;OAEG;IACH,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACrG,IAAI;IAKP;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAWlD,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,6BAA6B;IAerC;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IASrC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B;;OAEG;IACH,aAAa,IAAI,UAAU;IAI3B;;OAEG;IACH,eAAe,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIxD;;OAEG;IACH,eAAe,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7D;;OAEG;IACH,iBAAiB,IAAI,IAAI;CAG1B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAE3F,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAQxE,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;gBAE7B,MAAM,GAAE,sBAA2B;IA4C/C;;OAEG;IACH,OAAO,CAAC,WAAW;IAanB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;OAEG;IACH,oBAAoB,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI;IAI3D;;OAEG;IACH,YAAY,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI;IAIlD;;OAEG;IACH,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACrG,IAAI;IAIP;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAIlD;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IASrC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B;;OAEG;IACH,aAAa,IAAI,UAAU;IAI3B;;OAEG;IACH,eAAe,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIxD;;OAEG;IACH,eAAe,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7D;;OAEG;IACH,iBAAiB,IAAI,IAAI;CAG1B"}
@@ -2,24 +2,17 @@ import express from 'express';
2
2
  import cors from 'cors';
3
3
  import { createServer } from 'http';
4
4
  import { Server as SocketIOServer } from 'socket.io';
5
- import { createMessageBus, } from '@auto-engineer/message-bus';
5
+ import { createMessageBus } from '@auto-engineer/message-bus';
6
6
  import createDebug from 'debug';
7
7
  import { StateManager } from './state-manager.js';
8
8
  import { FileSyncer } from './file-syncer.js';
9
- import { fileURLToPath } from 'url';
10
- import { dirname, join } from 'path';
9
+ import { setupHttpRoutes } from './http-routes.js';
10
+ import { setupWebSocketHandlers } from './websocket-handler.js';
11
+ import { EventProcessor } from './event-processor.js';
12
+ import { CommandRegistry } from './command-registry.js';
11
13
  const debug = createDebug('auto-engineer:server');
12
- const debugHttp = createDebug('auto-engineer:server:http');
13
- const debugWs = createDebug('auto-engineer:server:ws');
14
- const debugBus = createDebug('auto-engineer:server:bus');
15
14
  export class MessageBusServer {
16
15
  constructor(config = {}) {
17
- this.eventHandlers = new Map();
18
- this.foldRegistry = new Map();
19
- this.commandHandlerNames = [];
20
- this.commandMetadata = new Map();
21
- this.eventHistory = [];
22
- this.maxEventHistory = 1000; // Limit to prevent memory issues
23
16
  this.config = {
24
17
  port: config.port ?? 5555,
25
18
  wsPort: config.wsPort ?? 5556,
@@ -40,338 +33,61 @@ export class MessageBusServer {
40
33
  // Initialize message bus and state manager
41
34
  this.messageBus = createMessageBus();
42
35
  this.stateManager = new StateManager();
36
+ // Initialize modules
37
+ this.eventProcessor = new EventProcessor(this.messageBus, this.stateManager, (event) => this.io.emit('event', event));
38
+ this.commandRegistry = new CommandRegistry(this.messageBus, this.stateManager);
43
39
  // Set up global event listener for state management
44
- this.setupGlobalEventListener();
40
+ this.eventProcessor.setupGlobalEventListener();
45
41
  // Set up HTTP routes
46
42
  this.setupRoutes();
47
43
  // Set up WebSocket handlers
48
44
  this.setupWebSocketHandlers();
49
45
  debug('Message bus server initialized');
50
46
  }
51
- /**
52
- * Set up global event listener for state management and event forwarding
53
- */
54
- setupGlobalEventListener() {
55
- this.messageBus.subscribeAll({
56
- name: 'ServerStateManager',
57
- handle: async (event) => {
58
- debugBus('Received event:', event.type);
59
- // Store event in history
60
- this.eventHistory.push({
61
- event,
62
- timestamp: new Date().toISOString(),
63
- });
64
- // Trim history if it exceeds max size
65
- if (this.eventHistory.length > this.maxEventHistory) {
66
- this.eventHistory = this.eventHistory.slice(-this.maxEventHistory);
67
- }
68
- // Apply event to state
69
- this.stateManager.applyEvent(event);
70
- // Trigger registered event handlers
71
- const handlers = this.eventHandlers.get(event.type) || [];
72
- for (const handler of handlers) {
73
- try {
74
- handler(event);
75
- }
76
- catch (error) {
77
- console.error(`Error in event handler for ${event.type}:`, error);
78
- }
79
- }
80
- // Broadcast event to WebSocket clients
81
- this.io.emit('event', event);
82
- debugWs('Broadcasted event to WebSocket clients:', event.type);
83
- },
84
- });
85
- }
86
47
  /**
87
48
  * Set up HTTP routes
88
49
  */
89
50
  setupRoutes() {
90
- // Health check endpoint
91
- this.app.get('/health', (_req, res) => {
92
- res.json({
93
- status: 'healthy',
94
- uptime: process.uptime(),
95
- timestamp: new Date().toISOString(),
96
- });
97
- });
98
- // Serve dashboard
99
- this.app.get('/', (_req, res) => {
100
- const __dirname = dirname(fileURLToPath(import.meta.url));
101
- res.sendFile(join(__dirname, 'dashboard.html'));
102
- });
103
- // Get registry information
104
- this.app.get('/registry', (_req, res) => {
105
- // Sort commands alphabetically by alias
106
- const sortedCommands = this.commandHandlerNames
107
- .map((name) => ({
108
- name,
109
- metadata: this.commandMetadata.get(name),
110
- }))
111
- .sort((a, b) => {
112
- const aliasA = a.metadata?.alias ?? a.name;
113
- const aliasB = b.metadata?.alias ?? b.name;
114
- return aliasA.localeCompare(aliasB);
115
- });
116
- res.json({
117
- eventHandlers: Array.from(this.eventHandlers.keys()),
118
- folds: Array.from(this.foldRegistry.keys()),
119
- commandHandlers: sortedCommands.map((cmd) => cmd.name),
120
- commandsWithMetadata: sortedCommands.map((cmd) => ({
121
- name: cmd.name,
122
- alias: cmd.metadata?.alias ?? cmd.name,
123
- description: cmd.metadata?.description ?? 'No description',
124
- package: cmd.metadata?.package ?? 'unknown',
125
- version: cmd.metadata?.version,
126
- category: cmd.metadata?.category,
127
- })),
128
- });
129
- });
130
- // Get event history
131
- this.app.get('/events', (_req, res) => {
132
- res.json(this.eventHistory);
133
- });
134
- // Get current state
135
- this.app.get('/state', (_req, res) => {
136
- res.json(this.stateManager.getState());
137
- });
138
- // Command endpoint
139
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
140
- this.app.post('/command', async (req, res) => {
141
- try {
142
- const command = req.body;
143
- debugHttp('Received command:', command.type);
144
- debugHttp('Command data:', command.data);
145
- // Validate command structure
146
- if (!command.type || !('data' in command)) {
147
- return res.status(400).json({
148
- status: 'nack',
149
- error: 'Invalid command structure. Must have type and data fields.',
150
- });
151
- }
152
- // Add request ID if not present
153
- const hasRequestId = command.requestId !== null && command.requestId !== undefined && command.requestId !== '';
154
- const cmdWithId = hasRequestId
155
- ? command
156
- : { ...command, requestId: `req-${Date.now()}-${Math.random().toString(36).substring(2, 11)}` };
157
- // TODO: Add type validation based on command types
158
- // validateCommand(command);
159
- // Check if command handler exists
160
- if (!this.commandHandlerNames.includes(cmdWithId.type)) {
161
- return res.status(404).json({
162
- status: 'nack',
163
- error: `Command handler not found for command: ${cmdWithId.type}`,
164
- availableCommands: this.commandHandlerNames,
165
- });
166
- }
167
- // Send to message bus (non-blocking)
168
- this.messageBus
169
- .sendCommand(cmdWithId)
170
- .then(() => {
171
- debugHttp('Command processed successfully:', cmdWithId.type);
172
- })
173
- .catch((err) => {
174
- console.error('Command failed:', err);
175
- // Emit error event for UI to capture
176
- this.io.emit('commandError', {
177
- commandId: cmdWithId.requestId,
178
- error: err instanceof Error ? err.message : String(err),
179
- timestamp: new Date().toISOString(),
180
- });
181
- });
182
- // Return acknowledgment immediately
183
- res.json({
184
- status: 'ack',
185
- commandId: cmdWithId.requestId,
186
- timestamp: new Date().toISOString(),
187
- });
188
- }
189
- catch (error) {
190
- debugHttp('Error processing command:', error);
191
- res.status(400).json({
192
- status: 'nack',
193
- error: error instanceof Error ? error.message : 'Failed to process command',
194
- });
195
- }
51
+ setupHttpRoutes(this.app, this.messageBus, this.stateManager, {
52
+ commandHandlerNames: this.commandRegistry.getCommandHandlerNames(),
53
+ commandMetadata: this.commandRegistry.getCommandMetadata(),
54
+ eventHandlers: this.eventProcessor.getEventHandlers(),
55
+ foldRegistry: this.commandRegistry.getFoldRegistry(),
56
+ eventHistory: this.eventProcessor.getEventHistory(),
57
+ onCommandError: (error) => {
58
+ this.io.emit('commandError', error);
59
+ },
196
60
  });
197
- debugHttp('HTTP routes configured');
198
61
  }
199
62
  /**
200
63
  * Set up WebSocket handlers
201
64
  */
202
65
  setupWebSocketHandlers() {
203
- this.io.on('connection', (socket) => {
204
- debugWs('WebSocket client connected:', socket.id);
205
- // Send current state to new client
206
- socket.emit('state', this.stateManager.getState());
207
- // Handle command from WebSocket
208
- socket.on('command', async (command) => {
209
- debugWs('Received command via WebSocket:', command.type);
210
- try {
211
- // Add request ID if not present
212
- const hasRequestId = command.requestId !== null && command.requestId !== undefined && command.requestId !== '';
213
- const cmdWithId = hasRequestId
214
- ? command
215
- : { ...command, requestId: `ws-${Date.now()}-${Math.random().toString(36).substring(2, 11)}` };
216
- await this.messageBus.sendCommand(cmdWithId);
217
- socket.emit('command-ack', {
218
- status: 'ack',
219
- commandId: cmdWithId.requestId,
220
- });
221
- }
222
- catch (error) {
223
- socket.emit('command-ack', {
224
- status: 'nack',
225
- error: error instanceof Error ? error.message : 'Unknown error',
226
- });
227
- }
228
- });
229
- // Handle state query
230
- socket.on('get-state', () => {
231
- socket.emit('state', this.stateManager.getState());
232
- });
233
- socket.on('disconnect', () => {
234
- debugWs('WebSocket client disconnected:', socket.id);
235
- });
236
- });
237
- debugWs('WebSocket handlers configured');
238
- }
239
- /**
240
- * Process handler result to reduce complexity
241
- */
242
- async processHandlerResult(result) {
243
- if (result === null || result === undefined)
244
- return;
245
- if (Array.isArray(result)) {
246
- await this.processCommandArray(result);
247
- }
248
- else if (typeof result === 'object' && result !== null && 'type' in result) {
249
- await this.processActionOrCommand(result);
250
- }
251
- }
252
- async processCommandArray(commands) {
253
- debugBus('Dispatching multiple commands from event handler');
254
- for (const command of commands) {
255
- if (command !== null &&
256
- command !== undefined &&
257
- typeof command === 'object' &&
258
- 'type' in command &&
259
- 'data' in command) {
260
- debugBus('Dispatching command:', command.type);
261
- await this.messageBus.sendCommand(command);
262
- }
263
- }
264
- }
265
- async processActionOrCommand(action) {
266
- const actionObj = action;
267
- if (actionObj !== null && typeof actionObj === 'object' && 'data' in actionObj) {
268
- debugBus('Dispatching command from event handler:', action.type);
269
- await this.messageBus.sendCommand(action);
270
- }
271
- else {
272
- await this.processDispatchAction(action);
273
- }
274
- }
275
- // eslint-disable-next-line complexity
276
- async processDispatchAction(action) {
277
- if (action.type === 'dispatch' && action.command) {
278
- debugBus('Dispatching command from dispatch action:', action.command.type);
279
- await this.messageBus.sendCommand(action.command);
280
- }
281
- else if (action.type === 'dispatch-parallel' && action.commands) {
282
- debugBus('Dispatching parallel commands from event handler');
283
- await Promise.all(action.commands.map((cmd) => this.messageBus.sendCommand(cmd)));
284
- }
285
- else if (action.type === 'dispatch-sequence' && action.commands) {
286
- debugBus('Dispatching sequential commands from event handler');
287
- for (const cmd of action.commands) {
288
- await this.messageBus.sendCommand(cmd);
289
- }
290
- }
291
- else if (action.type === 'dispatch-custom' && action.commandFactory) {
292
- const cmds = action.commandFactory();
293
- const commands = Array.isArray(cmds) ? cmds : [cmds];
294
- for (const cmd of commands) {
295
- await this.messageBus.sendCommand(cmd);
296
- }
297
- }
66
+ setupWebSocketHandlers(this.io, this.messageBus, this.stateManager);
298
67
  }
299
68
  /**
300
69
  * Register event handlers from DSL
301
70
  */
302
71
  registerEventHandler(registration) {
303
- debug('Registering event handler for:', registration.eventType);
304
- const handler = async (event) => {
305
- try {
306
- const result = registration.handler(event);
307
- await this.processHandlerResult(result);
308
- }
309
- catch (error) {
310
- console.error('Error in event handler:', error);
311
- }
312
- };
313
- // Store handler for later execution
314
- if (!this.eventHandlers.has(registration.eventType)) {
315
- this.eventHandlers.set(registration.eventType, []);
316
- }
317
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
318
- this.eventHandlers.get(registration.eventType).push(handler);
72
+ this.eventProcessor.registerEventHandler(registration);
319
73
  }
320
74
  /**
321
75
  * Register fold function from DSL
322
76
  */
323
77
  registerFold(registration) {
324
- debug('Registering fold for:', registration.eventType);
325
- const foldFn = registration.reducer;
326
- this.stateManager.registerFold(registration.eventType, foldFn);
327
- this.foldRegistry.set(registration.eventType, foldFn);
78
+ this.commandRegistry.registerFold(registration);
328
79
  }
329
80
  /**
330
81
  * Set command metadata for dashboard display
331
82
  */
332
83
  setCommandMetadata(commandName, metadata) {
333
- this.commandMetadata.set(commandName, metadata);
334
- debugBus('Set metadata for command:', commandName, metadata);
84
+ this.commandRegistry.setCommandMetadata(commandName, metadata);
335
85
  }
336
86
  /**
337
87
  * Register command handlers directly with the message bus
338
88
  */
339
89
  registerCommandHandlers(handlers) {
340
- debugBus('registerCommandHandlers called with', handlers.length, 'handlers');
341
- debugBus('Current commandHandlerNames:', this.commandHandlerNames);
342
- for (const handler of handlers) {
343
- this.processCommandHandler(handler);
344
- }
345
- debugBus('After registration, commandHandlerNames:', this.commandHandlerNames);
346
- }
347
- processCommandHandler(handler) {
348
- if (handler !== null &&
349
- handler !== undefined &&
350
- typeof handler === 'object' &&
351
- 'name' in handler &&
352
- 'handle' in handler) {
353
- const cmdHandler = handler;
354
- debugBus('Registering command handler:', cmdHandler.name);
355
- this.messageBus.registerCommandHandler(cmdHandler);
356
- this.commandHandlerNames.push(cmdHandler.name);
357
- this.extractUnifiedHandlerMetadata(handler, cmdHandler.name);
358
- }
359
- else {
360
- debugBus('Skipping invalid handler:', handler);
361
- }
362
- }
363
- extractUnifiedHandlerMetadata(handler, commandName) {
364
- if (typeof handler === 'object' && handler !== null && 'alias' in handler && 'description' in handler) {
365
- const unifiedHandler = handler;
366
- debugBus('Extracting metadata from UnifiedCommandHandler:', commandName);
367
- this.setCommandMetadata(commandName, {
368
- alias: unifiedHandler.alias,
369
- description: unifiedHandler.description,
370
- package: unifiedHandler.package?.name ?? 'unknown',
371
- version: unifiedHandler.package?.version,
372
- category: unifiedHandler.category,
373
- });
374
- }
90
+ this.commandRegistry.registerCommandHandlers(handlers);
375
91
  }
376
92
  /**
377
93
  * Initialize state
@@ -398,12 +114,17 @@ export class MessageBusServer {
398
114
  // Start HTTP/WebSocket server
399
115
  await new Promise((resolve) => {
400
116
  this.httpServer.listen(port, () => {
401
- console.log(`Message bus server running on port ${port}`);
402
- console.log(`Dashboard available at http://localhost:${port}`);
403
- console.log(`WebSocket server available on ws://localhost:${port}`);
404
- if (enableFileSync === true) {
405
- console.log(`File sync enabled for ${fileSyncDir} (extensions: ${fileSyncExtensions?.join(', ')})`);
117
+ // Only show console output if not in test environment
118
+ const isTest = process.env.NODE_ENV === 'test' || process.env.VITEST === 'true';
119
+ if (!isTest) {
120
+ console.log(`Message bus server running on port ${port}`);
121
+ console.log(`Dashboard available at http://localhost:${port}`);
122
+ console.log(`WebSocket server available on ws://localhost:${port}`);
123
+ if (enableFileSync === true) {
124
+ console.log(`File sync enabled for ${fileSyncDir} (extensions: ${fileSyncExtensions?.join(', ')})`);
125
+ }
406
126
  }
127
+ debug('Message bus server started on port', port);
407
128
  resolve();
408
129
  });
409
130
  });
@@ -449,13 +170,13 @@ export class MessageBusServer {
449
170
  * Get the event history
450
171
  */
451
172
  getEventHistory() {
452
- return this.eventHistory;
173
+ return this.eventProcessor.getEventHistory();
453
174
  }
454
175
  /**
455
176
  * Clear event history
456
177
  */
457
178
  clearEventHistory() {
458
- this.eventHistory = [];
179
+ this.eventProcessor.clearEventHistory();
459
180
  }
460
181
  }
461
182
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Server as SocketIOServer } from 'socket.io';
2
+ import type { MessageBus } from '@auto-engineer/message-bus';
3
+ import type { StateManager } from './state-manager';
4
+ export declare function setupWebSocketHandlers(io: SocketIOServer, messageBus: MessageBus, stateManager: StateManager<Record<string, unknown>>): void;
5
+ //# sourceMappingURL=websocket-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-handler.d.ts","sourceRoot":"","sources":["../../../src/server/websocket-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAW,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKpD,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,cAAc,EAClB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAClD,IAAI,CA2CN"}
@@ -0,0 +1,40 @@
1
+ import createDebug from 'debug';
2
+ const debugWs = createDebug('auto-engineer:server:ws');
3
+ export function setupWebSocketHandlers(io, messageBus, stateManager) {
4
+ io.on('connection', (socket) => {
5
+ debugWs('WebSocket client connected:', socket.id);
6
+ // Send current state to new client
7
+ socket.emit('state', stateManager.getState());
8
+ // Handle command from WebSocket
9
+ socket.on('command', async (command) => {
10
+ debugWs('Received command via WebSocket:', command.type);
11
+ try {
12
+ // Add request ID if not present
13
+ const hasRequestId = command.requestId !== null && command.requestId !== undefined && command.requestId !== '';
14
+ const cmdWithId = hasRequestId
15
+ ? command
16
+ : { ...command, requestId: `ws-${Date.now()}-${Math.random().toString(36).substring(2, 11)}` };
17
+ await messageBus.sendCommand(cmdWithId);
18
+ socket.emit('command-ack', {
19
+ status: 'ack',
20
+ commandId: cmdWithId.requestId,
21
+ });
22
+ }
23
+ catch (error) {
24
+ socket.emit('command-ack', {
25
+ status: 'nack',
26
+ error: error instanceof Error ? error.message : 'Unknown error',
27
+ });
28
+ }
29
+ });
30
+ // Handle state query
31
+ socket.on('get-state', () => {
32
+ socket.emit('state', stateManager.getState());
33
+ });
34
+ socket.on('disconnect', () => {
35
+ debugWs('WebSocket client disconnected:', socket.id);
36
+ });
37
+ });
38
+ debugWs('WebSocket handlers configured');
39
+ }
40
+ //# sourceMappingURL=websocket-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-handler.js","sourceRoot":"","sources":["../../../src/server/websocket-handler.ts"],"names":[],"mappings":"AAGA,OAAO,WAAW,MAAM,OAAO,CAAC;AAEhC,MAAM,OAAO,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;AAEvD,MAAM,UAAU,sBAAsB,CACpC,EAAkB,EAClB,UAAsB,EACtB,YAAmD;IAEnD,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;QAC7B,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAElD,mCAAmC;QACnC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9C,gCAAgC;QAChC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;YAC9C,OAAO,CAAC,iCAAiC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAEzD,IAAI,CAAC;gBACH,gCAAgC;gBAChC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC;gBAC/G,MAAM,SAAS,GAAG,YAAY;oBAC5B,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAEjG,MAAM,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAExC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;oBACzB,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;oBACzB,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC3B,OAAO,CAAC,gCAAgC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAC3C,CAAC"}