@auto-engineer/cli 0.7.5 → 0.7.7
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 +8 -0
- package/LICENSE +10 -0
- package/dist/src/dsl/index.d.ts +28 -0
- package/dist/src/dsl/index.d.ts.map +1 -0
- package/dist/src/dsl/index.js +113 -0
- package/dist/src/dsl/index.js.map +1 -0
- package/dist/src/dsl/types.d.ts +19 -0
- package/dist/src/dsl/types.d.ts.map +1 -0
- package/dist/src/dsl/types.js +2 -0
- package/dist/src/dsl/types.js.map +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +60 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/plugin-loader.d.ts +2 -0
- package/dist/src/plugin-loader.d.ts.map +1 -1
- package/dist/src/plugin-loader.js +11 -2
- package/dist/src/plugin-loader.js.map +1 -1
- package/dist/src/server/config-loader.d.ts +40 -0
- package/dist/src/server/config-loader.d.ts.map +1 -0
- package/dist/src/server/config-loader.js +141 -0
- package/dist/src/server/config-loader.js.map +1 -0
- package/dist/src/server/dashboard copy.html +1187 -0
- package/dist/src/server/dashboard-old.html +1187 -0
- package/dist/src/server/dashboard.html +1480 -0
- package/dist/src/server/file-syncer.d.ts +21 -0
- package/dist/src/server/file-syncer.d.ts.map +1 -0
- package/dist/src/server/file-syncer.js +101 -0
- package/dist/src/server/file-syncer.js.map +1 -0
- package/dist/src/server/logo-dark.svg +1 -0
- package/dist/src/server/logo-light.svg +24 -0
- package/dist/src/server/server.d.ts +88 -0
- package/dist/src/server/server.d.ts.map +1 -0
- package/dist/src/server/server.js +411 -0
- package/dist/src/server/server.js.map +1 -0
- package/dist/src/server/state-manager.d.ts +24 -0
- package/dist/src/server/state-manager.d.ts.map +1 -0
- package/dist/src/server/state-manager.js +56 -0
- package/dist/src/server/state-manager.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +29 -22
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import createJiti from 'jiti';
|
|
2
|
+
import createDebug from 'debug';
|
|
3
|
+
import { on, dispatch, fold, getRegistrations, getPendingDispatches } from '../dsl/index.js';
|
|
4
|
+
const debug = createDebug('auto-engineer:server:config');
|
|
5
|
+
/**
|
|
6
|
+
* Load and parse the auto.config.ts file
|
|
7
|
+
*/
|
|
8
|
+
export async function loadAutoConfig(configPath) {
|
|
9
|
+
try {
|
|
10
|
+
debug('Loading config from:', configPath);
|
|
11
|
+
// Use jiti to load TypeScript config
|
|
12
|
+
const jiti = createJiti(import.meta.url, {
|
|
13
|
+
interopDefault: true,
|
|
14
|
+
});
|
|
15
|
+
const configModule = await jiti.import(configPath);
|
|
16
|
+
const config = configModule.default ?? configModule;
|
|
17
|
+
debug('Config loaded successfully');
|
|
18
|
+
return config;
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
console.error('Failed to load config:', error);
|
|
22
|
+
throw error;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Process handlers from config
|
|
27
|
+
*/
|
|
28
|
+
function processHandlers(handlers, server, dsl) {
|
|
29
|
+
if (typeof handlers === 'function') {
|
|
30
|
+
// Call the handlers function with DSL functions
|
|
31
|
+
handlers(dsl);
|
|
32
|
+
}
|
|
33
|
+
else if (Array.isArray(handlers)) {
|
|
34
|
+
// If handlers is an array of registrations
|
|
35
|
+
for (const handler of handlers) {
|
|
36
|
+
const h = handler;
|
|
37
|
+
if (h.type === 'on') {
|
|
38
|
+
server.registerEventHandler(handler);
|
|
39
|
+
}
|
|
40
|
+
else if (h.type === 'fold') {
|
|
41
|
+
server.registerFold(handler);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Load message bus configuration and register handlers
|
|
48
|
+
*/
|
|
49
|
+
// eslint-disable-next-line complexity
|
|
50
|
+
export async function loadMessageBusConfig(configPath, server) {
|
|
51
|
+
// Clear any previous registrations
|
|
52
|
+
getRegistrations();
|
|
53
|
+
getPendingDispatches();
|
|
54
|
+
const config = await loadAutoConfig(configPath);
|
|
55
|
+
// Check if any DSL functions were called during config load
|
|
56
|
+
const topLevelRegistrations = getRegistrations();
|
|
57
|
+
if (topLevelRegistrations.length > 0) {
|
|
58
|
+
debug('Processing top-level DSL registrations:', topLevelRegistrations.length);
|
|
59
|
+
for (const registration of topLevelRegistrations) {
|
|
60
|
+
if (registration.type === 'on') {
|
|
61
|
+
debug('Registering event handler:', registration.eventType);
|
|
62
|
+
server.registerEventHandler(registration);
|
|
63
|
+
}
|
|
64
|
+
else if (registration.type === 'fold') {
|
|
65
|
+
debug('Registering fold:', registration.eventType);
|
|
66
|
+
server.registerFold(registration);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (!config.messageBus) {
|
|
71
|
+
debug('No messageBus configuration found');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const { state, handlers, folds, commandHandlers } = config.messageBus;
|
|
75
|
+
// Initialize state if provided
|
|
76
|
+
if (state !== null && state !== undefined) {
|
|
77
|
+
debug('Initializing state:', state);
|
|
78
|
+
server.initializeState(state);
|
|
79
|
+
}
|
|
80
|
+
// Register command handlers if provided
|
|
81
|
+
if (commandHandlers && Array.isArray(commandHandlers)) {
|
|
82
|
+
debug('Registering command handlers:', commandHandlers.length);
|
|
83
|
+
server.registerCommandHandlers(commandHandlers);
|
|
84
|
+
}
|
|
85
|
+
// Execute handlers function to collect registrations
|
|
86
|
+
if (handlers !== null && handlers !== undefined) {
|
|
87
|
+
debug('Processing event handlers');
|
|
88
|
+
processHandlers(handlers, server, { on, dispatch, fold });
|
|
89
|
+
// Get and process registrations
|
|
90
|
+
const registrations = getRegistrations();
|
|
91
|
+
debug('Collected registrations:', registrations.length);
|
|
92
|
+
for (const registration of registrations) {
|
|
93
|
+
if (registration.type === 'on') {
|
|
94
|
+
server.registerEventHandler(registration);
|
|
95
|
+
}
|
|
96
|
+
else if (registration.type === 'fold') {
|
|
97
|
+
server.registerFold(registration);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// Process any pending dispatches (shouldn't be any at config time)
|
|
101
|
+
const dispatches = getPendingDispatches();
|
|
102
|
+
if (dispatches.length > 0) {
|
|
103
|
+
debug('Warning: Found pending dispatches at config time:', dispatches.length);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// Execute folds function if separate
|
|
107
|
+
if (folds !== null && folds !== undefined && typeof folds === 'function') {
|
|
108
|
+
debug('Processing fold functions');
|
|
109
|
+
folds({ fold });
|
|
110
|
+
const registrations = getRegistrations();
|
|
111
|
+
for (const registration of registrations) {
|
|
112
|
+
if (registration.type === 'fold') {
|
|
113
|
+
server.registerFold(registration);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
debug('Message bus configuration loaded and registered');
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Parse DSL code directly (for testing or dynamic configuration)
|
|
121
|
+
*/
|
|
122
|
+
export function parseDslCode(code) {
|
|
123
|
+
const eventHandlers = [];
|
|
124
|
+
const folds = [];
|
|
125
|
+
// Execute the code with DSL functions
|
|
126
|
+
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
127
|
+
const func = new Function('on', 'dispatch', 'fold', code);
|
|
128
|
+
func(on, dispatch, fold);
|
|
129
|
+
// Collect registrations
|
|
130
|
+
const registrations = getRegistrations();
|
|
131
|
+
for (const registration of registrations) {
|
|
132
|
+
if (registration.type === 'on') {
|
|
133
|
+
eventHandlers.push(registration);
|
|
134
|
+
}
|
|
135
|
+
else if (registration.type === 'fold') {
|
|
136
|
+
folds.push(registration);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return { eventHandlers, folds };
|
|
140
|
+
}
|
|
141
|
+
//# 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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"}
|