@auto-engineer/server-implementer 0.4.3 → 0.4.5
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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-format.log +25 -22
- package/.turbo/turbo-lint.log +4 -5
- package/.turbo/turbo-test.log +1 -1
- package/.turbo/turbo-type-check.log +1 -1
- package/DEBUG.md +128 -0
- package/dist/agent/runFlows.d.ts.map +1 -1
- package/dist/agent/runFlows.js +21 -2
- package/dist/agent/runFlows.js.map +1 -1
- package/dist/agent/runSlice.js +1 -1
- package/dist/agent/runSlice.js.map +1 -1
- package/dist/cli/implement-server.d.ts +3 -0
- package/dist/cli/implement-server.d.ts.map +1 -0
- package/dist/cli/implement-server.js +39 -0
- package/dist/cli/implement-server.js.map +1 -0
- package/dist/cli/index.js +18 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/implement-server.d.ts +16 -0
- package/dist/commands/implement-server.d.ts.map +1 -0
- package/dist/commands/implement-server.js +91 -0
- package/dist/commands/implement-server.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/package.json +8 -2
- package/src/agent/runFlows.ts +29 -2
- package/src/agent/runSlice.ts +1 -1
- package/src/cli/implement-server.ts +46 -0
- package/src/cli/index.ts +22 -1
- package/src/commands/implement-server.ts +130 -0
- package/src/index.ts +7 -0
package/.turbo/turbo-build.log
CHANGED
package/.turbo/turbo-format.log
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
package.json
|
|
8
|
-
src/agent/runAllSlices.js
|
|
9
|
-
src/agent/runAllSlices.ts
|
|
10
|
-
src/agent/runFlows.js
|
|
11
|
-
src/agent/runFlows.ts
|
|
12
|
-
src/agent/runSlice.js
|
|
13
|
-
src/agent/runSlice.ts
|
|
14
|
-
src/agent/runTests.js
|
|
15
|
-
src/agent/runTests.ts
|
|
16
|
-
src/cli/
|
|
17
|
-
src/cli/index.
|
|
18
|
-
src/
|
|
19
|
-
src/
|
|
20
|
-
src/
|
|
21
|
-
src/
|
|
22
|
-
|
|
1
|
+
|
|
2
|
+
> @auto-engineer/server-implementer@0.4.5 format /Users/sam/WebstormProjects/top/auto-engineer/packages/server-implementer
|
|
3
|
+
> prettier --write "**/*.{js,ts,json,md,yml,yaml}" --ignore-path ../../.prettierignore
|
|
4
|
+
|
|
5
|
+
CHANGELOG.md 18ms (unchanged)
|
|
6
|
+
DEBUG.md 3ms (unchanged)
|
|
7
|
+
package.json 14ms (unchanged)
|
|
8
|
+
src/agent/runAllSlices.js 10ms (unchanged)
|
|
9
|
+
src/agent/runAllSlices.ts 24ms (unchanged)
|
|
10
|
+
src/agent/runFlows.js 3ms (unchanged)
|
|
11
|
+
src/agent/runFlows.ts 5ms (unchanged)
|
|
12
|
+
src/agent/runSlice.js 20ms (unchanged)
|
|
13
|
+
src/agent/runSlice.ts 21ms (unchanged)
|
|
14
|
+
src/agent/runTests.js 6ms (unchanged)
|
|
15
|
+
src/agent/runTests.ts 7ms (unchanged)
|
|
16
|
+
src/cli/implement-server.ts 2ms (unchanged)
|
|
17
|
+
src/cli/index.js 1ms (unchanged)
|
|
18
|
+
src/cli/index.ts 2ms (unchanged)
|
|
19
|
+
src/commands/implement-server.ts 6ms (unchanged)
|
|
20
|
+
src/index.ts 1ms (unchanged)
|
|
21
|
+
src/prompts/systemPrompt.js 0ms (unchanged)
|
|
22
|
+
src/prompts/systemPrompt.ts 1ms (unchanged)
|
|
23
|
+
src/utils/extractCodeBlock.js 1ms (unchanged)
|
|
24
|
+
src/utils/extractCodeBlock.ts 1ms (unchanged)
|
|
25
|
+
tsconfig.json 1ms (unchanged)
|
package/.turbo/turbo-lint.log
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
>
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
|
|
2
|
+
> @auto-engineer/server-implementer@0.4.5 lint /Users/sam/WebstormProjects/top/auto-engineer/packages/server-implementer
|
|
3
|
+
> eslint 'src/**/*.ts' --max-warnings 0 --config ../../eslint.config.ts
|
|
4
|
+
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/server-implementer@0.4.
|
|
2
|
+
> @auto-engineer/server-implementer@0.4.5 type-check /Users/sam/WebstormProjects/top/auto-engineer/packages/server-implementer
|
|
3
3
|
> tsc --noEmit
|
|
4
4
|
|
package/DEBUG.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Debug Logging - Server Implementer
|
|
2
|
+
|
|
3
|
+
This package uses the [debug](https://www.npmjs.com/package/debug) library for conditional logging.
|
|
4
|
+
|
|
5
|
+
## Available Debug Namespaces
|
|
6
|
+
|
|
7
|
+
- `server-impl:cli` - CLI operations and initialization
|
|
8
|
+
- `server-impl:flows` - Flow directory processing
|
|
9
|
+
- `server-impl:flows:flow` - Individual flow processing
|
|
10
|
+
|
|
11
|
+
## Enabling Debug Output
|
|
12
|
+
|
|
13
|
+
Set the `DEBUG` environment variable to enable logging:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Enable all server-implementer logging
|
|
17
|
+
DEBUG=server-impl:* pnpm implement:server
|
|
18
|
+
|
|
19
|
+
# Enable specific namespace
|
|
20
|
+
DEBUG=server-impl:cli pnpm implement:server
|
|
21
|
+
|
|
22
|
+
# Enable flow processing only
|
|
23
|
+
DEBUG=server-impl:flows:* pnpm implement:server
|
|
24
|
+
|
|
25
|
+
# Enable all logging
|
|
26
|
+
DEBUG=* pnpm implement:server
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
### Debug CLI Operations
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
DEBUG=server-impl:cli pnpm implement:server ./server
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Output example:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
server-impl:cli CLI started with args: [ './server' ]
|
|
41
|
+
server-impl:cli Server root argument: ./server
|
|
42
|
+
server-impl:cli Resolved server root: /Users/project/server
|
|
43
|
+
server-impl:cli Flows directory: /Users/project/server/src/domain/flows
|
|
44
|
+
server-impl:cli Flows directory exists, starting flow runner
|
|
45
|
+
server-impl:cli Flow runner completed
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Debug Flow Processing
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
DEBUG=server-impl:flows pnpm implement:server
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Output example:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
server-impl:flows Running flows from base directory: /Users/project/server/src/domain/flows
|
|
58
|
+
server-impl:flows Found 3 flow directories
|
|
59
|
+
server-impl:flows Flow directories: [ 'shopping-assistant', 'order-management', 'user-profile' ]
|
|
60
|
+
server-impl:flows All 3 flows processed successfully
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Debug Individual Flow Processing
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
DEBUG=server-impl:flows:flow pnpm implement:server
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Output example:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
server-impl:flows:flow Processing flow: shopping-assistant
|
|
73
|
+
server-impl:flows:flow Path: /Users/project/server/src/domain/flows/shopping-assistant
|
|
74
|
+
server-impl:flows:flow Flow shopping-assistant completed successfully
|
|
75
|
+
server-impl:flows:flow Processing flow: order-management
|
|
76
|
+
server-impl:flows:flow Path: /Users/project/server/src/domain/flows/order-management
|
|
77
|
+
server-impl:flows:flow Flow order-management completed successfully
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Common Use Cases
|
|
81
|
+
|
|
82
|
+
### Debug Full Server Implementation
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
DEBUG=server-impl:* pnpm implement:server
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Debug with AI Gateway
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
DEBUG=server-impl:*,ai-gateway:* pnpm implement:server
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Debug Flow Errors
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
DEBUG=server-impl:flows:flow pnpm implement:server 2>&1 | grep ERROR
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Save Debug Output
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
DEBUG=server-impl:* pnpm implement:server 2> server-impl-debug.log
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Error Debugging
|
|
107
|
+
|
|
108
|
+
When errors occur, enable all namespaces to get full context:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
DEBUG=server-impl:* pnpm implement:server
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Error output example:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
server-impl:cli ERROR: No server root path provided
|
|
118
|
+
server-impl:flows:flow ERROR: Flow shopping-assistant failed: Missing required files
|
|
119
|
+
server-impl:cli ERROR: Flow runner failed: Error: Missing required files
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Tips
|
|
123
|
+
|
|
124
|
+
- Start with `DEBUG=server-impl:*` to see all operations
|
|
125
|
+
- Use `DEBUG=server-impl:flows:flow` to focus on individual flow processing
|
|
126
|
+
- Combine with other packages: `DEBUG=server-impl:*,emmett:*`
|
|
127
|
+
- Filter errors: `DEBUG=server-impl:* pnpm implement:server 2>&1 | grep ERROR`
|
|
128
|
+
- Timestamp output: `DEBUG=server-impl:* pnpm implement:server 2>&1 | ts`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runFlows.d.ts","sourceRoot":"","sources":["../../src/agent/runFlows.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runFlows.d.ts","sourceRoot":"","sources":["../../src/agent/runFlows.ts"],"names":[],"mappings":"AAQA,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC7D"}
|
package/dist/agent/runFlows.js
CHANGED
|
@@ -1,17 +1,36 @@
|
|
|
1
1
|
import fg from 'fast-glob';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { runAllSlices } from './runAllSlices';
|
|
4
|
+
import createDebug from 'debug';
|
|
5
|
+
const debug = createDebug('server-impl:flows');
|
|
6
|
+
const debugFlow = createDebug('server-impl:flows:flow');
|
|
4
7
|
export async function runFlows(baseDir) {
|
|
8
|
+
debug('Running flows from base directory: %s', baseDir);
|
|
5
9
|
const flowDirs = await fg('*', {
|
|
6
10
|
cwd: baseDir,
|
|
7
11
|
onlyDirectories: true,
|
|
8
12
|
absolute: true,
|
|
9
13
|
});
|
|
14
|
+
debug('Found %d flow directories', flowDirs.length);
|
|
15
|
+
if (flowDirs.length > 0) {
|
|
16
|
+
debug('Flow directories: %o', flowDirs.map((d) => path.basename(d)));
|
|
17
|
+
}
|
|
10
18
|
console.log(`🚀 Found ${flowDirs.length} flows`);
|
|
11
19
|
for (const flowDir of flowDirs) {
|
|
12
|
-
|
|
13
|
-
|
|
20
|
+
const flowName = path.basename(flowDir);
|
|
21
|
+
debugFlow('Processing flow: %s', flowName);
|
|
22
|
+
debugFlow(' Path: %s', flowDir);
|
|
23
|
+
console.log(`📂 Processing flow: ${flowName}`);
|
|
24
|
+
try {
|
|
25
|
+
await runAllSlices(flowDir);
|
|
26
|
+
debugFlow('Flow %s completed successfully', flowName);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
debugFlow('ERROR: Flow %s failed: %O', flowName, error);
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
14
32
|
}
|
|
33
|
+
debug('All %d flows processed successfully', flowDirs.length);
|
|
15
34
|
console.log('✅ All flows processed');
|
|
16
35
|
}
|
|
17
36
|
//# sourceMappingURL=runFlows.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runFlows.js","sourceRoot":"","sources":["../../src/agent/runFlows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"runFlows.js","sourceRoot":"","sources":["../../src/agent/runFlows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,WAAW,MAAM,OAAO,CAAC;AAEhC,MAAM,KAAK,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAC/C,MAAM,SAAS,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe;IAC5C,KAAK,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE;QAC7B,GAAG,EAAE,OAAO;QACZ,eAAe,EAAE,IAAI;QACrB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CACH,sBAAsB,EACtB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACtC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC;IACjD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxC,SAAS,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QAC3C,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEjC,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5B,SAAS,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,2BAA2B,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qCAAqC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/agent/runSlice.js
CHANGED
|
@@ -9,7 +9,7 @@ import { runTests } from './runTests';
|
|
|
9
9
|
const availableProviders = getAvailableProviders();
|
|
10
10
|
const AI_PROVIDER = availableProviders[0];
|
|
11
11
|
if (availableProviders.length === 0) {
|
|
12
|
-
console.error('❌ No AI providers configured. Please set one of: OPENAI_API_KEY, ANTHROPIC_API_KEY,
|
|
12
|
+
console.error('❌ No AI providers configured. Please set one of: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, or XAI_API_KEY');
|
|
13
13
|
process.exit(1);
|
|
14
14
|
}
|
|
15
15
|
export async function runSlice(sliceDir, flow) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runSlice.js","sourceRoot":"","sources":["../../src/agent/runSlice.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runSlice.js","sourceRoot":"","sources":["../../src/agent/runSlice.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implement-server.d.ts","sourceRoot":"","sources":["../../src/cli/implement-server.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import 'dotenv/config';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
import { implementServerCommandHandler } from '../commands/implement-server';
|
|
5
|
+
import createDebug from 'debug';
|
|
6
|
+
const debug = createDebug('server-impl:cli:implement');
|
|
7
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
8
|
+
const isMain = process.argv[1] === __filename;
|
|
9
|
+
if (isMain) {
|
|
10
|
+
debug('CLI started with args: %o', process.argv.slice(2));
|
|
11
|
+
const serverDirectory = process.argv[2];
|
|
12
|
+
if (!serverDirectory) {
|
|
13
|
+
debug('ERROR: No server directory provided');
|
|
14
|
+
console.error('Usage: implement:server <server-directory>');
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
debug('Server directory argument: %s', serverDirectory);
|
|
18
|
+
// Create command and execute handler
|
|
19
|
+
const command = {
|
|
20
|
+
type: 'ImplementServer',
|
|
21
|
+
data: {
|
|
22
|
+
serverDirectory,
|
|
23
|
+
},
|
|
24
|
+
timestamp: new Date(),
|
|
25
|
+
requestId: `cli-${Date.now()}`,
|
|
26
|
+
};
|
|
27
|
+
debug('Executing command handler');
|
|
28
|
+
void implementServerCommandHandler
|
|
29
|
+
.handle(command)
|
|
30
|
+
.then(() => {
|
|
31
|
+
debug('Command completed successfully');
|
|
32
|
+
})
|
|
33
|
+
.catch((error) => {
|
|
34
|
+
debug('Command failed: %O', error);
|
|
35
|
+
console.error('Failed to execute command:', error);
|
|
36
|
+
process.exit(1);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=implement-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implement-server.js","sourceRoot":"","sources":["../../src/cli/implement-server.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,WAAW,MAAM,OAAO,CAAC;AAEhC,MAAM,KAAK,GAAG,WAAW,CAAC,2BAA2B,CAAC,CAAC;AAEvD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAElD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC;AAE9C,IAAI,MAAM,EAAE,CAAC;IACX,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,+BAA+B,EAAE,eAAe,CAAC,CAAC;IAExD,qCAAqC;IACrC,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,iBAA0B;QAChC,IAAI,EAAE;YACJ,eAAe;SAChB;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;KAC/B,CAAC;IAEF,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACnC,KAAK,6BAA6B;SAC/B,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,EAAE;QACT,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC1C,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -3,20 +3,37 @@ import path from 'path';
|
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import { existsSync } from 'fs';
|
|
5
5
|
import { runFlows } from '../agent/runFlows';
|
|
6
|
+
import createDebug from 'debug';
|
|
7
|
+
const debug = createDebug('server-impl:cli');
|
|
6
8
|
const __filename = fileURLToPath(import.meta.url);
|
|
7
9
|
const isMain = process.argv[1] === __filename;
|
|
8
10
|
if (isMain) {
|
|
11
|
+
debug('CLI started with args: %o', process.argv.slice(2));
|
|
9
12
|
const base = process.argv[2];
|
|
10
13
|
if (!base) {
|
|
14
|
+
debug('ERROR: No server root path provided');
|
|
11
15
|
console.error('Usage: tsx src/cli/index.ts path/to/server/root');
|
|
12
16
|
process.exit(1);
|
|
13
17
|
}
|
|
18
|
+
debug('Server root argument: %s', base);
|
|
14
19
|
const serverRoot = path.resolve(base);
|
|
20
|
+
debug('Resolved server root: %s', serverRoot);
|
|
15
21
|
const flowsDir = path.join(serverRoot, 'src', 'domain', 'flows');
|
|
22
|
+
debug('Flows directory: %s', flowsDir);
|
|
16
23
|
if (!existsSync(flowsDir)) {
|
|
24
|
+
debug('ERROR: Flows directory does not exist at %s', flowsDir);
|
|
17
25
|
console.error(`❌ Flows directory not found at: ${flowsDir}`);
|
|
18
26
|
process.exit(1);
|
|
19
27
|
}
|
|
20
|
-
|
|
28
|
+
debug('Flows directory exists, starting flow runner');
|
|
29
|
+
void runFlows(flowsDir)
|
|
30
|
+
.then(() => {
|
|
31
|
+
debug('Flow runner completed');
|
|
32
|
+
})
|
|
33
|
+
.catch((error) => {
|
|
34
|
+
debug('ERROR: Flow runner failed: %O', error);
|
|
35
|
+
console.error('Flow runner failed:', error);
|
|
36
|
+
process.exit(1);
|
|
37
|
+
});
|
|
21
38
|
}
|
|
22
39
|
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAElD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC;AAE9C,IAAI,MAAM,EAAE,CAAC;IACX,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,WAAW,MAAM,OAAO,CAAC;AAEhC,MAAM,KAAK,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAE7C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAElD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC;AAE9C,IAAI,MAAM,EAAE,CAAC;IACX,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,KAAK,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjE,KAAK,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IAEvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,6CAA6C,EAAE,QAAQ,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACtD,KAAK,QAAQ,CAAC,QAAQ,CAAC;SACpB,IAAI,CAAC,GAAG,EAAE;QACT,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACjC,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { type CommandHandler, type Command, type Event } from '@auto-engineer/message-bus';
|
|
3
|
+
export type ImplementServerCommand = Command<'ImplementServer', {
|
|
4
|
+
serverDirectory: string;
|
|
5
|
+
}>;
|
|
6
|
+
export type ServerImplementedEvent = Event<'ServerImplemented', {
|
|
7
|
+
serverDirectory: string;
|
|
8
|
+
flowsImplemented: number;
|
|
9
|
+
}>;
|
|
10
|
+
export type ServerImplementationFailedEvent = Event<'ServerImplementationFailed', {
|
|
11
|
+
serverDirectory: string;
|
|
12
|
+
error: string;
|
|
13
|
+
}>;
|
|
14
|
+
export declare function handleImplementServerCommand(command: ImplementServerCommand): Promise<ServerImplementedEvent | ServerImplementationFailedEvent>;
|
|
15
|
+
export declare const implementServerCommandHandler: CommandHandler<ImplementServerCommand>;
|
|
16
|
+
//# sourceMappingURL=implement-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implement-server.d.ts","sourceRoot":"","sources":["../../src/commands/implement-server.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAW3F,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAC1C,iBAAiB,EACjB;IACE,eAAe,EAAE,MAAM,CAAC;CACzB,CACF,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,KAAK,CACxC,mBAAmB,EACnB;IACE,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CACF,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,KAAK,CACjD,4BAA4B,EAC5B;IACE,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AAEF,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,sBAAsB,GAAG,+BAA+B,CAAC,CAwEnE;AAED,eAAO,MAAM,6BAA6B,EAAE,cAAc,CAAC,sBAAsB,CAkBhF,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { existsSync } from 'fs';
|
|
4
|
+
import { runFlows } from '../agent/runFlows';
|
|
5
|
+
import createDebug from 'debug';
|
|
6
|
+
const debug = createDebug('server-impl:command');
|
|
7
|
+
const debugHandler = createDebug('server-impl:command:handler');
|
|
8
|
+
const debugProcess = createDebug('server-impl:command:process');
|
|
9
|
+
const debugResult = createDebug('server-impl:command:result');
|
|
10
|
+
export async function handleImplementServerCommand(command) {
|
|
11
|
+
const { serverDirectory } = command.data;
|
|
12
|
+
debug('Handling ImplementServerCommand');
|
|
13
|
+
debug(' Server directory: %s', serverDirectory);
|
|
14
|
+
debug(' Request ID: %s', command.requestId);
|
|
15
|
+
debug(' Correlation ID: %s', command.correlationId ?? 'none');
|
|
16
|
+
try {
|
|
17
|
+
const serverRoot = path.resolve(serverDirectory);
|
|
18
|
+
const flowsDir = path.join(serverRoot, 'src', 'domain', 'flows');
|
|
19
|
+
debugHandler('Resolved paths:');
|
|
20
|
+
debugHandler(' Server root: %s', serverRoot);
|
|
21
|
+
debugHandler(' Flows directory: %s', flowsDir);
|
|
22
|
+
if (!existsSync(flowsDir)) {
|
|
23
|
+
debugHandler('ERROR: Flows directory not found at %s', flowsDir);
|
|
24
|
+
return {
|
|
25
|
+
type: 'ServerImplementationFailed',
|
|
26
|
+
data: {
|
|
27
|
+
serverDirectory,
|
|
28
|
+
error: `Flows directory not found at: ${flowsDir}`,
|
|
29
|
+
},
|
|
30
|
+
timestamp: new Date(),
|
|
31
|
+
requestId: command.requestId,
|
|
32
|
+
correlationId: command.correlationId,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
debugProcess('Starting flow runner for directory: %s', flowsDir);
|
|
36
|
+
// Run the flows directly without spawning
|
|
37
|
+
await runFlows(flowsDir);
|
|
38
|
+
debugProcess('Flow runner completed successfully');
|
|
39
|
+
// For now, we don't have a way to count flows, so we'll use 0
|
|
40
|
+
// This could be enhanced by having runFlows return statistics
|
|
41
|
+
const flowsImplemented = 0;
|
|
42
|
+
debugResult('Process succeeded');
|
|
43
|
+
debugResult('Flows implemented: %d', flowsImplemented);
|
|
44
|
+
const successEvent = {
|
|
45
|
+
type: 'ServerImplemented',
|
|
46
|
+
data: {
|
|
47
|
+
serverDirectory,
|
|
48
|
+
flowsImplemented,
|
|
49
|
+
},
|
|
50
|
+
timestamp: new Date(),
|
|
51
|
+
requestId: command.requestId,
|
|
52
|
+
correlationId: command.correlationId,
|
|
53
|
+
};
|
|
54
|
+
debugResult('Returning success event: ServerImplemented');
|
|
55
|
+
return successEvent;
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
debug('ERROR: Exception caught: %O', error);
|
|
59
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
60
|
+
return {
|
|
61
|
+
type: 'ServerImplementationFailed',
|
|
62
|
+
data: {
|
|
63
|
+
serverDirectory,
|
|
64
|
+
error: errorMessage,
|
|
65
|
+
},
|
|
66
|
+
timestamp: new Date(),
|
|
67
|
+
requestId: command.requestId,
|
|
68
|
+
correlationId: command.correlationId,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export const implementServerCommandHandler = {
|
|
73
|
+
name: 'ImplementServer',
|
|
74
|
+
handle: async (command) => {
|
|
75
|
+
debug('CommandHandler executing for ImplementServer');
|
|
76
|
+
const result = await handleImplementServerCommand(command);
|
|
77
|
+
if (result.type === 'ServerImplemented') {
|
|
78
|
+
debug('Command handler completed: success');
|
|
79
|
+
console.log(`✅ Server implementation completed successfully`);
|
|
80
|
+
if (result.data.flowsImplemented > 0) {
|
|
81
|
+
console.log(` ${result.data.flowsImplemented} flows implemented`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
debug('Command handler completed: failure - %s', result.data.error);
|
|
86
|
+
console.error(`❌ Server implementation failed: ${result.data.error}`);
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=implement-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implement-server.js","sourceRoot":"","sources":["../../src/commands/implement-server.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,GACrC,MAAM,6BAA6B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,GAI7B,MAAM,6BAA6B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@auto-engineer/server-implementer",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"implement-server": "./dist/cli/implement-server.js"
|
|
9
|
+
},
|
|
7
10
|
"publishConfig": {
|
|
8
11
|
"access": "public"
|
|
9
12
|
},
|
|
10
13
|
"dependencies": {
|
|
11
|
-
"@auto-engineer/ai-gateway": "^0.4.
|
|
14
|
+
"@auto-engineer/ai-gateway": "^0.4.5",
|
|
15
|
+
"@auto-engineer/message-bus": "^0.4.5",
|
|
12
16
|
"@modelcontextprotocol/sdk": "^1.3.0",
|
|
17
|
+
"debug": "^4.3.4",
|
|
13
18
|
"fast-glob": "^3.3.3",
|
|
14
19
|
"vite": "^5.4.1"
|
|
15
20
|
},
|
|
@@ -25,6 +30,7 @@
|
|
|
25
30
|
},
|
|
26
31
|
"scripts": {
|
|
27
32
|
"implement": "tsx src/cli/index.ts",
|
|
33
|
+
"implement:server": "tsx src/cli/implement-server.ts",
|
|
28
34
|
"build": "tsc",
|
|
29
35
|
"dev": "tsc --watch",
|
|
30
36
|
"test": "vitest run",
|
package/src/agent/runFlows.ts
CHANGED
|
@@ -1,18 +1,45 @@
|
|
|
1
1
|
import fg from 'fast-glob';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { runAllSlices } from './runAllSlices';
|
|
4
|
+
import createDebug from 'debug';
|
|
5
|
+
|
|
6
|
+
const debug = createDebug('server-impl:flows');
|
|
7
|
+
const debugFlow = createDebug('server-impl:flows:flow');
|
|
4
8
|
|
|
5
9
|
export async function runFlows(baseDir: string): Promise<void> {
|
|
10
|
+
debug('Running flows from base directory: %s', baseDir);
|
|
11
|
+
|
|
6
12
|
const flowDirs = await fg('*', {
|
|
7
13
|
cwd: baseDir,
|
|
8
14
|
onlyDirectories: true,
|
|
9
15
|
absolute: true,
|
|
10
16
|
});
|
|
17
|
+
|
|
18
|
+
debug('Found %d flow directories', flowDirs.length);
|
|
19
|
+
if (flowDirs.length > 0) {
|
|
20
|
+
debug(
|
|
21
|
+
'Flow directories: %o',
|
|
22
|
+
flowDirs.map((d) => path.basename(d)),
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
|
|
11
26
|
console.log(`🚀 Found ${flowDirs.length} flows`);
|
|
12
27
|
for (const flowDir of flowDirs) {
|
|
13
|
-
|
|
14
|
-
|
|
28
|
+
const flowName = path.basename(flowDir);
|
|
29
|
+
debugFlow('Processing flow: %s', flowName);
|
|
30
|
+
debugFlow(' Path: %s', flowDir);
|
|
31
|
+
|
|
32
|
+
console.log(`📂 Processing flow: ${flowName}`);
|
|
33
|
+
|
|
34
|
+
try {
|
|
35
|
+
await runAllSlices(flowDir);
|
|
36
|
+
debugFlow('Flow %s completed successfully', flowName);
|
|
37
|
+
} catch (error) {
|
|
38
|
+
debugFlow('ERROR: Flow %s failed: %O', flowName, error);
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
15
41
|
}
|
|
16
42
|
|
|
43
|
+
debug('All %d flows processed successfully', flowDirs.length);
|
|
17
44
|
console.log('✅ All flows processed');
|
|
18
45
|
}
|
package/src/agent/runSlice.ts
CHANGED
|
@@ -12,7 +12,7 @@ const AI_PROVIDER = availableProviders[0];
|
|
|
12
12
|
|
|
13
13
|
if (availableProviders.length === 0) {
|
|
14
14
|
console.error(
|
|
15
|
-
'❌ No AI providers configured. Please set one of: OPENAI_API_KEY, ANTHROPIC_API_KEY,
|
|
15
|
+
'❌ No AI providers configured. Please set one of: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, or XAI_API_KEY',
|
|
16
16
|
);
|
|
17
17
|
process.exit(1);
|
|
18
18
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import 'dotenv/config';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
import { implementServerCommandHandler } from '../commands/implement-server';
|
|
5
|
+
import createDebug from 'debug';
|
|
6
|
+
|
|
7
|
+
const debug = createDebug('server-impl:cli:implement');
|
|
8
|
+
|
|
9
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
10
|
+
|
|
11
|
+
const isMain = process.argv[1] === __filename;
|
|
12
|
+
|
|
13
|
+
if (isMain) {
|
|
14
|
+
debug('CLI started with args: %o', process.argv.slice(2));
|
|
15
|
+
|
|
16
|
+
const serverDirectory = process.argv[2];
|
|
17
|
+
if (!serverDirectory) {
|
|
18
|
+
debug('ERROR: No server directory provided');
|
|
19
|
+
console.error('Usage: implement:server <server-directory>');
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
debug('Server directory argument: %s', serverDirectory);
|
|
24
|
+
|
|
25
|
+
// Create command and execute handler
|
|
26
|
+
const command = {
|
|
27
|
+
type: 'ImplementServer' as const,
|
|
28
|
+
data: {
|
|
29
|
+
serverDirectory,
|
|
30
|
+
},
|
|
31
|
+
timestamp: new Date(),
|
|
32
|
+
requestId: `cli-${Date.now()}`,
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
debug('Executing command handler');
|
|
36
|
+
void implementServerCommandHandler
|
|
37
|
+
.handle(command)
|
|
38
|
+
.then(() => {
|
|
39
|
+
debug('Command completed successfully');
|
|
40
|
+
})
|
|
41
|
+
.catch((error) => {
|
|
42
|
+
debug('Command failed: %O', error);
|
|
43
|
+
console.error('Failed to execute command:', error);
|
|
44
|
+
process.exit(1);
|
|
45
|
+
});
|
|
46
|
+
}
|
package/src/cli/index.ts
CHANGED
|
@@ -3,25 +3,46 @@ import path from 'path';
|
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import { existsSync } from 'fs';
|
|
5
5
|
import { runFlows } from '../agent/runFlows';
|
|
6
|
+
import createDebug from 'debug';
|
|
7
|
+
|
|
8
|
+
const debug = createDebug('server-impl:cli');
|
|
6
9
|
|
|
7
10
|
const __filename = fileURLToPath(import.meta.url);
|
|
8
11
|
|
|
9
12
|
const isMain = process.argv[1] === __filename;
|
|
10
13
|
|
|
11
14
|
if (isMain) {
|
|
15
|
+
debug('CLI started with args: %o', process.argv.slice(2));
|
|
16
|
+
|
|
12
17
|
const base = process.argv[2];
|
|
13
18
|
if (!base) {
|
|
19
|
+
debug('ERROR: No server root path provided');
|
|
14
20
|
console.error('Usage: tsx src/cli/index.ts path/to/server/root');
|
|
15
21
|
process.exit(1);
|
|
16
22
|
}
|
|
17
23
|
|
|
24
|
+
debug('Server root argument: %s', base);
|
|
25
|
+
|
|
18
26
|
const serverRoot = path.resolve(base);
|
|
27
|
+
debug('Resolved server root: %s', serverRoot);
|
|
28
|
+
|
|
19
29
|
const flowsDir = path.join(serverRoot, 'src', 'domain', 'flows');
|
|
30
|
+
debug('Flows directory: %s', flowsDir);
|
|
20
31
|
|
|
21
32
|
if (!existsSync(flowsDir)) {
|
|
33
|
+
debug('ERROR: Flows directory does not exist at %s', flowsDir);
|
|
22
34
|
console.error(`❌ Flows directory not found at: ${flowsDir}`);
|
|
23
35
|
process.exit(1);
|
|
24
36
|
}
|
|
25
37
|
|
|
26
|
-
|
|
38
|
+
debug('Flows directory exists, starting flow runner');
|
|
39
|
+
void runFlows(flowsDir)
|
|
40
|
+
.then(() => {
|
|
41
|
+
debug('Flow runner completed');
|
|
42
|
+
})
|
|
43
|
+
.catch((error) => {
|
|
44
|
+
debug('ERROR: Flow runner failed: %O', error);
|
|
45
|
+
console.error('Flow runner failed:', error);
|
|
46
|
+
process.exit(1);
|
|
47
|
+
});
|
|
27
48
|
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { type CommandHandler, type Command, type Event } from '@auto-engineer/message-bus';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { existsSync } from 'fs';
|
|
5
|
+
import { runFlows } from '../agent/runFlows';
|
|
6
|
+
import createDebug from 'debug';
|
|
7
|
+
|
|
8
|
+
const debug = createDebug('server-impl:command');
|
|
9
|
+
const debugHandler = createDebug('server-impl:command:handler');
|
|
10
|
+
const debugProcess = createDebug('server-impl:command:process');
|
|
11
|
+
const debugResult = createDebug('server-impl:command:result');
|
|
12
|
+
|
|
13
|
+
export type ImplementServerCommand = Command<
|
|
14
|
+
'ImplementServer',
|
|
15
|
+
{
|
|
16
|
+
serverDirectory: string;
|
|
17
|
+
}
|
|
18
|
+
>;
|
|
19
|
+
|
|
20
|
+
export type ServerImplementedEvent = Event<
|
|
21
|
+
'ServerImplemented',
|
|
22
|
+
{
|
|
23
|
+
serverDirectory: string;
|
|
24
|
+
flowsImplemented: number;
|
|
25
|
+
}
|
|
26
|
+
>;
|
|
27
|
+
|
|
28
|
+
export type ServerImplementationFailedEvent = Event<
|
|
29
|
+
'ServerImplementationFailed',
|
|
30
|
+
{
|
|
31
|
+
serverDirectory: string;
|
|
32
|
+
error: string;
|
|
33
|
+
}
|
|
34
|
+
>;
|
|
35
|
+
|
|
36
|
+
export async function handleImplementServerCommand(
|
|
37
|
+
command: ImplementServerCommand,
|
|
38
|
+
): Promise<ServerImplementedEvent | ServerImplementationFailedEvent> {
|
|
39
|
+
const { serverDirectory } = command.data;
|
|
40
|
+
|
|
41
|
+
debug('Handling ImplementServerCommand');
|
|
42
|
+
debug(' Server directory: %s', serverDirectory);
|
|
43
|
+
debug(' Request ID: %s', command.requestId);
|
|
44
|
+
debug(' Correlation ID: %s', command.correlationId ?? 'none');
|
|
45
|
+
|
|
46
|
+
try {
|
|
47
|
+
const serverRoot = path.resolve(serverDirectory);
|
|
48
|
+
const flowsDir = path.join(serverRoot, 'src', 'domain', 'flows');
|
|
49
|
+
|
|
50
|
+
debugHandler('Resolved paths:');
|
|
51
|
+
debugHandler(' Server root: %s', serverRoot);
|
|
52
|
+
debugHandler(' Flows directory: %s', flowsDir);
|
|
53
|
+
|
|
54
|
+
if (!existsSync(flowsDir)) {
|
|
55
|
+
debugHandler('ERROR: Flows directory not found at %s', flowsDir);
|
|
56
|
+
return {
|
|
57
|
+
type: 'ServerImplementationFailed',
|
|
58
|
+
data: {
|
|
59
|
+
serverDirectory,
|
|
60
|
+
error: `Flows directory not found at: ${flowsDir}`,
|
|
61
|
+
},
|
|
62
|
+
timestamp: new Date(),
|
|
63
|
+
requestId: command.requestId,
|
|
64
|
+
correlationId: command.correlationId,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
debugProcess('Starting flow runner for directory: %s', flowsDir);
|
|
69
|
+
|
|
70
|
+
// Run the flows directly without spawning
|
|
71
|
+
await runFlows(flowsDir);
|
|
72
|
+
|
|
73
|
+
debugProcess('Flow runner completed successfully');
|
|
74
|
+
|
|
75
|
+
// For now, we don't have a way to count flows, so we'll use 0
|
|
76
|
+
// This could be enhanced by having runFlows return statistics
|
|
77
|
+
const flowsImplemented = 0;
|
|
78
|
+
|
|
79
|
+
debugResult('Process succeeded');
|
|
80
|
+
debugResult('Flows implemented: %d', flowsImplemented);
|
|
81
|
+
|
|
82
|
+
const successEvent: ServerImplementedEvent = {
|
|
83
|
+
type: 'ServerImplemented',
|
|
84
|
+
data: {
|
|
85
|
+
serverDirectory,
|
|
86
|
+
flowsImplemented,
|
|
87
|
+
},
|
|
88
|
+
timestamp: new Date(),
|
|
89
|
+
requestId: command.requestId,
|
|
90
|
+
correlationId: command.correlationId,
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
debugResult('Returning success event: ServerImplemented');
|
|
94
|
+
return successEvent;
|
|
95
|
+
} catch (error) {
|
|
96
|
+
debug('ERROR: Exception caught: %O', error);
|
|
97
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
98
|
+
|
|
99
|
+
return {
|
|
100
|
+
type: 'ServerImplementationFailed',
|
|
101
|
+
data: {
|
|
102
|
+
serverDirectory,
|
|
103
|
+
error: errorMessage,
|
|
104
|
+
},
|
|
105
|
+
timestamp: new Date(),
|
|
106
|
+
requestId: command.requestId,
|
|
107
|
+
correlationId: command.correlationId,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export const implementServerCommandHandler: CommandHandler<ImplementServerCommand> = {
|
|
113
|
+
name: 'ImplementServer',
|
|
114
|
+
handle: async (command: ImplementServerCommand): Promise<void> => {
|
|
115
|
+
debug('CommandHandler executing for ImplementServer');
|
|
116
|
+
const result = await handleImplementServerCommand(command);
|
|
117
|
+
|
|
118
|
+
if (result.type === 'ServerImplemented') {
|
|
119
|
+
debug('Command handler completed: success');
|
|
120
|
+
console.log(`✅ Server implementation completed successfully`);
|
|
121
|
+
if (result.data.flowsImplemented > 0) {
|
|
122
|
+
console.log(` ${result.data.flowsImplemented} flows implemented`);
|
|
123
|
+
}
|
|
124
|
+
} else {
|
|
125
|
+
debug('Command handler completed: failure - %s', result.data.error);
|
|
126
|
+
console.error(`❌ Server implementation failed: ${result.data.error}`);
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
};
|