@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.
Files changed (134) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/src/index.js +1 -1
  3. package/dist/src/index.js.map +1 -1
  4. package/dist/src/server.d.ts +1 -2
  5. package/dist/src/server.d.ts.map +1 -1
  6. package/dist/src/server.js +7 -18
  7. package/dist/src/server.js.map +1 -1
  8. package/dist/tsconfig.tsbuildinfo +1 -1
  9. package/package.json +4 -4
  10. package/dist/src/dsl/index.d.ts +0 -71
  11. package/dist/src/dsl/index.d.ts.map +0 -1
  12. package/dist/src/dsl/index.js +0 -504
  13. package/dist/src/dsl/index.js.map +0 -1
  14. package/dist/src/dsl/types.d.ts +0 -39
  15. package/dist/src/dsl/types.d.ts.map +0 -1
  16. package/dist/src/dsl/types.js +0 -2
  17. package/dist/src/dsl/types.js.map +0 -1
  18. package/dist/src/dsl-exports.d.ts +0 -5
  19. package/dist/src/dsl-exports.d.ts.map +0 -1
  20. package/dist/src/dsl-exports.js +0 -4
  21. package/dist/src/dsl-exports.js.map +0 -1
  22. package/dist/src/plugin-loader.d.ts +0 -84
  23. package/dist/src/plugin-loader.d.ts.map +0 -1
  24. package/dist/src/plugin-loader.js +0 -788
  25. package/dist/src/plugin-loader.js.map +0 -1
  26. package/dist/src/server/command-metadata-service.d.ts +0 -27
  27. package/dist/src/server/command-metadata-service.d.ts.map +0 -1
  28. package/dist/src/server/command-metadata-service.js +0 -69
  29. package/dist/src/server/command-metadata-service.js.map +0 -1
  30. package/dist/src/server/command-registry.d.ts +0 -21
  31. package/dist/src/server/command-registry.d.ts.map +0 -1
  32. package/dist/src/server/command-registry.js +0 -58
  33. package/dist/src/server/command-registry.js.map +0 -1
  34. package/dist/src/server/config-loader.d.ts +0 -16
  35. package/dist/src/server/config-loader.d.ts.map +0 -1
  36. package/dist/src/server/config-loader.js +0 -106
  37. package/dist/src/server/config-loader.js.map +0 -1
  38. package/dist/src/server/event-processor.d.ts +0 -45
  39. package/dist/src/server/event-processor.d.ts.map +0 -1
  40. package/dist/src/server/event-processor.js +0 -287
  41. package/dist/src/server/event-processor.js.map +0 -1
  42. package/dist/src/server/file-syncer/crypto/jwe-encryptor.d.ts +0 -15
  43. package/dist/src/server/file-syncer/crypto/jwe-encryptor.d.ts.map +0 -1
  44. package/dist/src/server/file-syncer/crypto/jwe-encryptor.js +0 -72
  45. package/dist/src/server/file-syncer/crypto/jwe-encryptor.js.map +0 -1
  46. package/dist/src/server/file-syncer/crypto/provider-resolver.d.ts +0 -24
  47. package/dist/src/server/file-syncer/crypto/provider-resolver.d.ts.map +0 -1
  48. package/dist/src/server/file-syncer/crypto/provider-resolver.js +0 -71
  49. package/dist/src/server/file-syncer/crypto/provider-resolver.js.map +0 -1
  50. package/dist/src/server/file-syncer/discovery/bareImports.d.ts +0 -3
  51. package/dist/src/server/file-syncer/discovery/bareImports.d.ts.map +0 -1
  52. package/dist/src/server/file-syncer/discovery/bareImports.js +0 -36
  53. package/dist/src/server/file-syncer/discovery/bareImports.js.map +0 -1
  54. package/dist/src/server/file-syncer/discovery/dts.d.ts +0 -11
  55. package/dist/src/server/file-syncer/discovery/dts.d.ts.map +0 -1
  56. package/dist/src/server/file-syncer/discovery/dts.js +0 -108
  57. package/dist/src/server/file-syncer/discovery/dts.js.map +0 -1
  58. package/dist/src/server/file-syncer/index.d.ts +0 -22
  59. package/dist/src/server/file-syncer/index.d.ts.map +0 -1
  60. package/dist/src/server/file-syncer/index.js +0 -378
  61. package/dist/src/server/file-syncer/index.js.map +0 -1
  62. package/dist/src/server/file-syncer/sync/resolveSyncFileSet.d.ts +0 -7
  63. package/dist/src/server/file-syncer/sync/resolveSyncFileSet.d.ts.map +0 -1
  64. package/dist/src/server/file-syncer/sync/resolveSyncFileSet.js +0 -103
  65. package/dist/src/server/file-syncer/sync/resolveSyncFileSet.js.map +0 -1
  66. package/dist/src/server/file-syncer/types/wire.d.ts +0 -14
  67. package/dist/src/server/file-syncer/types/wire.d.ts.map +0 -1
  68. package/dist/src/server/file-syncer/types/wire.js +0 -2
  69. package/dist/src/server/file-syncer/types/wire.js.map +0 -1
  70. package/dist/src/server/file-syncer/utils/hash.d.ts +0 -5
  71. package/dist/src/server/file-syncer/utils/hash.d.ts.map +0 -1
  72. package/dist/src/server/file-syncer/utils/hash.js +0 -20
  73. package/dist/src/server/file-syncer/utils/hash.js.map +0 -1
  74. package/dist/src/server/file-syncer/utils/path.d.ts +0 -15
  75. package/dist/src/server/file-syncer/utils/path.d.ts.map +0 -1
  76. package/dist/src/server/file-syncer/utils/path.js +0 -109
  77. package/dist/src/server/file-syncer/utils/path.js.map +0 -1
  78. package/dist/src/server/http-routes.d.ts +0 -30
  79. package/dist/src/server/http-routes.d.ts.map +0 -1
  80. package/dist/src/server/http-routes.js +0 -394
  81. package/dist/src/server/http-routes.js.map +0 -1
  82. package/dist/src/server/sandbox-landing-page.html +0 -367
  83. package/dist/src/server/server.d.ts +0 -106
  84. package/dist/src/server/server.d.ts.map +0 -1
  85. package/dist/src/server/server.js +0 -255
  86. package/dist/src/server/server.js.map +0 -1
  87. package/dist/src/server/services/child-process-manager.d.ts +0 -27
  88. package/dist/src/server/services/child-process-manager.d.ts.map +0 -1
  89. package/dist/src/server/services/child-process-manager.js +0 -126
  90. package/dist/src/server/services/child-process-manager.js.map +0 -1
  91. package/dist/src/server/services/index.d.ts +0 -3
  92. package/dist/src/server/services/index.d.ts.map +0 -1
  93. package/dist/src/server/services/index.js +0 -2
  94. package/dist/src/server/services/index.js.map +0 -1
  95. package/dist/src/server/services/interface.d.ts +0 -6
  96. package/dist/src/server/services/interface.d.ts.map +0 -1
  97. package/dist/src/server/services/interface.js +0 -2
  98. package/dist/src/server/services/interface.js.map +0 -1
  99. package/dist/src/server/settled-tracker.d.ts +0 -29
  100. package/dist/src/server/settled-tracker.d.ts.map +0 -1
  101. package/dist/src/server/settled-tracker.js +0 -203
  102. package/dist/src/server/settled-tracker.js.map +0 -1
  103. package/dist/src/server/state-manager.d.ts +0 -24
  104. package/dist/src/server/state-manager.d.ts.map +0 -1
  105. package/dist/src/server/state-manager.js +0 -56
  106. package/dist/src/server/state-manager.js.map +0 -1
  107. package/dist/src/server/websocket-handler.d.ts +0 -5
  108. package/dist/src/server/websocket-handler.d.ts.map +0 -1
  109. package/dist/src/server/websocket-handler.js +0 -40
  110. package/dist/src/server/websocket-handler.js.map +0 -1
  111. package/dist/src/utils/analytics.d.ts +0 -21
  112. package/dist/src/utils/analytics.d.ts.map +0 -1
  113. package/dist/src/utils/analytics.js +0 -41
  114. package/dist/src/utils/analytics.js.map +0 -1
  115. package/dist/src/utils/config.d.ts +0 -11
  116. package/dist/src/utils/config.d.ts.map +0 -1
  117. package/dist/src/utils/config.js +0 -50
  118. package/dist/src/utils/config.js.map +0 -1
  119. package/dist/src/utils/correlation-id.d.ts +0 -3
  120. package/dist/src/utils/correlation-id.d.ts.map +0 -1
  121. package/dist/src/utils/correlation-id.js +0 -7
  122. package/dist/src/utils/correlation-id.js.map +0 -1
  123. package/dist/src/utils/errors.d.ts +0 -22
  124. package/dist/src/utils/errors.d.ts.map +0 -1
  125. package/dist/src/utils/errors.js +0 -50
  126. package/dist/src/utils/errors.js.map +0 -1
  127. package/dist/src/utils/get-package-version.d.ts +0 -7
  128. package/dist/src/utils/get-package-version.d.ts.map +0 -1
  129. package/dist/src/utils/get-package-version.js +0 -31
  130. package/dist/src/utils/get-package-version.js.map +0 -1
  131. package/dist/src/utils/terminal.d.ts +0 -13
  132. package/dist/src/utils/terminal.d.ts.map +0 -1
  133. package/dist/src/utils/terminal.js +0 -85
  134. 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,3 +0,0 @@
1
- export type { ServerService } from './interface';
2
- export { ChildProcessManager, type ProcessInfo } from './child-process-manager';
3
- //# sourceMappingURL=index.d.ts.map
@@ -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,2 +0,0 @@
1
- export { ChildProcessManager } from './child-process-manager.js';
2
- //# sourceMappingURL=index.js.map
@@ -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,6 +0,0 @@
1
- export interface ServerService {
2
- readonly name: string;
3
- start(): void | Promise<void>;
4
- stop(): void | Promise<void>;
5
- }
6
- //# sourceMappingURL=interface.d.ts.map
@@ -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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=interface.js.map
@@ -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"}