@auto-engineer/cli 0.19.1 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/CHANGELOG.md +24 -4
  2. package/dist/src/__fixtures__/auto.config.d.ts +7 -0
  3. package/dist/src/__fixtures__/auto.config.d.ts.map +1 -0
  4. package/dist/src/__fixtures__/auto.config.js +7 -0
  5. package/dist/src/__fixtures__/auto.config.js.map +1 -0
  6. package/dist/src/dsl/index.d.ts +71 -0
  7. package/dist/src/dsl/index.d.ts.map +1 -0
  8. package/dist/src/dsl/index.js +504 -0
  9. package/dist/src/dsl/index.js.map +1 -0
  10. package/dist/src/dsl/types.d.ts +39 -0
  11. package/dist/src/dsl/types.d.ts.map +1 -0
  12. package/dist/src/dsl/types.js +2 -0
  13. package/dist/src/dsl/types.js.map +1 -0
  14. package/dist/src/dsl-exports.d.ts +5 -0
  15. package/dist/src/dsl-exports.d.ts.map +1 -0
  16. package/dist/src/dsl-exports.js +4 -0
  17. package/dist/src/dsl-exports.js.map +1 -0
  18. package/dist/src/index.js +16 -201
  19. package/dist/src/index.js.map +1 -1
  20. package/dist/src/plugin-loader.d.ts +84 -0
  21. package/dist/src/plugin-loader.d.ts.map +1 -0
  22. package/dist/src/plugin-loader.js +788 -0
  23. package/dist/src/plugin-loader.js.map +1 -0
  24. package/dist/src/server/command-metadata-service.d.ts +27 -0
  25. package/dist/src/server/command-metadata-service.d.ts.map +1 -0
  26. package/dist/src/server/command-metadata-service.js +69 -0
  27. package/dist/src/server/command-metadata-service.js.map +1 -0
  28. package/dist/src/server/command-registry.d.ts +21 -0
  29. package/dist/src/server/command-registry.d.ts.map +1 -0
  30. package/dist/src/server/command-registry.js +58 -0
  31. package/dist/src/server/command-registry.js.map +1 -0
  32. package/dist/src/server/config-loader.d.ts +16 -0
  33. package/dist/src/server/config-loader.d.ts.map +1 -0
  34. package/dist/src/server/config-loader.js +106 -0
  35. package/dist/src/server/config-loader.js.map +1 -0
  36. package/dist/src/server/event-processor.d.ts +45 -0
  37. package/dist/src/server/event-processor.d.ts.map +1 -0
  38. package/dist/src/server/event-processor.js +287 -0
  39. package/dist/src/server/event-processor.js.map +1 -0
  40. package/dist/src/server/file-syncer/crypto/jwe-encryptor.d.ts +15 -0
  41. package/dist/src/server/file-syncer/crypto/jwe-encryptor.d.ts.map +1 -0
  42. package/dist/src/server/file-syncer/crypto/jwe-encryptor.js +72 -0
  43. package/dist/src/server/file-syncer/crypto/jwe-encryptor.js.map +1 -0
  44. package/dist/src/server/file-syncer/crypto/provider-resolver.d.ts +24 -0
  45. package/dist/src/server/file-syncer/crypto/provider-resolver.d.ts.map +1 -0
  46. package/dist/src/server/file-syncer/crypto/provider-resolver.js +71 -0
  47. package/dist/src/server/file-syncer/crypto/provider-resolver.js.map +1 -0
  48. package/dist/src/server/file-syncer/discovery/bareImports.d.ts +3 -0
  49. package/dist/src/server/file-syncer/discovery/bareImports.d.ts.map +1 -0
  50. package/dist/src/server/file-syncer/discovery/bareImports.js +36 -0
  51. package/dist/src/server/file-syncer/discovery/bareImports.js.map +1 -0
  52. package/dist/src/server/file-syncer/discovery/dts.d.ts +11 -0
  53. package/dist/src/server/file-syncer/discovery/dts.d.ts.map +1 -0
  54. package/dist/src/server/file-syncer/discovery/dts.js +108 -0
  55. package/dist/src/server/file-syncer/discovery/dts.js.map +1 -0
  56. package/dist/src/server/file-syncer/index.d.ts +22 -0
  57. package/dist/src/server/file-syncer/index.d.ts.map +1 -0
  58. package/dist/src/server/file-syncer/index.js +378 -0
  59. package/dist/src/server/file-syncer/index.js.map +1 -0
  60. package/dist/src/server/file-syncer/sync/resolveSyncFileSet.d.ts +7 -0
  61. package/dist/src/server/file-syncer/sync/resolveSyncFileSet.d.ts.map +1 -0
  62. package/dist/src/server/file-syncer/sync/resolveSyncFileSet.js +103 -0
  63. package/dist/src/server/file-syncer/sync/resolveSyncFileSet.js.map +1 -0
  64. package/dist/src/server/file-syncer/types/wire.d.ts +14 -0
  65. package/dist/src/server/file-syncer/types/wire.d.ts.map +1 -0
  66. package/dist/src/server/file-syncer/types/wire.js +2 -0
  67. package/dist/src/server/file-syncer/types/wire.js.map +1 -0
  68. package/dist/src/server/file-syncer/utils/hash.d.ts +5 -0
  69. package/dist/src/server/file-syncer/utils/hash.d.ts.map +1 -0
  70. package/dist/src/server/file-syncer/utils/hash.js +20 -0
  71. package/dist/src/server/file-syncer/utils/hash.js.map +1 -0
  72. package/dist/src/server/file-syncer/utils/path.d.ts +15 -0
  73. package/dist/src/server/file-syncer/utils/path.d.ts.map +1 -0
  74. package/dist/src/server/file-syncer/utils/path.js +109 -0
  75. package/dist/src/server/file-syncer/utils/path.js.map +1 -0
  76. package/dist/src/server/http-routes.d.ts +30 -0
  77. package/dist/src/server/http-routes.d.ts.map +1 -0
  78. package/dist/src/server/http-routes.js +394 -0
  79. package/dist/src/server/http-routes.js.map +1 -0
  80. package/dist/src/server/sandbox-landing-page.html +367 -0
  81. package/dist/src/server/server.d.ts +106 -0
  82. package/dist/src/server/server.d.ts.map +1 -0
  83. package/dist/src/server/server.js +255 -0
  84. package/dist/src/server/server.js.map +1 -0
  85. package/dist/src/server/services/child-process-manager.d.ts +27 -0
  86. package/dist/src/server/services/child-process-manager.d.ts.map +1 -0
  87. package/dist/src/server/services/child-process-manager.js +126 -0
  88. package/dist/src/server/services/child-process-manager.js.map +1 -0
  89. package/dist/src/server/services/index.d.ts +3 -0
  90. package/dist/src/server/services/index.d.ts.map +1 -0
  91. package/dist/src/server/services/index.js +2 -0
  92. package/dist/src/server/services/index.js.map +1 -0
  93. package/dist/src/server/services/interface.d.ts +6 -0
  94. package/dist/src/server/services/interface.d.ts.map +1 -0
  95. package/dist/src/server/services/interface.js +2 -0
  96. package/dist/src/server/services/interface.js.map +1 -0
  97. package/dist/src/server/settled-tracker.d.ts +29 -0
  98. package/dist/src/server/settled-tracker.d.ts.map +1 -0
  99. package/dist/src/server/settled-tracker.js +203 -0
  100. package/dist/src/server/settled-tracker.js.map +1 -0
  101. package/dist/src/server/state-manager.d.ts +24 -0
  102. package/dist/src/server/state-manager.d.ts.map +1 -0
  103. package/dist/src/server/state-manager.js +56 -0
  104. package/dist/src/server/state-manager.js.map +1 -0
  105. package/dist/src/server/websocket-handler.d.ts +5 -0
  106. package/dist/src/server/websocket-handler.d.ts.map +1 -0
  107. package/dist/src/server/websocket-handler.js +40 -0
  108. package/dist/src/server/websocket-handler.js.map +1 -0
  109. package/dist/src/server.d.ts +20 -0
  110. package/dist/src/server.d.ts.map +1 -0
  111. package/dist/src/server.js +204 -0
  112. package/dist/src/server.js.map +1 -0
  113. package/dist/src/utils/analytics.d.ts +21 -0
  114. package/dist/src/utils/analytics.d.ts.map +1 -0
  115. package/dist/src/utils/analytics.js +41 -0
  116. package/dist/src/utils/analytics.js.map +1 -0
  117. package/dist/src/utils/config.d.ts +11 -0
  118. package/dist/src/utils/config.d.ts.map +1 -0
  119. package/dist/src/utils/config.js +50 -0
  120. package/dist/src/utils/config.js.map +1 -0
  121. package/dist/src/utils/correlation-id.d.ts +3 -0
  122. package/dist/src/utils/correlation-id.d.ts.map +1 -0
  123. package/dist/src/utils/correlation-id.js +7 -0
  124. package/dist/src/utils/correlation-id.js.map +1 -0
  125. package/dist/src/utils/errors.d.ts +22 -0
  126. package/dist/src/utils/errors.d.ts.map +1 -0
  127. package/dist/src/utils/errors.js +50 -0
  128. package/dist/src/utils/errors.js.map +1 -0
  129. package/dist/src/utils/get-package-version.d.ts +7 -0
  130. package/dist/src/utils/get-package-version.d.ts.map +1 -0
  131. package/dist/src/utils/get-package-version.js +31 -0
  132. package/dist/src/utils/get-package-version.js.map +1 -0
  133. package/dist/src/utils/terminal.d.ts +13 -0
  134. package/dist/src/utils/terminal.d.ts.map +1 -0
  135. package/dist/src/utils/terminal.js +85 -0
  136. package/dist/src/utils/terminal.js.map +1 -0
  137. package/dist/tsconfig.tsbuildinfo +1 -1
  138. package/package.json +14 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/plugin-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export interface CommandMetadata {
2
+ name: string;
3
+ alias: string;
4
+ description: string;
5
+ package: string;
6
+ version?: string;
7
+ category?: string;
8
+ icon?: string;
9
+ events?: string[];
10
+ }
11
+ export declare class CommandMetadataService {
12
+ private commandMetadata;
13
+ private eventToCommandMapping;
14
+ extractUnifiedHandlerMetadata(handler: unknown, commandName: string): void;
15
+ private isValidUnifiedHandler;
16
+ private extractEvents;
17
+ private buildCommandMetadata;
18
+ private mapEventsToCommand;
19
+ setCommandMetadata(commandName: string, metadata: CommandMetadata): void;
20
+ getCommandMetadata(commandName: string): CommandMetadata | undefined;
21
+ getAllCommandMetadata(): Map<string, CommandMetadata>;
22
+ getAllCommandsMetadata(): CommandMetadata[];
23
+ hasMetadata(commandName: string): boolean;
24
+ getEventToCommandMapping(): Map<string, string>;
25
+ getCommandForEvent(eventType: string): string | undefined;
26
+ }
27
+ //# sourceMappingURL=command-metadata-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-metadata-service.d.ts","sourceRoot":"","sources":["../../../src/server/command-metadata-service.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,qBAAqB,CAAkC;IAE/D,6BAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAe1E,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,kBAAkB;IAW1B,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAKxE,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIpE,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAIrD,sBAAsB,IAAI,eAAe,EAAE;IAI3C,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIzC,wBAAwB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI/C,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAG1D"}
@@ -0,0 +1,69 @@
1
+ import createDebug from 'debug';
2
+ const debug = createDebug('auto-engineer:server:metadata');
3
+ export class CommandMetadataService {
4
+ constructor() {
5
+ this.commandMetadata = new Map();
6
+ this.eventToCommandMapping = new Map();
7
+ }
8
+ extractUnifiedHandlerMetadata(handler, commandName) {
9
+ if (!this.isValidUnifiedHandler(handler)) {
10
+ return;
11
+ }
12
+ const unifiedHandler = handler;
13
+ debug('Extracting metadata from UnifiedCommandHandler:', commandName);
14
+ const events = this.extractEvents(unifiedHandler);
15
+ const metadata = this.buildCommandMetadata(commandName, unifiedHandler, events);
16
+ this.setCommandMetadata(commandName, metadata);
17
+ this.mapEventsToCommand(events, commandName);
18
+ }
19
+ isValidUnifiedHandler(handler) {
20
+ return typeof handler === 'object' && handler !== null && 'alias' in handler && 'description' in handler;
21
+ }
22
+ extractEvents(unifiedHandler) {
23
+ return 'events' in unifiedHandler ? unifiedHandler.events : undefined;
24
+ }
25
+ buildCommandMetadata(commandName, unifiedHandler, events) {
26
+ return {
27
+ name: commandName,
28
+ alias: unifiedHandler.alias,
29
+ description: unifiedHandler.description,
30
+ package: unifiedHandler.package?.name ?? 'unknown',
31
+ version: unifiedHandler.package?.version,
32
+ category: unifiedHandler.category,
33
+ icon: unifiedHandler.icon,
34
+ events,
35
+ };
36
+ }
37
+ mapEventsToCommand(events, commandName) {
38
+ if (!events) {
39
+ return;
40
+ }
41
+ for (const eventType of events) {
42
+ this.eventToCommandMapping.set(eventType, commandName);
43
+ debug('Mapped event %s -> command %s', eventType, commandName);
44
+ }
45
+ }
46
+ setCommandMetadata(commandName, metadata) {
47
+ this.commandMetadata.set(commandName, metadata);
48
+ debug('Set metadata for command:', commandName, metadata);
49
+ }
50
+ getCommandMetadata(commandName) {
51
+ return this.commandMetadata.get(commandName);
52
+ }
53
+ getAllCommandMetadata() {
54
+ return this.commandMetadata;
55
+ }
56
+ getAllCommandsMetadata() {
57
+ return Array.from(this.commandMetadata.values());
58
+ }
59
+ hasMetadata(commandName) {
60
+ return this.commandMetadata.has(commandName);
61
+ }
62
+ getEventToCommandMapping() {
63
+ return this.eventToCommandMapping;
64
+ }
65
+ getCommandForEvent(eventType) {
66
+ return this.eventToCommandMapping.get(eventType);
67
+ }
68
+ }
69
+ //# sourceMappingURL=command-metadata-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-metadata-service.js","sourceRoot":"","sources":["../../../src/server/command-metadata-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { MessageBus } from '@auto-engineer/message-bus';
2
+ import type { FoldRegistration } from '../dsl/types';
3
+ import type { StateManager, FoldFunction } from './state-manager';
4
+ import { CommandMetadataService, type CommandMetadata } from './command-metadata-service';
5
+ export declare class CommandRegistry {
6
+ private messageBus;
7
+ private stateManager;
8
+ private commandHandlerNames;
9
+ private metadataService;
10
+ private foldRegistry;
11
+ constructor(messageBus: MessageBus, stateManager: StateManager<Record<string, unknown>>);
12
+ registerCommandHandlers(handlers: unknown[]): void;
13
+ private processCommandHandler;
14
+ setCommandMetadata(commandName: string, metadata: CommandMetadata): void;
15
+ registerFold(registration: FoldRegistration): void;
16
+ getCommandHandlerNames(): string[];
17
+ getCommandMetadata(): Map<string, CommandMetadata>;
18
+ getMetadataService(): CommandMetadataService;
19
+ getFoldRegistry(): Map<string, FoldFunction<Record<string, unknown>>>;
20
+ }
21
+ //# sourceMappingURL=command-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-registry.d.ts","sourceRoot":"","sources":["../../../src/server/command-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAK1F,qBAAa,eAAe;IAMxB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IANtB,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,eAAe,CAAwD;IAC/E,OAAO,CAAC,YAAY,CAAiE;gBAG3E,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAG7D,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAWlD,OAAO,CAAC,qBAAqB;IAmB7B,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIxE,YAAY,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI;IAOlD,sBAAsB,IAAI,MAAM,EAAE;IAIlC,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAIlD,kBAAkB,IAAI,sBAAsB;IAI5C,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAGtE"}
@@ -0,0 +1,58 @@
1
+ import { CommandMetadataService } from './command-metadata-service.js';
2
+ import createDebug from 'debug';
3
+ const debugBus = createDebug('auto:cli:server:bus');
4
+ export class CommandRegistry {
5
+ constructor(messageBus, stateManager) {
6
+ this.messageBus = messageBus;
7
+ this.stateManager = stateManager;
8
+ this.commandHandlerNames = [];
9
+ this.metadataService = new CommandMetadataService();
10
+ this.foldRegistry = new Map();
11
+ }
12
+ registerCommandHandlers(handlers) {
13
+ debugBus('registerCommandHandlers called with', handlers.length, 'handlers');
14
+ debugBus('Current commandHandlerNames:', this.commandHandlerNames);
15
+ for (const handler of handlers) {
16
+ this.processCommandHandler(handler);
17
+ }
18
+ debugBus('After registration, commandHandlerNames:', this.commandHandlerNames);
19
+ }
20
+ processCommandHandler(handler) {
21
+ if (handler !== null &&
22
+ handler !== undefined &&
23
+ typeof handler === 'object' &&
24
+ 'name' in handler &&
25
+ 'handle' in handler) {
26
+ const cmdHandler = handler;
27
+ debugBus('Registering command handler:', cmdHandler.name);
28
+ this.messageBus.registerCommandHandler(cmdHandler);
29
+ this.commandHandlerNames.push(cmdHandler.name);
30
+ this.metadataService.extractUnifiedHandlerMetadata(handler, cmdHandler.name);
31
+ }
32
+ else {
33
+ debugBus('Skipping invalid handler:', handler);
34
+ }
35
+ }
36
+ setCommandMetadata(commandName, metadata) {
37
+ this.metadataService.setCommandMetadata(commandName, metadata);
38
+ }
39
+ registerFold(registration) {
40
+ debugBus('Registering fold for:', registration.eventType);
41
+ const foldFn = registration.reducer;
42
+ this.stateManager.registerFold(registration.eventType, foldFn);
43
+ this.foldRegistry.set(registration.eventType, foldFn);
44
+ }
45
+ getCommandHandlerNames() {
46
+ return this.commandHandlerNames;
47
+ }
48
+ getCommandMetadata() {
49
+ return this.metadataService.getAllCommandMetadata();
50
+ }
51
+ getMetadataService() {
52
+ return this.metadataService;
53
+ }
54
+ getFoldRegistry() {
55
+ return this.foldRegistry;
56
+ }
57
+ }
58
+ //# sourceMappingURL=command-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../../../src/server/command-registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAwB,MAAM,4BAA4B,CAAC;AAC1F,OAAO,WAAW,MAAM,OAAO,CAAC;AAEhC,MAAM,QAAQ,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAEpD,MAAM,OAAO,eAAe;IAK1B,YACU,UAAsB,EACtB,YAAmD;QADnD,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAuC;QANrD,wBAAmB,GAAa,EAAE,CAAC;QACnC,oBAAe,GAA2B,IAAI,sBAAsB,EAAE,CAAC;QACvE,iBAAY,GAAuD,IAAI,GAAG,EAAE,CAAC;IAKlF,CAAC;IAEJ,uBAAuB,CAAC,QAAmB;QACzC,QAAQ,CAAC,qCAAqC,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7E,QAAQ,CAAC,8BAA8B,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEnE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,QAAQ,CAAC,0CAA0C,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACjF,CAAC;IAEO,qBAAqB,CAAC,OAAgB;QAC5C,IACE,OAAO,KAAK,IAAI;YAChB,OAAO,KAAK,SAAS;YACrB,OAAO,OAAO,KAAK,QAAQ;YAC3B,MAAM,IAAI,OAAO;YACjB,QAAQ,IAAI,OAAO,EACnB,CAAC;YACD,MAAM,UAAU,GAAG,OAA+E,CAAC;YACnG,QAAQ,CAAC,8BAA8B,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,WAAmB,EAAE,QAAyB;QAC/D,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,YAAY,CAAC,YAA8B;QACzC,QAAQ,CAAC,uBAAuB,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,OAAgD,CAAC;QAC7E,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC;IACtD,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ import type { ConfigDefinition } from '../dsl/types';
2
+ import type { MessageBusServer } from './server';
3
+ export interface AutoConfig extends ConfigDefinition {
4
+ fileSync?: {
5
+ enabled?: boolean;
6
+ dir?: string;
7
+ extensions?: string[];
8
+ };
9
+ token?: string;
10
+ }
11
+ /**
12
+ * Load and parse the auto.config.ts file
13
+ */
14
+ export declare function loadAutoConfig(configPath: string): Promise<AutoConfig>;
15
+ export declare function loadMessageBusConfig(configPath: string, server: MessageBusServer): Promise<void>;
16
+ //# sourceMappingURL=config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/server/config-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAMjD,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAClD,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;GAEG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAiC5E;AAsED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAatG"}
@@ -0,0 +1,106 @@
1
+ import createJiti from 'jiti';
2
+ import createDebug from 'debug';
3
+ import { getRegistrations, getPendingDispatches } from '../dsl/index.js';
4
+ import { fileURLToPath } from 'url';
5
+ import { dirname, join } from 'path';
6
+ const debug = createDebug('auto:cli:server:config');
7
+ let configLoading = false;
8
+ /**
9
+ * Load and parse the auto.config.ts file
10
+ */
11
+ export async function loadAutoConfig(configPath) {
12
+ if (configLoading) {
13
+ debug('Config already loading, returning empty config');
14
+ return { fileId: '', plugins: [] };
15
+ }
16
+ try {
17
+ configLoading = true;
18
+ debug('Loading config from:', configPath);
19
+ const __filename = fileURLToPath(import.meta.url);
20
+ const __dirname = dirname(__filename);
21
+ const dslExportsPath = join(__dirname, '..', 'dsl-exports.js');
22
+ const jiti = createJiti(import.meta.url, {
23
+ interopDefault: true,
24
+ moduleCache: false,
25
+ alias: {
26
+ '@auto-engineer/cli': dslExportsPath,
27
+ },
28
+ });
29
+ const configModule = await jiti.import(configPath);
30
+ const config = configModule.default ?? configModule;
31
+ debug('Config loaded successfully');
32
+ return config;
33
+ }
34
+ catch (error) {
35
+ console.error('Failed to load config:', error);
36
+ throw error;
37
+ }
38
+ finally {
39
+ configLoading = false;
40
+ }
41
+ }
42
+ async function loadAndRegisterPlugins(configPath, config, server) {
43
+ if (config.plugins === undefined || config.plugins.length === 0) {
44
+ return;
45
+ }
46
+ try {
47
+ debug('Loading plugins for metadata:', config.plugins);
48
+ const { PluginLoader } = await import('../plugin-loader.js');
49
+ const pluginLoader = new PluginLoader();
50
+ await pluginLoader.loadPlugins(configPath);
51
+ const unifiedHandlers = pluginLoader.getUnifiedHandlers();
52
+ const commandHandlers = Array.from(unifiedHandlers.values());
53
+ if (commandHandlers.length > 0) {
54
+ debug('Registering %d unified command handlers from plugins', commandHandlers.length);
55
+ server.registerCommandHandlers(commandHandlers);
56
+ }
57
+ debug('Loaded %d unified handlers from plugins', unifiedHandlers.size);
58
+ }
59
+ catch (error) {
60
+ debug('Failed to load plugin metadata:', error);
61
+ }
62
+ }
63
+ function registerDslRegistration(registration, server) {
64
+ if (registration.type === 'on') {
65
+ debug('Registering event handler:', registration.eventType);
66
+ server.registerEventHandler(registration);
67
+ }
68
+ else if (registration.type === 'fold') {
69
+ debug('Registering fold:', registration.eventType);
70
+ server.registerFold(registration);
71
+ }
72
+ else if (registration.type === 'on-settled') {
73
+ debug('Registering settled handler:', registration.commandTypes);
74
+ server.registerSettledHandler(registration);
75
+ }
76
+ }
77
+ function executePipelineAndRegister(config, server) {
78
+ if (config.pipeline === undefined || typeof config.pipeline !== 'function') {
79
+ return;
80
+ }
81
+ debug('Executing pipeline function to collect DSL registrations');
82
+ getRegistrations();
83
+ getPendingDispatches();
84
+ config.pipeline();
85
+ const registrations = getRegistrations();
86
+ debug('Collected %d registrations from pipeline', registrations.length);
87
+ server.setDslRegistrations(registrations);
88
+ for (const registration of registrations) {
89
+ registerDslRegistration(registration, server);
90
+ }
91
+ const dispatches = getPendingDispatches();
92
+ if (dispatches.length > 0) {
93
+ debug('Warning: Found pending dispatches at config time:', dispatches.length);
94
+ }
95
+ }
96
+ export async function loadMessageBusConfig(configPath, server) {
97
+ getRegistrations();
98
+ getPendingDispatches();
99
+ const config = await loadAutoConfig(configPath);
100
+ await loadAndRegisterPlugins(configPath, config, server);
101
+ executePipelineAndRegister(config, server);
102
+ debug('Message bus configuration loaded and registered');
103
+ server.setupRoutes();
104
+ debug('HTTP routes configured with DSL registrations');
105
+ }
106
+ //# sourceMappingURL=config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../src/server/config-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { MessageBus, Event, Command } from '@auto-engineer/message-bus';
2
+ import type { IMessageStore } from '@auto-engineer/message-store';
3
+ import type { StateManager } from './state-manager';
4
+ import type { EventRegistration, DispatchAction } from '../dsl/types';
5
+ import type { SettledTracker } from './settled-tracker';
6
+ export declare class EventProcessor {
7
+ private messageBus;
8
+ private messageStore;
9
+ private stateManager;
10
+ private onEventBroadcast;
11
+ private settledTracker?;
12
+ private eventHandlers;
13
+ private correlationContext;
14
+ constructor(messageBus: MessageBus, messageStore: IMessageStore, stateManager: StateManager<Record<string, unknown>>, onEventBroadcast: (event: Event) => void, settledTracker?: SettledTracker | undefined);
15
+ setupGlobalEventListener(): void;
16
+ private storeEvent;
17
+ private notifySettledTrackerOfEvent;
18
+ private attachChildCorrelationIdToEvent;
19
+ private triggerEventHandlers;
20
+ registerEventHandler(registration: EventRegistration): void;
21
+ private processHandlerResult;
22
+ private processCommandArray;
23
+ private processActionOrCommand;
24
+ private maybeInheritCorrelationId;
25
+ processDispatchAction(action: DispatchAction, parentCorrelationId?: string): Promise<void>;
26
+ private handleSingleDispatch;
27
+ private handleParallelDispatch;
28
+ private handleSequentialDispatch;
29
+ private handleCustomDispatch;
30
+ getEventHandlers(): Map<string, Array<(event: Event) => void>>;
31
+ /**
32
+ * Store a command in the message store
33
+ */
34
+ storeCommand(command: Command): Promise<void>;
35
+ private enhanceCommandWithIds;
36
+ /**
37
+ * Try to find a correlation ID to inherit from the current context
38
+ */
39
+ private findInheritedCorrelationId;
40
+ /**
41
+ * Clear correlation context periodically to prevent memory leaks
42
+ */
43
+ private cleanupCorrelationContext;
44
+ }
45
+ //# sourceMappingURL=event-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-processor.d.ts","sourceRoot":"","sources":["../../../src/server/event-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOxD,qBAAa,cAAc;IAKvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc,CAAC;IARzB,OAAO,CAAC,aAAa,CAAyD;IAC9E,OAAO,CAAC,kBAAkB,CAAkC;gBAGlD,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACnD,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EACxC,cAAc,CAAC,EAAE,cAAc,YAAA;IAGzC,wBAAwB,IAAI,IAAI;YAkBlB,UAAU;IASxB,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,+BAA+B;IAcvC,OAAO,CAAC,oBAAoB;IAe5B,oBAAoB,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI;YAsC7C,oBAAoB;YAUpB,mBAAmB;YAoBnB,sBAAsB;IAcpC,OAAO,CAAC,yBAAyB;IAU3B,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAiBlF,oBAAoB;YASpB,sBAAsB;YAatB,wBAAwB;YAWxB,oBAAoB;IAYlC,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;IAI9D;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BnD,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAclC;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAYlC"}