@auto-engineer/server-implementer 0.14.0 → 0.15.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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @auto-engineer/server-implementer@0.14.0 build /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
2
+ > @auto-engineer/server-implementer@0.15.0 build /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
3
3
  > tsc && tsx ../../scripts/fix-esm-imports.ts
4
4
 
5
5
  Fixed ESM imports in dist/
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @auto-engineer/server-implementer
2
2
 
3
+ ## 0.15.0
4
+
5
+ ### Minor Changes
6
+
7
+ - version bump
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies []:
12
+ - @auto-engineer/message-bus@0.15.0
13
+ - @auto-engineer/ai-gateway@0.15.0
14
+
3
15
  ## 0.14.0
4
16
 
5
17
  ### Minor Changes
package/README.md CHANGED
@@ -1,264 +1,238 @@
1
1
  # @auto-engineer/server-implementer
2
2
 
3
- AI-powered implementation plugin for the Auto Engineer CLI that implements server-side code with AI assistance. This plugin takes generated code stubs and business requirements to create implementations.
3
+ AI-powered code implementation that completes TODO-marked TypeScript files in event-driven servers.
4
4
 
5
- ## Installation
6
-
7
- This is a plugin for the Auto Engineer CLI. Install both the CLI and this plugin:
5
+ ---
8
6
 
9
- ```bash
10
- npm install -g @auto-engineer/cli
11
- npm install @auto-engineer/server-implementer
12
- ```
7
+ ## Purpose
13
8
 
14
- ## Configuration
9
+ Without `@auto-engineer/server-implementer`, you would have to manually implement scaffolded TypeScript code, run tests, interpret errors, and iterate on fixes by hand.
15
10
 
16
- Add this plugin to your `auto.config.ts`:
11
+ This package automates the implementation of scaffolded CQRS/event-sourced server code. It identifies files with TODO markers, generates implementations using AI, validates with TypeScript and Vitest, and retries with error feedback until tests pass.
17
12
 
18
- ```typescript
19
- export default {
20
- plugins: [
21
- '@auto-engineer/server-implementer',
22
- // ... other plugins
23
- ],
24
- };
25
- ```
13
+ ---
26
14
 
27
- ## Commands
15
+ ## Installation
28
16
 
29
- This plugin provides the following commands:
17
+ ```bash
18
+ pnpm add @auto-engineer/server-implementer
19
+ ```
30
20
 
31
- - `implement:server` - Implement server-side code with AI assistance
32
- - `implement:slice` - Implement a specific server slice with AI assistance
21
+ ## Quick Start
33
22
 
34
- ## What does this plugin do?
23
+ Register the handler and implement server code:
35
24
 
36
- The Server Implementer uses AI capabilities to implement business logic, database operations, and integration code for server services. It bridges the gap between generated code scaffolds and functional implementations.
25
+ ### 1. Register the handlers
37
26
 
38
- ## Key Features
27
+ ```typescript
28
+ import { COMMANDS } from '@auto-engineer/server-implementer';
29
+ import { createMessageBus } from '@auto-engineer/message-bus';
39
30
 
40
- ### AI Code Generation
31
+ const bus = createMessageBus();
32
+ COMMANDS.forEach(cmd => bus.registerCommand(cmd));
33
+ ```
41
34
 
42
- - Analyzes existing code structure and patterns
43
- - Understands business requirements from comments and specifications
44
- - Generates appropriate implementations
45
- - Maintains consistency with existing codebase patterns
35
+ ### 2. Send a command
46
36
 
47
- ### Incremental Implementation
37
+ ```typescript
38
+ const result = await bus.dispatch({
39
+ type: 'ImplementServer',
40
+ data: {
41
+ serverDirectory: './server',
42
+ },
43
+ requestId: 'req-123',
44
+ });
45
+
46
+ console.log(result);
47
+ // → { type: 'ServerImplemented', data: { serverDirectory: './server' } }
48
+ ```
48
49
 
49
- - Implements one slice or component at a time
50
- - Preserves existing implementations
51
- - Allows for iterative refinement
52
- - Supports partial implementations and manual overrides
50
+ The command processes all flows in `src/domain/flows/` and implements TODO-marked files.
53
51
 
54
- ### Test-Driven Development
52
+ ---
55
53
 
56
- - Generates implementations that pass existing tests
57
- - Creates test cases for edge cases
58
- - Validates implementations against test suites
59
- - Supports behavior-driven development patterns
54
+ ## How-to Guides
60
55
 
61
- ### Integration Awareness
56
+ ### Run via CLI
62
57
 
63
- - Understands dependencies between components
64
- - Implements integration patterns correctly
65
- - Handles error scenarios and edge cases
66
- - Maintains data consistency across operations
58
+ ```bash
59
+ auto implement:server --server-directory=./server
60
+ auto implement:slice --slice-path=./server/src/domain/flows/order/place-order
61
+ ```
67
62
 
68
- ## Workflow
63
+ ### Run Programmatically
69
64
 
70
- ### 1. Full Server Implementation
65
+ ```typescript
66
+ import { handleImplementSliceCommand } from '@auto-engineer/server-implementer';
67
+
68
+ const result = await handleImplementSliceCommand({
69
+ type: 'ImplementSlice',
70
+ data: {
71
+ slicePath: './server/src/domain/flows/order/place-order',
72
+ aiOptions: { maxTokens: 4000 },
73
+ },
74
+ requestId: 'req-123',
75
+ });
76
+ ```
71
77
 
72
- Use `implement:server` to implement an entire server project:
78
+ ### Retry with Previous Errors
73
79
 
74
- ```bash
75
- auto implement:server
80
+ ```typescript
81
+ const retryResult = await handleImplementSliceCommand({
82
+ type: 'ImplementSlice',
83
+ data: {
84
+ slicePath: './server/src/domain/flows/order/place-order',
85
+ context: {
86
+ previousOutputs: 'TypeError: Property "status" is missing...',
87
+ attemptNumber: 2,
88
+ },
89
+ },
90
+ requestId: 'req-124',
91
+ });
76
92
  ```
77
93
 
78
- This command:
94
+ ### Handle Errors
79
95
 
80
- - Scans the entire server project
81
- - Identifies unimplemented stubs and TODOs
82
- - Implements business logic based on specifications
83
- - Ensures all components work together coherently
96
+ ```typescript
97
+ if (result.type === 'ServerImplementationFailed') {
98
+ console.error(result.data.error);
99
+ }
84
100
 
85
- ### 2. Slice-by-Slice Implementation
101
+ if (result.type === 'SliceImplementationFailed') {
102
+ console.error(result.data.error);
103
+ }
104
+ ```
86
105
 
87
- Use `implement:slice` for targeted implementation of specific features:
106
+ ### Enable Debug Logging
88
107
 
89
108
  ```bash
90
- auto implement:slice --slice="order-management"
109
+ DEBUG=auto:server-implementer:* auto implement:server --server-directory=./server
91
110
  ```
92
111
 
93
- This approach:
94
-
95
- - Focuses on a single business domain
96
- - Implements related commands, events, and queries
97
- - Maintains isolation between different slices
98
- - Allows for parallel development of features
99
-
100
- ## Implementation Patterns
112
+ ---
101
113
 
102
- ### Command Handler Implementation
114
+ ## API Reference
103
115
 
104
- The plugin understands common command handler patterns:
116
+ ### Exports
105
117
 
106
118
  ```typescript
107
- // Before (generated stub)
108
- export class PlaceOrderCommandHandler {
109
- async handle(command: PlaceOrderCommand): Promise<OrderPlaced[]> {
110
- // TODO: Implement order placement logic
111
- throw new Error('Not implemented');
112
- }
113
- }
114
-
115
- // After (AI implementation)
116
- export class PlaceOrderCommandHandler {
117
- async handle(command: PlaceOrderCommand): Promise<OrderPlaced[]> {
118
- // Validate inventory availability
119
- const inventory = await this.inventoryService.checkAvailability(command.items);
120
- if (!inventory.available) {
121
- throw new InsufficientInventoryError(command.items);
122
- }
123
-
124
- // Calculate pricing
125
- const pricing = await this.pricingService.calculateTotal(command.items);
126
-
127
- // Create order aggregate
128
- const order = new Order({
129
- customerId: command.customerId,
130
- items: command.items,
131
- total: pricing.total,
132
- });
133
-
134
- // Emit order placed event
135
- return [
136
- new OrderPlaced({
137
- orderId: order.id,
138
- customerId: command.customerId,
139
- total: pricing.total,
140
- timestamp: new Date(),
141
- }),
142
- ];
143
- }
144
- }
119
+ import {
120
+ COMMANDS,
121
+ implementServerHandler,
122
+ implementSliceHandler,
123
+ handleImplementSliceCommand,
124
+ } from '@auto-engineer/server-implementer';
125
+
126
+ import type {
127
+ ImplementServerCommand,
128
+ ServerImplementedEvent,
129
+ ServerImplementationFailedEvent,
130
+ ImplementSliceCommand,
131
+ SliceImplementedEvent,
132
+ SliceImplementationFailedEvent,
133
+ } from '@auto-engineer/server-implementer';
145
134
  ```
146
135
 
147
- ### Query Implementation
136
+ ### Commands
137
+
138
+ | Command | CLI Alias | Description |
139
+ |---------|-----------|-------------|
140
+ | `ImplementServer` | `implement:server` | Implement all flows in server project |
141
+ | `ImplementSlice` | `implement:slice` | Implement single slice directory |
148
142
 
149
- Implements read-side query handlers:
143
+ ### ImplementServerCommand
150
144
 
151
145
  ```typescript
152
- // Implements projection queries with proper filtering, sorting, and pagination
153
- export class OrderQueryHandler {
154
- async getOrderHistory(customerId: string, options: QueryOptions) {
155
- return await this.orderProjection
156
- .query()
157
- .where('customerId', customerId)
158
- .orderBy('createdAt', 'desc')
159
- .limit(options.limit)
160
- .offset(options.offset)
161
- .execute();
146
+ type ImplementServerCommand = Command<
147
+ 'ImplementServer',
148
+ {
149
+ serverDirectory: string;
162
150
  }
163
- }
151
+ >;
164
152
  ```
165
153
 
166
- ### Integration Implementation
167
-
168
- Handles external service integrations:
154
+ ### ImplementSliceCommand
169
155
 
170
156
  ```typescript
171
- // Implements integration patterns with proper error handling
172
- export class PaymentIntegration {
173
- async processPayment(paymentRequest: PaymentRequest): Promise<PaymentResult> {
174
- try {
175
- const result = await this.stripeClient.charges.create({
176
- amount: paymentRequest.amount * 100, // Convert to cents
177
- currency: 'usd',
178
- source: paymentRequest.token,
179
- description: paymentRequest.description,
180
- });
181
-
182
- return {
183
- success: true,
184
- transactionId: result.id,
185
- amount: result.amount / 100,
186
- };
187
- } catch (error) {
188
- if (error.type === 'StripeCardError') {
189
- throw new PaymentDeclinedError(error.message);
190
- }
191
- throw new PaymentProcessingError('Payment failed', error);
192
- }
157
+ type ImplementSliceCommand = Command<
158
+ 'ImplementSlice',
159
+ {
160
+ slicePath: string;
161
+ context?: {
162
+ previousOutputs?: string;
163
+ attemptNumber?: number;
164
+ };
165
+ aiOptions?: {
166
+ maxTokens?: number;
167
+ };
193
168
  }
194
- }
169
+ >;
195
170
  ```
196
171
 
197
- ## Configuration Options
198
-
199
- Customize implementation behavior through environment variables or config:
172
+ ### SliceImplementedEvent
200
173
 
201
174
  ```typescript
202
- // auto.config.ts
203
- export default {
204
- plugins: [
205
- [
206
- '@auto-engineer/server-implementer',
207
- {
208
- // AI model configuration
209
- model: 'claude-3-sonnet',
210
- temperature: 0.1,
211
-
212
- // Implementation preferences
213
- includeLogging: true,
214
- includeMetrics: true,
215
- errorHandlingPattern: 'domain-exceptions',
216
-
217
- // Test generation
218
- generateTests: true,
219
- testFramework: 'vitest',
220
- },
221
- ],
222
- ],
223
- };
175
+ type SliceImplementedEvent = Event<
176
+ 'SliceImplemented',
177
+ {
178
+ slicePath: string;
179
+ filesImplemented: string[];
180
+ }
181
+ >;
224
182
  ```
225
183
 
226
- ## Integration with Other Plugins
227
-
228
- Works with the Auto Engineer ecosystem:
229
-
230
- - **@auto-engineer/server-generator-apollo-emmett**: Implements generated command handlers and queries
231
- - **@auto-engineer/server-checks**: Validates implementations pass type checking and tests
232
- - **@auto-engineer/flow**: Uses flow specifications to understand business requirements
233
- - **@auto-engineer/ai-gateway**: Leverages AI models for intelligent code generation
184
+ ---
234
185
 
235
- ## Quality Assurance
186
+ ## Architecture
236
187
 
237
- The plugin ensures quality implementations through:
238
-
239
- - Static Analysis: Validates TypeScript compliance and best practices
240
- - Test Execution: Runs existing tests to ensure implementations work
241
- - Code Review: Uses AI to review generated code for potential issues
242
- - Pattern Consistency: Maintains consistency with existing codebase patterns
243
- - Documentation: Generates inline documentation for complex logic
244
-
245
- ## Advanced Features
188
+ ```
189
+ src/
190
+ ├── index.ts
191
+ ├── commands/
192
+ │ ├── implement-server.ts
193
+ │ └── implement-slice.ts
194
+ ├── agent/
195
+ │ ├── runFlows.ts
196
+ │ ├── runAllSlices.ts
197
+ │ ├── runSlice.ts
198
+ │ └── runTests.ts
199
+ ├── prompts/
200
+ │ └── systemPrompt.ts
201
+ └── utils/
202
+ └── extractCodeBlock.ts
203
+ ```
246
204
 
247
- ### Context-Aware Implementation
205
+ The following diagram shows the implementation flow:
206
+
207
+ ```mermaid
208
+ flowchart TB
209
+ A[ImplementSlice] --> B[Load Slice Files]
210
+ B --> C[Find TODO Markers]
211
+ C --> D[Generate via AI]
212
+ D --> E[Write File]
213
+ E --> F[Run Tests + TypeCheck]
214
+ F --> G{Pass?}
215
+ G -->|Yes| H[SliceImplementedEvent]
216
+ G -->|No| I{Retries < 5?}
217
+ I -->|Yes| J[Build Retry Prompt]
218
+ J --> D
219
+ I -->|No| K[SliceImplementationFailedEvent]
220
+ ```
248
221
 
249
- The AI understands:
222
+ *Flow: Command loads files, identifies TODOs, generates via AI, validates, retries up to 5 times on failure.*
250
223
 
251
- - Existing project patterns and conventions
252
- - Database schema and relationships
253
- - External API contracts and integration patterns
254
- - Error handling strategies used in the project
255
- - Testing approaches and mocking patterns
224
+ ### Implementation Markers
256
225
 
257
- ### Iterative Refinement
226
+ Files are identified for processing by:
227
+ - `// @auto-implement` comment
228
+ - `TODO:` comments
229
+ - `IMPLEMENTATION INSTRUCTIONS` text
258
230
 
259
- - Analyzes test failures and refines implementations
260
- - Learns from manual corrections and adjustments
261
- - Adapts to project-specific requirements and constraints
262
- - Supports incremental improvement over time
231
+ ### Dependencies
263
232
 
264
- The Server Implementer transforms code scaffolds into implementations, accelerating server development while maintaining code quality and consistency.
233
+ | Package | Usage |
234
+ |---------|-------|
235
+ | `@auto-engineer/ai-gateway` | AI text generation |
236
+ | `@auto-engineer/message-bus` | Command/event infrastructure |
237
+ | `fast-glob` | File discovery |
238
+ | `debug` | Debug logging |
@@ -1 +1 @@
1
- {"version":3,"file":"implement-server.d.ts","sourceRoot":"","sources":["../../../src/commands/implement-server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAS5F,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,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,GAAG,+BAA+B,CAAC;AAE7F,eAAO,MAAM,cAAc;;;yBAtBN,MAAM;;;;;GAyDzB,CAAC;AA+EH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"implement-server.d.ts","sourceRoot":"","sources":["../../../src/commands/implement-server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAS5F,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,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,GAAG,+BAA+B,CAAC;AAE7F,eAAO,MAAM,cAAc;;;yBAtBN,MAAM;;;;;GA6DzB,CAAC;AA+EH,eAAe,cAAc,CAAC"}
@@ -9,6 +9,7 @@ const debugProcess = createDebug('auto:server-implementer:command:process');
9
9
  const debugResult = createDebug('auto:server-implementer:command:result');
10
10
  export const commandHandler = defineCommandHandler({
11
11
  name: 'ImplementServer',
12
+ displayName: 'Implement Server',
12
13
  alias: 'implement:server',
13
14
  description: 'AI implements server TODOs and tests',
14
15
  category: 'implement',
@@ -20,7 +21,10 @@ export const commandHandler = defineCommandHandler({
20
21
  },
21
22
  },
22
23
  examples: ['$ auto implement:server --server-directory=./server'],
23
- events: ['ServerImplemented', 'ServerImplementationFailed'],
24
+ events: [
25
+ { name: 'ServerImplemented', displayName: 'Server Implemented' },
26
+ { name: 'ServerImplementationFailed', displayName: 'Server Implementation Failed' },
27
+ ],
24
28
  handle: async (command) => {
25
29
  debug('CommandHandler executing for ImplementServer');
26
30
  const result = await handleImplementServerCommandInternal(command);
@@ -1 +1 @@
1
- {"version":3,"file":"implement-server.js","sourceRoot":"","sources":["../../../src/commands/implement-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implement-server.js","sourceRoot":"","sources":["../../../src/commands/implement-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAgB,oBAAoB,EAAc,MAAM,4BAA4B,CAAC;AAC5F,OAAO,WAAW,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,KAAK,GAAG,WAAW,CAAC,iCAAiC,CAAC,CAAC;AAC7D,MAAM,YAAY,GAAG,WAAW,CAAC,yCAAyC,CAAC,CAAC;AAC5E,MAAM,YAAY,GAAG,WAAW,CAAC,yCAAyC,CAAC,CAAC;AAC5E,MAAM,WAAW,GAAG,WAAW,CAAC,wCAAwC,CAAC,CAAC;AA2B1E,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAGhD;IACA,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,kBAAkB;IAC/B,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,sCAAsC;IACnD,QAAQ,EAAE,WAAW;IACrB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE;QACN,eAAe,EAAE;YACf,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACf;KACF;IACD,QAAQ,EAAE,CAAC,qDAAqD,CAAC;IACjE,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,oBAAoB,EAAE;QAChE,EAAE,IAAI,EAAE,4BAA4B,EAAE,WAAW,EAAE,8BAA8B,EAAE;KACpF;IACD,MAAM,EAAE,KAAK,EACX,OAA+B,EACoC,EAAE;QACrE,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,oCAAoC,CAAC,OAAO,CAAC,CAAC;QAEnE,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC5C,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACxD,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,yCAAyC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpE,KAAK,CAAC,oCAAoC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC,CAAC;AAEH,KAAK,UAAU,oCAAoC,CACjD,OAA+B;IAE/B,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACzC,KAAK,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAC;IACjD,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEjE,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAChC,YAAY,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QAC9C,YAAY,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,YAAY,CAAC,wCAAwC,EAAE,QAAQ,CAAC,CAAC;YACjE,OAAO;gBACL,IAAI,EAAE,4BAA4B;gBAClC,IAAI,EAAE;oBACJ,eAAe;oBACf,KAAK,EAAE,iCAAiC,QAAQ,EAAE;iBACnD;gBACD,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC;QACJ,CAAC;QAED,YAAY,CAAC,wCAAwC,EAAE,QAAQ,CAAC,CAAC;QAEjE,0CAA0C;QAC1C,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEzB,YAAY,CAAC,oCAAoC,CAAC,CAAC;QAEnD,8DAA8D;QAC9D,8DAA8D;QAC9D,MAAM,gBAAgB,GAAG,CAAC,CAAC;QAE3B,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACjC,WAAW,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;QAEvD,MAAM,YAAY,GAA2B;YAC3C,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE;gBACJ,eAAe;gBACf,gBAAgB;aACjB;YACD,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC;QAEF,WAAW,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAEvF,OAAO;YACL,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE;gBACJ,eAAe;gBACf,KAAK,EAAE,YAAY;aACpB;YACD,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"implement-slice.d.ts","sourceRoot":"","sources":["../../../src/commands/implement-slice.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAS5F,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,gBAAgB,EAChB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CACF,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CACvC,kBAAkB,EAClB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CACF,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,KAAK,CAChD,2BAA2B,EAC3B;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG,8BAA8B,CAAC;AAE1F,eAAO,MAAM,cAAc;;;mBA7BZ,MAAM;kBACP;YACR,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB;oBACW;YACV,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB;;;;;GAgEH,CAAC;AAsVH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,GAAG,8BAA8B,CAAC,CA2CjE;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"implement-slice.d.ts","sourceRoot":"","sources":["../../../src/commands/implement-slice.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAS5F,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,gBAAgB,EAChB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CACF,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CACvC,kBAAkB,EAClB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CACF,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,KAAK,CAChD,2BAA2B,EAC3B;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG,8BAA8B,CAAC;AAE1F,eAAO,MAAM,cAAc;;;mBA7BZ,MAAM;kBACP;YACR,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB;oBACW;YACV,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB;;;;;GAoEH,CAAC;AAsVH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,GAAG,8BAA8B,CAAC,CA2CjE;AAED,eAAe,cAAc,CAAC"}
@@ -11,6 +11,7 @@ const debugProcess = createDebug('auto:server-implementer:slice:process');
11
11
  const debugResult = createDebug('auto:server-implementer:slice:result');
12
12
  export const commandHandler = defineCommandHandler({
13
13
  name: 'ImplementSlice',
14
+ displayName: 'Implement Slice',
14
15
  alias: 'implement:slice',
15
16
  description: 'AI implements a specific server slice',
16
17
  category: 'implement',
@@ -32,7 +33,10 @@ export const commandHandler = defineCommandHandler({
32
33
  examples: [
33
34
  '$ auto implement:slice --slice-path=./server/src/domain/flows/seasonal-assistant/enters-shopping-criteria-into-assistant',
34
35
  ],
35
- events: ['SliceImplemented', 'SliceImplementationFailed'],
36
+ events: [
37
+ { name: 'SliceImplemented', displayName: 'Slice Implemented' },
38
+ { name: 'SliceImplementationFailed', displayName: 'Slice Implementation Failed' },
39
+ ],
36
40
  handle: async (command) => {
37
41
  debug('CommandHandler executing for ImplementSlice');
38
42
  const result = await handleImplementSliceCommand(command);
@@ -1 +1 @@
1
- {"version":3,"file":"implement-slice.js","sourceRoot":"","sources":["../../../src/commands/implement-slice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implement-slice.js","sourceRoot":"","sources":["../../../src/commands/implement-slice.ts"],"names":[],"mappings":"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"}