@auto-engineer/server-generator-apollo-emmett 1.104.0 → 1.105.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 (41) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +6 -6
  3. package/.turbo/turbo-type-check.log +1 -1
  4. package/CHANGELOG.md +66 -0
  5. package/dist/src/codegen/scaffoldFromSchema.d.ts +10 -0
  6. package/dist/src/codegen/scaffoldFromSchema.d.ts.map +1 -1
  7. package/dist/src/codegen/scaffoldFromSchema.js +55 -20
  8. package/dist/src/codegen/scaffoldFromSchema.js.map +1 -1
  9. package/dist/src/codegen/templates/command/decide.specs.ts +16 -4
  10. package/dist/src/codegen/templates/command/decide.ts.ejs +4 -1
  11. package/dist/src/codegen/templates/command/evolve.specs.ts +16 -15
  12. package/dist/src/codegen/templates/command/evolve.ts.ejs +16 -15
  13. package/dist/src/codegen/templates/command/handle.specs.ts +146 -0
  14. package/dist/src/codegen/templates/command/handle.ts.ejs +21 -1
  15. package/dist/src/codegen/templates/query/projection.specs.ts +4 -1
  16. package/dist/src/codegen/templates/query/projection.ts.ejs +7 -1
  17. package/dist/src/codegen/templates/react/react.specs.specs.ts +0 -32
  18. package/dist/src/codegen/templates/react/react.ts.specs.ts +0 -49
  19. package/dist/src/commands/generate-server.d.ts +4 -0
  20. package/dist/src/commands/generate-server.d.ts.map +1 -1
  21. package/dist/src/commands/generate-server.js +37 -3
  22. package/dist/src/commands/generate-server.js.map +1 -1
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/ketchup-plan.md +2 -0
  25. package/package.json +4 -4
  26. package/src/codegen/formatTsValue.specs.ts +12 -0
  27. package/src/codegen/formatTsValueSimple.specs.ts +1 -1
  28. package/src/codegen/scaffoldErrors.specs.ts +40 -0
  29. package/src/codegen/scaffoldFromSchema.ts +70 -31
  30. package/src/codegen/templates/command/decide.specs.ts +16 -4
  31. package/src/codegen/templates/command/decide.ts.ejs +4 -1
  32. package/src/codegen/templates/command/evolve.specs.ts +16 -15
  33. package/src/codegen/templates/command/evolve.ts.ejs +16 -15
  34. package/src/codegen/templates/command/handle.specs.ts +146 -0
  35. package/src/codegen/templates/command/handle.ts.ejs +21 -1
  36. package/src/codegen/templates/query/projection.specs.ts +4 -1
  37. package/src/codegen/templates/query/projection.ts.ejs +7 -1
  38. package/src/codegen/templates/react/react.specs.specs.ts +0 -32
  39. package/src/codegen/templates/react/react.ts.specs.ts +0 -49
  40. package/src/commands/generate-server.specs.ts +71 -0
  41. package/src/commands/generate-server.ts +45 -2
@@ -1,5 +1,5 @@
1
1
 
2
- > @auto-engineer/server-generator-apollo-emmett@1.104.0 build /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
2
+ > @auto-engineer/server-generator-apollo-emmett@1.105.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/
@@ -1,14 +1,14 @@
1
1
 
2
- > @auto-engineer/server-generator-apollo-emmett@1.103.0 test /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
2
+ > @auto-engineer/server-generator-apollo-emmett@1.104.0 test /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
3
3
  > vitest run --reporter=dot
4
4
 
5
5
 
6
6
   RUN  v3.2.4 /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
7
7
 
8
- ······················································································································································································································-···················
8
+ ·····························································································································································································································-·····················
9
9
 
10
-  Test Files  32 passed | 1 skipped (33)
11
-  Tests  233 passed | 1 skipped (234)
12
-  Start at  17:01:54
13
-  Duration  30.36s (transform 5.92s, setup 0ms, collect 63.92s, tests 13.12s, environment 7ms, prepare 5.50s)
10
+  Test Files  33 passed | 1 skipped (34)
11
+  Tests  242 passed | 1 skipped (243)
12
+  Start at  20:35:20
13
+  Duration  39.08s (transform 5.65s, setup 0ms, collect 78.40s, tests 20.17s, environment 13ms, prepare 7.02s)
14
14
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @auto-engineer/server-generator-apollo-emmett@1.103.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
2
+ > @auto-engineer/server-generator-apollo-emmett@1.104.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
3
3
  > tsc --noEmit --project tsconfig.json
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,71 @@
1
1
  # @auto-engineer/server-generator-apollo-emmett
2
2
 
3
+ ## 1.105.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`757b847`](https://github.com/BeOnAuto/auto-engineer/commit/757b847511f6b4a6d3b585bf02a45bce70c6c29c) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: add target() builder factory for target-only event items
8
+
9
+ - [`057c6e5`](https://github.com/BeOnAuto/auto-engineer/commit/057c6e56e45e63158708cb05c5dda3b6ca863a92) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: generate target().event() calls in flow code generator
10
+
11
+ - [`ae3527b`](https://github.com/BeOnAuto/auto-engineer/commit/ae3527b42a82a794763109082e539681fd0d289a) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: pass flowName/sliceName/sliceType in ServerGenerationFailed bug report
12
+
13
+ - [`0888604`](https://github.com/BeOnAuto/auto-engineer/commit/0888604e72107d5790c7b72eaa5213588e39aa4a) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **generate-react-client**: replace merge with component-parser
14
+ - **component-parser**: parseManifestComponents deduplicates and parses component paths
15
+ - **component-parser**: add Card.tsx tests verifying pure HTML wrappers have empty props
16
+ - **component-parser**: add Carousel.tsx tests for separate type def and custom prop survival
17
+ - **component-parser**: parseComponentFile extracts Button props
18
+
19
+ - [`b3583e3`](https://github.com/BeOnAuto/auto-engineer/commit/b3583e35a52c4d311bd04b3df4a8c34e856b4f3c) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: add error classes with cause chain for scaffold failures
20
+
21
+ - [`048b477`](https://github.com/BeOnAuto/auto-engineer/commit/048b4774960e2e186599ebc1c7654285677fd05b) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: enrich ServerGenerationFailed with cause-chain context
22
+
23
+ - [`81188d6`](https://github.com/BeOnAuto/auto-engineer/commit/81188d6b9bc51761a9bc52eef211bde3cc49fcc9) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: add DataTargetSchema for target-only event items
24
+
25
+ ### Patch Changes
26
+
27
+ - [`933d724`](https://github.com/BeOnAuto/auto-engineer/commit/933d724c2348048116e173d056ddfe54a9ddfa65) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: fix decide default case + add union narrowing guidance
28
+
29
+ - [`8c6ea86`](https://github.com/BeOnAuto/auto-engineer/commit/8c6ea861fd7c43331de117abca84dff23e3424ff) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: use EntityData indexed access for singleton \_entities typing
30
+ - **server-generator-apollo-emmett**: remove misleading Command targets from react DT test fixtures
31
+ - **server-generator-apollo-emmett**: strengthen evolve template TODO and implementer guidance
32
+ - **server-generator-apollo-emmett**: return 0 for non-numeric values in number type formatter
33
+ - **server-implementer**: add strict array/object typing rules to prompts
34
+
35
+ - [`8dbc585`](https://github.com/BeOnAuto/auto-engineer/commit/8dbc5852bd4a1fa09d3290970a802d17937614ed) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: finalize ketchup plan for DataTarget feature
36
+
37
+ - [`767d3d6`](https://github.com/BeOnAuto/auto-engineer/commit/767d3d629dcc889eee15be8922d146f90edc5e8d) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: strengthen evolve template TODO and implementer guidance
38
+
39
+ - [`ee6f943`](https://github.com/BeOnAuto/auto-engineer/commit/ee6f943e8063104b37ad7bb7d566c1bbcd683176) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: move discriminant rules from system prompts to templates
40
+
41
+ - [`049c2be`](https://github.com/BeOnAuto/auto-engineer/commit/049c2bea133f3e180340e617b5cb29044a484043) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: ketchup plan for DataTarget schema feature
42
+
43
+ - [`0573d9c`](https://github.com/BeOnAuto/auto-engineer/commit/0573d9c3cadb0644c3763e8ff5a6e93cc097e149) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: mark bursts 29-30 done in ketchup plan
44
+
45
+ - [`61f720c`](https://github.com/BeOnAuto/auto-engineer/commit/61f720cd00902678ef87cc601ba55122a91b1583) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: move discriminant rules from system prompts to templates
46
+ - **server-generator-apollo-emmett**: use EntityData indexed access for singleton \_entities typing
47
+ - **server-generator-apollo-emmett**: remove misleading Command targets from react DT test fixtures
48
+ - **server-generator-apollo-emmett**: strengthen evolve template TODO and implementer guidance
49
+ - **server-generator-apollo-emmett**: return 0 for non-numeric values in number type formatter
50
+
51
+ - [`5a97de3`](https://github.com/BeOnAuto/auto-engineer/commit/5a97de3c314256bb98312c120bca009e8cb4ef22) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: add stream guard for multi-command slices
52
+
53
+ - [`c62ffe2`](https://github.com/BeOnAuto/auto-engineer/commit/c62ffe2636977f552c9147f7be55b8c0e89e5302) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: remove misleading Command targets from react DT test fixtures
54
+
55
+ - [`cb39fea`](https://github.com/BeOnAuto/auto-engineer/commit/cb39fea922ebd6b8b21fdd735daadba04c845372) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: mark bursts 27-28 done in ketchup plan
56
+
57
+ - [`7b21d43`](https://github.com/BeOnAuto/auto-engineer/commit/7b21d43806e395ce5efd558cf0897fe35015f749) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-implementer**: add strict array/object typing rules to prompts
58
+
59
+ - [`db4a3c3`](https://github.com/BeOnAuto/auto-engineer/commit/db4a3c310f15d148ac15a10e8001b17e6c5cfb27) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **component-parser**: memoize buildHtmlPropSet per Project to fix CI timeout
60
+
61
+ - [`472ce61`](https://github.com/BeOnAuto/auto-engineer/commit/472ce619aa8ecb6926316e3232010b8b162112e0) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: bump tsconfig lib for Error.cause support
62
+
63
+ - [`f151090`](https://github.com/BeOnAuto/auto-engineer/commit/f1510900832e08508a319f9f85638c32e7ef86cb) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: return 0 for non-numeric values in number type formatter
64
+
65
+ - Updated dependencies [[`757b847`](https://github.com/BeOnAuto/auto-engineer/commit/757b847511f6b4a6d3b585bf02a45bce70c6c29c), [`057c6e5`](https://github.com/BeOnAuto/auto-engineer/commit/057c6e56e45e63158708cb05c5dda3b6ca863a92), [`ae3527b`](https://github.com/BeOnAuto/auto-engineer/commit/ae3527b42a82a794763109082e539681fd0d289a), [`0888604`](https://github.com/BeOnAuto/auto-engineer/commit/0888604e72107d5790c7b72eaa5213588e39aa4a), [`933d724`](https://github.com/BeOnAuto/auto-engineer/commit/933d724c2348048116e173d056ddfe54a9ddfa65), [`b3583e3`](https://github.com/BeOnAuto/auto-engineer/commit/b3583e35a52c4d311bd04b3df4a8c34e856b4f3c), [`8c6ea86`](https://github.com/BeOnAuto/auto-engineer/commit/8c6ea861fd7c43331de117abca84dff23e3424ff), [`8dbc585`](https://github.com/BeOnAuto/auto-engineer/commit/8dbc5852bd4a1fa09d3290970a802d17937614ed), [`048b477`](https://github.com/BeOnAuto/auto-engineer/commit/048b4774960e2e186599ebc1c7654285677fd05b), [`767d3d6`](https://github.com/BeOnAuto/auto-engineer/commit/767d3d629dcc889eee15be8922d146f90edc5e8d), [`ee6f943`](https://github.com/BeOnAuto/auto-engineer/commit/ee6f943e8063104b37ad7bb7d566c1bbcd683176), [`049c2be`](https://github.com/BeOnAuto/auto-engineer/commit/049c2bea133f3e180340e617b5cb29044a484043), [`0573d9c`](https://github.com/BeOnAuto/auto-engineer/commit/0573d9c3cadb0644c3763e8ff5a6e93cc097e149), [`61f720c`](https://github.com/BeOnAuto/auto-engineer/commit/61f720cd00902678ef87cc601ba55122a91b1583), [`5a97de3`](https://github.com/BeOnAuto/auto-engineer/commit/5a97de3c314256bb98312c120bca009e8cb4ef22), [`c62ffe2`](https://github.com/BeOnAuto/auto-engineer/commit/c62ffe2636977f552c9147f7be55b8c0e89e5302), [`81188d6`](https://github.com/BeOnAuto/auto-engineer/commit/81188d6b9bc51761a9bc52eef211bde3cc49fcc9), [`cb39fea`](https://github.com/BeOnAuto/auto-engineer/commit/cb39fea922ebd6b8b21fdd735daadba04c845372), [`7b21d43`](https://github.com/BeOnAuto/auto-engineer/commit/7b21d43806e395ce5efd558cf0897fe35015f749), [`db4a3c3`](https://github.com/BeOnAuto/auto-engineer/commit/db4a3c310f15d148ac15a10e8001b17e6c5cfb27), [`472ce61`](https://github.com/BeOnAuto/auto-engineer/commit/472ce619aa8ecb6926316e3232010b8b162112e0), [`f151090`](https://github.com/BeOnAuto/auto-engineer/commit/f1510900832e08508a319f9f85638c32e7ef86cb)]:
66
+ - @auto-engineer/message-bus@1.105.0
67
+ - @auto-engineer/narrative@1.105.0
68
+
3
69
  ## 1.104.0
4
70
 
5
71
  ### Minor Changes
@@ -1,5 +1,15 @@
1
1
  import type { Model, Narrative } from '@auto-engineer/narrative';
2
2
  import type { MessageDefinition } from './types';
3
+ export declare class TemplateRenderError extends Error {
4
+ readonly templateFile: string;
5
+ constructor(templateFile: string, cause: unknown);
6
+ }
7
+ export declare class ScaffoldError extends Error {
8
+ readonly flowName: string;
9
+ readonly sliceName: string;
10
+ readonly sliceType: string;
11
+ constructor(flowName: string, sliceName: string, sliceType: string, cause: unknown);
12
+ }
3
13
  export interface EnumDefinition {
4
14
  name: string;
5
15
  values: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"scaffoldFromSchema.d.ts","sourceRoot":"","sources":["../../../src/codegen/scaffoldFromSchema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAS,MAAM,0BAA0B,CAAC;AA4CxE,OAAO,KAAK,EAAyB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAkBxE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AA6ID,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,CAOvE;AAqBD,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;IAC1C,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AA0JD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAe1E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAkBvD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAuCpE;AAqDD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAC/D,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC9C,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;CAAE,CAAC,CAsB9D;AAkID,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAyBrH;AAwID,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3B,YAAY,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,EACpC,OAAO,SAAqB,EAC5B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC7B,OAAO,CAAC,cAAc,CAAC,CA2EzB;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAkB7D;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3B,OAAO,SAAqB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAWf"}
1
+ {"version":3,"file":"scaffoldFromSchema.d.ts","sourceRoot":"","sources":["../../../src/codegen/scaffoldFromSchema.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,22 @@ import { baseTs, buildCommandGwtMapping, buildQueryGwtMapping, createCollectEnum
18
18
  import { getStreamFromSink } from './extract/data-sink.js';
19
19
  import { normalizeSliceForTemplate } from './extract/slice-normalizer.js';
20
20
  import { extractGwtSpecsFromSlice } from './extract/step-converter.js';
21
+ export class TemplateRenderError extends Error {
22
+ constructor(templateFile, cause) {
23
+ super(`Template render failed: ${templateFile}`, { cause });
24
+ this.name = 'TemplateRenderError';
25
+ this.templateFile = templateFile;
26
+ }
27
+ }
28
+ export class ScaffoldError extends Error {
29
+ constructor(flowName, sliceName, sliceType, cause) {
30
+ super(`Scaffold failed for ${flowName}/${sliceName} (${sliceType})`, { cause });
31
+ this.name = 'ScaffoldError';
32
+ this.flowName = flowName;
33
+ this.sliceName = sliceName;
34
+ this.sliceType = sliceType;
35
+ }
36
+ }
21
37
  const defaultFilesByType = {
22
38
  command: [
23
39
  'commands.ts.ejs',
@@ -324,7 +340,16 @@ export function formatTsValueSimple(value, tsType) {
324
340
  return JSON.stringify(typeof value === 'string' ? value : String(value));
325
341
  }
326
342
  if (tsType === 'number') {
327
- return String(value);
343
+ if (typeof value === 'number')
344
+ return String(value);
345
+ if (typeof value === 'string') {
346
+ const s = value.trim();
347
+ if (s === '')
348
+ return '0';
349
+ const num = Number(s);
350
+ return Number.isNaN(num) ? '0' : String(num);
351
+ }
352
+ return '0';
328
353
  }
329
354
  if (tsType === 'boolean') {
330
355
  return value === true || value === 'true' ? 'true' : 'false';
@@ -406,21 +431,26 @@ async function generateFileForTemplate(templateFile, slice, sliceDir, templateDa
406
431
  const outputPath = path.join(sliceDir, fileName);
407
432
  debugFiles(' Template path: %s', templatePath);
408
433
  debugFiles(' Output path: %s', outputPath);
409
- const contents = await renderTemplate(templatePath, templateData, unionToEnumName);
410
- debugFiles(' Rendered content size: %d bytes', contents.length);
411
- debugFiles(' Formatting with Prettier...');
412
- const formattedContents = await prettier.format(contents, {
413
- parser: 'typescript',
414
- filepath: outputPath,
415
- singleQuote: true,
416
- trailingComma: 'all',
417
- printWidth: 120,
418
- tabWidth: 2,
419
- });
420
- debugFiles(' Formatted content size: %d bytes', formattedContents.length);
421
- const plan = { outputPath, contents: formattedContents };
422
- debugFiles(' File plan created for: %s', fileName);
423
- return plan;
434
+ try {
435
+ const contents = await renderTemplate(templatePath, templateData, unionToEnumName);
436
+ debugFiles(' Rendered content size: %d bytes', contents.length);
437
+ debugFiles(' Formatting with Prettier...');
438
+ const formattedContents = await prettier.format(contents, {
439
+ parser: 'typescript',
440
+ filepath: outputPath,
441
+ singleQuote: true,
442
+ trailingComma: 'all',
443
+ printWidth: 120,
444
+ tabWidth: 2,
445
+ });
446
+ debugFiles(' Formatted content size: %d bytes', formattedContents.length);
447
+ const plan = { outputPath, contents: formattedContents };
448
+ debugFiles(' File plan created for: %s', fileName);
449
+ return plan;
450
+ }
451
+ catch (error) {
452
+ throw new TemplateRenderError(templateFile, error);
453
+ }
424
454
  }
425
455
  export function resolveReferencedMessageTypes(fields, messagesByName, visited) {
426
456
  const seen = visited ?? new Set();
@@ -687,10 +717,15 @@ export async function generateScaffoldFilePlans(flows, messages, integrations, b
687
717
  debugFlow(' Processing slice: %s (type: %s)', slice.name, slice.type);
688
718
  const sliceDir = ensureDirPath(flowDir, toKebabCase(slice.name));
689
719
  debugFlow(' Slice directory: %s', sliceDir);
690
- const { plans, duplicateCommands } = await generateFilesForSlice(slice, flow, sliceDir, sanitizedMessages, flows, unionToEnumName, integrations, registeredCommands);
691
- debugFlow(' Generated %d plans for slice', plans.length);
692
- allPlans.push(...plans);
693
- allDuplicateCommands.push(...duplicateCommands);
720
+ try {
721
+ const { plans, duplicateCommands } = await generateFilesForSlice(slice, flow, sliceDir, sanitizedMessages, flows, unionToEnumName, integrations, registeredCommands);
722
+ debugFlow(' Generated %d plans for slice', plans.length);
723
+ allPlans.push(...plans);
724
+ allDuplicateCommands.push(...duplicateCommands);
725
+ }
726
+ catch (error) {
727
+ throw new ScaffoldError(flow.name, slice.name, slice.type, error);
728
+ }
694
729
  }
695
730
  debugFlow(' Completed flow: %s', flow.name);
696
731
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scaffoldFromSchema.js","sourceRoot":"","sources":["../../../src/codegen/scaffoldFromSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffoldFromSchema.js","sourceRoot":"","sources":["../../../src/codegen/scaffoldFromSchema.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,9 @@ describe('decide.ts.ejs', () => {
97
97
  * You should:
98
98
  * - Validate the command input fields
99
99
  * - Inspect the current domain \`_state\` to determine if the command is allowed
100
+ * - If State is a discriminated union, NEVER use \`as any\` to bypass type checking.
101
+ * Narrow with the discriminant: \`if (_state.status !== 'active') throw new IllegalStateError('...');\`
102
+ * After narrowing, access variant fields directly — TypeScript infers the correct type.
100
103
  * - If invalid, throw one of the following domain errors: \`IllegalStateError\`
101
104
  * ⚠️ Error constructors: IllegalStateError takes a string message
102
105
  * - If valid, return one or more events with the correct structure
@@ -117,7 +120,7 @@ describe('decide.ts.ejs', () => {
117
120
  throw new IllegalStateError('Not yet implemented: ' + command.type);
118
121
  }
119
122
  default:
120
- throw new IllegalStateError(\`Unexpected command type: \${String(command.type)}\`);
123
+ throw new IllegalStateError('Unexpected command type');
121
124
  }
122
125
  };
123
126
  "
@@ -232,6 +235,9 @@ describe('decide.ts.ejs', () => {
232
235
  * You should:
233
236
  * - Validate the command input fields
234
237
  * - Inspect the current domain \`_state\` to determine if the command is allowed
238
+ * - If State is a discriminated union, NEVER use \`as any\` to bypass type checking.
239
+ * Narrow with the discriminant: \`if (_state.status !== 'active') throw new IllegalStateError('...');\`
240
+ * After narrowing, access variant fields directly — TypeScript infers the correct type.
235
241
  * - If invalid, throw one of the following domain errors: \`IllegalStateError\`
236
242
  * ⚠️ Error constructors: IllegalStateError takes a string message
237
243
  * - If valid, return one or more events with the correct structure
@@ -258,7 +264,7 @@ describe('decide.ts.ejs', () => {
258
264
  throw new IllegalStateError('Not yet implemented: ' + command.type);
259
265
  }
260
266
  default:
261
- throw new IllegalStateError(\`Unexpected command type: \${String(command.type)}\`);
267
+ throw new IllegalStateError('Unexpected command type');
262
268
  }
263
269
  };
264
270
  "
@@ -393,6 +399,9 @@ describe('decide.ts.ejs', () => {
393
399
  * You should:
394
400
  * - Validate the command input fields
395
401
  * - Inspect the current domain \`_state\` to determine if the command is allowed
402
+ * - If State is a discriminated union, NEVER use \`as any\` to bypass type checking.
403
+ * Narrow with the discriminant: \`if (_state.status !== 'active') throw new IllegalStateError('...');\`
404
+ * After narrowing, access variant fields directly — TypeScript infers the correct type.
396
405
  * - If invalid, throw one of the following domain errors: \`IllegalStateError\`, \`ValidationError\`
397
406
  * ⚠️ Error constructors: IllegalStateError takes a string message, ValidationError takes a string message
398
407
  * - If valid, return one or more events with the correct structure
@@ -417,7 +426,7 @@ describe('decide.ts.ejs', () => {
417
426
  throw new IllegalStateError('Not yet implemented: ' + command.type);
418
427
  }
419
428
  default:
420
- throw new IllegalStateError(\`Unexpected command type: \${String(command.type)}\`);
429
+ throw new IllegalStateError('Unexpected command type');
421
430
  }
422
431
  };
423
432
  "
@@ -592,6 +601,9 @@ describe('decide.ts.ejs', () => {
592
601
  * You should:
593
602
  * - Validate the command input fields
594
603
  * - Inspect the current domain \`_state\` to determine if the command is allowed
604
+ * - If State is a discriminated union, NEVER use \`as any\` to bypass type checking.
605
+ * Narrow with the discriminant: \`if (_state.status !== 'active') throw new IllegalStateError('...');\`
606
+ * After narrowing, access variant fields directly — TypeScript infers the correct type.
595
607
  * - Use \`products\` (integration result) to enrich or filter the output
596
608
  * - If invalid, throw one of the following domain errors: \`IllegalStateError\`
597
609
  * ⚠️ Error constructors: IllegalStateError takes a string message
@@ -627,7 +639,7 @@ describe('decide.ts.ejs', () => {
627
639
  throw new IllegalStateError('Not yet implemented: ' + command.type);
628
640
  }
629
641
  default:
630
- throw new IllegalStateError(\`Unexpected command type: \${String(command.type)}\`);
642
+ throw new IllegalStateError('Unexpected command type');
631
643
  }
632
644
  };
633
645
  "
@@ -61,6 +61,9 @@ case '<%= command %>': {
61
61
  * You should:
62
62
  * - Validate the command input fields
63
63
  * - Inspect the current domain `_state` to determine if the command is allowed
64
+ * - If State is a discriminated union, NEVER use `as any` to bypass type checking.
65
+ * Narrow with the discriminant: `if (_state.status !== 'active') throw new IllegalStateError('...');`
66
+ * After narrowing, access variant fields directly — TypeScript infers the correct type.
64
67
  <% if (integrationReturnType) { -%>
65
68
  * - Use `<%= camelCase(integrationReturnType) %>` (integration result) to enrich or filter the output
66
69
  <% } -%>
@@ -132,6 +135,6 @@ throw new IllegalStateError('Not yet implemented: ' + command.type);
132
135
  }
133
136
  <% } -%>
134
137
  default:
135
- throw new IllegalStateError(`Unexpected command type: ${String(command.type)}`);
138
+ throw new IllegalStateError('Unexpected command type');
136
139
  }
137
140
  };
@@ -87,27 +87,28 @@ describe('evolve.ts.ejs', () => {
87
87
  /**
88
88
  * ## IMPLEMENTATION INSTRUCTIONS ##
89
89
  *
90
- * This function defines how the domain state evolves in response to events.
90
+ * Evolve domain state in response to events.
91
+ * Only track fields needed for future decisions in decide.ts.
91
92
  *
92
- * Guidelines:
93
- * - Apply only the **minimal** necessary changes for future decisions in \`decide.ts\`.
94
- * - Ignore any event fields not required for decision-making logic.
95
- * - If the event doesn’t change decision-relevant state, return the existing \`state\`.
96
- * - Prefer immutability: always return a **new state object**.
97
- * - Avoid spreading all of \`event.data\` unless all fields are relevant.
98
- * - If State is a discriminated union (e.g., NotInitialized | Initialized),
99
- * always include the discriminant field (e.g., \`status\`) in return values.
100
- * Do NOT spread \`...state\` and add variant-specific fields — construct a complete object:
101
- * \`return { status: 'initialized', field: event.data.field };\`
93
+ * RULES:
94
+ * - Return a new object literal for state transitions.
95
+ * For no-op (event doesn’t affect state), return the existing \`state\`.
96
+ * - If State is a discriminated union (check state.ts), EVERY return
97
+ * MUST include the discriminant field as a string literal.
98
+ * Example: \`return { status: ‘active’, field: event.data.field };\`
99
+ * - NEVER spread ...event.data or ...state list each field explicitly.
100
+ *
101
+ * VERIFY before finalizing:
102
+ * [ ] Every return (except \`return state;\`) matches a variant from state.ts
103
+ * [ ] Every return includes the discriminant field
104
+ * [ ] No spread operators in return statements
102
105
  */
103
106
 
104
107
  export const evolve = (state: State, event: ListingCreated): State => {
105
108
  switch (event.type) {
106
109
  case 'ListingCreated': {
107
- // TODO: Update state based on ListingCreated
108
- return {
109
- ...state,
110
- };
110
+ // TODO: Return { status: 'variant', field1: ..., field2: ... } matching state.ts.
111
+ return state;
111
112
  }
112
113
  default:
113
114
  return state;
@@ -7,18 +7,21 @@
7
7
  /**
8
8
  * ## IMPLEMENTATION INSTRUCTIONS ##
9
9
  *
10
- * This function defines how the domain state evolves in response to events.
10
+ * Evolve domain state in response to events.
11
+ * Only track fields needed for future decisions in decide.ts.
11
12
  *
12
- * Guidelines:
13
- * - Apply only the **minimal** necessary changes for future decisions in `decide.ts`.
14
- * - Ignore any event fields not required for decision-making logic.
15
- * - If the event doesn’t change decision-relevant state, return the existing `state`.
16
- * - Prefer immutability: always return a **new state object**.
17
- * - Avoid spreading all of `event.data` unless all fields are relevant.
18
- * - If State is a discriminated union (e.g., NotInitialized | Initialized),
19
- * always include the discriminant field (e.g., `status`) in return values.
20
- * Do NOT spread `...state` and add variant-specific fields — construct a complete object:
21
- * `return { status: 'initialized', field: event.data.field };`
13
+ * RULES:
14
+ * - Return a new object literal for state transitions.
15
+ * For no-op (event doesn’t affect state), return the existing `state`.
16
+ * - If State is a discriminated union (check state.ts), EVERY return
17
+ * MUST include the discriminant field as a string literal.
18
+ * Example: `return { status: ‘active’, field: event.data.field };`
19
+ * - NEVER spread ...event.data or ...state list each field explicitly.
20
+ *
21
+ * VERIFY before finalizing:
22
+ * [ ] Every return (except `return state;`) matches a variant from state.ts
23
+ * [ ] Every return includes the discriminant field
24
+ * [ ] No spread operators in return statements
22
25
  */
23
26
 
24
27
  export const evolve = (
@@ -28,10 +31,8 @@
28
31
  switch (event.type) {
29
32
  <% events.forEach(event => { -%>
30
33
  case '<%= event.type %>': {
31
- // TODO: Update state based on <%= event.type %>
32
- return {
33
- ...state
34
- };
34
+ // TODO: Return { status: 'variant', field1: ..., field2: ... } matching state.ts.
35
+ return state;
35
36
  }
36
37
  <% }); -%>
37
38
  default: