@auto-engineer/server-generator-apollo-emmett 0.14.0 → 0.16.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-generator-apollo-emmett@0.14.0 build /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
2
+ > @auto-engineer/server-generator-apollo-emmett@0.16.0 build /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
3
3
  > tsc && tsx ../../scripts/fix-esm-imports.ts && rm -rf dist/src/codegen/templates && mkdir -p dist/src/codegen && cp -r src/codegen/templates dist/src/codegen/templates && cp src/server.ts dist/src && cp -r src/utils dist/src && cp -r src/domain dist/src
4
4
 
5
5
  Fixed ESM imports in dist/
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @auto-engineer/server-generator-apollo-emmett
2
2
 
3
+ ## 0.16.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies []:
8
+ - @auto-engineer/narrative@0.16.0
9
+ - @auto-engineer/message-bus@0.16.0
10
+
11
+ ## 0.15.0
12
+
13
+ ### Minor Changes
14
+
15
+ - version bump
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies []:
20
+ - @auto-engineer/message-bus@0.15.0
21
+ - @auto-engineer/narrative@0.15.0
22
+
3
23
  ## 0.14.0
4
24
 
5
25
  ### Minor Changes
package/README.md CHANGED
@@ -1,185 +1,235 @@
1
1
  # @auto-engineer/server-generator-apollo-emmett
2
2
 
3
- Code generation plugin for the Auto Engineer CLI that scaffolds event-driven servers using the Emmett event sourcing framework. This plugin takes Flow specifications and generates GraphQL servers with commands, events, projections, and queries.
3
+ Code generation that scaffolds event-sourced GraphQL servers using the Emmett framework.
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-generator-apollo-emmett
12
- ```
7
+ ## Purpose
13
8
 
14
- ## Configuration
9
+ Without `@auto-engineer/server-generator-apollo-emmett`, you would have to manually write event sourcing boilerplate, create GraphQL resolvers, define command/event types, and set up projections for every slice in your server.
15
10
 
16
- Add this plugin to your `auto.config.ts`:
11
+ This package transforms narrative specifications into a complete Apollo GraphQL server with commands, events, projections, queries, and reactors following the Emmett event sourcing patterns.
17
12
 
18
- ```typescript
19
- export default {
20
- plugins: [
21
- '@auto-engineer/server-generator-apollo-emmett',
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-generator-apollo-emmett
19
+ ```
30
20
 
31
- - `generate:server` - Generate a GraphQL server from flow specifications
21
+ ## Quick Start
32
22
 
33
- ## What does this plugin do?
23
+ Register the handler and generate a server:
34
24
 
35
- The Emmett Generator transforms high-level flow specifications into event-driven servers. It generates:
25
+ ### 1. Register the handlers
36
26
 
37
- ### Command Handlers
27
+ ```typescript
28
+ import { COMMANDS } from '@auto-engineer/server-generator-apollo-emmett';
29
+ import { createMessageBus } from '@auto-engineer/message-bus';
38
30
 
39
- - Command validation and business logic stubs
40
- - Event emission patterns
41
- - Error handling and domain validation
42
- - Integration with the Emmett command bus
31
+ const bus = createMessageBus();
32
+ COMMANDS.forEach(cmd => bus.registerCommand(cmd));
33
+ ```
43
34
 
44
- ### Event Sourcing Infrastructure
35
+ ### 2. Send a command
45
36
 
46
- - Event store configuration
47
- - Event versioning and migration support
48
- - Projection builders for read models
49
- - Event stream processing
37
+ ```typescript
38
+ const result = await bus.dispatch({
39
+ type: 'GenerateServer',
40
+ data: {
41
+ modelPath: './.context/schema.json',
42
+ destination: '.',
43
+ },
44
+ requestId: 'req-123',
45
+ });
46
+
47
+ console.log(result);
48
+ // → { type: 'ServerGenerated', data: { serverDir: './server', destination: '.' } }
49
+ ```
50
50
 
51
- ### GraphQL API Layer
51
+ The command generates a complete server directory with Apollo, Emmett, and type-graphql.
52
52
 
53
- - Type-safe GraphQL schema generation
54
- - Mutation resolvers for commands
55
- - Query resolvers for projections
56
- - Subscription support for real-time updates
53
+ ---
57
54
 
58
- ### Testing Infrastructure
55
+ ## How-to Guides
59
56
 
60
- - Comprehensive test suites for all generated components
61
- - Behavioral tests for command handlers
62
- - Integration tests for the GraphQL API
63
- - Test data factories and fixtures
57
+ ### Run via CLI
64
58
 
65
- ## Generated Project Structure
59
+ ```bash
60
+ auto generate:server --model-path=./.context/schema.json --destination=.
61
+ ```
66
62
 
67
- When you run `auto generate:server`, the plugin creates a complete server project:
63
+ ### Run Programmatically
68
64
 
69
- ```
70
- server/
71
- ├── src/
72
- │ ├── domain/
73
- │ │ ├── commands/ # Command handlers
74
- │ │ ├── events/ # Event definitions
75
- │ │ ├── projections/ # Read model projections
76
- │ │ └── queries/ # Query handlers
77
- │ ├── graphql/
78
- │ │ ├── resolvers/ # GraphQL resolvers
79
- │ │ └── schema.ts # Generated schema
80
- │ ├── infrastructure/
81
- │ │ ├── eventStore.ts # Event store setup
82
- │ │ └── commandBus.ts # Command bus configuration
83
- │ └── server.ts # Application entry point
84
- ├── tests/ # Generated test suites
85
- └── package.json
65
+ ```typescript
66
+ import { COMMANDS } from '@auto-engineer/server-generator-apollo-emmett';
67
+ import { createMessageBus } from '@auto-engineer/message-bus';
68
+
69
+ const bus = createMessageBus();
70
+ COMMANDS.forEach(handler => bus.register(handler));
71
+
72
+ await bus.send({
73
+ type: 'GenerateServer',
74
+ data: {
75
+ modelPath: './.context/schema.json',
76
+ destination: '.',
77
+ },
78
+ });
86
79
  ```
87
80
 
88
- ## Features
81
+ ### Handle Errors
89
82
 
90
- ### Type-Safe Code Generation
91
-
92
- All generated code is fully typed using TypeScript, ensuring compile-time safety and developer experience.
83
+ ```typescript
84
+ if (result.type === 'ServerGenerationFailed') {
85
+ console.error(result.data.error);
86
+ }
87
+ ```
93
88
 
94
- ### Event-Driven Architecture
89
+ ### Listen for Slice Events
95
90
 
96
- Built on Emmett's event sourcing patterns:
91
+ ```typescript
92
+ bus.on('SliceGenerated', (event) => {
93
+ console.log(`Generated: ${event.data.flowName}/${event.data.sliceName}`);
94
+ });
95
+ ```
97
96
 
98
- - Commands represent intent to change state
99
- - Events capture what actually happened
100
- - Projections create read models from events
101
- - Queries serve data to GraphQL clients
97
+ ---
102
98
 
103
- ### Infrastructure
99
+ ## API Reference
104
100
 
105
- Generated servers include:
101
+ ### Exports
106
102
 
107
- - Error handling and logging
108
- - Health checks and monitoring endpoints
109
- - Environment-based configuration
110
- - Database migration scripts
103
+ ```typescript
104
+ import { COMMANDS } from '@auto-engineer/server-generator-apollo-emmett';
105
+
106
+ import type {
107
+ GenerateServerCommand,
108
+ ServerGeneratedEvent,
109
+ ServerGenerationFailedEvent,
110
+ SliceGeneratedEvent,
111
+ } from '@auto-engineer/server-generator-apollo-emmett';
112
+ ```
111
113
 
112
- ### Templates
114
+ ### Commands
113
115
 
114
- Uses EJS templating system for code generation:
116
+ | Command | CLI Alias | Description |
117
+ |---------|-----------|-------------|
118
+ | `GenerateServer` | `generate:server` | Generate event-sourced GraphQL server |
115
119
 
116
- - Command handler templates
117
- - Event definition templates
118
- - GraphQL resolver templates
119
- - Test suite templates
120
+ ### GenerateServerCommand
120
121
 
121
- ## Integration with Flow
122
+ ```typescript
123
+ type GenerateServerCommand = Command<
124
+ 'GenerateServer',
125
+ {
126
+ modelPath: string;
127
+ destination: string;
128
+ }
129
+ >;
130
+ ```
122
131
 
123
- This plugin is designed to work with `@auto-engineer/flow` specifications:
132
+ ### ServerGeneratedEvent
124
133
 
125
- 1. Define your business flows using the Flow DSL
126
- 2. Export the flow schema using `auto export:schema`
127
- 3. Generate the server using `auto generate:server`
128
- 4. The generator reads the schema and creates appropriate handlers
134
+ ```typescript
135
+ type ServerGeneratedEvent = Event<
136
+ 'ServerGenerated',
137
+ {
138
+ modelPath: string;
139
+ destination: string;
140
+ serverDir: string;
141
+ contextSchemaGraphQL?: string;
142
+ }
143
+ >;
144
+ ```
129
145
 
130
- ## Example Workflow
146
+ ### SliceGeneratedEvent
131
147
 
132
- ```bash
133
- # 1. Create a flow specification project
134
- auto create:example
148
+ ```typescript
149
+ type SliceGeneratedEvent = Event<
150
+ 'SliceGenerated',
151
+ {
152
+ flowName: string;
153
+ sliceName: string;
154
+ sliceType: string;
155
+ schemaPath: string;
156
+ slicePath: string;
157
+ }
158
+ >;
159
+ ```
135
160
 
136
- # 2. Define your business flows in flows/
137
- # Edit flows/order-management.flow.ts
161
+ ---
138
162
 
139
- # 3. Generate the server server
140
- auto generate:server
163
+ ## Architecture
141
164
 
142
- # 4. The generated server is ready to run:
143
- cd server
144
- npm install
145
- npm run start
165
+ ```
166
+ src/
167
+ ├── index.ts
168
+ ├── server.ts
169
+ ├── commands/
170
+ │ └── generate-server.ts
171
+ ├── codegen/
172
+ │ ├── scaffoldFromSchema.ts
173
+ │ ├── extract/
174
+ │ └── templates/
175
+ │ ├── command/
176
+ │ ├── query/
177
+ │ └── react/
178
+ ├── domain/shared/
179
+ └── utils/
146
180
  ```
147
181
 
148
- ## Advanced Features
149
-
150
- ### Custom Templates
182
+ The following diagram shows the generation flow:
151
183
 
152
- Override default templates by providing your own EJS files:
184
+ ```mermaid
185
+ flowchart TB
186
+ A[GenerateServer] --> B[Load Model JSON]
187
+ B --> C[Extract Messages from Specs]
188
+ C --> D[Build GWT Mappings]
189
+ D --> E[Render EJS Templates]
190
+ E --> F[Write Files to Disk]
191
+ F --> G[ServerGeneratedEvent]
192
+ ```
153
193
 
154
- - Place custom templates in `.auto-engineer/templates/`
155
- - Templates follow the same structure as built-in ones
156
- - Supports partial overrides for specific components
194
+ *Flow: Command loads model, extracts commands/events, renders templates, writes generated server.*
157
195
 
158
- ### Plugin Integration
196
+ ### Generated Server Structure
159
197
 
160
- Works with other Auto Engineer plugins:
198
+ ```
199
+ server/
200
+ ├── src/
201
+ │ ├── server.ts
202
+ │ ├── utils/
203
+ │ └── domain/
204
+ │ ├── shared/
205
+ │ └── flows/
206
+ │ └── {flow-name}/
207
+ │ └── {slice-name}/
208
+ │ ├── commands.ts
209
+ │ ├── events.ts
210
+ │ ├── state.ts
211
+ │ ├── decide.ts
212
+ │ ├── evolve.ts
213
+ │ └── mutation.resolver.ts
214
+ ├── package.json
215
+ └── tsconfig.json
216
+ ```
161
217
 
162
- - **@auto-engineer/server-implementer**: AI-powered implementation of generated stubs
163
- - **@auto-engineer/server-checks**: Validation of generated code
164
- - **@auto-engineer/frontend-generator-react-graphql**: Frontend generation from server schema
218
+ ### Slice Types
165
219
 
166
- ### Configuration Options
220
+ | Type | Description |
221
+ |------|-------------|
222
+ | Command | Mutation resolvers with decide/evolve pattern |
223
+ | Query | Query resolvers backed by projections |
224
+ | React | Reactors responding to events with commands |
167
225
 
168
- Customize generation behavior through `auto.config.ts`:
226
+ ### Dependencies
169
227
 
170
- ```typescript
171
- export default {
172
- plugins: [
173
- [
174
- '@auto-engineer/server-generator-apollo-emmett',
175
- {
176
- outputDir: './server',
177
- templateOverrides: './templates',
178
- generateMigrations: true,
179
- },
180
- ],
181
- ],
182
- };
183
- ```
184
-
185
- The Emmett Generator bridges the gap between high-level business requirements and server infrastructure, enabling development of scalable, maintainable applications.
228
+ | Package | Usage |
229
+ |---------|-------|
230
+ | `@auto-engineer/narrative` | Model type definitions |
231
+ | `@auto-engineer/message-bus` | Command/event infrastructure |
232
+ | `@event-driven-io/emmett` | Event sourcing framework |
233
+ | `apollo-server` | GraphQL server runtime |
234
+ | `type-graphql` | GraphQL schema decorators |
235
+ | `ejs` | Template rendering |
@@ -1 +1 @@
1
- {"version":3,"file":"generate-server.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-server.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAiB5F,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,gBAAgB,EAChB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CACtC,iBAAiB,EACjB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CACF,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,KAAK,CAC7C,wBAAwB,EACxB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,KAAK,CACrC,gBAAgB,EAChB;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG,2BAA2B,GAAG,mBAAmB,CAAC;AAE5G,eAAO,MAAM,cAAc,qDA+BzB,CAAC;AAqKH,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAgFjC;AAkPD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"generate-server.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-server.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAiB5F,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,gBAAgB,EAChB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CACtC,iBAAiB,EACjB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CACF,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,KAAK,CAC7C,wBAAwB,EACxB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,KAAK,CACrC,gBAAgB,EAChB;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG,2BAA2B,GAAG,mBAAmB,CAAC;AAE5G,eAAO,MAAM,cAAc,qDAoCzB,CAAC;AAqKH,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAgFjC;AAkPD,eAAe,cAAc,CAAC"}
@@ -18,11 +18,16 @@ const __filename = fileURLToPath(import.meta.url);
18
18
  const __dirname = dirname(__filename);
19
19
  export const commandHandler = defineCommandHandler({
20
20
  name: 'GenerateServer',
21
+ displayName: 'Generate Server',
21
22
  alias: 'generate:server',
22
23
  description: 'Generate server from model',
23
24
  category: 'generate',
24
25
  icon: 'server',
25
- events: ['ServerGenerated', 'ServerGenerationFailed', 'SliceGenerated'],
26
+ events: [
27
+ { name: 'ServerGenerated', displayName: 'Server Generated' },
28
+ { name: 'ServerGenerationFailed', displayName: 'Server Generation Failed' },
29
+ { name: 'SliceGenerated', displayName: 'Slice Generated' },
30
+ ],
26
31
  fields: {
27
32
  modelPath: {
28
33
  description: 'Path to the json model file',
@@ -1 +1 @@
1
- {"version":3,"file":"generate-server.js","sourceRoot":"","sources":["../../../src/commands/generate-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-server.js","sourceRoot":"","sources":["../../../src/commands/generate-server.ts"],"names":[],"mappings":"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"}