@auto-engineer/cli 0.21.0 → 0.21.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.
- package/CHANGELOG.md +11 -0
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/server.d.ts +1 -2
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +7 -18
- package/dist/src/server.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/dist/src/dsl/index.d.ts +0 -71
- package/dist/src/dsl/index.d.ts.map +0 -1
- package/dist/src/dsl/index.js +0 -504
- package/dist/src/dsl/index.js.map +0 -1
- package/dist/src/dsl/types.d.ts +0 -39
- package/dist/src/dsl/types.d.ts.map +0 -1
- package/dist/src/dsl/types.js +0 -2
- package/dist/src/dsl/types.js.map +0 -1
- package/dist/src/dsl-exports.d.ts +0 -5
- package/dist/src/dsl-exports.d.ts.map +0 -1
- package/dist/src/dsl-exports.js +0 -4
- package/dist/src/dsl-exports.js.map +0 -1
- package/dist/src/plugin-loader.d.ts +0 -84
- package/dist/src/plugin-loader.d.ts.map +0 -1
- package/dist/src/plugin-loader.js +0 -788
- package/dist/src/plugin-loader.js.map +0 -1
- package/dist/src/server/command-metadata-service.d.ts +0 -27
- package/dist/src/server/command-metadata-service.d.ts.map +0 -1
- package/dist/src/server/command-metadata-service.js +0 -69
- package/dist/src/server/command-metadata-service.js.map +0 -1
- package/dist/src/server/command-registry.d.ts +0 -21
- package/dist/src/server/command-registry.d.ts.map +0 -1
- package/dist/src/server/command-registry.js +0 -58
- package/dist/src/server/command-registry.js.map +0 -1
- package/dist/src/server/config-loader.d.ts +0 -16
- package/dist/src/server/config-loader.d.ts.map +0 -1
- package/dist/src/server/config-loader.js +0 -106
- package/dist/src/server/config-loader.js.map +0 -1
- package/dist/src/server/event-processor.d.ts +0 -45
- package/dist/src/server/event-processor.d.ts.map +0 -1
- package/dist/src/server/event-processor.js +0 -287
- package/dist/src/server/event-processor.js.map +0 -1
- package/dist/src/server/file-syncer/crypto/jwe-encryptor.d.ts +0 -15
- package/dist/src/server/file-syncer/crypto/jwe-encryptor.d.ts.map +0 -1
- package/dist/src/server/file-syncer/crypto/jwe-encryptor.js +0 -72
- package/dist/src/server/file-syncer/crypto/jwe-encryptor.js.map +0 -1
- package/dist/src/server/file-syncer/crypto/provider-resolver.d.ts +0 -24
- package/dist/src/server/file-syncer/crypto/provider-resolver.d.ts.map +0 -1
- package/dist/src/server/file-syncer/crypto/provider-resolver.js +0 -71
- package/dist/src/server/file-syncer/crypto/provider-resolver.js.map +0 -1
- package/dist/src/server/file-syncer/discovery/bareImports.d.ts +0 -3
- package/dist/src/server/file-syncer/discovery/bareImports.d.ts.map +0 -1
- package/dist/src/server/file-syncer/discovery/bareImports.js +0 -36
- package/dist/src/server/file-syncer/discovery/bareImports.js.map +0 -1
- package/dist/src/server/file-syncer/discovery/dts.d.ts +0 -11
- package/dist/src/server/file-syncer/discovery/dts.d.ts.map +0 -1
- package/dist/src/server/file-syncer/discovery/dts.js +0 -108
- package/dist/src/server/file-syncer/discovery/dts.js.map +0 -1
- package/dist/src/server/file-syncer/index.d.ts +0 -22
- package/dist/src/server/file-syncer/index.d.ts.map +0 -1
- package/dist/src/server/file-syncer/index.js +0 -378
- package/dist/src/server/file-syncer/index.js.map +0 -1
- package/dist/src/server/file-syncer/sync/resolveSyncFileSet.d.ts +0 -7
- package/dist/src/server/file-syncer/sync/resolveSyncFileSet.d.ts.map +0 -1
- package/dist/src/server/file-syncer/sync/resolveSyncFileSet.js +0 -103
- package/dist/src/server/file-syncer/sync/resolveSyncFileSet.js.map +0 -1
- package/dist/src/server/file-syncer/types/wire.d.ts +0 -14
- package/dist/src/server/file-syncer/types/wire.d.ts.map +0 -1
- package/dist/src/server/file-syncer/types/wire.js +0 -2
- package/dist/src/server/file-syncer/types/wire.js.map +0 -1
- package/dist/src/server/file-syncer/utils/hash.d.ts +0 -5
- package/dist/src/server/file-syncer/utils/hash.d.ts.map +0 -1
- package/dist/src/server/file-syncer/utils/hash.js +0 -20
- package/dist/src/server/file-syncer/utils/hash.js.map +0 -1
- package/dist/src/server/file-syncer/utils/path.d.ts +0 -15
- package/dist/src/server/file-syncer/utils/path.d.ts.map +0 -1
- package/dist/src/server/file-syncer/utils/path.js +0 -109
- package/dist/src/server/file-syncer/utils/path.js.map +0 -1
- package/dist/src/server/http-routes.d.ts +0 -30
- package/dist/src/server/http-routes.d.ts.map +0 -1
- package/dist/src/server/http-routes.js +0 -394
- package/dist/src/server/http-routes.js.map +0 -1
- package/dist/src/server/sandbox-landing-page.html +0 -367
- package/dist/src/server/server.d.ts +0 -106
- package/dist/src/server/server.d.ts.map +0 -1
- package/dist/src/server/server.js +0 -255
- package/dist/src/server/server.js.map +0 -1
- package/dist/src/server/services/child-process-manager.d.ts +0 -27
- package/dist/src/server/services/child-process-manager.d.ts.map +0 -1
- package/dist/src/server/services/child-process-manager.js +0 -126
- package/dist/src/server/services/child-process-manager.js.map +0 -1
- package/dist/src/server/services/index.d.ts +0 -3
- package/dist/src/server/services/index.d.ts.map +0 -1
- package/dist/src/server/services/index.js +0 -2
- package/dist/src/server/services/index.js.map +0 -1
- package/dist/src/server/services/interface.d.ts +0 -6
- package/dist/src/server/services/interface.d.ts.map +0 -1
- package/dist/src/server/services/interface.js +0 -2
- package/dist/src/server/services/interface.js.map +0 -1
- package/dist/src/server/settled-tracker.d.ts +0 -29
- package/dist/src/server/settled-tracker.d.ts.map +0 -1
- package/dist/src/server/settled-tracker.js +0 -203
- package/dist/src/server/settled-tracker.js.map +0 -1
- package/dist/src/server/state-manager.d.ts +0 -24
- package/dist/src/server/state-manager.d.ts.map +0 -1
- package/dist/src/server/state-manager.js +0 -56
- package/dist/src/server/state-manager.js.map +0 -1
- package/dist/src/server/websocket-handler.d.ts +0 -5
- package/dist/src/server/websocket-handler.d.ts.map +0 -1
- package/dist/src/server/websocket-handler.js +0 -40
- package/dist/src/server/websocket-handler.js.map +0 -1
- package/dist/src/utils/analytics.d.ts +0 -21
- package/dist/src/utils/analytics.d.ts.map +0 -1
- package/dist/src/utils/analytics.js +0 -41
- package/dist/src/utils/analytics.js.map +0 -1
- package/dist/src/utils/config.d.ts +0 -11
- package/dist/src/utils/config.d.ts.map +0 -1
- package/dist/src/utils/config.js +0 -50
- package/dist/src/utils/config.js.map +0 -1
- package/dist/src/utils/correlation-id.d.ts +0 -3
- package/dist/src/utils/correlation-id.d.ts.map +0 -1
- package/dist/src/utils/correlation-id.js +0 -7
- package/dist/src/utils/correlation-id.js.map +0 -1
- package/dist/src/utils/errors.d.ts +0 -22
- package/dist/src/utils/errors.d.ts.map +0 -1
- package/dist/src/utils/errors.js +0 -50
- package/dist/src/utils/errors.js.map +0 -1
- package/dist/src/utils/get-package-version.d.ts +0 -7
- package/dist/src/utils/get-package-version.d.ts.map +0 -1
- package/dist/src/utils/get-package-version.js +0 -31
- package/dist/src/utils/get-package-version.js.map +0 -1
- package/dist/src/utils/terminal.d.ts +0 -13
- package/dist/src/utils/terminal.d.ts.map +0 -1
- package/dist/src/utils/terminal.js +0 -85
- package/dist/src/utils/terminal.js.map +0 -1
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
import express from 'express';
|
|
2
|
-
import cors from 'cors';
|
|
3
|
-
import { createServer } from 'http';
|
|
4
|
-
import { Server as SocketIOServer } from 'socket.io';
|
|
5
|
-
import { createMessageBus } from '@auto-engineer/message-bus';
|
|
6
|
-
import { MemoryMessageStore } from '@auto-engineer/message-store';
|
|
7
|
-
import createDebug from 'debug';
|
|
8
|
-
import { StateManager } from './state-manager.js';
|
|
9
|
-
import { FileSyncer } from './file-syncer/index.js';
|
|
10
|
-
import { setupHttpRoutes } from './http-routes.js';
|
|
11
|
-
import { setupWebSocketHandlers } from './websocket-handler.js';
|
|
12
|
-
import { EventProcessor } from './event-processor.js';
|
|
13
|
-
import { CommandRegistry } from './command-registry.js';
|
|
14
|
-
import { SettledTracker } from './settled-tracker.js';
|
|
15
|
-
import { ChildProcessManager } from './services/index.js';
|
|
16
|
-
const debug = createDebug('auto:cli:server');
|
|
17
|
-
export class MessageBusServer {
|
|
18
|
-
constructor(config = {}) {
|
|
19
|
-
this.dslRegistrations = [];
|
|
20
|
-
this.config = {
|
|
21
|
-
port: config.port ?? 5555,
|
|
22
|
-
fileSyncDir: config.fileSyncDir ?? '.',
|
|
23
|
-
fileSyncExtensions: config.fileSyncExtensions ?? ['.js', '.html', '.css'],
|
|
24
|
-
enableFileSync: config.enableFileSync !== false,
|
|
25
|
-
maxMessages: config.maxMessages ?? 50000,
|
|
26
|
-
};
|
|
27
|
-
// Initialize Express app
|
|
28
|
-
this.app = express();
|
|
29
|
-
this.app.use(cors());
|
|
30
|
-
this.app.use(express.json());
|
|
31
|
-
// Create HTTP server
|
|
32
|
-
this.httpServer = createServer(this.app);
|
|
33
|
-
// Initialize Socket.IO on the same server
|
|
34
|
-
this.io = new SocketIOServer(this.httpServer, {
|
|
35
|
-
cors: { origin: '*' },
|
|
36
|
-
});
|
|
37
|
-
// Initialize message bus, message store, and state manager
|
|
38
|
-
this.messageBus = createMessageBus();
|
|
39
|
-
this.messageStore = config.messageStore ?? new MemoryMessageStore();
|
|
40
|
-
this.stateManager = new StateManager();
|
|
41
|
-
// Initialize modules
|
|
42
|
-
this.commandRegistry = new CommandRegistry(this.messageBus, this.stateManager);
|
|
43
|
-
this.settledTracker = new SettledTracker((action) => {
|
|
44
|
-
// Handle dispatch actions from settled handlers
|
|
45
|
-
void this.eventProcessor.processDispatchAction(action);
|
|
46
|
-
}, this.commandRegistry.getMetadataService());
|
|
47
|
-
this.eventProcessor = new EventProcessor(this.messageBus, this.messageStore, this.stateManager, (event) => this.io.emit('event', event), this.settledTracker);
|
|
48
|
-
// Set up global event listener for state management
|
|
49
|
-
this.eventProcessor.setupGlobalEventListener();
|
|
50
|
-
this.services = [new ChildProcessManager(this.messageBus)];
|
|
51
|
-
// Set up WebSocket handlers
|
|
52
|
-
this.setupWebSocketHandlers();
|
|
53
|
-
// Set up basic HTTP routes (can be called again after config loading to include DSL registrations)
|
|
54
|
-
this.setupRoutes();
|
|
55
|
-
debug('Message bus server initialized');
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Set up HTTP routes
|
|
59
|
-
*/
|
|
60
|
-
setupRoutes() {
|
|
61
|
-
setupHttpRoutes(this.app, this.messageBus, this.stateManager, {
|
|
62
|
-
commandHandlerNames: this.commandRegistry.getCommandHandlerNames(),
|
|
63
|
-
commandMetadata: this.commandRegistry.getCommandMetadata(),
|
|
64
|
-
commandMetadataService: this.commandRegistry.getMetadataService(),
|
|
65
|
-
eventHandlers: this.eventProcessor.getEventHandlers(),
|
|
66
|
-
foldRegistry: this.commandRegistry.getFoldRegistry(),
|
|
67
|
-
messageStore: this.messageStore,
|
|
68
|
-
dslRegistrations: this.dslRegistrations,
|
|
69
|
-
getDslRegistrations: () => this.dslRegistrations,
|
|
70
|
-
onCommandError: (error) => {
|
|
71
|
-
this.io.emit('commandError', error);
|
|
72
|
-
},
|
|
73
|
-
onCommandReceived: async (command) => {
|
|
74
|
-
await this.eventProcessor.storeCommand(command);
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Set up WebSocket handlers
|
|
80
|
-
*/
|
|
81
|
-
setupWebSocketHandlers() {
|
|
82
|
-
setupWebSocketHandlers(this.io, this.messageBus, this.stateManager);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Register event handlers from DSL
|
|
86
|
-
*/
|
|
87
|
-
registerEventHandler(registration) {
|
|
88
|
-
this.eventProcessor.registerEventHandler(registration);
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Register fold function from DSL
|
|
92
|
-
*/
|
|
93
|
-
registerFold(registration) {
|
|
94
|
-
this.commandRegistry.registerFold(registration);
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Register settled handler from DSL
|
|
98
|
-
*/
|
|
99
|
-
registerSettledHandler(registration) {
|
|
100
|
-
this.settledTracker.registerSettledHandler(registration);
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Set command metadata for dashboard display
|
|
104
|
-
*/
|
|
105
|
-
setCommandMetadata(commandName, metadata) {
|
|
106
|
-
this.commandRegistry.setCommandMetadata(commandName, { ...metadata, name: commandName });
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Register command handlers directly with the message bus
|
|
110
|
-
*/
|
|
111
|
-
registerCommandHandlers(handlers) {
|
|
112
|
-
this.commandRegistry.registerCommandHandlers(handlers);
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Get the command metadata service
|
|
116
|
-
*/
|
|
117
|
-
getCommandMetadataService() {
|
|
118
|
-
return this.commandRegistry.getMetadataService();
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Get the settled tracker (for testing)
|
|
122
|
-
*/
|
|
123
|
-
getSettledTracker() {
|
|
124
|
-
return this.settledTracker;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Subscribe to all events (for testing)
|
|
128
|
-
*/
|
|
129
|
-
subscribeToAllEvents(handler) {
|
|
130
|
-
this.messageBus.subscribeAll({
|
|
131
|
-
name: 'TestEventSubscriber',
|
|
132
|
-
handle: async (event) => {
|
|
133
|
-
handler(event);
|
|
134
|
-
},
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
setDslRegistrations(registrations) {
|
|
138
|
-
this.dslRegistrations = [...registrations];
|
|
139
|
-
}
|
|
140
|
-
getDslRegistrations() {
|
|
141
|
-
return [...this.dslRegistrations];
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Initialize state
|
|
145
|
-
*/
|
|
146
|
-
initializeState(state) {
|
|
147
|
-
// Update the existing state manager's state rather than creating a new one
|
|
148
|
-
// This preserves registered folds
|
|
149
|
-
// Use type assertion through unknown to access private property
|
|
150
|
-
const sm = this.stateManager;
|
|
151
|
-
sm.state = state;
|
|
152
|
-
debug('State initialized:', state);
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Start the server
|
|
156
|
-
*/
|
|
157
|
-
async start() {
|
|
158
|
-
const { port, enableFileSync, fileSyncDir, fileSyncExtensions } = this.config;
|
|
159
|
-
// Create a new session for this server startup
|
|
160
|
-
this.currentSessionId = await this.messageStore.createSession();
|
|
161
|
-
debug(`Created new session: ${this.currentSessionId}`);
|
|
162
|
-
// Start file syncer if enabled
|
|
163
|
-
if (enableFileSync === true) {
|
|
164
|
-
this.fileSyncer = new FileSyncer(this.io, fileSyncDir, fileSyncExtensions);
|
|
165
|
-
this.fileSyncer.start();
|
|
166
|
-
debug(`File syncer started for ${fileSyncDir} with extensions: ${fileSyncExtensions?.join(', ')}`);
|
|
167
|
-
}
|
|
168
|
-
// Start HTTP/WebSocket server
|
|
169
|
-
await new Promise((resolve) => {
|
|
170
|
-
this.httpServer.listen(port, () => {
|
|
171
|
-
if (process.env.NODE_ENV !== 'test' && process.env.VITEST !== 'true') {
|
|
172
|
-
console.log(`Server running at http://localhost:${port} 🚀`);
|
|
173
|
-
}
|
|
174
|
-
debug('Message bus server started on port', port);
|
|
175
|
-
resolve();
|
|
176
|
-
});
|
|
177
|
-
});
|
|
178
|
-
debug('Starting %d server services', this.services.length);
|
|
179
|
-
for (const service of this.services) {
|
|
180
|
-
try {
|
|
181
|
-
debug('Starting service: %s', service.name);
|
|
182
|
-
await service.start();
|
|
183
|
-
}
|
|
184
|
-
catch (error) {
|
|
185
|
-
debug('Failed to start service %s: %O', service.name, error);
|
|
186
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
187
|
-
throw new Error(`Service ${service.name} failed to start: ${errorMessage}`);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
debug('All services started successfully');
|
|
191
|
-
// TODO: Add event store integration here
|
|
192
|
-
// this.eventStore = new EventStore();
|
|
193
|
-
// this.messageBus.subscribeAll({
|
|
194
|
-
// name: 'EventStore',
|
|
195
|
-
// handle: event => this.eventStore.append(event)
|
|
196
|
-
// });
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Stop the server
|
|
200
|
-
*/
|
|
201
|
-
async stop() {
|
|
202
|
-
debug('Stopping message bus server');
|
|
203
|
-
debug('Stopping %d server services', this.services.length);
|
|
204
|
-
for (const service of [...this.services].reverse()) {
|
|
205
|
-
try {
|
|
206
|
-
debug('Stopping service: %s', service.name);
|
|
207
|
-
await service.stop();
|
|
208
|
-
}
|
|
209
|
-
catch (error) {
|
|
210
|
-
debug('Error stopping service %s: %O', service.name, error);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
debug('All services stopped');
|
|
214
|
-
// End current session if exists
|
|
215
|
-
if (this.currentSessionId !== undefined && this.currentSessionId !== null && this.currentSessionId !== '') {
|
|
216
|
-
await this.messageStore.endSession(this.currentSessionId);
|
|
217
|
-
debug(`Ended session: ${this.currentSessionId}`);
|
|
218
|
-
}
|
|
219
|
-
// Stop file syncer
|
|
220
|
-
if (this.fileSyncer) {
|
|
221
|
-
this.fileSyncer.stop();
|
|
222
|
-
}
|
|
223
|
-
// Close WebSocket connections
|
|
224
|
-
await this.io.close();
|
|
225
|
-
// Close HTTP server
|
|
226
|
-
await new Promise((resolve) => {
|
|
227
|
-
this.httpServer.close(() => {
|
|
228
|
-
debug('Server stopped');
|
|
229
|
-
resolve();
|
|
230
|
-
});
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* Get the message bus instance
|
|
235
|
-
*/
|
|
236
|
-
getMessageBus() {
|
|
237
|
-
return this.messageBus;
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Get the state manager instance
|
|
241
|
-
*/
|
|
242
|
-
getStateManager() {
|
|
243
|
-
return this.stateManager;
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Get the message store instance
|
|
247
|
-
*/
|
|
248
|
-
getMessageStore() {
|
|
249
|
-
return this.messageStore;
|
|
250
|
-
}
|
|
251
|
-
getEventProcessor() {
|
|
252
|
-
return this.eventProcessor;
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
//# sourceMappingURL=server.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { ServerService } from './interface';
|
|
2
|
-
import type { MessageBus } from '@auto-engineer/message-bus';
|
|
3
|
-
export interface ProcessInfo {
|
|
4
|
-
pid: number;
|
|
5
|
-
type: string;
|
|
6
|
-
directory: string;
|
|
7
|
-
startedAt: Date;
|
|
8
|
-
}
|
|
9
|
-
export declare class ChildProcessManager implements ServerService {
|
|
10
|
-
readonly name = "ChildProcessManager";
|
|
11
|
-
private readonly messageBus;
|
|
12
|
-
private readonly processes;
|
|
13
|
-
private readonly shutdownTimeoutMs;
|
|
14
|
-
private subscription;
|
|
15
|
-
constructor(messageBus: MessageBus, shutdownTimeoutMs?: number);
|
|
16
|
-
start(): void;
|
|
17
|
-
stop(): Promise<void>;
|
|
18
|
-
private extractDirectory;
|
|
19
|
-
private register;
|
|
20
|
-
private unregister;
|
|
21
|
-
getAll(): ProcessInfo[];
|
|
22
|
-
has(pid: number): boolean;
|
|
23
|
-
private kill;
|
|
24
|
-
private killAll;
|
|
25
|
-
private killProcessWithTimeout;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=child-process-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"child-process-manager.d.ts","sourceRoot":"","sources":["../../../../src/server/services/child-process-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,4BAA4B,CAAC;AAIvF,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,IAAI,yBAAyB;IAEtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,YAAY,CAAkC;gBAE1C,UAAU,EAAE,UAAU,EAAE,iBAAiB,SAAO;IAK5D,KAAK,IAAI,IAAI;IAkBP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,UAAU;IAMlB,MAAM,IAAI,WAAW,EAAE;IAIvB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;YAIX,IAAI;YAmBJ,OAAO;YAgBP,sBAAsB;CAuCrC"}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import kill from 'tree-kill';
|
|
2
|
-
import createDebug from 'debug';
|
|
3
|
-
const debug = createDebug('auto:cli:child-process-manager');
|
|
4
|
-
export class ChildProcessManager {
|
|
5
|
-
constructor(messageBus, shutdownTimeoutMs = 5000) {
|
|
6
|
-
this.name = 'ChildProcessManager';
|
|
7
|
-
this.processes = new Map();
|
|
8
|
-
this.subscription = null;
|
|
9
|
-
this.messageBus = messageBus;
|
|
10
|
-
this.shutdownTimeoutMs = shutdownTimeoutMs;
|
|
11
|
-
}
|
|
12
|
-
start() {
|
|
13
|
-
debug('Starting %s service', this.name);
|
|
14
|
-
this.subscription = this.messageBus.subscribeAll({
|
|
15
|
-
name: this.name,
|
|
16
|
-
handle: async (event) => {
|
|
17
|
-
if (event.data?.pid !== undefined && event.data.pid !== null && typeof event.data.pid === 'number') {
|
|
18
|
-
this.register(event.data.pid, {
|
|
19
|
-
type: event.type,
|
|
20
|
-
directory: this.extractDirectory(event.data),
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
});
|
|
25
|
-
debug('%s service started', this.name);
|
|
26
|
-
}
|
|
27
|
-
async stop() {
|
|
28
|
-
debug('Stopping %s service', this.name);
|
|
29
|
-
await this.killAll();
|
|
30
|
-
if (this.subscription !== null) {
|
|
31
|
-
this.subscription.unsubscribe();
|
|
32
|
-
this.subscription = null;
|
|
33
|
-
}
|
|
34
|
-
debug('%s service stopped', this.name);
|
|
35
|
-
}
|
|
36
|
-
extractDirectory(data) {
|
|
37
|
-
return (data.serverDirectory || data.clientDirectory || data.directory || 'unknown');
|
|
38
|
-
}
|
|
39
|
-
register(pid, info) {
|
|
40
|
-
const processInfo = {
|
|
41
|
-
pid,
|
|
42
|
-
...info,
|
|
43
|
-
startedAt: new Date(),
|
|
44
|
-
};
|
|
45
|
-
this.processes.set(pid, processInfo);
|
|
46
|
-
debug('Registered process %d (%s) in %s', pid, info.type, info.directory);
|
|
47
|
-
}
|
|
48
|
-
unregister(pid) {
|
|
49
|
-
if (this.processes.delete(pid)) {
|
|
50
|
-
debug('Unregistered process %d', pid);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
getAll() {
|
|
54
|
-
return Array.from(this.processes.values());
|
|
55
|
-
}
|
|
56
|
-
has(pid) {
|
|
57
|
-
return this.processes.has(pid);
|
|
58
|
-
}
|
|
59
|
-
async kill(pid) {
|
|
60
|
-
const processInfo = this.processes.get(pid);
|
|
61
|
-
if (processInfo === undefined) {
|
|
62
|
-
debug('Process %d not found in registry', pid);
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
debug('Killing process %d (%s)', pid, processInfo.type);
|
|
66
|
-
try {
|
|
67
|
-
await this.killProcessWithTimeout(pid);
|
|
68
|
-
this.unregister(pid);
|
|
69
|
-
debug('Successfully killed process %d', pid);
|
|
70
|
-
}
|
|
71
|
-
catch (error) {
|
|
72
|
-
debug('Failed to kill process %d: %O', pid, error);
|
|
73
|
-
this.unregister(pid);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
async killAll() {
|
|
77
|
-
if (this.processes.size === 0) {
|
|
78
|
-
debug('No processes to kill');
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
debug('Killing all %d processes', this.processes.size);
|
|
82
|
-
const pids = Array.from(this.processes.keys());
|
|
83
|
-
const killPromises = pids.map((pid) => this.kill(pid));
|
|
84
|
-
await Promise.allSettled(killPromises);
|
|
85
|
-
debug('All processes killed');
|
|
86
|
-
}
|
|
87
|
-
async killProcessWithTimeout(pid) {
|
|
88
|
-
return new Promise((resolve, reject) => {
|
|
89
|
-
let terminated = false;
|
|
90
|
-
const timeoutId = setTimeout(() => {
|
|
91
|
-
if (!terminated) {
|
|
92
|
-
terminated = true;
|
|
93
|
-
debug('Process %d did not terminate after SIGTERM, sending SIGKILL', pid);
|
|
94
|
-
kill(pid, 'SIGKILL', (error) => {
|
|
95
|
-
if (error !== undefined && error !== null) {
|
|
96
|
-
debug('SIGKILL failed for process %d: %O', pid, error);
|
|
97
|
-
}
|
|
98
|
-
resolve();
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
}, this.shutdownTimeoutMs);
|
|
102
|
-
kill(pid, 'SIGTERM', (error) => {
|
|
103
|
-
if (!terminated) {
|
|
104
|
-
terminated = true;
|
|
105
|
-
clearTimeout(timeoutId);
|
|
106
|
-
if (error !== undefined && error !== null) {
|
|
107
|
-
debug('SIGTERM failed for process %d, trying SIGKILL: %O', pid, error);
|
|
108
|
-
kill(pid, 'SIGKILL', (killError) => {
|
|
109
|
-
if (killError !== undefined && killError !== null) {
|
|
110
|
-
debug('SIGKILL also failed for process %d: %O', pid, killError);
|
|
111
|
-
reject(killError);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
resolve();
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
resolve();
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=child-process-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"child-process-manager.js","sourceRoot":"","sources":["../../../../src/server/services/child-process-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/services/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/services/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAoB,MAAM,yBAAyB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../../src/server/services/interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/server/services/interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { Event, Command } from '@auto-engineer/message-bus';
|
|
2
|
-
import type { SettledRegistration, DispatchAction } from '../dsl/types';
|
|
3
|
-
import type { CommandMetadataService } from './command-metadata-service';
|
|
4
|
-
export declare class SettledTracker {
|
|
5
|
-
private handlerTemplates;
|
|
6
|
-
private handlerInstances;
|
|
7
|
-
private commandToHandlerIds;
|
|
8
|
-
private runningCommands;
|
|
9
|
-
private onDispatchAction?;
|
|
10
|
-
private metadataService?;
|
|
11
|
-
private eventToCommandMapping;
|
|
12
|
-
constructor(onDispatchAction?: (action: DispatchAction, parentCorrelationId?: string) => void, metadataService?: CommandMetadataService);
|
|
13
|
-
registerSettledHandler(registration: SettledRegistration): void;
|
|
14
|
-
private instantiateHandlerForCorrelation;
|
|
15
|
-
onCommandStarted(command: Command): void;
|
|
16
|
-
onEventReceived(event: Event): void;
|
|
17
|
-
private isEventFromCommand;
|
|
18
|
-
private isCompletionEvent;
|
|
19
|
-
private collectEventsByCommandType;
|
|
20
|
-
private processPendingDispatches;
|
|
21
|
-
private shouldPersistHandler;
|
|
22
|
-
private resetHandlerTrackers;
|
|
23
|
-
private checkAndTriggerHandlerInstance;
|
|
24
|
-
private cleanupHandlerInstance;
|
|
25
|
-
private generateTemplateId;
|
|
26
|
-
private generateInstanceId;
|
|
27
|
-
getActiveHandlers(): string[];
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=settled-tracker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"settled-tracker.d.ts","sourceRoot":"","sources":["../../../src/server/settled-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAuBzE,qBAAa,cAAc;IACzB,OAAO,CAAC,gBAAgB,CAAkD;IAC1E,OAAO,CAAC,gBAAgB,CAAkD;IAC1E,OAAO,CAAC,mBAAmB,CAAuC;IAClE,OAAO,CAAC,eAAe,CAA0E;IACjG,OAAO,CAAC,gBAAgB,CAAC,CAAiE;IAC1F,OAAO,CAAC,eAAe,CAAC,CAAyB;IACjD,OAAO,CAAC,qBAAqB,CAA8B;gBAGzD,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAAE,MAAM,KAAK,IAAI,EACjF,eAAe,CAAC,EAAE,sBAAsB;IAO1C,sBAAsB,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI;IAkB/D,OAAO,CAAC,gCAAgC;IA0BxC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IA+BxC,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAwCnC,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,8BAA8B;IA+BtC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,kBAAkB;IAI1B,iBAAiB,IAAI,MAAM,EAAE;CAG9B"}
|