@auto-engineer/cli 0.19.1 → 0.20.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 +11 -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 +801 -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 +0 -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
package/CHANGELOG.md CHANGED
@@ -1,13 +1,20 @@
1
1
  # @auto-engineer/cli
2
2
 
3
- ## 0.19.1
3
+ ## 0.20.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Add dual-mode CLI with importable server module
8
+ - Export `startServer()` function from `@auto-engineer/cli/server` subpath
9
+ - Support middleware injection via `httpMiddleware` and `socketMiddleware` options
10
+ - Enable external packages to extend CLI server with custom auth/middleware
4
11
 
5
12
  ### Patch Changes
6
13
 
7
14
  - Updated dependencies []:
8
- - @auto-engineer/narrative@0.19.1
9
- - @auto-engineer/file-store@0.19.1
10
- - @auto-engineer/pipeline@0.19.1
15
+ - @auto-engineer/file-store@0.20.0
16
+ - @auto-engineer/narrative@0.20.0
17
+ - @auto-engineer/pipeline@0.20.0
11
18
 
12
19
  ## 0.19.0
13
20
 
@@ -0,0 +1,7 @@
1
+ export declare const pipeline: any;
2
+ declare const _default: {
3
+ plugins: never[];
4
+ pipeline: any;
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=auto.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto.config.d.ts","sourceRoot":"","sources":["../../../src/__fixtures__/auto.config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,KAAkC,CAAC;;;;;AAExD,wBAGE"}
@@ -0,0 +1,7 @@
1
+ import { define } from '@auto-engineer/pipeline';
2
+ export const pipeline = define('test-pipeline').build();
3
+ export default {
4
+ plugins: [],
5
+ pipeline,
6
+ };
7
+ //# sourceMappingURL=auto.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto.config.js","sourceRoot":"","sources":["../../../src/__fixtures__/auto.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;AAExD,eAAe;IACb,OAAO,EAAE,EAAE;IACX,QAAQ;CACT,CAAC"}
@@ -0,0 +1,71 @@
1
+ import type { Command, Event } from '@auto-engineer/message-bus';
2
+ import type { EventRegistration, DispatchAction, FoldRegistration, DslRegistration, ConfigDefinition, SettledRegistration, SettledHandlerConfig } from './types';
3
+ import type { CommandMetadataService } from '../server/command-metadata-service';
4
+ import type { ILocalMessageStore } from '@auto-engineer/message-store';
5
+ export type NodeStatus = 'None' | 'idle' | 'running' | 'pass' | 'fail';
6
+ export interface PipelineGraphConfig {
7
+ metadataService?: CommandMetadataService;
8
+ eventHandlers?: Map<string, Array<(event: Event) => void>>;
9
+ messageStore?: ILocalMessageStore;
10
+ dslRegistrations?: DslRegistration[];
11
+ }
12
+ export declare function on<T extends Event>(eventType: string | ((event: T) => void), handler?: (event: T) => Command | Command[] | DispatchAction | void): EventRegistration | void;
13
+ export declare namespace on {
14
+ var settled: <T extends Command, U extends Command = never, V extends Command = never, W extends Command = never, X extends Command = never>(commandTypes: [T, U, V, W, X] extends [Command, never, never, never, never] ? [T["type"]] : [T, U, V, W, X] extends [Command, Command, never, never, never] ? [T["type"], U["type"]] : [T, U, V, W, X] extends [Command, Command, Command, never, never] ? [T["type"], U["type"], V["type"]] : [T, U, V, W, X] extends [Command, Command, Command, Command, never] ? [T["type"], U["type"], V["type"], W["type"]] : [T, U, V, W, X] extends [Command, Command, Command, Command, Command] ? [T["type"], U["type"], V["type"], W["type"], X["type"]] : never, callbackOrConfig: ((events: [T, U, V, W, X] extends [Command, never, never, never, never] ? { [K in T["type"]]: Event[]; } : [T, U, V, W, X] extends [Command, Command, never, never, never] ? { [K in T["type"] | U["type"]]: Event[]; } : [T, U, V, W, X] extends [Command, Command, Command, never, never] ? { [K in T["type"] | U["type"] | V["type"]]: Event[]; } : [T, U, V, W, X] extends [Command, Command, Command, Command, never] ? { [K in T["type"] | U["type"] | V["type"] | W["type"]]: Event[]; } : [T, U, V, W, X] extends [Command, Command, Command, Command, Command] ? { [K in T["type"] | U["type"] | V["type"] | W["type"] | X["type"]]: Event[]; } : never) => void) | SettledHandlerConfig) => SettledRegistration;
15
+ }
16
+ /**
17
+ * Dispatch a command to the message bus
18
+ */
19
+ export declare function dispatch<T extends Command>(command: T): DispatchAction;
20
+ export declare function dispatch<T extends Command>(commandType: T['type'], data: T['data']): Command;
21
+ export declare function dispatch<TDispatchCommands extends Command>(commandTypes: readonly TDispatchCommands['type'][], handler: (events: Record<string, Event[]>, send: <TCommand extends TDispatchCommands>(command: TCommand) => void) => void): SettledHandlerConfig<TDispatchCommands>;
22
+ export declare namespace dispatch {
23
+ var parallel: <T extends Command>(commands: T[]) => DispatchAction;
24
+ var sequence: <T extends Command>(commands: T[]) => DispatchAction;
25
+ var custom: <T extends Command>(commandFactory: () => T | T[]) => DispatchAction;
26
+ }
27
+ /**
28
+ * Register a fold function to update state when an event occurs
29
+ */
30
+ export declare function fold<S, E extends Event>(eventType: string | ((state: S, event: E) => S), reducer?: (state: S, event: E) => S): FoldRegistration<S, E> | void;
31
+ /**
32
+ * Get all registrations and clear the list
33
+ */
34
+ export declare function getRegistrations(): DslRegistration[];
35
+ /**
36
+ * Peek at registrations without clearing them
37
+ */
38
+ export declare function peekRegistrations(): DslRegistration[];
39
+ /**
40
+ * Get all pending dispatches and clear the list
41
+ */
42
+ export declare function getPendingDispatches(): DispatchAction[];
43
+ /**
44
+ * Create an Auto configuration with plugins and pipeline
45
+ */
46
+ export declare function autoConfig(config: ConfigDefinition): ConfigDefinition;
47
+ export declare function buildEventToCommandMapping(metadataService?: CommandMetadataService): Record<string, string>;
48
+ /**
49
+ * Generate pipeline graph from current registrations
50
+ */
51
+ export declare function getPipelineGraph(config?: PipelineGraphConfig): Promise<{
52
+ commandToEvents: Record<string, string[]>;
53
+ eventToCommand: Record<string, string>;
54
+ nodes: Array<{
55
+ id: string;
56
+ name: string;
57
+ title: string;
58
+ alias?: string;
59
+ description?: string;
60
+ package?: string;
61
+ version?: string;
62
+ category?: string;
63
+ icon?: string;
64
+ status: NodeStatus;
65
+ }>;
66
+ edges: Array<{
67
+ from: string;
68
+ to: string;
69
+ }>;
70
+ }>;
71
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dsl/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,504 @@
1
+ import createDebug from 'debug';
2
+ const debug = createDebug('auto:cli:dsl:pipeline-graph');
3
+ let registrations = [];
4
+ let pendingDispatches = [];
5
+ function buildCommandEventMappings(metadataService) {
6
+ const mappings = {};
7
+ if (!metadataService) {
8
+ return mappings;
9
+ }
10
+ const commands = metadataService.getAllCommandsMetadata();
11
+ for (const command of commands) {
12
+ const commandName = command.name;
13
+ if (!commandName || typeof commandName !== 'string') {
14
+ continue;
15
+ }
16
+ if (!command.events || command.events.length === 0) {
17
+ continue;
18
+ }
19
+ mappings[commandName] = command.events;
20
+ }
21
+ return mappings;
22
+ }
23
+ export function on(eventType, handler) {
24
+ if (typeof eventType === 'function') {
25
+ const registration = {
26
+ type: 'on',
27
+ eventType: '',
28
+ handler: eventType,
29
+ };
30
+ registrations.push(registration);
31
+ return registration;
32
+ }
33
+ if (handler) {
34
+ const registration = {
35
+ type: 'on',
36
+ eventType,
37
+ handler: handler,
38
+ };
39
+ registrations.push(registration);
40
+ return registration;
41
+ }
42
+ }
43
+ function settled(commandTypes, callbackOrConfig) {
44
+ const commandTypesArray = commandTypes;
45
+ if (typeof callbackOrConfig === 'function') {
46
+ const registration = {
47
+ type: 'on-settled',
48
+ commandTypes: commandTypesArray,
49
+ handler: callbackOrConfig,
50
+ };
51
+ registrations.push(registration);
52
+ return registration;
53
+ }
54
+ else {
55
+ const { dispatches, handler } = callbackOrConfig;
56
+ const wrappedHandler = (events) => {
57
+ const validatedDispatch = (command) => {
58
+ if (!dispatches.includes(command.type)) {
59
+ throw new Error(`Command type "${command.type}" is not declared in dispatches list`);
60
+ }
61
+ const action = {
62
+ type: 'dispatch',
63
+ command,
64
+ };
65
+ pendingDispatches.push(action);
66
+ };
67
+ return handler(events, validatedDispatch);
68
+ };
69
+ const registration = {
70
+ type: 'on-settled',
71
+ commandTypes: commandTypesArray,
72
+ handler: wrappedHandler,
73
+ dispatches,
74
+ };
75
+ registrations.push(registration);
76
+ return registration;
77
+ }
78
+ }
79
+ on.settled = settled;
80
+ export function dispatch(commandOrTypeOrTypes, dataOrHandler) {
81
+ // Array pattern for on.settled
82
+ if (Array.isArray(commandOrTypeOrTypes)) {
83
+ const commandTypes = commandOrTypeOrTypes;
84
+ const handler = dataOrHandler;
85
+ return {
86
+ dispatches: commandTypes,
87
+ handler,
88
+ };
89
+ }
90
+ // Object pattern for full command
91
+ if (typeof commandOrTypeOrTypes === 'object' &&
92
+ commandOrTypeOrTypes !== null &&
93
+ !Array.isArray(commandOrTypeOrTypes)) {
94
+ const command = commandOrTypeOrTypes;
95
+ const action = {
96
+ type: 'dispatch',
97
+ command,
98
+ };
99
+ pendingDispatches.push(action);
100
+ return action;
101
+ }
102
+ // String pattern for command type + data - return the command object for event handlers
103
+ const commandType = commandOrTypeOrTypes;
104
+ const data = dataOrHandler;
105
+ const command = {
106
+ type: commandType,
107
+ data,
108
+ };
109
+ // Return the command directly for event handlers to process
110
+ return command;
111
+ }
112
+ /**
113
+ * Dispatch multiple commands in parallel
114
+ */
115
+ dispatch.parallel = (commands) => {
116
+ const action = {
117
+ type: 'dispatch-parallel',
118
+ commands: commands,
119
+ };
120
+ pendingDispatches.push(action);
121
+ return action;
122
+ };
123
+ /**
124
+ * Dispatch multiple commands in sequence
125
+ */
126
+ dispatch.sequence = (commands) => {
127
+ const action = {
128
+ type: 'dispatch-sequence',
129
+ commands: commands,
130
+ };
131
+ pendingDispatches.push(action);
132
+ return action;
133
+ };
134
+ /**
135
+ * Dispatch a command based on custom logic
136
+ */
137
+ dispatch.custom = (commandFactory) => {
138
+ const action = {
139
+ type: 'dispatch-custom',
140
+ commandFactory: commandFactory,
141
+ };
142
+ pendingDispatches.push(action);
143
+ return action;
144
+ };
145
+ /**
146
+ * Register a fold function to update state when an event occurs
147
+ */
148
+ export function fold(eventType, reducer) {
149
+ // Support both forms: fold('EventName', reducer) and fold<State, Event>((state, event) => ...)
150
+ if (typeof eventType === 'function') {
151
+ const registration = {
152
+ type: 'fold',
153
+ eventType: '', // Will be inferred from type
154
+ reducer: eventType,
155
+ };
156
+ registrations.push(registration);
157
+ return registration;
158
+ }
159
+ if (reducer) {
160
+ const registration = {
161
+ type: 'fold',
162
+ eventType,
163
+ reducer,
164
+ };
165
+ registrations.push(registration);
166
+ return registration;
167
+ }
168
+ }
169
+ /**
170
+ * Get all registrations and clear the list
171
+ */
172
+ export function getRegistrations() {
173
+ const result = [...registrations];
174
+ registrations = [];
175
+ return result;
176
+ }
177
+ /**
178
+ * Peek at registrations without clearing them
179
+ */
180
+ export function peekRegistrations() {
181
+ return [...registrations];
182
+ }
183
+ /**
184
+ * Get all pending dispatches and clear the list
185
+ */
186
+ export function getPendingDispatches() {
187
+ const result = [...pendingDispatches];
188
+ pendingDispatches = [];
189
+ return result;
190
+ }
191
+ /**
192
+ * Create an Auto configuration with plugins and pipeline
193
+ */
194
+ export function autoConfig(config) {
195
+ return config;
196
+ }
197
+ /**
198
+ * Convert camelCase/PascalCase to title case with spaces
199
+ * E.g., "GenerateServer" -> "Generate Server", "checkTypes" -> "Check Types", "GenerateHTML" -> "Generate HTML"
200
+ */
201
+ function camelCaseToTitleCase(str) {
202
+ return str
203
+ .replace(/([a-z])([A-Z])/g, '$1 $2')
204
+ .replace(/([A-Z])([A-Z][a-z])/g, '$1 $2')
205
+ .replace(/[_-]/g, ' ')
206
+ .replace(/^./, (match) => match.toUpperCase())
207
+ .trim();
208
+ }
209
+ export function buildEventToCommandMapping(metadataService) {
210
+ if (!metadataService) {
211
+ return {};
212
+ }
213
+ const eventToCommandMap = metadataService.getEventToCommandMapping?.();
214
+ const result = {};
215
+ if (eventToCommandMap instanceof Map) {
216
+ for (const [eventType, commandName] of eventToCommandMap.entries()) {
217
+ result[eventType] = commandName;
218
+ }
219
+ }
220
+ return result;
221
+ }
222
+ function hasEventError(event) {
223
+ const data = event.message.data;
224
+ return data !== null && typeof data === 'object' && ('error' in data || 'errors' in data);
225
+ }
226
+ function extractTargetIdentifier(commandData) {
227
+ if (commandData === null || typeof commandData !== 'object') {
228
+ return JSON.stringify(commandData);
229
+ }
230
+ const data = commandData;
231
+ const targetFields = ['targetDirectory', 'slicePath', 'filePath', 'componentName', 'path'];
232
+ for (const field of targetFields) {
233
+ if (field in data && typeof data[field] === 'string') {
234
+ return String(data[field]);
235
+ }
236
+ }
237
+ return JSON.stringify(commandData);
238
+ }
239
+ function traceCorrelationChain(requestId, allMessages) {
240
+ const chain = [requestId];
241
+ let currentId = requestId;
242
+ let commandMessage = allMessages.find((msg) => msg.messageType === 'command' && msg.message.requestId === currentId);
243
+ while (commandMessage !== undefined &&
244
+ commandMessage.message.correlationId !== undefined &&
245
+ commandMessage.message.correlationId !== null &&
246
+ commandMessage.message.correlationId !== '') {
247
+ const correlationId = commandMessage.message.correlationId;
248
+ chain.push(correlationId);
249
+ const parentCommand = allMessages.find((msg) => msg.messageType === 'command' && msg.message.requestId === correlationId);
250
+ if (parentCommand === undefined ||
251
+ parentCommand.message.correlationId === undefined ||
252
+ parentCommand.message.correlationId === null ||
253
+ parentCommand.message.correlationId === '') {
254
+ break;
255
+ }
256
+ currentId = correlationId;
257
+ commandMessage = parentCommand;
258
+ }
259
+ return chain;
260
+ }
261
+ function getWorkflowRoot(requestId, allMessages) {
262
+ const chain = traceCorrelationChain(requestId, allMessages);
263
+ const rootRequestId = chain[chain.length - 1];
264
+ const rootCommand = allMessages.find((msg) => msg.messageType === 'command' && msg.message.requestId === rootRequestId);
265
+ return rootCommand?.message.type ?? null;
266
+ }
267
+ function isServerWorkflowCommand(workflowRoot) {
268
+ const serverWorkflowCommands = ['ImplementSlice', 'SliceGenerated', 'GenerateServer'];
269
+ return workflowRoot !== null && workflowRoot !== '' && serverWorkflowCommands.includes(workflowRoot);
270
+ }
271
+ function isClientWorkflowCommand(workflowRoot) {
272
+ const clientWorkflowCommands = ['ImplementComponent', 'ClientGenerated', 'GenerateClient'];
273
+ return workflowRoot !== null && workflowRoot !== '' && clientWorkflowCommands.includes(workflowRoot);
274
+ }
275
+ function shouldIncludeCommandInNodeStatus(command, commandType, allMessages) {
276
+ const sharedCheckCommands = ['CheckTypes', 'CheckTests', 'CheckLint'];
277
+ if (!sharedCheckCommands.includes(commandType)) {
278
+ return true;
279
+ }
280
+ const requestId = command.message.requestId;
281
+ if (requestId === undefined || requestId === null || requestId === '') {
282
+ return true;
283
+ }
284
+ const workflowRoot = getWorkflowRoot(requestId, allMessages);
285
+ if (isServerWorkflowCommand(workflowRoot)) {
286
+ return true;
287
+ }
288
+ return !isClientWorkflowCommand(workflowRoot);
289
+ }
290
+ function groupCommandsByTarget(commands) {
291
+ const commandsByTarget = new Map();
292
+ for (const command of commands) {
293
+ const targetId = extractTargetIdentifier(command.message.data);
294
+ commandsByTarget.set(targetId, command);
295
+ }
296
+ return commandsByTarget;
297
+ }
298
+ function checkCommandStatus(command, allMessages, commandEvents) {
299
+ const requestId = command.message.requestId;
300
+ if (requestId === undefined || requestId === null || requestId === '') {
301
+ return { hasCompletion: false, hasFailed: false };
302
+ }
303
+ const relatedEvents = allMessages.filter((msg) => msg.messageType === 'event' && msg.message.requestId === requestId);
304
+ const hasCompletion = relatedEvents.some((event) => commandEvents.includes(event.message.type));
305
+ const hasFailed = relatedEvents.some(hasEventError);
306
+ return { hasCompletion, hasFailed };
307
+ }
308
+ function determineStatusFromCommands(commandsByTarget, allMessages, commandEvents) {
309
+ let hasAnyRunning = false;
310
+ let hasAnyFailure = false;
311
+ let allCompleted = true;
312
+ for (const command of commandsByTarget.values()) {
313
+ const { hasCompletion, hasFailed } = checkCommandStatus(command, allMessages, commandEvents);
314
+ if (!hasCompletion) {
315
+ hasAnyRunning = true;
316
+ allCompleted = false;
317
+ continue;
318
+ }
319
+ if (hasFailed) {
320
+ hasAnyFailure = true;
321
+ }
322
+ }
323
+ if (hasAnyFailure) {
324
+ return 'fail';
325
+ }
326
+ if (hasAnyRunning) {
327
+ return 'running';
328
+ }
329
+ if (allCompleted) {
330
+ return 'pass';
331
+ }
332
+ return 'running';
333
+ }
334
+ /**
335
+ * Calculate status for a pipeline node based on message store
336
+ */
337
+ async function calculateNodeStatus(commandType, messageStore, metadataService) {
338
+ try {
339
+ const allMessages = await messageStore.getAllMessages();
340
+ const allCommands = allMessages
341
+ .filter((msg) => msg.messageType === 'command' && msg.message.type === commandType)
342
+ .sort((a, b) => a.timestamp.getTime() - b.timestamp.getTime());
343
+ if (allCommands.length === 0) {
344
+ return 'idle';
345
+ }
346
+ const commandEventMappings = buildCommandEventMappings(metadataService);
347
+ const commandEvents = commandEventMappings[commandType];
348
+ if (commandEvents === undefined) {
349
+ return 'None';
350
+ }
351
+ const commands = allCommands.filter((cmd) => shouldIncludeCommandInNodeStatus(cmd, commandType, allMessages));
352
+ if (commands.length === 0) {
353
+ return 'idle';
354
+ }
355
+ const commandsByTarget = groupCommandsByTarget(commands);
356
+ return determineStatusFromCommands(commandsByTarget, allMessages, commandEvents);
357
+ }
358
+ catch (error) {
359
+ debug('Error calculating node status for %s: %O', commandType, error);
360
+ throw error;
361
+ }
362
+ }
363
+ function processEventHandlers(eventHandlers, commandNodes, eventToCommandMap) {
364
+ debug('Using event handlers, found %d handlers', eventHandlers.size);
365
+ for (const [eventType, handlers] of eventHandlers) {
366
+ debug('Processing event type %s with %d handlers', eventType, handlers.length);
367
+ const sourceCommand = eventToCommandMap[eventType] || null;
368
+ debug('Source command for %s = %s', eventType, sourceCommand);
369
+ if (sourceCommand !== null && sourceCommand !== '') {
370
+ commandNodes.add(sourceCommand);
371
+ debug('Warning: eventHandlers path cannot determine target commands - skipping edge creation');
372
+ }
373
+ }
374
+ debug('Final nodes: %o', Array.from(commandNodes));
375
+ }
376
+ function processDslRegistrations(dslRegistrations, commandNodes, edges, metadataService, eventToCommandMap) {
377
+ const regsToProcess = dslRegistrations || registrations;
378
+ debug('Using DSL registrations, found %d registrations', regsToProcess.length);
379
+ regsToProcess.forEach((registration) => {
380
+ if (registration.type === 'on') {
381
+ processEventRegistration(registration, commandNodes, edges, metadataService, eventToCommandMap);
382
+ }
383
+ if (registration.type === 'on-settled') {
384
+ processSettledRegistration(registration, commandNodes, edges, metadataService);
385
+ }
386
+ });
387
+ }
388
+ /**
389
+ * Generate pipeline graph from current registrations
390
+ */
391
+ export async function getPipelineGraph(config = {}) {
392
+ const { metadataService, eventHandlers, messageStore, dslRegistrations } = config;
393
+ const commandNodes = new Set();
394
+ const edges = [];
395
+ debug('Called with metadataService=%s eventHandlers=%s eventHandlers size=%s messageStore=%s dslRegistrations=%s', !!metadataService, !!eventHandlers, eventHandlers?.size, !!messageStore, dslRegistrations?.length ?? 0);
396
+ const eventToCommandMap = buildEventToCommandMapping(metadataService);
397
+ debug('Built %d dynamic event-to-command mappings from metadata service', Object.keys(eventToCommandMap).length);
398
+ if (eventHandlers) {
399
+ processEventHandlers(eventHandlers, commandNodes, eventToCommandMap);
400
+ }
401
+ else {
402
+ processDslRegistrations(dslRegistrations, commandNodes, edges, metadataService, eventToCommandMap);
403
+ }
404
+ const nodes = await Promise.all(Array.from(commandNodes).map(async (commandType) => {
405
+ const baseNode = {
406
+ id: commandType,
407
+ name: commandType,
408
+ title: camelCaseToTitleCase(commandType),
409
+ };
410
+ let status = 'None';
411
+ if (messageStore) {
412
+ status = await calculateNodeStatus(commandType, messageStore, metadataService);
413
+ }
414
+ if (metadataService) {
415
+ const metadata = metadataService.getCommandMetadata(commandType);
416
+ if (metadata) {
417
+ return {
418
+ ...baseNode,
419
+ id: `${metadata.package}/${metadata.alias}`,
420
+ title: camelCaseToTitleCase(commandType),
421
+ alias: metadata.alias,
422
+ description: metadata.description,
423
+ package: metadata.package,
424
+ version: metadata.version,
425
+ category: metadata.category,
426
+ icon: metadata.icon ?? 'terminal',
427
+ status,
428
+ };
429
+ }
430
+ }
431
+ return {
432
+ ...baseNode,
433
+ icon: 'terminal',
434
+ status,
435
+ };
436
+ }));
437
+ const commandToEvents = buildCommandEventMappings(metadataService);
438
+ return { nodes, edges, commandToEvents, eventToCommand: eventToCommandMap };
439
+ }
440
+ function processEventRegistration(registration, commandNodes, edges, metadataService, eventToCommandMap) {
441
+ try {
442
+ const mockEvent = { type: registration.eventType, data: {} };
443
+ const result = registration.handler(mockEvent);
444
+ if (result && typeof result === 'object' && 'type' in result) {
445
+ addCommandAndEdge(result, registration.eventType, commandNodes, edges, metadataService, eventToCommandMap);
446
+ }
447
+ else if (Array.isArray(result)) {
448
+ result.forEach((command) => {
449
+ if (command !== null && typeof command === 'object' && 'type' in command && typeof command.type === 'string') {
450
+ addCommandAndEdge(command, registration.eventType, commandNodes, edges, metadataService, eventToCommandMap);
451
+ }
452
+ });
453
+ }
454
+ }
455
+ catch {
456
+ // Handler might require specific event data, skip if it fails
457
+ }
458
+ }
459
+ function processSettledRegistration(registration, commandNodes, edges, metadataService) {
460
+ function getNodeId(commandType) {
461
+ if (metadataService) {
462
+ const metadata = metadataService.getCommandMetadata(commandType);
463
+ if (metadata) {
464
+ return `${metadata.package}/${metadata.alias}`;
465
+ }
466
+ }
467
+ return commandType;
468
+ }
469
+ registration.commandTypes.forEach((commandType) => {
470
+ commandNodes.add(commandType);
471
+ });
472
+ if (registration.dispatches && registration.dispatches.length > 0) {
473
+ registration.dispatches.forEach((commandType) => {
474
+ commandNodes.add(commandType);
475
+ registration.commandTypes.forEach((settledCommand) => {
476
+ edges.push({
477
+ from: getNodeId(settledCommand),
478
+ to: getNodeId(commandType),
479
+ });
480
+ });
481
+ });
482
+ }
483
+ }
484
+ function addCommandAndEdge(command, eventType, commandNodes, edges, metadataService, eventToCommandMap) {
485
+ function getNodeId(commandType) {
486
+ if (metadataService) {
487
+ const metadata = metadataService.getCommandMetadata(commandType);
488
+ if (metadata) {
489
+ return `${metadata.package}/${metadata.alias}`;
490
+ }
491
+ }
492
+ return commandType;
493
+ }
494
+ commandNodes.add(command.type);
495
+ const sourceCommand = eventToCommandMap?.[eventType];
496
+ if (sourceCommand !== undefined) {
497
+ commandNodes.add(sourceCommand);
498
+ edges.push({
499
+ from: getNodeId(sourceCommand),
500
+ to: getNodeId(command.type),
501
+ });
502
+ }
503
+ }
504
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dsl/index.ts"],"names":[],"mappings":"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"}