@auto-engineer/server-implementer 1.88.0 → 1.90.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@1.88.0 build /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
2
+ > @auto-engineer/server-implementer@1.90.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/
@@ -1,5 +1,5 @@
1
1
 
2
- > @auto-engineer/server-implementer@1.87.0 test /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
2
+ > @auto-engineer/server-implementer@1.89.0 test /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
3
3
  > vitest run --reporter=dot
4
4
 
5
5
 
@@ -9,6 +9,6 @@
9
9
 
10
10
   Test Files  2 passed (2)
11
11
   Tests  18 passed (18)
12
-  Start at  11:44:41
13
-  Duration  10.58s (transform 1.07s, setup 0ms, collect 16.28s, tests 305ms, environment 17ms, prepare 1.32s)
12
+  Start at  00:22:09
13
+  Duration  12.53s (transform 2.78s, setup 0ms, collect 17.86s, tests 447ms, environment 1ms, prepare 1.68s)
14
14
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @auto-engineer/server-implementer@1.87.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
2
+ > @auto-engineer/server-implementer@1.89.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
3
3
  > tsc --noEmit
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,95 @@
1
1
  # @auto-engineer/server-implementer
2
2
 
3
+ ## 1.90.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`090369e`](https://github.com/BeOnAuto/auto-engineer/commit/090369eb6c4a788a051851d93ad78e147f0ffa15) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **server-generator-apollo-emmett**: filter event And-steps from react Then items
8
+ - **narrative**: export validateSliceRequests and add integration tests
9
+ - **narrative**: add nested field validation for query slice requests
10
+ - **narrative**: add query validation for operation type, state, and top-level fields
11
+ - **narrative**: add mutation validation to validate-slice-requests
12
+
13
+ ### Patch Changes
14
+
15
+ - [`3311f9b`](https://github.com/BeOnAuto/auto-engineer/commit/3311f9bdbc2e133f094a054f1526f653886302ab) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - Standardized formatting and improved code readability in the create-auto-app package
16
+
17
+ - Updated dependencies [[`3311f9b`](https://github.com/BeOnAuto/auto-engineer/commit/3311f9bdbc2e133f094a054f1526f653886302ab), [`090369e`](https://github.com/BeOnAuto/auto-engineer/commit/090369eb6c4a788a051851d93ad78e147f0ffa15)]:
18
+ - @auto-engineer/message-bus@1.90.0
19
+ - @auto-engineer/model-factory@1.90.0
20
+
21
+ ## 1.89.0
22
+
23
+ ### Minor Changes
24
+
25
+ - [`93ff5a5`](https://github.com/BeOnAuto/auto-engineer/commit/93ff5a559f087bb875b2b1e165713e1dc6fbea5b) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: embed instructions in scaffold templates
26
+
27
+ - [`514525d`](https://github.com/BeOnAuto/auto-engineer/commit/514525d0ae9542693fc44e6922fd0c31d229c8c9) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: export validateSliceRequests and add integration tests
28
+
29
+ - [`7af6ae4`](https://github.com/BeOnAuto/auto-engineer/commit/7af6ae46d50a7115da047d07824a4d3e4983338f) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: add nested field validation for query slice requests
30
+
31
+ - [`971394a`](https://github.com/BeOnAuto/auto-engineer/commit/971394ad8d47faad27acf6c4fa82d11010568cda) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: type-annotate aggregateStream + dynamic error listing
32
+
33
+ - [`dbfbe69`](https://github.com/BeOnAuto/auto-engineer/commit/dbfbe69e5fc1efb8a65df1d3d480b36c9666b95a) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: add validate-slice-requests skeleton with parse safety
34
+
35
+ - [`d7b3af9`](https://github.com/BeOnAuto/auto-engineer/commit/d7b3af912b1e9f7e4f0bfc91b65768341f87229c) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: add query validation for operation type, state, and top-level fields
36
+
37
+ - [`a36fc79`](https://github.com/BeOnAuto/auto-engineer/commit/a36fc79f40d236b49983574a7f8607e9028e3daf) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: filter linking field to primitive types only
38
+
39
+ - [`73ef7b1`](https://github.com/BeOnAuto/auto-engineer/commit/73ef7b1f2818e72cc5b1cc77400f44ed948e0d39) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: filter event And-steps from react Then items
40
+
41
+ - [`ea41643`](https://github.com/BeOnAuto/auto-engineer/commit/ea41643cbd1303f50313e7dd20d92d4f3a775114) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: use parsedRequest for command mutation names
42
+
43
+ - [`3e9cf93`](https://github.com/BeOnAuto/auto-engineer/commit/3e9cf93af40df9636ae33b9e749dd85ca0b0802e) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: add expectEvents typing shim to decide.specs.ts.ejs
44
+
45
+ - [`0231c5f`](https://github.com/BeOnAuto/auto-engineer/commit/0231c5f5a771786d6534c8a0f9d6dd2856d6b893) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: parseGraphQlRequest accepts mutation operations
46
+
47
+ - [`aacffe9`](https://github.com/BeOnAuto/auto-engineer/commit/aacffe9244a1b364f550caf9b0d5d9ce9c905c2c) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-nestjs**: use parsedRequest for mutation and query names
48
+
49
+ - [`a527ccc`](https://github.com/BeOnAuto/auto-engineer/commit/a527ccc39d7f769609252ebefcb4b26e5fe84316) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: add mutation validation to validate-slice-requests
50
+
51
+ ### Patch Changes
52
+
53
+ - [`dc9b7d9`](https://github.com/BeOnAuto/auto-engineer/commit/dc9b7d9cbcebaf5e34025b6f08b9152f87a67073) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: update ketchup plan for bursts 13-14
54
+
55
+ - [`1d1f519`](https://github.com/BeOnAuto/auto-engineer/commit/1d1f519fa17ba95228e58ef12ce64e3919c0697d) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: add ketchup plan for validate-slice-requests
56
+
57
+ - [`8bbbc30`](https://github.com/BeOnAuto/auto-engineer/commit/8bbbc309734ff5dce3b51473f018caa31208fa7a) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: mark burst 18 done in ketchup plan
58
+
59
+ - [`aabe8ae`](https://github.com/BeOnAuto/auto-engineer/commit/aabe8ae4feb13e8ee4b6d3e8a7ef50bb845eaebf) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **server-generator-apollo-emmett**: derive stable metadata.now for ISO date fields
60
+ - **server-generator-apollo-emmett**: resolve findOne idField from events when missing in Then state
61
+ - **server-generator-apollo-emmett**: return array idField natively from extraction
62
+ - **server-implementer**: add prompt guardrails for phantom enums and hardcoded projections
63
+ - **server-generator-apollo-emmett**: align instruction comment with \_state parameter name
64
+
65
+ - [`5af523f`](https://github.com/BeOnAuto/auto-engineer/commit/5af523f9cb5d1a4e6275589e1f12173637c6458e) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: fix [object Object] serialization bugs
66
+
67
+ - [`a4053ef`](https://github.com/BeOnAuto/auto-engineer/commit/a4053ef91284b9718bacef58ebd3ab250d4cda79) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: update decide.specs.ts snapshots for dynamic errors
68
+
69
+ - [`b63c308`](https://github.com/BeOnAuto/auto-engineer/commit/b63c308209f0316ea3b0433a82d46dec8e15169a) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-implementer**: add anti-hardcoding rules for decide functions
70
+
71
+ - [`1947b66`](https://github.com/BeOnAuto/auto-engineer/commit/1947b66d0b4687abcde75f29fc32c8665b929582) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: move burst 17 to done in ketchup plan
72
+
73
+ - [`16c9541`](https://github.com/BeOnAuto/auto-engineer/commit/16c954130331be27f54f2e1ef451545b7e22161d) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: extract parseGraphQlRequest to narrative package
74
+
75
+ - [`bad8ef9`](https://github.com/BeOnAuto/auto-engineer/commit/bad8ef9ceb73f9b7efda58f821073ec9894ee7fb) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: rename ParsedGraphQlQuery to ParsedGraphQlOperation
76
+
77
+ - [`a058731`](https://github.com/BeOnAuto/auto-engineer/commit/a0587319d6772df61b4004df1584d884222e7304) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: add ketchup plan for parsedRequest mutation names
78
+
79
+ - [`d6f6ef6`](https://github.com/BeOnAuto/auto-engineer/commit/d6f6ef6f79ceb712ccfcf00a22789c55d6e9a0b4) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: omit non-command fields from Then assertions
80
+ - **server-generator-apollo-emmett**: derive stable metadata.now for ISO date fields
81
+ - **server-generator-apollo-emmett**: resolve findOne idField from events when missing in Then state
82
+ - **server-generator-apollo-emmett**: return array idField natively from extraction
83
+ - **server-implementer**: add prompt guardrails for phantom enums and hardcoded projections
84
+
85
+ - [`667b53f`](https://github.com/BeOnAuto/auto-engineer/commit/667b53f02b3cc933efe520022dd2f85ba1fbec3b) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: move burst 14 to done in ketchup plan
86
+
87
+ - [`e69b385`](https://github.com/BeOnAuto/auto-engineer/commit/e69b38526ab9fd522ef91955a3ee98ed3c611473) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **narrative**: mark all bursts done in ketchup plan
88
+
89
+ - Updated dependencies [[`dc9b7d9`](https://github.com/BeOnAuto/auto-engineer/commit/dc9b7d9cbcebaf5e34025b6f08b9152f87a67073), [`93ff5a5`](https://github.com/BeOnAuto/auto-engineer/commit/93ff5a559f087bb875b2b1e165713e1dc6fbea5b), [`514525d`](https://github.com/BeOnAuto/auto-engineer/commit/514525d0ae9542693fc44e6922fd0c31d229c8c9), [`7af6ae4`](https://github.com/BeOnAuto/auto-engineer/commit/7af6ae46d50a7115da047d07824a4d3e4983338f), [`1d1f519`](https://github.com/BeOnAuto/auto-engineer/commit/1d1f519fa17ba95228e58ef12ce64e3919c0697d), [`8bbbc30`](https://github.com/BeOnAuto/auto-engineer/commit/8bbbc309734ff5dce3b51473f018caa31208fa7a), [`aabe8ae`](https://github.com/BeOnAuto/auto-engineer/commit/aabe8ae4feb13e8ee4b6d3e8a7ef50bb845eaebf), [`971394a`](https://github.com/BeOnAuto/auto-engineer/commit/971394ad8d47faad27acf6c4fa82d11010568cda), [`5af523f`](https://github.com/BeOnAuto/auto-engineer/commit/5af523f9cb5d1a4e6275589e1f12173637c6458e), [`a4053ef`](https://github.com/BeOnAuto/auto-engineer/commit/a4053ef91284b9718bacef58ebd3ab250d4cda79), [`dbfbe69`](https://github.com/BeOnAuto/auto-engineer/commit/dbfbe69e5fc1efb8a65df1d3d480b36c9666b95a), [`d7b3af9`](https://github.com/BeOnAuto/auto-engineer/commit/d7b3af912b1e9f7e4f0bfc91b65768341f87229c), [`a36fc79`](https://github.com/BeOnAuto/auto-engineer/commit/a36fc79f40d236b49983574a7f8607e9028e3daf), [`73ef7b1`](https://github.com/BeOnAuto/auto-engineer/commit/73ef7b1f2818e72cc5b1cc77400f44ed948e0d39), [`ea41643`](https://github.com/BeOnAuto/auto-engineer/commit/ea41643cbd1303f50313e7dd20d92d4f3a775114), [`3e9cf93`](https://github.com/BeOnAuto/auto-engineer/commit/3e9cf93af40df9636ae33b9e749dd85ca0b0802e), [`0231c5f`](https://github.com/BeOnAuto/auto-engineer/commit/0231c5f5a771786d6534c8a0f9d6dd2856d6b893), [`b63c308`](https://github.com/BeOnAuto/auto-engineer/commit/b63c308209f0316ea3b0433a82d46dec8e15169a), [`1947b66`](https://github.com/BeOnAuto/auto-engineer/commit/1947b66d0b4687abcde75f29fc32c8665b929582), [`aacffe9`](https://github.com/BeOnAuto/auto-engineer/commit/aacffe9244a1b364f550caf9b0d5d9ce9c905c2c), [`a527ccc`](https://github.com/BeOnAuto/auto-engineer/commit/a527ccc39d7f769609252ebefcb4b26e5fe84316), [`16c9541`](https://github.com/BeOnAuto/auto-engineer/commit/16c954130331be27f54f2e1ef451545b7e22161d), [`bad8ef9`](https://github.com/BeOnAuto/auto-engineer/commit/bad8ef9ceb73f9b7efda58f821073ec9894ee7fb), [`a058731`](https://github.com/BeOnAuto/auto-engineer/commit/a0587319d6772df61b4004df1584d884222e7304), [`d6f6ef6`](https://github.com/BeOnAuto/auto-engineer/commit/d6f6ef6f79ceb712ccfcf00a22789c55d6e9a0b4), [`667b53f`](https://github.com/BeOnAuto/auto-engineer/commit/667b53f02b3cc933efe520022dd2f85ba1fbec3b), [`e69b385`](https://github.com/BeOnAuto/auto-engineer/commit/e69b38526ab9fd522ef91955a3ee98ed3c611473)]:
90
+ - @auto-engineer/message-bus@1.89.0
91
+ - @auto-engineer/model-factory@1.89.0
92
+
3
93
  ## 1.88.0
4
94
 
5
95
  ### Minor Changes
@@ -124,7 +124,7 @@ Key rules:
124
124
  - If a test exists, make it pass.
125
125
  - Keep implementations minimal and idiomatic.
126
126
  - CRITICAL: When assigning values to enum-typed fields, use the enum constant name from domain-shared-types.ts. For example, if Status enum has IN_PROGRESS = 'in_progress', use Status.IN_PROGRESS not 'in_progress'.
127
- - In projections, derive all values from event data or existing document state. Never hardcode constant values that should come from events.
127
+ - Derive all output values from inputs (event.data, command.data, state) or generate at runtime. Never reproduce literal values from test examples.
128
128
 
129
129
  Avoid:
130
130
  - Adding new dependencies.
@@ -1,2 +1,2 @@
1
- export declare const SYSTEM_PROMPT = "\nYou are a software engineer implementing missing logic in a sliced event-driven TypeScript server. Each slice contains partially scaffolded code, and your task is to complete the logic following implementation instructions embedded in each file.\n\nProject Characteristics:\n- Architecture: sliced event-sourced CQRS (Command, Query, Reaction slices)\n- Language: TypeScript with type-graphql and Emmett\n- Each slice has scaffolded files with implementation instructions clearly marked with comments (e.g., '## IMPLEMENTATION INSTRUCTIONS ##') or TODOs.\n- Tests (e.g., *.specs.ts) must pass.\n- Type errors are not allowed.\n\nYour Goal:\n- Read the implementation instructions from the provided file.\n- Generate only the code needed to fulfill the instructions, nothing extra and provide back the whole file without the instructions.\n- Maintain immutability and adhere to functional best practices.\n- Use only the types and domain constructs already present in the slice.\n- Do not remove existing imports or types that are still referenced or required in the file.\n- Return the entire updated file, not just the modified parts and remove any TODO comments or instructions after implementing the logic\n\nKey rules:\n- Never modify code outside the TODO or instruction areas.\n- Ensure the code is production-ready and type-safe.\n- Follow the slice type conventions:\n - **Command slice**: validate command, inspect state, emit events, never mutate state. Uses graphql mutations.\n - **Reaction slice**: respond to events with commands.\n - **Query slice**: maintain projections based on events, do not emit or throw. Uses graphql queries.\n- All code must be TypeScript compliant and follow functional patterns.\n- If a test exists, make it pass.\n- Keep implementations minimal and idiomatic.\n- In projections, derive all values from event data or existing document state. Never hardcode constant values that should come from events.\n\nAvoid:\n- Adding new dependencies.\n- Refactoring unrelated code.\n- Changing the structure of already scaffolded files unless instructed.\n- Inventing or importing types (e.g. enums) not already present in the provided files. If a field type is `string`, use a string literal.\n\nYou will receive:\n- The path of the file to implement.\n- The current contents of the file, with instruction comments.\n- Other relevant files from the same slice (e.g., types, test, state, etc.).\n\nYou must:\n- Return the entire updated file (no commentary and remove all implementation instructions).\n- Ensure the output is valid TypeScript.\n";
1
+ export declare const SYSTEM_PROMPT = "\nYou are a software engineer implementing missing logic in a sliced event-driven TypeScript server. Each slice contains partially scaffolded code, and your task is to complete the logic following implementation instructions embedded in each file.\n\nProject Characteristics:\n- Architecture: sliced event-sourced CQRS (Command, Query, Reaction slices)\n- Language: TypeScript with type-graphql and Emmett\n- Each slice has scaffolded files with implementation instructions clearly marked with comments (e.g., '## IMPLEMENTATION INSTRUCTIONS ##') or TODOs.\n- Tests (e.g., *.specs.ts) must pass.\n- Type errors are not allowed.\n\nYour Goal:\n- Read the implementation instructions from the provided file.\n- Generate only the code needed to fulfill the instructions, nothing extra and provide back the whole file without the instructions.\n- Maintain immutability and adhere to functional best practices.\n- Use only the types and domain constructs already present in the slice.\n- Do not remove existing imports or types that are still referenced or required in the file.\n- Return the entire updated file, not just the modified parts and remove any TODO comments or instructions after implementing the logic\n\nKey rules:\n- Never modify code outside the TODO or instruction areas.\n- Ensure the code is production-ready and type-safe.\n- Follow the slice type conventions:\n - **Command slice**: validate command, inspect state, emit events, never mutate state. Uses graphql mutations.\n - **Reaction slice**: respond to events with commands.\n - **Query slice**: maintain projections based on events, do not emit or throw. Uses graphql queries.\n- All code must be TypeScript compliant and follow functional patterns.\n- If a test exists, make it pass.\n- Keep implementations minimal and idiomatic.\n- Derive all output values from inputs (event.data, command.data, state) or generate at runtime. Never reproduce literal values from test examples.\n\nAvoid:\n- Adding new dependencies.\n- Refactoring unrelated code.\n- Changing the structure of already scaffolded files unless instructed.\n- Inventing or importing types (e.g. enums) not already present in the provided files. If a field type is `string`, use a string literal.\n- Hardcoding constant values (IDs, numbers, strings, arrays) that should be dynamically generated or computed from inputs.\n\nYou will receive:\n- The path of the file to implement.\n- The current contents of the file, with instruction comments.\n- Other relevant files from the same slice (e.g., types, test, state, etc.).\n\nYou must:\n- Return the entire updated file (no commentary and remove all implementation instructions).\n- Ensure the output is valid TypeScript.\n";
2
2
  //# sourceMappingURL=systemPrompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"systemPrompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/systemPrompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,4hFA4CzB,CAAC"}
1
+ {"version":3,"file":"systemPrompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/systemPrompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,+pFA6CzB,CAAC"}
@@ -26,13 +26,14 @@ Key rules:
26
26
  - All code must be TypeScript compliant and follow functional patterns.
27
27
  - If a test exists, make it pass.
28
28
  - Keep implementations minimal and idiomatic.
29
- - In projections, derive all values from event data or existing document state. Never hardcode constant values that should come from events.
29
+ - Derive all output values from inputs (event.data, command.data, state) or generate at runtime. Never reproduce literal values from test examples.
30
30
 
31
31
  Avoid:
32
32
  - Adding new dependencies.
33
33
  - Refactoring unrelated code.
34
34
  - Changing the structure of already scaffolded files unless instructed.
35
35
  - Inventing or importing types (e.g. enums) not already present in the provided files. If a field type is \`string\`, use a string literal.
36
+ - Hardcoding constant values (IDs, numbers, strings, arrays) that should be dynamically generated or computed from inputs.
36
37
 
37
38
  You will receive:
38
39
  - The path of the file to implement.
@@ -1 +1 @@
1
- {"version":3,"file":"systemPrompt.js","sourceRoot":"","sources":["../../../src/prompts/systemPrompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4C5B,CAAC"}
1
+ {"version":3,"file":"systemPrompt.js","sourceRoot":"","sources":["../../../src/prompts/systemPrompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C5B,CAAC"}