@auto-engineer/server-generator-apollo-emmett 1.55.0 → 1.56.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 (51) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +5 -5
  3. package/.turbo/turbo-type-check.log +1 -1
  4. package/CHANGELOG.md +17 -0
  5. package/dist/src/codegen/scaffoldFromSchema.d.ts +10 -1
  6. package/dist/src/codegen/scaffoldFromSchema.d.ts.map +1 -1
  7. package/dist/src/codegen/scaffoldFromSchema.js +38 -9
  8. package/dist/src/codegen/scaffoldFromSchema.js.map +1 -1
  9. package/dist/src/codegen/templates/command/commands.specs.ts +1 -1
  10. package/dist/src/codegen/templates/command/decide.specs.specs.ts +5 -5
  11. package/dist/src/codegen/templates/command/decide.specs.ts +4 -4
  12. package/dist/src/codegen/templates/command/events.specs.ts +1 -1
  13. package/dist/src/codegen/templates/command/evolve.specs.ts +1 -1
  14. package/dist/src/codegen/templates/command/handle.specs.ts +2 -2
  15. package/dist/src/codegen/templates/command/mutation.resolver.specs.ts +5 -5
  16. package/dist/src/codegen/templates/command/register.specs.ts +1 -1
  17. package/dist/src/codegen/templates/command/state.specs.ts +1 -1
  18. package/dist/src/codegen/templates/query/projection.specs.specs.ts +11 -11
  19. package/dist/src/codegen/templates/query/projection.specs.ts +5 -5
  20. package/dist/src/codegen/templates/query/query.resolver.specs.ts +11 -11
  21. package/dist/src/codegen/templates/query/state.specs.ts +2 -2
  22. package/dist/src/codegen/templates/react/react.specs.specs.ts +2 -2
  23. package/dist/src/codegen/templates/react/react.specs.ts +4 -4
  24. package/dist/src/codegen/templates/react/react.ts.specs.ts +3 -3
  25. package/dist/src/codegen/templates/react/register.specs.ts +1 -1
  26. package/dist/src/commands/generate-server.d.ts +11 -3
  27. package/dist/src/commands/generate-server.d.ts.map +1 -1
  28. package/dist/src/commands/generate-server.js +42 -8
  29. package/dist/src/commands/generate-server.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +4 -4
  32. package/src/codegen/scaffoldFromSchema.filter.specs.ts +66 -2
  33. package/src/codegen/scaffoldFromSchema.ts +64 -10
  34. package/src/codegen/templates/command/commands.specs.ts +1 -1
  35. package/src/codegen/templates/command/decide.specs.specs.ts +5 -5
  36. package/src/codegen/templates/command/decide.specs.ts +4 -4
  37. package/src/codegen/templates/command/events.specs.ts +1 -1
  38. package/src/codegen/templates/command/evolve.specs.ts +1 -1
  39. package/src/codegen/templates/command/handle.specs.ts +2 -2
  40. package/src/codegen/templates/command/mutation.resolver.specs.ts +5 -5
  41. package/src/codegen/templates/command/register.specs.ts +1 -1
  42. package/src/codegen/templates/command/state.specs.ts +1 -1
  43. package/src/codegen/templates/query/projection.specs.specs.ts +11 -11
  44. package/src/codegen/templates/query/projection.specs.ts +5 -5
  45. package/src/codegen/templates/query/query.resolver.specs.ts +11 -11
  46. package/src/codegen/templates/query/state.specs.ts +2 -2
  47. package/src/codegen/templates/react/react.specs.specs.ts +2 -2
  48. package/src/codegen/templates/react/react.specs.ts +4 -4
  49. package/src/codegen/templates/react/react.ts.specs.ts +3 -3
  50. package/src/codegen/templates/react/register.specs.ts +1 -1
  51. package/src/commands/generate-server.ts +75 -8
@@ -192,7 +192,7 @@ describe('projection.specs.ts.ejs', () => {
192
192
  ],
193
193
  } as SpecsSchema;
194
194
 
195
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
195
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
196
196
  const specFile = plans.find((p) => p.outputPath.endsWith('projection.specs.ts'));
197
197
 
198
198
  expect(specFile?.contents).toMatchInlineSnapshot(`
@@ -378,7 +378,7 @@ describe('projection.specs.ts.ejs', () => {
378
378
  ],
379
379
  } as SpecsSchema;
380
380
 
381
- const plans = await generateScaffoldFilePlans(
381
+ const { plans } = await generateScaffoldFilePlans(
382
382
  questionnaireSpec.narratives,
383
383
  questionnaireSpec.messages,
384
384
  undefined,
@@ -598,7 +598,7 @@ describe('projection.specs.ts.ejs', () => {
598
598
  ],
599
599
  } as SpecsSchema;
600
600
 
601
- const plans = await generateScaffoldFilePlans(
601
+ const { plans } = await generateScaffoldFilePlans(
602
602
  spec.narratives,
603
603
  [
604
604
  {
@@ -787,7 +787,7 @@ describe('projection.specs.ts.ejs', () => {
787
787
  ],
788
788
  } as SpecsSchema;
789
789
 
790
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
790
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
791
791
  const specFile = plans.find((p) => p.outputPath.endsWith('view-summary/projection.specs.ts'));
792
792
 
793
793
  expect(specFile?.contents).toMatchInlineSnapshot(`
@@ -983,7 +983,7 @@ describe('projection.specs.ts.ejs', () => {
983
983
  ],
984
984
  } as SpecsSchema;
985
985
 
986
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
986
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
987
987
  const specFile = plans.find((p) => p.outputPath.endsWith('view-user-projects/projection.specs.ts'));
988
988
 
989
989
  expect(specFile?.contents).toMatchInlineSnapshot(`
@@ -1162,7 +1162,7 @@ describe('projection.specs.ts.ejs', () => {
1162
1162
  ],
1163
1163
  } as SpecsSchema;
1164
1164
 
1165
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
1165
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
1166
1166
  const specFile = plans.find((p) => p.outputPath.endsWith('view-workout-history/projection.specs.ts'));
1167
1167
 
1168
1168
  expect(specFile?.contents).toMatchInlineSnapshot(`
@@ -1355,7 +1355,7 @@ describe('projection.specs.ts.ejs', () => {
1355
1355
  ],
1356
1356
  } as SpecsSchema;
1357
1357
 
1358
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
1358
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
1359
1359
  const specFile = plans.find((p) => p.outputPath.endsWith('view-member-stats/projection.specs.ts'));
1360
1360
 
1361
1361
  expect(specFile?.contents).toMatchInlineSnapshot(`
@@ -1541,7 +1541,7 @@ describe('projection.specs.ts.ejs', () => {
1541
1541
  ],
1542
1542
  } as SpecsSchema;
1543
1543
 
1544
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
1544
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
1545
1545
  const projectionFile = plans.find((p) => p.outputPath.endsWith('view-workout-history/projection.ts'));
1546
1546
 
1547
1547
  expect(projectionFile?.contents).toMatchInlineSnapshot(`
@@ -1772,7 +1772,7 @@ describe('projection.specs.ts.ejs', () => {
1772
1772
  ],
1773
1773
  } as SpecsSchema;
1774
1774
 
1775
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
1775
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
1776
1776
  const projectionFile = plans.find((p) => p.outputPath.endsWith('view-items/projection.ts'));
1777
1777
  expect(projectionFile?.contents).toBeDefined();
1778
1778
 
@@ -1960,7 +1960,7 @@ describe('projection.specs.ts.ejs', () => {
1960
1960
  ],
1961
1961
  } as SpecsSchema;
1962
1962
 
1963
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
1963
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
1964
1964
  const projectionFile = plans.find((p) => p.outputPath.endsWith('view-orders/projection.ts'));
1965
1965
  expect(projectionFile?.contents).toBeDefined();
1966
1966
 
@@ -2086,7 +2086,7 @@ describe('projection.specs.ts.ejs', () => {
2086
2086
  ],
2087
2087
  } as SpecsSchema;
2088
2088
 
2089
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
2089
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
2090
2090
  const specFile = plans.find((p) => p.outputPath.endsWith('view-appointments/projection.specs.ts'));
2091
2091
 
2092
2092
  expect(specFile?.contents).toContain("appointmentId: 'appt_789'");
@@ -213,7 +213,7 @@ describe('projection.ts.ejs', () => {
213
213
  ],
214
214
  };
215
215
 
216
- const plans = await generateScaffoldFilePlans(flows.narratives, flows.messages, undefined, 'src/domain/flows');
216
+ const { plans } = await generateScaffoldFilePlans(flows.narratives, flows.messages, undefined, 'src/domain/flows');
217
217
  const projectionFile = plans.find((p) => p.outputPath.endsWith('projection.ts'));
218
218
 
219
219
  expect(projectionFile?.contents).toMatchInlineSnapshot(`
@@ -349,7 +349,7 @@ describe('projection.ts.ejs', () => {
349
349
  ],
350
350
  };
351
351
 
352
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
352
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
353
353
  const resolverFile = plans.find((p) => p.outputPath.endsWith('query.resolver.ts'));
354
354
 
355
355
  expect(resolverFile?.contents).toMatchInlineSnapshot(`
@@ -538,7 +538,7 @@ describe('projection.ts.ejs', () => {
538
538
  ],
539
539
  };
540
540
 
541
- const plans = await generateScaffoldFilePlans(flows.narratives, flows.messages, undefined, 'src/domain/flows');
541
+ const { plans } = await generateScaffoldFilePlans(flows.narratives, flows.messages, undefined, 'src/domain/flows');
542
542
  const projectionFile = plans.find((p) => p.outputPath.endsWith('view-summary/projection.ts'));
543
543
 
544
544
  expect(projectionFile?.contents).toMatchInlineSnapshot(`
@@ -767,7 +767,7 @@ describe('projection.ts.ejs', () => {
767
767
  ],
768
768
  };
769
769
 
770
- const plans = await generateScaffoldFilePlans(flows.narratives, flows.messages, undefined, 'src/domain/flows');
770
+ const { plans } = await generateScaffoldFilePlans(flows.narratives, flows.messages, undefined, 'src/domain/flows');
771
771
  const projectionFile = plans.find((p) => p.outputPath.endsWith('view-user-projects/projection.ts'));
772
772
 
773
773
  expect(projectionFile?.contents).toMatchInlineSnapshot(`
@@ -957,7 +957,7 @@ describe('projection.ts.ejs', () => {
957
957
  ],
958
958
  };
959
959
 
960
- const plans = await generateScaffoldFilePlans(flows.narratives, flows.messages, undefined, 'src/domain/flows');
960
+ const { plans } = await generateScaffoldFilePlans(flows.narratives, flows.messages, undefined, 'src/domain/flows');
961
961
  const projectionFile = plans.find((p) => p.outputPath.endsWith('view-order-status/projection.ts'));
962
962
 
963
963
  expect(projectionFile?.contents).not.toContain('number | "pending"');
@@ -65,7 +65,7 @@ describe('query.resolver.ts.ejs', () => {
65
65
  ],
66
66
  };
67
67
 
68
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
68
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
69
69
  const resolverFile = plans.find((p) => p.outputPath.endsWith('query.resolver.ts'));
70
70
 
71
71
  expect(resolverFile?.contents).toMatchInlineSnapshot(`
@@ -191,7 +191,7 @@ describe('query.resolver.ts.ejs', () => {
191
191
  ],
192
192
  };
193
193
 
194
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
194
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
195
195
  const resolverFile = plans.find((p) => p.outputPath.endsWith('query.resolver.ts'));
196
196
 
197
197
  expect(resolverFile?.contents).toMatchInlineSnapshot(`
@@ -359,7 +359,7 @@ describe('query.resolver.ts.ejs', () => {
359
359
  integrations: [],
360
360
  };
361
361
 
362
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
362
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
363
363
  const queryFile = plans.find(
364
364
  (p) => p.outputPath.endsWith('query.resolver.ts') && p.contents.includes('ViewsTheQuestionnaireQueryResolver'),
365
365
  );
@@ -489,7 +489,7 @@ describe('query.resolver.ts.ejs', () => {
489
489
  ],
490
490
  };
491
491
 
492
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
492
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
493
493
  const resolverFile = plans.find((p) => p.outputPath.endsWith('query.resolver.ts'));
494
494
 
495
495
  expect(resolverFile?.contents).toContain(
@@ -553,7 +553,7 @@ describe('query.resolver.ts.ejs', () => {
553
553
  ],
554
554
  };
555
555
 
556
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
556
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
557
557
  const resolverFile = plans.find((p) => p.outputPath.endsWith('query.resolver.ts'));
558
558
 
559
559
  expect(resolverFile?.contents).toContain('Float');
@@ -615,7 +615,7 @@ describe('query.resolver.ts.ejs', () => {
615
615
  ],
616
616
  };
617
617
 
618
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
618
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
619
619
  const resolverFile = plans.find((p) => p.outputPath.endsWith('query.resolver.ts'));
620
620
 
621
621
  expect(resolverFile?.contents).toContain('Float');
@@ -684,7 +684,7 @@ describe('query.resolver.ts.ejs', () => {
684
684
  ],
685
685
  };
686
686
 
687
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
687
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
688
688
  const resolverFile = plans.find((p) => p.outputPath.endsWith('query.resolver.ts'));
689
689
 
690
690
  // Should return single object, not array
@@ -757,7 +757,7 @@ describe('query.resolver.ts.ejs', () => {
757
757
  ],
758
758
  };
759
759
 
760
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
760
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
761
761
  const resolverFile = plans.find((p) => p.outputPath.endsWith('query.resolver.ts'));
762
762
 
763
763
  expect(resolverFile?.contents).not.toContain("mixedStatus: 'pending'");
@@ -825,7 +825,7 @@ describe('query.resolver.ts.ejs', () => {
825
825
  ],
826
826
  };
827
827
 
828
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
828
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
829
829
  const resolverFile = plans.find((p) => p.outputPath.endsWith('query.resolver.ts'));
830
830
 
831
831
  expect(resolverFile?.contents).toContain('export class WorkoutSessionPerformance');
@@ -899,7 +899,7 @@ describe('query.resolver.ts.ejs', () => {
899
899
  ],
900
900
  };
901
901
 
902
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
902
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
903
903
  const resolverFile = plans.find((p) => p.outputPath.endsWith('query.resolver.ts'));
904
904
 
905
905
  expect(resolverFile?.contents).toMatchInlineSnapshot(`
@@ -1022,7 +1022,7 @@ describe('query.resolver.ts.ejs', () => {
1022
1022
  ],
1023
1023
  };
1024
1024
 
1025
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
1025
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
1026
1026
  const resolverFile = plans.find((p) => p.outputPath.endsWith('query.resolver.ts'));
1027
1027
 
1028
1028
  expect(resolverFile?.contents).toMatchInlineSnapshot(`
@@ -55,7 +55,7 @@ describe('state.ts.ejs', () => {
55
55
  ],
56
56
  };
57
57
 
58
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
58
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
59
59
  const stateFile = plans.find((p) => p.outputPath.endsWith('state.ts'));
60
60
 
61
61
  expect(stateFile?.contents).toMatchInlineSnapshot(`
@@ -93,7 +93,7 @@ describe('state.ts.ejs', () => {
93
93
  messages: [],
94
94
  };
95
95
 
96
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
96
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
97
97
  const stateFile = plans.find((p) => p.outputPath.endsWith('state.ts'));
98
98
 
99
99
  expect(stateFile?.contents).toMatchInlineSnapshot(`
@@ -171,7 +171,7 @@ describe('react.specs.ts.ejs (react slice)', () => {
171
171
  ],
172
172
  };
173
173
 
174
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
174
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
175
175
 
176
176
  const specFile = plans.find((p) => p.outputPath.endsWith('react.specs.ts'));
177
177
  expect(specFile?.contents).toMatchInlineSnapshot(`
@@ -358,7 +358,7 @@ describe('react.specs.ts.ejs (react slice)', () => {
358
358
  ],
359
359
  };
360
360
 
361
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
361
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
362
362
 
363
363
  const specFile = plans.find((p) => p.outputPath.endsWith('react.specs.ts'));
364
364
  expect(specFile?.contents).toBeDefined();
@@ -229,7 +229,7 @@ describe('handle.ts.ejs (react slice)', () => {
229
229
  ],
230
230
  };
231
231
 
232
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
232
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
233
233
  const handleFile = plans.find((p) => p.outputPath.endsWith('react.ts'));
234
234
 
235
235
  expect(handleFile?.contents).toMatchInlineSnapshot(`
@@ -375,7 +375,7 @@ describe('handle.ts.ejs (react slice)', () => {
375
375
  ],
376
376
  };
377
377
 
378
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
378
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
379
379
  const reactFile = plans.find((p) => p.outputPath.endsWith('notify-warehouse/react.ts'));
380
380
 
381
381
  expect(reactFile?.contents).toContain("from '../../order-management/create-order/events'");
@@ -445,7 +445,7 @@ describe('handle.ts.ejs (react slice)', () => {
445
445
  ],
446
446
  };
447
447
 
448
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
448
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
449
449
  const reactFile = plans.find((p) => p.outputPath.endsWith('notify-on-external-event/react.ts'));
450
450
  const registerFile = plans.find((p) => p.outputPath.endsWith('notify-on-external-event/register.ts'));
451
451
  const specsFile = plans.find((p) => p.outputPath.endsWith('notify-on-external-event/react.specs.ts'));
@@ -553,7 +553,7 @@ describe('handle.ts.ejs (react slice)', () => {
553
553
  ],
554
554
  };
555
555
 
556
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
556
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
557
557
  const reactFile = plans.find((p) => p.outputPath.endsWith('adjust-inventory/react.ts'));
558
558
 
559
559
  expect(reactFile?.contents).toContain('inMemoryReactor<PaymentProcessed>');
@@ -183,7 +183,7 @@ describe('react.ts.ejs', () => {
183
183
  ],
184
184
  };
185
185
 
186
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
186
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
187
187
  const reactFile = plans.find((p) => p.outputPath.endsWith('send-order-confirmation/react.ts'));
188
188
  expect(reactFile?.contents).toBeDefined();
189
189
 
@@ -276,7 +276,7 @@ describe('react.ts.ejs', () => {
276
276
  ],
277
277
  };
278
278
 
279
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
279
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
280
280
 
281
281
  const reactFiles = plans.filter((p) => p.outputPath.includes('notify-barber-of-cancellation'));
282
282
  expect(reactFiles).toEqual([]);
@@ -394,7 +394,7 @@ describe('react.ts.ejs', () => {
394
394
  ],
395
395
  };
396
396
 
397
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
397
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
398
398
  const eventsFile = plans.find((p) => p.outputPath.endsWith('notify-barber-of-new-booking/events.ts'));
399
399
 
400
400
  expect(eventsFile?.contents).toMatchInlineSnapshot(`
@@ -228,7 +228,7 @@ describe('register.ts.ejs (react slice)', () => {
228
228
  ],
229
229
  };
230
230
 
231
- const plans = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
231
+ const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
232
232
  const registerFile = plans.find((p) => p.outputPath.endsWith('send-notification-to-host/register.ts'));
233
233
 
234
234
  expect(registerFile?.contents).toMatchInlineSnapshot(`
@@ -1,5 +1,6 @@
1
1
  import { type Command, type Event } from '@auto-engineer/message-bus';
2
2
  import type { Model, Narrative, Slice } from '@auto-engineer/narrative';
3
+ import { type DuplicateCommandInfo } from '../codegen/scaffoldFromSchema';
3
4
  type SliceDelta = {
4
5
  type: 'added' | 'removed' | 'changed';
5
6
  previous?: Record<string, unknown>;
@@ -46,15 +47,22 @@ export type SliceGeneratedEvent = Event<'SliceGenerated', {
46
47
  schemaPath: string;
47
48
  slicePath: string;
48
49
  }>;
49
- export type GenerateServerEvents = ServerGeneratedEvent | ServerGenerationFailedEvent | SliceGeneratedEvent;
50
+ export type SliceGenerationFailedEvent = Event<'SliceGenerationFailed', {
51
+ flowName: string;
52
+ sliceName: string;
53
+ sliceType: string;
54
+ error: string;
55
+ }>;
56
+ export type GenerateServerEvents = ServerGeneratedEvent | ServerGenerationFailedEvent | SliceGeneratedEvent | SliceGenerationFailedEvent;
50
57
  export declare const commandHandler: import("@auto-engineer/message-bus").CommandHandler;
51
58
  export declare function deriveModelPath(destination: string): string;
52
59
  export declare function writeModelToDisk(model: Model, destination: string): Promise<void>;
53
60
  export declare function cleanServerDir(serverDir: string): Promise<void>;
54
61
  export declare function writeHealthResolver(serverDir: string): Promise<void>;
55
62
  export declare function createSliceGeneratedEvent(flow: Narrative, slice: Slice, command: GenerateServerCommand): SliceGeneratedEvent;
56
- export declare function emitSliceGeneratedForAll(spec: Model, command: GenerateServerCommand, events: GenerateServerEvents[]): void;
57
- export declare function emitSliceGeneratedForAffected(spec: Model, affectedIds: Set<string>, command: GenerateServerCommand, events: GenerateServerEvents[]): void;
63
+ export declare function emitSliceGenerationFailedForDuplicates(duplicateCommands: DuplicateCommandInfo[], spec: Model, command: GenerateServerCommand, events: GenerateServerEvents[]): void;
64
+ export declare function emitSliceGeneratedForAll(spec: Model, command: GenerateServerCommand, events: GenerateServerEvents[], duplicateCommands?: DuplicateCommandInfo[]): void;
65
+ export declare function emitSliceGeneratedForAffected(spec: Model, affectedIds: Set<string>, command: GenerateServerCommand, events: GenerateServerEvents[], duplicateCommands?: DuplicateCommandInfo[]): void;
58
66
  export declare function handleGenerateServerCommandInternal(command: GenerateServerCommand): Promise<GenerateServerEvents[]>;
59
67
  export declare function writePackage(dest: string): Promise<void>;
60
68
  export declare function writeTsconfig(dest: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-server.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAexE,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpG;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,gBAAgB,EAChB;IACE,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,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;AAEH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvF;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrE;AAyED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB1E;AAwDD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,qBAAqB,GAC7B,mBAAmB,CAcrB;AAGD,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,oBAAoB,EAAE,GAC7B,IAAI,CAYN;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,KAAK,EACX,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,oBAAoB,EAAE,GAC7B,IAAI,CAWN;AAED,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAgEjC;AA8DD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmF9D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB/D;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWnE;AAED,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C/F;AAqBD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"generate-server.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-server.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { defineCommandHandler } from '@auto-engineer/message-bus';
6
6
  import createDebug from 'debug';
7
7
  import { execa } from 'execa';
8
8
  import fs from 'fs-extra';
9
- import { generateScaffoldFilePlans, writeScaffoldFilePlans } from '../codegen/scaffoldFromSchema.js';
9
+ import { generateScaffoldFilePlans, writeScaffoldFilePlans, } from '../codegen/scaffoldFromSchema.js';
10
10
  import { ensureDirExists, ensureDirPath, toKebabCase } from '../codegen/utils/path.js';
11
11
  const debug = createDebug('auto:server-generator-apollo-emmett');
12
12
  const debugFiles = createDebug('auto:server-generator-apollo-emmett:files');
@@ -30,6 +30,7 @@ export const commandHandler = defineCommandHandler({
30
30
  { name: 'ServerGenerated', displayName: 'Server Generated' },
31
31
  { name: 'ServerGenerationFailed', displayName: 'Server Generation Failed' },
32
32
  { name: 'SliceGenerated', displayName: 'Slice Generated' },
33
+ { name: 'SliceGenerationFailed', displayName: 'Slice Generation Failed' },
33
34
  ],
34
35
  fields: {
35
36
  model: {
@@ -97,7 +98,7 @@ async function generateAndWriteScaffold(spec, serverDir, affectedSliceIds) {
97
98
  debugScaffold('Generating scaffold file plans');
98
99
  debugScaffold(' Domain flows path: %s', domainFlowsPath);
99
100
  debugScaffold(' Number of flows: %d', spec.narratives?.length || 0);
100
- const filePlans = await generateScaffoldFilePlans(spec.narratives, spec.messages, spec.integrations, domainFlowsPath, affectedSliceIds);
101
+ const { plans: filePlans, duplicateCommands } = await generateScaffoldFilePlans(spec.narratives, spec.messages, spec.integrations, domainFlowsPath, affectedSliceIds);
101
102
  debugScaffold('Generated %d file plans', filePlans.length);
102
103
  if (filePlans.length > 0) {
103
104
  debugScaffold('Sample file paths:');
@@ -108,6 +109,7 @@ async function generateAndWriteScaffold(spec, serverDir, affectedSliceIds) {
108
109
  await writeScaffoldFilePlans(filePlans);
109
110
  debugScaffold('Written all scaffold files');
110
111
  await cleanStaleCompiledFiles(serverDir);
112
+ return duplicateCommands;
111
113
  }
112
114
  async function copyAllFiles(serverDir) {
113
115
  const packageDistRoot = path.resolve(__dirname, '../..');
@@ -195,8 +197,38 @@ export function createSliceGeneratedEvent(flow, slice, command) {
195
197
  correlationId: command.correlationId,
196
198
  };
197
199
  }
200
+ export function emitSliceGenerationFailedForDuplicates(duplicateCommands, spec, command, events) {
201
+ for (const dup of duplicateCommands) {
202
+ for (const flow of spec.narratives) {
203
+ for (const slice of flow.slices) {
204
+ if (slice.type !== 'command')
205
+ continue;
206
+ const gwtSpecs = slice.server?.specs;
207
+ if (!Array.isArray(gwtSpecs))
208
+ continue;
209
+ const hasCommand = gwtSpecs.some((spec) => spec.rules?.some((rule) => rule.examples?.some((ex) => ex.steps?.some((step) => step.keyword === 'When' && step.text === dup.command))));
210
+ if (hasCommand && (flow.name !== dup.existingFlow || slice.name !== dup.existingSlice)) {
211
+ const event = {
212
+ type: 'SliceGenerationFailed',
213
+ data: {
214
+ flowName: flow.name,
215
+ sliceName: slice.name,
216
+ sliceType: slice.type,
217
+ error: `Duplicate command handler: '${dup.command}' is already registered in ${dup.existingFlow}/${dup.existingSlice}`,
218
+ },
219
+ timestamp: new Date(),
220
+ requestId: command.requestId,
221
+ correlationId: command.correlationId,
222
+ };
223
+ events.push(event);
224
+ debug('SliceGenerationFailed: %s.%s - duplicate command %s', flow.name, slice.name, dup.command);
225
+ }
226
+ }
227
+ }
228
+ }
229
+ }
198
230
  // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: nested iteration over model structure is inherent to the task
199
- export function emitSliceGeneratedForAll(spec, command, events) {
231
+ export function emitSliceGeneratedForAll(spec, command, events, duplicateCommands = []) {
200
232
  if (Array.isArray(spec.narratives) && spec.narratives.length > 0) {
201
233
  for (const flow of spec.narratives) {
202
234
  if (Array.isArray(flow.slices) && flow.slices.length > 0) {
@@ -209,8 +241,9 @@ export function emitSliceGeneratedForAll(spec, command, events) {
209
241
  }
210
242
  }
211
243
  }
244
+ emitSliceGenerationFailedForDuplicates(duplicateCommands, spec, command, events);
212
245
  }
213
- export function emitSliceGeneratedForAffected(spec, affectedIds, command, events) {
246
+ export function emitSliceGeneratedForAffected(spec, affectedIds, command, events, duplicateCommands = []) {
214
247
  for (const flow of spec.narratives) {
215
248
  for (const slice of flow.slices) {
216
249
  if (slice.type === 'experience')
@@ -222,6 +255,7 @@ export function emitSliceGeneratedForAffected(spec, affectedIds, command, events
222
255
  }
223
256
  }
224
257
  }
258
+ emitSliceGenerationFailedForDuplicates(duplicateCommands, spec, command, events);
225
259
  }
226
260
  export async function handleGenerateServerCommandInternal(command) {
227
261
  const { model, destination, changeSet, isFirstRun, newState } = command.data;
@@ -242,8 +276,8 @@ export async function handleGenerateServerCommandInternal(command) {
242
276
  debug('Full generation mode');
243
277
  await cleanServerDir(serverDir);
244
278
  await copyAllFiles(serverDir);
245
- await generateAndWriteScaffold(spec, serverDir);
246
- emitSliceGeneratedForAll(spec, command, events);
279
+ const duplicateCommands = await generateAndWriteScaffold(spec, serverDir);
280
+ emitSliceGeneratedForAll(spec, command, events, duplicateCommands);
247
281
  await writeConfigurationFiles(serverDir, absDest);
248
282
  debugDeps('Installing dependencies and generating GraphQL schema...');
249
283
  await installDependenciesAndGenerateSchema(serverDir, absDest);
@@ -261,8 +295,8 @@ export async function handleGenerateServerCommandInternal(command) {
261
295
  }
262
296
  await copyAllFiles(serverDir);
263
297
  const affectedIds = new Set(changeSet.allAffected);
264
- await generateAndWriteScaffold(spec, serverDir, affectedIds);
265
- emitSliceGeneratedForAffected(spec, affectedIds, command, events);
298
+ const duplicateCommands = await generateAndWriteScaffold(spec, serverDir, affectedIds);
299
+ emitSliceGeneratedForAffected(spec, affectedIds, command, events, duplicateCommands);
266
300
  await writeConfigurationFiles(serverDir, absDest);
267
301
  debugDeps('Installing dependencies and generating GraphQL schema...');
268
302
  await installDependenciesAndGenerateSchema(serverDir, absDest);
@@ -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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"}